diff --git a/src/api/mall/promotion/reward/rewardActivity.ts b/src/api/mall/promotion/reward/rewardActivity.ts
index f3cc999f..09f32ac5 100644
--- a/src/api/mall/promotion/reward/rewardActivity.ts
+++ b/src/api/mall/promotion/reward/rewardActivity.ts
@@ -21,11 +21,10 @@ export interface RewardRule {
limit?: number
discountPrice?: number
freeDelivery?: boolean
- givePoint?: boolean
- point?: number
- giveCoupon?: boolean
- couponIds?: number[]
- couponCounts?: number[]
+ point: number
+ giveCouponTemplateCounts?: {
+ [key: number]: number
+ }
}
// 新增满减送活动
diff --git a/src/views/mall/promotion/coupon/components/CouponSelect.vue b/src/views/mall/promotion/coupon/components/CouponSelect.vue
index c7dc3b86..e5ac86a2 100644
--- a/src/views/mall/promotion/coupon/components/CouponSelect.vue
+++ b/src/views/mall/promotion/coupon/components/CouponSelect.vue
@@ -33,32 +33,6 @@
/>
-
-
-
-
-
-
-
-
@@ -118,13 +92,6 @@
-
()
const emit = defineEmits<{
(e: 'update:multipleSelection', v: CouponTemplateApi.CouponTemplateVO[]): void
@@ -170,10 +137,8 @@ const queryParams = reactive({
pageNo: 1,
pageSize: 10,
name: null,
- status: null,
discountType: null,
- type: null,
- createTime: []
+ canTakeTypes: null
})
const queryFormRef = ref() // 搜索的表单
const selectedCouponList = ref([]) // 选择的数据
@@ -183,6 +148,7 @@ const getList = async () => {
loading.value = true
try {
// 执行查询
+ queryParams.canTakeTypes = [props.takeType] as any
const data = await CouponTemplateApi.getCouponTemplatePage(queryParams)
list.value = data.list
total.value = data.total
diff --git a/src/views/mall/promotion/rewardActivity/RewardForm.vue b/src/views/mall/promotion/rewardActivity/RewardForm.vue
index 6556a156..fc1d5dfc 100644
--- a/src/views/mall/promotion/rewardActivity/RewardForm.vue
+++ b/src/views/mall/promotion/rewardActivity/RewardForm.vue
@@ -17,6 +17,7 @@
:start-placeholder="t('common.startTimeText')"
range-separator="-"
type="datetimerange"
+ value-format="x"
/>
@@ -116,7 +117,7 @@ const open = async (type: string, id?: number) => {
// 转区段时间
data.startAndEndTime = [data.startTime, data.endTime]
// 规则分转元
- data.rules.forEach((item: any) => {
+ data.rules?.forEach((item: any) => {
item.discountPrice = fenToYuan(item.discountPrice || 0)
})
formData.value = data
@@ -146,6 +147,7 @@ const submitForm = async () => {
// 时间段转换
data.startTime = data.startAndEndTime![0]
data.endTime = data.startAndEndTime![1]
+ delete data.startAndEndTime
// 规则元转分
data.rules.forEach((item) => {
item.discountPrice = yuanToFen(item.discountPrice || 0)
diff --git a/src/views/mall/promotion/rewardActivity/components/RewardRule.vue b/src/views/mall/promotion/rewardActivity/components/RewardRule.vue
index a4bb8542..8dc37b32 100644
--- a/src/views/mall/promotion/rewardActivity/components/RewardRule.vue
+++ b/src/views/mall/promotion/rewardActivity/components/RewardRule.vue
@@ -47,13 +47,7 @@
送积分:
-
-
+
送
送优惠券:
-
-
+
@@ -85,6 +69,9 @@
添加优惠规则
+
+ 赠送积分为 0 时不赠送。未选优惠券时不赠送。
+
@@ -116,15 +103,14 @@ const deleteRule = (ruleIndex: number) => {
/** 添加优惠规则 */
const addRule = () => {
+ if (isEmpty(formData.value.rules)) {
+ formData.value.rules = []
+ }
formData.value.rules.push({
limit: 0,
discountPrice: 0,
freeDelivery: false,
- givePoint: false,
- point: 0,
- giveCoupon: false,
- couponIds: [],
- couponCounts: []
+ point: 0
})
}
@@ -134,14 +120,6 @@ const setRuleCoupon = () => {
return
}
- // 情况一:不赠送优惠券
- formData.value.rules.forEach((rule) => {
- if (!rule.giveCoupon) {
- rule.couponIds = []
- rule.couponCounts = []
- }
- })
- // 情况二:赠送优惠券
rewardRuleCouponSelectRef.value?.forEach((item) => item.setGiveCouponList())
}
diff --git a/src/views/mall/promotion/rewardActivity/components/RewardRuleCouponSelect.vue b/src/views/mall/promotion/rewardActivity/components/RewardRuleCouponSelect.vue
index fba04e81..f515e4f1 100644
--- a/src/views/mall/promotion/rewardActivity/components/RewardRuleCouponSelect.vue
+++ b/src/views/mall/promotion/rewardActivity/components/RewardRuleCouponSelect.vue
@@ -27,7 +27,11 @@
-
+