update
This commit is contained in:
parent
02b96f1117
commit
97028220d9
@ -199,10 +199,20 @@
|
|||||||
</template>
|
</template>
|
||||||
<template v-if="column.key === 'quantity'">
|
<template v-if="column.key === 'quantity'">
|
||||||
<a-input-number
|
<a-input-number
|
||||||
v-model:value="formState.coupon_config[record.id]"
|
:value="getCouponConfigValue(record.id, 'count')"
|
||||||
:min="0"
|
:min="0"
|
||||||
size="small"
|
size="small"
|
||||||
:disabled="!isSelectedCoupon(record.id)"
|
:disabled="!isSelectedCoupon(record.id)"
|
||||||
|
@change="(value) => handleCouponConfigChange(record.id, 'count', value)"
|
||||||
|
/>
|
||||||
|
</template>
|
||||||
|
<template v-if="column.key === 'days'">
|
||||||
|
<a-input-number
|
||||||
|
:value="getCouponConfigValue(record.id, 'days')"
|
||||||
|
:min="1"
|
||||||
|
size="small"
|
||||||
|
:disabled="!isSelectedCoupon(record.id)"
|
||||||
|
@change="(value) => handleCouponConfigChange(record.id, 'days', value)"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
</template>
|
</template>
|
||||||
@ -449,6 +459,12 @@ export default defineComponent({
|
|||||||
key: 'quantity',
|
key: 'quantity',
|
||||||
width: 120,
|
width: 120,
|
||||||
align: 'center'
|
align: 'center'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '有效天数',
|
||||||
|
key: 'days',
|
||||||
|
width: 120,
|
||||||
|
align: 'center'
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -469,20 +485,41 @@ export default defineComponent({
|
|||||||
return formState.value.selected_coupons.includes(couponId);
|
return formState.value.selected_coupons.includes(couponId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 获取优惠券配置值
|
||||||
|
const getCouponConfigValue = (couponId, field) => {
|
||||||
|
return formState.value.coupon_config[couponId]?.[field] ?? (field === 'count' ? 0 : 7)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 处理优惠券配置变更
|
||||||
|
const handleCouponConfigChange = (couponId, field, value) => {
|
||||||
|
if (!formState.value.coupon_config[couponId]) {
|
||||||
|
formState.value.coupon_config[couponId] = {
|
||||||
|
count: 1,
|
||||||
|
days: 7
|
||||||
|
}
|
||||||
|
}
|
||||||
|
formState.value.coupon_config[couponId][field] = value
|
||||||
|
}
|
||||||
|
|
||||||
// 处理优惠券选择
|
// 处理优惠券选择
|
||||||
const handleCouponSelect = (couponId, checked) => {
|
const handleCouponSelect = (couponId, checked) => {
|
||||||
if (checked) {
|
if (checked) {
|
||||||
// 添加到选中列表
|
// 添加到选中列表
|
||||||
if (!isSelectedCoupon(couponId)) {
|
if (!isSelectedCoupon(couponId)) {
|
||||||
formState.value.selected_coupons.push(couponId);
|
formState.value.selected_coupons.push(couponId);
|
||||||
// 如果数量未设置,默认设为1
|
// 如果配置未设置,默认设为1张,7天有效期
|
||||||
if (!formState.value.coupon_config[couponId]) {
|
if (!formState.value.coupon_config[couponId]) {
|
||||||
formState.value.coupon_config[couponId] = 1;
|
formState.value.coupon_config[couponId] = {
|
||||||
|
count: 1,
|
||||||
|
days: 7
|
||||||
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// 从选中列表移除
|
// 从选中列表移除
|
||||||
formState.value.selected_coupons = formState.value.selected_coupons.filter(id => id !== couponId);
|
formState.value.selected_coupons = formState.value.selected_coupons.filter(id => id !== couponId);
|
||||||
|
// 删除配置
|
||||||
|
delete formState.value.coupon_config[couponId];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -521,8 +558,11 @@ export default defineComponent({
|
|||||||
const selectedCoupons = []
|
const selectedCoupons = []
|
||||||
|
|
||||||
Object.entries(record.coupon_config || {}).forEach(([key, value]) => {
|
Object.entries(record.coupon_config || {}).forEach(([key, value]) => {
|
||||||
if (value && value > 0) {
|
if (value && value.count > 0) {
|
||||||
couponConfig[key] = value
|
couponConfig[key] = {
|
||||||
|
count: value.count,
|
||||||
|
days: value.days || 7 // 如果没有设置天数,默认为7天
|
||||||
|
}
|
||||||
selectedCoupons.push(parseInt(key))
|
selectedCoupons.push(parseInt(key))
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@ -557,9 +597,12 @@ export default defineComponent({
|
|||||||
// 处理优惠券配置,只保留选中的优惠券
|
// 处理优惠券配置,只保留选中的优惠券
|
||||||
const couponConfig = {}
|
const couponConfig = {}
|
||||||
formState.value.selected_coupons.forEach(couponId => {
|
formState.value.selected_coupons.forEach(couponId => {
|
||||||
const quantity = formState.value.coupon_config[couponId]
|
const quantity = formState.value.coupon_config[couponId].count
|
||||||
if (quantity && quantity > 0) {
|
if (quantity && quantity > 0) {
|
||||||
couponConfig[couponId] = quantity
|
couponConfig[couponId] = {
|
||||||
|
count: quantity,
|
||||||
|
days: formState.value.coupon_config[couponId].days || 7
|
||||||
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -731,7 +774,9 @@ export default defineComponent({
|
|||||||
qrCodeUrl,
|
qrCodeUrl,
|
||||||
qrCodeLoading,
|
qrCodeLoading,
|
||||||
handleGetQrCode,
|
handleGetQrCode,
|
||||||
handleQrCodeModalCancel
|
handleQrCodeModalCancel,
|
||||||
|
getCouponConfigValue,
|
||||||
|
handleCouponConfigChange
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user