yn_hxy_web/hxy-web/js/wireManager/viewPlan/addMonthPlan.js

388 lines
9.5 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 pers = []
var table, form, laydate
function setYjId(yjId) {
layui.use(['form', 'layer', 'table', 'laydate'], function() {
table = layui.table;
form = layui.form;
laydate = layui.laydate
dataTable(yjId);
});
}
// 静态数据
var tableData = [
];
function dataTable(yjId) {
$.ajax({
type: 'POST',
async: false, // 默认异步true,false表示同步
url: PATH_URL + '/inspectionPlan/getInspectionPlanList',
contentType: "application/json; charset=utf-8",
data: JSON.stringify({
"yjId": yjId
}), //获取提交的表单字段
dataType: 'json', // 服务器返回数据类型
success: function(data) {
if (data.code == 200) {
$('#fgsName').html(data.data[0].fgsName);
$('#yjName').html(data.data[0].yjName);
$('#insMonth').html(data.data[0].insMonth);
for (var i = 0; i < data.data.length; i++) {
tableData.push({
id: data.data[i].id,
proName: data.data[i].proName,
yjId:data.data[i].yjId,
insMonth:data.data[i].insMonth
})
}
} else {
layer.alert(data.msg, {
icon: 2
});
}
},
error: function(XMLHttpRequest, textStatus, e) {
top.layer.close(loadingMsg);
layer.msg('数据请求发生异常,请稍后重试', {
icon: 16,
scrollbar: false
});
}
});
init();
}
/**
* 初始化数据
*/
function init() {
// 渲染表格
table.render({
elem: '#table',
// url: "/sys/achievement",
// page: true,
skin: 'line', // 表格样式
cols: [
[{
title: '序号',
field: 'zizeng',
align: 'center',
type: 'numbers',
width: '5%'
},
{
field: 'proName',
title: '线路名称',
align: 'center',
width: '15%',
},
{
field: '',
title: '工作内容',
align: 'center',
templet: function(d) {
var id = d.id;
var yjId = d.yjId;
var proName = d.proName;
var insMonth = d.insMonth;
var html =
`<input class="workContent layui-input" maxlength="500" key="${id}" yjId="${yjId}" proName="${proName}" insMonth="${insMonth}" type="text" style="width: 150px;height: 25px;"/>`;
return html;
},
},
{
field: '',
title: '计划开始时间',
align: 'center',
templet: function(d) {
var id = d.id
var html =
`<input class="planStartTime layui-input" key="${id}" readonly type="text" style="width: 150px;height: 25px;"/>`;
return html;
},
},
{
field: '',
title: '计划结束时间',
align: 'center',
templet: function(d) {
var id = d.id
var html =
`<input class="planEndTime layui-input" key="${id}" readonly type="text" style="width: 150px;height: 25px;"/>`;
return html;
},
},
{
field: '',
title: '责任人(护线员)',
align: 'center',
templet: function(d) {
var id = d.id
var html =
`<input class="liablePerson layui-input" maxlength="200" key="${id}" type="text" style="width: 150px;height: 25px;"/>`;
return html;
},
},
{
field: '',
title: '督办人(设备主人)',
align: 'center',
templet: function(d) {
var id = d.id
var html =
`<input class="proctorPerson layui-input" maxlength="200" key="${id}" type="text" style="width: 150px;height: 25px;"/>`;
return html;
},
},
{
field: '',
title: '完成标准',
align: 'center',
templet: function(d) {
var id = d.id
var html =
`<input class="standard layui-input" maxlength="500" key="${id}" type="text" style="width: 150px;height: 25px;"/>`;
return html;
},
},
{
field: '',
title: '备注',
align: 'center',
templet: function(d) {
var id = d.id
var html =
`<input class="remark layui-input" maxlength="500" key="${id}" type="text" style="width: 150px;height: 25px;"/>`;
return html;
},
}
]
],
data: tableData,
done: function(res, curr, count, origin) {
// 初始化开始时间和结束时间的变量
var startDate = null;
var endDate = null;
laydate.render({
elem: '.planStartTime',
done: function(value, date, time) {
// 将laydate的日期对象转换为原生Date对象
startDate = new Date(date.year, date.month - 1, date.date, date.hours, date
.minutes, date.seconds);
// 确保结束时间不早于开始时间
if (startDate && endDate) {
if (endDate.getTime() < startDate.getTime()) {
// 清空结束时间
// 清除DOM元素的值
$(this.elem).val('');
// 重置endDate变量
endDate = null;
layer.msg('结束时间不能早于开始时间!');
}
}
}
});
laydate.render({
elem: '.planEndTime',
done: function(value, date, time) {
// 将laydate的日期对象转换为原生Date对象
endDate = new Date(date.year, date.month - 1, date.date, date.hours, date
.minutes, date.seconds);
// 确保结束时间不早于开始时间
if (startDate && endDate) {
if (endDate.getTime() < startDate.getTime()) {
// 清空结束时间
// 清除DOM元素的值
$(this.elem).val('');
// 重置endDate变量
endDate = null;
layer.msg('结束时间不能早于开始时间!');
}
}
}
});
},
});
}
//提交月计划
function saveMonthPlan() {
//获取工作内容 DOM
var workContents = $(".workContent");
//获取计划开始时间 DOM
var planStartTimes = $(".planStartTime");
//获取计划结束时间 DOM
var planEndTimes = $(".planEndTime");
//获取责任人(护线员) DOM
var liablePersons = $(".liablePerson");
//获取督办人(设备主人) DOM
var proctorPersons = $(".proctorPerson");
//获取完成标准 DOM
var standards = $(".standard");
//获取备注 DOM
var remarks = $(".remark");
var arr = [];
//循环获取的 DOM将数据整合
for (var i = 0; i < workContents.length; i++) {
//获取此行数据 的id
var id = $(workContents[i]).attr("key");
var yjId = $(workContents[i]).attr("yjId");
var proName = $(workContents[i]).attr("proName");
var insMonth = $(workContents[i]).attr("insMonth");
//获取工作内容
var workContent = $(workContents[i]).val();
//获取计划开始时间
var planStartTime = $(planStartTimes[i]).val();
//获取计划结束时间
var planEndTime = $(planEndTimes[i]).val();
//获取责任人(护线员)
var liablePerson = $(liablePersons[i]).val();
//获取督办人(设备主人)
var proctorPerson = $(proctorPersons[i]).val();
//获取完成标准
var standard = $(standards[i]).val();
//获取备注
var remark = $(remarks[i]).val();
if (workContent == "") {
layer.msg("请填写工作内容", {
icon: 0
});
$(workContents[i]).focus();
return;
}
if (planStartTime == "") {
layer.msg("请填写计划开始时间", {
icon: 0
});
$(planStartTimes[i]).focus();
return;
}
if (planEndTime == "") {
layer.msg("请填写计划结束时间", {
icon: 0
});
$(planEndTimes[i]).focus();
return;
}
if (liablePerson == "") {
layer.msg("请填写责任人(护线员)", {
icon: 0
});
$(liablePersons[i]).focus();
return;
}
if (proctorPerson == "") {
layer.msg("请填写督办人(设备主人)", {
icon: 0
});
$(proctorPersons[i]).focus();
return;
}
if (standard == "") {
layer.msg("请填写完成标准", {
icon: 0
});
$(standards[i]).focus();
return;
}
if (remark == "") {
layer.msg("请填写备注", {
icon: 0
});
$(remarks[i]).focus();
return;
}
var json = {
"proId": id,
"yjId": yjId,
"proName": proName,
"workContent": workContent,
"stateTime": planStartTime,
"enTime": planEndTime,
"dutyUser": liablePerson,
"supervisor": proctorPerson,
"complete": standard,
"remarks": remark,
"insMonth":insMonth
}
arr.push(json);
console.log(arr)
}
// 加载提示
let loadingMsg = layer.msg('数据上传中,请稍候...', {
icon: 16,
scrollbar: false,
time: 0,
shade: [0.8, '#393D49']
});
// form请求地址
let formUrl = PATH_URL + "/inspectionPlan/insertInspectionPlan";
$.ajax({
type: 'POST',
url: formUrl, // 请求地址
contentType: "application/json; charset=utf-8",
data: JSON.stringify(arr),
success: function(data) {
layer.close(loadingMsg); // 关闭提示层
if (data.code == 200) {
parent.layer.msg("添加成功", {
icon: 1
});
var index = parent.layer.getFrameIndex(window.name); //先得到当前 iframe层的索引
parent.layer.close(index); //再执行关闭
reloading();
} else {
layer.alert(data.msg);
}
},
error: function(XMLHttpRequest, textStatus, e) {
layer.close(loadingMsg);
layer.msg('数据请求发生异常,请稍后重试', {
icon: 16,
scrollbar: false
});
}
});
}
//撤销月计划
function revokeMonthPlan() {
let height = '60%';
let width = '40%';
var index = layer.open({
title: ['计划撤销', 'color:#3B70A1;background-color:#E8ECEB;font-size:20px'],
type: 2,
content: './revokeMonthPlan.html',
area: [width, height],
maxmin: false,
success: function(layero, index) {
// var myIframe = window[layero.find('iframe')[0]['name']];
// myIframe.hideSubmit();
// var fnc = myIframe.setData(data.data); //aaa()为子页面的方法
},
});
}
/**
* 关闭页面 刷新页面
*/
function reloading() {
var index = parent.layer.getFrameIndex(window.name); //先得到当前 iframe层的索引
parent.layer.close(index); //再执行关闭
window.parent.location.reload();
}