From dfb7c31b6591f9bb53182b3023f0be1d496a7d1a Mon Sep 17 00:00:00 2001
From: lisy <linlangsur163@163.com>
Date: 星期一, 14 八月 2023 13:54:32 +0800
Subject: [PATCH] 管理后台:添加优惠券和积分商品的优化

---
 cloud-server-management/src/main/webapp/static/modular/system/tCoupon/TCouponInfo.js |  130 +++++++++++++++++++++++++++++++++---------
 1 files changed, 101 insertions(+), 29 deletions(-)

diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tCoupon/TCouponInfo.js b/cloud-server-management/src/main/webapp/static/modular/system/tCoupon/TCouponInfo.js
index ee79454..01e5dd4 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/tCoupon/TCouponInfo.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/tCoupon/TCouponInfo.js
@@ -80,6 +80,9 @@
 function scopeOfApplication1() {
     $("#storeSelect").hide();
     $("#citySelect").hide();
+
+    num = 0;
+
 }
 /**
  * 指定城市
@@ -213,9 +216,9 @@
 }
 
 
-var num = 0;
+let num = 0;
 couponInfoDlg.addBranch = function () {
-    num=num+1;
+    num = num+1;
     var a= "";
     a = "<div style=\'margin-left: 25%\' class=\"col-sm-9 control-label\">\n" +
         "                            <select class=\"col-sm-1\"  id=\'provinceData"+num+"\' style=\"margin-top: 1%;width: 25%\" onchange=\'changeCity("+num+")\'>\n" +
@@ -253,22 +256,17 @@
                 '<td><input type="hidden" id="id" name="id" value="'+arrays[i].id+'"><input type="hidden" id="provinceCity" name="provinceCity" value="'+arrays[i].provinceCity+'">' + arrays[i].provinceCity + '</td>' +
                 '<td><input type="hidden" id="accountName" name="accountName" value="'+arrays[i].accountName+'">' + arrays[i].accountName + '</td>' +
                 '<td><input type="hidden" id="name" name="name" value="'+arrays[i].name+'">' + arrays[i].name + '</td><td><button onclick="deleteSub(this)">移除</button></td></tr>';
+            this.storeIds.push(arrays[i].id);
         }
     }
     $("#coun").append(str);
-    console.log('storeIds',this.storeIds)
 }
 
 function deleteSub(e) {
-    console.log(e);
     var row = $(e).closest('tr');
-    var idValue = row.find('#id').val();
-    var index = this.storeIds.indexOf(idValue.toString());
-    if (index !== -1) {
-        this.storeIds.splice(index, 1);
-    }
+    var value = row.find('#id').val();
+    couponInfoDlg.storeIds.splice(couponInfoDlg.storeIds.indexOf(parseInt(value)), 1)
     $(e).parent().parent().remove();
-    console.log('storeIds',this.storeIds)
 }
 
 
@@ -284,29 +282,97 @@
     var cityIds = [];
     // 优惠券名称
     var couponName = $('#name').val();
+    if (couponName === undefined || couponName === '' || couponName === null){
+        return Feng.error('优惠券名称不能为空');
+    }
     // 优惠券类型
-    var prescription = $('#prescription').val();
+    let prescription = $(":radio[name='prescription']:checked").val();
+    // 满xx金额
+    let conditionalAmount = $('#conditionalAmount').val();
+    // 减xx金额
+    let deductionAmount = $('#deductionAmount').val();
+    // 可抵扣xx金额
+    let voucherAmount = $('#voucherAmount').val();
+    // 体验券名称
+    let experienceName = $('#experienceName').val();
+    if (prescription === '1'){
+        if (conditionalAmount === undefined || conditionalAmount === '' || conditionalAmount === null){
+            return Feng.error('条件金额不能为空');
+        }
+        if (deductionAmount === undefined || deductionAmount === '' || deductionAmount === null){
+            return Feng.error('减扣金额不能为空');
+        }
+    }
+    if (prescription === '2'){
+        if (voucherAmount === undefined || voucherAmount === '' || voucherAmount === null){
+            return Feng.error('抵扣金额不能为空');
+        }
+    }
+    if (prescription === '3'){
+        if (experienceName === undefined || experienceName === '' || experienceName === null){
+            return Feng.error('体验券名称不能为空');
+        }
+    }
+
+
     // 说明
     var illustrate = $('#illustrate').val();
+    if (illustrate === undefined || illustrate === '' || illustrate === null){
+        return Feng.error('优惠券说明不能为空');
+    }
     // 发放方式
-    var distributionMethod = $('#distributionMethod').val();
+    let distributionMethod = $(":radio[name='distributionMethod']:checked").val();
+    if (distributionMethod === undefined || distributionMethod === '' || distributionMethod === null){
+        return Feng.error('发放方式不能为空');
+    }
     // 所需积分
     var requiredPoints = $('#requiredPoints').val();
+    // 所需现金
+    var requiredCash = $('#requiredCash').val();
     // 用户人群
     let userGroup = $(':radio[name="userGroup"]:checked').val();
 
     // 发放数量
     var quantityIssued = $('#quantityIssued').val();
+    if (quantityIssued === undefined || quantityIssued === '' || quantityIssued === null){
+        return Feng.error('发放数量不能为空');
+    }
     // 限领数量
     var pickUpQuantity = $('#pickUpQuantity').val();
+    if (pickUpQuantity === undefined || pickUpQuantity === '' || pickUpQuantity === null){
+        return Feng.error('限领数量不能为空');
+    }
     // 有效期
     var periodOfValidity = $('#periodOfValidity').val();
-
+    if (periodOfValidity === undefined || periodOfValidity === '' || periodOfValidity === null){
+        return Feng.error('有效期不能为空');
+    }
+    // 兑换方式
     let exchangeMethod = $(':radio[name="exchangeMethod"]:checked').val();
+    if (distributionMethod === '' || distributionMethod === undefined || distributionMethod === null){
+        return Feng.error('兑换方式不能为空');
+    }
+    if (distributionMethod === '1'){
+        if (requiredPoints === undefined || requiredPoints === '' || requiredPoints === null){
+            return Feng.error('所需积分不能为空');
+        }
+    }
+    if (distributionMethod === '2'){
+        if (requiredPoints === undefined || requiredPoints === '' || requiredPoints === null){
+            return Feng.error('所需积分不能为空');
+        }
+        if (requiredCash === undefined || requiredCash === '' || requiredCash === null){
+            return Feng.error('所需现金不能为空');
+        }
+    }
+    if (distributionMethod === '3'){
+        if (requiredCash === undefined || requiredCash === '' || requiredCash === null){
+            return Feng.error('所需现金不能为空');
+        }
+    }
 
-    var requiredCash = $('#requiredCash').val();
-
-    var company = $('#company').val();
+    let company = $(':radio[name="company"]:checked').val();
+    var cts = "";
     if (company === '2'){
         var myselect=document.getElementById('cityData');
         var seCity = myselect.options[myselect.selectedIndex].value;
@@ -314,7 +380,7 @@
             return Feng.error('请选中一个省市');
         }
         cityIds.push(seCity);
-        if (this.num > 0){
+        if (num > 0){
             for (let i = 1; i <= num; i++) {
                 var insSelect=document.getElementById('cityData'+i);
                 var inData = insSelect.options[insSelect.selectedIndex].value;
@@ -322,15 +388,21 @@
                     cityIds.push(inData);
                 }
             }
+            cts = cityIds.join(',');
         }
     }
 
+    const commaSeparatedString = this.goodsPicArray.join(',');
+
+    var stores = "";
     if (company === '3'){
-
+        console.log('3---this.storeIds',this.storeIds);
+        if (couponInfoDlg.storeIds.length === 0 ){
+            return Feng.error('请至少选择一个门店');
+        }
+        stores = this.storeIds.join(',');
+        console.log('stores--===--',stores)
     }
-
-    console.log('11111111')
-
     //提交信息
     var ajax = new $ax(Feng.ctxPath + "/tCouponManage/commitData", function (data) {
         Feng.success("添加成功!");
@@ -343,10 +415,10 @@
     ajax.set("cityManagerId",1);
     ajax.set("couponName",couponName);
     ajax.set("prescription",prescription);
-    ajax.set("condition",$('#conditionalAmount').val());
-    ajax.set("subtraction",$('#deductionAmount').val());
-    ajax.set("discount",$('#voucherAmount').val());
-    ajax.set("experience",$('#experienceName').val());
+    ajax.set("condition",conditionalAmount);
+    ajax.set("subtraction",deductionAmount);
+    ajax.set("discount",voucherAmount);
+    ajax.set("experience",experienceName);
     ajax.set("illustrate",illustrate);
     ajax.set("distributionMethod",distributionMethod);
     ajax.set("requiredPoints",requiredPoints);
@@ -357,10 +429,10 @@
     ajax.set("periodOfValidity",periodOfValidity);
     ajax.set("exchangeMethod",exchangeMethod);
     ajax.set("goodImg",this.goodsCover);
-    ajax.set("goodImgs",this.goodsPicArray);
-    ajax.set("company",$('#company').val());
-    ajax.set("cityIds",cityIds);
-    ajax.set("storeIds",this.storeIds);
+    ajax.set("goodImgs",commaSeparatedString);
+    ajax.set("company",company);
+    ajax.set("cityIds",cts);
+    ajax.set("storeIds",stores);
     ajax.start();
 
 }

--
Gitblit v1.7.1