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 '

' + setValue2(d.bzzName) + '

' + setValue2(d.bzzPhone) + '

' } }, { 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 += '' } else { html += '' } } return html; } }, { field: "isPj", title: "评价状态", width: 115, unresize: false, sort: true, align: "center", templet: function (d) { if (d.isPj === '0') { return '' } else if (d.isPj === '1') { return '' } return ''; } }, { field: "isXs", title: "巡视状态", width: 115, unresize: false, sort: true, align: "center", templet: function (d) { if (d.isXs === '0') { return '未巡视' } else if (d.isXs === '1') { return '已巡视' } 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 ''; } else if (value === '工序变化') { return '' } else if (value === '关键点措施照片不足') { return '' } else if (value === '作业类型变化') { return '' } else if (value === '作业人数变化大') { return '' } else if (value === '球机信号弱') { return '' } return '' } // 左侧预警信息赋值 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 '已处理' }else{ return '已处理' } } else { if(type==9){ return '未处理' }else{ return '未处理' } } } 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 += '
  • ' + '
    '+(jj)+'.
    ' + '
    ' + '

    工程名称:' + item.proName + '

    ' + '

    风险等级:' + setRiskLevelColor(item.riskLevel) + '

    ' + '

    班组长:' + item.fzrName + '

    ' + '

    预警类型:' + getTypeValue(item.type) + '

    ' + '
    ' + '
    ' + setHandleStatus(item) + '
    ' + '
  • '; jj++; } }) $.each(wzxList, function (index, item) { var handleId = item.handleId; if (handleId == null) { handleId = ''; } if(handleId){ html += '
  • ' + '
    '+(jj)+'.
    ' + '
    ' + '

    工程名称:' + item.proName + '

    ' + '

    风险等级:' + setRiskLevelColor(item.riskLevel) + '

    ' + '

    班组长:' + item.fzrName + '

    ' + '

    预警类型:' + getTypeValue(item.type) + '

    ' + '
    ' + '
    ' + setHandleStatus(item) + '
    ' + '
  • '; } }) } else { html = '
  • 无数据
  • '; } $('.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: ['
    班组评价
    ', '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', '违章统计') }