IntelligentRecognition/ah-jjsp-web/bns/js/dutyTask/newTodayTask.js

713 lines
24 KiB
JavaScript
Raw Permalink 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.

let form, layer, table, tableIns, laydate, formSelects, orgList, proStatusList;
let pageNum = 1, limitSize = 50; // 默认第一页分页数量为10
let user = getUser();
layui.config({
base: "../../js/layui/", //此处路径请自行处理, 可以使用绝对路径
}).extend({
formSelects: 'formSelects-v4'
}).use(['form', 'layer', 'table', 'laydate', 'formSelects'], function () {
form = layui.form;
layer = layui.layer;
table = layui.table;
laydate = layui.laydate;
formSelects = layui.formSelects;
laydate.render({
elem: '#workDay', //指定元素 元素选择器
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'], //选择框右下角显示的按钮 清除-现在-确定
});
checkedDate = getNowTime();
$('#workDay').val(getNowTime() + " - " + getNowTime());
orgList = getOrgNumAndRate(1);
proStatusList = getRiskLevelSelect('work_status');
setProStatus();
setOrg();
getDutyTaskData();
getDisData();
getTodayWarnInfo();
pages(1, 50, 1);
})
// 查询/重置
function query(type) {
if (type == '1') {
pages(1, limitSize, false)
} else {
$('#workDay').val(getNowTime() + " - " + getNowTime());
setProStatus();
setOrg();
pages(1, limitSize, true)
}
}
function pages(pageNum, pageSize, typeNum) {
let params = getReqParams(pageNum, pageSize, typeNum);
$.ajax({
/* headers: {
"encrypt": sm3(JSON.stringify(params))
}, */
url: dataUrl + "proteam/pot/newduty/getPageList?token=" + token,
data: params,
type: 'POST',
async: false,
success: function (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 === 401) {
logout(1);
}
}, error: function () {
}
});
}
function laypages(total, page, limit) {
layui.use(['laypage'], function () {
let laypage = layui.laypage;
laypage.render({
elem: 'voi-page',
count: total,
curr: page,
limit: limit,
limits: [30,50,100],
layout: ['prev', 'page', 'next', 'skip', 'count', 'limit'],
groups: 5,
jump: function (obj, first) {
if (!first) {
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, });
tableIns = table.render({
elem: "#todayTaskTable",
height: "full-175",
data: dataList,
cols: [
[
//表头
{
title: "序号",
width: 70,
unresize: true,
align: "center",
templet: function (d) {
return (page - 1) * limit + d.LAY_NUM;
}
},
{
field: "warnInfo",
title: "预警信息",
width: 175,
sort: true,
unresize: false,
align: "center",
templet: function (d) {
return setWarnInfo(d.warnInfo);
}
},
{
field: "orgName",
title: "建管单位",
width: 115,
sort: true,
unresize: false,
align: "center",
},
{
field: "bidName",
title: "标段工程名称",
width: 160,
unresize: false,
sort: true,
align: "center",
},
{
field: "sgStatus",
title: "施工状态",
width: 115,
unresize: false,
sort: true,
align: "center",
},
{
title: "班组长",
field: "bzzName",
width: 130,
unresize: false,
sort: true,
align: "center",
templet: function (d) {
return '<p>' + setValue2(d.bzzName) + '</p><p>' + setValue2(d.bzzPhone) + '</p>'
}
},
{
title: "球机状态",
field: "ballStatus",
width: 115,
unresize: false,
sort: true,
align: "center",
templet: function (d) {
let html = '';
if (d.ballStatus != null) {
if (d.ballStatus === '1' && d.workDay === getNowTime()) {
html += '<img src="../../img/common-icon/ball-online.png">'
} else {
html += '<img src="../../img/common-icon/ball-offline.png">'
}
}
return html;
}
},
{
field: "isPj",
title: "评价状态",
width: 115,
unresize: false,
sort: true,
align: "center",
templet: function (d) {
if (d.isPj === '0') {
return '<img src="../../img/common-icon/k_star.png" onclick="openEvalStatus(\'' + d.classId + '\',\'' + d.bzzNum + '\',\'' + d.teamName +'\',\'' +d.teamId+ '\',1)">'
} else if (d.isPj === '1') {
return '<img src="../../img/common-icon/s_star.png" onclick="openEvalStatus(\'' + d.classId + '\',\'' + d.bzzNum + '\',\'' + d.teamName +'\',\'' +d.teamId+ '\',2)">'
}
return '';
}
},
{
field: "isXs",
title: "巡视状态",
width: 115,
unresize: false,
sort: true,
align: "center",
templet: function (d) {
if (d.isXs === '0') {
return '<span style="color:#FF6262">未巡视</span>'
} else if (d.isXs === '1') {
return '<span style="color:#3FD68E">已巡视</span>'
}
return '';
}
},
],
],
limit: limit,
done: function (res, curr, count) {
layer.close(loadingMsg);
/* var that = this.elem.next();
//循环遍历返回数据中的data
res.data.forEach(function (item, index) {
//在获取到的DOM元素中找到data-index属性等于当前index的行
var tr = that.find(".layui-table-box tbody tr[data-index='" + index + "']");
//设置该行颜色
// tr.css("background-color", setTrBackgroundColor(item.riskLevel));
}); */
},
});
table.on("rowDouble(todayTask)", function (res) {
let obj = res.data;
console.log(res.data)
openRemotePatrol(obj.classId, obj.puid, obj.tCode, obj.twCode, obj.tdCode, obj.passWay, obj.bidNo);
});
}
// 获取参数
function getReqParams(page, limit, type) {
let obj = {};
if (!type) {
obj = {
page: page + "",
limit: limit + "",
times: setValue2($('#workDay').val()),
orgId: setValue2(formSelects.value('buildCode', 'val').toString()),
sgStatus: setValue2(formSelects.value('proStatus', 'val').toString()),
keyWord: setValue2($("#keyWord").val()),
currentUserId: user.userId + '',
isSup: user.isSup,
currentUserOrgId: user.orgId
};
} else {
obj = {
page: '1',
limit: '50',
times: getNowTime() + " - " + getNowTime(),
orgId: '',
sgStatus: '',
keyWord: '',
currentUserId: user.userId + '',
isSup: user.isSup,
currentUserOrgId: user.orgId
};
}
return obj;
}
/*打开远程巡视页面*/
function openRemotePatrol(id, puid, tCode, twCode, tdCode, passWay, bidNo) {
if (user.isSup !== '3') {
addSuper(id, "1");
}
let layerIndex = layer.open({
id: "remotePatrol",
title: false,
type: 2,
maxmin: false,
content: 'remotePatrol/remotePatrol.html',
area: ['100%', '100%'],
closeBtn: 0,
success: function (layero, index) {
let iframeWin = window["layui-layer-iframe" + layerIndex];
iframeWin.setParams(id, puid, tCode, twCode, tdCode, passWay, user.isSup, 1, bidNo);
},
end: function () {
if (user.isSup !== '3') {
addSuper(id, "2");
}
reloadData();
getDutyTaskData();
getDisData();
getTodayWarnInfo();
}
});
}
/*添加督查时间*/
function addSuper(classId, type) {
let params = {
classId: classId,
type: type
}
$.ajax({
headers: {
"encrypt": sm3(JSON.stringify(params))
},
url: dataUrl + 'proteam/pot/supervision/insertSupervision?token=' + token,
data: params,
type: 'POST',
async: true,
success: function (result) {
}, error: function () {
}
});
}
// 获取分配任务数量
function getDutyTaskData() {
let params = {
currentUserId: user.userId + '',
isSup: user.isSup,
currentUserOrgId: user.orgId
}
$.ajax({
headers: {
"encrypt": sm3(JSON.stringify(params))
},
url: dataUrl + 'proteam/pot/newduty/getAllTask?token=' + token,
data: params,
type: 'POST',
async: true,
success: function (result) {
setDutyTaskAndDisData(1, result);
}, error: function () {
}
});
}
// 获取违章数量
function getDisData() {
let params = {
currentUserId: user.userId + '',
isSup: user.isSup,
currentUserOrgId: user.orgId
}
$.ajax({
headers: {
"encrypt": sm3(JSON.stringify(params))
},
url: dataUrl + 'proteam/pot/newduty/getDutyWz?token=' + token,
data: params,
type: 'POST',
async: true,
success: function (result) {
setDutyTaskAndDisData(2, result);
}, error: function () {
}
});
}
// 获取预警信息
function getTodayWarnInfo() {
let params = {
currentUserId: user.userId + '',
isSup: user.isSup,
currentUserOrgId: user.orgId
}
$.ajax({
headers: {
"encrypt": sm3(JSON.stringify(params))
},
url: dataUrl + 'proteam/pot/early/getTodayWarnInfo?token=' + token,
data: params,
type: 'POST',
async: true,
success: function (result) {
myChart12.dispose();
myChart12 = echarts.init(document.getElementById('echarts-one1'));
initEchartsOne1(percentage(result.data.clNum, result.data.allNum));
setEarlyWarnInfo(result.data.data);
}
});
}
// 值班进度赋值
function setDutyTaskAndDisData(type, data) {
if (type === 1) {
myChart.dispose();
myChart = echarts.init(document.getElementById('echarts-one'));
// 分配任务数量赋值
$('#taskNum').html(data.taskNum);
$('#xsNum').html(data.xsNum);
$('#hsNum').html(data.heNum);
$('#wsgNum').html(data.wsgNum);
$('#wxsNum').html(data.wxsNum);
$('#hisNum').html(data.hisNum);
console.log(data);
initEchartsOne(percentage(data.xsNum, data.taskNum));
} else if (type === 2) {
myChart2.dispose();
myChart2 = echarts.init(document.getElementById('echarts-two'));
// 违章数量赋值
$('.wzNum').html(data.wzNum);
$('#yzgNum').html(data.yzgNum);
$('#wzgNum').html(data.wzgNum);
initEchartsTwo(percentage(data.wzNum, data.taskNum));
}
}
// 两数相除取百分比%并保留两位小数
function percentage(number1, number2) {
if (number2 == 0) {
return 0;
}
// 小数点后两位百分比
return (Math.round(number1 / number2 * 10000) / 100.00);
}
// 预警信息赋值
function setWarnInfo(val) {
let html = '';
if (val) {
let valArr = val.split(',');
$.each(valArr, function (index, item) {
if (item) {
var itemss = item.split("@");
if (itemss.length > 1) {
html += setWarnInfoIcon(itemss[0]);
} else {
html += setWarnInfoIcon(item);
}
}
})
} else {
html = setWarnInfoIcon(null);
}
return html;
}
// 预警信息图标设置
function setWarnInfoIcon(value) {
if (value === '高风险') {
return '<img title="高风险" style="cursor: pointer;margin-right:5px;" src="../../img/common-icon/high_risk.png">';
} else if (value === '工序变化') {
return '<img title="工序变化" style="cursor: pointer;margin-right:5px;" src="../../img/common-icon/gx_change.png">'
} else if (value === '关键点措施照片不足') {
return '<img title="关键点措施照片不足" style="cursor: pointer;margin-right:5px;" src="../../img/common-icon/key_point.png">'
} else if (value === '作业类型变化') {
return '<img title="作业类型变化" style="cursor: pointer;margin-right:5px;" src="../../img/common-icon/work_type.png">'
} else if (value === '作业人数变化大') {
return '<img title="作业人数变化大" style="cursor: pointer;margin-right:5px;" src="../../img/common-icon/work_num.png">'
} else if (value === '球机信号弱') {
return '<img title="球机信号弱" style="cursor: pointer;margin-right:5px;" src="../../img/common-icon/ball-no-signal.png">'
}
return '<img title="正常施工" style="cursor: pointer;margin-right:5px;" src="../../img/common-icon/zc-work.png">'
}
// 左侧预警信息赋值
function setEarlyWarnInfo(result) {
function getTypeValue(type) {
if (type === '4') {
return '人数变化大';
} else if (type === '5') {
return '工序变化';
} else if (type === '6') {
return '作业类型变化';
} else if (type === '7') {
return '球机异常';
} else if (type === '8') {
return '球机信号差';
} else if (type === '9') {
return '当日未施工';
}
}
function setHandleStatus(d) {
var type = d.type - 1;
if (d.type == 7 || d.type == 9) {
type = d.type
} else if (d.type == 8) {
type = d.type
} else {
type = d.type - 1
}
var handleId = d.handleId;
var handleState = d.handleState;
var handelRemark = d.handelRemark;
if (handelRemark == null) { handelRemark = ''; }
if (handleState == null) { handleState = ''; }
if (handleId == null) { handleId = ''; }
if (handleId) {
if(type==9){
return '<span class="handleData" onclick="opendata(\'' + d.classId + '\',\'' + type + '\',\'' + handleId + '\',\'' + handleState + '\',\'' + handelRemark + '\')">已处理</span>'
}else{
return '<span class="handleData" onclick="opendata(\'' + d.classId + '\',\'' + type + '\',\'' + handleId + '\',\'' + handleState + '\',\'' + handelRemark + '\')">已处理</span>'
}
} else {
if(type==9){
return '<span class="noHandleData" onclick="opendata(\'' + d.classId + '\',\'' + type + '\',\'' + handleId + '\',\'' + handleState + '\',\'' + handelRemark + '\')">未处理</span>'
}else{
return '<span class="noHandleData" onclick="opendata(\'' + d.classId + '\',\'' + type + '\',\'' + handleId + '\',\'' + handleState + '\',\'' + handelRemark + '\')">未处理</span>'
}
}
}
let html = '';
let html2 = '';
if (result && result.length > 0) {
let wzxList=[];
let jj=1;
$.each(result, function (index, item) {
var handleId = item.handleId;
if (handleId == null) { handleId = ''; }
if(handleId){
wzxList.push(item)
}else{
html2 += '<li class="layout">' +
'<div class="xh layout">'+(jj)+'.</div>' +
'<div class="warnInfo layout">' +
'<p title="' + item.proName + '">工程名称:' + item.proName + '</p>' +
'<p>风险等级:' + setRiskLevelColor(item.riskLevel) + '</p>' +
'<p>班组长:' + item.fzrName + '</p>' +
'<p>预警类型:' + getTypeValue(item.type) + '</p>' +
'</div>' +
'<div class="handleStatus layout">' +
setHandleStatus(item) +
'</div>' +
'</li>';
jj++;
}
})
$.each(wzxList, function (index, item) {
var handleId = item.handleId;
if (handleId == null) { handleId = ''; }
if(handleId){
html += '<li class="layout" style="background-color:#c0c4cc">' +
'<div class="xh layout">'+(jj)+'.</div>' +
'<div class="warnInfo layout">' +
'<p title="' + item.proName + '">工程名称:' + item.proName + '</p>' +
'<p>风险等级:' + setRiskLevelColor(item.riskLevel) + '</p>' +
'<p>班组长:' + item.fzrName + '</p>' +
'<p>预警类型:' + getTypeValue(item.type) + '</p>' +
'</div>' +
'<div class="handleStatus layout">' +
setHandleStatus(item) +
'</div>' +
'</li>';
}
})
} else {
html = '<li class="layout" style="font-size:16px;">无数据</li>';
}
$('.myscroll ul').empty().append(html2+html);
/* $('.myscroll').myScroll({
speed: 40, //数值越大,速度越慢
rowHeight: 100 //li的高度
}); */
}
function getOrgNumAndRate(type) {
let dataList = [];
$.ajax({
headers: {
"encrypt": sm3(JSON.stringify(''))
},
url: dataUrl + 'proteam/pot/todayTask/getOrgNumAndRate?token=' + token,
data: {
workDay: getNowTime() + " - " + getNowTime(),
currentUserId: user.userId + '',
isSup: user.isSup,
currentUserOrgId: user.orgId
},
type: 'POST',
async: false,
success: function (result) {
let data = result.data;
if (result.code === 500) {
return layer.alert(data.msg, { icon: 2 })
} else if (result.code === 401) {
logout(1);
} else if (result.code === 200) {
if (data && data.length > 0) {
$.each(data, function (index, item) {
dataList.push(item)
})
}
}
}, error: function () {
}
});
return dataList;
}
function setOrg() {
let keys = [];
$.each(orgList, function (index, item) {
let temp = {
"name": item.name + "" + item.num + "" + item.rate + "",
"value": item.code,
"titleName": item.name
};
keys.push(temp);
})
formSelects.data('buildCode', 'local', {
arr: keys
});
layui.form.render();
}
/* 施工状态赋值 */
function setProStatus() {
let keys = [];
$.each(proStatusList, function (index, item) {
let temp = {
"name": item.name,
"value": item.id
};
keys.push(temp);
})
formSelects.data('proStatus', 'local', {
arr: keys
});
layui.form.render();
}
// 打开评价状态页面
function openEvalStatus(classId, idNumber, teamName, teamId,type) {
console.log(teamId);
if (type === 1) { // 新增评价页面
let width = '1075px', height = '725px';
layer.open({
title: ['<div style="border-left: 3px solid #2F82FB;display: flex;align-items: center;height: 20px;padding: 0 10px;">班组评价</div>', 'font-size:16px;background-color:#f0f0f0;display: flex;align-items: center;'],
type: 2,
content: '../../html/teamInformation/child/teamEvaluateAdd.html',
area: [width, height],
maxmin: false,
move: false,
success: function (layero, index) {
let body = layer.getChildFrame('body', index);
let iframeWin = window[layero.find('iframe')[0]['name']];//获得iframe页的窗口对象执行iframe页的方法
iframeWin.setForm(classId, idNumber, teamName,teamId);//调用子页面的方法,页面锁定
},
end: function () {
reloadData();
getDutyTaskData();
getDisData();
getTodayWarnInfo();
}
});
} else if (type === 2) { // 评价记录页面
let layerIndex = layer.open({
id: "teamEvaluateByClass",
title: false,
type: 2,
maxmin: false,
content: '../teamInformation/child/teamEvaluate.html',
area: ['100%', '100%'],
closeBtn: 0,
success: function (layero, index) {
let iframeWin = window["layui-layer-iframe" + layerIndex];
iframeWin.setForm(classId, idNumber, teamName,teamId, 2);
}
});
}
}
function reloadData() {
pages(pageNum, limitSize, false);
}
function opendata(classId, type, handelId, handleState, handelRemark) {
console.log(classId, type, handelId, handleState, handelRemark);
layer.open({
title: '告警处置',
type: 2,
area: ['30%', '40%'],
content: '../../html/earlyWarning/warnSure.html',
cancel: function () {
},
btn: ['确定', '取消'],//只是为了演示
success: function (layero, index) {
var body = layer.getChildFrame('body', index);
var iframeWin = window[layero.find('iframe')[0]['name']];//获得iframe页的窗口对象执行iframe页的方法
iframeWin.setForm(classId, type, handelId, handleState, handelRemark);//调用子页面的方法,页面锁定
}
, yes: function (index, leyuo) {
var body = layer.getChildFrame('body', index);
body.find('#add-data').click();
}
, btn2: function () {
layer.closeAll();
}
});
}
function reloadTable() {
getTodayWarnInfo();
getDutyTaskData();
getDisData();
}
// 根据风险等级颜色-来设置每一行的颜色
function setTrBackgroundColor(value) {
if (value === '2') {
return '#dd690b80'
} else if (value === '3') {
return '#ffe91f80'
} else if (value === '4') {
return '#2aa99880'
} else if (value === '5') {
return '#70e18080'
}
}
// 违章信息
function openNewDetail2() {
parent.openNewTab('../dutyTask/violationStatistics.html', '19', '违章统计')
}