From 640ff18d2d7f4be02ddb7f8f75e899f05545eb98 Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期一, 05 二月 2024 11:56:52 +0800 Subject: [PATCH] 更新bug修改 --- cloud-server-management/src/main/webapp/static/modular/system/tCoupon/TCouponInfo.js | 487 ++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 452 insertions(+), 35 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 bbf243d..5cb9b52 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 @@ -4,7 +4,8 @@ var couponInfoDlg = { couponInfoData: {}, goodsPicArray: [], //商品图片数组 - goodsCover: '' //商品封面图 + goodsCover: '', //商品封面图 + storeIds: [], }; /** @@ -41,21 +42,8 @@ couponInfoDlg.close = function () { parent.layer.close(window.parent.TCoupon.layerIndex); } - -function ajax(serverCouponId, value, remark) { - var ajax = new $ax(Feng.ctxPath + "/couponServer/examine", function (data) { - Feng.success("审核成功!"); - window.parent.TCoupon.table.refresh(); - couponInfoDlg.close(); - }, function (data) { - Feng.error("审核失败!" + data.responseJSON.message + "!"); - }); - ajax.setData({ - couponServerId: serverCouponId, - state: value, - remark: remark - }); - ajax.start(); +couponInfoDlg.close1 = function () { + parent.layer.close(window.parent.TCouponExamine.layerIndex); } @@ -95,6 +83,27 @@ function scopeOfApplication1() { $("#storeSelect").hide(); $("#citySelect").hide(); + + //移除指定门店的数据: + // 找到 tbody 元素 + var tbody = document.getElementById("coun"); + + // 移除所有子元素(即行) + while (tbody.firstChild) { + tbody.removeChild(tbody.firstChild); + } + couponInfoDlg.storeIds = []; + + //移除指城市的数据: + num = 0; + var cityDemoDiv = document.getElementById("cityDemo"); + + cityDemoDiv.innerHTML = ""; // 将内容置为空字符串 + var provinceSelect = document.getElementById("provinceData"); + var cityDataSelect = document.getElementById("cityData"); + provinceSelect.innerHTML = '<option value="">请选择</option>'; + cityDataSelect.innerHTML = '<option value="">请选择</option>'; + getProvince(null); } /** * 指定城市 @@ -102,6 +111,18 @@ function scopeOfApplication2() { $("#storeSelect").hide(); $("#citySelect").show(); + + //移除指定门店的数据: + // 找到 tbody 元素 + var tbody = document.getElementById("coun"); + // 移除所有子元素(即行) + while (tbody.firstChild) { + tbody.removeChild(tbody.firstChild); + } + couponInfoDlg.storeIds = []; + + + } /** * 指定门店 @@ -109,6 +130,19 @@ function scopeOfApplication3() { $("#storeSelect").show(); $("#citySelect").hide(); + + //移除指城市的数据: + num = 0; + var cityDemoDiv = document.getElementById("cityDemo"); + + cityDemoDiv.innerHTML = ""; // 将内容置为空字符串 + var provinceSelect = document.getElementById("provinceData"); + var cityDataSelect = document.getElementById("cityData"); + provinceSelect.innerHTML = '<option value="">请选择</option>'; + cityDataSelect.innerHTML = '<option value="">请选择</option>'; + getProvince(null); + + } /** @@ -228,8 +262,9 @@ } -var num = 0; +let num = 0; couponInfoDlg.addBranch = function () { + 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" + @@ -244,32 +279,273 @@ " </div>"; $("#cityDemo").append($(a)); getProvince(num); - num=num+1 } + +couponInfoDlg.selecUserOpt = function (arrays){ + //获取所有的值 + var subArr= this.storeIds; + $(".timeClass").each(function () { + subArr.push($(this).find("input[name*='id']").val()); + }); + var str = ''; + for(var i in arrays){ + var b = true; + for(var j in subArr){ + if(arrays[i].id === Number(subArr[j])){ + b = false; + break + } + } + if(b){ + str += '<tr class="timeClass">' + + '<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); +} + +function deleteSub(e) { + var row = $(e).closest('tr'); + var value = row.find('#id').val(); + couponInfoDlg.storeIds.splice(couponInfoDlg.storeIds.indexOf(parseInt(value)), 1) + $(e).parent().parent().remove(); +} couponInfoDlg.delete = function (o) { $(o).parent("div").remove() } - -/** - * 关闭此对话框 - */ -couponInfoDlg.addSubmitCoupon = function () { - var value = $('input:radio:checked').val(); - let couponServerId = $("#serverCouponId").val(); - let remark = $('#detail').val() - if (value == 1) { - //提交信息 - ajax(couponServerId, value, remark) - } else { - if (!remark) { - Feng.error("请输入拒绝理由!"); - return; - } - ajax(couponServerId, value, remark) +couponInfoDlg.audit = function () { + var id = $("#id").val(); + var state = $("#state").val(); + console.log("让我看看state") + console.log(state) + if (state == "未通过"){ + Feng.error("当前优惠券不可再次审核!"); + return ; } + let audit = document.querySelector('input[name="r1"]:checked').value; + let text = $("#text").val() + if(audit==3){ + if(text==''){ + Feng.info("请输入拒绝理由") + return false; + } + } + var ajax = new $ax(Feng.ctxPath + "/tCouponExamine/examine", function (data) { + if (data.code == 200) { + Feng.success("操作成功!"); + + window.parent.TCouponExamine.table.refresh(); + couponInfoDlg.close1(); + } else if(data=="repeat"){ + window.location.reload(); + window.parent.layer.closeAll(); + Feng.error("请勿重复操作"); + }else { + return Feng.error(data.msg); + } + }, function (data) { + Feng.error("操作失败!") + window.location.reload(); + window.parent.layer.closeAll(); + return Feng.error("操作失败!"); + }); + + ajax.set("id", id); + ajax.set("state", audit); + ajax.set("remark", text); + ajax.start(); + layer.closeAll(); +} +/** + * 提交 + */ +couponInfoDlg.addSubmit = function () { + + var cityIds = []; + // 优惠券名称 + var couponName = $('#name').val(); + if (couponName === undefined || couponName === '' || couponName === null){ + return Feng.error('优惠券名称不能为空'); + } + // 优惠券类型 + 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('体验券名称不能为空'); + } + } + + + if ($('#userType').val()==1) { + // 说明 + var illustrate = $('#illustrate').val(); + if (illustrate === undefined || illustrate === '' || illustrate === null) { + return Feng.error('优惠券说明不能为空'); + } + } + // 发放方式 + 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('有效期不能为空'); + } + if ($('#userType').val()==1){ + // 兑换方式 + let exchangeMethod = $(':radio[name="exchangeMethod"]:checked').val(); + console.log("看看exchangeMethod") + console.log(exchangeMethod) + if (distributionMethod === '1') { + if (exchangeMethod === '' || exchangeMethod === undefined || exchangeMethod === null) { + return Feng.error('兑换方式不能为空'); + } + } + if (exchangeMethod === '1' ){ + if (requiredPoints === undefined || requiredPoints === '' || requiredPoints === null){ + return Feng.error('所需积分不能为空'); + } + } + if (exchangeMethod === '2' && distributionMethod === '1'){ + if (requiredPoints === undefined || requiredPoints === '' || requiredPoints === null){ + return Feng.error('所需积分不能为空'); + } + if (requiredCash === undefined || requiredCash === '' || requiredCash === null){ + return Feng.error('所需现金不能为空'); + } + } + if (exchangeMethod === '3' && distributionMethod === '1'){ + if (requiredCash === undefined || requiredCash === '' || requiredCash === null){ + return Feng.error('所需现金不能为空'); + } + } + } + let company = $(':radio[name="company"]:checked').val(); + var cts = ""; + if ($('#userType').val()==1) { + if (company === '2') { + var myselect = document.getElementById('cityData'); + var seCity = myselect.options[myselect.selectedIndex].value; + if (seCity === null || seCity === undefined || seCity === '') { + return Feng.error('请选中一个省市'); + } + cityIds.push(seCity); + if (num > 0) { + for (let i = 1; i <= num; i++) { + var insSelect = document.getElementById('cityData' + i); + var inData = insSelect.options[insSelect.selectedIndex].value; + if (inData !== undefined || inData !== null || inData !== '') { + cityIds.push(inData); + } + } + } + cts = cityIds.join(','); + console.log("============到达城市"+cts) + + } + + } + 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) + } + + var ensure = document.getElementById("ensure"); + ensure.disabled = true; + //提交信息 + var ajax = new $ax(Feng.ctxPath + "/tCouponManage/commitData", function (data) { + ensure.disabled = false; + Feng.success("添加成功!"); + window.parent.TCoupon.table.refresh(); + couponInfoDlg.close(); + }, function (data) { + ensure.disabled = false; + Feng.error("添加失败!" + data.responseJSON.message + "!"); + }); + ajax.set("userType",$('#userType').val()); + ajax.set("cityManagerId",0); + ajax.set("couponName",couponName); + ajax.set("prescription",prescription); + ajax.set("condition",conditionalAmount); + ajax.set("subtraction",deductionAmount); + ajax.set("discount",voucherAmount); + ajax.set("experience",experienceName); + var illustrate = $('#illustrate').val(); + ajax.set("illustrate",illustrate); + ajax.set("distributionMethod",distributionMethod); + ajax.set("requiredPoints",requiredPoints); + ajax.set("requiredCash",requiredCash); + ajax.set("userGroup",userGroup); + ajax.set("quantityIssued",quantityIssued); + ajax.set("pickUpQuantity",pickUpQuantity); + ajax.set("periodOfValidity",periodOfValidity); + + if ($('#userType').val()==2) { + ajax.set("exchangeMethod",1); + }else{ + let exchangeMethod = $(':radio[name="exchangeMethod"]:checked').val(); + ajax.set("exchangeMethod",exchangeMethod); + } + ajax.set("goodImg",this.goodsCover); + ajax.set("goodImgs",commaSeparatedString); + ajax.set("company",company); + ajax.set("cityIds",cts); + ajax.set("storeIds",stores); + ajax.start(); + } /** @@ -301,6 +577,147 @@ $(function () { + getProvince(null); + radio1(); + var OBJradio = document.getElementsByName("prescription") + for (i = 0; i < OBJradio.length; i++) {//循环查找这个radio + if ($("#t1").val() == OBJradio[i].value) {//判断是否与radio的值相同 + OBJradio[i].checked = true//修改选中状态 + } + } + + var OBJradio = document.getElementsByName("distributionMethod") + for (i = 0; i < OBJradio.length; i++) {//循环查找这个radio + if ($("#t2").val() == OBJradio[i].value) {//判断是否与radio的值相同 + OBJradio[i].checked = true//修改选中状态 + } + } + var OBJradio = document.getElementsByName("exchangeMethod") + for (i = 0; i < OBJradio.length; i++) {//循环查找这个radio + if ($("#t3").val() == OBJradio[i].value) {//判断是否与radio的值相同 + OBJradio[i].checked = true//修改选中状态 + } + } + var OBJradio = document.getElementsByName("userGroup") + for (i = 0; i < OBJradio.length; i++) {//循环查找这个radio + if ($("#t4").val() == OBJradio[i].value) {//判断是否与radio的值相同 + OBJradio[i].checked = true//修改选中状态 + } + } + var OBJradio = document.getElementsByName("company") + for (i = 0; i < OBJradio.length; i++) {//循环查找这个radio + if ($("#t5").val() == OBJradio[i].value) {//判断是否与radio的值相同 + OBJradio[i].checked = true//修改选中状态 + } + } + if($("#t5").val() ==2){ + $("#citySelect").show(); + } + if($("#t5").val() ==3){ + $("#storeSelect").show(); + } + if($("#t1").val()==1){ + console.log(1) + $("#conditionalAmount").val($("#one").val()) + $("#deductionAmount").val($("#two").val()) + } + if($("#t1").val()==2){ + radio2() + $("#voucherAmount").val($("#one").val()) + } + if($("#t1").val()==3){ + console.log(3) + $("#experienceName").val($("#three").val()) + } + + var userType = $('#userType').val(); + if (userType === '1'){ + // 兑换方式 + $('#exchangeType').show(); + $('#needAmount').show(); + $('#needIntegral').show(); + // 图片 + $('#app').show(); + $('#app1').show(); + // 适用范围 + $('#belongsCon').show(); + $('#belongsNationwide').show(); + $('#belongsCity').show(); + $('#belongsStore').show(); + } + if (userType === '2'){ + $('#needIntegral').show(); + $('#belongsCon').show(); + $('#belongsStore').show(); + $('#storeSelect').show(); + } + if (userType === '3'){ + // 兑换方式 + $('#exchangeType').show(); + $('#needAmount').show(); + $('#needIntegral').show(); + // 图片 + $('#app').show(); + $('#app1').show(); + // 适用范围 + } + + + + + const distributionMethodOptions = document.getElementsByName('distributionMethod'); + +// 监听distributionMethod选项的变化 + for (let i = 0; i < distributionMethodOptions.length; i++) { + distributionMethodOptions[i].addEventListener('change', function() { + // 获取选中的distributionMethod值 + const selectedDistributionMethod = document.querySelector('input[name="distributionMethod"]:checked').value; + console.log("看看选择") + console.log(selectedDistributionMethod); + // 判断选中的值是否不等于1 + if (selectedDistributionMethod !== '1') { + console.log("已经选择1") + // 隐藏exchangeType + document.getElementById('exchangeType').style.display = 'none'; + document.getElementById('needAmount').style.display = 'none'; + document.getElementById('needIntegral').style.display = 'none'; + } else { + // 显示exchangeType + document.getElementById('exchangeType').style.display = 'block'; + document.getElementById('needAmount').style.display = 'block'; + document.getElementById('needIntegral').style.display = 'block'; + } + // 如果选择发放方式为注册赠送 + if (selectedDistributionMethod == "2"){ + const userGroupRadios = document.querySelectorAll('input[name="userGroup"][value="1"], input[name="userGroup"][value="3"]'); + console.log("看看要隐藏的") + console.log(userGroupRadios) + // 隐藏值为 1 或 2 的 radio 按钮,并显示值为 2 的 radio 按钮 + userGroupRadios.forEach(userRadio => { + console.log("隐藏啊") + userRadio.style.display = 'none'; + }); + $('#u1').hide(); + $('#u3').hide(); + const userGroupTwo = document.querySelector('input[name="userGroup"][value="2"]'); + userGroupTwo.style.display = 'inline-block'; + userGroupTwo.checked = true; + }else{ + // 如果选择的不是值为 2 的 radio 按钮,则显示所有的 userGroup radio 按钮 + const userGroupRadios = document.querySelectorAll('input[name="userGroup"]'); + userGroupRadios.forEach(userRadio => { + userRadio.style.display = 'inline-block'; + }); + const userGroupTwo = document.querySelector('input[name="userGroup"][value="1"]'); + userGroupTwo.style.display = 'inline-block'; + userGroupTwo.checked = true; + $('#u1').show(); + $('#u3').show(); + } + }); + } + + }); -- Gitblit v1.7.1