var R = (l, n, e) => new Promise((i, a) => { var s = (d) => { try { f(e.next(d)); } catch (h) { a(h); } }, m = (d) => { try { f(e.throw(d)); } catch (h) { a(h); } }, f = (d) => d.done ? i(d.value) : Promise.resolve(d.value).then(s, m); f((e = e.apply(l, n)).next()); }); import { defineComponent as w, createVNode as N, h as V, resolveComponent as S, resolveDirective as A, openBlock as t, createElementBlock as o, createElementVNode as c, toDisplayString as I, Fragment as j, renderList as M, withDirectives as _, createBlock as g, withCtx as b, resolveDynamicComponent as W, createCommentVNode as r, createTextVNode as $, vShow as q, renderSlot as y, normalizeStyle as P, createSlots as z } from "vue"; import { _ as X, d as K, l as G, U as J, a9 as Q } from "./index2.js"; import { u as Y, a as Z, g as ll, C as el, F as nl, T as F, S as ul, b as al, c as sl, d as tl, E as il } from "./Table.js"; const ol = w({ compatConfig: { MODE: 3 }, name: "ATableSummaryRow", setup(l, n) { let { slots: e } = n; return () => { var i; return N("tr", null, [(i = e.default) === null || i === void 0 ? void 0 : i.call(e)]); }; } }), rl = w({ name: "ATableSummaryCell", props: ["index", "colSpan", "rowSpan", "align"], setup(l, n) { let { attrs: e, slots: i } = n; const a = Y(), s = Z(); return () => { const { index: m, colSpan: f = 1, rowSpan: d, align: h } = l, { prefixCls: T, direction: k } = a, { scrollColumnIndex: v, stickyOffsets: D, flattenColumns: u } = s, C = m + f - 1 + 1 === v ? f + 1 : f, H = ll(m, m + C - 1, u, D, k); return N(el, X({ class: e.class, index: m, component: "td", prefixCls: T, record: null, dataIndex: null, align: h, colSpan: C, rowSpan: d, customRender: () => { var x; return (x = i.default) === null || x === void 0 ? void 0 : x.call(i); } }, H), null); }; } }), O = w({ name: "ATableColumn", slots: Object, render() { return null; } }), U = w({ name: "ATableColumnGroup", slots: Object, __ANT_TABLE_COLUMN_GROUP: !0, render() { return null; } }), E = ol, L = rl, B = K(nl, { Cell: L, Row: E, name: "ATableSummary" }), dl = K(F, { SELECTION_ALL: ul, SELECTION_INVERT: al, SELECTION_NONE: sl, SELECTION_COLUMN: tl, EXPAND_COLUMN: il, Column: O, ColumnGroup: U, Summary: B, install: (l) => (l.component(B.name, B), l.component(L.name, L), l.component(E.name, E), l.component(F.name, F), l.component(O.name, O), l.component(U.name, U), l) }), cl = { name: "ListTableTreeLayout", components: {}, data() { return { _: this, importLoading: !1, exportLoading: !1, importVisible: !1, isFilter: !1, isMoreFilter: !1, layoutHeight: 0, tableScrollPx: 0, spinning: !1, sideWidth: 232, selectedRowKeys: [], renderColumns: [], startX: 0, dragWidth: 0, renderButtons: [], iconMap: { add: "PlusCircleOutlined", edit: "FormOutlined", delete: "DeleteOutlined", remove: "DeleteOutlined", import: "UploadOutlined", export: "DownloadOutlined", assign: "ClusterOutlined", execute: "PlayOircleOutlined", pause: "PauseOircleOutlined", resume: "PoweroffOutlined", approve: "HighlightOutlined", setting: "SettingOutlined", TopOfType: "VerticalAlignTopOutlined", TOP: "VerticalAlignTopOutlined", synchronize: "SyncOutlined" }, list: [ { id: "05014c3403504200a8ba0aef78da778b", createBy: { id: "e4bd7695bfb7474a8cf22c6b09dabcc4", createBy: null, createDate: null, updateBy: null, updateDate: null, remarks: null, delFlag: null, sqlMap: {}, title: null, key: null, value: null, profilesDbType: null, router: null, client: null, searchValue: null, no: null, campusName: null, name: null, phone: null, mobile: null, email: null, loginName: null, accountStatus: null, password: null, officeCode: null, positionName: null, roleName: null, loginFlag: null, userType: null, userTypeName: null, createDateStr: null, avatar: null, fileIds: null, roleIds: null, officeId: null, positionId: null, deputyOfficePositionIds: null, userOfficePositions: null, roles: null, companys: null, depts: null, positions: null, campusId: null, unitId: null, parentIds: null, campusIds: null, unitIds: null, certNo: null, isUpdatedPassword: null, employeeId: null, startTime: null, endTime: null, unitName: null, className: null, cover: null, campusIdOrUnitId: null, isEnabledPassPolicy: null, isEnabledPolicyUpdatePassword: null, isPasswordPolicyExpires: null, officeIds: null, positionIds: null, userTypes: null, thirdUserId: null, cardTypeName: null, sex: null, mainPositionName: null, deputyPositionNames: null, superiorLeaderName: null, majorName: null, gradeName: null, extendFieldValues: null, isAssignUser: null, configName: null, admin: !1, isNewRecord: !1 }, createDate: "2023-05-26 14:49:33", updateBy: { id: "e4bd7695bfb7474a8cf22c6b09dabcc4", createBy: null, createDate: null, updateBy: null, updateDate: null, remarks: null, delFlag: null, sqlMap: {}, title: null, key: null, value: null, profilesDbType: null, router: null, client: null, searchValue: null, no: "admin", campusName: null, name: "内置管理员", phone: null, mobile: null, email: null, loginName: null, accountStatus: null, password: null, officeCode: null, positionName: null, roleName: null, loginFlag: null, userType: null, userTypeName: null, createDateStr: null, avatar: null, fileIds: null, roleIds: null, officeId: null, positionId: null, deputyOfficePositionIds: null, userOfficePositions: null, roles: null, companys: null, depts: null, positions: null, campusId: null, unitId: null, parentIds: null, campusIds: null, unitIds: null, certNo: null, isUpdatedPassword: null, employeeId: null, startTime: null, endTime: null, unitName: null, className: null, cover: null, campusIdOrUnitId: null, isEnabledPassPolicy: null, isEnabledPolicyUpdatePassword: null, isPasswordPolicyExpires: null, officeIds: null, positionIds: null, userTypes: null, thirdUserId: null, cardTypeName: null, sex: null, mainPositionName: null, deputyPositionNames: null, superiorLeaderName: null, majorName: null, gradeName: null, extendFieldValues: null, isAssignUser: null, configName: null, admin: !1, isNewRecord: !1 }, updateDate: "2023-05-26 14:49:33", remarks: null, delFlag: !1, sqlMap: {}, title: "hy测试目录", key: "05014c3403504200a8ba0aef78da778b", value: "05014c3403504200a8ba0aef78da778b", profilesDbType: null, router: null, client: null, searchValue: null, parent: { id: "0", createBy: null, createDate: null, updateBy: null, updateDate: null, remarks: null, delFlag: null, sqlMap: {}, title: null, key: "0", value: "0", profilesDbType: null, router: null, client: null, searchValue: null, parent: null, parentCode: null, code: null, name: null, sort: null, fullName: null, parentIds: null, depth: null, dlrSort: null, isLeaf: null, children: null, disabled: null, fullNames: null, setNum: 0, isNewRecord: !1 }, parentCode: null, code: "gtcsml", name: "hy测试目录", sort: 1, fullName: "hy测试目录", parentIds: "0,", depth: 1, dlrSort: null, isLeaf: !1, children: [ { id: "e879adca386046f2baf85aabc1c233c1", createBy: { id: "e4bd7695bfb7474a8cf22c6b09dabcc4", createBy: null, createDate: null, updateBy: null, updateDate: null, remarks: null, delFlag: null, sqlMap: {}, title: null, key: null, value: null, profilesDbType: null, router: null, client: null, searchValue: null, no: null, campusName: null, name: null, phone: null, mobile: null, email: null, loginName: null, accountStatus: null, password: null, officeCode: null, positionName: null, roleName: null, loginFlag: null, userType: null, userTypeName: null, createDateStr: null, avatar: null, fileIds: null, roleIds: null, officeId: null, positionId: null, deputyOfficePositionIds: null, userOfficePositions: null, roles: null, companys: null, depts: null, positions: null, campusId: null, unitId: null, parentIds: null, campusIds: null, unitIds: null, certNo: null, isUpdatedPassword: null, employeeId: null, startTime: null, endTime: null, unitName: null, className: null, cover: null, campusIdOrUnitId: null, isEnabledPassPolicy: null, isEnabledPolicyUpdatePassword: null, isPasswordPolicyExpires: null, officeIds: null, positionIds: null, userTypes: null, thirdUserId: null, cardTypeName: null, sex: null, mainPositionName: null, deputyPositionNames: null, superiorLeaderName: null, majorName: null, gradeName: null, extendFieldValues: null, isAssignUser: null, configName: null, admin: !1, isNewRecord: !1 }, createDate: "2023-05-26 14:50:21", updateBy: { id: "e4bd7695bfb7474a8cf22c6b09dabcc4", createBy: null, createDate: null, updateBy: null, updateDate: null, remarks: null, delFlag: null, sqlMap: {}, title: null, key: null, value: null, profilesDbType: null, router: null, client: null, searchValue: null, no: "admin", campusName: null, name: "内置管理员", phone: null, mobile: null, email: null, loginName: null, accountStatus: null, password: null, officeCode: null, positionName: null, roleName: null, loginFlag: null, userType: null, userTypeName: null, createDateStr: null, avatar: null, fileIds: null, roleIds: null, officeId: null, positionId: null, deputyOfficePositionIds: null, userOfficePositions: null, roles: null, companys: null, depts: null, positions: null, campusId: null, unitId: null, parentIds: null, campusIds: null, unitIds: null, certNo: null, isUpdatedPassword: null, employeeId: null, startTime: null, endTime: null, unitName: null, className: null, cover: null, campusIdOrUnitId: null, isEnabledPassPolicy: null, isEnabledPolicyUpdatePassword: null, isPasswordPolicyExpires: null, officeIds: null, positionIds: null, userTypes: null, thirdUserId: null, cardTypeName: null, sex: null, mainPositionName: null, deputyPositionNames: null, superiorLeaderName: null, majorName: null, gradeName: null, extendFieldValues: null, isAssignUser: null, configName: null, admin: !1, isNewRecord: !1 }, updateDate: "2023-05-26 14:50:21", remarks: null, delFlag: !1, sqlMap: {}, title: "二级目录1", key: "e879adca386046f2baf85aabc1c233c1", value: "e879adca386046f2baf85aabc1c233c1", profilesDbType: null, router: null, client: null, searchValue: null, parent: { id: "05014c3403504200a8ba0aef78da778b", createBy: null, createDate: null, updateBy: null, updateDate: null, remarks: null, delFlag: null, sqlMap: {}, title: "hy测试目录", key: "05014c3403504200a8ba0aef78da778b", value: "05014c3403504200a8ba0aef78da778b", profilesDbType: null, router: null, client: null, searchValue: null, parent: null, parentCode: null, code: null, name: "hy测试目录", sort: null, fullName: null, parentIds: null, depth: null, dlrSort: null, isLeaf: null, children: null, disabled: null, fullNames: null, setNum: 0, isNewRecord: !1 }, parentCode: "gtcsml", code: "hy21", name: "二级目录1", sort: 10, fullName: "hy测试目录/二级目录1", parentIds: "0,05014c3403504200a8ba0aef78da778b,", depth: 2, dlrSort: null, isLeaf: !1, children: [ { id: "e7071697ff01491da28bf88e143409b0", createBy: { id: "e4bd7695bfb7474a8cf22c6b09dabcc4", createBy: null, createDate: null, updateBy: null, updateDate: null, remarks: null, delFlag: null, sqlMap: {}, title: null, key: null, value: null, profilesDbType: null, router: null, client: null, searchValue: null, no: null, campusName: null, name: null, phone: null, mobile: null, email: null, loginName: null, accountStatus: null, password: null, officeCode: null, positionName: null, roleName: null, loginFlag: null, userType: null, userTypeName: null, createDateStr: null, avatar: null, fileIds: null, roleIds: null, officeId: null, positionId: null, deputyOfficePositionIds: null, userOfficePositions: null, roles: null, companys: null, depts: null, positions: null, campusId: null, unitId: null, parentIds: null, campusIds: null, unitIds: null, certNo: null, isUpdatedPassword: null, employeeId: null, startTime: null, endTime: null, unitName: null, className: null, cover: null, campusIdOrUnitId: null, isEnabledPassPolicy: null, isEnabledPolicyUpdatePassword: null, isPasswordPolicyExpires: null, officeIds: null, positionIds: null, userTypes: null, thirdUserId: null, cardTypeName: null, sex: null, mainPositionName: null, deputyPositionNames: null, superiorLeaderName: null, majorName: null, gradeName: null, extendFieldValues: null, isAssignUser: null, configName: null, admin: !1, isNewRecord: !1 }, createDate: "2023-05-26 14:51:14", updateBy: { id: "e4bd7695bfb7474a8cf22c6b09dabcc4", createBy: null, createDate: null, updateBy: null, updateDate: null, remarks: null, delFlag: null, sqlMap: {}, title: null, key: null, value: null, profilesDbType: null, router: null, client: null, searchValue: null, no: "admin", campusName: null, name: "内置管理员", phone: null, mobile: null, email: null, loginName: null, accountStatus: null, password: null, officeCode: null, positionName: null, roleName: null, loginFlag: null, userType: null, userTypeName: null, createDateStr: null, avatar: null, fileIds: null, roleIds: null, officeId: null, positionId: null, deputyOfficePositionIds: null, userOfficePositions: null, roles: null, companys: null, depts: null, positions: null, campusId: null, unitId: null, parentIds: null, campusIds: null, unitIds: null, certNo: null, isUpdatedPassword: null, employeeId: null, startTime: null, endTime: null, unitName: null, className: null, cover: null, campusIdOrUnitId: null, isEnabledPassPolicy: null, isEnabledPolicyUpdatePassword: null, isPasswordPolicyExpires: null, officeIds: null, positionIds: null, userTypes: null, thirdUserId: null, cardTypeName: null, sex: null, mainPositionName: null, deputyPositionNames: null, superiorLeaderName: null, majorName: null, gradeName: null, extendFieldValues: null, isAssignUser: null, configName: null, admin: !1, isNewRecord: !1 }, updateDate: "2023-05-26 14:53:11", remarks: null, delFlag: !1, sqlMap: {}, title: "目录3-1", key: "e7071697ff01491da28bf88e143409b0", value: "e7071697ff01491da28bf88e143409b0", profilesDbType: null, router: null, client: null, searchValue: null, parent: { id: "e879adca386046f2baf85aabc1c233c1", createBy: null, createDate: null, updateBy: null, updateDate: null, remarks: null, delFlag: null, sqlMap: {}, title: "二级目录1", key: "e879adca386046f2baf85aabc1c233c1", value: "e879adca386046f2baf85aabc1c233c1", profilesDbType: null, router: null, client: null, searchValue: null, parent: null, parentCode: null, code: null, name: "二级目录1", sort: null, fullName: null, parentIds: null, depth: null, dlrSort: null, isLeaf: null, children: null, disabled: null, fullNames: null, setNum: 0, isNewRecord: !1 }, parentCode: "hy21", code: "ml4", name: "目录3-1", sort: 10, fullName: "hy测试目录/二级目录1/目录3-1", parentIds: "0,05014c3403504200a8ba0aef78da778b,e879adca386046f2baf85aabc1c233c1,", depth: 3, dlrSort: null, isLeaf: !0, children: null, disabled: null, fullNames: null, setNum: 1, isNewRecord: !1 }, { id: "2e2a69ef7fdb4ea6910f79673a826966", createBy: { id: "e4bd7695bfb7474a8cf22c6b09dabcc4", createBy: null, createDate: null, updateBy: null, updateDate: null, remarks: null, delFlag: null, sqlMap: {}, title: null, key: null, value: null, profilesDbType: null, router: null, client: null, searchValue: null, no: null, campusName: null, name: null, phone: null, mobile: null, email: null, loginName: null, accountStatus: null, password: null, officeCode: null, positionName: null, roleName: null, loginFlag: null, userType: null, userTypeName: null, createDateStr: null, avatar: null, fileIds: null, roleIds: null, officeId: null, positionId: null, deputyOfficePositionIds: null, userOfficePositions: null, roles: null, companys: null, depts: null, positions: null, campusId: null, unitId: null, parentIds: null, campusIds: null, unitIds: null, certNo: null, isUpdatedPassword: null, employeeId: null, startTime: null, endTime: null, unitName: null, className: null, cover: null, campusIdOrUnitId: null, isEnabledPassPolicy: null, isEnabledPolicyUpdatePassword: null, isPasswordPolicyExpires: null, officeIds: null, positionIds: null, userTypes: null, thirdUserId: null, cardTypeName: null, sex: null, mainPositionName: null, deputyPositionNames: null, superiorLeaderName: null, majorName: null, gradeName: null, extendFieldValues: null, isAssignUser: null, configName: null, admin: !1, isNewRecord: !1 }, createDate: "2023-05-26 14:51:35", updateBy: { id: "e4bd7695bfb7474a8cf22c6b09dabcc4", createBy: null, createDate: null, updateBy: null, updateDate: null, remarks: null, delFlag: null, sqlMap: {}, title: null, key: null, value: null, profilesDbType: null, router: null, client: null, searchValue: null, no: "admin", campusName: null, name: "内置管理员", phone: null, mobile: null, email: null, loginName: null, accountStatus: null, password: null, officeCode: null, positionName: null, roleName: null, loginFlag: null, userType: null, userTypeName: null, createDateStr: null, avatar: null, fileIds: null, roleIds: null, officeId: null, positionId: null, deputyOfficePositionIds: null, userOfficePositions: null, roles: null, companys: null, depts: null, positions: null, campusId: null, unitId: null, parentIds: null, campusIds: null, unitIds: null, certNo: null, isUpdatedPassword: null, employeeId: null, startTime: null, endTime: null, unitName: null, className: null, cover: null, campusIdOrUnitId: null, isEnabledPassPolicy: null, isEnabledPolicyUpdatePassword: null, isPasswordPolicyExpires: null, officeIds: null, positionIds: null, userTypes: null, thirdUserId: null, cardTypeName: null, sex: null, mainPositionName: null, deputyPositionNames: null, superiorLeaderName: null, majorName: null, gradeName: null, extendFieldValues: null, isAssignUser: null, configName: null, admin: !1, isNewRecord: !1 }, updateDate: "2023-05-26 14:52:00", remarks: null, delFlag: !1, sqlMap: {}, title: "目录 3", key: "2e2a69ef7fdb4ea6910f79673a826966", value: "2e2a69ef7fdb4ea6910f79673a826966", profilesDbType: null, router: null, client: null, searchValue: null, parent: { id: "e879adca386046f2baf85aabc1c233c1", createBy: null, createDate: null, updateBy: null, updateDate: null, remarks: null, delFlag: null, sqlMap: {}, title: "二级目录1", key: "e879adca386046f2baf85aabc1c233c1", value: "e879adca386046f2baf85aabc1c233c1", profilesDbType: null, router: null, client: null, searchValue: null, parent: null, parentCode: null, code: null, name: "二级目录1", sort: null, fullName: null, parentIds: null, depth: null, dlrSort: null, isLeaf: null, children: null, disabled: null, fullNames: null, setNum: 0, isNewRecord: !1 }, parentCode: "hy21", code: "ml3", name: "目录 3", sort: 20, fullName: "hy测试目录/二级目录1/目录 3", parentIds: "0,05014c3403504200a8ba0aef78da778b,e879adca386046f2baf85aabc1c233c1,", depth: 3, dlrSort: null, isLeaf: !0, children: null, disabled: null, fullNames: null, setNum: 0, isNewRecord: !1 } ], disabled: null, fullNames: null, setNum: 0, isNewRecord: !1 }, { id: "b75fbf1235af489099429ef29d6dd794", createBy: { id: "e4bd7695bfb7474a8cf22c6b09dabcc4", createBy: null, createDate: null, updateBy: null, updateDate: null, remarks: null, delFlag: null, sqlMap: {}, title: null, key: null, value: null, profilesDbType: null, router: null, client: null, searchValue: null, no: null, campusName: null, name: null, phone: null, mobile: null, email: null, loginName: null, accountStatus: null, password: null, officeCode: null, positionName: null, roleName: null, loginFlag: null, userType: null, userTypeName: null, createDateStr: null, avatar: null, fileIds: null, roleIds: null, officeId: null, positionId: null, deputyOfficePositionIds: null, userOfficePositions: null, roles: null, companys: null, depts: null, positions: null, campusId: null, unitId: null, parentIds: null, campusIds: null, unitIds: null, certNo: null, isUpdatedPassword: null, employeeId: null, startTime: null, endTime: null, unitName: null, className: null, cover: null, campusIdOrUnitId: null, isEnabledPassPolicy: null, isEnabledPolicyUpdatePassword: null, isPasswordPolicyExpires: null, officeIds: null, positionIds: null, userTypes: null, thirdUserId: null, cardTypeName: null, sex: null, mainPositionName: null, deputyPositionNames: null, superiorLeaderName: null, majorName: null, gradeName: null, extendFieldValues: null, isAssignUser: null, configName: null, admin: !1, isNewRecord: !1 }, createDate: "2023-05-26 14:50:49", updateBy: { id: "e4bd7695bfb7474a8cf22c6b09dabcc4", createBy: null, createDate: null, updateBy: null, updateDate: null, remarks: null, delFlag: null, sqlMap: {}, title: null, key: null, value: null, profilesDbType: null, router: null, client: null, searchValue: null, no: "admin", campusName: null, name: "内置管理员", phone: null, mobile: null, email: null, loginName: null, accountStatus: null, password: null, officeCode: null, positionName: null, roleName: null, loginFlag: null, userType: null, userTypeName: null, createDateStr: null, avatar: null, fileIds: null, roleIds: null, officeId: null, positionId: null, deputyOfficePositionIds: null, userOfficePositions: null, roles: null, companys: null, depts: null, positions: null, campusId: null, unitId: null, parentIds: null, campusIds: null, unitIds: null, certNo: null, isUpdatedPassword: null, employeeId: null, startTime: null, endTime: null, unitName: null, className: null, cover: null, campusIdOrUnitId: null, isEnabledPassPolicy: null, isEnabledPolicyUpdatePassword: null, isPasswordPolicyExpires: null, officeIds: null, positionIds: null, userTypes: null, thirdUserId: null, cardTypeName: null, sex: null, mainPositionName: null, deputyPositionNames: null, superiorLeaderName: null, majorName: null, gradeName: null, extendFieldValues: null, isAssignUser: null, configName: null, admin: !1, isNewRecord: !1 }, updateDate: "2023-05-26 14:50:49", remarks: null, delFlag: !1, sqlMap: {}, title: "二级目录2", key: "b75fbf1235af489099429ef29d6dd794", value: "b75fbf1235af489099429ef29d6dd794", profilesDbType: null, router: null, client: null, searchValue: null, parent: { id: "05014c3403504200a8ba0aef78da778b", createBy: null, createDate: null, updateBy: null, updateDate: null, remarks: null, delFlag: null, sqlMap: {}, title: "hy测试目录", key: "05014c3403504200a8ba0aef78da778b", value: "05014c3403504200a8ba0aef78da778b", profilesDbType: null, router: null, client: null, searchValue: null, parent: null, parentCode: null, code: null, name: "hy测试目录", sort: null, fullName: null, parentIds: null, depth: null, dlrSort: null, isLeaf: null, children: null, disabled: null, fullNames: null, setNum: 0, isNewRecord: !1 }, parentCode: "gtcsml", code: "hy22", name: "二级目录2", sort: 20, fullName: "hy测试目录/二级目录2", parentIds: "0,05014c3403504200a8ba0aef78da778b,", depth: 2, dlrSort: null, isLeaf: !0, children: null, disabled: null, fullNames: null, setNum: 0, isNewRecord: !1 } ], disabled: null, fullNames: null, setNum: 5, isNewRecord: !1 } ], tableData: [], expandedRowKeys: [] }; }, props: { // 页面标题 title: { type: String, required: !0 }, buttons: { type: Array, default() { return [ { name: "添加", key: "add", show: !0, type: "primary", icon: "plus-circle", api: null }, { name: "批量删除", key: "remove", action: "remove", show: !0, icon: "delete", api: null }, { name: "导入", key: "import", show: !0, icon: "upload", api: null, templateApi: null }, { name: "导出", key: "export", show: !0, icon: "download", api: null } ]; } }, // 列表checkbox列 isSelection: { type: Boolean, default: !1 }, showBtnIcon: { type: Boolean, default: !0 }, showPagination: { type: Boolean, default: !0 }, columns: { type: Array, default() { return []; } }, rowKey: { type: [Function, String], default: "id" }, tableLoading: { type: Boolean, default: !1 }, loadData: { type: Function, required: !0 } }, watch: { buttons: { handler(l) { l.length && this.initRenderButtons(l); }, immediate: !0, deep: !0 } }, methods: { isFunction(l, n = "") { return !!(l && typeof l == "function"); }, renderIcon(l) { return typeof l.icon == "string" ? l.icon : typeof l.icon == "boolean" && l.icon ? this.iconMap[l.key] : ""; }, initRenderButtons(l) { this.renderButtons = l.map((n) => (n.key === "remove" && (this.showSelection = !0), n)); }, initTable() { this.$nextTick(() => { this.layoutHeight = this.$refs.layout.parentNode.offsetHeight - 50, this.setLayoutHeight(), this.renderColumns = this.columns.map((l) => ((l.template || l.isClick || l.dataIndex === "action" && !l.customRender) && !l.scopedSlots && (l.scopedSlots = { customRender: l.dataIndex }), l)), this.reload(); }); }, initComponent() { this.initTable(); }, toggleFilter() { this.isMoreFilter = !this.isMoreFilter, this.setLayoutHeight(); }, dispatchApi(l, n) { return this[l](n); }, // 查询条件重置 filterReset() { this.$emit("reset"); }, reload() { this.loadData({ pageNo: 1, pageSize: 0 }).then((l) => { !l.list || !l.list.length ? this.tableData = this.list : this.tableData = l.list; }); }, // 树列表 - 新增/编辑/详情 时 不刷新 setFilterParams() { console.log(this.$parent); }, // 按钮回调 btnCallback(l) { this.$emit("btnCallback", l.key, this.selectedRowKeys), this[l.key] ? this[l.key](l) : this.handAction(l); }, // 其他未定义按钮方法生成 handAction(l) { if (l.selection !== !1 && !this.selectedRowKeys.length) { this.$message.warn(`请选择要${l.name}的数据`); return; } if (this.isFunction(l.api, l.name)) { if (l.confirm) { this.$confirm({ title: `${l.name}`, content: () => V("div", { style: "color:red" }, `确认要{${l.name}}数据吗?`), onOk: () => { this.spinning = !0, l.api(this.selectedRowKeys).then(() => { this.$message.success(`${l.name}成功`), this.$emit("reset"); }).finally(() => { this.spinning = !1; }); } }); return; } this.spinning = !0, l.api(this.selectedRowKeys).then(() => { this.$message.success(`${l.name}成功`), this.$emit("reset"); }).finally(() => { this.spinning = !1; }); } }, // 设置列表路由地址 setHistoryPath() { const l = this.$route; sessionStorage.setItem("backPath", l.path); }, // 添加方法 add() { this.$emit("btnCallback", "add"); }, // 删除方法 remove() { if (!this.selectedRowKeys.length) { this.$notification.warn({ key: "only-you", message: "操作失败", description: "请选择要删除的数据" }); return; } this.isFunction("deletesApi") && this.$confirm({ title: "确认删除", content: () => V("div", { style: "color: red" }, "确认要批量删除数据吗?"), onOk: () => { this.spinning = !0, this.dispatchApi("deletesApi", this.selectedRowKeys).then(() => { this.$notification.success({ key: "only-you", message: "操作成功", description: "删除成功" }), this.$emit("reset"); }).finally(() => { this.spinning = !1; }); } }); }, // 导入方法 import() { this.importVisible = !0; }, // 导出方法 export() { this.isFunction("exportApi") && (this.spinning = !0, this.exportApi().then(() => { this.spinning = !1; })); }, // 导入回调 importExcel(l) { this.importLoading = !0, this.isFunction("importApi") && this.importApi(l).then((n) => { this.importLoading = !1, this.$notification.success({ key: "only-you", message: "操作成功", description: (e) => e("div", { domProps: { innerHTML: n } }) }), this.$emit("reset"); }); }, // 模板下载回调 exportExcelTemplate() { this.isFunction("templateApi") && (this.exportLoading = !0, this.templateApi().finally(() => { this.exportLoading = !1; })); }, // 表格可点击列事件回调 tableColCallback(l, n) { this.$emit("tableColCallback", l, n); }, onSelectChange(l) { this.selectedRowKeys = l; }, // 设置表格滚动条高度 setLayoutHeight() { this.$nextTick(() => { const n = this.$refs.filters && this.$refs.filters.offsetHeight || 0, e = this.$refs.tabs && this.$refs.tabs.offsetHeight || 0; this.tableScrollPx = this.layoutHeight - n - 60 - e; }); }, // 树表格展开 handExpand(l, n) { return R(this, null, function* () { this.$emit("handExpand", l, n); }); } }, mounted() { this.initComponent(); }, directives: { sidedrag: { mounted(l, n) { l.style.cursor = "e-resize"; const e = n.value; document.addEventListener("selectstart", (i) => { i.preventDefault(); }), l.onmousedown = (i) => { e.startX = i.clientX, e.dragWidth = e.sideWidth, document.onmousemove = (a) => { const s = a.clientX - e.startX; if (s < 0) { if (e.dragWidth + s <= 232) return; e.sideWidth = e.dragWidth + s; } else { if (e.dragWidth + s >= 500) return; e.sideWidth = e.dragWidth + s; } }, document.onmouseup = () => { document.onmousemove = document.onmousedown = null; }; }; } } } }, pl = { class: "list-layout", ref: "layout" }, ml = { class: "tools" }, fl = { class: "title" }, yl = { class: "btns" }, hl = { style: { "margin-left": "8px" } }, bl = { class: "list-filter-wrap", ref: "filters" }, Nl = { key: 0, class: "filter-content" }, Il = { class: "filter" }, gl = { key: 1, class: "reset-wrap" }, Pl = { key: 1, class: "filter-more-content" }, wl = { key: 2, class: "desc-wrap" }, Tl = { class: "table-content" }, kl = { key: 0, class: "tabs-wrap", ref: "tabs" }, vl = { class: "table-container" }, Dl = ["onClick"], Cl = { class: "other" }; function xl(l, n, e, i, a, s) { const m = J, f = S("down-outlined"), d = S("up-outlined"), h = S("sync-outlined"), T = Q, k = dl, v = A("action"), D = A("sidedrag"); return t(), o("div", pl, [ c("div", ml, [ c("div", fl, I(e.title), 1), c("div", yl, [ (t(!0), o(j, null, M(a.renderButtons, (u) => (t(), o("span", { class: "item-btn", key: u.key }, [ _((t(), g(m, { class: "btn", disabled: !!u.disabled, type: u.type || u.key === "add" ? "primary" : "default", onClick: (p) => s.btnCallback(u) }, { icon: b(() => [ s.renderIcon(u) ? (t(), g(W(s.renderIcon(u)), { key: 0 })) : r("", !0) ]), default: b(() => [ $(" " + I(u.name), 1) ]), _: 2 }, 1032, ["disabled", "type", "onClick"])), [ [v, u.action || u.key], [q, u.show !== !1] ]) ]))), 128)), c("span", hl, [ y(l.$slots, "otherBtns", { selections: a.selectedRowKeys }, void 0, !0) ]) ]) ]), c("div", { class: "list-layout-main", style: P({ height: a.layoutHeight + "px" }) }, [ l.$slots.tree ? (t(), o("div", { key: 0, class: "side", ref: "side", style: P({ height: a.layoutHeight + "px", width: a.sideWidth + "px" }) }, [ y(l.$slots, "tree", {}, void 0, !0) ], 4)) : r("", !0), l.$slots.tree ? _((t(), o("div", { key: 1, class: "side-bar", style: P({ height: a.layoutHeight + "px", backgroundColor: l.$theme.bgColor }) }, null, 4)), [ [D, a._] ]) : r("", !0), l.$slots.empty ? r("", !0) : (t(), o("div", { key: 2, class: "layout-list-content", style: P({ height: a.layoutHeight + "px" }) }, [ c("div", bl, [ l.$slots.filter ? (t(), o("div", Nl, [ c("div", Il, [ y(l.$slots, "filter", {}, void 0, !0) ]), l.$slots.filterMore ? (t(), o("a", { key: 0, class: "filter-more-btn", onClick: n[0] || (n[0] = (...u) => s.toggleFilter && s.toggleFilter(...u)) }, [ $(I(a.isMoreFilter ? "收起" : "更多") + " ", 1), a.isMoreFilter ? (t(), g(d, { key: 1, style: { "font-size": "12px" } })) : (t(), g(f, { key: 0, style: { "font-size": "12px" } })) ])) : r("", !0), l.$slots.filter ? (t(), o("div", gl, [ N(T, { placement: "top", overlayStyle: { maxWidth: "500px" } }, { title: b(() => n[2] || (n[2] = [ c("span", null, "条件重置", -1) ])), default: b(() => [ N(m, { style: { "padding-bottom": "2px" }, onClick: s.filterReset }, { icon: b(() => [ N(h) ]), _: 1 }, 8, ["onClick"]) ]), _: 1 }) ])) : r("", !0) ])) : r("", !0), l.$slots.filterMore ? _((t(), o("div", Pl, [ y(l.$slots, "filterMore", {}, void 0, !0) ], 512)), [ [q, a.isMoreFilter] ]) : r("", !0), l.$slots.desc ? (t(), o("div", wl, [ y(l.$slots, "desc", {}, void 0, !0) ])) : r("", !0) ], 512), c("div", Tl, [ l.$slots.tabs ? (t(), o("div", kl, [ y(l.$slots, "tabs", {}, void 0, !0) ], 512)) : r("", !0), c("div", vl, [ N(k, { ref: "table", size: "middle", scroll: { y: a.tableScrollPx }, rowKey: e.rowKey, tableLoading: e.tableLoading, columns: a.renderColumns, dataSource: a.tableData, expandedRowKeys: a.expandedRowKeys, "onUpdate:expandedRowKeys": n[1] || (n[1] = (u) => a.expandedRowKeys = u), rowSelection: e.buttons.includes("remove") || e.isSelection ? { selectedRowKeys: a.selectedRowKeys, onChange: s.onSelectChange } : null, pagination: !1, onExpand: s.handExpand }, z({ _: 2 }, [ M(a.renderColumns, (u) => ({ name: "bodyCell", fn: b((p) => [ u.template && p.column.dataIndex === u.dataIndex ? y(l.$slots, u.dataIndex, { key: 0, text: p.text, record: p.record, item: u }, void 0, !0) : r("", !0), u.isClick && p.column.dataIndex === u.dataIndex ? (t(), o("a", { key: u.dataIndex, onClick: (C) => s.tableColCallback(u.dataIndex, p.record) }, I(p.text.name), 9, Dl)) : r("", !0), p.column.dataIndex === "action" ? y(l.$slots, "action", { key: 2, record: p.record }, void 0, !0) : r("", !0) ]) })) ]), 1032, ["scroll", "rowKey", "tableLoading", "columns", "dataSource", "expandedRowKeys", "rowSelection", "onExpand"]) ]) ]) ], 4)) ], 4), c("div", Cl, [ y(l.$slots, "other", {}, void 0, !0) ]) ], 512); } const Ul = /* @__PURE__ */ G(cl, [["render", xl], ["__scopeId", "data-v-6df2e6bf"]]); export { Ul as default };