基础管理-线路工程管理

This commit is contained in:
lSun 2025-04-28 18:05:58 +08:00
parent d52e8a9edd
commit aecf07ab64
4 changed files with 64 additions and 88 deletions

View File

@ -1,4 +1,4 @@
let form, layer, util,laydate, idParam, phoneParam;
let form, layer, util,laydate, idParam, phoneParam,proId;
let arr = ['background', 'web', 'mobile', 'wx'];
let background, web, mobile, wx;
let data = [], appResList = [];
@ -7,6 +7,7 @@ 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,45 +15,13 @@ function setParams(params) {
laydate = layui.laydate;
var $ = layui.jquery;
console.log(idParam + "idParam")
if (idParam) {
getRopewayById();
} else {
// 确保默认选中跨线路并触发相关验证规则
$('.span-type-option[data-type="cross-line"]').trigger('click');
}
// 初始化表单
form.render();
loadTowerOptions();
// 跨越类型切换
$('.span-type-option').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');
break;
case 'cross-public':
$('#crossPublicFields').show();
$('input[name="roadName"], input[name="roadLevel"]').attr('lay-verify', 'required');
break;
case 'cross-railway':
$('#crossRailwayFields').show();
$('input[name="railwayName"], input[name="railwayType"]').attr('lay-verify', 'required');
break;
}
});
console.log(idParam + "idParam")
if (idParam) {
getRopewayById();
}
// 监听杆塔选择
form.on('select(towerSelect)', function(data) {
@ -78,40 +47,20 @@ function setParams(params) {
// 表单提交
form.on('submit(formData)', function(data) {
let formData = data.field;
// 验证必填项
if(!formData.towerId) {
layer.msg('请选择索道所在杆塔位置', {icon: 2});
return false;
}
if(!formData.ropewayLength) {
layer.msg('请输入索道长度', {icon: 2});
return false;
}
if(!formData.maxLoad) {
layer.msg('请输入最大载重', {icon: 2});
return false;
}
if(!formData.safetyDistance) {
layer.msg('请输入安全距离', {icon: 2});
return false;
}
if(!formData.maxSlope) {
layer.msg('请输入最大坡度', {icon: 2});
return false;
}
formData.proId = proId;
saveData(formData);
return false;
});
});
}
// 加载杆塔选项
function loadTowerOptions() {
let url = dataUrl + "/tower/list";
ajaxRequest(url, "GET", {}, true, null, function(result) {
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) {
let options = '<option value="">选择杆塔</option>';
result.data.forEach(item => {
@ -142,9 +91,8 @@ function getTowerInfo(towerId) {
// 根据id获取索道信息
function getRopewayById() {
let loadingMsg = layer.msg("数据加载中,请稍候...", {icon: 16, time: 0});
let url = dataUrl + "/ropeway/getById";
let url = dataUrl + "/tbCablewaTrans/getTbCablewaTransById";
let params = {
id: idParam,
encryptedData: encryptCBC(JSON.stringify({id: idParam}))
};
@ -166,8 +114,7 @@ function setFormData(data) {
if(data) {
form.val("ropewayForm", data);
// 设置跨越类型并触发切换事件
$('.span-type-option').removeClass('active');
$(`.span-type-option[data-type="${data.spanType}"]`).addClass('active').trigger('click');
form.render('select');
}
}
@ -178,10 +125,10 @@ function saveData2() {
// 保存数据
function saveData(data) {
let loadingMsg = layer.msg('数据上传中,请稍候...', {icon: 16, scrollbar: false, time: 0});
let url = dataUrl + "/ropeway/add";
let url = dataUrl + "/tbCablewaTrans/addTbCablewaTrans";
let params = data;
if (params.id) {
url = dataUrl + "/ropeway/update";
url = dataUrl + "/tbCablewaTrans/updateTbCablewaTrans";
}
console.log("索道运输的新增修改", params);

View File

@ -15,7 +15,7 @@ function setParams(params) {
function pages(pageNum, pageSize, typeNum) {
let params = getReqParams(pageNum, pageSize, typeNum);
let url = dataUrl + "/users/getList"
let url = dataUrl + "/tbCablewaTrans/tbCablewaTransList"
ajaxRequest(url, "POST", params, true, function () {
}, function (result) {
console.log(result);
@ -71,11 +71,11 @@ function initTable(dataList, limit, page) {
return (page - 1) * limit + d.LAY_INDEX;
}
},
{field: "loginName", title: "索道所在杆塔", unresize: true, align: "center"},
{field: "username", title: "索道长度km", unresize: true, align: "center"},
{field: "username", title: "最大载重kg", unresize: true, align: "center"},
{field: "roleName", title: "安全距离m", unresize: true, align: "center"},
{field: "roleName", title: "最大坡度", unresize: true, align: "center"},
{field: "towerName", title: "索道所在杆塔", unresize: true, align: "center"},
{field: "cablewayLength", title: "索道长度km", unresize: true, align: "center"},
{field: "maxHeight", title: "最大载重kg", unresize: true, align: "center"},
{field: "safetyDistance", title: "安全距离m", unresize: true, align: "center"},
{field: "maxSlope", title: "最大坡度", unresize: true, align: "center"},
{
title: "操作", unresize: true, width: 200, align: "center",
templet: function (d) {
@ -111,6 +111,7 @@ function getReqParams(page, limit, type) {
obj = {
page: page + "",
limit: limit + "",
proId: idParam,
towerName: $('#towerName').val()
};
console.log("杆塔管理查询条件", obj)
@ -138,7 +139,8 @@ function reloadData() {
function addData(id) {
let title = '修改'
let param = {
'id': id
'id': id,
'proId':idParam
}
openIframe2("editPro", title, "ropewayFormTemp.html", '1000px', '625px', param);
}
@ -146,7 +148,8 @@ function addData(id) {
function addDataRopeway(id) {
let title = '新增'
let param = {
'id': id
'id': id,
'proId':idParam
}
openIframe2("addDataRopeway", title, "ropewayFormTemp.html", '1000px', '625px', param);
}
@ -157,7 +160,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 + "/tbCablewaTrans/delTbCablewaTrans";
let params = {
'id': id
}
@ -181,5 +184,32 @@ function delData(id) {
}
function exportRopeway(){
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 + "/tbCablewaTrans/tbCablewaTransExport?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();
}

View File

@ -255,7 +255,6 @@ function getThreeSpanById() {
let loadingMsg = layer.msg("数据加载中,请稍候...", {icon: 16, time: 0});
let url = dataUrl + "/tbThreeSpan/getTbThreeSpanById";
let params = {
id: idParam,
encryptedData: encryptCBC(JSON.stringify({id: idParam}))
};

View File

@ -22,7 +22,7 @@
</head>
<body>
<div id="main-box">
<form class="layui-form" lay-filter="ropewayForm">
<form class="layui-form" lay-filter="ropewayForm" onsubmit="return false;">
<input type="hidden" name="id" id="id">
<div class="layui-form-item" style="margin-top: 2%;">
@ -37,16 +37,16 @@
<div class="layui-form-item">
<label class="layui-form-label"><span class="required-mark">*</span>索道长度(km):</label>
<div class="layui-input-inline">
<input type="text" name="ropewayLength" lay-verify="required|number" autocomplete="off"
placeholder="请输入" class="layui-input">
<input type="text" name="cablewayLength" lay-verify="required|number" autocomplete="off"
placeholder="请输入" class="layui-input" maxlength="10">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"><span class="required-mark">*</span>最大载重(kg):</label>
<div class="layui-input-inline">
<input type="text" name="maxLoad" lay-verify="required|number" autocomplete="off"
placeholder="请输入" class="layui-input">
<input type="text" name="maxHeight" lay-verify="required|number" autocomplete="off"
placeholder="请输入" class="layui-input" maxlength="10">
</div>
</div>
@ -54,7 +54,7 @@
<label class="layui-form-label"><span class="required-mark">*</span>安全距离(m):</label>
<div class="layui-input-inline">
<input type="text" name="safetyDistance" lay-verify="required|number" autocomplete="off"
placeholder="请输入" class="layui-input">
placeholder="请输入" class="layui-input" maxlength="10">
</div>
</div>
@ -62,7 +62,7 @@
<label class="layui-form-label"><span class="required-mark">*</span>最大坡度(°):</label>
<div class="layui-input-inline">
<input type="text" name="maxSlope" lay-verify="required|number" autocomplete="off"
placeholder="请输入" class="layui-input">
placeholder="请输入" class="layui-input" maxlength="10">
</div>
</div>