diff --git a/apps/web-antd/src/views/mall/promotion/article/data.ts b/apps/web-antd/src/views/mall/promotion/article/data.ts index f007898e5..1724faea4 100644 --- a/apps/web-antd/src/views/mall/promotion/article/data.ts +++ b/apps/web-antd/src/views/mall/promotion/article/data.ts @@ -76,24 +76,22 @@ export function useFormSchema(): VbenFormSchema[] { label: '是否热门', component: 'RadioGroup', componentProps: { - options: getDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING, 'boolean'), buttonStyle: 'solid', optionType: 'button', + options: getDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING, 'boolean'), }, - rules: 'required', - defaultValue: true, + rules: z.boolean().default(false), }, { fieldName: 'recommendBanner', label: '是否轮播图', component: 'RadioGroup', componentProps: { - options: getDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING, 'boolean'), buttonStyle: 'solid', optionType: 'button', + options: getDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING, 'boolean'), }, - rules: 'required', - defaultValue: true, + rules: z.boolean().default(false), }, { fieldName: 'spuId', @@ -110,7 +108,7 @@ export function useFormSchema(): VbenFormSchema[] { min: 0, placeholder: '请输入排序', }, - rules: 'required', + rules: z.number().default(0), }, { fieldName: 'status', diff --git a/apps/web-antd/src/views/mall/promotion/article/modules/form.vue b/apps/web-antd/src/views/mall/promotion/article/modules/form.vue index 0e73e0eca..0caf8634b 100644 --- a/apps/web-antd/src/views/mall/promotion/article/modules/form.vue +++ b/apps/web-antd/src/views/mall/promotion/article/modules/form.vue @@ -20,7 +20,7 @@ import { useFormSchema } from '../data'; const emit = defineEmits(['success']); -const formData = ref(); +const formData = ref>({}); const getTitle = computed(() => { return formData.value?.id ? $t('ui.actionTitle.edit', ['文章']) @@ -43,7 +43,7 @@ const [Form, formApi] = useVbenForm({ const [Modal, modalApi] = useVbenModal({ async onConfirm() { // 同步商品选择到表单,确保验证时能获取到值 - if (formData.value?.spuId) { + if (formData.value.spuId) { await formApi.setFieldValue('spuId', formData.value.spuId); } const { valid } = await formApi.validate(); @@ -65,7 +65,7 @@ const [Modal, modalApi] = useVbenModal({ }, async onOpenChange(isOpen: boolean) { if (!isOpen) { - formData.value = undefined; + formData.value = {}; return; } // 加载数据 @@ -86,11 +86,11 @@ const [Modal, modalApi] = useVbenModal({