This commit is contained in:
BianLzhaoMin 2025-06-12 16:41:16 +08:00
parent 900da8d662
commit b1ef4db7c6
2 changed files with 226 additions and 170 deletions

View File

@ -1,14 +1,15 @@
let form, layer, util, laydate, idParam, phoneParam, proId; let form, layer, util, laydate, idParam, phoneParam, proId;
let arr = ['background', 'web', 'mobile', 'wx']; let arr = ["background", "web", "mobile", "wx"];
let background, web, mobile, wx; let background, web, mobile, wx;
let data = [], appResList = []; let data = [],
appResList = [];
let startDate, endDate; let startDate, endDate;
function setParams(params) { function setParams(params) {
console.log(params) console.log(params);
idParam = JSON.parse(params).id; idParam = JSON.parse(params).id;
proId = JSON.parse(params).proId; proId = JSON.parse(params).proId;
layui.use(['form', 'layer', 'util', 'laydate'], function () { layui.use(["form", "layer", "util", "laydate"], function () {
form = layui.form; form = layui.form;
layer = layui.layer; layer = layui.layer;
util = layui.util; util = layui.util;
@ -17,17 +18,17 @@ function setParams(params) {
// 默认选择WGS-84 // 默认选择WGS-84
// $('.coordinate-option[data-system="WGS-84"]').addClass('active').trigger('click'); // $('.coordinate-option[data-system="WGS-84"]').addClass('active').trigger('click');
$('#wgs84Fields').show(); $("#wgs84Fields").show();
$('#2000Fields').hide(); $("#2000Fields").hide();
$('input[name="centralMeridian"]').removeAttr('lay-verify'); $('input[name="centralMeridian"]').removeAttr("lay-verify");
$('input[name="longitude2000"]').removeAttr('lay-verify'); $('input[name="longitude2000"]').removeAttr("lay-verify");
$('input[name="latitude2000"]').removeAttr('lay-verify'); $('input[name="latitude2000"]').removeAttr("lay-verify");
// 设置验证规则 // 设置验证规则
/* $('input[name^="longitude2000"], input[name^="latitude2000"], input[name="centralMeridian"]').removeAttr('lay-verify'); /* $('input[name^="longitude2000"], input[name^="latitude2000"], input[name="centralMeridian"]').removeAttr('lay-verify');
$('input[name="longitude"]').attr('lay-verify', 'required|longitude'); $('input[name="longitude"]').attr('lay-verify', 'required|longitude');
$('input[name="latitude"]').attr('lay-verify', 'required|latitude'); $('input[name="latitude"]').attr('lay-verify', 'required|latitude');
*/ */
console.log(idParam + "idParam") console.log(idParam + "idParam");
if (idParam) { if (idParam) {
getTowerById(); getTowerById();
} }
@ -35,28 +36,47 @@ function setParams(params) {
form.render(); form.render();
// 坐标系切换 // 坐标系切换
$('.coordinate-option').click(function() { $(".coordinate-option").click(function () {
let system = $(this).data('system'); let system = $(this).data("system");
$('.coordinate-option').removeClass('active'); $(".coordinate-option").removeClass("active");
$(this).addClass('active'); $(this).addClass("active");
if(system === 'WGS-84') { if (system === "WGS-84") {
$('#wgs84Fields').show(); $("#wgs84Fields").show();
$('#2000Fields').hide(); $("#2000Fields").hide();
// 设置验证规则 // 设置验证规则
$('input[name^="longitude2000"], input[name^="latitude2000"], input[name="centralMeridian"]').removeAttr('lay-verify'); $(
$('input[name="longitude"]').attr('lay-verify', 'required|longitude'); 'input[name^="longitude2000"], input[name^="latitude2000"], input[name="centralMeridian"]'
$('input[name="latitude"]').attr('lay-verify', 'required|latitude'); ).removeAttr("lay-verify");
$('input[name="longitude"]').attr(
"lay-verify",
"required|longitude"
);
$('input[name="latitude"]').attr(
"lay-verify",
"required|latitude"
);
// $('input[name="longitude"], input[name="latitude"]').attr('lay-verify', 'required|number'); // $('input[name="longitude"], input[name="latitude"]').attr('lay-verify', 'required|number');
$('input[name="centralMeridian"]').removeAttr('lay-verify'); $('input[name="centralMeridian"]').removeAttr("lay-verify");
} else { } else {
$('#wgs84Fields').hide(); $("#wgs84Fields").hide();
$('#2000Fields').show(); $("#2000Fields").show();
// 设置验证规则 // 设置验证规则
$('input[name="longitude"], input[name="latitude"]').removeAttr('lay-verify'); $('input[name="longitude"], input[name="latitude"]').removeAttr(
"lay-verify"
);
// $('input[name^="longitude2000"], input[name^="latitude2000"], input[name="centralMeridian"]').attr('lay-verify', 'required|number'); // $('input[name^="longitude2000"], input[name^="latitude2000"], input[name="centralMeridian"]').attr('lay-verify', 'required|number');
$('input[name="longitude2000"]').attr('lay-verify', 'required|longitude'); $('input[name="longitude2000"]').attr(
$('input[name="latitude2000"]').attr('lay-verify', 'required|latitude'); "lay-verify",
$('input[name="centralMeridian"]').attr('lay-verify', 'required'); "required|longitude"
);
$('input[name="latitude2000"]').attr(
"lay-verify",
"required|latitude"
);
$('input[name="centralMeridian"]').attr(
"lay-verify",
"required|number"
);
} }
}); });
@ -64,16 +84,20 @@ function setParams(params) {
form.verify({ form.verify({
required: function (value, item) { required: function (value, item) {
if (!value) { if (!value) {
return '必填项不能为空'; return "必填项不能为空";
}
},
number: function (value, item) {
const strictPositiveNumberRegex =
/^([1-9]\d*(\.\d+)?|0\.\d*[1-9]\d*)$/;
if (!strictPositiveNumberRegex.test(value)) {
return "请输入有效的数字";
} }
}, },
number: [
/^-?\d+\.?\d*$/,
'请输入有效的数字'
],
customSortNumber: function (value) { customSortNumber: function (value) {
if (value < 1) { // 验证是否小于1 if (value < 1) {
return '排序号不能小于1'; // 验证是否小于1
return "排序号不能小于1";
} }
}, },
// 经度验证 // 经度验证
@ -116,12 +140,12 @@ function setParams(params) {
}); });
// 表单提交 // 表单提交
form.on('submit(formData)', function(data) { form.on("submit(formData)", function (data) {
let formData = data.field; let formData = data.field;
let currentSystem = $('.coordinate-option.active').data('system'); let currentSystem = $(".coordinate-option.active").data("system");
formData.coordinateSystem = currentSystem; formData.coordinateSystem = currentSystem;
// 处理提交数据 // 处理提交数据
if(currentSystem === 'WGS-84') { if (currentSystem === "WGS-84") {
delete formData.longitude2000; delete formData.longitude2000;
delete formData.latitude2000; delete formData.latitude2000;
delete formData.centralMeridian; delete formData.centralMeridian;
@ -136,14 +160,13 @@ function setParams(params) {
formData.lat = formData.latitude2000; formData.lat = formData.latitude2000;
} }
if (formData.sort < 1) { if (formData.sort < 1) {
layer.msg('排序号不能小于1', {icon: 2}); layer.msg("排序号不能小于1", { icon: 2 });
return false; return false;
} }
formData.proId = proId; formData.proId = proId;
saveData(formData); saveData(formData);
return false; return false;
}); });
}); });
} }
@ -153,20 +176,28 @@ function getTowerById() {
let url = dataUrl + "/tbTower/getTbTowerById"; let url = dataUrl + "/tbTower/getTbTowerById";
let params = { let params = {
id: idParam, id: idParam,
encryptedData: encryptCBC(JSON.stringify({id: idParam})) encryptedData: encryptCBC(JSON.stringify({ id: idParam })),
}; };
ajaxRequest(url, "POST", params, true, null, function(result) { ajaxRequest(
url,
"POST",
params,
true,
null,
function (result) {
layer.close(loadingMsg); layer.close(loadingMsg);
if (result.code === 200) { if (result.code === 200) {
setFormData(result.data); setFormData(result.data);
} else { } else {
layer.alert(result.msg, { icon: 2 }); layer.alert(result.msg, { icon: 2 });
} }
}, function(xhr) { },
function (xhr) {
layer.close(loadingMsg); layer.close(loadingMsg);
error(xhr); error(xhr);
}); }
);
} }
// 设置表单数据 // 设置表单数据
@ -177,19 +208,25 @@ function setFormData(data) {
// 根据 uploadType 设置坐标系选择 // 根据 uploadType 设置坐标系选择
if (data.uploadType) { if (data.uploadType) {
$('.coordinate-option').removeClass('active'); $(".coordinate-option").removeClass("active");
switch (data.uploadType) { switch (data.uploadType) {
case "1": case "1":
// WGS-84地心坐标系 // WGS-84地心坐标系
$('.coordinate-option[data-system="WGS-84"]').addClass('active').trigger('click'); $('.coordinate-option[data-system="WGS-84"]')
.addClass("active")
.trigger("click");
break; break;
case "2": case "2":
// 2000国家大地坐标系 // 2000国家大地坐标系
$('.coordinate-option[data-system="2000"]').addClass('active').trigger('click'); $('.coordinate-option[data-system="2000"]')
.addClass("active")
.trigger("click");
break; break;
default: default:
// 默认选择WGS-84 // 默认选择WGS-84
$('.coordinate-option[data-system="WGS-84"]').addClass('active').trigger('click'); $('.coordinate-option[data-system="WGS-84"]')
.addClass("active")
.trigger("click");
} }
} }
@ -211,13 +248,17 @@ function setFormData(data) {
} }
function saveData2() { function saveData2() {
$('#formSubmit').trigger('click') $("#formSubmit").trigger("click");
} }
// 保存数据 // 保存数据
function saveData(data) { function saveData(data) {
console.log("保存数据", data) console.log("保存数据", data);
let loadingMsg = layer.msg('数据上传中,请稍候...', {icon: 16, scrollbar: false, time: 0}); let loadingMsg = layer.msg("数据上传中,请稍候...", {
icon: 16,
scrollbar: false,
time: 0,
});
let url = dataUrl + "/tbTower/addTbTower"; let url = dataUrl + "/tbTower/addTbTower";
let params = data; // 修改这里因为data已经是处理好的数据 let params = data; // 修改这里因为data已经是处理好的数据
if (params.id) { if (params.id) {
@ -225,43 +266,55 @@ function saveData(data) {
} }
console.log("杆塔管理的新增修改", params); console.log("杆塔管理的新增修改", params);
params = { params = {
encryptedData: encryptCBC(JSON.stringify(params)) encryptedData: encryptCBC(JSON.stringify(params)),
} };
// 禁用所有输入框和按钮 // 禁用所有输入框和按钮
function disableForm() { function disableForm() {
$('input').attr('disabled', true); $("input").attr("disabled", true);
$('.coordinate-option').css('pointer-events', 'none'); $(".coordinate-option").css("pointer-events", "none");
$('.save, .cancel').addClass("layui-btn-disabled").attr("disabled", true); $(".save, .cancel")
.addClass("layui-btn-disabled")
.attr("disabled", true);
} }
// 启用所有输入框和按钮 // 启用所有输入框和按钮
function enableForm() { function enableForm() {
$('input').attr('disabled', false); $("input").attr("disabled", false);
$('.coordinate-option').css('pointer-events', 'auto'); $(".coordinate-option").css("pointer-events", "auto");
$('.save, .cancel').removeClass("layui-btn-disabled").attr("disabled", false); $(".save, .cancel")
.removeClass("layui-btn-disabled")
.attr("disabled", false);
} }
ajaxRequest(url, "POST", params, true, function () { ajaxRequest(
url,
"POST",
params,
true,
function () {
disableForm(); // 请求开始时禁用表单 disableForm(); // 请求开始时禁用表单
}, function (result) { },
function (result) {
layer.close(loadingMsg); layer.close(loadingMsg);
if (result.code === 200) { if (result.code === 200) {
layer.msg(result.msg, { icon: 1 }); layer.msg(result.msg, { icon: 1 });
setTimeout(function () { setTimeout(function () {
closePage(1); closePage(1);
},3000) }, 3000);
} else { } else {
layer.alert(result.msg, {icon: 2}) layer.alert(result.msg, { icon: 2 });
setTimeout(function () { setTimeout(function () {
enableForm(); enableForm();
},3000) }, 3000);
} }
}, function (xhr) { },
function (xhr) {
layer.close(loadingMsg); layer.close(loadingMsg);
enableForm(); // 发生错误时启用表单 enableForm(); // 发生错误时启用表单
error(xhr) error(xhr);
}); }
);
} }
// 关闭页面 // 关闭页面
@ -269,7 +322,7 @@ function closePage(type) {
let index = parent.layer.getFrameIndex(window.name); //先得到当前 iframe层的索引 let index = parent.layer.getFrameIndex(window.name); //先得到当前 iframe层的索引
parent.layer.close(index); //再执行关闭 parent.layer.close(index); //再执行关闭
if (type === 1) { if (type === 1) {
parent.reloadData() parent.reloadData();
parent.parent.reloadData() parent.parent.reloadData();
} }
} }

View File

@ -1,5 +1,6 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en"> <html lang="en">
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<link rel="stylesheet" href="../../../../js/layui-v2.6.8/css/layui.css" media="all"> <link rel="stylesheet" href="../../../../js/layui-v2.6.8/css/layui.css" media="all">
@ -50,6 +51,7 @@
} }
</style> </style>
</head> </head>
<body> <body>
<div id="main-box"> <div id="main-box">
<form class="layui-form" lay-filter="towerForm"> <form class="layui-form" lay-filter="towerForm">
@ -58,8 +60,8 @@
<div class="layui-form-item" style="margin-top: 2%;"> <div class="layui-form-item" style="margin-top: 2%;">
<label class="layui-form-label"><span class="required-mark">*</span>杆塔:</label> <label class="layui-form-label"><span class="required-mark">*</span>杆塔:</label>
<div class="layui-input-inline"> <div class="layui-input-inline">
<input type="text" name="towerName" lay-verify="required" autocomplete="off" <input type="text" name="towerName" lay-verify="required" autocomplete="off" placeholder="请输入杆塔名称"
placeholder="请输入杆塔名称" class="layui-input" maxlength="30"> class="layui-input" maxlength="30">
</div> </div>
</div> </div>
@ -107,7 +109,7 @@
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label"><span class="required-mark">*</span>中央子午线:</label> <label class="layui-form-label"><span class="required-mark">*</span>中央子午线:</label>
<div class="layui-input-inline"> <div class="layui-input-inline">
<input type="text" name="centralMeridian" lay-verify="required" autocomplete="off" <input type="text" name="centralMeridian" lay-verify="required|number" autocomplete="off"
placeholder="请输入中央子午线" class="layui-input" maxlength="30"> placeholder="请输入中央子午线" class="layui-input" maxlength="30">
</div> </div>
</div> </div>
@ -140,4 +142,5 @@
</div> </div>
</body> </body>
<script src="../../../../js/basic/lineManagement/child/towerFormTemp.js"></script> <script src="../../../../js/basic/lineManagement/child/towerFormTemp.js"></script>
</html> </html>