let action = null; let app = null; let sendDataWhere = { targetId: null, targetTableName: null, eqName: null }; layui.config({ base: "/js/", version: 1 }).use(['system', 'ztree'], function () { var form = layui.form, $ = layui.jquery, system = layui.system, u = new system.u(), table = layui.table, rowData = null, areaName = "Base", controller = "SysFile"; action = { deleteOptions: function () { var options = { url: `/${areaName}/${controller}/DelByIds`, keyId: "id" } return options; }, queryOptions: function () { var options = { resetFrom: "form[lay-filter=listForm]", fromId: "listForm", urlExport: `/${areaName}/${controller}/Export`, urlQuery: `/${areaName}/${controller}/Load`, mainTable: app.data.tableIns } return options; }, uploadOptions: function () { var options = { area: ["600px", "500px"], url: `/${areaName}/${controller}/Import`, fromFile: "#excelfile", content: $("#ImportData") } return options; }, //内部不支持异步,成功返回true,失败返回false uploadBefore: function (checkStatus, parm) { if (sendDataWhere.targetId == null || sendDataWhere.targetId=="r_1") { layer.alert("请选择设备或者设备类型节点上传文件!", { icon: u.config.iconoError, shade: 0.4, time: u.config.errorTime }); return false; } $("#ImportData [name='targetId']").val(sendDataWhere.targetId); $("#ImportData [name='targetTableName']").val(sendDataWhere.targetTableName); $("#ImportData [name='eqName']").val(sendDataWhere.eqName); return true; }, uploadSaveBefore: function (formData, selectRow, callBack) { if (callBack != null) callBack(); }, //所有动作成功之后 actionSuccess: (falg) => { if (falg === "upload" || falg=="delete") { app.methods.initTable({ targetId: sendDataWhere.targetId }); } else if (falg === "refresh") { app.data.tableIns.config.page.curr = 1; app.data.tableIns.reload("mainList", {}); } } } app = { data: { cols: [[ { checkbox: true, fixed: true }, { field: "id", width: 100, title: "编码", hide: true }, { field: 'fileName', width: 300, title: '文档名称' }, { field: 'url', width: 300, title: '文件下载', templet: function (d) { var target = "_blank"; if (d.suffix.indexOf("pdf") > -1 || d.suffix.indexOf("docx") > -1 || d.suffix.indexOf("doc") > -1 || d.suffix.indexOf("xlsx") > -1) { target = "_self"; } return `<a href="../../Document/${d.url}" target='${target}' style="color:cornflowerblue;text-decoration: underline;cursor:pointer;">${d.fileName}</a>`; } }, { field: 'size', width: 120, title: '文档大小' }, { field: 'targetId', title: '设备Code', hide: true }, { field: 'targetTableName', width: 120, title: '适用的设备', hide: true }, { field: 'suffix', width: 100, title: '文档类型' }, { field: 'remark', width: 120, title: '备注' }, { field: 'createTime', width: 150, title: '创建时间' }, { field: 'createBy', width: 100, title: '创建人' } ]], urlTable: `/${areaName}/${controller}/Load`, tableIns: null, tableInsDesc: null, tableElem: "mainList", tree: $("#tree"), treeObj: null, setting: { view: { selectedMulti: false }, async: { enable: true, url: `/${areaName}/${controller}/GetTreeList`, type: "get" }, data: { simpleData: { enable: true, idKey: "keys", pIdKey: "parentId", rootPId: "" } }, callback: { onClick: function (event, treeId, treeNode) { sendDataWhere.targetId = treeNode.keys; sendDataWhere.targetTableName = treeNode.code; sendDataWhere.eqName = treeNode.name; app.methods.initTable(sendDataWhere); }, onAsyncSuccess: function (event, treeId, treeNode, msg) { app.data.treeObj.expandAll(true); } } }, selectOption: { //返回的数据 用于后续操作 selectData: { } } }, methods: { initTable: function (options) { var config = { }; if (options != undefined) $.extend(config, options); let opt = { cols: u.columnRecord(app.data.tableElem, app.data.cols), elem: "#" + app.data.tableElem, url: app.data.urlTable, toolbar: '#toolbarTable', where: config, menuModule: controller } app.data.tableIns = u.initTable(opt); }, initTree: function () { setTimeout(() => { app.data.treeObj = $.fn.zTree.init(app.data.tree, app.data.setting); app.data.tree.height($("div.layui-table-view").height() - 12); }, 50); }, initFrom() { u.initSelect(app.data.selectOption); }, }, registerEvent: function () { }, init: function () { app.registerEvent(); app.methods.initTable(); app.methods.initTree(); app.methods.initFrom(); } }; app.init(); })