let table, deviceTable, form, per, layer; let laypage = 1, limitSize = 50; // 默认第一页,分页数量为50 let user = getUser(); layui.use(['layer', 'form', 'element', 'laypage'], function () { layer = layui.layer; //弹层 laypage = layui.laypage; //分页 table = layui.table; //表格 form = layui.form; setAuthBtns(); initTable(); $('#myModal_edit').on('show.bs.modal', centerModals); }) // 设置按钮权限 function setAuthBtns() { let html = ''; if (user.isSup === '1') { // 管理员权限 html += '' html += '' } $('.export').after(html); } //初始化表格 function initTable() { // 执行一个 table 实例 deviceTable = table.render({ id: 'todayTaskTable', elem: '#todayTaskTable', height: "full-70", url: dataUrl + 'proteam/sys/manage/getPageInfo?token=' + token, page: { layout: ['prev', 'page', 'next', 'skip', 'count', 'limit'], groups: 5, //只显示 5 个连续页码 limits: [30, 50, 100], limit: 50, curr: 1 }, method: 'POST', where: { type: '2', keyWord: $("#keyWord").val(), }, title: '监理单位列表', response: { statusCode: 200 //重新规定成功的状态码为 200,table 组件默认为 0 }, parseData: function (res) { // res 即为原始返回的数据 return { "code": res.code, "msg": res.msg, "count": res.count, "data": res.data, "limit": res.limit, "curr": res.curr }; }, cols: [[ //表头 { type: 'checkbox', fixed: 'left' }, { title: "序号", width: 80, align: "center", templet: function (d) { return d.LAY_NUM; } } , { field: 'name', title: '监理单位名称', width: 450, align: 'center' } , { field: 'code', title: '监理单位编码', width: 350, align: 'center' } , { field: 'remarks', title: '备注', width: 200, align: 'center' } , { field: 'createUser', title: '创建人', width: 200, align: 'center' } , { field: 'createTime', title: '创建时间', width: 200, align: 'center' } , { field: 'updateUser', title: '修改人', width: 200, align: 'center' } , { field: 'updateTime', title: '修改时间', width: 200, align: 'center' } , { fixed: 'right', title: '操作', width: 200, align: 'center', templet: function (d) { let html = ''; html += "" + ""; return html; } } ]], done: function (res, curr, count) { $(".layui-table-main tr").each(function (index, val) { $(".layui-table-fixed").each(function () { $($(this).find(".layui-table-body tbody tr")[index]).height($(val).height()); }); }); $(".layui-table-header tr").each(function (index, val) { $(".layui-table-fixed").each(function () { $($(this).find(".layui-table-header thead tr")[index]).height($(val).height()); }); }); pageNum = res.curr, limitSize = res.limit; } }); } /*新增/修改监理单位信息*/ function addData(id) { let title = '新增监理单位'; if (id) { title = '修改监理单位'; } let layerIndex = layer.open({ id: "addUnitInfo", title: ['
' + title + '
', 'font-size:16px;background-color:#f0f0f0;display: flex;align-items: center;'], type: 2, maxmin: false, content: 'addData.html', area: ['664px', '444px'], move: false, btn: ['确定', '取消'], success: function (layero, index) { let iframeWin = window["layui-layer-iframe" + layerIndex]; iframeWin.setForm(id); }, yes: function (index, leyuo) { var body = layer.getChildFrame('body', index); body.find('#add-data').click(); }, btn2: function () { layer.closeAll(); } }); } // 删除数据 function delData(id) { layer.confirm('确定删除吗?', { 'move': false, 'title': '操作提示' }, function () { let loadingMsg = layer.msg('数据删除中,请稍候...', { icon: 16, scrollbar: false, time: 0 }); let url = dataUrl + 'proteam/sys/manage/deleteData'; let params = { 'keyId': id, }; ajaxRequest(url, "POST", params, true, function () { }, function (result) { layer.close(loadingMsg); if (parseInt(result.code) === 200) { layer.msg(result.msg, { icon: 1 }) reloadData(); } else if (parseInt(result.code) === 201) { layer.msg(result.msg, { icon: 1 }) } else if (result.code === 401) { logout(1); } }, function (xhr) { layer.close(loadingMsg); }); }) } // 查询/重置 function query(type) { if (type === 2) { $('#keyWord').val('') } let pattern = new RegExp("[%_<>]"); if (pattern.test($("#keyWord").val())) { $("#keyWord").val(''); return layer.msg('关键字查询包含特殊字符,请重新输入', { icon: 2, time: 2000 }); } layui.form.render(); reloadData(); } // 刷新表格 function reloadData(type) { table.reload('todayTaskTable', { where: { keyWord: $('#keyWord').val(), type: '2' }, page: { curr: type ? pageNum : 1, limit: limitSize, groups: 5, //只显示 5 个连续页码 }, }); } /*数据导入*/ function chooseFile() { $("#import-excel").trigger("click"); } $("#import-excel").change(function () { if ($(this).val()) { let files = $(this)[0].files[0]; let fileType = files.name.substring( files.name.lastIndexOf(".") + 1, files.name.length ); if (fileType === "xlsx" || fileType === "xls") { excelUpload9(this, '2', dataUrl + "proteam/sys/manage/importExcel?token=" + token) } else { layer.msg("仅支持上传文件格式为:xlx、xlsx", { icon: 7, }); $("#import-excel").val(""); } } }); // 弹出模态框 function centerModals() { $('#myModal_edit').each(function (i) { var $clone = $(this).clone().css('display', 'block').appendTo('body'); var top = Math.round(($clone.height() - $clone.find('.modal-content').height()) / 3); top = top > 0 ? top : 0; $clone.remove(); $(this).find('.modal-content').css("margin-top", top); }); }; // 监理单位导入模版下载 function modelDownload() { let loadingMsg = layer.msg('模板下载中,请稍候...', { icon: 16, scrollbar: false, time: 0 }); let url = dataUrl + 'proteam/sys/manage/downLoadExcelModel?token=' + token; let xhr = new XMLHttpRequest(); xhr.open("get", url, true); xhr.responseType = "blob"; // 转换流 xhr.setRequestHeader("encrypt", sm3(JSON.stringify({}))); xhr.onload = function () { layer.close(loadingMsg); // 关闭提示层 if (this.status === 200) { let blob = this.response; var a = document.createElement("a"); var url = window.URL.createObjectURL(blob); a.href = url; a.download = "监理单位台账-导入模板.xlsx"; // 文件名 } else { layer.msg('服务异常,请稍后重试', { icon: 16, scrollbar: false, time: 2000 }); } a.click() window.URL.revokeObjectURL(url) }; xhr.send(); } function getParam() { var params = "type=" + 2 + "&keyWord=" + $("#keyWord").val(); return params; } //导出 function exportData() { let loadingMsg = layer.msg("数据导出中,请稍候...", { icon: 16, scrollbar: false, time: 0, }); let url = dataUrl + "proteam/sys/manage/exportDevice?" + getParam() + '&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(getParam()))); 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(); }