puzhibing
2024-02-05 640ff18d2d7f4be02ddb7f8f75e899f05545eb98
cloud-server-management/src/main/webapp/static/modular/system/tSite/tSite.js
@@ -21,21 +21,31 @@
TSite.initColumn = function () {
    return [
        {field: 'selectItem', checkbox: true},
        {title: '主键ID', field: 'id', visible: false, align: 'center', valign: 'middle'},
        {title: '省', field: 'province', visible: objectType==1?true:false, align: 'center', valign: 'middle',width:'20%',
        {title: '序号', field: 'id', visible: true, align: 'center', valign: 'middle'},
        {
            title: '所属运营商', field: 'operator', visible: objectType==3?false:true, align: 'center', valign: 'middle',
            formatter: function(value, row, index) {
                if (!value || value.trim() === '' || value.trim() === 0) {
                    return '平台';
                } else {
                    return value;
                }
            }
        },
        {title: '市', field: 'city', visible: objectType==1?true:false, align: 'center', valign: 'middle',
        {
            title: '省', field: 'province', visible: objectType === 1 ? true : false, align: 'center', valign: 'middle', width: '20%',
        },
        {
            title: '市', field: 'city', visible: objectType === 1 ? true : false, align: 'center', valign: 'middle',
        },
        {title: '门店名称', field: 'storeName', visible: true, align: 'center', valign: 'middle'},
        {title: '场地类型', field: 'siteTypeName', visible: true, align: 'center', valign: 'middle',
        },
        {title: '场地名称', field: 'name', visible: true, align: 'center', valign: 'middle',
        },
        {title: '场地责任险有效期', field: 'insuranceEndTime', visible: true, align: 'center', valign: 'middle',
        },
        {title: '状态', field: 'state', visible: true, align: 'center', valign: 'middle',
            formatter:function (data) {
            return {1:"上架中",2:"下架中"}[data]
        {title: '场地类型', field: 'siteTypeName', visible: true, align: 'center', valign: 'middle'},
        {title: '场地名称', field: 'name', visible: true, align: 'center', valign: 'middle'},
        {title: '场地责任险有效期', field: 'insuranceEndTime', visible: true, align: 'center', valign: 'middle'},
        {
            title: '状态', field: 'state', visible: true, align: 'center', valign: 'middle',
            formatter: function(data) {
                return {1: '上架中', 2: '下架中'}[data];
            }
        }
    ];
@@ -159,6 +169,53 @@
    ajax.set("province",oneId);
    ajax.start();
};
TSite.oneChangeYys = function(e){
    var oneId;
    var checkbox = document.querySelector('input[name="pt"]');
    if (checkbox.checked) {
        oneId=0;
        console.log("选中是平台");
    } else {
        oneId = $("#yys").val();
        console.log("运营商");
    }
    var ajax = new $ax(Feng.ctxPath + "/tSite/getChangeOne", function(data){
        if(data!=null){
            // var content1 = '<option value="0">平台</option>';
            if (oneId == 0) {
                console.log("锁住")
                $("#yys").prop('disabled', true);
            }else{
                console.log("放开")
                $("#yys").prop('disabled', false);
            }
            console.log("看看返回数据")
            console.log(data)
            var content='<option value="">选择门店</option>';
            $.each(data, function(k,v) {
                content += "<option value='"+v.id+"'>"+v.name+"</option>";
            });
            $("#store").empty().append(content);
        }
    });
    if (typeof(oneId) == "undefined"){
        console.log("===============")
        oneId = $("#yys").val()
        var button = document.getElementById("yys");
        button.removeAttribute("disabled");
    }
    ajax.set("oneId",oneId);
    ajax.start();
};
// 场地管理首页 选择对应的省市
// 传1是场地管理首页 传2是场地管理添加页面
TSite.oneChange = function (e) {
@@ -178,10 +235,8 @@
            }
        });
    }
    var province = $('#pCode option:selected').text();
    var val = $('#pCode option:selected').val();
    var citySelect = document.getElementById("cCode");
    var accountSelect = document.getElementById("account");
    var storeSelect = document.getElementById("store");
@@ -194,22 +249,45 @@
            $("#cCode").empty().append(content);
        }
    });
    if (val === ""){
        citySelect.innerHTML = '<option value="">请先选择省</option>';
    }
    if (e===2){
        accountSelect.innerHTML = '<option value="">请先选择省/市</option>';
        storeSelect.innerHTML = '<option value="">请先选择省/市</option>';
    }
    if (val === ""){
        startTime.disabled = true;
        endTime.disabled = true;
    }
    // if (val === ""){
    //     citySelect.innerHTML = '<option value="">请先选择省</option>';
    //
    // }
    // if (e===2){
    //     accountSelect.innerHTML = '<option value="">请先选择省/市</option>';
    //     storeSelect.innerHTML = '<option value="">请先选择省/市</option>';
    // }
    // if (val === ""){
    //     startTime.disabled = true;
    //     endTime.disabled = true;
    // }
    ajax.set("province",province);
    ajax.start();
};
TSite.oneChange1 = function (e) {
    console.log(111)
    var oneId=$(e).val();
    var ajax = new $ax(Feng.ctxPath + "/tCompetition/onChange", function(data){
        if(data!=null){
                var content='<option value="">选择市</option>';
            $.each(data, function(k,v) {
                content += "<option value='"+v.code+"'>"+v.name+"</option>";
            });
            $("#cCode").empty().append(content);
        }
    });
    ajax.set("oneId",oneId);
    ajax.start();
}
TSite.oneChangeNext = function (e) {
    var startTime = document.getElementById('start-time');
@@ -357,7 +435,15 @@
        managementPlan:"",
        operatorId:"",
        typeName:"",
        nextName:""
        nextName:"",
        ishalf:"",
        cashPriceOne:"",
        playPaiCoinOne:"",
        halfName:"",
        introduce:"",
        imgs:"",
        introduce:"",
        ids:""
    };
    data.province            = $("#pCode").val()
    data.city                = $("#cCode").val()
@@ -377,6 +463,69 @@
    var sm =data.appointmentStartTime.split(':')[1];
    var eh =data.appointmentEndTime.split(':')[0];
    var em =data.appointmentEndTime.split(':')[1];
    console.log(data.typeName)
    if (data.typeName === "智慧场地"){
        console.log("===========这是智慧球场")
        console.log("====="+data.appointmentStartTime)
        var value = data.appointmentStartTime;
        var lastTwoDigits = value.slice(-2);
        if (lastTwoDigits === "00" || lastTwoDigits === "15" || lastTwoDigits === "30" || lastTwoDigits === "45") {
            console.log("Last two digits are 00, 15, 30, or 45");
        } else {
            Feng.error("智慧场地的可预约时间段是15分钟的倍数")
            return;
        }
        var value1 = data.appointmentEndTime;
        var lastTwoDigits1 = value1.slice(-2);
        if (lastTwoDigits1 === "00" || lastTwoDigits1 === "15" || lastTwoDigits1 === "30" || lastTwoDigits1 === "45") {
            console.log("Last two digits are 00, 15, 30, or 45");
        } else {
            Feng.error("智慧场地的可预约时间段是15分钟的倍数")
            return;
        }
    }else {
        console.log("===========这是普通球场")
        console.log("====="+data.appointmentStartTime)
        var value = data.appointmentStartTime;
        var lastTwoDigits = value.slice(-2);
        if (lastTwoDigits === "00" || lastTwoDigits === "30" ) {
            console.log("Last two digits are 00, 15, 30, or 45");
        } else {
            Feng.info("普通场地可预约时间段需是30分钟的倍数")
            return;
        }
        var value1 = data.appointmentEndTime;
        var lastTwoDigits1 = value1.slice(-2);
        if (lastTwoDigits1 === "00"|| lastTwoDigits1 === "30" ) {
            console.log("Last two digits are 00, 15, 30, or 45");
        } else {
            Feng.info("普通场地可预约时间段需是30分钟的倍数")
            return;
        }
    }
    var SelectValue="";
    var getSelectValueMenbers = $("input[name='pt']:checked").each(function(j) {
@@ -399,7 +548,7 @@
    let num24 = $('input[name="name1"]');
    var nextName="";
    for (let i = 0; i < num24.length; i++) {
        if(console.log($(num24[i]).val()=='')){
        if($(num24[i]).val()==''){
            Feng.info("请填写场地名称")
            return;
        }
@@ -409,15 +558,78 @@
            nextName += $(num24[i]).val()+","
        }
    }
    console.log(nextName)
    data.nextName= nextName;
    var ishalf= $("input[name='ishalf']:checked").val();
    data.ishalf= ishalf;
    var halfName="";
    if(ishalf==1){
        let cashPriceOne = $("#cashPriceOne").val()
        if(cashPriceOne=='' ){
            Feng.info("请填写现金价格")
            return;
        }
        data.cashPriceOne= cashPriceOne;
    if($("#account").val()=='' ){
        Feng.info("请选择账号")
        let playPaiCoinOne = $("#playPaiCoinOne").val()
        if(playPaiCoinOne=='' ){
            Feng.info("请填写玩湃币价格")
            return;
        }
        data.playPaiCoinOne= playPaiCoinOne;
        let num2 = $('input[name="name2"]');
        for (let i = 0; i < num2.length; i++) {
            if($(num2[i]).val()==''){
                Feng.info("请填写半场名称")
                return;
            }
            if(i==num2.length-1){
                halfName += $(num2[i]).val()
            }else {
                halfName += $(num2[i]).val()+","
            }
        }
    }
    data.halfName= halfName;
    data.ids= $("#ids").val();
    let introduce ;
    if (objectType==1){
       introduce  = TSite.editor.getContent();
    }
    console.log(introduce)
    if(introduce==""){
        Feng.info("请输入公告内容")
        return;
    }
    data.introduce= introduce;
    var goodImgs = this.goodsPicArray;
    if(objectType==1){
        if(goodImgs.length==0){
            Feng.info("请上传实景图")
            return;
        }
    }
    var imgOne ="";
    for (let i = 0; i <goodImgs.length; i++) {
        if(i==goodImgs.length-1){
            imgOne += (goodImgs[i].response)
        }else {
            imgOne+=(goodImgs[i].response+",")
        }
    }
    data.imgs = imgOne
    if($("#store").val()=='' ){
        Feng.info("请选择门店")
        return;
@@ -450,7 +662,6 @@
        Feng.info("请输入场地责任险有效期")
        return;
    }
    if($("#img").val()==''){
        Feng.info("请上传场地责任有效期图片")
        return;
@@ -464,83 +675,83 @@
    var rStime = ""; //门店的经营开始时间
    var rEtime = ""; //门店的经营结束时间
    var selectedText = $('#store option:selected').text();
    // $.ajax({
    //     url: Feng.ctxPath + "/tSite/getTime/" + selectedText,
    //     type: "GET",
    //     contentType: "application/json", // 设置请求头的 Content-Type
    //     success: function (response) {
    //         rStime = response.startTime;
    //         sh = rStime.split(':')[0];// 门店经营开始时间:小时
    //         sm = rStime.split(':')[1];// 门店经营开始时间:分钟
    //
    //         rEtime = response.endTime;
    //         eh = rEtime.split(':')[0];// 门店经营结束时间:小时
    //         em = rEtime.split(':')[1];// 门店经营结束时间:分钟
    //
    //         var start = sTime.value;
    //         var startHour = start.split(':')[0];  // 输入的可预约开始时间:小时
    //         var startMinute = start.split(':')[1];// 输入的可预约开始时间:分钟
    //         if (Number(sh)>Number(startHour)){
    //             Feng.error("预约的开始时间不应小于营业开始时间!")
    //             return false;
    //         }else if(Number(sh) === Number(startHour) ){
    //             if (Number(sm)>Number(startMinute)){
    //                 Feng.error("预约的开始时间不应大于营业开始时间!")
    //                 return false;
    //             }
    //         }else if (Number(eh)<Number(startHour)){
    //             Feng.error("预约的开始时间不应大于营业结束时间!")
    //             return false;
    //         }else if(Number(eh)===Number(startHour)){
    //             Feng.error("预约的开始时间不应大于等于营业结束时间!")
    //             return false;
    //         }
    //         var end = eTime.value;
    //         var endHour = end.split(':')[0];  // 输入的可预约结束时间:小时
    //         var endMinute = end.split(':')[1];// 输入的可预约结束时间:分钟
    //         if (Number(eh)<Number(endHour)){
    //             Feng.error("预约的结束时间不应大于营业结束时间!")
    //             return ;
    //         }else if(Number(eh) === Number(endHour) ){
    //             if (Number(em)<Number(endMinute)){
    //                 Feng.error("预约的开始时间不应大于开始营业时间!")
    //                 return ;
    //             }
    //         }else if(Number(sh)>Number(endHour)){
    //             Feng.error("预约的结束时间不应小于营业开始时间!")
    //             return ;
    //         }
    //         if (Number(endHour)===Number(sh)){
    //             if(Number(endMinute) < Number(sm)){
    //                 Feng.error("预约结束时间不应小于营业开始时间");
    //                 return;
    //             }
    //         }
    //         if (Number(startHour)===Number(endHour) && Number(startMinute)===Number(endMinute)){
    //             Feng.error("至少预约半个小时");
    //             return;
    //         }
    //         $.ajax({
    //             url: Feng.ctxPath + "/tSite/addSite" ,
    //             type: "POST",
    //             data: JSON.stringify(data),
    //             contentType: "application/json",
    //             success: function (response) {
    //                 window.parent.TSite.table.refresh();
    //                 TSite.close();
    //                 Feng.success("添加成功");
    //             },
    //             error: function (xhr, status, error) {
    //                 Feng.error("添加失败!" + error);
    //             }
    //         });
    //     },
    //     error: function (xhr, status, error) {
    //         var errorMessage = xhr.responseText ? xhr.responseText : "上架失败!";
    //         Feng.error("您的网络异常!");
    //         return false;
    //     }
    // });
    $.ajax({
        url: Feng.ctxPath + "/tSite/getTime/" + selectedText,
        type: "GET",
        contentType: "application/json", // 设置请求头的 Content-Type
        success: function (response) {
            rStime = response.startTime;
            sh = rStime.split(':')[0];// 门店经营开始时间:小时
            sm = rStime.split(':')[1];// 门店经营开始时间:分钟
            rEtime = response.endTime;
            eh = rEtime.split(':')[0];// 门店经营结束时间:小时
            em = rEtime.split(':')[1];// 门店经营结束时间:分钟
            var start = sTime.value;
            var startHour = start.split(':')[0];  // 输入的可预约开始时间:小时
            var startMinute = start.split(':')[1];// 输入的可预约开始时间:分钟
            if (Number(sh)>Number(startHour)){
                Feng.error("预约的开始时间不应小于营业开始时间!")
                return false;
            }else if(Number(sh) === Number(startHour) ){
                if (Number(sm)>Number(startMinute)){
                    Feng.error("预约的开始时间不应大于营业开始时间!")
                    return false;
                }
            }else if (Number(eh)<Number(startHour)){
                Feng.error("预约的开始时间不应大于营业结束时间!")
                return false;
            }else if(Number(eh)===Number(startHour)){
                Feng.error("预约的开始时间不应大于等于营业结束时间!")
                return false;
            }
            var end = eTime.value;
            var endHour = end.split(':')[0];  // 输入的可预约结束时间:小时
            var endMinute = end.split(':')[1];// 输入的可预约结束时间:分钟
            if (Number(eh)<Number(endHour)){
                Feng.error("预约的结束时间不应大于营业结束时间!")
                return ;
            }else if(Number(eh) === Number(endHour) ){
                if (Number(em)<Number(endMinute)){
                    Feng.error("预约的开始时间不应大于开始营业时间!")
                    return ;
                }
            }else if(Number(sh)>Number(endHour)){
                Feng.error("预约的结束时间不应小于营业开始时间!")
                return ;
            }
            if (Number(endHour)===Number(sh)){
                if(Number(endMinute) < Number(sm)){
                    Feng.error("预约结束时间不应小于营业开始时间");
                    return;
                }
            }
            if (Number(startHour)===Number(endHour) && Number(startMinute)===Number(endMinute)){
                Feng.error("至少预约半个小时");
                return;
            }
            $.ajax({
                url: Feng.ctxPath + "/tSite/addSite" ,
                type: "POST",
                data: JSON.stringify(data),
                contentType: "application/json",
                success: function (response) {
                    window.parent.TSite.table.refresh();
                    TSite.close();
                    Feng.success("添加成功");
                },
                error: function (xhr, status, error) {
                    Feng.error("添加失败!" + error);
                }
            });
        },
        error: function (xhr, status, error) {
            var errorMessage = xhr.responseText ? xhr.responseText : "上架失败!";
            Feng.error("您的网络异常!");
            return false;
        }
    });
};
TSite.search = function () {
@@ -552,6 +763,9 @@
    queryData['name'] = $("#name").val();
    // 门店名称
    queryData['storeName'] = $("#storeName").val();
    queryData['opId'] = $("#opId").val();
    queryData['storeName'] = $("#storeName").val();
    TSite.table.refresh({query: queryData});
};
@@ -564,6 +778,8 @@
    $("#siteTypeId").val("");
    $("#name").val("");
    $("#insuranceEndTime").val("");
    $("#opId").val("");
    $("#storeName").val("");
    TSite.search();
};
@@ -575,24 +791,24 @@
    //初始化编辑器
    TSite.editor = UE.getEditor('editor');
    // 限制分钟选项为 0 和 30
    var timeInputs = document.querySelectorAll('input[type="time"]');
    timeInputs.forEach(function(input) {
        input.addEventListener('change', function() {
            var selectedTime = input.value;
            var hour = selectedTime.split(':')[0];
            var minute = selectedTime.split(':')[1];
            if (minute < 30 &&minute>0) {
                minute = '30';
            } else if (minute >30) {
                hour++;
                minute = '00';
                if (hour<10){
                    hour = '0'+hour;
                }
            }
                input.value = hour + ':' + minute;
        });
    });
    // var timeInputs = document.querySelectorAll('input[type="time"]');
    // timeInputs.forEach(function(input) {
    //     input.addEventListener('change', function() {
    //         var selectedTime = input.value;
    //         var hour = selectedTime.split(':')[0];
    //         var minute = selectedTime.split(':')[1];
    //         if (minute < 30 &&minute>0) {
    //             minute = '30';
    //         } else if (minute >30) {
    //             hour++;
    //             minute = '00';
    //             if (hour<10){
    //                 hour = '0'+hour;
    //             }
    //         }
    //             input.value = hour + ':' + minute;
    //     });
    // });
    var defaultColunms = TSite.initColumn();