let table, form, layer, rate, util, user = getUser(); let pageNum = 1, limitSize = 30; let data = ''; let teamState = [{ "name": '正常', "value": '01' }, { "name": '解散', "value": '02' }]; //getPer(); $(function () { layui.config({ base: "../../js/layui/", //此处路径请自行处理, 可以使用绝对路径 }).extend({ formSelects: 'formSelects-v4' }).use(['rate', 'layer', 'formSelects', 'form', 'table', 'util'], function () { layer = layui.layer; form = layui.form; rate = layui.rate; table = layui.table; util = layui.util; formSelects = layui.formSelects; formSelects.data('teamState', 'local', { arr: teamState }); util.event('lay-active', { query: function () { pages(1, limitSize); }, reset: function () { $('#keyword').val(''); $('#teamName').val(''); $('#foreman').val(''); $('#projectName').val(''); formSelects.value('teamState', []); form.render(); pages(1, limitSize); }, export: function () { exportData(); } }); form.render(); getPerNum(); pages(1, 30, 1); table.on("sort(teamTable)", function (obj) { $(".layui-laypage-skip").css("display", "none"); for (let i = 0; i < data.length; i++) { rate.render({ elem: '#test' + i , value: data[i].zhpj / 2 , readonly: true , half: true, theme: '#2F82FB' }); table.render() } }); //触发单元格工具事件 table.on('tool(teamTable)', function (obj) { // 双击 toolDouble let data = obj.data; if (obj.event === 'detail') { toEvaluatePage(data.classId, data.idNumber, data.teamName,data.teamId); } else if (obj.event === 'edit') { layer.prompt({ formType: 2, title: '拉黑说明 ' }, function (value, index) { /** * 拉黑操作 */ Ajax().post({ headers: { "encrypt": sm3(JSON.stringify({ idNumber: data.idNumber, content: value, userId: JSON.parse(decrypt(us)).userId + "", })) }, url: dataUrl + 'proteam/pot/team/insertTeamBlack', data: { idNumber: data.idNumber, content: value, userId: JSON.parse(decrypt(us)).userId + "", }, success: function (data) { if (data.code === 200) { layer.msg(data.msg, { icon: 1, time: 2000 //2秒关闭(如果不配置,默认是3秒) }, function () { pages(1, limitSize); layer.close(index); }); } else { layer.msg(data.msg, {icon: -1}); } }, async: false }); }); } }); }); }); function pages(pageNum, pageSize, typeNum) { let params = getReqParams(pageNum, pageSize); $.ajax({ headers: { "encrypt": sm3(JSON.stringify(params)) }, url: dataUrl + "proteam/pot/team/getTeamList" + '?token=' + token, data: params, type: 'POST', async: false, success: function (result) { console.log(result); if (result.code === 200) { if (result.rows) { initTable(result.rows, limitSize, pageNum) laypages(result.total, pageNum, limitSize) } } 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 getReqParams(page, limit) { console.log(page + "," + limit) let obj = { pageNum: page + "", pageSize: limit + "", keyWord: $('#keyword').val(), teamName: $('#teamName').val(), fzrName: $('#foreman').val(), proName: $('#projectName').val(), status: formSelects.value('teamState', 'val').toString(), currentUserId: user.userId + "", isSup: user.isSup, currentUserOrgId: user.orgId }; return obj; } function initTable(dataList, limit, page) { table.render({ elem: "#teamTable", id: "teamTable", height: "full-175", data: dataList, cols: [ [//表头 { title: "序号", minWidth: 140, unresize: true, align: "center", templet: function (d) { return (page - 1) * limit + d.LAY_INDEX; } }, { field: "teamName", title: "班组名称", unresize: false, sort: true, minWidth: 200, align: "center", }, { field: 'fzrName', title: "班组长", unresize: false, sort: true, minWidth: 200, align: "center", templet: function (d) { return "" + d.fzrName + "
" + d.phone + ""; }, }, { field: "zhpj", title: "班组星级", minWidth: 200, unresize: false, sort: true, templet: function (d) { return '
' }, align: "center", }, { field: "proName", title: "当前所在工程", unresize: false, sort: true, minWidth: 200, align: "center", }, { field: "status", title: "状态", unresize: false, sort: true, minWidth: 80, align: "center", }, { field: "dayNum", title: "今日站班会人数", unresize: false, sort: true, minWidth: 200, templet: function (d) { return "" + d.dayNum + ""; }, align: "center", }, { field: "yeNum", title: "昨日站班会人数", unresize: false, sort: true, minWidth: 200, align: "center", }, { field: "vzNum", title: "累计违章次数", unresize: false, sort: true, minWidth: 200, templet: function (d) { // return '' + (isEmpty(d.vzNum) ? "0" : d.vzNum) + ''; // return (isEmpty(d.vzNum) ? "0" : d.vzNum); return '
' + d.vzNum + '
'; }, align: "center", }, { fixed: 'right', title: "操作", align: 'center', minWidth: 200, toolbar: '#barDemo' } ], ], limit: limit, done: function (res, curr, count) { $(".layui-laypage-skip").css("display", "none"); data = res.data; 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() } }, }); } /* 班组违章详情 */ function openTeamVoi(teamLeaderNumber,classId,teamId){ console.log(teamId) let layerIndex = layer.open({ type: 2, id:'teamVoi', title: ['
班组历史违章
', 'font-size:16px;background-color:#f0f0f0;display: flex;align-items: center;'], // closeBtn: true, content: "../dutyTask/violation/teamVoiDetail.html", shadeClose: false, area: ['1600px', '750px'], move: false, success: function () { let iframeWin = window["layui-layer-iframe" + layerIndex]; iframeWin.setParams(teamLeaderNumber,classId,teamId); } }); } /** * 跳转违章页面 * @param teamId 班组id */ function toViolationsPage(classId) { let width = '100%', height = '100%'; layer.open({ /* color:#253E78;font-size:24px;background-color:rgb(37 62 120 / 22%);*/ title: ['违章统计', 'font-size:24px;'], type: 2, skin: 'shadows', content: 'child/teamStatistics.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);//调用子页面的方法,页面锁定 } }); } /** * 跳转今日人员页面 * @param teamId 班组id */ function toTodayPage(teamId) { let width = '90%', height = '80%'; 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, success: function (layero, index) { let body = layer.getChildFrame('body', index); let iframeWin = window[layero.find('iframe')[0]['name']];//获得iframe页的窗口对象,执行iframe页的方法: iframeWin.setForm(teamId);//调用子页面的方法,页面锁定 } }); } /** * 跳转班组评价页面 * @param classId 站班会id * @param idNumber 身份证号 * @param teamName 班组名称 */ function toEvaluatePage(classId, idNumber, teamName,teamId) { console.log(teamId) let width = '100%', height = '100%'; layer.open({ id: 'abc', /* color:#253E78;font-size:24px;background-color:rgb(37 62 120 / 22%);*/ // title: ['班组评价', 'font-size:24px;'], title: false, type: 2, skin: 'shadows', content: '../../html/teamInformation/child/teamEvaluate.html', area: [width, height], maxmin: false, move: false, closeBtn: 0, 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 () { pages(1, 30, 1); }, }); } //导出 function exportData() { let loadingMsg = layer.msg("数据导出中,请稍候...", {icon: 16, scrollbar: false, time: 0,}); let url = dataUrl + "proteam/pot/team/exportTeamData?" + setData(getReqParams(pageNum, limitSize)) + '&token=' + token; let xhr = new XMLHttpRequest(); let a = document.createElement("a"); xhr.open("get", url, true); xhr.responseType = "blob"; // 转换流 xhr.setRequestHeader("encrypt", sm3(JSON.stringify( getReqParams(pageNum, limitSize) ))); 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({ headers: { "encrypt": sm3(JSON.stringify({ params: encrypt(JSON.stringify({ currentUserId: user.userId, isSup: user.isSup, currentUserOrgId: user.orgId })) })) }, url: dataUrl + 'proteam/pot/team/getPerNum' + '?token=' + token, type: 'post', data: { params: encrypt(JSON.stringify({ currentUserId: user.userId, isSup: user.isSup, currentUserOrgId: user.orgId })) }, 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(); } }