let form, layer, table, tableIns,element; let pageNum = 1, limitSize = 10; // 默认第一页,分页数量为10 layui.use(['form', 'layer', 'table','element'], function () { form = layui.form; layer = layui.layer; table = layui.table; element = layui.element; layui.form.render(); pages(1, 10, 1); element.render(); }) function pages(pageNum, pageSize, typeNum) { let params = getReqParams(pageNum, pageSize, typeNum); let url = dataUrl + "/backstage/proProgress/getList" ajaxRequest(url, "POST", params, true, function () { }, function (result) { console.log(result); if (result.code === 200) { if (result.data) { initTable(result.data, result.limit, result.curr) laypages(result.count, result.curr, result.limit) element.render(); } } else if (result.code === 500) { layer.alert(result.msg, {icon: 2}) } }, function (xhr) { error(xhr) }); } 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: [10, 20, 50, 100, 200, 500], 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,}); pageNum = page, limitSize = limit; tableIns = table.render({ elem: "#table_data", height: "full-150", data: dataList, limit: limit, cols: [ [ { title: "序号", width: "5%", unresize: true, align: "center", templet: function (d) { return (page - 1) * limit + d.LAY_NUM; } }, {field: "proName", title: "项目名称", width: "30%", unresize: true, align: "center"}, {field: "voltageLevel", title: "电压等级", width: "10%", unresize: true, align: "center"}, {title: "项目进度", width: "20%", unresize: true, align: "center",templet: schedule}, {field: "updateUserName", title: "更新人", width: "10%", unresize: true, align: "center"}, {field: "updateTime", title: "更新时间", width: "15%", unresize: true, align: "center"}, { title: "操作", unresize: true, width: "10%", align: "center", templet: function (d) { let html = ''; let view = "" html = view; return html; } }, ], ], done: function (res, curr, count) { layer.close(loadingMsg); table.resize("table_data"); count || this.elem.next(".layui-table-view").find(".layui-table-header").css("display", "inline-block"); count || this.elem.next(".layui-table-view").find(".layui-table-box").css("overflow", "auto"); element.render(); }, }); } // 获取参数 function getReqParams(page, limit, type) { let obj = {}; if (!type) { obj = { pageNum: page + "", pageSize: limit + "", keyWord: $('#keyWord').val(), }; } else { obj = { pageNum: '1', pageSize: '10', keyWord: '', }; } obj = { encryptedData: encryptCBC(JSON.stringify(obj)) } return obj; } // 查询/重置 function query(type) { pageNum = 1; if(type === 2){ $('#keyWord').val(''); layui.form.render(); } pages(1, limitSize); } /**详情*/ function viewData(obj){ openIframeByParamObj("viewData", "更新进度", "./proProgressUpdateDetail.html", "92%", "95%", obj); } /*下载*/ function downloadExcel(){ let obj = { id: $('#proId').val() } let params = { encryptedData: encryptCBC(JSON.stringify(obj)) } let loadingMsg = layer.msg("数据导出中,请稍候...", {icon: 16, scrollbar: false, time: 0,}); let url = dataUrl + "/backstage/proProgress/downloadExcel?token=" + tokens + "&encryptedData=" + encodeURIComponent(encryptCBC(JSON.stringify(obj))); let xhr = new XMLHttpRequest(); xhr.open("post", url, true); xhr.responseType = "blob"; // 转换流 xhr.setRequestHeader('Content-Type','application/json;charset=UTF-8') 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(params); xhr.send(); } // 设置进度值 function schedule(d) { d.proProgress = parseFloat(d.proProgress ? d.proProgress : 0); d.filter == undefined ? (d.filter = (pageNum - 1) * limitSize + d.LAY_NUM) : d.filter; d.proProgress == undefined ? (d.proProgress = 100) : d.proProgress; var color = "layui-bg-orange"; if (d.proProgress < 100) { color = "layui-bg-orange"; } else if (d.proProgress === 100) { color = "layui-bg-primary"; } else if (d.proProgress > 100) { color = "layui-bg-blue"; } //设置页面进度条 return ( '
' + '
' + '
' + "
"+d.proProgress+"%" + '
' ); }