UNPKG

lc-vue-pro-table

Version:

vue3高级表格

1,332 lines (1,331 loc) 52.2 kB
(function(){"use strict";try{if(typeof document<"u"){var A=document.createElement("style");A.appendChild(document.createTextNode('@font-face{font-family:iconfont;src:url(data:font/woff2;base64,d09GMgABAAAAAALwAAsAAAAAB0AAAAKjAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHFQGYACDBgqCGIF2ATYCJAMMCwgABCAFhGcHNxtTBsgOJQWRwAjhgQBkBNVY2bO7z+wQPVB55AALRz6KnSElCFwqKkLdn/tlKRCnRKCA1OJLlvMnmzJrAJKVqMq+rg7v9Mnz6U/lTJAAPwuAJbTaTWNtLvW+FeMFClD3tJZKss9rBfEuc2PmBW3GzLhEoN68EpabNU2tyPWRQphQIGvCGGT18UhLFcjejygK5GuFauzKIl6qIj1Pb3gRvT7+WQx7kqpM7LN1p1qN7r///kIeq4yRvwkMAoxOqELG9M7ccdGdOWIlmgQr9ao1lFcrQpo1XqkQSVSv3vMfLxHVRG0jGAcl3ZSsRYK/cIUEMqhGDXYgl8B1NoXqDmfnujrV9NhxoVNNlh3DHm99YGnRj64s68mdJxvj677HV5dbXdkEOnazeDd+u3BtGberO3hVU27FWKN9TdCM/HWNfaNNnpf8cxNvyj4j81Diw8fQ7d/Q34fCV/rRKyaXoWV+KAUsmXFHy40uPsqLroix+ZnlOKT/6dOP/46zP8oPMreif7UNBfwajr3IXuB81N6RJ/jN2hmSWGiUXJokPUEgW2F7/3b1Mk6FCLT7GK93oGsJtToyJDUGkNUapAo3iSoNFlGt1hLqTale36CDxEqUOoyaJAitzpA0e4es1SNVuHdU6faNaq3+o95BuOzWYDRUlRwUAtRY2Y+1KmYiyiIis81Auw0KXpdsB27WQhynp6SV87VgAj7FHHMPzRCCYMKZEde454HBwLDEmQ5UIkUjhFSQmkqabpKiYkZUiQMKAlDDlPphWiqMCQnIovh5zQDVzUCBI6n2DGemBfNYuhRpCKpWNaFa7mQfsx5UBkEgMIKTnBFW4w8DBgYMJjUP0wEqQgrNiJSkQKokEayasr5u/LhdUE8cmCNFjqLcYr0mWw0zqIEjBAA=) format("woff2"),url(data:font/woff;base64,d09GRgABAAAAAASIAAsAAAAAB0AAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABCAAAADsAAABUIIslek9TLzIAAAFEAAAARAAAAGA+AEw1Y21hcAAAAYgAAABWAAABhnWz1KRnbHlmAAAB4AAAAMAAAAEYAK5DzWhlYWQAAAKgAAAALQAAADYkGEcXaGhlYQAAAtAAAAAcAAAAJAfeA4RobXR4AAAC7AAAAAwAAAAMDAAAAGxvY2EAAAL4AAAACAAAAAgAJgCMbWF4cAAAAwAAAAAfAAAAIAETAEtuYW1lAAADIAAAAUAAAAJnEKM8sHBvc3QAAARgAAAAJgAAADdZ8NFCeJxjYGRgYOBiMGCwY2BycfMJYeDLSSzJY5BiYGGAAJA8MpsxJzM9kYEDxgPKsYBpDiBmg4gCACY7BUgAeJxjYGFhYJzAwMrAwNTJdIaBgaEfQjO+ZjBi5ACKMrAyM2AFAWmuKQwHnr9+mcrc8L+BgYH5DgOQZGBEUcQEAIqhDbR4nO2QsQ2AMAwEz05IgRiEgoGo6JgdRQwRPg5swUvnl9+uHpiAJDaRwQ6Mrl2pRZ6YI8/xU+SGX3c9W4PPJdOthLtG4dcSc303720NerP1HOAPBQoSlgAAeJxjYGQAAuY6pkYGIQYGRmUldk5GNW1GJTZxRjEjc0YzNeYSbw7Wf0/+PWHl8GZlYWJM5FLgYkxgZmFqYP9XydjOzsnyT4qXl/EZCycDAxvILKaPTDcYuBnEGRQYNBlMGeyApooZ2TGaqKmr8TGKCSOxGUXEjMxM1JTYBGEMZJWqcEEdXjkpfn5eEV1xHhEEkzFDUU8Rjv6twZRhyuHgl5KTYufh0dD9dxPBZnQUB+v6dxZKz0XIqUKEGADRHiqieJxjYGRgYADinEdJu+P5bb4ycLMwgMCDWsaFyDQLA9MNIMXBwATiAQAbxwkCAAAAeJxjYGRgYG7438AQw8IAAkCSkQEVMAMARwkCbAQAAAAEAAAABAAAAAAAAAAAJgCMeJxjYGRgYGBmsGdgYwABJiDmAkIGhv9gPgMAD0wBXwB4nIWRPW7CQBCFn8GQBJQoSqQ0aVYpKBLJ/JRIqVCgp6AHs+ZHttdaL0jUOU2OkBPkCOloc4pIedhDA0W82tlv3r6ZHckA7rCHh/K75y7ZwyWzkiu4wKNwlfqTsE9+Fq6hiZ5wnfqrcAMveBNusmPGDp5/xayFd2EPt/gQruAGn8JV6l/CPvlbuIYH/AjXqf8KNzDxroWbaHnhwOqp03M126lVaNLIpO54jvViE0/tqTzRNl+ZVHWDzlEa6VTbY5t8u+g5F6nImkQNeavj2KjMmrUOXbB0Luu325HoQWgSDGChMYVjnENhhh3jCiEMUkRFdGf5mO4FNohZaf91T+i2yKkfcoUuAnTOXCO60sJ5Ok2OLV/rUXV0K27LmoQ0lFrNSWKy4g883K2phNQDLIuqDH20uaITf1DMkPwB2JNvV3icY2BigAAuBuyAmZGJkZmRhYElJb88jy0jPycltYiBAQAlVgRcAAA=) format("woff"),url(data:font/ttf;base64,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) format("truetype")}.iconfont{font-family:iconfont!important;font-size:16px;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.pro-table-icon-down:before{content:""}.pro-table-icon-holder:before{content:""}.section-alert[data-v-d02200cf]{line-height:22px;padding:12px 24px;border-radius:4px;background-color:var(--el-fill-color-lighter);margin-bottom:8px;font-size:14px}.el-dropdown-link[data-v-6fc06e24]{line-height:32px;margin-left:4px;cursor:pointer}.el-dropdown-link i[data-v-6fc06e24]{font-size:14px}.el-dropdown-link[data-v-afb5ccd6]{line-height:32px;margin-left:4px;cursor:pointer}.el-dropdown-link i[data-v-afb5ccd6]{font-size:14px}.column-operate-item[data-v-78919a4d]{display:flex;align-items:center;height:30px}.column-operate-item.sortable-chosen[data-v-78919a4d]{background-color:#f5f7fa;border:2px solid var(--el-color-primary);border-radius:2px}.column-operate-item .operate-icon[data-v-78919a4d]{width:30px;font-size:14px;color:#666;cursor:move}.column-operate-item .operate-check[data-v-78919a4d]{width:30px}.column-operate-item .operate-label[data-v-78919a4d]{flex:1}.popover-footer[data-v-90afbc38]{text-align:right;margin-top:8px}.pro-table .hidden[data-v-e6f0e4da]{display:none}.pro-table[data-v-e6f0e4da]{display:flex;flex-direction:column}.pro-table .section-alert[data-v-e6f0e4da]{flex:none}.pro-table .table-main[data-v-e6f0e4da]{flex:1;overflow:hidden}')),document.head.appendChild(A)}}catch(B){console.error("vite-plugin-css-injected-by-js",B)}})(); var Ae = Object.defineProperty; var Ee = (e, l, t) => l in e ? Ae(e, l, { enumerable: !0, configurable: !0, writable: !0, value: t }) : e[l] = t; var J = (e, l, t) => (Ee(e, typeof l != "symbol" ? l + "" : l, t), t); import { computed as d, ref as $, defineComponent as T, resolveComponent as P, openBlock as C, createElementBlock as D, unref as h, Fragment as ce, createTextVNode as W, createElementVNode as H, toDisplayString as fe, createCommentVNode as G, createBlock as L, withCtx as k, watch as Q, createVNode as I, pushScopeId as ye, popScopeId as Ce, nextTick as Ie, isVNode as Le, renderSlot as ae, renderList as $e, createApp as _e, normalizeStyle as Oe, onMounted as xe, watchPostEffect as Me, getCurrentInstance as Be, onUnmounted as He } from "vue"; import { findIndex as Z, get as we, isEqual as se, merge as Ne, cloneDeep as le, differenceWith as ge, isNumber as Ve, isFunction as Fe, isBoolean as De } from "lodash"; import { createInjectionState as Ge } from "@vueuse/shared"; import "ag-grid-community/styles/ag-grid.css"; import "ag-grid-community/styles/ag-theme-alpine.css"; import { AgGridVue as Pe } from "ag-grid-vue3"; import { ElCheckbox as Re, ElDropdown as je, ElDropdownMenu as Ke, ElDropdownItem as be } from "element-plus"; import ze from "vuedraggable"; import { v4 as Ue } from "uuid"; const We = ({ selectionRows: e, selectionType: l, tableConfig: t, isSameRow: n }) => { const o = d(() => { var p, b; return l.value === "positive" ? ((p = t.value.data) == null ? void 0 : p.map((x) => e.value.some((A) => n(x, A)))) || [] : ((b = t.value.data) == null ? void 0 : b.map((x) => !e.value.some((A) => n(x, A)))) || []; }), u = d(() => o.value.filter((p) => !!p)), r = d(() => { var p; return u.value.length === ((p = t.value.data) == null ? void 0 : p.length) && u.value.length > 0; }), S = d(() => { var p; return u.value.length > 0 && u.value.length < (((p = t.value.data) == null ? void 0 : p.length) ?? 0); }), f = (p) => { e.value.splice(0, e.value.length), l.value = p; }, a = (p) => { Z(e.value, (x) => n(p, x)) < 0 && e.value.push(p); }, v = (p) => { const b = Z(e.value, (x) => n(p, x)); b > -1 && e.value.splice(b, 1); }, m = () => { var p; (p = t.value.data) == null || p.forEach((b) => { Z(e.value, (A) => n(b, A)) < 0 && e.value.push(b); }); }, _ = () => { var p; (p = t.value.data) == null || p.forEach((b) => { const x = Z(e.value, (A) => n(b, A)); x > -1 && e.value.splice(x, 1); }); }; return { checked: r, indeterminate: S, rowCheckedStatusList: o, setType: f, toggleAllSelection: () => { const p = !r.value; l.value === "positive" ? p === !0 ? m() : _() : p === !1 ? m() : _(); }, toggleRowSelection: (p, b) => { l.value === "positive" ? b === !0 ? a(p) : v(p) : b === !1 ? a(p) : v(p); } }; }, qe = ({ selectionRows: e, tableConfig: l, isSameRow: t }) => { const n = d(() => { var a; return ((a = l.value.data) == null ? void 0 : a.map((v) => e.value.some((m) => t(v, m)))) || []; }), o = d(() => n.value.filter((a) => a === !0)), u = d(() => o.value.length === n.value.length), r = d(() => o.value.length > 0 && o.value.length < n.value.length); return { checked: u, indeterminate: r, rowCheckedStatusList: n, toggleRowSelection: (a, v) => { const m = Z(e.value, (_) => t(_, a)); v === !0 ? m === -1 && e.value.push(a) : m !== -1 && e.value.splice(m, 1); }, toggleAllSelection: () => { var v, m; !u.value === !0 ? (v = l.value.data) == null || v.forEach((_) => { e.value.some((R) => t(_, R)) || e.value.push(_); }) : (m = l.value.data) == null || m.forEach((_) => { const R = Z(e.value, (O) => t(_, O)); R > -1 && e.value.splice(R, 1); }); } }; }, [Je, te] = Ge(() => { const e = $([]), l = $([]), t = $([]), n = $("positive"), o = $({}), u = (w, y) => o.value.rowKey ? we(w, o.value.rowKey, void 0) === we(y, o.value.rowKey, void 0) && we(w, o.value.rowKey, void 0) !== void 0 : se(w, y), { checked: r, indeterminate: S, setType: f, toggleAllSelection: a, rowCheckedStatusList: v, toggleRowSelection: m } = We({ selectionRows: t, selectionType: n, tableConfig: o, isSameRow: u }), { checked: _, indeterminate: R, rowCheckedStatusList: O, toggleRowSelection: p, toggleAllSelection: b } = qe({ selectionRows: t, tableConfig: o, isSameRow: u }), x = (w, y) => { e.value.splice(y, 0, w); }, A = (w) => { const y = Z(e.value, (N) => N.id === w.id); Ne(e.value[y], w); }, X = (w) => { const y = Z(e.value, (N) => N.id === w.id); e.value.splice(y, 1); }, j = () => le(q.value), K = (w) => { l.value = le(w); }, Y = d(() => e.value.reduce((w, y) => (w[y.prop] = y, w), {})), q = d(() => { const w = []; return l.value.forEach((y) => { e.value.find(({ prop: z }) => z === y.prop) && w.push(y); }), e.value.forEach((y) => { l.value.find(({ prop: z }) => z === y.prop) || w.push({ prop: y.prop, show: !y.defaultHidden, label: y.label, disabled: y.disabled }); }), w; }), ee = d(() => { const w = []; return q.value.filter((y) => y.show === !0).forEach((y) => { const N = e.value.find(({ prop: z }) => z === y.prop); N && w.push(N); }), w; }); return { tableConfig: o, selectionRows: t, selectionType: n, columnConfigs: ee, configMap: Y, columns: q, insertConfig: x, updateConfig: A, removeConfig: X, getCustomColumns: j, updateCustomColumns: K, setTableConfig: (w) => { o.value = w; }, isSameRow: u, reserveSelectionChecked: r, reserveSelectionIndeterminate: S, reserveSelectionSetType: f, reserveSelectionToggleAll: a, reserveSelectionRowCheckedStatusList: v, reserveSelectionToggleRow: m, selectionChecked: _, selectionIndeterminate: R, selectionRowCheckedStatusList: O, selectionToggleRow: p, selectionToggleAll: b }; }), Qe = { class: "section-alert" }, Xe = /* @__PURE__ */ T({ __name: "index", emits: ["clear"], setup(e, { emit: l }) { const { selectionType: t, selectionRows: n } = te(), o = () => { l("clear"); }; return (u, r) => { const S = P("el-button"); return C(), D("div", Qe, [ h(t) === "positive" ? (C(), D(ce, { key: 0 }, [ W(" 已选择 "), H("strong", null, fe(h(n).length), 1), W(" 条 ") ], 64)) : G("", !0), h(t) === "reverse" ? (C(), D(ce, { key: 1 }, [ W(" 已选择全部,并排除 "), H("strong", null, fe(h(n).length), 1), W(" 条 ") ], 64)) : G("", !0), h(n).length > 0 ? (C(), L(S, { key: 2, type: "primary", link: "", onClick: o }, { default: k(() => [ h(t) === "positive" ? (C(), D(ce, { key: 0 }, [ W(" 取消选择 ") ], 64)) : G("", !0), h(t) === "reverse" ? (C(), D(ce, { key: 1 }, [ W(" 取消排除 ") ], 64)) : G("", !0) ]), _: 1 })) : G("", !0) ]); }; } }); const re = (e, l) => { const t = e.__vccOpts || e; for (const [n, o] of l) t[n] = o; return t; }, Ye = /* @__PURE__ */ re(Xe, [["__scopeId", "data-v-d02200cf"]]), Ze = /* @__PURE__ */ T({ __name: "default-slot", props: { row: null, column: null, index: null }, setup(e) { const l = e, { reserveSelectionRowCheckedStatusList: t, reserveSelectionToggleRow: n } = te(), o = d(() => t.value[l.index]), u = (r) => { n(l.row, r); }; return (r, S) => { const f = P("el-checkbox"); return C(), L(f, { "model-value": h(o), onChange: u }, null, 8, ["model-value"]); }; } }), et = (e) => (ye("data-v-6fc06e24"), e = e(), Ce(), e), tt = { class: "selection-header" }, lt = /* @__PURE__ */ et(() => /* @__PURE__ */ H("span", { class: "el-dropdown-link" }, [ /* @__PURE__ */ H("i", { class: "iconfont pro-table-icon-down" }) ], -1)), ot = /* @__PURE__ */ T({ __name: "header-slot", props: { column: null, index: null }, setup(e) { const l = e, t = "positiveModel", n = "reverseModel", { tableConfig: o, selectionRows: u, selectionType: r, reserveSelectionChecked: S, reserveSelectionIndeterminate: f, reserveSelectionSetType: a, reserveSelectionToggleAll: v } = te(); l.column.reserveSelection === !0 && o.value.rowKey, Q(() => o.value.data, () => { l.column.reserveSelection === !1 && u.value.splice(0, u.value.length); }, { deep: !0 }); const m = (_) => { _ === t ? a("positive") : _ === n && a("reverse"); }; return (_, R) => { const O = P("el-checkbox"), p = P("el-dropdown-item"), b = P("el-dropdown-menu"), x = P("el-dropdown"); return C(), D("div", tt, [ I(O, { "model-value": h(S), indeterminate: h(f), onChange: h(v) }, null, 8, ["model-value", "indeterminate", "onChange"]), I(x, { trigger: "click", onCommand: m }, { dropdown: k(() => [ I(b, null, { default: k(() => [ h(r) === "reverse" ? (C(), L(p, { key: 0, command: t }, { default: k(() => [ W(" 取消全选 ") ]), _: 1 })) : G("", !0), h(r) === "positive" ? (C(), L(p, { key: 1, command: n }, { default: k(() => [ W(" 全部选择 ") ]), _: 1 })) : G("", !0) ]), _: 1 }) ]), default: k(() => [ lt ]), _: 1 }) ]); }; } }); const nt = /* @__PURE__ */ re(ot, [["__scopeId", "data-v-6fc06e24"]]); function ct(e) { return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !Le(e); } const at = /* @__PURE__ */ T({ props: { config: { type: Object, required: !0 } }, setup(e) { const l = $(!0); return Q(() => e.config, async () => { l.value = !1, await Ie(), l.value = !0; }, { deep: !0 }), { ready: l }; }, render() { if (this.ready === !1) return; const e = {}; return this.config.type === "reserveSelection" ? (e.default = (l) => I(Ze, { row: l.row, column: l.column, index: l.$index }, null), e.header = (l) => I(nt, { column: l.column, index: l.$index }, null)) : (this.config.defaultRender && (e.default = (l) => this.config.defaultRender(l)), this.config.headerRender && (e.header = (l) => this.config.headerRender(l))), I(P("el-table-column"), { prop: this.config.prop, label: this.config.label, type: this.config.type === "reserveSelection" ? void 0 : this.config.type, index: this.config.index, columnKey: this.config.columnKey, width: this.config.type === "reserveSelection" ? 60 : this.config.width, minWidth: this.config.minWidth, fixed: this.config.fixed, renderHeader: this.config.renderHeader, sortable: this.config.sortable, sortMethod: this.config.sortMethod, sortBy: this.config.sortBy, sortOrders: this.config.sortOrders, resizable: this.config.resizable, formatter: this.config.formatter, showOverflowTooltip: this.config.showOverflowTooltip, align: this.config.align, headerAlign: this.config.headerAlign, className: this.config.className, labelClassName: this.config.labelClassName, selectable: this.config.selectable, reserveSelection: this.config.reserveSelection, filters: this.config.filters, filterPlacement: this.config.filterPlacement, filterMultiple: this.config.filterMultiple, filterMethod: this.config.filterMethod, filteredValue: this.config.filteredValue, defaultRender: this.config.defaultRender, headerRender: this.config.headerRender }, ct(e) ? e : { default: () => [e] }); } }), st = /* @__PURE__ */ T({ __name: "table-render", props: { config: null }, emits: [ "select", "select-all", "selection-change", "cell-mouse-enter", "cell-mouse-leave", "cell-click", "cell-dblclick", "cell-contextmenu", "row-click", "row-contextmenu", "row-dblclick", "header-click", "header-contextmenu", "sort-change", "filter-change", "current-change", "header-dragend", "expand-change" ], setup(e, { expose: l, emit: t }) { const { columnConfigs: n, selectionRows: o } = te(); let u = []; const r = $(), S = (...s) => t("select", ...s), f = (...s) => t("select-all", ...s), a = (...s) => { t("selection-change", ...s), u = s[0].map((U) => U); const F = s[0]; o.value.splice(0, o.value.length), F.forEach((U) => { o.value.push(U); }); }, v = (...s) => t("cell-mouse-enter", ...s), m = (...s) => t("cell-mouse-leave", ...s), _ = (...s) => t("cell-click", ...s), R = (...s) => t("cell-dblclick", ...s), O = (...s) => t("cell-contextmenu", ...s), p = (...s) => t("row-click", ...s), b = (...s) => t("row-contextmenu", ...s), x = (...s) => t("row-dblclick", ...s), A = (...s) => t("header-click", ...s), X = (...s) => t("header-contextmenu", ...s), j = (...s) => t("sort-change", ...s), K = (...s) => t("filter-change", ...s), Y = (...s) => t("current-change", ...s), q = (...s) => t("header-dragend", ...s), ee = (...s) => t("expand-change", ...s); return Q(() => o.value, () => { ge(o.value, u, se).forEach((U) => { r.value.toggleRowSelection(U, !0); }), ge(u, o.value, se).forEach((U) => { r.value.toggleRowSelection(U, !1); }); }, { deep: !0 }), l({ clearSelection: () => { r.value.clearSelection(), o.value.splice(0, o.value.length); }, getSelectionRows: () => r.value.getSelectionRows(), toggleRowSelection: (s, F) => r.value.toggleRowSelection(s, F), toggleAllSelection: () => r.value.toggleAllSelection(), toggleRowExpansion: (s, F) => r.value.toggleRowExpansion(s, F), setCurrentRow: (s) => r.value.setCurrentRow(s), clearSort: () => r.value.clearSort(), clearFilter: (s) => r.value.clearFilter(s), doLayout: () => r.value.doLayout(), sort: (s, F) => r.value.sort(s, F), scrollTo: (s, F) => r.value.scrollTo(s, F), setScrollTop: (s) => r.value.setScrollTop(s), setScrollLeft: (s) => r.value.setScrollLeft(s) }), (s, F) => { const U = P("el-table"); return C(), L(U, { ref_key: "tableRef", ref: r, data: e.config.data, height: e.config.height, "max-height": e.config.maxHeight, stripe: e.config.stripe, border: e.config.border, size: e.config.size, fit: e.config.fit, "show-header": e.config.showHeader, "highlight-current-row": e.config.highlightCurrentRow, "current-row-key": e.config.currentRowKey, "row-class-name": e.config.rowClassName, "row-style": e.config.rowStyle, "cell-class-name": e.config.cellClassName, "cell-style": e.config.cellStyle, "header-row-class-name": e.config.headerRowClassName, "header-row-style": e.config.headerRowStyle, "header-cell-class-name": e.config.headerCellClassName, "header-cell-style": e.config.headerCellStyle, "row-key": e.config.rowKey, "empty-text": e.config.emptyText, "default-expand-all": e.config.defaultExpandAll, "expand-row-keys": e.config.expandRowKeys, "default-sort": e.config.defaultSort, "tooltip-effect": e.config.tooltipEffect, "tooltip-options": e.config.tooltipOptions, "show-summary": e.config.showSummary, "sum-text": e.config.sumText, "summary-method": e.config.summaryMethod, "span-method": e.config.spanMethod, "select-on-indeterminate": e.config.selectOnIndeterminate, indent: e.config.indent, lazy: e.config.lazy, load: e.config.load, "tree-props": e.config.treeProps, "table-layout": e.config.tableLayout, "scrollbar-always-on": e.config.scrollbarAlwaysOn, flexible: e.config.flexible, onSelect: S, onSelectAll: f, onSelectionChange: a, onCellMouseEnter: v, onCellMouseLeave: m, onCellClick: _, onCellDblclick: R, onCellContextmenu: O, onRowClick: p, onRowContextmenu: b, onRowDblclick: x, onHeaderClick: A, onHeaderContextmenu: X, onSortChange: j, onFilterChange: K, onCurrentChange: Y, onHeaderDragend: q, onExpandChange: ee }, { append: k(() => [ ae(s.$slots, "append") ]), empty: k(() => [ ae(s.$slots, "empty") ]), default: k(() => [ (C(!0), D(ce, null, $e(h(n), (de) => (C(), L(h(at), { key: de.id, config: de }, null, 8, ["config"]))), 128)) ]), _: 3 }, 8, ["data", "height", "max-height", "stripe", "border", "size", "fit", "show-header", "highlight-current-row", "current-row-key", "row-class-name", "row-style", "cell-class-name", "cell-style", "header-row-class-name", "header-row-style", "header-cell-class-name", "header-cell-style", "row-key", "empty-text", "default-expand-all", "expand-row-keys", "default-sort", "tooltip-effect", "tooltip-options", "show-summary", "sum-text", "summary-method", "span-method", "select-on-indeterminate", "indent", "lazy", "load", "tree-props", "table-layout", "scrollbar-always-on", "flexible"]); }; } }), rt = /* @__PURE__ */ T({ props: { params: { type: Object, default: () => ({}) } }, setup(e) { const l = d(() => e.params.columnConfig), t = d(() => ({ row: e.params.data, column: l, $index: e.params.rowIndex })), n = l.value.defaultRender; return { scope: t, defaultRender: n }; }, render() { return I("div", null, { default: () => this.defaultRender(this.scope) }); } }), it = /* @__PURE__ */ T({ props: { params: { type: Object, default: () => ({}) } }, setup(e) { const l = d(() => e.params.columnConfig), t = d(() => ({ column: l, $index: e.params.columnIndex })), n = l.value.headerRender; return { scope: t, headerRender: n }; }, render() { return I("div", null, { default: () => this.headerRender(this.scope) }); } }); let ut = class { constructor() { J(this, "eGui"); J(this, "params"); J(this, "app"); } init(l) { this.params = l, this.eGui = document.createElement("div"), this.app = _e(it, { params: l }), this.app.mount(this.eGui); } getGui() { return this.eGui; } destroy() { this.app.unmount(), this.eGui = null; } }; const dt = /* @__PURE__ */ T({ __name: "cell-render", props: { params: { type: Object, default: () => ({}) } }, setup(e) { const l = e, t = d(() => l.params.tableConfig.value), n = d(() => l.params.selectionRowCheckedStatusList.value), o = d(() => l.params.rowIndex), u = d(() => n.value[o.value]), r = l.params.selectionToggleRow, S = (f) => { var a; r((a = t.value.data) == null ? void 0 : a[o.value], f); }; return (f, a) => { const v = P("el-checkbox"); return C(), L(v, { "model-value": h(u), onChange: S }, null, 8, ["model-value"]); }; } }), pt = /* @__PURE__ */ T({ __name: "header-render", props: { params: { type: Object, default: () => ({}) } }, setup(e) { const l = e, t = d(() => l.params.columnConfig), n = d(() => l.params.selectionRows.value), o = d(() => l.params.tableConfig.value), u = d(() => l.params.selectionChecked.value), r = d(() => l.params.selectionIndeterminate.value), S = l.params.selectionToggleAll; t.value.reserveSelection === !0 && o.value.rowKey, Q(() => o.value.data, () => { t.value.reserveSelection === !1 && n.value.splice(0, n.value.length); }, { deep: !0 }); const f = (a) => { S(a); }; return (a, v) => (C(), L(h(Re), { "model-value": h(u), indeterminate: h(r), onChange: f }, null, 8, ["model-value", "indeterminate"])); } }); let ft = class { constructor() { J(this, "eGui"); J(this, "params"); J(this, "app"); } init(l) { this.params = l, this.eGui = document.createElement("div"), this.app = _e(pt, { params: l }), this.app.mount(this.eGui); } getGui() { return this.eGui; } destroy() { this.app.unmount(), this.eGui = null; } }; const gt = /* @__PURE__ */ T({ __name: "cell-render", props: { params: { type: Object, default: () => ({}) } }, setup(e) { const l = e, t = d(() => l.params.columnConfig), n = d(() => { if (t.value.index) { if (Ve(t.value.index)) return t.value.index; if (Fe(t.value.index)) return t.value.index(l.params.rowIndex); } return l.params.rowIndex + 1; }); return (o, u) => (C(), D("span", null, fe(h(n)), 1)); } }), ht = /* @__PURE__ */ T({ __name: "cell-render", props: { params: { type: Object, default: () => ({}) } }, setup(e) { const l = e, t = d(() => l.params.tableConfig.value), n = d(() => l.params.reserveSelectionRowCheckedStatusList.value), o = d(() => l.params.rowIndex), u = l.params.reserveSelectionToggleRow, r = d(() => n.value[o.value]), S = (f) => { var a; u((a = t.value.data) == null ? void 0 : a[o.value], f); }; return (f, a) => { const v = P("el-checkbox"); return C(), L(v, { "model-value": h(r), onChange: S }, null, 8, ["model-value"]); }; } }), vt = (e) => (ye("data-v-afb5ccd6"), e = e(), Ce(), e), mt = { class: "selection-header" }, St = /* @__PURE__ */ vt(() => /* @__PURE__ */ H("span", { class: "el-dropdown-link" }, [ /* @__PURE__ */ H("i", { class: "iconfont pro-table-icon-down" }) ], -1)), wt = /* @__PURE__ */ T({ __name: "header-render", props: { params: { type: Object, default: () => ({}) } }, setup(e) { const l = e, t = "positiveModel", n = "reverseModel", o = l.params.reserveSelectionSetType, u = l.params.reserveSelectionToggleAll, r = d(() => l.params.reserveSelectionChecked.value), S = d(() => l.params.reserveSelectionIndeterminate.value), f = d(() => l.params.columnConfig), a = d(() => l.params.selectionRows.value), v = d({ get: () => l.params.selectionType.value, set: (R) => { l.params.selectionType.value = R; } }), m = d(() => l.params.tableConfig.value); f.value.reserveSelection === !0 && m.value.rowKey, Q(() => m.value.data, () => { f.value.reserveSelection === !1 && a.value.splice(0, a.value.length); }, { deep: !0 }); const _ = (R) => { R === t ? o("positive") : R === n && o("reverse"); }; return (R, O) => (C(), D("div", mt, [ I(h(Re), { "model-value": h(r), indeterminate: h(S), onChange: h(u) }, null, 8, ["model-value", "indeterminate", "onChange"]), I(h(je), { trigger: "click", onCommand: _ }, { dropdown: k(() => [ I(h(Ke), null, { default: k(() => [ h(v) === "reverse" ? (C(), L(h(be), { key: 0, command: t }, { default: k(() => [ W(" 取消全选 ") ]), _: 1 })) : G("", !0), h(v) === "positive" ? (C(), L(h(be), { key: 1, command: n }, { default: k(() => [ W(" 全部选择 ") ]), _: 1 })) : G("", !0) ]), _: 1 }) ]), default: k(() => [ St ]), _: 1 }) ])); } }); const yt = /* @__PURE__ */ re(wt, [["__scopeId", "data-v-afb5ccd6"]]); class Ct { constructor() { J(this, "eGui"); J(this, "params"); J(this, "app"); } init(l) { this.params = l, this.eGui = document.createElement("div"), this.app = _e(yt, { params: l }), this.app.mount(this.eGui); } getGui() { return this.eGui; } destroy() { this.app.unmount(), this.eGui = null; } } const _t = /* @__PURE__ */ T({ __name: "table-render", props: { config: null }, emits: [ "selection-change", "current-change", "sort-change" ], setup(e, { expose: l, emit: t }) { const n = e, { columnConfigs: o, tableConfig: u, selectionRows: r, selectionType: S, reserveSelectionChecked: f, reserveSelectionIndeterminate: a, reserveSelectionSetType: v, reserveSelectionToggleAll: m, reserveSelectionRowCheckedStatusList: _, reserveSelectionToggleRow: R, selectionChecked: O, selectionIndeterminate: p, selectionRowCheckedStatusList: b, selectionToggleRow: x, selectionToggleAll: A, isSameRow: X } = te(); let j = null, K = null; const Y = d(() => n.config.data.length * 42 + 49 + 17 + 2), q = d(() => ({ height: `${n.config.height || Y.value}px`, width: "100%" })), ee = d(() => o.value.map((g, M) => { var pe; let B, V, c = {}, E = {}; return g.defaultRender && (B = rt), g.headerRender && (V = ut), g.type === "selection" ? (B = dt, V = ft, c = { selectionRowCheckedStatusList: b, selectionToggleRow: x }, E = { selectionChecked: O, selectionIndeterminate: p, selectionToggleAll: A }) : g.type === "reserveSelection" ? (B = ht, V = Ct, c = { reserveSelectionRowCheckedStatusList: _, reserveSelectionToggleRow: R }, E = { reserveSelectionChecked: f, reserveSelectionIndeterminate: a, reserveSelectionSetType: v, reserveSelectionToggleAll: m }) : g.type === "index" && (B = gt), { headerName: g.label, field: g.prop, cellRenderer: B, cellRendererParams: Object.assign({ columnConfig: g, tableConfig: u, selectionRows: r, selectionType: S }, c), suppressMovable: !0, lockPosition: g.fixed ?? void 0, headerComponent: V, headerComponentParams: Object.assign({ columnConfig: g, tableConfig: u, columnIndex: M, selectionRows: r, selectionType: S }, E), width: g.width ?? void 0, minWidth: g.minWidth ?? void 0, sortable: g.sortable ?? void 0, sortingOrder: ((pe = g.sortOrders) == null ? void 0 : pe.map((Te) => ({ ascending: "asc", descending: "desc" })[Te] || null)) ?? void 0, sort: u.value.defaultSort && u.value.defaultSort.prop === g.prop ? u.value.defaultSort.order === "descending" ? "desc" : "asc" : void 0 }; })), oe = (g) => { j = g.api, K = g.columnApi; }, w = (g) => { g.api.sizeColumnsToFit(); }, y = () => { const g = j.getSelectedRows(); t("current-change", r.value.map((M) => M), g[0]); }, N = (g) => { g.api.sizeColumnsToFit(); }, z = (g) => { const M = { asc: "ascending", desc: "descending" }, V = g.columnApi.getColumnState().find((E) => !!E.sort), c = o.value.find((E) => E.prop === (V == null ? void 0 : V.colId)); t("sort-change", { column: c, prop: c == null ? void 0 : c.prop, order: M[V == null ? void 0 : V.sort] || null }); }; return Q(() => r.value, () => { t("selection-change", r.value.map((g) => g)); }, { deep: !0 }), l({ clearSelection: () => { r.value.splice(0, r.value.length); }, getSelectionRows: () => r.value.map((g) => g), toggleRowSelection: (g, M) => { const B = Z(r.value, (V) => se(g, V)); De(M) ? M === !0 ? B === -1 && r.value.push(g) : B > -1 && r.value.splice(B, 1) : B === -1 ? r.value.push(g) : r.value.splice(B, 1); }, toggleAllSelection: () => { A(); }, toggleRowExpansion: () => { }, setCurrentRow: (g) => { j.forEachNodeAfterFilter((M) => { X(g, M.data) && M.setSelected(!0, !0); }); }, clearSort: () => { K.applyColumnState({ defaultState: { sort: null } }); }, clearFilter: () => { }, doLayout: () => { }, sort: (g, M) => { const B = { ascending: "asc", descending: "desc" }; K.applyColumnState({ state: [ { colId: g, sort: B[M] ?? null } ], defaultState: { sort: null } }); }, scrollTo: () => { }, setScrollTop: () => { }, setScrollLeft: () => { throw new Error("not support"); } }), (g, M) => (C(), L(h(Pe), { style: Oe(h(q)), class: "ag-theme-alpine", "column-defs": h(ee), "row-data": e.config.data, "row-selection": "single", onGridReady: oe, onFirstDataRendered: w, onSelectionChanged: y, onGridColumnsChanged: N, onSortChanged: z }, null, 8, ["style", "column-defs", "row-data"])); } }), bt = (e) => (ye("data-v-78919a4d"), e = e(), Ce(), e), xt = { class: "column-operate-item" }, Rt = /* @__PURE__ */ bt(() => /* @__PURE__ */ H("div", { class: "operate-icon" }, [ /* @__PURE__ */ H("i", { class: "iconfont pro-table-icon-holder" }) ], -1)), kt = { class: "operate-check" }, Tt = { class: "operate-label" }, At = /* @__PURE__ */ T({ __name: "column-operate-item", props: { show: { type: Boolean }, label: null, disabled: { type: Boolean } }, emits: ["update:modelValue"], setup(e, { emit: l }) { const t = (n) => { l("update:modelValue", n); }; return (n, o) => { const u = P("el-checkbox"); return C(), D("div", xt, [ Rt, H("div", kt, [ I(u, { disabled: e.disabled, "model-value": e.show, "onUpdate:modelValue": t }, null, 8, ["disabled", "model-value"]) ]), H("div", Tt, [ H("span", null, fe(e.label), 1) ]) ]); }; } }); const Et = /* @__PURE__ */ re(At, [["__scopeId", "data-v-78919a4d"]]), It = { class: "column-operate" }, Lt = /* @__PURE__ */ T({ __name: "column-operate", setup(e) { const { columns: l, updateCustomColumns: t } = te(), n = $(le(l.value)); Q(() => n.value, (f) => { t(le(f)); }, { deep: !0 }); const o = d(() => n.value.filter((a) => a.show === !0).length === n.value.length), u = d(() => { const f = n.value.filter((a) => a.show === !0).length; return f > 0 && f < n.value.length; }), r = (f) => { n.value.forEach((a) => { a.disabled || (a.show = f); }); }, S = (f, a) => { f.show = a; }; return (f, a) => { const v = P("el-checkbox"); return C(), D("div", It, [ H("div", null, [ I(v, { "model-value": h(o), indeterminate: h(u), "onUpdate:modelValue": r }, { default: k(() => [ W(" 列展示 ") ]), _: 1 }, 8, ["model-value", "indeterminate"]) ]), I(h(ze), { modelValue: n.value, "onUpdate:modelValue": a[0] || (a[0] = (m) => n.value = m), group: "people", handle: ".operate-icon", "item-key": "id" }, { item: k(({ element: m }) => [ I(Et, { show: m.show, label: m.label, disabled: m.disabled, "onUpdate:modelValue": (_) => S(m, _) }, null, 8, ["show", "label", "disabled", "onUpdate:modelValue"]) ]), _: 1 }, 8, ["modelValue"]) ]); }; } }), $t = /* @__PURE__ */ T({ __name: "custom-column-pop", props: { placement: { type: String, default: "bottom" }, virtualRef: { type: Object, default: void 0 } }, setup(e) { const l = $(), t = $(), n = $(!1); return (o, u) => { const r = P("el-popover"); return C(), L(r, { ref_key: "popoverRef", ref: t, placement: e.placement, "virtual-ref": e.virtualRef, trigger: "click", "virtual-triggering": "", onBeforeEnter: u[0] || (u[0] = (S) => n.value = !0), onAfterLeave: u[1] || (u[1] = (S) => n.value = !1) }, { default: k(() => [ n.value ? (C(), L(Lt, { key: 0, ref_key: "columnOperateRef", ref: l }, null, 512)) : G("", !0) ]), _: 1 }, 8, ["placement", "virtual-ref"]); }; } }); const Ot = /* @__PURE__ */ re($t, [["__scopeId", "data-v-90afbc38"]]), Mt = { ref: "hiddenItems", class: "hidden" }, Bt = { class: "pro-table" }, Ht = { key: 0, class: "table-main" }, Nt = /* @__PURE__ */ T({ __name: "pro-table-wrapper", props: { config: null }, emits: [ "select", "select-all", "selection-change", "cell-mouse-enter", "cell-mouse-leave", "cell-click", "cell-dblclick", "cell-contextmenu", "row-click", "row-contextmenu", "row-dblclick", "header-click", "header-contextmenu", "sort-change", "filter-change", "current-change", "header-dragend", "expand-change", "row-selection-change" ], setup(e, { expose: l, emit: t }) { const n = e, { setTableConfig: o, selectionRows: u, selectionType: r } = te(), S = d(() => ({ "el-table": st, "ag-grid": _t })[n.config.renderTableType]), f = $(), a = $(), v = $(0), m = $(!1), _ = d(() => { let c = n.config.height; return c && n.config.showSelectionAlert && (c = Number(c) - v.value), { ...n.config, height: c }; }); xe(() => { v.value = f.value.clientHeight, m.value = !0; }); const R = (...c) => t("select", ...c), O = (...c) => t("select-all", ...c), p = (...c) => t("selection-change", ...c), b = (...c) => t("cell-mouse-enter", ...c), x = (...c) => t("cell-mouse-leave", ...c), A = (...c) => t("cell-click", ...c), X = (...c) => t("cell-dblclick", ...c), j = (...c) => t("cell-contextmenu", ...c), K = (...c) => t("row-click", ...c), Y = (...c) => t("row-contextmenu", ...c), q = (...c) => t("row-dblclick", ...c), ee = (...c) => t("header-click", ...c), oe = (...c) => t("header-contextmenu", ...c), w = (...c) => t("sort-change", ...c), y = (...c) => t("filter-change", ...c), N = (...c) => t("current-change", ...c), z = (...c) => t("header-dragend", ...c), ie = (...c) => t("expand-change", ...c), ue = () => { a.value.clearSelection(); }; let ne = []; return Q(() => u.value, () => { const c = ge(u.value, ne, se), E = ge(ne, u.value, se); (c.length > 0 || E.length > 0) && t("row-selection-change", le({ rows: u.value, type: r.value })), ne = u.value.map((pe) => pe); }, { deep: !0 }), Q(() => r.value, () => { t("row-selection-change", le({ rows: u.value, type: r.value })); }), l({ getRowSelection: () => le({ rows: u.value, type: r.value }), setTableConfig: o, clearSelection: () => a.value.clearSelection(), getSelectionRows: () => a.value.getSelectionRows(), toggleRowSelection: (c, E) => a.value.toggleRowSelection(c, E), toggleAllSelection: () => a.value.toggleAllSelection(), toggleRowExpansion: (c, E) => a.value.toggleRowExpansion(c, E), setCurrentRow: (c) => a.value.setCurrentRow(c), clearSort: () => a.value.clearSort(), clearFilter: (c) => a.value.clearFilter(c), doLayout: () => a.value.doLayout(), sort: (c, E) => a.value.sort(c, E), scrollTo: (c, E) => a.value.scrollTo(c, E), setScrollTop: (c) => a.value.setScrollTop(c), setScrollLeft: (c) => a.value.setScrollLeft(c) }), (c, E) => (C(), D(ce, null, [ H("div", Mt, [ ae(c.$slots, "default", {}, void 0, !0) ], 512), H("div", Bt, [ H("div", { ref_key: "sectionAlertRef", ref: f, class: "section-alert" }, [ e.config.showSelectionAlert ? (C(), L(Ye, { key: 0, onClear: ue })) : G("", !0) ], 512), m.value ? (C(), D("div", Ht, [ I(h(S), { ref_key: "tableRef", ref: a, config: h(_), "section-alert-height": v.value, onSelect: R, onSelectAll: O, onSelectionChange: p, onCellMouseEnter: b, onCellMouseLeave: x, onCellClick: A, onCellDblclick: X, onCellContextmenu: j, onRowClick: K, onRowContextmenu: Y, onRowDblclick: q, onHeaderClick: ee, onHeaderContextmenu: oe, onSortChange: w, onFilterChange: y, onCurrentChange: N, onHeaderDragend: z, onExpandChange: ie }, { append: k(() => [ ae(c.$slots, "append", {}, void 0, !0) ]), empty: k(() => [ ae(c.$slots, "empty", {}, void 0, !0) ]), _: 3 }, 8, ["config", "section-alert-height"]) ])) : G("", !0) ]), m.value ? (C(), L(Ot, { key: 0, "virtual-ref": e.config.customColumnVirtualRef }, null, 8, ["virtual-ref"])) : G("", !0) ], 64)); } }); const Vt = /* @__PURE__ */ re(Nt, [["__scopeId", "data-v-e6f0e4da"]]), Yt = /* @__PURE__ */ T({ __name: "pro-table", props: { data: null, height: null, maxHeight: null, stripe: { type: Boolean }, border: { type: Boolean }, size: null, fit: { type: Boolean, default: !0 }, showHeader: { type: Boolean, default: !0 }, highlightCurrentRow: { type: Boolean }, currentRowKey: null, rowClassName: null, rowStyle: null, cellClassName: null, cellStyle: null, headerRowClassName: null, headerRowStyle: null, headerCellClassName: null, headerCellStyle: null, rowKey: null, emptyText: null, defaultExpandAll: { type: Boolean }, expandRowKeys: null, defaultSort: null, tooltipEffect: null, tooltipOptions: null, showSummary: { type: Boolean }, sumText: null, summaryMethod: null, spanMethod: null, selectOnIndeterminate: { type: Boolean, default: !0 }, indent: null, lazy: { type: Boolean }, load: null, treeProps: null, tableLayout: null, scrollbarAlwaysOn: { type: Boolean }, flexible: { type: Boolean }, showSelectionAlert: { type: Boolean }, customColumnVirtualRef: null, renderTableType: { default: "el-table" } }, emits: [ "select", "select-all", "selection-change", "cell-mouse-enter", "cell-mouse-leave", "cell-click", "cell-dblclick", "cell-contextmenu", "row-click", "row-contextmenu", "row-dblclick", "header-click", "header-contextmenu", "sort-change", "filter-change", "current-change", "header-dragend", "expand-change" ], setup(e, { expose: l, emit: t }) { const n = e; Je(); const o = $(); Me(() => { var i; (i = o.value) == null || i.setTableConfig(n); }); const u = (...i) => t("select", ...i), r = (...i) => t("select-all", ...i), S = (...i) => t("selection-change", ...i), f = (...i) => t("cell-mouse-enter", ...i), a = (...i) => t("cell-mouse-leave", ...i), v = (...i) => t("cell-click", ...i), m = (...i) => t("cell-dblclick", ...i), _ = (...i) => t("cell-contextmenu", ...i), R = (...i) => t("row-click", ...i), O = (...i) => t("row-contextmenu", ...i), p = (...i) => t("row-dblclick", ...i), b = (...i) => t("header-click", ...i), x = (...i) => t("header-contextmenu", ...i), A = (...i) => t("sort-change", ...i), X = (...i) => t("filter-change", ...i), j = (...i) => t("current-change", ...i), K = (...i) => t("header-dragend", ...i), Y = (...i) => t("expand-change", ...i); return l({ getRowSelection: () => o.value.getRowSelection(), clearSelection: () => o.value.clearSelection(), getSelectionRows: () => o.value.getSelectionRows(), toggleRowSelection: (i, s) => o.value.toggleRowSelection(i, s), toggleAllSelection: () => o.value.toggleAllSelection(), toggleRowExpansion: (i, s) => o.value.toggleRowExpansion(i, s), setCurrentRow: (i) => o.value.setCurrentRow(i), clearSort: () => o.value.clearSort(), clearFilter: (i) => o.value.clearFilter(i), doLayout: () => o.value.doLayout(), sort: (i, s) => o.value.sort(i, s), scrollTo: (i, s) => o.value.scrollTo(i, s), setScrollTop: (i) => o.value.setScrollTop(i), setScrollLeft: (i) => o.value.setScrollLeft(i) }), (i, s) => (C(), L(Vt, { ref_key: "proTableWrapperRef", ref: o, config: n, onSelect: u, onSelectAll: r, onSelectionChange: S, onCellMouseEnter: f, onCellMouseLeave: a, onCellClick: v, onCellDblclick: m, onCellContextmenu: _, onRowClick: R, onRowContextmenu: O, onRowDblclick: p, onHeaderClick: b, onHeaderContextmenu: x, onSortChange: A, onFilterChange: X, onCurrentChange: j, onHeaderDragend: K, onExpandChange: Y }, { default: k(() => [ ae(i.$slots, "default") ]), _: 3 }, 512)); } }), Zt = /* @__PURE__ */ T({ props: { type: { type: String, default: "" }, index: { type: [Number, Function], default: void 0 }, label: { type: String, default: "" }, columnKey: { type: String, default: void 0 }, prop: { type: String, required: !0 }, width: { type: [String, Number], default: void 0 }, minWidth: { type: [String, Number], default: void 0 }, fixed: { type: [String, Boolean], default: void 0 }, renderHeader: { type: Function, default: void 0 }, sortable: { type: [Boolean, String], default: !1 },