基础管理-线路工程管理

This commit is contained in:
lSun 2025-04-28 16:30:41 +08:00
parent 12a55f235a
commit 429285993c
3 changed files with 90 additions and 51 deletions

View File

@ -14,16 +14,14 @@ function setParams(params) {
util = layui.util; util = layui.util;
laydate = layui.laydate; laydate = layui.laydate;
var $ = layui.jquery; var $ = layui.jquery;
// 初始化表单
form.render();
loadTowerOptions();
crossLineFields() crossLineFields()
if (idParam) { if (idParam) {
getThreeSpanById(); getThreeSpanById();
} }
// 初始化表单
form.render();
loadTowerOptions();
$('.span-type-option').on('click', function() { $('.span-type-option').on('click', function() {
$('.span-type-option').removeClass('active'); $('.span-type-option').removeClass('active');
$(this).addClass('active'); $(this).addClass('active');
@ -149,20 +147,31 @@ function setParams(params) {
// 表单提交验证 // 表单提交验证
form.on('submit(formData)', function(data) { form.on('submit(formData)', function(data) {
let formData = data.field; let formData = data.field;
let nextTowerId= $("#nextTowerId").val();
if(nextTowerId){
}else{
layer.msg('没有下一杆塔,请确认', {icon: 2});
return false;
}
let currentSystem = $('.span-type-option.active').data('type'); let currentSystem = $('.span-type-option.active').data('type');
if(currentSystem === 'cross-line'){ if(currentSystem === 'cross-line'){
delete formData.verticalClearDistance; delete formData.verticalClearDistance2;
delete formData.towerSpacing; delete formData.towerSpacing2;
delete formData.highwayWidth; delete formData.highwayWidth;
delete formData.verticalClearDistances; delete formData.verticalClearDistance3;
delete formData.towerSpacings; delete formData.towerSpacing3;
delete formData.intersectionAngles; delete formData.intersectionAngle3;
formData.intersectionAngle = formData.intersectionAngle1;
formData.spanType ="1"; formData.spanType ="1";
}else if (currentSystem === 'cross-public'){ }else if (currentSystem === 'cross-public'){
delete formData.upperLine; delete formData.upperLine;
delete formData.lowerLine; delete formData.lowerLine;
delete formData.intersectionAngle; delete formData.intersectionAngle1;
delete formData.verticalDistance; delete formData.verticalDistance;
delete formData.safetyMargin; delete formData.safetyMargin;
@ -175,15 +184,15 @@ function setParams(params) {
delete formData.crossTowerLongitude4; delete formData.crossTowerLongitude4;
delete formData.crossTowerLatitude4; delete formData.crossTowerLatitude4;
delete formData.verticalClearDistances; delete formData.verticalClearDistance3;
delete formData.towerSpacings; delete formData.towerSpacing3;
delete formData.intersectionAngles; delete formData.intersectionAngle3;
formData.spanType ="2"; formData.spanType ="2";
}else if(currentSystem === 'cross-railway'){ }else if(currentSystem === 'cross-railway'){
delete formData.upperLine; delete formData.upperLine;
delete formData.lowerLine; delete formData.lowerLine;
delete formData.intersectionAngle; delete formData.intersectionAngle1;
delete formData.verticalDistance; delete formData.verticalDistance;
delete formData.safetyMargin; delete formData.safetyMargin;
@ -196,13 +205,12 @@ function setParams(params) {
delete formData.crossTowerLongitude4; delete formData.crossTowerLongitude4;
delete formData.crossTowerLatitude4; delete formData.crossTowerLatitude4;
delete formData.verticalClearDistance; delete formData.verticalClearDistance2;
delete formData.towerSpacing; delete formData.towerSpacing2;
delete formData.highwayWidth; delete formData.highwayWidth;
formData.verticalClearDistance = formData.verticalClearDistances; formData.verticalClearDistance = formData.verticalClearDistance3;
formData.towerSpacing = formData.towerSpacings; formData.towerSpacing = formData.towerSpacing3;
formData.intersectionAngle = formData.intersectionAngles;
formData.spanType ="3"; formData.spanType ="3";
} }
@ -263,10 +271,33 @@ function getThreeSpanById() {
// 设置表单数据 // 设置表单数据
function setFormData(data) { function setFormData(data) {
if(data) { if(data) {
// 根据spanType设置不同字段的值
switch(data.spanType) {
case "1": // 跨线路
$('.span-type-option[data-type="cross-line"]').trigger('click');
break;
case "2": // 跨公路
$('.span-type-option[data-type="cross-public"]').trigger('click');
break;
case "3": // 跨铁路
$('.span-type-option[data-type="cross-railway"]').trigger('click');
// 处理跨铁路特殊字段
data.verticalClearDistance3 = data.verticalClearDistance;
data.towerSpacing3 = data.towerSpacing;
break;
}
// 处理经纬度数据
if(data.tbSpanTowerList && data.tbSpanTowerList.length > 0) {
data.tbSpanTowerList.forEach((tower, index) => {
let num = index + 1;
data[`crossTowerLongitude${num}`] = tower.lon;
data[`crossTowerLatitude${num}`] = tower.lat;
});
}
// 使用layui表单赋值
form.val("threeSpanForm", data); form.val("threeSpanForm", data);
// 设置跨越类型并触发切换事件
$('.span-type-option').removeClass('active');
$(`.span-type-option[data-type="${data.spanType}"]`).addClass('active').trigger('click');
} }
} }
@ -347,7 +378,7 @@ function saveData(data) {
function crossLineFields(){ function crossLineFields(){
$('input[name="upperLine"]').attr('lay-verify', 'required'); $('input[name="upperLine"]').attr('lay-verify', 'required');
$('input[name="lowerLine"]').attr('lay-verify', 'required'); $('input[name="lowerLine"]').attr('lay-verify', 'required');
$('input[name="intersectionAngle"]').attr('lay-verify', 'required|number'); $('input[name="intersectionAngle1"]').attr('lay-verify', 'required|number');
$('input[name="verticalDistance"]').attr('lay-verify', 'required|number'); $('input[name="verticalDistance"]').attr('lay-verify', 'required|number');
$('input[name="safetyMargin"]').attr('lay-verify', 'required|number'); $('input[name="safetyMargin"]').attr('lay-verify', 'required|number');
$('input[name="crossTowerLongitude1"]').attr('lay-verify', 'longitude'); $('input[name="crossTowerLongitude1"]').attr('lay-verify', 'longitude');
@ -360,20 +391,20 @@ function crossLineFields(){
$('input[name="crossTowerLatitude4"]').attr('lay-verify', 'latitude'); $('input[name="crossTowerLatitude4"]').attr('lay-verify', 'latitude');
$('input[name="verticalClearDistance"]').removeAttr('lay-verify'); $('input[name="verticalClearDistance2"]').removeAttr('lay-verify');
$('input[name="towerSpacing"]').removeAttr('lay-verify'); $('input[name="towerSpacing2"]').removeAttr('lay-verify');
$('input[name="highwayWidth"]').removeAttr('lay-verify'); $('input[name="highwayWidth"]').removeAttr('lay-verify');
$('input[name="verticalClearDistances"]').removeAttr('lay-verify'); $('input[name="verticalClearDistance3"]').removeAttr('lay-verify');
$('input[name="towerSpacings"]').removeAttr('lay-verify'); $('input[name="towerSpacing3"]').removeAttr('lay-verify');
$('input[name="intersectionAngles"]').removeAttr('lay-verify'); $('input[name="intersectionAngle3"]').removeAttr('lay-verify');
} }
function crossPublicFields(){ function crossPublicFields(){
$('input[name="upperLine"]').removeAttr('lay-verify'); $('input[name="upperLine"]').removeAttr('lay-verify');
$('input[name="lowerLine"]').removeAttr('lay-verify'); $('input[name="lowerLine"]').removeAttr('lay-verify');
$('input[name="intersectionAngle"]').removeAttr('lay-verify'); $('input[name="intersectionAngle1"]').removeAttr('lay-verify');
$('input[name="verticalDistance"]').removeAttr('lay-verify'); $('input[name="verticalDistance"]').removeAttr('lay-verify');
$('input[name="safetyMargin"]').removeAttr('lay-verify'); $('input[name="safetyMargin"]').removeAttr('lay-verify');
$('input[name="crossTowerLongitude1"]').removeAttr('lay-verify'); $('input[name="crossTowerLongitude1"]').removeAttr('lay-verify');
@ -385,19 +416,19 @@ function crossPublicFields(){
$('input[name="crossTowerLongitude4"]').removeAttr('lay-verify'); $('input[name="crossTowerLongitude4"]').removeAttr('lay-verify');
$('input[name="crossTowerLatitude4"]').removeAttr('lay-verify'); $('input[name="crossTowerLatitude4"]').removeAttr('lay-verify');
$('input[name="verticalClearDistance"]').attr('lay-verify', 'required|number'); $('input[name="verticalClearDistance2"]').attr('lay-verify', 'required|number');
$('input[name="towerSpacing"]').attr('lay-verify', 'required|number'); $('input[name="towerSpacing2"]').attr('lay-verify', 'required|number');
$('input[name="highwayWidth"]').attr('lay-verify', 'required|number'); $('input[name="highwayWidth"]').attr('lay-verify', 'required|number');
$('input[name="verticalClearDistances"]').removeAttr('lay-verify'); $('input[name="verticalClearDistance3"]').removeAttr('lay-verify');
$('input[name="towerSpacings"]').removeAttr('lay-verify'); $('input[name="towerSpacing3"]').removeAttr('lay-verify');
$('input[name="intersectionAngles"]').removeAttr('lay-verify'); $('input[name="intersectionAngle3"]').removeAttr('lay-verify');
} }
function crossRailwayFields(){ function crossRailwayFields(){
$('input[name="upperLine"]').removeAttr('lay-verify'); $('input[name="upperLine"]').removeAttr('lay-verify');
$('input[name="lowerLine"]').removeAttr('lay-verify'); $('input[name="lowerLine"]').removeAttr('lay-verify');
$('input[name="intersectionAngle"]').removeAttr('lay-verify'); $('input[name="intersectionAngle1"]').removeAttr('lay-verify');
$('input[name="verticalDistance"]').removeAttr('lay-verify'); $('input[name="verticalDistance"]').removeAttr('lay-verify');
$('input[name="safetyMargin"]').removeAttr('lay-verify'); $('input[name="safetyMargin"]').removeAttr('lay-verify');
$('input[name="crossTowerLongitude1"]').removeAttr('lay-verify'); $('input[name="crossTowerLongitude1"]').removeAttr('lay-verify');
@ -409,13 +440,13 @@ function crossRailwayFields(){
$('input[name="crossTowerLongitude4"]').removeAttr('lay-verify'); $('input[name="crossTowerLongitude4"]').removeAttr('lay-verify');
$('input[name="crossTowerLatitude4"]').removeAttr('lay-verify'); $('input[name="crossTowerLatitude4"]').removeAttr('lay-verify');
$('input[name="verticalClearDistance"]').removeAttr('lay-verify'); $('input[name="verticalClearDistance2"]').removeAttr('lay-verify');
$('input[name="towerSpacing"]').removeAttr('lay-verify'); $('input[name="towerSpacing2"]').removeAttr('lay-verify');
$('input[name="highwayWidth"]').removeAttr('lay-verify'); $('input[name="highwayWidth"]').removeAttr('lay-verify');
$('input[name="verticalClearDistances"]').attr('lay-verify', 'required|number'); $('input[name="verticalClearDistance3"]').attr('lay-verify', 'required|number');
$('input[name="towerSpacings"]').attr('lay-verify', 'required|number'); $('input[name="towerSpacing3"]').attr('lay-verify', 'required|number');
$('input[name="intersectionAngles"]').attr('lay-verify', 'required|number'); $('input[name="intersectionAngle3"]').attr('lay-verify', 'required|number');
} }

View File

@ -111,7 +111,7 @@ function initTable(dataList, limit, page) {
title: "操作", unresize: true, width: 200, align: "center", title: "操作", unresize: true, width: 200, align: "center",
templet: function (d) { templet: function (d) {
let html = ''; let html = '';
let del = "<a class=\"layui-icon layui-icon-delete\" style='cursor:pointer;' title='删除' onclick=\"delData('" + d.id + "')\">删除</a>" let del = "<a class=\"layui-icon layui-icon-delete\" style='cursor:pointer;' title='删除' onclick=\"delData('" + d.id + "', '" + JSON.stringify(d.tbSpanTowerList) + "')\">删除</a>"
let edit = "<a class=\"layui-icon layui-icon-edit\" style='cursor:pointer;' title='修改' onclick=\"addData('" + d.id + "')\">修改</a>"; let edit = "<a class=\"layui-icon layui-icon-edit\" style='cursor:pointer;' title='修改' onclick=\"addData('" + d.id + "')\">修改</a>";
html = edit + del; html = edit + del;
if (d.delFlag == 1) { if (d.delFlag == 1) {
@ -186,14 +186,22 @@ function addDataThreeSpan(id) {
} }
/*删除用户*/ /*删除用户*/
function delData(id) { function delData(id, tbSpanTowerList) {
// 将字符串转回对象
try {
// 将字符串转回对象
tbSpanTowerList = JSON.parse(tbSpanTowerList);
} catch(e) {
tbSpanTowerList = [];
}
layer.confirm("确定删除吗?", { layer.confirm("确定删除吗?", {
move: false move: false
}, function () { }, function () {
let loadingMsg = layer.msg('数据删除中,请稍候...', {icon: 16, scrollbar: false, time: 0}); let loadingMsg = layer.msg('数据删除中,请稍候...', {icon: 16, scrollbar: false, time: 0});
let url = dataUrl + "/tbThreeSpan/delTbThreeSpan"; let url = dataUrl + "/tbThreeSpan/delTbThreeSpan";
let params = { let params = {
'id': id 'id': id,
'tbSpanTowerList':tbSpanTowerList
} }
params = { params = {
encryptedData: encryptCBC(JSON.stringify(params)) encryptedData: encryptCBC(JSON.stringify(params))

View File

@ -98,7 +98,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="intersectionAngle" <input type="text" name="intersectionAngle1"
lay-verify="required|number" lay-verify="required|number"
autocomplete="off" autocomplete="off"
placeholder="请输入交叉角度" placeholder="请输入交叉角度"
@ -193,7 +193,7 @@
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label"><span class="required-mark">*</span>垂直净距(m):</label> <label class="layui-form-label"><span class="required-mark">*</span>垂直净距(m):</label>
<div class="layui-input-inline"> <div class="layui-input-inline">
<input type="text" name="verticalClearDistance" id="verticalClearDistance" autocomplete="off" <input type="text" name="verticalClearDistance2" autocomplete="off"
placeholder="请输入垂直净距" class="layui-input" lay-verify="required|number"> placeholder="请输入垂直净距" class="layui-input" lay-verify="required|number">
</div> </div>
</div> </div>
@ -201,7 +201,7 @@
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label"><span class="required-mark">*</span>杆塔间距(m):</label> <label class="layui-form-label"><span class="required-mark">*</span>杆塔间距(m):</label>
<div class="layui-input-inline"> <div class="layui-input-inline">
<input type="text" name="towerSpacing" id="towerSpacing" lay-verify="required|number" autocomplete="off" <input type="text" name="towerSpacing2" lay-verify="required|number" autocomplete="off"
placeholder="请输入杆塔间距" class="layui-input"> placeholder="请输入杆塔间距" class="layui-input">
</div> </div>
</div> </div>
@ -209,7 +209,7 @@
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label"><span class="required-mark">*</span>公路宽度(m):</label> <label class="layui-form-label"><span class="required-mark">*</span>公路宽度(m):</label>
<div class="layui-input-inline"> <div class="layui-input-inline">
<input type="text" name="highwayWidth" id="highwayWidth" lay-verify="required|number" autocomplete="off" <input type="text" name="highwayWidth" lay-verify="required|number" autocomplete="off"
placeholder="请输入公路宽度" class="layui-input"> placeholder="请输入公路宽度" class="layui-input">
</div> </div>
</div> </div>
@ -220,7 +220,7 @@
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label"><span class="required-mark">*</span>垂直净距(m):</label> <label class="layui-form-label"><span class="required-mark">*</span>垂直净距(m):</label>
<div class="layui-input-inline"> <div class="layui-input-inline">
<input type="text" name="verticalClearDistances" id="verticalClearDistances" lay-verify="required|number" autocomplete="off" <input type="text" name="verticalClearDistance3" lay-verify="required|number" autocomplete="off"
placeholder="请输入垂直净距" class="layui-input"> placeholder="请输入垂直净距" class="layui-input">
</div> </div>
</div> </div>
@ -228,7 +228,7 @@
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label"><span class="required-mark">*</span>杆塔间距(m):</label> <label class="layui-form-label"><span class="required-mark">*</span>杆塔间距(m):</label>
<div class="layui-input-inline"> <div class="layui-input-inline">
<input type="text" name="towerSpacings" id="towerSpacings" lay-verify="required|number" autocomplete="off" <input type="text" name="towerSpacing3" lay-verify="required|number" autocomplete="off"
placeholder="请输入杆塔间距" class="layui-input"> placeholder="请输入杆塔间距" class="layui-input">
</div> </div>
</div> </div>
@ -236,7 +236,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="intersectionAngles" id="intersectionAngles" lay-verify="required|number" autocomplete="off" <input type="text" name="intersectionAngle3" lay-verify="required|number" autocomplete="off"
placeholder="请输入交叉角度" class="layui-input"> placeholder="请输入交叉角度" class="layui-input">
</div> </div>
</div> </div>