无关风月
20 小时以前 1293009364a938f32b8b9066caafa2f55be06496
Merge remote-tracking branch 'origin/2.0' into 2.0
5个文件已修改
326 ■■■■■ 已修改文件
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TSiteController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/WEB-INF/view/common/tags/avatar.tag 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/WEB-INF/view/system/tSite/TSite_edit.html 119 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/static/modular/system/tSite/tSite.js 123 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/static/modular/system/tSite/tSite_info.js 78 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TSiteController.java
@@ -321,6 +321,10 @@
        model.addAttribute("objectId",objectId);
        model.addAttribute("stores",stores);
        // 显式传递运营商ID和是否可预约字段,确保回显正确
        model.addAttribute("operatorId", site.getOperatorId());
        model.addAttribute("reservation", site.getReservation());
        String nextName = site.getNextName();
        ArrayList<String> strings1 = new ArrayList<>();
cloud-server-management/src/main/webapp/WEB-INF/view/common/tags/avatar.tag
@@ -20,7 +20,7 @@
            <i class="fa fa-upload"></i>&nbsp;文件上传
        </div>
    </div>
    <input type="hidden" id="${id}" />
    <input type="hidden" id="${id}" value="${avatarImg}"/>
</div>
@if(isNotEmpty(underline) && underline == 'true'){
    <div class="hr-line-dashed"></div>
cloud-server-management/src/main/webapp/WEB-INF/view/system/tSite/TSite_edit.html
@@ -238,7 +238,8 @@
        <div class="form-horizontal" id="carInfoForm">
            <input id="type_" value="${list.ishalf}" hidden>
            <input id="reservation" value="${list.reservation}" hidden>
            <input id="reservation" value="${reservation!''}" hidden>
            <input id="operatorIdValue" value="${operatorId!''}" hidden>
            <input id="objectType" value="${objectType}" hidden>
            <input type="hidden" id="siteId" value="${list.id}">
            <input type="hidden" id="targetAudience" value="${targetAudience}">
@@ -525,26 +526,31 @@
<script>
    function updateTime1() {
        var selectedValue = document.getElementById("siteTypeOne").value;
        var siteTypeOneEl = document.getElementById("siteTypeOne");
        if (!siteTypeOneEl) {
            console.log("siteTypeOne元素未找到");
            return;
        }
        var selectedValue = siteTypeOneEl.value;
        var priceLabel = document.getElementById("priceLabel");
        var priceLabel1 = document.getElementById("priceLabel1");
        var priceLabel3 = document.getElementById("priceLabel3");
        var priceLabel4 = document.getElementById("priceLabel4");
        // 检查元素是否存在再设置
        if (selectedValue === "智慧场地") {
            console.log("=============智慧场地=")
            priceLabel.innerText = "元/15分钟";
            priceLabel1.innerText = "元/15分钟";
            priceLabel3.innerText = "元/15分钟";
            priceLabel4.innerText = "元/15分钟";
            if (priceLabel) priceLabel.innerText = "元/15分钟";
            if (priceLabel1) priceLabel1.innerText = "元/15分钟";
            if (priceLabel3) priceLabel3.innerText = "元/15分钟";
            if (priceLabel4) priceLabel4.innerText = "元/15分钟";
        } else {
            priceLabel.innerText = "元/半小时";
            priceLabel1.innerText = "元/半小时";
            priceLabel3.innerText = "元/半小时";
            priceLabel4.innerText = "元/半小时";
            if (priceLabel) priceLabel.innerText = "元/半小时";
            if (priceLabel1) priceLabel1.innerText = "元/半小时";
            if (priceLabel3) priceLabel3.innerText = "元/半小时";
            if (priceLabel4) priceLabel4.innerText = "元/半小时";
        }
        // $("#end-time").val('');
        // $("#start-time").val('');
@@ -631,40 +637,67 @@
            $("#reservation1").show()
        }
    }
    window.onload = function(){
        var siteTypeOne = document.getElementById('siteTypeOne');
        siteTypeOne.onchange(); // Trigger the onchange event
        console.log("${list.operatorId}")
        if("${list.operatorId}"==0){
            console.log(233232)
            $("#pt").attr('checked', true)
        }
        var OBJradio=document.getElementsByName("ishalf")
        if($("#type_").val()==1){
            $("#halfCode").show()
        }
        for(i=0;i<OBJradio.length;i++){//循环查找这个radio
            if($("#type_").val()==OBJradio[i].value){//判断是否与radio的值相同
                OBJradio[i].checked=true//修改选中状态
    // 使用jQuery方式,不会覆盖其他初始化逻辑
    $(function(){
        // 确保在DOM完全加载后执行
        setTimeout(function(){
            var siteTypeOne = document.getElementById('siteTypeOne');
            if(siteTypeOne && siteTypeOne.onchange){
                siteTypeOne.onchange(); // Trigger the onchange event
            }
        }
        var OBJradio1=document.getElementsByName("reservation")
        if($("#reservation").val()==1){
            $("#reservation1").show()
        }else{
            $("#reservation1").hide()
        }
        for(j=0;j<OBJradio1.length;j++){//循环查找这个radio
            if($("#reservation").val()==OBJradio1[j].value){//判断是否与radio的值相同
                OBJradio1[j].checked=true//修改选中状态
            // 回显运营商和门店
            var operatorIdValue = $("#operatorIdValue").val();
            var currentStoreId = "${list.storeId}"; // 保存当前门店ID
            console.log("运营商ID:", operatorIdValue);
            console.log("门店ID:", currentStoreId);
            if(operatorIdValue && operatorIdValue != ""){
                if(operatorIdValue == "0"){
                    // 平台
                    $("#pt").prop('checked', true);
                    $("#yys").val('');
                    // 不触发change,避免重新加载门店列表
                } else {
                    // 运营商
                    $("#pt").prop('checked', false);
                    $("#yys").val(operatorIdValue);
                    // 不触发change,避免重新加载门店列表
                }
            }
        }
    }
            // 确保门店已正确选中(HTML模板已经设置了selected,这里再次确认)
            if(currentStoreId && currentStoreId != ""){
                $("#store").val(currentStoreId);
            }
            // 回显是否可半场
            var OBJradio=document.getElementsByName("ishalf")
            if($("#type_").val()==1){
                $("#halfCode").show()
            }
            for(i=0;i<OBJradio.length;i++){//循环查找这个radio
                if($("#type_").val()==OBJradio[i].value){//判断是否与radio的值相同
                    OBJradio[i].checked=true//修改选中状态
                }
            }
            // 回显是否可预约
            var reservationValue = $("#reservation").val();
            console.log("是否可预约:", reservationValue);
            var OBJradio1=document.getElementsByName("reservation");
            if(reservationValue == "1"){
                $("#reservation1").show()
            }else{
                $("#reservation1").hide()
            }
            for(j=0;j<OBJradio1.length;j++){//循环查找这个radio
                if(reservationValue == OBJradio1[j].value){//判断是否与radio的值相同
                    OBJradio1[j].checked=true//修改选中状态
                }
            }
        }, 100); // 延迟100ms确保所有元素已加载
    });
    // 选择了不可预约 可预约时间段、价格、多场地配置、半场配置,都不展示。
    function addBox1() {
cloud-server-management/src/main/webapp/static/modular/system/tSite/tSite.js
@@ -455,7 +455,7 @@
    data.playPaiCoin         = $("#playPaiCoin").val()
    data.insuranceEndTime    = $("#insuranceEndTime").val()
    data.name                = $("#name").val()
    data.insuranceImg        = $("#img").val()
    data.insuranceImg        = $("input[type='hidden']#img").val()
    data.managementPlan      = $('#courseVideo').val()
    data.typeName      = $('#siteTypeOne').val()
    var sh =data.appointmentStartTime.split(':')[0];
@@ -806,7 +806,17 @@
$(function () {
    //初始化编辑器
    TSite.editor = UE.getEditor('editor');
    // 检查editor元素是否存在再初始化UEditor
    if (document.getElementById('editor')) {
        TSite.editor = UE.getEditor('editor');
    } else {
        console.log("editor元素未找到,跳过UEditor初始化");
        // 创建一个空对象,防止后续代码出错
        TSite.editor = {
            getContent: function() { return ""; },
            setContent: function() {}
        };
    }
    // 限制分钟选项为 0 和 30
    // var timeInputs = document.querySelectorAll('input[type="time"]');
    // timeInputs.forEach(function(input) {
@@ -909,42 +919,6 @@
 * 验证步骤一的必填字段
 */
TSite.validateBasicInfo = function() {
    // 验证门店
    if ($("#store").val() == '') {
        Feng.error("请选择门店");
        return false;
    }
    // 验证场地分类
    if ($("#siteTypeId").val() == '') {
        Feng.error("请选择场地分类");
        return false;
    }
    // 验证场地名称
    if ($("#name").val() == '') {
        Feng.error("请输入场地名称");
        return false;
    }
    // 验证场地责任险有效期
    if ($("#insuranceEndTime").val() == '') {
        Feng.error("请输入场地责任险有效期");
        return false;
    }
    // 验证场地责任险图片
    if ($("#img").val() == '') {
        Feng.error("请上传场地责任有效期图片");
        return false;
    }
    // 验证消防及应急管理方案
    if ($('#courseVideo').val() == '') {
        Feng.error("请上传消防及应急管理方案");
        return false;
    }
    // 验证运营商
    var SelectValue = "";
    $("input[name='pt']:checked").each(function(j) {
@@ -960,23 +934,60 @@
        }
    }
    
    // 验证对象类型相关字段
    var objectType = $("#objectType").val();
    if (objectType == 1) {
        // 验证公告内容
        var introduce = TSite.editor.getContent();
        if (introduce == "") {
            Feng.error("请输入公告内容");
            return false;
        }
        // 验证实景图
        var goodImgs = TSite.goodsPicArray;
        if (goodImgs.length == 0) {
            Feng.error("请上传实景图");
            return false;
        }
    }
   // 验证门店
   if ($("#store").val() == '') {
       Feng.error("请选择门店");
       return false;
   }
   // 验证场地分类
   if ($("#siteTypeId").val() == '') {
       Feng.error("请选择场地分类");
       return false;
   }
   // 验证场地名称
   if ($("#name").val() == '') {
       Feng.error("请输入场地名称");
       return false;
   }
   // 验证场地责任险有效期
   if ($("#insuranceEndTime").val() == '') {
       Feng.error("请输入场地责任险有效期");
       return false;
   }
   // 验证场地责任险图片(使用更精确的选择器获取hidden input)
   var imgValue = $("input[type='hidden']#img").val();
   if (!imgValue || imgValue == '') {
       Feng.error("请上传场地责任有效期图片");
       return false;
   }
   // 验证消防及应急管理方案
   if ($('#courseVideo').val() == '') {
       Feng.error("请上传消防及应急管理方案");
       return false;
   }
   // 验证对象类型相关字段
   var objectType = $("#objectType").val();
   if (objectType == 1) {
       // 验证公告内容
       var introduce = TSite.editor.getContent();
       if (introduce == "") {
           Feng.error("请输入公告内容");
           return false;
       }
       // 验证实景图
       var goodImgs = TSite.goodsPicArray;
       if (goodImgs.length == 0) {
           Feng.error("请上传实景图");
           return false;
       }
   }
    
    return true;
}
@@ -1483,7 +1494,7 @@
    data.playPaiCoin         = $("#playPaiCoin").val()
    data.insuranceEndTime    = $("#insuranceEndTime").val()
    data.name                = $("#name").val()
    data.insuranceImg        = $("#img").val()
    data.insuranceImg        = $("input[type='hidden']#img").val()
    data.managementPlan      = $('#courseVideo').val()
    data.typeName            = $('#siteTypeOne').val()
    
cloud-server-management/src/main/webapp/static/modular/system/tSite/tSite_info.js
@@ -81,6 +81,10 @@
    var citySelect = document.getElementById("account");
    var storeSelect = document.getElementById("store");
    // 保存当前选中的门店ID(如果是编辑模式)
    var currentStoreId = $("#store").val();
    var ajax = new $ax(Feng.ctxPath + "/tSite/accountChangeNext", function(data){
        if(data!=null){
            var content='<option value="">选择账号</option>';
@@ -107,6 +111,12 @@
                content += "<option style='width: 300px' value='"+v.id+"'>"+v.name+"</option>";
            });
            $("#store").empty().append(content);
            // 如果之前有选中的门店,尝试恢复选中状态
            if(currentStoreId && currentStoreId != ""){
                $("#store").val(currentStoreId);
                console.log("恢复门店选中状态:", currentStoreId);
            }
        }else {
            storeSelect.innerHTML = '<option value="">当前所选市没有门店</option>';
        }
@@ -124,6 +134,13 @@
        success: function (response) {
            var sTime = document.getElementById("start-time"); //获取输入的开始时间
            var eTime  = document.getElementById("end-time"); // 获取输入的结束时间
            // 检查元素是否存在,如果不存在则直接返回
            if (!sTime || !eTime) {
                console.log("时间输入框元素未找到,跳过时间验证初始化");
                return;
            }
            var rStime = response.startTime; //门店的经营开始时间
            var rEtime = response.endTime; //门店的经营结束时间
@@ -219,7 +236,7 @@
    data.playPaiCoin         = $("#playPaiCoin").val()
    data.insuranceEndTime    = $("#insuranceEndTime").val()
    data.name                = $("#name").val()
    data.insuranceImg        = $("#img").val()
    data.insuranceImg        = $("input[type='hidden']#img").val()
    data.managementPlan      = $('#courseVideo').val()
    data.typeName      = $('#siteTypeOne').val()
    var sh =data.appointmentStartTime.split(':')[0];
@@ -513,6 +530,10 @@
TSiteInfo.oneChangeYys = function(e){
    var oneId = $(e).val();
    var checkbox = document.querySelector('input[name="pt"]');
    // 保存当前选中的门店ID(如果是编辑模式)
    var currentStoreId = $("#store").val();
    if (checkbox.checked) {
        oneId=0;
        console.log("选中是平台");
@@ -549,6 +570,12 @@
                content += "<option value='"+v.id+"'>"+v.name+"</option>";
            });
            $("#store").empty().append(content);
            // 如果之前有选中的门店,尝试恢复选中状态
            if(currentStoreId && currentStoreId != ""){
                $("#store").val(currentStoreId);
                console.log("恢复门店选中状态:", currentStoreId);
            }
        }
    });
@@ -628,6 +655,21 @@
 * 验证步骤一的必填字段
 */
TSiteInfo.validateBasicInfo = function() {
     // 验证运营商
     var SelectValue = "";
     $("input[name='pt']:checked").each(function(j) {
         if (j >= 0) {
             SelectValue += $(this).val();
         }
     });
     if (SelectValue == '') {
         let yys = $("#yys").val();
         if (yys == "") {
             Feng.error("请选择运营商");
             return false;
         }
     }
    // 验证门店
    if ($("#store").val() == '') {
        Feng.error("请选择门店");
@@ -652,8 +694,9 @@
        return false;
    }
    
    // 验证场地责任险图片
    if ($("#img").val() == '') {
    // 验证场地责任险图片(使用更精确的选择器获取hidden input)
    var imgValue = $("input[type='hidden']#img").val();
    if (!imgValue || imgValue == '') {
        Feng.error("请上传场地责任有效期图片");
        return false;
    }
@@ -662,21 +705,6 @@
    if ($('#courseVideo').val() == '') {
        Feng.error("请上传消防及应急管理方案");
        return false;
    }
    // 验证运营商
    var SelectValue = "";
    $("input[name='pt']:checked").each(function(j) {
        if (j >= 0) {
            SelectValue += $(this).val();
        }
    });
    if (SelectValue == '') {
        let yys = $("#yys").val();
        if (yys == "") {
            Feng.error("请选择运营商");
            return false;
        }
    }
    
    // 验证对象类型相关字段
@@ -1431,7 +1459,7 @@
    data.playPaiCoin         = $("#playPaiCoin").val()
    data.insuranceEndTime    = $("#insuranceEndTime").val()
    data.name                = $("#name").val()
    data.insuranceImg        = $("#img").val()
    data.insuranceImg        = $("input[type='hidden']#img").val()
    data.managementPlan      = $('#courseVideo').val()
    data.typeName            = $('#siteTypeOne').val()
    
@@ -1736,7 +1764,17 @@
    $('#upFile').click();
}
$(function () {
    TSiteInfo.editor = UE.getEditor('editor');
    // 检查editor元素是否存在再初始化UEditor
    if (document.getElementById('editor')) {
        TSiteInfo.editor = UE.getEditor('editor');
    } else {
        console.log("editor元素未找到,跳过UEditor初始化");
        // 创建一个空对象,防止后续代码出错
        TSiteInfo.editor = {
            getContent: function() { return ""; },
            setContent: function() {}
        };
    }
    // 限制分钟选项为 0 和 30
    // var timeInputs = document.querySelectorAll('input[type="time"]');
    // timeInputs.forEach(function(input) {