puzhibing
2024-02-05 640ff18d2d7f4be02ddb7f8f75e899f05545eb98
cloud-server-management/src/main/webapp/static/modular/system/tCoupon/TCouponInfo.js
@@ -42,6 +42,9 @@
couponInfoDlg.close = function () {
    parent.layer.close(window.parent.TCoupon.layerIndex);
}
couponInfoDlg.close1 = function () {
    parent.layer.close(window.parent.TCouponExamine.layerIndex);
}
/**
@@ -80,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);
}
/**
 * 指定城市
@@ -87,6 +111,18 @@
function scopeOfApplication2() {
    $("#storeSelect").hide();
    $("#citySelect").show();
    //移除指定门店的数据:
    // 找到 tbody 元素
    var tbody = document.getElementById("coun");
    // 移除所有子元素(即行)
    while (tbody.firstChild) {
        tbody.removeChild(tbody.firstChild);
    }
    couponInfoDlg.storeIds = [];
}
/**
 * 指定门店
@@ -94,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);
}
/**
@@ -213,9 +262,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" +
@@ -237,16 +286,13 @@
    //获取所有的值
    var subArr= this.storeIds;
    $(".timeClass").each(function () {
        subArr.push({
            id:$(this).find("input[name*='id']").val(),
        })
        subArr.push($(this).find("input[name*='id']").val());
    });
    console.log(subArr);
    var str = '';
    for(var i in arrays){
        var b = true;
        for(var j in subArr){
            if(arr[i].id == subArr[j]){
            if(arrays[i].id === Number(subArr[j])){
                b = false;
                break
            }
@@ -256,12 +302,16 @@
                '<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();
}
@@ -269,7 +319,49 @@
couponInfoDlg.delete = function (o) {
    $(o).parent("div").remove()
}
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();
}
/**
 * 提交
 */
@@ -278,69 +370,160 @@
    var cityIds = [];
    // 优惠券名称
    var couponName = $('#name').val();
    if (couponName === undefined || couponName === '' || couponName === null){
        return Feng.error('优惠券名称不能为空');
    }
    // 优惠券类型
    var prescription = $('#prescription').val();
    // 说明
    var illustrate = $('#illustrate').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('体验券名称不能为空');
        }
    }
    if ($('#userType').val()==1) {
        // 说明
        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('有效期不能为空');
    }
    if ($('#userType').val()==1){
    // 兑换方式
    let exchangeMethod = $(':radio[name="exchangeMethod"]:checked').val();
    var requiredCash = $('#requiredCash').val();
    var company = $('#company').val();
    if (company === '2'){
        var myselect=document.getElementById('cityData');
        var seCity = myselect.options[myselect.selectedIndex].value;
        if (seCity === null || seCity === undefined || seCity === ''){
            return Feng.error('请选中一个省市');
        console.log("看看exchangeMethod")
        console.log(exchangeMethod)
    if (distributionMethod === '1') {
        if (exchangeMethod === '' || exchangeMethod === undefined || exchangeMethod === null) {
            return Feng.error('兑换方式不能为空');
        }
        cityIds.push(seCity);
        if (this.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);
    }
    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)
    }
    console.log('11111111')
    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",1);
    ajax.set("cityManagerId",1);
    ajax.set("userType",$('#userType').val());
    ajax.set("cityManagerId",0);
    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);
    var illustrate = $('#illustrate').val();
    ajax.set("illustrate",illustrate);
    ajax.set("distributionMethod",distributionMethod);
    ajax.set("requiredPoints",requiredPoints);
@@ -349,12 +532,18 @@
    ajax.set("quantityIssued",quantityIssued);
    ajax.set("pickUpQuantity",pickUpQuantity);
    ajax.set("periodOfValidity",periodOfValidity);
    ajax.set("exchangeMethod",exchangeMethod);
    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",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();
}
@@ -388,8 +577,60 @@
$(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'){
        // 兑换方式
@@ -411,4 +652,72 @@
        $('#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();
            }
        });
    }
});