2025-11-27 16:55:35 +08:00
|
|
|
|
layui.config({
|
|
|
|
|
|
base: '../../js/layuiModules/', // 第三方模块所在目录
|
|
|
|
|
|
version: 'v1.6.4' // 插件版本号
|
|
|
|
|
|
}).extend({
|
|
|
|
|
|
soulTable: 'notice,layNotify', // 模块
|
|
|
|
|
|
});
|
|
|
|
|
|
let form;
|
|
|
|
|
|
var tree;
|
|
|
|
|
|
var table;
|
|
|
|
|
|
var notice;
|
|
|
|
|
|
var layNotify;
|
|
|
|
|
|
var oldKeyWord = "";
|
|
|
|
|
|
var orgId = "";
|
|
|
|
|
|
var statusId = "";
|
|
|
|
|
|
var volLevelIds = "";
|
2025-12-05 15:39:43 +08:00
|
|
|
|
const token = localStorage.getItem("czl-token");
|
2025-11-27 16:55:35 +08:00
|
|
|
|
let pers = checkPermission();
|
|
|
|
|
|
$("#resetBt").click(function(){
|
|
|
|
|
|
table.reload('menuTable', {
|
|
|
|
|
|
url: ctxPath + '/linePro/getFirmContentList'
|
|
|
|
|
|
, method: 'post' //方式默认是get
|
|
|
|
|
|
, page: true
|
|
|
|
|
|
, where: {
|
|
|
|
|
|
keyWord: '',
|
|
|
|
|
|
orgId: '',
|
|
|
|
|
|
volLevelIds: '',
|
|
|
|
|
|
statusId: '',
|
|
|
|
|
|
} //设定异步数据接口的额外参数
|
|
|
|
|
|
});
|
|
|
|
|
|
$("#keyWord").val('');
|
|
|
|
|
|
$("#statusId").val('');
|
|
|
|
|
|
getOrgName(form,"");
|
|
|
|
|
|
getVoltageLevel(form,"");
|
|
|
|
|
|
})
|
|
|
|
|
|
$("#searchBt").click(function(){
|
|
|
|
|
|
oldKeyWord = $("#keyWord").val();
|
|
|
|
|
|
orgId = $("#orgId").val();
|
|
|
|
|
|
volLevelIds = $("#volLevelIds").val();
|
|
|
|
|
|
statusId = $("#statusId").val();
|
|
|
|
|
|
table.reload('menuTable', {
|
|
|
|
|
|
url: ctxPath + '/linePro/getFirmContentList'
|
|
|
|
|
|
, method: 'post' //方式默认是get
|
|
|
|
|
|
, page: true
|
|
|
|
|
|
, where: {
|
|
|
|
|
|
keyWord: oldKeyWord,
|
|
|
|
|
|
orgId: orgId,
|
|
|
|
|
|
volLevelIds: volLevelIds,
|
|
|
|
|
|
statusId: statusId,
|
|
|
|
|
|
} //设定异步数据接口的额外参数
|
|
|
|
|
|
});
|
|
|
|
|
|
$("#keyWord").val(oldKeyWord);
|
|
|
|
|
|
$("#orgId").val(orgId);
|
|
|
|
|
|
$("#volLevelIds").val(volLevelIds);
|
|
|
|
|
|
$("#statusId").val(statusId);
|
|
|
|
|
|
})
|
|
|
|
|
|
$("#addBt").click(function(){
|
|
|
|
|
|
localStorage.setItem("id","")
|
|
|
|
|
|
localStorage.setItem('teamTypeId',"");
|
|
|
|
|
|
localStorage.setItem('voltageLevelId',"");
|
|
|
|
|
|
localStorage.setItem('teamName',"");
|
|
|
|
|
|
layerOpenFormForSencond("新增","./lineProjectForm.html");
|
|
|
|
|
|
})
|
|
|
|
|
|
$("#exportBt").click(function(){
|
|
|
|
|
|
oldKeyWord = $("#keyWord").val();
|
|
|
|
|
|
orgId = $("#orgId").val();
|
|
|
|
|
|
volLevelIds = $("#volLevelIds").val();
|
|
|
|
|
|
statusId = $("#statusId").val();
|
|
|
|
|
|
window.location.href = ctxPath + "/linePro/exportPhysicalCheckResult?"
|
|
|
|
|
|
+"orgId=" + orgId
|
|
|
|
|
|
+ "&volLevelIds=" + volLevelIds
|
|
|
|
|
|
+ "&keyWord=" + oldKeyWord
|
|
|
|
|
|
+ "&statusId=" + statusId
|
|
|
|
|
|
+ "&type=" + '1'
|
|
|
|
|
|
+ "&token=" + token; //下载文件
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
|
|
layui.use(['table', 'form','notice', 'layNotify'], function () {
|
|
|
|
|
|
table = layui.table;
|
|
|
|
|
|
form = layui.form;
|
|
|
|
|
|
tree = layui.tree;
|
|
|
|
|
|
notice = layui.notice;
|
|
|
|
|
|
layNotify = layui.layNotify;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if ($.inArray('sysFirmContent:add', pers) < 0) {
|
|
|
|
|
|
document.getElementById('addDiv').remove();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//渲染表格
|
|
|
|
|
|
table.render({
|
|
|
|
|
|
elem: '#demo'
|
|
|
|
|
|
, url: ctxPath + '/linePro/getFirmContentList' //数据接口
|
|
|
|
|
|
, method: 'post' //方式默认是get
|
|
|
|
|
|
, toolbar: 'default' //开启工具栏,此处显示默认图标,可以自定义模板,详见文档
|
|
|
|
|
|
, where: {} //post请求必须加where ,post请求需要的参数
|
|
|
|
|
|
, cellMinWidth: 80
|
|
|
|
|
|
, cols: [[ //表头
|
|
|
|
|
|
{
|
|
|
|
|
|
field: 'number', width:80,title: '序号', align: 'center', type: 'numbers'
|
|
|
|
|
|
}
|
|
|
|
|
|
, {field: 'branchName', align: 'center', title: '分公司'}
|
|
|
|
|
|
, {field: 'proName', align: 'center', title: '项目部'}
|
|
|
|
|
|
, {field: 'title', align: 'center', title: '工程名称'}
|
|
|
|
|
|
, {field: 'shortName', align: 'center', title: '工程简称'}
|
|
|
|
|
|
, {field: 'volLevel', align: 'center', title: '电压等级'}
|
|
|
|
|
|
, {field: 'lineLength', align: 'center', title: '线路长度(km)'}
|
|
|
|
|
|
,{field: 'volLevel', align: 'center', title: '经纬度', templet: function(d){
|
|
|
|
|
|
return d.longitude + ',' + d.latitude;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
, {field: 'startTime', align: 'center', title: '计划起止时间'}
|
|
|
|
|
|
, {field: 'endTime', align: 'center', title: '计划结束时间'}
|
|
|
|
|
|
, {field: 'proAddress', align: 'center', title: '项目地址'}
|
|
|
|
|
|
, {
|
|
|
|
|
|
field: 'proStatus', title: '项目状态', align: 'center', templet: d => {
|
|
|
|
|
|
let text = "";
|
|
|
|
|
|
if (d.proStatus === "1") {
|
|
|
|
|
|
text = "<span class='layui-badge-dot layui-bg-green'></span>在建";
|
|
|
|
|
|
} else if (d.proStatus === "2") {
|
|
|
|
|
|
text = "<span class='layui-badge-dot'></span>已完工";
|
|
|
|
|
|
}
|
|
|
|
|
|
return text;
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
fixed: 'right', width:180, title: '操作', align: 'center', templet: d => {
|
|
|
|
|
|
let text = "";
|
|
|
|
|
|
let proStatus = d.proStatus;
|
|
|
|
|
|
if ($.inArray('sysFirmContent:completed', pers) > 0) {
|
|
|
|
|
|
if (proStatus == "1") {
|
|
|
|
|
|
text +='<a lay-event="completed" style="color: #ffb800;cursor: pointer;font-size: 15px">完工</a>';
|
|
|
|
|
|
text +='<span lay-event="com" style="font-size: 15px;"> | </span>';
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
if ($.inArray('sysFirmContent:update', pers) > 0) {
|
|
|
|
|
|
text +='<a lay-event="update" style="color: #009688;cursor: pointer;font-size: 15px" id="updateBtn">修改</a>';
|
|
|
|
|
|
text +='<span lay-event="com" style="font-size: 15px;"> | </span>';
|
|
|
|
|
|
}
|
|
|
|
|
|
if ($.inArray('sysFirmContent:delete', pers) > 0) {
|
|
|
|
|
|
text +='<a lay-event="del" style="color: #009688;cursor: pointer;font-size: 15px" id="deleteBtn" >删除</a>';
|
|
|
|
|
|
}
|
|
|
|
|
|
return text;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
]]
|
|
|
|
|
|
, id: 'menuTable'
|
|
|
|
|
|
, page: true //开启分页
|
|
|
|
|
|
, loading: true //数据加载中。。。
|
|
|
|
|
|
, limits: [5, 10, 20] //一页选择显示3,5或10条数据
|
|
|
|
|
|
, limit: 10 //一页显示5条数据
|
|
|
|
|
|
, response: {
|
|
|
|
|
|
statusCode: 200 //规定成功的状态码,默认:0
|
|
|
|
|
|
}, parseData: function (res) { //将原始数据解析成 table 组件所规定的数据,res为从url中get到的数据
|
|
|
|
|
|
let result;
|
|
|
|
|
|
if (res.data !== '' && res.data != null && res.data !== "null") {
|
|
|
|
|
|
if (this.page.curr) {
|
|
|
|
|
|
result = res.data.slice(this.limit * (this.page.curr - 1), this.limit * this.page.curr);
|
|
|
|
|
|
} else {
|
|
|
|
|
|
result = res.data.slice(0, this.limit);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
return {
|
|
|
|
|
|
"code": res.code, //解析接口状态
|
|
|
|
|
|
"msg": res.msg, //解析提示文本
|
|
|
|
|
|
"count": res.count, //解析数据长度
|
|
|
|
|
|
"data": result, //解析数据列表
|
|
|
|
|
|
};
|
|
|
|
|
|
}
|
|
|
|
|
|
,toolbar: "#toolbar"
|
|
|
|
|
|
, done: function(res, curr, count) {
|
|
|
|
|
|
for (var i = 0; i < res.data.length; i++) {
|
|
|
|
|
|
// console.log('res.data[i]:', res.data[i])
|
|
|
|
|
|
var data = res.data[i];
|
|
|
|
|
|
data.planTime = data.startTime + ' ~ ' + data.endTime;
|
|
|
|
|
|
console.log('planTime:', data.planTime); // 打印 planTime 的值
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
//监听工具条
|
|
|
|
|
|
table.on('tool(test)', function (obj) {
|
|
|
|
|
|
var data = obj.data; //当前行数据
|
|
|
|
|
|
console.log(data)
|
|
|
|
|
|
var rowIndex = obj.index;
|
|
|
|
|
|
var layEvent = obj.event; //当前点击的事件名
|
|
|
|
|
|
var proProcess = data.proProcess;
|
|
|
|
|
|
if (layEvent === 'update') {
|
|
|
|
|
|
localStorage.setItem('id',data.id);
|
|
|
|
|
|
localStorage.setItem('title',data.title);
|
|
|
|
|
|
localStorage.setItem('voltageLevelId',data.voltageLevelId);
|
|
|
|
|
|
localStorage.setItem('teamName',data.teamName);
|
|
|
|
|
|
layerOpenFormForSencond("修改","./lineProjectForm.html");
|
|
|
|
|
|
}
|
|
|
|
|
|
if (layEvent === 'del') {
|
|
|
|
|
|
var indexs = layer.confirm('确定要删除吗?', {
|
|
|
|
|
|
btn : [ '确定', '取消' ]
|
|
|
|
|
|
}, function() {
|
|
|
|
|
|
// ajaxCommonMethod('/linePro/delProjectById',{'id': data.id});
|
|
|
|
|
|
$.ajax({
|
|
|
|
|
|
type: 'POST',
|
|
|
|
|
|
async: false, // 默认异步true,false表示同步
|
|
|
|
|
|
url: ctxPath + '/linePro/delProjectById',// 请求地址
|
|
|
|
|
|
contentType: "application/x-www-form-urlencoded",
|
|
|
|
|
|
dataType: 'json', // 服务器返回数据类型
|
|
|
|
|
|
data: {'id': data.id}, //获取提交的表单字段
|
|
|
|
|
|
success: function (data) {
|
|
|
|
|
|
var resMsg = data.resMsg;
|
|
|
|
|
|
layer.close(indexs);
|
|
|
|
|
|
if ("数据获取成功" === resMsg) {
|
|
|
|
|
|
reloadTip("删除","删除成功",'success');
|
|
|
|
|
|
} else if ("数据获取失败" === resMsg) {
|
|
|
|
|
|
reloadTip("删除","删除失败",'error');
|
|
|
|
|
|
}else{
|
|
|
|
|
|
reloadTip("删除",resMsg+",请先解除相应的绑定关系,在删除此工程!",'error');
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
});
|
|
|
|
|
|
table.reload('menuTable', {
|
|
|
|
|
|
url: ctxPath + '/linePro/getFirmContentList'
|
|
|
|
|
|
, method: 'post' //方式默认是get
|
|
|
|
|
|
, page: true
|
|
|
|
|
|
, where: {
|
|
|
|
|
|
keyWord: "",
|
|
|
|
|
|
status: "",
|
|
|
|
|
|
branchId: "",
|
|
|
|
|
|
}
|
|
|
|
|
|
});
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
if (layEvent === 'completed') {
|
|
|
|
|
|
layer.confirm('确定要更改项目状态?', {
|
|
|
|
|
|
btn : [ '确定', '取消' ]
|
|
|
|
|
|
}, function(index) {
|
|
|
|
|
|
if (proProcess.split('.')[0] == '100') {
|
|
|
|
|
|
const id = data.id;
|
|
|
|
|
|
$.ajax({
|
|
|
|
|
|
type: 'POST',
|
|
|
|
|
|
async: false, // 默认异步true,false表示同步
|
|
|
|
|
|
url: ctxPath + '/linePro/upCompletedById',// 请求地址
|
|
|
|
|
|
contentType: "application/x-www-form-urlencoded",
|
|
|
|
|
|
dataType: 'json', // 服务器返回数据类型
|
|
|
|
|
|
data: {'id': id}, //获取提交的表单字段
|
|
|
|
|
|
success: function (data) {
|
|
|
|
|
|
var resMsg = data.resMsg;
|
|
|
|
|
|
layer.close(index);
|
|
|
|
|
|
if ("数据获取成功" === resMsg) {
|
|
|
|
|
|
reloadTip("完工","完工成功",'success');
|
|
|
|
|
|
} else if ("数据获取失败" === resMsg) {
|
|
|
|
|
|
reloadTip("完工","完工失败",'error');
|
|
|
|
|
|
}else{
|
|
|
|
|
|
// reloadTip("完工",resMsg+",请先解除相应的绑定关系,在完工此工程!",'error');
|
|
|
|
|
|
forcedUnbinding(resMsg, id);
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
});
|
|
|
|
|
|
}else {
|
|
|
|
|
|
layer.close(index);
|
|
|
|
|
|
reloadTip("完工","当前项目的基础,组塔,架线还未全部完成!",'error');
|
|
|
|
|
|
}
|
|
|
|
|
|
// ajaxCommonMethod('/linePro/upCompletedById',{'id': data.id});
|
|
|
|
|
|
table.reload('menuTable');
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
// 单元格编辑事件
|
|
|
|
|
|
table.on('edit(test)', function (obj) {
|
|
|
|
|
|
var field = obj.field; // 得到字段
|
|
|
|
|
|
var value = obj.value; // 得到修改后的值
|
|
|
|
|
|
var oldValue = obj.oldValue;
|
|
|
|
|
|
var data = obj.data; // 得到所在行所有键值
|
|
|
|
|
|
var update = {};
|
|
|
|
|
|
|
|
|
|
|
|
// 值的校验
|
|
|
|
|
|
if (field === 'idNumber') {
|
|
|
|
|
|
if (value.length != 18) {
|
|
|
|
|
|
update[field] = oldValue;
|
|
|
|
|
|
obj.update(update);
|
|
|
|
|
|
layer.tips('输入的身份证不正确,请重新编辑', this, {tips: 1});
|
|
|
|
|
|
return obj.reedit(); // 重新编辑 -- v2.8.0 新增
|
|
|
|
|
|
} else {
|
|
|
|
|
|
update[field] = value;
|
|
|
|
|
|
obj.update(update);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
// 编辑后续操作,如提交更新请求,以完成真实的数据更新
|
|
|
|
|
|
// …
|
|
|
|
|
|
layer.msg('编辑成功', {icon: 1});
|
|
|
|
|
|
});
|
|
|
|
|
|
getOrgName(form,null);
|
|
|
|
|
|
getVoltageLevel(form, "");
|
|
|
|
|
|
|
|
|
|
|
|
document.getElementById("searchBt").classList.add("layui-none");
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function forcedUnbinding(resMsg, id){
|
|
|
|
|
|
layer.confirm('<span style="color: red;">' + '(' + resMsg + ') 没有解绑,是否强制解绑,强制解绑数据无法回退!</span>', {
|
|
|
|
|
|
icon: 7, // 警告图标
|
|
|
|
|
|
title: '警告',
|
|
|
|
|
|
closeBtn: 0, // 关闭按钮
|
|
|
|
|
|
btn: ['确定', '取消']
|
|
|
|
|
|
}, function(index) {
|
|
|
|
|
|
$.ajax({
|
|
|
|
|
|
type: 'POST',
|
|
|
|
|
|
async: false, // 默认异步true,false表示同步
|
|
|
|
|
|
url: ctxPath + '/linePro/upForcedUnbinding',// 请求地址
|
|
|
|
|
|
contentType: "application/x-www-form-urlencoded",
|
|
|
|
|
|
dataType: 'json', // 服务器返回数据类型
|
|
|
|
|
|
data: {'id': id}, //获取提交的表单字段
|
|
|
|
|
|
success: function (data) {
|
|
|
|
|
|
var resMsg = data.resMsg;
|
|
|
|
|
|
layer.close(index);
|
|
|
|
|
|
if ("数据获取成功" === resMsg) {
|
|
|
|
|
|
reloadTip("完工","完工成功",'success');
|
|
|
|
|
|
} else if ("数据获取失败" === resMsg) {
|
|
|
|
|
|
reloadTip("完工","完工失败",'error');
|
|
|
|
|
|
}
|
|
|
|
|
|
},error:function (data) {
|
|
|
|
|
|
layer.close(index);
|
|
|
|
|
|
reloadTip("完工","完工失败",'error');
|
|
|
|
|
|
}
|
|
|
|
|
|
});
|
|
|
|
|
|
table.reload('menuTable');
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// $(document).ready(function() {
|
|
|
|
|
|
// // 判断用户权限数组中是否包含指定权限
|
|
|
|
|
|
// // function hasPermission(permission, callback) {
|
|
|
|
|
|
// // getUserPermissions(function(permissions) {
|
|
|
|
|
|
// // var hasPermission = permissions.includes(permission);
|
|
|
|
|
|
// // callback(hasPermission);
|
|
|
|
|
|
// // });
|
|
|
|
|
|
// // }
|
|
|
|
|
|
//
|
|
|
|
|
|
// // // 获取用户权限数组
|
|
|
|
|
|
// // function getUserPermissions(callback) {
|
|
|
|
|
|
// // $.ajax({
|
|
|
|
|
|
// // type: 'POST',
|
|
|
|
|
|
// // async: false,
|
|
|
|
|
|
// // url: ctxPath + '/linePro/getPermissionList',
|
|
|
|
|
|
// // contentType: "application/x-www-form-urlencoded",
|
|
|
|
|
|
// // dataType: 'json',
|
|
|
|
|
|
// // data: {},
|
|
|
|
|
|
// // success: function(res) {
|
|
|
|
|
|
// // console.log('data:', res.data);
|
|
|
|
|
|
// // callback(res.data);
|
|
|
|
|
|
// // },
|
|
|
|
|
|
// // error: function(error) {
|
|
|
|
|
|
// // console.error('Failed to get user permissions:', error);
|
|
|
|
|
|
// // callback([]);
|
|
|
|
|
|
// // }
|
|
|
|
|
|
// // });
|
|
|
|
|
|
// // }
|
|
|
|
|
|
//
|
|
|
|
|
|
// // 根据权限来显示或隐藏按钮
|
|
|
|
|
|
// hasPermission('sysConfig:delete', function(hasDeletePermission) {
|
|
|
|
|
|
// debugger
|
|
|
|
|
|
// if (!hasDeletePermission) {
|
|
|
|
|
|
// $('#deleteBtn').css('display','none');
|
|
|
|
|
|
// }
|
|
|
|
|
|
// });
|
|
|
|
|
|
//
|
|
|
|
|
|
// hasPermission('sysConfig:update', function(hasUpdatePermission) {
|
|
|
|
|
|
// if (!hasUpdatePermission) {
|
|
|
|
|
|
// $('#updateBtn').hide();
|
|
|
|
|
|
// }
|
|
|
|
|
|
// });
|
|
|
|
|
|
//
|
|
|
|
|
|
// hasPermission('sysConfig:add', function(hasAddPermission) {
|
|
|
|
|
|
// debugger
|
|
|
|
|
|
// if (!hasAddPermission) {
|
|
|
|
|
|
// $('#addBtn').hide();
|
|
|
|
|
|
// }
|
|
|
|
|
|
// });
|
|
|
|
|
|
// });
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function reloadTip(tip,message,type){
|
|
|
|
|
|
layNotify.notice({
|
|
|
|
|
|
title: tip+"提示",
|
|
|
|
|
|
type: type,
|
|
|
|
|
|
message: message
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|