【代码优化】商城: 满减送活动

This commit is contained in:
puhui999 2024-09-02 17:21:10 +08:00
parent 9329978f6d
commit dcc1a3e9d5
4 changed files with 13 additions and 8 deletions

View File

@ -22,7 +22,7 @@ export interface RewardRule {
discountPrice?: number discountPrice?: number
freeDelivery?: boolean freeDelivery?: boolean
point: number point: number
giveCoupons?: { giveCouponTemplateCounts?: {
[key: number]: number [key: number]: number
} }
} }

View File

@ -117,7 +117,7 @@ const open = async (type: string, id?: number) => {
// //
data.startAndEndTime = [data.startTime, data.endTime] data.startAndEndTime = [data.startTime, data.endTime]
// //
data.rules.forEach((item: any) => { data.rules?.forEach((item: any) => {
item.discountPrice = fenToYuan(item.discountPrice || 0) item.discountPrice = fenToYuan(item.discountPrice || 0)
}) })
formData.value = data formData.value = data

View File

@ -103,6 +103,9 @@ const deleteRule = (ruleIndex: number) => {
/** 添加优惠规则 */ /** 添加优惠规则 */
const addRule = () => { const addRule = () => {
if (isEmpty(formData.value.rules)) {
formData.value.rules = []
}
formData.value.rules.push({ formData.value.rules.push({
limit: 0, limit: 0,
discountPrice: 0, discountPrice: 0,

View File

@ -86,10 +86,12 @@ const deleteCoupon = (index: number) => {
/** 初始化赠送的优惠券列表 */ /** 初始化赠送的优惠券列表 */
const initGiveCouponList = async () => { const initGiveCouponList = async () => {
// //
if (isEmpty(rewardRule.value) || isEmpty(rewardRule.value.giveCoupons)) { if (isEmpty(rewardRule.value) || isEmpty(rewardRule.value.giveCouponTemplateCounts)) {
return return
} }
const tempLateIds = Object.keys(rewardRule.value.giveCoupons!).map((item) => parseInt(item)) const tempLateIds = Object.keys(rewardRule.value.giveCouponTemplateCounts!).map((item) =>
parseInt(item)
)
const data = await CouponTemplateApi.getCouponTemplateList(tempLateIds) const data = await CouponTemplateApi.getCouponTemplateList(tempLateIds)
if (!data) { if (!data) {
return return
@ -98,7 +100,7 @@ const initGiveCouponList = async () => {
data.forEach((coupon) => { data.forEach((coupon) => {
list.value.push({ list.value.push({
...coupon, ...coupon,
giveCount: rewardRule.value.giveCoupons![coupon.id] giveCount: rewardRule.value.giveCouponTemplateCounts![coupon.id]
}) })
}) })
} }
@ -111,10 +113,10 @@ const setGiveCouponList = () => {
// //
list.value.forEach((rule) => { list.value.forEach((rule) => {
if (!rewardRule.value.giveCoupons) { if (!rewardRule.value.giveCouponTemplateCounts) {
rewardRule.value.giveCoupons = {} rewardRule.value.giveCouponTemplateCounts = {}
} }
rewardRule.value.giveCoupons[rule.id] = rule.giveCount! rewardRule.value.giveCouponTemplateCounts[rule.id] = rule.giveCount!
}) })
} }
defineExpose({ setGiveCouponList }) defineExpose({ setGiveCouponList })