基础管理-线路工程管理
This commit is contained in:
parent
a9d08575c0
commit
12a55f235a
|
|
@ -12,7 +12,7 @@
|
|||
<if test="baiduLon != null">baidu_lon,</if>
|
||||
<if test="baiduLat != null ">baidu_lat,</if>
|
||||
<if test="sort != null ">sort,</if>
|
||||
is_actvice
|
||||
is_active
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="threeSpanId != null ">#{threeSpanId},</if>
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
<if test="highwayWidth != null ">highway_width,</if>
|
||||
<if test="createTime != null">create_time,</if>
|
||||
<if test="createUserId != null ">create_user_id,</if>
|
||||
is_actvice
|
||||
is_active
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="proId != null ">#{proId},</if>
|
||||
|
|
|
|||
|
|
@ -1,12 +1,13 @@
|
|||
let form, layer, util,laydate, idParam, phoneParam;
|
||||
let form, layer, util,laydate, idParam,proId;
|
||||
let arr = ['background', 'web', 'mobile', 'wx'];
|
||||
let background, web, mobile, wx;
|
||||
let data = [], appResList = [];
|
||||
let data = [], appResList = [], towerList = [];
|
||||
|
||||
let startDate, endDate;
|
||||
function setParams(params) {
|
||||
console.log(params)
|
||||
idParam = JSON.parse(params).id;
|
||||
proId = JSON.parse(params).proId;
|
||||
layui.use(['form', 'layer', 'util', 'laydate'], function () {
|
||||
form = layui.form;
|
||||
layer = layui.layer;
|
||||
|
|
@ -14,140 +15,200 @@ function setParams(params) {
|
|||
laydate = layui.laydate;
|
||||
var $ = layui.jquery;
|
||||
|
||||
console.log(idParam + "idParam")
|
||||
crossLineFields()
|
||||
if (idParam) {
|
||||
getThreeSpanById();
|
||||
} else {
|
||||
// 确保默认选中跨线路并触发相关验证规则
|
||||
$('.span-type-option[data-type="cross-line"]').trigger('click');
|
||||
}
|
||||
|
||||
// 初始化表单
|
||||
form.render();
|
||||
loadTowerOptions();
|
||||
|
||||
// 跨越类型切换
|
||||
$('.span-type-option').click(function() {
|
||||
$('.span-type-option').on('click', function() {
|
||||
$('.span-type-option').removeClass('active');
|
||||
$(this).addClass('active');
|
||||
let type = $(this).data('type');
|
||||
|
||||
// 隐藏所有输入框
|
||||
$('#crossLineFields, #crossPublicFields, #crossRailwayFields').hide();
|
||||
// 移除所有验证规则
|
||||
$('input[name^="upper"], input[name^="lower"], input[name^="road"], input[name^="railway"]').removeAttr('lay-verify');
|
||||
|
||||
// 显示对应的输入框并设置验证规则
|
||||
switch(type) {
|
||||
case 'cross-line':
|
||||
$('#crossLineFields').show();
|
||||
$('input[name="upperLine"], input[name="lowerLine"]').attr('lay-verify', 'required');
|
||||
$('#crossPublicFields').hide();
|
||||
$('#crossRailwayFields').hide();
|
||||
crossLineFields()
|
||||
break;
|
||||
case 'cross-public':
|
||||
$('#crossLineFields').hide();
|
||||
$('#crossPublicFields').show();
|
||||
$('input[name="roadName"], input[name="roadLevel"]').attr('lay-verify', 'required');
|
||||
$('#crossRailwayFields').hide();
|
||||
crossPublicFields()
|
||||
break;
|
||||
case 'cross-railway':
|
||||
$('#crossLineFields').hide();
|
||||
$('#crossPublicFields').hide();
|
||||
$('#crossRailwayFields').show();
|
||||
$('input[name="railwayName"], input[name="railwayType"]').attr('lay-verify', 'required');
|
||||
crossRailwayFields()
|
||||
break;
|
||||
}
|
||||
form.render();
|
||||
});
|
||||
|
||||
// 监听杆塔选择
|
||||
form.on('select(towerSelect)', function(data) {
|
||||
// 这里可以根据选择的杆塔自动填写相关信息
|
||||
if(data.value) {
|
||||
getTowerInfo(data.value);
|
||||
// 获取当前选中的索引
|
||||
let currentIndex = -1;
|
||||
for(let i = 0; i < towerList.length; i++) {
|
||||
if(towerList[i].id == data.value) {
|
||||
currentIndex = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// 先清空第二个下拉框
|
||||
let $nextTowerSelect = $('#nextTowerName');
|
||||
$nextTowerSelect.empty();
|
||||
|
||||
// 如果找到当前索引且不是最后一个
|
||||
if(currentIndex !== -1 && currentIndex < towerList.length - 1) {
|
||||
// 获取下一个杆塔的信息
|
||||
let nextTower = towerList[currentIndex + 1];
|
||||
|
||||
// 设置隐藏的ID
|
||||
$('#nextTowerId').val(nextTower.id);
|
||||
|
||||
// 创建新的option元素并添加
|
||||
let newOption = new Option(nextTower.towerName, nextTower.id);
|
||||
$nextTowerSelect.append(newOption);
|
||||
|
||||
} else {
|
||||
// 清空ID
|
||||
$('#nextTowerId').val('');
|
||||
// 创建提示选项
|
||||
let newOption = new Option('选择的已经是最后一个', '');
|
||||
$nextTowerSelect.append(newOption);
|
||||
}
|
||||
|
||||
// 重新渲染select
|
||||
layui.form.render('select');
|
||||
|
||||
} else {
|
||||
// 当没有选择值时,重置为默认状态
|
||||
$('#nextTowerId').val('');
|
||||
let $nextTowerSelect = $('#nextTowerName');
|
||||
$nextTowerSelect.empty();
|
||||
let newOption = new Option('根据杆塔行序号自动填写下方杆塔序号', '');
|
||||
$nextTowerSelect.append(newOption);
|
||||
layui.form.render('select');
|
||||
}
|
||||
});
|
||||
|
||||
// 表单验证
|
||||
// 表单验证规则
|
||||
form.verify({
|
||||
required: function(value, item) {
|
||||
if(!value) {
|
||||
return '必填项不能为空';
|
||||
number: function(value, item) {
|
||||
if(value && !/^-?\d+\.?\d*$/.test(value)) {
|
||||
return '请输入数字';
|
||||
}
|
||||
},
|
||||
number: [
|
||||
/^-?\d+\.?\d*$/,
|
||||
'请输入有效的数字'
|
||||
]
|
||||
// 经度验证
|
||||
longitude: function(value, item) {
|
||||
// 如果为空则直接通过验证
|
||||
if(!value || value.trim() === '') {
|
||||
return;
|
||||
}
|
||||
// 如果经度有值,则纬度也必须填写
|
||||
let latInput = $(item).closest('.layui-form-item').find('input[name^="crossTowerLatitude"]');
|
||||
let latValue = latInput.val();
|
||||
if(!latValue || latValue.trim() === '') {
|
||||
return '经度和纬度需要同时填写';
|
||||
}
|
||||
// 验证经度格式
|
||||
if(!/^[\-\+]?((180(\.0{1,6})?)|((\d{1,2}|1[0-7]\d)(\.\d{1,6})?))$/.test(value)) {
|
||||
return '请输入正确的经度(-180.0~+180.0)';
|
||||
}
|
||||
},
|
||||
|
||||
// 纬度验证
|
||||
latitude: function(value, item) {
|
||||
// 如果为空则直接通过验证
|
||||
if(!value || value.trim() === '') {
|
||||
return;
|
||||
}
|
||||
// 如果纬度有值,则经度也必须填写
|
||||
let lonInput = $(item).closest('.layui-form-item').find('input[name^="crossTowerLongitude"]');
|
||||
let lonValue = lonInput.val();
|
||||
if(!lonValue || lonValue.trim() === '') {
|
||||
return '经度和纬度需要同时填写';
|
||||
}
|
||||
// 验证纬度格式
|
||||
if(!/^[\-\+]?((90(\.0{1,6})?)|(([0-8]?\d)(\.\d{1,6})?))$/.test(value)) {
|
||||
return '请输入正确的纬度(-90.0~+90.0)';
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// 表单提交
|
||||
// 表单提交验证
|
||||
form.on('submit(formData)', function(data) {
|
||||
let formData = data.field;
|
||||
let spanType = $('.span-type-option.active').data('type');
|
||||
let currentSystem = $('.span-type-option.active').data('type');
|
||||
if(currentSystem === 'cross-line'){
|
||||
delete formData.verticalClearDistance;
|
||||
delete formData.towerSpacing;
|
||||
delete formData.highwayWidth;
|
||||
|
||||
if(!spanType) {
|
||||
layer.msg('请选择跨越类型', {icon: 2});
|
||||
return false;
|
||||
}
|
||||
formData.spanType = spanType;
|
||||
delete formData.verticalClearDistances;
|
||||
delete formData.towerSpacings;
|
||||
delete formData.intersectionAngles;
|
||||
formData.spanType ="1";
|
||||
}else if (currentSystem === 'cross-public'){
|
||||
delete formData.upperLine;
|
||||
delete formData.lowerLine;
|
||||
delete formData.intersectionAngle;
|
||||
delete formData.verticalDistance;
|
||||
delete formData.safetyMargin;
|
||||
|
||||
// 验证必填项
|
||||
if(!formData.towerId) {
|
||||
layer.msg('请选择杆塔', {icon: 2});
|
||||
return false;
|
||||
}
|
||||
delete formData.crossTowerLongitude1;
|
||||
delete formData.crossTowerLatitude1;
|
||||
delete formData.crossTowerLongitude2;
|
||||
delete formData.crossTowerLatitude2;
|
||||
delete formData.crossTowerLongitude3;
|
||||
delete formData.crossTowerLatitude3;
|
||||
delete formData.crossTowerLongitude4;
|
||||
delete formData.crossTowerLatitude4;
|
||||
|
||||
// 根据跨越类型验证必填项
|
||||
switch(spanType) {
|
||||
case 'cross-line':
|
||||
if(!formData.upperLine) {
|
||||
layer.msg('请输入上层线路', {icon: 2});
|
||||
return false;
|
||||
}
|
||||
if(!formData.lowerLine) {
|
||||
layer.msg('请输入下层线路', {icon: 2});
|
||||
return false;
|
||||
}
|
||||
if(!formData.crossAngle) {
|
||||
layer.msg('请输入交叉角度', {icon: 2});
|
||||
return false;
|
||||
}
|
||||
if(!formData.verticalDistance) {
|
||||
layer.msg('请输入垂直距离', {icon: 2});
|
||||
return false;
|
||||
}
|
||||
if(!formData.safetyMargin) {
|
||||
layer.msg('请输入安全裕度', {icon: 2});
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
case 'cross-public':
|
||||
if(!formData.verticalClearance) {
|
||||
layer.msg('请输入垂直净距', {icon: 2});
|
||||
return false;
|
||||
}
|
||||
if(!formData.towerSpacing) {
|
||||
layer.msg('请输入杆塔间距', {icon: 2});
|
||||
return false;
|
||||
}
|
||||
if(!formData.roadWidth) {
|
||||
layer.msg('请输入公路宽度', {icon: 2});
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
case 'cross-railway':
|
||||
if(!formData.verticalClearance) {
|
||||
layer.msg('请输入垂直净距', {icon: 2});
|
||||
return false;
|
||||
}
|
||||
if(!formData.towerSpacing) {
|
||||
layer.msg('请输入杆塔间距', {icon: 2});
|
||||
return false;
|
||||
}
|
||||
if(!formData.crossAngle) {
|
||||
layer.msg('请输入交叉角度', {icon: 2});
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
}
|
||||
delete formData.verticalClearDistances;
|
||||
delete formData.towerSpacings;
|
||||
delete formData.intersectionAngles;
|
||||
|
||||
formData.spanType ="2";
|
||||
}else if(currentSystem === 'cross-railway'){
|
||||
delete formData.upperLine;
|
||||
delete formData.lowerLine;
|
||||
delete formData.intersectionAngle;
|
||||
delete formData.verticalDistance;
|
||||
delete formData.safetyMargin;
|
||||
|
||||
delete formData.crossTowerLongitude1;
|
||||
delete formData.crossTowerLatitude1;
|
||||
delete formData.crossTowerLongitude2;
|
||||
delete formData.crossTowerLatitude2;
|
||||
delete formData.crossTowerLongitude3;
|
||||
delete formData.crossTowerLatitude3;
|
||||
delete formData.crossTowerLongitude4;
|
||||
delete formData.crossTowerLatitude4;
|
||||
|
||||
delete formData.verticalClearDistance;
|
||||
delete formData.towerSpacing;
|
||||
delete formData.highwayWidth;
|
||||
|
||||
formData.verticalClearDistance = formData.verticalClearDistances;
|
||||
formData.towerSpacing = formData.towerSpacings;
|
||||
formData.intersectionAngle = formData.intersectionAngles;
|
||||
|
||||
formData.spanType ="3";
|
||||
}
|
||||
console.log(currentSystem)
|
||||
formData.proId=proId;
|
||||
saveData(formData);
|
||||
return false;
|
||||
});
|
||||
|
||||
});
|
||||
|
|
@ -155,31 +216,24 @@ function setParams(params) {
|
|||
|
||||
// 加载杆塔选项
|
||||
function loadTowerOptions() {
|
||||
let url = dataUrl + "/tower/list";
|
||||
ajaxRequest(url, "GET", {}, true, null, function(result) {
|
||||
if(result.code === 200) {
|
||||
let options = '<option value="">选择项目</option>';
|
||||
result.data.forEach(item => {
|
||||
options += `<option value="${item.id}">${item.towerName}</option>`;
|
||||
});
|
||||
$('select[name="towerId"]').html(options);
|
||||
form.render('select');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// 获取杆塔信息
|
||||
function getTowerInfo(towerId) {
|
||||
let url = dataUrl + "/tower/getById";
|
||||
let params = {
|
||||
id: towerId,
|
||||
encryptedData: encryptCBC(JSON.stringify({id: towerId}))
|
||||
};
|
||||
let url = dataUrl + "/tbTower/getTbTowerAll";
|
||||
|
||||
let params = {"proId":proId};
|
||||
params = {
|
||||
encryptedData: encryptCBC(JSON.stringify(params))
|
||||
}
|
||||
ajaxRequest(url, "POST", params, true, null, function(result) {
|
||||
if(result.code === 200) {
|
||||
// 可以根据杆塔信息自动填写一些表单项
|
||||
console.log("获取到杆塔信息:", result.data);
|
||||
let options = '<option value="">选择杆塔</option>';
|
||||
// 保存杆塔列表数据
|
||||
towerList = result.data;
|
||||
towerList.forEach(item => {
|
||||
options += `<option value="${item.id}">${item.towerName}</option>`;
|
||||
});
|
||||
// 为两个select都添加选项
|
||||
$('select[name="towerId"]').html(options);
|
||||
$('select[name="nextTowerName"]').html('<option value="">根据杆塔行序号自动填写下方杆塔序号</option>');
|
||||
form.render('select');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
@ -187,7 +241,7 @@ function getTowerInfo(towerId) {
|
|||
// 根据id获取三跨信息
|
||||
function getThreeSpanById() {
|
||||
let loadingMsg = layer.msg("数据加载中,请稍候...", {icon: 16, time: 0});
|
||||
let url = dataUrl + "/threeSpan/getById";
|
||||
let url = dataUrl + "/tbThreeSpan/getTbThreeSpanById";
|
||||
let params = {
|
||||
id: idParam,
|
||||
encryptedData: encryptCBC(JSON.stringify({id: idParam}))
|
||||
|
|
@ -222,18 +276,40 @@ function saveData2() {
|
|||
|
||||
// 保存数据
|
||||
function saveData(data) {
|
||||
// 组装经纬度数据
|
||||
let tbSpanTowerList = [];
|
||||
for(let i = 1; i <= 4; i++) {
|
||||
let lon = data[`crossTowerLongitude${i}`];
|
||||
let lat = data[`crossTowerLatitude${i}`];
|
||||
|
||||
// 只有当经纬度都有值时才添加到列表
|
||||
if(lon && lat) {
|
||||
tbSpanTowerList.push({
|
||||
lon: lon,
|
||||
lat: lat,
|
||||
sort: i // 使用循环索引作为排序号
|
||||
});
|
||||
}
|
||||
|
||||
// 删除原始的经纬度字段
|
||||
delete data[`crossTowerLongitude${i}`];
|
||||
delete data[`crossTowerLatitude${i}`];
|
||||
}
|
||||
|
||||
// 将经纬度列表添加到提交数据中
|
||||
data.tbSpanTowerList = tbSpanTowerList;
|
||||
|
||||
let loadingMsg = layer.msg('数据上传中,请稍候...', {icon: 16, scrollbar: false, time: 0});
|
||||
let url = dataUrl + "/threeSpan/add";
|
||||
let url = dataUrl + "/tbThreeSpan/addTbThreeSpan";
|
||||
let params = data;
|
||||
if (params.id) {
|
||||
url = dataUrl + "/threeSpan/update";
|
||||
url = dataUrl + "/tbThreeSpan/updateTbThreeSpan";
|
||||
}
|
||||
|
||||
console.log("三跨管理的新增修改", params);
|
||||
params = {
|
||||
encryptedData: encryptCBC(JSON.stringify(params))
|
||||
}
|
||||
|
||||
// 禁用所有输入框和按钮
|
||||
function disableForm() {
|
||||
$('input, select').attr('disabled', true);
|
||||
|
|
@ -257,7 +333,9 @@ function saveData(data) {
|
|||
parent.layer.msg(result.msg, {icon: 1});
|
||||
} else {
|
||||
layer.alert(result.msg, {icon: 2})
|
||||
setTimeout(function () {
|
||||
enableForm();
|
||||
},3000)
|
||||
}
|
||||
}, function (xhr) {
|
||||
layer.close(loadingMsg);
|
||||
|
|
@ -266,11 +344,87 @@ function saveData(data) {
|
|||
});
|
||||
}
|
||||
|
||||
function crossLineFields(){
|
||||
$('input[name="upperLine"]').attr('lay-verify', 'required');
|
||||
$('input[name="lowerLine"]').attr('lay-verify', 'required');
|
||||
$('input[name="intersectionAngle"]').attr('lay-verify', 'required|number');
|
||||
$('input[name="verticalDistance"]').attr('lay-verify', 'required|number');
|
||||
$('input[name="safetyMargin"]').attr('lay-verify', 'required|number');
|
||||
$('input[name="crossTowerLongitude1"]').attr('lay-verify', 'longitude');
|
||||
$('input[name="crossTowerLatitude1"]').attr('lay-verify', 'latitude');
|
||||
$('input[name="crossTowerLongitude2"]').attr('lay-verify', 'longitude');
|
||||
$('input[name="crossTowerLatitude2"]').attr('lay-verify', 'latitude');
|
||||
$('input[name="crossTowerLongitude3"]').attr('lay-verify', 'longitude');
|
||||
$('input[name="crossTowerLatitude3"]').attr('lay-verify', 'latitude');
|
||||
$('input[name="crossTowerLongitude4"]').attr('lay-verify', 'longitude');
|
||||
$('input[name="crossTowerLatitude4"]').attr('lay-verify', 'latitude');
|
||||
|
||||
|
||||
$('input[name="verticalClearDistance"]').removeAttr('lay-verify');
|
||||
$('input[name="towerSpacing"]').removeAttr('lay-verify');
|
||||
$('input[name="highwayWidth"]').removeAttr('lay-verify');
|
||||
|
||||
$('input[name="verticalClearDistances"]').removeAttr('lay-verify');
|
||||
$('input[name="towerSpacings"]').removeAttr('lay-verify');
|
||||
$('input[name="intersectionAngles"]').removeAttr('lay-verify');
|
||||
|
||||
}
|
||||
|
||||
function crossPublicFields(){
|
||||
$('input[name="upperLine"]').removeAttr('lay-verify');
|
||||
$('input[name="lowerLine"]').removeAttr('lay-verify');
|
||||
$('input[name="intersectionAngle"]').removeAttr('lay-verify');
|
||||
$('input[name="verticalDistance"]').removeAttr('lay-verify');
|
||||
$('input[name="safetyMargin"]').removeAttr('lay-verify');
|
||||
$('input[name="crossTowerLongitude1"]').removeAttr('lay-verify');
|
||||
$('input[name="crossTowerLatitude1"]').removeAttr('lay-verify');
|
||||
$('input[name="crossTowerLongitude2"]').removeAttr('lay-verify');
|
||||
$('input[name="crossTowerLatitude2"]').removeAttr('lay-verify');
|
||||
$('input[name="crossTowerLongitude3"]').removeAttr('lay-verify');
|
||||
$('input[name="crossTowerLatitude3"]').removeAttr('lay-verify');
|
||||
$('input[name="crossTowerLongitude4"]').removeAttr('lay-verify');
|
||||
$('input[name="crossTowerLatitude4"]').removeAttr('lay-verify');
|
||||
|
||||
$('input[name="verticalClearDistance"]').attr('lay-verify', 'required|number');
|
||||
$('input[name="towerSpacing"]').attr('lay-verify', 'required|number');
|
||||
$('input[name="highwayWidth"]').attr('lay-verify', 'required|number');
|
||||
|
||||
$('input[name="verticalClearDistances"]').removeAttr('lay-verify');
|
||||
$('input[name="towerSpacings"]').removeAttr('lay-verify');
|
||||
$('input[name="intersectionAngles"]').removeAttr('lay-verify');
|
||||
}
|
||||
|
||||
function crossRailwayFields(){
|
||||
$('input[name="upperLine"]').removeAttr('lay-verify');
|
||||
$('input[name="lowerLine"]').removeAttr('lay-verify');
|
||||
$('input[name="intersectionAngle"]').removeAttr('lay-verify');
|
||||
$('input[name="verticalDistance"]').removeAttr('lay-verify');
|
||||
$('input[name="safetyMargin"]').removeAttr('lay-verify');
|
||||
$('input[name="crossTowerLongitude1"]').removeAttr('lay-verify');
|
||||
$('input[name="crossTowerLatitude1"]').removeAttr('lay-verify');
|
||||
$('input[name="crossTowerLongitude2"]').removeAttr('lay-verify');
|
||||
$('input[name="crossTowerLatitude2"]').removeAttr('lay-verify');
|
||||
$('input[name="crossTowerLongitude3"]').removeAttr('lay-verify');
|
||||
$('input[name="crossTowerLatitude3"]').removeAttr('lay-verify');
|
||||
$('input[name="crossTowerLongitude4"]').removeAttr('lay-verify');
|
||||
$('input[name="crossTowerLatitude4"]').removeAttr('lay-verify');
|
||||
|
||||
$('input[name="verticalClearDistance"]').removeAttr('lay-verify');
|
||||
$('input[name="towerSpacing"]').removeAttr('lay-verify');
|
||||
$('input[name="highwayWidth"]').removeAttr('lay-verify');
|
||||
|
||||
$('input[name="verticalClearDistances"]').attr('lay-verify', 'required|number');
|
||||
$('input[name="towerSpacings"]').attr('lay-verify', 'required|number');
|
||||
$('input[name="intersectionAngles"]').attr('lay-verify', 'required|number');
|
||||
}
|
||||
|
||||
|
||||
// 关闭页面
|
||||
function closePage(type) {
|
||||
let index = parent.layer.getFrameIndex(window.name);
|
||||
parent.layer.close(index);
|
||||
if (type === 1) {
|
||||
parent.reloadData()
|
||||
parent.parent.reloadData()
|
||||
}
|
||||
}
|
||||
|
|
@ -14,7 +14,7 @@ function setParams(params) {
|
|||
|
||||
function pages(pageNum, pageSize, typeNum) {
|
||||
let params = getReqParams(pageNum, pageSize, typeNum);
|
||||
let url = dataUrl + "/users/getList"
|
||||
let url = dataUrl + "/tbThreeSpan/getTbThreeSpanList"
|
||||
ajaxRequest(url, "POST", params, true, function () {
|
||||
}, function (result) {
|
||||
console.log(result);
|
||||
|
|
@ -70,9 +70,43 @@ function initTable(dataList, limit, page) {
|
|||
return (page - 1) * limit + d.LAY_INDEX;
|
||||
}
|
||||
},
|
||||
{field: "loginName", title: "杆塔号", unresize: true, align: "center"},
|
||||
{field: "username", title: "跨越类型", unresize: true, align: "center"},
|
||||
{field: "username", title: "跨越信息", unresize: true, align: "center"},
|
||||
{field: "towerName", title: "杆塔号", unresize: true, align: "center"},
|
||||
{field: "", title: "跨越类型", unresize: true, align: "center",
|
||||
templet: function (d) {
|
||||
if(d.spanType == 1){
|
||||
return '跨线路';
|
||||
}else if(d.spanType == 2){
|
||||
return '跨公路';
|
||||
}else if(d.spanType == 3){
|
||||
return '跨铁路';
|
||||
}
|
||||
}
|
||||
},
|
||||
{field: "", title: "跨越信息", unresize: true, align: "center",
|
||||
templet: function (d) {
|
||||
if(d.spanType == 1){
|
||||
var html = '';
|
||||
html+="上层线路:" + d.upperLine + "<br><br>";
|
||||
html+="下层线路:" + d.lowerLine + "<br><br>";
|
||||
html+="交叉角度:" + d.intersectionAngle + "<br><br>";
|
||||
html+="垂直距离:" + d.verticalDistance + "<br><br>";
|
||||
html+="安全裕度:" + d.safetyMargin + "<br><br>";
|
||||
return html;
|
||||
}else if(d.spanType == 2){
|
||||
var html = '';
|
||||
html+="垂直净距:" + d.verticalClearDistance + "<br><br>";
|
||||
html+="杆塔间距:" + d.towerSpacing + "<br><br>";
|
||||
html+="公路宽度:" + d.highwayWidth + "<br><br>";
|
||||
return html;
|
||||
}else if(d.spanType == 3){
|
||||
var html = '';
|
||||
html+="垂直净距:" + d.verticalClearDistance + "<br><br>";
|
||||
html+="杆塔间距:" + d.towerSpacing + "<br><br>";
|
||||
html+="交叉角度:" + d.intersectionAngle + "<br><br>";
|
||||
return html;
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
title: "操作", unresize: true, width: 200, align: "center",
|
||||
templet: function (d) {
|
||||
|
|
@ -102,13 +136,14 @@ function initTable(dataList, limit, page) {
|
|||
function getReqParams(page, limit, type) {
|
||||
let obj = {};
|
||||
if (type === 2) {
|
||||
$('#towerName').val('')
|
||||
$('#keyWord').val('')
|
||||
layui.form.render();
|
||||
}
|
||||
obj = {
|
||||
page: page + "",
|
||||
limit: limit + "",
|
||||
towerName: $('#towerName').val()
|
||||
proId: idParam,
|
||||
keyWord: $('#keyWord').val()
|
||||
};
|
||||
console.log("杆塔管理查询条件", obj)
|
||||
obj={
|
||||
|
|
@ -121,7 +156,7 @@ function getReqParams(page, limit, type) {
|
|||
function query(type) {
|
||||
pageNum = 1;
|
||||
if(type === 2){
|
||||
$('#towerName').val('')
|
||||
$('#keyWord').val('')
|
||||
layui.form.render();
|
||||
}
|
||||
pages(1, limitSize,type);
|
||||
|
|
@ -135,7 +170,8 @@ function reloadData() {
|
|||
function addData(id) {
|
||||
let title = '修改'
|
||||
let param = {
|
||||
'id': id
|
||||
'id': id,
|
||||
'proId':idParam
|
||||
}
|
||||
openIframe2("editPro", title, "threeSpanFormTemp.html", '1000px', '625px', param);
|
||||
}
|
||||
|
|
@ -143,7 +179,8 @@ function addData(id) {
|
|||
function addDataThreeSpan(id) {
|
||||
let title = '新增'
|
||||
let param = {
|
||||
'id': id
|
||||
'id': id,
|
||||
'proId':idParam
|
||||
}
|
||||
openIframe2("addDataThreeSpan", title, "threeSpanFormTemp.html", '1000px', '625px', param);
|
||||
}
|
||||
|
|
@ -154,7 +191,7 @@ function delData(id) {
|
|||
move: false
|
||||
}, function () {
|
||||
let loadingMsg = layer.msg('数据删除中,请稍候...', {icon: 16, scrollbar: false, time: 0});
|
||||
let url = dataUrl + "/users/delById";
|
||||
let url = dataUrl + "/tbThreeSpan/delTbThreeSpan";
|
||||
let params = {
|
||||
'id': id
|
||||
}
|
||||
|
|
@ -165,10 +202,11 @@ function delData(id) {
|
|||
}, function (result) {
|
||||
layer.close(loadingMsg); // 关闭提示层
|
||||
if (result.code === 200) {
|
||||
parent.layer.msg(result.msg, {icon: 1})
|
||||
parent.layer.msg(result.data, {icon: 1})
|
||||
parent.reloadData()
|
||||
query()
|
||||
} else if (result.code === 500) {
|
||||
layer.alert(result.msg, {icon: 2})
|
||||
layer.alert(result.data, {icon: 2})
|
||||
}
|
||||
}, function (xhr) {
|
||||
layer.close(loadingMsg); // 关闭提示层
|
||||
|
|
@ -178,5 +216,32 @@ function delData(id) {
|
|||
}
|
||||
|
||||
function exportThreeSpan(){
|
||||
alert("导出")
|
||||
let obj = {
|
||||
towerName: $('#towerName').val(),
|
||||
}
|
||||
let params = {
|
||||
encryptedData: encryptCBC(JSON.stringify(obj))
|
||||
}
|
||||
let loadingMsg = layer.msg("数据导出中,请稍候...", {icon: 16, scrollbar: false, time: 0,});
|
||||
let url = dataUrl + "/tbThreeSpan/tbProjectExport?token=" + tokens + "&encryptedData=" + encodeURIComponent(encryptCBC(JSON.stringify(obj)));
|
||||
let xhr = new XMLHttpRequest();
|
||||
xhr.open("post", url, true);
|
||||
xhr.responseType = "blob"; // 转换流
|
||||
xhr.setRequestHeader('Content-Type','application/json;charset=UTF-8')
|
||||
xhr.onload = function () {
|
||||
layer.close(loadingMsg);
|
||||
if (this.status === 200) {
|
||||
let blob = this.response;
|
||||
var a = document.createElement("a");
|
||||
var url = window.URL.createObjectURL(blob);
|
||||
a.href = url;
|
||||
a.download = "三跨管理" + ".xlsx"; // 文件名
|
||||
} else {
|
||||
layer.msg("数据导出发生异常,请稍后重试", {icon: 16, scrollbar: false, time: 2000});
|
||||
}
|
||||
a.click();
|
||||
window.URL.revokeObjectURL(url);
|
||||
};
|
||||
// xhr.send(params);
|
||||
xhr.send();
|
||||
}
|
||||
|
|
@ -41,11 +41,14 @@
|
|||
border-color: #409eff;
|
||||
color: #409eff;
|
||||
}
|
||||
.layui-form-mid{
|
||||
padding: 0px !important;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="main-box">
|
||||
<form class="layui-form" lay-filter="threeSpanForm">
|
||||
<form class="layui-form" lay-filter="threeSpanForm" onsubmit="return false;">
|
||||
<input type="hidden" name="id" id="id">
|
||||
|
||||
<div class="layui-form-item" style="margin-top: 2%;">
|
||||
|
|
@ -59,21 +62,28 @@
|
|||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><span class="required-mark">*</span>杆塔:</label>
|
||||
<div class="layui-input-inline">
|
||||
<select name="towerId" lay-verify="required" lay-filter="towerSelect">
|
||||
<option value="">选择项目</option>
|
||||
<div class="layui-input-inline" style="width: 30%;">
|
||||
<select id="towerId" name="towerId" lay-verify="required" lay-filter="towerSelect">
|
||||
|
||||
</select>
|
||||
</div>
|
||||
<div class="layui-form-mid layui-word-aux">根据杆塔行序号自动填写下方杆塔序号</div>
|
||||
<div class="layui-form-mid layui-word-aux" >
|
||||
<select id="nextTowerName" name="nextTowerName">
|
||||
|
||||
</select>
|
||||
</div>
|
||||
<input type="hidden" id="nextTowerId" name="nextTowerId">
|
||||
<!-- <input type="text" id="nextTowerName" name="nextTowerName">-->
|
||||
|
||||
</div>
|
||||
|
||||
<!-- 跨线路输入框 -->
|
||||
<!-- 跨线路字段 -->
|
||||
<div id="crossLineFields" >
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><span class="required-mark">*</span>上层线路:</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="upperLine" lay-verify="required" autocomplete="off"
|
||||
placeholder="请输入上层线路" class="layui-input">
|
||||
placeholder="请输入上层线路" class="layui-input" maxlength="30">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
@ -81,15 +91,18 @@
|
|||
<label class="layui-form-label"><span class="required-mark">*</span>下层线路:</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="lowerLine" lay-verify="required" autocomplete="off"
|
||||
placeholder="请输入下层线路" class="layui-input">
|
||||
placeholder="请输入下层线路" class="layui-input" maxlength="30">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><span class="required-mark">*</span>交叉角度:</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="crossAngle" lay-verify="required|number" autocomplete="off"
|
||||
placeholder="请输入交叉角度" class="layui-input">
|
||||
<input type="text" name="intersectionAngle"
|
||||
lay-verify="required|number"
|
||||
autocomplete="off"
|
||||
placeholder="请输入交叉角度"
|
||||
class="layui-input" maxlength="30">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
@ -97,7 +110,7 @@
|
|||
<label class="layui-form-label"><span class="required-mark">*</span>垂直距离(m):</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="verticalDistance" lay-verify="required|number" autocomplete="off"
|
||||
placeholder="请输入垂直距离" class="layui-input">
|
||||
placeholder="请输入垂直距离" class="layui-input" maxlength="30">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
@ -105,82 +118,90 @@
|
|||
<label class="layui-form-label"><span class="required-mark">*</span>安全裕度(°):</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="safetyMargin" lay-verify="required|number" autocomplete="off"
|
||||
placeholder="请输入安全裕度" class="layui-input">
|
||||
placeholder="请输入安全裕度" class="layui-input" maxlength="30">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 跨越杆塔经纬度信息 -->
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">跨越杆塔信息:</label>
|
||||
<label class="layui-form-label">跨越杆塔信息</label>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">跨越杆塔经纬度:</label>
|
||||
<div class="layui-input-inline" style="width: 140px;">
|
||||
<div class="layui-input-inline" style="width: 260px;">
|
||||
<input type="text" name="crossTowerLongitude1" autocomplete="off"
|
||||
placeholder="经度" class="layui-input">
|
||||
placeholder="请输入经度(-180.0~+180.0)"
|
||||
class="layui-input" maxlength="10" lay-verify="longitude">
|
||||
</div>
|
||||
<div class="layui-input-inline" style="width: 140px; margin-right: 0;">
|
||||
<div class="layui-input-inline" style="width: 260px; margin-right: 0;">
|
||||
<input type="text" name="crossTowerLatitude1" autocomplete="off"
|
||||
placeholder="纬度" class="layui-input">
|
||||
placeholder="请输入纬度(-90.0~+90.0)"
|
||||
class="layui-input" maxlength="10" lay-verify="latitude">
|
||||
</div>
|
||||
<div class="layui-form-mid" style="padding: 0 8px;">1</div>
|
||||
<div class="layui-form-mid" style="padding: 10px 10px !important;">1</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">跨越杆塔经纬度:</label>
|
||||
<div class="layui-input-inline" style="width: 140px;">
|
||||
<div class="layui-input-inline" style="width: 260px;">
|
||||
<input type="text" name="crossTowerLongitude2" autocomplete="off"
|
||||
placeholder="经度" class="layui-input">
|
||||
placeholder="请输入经度(-180.0~+180.0)"
|
||||
class="layui-input" maxlength="10" lay-verify="longitude">
|
||||
</div>
|
||||
<div class="layui-input-inline" style="width: 140px; margin-right: 0;">
|
||||
<div class="layui-input-inline" style="width: 260px; margin-right: 0;">
|
||||
<input type="text" name="crossTowerLatitude2" autocomplete="off"
|
||||
placeholder="纬度" class="layui-input">
|
||||
placeholder="请输入纬度(-90.0~+90.0)"
|
||||
class="layui-input" maxlength="10" lay-verify="latitude">
|
||||
</div>
|
||||
<div class="layui-form-mid" style="padding: 0 8px;">2</div>
|
||||
<div class="layui-form-mid" style="padding: 10px 10px !important;">2</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">跨越杆塔经纬度:</label>
|
||||
<div class="layui-input-inline" style="width: 140px;">
|
||||
<div class="layui-input-inline" style="width: 260px;">
|
||||
<input type="text" name="crossTowerLongitude3" autocomplete="off"
|
||||
placeholder="经度" class="layui-input">
|
||||
placeholder="请输入经度(-180.0~+180.0)"
|
||||
class="layui-input" maxlength="10" lay-verify="longitude">
|
||||
</div>
|
||||
<div class="layui-input-inline" style="width: 140px; margin-right: 0;">
|
||||
<div class="layui-input-inline" style="width: 260px; margin-right: 0;">
|
||||
<input type="text" name="crossTowerLatitude3" autocomplete="off"
|
||||
placeholder="纬度" class="layui-input">
|
||||
placeholder="请输入纬度(-90.0~+90.0)"
|
||||
class="layui-input" maxlength="10" lay-verify="latitude">
|
||||
</div>
|
||||
<div class="layui-form-mid" style="padding: 0 8px;">3</div>
|
||||
<div class="layui-form-mid" style="padding: 10px 10px !important;">3</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">跨越杆塔经纬度:</label>
|
||||
<div class="layui-input-inline" style="width: 140px;">
|
||||
<div class="layui-input-inline" style="width: 260px;">
|
||||
<input type="text" name="crossTowerLongitude4" autocomplete="off"
|
||||
placeholder="经度" class="layui-input">
|
||||
placeholder="请输入经度(-180.0~+180.0)"
|
||||
class="layui-input" maxlength="10" lay-verify="longitude">
|
||||
</div>
|
||||
<div class="layui-input-inline" style="width: 140px; margin-right: 0;">
|
||||
<div class="layui-input-inline" style="width: 260px; margin-right: 0;">
|
||||
<input type="text" name="crossTowerLatitude4" autocomplete="off"
|
||||
placeholder="纬度" class="layui-input">
|
||||
placeholder="请输入纬度(-90.0~+90.0)"
|
||||
class="layui-input" maxlength="10" lay-verify="latitude">
|
||||
</div>
|
||||
<div class="layui-form-mid" style="padding: 0 8px;">4</div>
|
||||
<div class="layui-form-mid" style="padding: 10px 10px !important;">4</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 跨公路输入框 -->
|
||||
<!-- 跨公路字段 -->
|
||||
<div id="crossPublicFields" style="display: none;">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><span class="required-mark">*</span>垂直净距(m):</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="verticalClearance" lay-verify="required|number" autocomplete="off"
|
||||
placeholder="请输入垂直净距" class="layui-input">
|
||||
<input type="text" name="verticalClearDistance" id="verticalClearDistance" autocomplete="off"
|
||||
placeholder="请输入垂直净距" class="layui-input" lay-verify="required|number">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><span class="required-mark">*</span>杆塔间距(m):</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="towerSpacing" lay-verify="required|number" autocomplete="off"
|
||||
<input type="text" name="towerSpacing" id="towerSpacing" lay-verify="required|number" autocomplete="off"
|
||||
placeholder="请输入杆塔间距" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -188,18 +209,18 @@
|
|||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><span class="required-mark">*</span>公路宽度(m):</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="roadWidth" lay-verify="required|number" autocomplete="off"
|
||||
<input type="text" name="highwayWidth" id="highwayWidth" lay-verify="required|number" autocomplete="off"
|
||||
placeholder="请输入公路宽度" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 跨铁路输入框 -->
|
||||
<!-- 跨铁路字段 -->
|
||||
<div id="crossRailwayFields" style="display: none;">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><span class="required-mark">*</span>垂直净距(m):</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="verticalClearance" lay-verify="required|number" autocomplete="off"
|
||||
<input type="text" name="verticalClearDistances" id="verticalClearDistances" lay-verify="required|number" autocomplete="off"
|
||||
placeholder="请输入垂直净距" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -207,7 +228,7 @@
|
|||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><span class="required-mark">*</span>杆塔间距(m):</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="towerSpacing" lay-verify="required|number" autocomplete="off"
|
||||
<input type="text" name="towerSpacings" id="towerSpacings" lay-verify="required|number" autocomplete="off"
|
||||
placeholder="请输入杆塔间距" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -215,7 +236,7 @@
|
|||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><span class="required-mark">*</span>交叉角度(°):</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="crossAngle" lay-verify="required|number" autocomplete="off"
|
||||
<input type="text" name="intersectionAngles" id="intersectionAngles" lay-verify="required|number" autocomplete="off"
|
||||
placeholder="请输入交叉角度" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@
|
|||
<div class="layui-form-item">
|
||||
<div class="layui-inline" style="padding: 0 0 0 10px;">
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" id="towerName" name="towerName" maxlength="30" class="layui-input" autocomplete="off" placeholder="请输入杆塔号">
|
||||
<input type="text" id="keyWord" name="keyWord" maxlength="30" class="layui-input" autocomplete="off" placeholder="请输入杆塔号">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue