jjsp_web/bns/js/supplement/daily_duty_report.js

403 lines
11 KiB
JavaScript

let form, layer, laydate, checkedDate;
layui.use(["form", "laydate", "layer"], function () {
layer = layui.layer;
form = layui.form;
laydate = layui.laydate;
laydate.render({
elem: "#createTime", //指定元素 元素选择器
type: "date", //选择时间类型 可选值:year(年) month(年月) date(年月日) time(时分秒) datetime(年月日时分秒)
trigger: "click",
range: true,
format: "yyyy-MM-dd", //时间格式 常用时间格式:yyyy-MM-dd HH:mm:ss
max: Date.parse(new Date()),
btns: ["now", "confirm"], //选择框右下角显示的按钮 清除-现在-确定
done: function (value, date) {
//时间回调
let dateArr = value.split(" - ");
setDateData(getAllDate(dateArr[0], dateArr[1]));
getDaily(dateArr[1]);
},
});
checkedDate = getNowTime();
$("#createTime").val(getBeforeDate(9) + " - " + getNowTime());
setDateData(getAllDate(getBeforeDate(9), getNowTime()));
getDaily(getNowTime());
});
// 设置日期数据
function setDateData(data) {
let reverseData = data.reverse();
let html = "";
reverseData.forEach((item, index) => {
if (index === 0) {
html +=
'<p class="p-checked date' +
(index + 1) +
'" id="lastDate" tabindex="' +
(index + 1) +
'" onclick="dailyDetail(\'' +
item +
"','" +
(index + 1) +
"')\">" +
item +
"</p> ";
} else {
html +=
'<p class="date' +
(index + 1) +
'" tabindex="' +
(index + 1) +
'" onclick="dailyDetail(\'' +
item +
"','" +
(index + 1) +
"')\">" +
item +
"</p> ";
}
});
$(".date-box").empty().append(html);
}
function dailyDetail(data, index) {
$(".date-box")
.find("p")
.each(function () {
if ($(this).hasClass("p-checked")) {
$(this).removeClass("p-checked");
}
});
$(".date" + index).addClass("p-checked");
$(".daily-box").css("display", "none");
$(".download-btn").css("display", "none");
getDaily(data);
checkedDate = data;
}
// 刷新数据
function refreshData() {
let loadingMsg = layer.msg("数据同步中,请稍候...", {
icon: 16,
scrollbar: false,
time: 0,
});
reloadDaily(getNowTime(), loadingMsg);
}
// 下载日报
function downloadDaily() {
let loadingMsg = layer.msg("日报下载中,请稍候...", {
icon: 16,
scrollbar: false,
time: 0,
});
let url =
dataUrl +
"proteam/pot/safetyReport/downloadDaily?currentDay=" +
checkedDate +
"&chineseDate=" +
setDate(checkedDate) +
"&token=" +
token;
let xhr = new XMLHttpRequest();
xhr.open("get", url, true);
xhr.responseType = "blob"; // 转换流
xhr.setRequestHeader(
"encrypt",
sm3(
JSON.stringify({
currentDay: checkedDate,
chineseDate: setDate(checkedDate),
})
)
);
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 = "国网安徽电力基建安全日报" + setDate(checkedDate) + ".docx"; // 文件名
} else {
layer.msg("服务异常,请稍后重试", {
icon: 16,
scrollbar: false,
time: 2000,
});
}
a.click();
window.URL.revokeObjectURL(url);
};
xhr.send();
}
// 加载日报数据
function getDaily(currentDay) {
let loadingMsg = layer.msg("数据加载中,请稍候...", {
icon: 16,
scrollbar: false,
time: 0,
});
$.ajax({
headers: {
encrypt: sm3(
JSON.stringify({
currentDay: currentDay,
})
),
},
type: "POST",
url: dataUrl + "proteam/pot/safetyReport/getDailyData?token=" + token,
data: {
currentDay: currentDay,
},
async: false,
dataType: "json",
success: function (result) {
layer.close(loadingMsg);
if (result.code === 500) {
setDailyData(currentDay, null);
return layer.alert(data.msg, { icon: 2 });
} else if (result.code === 401) {
logout(1);
} else if (result.code === 200) {
if (result.data) {
setDailyData(currentDay, result.data);
} else {
setDailyData(currentDay, null);
}
}
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
layer.close(loadingMsg); // 关闭提示层
layer.msg("数据加载发生异常,请稍后重试", {
icon: 16,
scrollbar: false,
time: 2000,
});
setDailyData(currentDay, null);
},
});
}
/* 重载日报数据 */
function reloadDaily(currentDay, loadingMsg) {
$.ajax({
headers: {
encrypt: sm3(
JSON.stringify({
currentDay: currentDay,
})
),
},
type: "POST",
url: dataUrl + "proteam/pot/safetyReport/getDailyData?token=" + token,
data: {
currentDay: currentDay,
},
async: false,
dataType: "json",
success: function (result) {
console.error(result);
layer.close(loadingMsg);
if (result.code === 500) {
setDailyData(currentDay, null);
return layer.alert(data.msg, { icon: 2 });
} else if (result.code === 401) {
logout(1);
} else if (result.code === 200) {
layer.msg("数据同步完成", { icon: 1, time: 2000 });
if (result.data) {
setDailyData(currentDay, result.data);
} else {
setDailyData(currentDay, null);
}
}
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
layer.close(loadingMsg); // 关闭提示层
setDailyData(currentDay, null);
},
});
}
// 日报赋值
function setDailyData(data, dataMap) {
$(".daily-date").html(setDate(data));
$(".daily-box").css("display", "block");
$(".download-btn").css("display", "block");
if (data === getNowTime()) {
$(".refresh-btn").css("display", "block");
} else {
$(".refresh-btn").css("display", "none");
}
console.error(dataMap);
if (dataMap != null) {
setModuleOneData(dataMap);
setModuleTwoData(dataMap);
setModuleThreeData(dataMap);
setModuleFourData(dataMap);
//
//
//
// setModuleSevenData(dataMap);
// setModuleEightData(dataMap);
// setModuleNineData(dataMap);
// setModuleTenData(dataMap);
// setModuleElevenData(dataMap);
// initEchartsTwo(dataMap.moduleTwelve);
// setModuleThirteenData(dataMap);
}
/*安全质量检查总体情况*/
function setModuleOneData(data) {
$("#one_num").html(data.one_num);
$("#one_num2").html(data.one_num2);
$("#one_num3").html(data.one_num3);
$("#one_num4").html(data.one_num4);
$("#one_num5").html(data.one_num5);
$("#one_num6").html(data.one_num6);
$("#one_num7").html(data.one_num7);
}
/*班组及人员情况*/
function setModuleTwoData(data) {
$("#two_num").html(data.two_num);
$("#two_num2").html(data.two_num2);
$("#two_num3").html(data.two_num3);
}
/*作业计划执行情况*/
function setModuleThreeData(data) {
//日计划实施
$("#three_num").html(data.three_num);
$("#three_num2").html(data.three_num2);
$("#three_num3").html(data.three_num3);
$("#three_num4").html(data.three_num4);
$("#three_num5").html(data.three_num5);
// 今日视频监控接入情况
$("#four_num").html(data.four_num);
$("#four_num2").html(data.four_num2);
$("#four_num3").html(data.four_num3);
$("#four_num4").html(data.four_num4);
$("#four_num5").html(data.four_num5);
$("#four_rate").html(data.four_rate);
// 明日作业计划
$("#five_num").html(data.five_num);
$("#five_num2").html(data.five_num2);
$("#five_num3").html(data.five_num3);
$("#five_num4").html(data.five_num4);
$("#work_plan").html(data.work_plan);
// 明日作业计划-二级风险
let html = "";
if (data.twoRisks && data.twoRisks.length > 0) {
$.each(data.twoRisks, function (index, item) {
const str = item.content;
html += "<p class='module-content'>" + str + "</p>";
});
$("#twoRisksDiv").empty().append(html);
}
}
/*督查情况*/
function setModuleFourData(data) {
$("#six_num").html(data.six_num);
$("#six_num2").html(data.six_num2);
$("#six_num3").html(data.six_num3);
$("#six_num4").html(data.six_num4);
$("#six_num5").html(data.six_num5);
$("#six_num6").html(data.six_num6);
$("#six_num6").html(data.six_num6);
$("#seven_num").html(data.seven_num);
$("#seven_num2").html(data.seven_num2);
// 关键措施照片上传和日报质量评价情况
if (data.tableList && data.tableList.length > 0) {
let cent = "";
$.each(data.tableList, function (index, item) {
cent +=
"<tr><td>" +
(index + 1) +
"</td><td>" +
item.name +
"</td><td>" +
item.num +
"</td><td>" +
item.hgs +
"</td><td>" +
item.lv +
"</td><td>" +
item.pj +
"</td></tr>";
});
$(".two-table tbody").empty().append(cent);
}
// 远程抽查情况
$("#cc_num").html(data.cc_num);
if (data.tableList2 && data.tableList2.length > 0) {
let cent = "";
$.each(data.tableList2, function (index, item) {
cent +=
"<tr><td>" +
(index + 1) +
"</td><td>" +
item.name +
"</td><td>" +
item.org +
"</td><td>" +
item.name2 +
"</td><td>" +
item.post +
"</td><td>" +
item.pj +
"</td></tr>";
});
$(".two2-table tbody").empty().append(cent);
}
// 二级风险明细
if (data.tableList3 && data.tableList3.length > 0) {
let cent = "";
$.each(data.tableList3, function (index, item) {
cent +=
"<tr><td>" +
(index + 1) +
"</td><td>" +
item.name +
"</td><td>" +
item.org +
"</td><td>" +
item.content +
"</td></tr>";
});
$(".two3-table tbody").empty().append(cent);
}
// 二级风险到岗到位抽查情况
if (data.tableList4 && data.tableList4.length > 0) {
let cent = "";
$.each(data.tableList4, function (index, item) {
cent +=
"<tr><td>" +
(index + 1) +
"</td><td>" +
item.name +
"</td><td>" +
item.yz +
"</td><td>" +
item.jl +
"</td><td>" +
item.sg +
"</td></tr>";
});
$(".seven-table tbody").empty().append(cent);
}
}
}