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