$(function() { var defaultPage = 0; var defaultSize = 10; var currentPage = defaultPage; var currentSize = defaultSize; var tableFirstLoad = true; Date.prototype.Format = function(fmt) { var o = { "M+": this.getMonth() + 1, //月份 "d+": this.getDate(), //日 "h+": this.getHours(), //小时 "m+": this.getMinutes(), //分 "s+": this.getSeconds(), //秒 "q+": Math.floor((this.getMonth() + 3) / 3), //季度 "S": this.getMilliseconds() //毫秒 }; if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length)); for (var k in o) if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length))); return fmt; }; function formatDate(t) { var now = new Date(t), y = now.getFullYear(), m = now.getMonth() + 1, d = now.getDate(); return y + "-" + (m < 10 ? "0" + m : m) + "-" + (d < 10 ? "0" + d : d) + " " + now.toTimeString().substr(0, 8); } layui.config({ base: './lib/layui_exts/' }).use(["table", 'excel', "laypage", "layer"], function() { var table = layui.table; var laypage = layui.laypage; excel = layui.excel; function loadLogList(page, size) { if (page === null || page === undefined) page = defaultPage; if (size === null || size === undefined) size = defaultSize; var tableOption = { elem: "#logList", height: "full-81", limit: size, cols: [ [{ type: "checkbox" }, { field: "realName", title: "姓名", align: "center" }, { field: "beginTime", title: "开始时间", align: "center" }, { field: "finishTime", title: "结束时间", align: "center" }, { field: "requestDescription", title: "功能", align: "center" }, { field: "execStatus", title: "执行状态", align: "center", templet: function(d) { return d.execStatus == 0 ? "成功" : "失败" } }, { fixed: "right", title: "操作", toolbar: "#operationToolbar", width: 200, align: "center" } ] ] }; var url = "api/log/listpage?page=" + (page + 1) + "&size=" + size; fetchJSON(url, {}, "get", function(data) { if (data.status === 0) { if (tableFirstLoad) { tableFirstLoad = false; laypage.render({ curr: page + 1, elem: "pagination", count: data.data.total, layout: ["count", "prev", "page", "next", "limit", "refresh", "skip"], jump: function(obj, first) { if (first) return; currentPage = obj.curr - 1; currentSize = obj.limit; loadLogList(currentPage, currentSize); } }); } tableOption.data = data.data.list; table.render(tableOption); } else { showMsg(data.msg, 2, 2000); } }); } loadLogList(); $("#searchArticle").on("click", function(e) { e.preventDefault(); tableFirstLoad = true; searchTitleKey = title.val().trim(); if (searchTitleKey === "") loadLogList(0, currentSize); else loadLogList(0, currentSize, searchTitleKey); }); $("#keyword").on("keyup", function(e) { e.preventDefault(); if (e.keyCode === 13) { $("#searchArticle").click(); } }); // 监听表内工具条 table.on("tool(logList)", function(obj) { var data = obj.data; // 删除 var ids = []; ids.push(data.id); let form = { ids: ids }; layer.confirm("确认要删除吗?", function() { fetchJSON("api/log/delete", form, "post", function(data) { if (data.status === 0) { showMsg("已删除!"); tableFirstLoad = true; loadLogList(currentPage, currentSize); } else { showMsg(data.msg, 2, 2000); } }); }); }); //表格导出 function exportFile(id) { //根据传入tableID获取表头 var headers = layui.$("div[lay-id='logList'] .layui-table-box table").get(0); var htrs = Array.from(headers.querySelectorAll('tr')); var titles = {}; for (var j = 0; j < htrs.length; j++) { var hths = Array.from(htrs[j].querySelectorAll("th")); for (var i = 1; i < hths.length - 1; i++) { //排除居左、具有、隐藏字段 //修改:默认字段data-field+i,兼容部分数据表格中不存在data-field值的问题 titles['data-field' + i] = hths[i].innerText; } } //根据传入tableID获取table内容 var bodys = layui.$("div[lay-id='logList'] .layui-table-box table").get(1); var btrs = Array.from(bodys.querySelectorAll("tr")) var bodysArr = new Array(); for (var j = 0; j < btrs.length; j++) { var contents = {}; var btds = Array.from(btrs[j].querySelectorAll("td")); for (var i = 1; i < btds.length - 1; i++) { for (var key in titles) { //修改:默认字段data-field+i,兼容部分数据表格中不存在data-field值的问题 var field = 'data-field' + i; if (field === key) { //根据表头字段获取table内容字段 contents[field] = btds[i].innerText; } } } bodysArr.push(contents) } //将标题行置顶添加到数组 bodysArr.unshift(titles); //导出excel excel.exportExcel({ sheet1: bodysArr }, '日志' + new Date().toLocaleString() + '.xlsx', 'xlsx'); } $("#exportLog").on("click", function(e) { exportFile("logList"); }); // 批量删除 $("#batchDelete").on("click", function(e) { e.preventDefault(); var checkedData = table.checkStatus("logList").data; if (checkedData.length === 0) { showMsg("未选择需要删除的日志", 2, 2000); return; } layer.confirm("确认要删除吗?", function() { var ids = []; for (var i = 0; i < checkedData.length; i++) { ids.push(checkedData[i].id); } fetchJSON("api/log/delete", { ids: ids }, "post", function(data) { if (data.status === 0) { showMsg("已删除!"); tableFirstLoad = true; loadLogList(currentPage, currentSize); } else { showMsg(data.msg, 2, 2000); } }); }); }); }); });