diff --git a/src/main/resources/static/js/basic/lineManagement/child/lineFormTemp.js b/src/main/resources/static/js/basic/lineManagement/child/lineFormTemp.js index 53f26bd..6453557 100644 --- a/src/main/resources/static/js/basic/lineManagement/child/lineFormTemp.js +++ b/src/main/resources/static/js/basic/lineManagement/child/lineFormTemp.js @@ -1,116 +1,134 @@ let form, layer, util, laydate, idParam, phoneParam; -let arr = ['background', 'web', 'mobile', 'wx']; +let arr = ["background", "web", "mobile", "wx"]; let background, web, mobile, wx; -let data = [], appResList = []; +let data = [], + appResList = []; let startDate, endDate; function setParams(params) { - console.log(params) + console.log(params); idParam = JSON.parse(params).id; - layui.config({ - base: "../../../../js/layui-v2.6.8/" - }).extend({ - dtree: 'dtree/dtree', - formSelects: 'formSelects-v4', - }).use(['form', 'layer', 'dtree', 'util', 'laydate', 'formSelects'], function () { - form = layui.form; - layer = layui.layer; - util = layui.util; - formSelects = layui.formSelects; - dtree = layui.dtree; - laydate = layui.laydate; - var $ = layui.jquery; + layui + .config({ + base: "../../../../js/layui-v2.6.8/", + }) + .extend({ + dtree: "dtree/dtree", + formSelects: "formSelects-v4", + }) + .use( + ["form", "layer", "dtree", "util", "laydate", "formSelects"], + function () { + form = layui.form; + layer = layui.layer; + util = layui.util; + formSelects = layui.formSelects; + dtree = layui.dtree; + laydate = layui.laydate; + var $ = layui.jquery; - // 添加自定义验证规则 - form.verify({ - // 正数验证(线路长度) - positiveNumber: function (value, item) { - if (value) { - if (!/^[0-9]+\.?[0-9]*$/.test(value)) { - return '请输入正数'; - } - if (parseFloat(value) <= 0) { - return '请输入大于0的数'; - } - } - }, - // 经度验证 - longitude: function (value, item) { - if (value) { - // if (!/^[\-\+]?((180(\.0{1,6})?)|((\d{1,2}|1[0-7]\d)(\.\d{1,6})?))$/.test(value)) { - // return '请输入正确的经度(-180.0~+180.0)'; - // } - const longitudeValue = parseFloat(value); - if(isNaN(longitudeValue) || longitudeValue < 73.55 || longitudeValue > 135.08) { - return '请输入位于正确的经度(大约73.55°E至135.08°E)'; - } - // 可选:检查小数位数,假设要求最多6位小数 - if(!/^[\-\+]?((135(\.0{1,6})?)|((\d{1,2}|1[0-2]\d|13[0-4])(\.\d{1,6})?))$/.test(value)) { - return '经度应精确到最多6位小数且在正确范围内'; - } - } - }, + // 添加自定义验证规则 + form.verify({ + // 正数验证(线路长度) + positiveNumber: function (value, item) { + if (value) { + if (!/^[0-9]+\.?[0-9]*$/.test(value)) { + return "请输入正数"; + } + if (parseFloat(value) <= 0) { + return "请输入大于0的数"; + } + } + }, + // 经度验证 + longitude: function (value, item) { + if (value) { + // if (!/^[\-\+]?((180(\.0{1,6})?)|((\d{1,2}|1[0-7]\d)(\.\d{1,6})?))$/.test(value)) { + // return '请输入正确的经度(-180.0~+180.0)'; + // } + const longitudeValue = parseFloat(value); + if ( + isNaN(longitudeValue) || + longitudeValue < 73.55 || + longitudeValue > 135.08 + ) { + return "请输入位于正确的经度(大约73.55°E至135.08°E)"; + } + // 可选:检查小数位数,假设要求最多6位小数 + if ( + !/^[\-\+]?((135(\.0{1,6})?)|((\d{1,2}|1[0-2]\d|13[0-4])(\.\d{1,6})?))$/.test( + value + ) + ) { + return "经度应精确到最多6位小数且在正确范围内"; + } + } + }, - // 纬度验证 - latitude: function (value, item) { - if (value) { - /*if (!/^[\-\+]?((90(\.0{1,6})?)|(([0-8]?\d)(\.\d{1,6})?))$/.test(value)) { + // 纬度验证 + latitude: function (value, item) { + if (value) { + /*if (!/^[\-\+]?((90(\.0{1,6})?)|(([0-8]?\d)(\.\d{1,6})?))$/.test(value)) { return '请输入正确的纬度(-90.0~+90.0)'; }*/ - const latitudeValue = parseFloat(value); - if(isNaN(latitudeValue) || latitudeValue < 4 || latitudeValue > 53) { - return '请输入位于正确的纬度(大约4°N至53°N)'; - } - // 可选:检查小数位数,假设要求最多6位小数 - // if(!/^[\-\+]?((53(\.0{1,6})?)|(([0-4]?\d)(\.\d{1,6})?))$/.test(value)) { - // return '纬度应精确到最多6位小数且在正确范围内'; - // } + const latitudeValue = parseFloat(value); + if ( + isNaN(latitudeValue) || + latitudeValue < 4 || + latitudeValue > 53 + ) { + return "请输入位于正确的纬度(大约4°N至53°N)"; + } + // 可选:检查小数位数,假设要求最多6位小数 + // if(!/^[\-\+]?((53(\.0{1,6})?)|(([0-4]?\d)(\.\d{1,6})?))$/.test(value)) { + // return '纬度应精确到最多6位小数且在正确范围内'; + // } - // 检查最多6位小数(允许整数或最多6位小数) - if (!/^-?\d+(\.\d{1,6})?$/.test(value)) { - return '纬度应精确到最多6位小数'; - } + // 检查最多6位小数(允许整数或最多6位小数) + if (!/^-?\d+(\.\d{1,6})?$/.test(value)) { + return "纬度应精确到最多6位小数"; + } + } + }, + }); + + // 初始化日期选择器 + laydate.render({ + elem: "#planStartTime", + done: function (value, date) { + startDate = value; + validateDates(); + }, + }); + + laydate.render({ + elem: "#planEndTime", + done: function (value, date) { + endDate = value; + validateDates(); + }, + }); + + // 初始化下拉选项 + initSelects(); + + console.log(idParam + "idParam"); + if (idParam) { + getUserById(); } + + form.render("select"); //重新渲染页面checkbox控件 + form.on("submit(formData)", function (data) { + data.field.id = $("#id").val(); + console.log(data); + if (!data.field.orgId_select_nodeId) { + return layer.alert("请选择项目部!", { icon: 2 }); + } + saveData(data); + }); } - }); - - // 初始化日期选择器 - laydate.render({ - elem: '#planStartTime', - done: function (value, date) { - startDate = value; - validateDates(); - } - }); - - laydate.render({ - elem: '#planEndTime', - done: function (value, date) { - endDate = value; - validateDates(); - } - }); - - // 初始化下拉选项 - initSelects(); - - console.log(idParam + "idParam") - if (idParam) { - getUserById(); - } - - form.render("select");//重新渲染页面checkbox控件 - form.on('submit(formData)', function (data) { - data.field.id = $('#id').val(); - console.log(data) - if (!data.field.orgId_select_nodeId) { - return layer.alert("请选择项目部!", {icon: 2}) - } - saveData(data); - }); - - }); + ); } // 验证日期 @@ -119,8 +137,8 @@ function validateDates() { var start = new Date(startDate); var end = new Date(endDate); if (start > end) { - $("#planEndTime").val("") - layer.msg("计划开始时间不能早于计划完工时间") + $("#planEndTime").val(""); + layer.msg("计划开始时间不能早于计划完工时间"); return false; } } @@ -131,57 +149,73 @@ function validateDates() { function initSelects() { getOrgTree(); - let voltageLevelData = getDistinctListByParentCode({dictCode: "voltage_level"}); - setSelectValueNameCode(voltageLevelData, "voltageLevel", "请选择电压等级") + let voltageLevelData = getDistinctListByParentCode({ + dictCode: "voltage_level", + }); + setSelectValueNameCode(voltageLevelData, "voltageLevel", "请选择电压等级"); - let proStatusData = getDistinctListByParentCode({dictCode: "pro_status"}); - setSelectValueNameCode(proStatusData, "proStatus", "请选择状态") + let proStatusData = getDistinctListByParentCode({ dictCode: "pro_status" }); + setSelectValueNameCode(proStatusData, "proStatus", "请选择状态"); } // 根据id获取用户信息 function getUserById() { - let loadingMsg = layer.msg("数据加载中,请稍候...", {icon: 16, scrollbar: true, time: 0,}); + let loadingMsg = layer.msg("数据加载中,请稍候...", { + icon: 16, + scrollbar: true, + time: 0, + }); setTimeout(() => { let url = dataUrl + "/tbProject/getTbProjectById"; let params = { - id: idParam - } - console.log(params) + id: idParam, + }; + console.log(params); params = { - encryptedData: encryptCBC(JSON.stringify(params)) - } - ajaxRequest(url, "POST", params, true, function () { - }, function (result) { - layer.close(loadingMsg); // 关闭提示层 - if (result.code === 200) { - setFormData(result.data); - } else if (result.code === 500) { - layer.alert(result.msg, {icon: 2}) + encryptedData: encryptCBC(JSON.stringify(params)), + }; + ajaxRequest( + url, + "POST", + params, + true, + function () {}, + function (result) { + layer.close(loadingMsg); // 关闭提示层 + if (result.code === 200) { + setFormData(result.data); + } else if (result.code === 500) { + layer.alert(result.msg, { icon: 2 }); + } + }, + function (xhr) { + layer.close(loadingMsg); // 关闭提示层 + error(xhr); } - }, function (xhr) { - layer.close(loadingMsg); // 关闭提示层 - error(xhr) - }); - }, 200) + ); + }, 200); } // 设置表单内容 function setFormData(data) { - console.log("data:", data) + console.log("data:", data); if (data) { - $('#id').val(data.id) - $('#proName').val(data.proName) - $('#voltageLevel').val(data.voltageLevel) - $('#lineLength').val(data.lineLength) - $('#planStartTime').val(data.planStartTime) - $('#planEndTime').val(data.planEndTime) + $("#id").val(data.id); + $("#proName").val(data.proName); + $("#voltageLevel").val(data.voltageLevel); + $("#lineLength").val(data.lineLength); + $("#planStartTime").val(data.planStartTime); + $("#planEndTime").val(data.planEndTime); - $('#lon').val(data.lon) - $('#lat').val(data.lat) - $('#address').val(data.address) - $('#proStatus').val(data.proStatus) + $("#lon").val(data.lon); + $("#lat").val(data.lat); + $("#address").val(data.address); + $("#proStatus").val(data.proStatus); - $('#orgId').val(data.departId) + $("#orgId").val(data.departId); + + // 增加工程概况字段 2025-06-09 + $("#projectOverview").val(data.projectOverview); dtree.dataInit("orgId", data.departId); dtree.selectVal("orgId"); layui.form.render(); @@ -189,13 +223,13 @@ function setFormData(data) { } function saveData2() { - $('#formSubmit').trigger('click') + $("#formSubmit").trigger("click"); } // 处理空字段,转换为null function handleEmptyFields(data) { for (let key in data) { - if (data[key] === '' || data[key] === undefined) { + if (data[key] === "" || data[key] === undefined) { data[key] = null; } } @@ -204,7 +238,11 @@ function handleEmptyFields(data) { // 保存数据 function saveData(data) { - let loadingMsg = layer.msg('数据上传中,请稍候...', {icon: 16, scrollbar: false, time: 0}); + let loadingMsg = layer.msg("数据上传中,请稍候...", { + icon: 16, + scrollbar: false, + time: 0, + }); let url = dataUrl + "/tbProject/addTbProject"; let params = data.field; if (params.id != "") { @@ -217,52 +255,75 @@ function saveData(data) { console.log("线路工程管理的新增修改", params); params = { - encryptedData: encryptCBC(JSON.stringify(params)) - } + encryptedData: encryptCBC(JSON.stringify(params)), + }; - ajaxRequest(url, "POST", params, true, function () { - $('.save').addClass("layui-btn-disabled").attr("disabled", true); - $('.cancel').addClass("layui-btn-disabled").attr("disabled", true); - }, function (result) { - layer.close(loadingMsg); - if (result.code === 200) { - layer.msg(result.msg, {icon: 1}); - setTimeout(function () { - closePage(1); - },3000) - } else { - layer.alert(result.msg, {icon: 2}) - $('.save').removeClass("layui-btn-disabled").attr("disabled", false); - $('.cancel').removeClass("layui-btn-disabled").attr("disabled", false); + ajaxRequest( + url, + "POST", + params, + true, + function () { + $(".save").addClass("layui-btn-disabled").attr("disabled", true); + $(".cancel").addClass("layui-btn-disabled").attr("disabled", true); + }, + function (result) { + layer.close(loadingMsg); + if (result.code === 200) { + layer.msg(result.msg, { icon: 1 }); + setTimeout(function () { + closePage(1); + }, 3000); + } else { + layer.alert(result.msg, { icon: 2 }); + $(".save") + .removeClass("layui-btn-disabled") + .attr("disabled", false); + $(".cancel") + .removeClass("layui-btn-disabled") + .attr("disabled", false); + } + }, + function (xhr) { + layer.close(loadingMsg); + $(".save") + .removeClass("layui-btn-disabled") + .attr("disabled", false); + $(".cancel") + .removeClass("layui-btn-disabled") + .attr("disabled", false); + error(xhr); } - }, function (xhr) { - layer.close(loadingMsg); - $('.save').removeClass("layui-btn-disabled").attr("disabled", false); - $('.cancel').removeClass("layui-btn-disabled").attr("disabled", false); - error(xhr) - }); + ); } function getOrgTree() { let data = []; - let url = dataUrl + '/users/getOrgByUserId'; - ajaxRequest(url, "POST", null, false, function () { - }, function (result) { - if (result.code === 200) { - console.log(result, "getOrgTree") - data = result.data; - data.forEach(node => { - if (node.level !== "3") { - node.disabled = true; // 标记为不可选中 - } - }); - setOrgTree(data) - } else { - layer.alert(result.msg, {icon: 2}) + let url = dataUrl + "/users/getOrgByUserId"; + ajaxRequest( + url, + "POST", + null, + false, + function () {}, + function (result) { + if (result.code === 200) { + console.log(result, "getOrgTree"); + data = result.data; + data.forEach((node) => { + if (node.level !== "3") { + node.disabled = true; // 标记为不可选中 + } + }); + setOrgTree(data); + } else { + layer.alert(result.msg, { icon: 2 }); + } + }, + function (xhr) { + error(xhr); } - }, function (xhr) { - error(xhr) - }); + ); return data; } @@ -272,35 +333,36 @@ function setOrgTree(data) { data: data, dataFormat: "list", skin: "laySimple", - line: true, // 显示树线 + line: true, // 显示树线 checkbar: false, //开启复选框 done: function (data, url, first) { - console.log($('#orgId').val()) + console.log($("#orgId").val()); if (first) { - var params = dtree.dataInit("orgId", $('#orgId').val()); + var params = dtree.dataInit("orgId", $("#orgId").val()); var selectParam = dtree.selectVal("orgId"); - console.log(params) + console.log(params); } }, formatter: { title: function (data) { // 非第三层的节点显示为灰色 if (data.level != "3") { - return '' - + data.title + ''; + return ( + '' + data.title + "" + ); } return data.title; - } + }, }, nodeClick: function (param) { - alert(param) + alert(param); // 如果节点不是第三层,则阻止选择 if (param.level !== "3") { layer.msg("只能选择第三层节点!", { icon: 0 }); return false; // 阻止选择 } return true; // 允许选择 - } + }, }); } @@ -309,6 +371,6 @@ function closePage(type) { let index = parent.layer.getFrameIndex(window.name); //先得到当前 iframe层的索引 parent.layer.close(index); //再执行关闭 if (type === 1) { - parent.reloadData() + parent.reloadData(); } }