let table, form, layer, rate, util; $(function () { layui.use(['rate', 'layer', 'form', 'table', 'util'], function () { layer = layui.layer; form = layui.form; rate = layui.rate; table = layui.table; util = layui.util; util.event('lay-active', { query: function () { table.reloadData('teamTable', { page: { curr: 1 }, where: getReqParams() }); }, reset: function () { $('#keyword').val(''); $('#teamName').val(''); $('#foreman').val(''); $('#projectName').val(''); $('#type').val(''); form.render(); table.reloadData('teamTable', { page: { curr: 1 }, where: getReqParams() }); }, export: function () { exportData(); } }); form.render(); getPerNum(); initTable(); //触发单元格工具事件 table.on('tool(teamTable)', function (obj) { // 双击 toolDouble let data = obj.data; if (obj.event === 'detail') { toEvaluatePage(data.classId, data.idNumber, data.teamName); } else if (obj.event === 'edit') { layer.prompt({ formType: 2, title: '拉黑说明 ' }, function (value, index) { /** * 拉黑操作 */ Ajax().post({ url: dataUrl + 'proteam/pot/team/insertTeamBlack', data: { idNumber: data.idNumber, content: value, userId: '1' }, success: function (data) { if (data.code === 200) { layer.msg(data.msg, { icon: 1, time: 2000 //2秒关闭(如果不配置,默认是3秒) }, function () { table.reloadData('teamTable', { page: { curr: 1 }, where: getReqParams() }); layer.close(index); }); } else { layer.msg(data.msg, {icon: -1}); } }, async: false }); }); } }); }); }); // 获取参数 function getReqParams() { let obj = { keyWord: $('#keyword').val(), teamName: $('#teamName').val(), fzrName: $('#foreman').val(), proName: $('#projectName').val(), status: $('#type').val() }; return obj; } function initTable() { table.render({ elem: "#deviceTable", id: "deviceTable", height: "full-170", url: dataUrl + "proteam/pot/team/getTeamList" + '?token=' + token, page: true, //开启分页 method: "POST", limit: 10, //默认十条数据一页 limits: [10, 20, 30], //数据分页条 cellMinWidth: 100, loading: true, totalRow: false, request: { pageName: 'pageNum', limitName: 'pageSize' }, where: getReqParams(), cols: [ [//表头 { field: "number", type: "numbers", title: "序号", minWidth: 200, unresize: true, align: "center", }, { field: "teamName", title: "班组名称", unresize: true, minWidth: 200, align: "center", }, { field: 'fzrName', title: "班组长", unresize: true, minWidth: 200, align: "center", templet: function (d) { return "" + d.fzrName + "
" + d.phone + ""; }, }, { field: "zhpj", title: "班组星级", minWidth: 200, unresize: true, templet: function (d) { console.log(d) return '
' }, align: "center", }, { field: "proName", title: "当前所在工程", unresize: true, minWidth: 200, align: "center", }, { field: "status", title: "状态", unresize: true, minWidth: 200, align: "center", }, { field: "dayNum", title: "今日站班会人数", unresize: true, minWidth: 200, templet: function (d) { return "

" + d.dayNum + "

"; }, align: "center", }, { field: "yeNum", title: "昨日站班会人数", unresize: true, minWidth: 200, align: "center", }, { field: "yeNum", title: "累计违章次数", unresize: true, minWidth: 200, templet: function (d) { return "

" + (isEmpty(d.vzNum) ? "0" : d.vzNum) + "

"; }, align: "center", }, { fixed: 'right', title: "操作", align: 'center', minWidth: 200, toolbar: '#barDemo' } ], ], done: function (res, curr, count) { for (let i = 0; i < res.data.length; i++) { rate.render({ elem: '#test' + i , value: res.data[i].zhpj / 2 , readonly: true , half: true, theme: '#2F82FB' }); table.render() } }, parseData: function (res) { return { "code": res.code === 200 ? 0 : res.code, "msg": res.msg, "count": res.total, "data": res.rows }; } }); } /** * 跳转违章页面 * @param teamId 班组id */ function toViolationsPage(teamId) { console.log(teamId); } /** * 跳转今日人员页面 * @param teamId 班组id */ function toTodayPage(classId, idNumber, teamName) { let width = '90%', height = '80%'; let index = parent.layer.open({ /* color:#253E78;font-size:24px;background-color:rgb(37 62 120 / 22%);*/ title: ['班组人员', 'font-size:24px;'], type: 2, skin: 'shadows', content: '../../html/teamInformation/child/teamPersonnel.html', area: [width, height], maxmin: false }); } /** * 跳转班组评价页面 * @param classId 站班会id * @param idNumber 身份证号 * @param teamName 班组名称 */ function toEvaluatePage(classId, idNumber, teamName) { let width = '90%', height = '80%'; layer.open({ id: 'abc', /* color:#253E78;font-size:24px;background-color:rgb(37 62 120 / 22%);*/ title: ['班组评价', 'font-size:24px;'], type: 2, skin: 'shadows', content: '../../html/teamInformation/child/teamEvaluate.html', area: [width, height], maxmin: 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);//调用子页面的方法,页面锁定 } }); } //导出 function exportData() { let loadingMsg = layer.msg("数据导出中,请稍候...", {icon: 16, scrollbar: false, time: 0,}); let url = dataUrl + "proteam/pot/team/exportTeamData?" + setData(getReqParams()) + '&token=' + token; let xhr = new XMLHttpRequest(); let a = document.createElement("a"); xhr.open("get", url, true); xhr.responseType = "blob"; // 转换流 xhr.onload = function () { layer.close(loadingMsg); if (this.status === 200) { let url = window.URL.createObjectURL(new Blob([this.response])) let link = document.createElement('a') link.style.display = 'none' link.href = url link.setAttribute('download', "班组明细.xlsx") document.body.appendChild(link) link.click() // 释放URL对象所占资源 window.URL.revokeObjectURL(url) // 用完即删 document.body.removeChild(link) } else { layer.msg("数据发生异常,请稍后重试", {icon: 16, scrollbar: false, time: 2000}); } }; xhr.send(); } function getPerNum() { $.ajax({ url: dataUrl + 'proteam/pot/team/getPerNum' + '?token=' + token, type: 'post', success: function (obj) { if (obj.code === 200) { $.each(obj.data, function (index, item) { $("#dTeam").html(item.dTeam); $("#dZTeam").html(item.dZTeam); $("#dPer").html(item.dPer); $("#dZPer").html(item.dZPer); $("#dWTeam").html(item.dWTeam); $("#xZteam").html(item.xZteam); $("#yTeam").html(item.yTeam); $("#yPer").html(item.yPer); }) } } }); } // 展开/收起 function isShow(type) { if (type === 1) { $("#basic-info").slideLeftHide(); setTimeout(() => { $("#show").removeAttr("style"); }, 510); $(".basic-info-box").animate({backgroundColor: "#fff"}, "500"); } else if (type === 2) { $("#show").css("display", "none"); $(".basic-info-box").animate({backgroundColor: "#EEF5FF"}, "500"); $("#basic-info").slideLeftShow(); } }