let table, form, layer, laydate, rate, util; let idNumber, classId, teamName,teamId; let pageNum = 1, limitSize = 30; function setForm(classId1, idNumber1, teamName1,teamId1, type) { idNumber = idNumber1; classId = classId1; teamName = teamName1; teamId=teamId1; if (type === 2) { $('#content').css('height', 'calc(100% - 40px)') } else { $('#content').css('height', 'calc(100% - 40px)') // $('.close').css('display','none') } $(function () { layui.use(['rate', 'layer', 'laydate', 'form', 'table', 'util'], function () { layer = layui.layer; rate = layui.rate; form = layui.form; laydate = layui.laydate; table = layui.table; util = layui.util; form.render(); util.event('lay-active', { query: function () { pages(1, limitSize); }, reset: function () { $('#keyword').val(''); $('#startTime').val(''); $('#endTime').val(''); form.render(); pages(1, limitSize); }, add: function () { let width = '1075px', height = '725px'; layer.open({ /* color:#253E78;font-size:24px;background-color:rgb(37 62 120 / 22%);*/ title: ['
班组评价
', 'font-size:16px;background-color:#f0f0f0;display: flex;align-items: center;'], move: false, type: 2, content: '../../../html/teamInformation/child/teamEvaluateAdd.html', area: [width, height], maxmin: false, end: function () { pages(1, limitSize); }, 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);//调用子页面的方法,页面锁定 } }); }, export: function () { exportData(); } }); //日期范围 laydate.render({ elem: '#startTime' , type: 'date' , range: '~' , format: 'yyyy-MM-dd', max: Date.parse(new Date()), }); pages(1, 30, 1); }); }); } function pages(pageNum, pageSize) { let params = getReqParams(pageNum, pageSize); $.ajax({ headers: { "encrypt": sm3(JSON.stringify(params)) }, url: dataUrl + "proteam/pot/team/getTeamEvaList" + '?token=' + token, data: params, type: 'POST', async: false, success: function (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 initTable(dataList, limit, page) { table.render({ elem: "#evaluateTable", id: "evaluateTable", height: "full-150", data: dataList, cols: [ [//表头 { title: "序号", width: 100, unresize: true, align: "center", templet: function (d) { return (page - 1) * limit + d.LAY_INDEX; } }, { field: "teamName", title: "班组名称", unresize: true, sort: true, minWidth: 200, align: "center", }, { field: 'fzrName', title: "班组长", unresize: true, sort: true, minWidth: 200, align: "center", templet: function (d) { return "" + d.fzrName + "
" + d.phone + ""; }, }, { field: "createtTime", title: "评价日期", unresize: true, sort: true, minWidth: 100, align: "center" }, { field: "userId", title: "评价人", unresize: true, sort: true, minWidth: 200, align: "center" }, { field: "zhpj", title: "评价星级", minWidth: 200, unresize: true, sort: true, templet: function (d) { return '
' }, align: "center", }, { field: "content", title: "评价内容", unresize: true, sort: true, minWidth: 80, align: "center" }, { field: "labelName", title: "标签", unresize: true, sort: true, minWidth: 80, align: "center", templet: function (d) { let html = '' if (d.labelName) { let labelNameArr = d.labelName.split(','); $.each(labelNameArr, function (index, item) { html += '' }) } return html; }, } ], ], limit: limit, done: function (res, curr, count) { $(".layui-laypage-skip").css("display", "none"); 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 getReqParams(page, limit) { let startTime = isEmpty($('#startTime').val().split('~')[0]) ? "" : $('#startTime').val().split('~')[0]; let endTime = isEmpty($('#startTime').val().split('~')[1]) ? "" : $('#startTime').val().split('~')[1]; return { pageNum: page + "", pageSize: limit + "", userId: $('#keyword').val(), startTime: startTime.trim(), endTime: endTime.trim(), idNumber: idNumber, teamId:teamId }; } //导出 function exportData() { let loadingMsg = layer.msg("数据导出中,请稍候...", { icon: 16, scrollbar: false, time: 0, }); let url = dataUrl + "proteam/pot/team/exportTeamEvaData?" + 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 closePage() { let index = parent.layer.getFrameIndex(window.name); //先得到当前 iframe层的索引 parent.layer.close(index); //再执行关闭 }