feat:【ele】【mall】discountActivity 代码对齐 antd

This commit is contained in:
puhui999
2025-12-20 10:36:50 +08:00
parent 503ed01c57
commit fad560db52
3 changed files with 24 additions and 9 deletions

View File

@@ -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 对应的不太一样;
];
}

View File

@@ -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 {

View File

@@ -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<MallDiscountActivityApi.DiscountActivity>();
const formData = ref<
Partial<MallDiscountActivityApi.DiscountActivity> & {
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({
<template>
<Modal class="w-3/5" :title="getTitle">
<!-- TODO @puhui999这里和 yudao-ui-admin-vben-v5/apps/web-antd/src/views/mall/promotion/discountActivity/modules/form.vue 不太一样 -->
<Form />
<Form>
<!-- 自定义插槽商品选择 -->
<template #spuIds>
<SpuShowcase v-model="formData.spuIds" />
</template>
</Form>
</Modal>
</template>