From fad560db520fbd7c88679c83e9844198addffba8 Mon Sep 17 00:00:00 2001 From: puhui999 Date: Sat, 20 Dec 2025 10:36:50 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=E3=80=90ele=E3=80=91=E3=80=90mall?= =?UTF-8?q?=E3=80=91discountActivity=20=E4=BB=A3=E7=A0=81=E5=AF=B9?= =?UTF-8?q?=E9=BD=90=20antd?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mall/promotion/discountActivity/data.ts | 9 ++++++++- .../mall/promotion/discountActivity/index.vue | 5 +++-- .../discountActivity/modules/form.vue | 19 +++++++++++++------ 3 files changed, 24 insertions(+), 9 deletions(-) diff --git a/apps/web-ele/src/views/mall/promotion/discountActivity/data.ts b/apps/web-ele/src/views/mall/promotion/discountActivity/data.ts index 395192522..9e6368fd2 100644 --- a/apps/web-ele/src/views/mall/promotion/discountActivity/data.ts +++ b/apps/web-ele/src/views/mall/promotion/discountActivity/data.ts @@ -69,8 +69,15 @@ export function useFormSchema(): VbenFormSchema[] { placeholder: '请输入备注', rows: 4, }, + formItemClass: 'col-span-2', + }, + { + fieldName: 'spuIds', + label: '活动商品', + component: 'Input', + rules: 'required', + formItemClass: 'col-span-2', }, - // TODO @puhui999:这里和 antd 对应的不太一样; ]; } diff --git a/apps/web-ele/src/views/mall/promotion/discountActivity/index.vue b/apps/web-ele/src/views/mall/promotion/discountActivity/index.vue index 771695cc3..b9a5e725a 100644 --- a/apps/web-ele/src/views/mall/promotion/discountActivity/index.vue +++ b/apps/web-ele/src/views/mall/promotion/discountActivity/index.vue @@ -46,12 +46,13 @@ async function handleClose(row: MallDiscountActivityApi.DiscountActivity) { text: '正在关闭中...', }); try { - await closeDiscountActivity(row.id as number); + await closeDiscountActivity(row.id!); ElMessage.success('关闭成功'); handleRefresh(); } finally { loadingInstance.close(); } +} /** 删除满减活动 */ async function handleDelete(row: MallDiscountActivityApi.DiscountActivity) { @@ -59,7 +60,7 @@ async function handleDelete(row: MallDiscountActivityApi.DiscountActivity) { text: $t('ui.actionMessage.deleting', [row.name]), }); try { - await deleteDiscountActivity(row.id as number); + await deleteDiscountActivity(row.id!); ElMessage.success($t('ui.actionMessage.deleteSuccess', [row.name])); handleRefresh(); } finally { diff --git a/apps/web-ele/src/views/mall/promotion/discountActivity/modules/form.vue b/apps/web-ele/src/views/mall/promotion/discountActivity/modules/form.vue index 93a4b1356..5918b0ea2 100644 --- a/apps/web-ele/src/views/mall/promotion/discountActivity/modules/form.vue +++ b/apps/web-ele/src/views/mall/promotion/discountActivity/modules/form.vue @@ -13,14 +13,18 @@ import { updateDiscountActivity, } from '#/api/mall/promotion/discount/discountActivity'; import { $t } from '#/locales'; +import { SpuShowcase } from '#/views/mall/product/spu/components'; import { useFormSchema } from '../data'; defineOptions({ name: 'DiscountActivityForm' }); -// TODO @puhui999:这里和 yudao-ui-admin-vben-v5/apps/web-antd/src/views/mall/promotion/discountActivity/modules/form.vue 不太一样 const emit = defineEmits(['success']); -const formData = ref(); +const formData = ref< + Partial & { + spuIds?: number[]; + } +>({}); const getTitle = computed(() => { return formData.value?.id ? $t('ui.actionTitle.edit', ['限时折扣活动']) @@ -70,8 +74,7 @@ const [Modal, modalApi] = useVbenModal({ }, async onOpenChange(isOpen: boolean) { if (!isOpen) { - // TODO @puhui999:这里和 yudao-ui-admin-vben-v5/apps/web-antd/src/views/mall/promotion/discountActivity/modules/form.vue 不太一样 - formData.value = undefined; + formData.value = {}; return; } // 加载数据 @@ -93,7 +96,11 @@ const [Modal, modalApi] = useVbenModal({