yn_hxy_web/hxy-web/js/wireManager/project/projectDetail.js

568 lines
15 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

var table,form,layer,element;
var parentData;
layui.use(['form','layer','table','element'], function () {
table = layui.table;
form = layui.form;
layer = layui.layer;
//杆塔信息
if(parentData.isTwo == '0'){
//单回路
initGmTableOne();
}else{
//双回路
var html = `<div class="layui-input-inline">
<select id="type" name="type" class="layui-select" lay-verify="required">
<option value="" >杆塔绑定状态</option>
<option value="1" >已绑定</option>
<option value="2" >未绑定</option>
</select>
</div>`
$("#two").append(html)
initGmTableTwo();
}
form.on('submit(resetGm)', function () {
console.log("重置")
$('#keyWord').val('');
$('#type').val('');
form.render("select");
let obj = {
keyWord:'',
type:'',
proId: parentData.proId
}
// 对表格进行重载。id 即 table表格的id
table.reload('gmTable', {
// //设定异步数据接口的额外参数
page:{curr : 1}
,where: obj
})
return false; // 阻止表单跳转。如果需要表单跳转,去掉这段即可。
});
initStaffTable();
});
//杆塔信息搜索
function queryClick1(){
var type = "";
if(parentData.isTwo == '1'){
//双回路
type = $("#type").val();
}
// 对表格进行重载。id 即 table表格的id
table.reload('layui_table', {
// //设定异步数据接口的额外参数
page:{curr : 1}
,where: {
'keyWord': $("#keyWord").val(),
'type': type,
'proId': parentData.proId
}
})
}
//重置
function resetClick1(){
//重置
$('#keyWord').val("");
$('#type').val("");
table.reload('layui_table', {
where: {
'keyWord': '',
'type': '',
'proId': parentData.proId
}
})
}
//新增杆塔
function addClick1(){
var height = '80%';
var width = '50%';
var index = layer.open({
title: ['新增', 'color:#3B70A1;background-color:#E8ECEB;font-size:20px'],
type: 2,
content: 'addTower.html',
area: [width, height],
maxmin: false,
success: function (layero, index) {
// //打开页面成功时执行
var myIframe = window[layero.find('iframe')[0]['name']];
myIframe.setData(parentData.proId);
},
yes: function (index, layero) {
// //提交子页面时执行
// // 获取弹出层中的form表单元素
// var formSubmit = layer.getChildFrame('form', index);
// var submited = formSubmit.find('button')[0];
// // 触发点击事件,会对表单进行验证,验证成功则提交表单,失败则返回错误信息
// // var myIframe = window[layero.find('iframe')[0]['name']];
// // myIframe.selectCheck(); //aaa()为子页面的方法
// submited.click();
// example.ajax.reload(); // 刷新页面
},
end: function(){
if(parentData.isTwo == '0'){
initGmTableOne()
}else{
initGmTableTwo()
}
}
});
}
//修改杆塔信息
function updClick1(){
var checkStatus = table.checkStatus('layui_table');
var data = checkStatus.data;
if(data.length == 0){
layer.msg("请勾选需要修改的数据", { icon: 0} );
return;
}
if(data.length > 1){
layer.msg("请勿勾选多个", { icon: 0} )
return;
}
var height = '80%';
var width = '50%';
var index = layer.open({
title: ['修改', 'color:#3B70A1;background-color:#E8ECEB;font-size:20px'],
type: 2,
content: 'updTower.html',
area: [width, height],
maxmin: false,
success: function (layero, index) {
// //打开页面成功时执行
var myIframe = window[layero.find('iframe')[0]['name']];
myIframe.setData(data, parentData.proId);
},
yes: function (index, layero) {
// //提交子页面时执行
// // 获取弹出层中的form表单元素
// var formSubmit = layer.getChildFrame('form', index);
// var submited = formSubmit.find('button')[0];
},
end: function(){
if(parentData.isTwo == '0'){
initGmTableOne()
}else{
initGmTableTwo()
}
}
});
}
//删除杆塔
function delClick1(){
var checkStatus = table.checkStatus('layui_table');
var data = checkStatus.data;
if(data.length == 0){
layer.msg("请勾选需要删除的数据", { icon: 0} );
return;
}
var gtIds = '';
if(data.length == 1){
gtIds = data[0].gtId;
}
if(data.length > 1){
for (var i = 0; i < data.length; i++) {
if(i < data.length - 1){
gtIds += data[i].gtId + ',';
}else{
gtIds += data[i].gtId;
}
}
}
var index = layer.confirm("确认删除吗?",{icon: 0},function(){
$.ajax({
type: 'POST',
url: PATH_URL + "/lineProject/delPowerId", // 请求地址
contentType: "application/json; charset=utf-8",
dataType: 'json', // 服务器返回数据类型
data: JSON.stringify({ "gtIds": gtIds, "proId": parentData.proId }), //获取提交的表单字段
success: function (data) {
if (data.code == 200) {
layer.msg("删除成功", { icon: 1 });
document.getElementById('powerNum').innerText = data.data.powerNum;
if(parentData.isTwo == '0'){
initGmTableOne()
}else{
initGmTableTwo()
}
//关闭弹框
layer.close(index); //再执行关闭
} else {
layer.alert(data.msg);
}
},
error: function (XMLHttpRequest, textStatus, e) {
top.layer.close(loadingMsg);
layer.msg('数据请求发生异常,请稍后重试', {icon: 16, scrollbar: false});
}
});
})
}
//导入杆塔信息
function importData1(){
var height = '99%';
var width = '50%';
var index = layer.open({
title: [`导入`, 'color:#3B70A1;background-color:#E8ECEB;font-size:20px'],
type: 2,
// content: 'child/orgInformation.html',
content: 'projectImport.html',
area: [width, height],
maxmin: false,
success: function (layero, index) {
var myIframe = window[layero.find('iframe')[0]['name']];
var json = {
type: '2',
proId: parentData.proId
}
myIframe.setParam(json)
},
yes: function (index, layero) {
},
end: function () {
if(parentData.isTwo == '0'){
initGmTableOne()
}else{
initGmTableTwo()
}
}
});
}
function setData(data){
$("#proId").val(data.proId);
$("#proName").val(data.proName);
var proName = data.proName;
if(proName.length > 8){
proName = proName.substring(0, 8) + '...'
}
$("#proName").text(proName);
$("#proName").attr('title', data.proName);
$(".isTwo").text(data.isTwo == '0'? '单回路': '双回路');
$("#powerNum").text(data.powerNum);
$("#lineNum").text(data.lineNum);
var proName1 = data.proName;
if(proName1.length > 50){
proName1 = proName1.substring(0, 50) + '...'
}
$("#lineProName").text(proName1);
$("#lineProName").attr('title', data.proName);
$("#yjName").text(data.fgsName + ' / ' + data.yjName);
$("#volLevel").text(data.volLevel + 'kV');
parentData = data;
}
// 渲染杆塔表格 单回路
function initGmTableOne(){
table.render({
id: 'layui_table',
elem: '#gmTable',
url: PATH_URL + '/lineProject/getDetailsPowerList',
where: {
proId: parentData.proId
},
page: true, //开启分页
method:'post',
skin: 'line', // 表格样式
cols: [[
{
type: 'checkbox',
templet: function(d){
// 根据条件决定是否渲染多选框
return '<input type="checkbox" disabled />';
}
},
{
title: '序号',
field: 'zizeng',
align: 'center',
type: 'numbers'
},
{field:'gtName', title: '杆塔名称',align: 'center',},
{field:'gtUserName', title: '护线员 (来源:人员合同)',align: 'center',},
]],
done: function(res,curr,count){
//我这里是封装过talbe所以是res.rows需要打印出自己的res是什么
for (var i in res.data) {
let item = res.data[i];
if(item.isTower == '1'){
// checkbox 根据条件设置不可选中
$('tr[data-index=' + i + '] input[type="checkbox"]').prop('disabled', true);
//重新渲染
form.render();
}
}
}
});
}
// 渲染杆塔表格 双回路
function initGmTableTwo(){
table.render({
id: 'layui_table',
elem: '#gmTable',
url: PATH_URL + '/lineProject/getDetailsPowerList',
where: {
proId: parentData.proId
},
page: true, //开启分页
method:'post',
skin: 'line', // 表格样式
cols: [[
{
type: 'checkbox'
},
{
title: '序号',
field: 'zizeng',
align: 'center',
type: 'numbers'
},
{field:'gtName', title: '杆塔名称',align: 'center',},
{field:'gtUserName', title: '护线员 (来源:人员合同)',align: 'center',},
{field:'gtTwoName', title: '对应双回路杆塔',align: 'center',},
{field:'gtTwoUserName', title: '对应双回路杆塔护线员',align: 'center',},
{
title: '操作(双回路杆塔设置)',
field: '',
align: 'center',
templet: function(d){
var gtTwoName = d.gtTwoName;
var gtId = d.gtId;
var gtName = d.gtName;
var gtTwoId = d.gtTwoId;
if(gtTwoName == 'null' || gtTwoName == null){
html = `<button class="layui-btn layui-btn-sm layui-bg-orange" onclick="setUpGt('${ gtId }', '${ gtName }')">设置</button>`
}else{
html = `<button class="layui-btn layui-btn-sm layui-btn-primary" onclick="cancelGt('${ gtId }', '${ gtTwoId }')">取消</button>`
}
// 返回模板内容
return html;
}
}
]],
done: function(res,curr,count){
//我这里是封装过talbe所以是res.rows需要打印出自己的res是什么
for (var i in res.data) {
let item = res.data[i];
if(item.isTower == '1'){
// checkbox 根据条件设置不可选中
$('tr[data-index=' + i + '] input[type="checkbox"]').prop('disabled', true);
//重新渲染
form.render();
}
}
}
});
}
//设置杆塔
function setUpGt(gtId, gtName){
var height = '98%';
var width = '30%';
var index = parent.layer.open({
title: ['选择双回路杆塔', 'color:#3B70A1;background-color:#E8ECEB;font-size:20px'],
type: 2,
content: 'setUpGt.html',
area: [width, height],
maxmin: false,
success: function (layero, index) {
// //打开页面成功时执行
var myIframe = parent.window[layero.find('iframe')[0]['name']];
var proId = $("#proId").val();
var proName = $("#proName").val();
//getTaskSource()为子页面的方法
myIframe.setData(gtId,gtName,proId,proName);
},
yes: function (index, layero) {
// //提交子页面时执行
// // 获取弹出层中的form表单元素
// var formSubmit = layer.getChildFrame('form', index);
// var submited = formSubmit.find('button')[0];
// // 触发点击事件,会对表单进行验证,验证成功则提交表单,失败则返回错误信息
// // var myIframe = window[layero.find('iframe')[0]['name']];
// // myIframe.selectCheck(); //aaa()为子页面的方法
// submited.click();
// example.ajax.reload(); // 刷新页面
},
end: function(){
initGmTableTwo();
}
});
}
//取消设置
function cancelGt(gtId, gtTwoId){
var index = layer.confirm("确认取消吗?", { icon: 0 }, function(){
$.ajax({
type: 'POST',
url: PATH_URL + '/lineProject/delGtRelId',
contentType: "application/json; charset=utf-8",
data: JSON.stringify({
gtId: gtId,
gtTwoId: gtTwoId
}),
success: function (data) {
if(data.code == 200){
parent.layer.msg("取消成功", { icon: 1 });
layer.close(index);
initGmTableTwo();
}else{
layer.alert(data.msg);
}
},
error: function (XMLHttpRequest, textStatus, e) {
layer.close(loadingMsg);
layer.msg('数据请求发生异常,请稍后重试', {icon: 16, scrollbar: false});
}
});
})
}
//杆塔信息搜索
function queryClick2(){
// 对表格进行重载。id 即 table表格的id
table.reload('layui_table2', {
// //设定异步数据接口的额外参数
page:{curr : 1}
,where: {
'userName': $("#userName").val()
}
})
}
//重置
function resetClick2(){
//重置
$('#userName').val("");
table.reload('layui_table2', {
where: {
'userName': '',
}
})
}
// 渲染人员表格
function initStaffTable(){
table.render({
id: 'layui_table2',
elem: '#staffTable',
url: PATH_URL + "/personbase/getList",
where: {
},
page: true, //开启分页
method:'post',
skin: 'line', // 表格样式
cols: [[
{
type: 'checkbox'
},
{
title: '序号',
field: 'zizeng',
align: 'center',
type: 'numbers'
},
{field:'userName', title: '姓 名',align: 'center',width:100},
{field:'idNumber', title: '身份证号',align: 'center',},
{field:'tel', title: '联系电话',align: 'center',width:120},
{field:'proName', title: '管辖线路名称',align: 'center',width:350},
{field:'gtName', title: '范围、基数',align: 'center',width:350},
{field:'startTime', title: '协议起始日期',align: 'center',width:140},
{field:'endTime', title: '协议终止日期',align: 'center',width:140}
]],
done: function(res,curr,count){
//checkPermission();
}
});
}
function editProject(){
window.parent.updateView(parentData.proId);
}
function projectAddUser(){
var height = '98%';
var width = '90%';
var index = layer.open({
title: ['新增人员', 'color:#3B70A1;background-color:#E8ECEB;font-size:20px'],
type: 2,
content: '../staff/staffAdd.html',
area: [width, height],
maxmin: false,
success: function (layero, index) {
// //打开页面成功时执行
var myIframe = window[layero.find('iframe')[0]['name']];
//getTaskSource()为子页面的方法
// myIframe.getTaskSource("taskSourceId","");
},
yes: function (index, layero) {
// //提交子页面时执行
// // 获取弹出层中的form表单元素
// var formSubmit = layer.getChildFrame('form', index);
// var submited = formSubmit.find('button')[0];
// // 触发点击事件,会对表单进行验证,验证成功则提交表单,失败则返回错误信息
// // var myIframe = window[layero.find('iframe')[0]['name']];
// // myIframe.selectCheck(); //aaa()为子页面的方法
// submited.click();
// example.ajax.reload(); // 刷新页面
}
});
}
//导出杆塔信息
function exportData1() {
var keyWord = $("#keyWord").val();
var type = '';
var path = '';
if(parentData.isTwo == '0'){
type = '';
path = 'exportPowerDataOne';
}else{
type = $("#type").val();
path = 'exportPowerDataTwo';
}
var proId = parentData.proId;
window.location.href = PATH_URL + `/lineProject/${path}?token=` + token
+ "&keyWord=" + keyWord
+ "&type=" + type
+ "&proId=" + proId
+ "&proName=" + parentData.proName
}
//导出人员信息
function exportData() {
// let search1 = $('#search1').val();
// let search2 = $('#search2').val();
window.location.href = oiPlanUrl + "/monthlyPlanSubmission/export?token=" + token;
}