线路工程管理

This commit is contained in:
BianLzhaoMin 2025-06-10 16:07:11 +08:00
parent 6055725b7f
commit 2b3d774275
5 changed files with 582 additions and 302 deletions

View File

@ -1,15 +1,16 @@
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 data = [], appResList = [];
let data = [],
appResList = [];
let pointsStr = null;
let startDate, endDate;
function setParams(params) {
console.log(params)
console.log(params);
idParam = JSON.parse(params).id;
proId = JSON.parse(params).proId;
layui.use(['form', 'layer', 'util', 'laydate'], function () {
layui.use(["form", "layer", "util", "laydate"], function () {
form = layui.form;
layer = layui.layer;
util = layui.util;
@ -19,13 +20,13 @@ function setParams(params) {
// 初始化表单
form.render();
loadTowerOptions();
console.log(idParam + "idParam")
console.log(idParam + "idParam");
if (idParam) {
getRopewayById();
}
// 监听杆塔选择
form.on('select(towerSelect)', function (data) {
form.on("select(towerSelect)", function (data) {
// 这里可以根据选择的杆塔自动填写相关信息
if (data.value) {
getTowerInfo(data.value);
@ -36,13 +37,14 @@ function setParams(params) {
form.verify({
required: function (value, item) {
if (!value) {
return '必填项不能为空';
return "必填项不能为空";
}
},
number: function (value, item) {
const strictPositiveNumberRegex = /^([1-9]\d*(\.\d+)?|0\.\d*[1-9]\d*)$/;
const strictPositiveNumberRegex =
/^([1-9]\d*(\.\d+)?|0\.\d*[1-9]\d*)$/;
if (!strictPositiveNumberRegex.test(value)) {
return '请输入有效的数字';
return "请输入有效的数字";
}
},
/*number: [
@ -52,9 +54,11 @@ function setParams(params) {
});
// 表单提交
form.on('submit(formData)', function (data) {
form.on("submit(formData)", function (data) {
let formData = data.field;
formData.proId = proId;
formData.sourceType = "1"; // sourceType 1.索道 2.公路 3.千张
saveData(formData);
});
});
@ -63,18 +67,18 @@ function setParams(params) {
// 加载杆塔选项
function loadTowerOptions() {
let url = dataUrl + "/tbTower/getTbTowerAll";
let params = {"proId": proId};
let params = { proId: proId };
params = {
encryptedData: encryptCBC(JSON.stringify(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 => {
result.data.forEach((item) => {
options += `<option value="${item.id}">${item.towerName}</option>`;
});
$('select[name="towerId"]').html(options);
form.render('select');
form.render("select");
}
});
}
@ -84,7 +88,7 @@ function getTowerInfo(towerId) {
let url = dataUrl + "/tower/getById";
let params = {
id: towerId,
encryptedData: encryptCBC(JSON.stringify({id: towerId}))
encryptedData: encryptCBC(JSON.stringify({ id: towerId })),
};
ajaxRequest(url, "POST", params, true, null, function (result) {
@ -97,23 +101,31 @@ function getTowerInfo(towerId) {
// 根据id获取索道信息
function getRopewayById() {
let loadingMsg = layer.msg("数据加载中,请稍候...", {icon: 16, time: 0});
let loadingMsg = layer.msg("数据加载中,请稍候...", { icon: 16, time: 0 });
let url = dataUrl + "/tbCablewaTrans/getTbCablewaTransById";
let params = {
encryptedData: encryptCBC(JSON.stringify({id: idParam}))
encryptedData: encryptCBC(JSON.stringify({ id: idParam })),
};
ajaxRequest(url, "POST", params, true, null, function (result) {
layer.close(loadingMsg);
if (result.code === 200) {
setFormData(result.data);
} else {
layer.alert(result.msg, {icon: 2});
ajaxRequest(
url,
"POST",
params,
true,
null,
function (result) {
layer.close(loadingMsg);
if (result.code === 200) {
setFormData(result.data);
} else {
layer.alert(result.msg, { icon: 2 });
}
},
function (xhr) {
layer.close(loadingMsg);
error(xhr);
}
}, function (xhr) {
layer.close(loadingMsg);
error(xhr);
});
);
}
// 设置表单数据
@ -122,20 +134,24 @@ function setFormData(data) {
form.val("ropewayForm", data);
pointsStr = JSON.stringify(data.cablewaTransPointVoList);
// 设置跨越类型并触发切换事件
form.render('select');
form.render("select");
}
}
function saveData2() {
$('#formSubmit').trigger('click')
$("#formSubmit").trigger("click");
}
// 保存数据
function saveData(data) {
if (!pointsStr) {
return layer.msg("请配置索道口、中转口、索道终点经纬度", {icon: 7});
return layer.msg("请配置索道口、中转口、索道终点经纬度", { icon: 7 });
}
let loadingMsg = layer.msg('数据上传中,请稍候...', {icon: 16, scrollbar: false, time: 0});
let loadingMsg = layer.msg("数据上传中,请稍候...", {
icon: 16,
scrollbar: false,
time: 0,
});
let url = dataUrl + "/tbCablewaTrans/addTbCablewaTrans";
let params = data;
params.cablewaTransPointVoList = JSON.parse(pointsStr);
@ -145,43 +161,55 @@ function saveData(data) {
console.log("索道运输的新增修改", params);
params = {
encryptedData: encryptCBC(JSON.stringify(params))
}
encryptedData: encryptCBC(JSON.stringify(params)),
};
// 禁用所有输入框和按钮
function disableForm() {
$('input, select').attr('disabled', true);
$('.span-type-option').css('pointer-events', 'none');
$('.save, .cancel').addClass("layui-btn-disabled").attr("disabled", true);
$("input, select").attr("disabled", true);
$(".span-type-option").css("pointer-events", "none");
$(".save, .cancel")
.addClass("layui-btn-disabled")
.attr("disabled", true);
}
// 启用所有输入框和按钮
function enableForm() {
$('input, select').attr('disabled', false);
$('.span-type-option').css('pointer-events', 'auto');
$('.save, .cancel').removeClass("layui-btn-disabled").attr("disabled", false);
$("input, select").attr("disabled", false);
$(".span-type-option").css("pointer-events", "auto");
$(".save, .cancel")
.removeClass("layui-btn-disabled")
.attr("disabled", false);
}
ajaxRequest(url, "POST", params, true, function () {
disableForm();
}, function (result) {
layer.close(loadingMsg);
if (result.code === 200) {
layer.msg(result.msg, {icon: 1});
setTimeout(function () {
closePage(1);
}, 3000)
} else {
layer.alert(result.msg, {icon: 2})
setTimeout(function () {
enableForm();
}, 3000)
ajaxRequest(
url,
"POST",
params,
true,
function () {
disableForm();
},
function (result) {
layer.close(loadingMsg);
if (result.code === 200) {
layer.msg(result.msg, { icon: 1 });
setTimeout(function () {
closePage(1);
}, 3000);
} else {
layer.alert(result.msg, { icon: 2 });
setTimeout(function () {
enableForm();
}, 3000);
}
},
function (xhr) {
layer.close(loadingMsg);
enableForm();
error(xhr);
}
}, function (xhr) {
layer.close(loadingMsg);
enableForm();
error(xhr)
});
);
}
// 配置索道口、中转口
@ -189,7 +217,14 @@ function setLonAndLatData() {
let obj = {};
obj.id = proId;
obj.points = pointsStr;
openIframeByParamObj2("setLonAndLatData", "配置索道口、中转口、索道终点经纬度", "../../lineManagement/child/setLonAndLat.html", "92%", "95%", obj);
openIframeByParamObj2(
"setLonAndLatData",
"配置索道口、中转口、索道终点经纬度",
"../../lineManagement/child/setLonAndLat.html",
"92%",
"95%",
obj
);
}
function savePointData(str) {
@ -205,7 +240,7 @@ function closePage(type) {
let index = parent.layer.getFrameIndex(window.name);
parent.layer.close(index);
if (type === 1) {
parent.reloadData()
parent.parent.reloadData()
parent.reloadData();
parent.parent.reloadData();
}
}

View File

@ -212,6 +212,7 @@ function addData(id) {
);
}
// 新增索道
function addDataRopeway(id) {
let title = "新增";
let param = {

View File

@ -1,62 +1,73 @@
let form, layer, table, tableIns;
let pageNum = 1, limitSize = 10; // 默认第一页分页数量为10
let pageNum = 1,
limitSize = 10; // 默认第一页分页数量为10
layui.use(['form', 'layer', 'table', 'laydate'], function () {
layui.use(["form", "layer", "table", "laydate"], function () {
form = layui.form;
layer = layui.layer;
table = layui.table;
layui.form.render();
let proStatusData = getDistinctListByParentCode({dictCode: "pro_status"});
setSelectValueNameCode(proStatusData, "proStatus","请选择状态")
let proStatusData = getDistinctListByParentCode({ dictCode: "pro_status" });
setSelectValueNameCode(proStatusData, "proStatus", "请选择状态");
pages(1, 10, 1);
})
});
function pages(pageNum, pageSize, typeNum) {
let params = getReqParams(pageNum, pageSize, typeNum);
let url = dataUrl + "/tbProject/getTbProjectList"
ajaxRequest(url, "POST", params, true, function () {
}, function (result) {
console.log(result);
if (result.code === 200) {
if (result.data) {
initTable(result.data, result.limit, result.curr)
laypages(result.count, result.curr, result.limit)
let url = dataUrl + "/tbProject/getTbProjectList";
ajaxRequest(
url,
"POST",
params,
true,
function () {},
function (result) {
console.log(result);
if (result.code === 200) {
if (result.data) {
initTable(result.data, result.limit, result.curr);
laypages(result.count, result.curr, result.limit);
}
} else if (result.code === 500) {
layer.alert(result.msg, { icon: 2 });
}
} else if (result.code === 500) {
layer.alert(result.msg, {icon: 2})
},
function (xhr) {
error(xhr);
}
}, function (xhr) {
error(xhr)
});
);
}
function laypages(total, page, limit) {
layui.use(['laypage'], function () {
layui.use(["laypage"], function () {
let laypage = layui.laypage;
laypage.render({
elem: 'voi-page',
elem: "voi-page",
count: total,
curr: page,
limit: limit,
limits: [10, 20, 50, 100, 200, 500],
layout: ['prev', 'page', 'next', 'skip', 'count', 'limit'],
layout: ["prev", "page", "next", "skip", "count", "limit"],
groups: 5,
jump: function (obj, first) {
if (!first) {
pageNum = obj.curr, limitSize = obj.limit;
(pageNum = obj.curr), (limitSize = obj.limit);
pages(obj.curr, obj.limit, null);
}
}
},
});
})
});
}
/*初始化表格*/
function initTable(dataList, limit, page) {
let loadingMsg = layer.msg("数据加载中,请稍候...", {icon: 16, scrollbar: false, time: 0,});
let loadingMsg = layer.msg("数据加载中,请稍候...", {
icon: 16,
scrollbar: false,
time: 0,
});
tableIns = table.render({
elem: "#table_data",
height: "full-130",
@ -66,122 +77,234 @@ function initTable(dataList, limit, page) {
[
//表头
{
title: "序号", width: 80, unresize: true, align: "center",
title: "序号",
width: 80,
unresize: true,
align: "center",
templet: function (d) {
return (page - 1) * limit + d.LAY_INDEX;
}
},
},
{field: "departName", title: "所属项目部", width: 180, unresize: true, align: "center"},
{field: "proName", title: "线路工程名称",width: 180, unresize: true, align: "center"},
{field: "voltageLevel", title: "电压等级",width: 180, unresize: true, align: "center"},
{field: "lineLength", title: "线路长度km",width: 200, unresize: true, align: "center"},
{field: "", title: "计划起止时间",width: 180, unresize: true, align: "center",
{
field: "departName",
title: "所属项目部",
width: 180,
unresize: true,
align: "center",
},
{
field: "proName",
title: "线路工程名称",
width: 180,
unresize: true,
align: "center",
},
{
field: "voltageLevel",
title: "电压等级",
width: 180,
unresize: true,
align: "center",
},
{
field: "lineLength",
title: "线路长度km",
width: 200,
unresize: true,
align: "center",
},
{
field: "",
title: "计划起止时间",
width: 180,
unresize: true,
align: "center",
templet: function (d) {
let html="";
if(d.planStartTime){
let html = "";
if (d.planStartTime) {
html = d.planStartTime;
}
if(d.planEndTime){
if (d.planEndTime) {
html += "~" + d.planEndTime;
}
return html;
}
},
},
{field: "address", title: "工程地址 ",width: 180, unresize: true, align: "center"},
{field: "proStatus", title: "工程状态 ",width: 180, unresize: true, align: "center"},
{field: "", title: "杆塔数量 ",width: 130, unresize: true, align: "center",
{
field: "address",
title: "工程地址 ",
width: 180,
unresize: true,
align: "center",
},
{
field: "proStatus",
title: "工程状态 ",
width: 180,
unresize: true,
align: "center",
},
{
field: "",
title: "杆塔数量 ",
width: 130,
unresize: true,
align: "center",
templet: function (d) {
let num = 0;
if (d.tbTowerVoList) {
num = d.tbTowerVoList.length;
}
let html = "<a class=\"layui-icon\" style='cursor:pointer;' title='杆塔管理' onclick=\"addTower('" + d.id + "')\">"+num+"</a>";
let html =
"<a class=\"layui-icon\" style='cursor:pointer;' title='杆塔管理' onclick=\"addTower('" +
d.id +
"')\">" +
num +
"</a>";
return html;
}
},
},
{field: "", title: "“三跨”数量 ",width: 150, unresize: true, align: "center",
{
field: "",
title: "“三跨”数量 ",
width: 150,
unresize: true,
align: "center",
templet: function (d) {
let num = 0;
if (d.tbThreeSpanVoList) {
num = d.tbThreeSpanVoList.length;
}
let html = "<a class=\"layui-icon\" style='cursor:pointer;' title='“三跨”管理' onclick=\"addThreeSpan('" + d.id + "')\">"+num+"</a>";
let html =
"<a class=\"layui-icon\" style='cursor:pointer;' title='“三跨”管理' onclick=\"addThreeSpan('" +
d.id +
"')\">" +
num +
"</a>";
return html;
}
},
},
{
field: "", title: "索道数量 ",width: 130, unresize: true, align: "center",
field: "",
title: "索道数量 ",
width: 130,
unresize: true,
align: "center",
templet: function (d) {
let num = 0;
if (d.tbCablewaTransVoList) {
num = d.tbCablewaTransVoList.length;
}
let html = "<a class=\"layui-icon\" style='cursor:pointer;' title='索道运输' onclick=\"addRopeway('" + d.id + "')\">"+num+"</a>";
let html =
"<a class=\"layui-icon\" style='cursor:pointer;' title='索道运输' onclick=\"addRopeway('" +
d.id +
"')\">" +
num +
"</a>";
return html;
}
},
},
{
title: "操作", unresize: true, width: 500, align: "center",
title: "操作",
unresize: true,
width: 500,
align: "center",
templet: function (d) {
let html = "";
let tower =
"<a class=\"layui-icon layui-icon-set\" style='cursor:pointer;' title='杆塔管理' onclick=\"addTower('" +
d.id +
"')\">杆塔管理</a>";
let threeSpan =
"<a class=\"layui-icon layui-icon-set\" style='cursor:pointer;' title='“三跨”管理' onclick=\"addThreeSpan('" +
d.id +
"')\">三跨管理</a>";
let ropeway =
"<a class=\"layui-icon layui-icon-set\" style='cursor:pointer;' title='索道运输' onclick=\"addRopeway('" +
d.id +
"')\">索道运输</a>";
let del =
"<a class=\"layui-icon layui-icon-delete\" style='cursor:pointer;' title='删除' onclick=\"delData('" +
d.id +
"')\">删除</a>";
let edit =
"<a class=\"layui-icon layui-icon-edit\" style='cursor:pointer;' title='修改' onclick=\"addData('" +
d.id +
"')\">修改</a>";
// html = tower + threeSpan + ropeway + edit + del;
let html = '';
let tower = "<a class=\"layui-icon layui-icon-set\" style='cursor:pointer;' title='杆塔管理' onclick=\"addTower('" + d.id + "')\">杆塔管理</a>";
let threeSpan = "<a class=\"layui-icon layui-icon-set\" style='cursor:pointer;' title='“三跨”管理' onclick=\"addThreeSpan('" + d.id + "')\">三跨管理</a>";
let ropeway = "<a class=\"layui-icon layui-icon-set\" style='cursor:pointer;' title='索道运输' onclick=\"addRopeway('" + d.id + "')\">索道运输</a>";
let del = "<a class=\"layui-icon layui-icon-delete\" style='cursor:pointer;' title='删除' onclick=\"delData('" + d.id + "')\">删除</a>"
let edit = "<a class=\"layui-icon layui-icon-edit\" style='cursor:pointer;' title='修改' onclick=\"addData('" + d.id + "')\">修改</a>";
html = tower + threeSpan + ropeway + edit + del;
// 下拉菜单 HTML
let transportDropdown = `
<div class="btn-group" >
<a class="layui-icon layui-icon-set" style=" color: #2f82fb;" onclick=\"addTransport( ${d.id})\">运输方式</a>
<ul class="btn-group-ul" id="transport-dropdown-ul-${d.id}">
<li><a style=" color: #2f82fb;" onclick=\"addRopeway(${d.id})\">索道运输</a></li>
<li><a style=" color: #2f82fb;" onclick=\"addRoadTransport(${d.id})\">公路运输</a></li>
<li><a style=" color: #2f82fb;" onclick=\"addRailwayTransport(${d.id})\">千张场地</a></li>
</ul>
</div>
`;
html =
tower + threeSpan + transportDropdown + edit + del;
if (d.delFlag == 1) {
return '';
return "";
}
return html;
}
},
},
],
],
done: function (res, curr, count) {
layer.close(loadingMsg);
table.resize("table_data");
count || this.elem.next(".layui-table-view").find(".layui-table-header").css("display", "inline-block");
count || this.elem.next(".layui-table-view").find(".layui-table-box").css("overflow", "auto");
count ||
this.elem
.next(".layui-table-view")
.find(".layui-table-header")
.css("display", "inline-block");
count ||
this.elem
.next(".layui-table-view")
.find(".layui-table-box")
.css("overflow", "auto");
},
});
}
// 获取参数
function getReqParams(page, limit, type) {
let obj = {};
if (type === 2) {
$('#departName').val('');
$('#proName').val('');
$('#proStatus').val('');
$("#departName").val("");
$("#proName").val("");
$("#proStatus").val("");
layui.form.render();
}
obj = {
page: page + "",
limit: limit + "",
departName: $('#departName').val(),
proName: $('#proName').val(),
proStatus: $('#proStatus').val(),
departName: $("#departName").val(),
proName: $("#proName").val(),
proStatus: $("#proStatus").val(),
};
console.log("线路工程管理查询条件", obj);
obj = {
encryptedData: encryptCBC(JSON.stringify(obj)),
};
console.log("线路工程管理查询条件", obj)
obj={
encryptedData:encryptCBC(JSON.stringify(obj))
}
return obj;
}
// 查询/重置
function query(type) {
pageNum = 1;
if(type === 2){
$('#departName').val('');
$('#proName').val('');
$('#proStatus').val('');
if (type === 2) {
$("#departName").val("");
$("#proName").val("");
$("#proStatus").val("");
layui.form.render();
}
pages(1, limitSize,type);
pages(1, limitSize, type);
}
function reloadData() {
@ -190,118 +313,204 @@ function reloadData() {
// 修改用户
function addData(id) {
let title = '修改'
let title = "修改";
let param = {
'id': id
}
openIframe2("editPro", title, "child/lineFormTemp.html", '1000px', '625px', param);
id: id,
};
openIframe2(
"editPro",
title,
"child/lineFormTemp.html",
"1000px",
"625px",
param
);
}
function addDataPro(id) {
let title = '新增'
let title = "新增";
let param = {
'id': id
}
openIframe2("addDataPro", title, "child/lineFormTemp.html", '1000px', '625px', param);
id: id,
};
openIframe2(
"addDataPro",
title,
"child/lineFormTemp.html",
"1000px",
"625px",
param
);
}
/*删除用户*/
function delData(id) {
layer.confirm("确定删除吗?", {
move: false
}, function () {
let loadingMsg = layer.msg('数据删除中,请稍候...', {icon: 16, scrollbar: false, time: 0});
let url = dataUrl + "/tbProject/delTbProject";
let params = {
'id': id
layer.confirm(
"确定删除吗?",
{
move: false,
},
function () {
let loadingMsg = layer.msg("数据删除中,请稍候...", {
icon: 16,
scrollbar: false,
time: 0,
});
let url = dataUrl + "/tbProject/delTbProject";
let params = {
id: id,
};
params = {
encryptedData: encryptCBC(JSON.stringify(params)),
};
ajaxRequest(
url,
"POST",
params,
true,
function () {},
function (result) {
layer.close(loadingMsg); // 关闭提示层
if (result.code === 200) {
parent.layer.msg(result.msg, { icon: 1 });
query();
} else if (result.code === 500) {
layer.alert(result.msg, { icon: 2 });
}
},
function (xhr) {
layer.close(loadingMsg); // 关闭提示层
error(xhr);
}
);
}
params = {
encryptedData: encryptCBC(JSON.stringify(params))
}
ajaxRequest(url, "POST", params, true, function () {
}, function (result) {
layer.close(loadingMsg); // 关闭提示层
if (result.code === 200) {
parent.layer.msg(result.msg, {icon: 1})
query()
} else if (result.code === 500) {
layer.alert(result.msg, {icon: 2})
}
}, function (xhr) {
layer.close(loadingMsg); // 关闭提示层
error(xhr)
});
})
);
}
// 启用/停用/解除锁定
function editUserAccountStatus(id, status, type) {
let url = dataUrl + "/sys/user/editUserAccountStatus?token=" + token;
let params = {
'id': id,
'accountStatus': status,
'type': type
}
ajaxRequest(url, "POST", params, true, function () {
}, function (result) {
if (result.code === 200) {
if (type) {
reloadData();
id: id,
accountStatus: status,
type: type,
};
ajaxRequest(
url,
"POST",
params,
true,
function () {},
function (result) {
if (result.code === 200) {
if (type) {
reloadData();
}
parent.layer.msg(result.msg, { icon: 1 });
} else if (result.code === 500) {
layer.alert(result.msg, { icon: 2 });
}
parent.layer.msg(result.msg, {icon: 1})
} else if (result.code === 500) {
layer.alert(result.msg, {icon: 2})
},
function (xhr) {
error(xhr);
}
}, function (xhr) {
error(xhr)
});
);
}
// 管理员修改密码
function resetPwd(id) {
let param = {
'id': id,
'type': '1'
}
openIframe2("addOrEditUnifyUser", '修改密码', "password.html", '770px', '400px', param);
id: id,
type: "1",
};
openIframe2(
"addOrEditUnifyUser",
"修改密码",
"password.html",
"770px",
"400px",
param
);
}
function addTower(id){
function addTower(id) {
let param = {
'id': id
}
openIframe2("tower", '杆塔管理', "child/towerList.html", '92%', '95%', param);
id: id,
};
openIframe2(
"tower",
"杆塔管理",
"child/towerList.html",
"92%",
"95%",
param
);
}
function addThreeSpan(id){
function addThreeSpan(id) {
let param = {
'id': id
}
openIframe2("threeSpan", '“三跨”管理', "child/threeSpanList.html", '92%', '95%', param);
id: id,
};
openIframe2(
"threeSpan",
"“三跨”管理",
"child/threeSpanList.html",
"92%",
"95%",
param
);
}
function addRopeway(id){
function addRopeway(id) {
let param = {
'id': id
}
openIframe2("ropeway", '索道运输', "child/ropewayList.html", '92%', '95%', param);
id: id,
};
openIframe2(
"ropeway",
"索道运输",
"child/ropewayList.html",
"92%",
"95%",
param
);
}
function exportPro(){
// 点击下拉选
function addTransport(id) {
// 先把其他行的下拉菜单隐藏
// 显示隐藏下拉菜单 判断是否显示
if ($("#transport-dropdown-ul-" + id).is(":visible")) {
$(".btn-group-ul").hide();
} else {
$(".btn-group-ul").hide();
$("#transport-dropdown-ul-" + id).show(200);
}
}
function exportPro() {
let obj = {
departName: $('#departName').val(),
proName: $('#proName').val(),
proStatus: $('#proStatus').val(),
}
departName: $("#departName").val(),
proName: $("#proName").val(),
proStatus: $("#proStatus").val(),
};
let params = {
encryptedData: encryptCBC(JSON.stringify(obj))
}
let loadingMsg = layer.msg("数据导出中,请稍候...", {icon: 16, scrollbar: false, time: 0,});
let url = dataUrl + "/tbProject/tbProjectExport?token=" + tokens + "&encryptedData=" + encodeURIComponent(encryptCBC(JSON.stringify(obj)));
encryptedData: encryptCBC(JSON.stringify(obj)),
};
let loadingMsg = layer.msg("数据导出中,请稍候...", {
icon: 16,
scrollbar: false,
time: 0,
});
let url =
dataUrl +
"/tbProject/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.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
xhr.onload = function () {
layer.close(loadingMsg);
if (this.status === 200) {
@ -311,7 +520,11 @@ function exportPro(){
a.href = url;
a.download = "线路工程管理" + ".xlsx"; // 文件名
} else {
layer.msg("数据导出发生异常,请稍后重试", {icon: 16, scrollbar: false, time: 2000});
layer.msg("数据导出发生异常,请稍后重试", {
icon: 16,
scrollbar: false,
time: 2000,
});
}
a.click();
window.URL.revokeObjectURL(url);

View File

@ -1,10 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<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/dtree/dtree.css">
<link href="../../../../js/layui-v2.6.8/formSelects-v4.css" rel="stylesheet" type="text/css"/>
<link href="../../../../js/layui-v2.6.8/formSelects-v4.css" rel="stylesheet" type="text/css" />
<link rel="stylesheet" href="../../../../js/layui-v2.6.8/dtree/font/dtreefont.css">
<link rel="stylesheet" href="../../../../css/dataForm.css">
<title>线路工程管理-索道运输-新增/修改</title>
@ -12,77 +13,80 @@
.layui-form-item {
margin-bottom: 15px;
}
.layui-input-inline {
width: 420px;
}
.required-mark {
color: #FF5722;
}
</style>
</head>
<body>
<div id="main-box">
<form class="layui-form" lay-filter="ropewayForm" onsubmit="return false;">
<input type="hidden" name="id" id="id">
<div id="main-box">
<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%;">
<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>
</select>
<div class="layui-form-item" style="margin-top: 2%;">
<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>
</select>
</div>
</div>
</div>
<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="cablewayLength" lay-verify="required|number" autocomplete="off"
placeholder="请输入" class="layui-input" maxlength="10">
<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="cablewayLength" lay-verify="required|number" autocomplete="off"
placeholder="请输入" class="layui-input" maxlength="10">
</div>
</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="maxHeight" lay-verify="required|number" autocomplete="off"
placeholder="请输入" class="layui-input" maxlength="10">
<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="maxHeight" lay-verify="required|number" autocomplete="off"
placeholder="请输入" class="layui-input" maxlength="10">
</div>
</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="safetyDistance" lay-verify="required|number" autocomplete="off"
placeholder="请输入" class="layui-input" maxlength="10">
<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="safetyDistance" lay-verify="required|number" autocomplete="off"
placeholder="请输入" class="layui-input" maxlength="10">
</div>
</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="maxSlope" lay-verify="required|number" autocomplete="off"
placeholder="请输入" class="layui-input" maxlength="10">
<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="maxSlope" lay-verify="required|number" autocomplete="off" placeholder="请输入"
class="layui-input" maxlength="10">
</div>
</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="cablewayWidth" lay-verify="required|number" autocomplete="off"
placeholder="请输入" class="layui-input" maxlength="10">
<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="cablewayWidth" lay-verify="required|number" autocomplete="off"
placeholder="请输入" class="layui-input" maxlength="10">
</div>
</div>
</div>
<button type="submit" id="formSubmit" class="layui-btn" lay-submit lay-filter="formData"
<button type="submit" id="formSubmit" class="layui-btn" lay-submit lay-filter="formData"
style="display: none;"></button>
</form>
</div>
</form>
</div>
<div class="btn-box">
<button class="layui-btn layui-btn-normal save" onclick="setLonAndLatData()">配置索道口、中转口、索道终点经纬度</button>
<button class="layui-btn layui-btn-normal save" onclick="saveData2()">确定</button>
<button class="layui-btn layui-btn-primary cancel" onclick="closePage()">取消</button>
</div>
<div class="btn-box">
<button class="layui-btn layui-btn-normal save" onclick="setLonAndLatData()">配置索道口、中转口、索道终点经纬度</button>
<button class="layui-btn layui-btn-normal save" onclick="saveData2()">确定</button>
<button class="layui-btn layui-btn-primary cancel" onclick="closePage()">取消</button>
</div>
</body>
<script src="../../../../js/libs/jquery-3.7.0.min.js" charset="UTF-8" type="text/javascript"></script>
<script src="../../../../js/layui-v2.6.8/layui.js" charset="UTF-8" type="text/javascript"></script>
@ -93,4 +97,5 @@
<script src="../../../../js/my/aes.js"></script>
<script src="../../../../js/openIframe.js"></script>
<script src="../../../../js/basic/lineManagement/child/ropewayFormTemp.js"></script>
</html>

View File

@ -1,5 +1,6 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="../../../js/layui-v2.6.8/css/layui.css" media="all">
@ -13,54 +14,79 @@
<script src="../../../js/ajaxRequest.js"></script>
<script src="../../../js/select.js"></script>
<title>线路工程管理</title>
<style>
.btn-group-ul {
background: white;
display: none;
}
.btn-group-ul li {
padding: 8px 0;
font-size: 12px;
}
.btn-group-ul li:hover {
background-color: #f0f0f0;
}
</style>
</head>
<body>
<div id="content">
<div class="basic-search-box layout">
<form class="layui-form basic-form" onsubmit="return false;">
<div class="layui-form-item">
<div class="layui-inline" style="padding: 0 0 0 10px;">
<div class="layui-input-inline">
<input type="text" id="departName" name="departName" maxlength="30" class="layui-input" autocomplete="off" placeholder="请输入项目部名称">
<div id="content">
<div class="basic-search-box layout">
<form class="layui-form basic-form" onsubmit="return false;">
<div class="layui-form-item">
<div class="layui-inline" style="padding: 0 0 0 10px;">
<div class="layui-input-inline">
<input type="text" id="departName" name="departName" maxlength="30" class="layui-input"
autocomplete="off" placeholder="请输入项目部名称">
</div>
<div class="layui-input-inline">
<input type="text" id="proName" name="proName" maxlength="30" class="layui-input"
autocomplete="off" placeholder="请输入工程名称">
</div>
<div class="layui-input-inline">
<select id="proStatus" name="proStatus" lay-filter="proStatus" lay-search="">
</select>
</div>
</div>
<div class="layui-input-inline">
<input type="text" id="proName" name="proName" maxlength="30" class="layui-input" autocomplete="off" placeholder="请输入工程名称">
</div>
<div class="layui-inline btns">
<button type="button" class="layui-btn layui-btn-normal layui-btn-sm btn-1"
onclick="query(1)">查询
</button>
<button type="button" class="layui-btn layui-btn-normal layui-btn-sm btn-1"
onclick="query(2)">重置
</button>
<button type="button" class="layui-btn layui-btn-primary layui-btn-sm btn-1"
style="background-color: #00377A;color: #ffffff" onclick="exportPro()">
<div class="layout" style="justify-content: space-around;">
<p>导出</p>
</div>
</button>
<div class="layui-input-inline">
<select id="proStatus" name="proStatus" lay-filter="proStatus" lay-search="">
<button type="button" class="layui-btn layui-btn-primary layui-btn-sm btn-2"
style="background-color: #00377A;color: #ffffff" onclick="addDataPro(null)">
<div class="layout" style="justify-content: space-around;">
<p>新增工程</p>
</div>
</button>
</select>
</div>
</div>
<div class="layui-inline btns">
<button type="button" class="layui-btn layui-btn-normal layui-btn-sm btn-1" onclick="query(1)">查询
</button>
<button type="button" class="layui-btn layui-btn-normal layui-btn-sm btn-1" onclick="query(2)">重置
</button>
<button type="button" class="layui-btn layui-btn-primary layui-btn-sm btn-1" style="background-color: #00377A;color: #ffffff"
onclick="exportPro()">
<div class="layout" style="justify-content: space-around;">
<p>导出</p></div>
</button>
<button type="button" class="layui-btn layui-btn-primary layui-btn-sm btn-2" style="background-color: #00377A;color: #ffffff"
onclick="addDataPro(null)">
<div class="layout" style="justify-content: space-around;">
<p>新增工程</p></div>
</button>
</div>
</div>
</form>
</form>
</div>
<div class="table-box" table-responsive style="z-index: 1;">
<table id="table_data" class="table" lay-filter="table_data"></table>
<div id="voi-page" class="layout"></div>
</div>
</div>
<div class="table-box" table-responsive style="z-index: 1;">
<table id="table_data" class="table" lay-filter="table_data"></table>
<div id="voi-page" class="layout"></div>
</div>
</div>
</body>
<script type="text/javascript" src="../../../js/basic/lineManagement/lineList.js"></script>
</html>