From d0f6630cd5b9f4271231d61950019d371c1fd015 Mon Sep 17 00:00:00 2001 From: mayf <m13160102112@163.com> Date: 星期五, 20 九月 2024 17:54:56 +0800 Subject: [PATCH] 活动优惠券使用时间和领取时间两者校验 --- pages/marketing/coupon/activity/index.vue | 28 ++++++++++++++++++++++++++-- 1 files changed, 26 insertions(+), 2 deletions(-) diff --git a/pages/marketing/coupon/activity/index.vue b/pages/marketing/coupon/activity/index.vue index 446f4a9..7f65ee6 100644 --- a/pages/marketing/coupon/activity/index.vue +++ b/pages/marketing/coupon/activity/index.vue @@ -181,7 +181,7 @@ commonRules: true, commonFormat: true, commonFormatProps: ['getStartDate', 'getEndDate'], - rules: dateTimeRules, + rules: dateTimeRules(), }, { label: '使用时间:', @@ -218,7 +218,31 @@ commonFormatProps: ['usageStartDate', 'usageEndDate'], hidden: (row, item, mode) => row.usageType !== 'fixed' || mode === 'view', - rules: dateTimeRules, + rules: (row) => { + return [ + dateTimeRules(), + { + validator: (rule, value, callback) => { + if ( + Array.isArray(row.getStartDate) && + row.getStartDate.filter((i) => !!i).length === 2 && + Array.isArray(value) && + value.filter((i) => !!i).length === 2 + ) { + if (value[0] < row.getStartDate[0]) { + callback(new Error('使用开始时间不能小于领取开始时间')) + } else if (value[1] < row.getStartDate[1]) { + callback(new Error('使用结束时间不能小于领取结束时间')) + } else { + callback() + } + } else { + callback() + } + }, + }, + ] + }, }, { label: '领取后有效时间:', -- Gitblit v1.9.3