无关风月
2025-08-19 28a60b0977d66b75fb9a2c3306840bc18ec271f6
cloud-server-management/src/main/webapp/static/modular/system/tSite/tSite.js
@@ -21,21 +21,25 @@
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',
        },
        {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 +163,56 @@
    ajax.set("province",oneId);
    ajax.start();
};
TSite.oneChangeYys = function(e){
    var oneId = $(e).val();
    var checkbox = document.querySelector('input[name="pt"]');
    if (checkbox.checked) {
        oneId=0;
        console.log("选中是平台");
    }else{
        oneId = 1;
        console.log("运营商");
        console.log(oneId)
    }
    if (oneId == "1"){
        oneId = $("#yys").val()
        if (oneId==""){
            oneId = 1
        }
        console.log("看看选择之后")
        console.log(oneId)
        var button = document.getElementById("yys");
        button.removeAttribute("disabled");
    }
    var ajax = new $ax(Feng.ctxPath + "/tSite/getChangeOne", function(data){
        if(data!=null){
            // var content1 = '<option value="0">平台</option>';
            console.log("看看oneId")
            console.log(oneId)
            if (oneId == 0) {
                console.log("锁住")
                $("#yys").prop('disabled', true);
            }else{
                console.log("放开")
                $("#yys").prop('disabled', false);
            }
            var content='<option value="">选择门店</option>';
            $.each(data, function(k,v) {
                content += "<option value='"+v.id+"'>"+v.name+"</option>";
            });
            $("#store").empty().append(content);
        }
    });
    ajax.set("oneId",oneId);
    ajax.start();
};
// 场地管理首页 选择对应的省市
// 传1是场地管理首页 传2是场地管理添加页面
TSite.oneChange = function (e) {
@@ -178,10 +232,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 +246,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');
@@ -354,7 +429,20 @@
        insuranceEndTime:"",
        name:"",
        insuranceImg:"",
        managementPlan:""
        managementPlan:"",
        operatorId:"",
        typeName:"",
        nextName:"",
        ishalf:"",
        cashPriceOne:"",
        playPaiCoinOne:"",
        halfName:"",
        introduce:"",
        imgs:"",
        reservation:"",
        isCanBeBooked:"",
        type:"",
    };
    data.province            = $("#pCode").val()
    data.city                = $("#cCode").val()
@@ -369,34 +457,205 @@
    data.name                = $("#name").val()
    data.insuranceImg        = $("#img").val()
    data.managementPlan      = $('#courseVideo').val()
    data.typeName      = $('#siteTypeOne').val()
    var sh =data.appointmentStartTime.split(':')[0];
    var sm =data.appointmentStartTime.split(':')[1];
    var eh =data.appointmentEndTime.split(':')[0];
    var em =data.appointmentEndTime.split(':')[1];
    if($("#pCode").val()==''){
        Feng.info("请选择省")
    console.log(data.typeName)
    var reservation= $("input[name='reservation']:checked").val();
    data.reservation= reservation;
    data.isCanBeBooked= reservation;
    console.log("看看是否可预约值")
    console.log(reservation);
    var checkbox = document.querySelector('input[name="pt"]');
    console.log(checkbox)
    if (checkbox!=null){
        if (checkbox.checked) {
            data.type = 1
            console.log("选中是平台");
            data.operatorId = 0;
        } else {
            console.log("运营商");
            data.type = 2;
        }
    }
    if (reservation == 1) {
        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) {
        if (j >= 0) {
            SelectValue += $(this).val()
        }
    });
    if(SelectValue==''){
        let yys = $("#yys").val()
        if(yys==""){
            Feng.info("请选择运营商")
            return;
        }
        SelectValue= yys
    }
    data.operatorId= SelectValue;
    let num24 = $('input[name="name1"]');
    var nextName="";
    for (let i = 0; i < num24.length; i++) {
        if($(num24[i]).val()==''){
            Feng.info("请填写场地名称")
            return;
        }
        if(i==num24.length-1){
            nextName += $(num24[i]).val()
        }else {
            nextName += $(num24[i]).val()+","
        }
    }
    data.nextName= nextName;
    var ishalf= $("input[name='ishalf']:checked").val();
    data.ishalf= ishalf;
    var halfName="";
    if (reservation==1) {
        if (ishalf == 1) {
            let cashPriceOne = $("#cashPriceOne").val()
            if (cashPriceOne == '') {
                Feng.info("请填写现金价格")
                return;
            }
            data.cashPriceOne = cashPriceOne;
            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;
    let introduce ;
    if (objectType==1){
       introduce  = TSite.editor.getContent();
    }
    console.log(introduce)
    if(introduce==""){
        Feng.info("请输入公告内容")
        return;
    }
    if($("#cCode").val()==''){
        Feng.info("请选择市")
        return;
    data.introduce= introduce;
    var goodImgs = this.goodsPicArray;
    if(objectType==1){
        if(goodImgs.length==0){
            Feng.info("请上传实景图")
            return;
        }
    }
    if($("#account").val()=='' ){
        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;
    }
    if($("#siteTypeId").val()=='' ){
        Feng.info("请选择场地类型")
        Feng.info("请选择场地分类")
        return;
    }
    if($("#name").val()==''){
        Feng.info("请输入场地名称")
        return;
    }
    if (reservation==1){
    if($("#start-time").val()=='' ){
        Feng.info("请输入可预约时间段 开始时间")
        return;
@@ -413,11 +672,11 @@
        Feng.info("请输入玩湃币价格")
        return;
    }
    }
    if($("#insuranceEndTime").val()==''){
        Feng.info("请输入场地责任险有效期")
        return;
    }
    if($("#img").val()==''){
        Feng.info("请上传场地责任有效期图片")
        return;
@@ -436,56 +695,58 @@
        type: "GET",
        contentType: "application/json", // 设置请求头的 Content-Type
        success: function (response) {
            rStime = response.startTime;
            sh = rStime.split(':')[0];// 门店经营开始时间:小时
            sm = rStime.split(':')[1];// 门店经营开始时间:分钟
            if (reservation==1) {
                rStime = response.startTime;
                sh = rStime.split(':')[0];// 门店经营开始时间:小时
                sm = rStime.split(':')[1];// 门店经营开始时间:分钟
            rEtime = response.endTime;
            eh = rEtime.split(':')[0];// 门店经营结束时间:小时
            em = rEtime.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("预约的开始时间不应大于营业开始时间!")
                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;
                }
            }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("预约结束时间不应小于营业开始时间");
                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(startHour)===Number(endHour) && Number(startMinute)===Number(endMinute)){
                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" ,
@@ -519,6 +780,9 @@
    queryData['name'] = $("#name").val();
    // 门店名称
    queryData['storeName'] = $("#storeName").val();
    queryData['opId'] = $("#opId").val();
    queryData['storeName'] = $("#storeName").val();
    TSite.table.refresh({query: queryData});
};
@@ -531,6 +795,8 @@
    $("#siteTypeId").val("");
    $("#name").val("");
    $("#insuranceEndTime").val("");
    $("#opId").val("");
    $("#storeName").val("");
    TSite.search();
};
@@ -539,25 +805,27 @@
}
$(function () {
    //初始化编辑器
    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();