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> 文件上传 </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) {