From 82f0ae7636fe2c58f2571e4e7dbbe860f2d6c147 Mon Sep 17 00:00:00 2001
From: chenglb <chenglb@yisa.com>
Date: Fri, 24 Nov 2023 16:24:44 +0800
Subject: [PATCH] =?UTF-8?q?fix:=E4=BC=98=E6=83=A0=E5=88=B8=E9=97=AE?=
 =?UTF-8?q?=E9=A2=98=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../CouponMgm/ActivitySpecificTopic/Add.jsx        |  2 +-
 .../CouponMgm/CouponDistribute/Add.jsx             | 14 ++++++++--
 .../CouponMgm/CouponRules/loadable.jsx             | 32 ++++++++++++++++++++--
 3 files changed, 42 insertions(+), 6 deletions(-)

diff --git a/src/pages/OperationCenter/OperationSales/CouponMgm/ActivitySpecificTopic/Add.jsx b/src/pages/OperationCenter/OperationSales/CouponMgm/ActivitySpecificTopic/Add.jsx
index f236eac..382e1c8 100644
--- a/src/pages/OperationCenter/OperationSales/CouponMgm/ActivitySpecificTopic/Add.jsx
+++ b/src/pages/OperationCenter/OperationSales/CouponMgm/ActivitySpecificTopic/Add.jsx
@@ -183,7 +183,7 @@ function Add(props) {
           {couponList.map((item, index) => {
             return (
               <CouponComponent
-                key={index}
+                key={item.key}
                 index={index}
                 item={item}
                 couponOptions={couponOptions}
diff --git a/src/pages/OperationCenter/OperationSales/CouponMgm/CouponDistribute/Add.jsx b/src/pages/OperationCenter/OperationSales/CouponMgm/CouponDistribute/Add.jsx
index 97991ea..872eba3 100644
--- a/src/pages/OperationCenter/OperationSales/CouponMgm/CouponDistribute/Add.jsx
+++ b/src/pages/OperationCenter/OperationSales/CouponMgm/CouponDistribute/Add.jsx
@@ -12,7 +12,8 @@ import {
   Button,
   Space,
   message,
-  Upload 
+  Upload, 
+  InputNumber
 } from "antd";
 import ajax from "@/services";
 import { removeToken, getToken } from "@/config/cookie.js"
@@ -112,10 +113,17 @@ function Add(props) {
       .then((values) => {
 
         // console.log(values, 'submit values')
-        let temp = 0;
+        let temp = 0 , temparr = [];
         values.info.map(item=>{
           temp += parseInt(item.num)
+          if(!temparr.includes(item.rule_id)){
+            temparr.push(item.rule_id)
+          }
         })
+        if(temparr.length < values.info.length){
+          message.error('优惠券重复设置')
+          return
+        }
         let params = {
           ...values,
           push_type: values.push_type.join(','),
@@ -206,7 +214,7 @@ function Add(props) {
                         name={[name, 'num']}
                         rules={[ {required: true,message: '请输入张数', } ]}
                       >
-                        <Input addonAfter="张" />
+                        <InputNumber controls={false} min={1} max={9999} addonAfter="张" />
                       </Form.Item>
                       {/* <Button type="dashed" onClick={() => add()} block icon={<PlusOutlined />}>
                           添加
diff --git a/src/pages/OperationCenter/OperationSales/CouponMgm/CouponRules/loadable.jsx b/src/pages/OperationCenter/OperationSales/CouponMgm/CouponRules/loadable.jsx
index 73c35c1..614b8f3 100644
--- a/src/pages/OperationCenter/OperationSales/CouponMgm/CouponRules/loadable.jsx
+++ b/src/pages/OperationCenter/OperationSales/CouponMgm/CouponRules/loadable.jsx
@@ -371,14 +371,36 @@ function CouponRules() {
             message.error('优惠券类型不能为空')
             return false
         }
+        if(currentCouponInfo.type == 1){ // 折扣券
+            if(!currentCouponInfo.discount_ratio){ 
+                message.error('打折比例不能为空')
+                return false
+            }
+            if(!currentCouponInfo.discount_limit){ 
+                message.error('折扣金额上限不能为空')
+                return false
+            }
+        }else if(currentCouponInfo.type == 2){ // 满减
+            if(!currentCouponInfo.value){ 
+                message.error('优惠券面值不能为空')
+                return false
+            }
+            if(!currentCouponInfo.value_condition){ 
+                message.error('满减使用条件不能为空')
+                return false
+            }
+            if(currentCouponInfo.value > currentCouponInfo.value_condition){
+                message.error('优惠券面值不能大于满减使用条件')
+                return false
+            }
+        }
+
 
         if(!currentCouponInfo.hour){
             message.error('欠费时长不能为空')
             return false
         }
 
-
-
         if(currentCouponInfo.use_scope == 1 && currentCouponInfo.use_content == ''){
             message.error('路段不能为空')
             return false
@@ -386,6 +408,11 @@ function CouponRules() {
             message.error('商户不能为空')
             return false
         }
+
+        if(currentCouponInfo.illustrate?.length > 200){
+            message.error('使用说明不能超过200字')
+            return false
+        }
         return flag
     }
 
@@ -736,6 +763,7 @@ function CouponRules() {
                                             disabled={justCheck}
                                             value={currentCouponInfo.value}
                                             showClose={true}
+                                            max={10000}
                                             showCount={false}
                                             suffixWord="元"
                                             onChange={e => { setCurrentCouponInfo({ ...currentCouponInfo,value: e }) }  }