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