var pageCurr; layui .config({ base: baseUrl + "/static/layui/lay/modules/", }) .use(["table", "laydate", "form", "admin"], function () { var table = layui.table; var $ = layui.jquery; var layer = layui.layer; var layDate = layui.laydate; var form = layui.form; var admin = layui.admin; // 数据渲染 tableIns = table.render({ elem: "#basDevp", headers: { token: localStorage.getItem("token") }, url: baseUrl + "/basDevp/list/auth", page: true, limit: 15, limits: [15, 30, 50, 100, 200, 500], toolbar: "#toolbar", cellMinWidth: 50, height: "full-120", cols: [ [ { type: "checkbox" }, { field: "id", align: "center", title: "编号" }, { field: "devpNo", align: "center", title: "设备编号" }, { field: "status$", align: "center", title: "状态" }, { field: "createBy", align: "center", title: "创建人员" }, { field: "createTime$", align: "center", title: "创建时间" }, { field: "updateBy", align: "center", title: "修改人员" }, { field: "updateTime$", align: "center", title: "修改时间" }, { field: "memo", align: "center", title: "备注" }, { field: "stationList", align: "center", title: "站点数据" }, { field: "barcodeStationList", align: "center", title: "条码站点数据" }, { field: "inStationList", align: "center", title: "入库站点数据" }, { field: "outStationList", align: "center", title: "出库站点数据" }, { fixed: "right", title: "操作", align: "center", toolbar: "#operate", width: 240, }, ], ], request: { pageName: "curr", pageSize: "limit", }, parseData: function (res) { return { code: res.code, msg: res.msg, count: res.data.total, data: res.data.records, }; }, response: { statusCode: 200, }, done: function (res, curr, count) { if (res.code === 403) { top.location.href = baseUrl + "/"; } pageCurr = curr; limit(); }, }); // 监听排序事件 table.on("sort(basDevp)", function (obj) { var searchData = {}; $.each($("#search-box [name]").serializeArray(), function () { searchData[this.name] = this.value; }); searchData["orderByField"] = obj.field; searchData["orderByType"] = obj.type; tableIns.reload({ where: searchData, page: { curr: 1 }, }); }); // 监听头工具栏事件 table.on("toolbar(basDevp)", function (obj) { var checkStatus = table.checkStatus(obj.config.id).data; switch (obj.event) { case "addData": showEditModel(); break; case "deleteData": if (checkStatus.length === 0) { layer.msg("请选择要删除的数据", { icon: 2 }); return; } del( checkStatus.map(function (d) { return d.id; }) ); break; case "exportData": admin.confirm("确定导出Excel吗", { shadeClose: true }, function () { var titles = []; var fields = []; obj.config.cols[0].map(function (col) { if ( col.type === "normal" && col.hide === false && col.toolbar == null ) { titles.push(col.title); fields.push(col.field); } }); var exportData = {}; $.each($("#search-box [name]").serializeArray(), function () { exportData[this.name] = this.value; }); var param = { basDevp: exportData, fields: fields, }; $.ajax({ url: baseUrl + "/basDevp/export/auth", headers: { token: localStorage.getItem("token") }, data: JSON.stringify(param), dataType: "json", contentType: "application/json;charset=UTF-8", method: "POST", success: function (res) { layer.closeAll(); if (res.code === 200) { table.exportFile(titles, res.data, "xls"); } else if (res.code === 403) { top.location.href = baseUrl + "/"; } else { layer.msg(res.msg, { icon: 2 }); } }, }); }); break; } }); // 监听行工具事件 table.on("tool(basDevp)", function (obj) { var data = obj.data; switch (obj.event) { case "edit": showEditModel(data); break; case "del": del([data.id]); break; case "initStation": showInitStation(data); break; } }); function showInitStation(mData) { admin.open({ type: 1, area: "600px", title: "初始化站点数据", content: $("#initStationDialog").html(), success: function (layero, dIndex) { layDateRender(mData); form.val("detail", mData); form.on("submit(editSubmit)", function (data) { var loadIndex = layer.load(2); $.ajax({ url: baseUrl + "/basDevp/initStation/auth", headers: { token: localStorage.getItem("token") }, contentType: "application/json;charset=UTF-8", data: JSON.stringify(data.field), method: "POST", success: function (res) { layer.close(loadIndex); if (res.code === 200) { layer.close(dIndex); layer.msg(res.msg, { icon: 1 }); tableReload(); } else if (res.code === 403) { top.location.href = baseUrl + "/"; } else { layer.msg(res.msg, { icon: 2 }); } }, }); return false; }); $(layero).children(".layui-layer-content").css("overflow", "visible"); layui.form.render("select"); }, }); } /* 弹窗 - 新增、修改 */ function showEditModel(mData) { admin.open({ type: 1, area: "600px", title: (mData ? "修改" : "添加") + "订单状态", content: $("#editDialog").html(), success: function (layero, dIndex) { layDateRender(mData); form.val("detail", mData); form.on("submit(editSubmit)", function (data) { var loadIndex = layer.load(2); $.ajax({ url: baseUrl + "/basDevp/" + (mData ? "update" : "add") + "/auth", headers: { token: localStorage.getItem("token") }, data: data.field, method: "POST", success: function (res) { layer.close(loadIndex); if (res.code === 200) { layer.close(dIndex); layer.msg(res.msg, { icon: 1 }); tableReload(); } else if (res.code === 403) { top.location.href = baseUrl + "/"; } else { layer.msg(res.msg, { icon: 2 }); } }, }); return false; }); $(layero).children(".layui-layer-content").css("overflow", "visible"); layui.form.render("select"); }, }); } /* 删除 */ function del(ids) { layer.confirm( "确定要删除选中数据吗?", { skin: "layui-layer-admin", shade: 0.1, }, function (i) { layer.close(i); var loadIndex = layer.load(2); $.ajax({ url: baseUrl + "/basDevp/delete/auth", headers: { token: localStorage.getItem("token") }, data: { ids: ids }, method: "POST", success: function (res) { layer.close(loadIndex); if (res.code === 200) { layer.msg(res.msg, { icon: 1 }); tableReload(); } else if (res.code === 403) { top.location.href = baseUrl + "/"; } else { layer.msg(res.msg, { icon: 2 }); } }, }); } ); } // 搜索 form.on("submit(search)", function (data) { pageCurr = 1; tableReload(false); }); // 重置 form.on("submit(reset)", function (data) { pageCurr = 1; clearFormVal($("#search-box")); tableReload(false); }); // 时间选择器 function layDateRender(data) { setTimeout(function () { layDate.render({ elem: ".layui-laydate-range", type: "datetime", range: true, }); layDate.render({ elem: "#createTime\\$", type: "datetime", value: data !== undefined ? data["createTime\\$"] : null, }); layDate.render({ elem: "#updateTime\\$", type: "datetime", value: data !== undefined ? data["updateTime\\$"] : null, }); }, 300); } layDateRender(); }); // 关闭动作 $(document).on("click", "#data-detail-close", function () { parent.layer.closeAll(); }); function tableReload(child) { var searchData = {}; $.each($("#search-box [name]").serializeArray(), function () { searchData[this.name] = this.value; }); tableIns.reload({ where: searchData, page: { curr: pageCurr }, }); }