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: '请输入备注', placeholder: '请输入备注',
rows: 4, 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: '正在关闭中...', text: '正在关闭中...',
}); });
try { try {
await closeDiscountActivity(row.id as number); await closeDiscountActivity(row.id!);
ElMessage.success('关闭成功'); ElMessage.success('关闭成功');
handleRefresh(); handleRefresh();
} finally { } finally {
loadingInstance.close(); loadingInstance.close();
} }
}
/** 删除满减活动 */ /** 删除满减活动 */
async function handleDelete(row: MallDiscountActivityApi.DiscountActivity) { async function handleDelete(row: MallDiscountActivityApi.DiscountActivity) {
@@ -59,7 +60,7 @@ async function handleDelete(row: MallDiscountActivityApi.DiscountActivity) {
text: $t('ui.actionMessage.deleting', [row.name]), text: $t('ui.actionMessage.deleting', [row.name]),
}); });
try { try {
await deleteDiscountActivity(row.id as number); await deleteDiscountActivity(row.id!);
ElMessage.success($t('ui.actionMessage.deleteSuccess', [row.name])); ElMessage.success($t('ui.actionMessage.deleteSuccess', [row.name]));
handleRefresh(); handleRefresh();
} finally { } finally {

View File

@@ -13,14 +13,18 @@ import {
updateDiscountActivity, updateDiscountActivity,
} from '#/api/mall/promotion/discount/discountActivity'; } from '#/api/mall/promotion/discount/discountActivity';
import { $t } from '#/locales'; import { $t } from '#/locales';
import { SpuShowcase } from '#/views/mall/product/spu/components';
import { useFormSchema } from '../data'; import { useFormSchema } from '../data';
defineOptions({ name: 'DiscountActivityForm' }); 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 emit = defineEmits(['success']);
const formData = ref<MallDiscountActivityApi.DiscountActivity>(); const formData = ref<
Partial<MallDiscountActivityApi.DiscountActivity> & {
spuIds?: number[];
}
>({});
const getTitle = computed(() => { const getTitle = computed(() => {
return formData.value?.id return formData.value?.id
? $t('ui.actionTitle.edit', ['限时折扣活动']) ? $t('ui.actionTitle.edit', ['限时折扣活动'])
@@ -70,8 +74,7 @@ const [Modal, modalApi] = useVbenModal({
}, },
async onOpenChange(isOpen: boolean) { async onOpenChange(isOpen: boolean) {
if (!isOpen) { if (!isOpen) {
// TODO @puhui999这里和 yudao-ui-admin-vben-v5/apps/web-antd/src/views/mall/promotion/discountActivity/modules/form.vue 不太一样 formData.value = {};
formData.value = undefined;
return; return;
} }
// 加载数据 // 加载数据
@@ -93,7 +96,11 @@ const [Modal, modalApi] = useVbenModal({
<template> <template>
<Modal class="w-3/5" :title="getTitle"> <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> </Modal>
</template> </template>