基础管理-线路工程管理

This commit is contained in:
lSun 2025-04-28 17:33:02 +08:00
parent 429285993c
commit 82c39071f5
2 changed files with 50 additions and 11 deletions

View File

@ -188,6 +188,9 @@ function setParams(params) {
delete formData.towerSpacing3;
delete formData.intersectionAngle3;
formData.towerSpacing = formData.towerSpacing2;
formData.verticalClearDistance = formData.verticalClearDistance2;
formData.spanType ="2";
}else if(currentSystem === 'cross-railway'){
delete formData.upperLine;
@ -211,6 +214,7 @@ function setParams(params) {
formData.verticalClearDistance = formData.verticalClearDistance3;
formData.towerSpacing = formData.towerSpacing3;
formData.intersectionAngle = formData.intersectionAngle3;
formData.spanType ="3";
}
@ -275,29 +279,56 @@ function setFormData(data) {
switch(data.spanType) {
case "1": // 跨线路
$('.span-type-option[data-type="cross-line"]').trigger('click');
// 处理跨铁路特殊字段
data.intersectionAngle1 = data.intersectionAngle;
break;
case "2": // 跨公路
$('.span-type-option[data-type="cross-public"]').trigger('click');
data.verticalClearDistance2 = data.verticalClearDistance;
data.towerSpacing2 = data.towerSpacing;
break;
case "3": // 跨铁路
$('.span-type-option[data-type="cross-railway"]').trigger('click');
// 处理跨铁路特殊字段
data.verticalClearDistance3 = data.verticalClearDistance;
data.towerSpacing3 = data.towerSpacing;
data.intersectionAngle3 = data.intersectionAngle;
break;
}
// 处理经纬度数据
if(data.tbSpanTowerList && data.tbSpanTowerList.length > 0) {
data.tbSpanTowerList.forEach((tower, index) => {
let num = index + 1;
data.tbSpanTowerList.forEach((tower) => {
// 使用sort作为索引
let num = tower.sort; // 直接使用sort值
data[`crossTowerLongitude${num}`] = tower.lon;
data[`crossTowerLatitude${num}`] = tower.lat;
data[`id${num}`] = tower.id; // 设置每个点位的id
});
}
// 使用layui表单赋值
form.val("threeSpanForm", data);
// 处理下一个杆塔的赋值
if(data.nextTowerId) {
$('#nextTowerId').val(data.nextTowerId);
// 清空并设置下一个杆塔的选择框
let $nextTowerSelect = $('#nextTowerName');
$nextTowerSelect.empty();
// 从towerList中找到对应的杆塔信息
let nextTower = towerList.find(tower => tower.id == data.nextTowerId);
if(nextTower) {
let newOption = new Option(nextTower.towerName, nextTower.id);
$nextTowerSelect.append(newOption);
} else {
let newOption = new Option('根据杆塔行序号自动填写下方杆塔序号', '');
$nextTowerSelect.append(newOption);
}
// 重新渲染select
form.render('select');
}
}
}
@ -312,19 +343,23 @@ function saveData(data) {
for(let i = 1; i <= 4; i++) {
let lon = data[`crossTowerLongitude${i}`];
let lat = data[`crossTowerLatitude${i}`];
let id = data[`id${i}`]; // 获取点位id
// 只有当经纬度都有值时才添加到列表
if(lon && lat) {
tbSpanTowerList.push({
id: id || null, // 如果有id就使用没有就null
lon: lon,
lat: lat,
sort: i // 使用循环索引作为排序号
sort: i, // 使用当前循环的索引作为sort值
threeSpanId: data.id // 如果需要添加三跨id
});
}
// 删除原始的经纬度字段
// 删除原始的字段
delete data[`crossTowerLongitude${i}`];
delete data[`crossTowerLatitude${i}`];
delete data[`id${i}`];
}
// 将经纬度列表添加到提交数据中

View File

@ -129,6 +129,7 @@
<div class="layui-form-item">
<label class="layui-form-label">跨越杆塔经纬度:</label>
<input type="hidden" name="id1">
<div class="layui-input-inline" style="width: 260px;">
<input type="text" name="crossTowerLongitude1" autocomplete="off"
placeholder="请输入经度(-180.0+180.0"
@ -144,6 +145,7 @@
<div class="layui-form-item">
<label class="layui-form-label">跨越杆塔经纬度:</label>
<input type="hidden" name="id2">
<div class="layui-input-inline" style="width: 260px;">
<input type="text" name="crossTowerLongitude2" autocomplete="off"
placeholder="请输入经度(-180.0+180.0"
@ -159,6 +161,7 @@
<div class="layui-form-item">
<label class="layui-form-label">跨越杆塔经纬度:</label>
<input type="hidden" name="id3">
<div class="layui-input-inline" style="width: 260px;">
<input type="text" name="crossTowerLongitude3" autocomplete="off"
placeholder="请输入经度(-180.0+180.0"
@ -174,6 +177,7 @@
<div class="layui-form-item">
<label class="layui-form-label">跨越杆塔经纬度:</label>
<input type="hidden" name="id4">
<div class="layui-input-inline" style="width: 260px;">
<input type="text" name="crossTowerLongitude4" autocomplete="off"
placeholder="请输入经度(-180.0+180.0"
@ -194,7 +198,7 @@
<label class="layui-form-label"><span class="required-mark">*</span>垂直净距(m):</label>
<div class="layui-input-inline">
<input type="text" name="verticalClearDistance2" autocomplete="off"
placeholder="请输入垂直净距" class="layui-input" lay-verify="required|number">
placeholder="请输入垂直净距" class="layui-input" lay-verify="required|number" maxlength="30">
</div>
</div>
@ -202,7 +206,7 @@
<label class="layui-form-label"><span class="required-mark">*</span>杆塔间距(m):</label>
<div class="layui-input-inline">
<input type="text" name="towerSpacing2" lay-verify="required|number" autocomplete="off"
placeholder="请输入杆塔间距" class="layui-input">
placeholder="请输入杆塔间距" class="layui-input" maxlength="30">
</div>
</div>
@ -210,7 +214,7 @@
<label class="layui-form-label"><span class="required-mark">*</span>公路宽度(m):</label>
<div class="layui-input-inline">
<input type="text" name="highwayWidth" lay-verify="required|number" autocomplete="off"
placeholder="请输入公路宽度" class="layui-input">
placeholder="请输入公路宽度" class="layui-input" maxlength="30">
</div>
</div>
</div>
@ -221,7 +225,7 @@
<label class="layui-form-label"><span class="required-mark">*</span>垂直净距(m):</label>
<div class="layui-input-inline">
<input type="text" name="verticalClearDistance3" lay-verify="required|number" autocomplete="off"
placeholder="请输入垂直净距" class="layui-input">
placeholder="请输入垂直净距" class="layui-input" maxlength="30">
</div>
</div>
@ -229,7 +233,7 @@
<label class="layui-form-label"><span class="required-mark">*</span>杆塔间距(m):</label>
<div class="layui-input-inline">
<input type="text" name="towerSpacing3" lay-verify="required|number" autocomplete="off"
placeholder="请输入杆塔间距" class="layui-input">
placeholder="请输入杆塔间距" class="layui-input" maxlength="30">
</div>
</div>
@ -237,7 +241,7 @@
<label class="layui-form-label"><span class="required-mark">*</span>交叉角度(°):</label>
<div class="layui-input-inline">
<input type="text" name="intersectionAngle3" lay-verify="required|number" autocomplete="off"
placeholder="请输入交叉角度" class="layui-input">
placeholder="请输入交叉角度" class="layui-input" maxlength="30">
</div>
</div>
</div>