diff --git a/src/api/mall/promotion/reward/rewardActivity.ts b/src/api/mall/promotion/reward/rewardActivity.ts index 0e7630ae..af7390dc 100644 --- a/src/api/mall/promotion/reward/rewardActivity.ts +++ b/src/api/mall/promotion/reward/rewardActivity.ts @@ -12,7 +12,7 @@ export interface RewardActivityVO { productScopeValues?: number[] // 商品范围:值为 品类编号列表 或 商品编号列表 ,用于提交 productCategoryIds?: number[] // 仅用于表单,不提交 productSpuIds?: number[] // 仅用于表单,不提交 - rules?: RewardRule[] + rules: RewardRule[] } // 优惠规则 diff --git a/src/views/mall/promotion/coupon/components/CouponSelect.vue b/src/views/mall/promotion/coupon/components/CouponSelect.vue index 715dcb7d..c232095e 100644 --- a/src/views/mall/promotion/coupon/components/CouponSelect.vue +++ b/src/views/mall/promotion/coupon/components/CouponSelect.vue @@ -153,11 +153,12 @@ import * as CouponTemplateApi from '@/api/mall/promotion/coupon/couponTemplate' defineOptions({ name: 'CouponSelect' }) -defineProps<{ - multipleSelection: CouponTemplateApi.CouponTemplateVO[] +const props = defineProps<{ + multipleSelection?: CouponTemplateApi.CouponTemplateVO[] }>() const emit = defineEmits<{ - (e: 'update:multipleSelection', v: CouponTemplateApi.CouponTemplateVO[]) + (e: 'update:multipleSelection', v: CouponTemplateApi.CouponTemplateVO[]): void + (e: 'change', v: CouponTemplateApi.CouponTemplateVO[]): void }>() const dialogVisible = ref(false) // 弹窗的是否展示 const dialogTitle = ref('选择优惠卷') // 弹窗的标题 @@ -209,7 +210,11 @@ const open = async () => { defineExpose({ open }) // 提供 open 方法,用于打开弹窗 const handleSelectionChange = (val: CouponTemplateApi.CouponTemplateVO[]) => { - emit('update:multipleSelection', val) + if (props.multipleSelection) { + emit('update:multipleSelection', val) + return + } + emit('change', val) } const submitForm = () => { diff --git a/src/views/mall/promotion/rewardActivity/RewardForm.vue b/src/views/mall/promotion/rewardActivity/RewardForm.vue index d1dfa9df..46ad2ff1 100644 --- a/src/views/mall/promotion/rewardActivity/RewardForm.vue +++ b/src/views/mall/promotion/rewardActivity/RewardForm.vue @@ -1,5 +1,5 @@ diff --git a/src/views/mall/promotion/rewardActivity/components/RewardRuleCouponShowcase.vue b/src/views/mall/promotion/rewardActivity/components/RewardRuleCouponShowcase.vue new file mode 100644 index 00000000..79e3a832 --- /dev/null +++ b/src/views/mall/promotion/rewardActivity/components/RewardRuleCouponShowcase.vue @@ -0,0 +1,72 @@ + + + + +