From f26bd3f3770805e60234a4935e302a02128ceef2 Mon Sep 17 00:00:00 2001 From: funjia <13429193897@163.com> Date: Sat, 19 Sep 2026 01:04:09 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=9B=B4=E6=96=B0=E4=B8=BA=201.2.0=20?= =?UTF-8?q?=E6=9E=84=E5=BB=BA=E4=BA=A7=E7=89=A9=EF=BC=88=E5=86=85=E6=A0=B8?= =?UTF-8?q?=E9=87=8D=E6=9E=84=E7=89=88=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 产物替换为 funjiaui.es.js / funjiaui.cjs.js / funjiaui.umd.js - style.css 更新,新增 index.d.ts 与各组件类型声明目录 - 移除旧产物 um_table.es.js(1.0.0 的 ES 包,历史与 v1.0.0 标签仍可回溯) - package.json 补齐 module / types / unpkg / jsdelivr / files 字段, 并将 vue、element-plus、@element-plus/icons-vue 声明为 peerDependencies - 新增 README 说明产物清单与用法 --- Iconfont/index.vue.d.ts | 34 + README.md | 49 + UmDialog/index.vue.d.ts | 567 +++ UmPagination/index.vue.d.ts | 896 +++++ UmTable/UmByClass.vue.d.ts | 37 + UmTable/UmByClassEnhance.vue.d.ts | 29 + UmTable/UmColumnRender.vue.d.ts | 77 + UmTable/UmImport.vue.d.ts | 42 + UmTable/UmSearchForm.vue.d.ts | 35 + UmTable/UmSyncNodeForm.vue.d.ts | 124 + UmTable/UmTable.vue.d.ts | 600 +++ UmTable/UmTableColumn.vue.d.ts | 341 ++ UmTable/UmTableDialog.vue.d.ts | 58 + UmTable/UmTableForm.vue.d.ts | 99 + UmTable/UmTableForm/Upload.vue.d.ts | 34 + UmTable/UmTableOperate.vue.d.ts | 40 + UmTable/UmTableToolbar.vue.d.ts | 18 + UmTable/core/columns.d.ts | 80 + UmTable/core/diagnose.d.ts | 45 + UmTable/core/events.d.ts | 68 + UmTable/core/index.d.ts | 8 + UmTable/core/meta.d.ts | 73 + UmTable/index.d.ts | 31 + UmTable/types.d.ts | 179 + UmTree/AreaTree.vue.d.ts | 59 + UmTree/UmDistrictTree.vue.d.ts | 1674 ++++++++ UmTree/UmDistrictTreeNode.vue.d.ts | 85 + UmTree/UmTree.vue.d.ts | 1533 ++++++++ UmTree/Util.d.ts | 9 + UmTree/types.d.ts | 23 + UmTreeSelect/UmTreeSelect.vue.d.ts | 1651 ++++++++ funjiaui.cjs.js | 15 + funjiaui.es.js | 5632 +++++++++++++++++++++++++++ funjiaui.umd.js | 15 + index.d.ts | 33 + package.json | 42 +- style.css | 2 +- um_table.es.js | 3508 ----------------- 38 files changed, 14329 insertions(+), 3516 deletions(-) create mode 100644 Iconfont/index.vue.d.ts create mode 100644 README.md create mode 100644 UmDialog/index.vue.d.ts create mode 100644 UmPagination/index.vue.d.ts create mode 100644 UmTable/UmByClass.vue.d.ts create mode 100644 UmTable/UmByClassEnhance.vue.d.ts create mode 100644 UmTable/UmColumnRender.vue.d.ts create mode 100644 UmTable/UmImport.vue.d.ts create mode 100644 UmTable/UmSearchForm.vue.d.ts create mode 100644 UmTable/UmSyncNodeForm.vue.d.ts create mode 100644 UmTable/UmTable.vue.d.ts create mode 100644 UmTable/UmTableColumn.vue.d.ts create mode 100644 UmTable/UmTableDialog.vue.d.ts create mode 100644 UmTable/UmTableForm.vue.d.ts create mode 100644 UmTable/UmTableForm/Upload.vue.d.ts create mode 100644 UmTable/UmTableOperate.vue.d.ts create mode 100644 UmTable/UmTableToolbar.vue.d.ts create mode 100644 UmTable/core/columns.d.ts create mode 100644 UmTable/core/diagnose.d.ts create mode 100644 UmTable/core/events.d.ts create mode 100644 UmTable/core/index.d.ts create mode 100644 UmTable/core/meta.d.ts create mode 100644 UmTable/index.d.ts create mode 100644 UmTable/types.d.ts create mode 100644 UmTree/AreaTree.vue.d.ts create mode 100644 UmTree/UmDistrictTree.vue.d.ts create mode 100644 UmTree/UmDistrictTreeNode.vue.d.ts create mode 100644 UmTree/UmTree.vue.d.ts create mode 100644 UmTree/Util.d.ts create mode 100644 UmTree/types.d.ts create mode 100644 UmTreeSelect/UmTreeSelect.vue.d.ts create mode 100644 funjiaui.cjs.js create mode 100644 funjiaui.es.js create mode 100644 funjiaui.umd.js create mode 100644 index.d.ts delete mode 100644 um_table.es.js diff --git a/Iconfont/index.vue.d.ts b/Iconfont/index.vue.d.ts new file mode 100644 index 0000000..8d9f7b9 --- /dev/null +++ b/Iconfont/index.vue.d.ts @@ -0,0 +1,34 @@ +declare const _sfc_main: import("vue").DefineComponent<{ + class: { + type: StringConstructor; + required: false; + }; + style: { + type: null; + required: false; + }; + type: { + type: StringConstructor; + required: true; + }; +}, { + props: any; + emit: (e: "click") => void; + iconClass: import("vue").ComputedRef; +}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "click"[], "click", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly> & { + onClick?: ((...args: any[]) => any) | undefined; +}, {}>; +export default _sfc_main; diff --git a/README.md b/README.md new file mode 100644 index 0000000..38f7479 --- /dev/null +++ b/README.md @@ -0,0 +1,49 @@ +# FunJiaUI_Vue_Package + +FunjiaUI 组件库的**构建产物仓库**,由源码仓库 [FunjiaUI_Vue](https://git.funjia.top/13429193897/FunjiaUI_Vue) 构建后同步过来。 +本仓库只放产物,不要在这里改代码 —— 源码改动请提到源码仓库。 + +## 产物清单 + +| 文件 / 目录 | 说明 | +| --- | --- | +| `funjiaui.es.js` | ES Module 入口(`module`,Vite / Webpack 等打包器优先用它) | +| `funjiaui.cjs.js` | CommonJS 入口(`main`) | +| `funjiaui.umd.js` | UMD 入口(`unpkg` / `jsdelivr`),全局名 `funjiaUI` | +| `style.css` | 组件样式,需要手动引入(产物不自动注入样式) | +| `index.d.ts` | 类型入口,以及各组件目录下的 `.d.ts` 声明 | +| `UmTable/` `UmTree/` `UmTreeSelect/` `UmDialog/` `UmPagination/` `Iconfont/` | 各组件的类型声明目录 | + +外部依赖只有 3 个,已声明为 `peerDependencies`,需由使用方自行安装: +`vue`、`element-plus`、`@element-plus/icons-vue`。 +`lodash-es` / `dayjs` 等已打进产物,不需要单独安装。 + +## 使用 + +```bash +npm i git+https://git.funjia.top/13429193897/FunJiaUI_Vue_Package.git +``` + +```ts +import { UmByClassEnhance } from "funjiaui_vue_package"; +import "funjiaui_vue_package/style.css"; +``` + +```vue + + +``` + +UMD 方式(挂到 `window.funjiaUI`): + +```html + + +``` + +## 版本 + +| 版本 | 说明 | +| --- | --- | +| 1.2.0 | 内核层重构(core/)、类型统一、编辑链路修复、配置体检、UMD 全局名修正为 `funjiaUI` | +| 1.0.0 | 初版产物(`um_table.es.js`,已被 1.2.0 取代),保留在 `v1.0.0` 标签 | diff --git a/UmDialog/index.vue.d.ts b/UmDialog/index.vue.d.ts new file mode 100644 index 0000000..2acecc7 --- /dev/null +++ b/UmDialog/index.vue.d.ts @@ -0,0 +1,567 @@ +declare const _sfc_main: import("vue").DefineComponent<{ + appendToBody: { + type: BooleanConstructor; + required: false; + default: boolean; + }; + center: { + type: BooleanConstructor; + required: false; + }; + closeOnClickModal: { + type: BooleanConstructor; + required: false; + default: boolean; + }; + closeOnPressEscape: { + type: BooleanConstructor; + required: false; + default: boolean; + }; + confirmLoading: { + type: BooleanConstructor; + required: false; + }; + customClass: { + type: StringConstructor; + required: false; + }; + destroyOnClose: { + type: BooleanConstructor; + required: false; + default: boolean; + }; + footer: { + type: BooleanConstructor; + required: false; + default: boolean; + }; + modal: { + type: BooleanConstructor; + required: false; + default: boolean; + }; + modelValue: { + type: BooleanConstructor; + required: true; + }; + showClose: { + type: BooleanConstructor; + required: false; + default: boolean; + }; + title: { + type: StringConstructor; + required: false; + }; + width: { + type: StringConstructor; + required: false; + }; + top: { + type: StringConstructor; + required: false; + default: string; + }; +}, { + props: any; + emit: { + (e: "update:modelValue", val: boolean): void; + (e: "onOk"): void; + }; + dialogClass: import("vue").ComputedRef; + visible: import("vue").WritableComputedRef; + onCancel: () => void; + dialogWidth: import("vue").ComputedRef; + ElDialog: import("element-plus/es/utils").SFCWithInstall; + readonly beforeClose: import("element-plus/es/utils").BuildPropReturn, unknown, unknown, unknown, unknown>; + readonly destroyOnClose: import("element-plus/es/utils").BuildPropReturn; + readonly closeOnClickModal: import("element-plus/es/utils").BuildPropReturn; + readonly closeOnPressEscape: import("element-plus/es/utils").BuildPropReturn; + readonly lockScroll: import("element-plus/es/utils").BuildPropReturn; + readonly modal: import("element-plus/es/utils").BuildPropReturn; + readonly openDelay: import("element-plus/es/utils").BuildPropReturn; + readonly closeDelay: import("element-plus/es/utils").BuildPropReturn; + readonly top: import("element-plus/es/utils").BuildPropReturn; + readonly modelValue: import("element-plus/es/utils").BuildPropReturn; + readonly modalClass: StringConstructor; + readonly width: import("element-plus/es/utils").BuildPropReturn; + readonly zIndex: import("element-plus/es/utils").BuildPropReturn; + readonly trapFocus: import("element-plus/es/utils").BuildPropReturn; + readonly center: import("element-plus/es/utils").BuildPropReturn; + readonly closeIcon: import("element-plus/es/utils").BuildPropReturn>, "", unknown, unknown, unknown>; + readonly customClass: import("element-plus/es/utils").BuildPropReturn; + readonly draggable: import("element-plus/es/utils").BuildPropReturn; + readonly fullscreen: import("element-plus/es/utils").BuildPropReturn; + readonly showClose: import("element-plus/es/utils").BuildPropReturn; + readonly title: import("element-plus/es/utils").BuildPropReturn; + }, { + props: Readonly; + readonly beforeClose: import("element-plus/es/utils").BuildPropReturn, unknown, unknown, unknown, unknown>; + readonly destroyOnClose: import("element-plus/es/utils").BuildPropReturn; + readonly closeOnClickModal: import("element-plus/es/utils").BuildPropReturn; + readonly closeOnPressEscape: import("element-plus/es/utils").BuildPropReturn; + readonly lockScroll: import("element-plus/es/utils").BuildPropReturn; + readonly modal: import("element-plus/es/utils").BuildPropReturn; + readonly openDelay: import("element-plus/es/utils").BuildPropReturn; + readonly closeDelay: import("element-plus/es/utils").BuildPropReturn; + readonly top: import("element-plus/es/utils").BuildPropReturn; + readonly modelValue: import("element-plus/es/utils").BuildPropReturn; + readonly modalClass: StringConstructor; + readonly width: import("element-plus/es/utils").BuildPropReturn; + readonly zIndex: import("element-plus/es/utils").BuildPropReturn; + readonly trapFocus: import("element-plus/es/utils").BuildPropReturn; + readonly center: import("element-plus/es/utils").BuildPropReturn; + readonly closeIcon: import("element-plus/es/utils").BuildPropReturn>, "", unknown, unknown, unknown>; + readonly customClass: import("element-plus/es/utils").BuildPropReturn; + readonly draggable: import("element-plus/es/utils").BuildPropReturn; + readonly fullscreen: import("element-plus/es/utils").BuildPropReturn; + readonly showClose: import("element-plus/es/utils").BuildPropReturn; + readonly title: import("element-plus/es/utils").BuildPropReturn; + }>> & { + onClose?: (() => any) | undefined; + "onUpdate:modelValue"?: ((value: boolean) => any) | undefined; + onOpen?: (() => any) | undefined; + onOpened?: (() => any) | undefined; + onClosed?: (() => any) | undefined; + onOpenAutoFocus?: (() => any) | undefined; + onCloseAutoFocus?: (() => any) | undefined; + }>>; + ns: { + namespace: import("vue").ComputedRef; + b: (blockSuffix?: string | undefined) => string; + e: (element?: string | undefined) => string; + m: (modifier?: string | undefined) => string; + be: (blockSuffix?: string | undefined, element?: string | undefined) => string; + em: (element?: string | undefined, modifier?: string | undefined) => string; + bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string; + bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string; + is: { + (name: string, state: boolean | undefined): string; + (name: string): string; + }; + }; + dialogRef: import("vue").Ref; + headerRef: import("vue").Ref; + visible: import("vue").Ref; + style: import("vue").ComputedRef; + rendered: import("vue").Ref; + zIndex: import("vue").Ref; + afterEnter: () => void; + afterLeave: () => void; + beforeLeave: () => void; + handleClose: () => void; + onModalClick: () => void; + overlayEvent: { + onClick: (e: MouseEvent) => void; + onMousedown: (e: MouseEvent) => void; + onMouseup: (e: MouseEvent) => void; + }; + draggable: import("vue").ComputedRef; + ElOverlay: import("vue").DefineComponent<{ + readonly mask: import("element-plus/es/utils").BuildPropReturn; + readonly customMaskEvent: import("element-plus/es/utils").BuildPropReturn; + readonly overlayClass: import("element-plus/es/utils").BuildPropReturn>, unknown, unknown, unknown, unknown>; + readonly zIndex: import("element-plus/es/utils").BuildPropReturn, unknown, unknown, unknown, unknown>; + }, () => import("vue").VNode, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, { + click: (evt: MouseEvent) => boolean; + }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly; + readonly customMaskEvent: import("element-plus/es/utils").BuildPropReturn; + readonly overlayClass: import("element-plus/es/utils").BuildPropReturn>, unknown, unknown, unknown, unknown>; + readonly zIndex: import("element-plus/es/utils").BuildPropReturn, unknown, unknown, unknown, unknown>; + }>> & { + onClick?: ((evt: MouseEvent) => any) | undefined; + }, { + zIndex: import("element-plus/es/utils").BuildPropType, unknown, unknown>; + mask: import("element-plus/es/utils").BuildPropType; + customMaskEvent: import("element-plus/es/utils").BuildPropType; + overlayClass: import("element-plus/es/utils").BuildPropType>, unknown, unknown>; + }>; + ElDialogContent: import("vue").DefineComponent<{ + readonly center: import("element-plus/es/utils").BuildPropReturn; + readonly closeIcon: import("element-plus/es/utils").BuildPropReturn>, "", unknown, unknown, unknown>; + readonly customClass: import("element-plus/es/utils").BuildPropReturn; + readonly draggable: import("element-plus/es/utils").BuildPropReturn; + readonly fullscreen: import("element-plus/es/utils").BuildPropReturn; + readonly showClose: import("element-plus/es/utils").BuildPropReturn; + readonly title: import("element-plus/es/utils").BuildPropReturn; + }, { + Close: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly>, {}>; + dialogRef: import("vue").Ref; + headerRef: import("vue").Ref; + ns: { + namespace: import("vue").ComputedRef; + b: (blockSuffix?: string | undefined) => string; + e: (element?: string | undefined) => string; + m: (modifier?: string | undefined) => string; + be: (blockSuffix?: string | undefined, element?: string | undefined) => string; + em: (element?: string | undefined, modifier?: string | undefined) => string; + bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string; + bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string; + is: { + (name: string, state: boolean | undefined): string; + (name: string): string; + }; + }; + style: import("vue").ComputedRef; + ElIcon: import("element-plus/es/utils").SFCWithInstall, unknown, unknown, unknown, unknown>; + readonly color: import("element-plus/es/utils").BuildPropReturn; + }, { + props: Readonly, unknown, unknown, unknown, unknown>; + readonly color: import("element-plus/es/utils").BuildPropReturn; + }>> & { + [x: `on${string}`]: ((...args: any[]) => any) | ((...args: unknown[]) => any) | undefined; + }>>; + ns: { + namespace: import("vue").ComputedRef; + b: (blockSuffix?: string | undefined) => string; + e: (element?: string | undefined) => string; + m: (modifier?: string | undefined) => string; + be: (blockSuffix?: string | undefined, element?: string | undefined) => string; + em: (element?: string | undefined, modifier?: string | undefined) => string; + bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string; + bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string; + is: { + (name: string, state: boolean | undefined): string; + (name: string): string; + }; + }; + style: import("vue").ComputedRef; + }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly, unknown, unknown, unknown, unknown>; + readonly color: import("element-plus/es/utils").BuildPropReturn; + }>>, { + size: import("element-plus/es/utils").BuildPropType, unknown, unknown>; + color: string; + }>> & Record; + }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, { + close: () => boolean; + }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly; + readonly closeIcon: import("element-plus/es/utils").BuildPropReturn>, "", unknown, unknown, unknown>; + readonly customClass: import("element-plus/es/utils").BuildPropReturn; + readonly draggable: import("element-plus/es/utils").BuildPropReturn; + readonly fullscreen: import("element-plus/es/utils").BuildPropReturn; + readonly showClose: import("element-plus/es/utils").BuildPropReturn; + readonly title: import("element-plus/es/utils").BuildPropReturn; + }>> & { + onClose?: (() => any) | undefined; + }, { + title: string; + center: import("element-plus/es/utils").BuildPropType; + draggable: import("element-plus/es/utils").BuildPropType; + showClose: import("element-plus/es/utils").BuildPropType; + closeIcon: import("element-plus/es/utils").BuildPropType>, unknown, unknown>; + customClass: string; + fullscreen: import("element-plus/es/utils").BuildPropType; + }>; + }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, { + open: () => boolean; + opened: () => boolean; + close: () => boolean; + closed: () => boolean; + "update:modelValue": (value: boolean) => boolean; + openAutoFocus: () => boolean; + closeAutoFocus: () => boolean; + }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly; + readonly beforeClose: import("element-plus/es/utils").BuildPropReturn, unknown, unknown, unknown, unknown>; + readonly destroyOnClose: import("element-plus/es/utils").BuildPropReturn; + readonly closeOnClickModal: import("element-plus/es/utils").BuildPropReturn; + readonly closeOnPressEscape: import("element-plus/es/utils").BuildPropReturn; + readonly lockScroll: import("element-plus/es/utils").BuildPropReturn; + readonly modal: import("element-plus/es/utils").BuildPropReturn; + readonly openDelay: import("element-plus/es/utils").BuildPropReturn; + readonly closeDelay: import("element-plus/es/utils").BuildPropReturn; + readonly top: import("element-plus/es/utils").BuildPropReturn; + readonly modelValue: import("element-plus/es/utils").BuildPropReturn; + readonly modalClass: StringConstructor; + readonly width: import("element-plus/es/utils").BuildPropReturn; + readonly zIndex: import("element-plus/es/utils").BuildPropReturn; + readonly trapFocus: import("element-plus/es/utils").BuildPropReturn; + readonly center: import("element-plus/es/utils").BuildPropReturn; + readonly closeIcon: import("element-plus/es/utils").BuildPropReturn>, "", unknown, unknown, unknown>; + readonly customClass: import("element-plus/es/utils").BuildPropReturn; + readonly draggable: import("element-plus/es/utils").BuildPropReturn; + readonly fullscreen: import("element-plus/es/utils").BuildPropReturn; + readonly showClose: import("element-plus/es/utils").BuildPropReturn; + readonly title: import("element-plus/es/utils").BuildPropReturn; + }>> & { + onClose?: (() => any) | undefined; + "onUpdate:modelValue"?: ((value: boolean) => any) | undefined; + onOpen?: (() => any) | undefined; + onOpened?: (() => any) | undefined; + onClosed?: (() => any) | undefined; + onOpenAutoFocus?: (() => any) | undefined; + onCloseAutoFocus?: (() => any) | undefined; + }, { + zIndex: number; + top: string; + width: import("element-plus/es/utils").BuildPropType; + title: string; + center: import("element-plus/es/utils").BuildPropType; + draggable: import("element-plus/es/utils").BuildPropType; + openDelay: number; + showClose: import("element-plus/es/utils").BuildPropType; + closeIcon: import("element-plus/es/utils").BuildPropType>, unknown, unknown>; + customClass: string; + fullscreen: import("element-plus/es/utils").BuildPropType; + appendToBody: import("element-plus/es/utils").BuildPropType; + beforeClose: import("element-plus").DialogBeforeCloseFn; + destroyOnClose: import("element-plus/es/utils").BuildPropType; + closeOnClickModal: import("element-plus/es/utils").BuildPropType; + closeOnPressEscape: import("element-plus/es/utils").BuildPropType; + lockScroll: import("element-plus/es/utils").BuildPropType; + modal: import("element-plus/es/utils").BuildPropType; + closeDelay: number; + trapFocus: import("element-plus/es/utils").BuildPropType; + }>> & Record; + ElButton: import("element-plus/es/utils").SFCWithInstall; + readonly disabled: BooleanConstructor; + readonly type: import("element-plus/es/utils").BuildPropReturn; + readonly icon: import("element-plus/es/utils").BuildPropReturn>, "", unknown, unknown, unknown>; + readonly nativeType: import("element-plus/es/utils").BuildPropReturn; + readonly loading: BooleanConstructor; + readonly loadingIcon: import("element-plus/es/utils").BuildPropReturn>, () => import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly>, {}>, unknown, unknown, unknown>; + readonly plain: BooleanConstructor; + readonly autofocus: BooleanConstructor; + readonly round: BooleanConstructor; + readonly circle: BooleanConstructor; + readonly color: StringConstructor; + readonly dark: BooleanConstructor; + readonly autoInsertSpace: import("element-plus/es/utils").BuildPropReturn; + }, { + props: Readonly; + readonly disabled: BooleanConstructor; + readonly type: import("element-plus/es/utils").BuildPropReturn; + readonly icon: import("element-plus/es/utils").BuildPropReturn>, "", unknown, unknown, unknown>; + readonly nativeType: import("element-plus/es/utils").BuildPropReturn; + readonly loading: BooleanConstructor; + readonly loadingIcon: import("element-plus/es/utils").BuildPropReturn>, () => import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly>, {}>, unknown, unknown, unknown>; + readonly plain: BooleanConstructor; + readonly autofocus: BooleanConstructor; + readonly round: BooleanConstructor; + readonly circle: BooleanConstructor; + readonly color: StringConstructor; + readonly dark: BooleanConstructor; + readonly autoInsertSpace: import("element-plus/es/utils").BuildPropReturn; + }>> & { + onClick?: ((evt: MouseEvent) => any) | undefined; + }>>; + emit: (event: "click", evt: MouseEvent) => void; + slots: Readonly<{ + [name: string]: import("vue").Slot | undefined; + }>; + buttonGroupContext: import("element-plus").ButtonGroupContext | undefined; + globalConfig: import("vue").Ref; + ns: { + namespace: import("vue").ComputedRef; + b: (blockSuffix?: string | undefined) => string; + e: (element?: string | undefined) => string; + m: (modifier?: string | undefined) => string; + be: (blockSuffix?: string | undefined, element?: string | undefined) => string; + em: (element?: string | undefined, modifier?: string | undefined) => string; + bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string; + bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string; + is: { + (name: string, state: boolean | undefined): string; + (name: string): string; + }; + }; + form: import("element-plus").FormContext | undefined; + _size: import("vue").ComputedRef<"" | "default" | "small" | "large">; + _disabled: import("vue").ComputedRef; + _ref: import("vue").Ref; + _type: import("vue").ComputedRef<"" | "default" | "primary" | "success" | "warning" | "info" | "danger" | "text">; + autoInsertSpace: import("vue").ComputedRef>; + shouldAddSpace: import("vue").ComputedRef; + buttonStyle: import("vue").ComputedRef>; + handleClick: (evt: MouseEvent) => void; + ElIcon: import("element-plus/es/utils").SFCWithInstall, unknown, unknown, unknown, unknown>; + readonly color: import("element-plus/es/utils").BuildPropReturn; + }, { + props: Readonly, unknown, unknown, unknown, unknown>; + readonly color: import("element-plus/es/utils").BuildPropReturn; + }>> & { + [x: `on${string}`]: ((...args: any[]) => any) | ((...args: unknown[]) => any) | undefined; + }>>; + ns: { + namespace: import("vue").ComputedRef; + b: (blockSuffix?: string | undefined) => string; + e: (element?: string | undefined) => string; + m: (modifier?: string | undefined) => string; + be: (blockSuffix?: string | undefined, element?: string | undefined) => string; + em: (element?: string | undefined, modifier?: string | undefined) => string; + bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string; + bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string; + is: { + (name: string, state: boolean | undefined): string; + (name: string): string; + }; + }; + style: import("vue").ComputedRef; + }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly, unknown, unknown, unknown, unknown>; + readonly color: import("element-plus/es/utils").BuildPropReturn; + }>>, { + size: import("element-plus/es/utils").BuildPropType, unknown, unknown>; + color: string; + }>> & Record; + }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, { + click: (evt: MouseEvent) => boolean; + }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly; + readonly disabled: BooleanConstructor; + readonly type: import("element-plus/es/utils").BuildPropReturn; + readonly icon: import("element-plus/es/utils").BuildPropReturn>, "", unknown, unknown, unknown>; + readonly nativeType: import("element-plus/es/utils").BuildPropReturn; + readonly loading: BooleanConstructor; + readonly loadingIcon: import("element-plus/es/utils").BuildPropReturn>, () => import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly>, {}>, unknown, unknown, unknown>; + readonly plain: BooleanConstructor; + readonly autofocus: BooleanConstructor; + readonly round: BooleanConstructor; + readonly circle: BooleanConstructor; + readonly color: StringConstructor; + readonly dark: BooleanConstructor; + readonly autoInsertSpace: import("element-plus/es/utils").BuildPropReturn; + }>> & { + onClick?: ((evt: MouseEvent) => any) | undefined; + }, { + type: import("element-plus/es/utils").BuildPropType; + icon: import("element-plus/es/utils").BuildPropType>, unknown, unknown>; + nativeType: import("element-plus/es/utils").BuildPropType; + loadingIcon: import("element-plus/es/utils").BuildPropType>, unknown, unknown>; + autoInsertSpace: import("element-plus/es/utils").BuildPropType; + size: import("element-plus/es/utils").BuildPropType; + disabled: boolean; + loading: boolean; + plain: boolean; + autofocus: boolean; + round: boolean; + circle: boolean; + dark: boolean; + }>> & { + ButtonGroup: import("vue").DefineComponent<{ + readonly size: import("element-plus/es/utils").BuildPropReturn; + readonly type: import("element-plus/es/utils").BuildPropReturn; + }, { + props: Readonly; + readonly type: import("element-plus/es/utils").BuildPropReturn; + }>> & { + [x: `on${string}`]: ((...args: any[]) => any) | ((...args: unknown[]) => any) | undefined; + }>>; + ns: { + namespace: import("vue").ComputedRef; + b: (blockSuffix?: string | undefined) => string; + e: (element?: string | undefined) => string; + m: (modifier?: string | undefined) => string; + be: (blockSuffix?: string | undefined, element?: string | undefined) => string; + em: (element?: string | undefined, modifier?: string | undefined) => string; + bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string; + bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string; + is: { + (name: string, state: boolean | undefined): string; + (name: string): string; + }; + }; + }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly; + readonly type: import("element-plus/es/utils").BuildPropReturn; + }>>, { + type: import("element-plus/es/utils").BuildPropType; + size: import("element-plus/es/utils").BuildPropType; + }>; + }; +}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("update:modelValue" | "onOk")[], "update:modelValue" | "onOk", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly> & { + "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined; + onOnOk?: ((...args: any[]) => any) | undefined; +}, { + footer: boolean; + appendToBody: boolean; + center: boolean; + closeOnClickModal: boolean; + closeOnPressEscape: boolean; + confirmLoading: boolean; + destroyOnClose: boolean; + modal: boolean; + showClose: boolean; + top: string; +}>; +export default _sfc_main; diff --git a/UmPagination/index.vue.d.ts b/UmPagination/index.vue.d.ts new file mode 100644 index 0000000..1d190af --- /dev/null +++ b/UmPagination/index.vue.d.ts @@ -0,0 +1,896 @@ +declare const _sfc_main: import("vue").DefineComponent<{ + page: { + type: NumberConstructor; + required: true; + default: number; + }; + pages: { + type: ArrayConstructor; + required: false; + default: () => number[]; + }; + size: { + type: NumberConstructor; + required: true; + default: number; + }; + total: { + type: NumberConstructor; + required: true; + default: number; + }; +}, { + visible: import("vue").Ref; + value: import("vue").Ref; + props: any; + emit: (e: "onChange", p: number, s: number) => void; + pageTotal: import("vue").ComputedRef; + disablePrev: import("vue").ComputedRef; + disableNext: import("vue").ComputedRef; + onChange: (v: boolean) => void; + onPageChange: (v: number) => void; + onPrev: () => void; + onNext: () => void; + onInput: (e: any) => void; + onSubmit: () => void; + ArrowLeft: any; + ArrowRight: any; + CaretBottom: any; + CaretTop: any; + ElIcon: import("element-plus/es/utils").SFCWithInstall, unknown, unknown, unknown, unknown>; + readonly color: import("element-plus/es/utils").BuildPropReturn; + }, { + props: Readonly, unknown, unknown, unknown, unknown>; + readonly color: import("element-plus/es/utils").BuildPropReturn; + }>> & { + [x: `on${string}`]: ((...args: any[]) => any) | ((...args: unknown[]) => any) | undefined; + }>>; + ns: { + namespace: import("vue").ComputedRef; + b: (blockSuffix?: string | undefined) => string; + e: (element?: string | undefined) => string; + m: (modifier?: string | undefined) => string; + be: (blockSuffix?: string | undefined, element?: string | undefined) => string; + em: (element?: string | undefined, modifier?: string | undefined) => string; + bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string; + bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string; + is: { + (name: string, state: boolean | undefined): string; + (name: string): string; + }; + }; + style: import("vue").ComputedRef; + }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly, unknown, unknown, unknown, unknown>; + readonly color: import("element-plus/es/utils").BuildPropReturn; + }>>, { + size: import("element-plus/es/utils").BuildPropType, unknown, unknown>; + color: string; + }>> & Record; + ElDropdown: import("element-plus/es/utils").SFCWithInstall, "hover", unknown, unknown, unknown>; + readonly effect: { + readonly default: "light"; + readonly type: import("vue").PropType; + readonly required: false; + readonly validator: ((val: unknown) => boolean) | undefined; + readonly __elPropsReservedKey: true; + }; + readonly type: import("element-plus/es/utils").BuildPropReturn>, unknown, unknown, unknown, unknown>; + readonly placement: import("element-plus/es/utils").BuildPropReturn, "bottom", unknown, unknown, unknown>; + readonly popperOptions: import("element-plus/es/utils").BuildPropReturn>, () => {}, unknown, unknown, unknown>; + readonly size: import("element-plus/es/utils").BuildPropReturn; + readonly splitButton: BooleanConstructor; + readonly hideOnClick: import("element-plus/es/utils").BuildPropReturn; + readonly loop: import("element-plus/es/utils").BuildPropReturn; + readonly showTimeout: import("element-plus/es/utils").BuildPropReturn; + readonly hideTimeout: import("element-plus/es/utils").BuildPropReturn; + readonly tabindex: import("element-plus/es/utils").BuildPropReturn, 0, unknown, unknown, unknown>; + readonly maxHeight: import("element-plus/es/utils").BuildPropReturn, "", unknown, unknown, unknown>; + readonly popperClass: import("element-plus/es/utils").BuildPropReturn; + readonly disabled: import("element-plus/es/utils").BuildPropReturn; + readonly buttonProps: import("element-plus/es/utils").BuildPropReturn, unknown, unknown, unknown, unknown>; + }, { + ns: { + namespace: import("vue").ComputedRef; + b: (blockSuffix?: string | undefined) => string; + e: (element?: string | undefined) => string; + m: (modifier?: string | undefined) => string; + be: (blockSuffix?: string | undefined, element?: string | undefined) => string; + em: (element?: string | undefined, modifier?: string | undefined) => string; + bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string; + bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string; + is: { + (name: string, state: boolean | undefined): string; + (name: string): string; + }; + }; + scrollbar: import("vue").Ref; + wrapStyle: import("vue").ComputedRef; + dropdownTriggerKls: import("vue").ComputedRef; + dropdownSize: import("vue").ComputedRef<"" | "default" | "small" | "large">; + currentTabId: import("vue").Ref; + handleCurrentTabIdChange: (id: string) => void; + handlerMainButtonClick: (event: MouseEvent) => void; + handleEntryFocus: (e: Event) => void; + handleClose: () => void; + handleOpen: () => void; + onMountOnFocus: (e: Event) => void; + popperRef: import("vue").Ref<({ + $: import("vue").ComponentInternalInstance; + $data: {}; + $props: Partial<{ + disabled: boolean; + trigger: import("element-plus/es/utils").BuildPropType, unknown, unknown>; + offset: number; + effect: string; + placement: import("element-plus/es/utils").BuildPropType; + popperClass: string | { + [x: string]: boolean; + } | (string | { + [x: string]: boolean; + } | (string | { + [x: string]: boolean; + } | (string | { + [x: string]: boolean; + } | (string | { + [x: string]: boolean; + } | (string | { + [x: string]: boolean; + } | (string | { + [x: string]: boolean; + } | (string | { + [x: string]: boolean; + } | (string | { + [x: string]: boolean; + } | (string | { + [x: string]: boolean; + } | (string | any[] | { + [x: string]: boolean; + })[])[])[])[])[])[])[])[])[])[]; + showAfter: number; + hideAfter: number; + boundariesPadding: number; + fallbackPlacements: import("element-plus").Placement[]; + gpuAcceleration: import("element-plus/es/utils").BuildPropType; + popperOptions: Partial; + strategy: import("element-plus/es/utils").BuildPropType; + style: import("vue").StyleValue; + className: string | { + [x: string]: boolean; + } | (string | { + [x: string]: boolean; + } | (string | { + [x: string]: boolean; + } | (string | { + [x: string]: boolean; + } | (string | { + [x: string]: boolean; + } | (string | { + [x: string]: boolean; + } | (string | { + [x: string]: boolean; + } | (string | { + [x: string]: boolean; + } | (string | { + [x: string]: boolean; + } | (string | { + [x: string]: boolean; + } | (string | any[] | { + [x: string]: boolean; + })[])[])[])[])[])[])[])[])[])[]; + enterable: import("element-plus/es/utils").BuildPropType; + popperStyle: import("vue").StyleValue; + referenceEl: HTMLElement; + stopPopperMouseEvent: import("element-plus/es/utils").BuildPropType; + visible: import("element-plus/es/utils").BuildPropType, unknown, unknown>; + pure: boolean; + appendTo: import("element-plus/es/utils").BuildPropType, unknown, unknown>; + content: string; + rawContent: import("element-plus/es/utils").BuildPropType; + transition: string; + teleported: import("element-plus/es/utils").BuildPropType; + persistent: boolean; + open: boolean; + arrowOffset: number; + virtualRef: import("element-plus").Measurable; + virtualTriggering: boolean; + "onUpdate:visible": (val: boolean) => void; + openDelay: number; + visibleArrow: import("element-plus/es/utils").BuildPropType; + showArrow: import("element-plus/es/utils").BuildPropType; + }> & Omit number) | undefined, unknown, unknown, unknown>; + visibleArrow: import("element-plus/es/utils").BuildPropReturn false) | (() => true) | undefined, unknown, unknown, unknown>; + hideAfter: import("element-plus/es/utils").BuildPropReturn number) | undefined, unknown, unknown, unknown>; + showArrow: import("element-plus/es/utils").BuildPropReturn false) | (() => true) | undefined, unknown, unknown, unknown>; + arrowOffset: import("element-plus/es/utils").BuildPropReturn; + disabled: BooleanConstructor; + trigger: import("element-plus/es/utils").BuildPropReturn, "hover", unknown, unknown, unknown>; + virtualRef: import("element-plus/es/utils").BuildPropReturn, unknown, unknown, unknown, unknown>; + virtualTriggering: BooleanConstructor; + onMouseenter: FunctionConstructor; + onMouseleave: FunctionConstructor; + onClick: FunctionConstructor; + onKeydown: FunctionConstructor; + onFocus: FunctionConstructor; + onBlur: FunctionConstructor; + onContextmenu: FunctionConstructor; + id: StringConstructor; + open: BooleanConstructor; + appendTo: import("element-plus/es/utils").BuildPropReturn, string, unknown, unknown, unknown>; + content: import("element-plus/es/utils").BuildPropReturn; + rawContent: import("element-plus/es/utils").BuildPropReturn; + persistent: BooleanConstructor; + ariaLabel: StringConstructor; + visible: import("element-plus/es/utils").BuildPropReturn, null, unknown, unknown, unknown>; + transition: import("element-plus/es/utils").BuildPropReturn; + teleported: import("element-plus/es/utils").BuildPropReturn; + style: import("element-plus/es/utils").BuildPropReturn, unknown, unknown, unknown, unknown>; + className: import("element-plus/es/utils").BuildPropReturn, unknown, unknown, unknown, unknown>; + effect: import("element-plus/es/utils").BuildPropReturn; + enterable: import("element-plus/es/utils").BuildPropReturn; + pure: BooleanConstructor; + popperClass: import("element-plus/es/utils").BuildPropReturn, unknown, unknown, unknown, unknown>; + popperStyle: import("element-plus/es/utils").BuildPropReturn, unknown, unknown, unknown, unknown>; + referenceEl: import("element-plus/es/utils").BuildPropReturn, unknown, unknown, unknown, unknown>; + stopPopperMouseEvent: import("element-plus/es/utils").BuildPropReturn; + zIndex: NumberConstructor; + boundariesPadding: import("element-plus/es/utils").BuildPropReturn; + fallbackPlacements: import("element-plus/es/utils").BuildPropReturn, () => never[], unknown, unknown, unknown>; + gpuAcceleration: import("element-plus/es/utils").BuildPropReturn; + offset: import("element-plus/es/utils").BuildPropReturn; + placement: import("element-plus/es/utils").BuildPropReturn; + popperOptions: import("element-plus/es/utils").BuildPropReturn>, () => {}, unknown, unknown, unknown>; + strategy: import("element-plus/es/utils").BuildPropReturn; + showAfter: import("element-plus/es/utils").BuildPropReturn; + "onUpdate:visible": import("element-plus/es/utils").BuildPropReturn void>, never, false, never, never>; + }>> & { + [x: `on${string}`]: ((...args: any[]) => any) | undefined; + } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "style" | "openDelay" | "disabled" | "trigger" | "effect" | "placement" | "popperOptions" | "popperClass" | "strategy" | "visibleArrow" | "hideAfter" | "showArrow" | "arrowOffset" | "virtualRef" | "virtualTriggering" | "open" | "appendTo" | "content" | "rawContent" | "persistent" | "visible" | "transition" | "teleported" | "className" | "enterable" | "pure" | "popperStyle" | "referenceEl" | "stopPopperMouseEvent" | "boundariesPadding" | "fallbackPlacements" | "gpuAcceleration" | "offset" | "showAfter" | "onUpdate:visible">; + $attrs: { + [x: string]: unknown; + }; + $refs: { + [x: string]: unknown; + }; + $slots: Readonly<{ + [name: string]: import("vue").Slot | undefined; + }>; + $root: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase> | null; + $parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase> | null; + $emit: (event: string, ...args: any[]) => void; + $el: any; + $options: import("vue").ComponentOptionsBase number) | undefined, unknown, unknown, unknown>; + visibleArrow: import("element-plus/es/utils").BuildPropReturn false) | (() => true) | undefined, unknown, unknown, unknown>; + hideAfter: import("element-plus/es/utils").BuildPropReturn number) | undefined, unknown, unknown, unknown>; + showArrow: import("element-plus/es/utils").BuildPropReturn false) | (() => true) | undefined, unknown, unknown, unknown>; + arrowOffset: import("element-plus/es/utils").BuildPropReturn; + disabled: BooleanConstructor; + trigger: import("element-plus/es/utils").BuildPropReturn, "hover", unknown, unknown, unknown>; + virtualRef: import("element-plus/es/utils").BuildPropReturn, unknown, unknown, unknown, unknown>; + virtualTriggering: BooleanConstructor; + onMouseenter: FunctionConstructor; + onMouseleave: FunctionConstructor; + onClick: FunctionConstructor; + onKeydown: FunctionConstructor; + onFocus: FunctionConstructor; + onBlur: FunctionConstructor; + onContextmenu: FunctionConstructor; + id: StringConstructor; + open: BooleanConstructor; + appendTo: import("element-plus/es/utils").BuildPropReturn, string, unknown, unknown, unknown>; + content: import("element-plus/es/utils").BuildPropReturn; + rawContent: import("element-plus/es/utils").BuildPropReturn; + persistent: BooleanConstructor; + ariaLabel: StringConstructor; + visible: import("element-plus/es/utils").BuildPropReturn, null, unknown, unknown, unknown>; + transition: import("element-plus/es/utils").BuildPropReturn; + teleported: import("element-plus/es/utils").BuildPropReturn; + style: import("element-plus/es/utils").BuildPropReturn, unknown, unknown, unknown, unknown>; + className: import("element-plus/es/utils").BuildPropReturn, unknown, unknown, unknown, unknown>; + effect: import("element-plus/es/utils").BuildPropReturn; + enterable: import("element-plus/es/utils").BuildPropReturn; + pure: BooleanConstructor; + popperClass: import("element-plus/es/utils").BuildPropReturn, unknown, unknown, unknown, unknown>; + popperStyle: import("element-plus/es/utils").BuildPropReturn, unknown, unknown, unknown, unknown>; + referenceEl: import("element-plus/es/utils").BuildPropReturn, unknown, unknown, unknown, unknown>; + stopPopperMouseEvent: import("element-plus/es/utils").BuildPropReturn; + zIndex: NumberConstructor; + boundariesPadding: import("element-plus/es/utils").BuildPropReturn; + fallbackPlacements: import("element-plus/es/utils").BuildPropReturn, () => never[], unknown, unknown, unknown>; + gpuAcceleration: import("element-plus/es/utils").BuildPropReturn; + offset: import("element-plus/es/utils").BuildPropReturn; + placement: import("element-plus/es/utils").BuildPropReturn; + popperOptions: import("element-plus/es/utils").BuildPropReturn>, () => {}, unknown, unknown, unknown>; + strategy: import("element-plus/es/utils").BuildPropReturn; + showAfter: import("element-plus/es/utils").BuildPropReturn; + "onUpdate:visible": import("element-plus/es/utils").BuildPropReturn void>, never, false, never, never>; + }>> & { + [x: `on${string}`]: ((...args: any[]) => any) | undefined; + }, { + compatShowAfter: import("vue").ComputedRef; + compatShowArrow: import("vue").ComputedRef>; + popperRef: import("vue").Ref<({ + $: import("vue").ComponentInternalInstance; + $data: {}; + $props: Partial<{}> & Omit> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>; + $attrs: { + [x: string]: unknown; + }; + $refs: { + [x: string]: unknown; + }; + $slots: Readonly<{ + [name: string]: import("vue").Slot | undefined; + }>; + $root: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase> | null; + $parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase> | null; + $emit: ((event: string, ...args: any[]) => void) | ((event: string, ...args: any[]) => void); + $el: any; + $options: import("vue").ComponentOptionsBase>, { + triggerRef: import("vue").Ref; + popperInstanceRef: import("vue").Ref; + contentRef: import("vue").Ref; + referenceRef: import("vue").Ref; + popperProvides: import("element-plus").ElPopperInjectionContext; + }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, {}> & { + beforeCreate?: (() => void) | (() => void)[] | undefined; + created?: (() => void) | (() => void)[] | undefined; + beforeMount?: (() => void) | (() => void)[] | undefined; + mounted?: (() => void) | (() => void)[] | undefined; + beforeUpdate?: (() => void) | (() => void)[] | undefined; + updated?: (() => void) | (() => void)[] | undefined; + activated?: (() => void) | (() => void)[] | undefined; + deactivated?: (() => void) | (() => void)[] | undefined; + beforeDestroy?: (() => void) | (() => void)[] | undefined; + beforeUnmount?: (() => void) | (() => void)[] | undefined; + destroyed?: (() => void) | (() => void)[] | undefined; + unmounted?: (() => void) | (() => void)[] | undefined; + renderTracked?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[] | undefined; + renderTriggered?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[] | undefined; + errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase> | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase> | null, info: string) => boolean | void)[] | undefined; + }; + $forceUpdate: () => void; + $nextTick: typeof import("vue").nextTick; + $watch(source: string | Function, cb: Function, options?: import("vue").WatchOptions | undefined): import("vue").WatchStopHandle; + } & Readonly> & import("vue").ShallowUnwrapRef<{ + triggerRef: import("vue").Ref; + popperInstanceRef: import("vue").Ref; + contentRef: import("vue").Ref; + referenceRef: import("vue").Ref; + popperProvides: import("element-plus").ElPopperInjectionContext; + }> & import("vue").ComponentCustomProperties) | null>; + open: import("vue").Ref; + hide: () => void; + updatePopper: () => void; + onOpen: () => void; + onClose: () => void; + }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, string[], string, { + disabled: boolean; + trigger: import("element-plus/es/utils").BuildPropType, unknown, unknown>; + offset: number; + effect: string; + placement: import("element-plus/es/utils").BuildPropType; + popperClass: string | { + [x: string]: boolean; + } | (string | { + [x: string]: boolean; + } | (string | { + [x: string]: boolean; + } | (string | { + [x: string]: boolean; + } | (string | { + [x: string]: boolean; + } | (string | { + [x: string]: boolean; + } | (string | { + [x: string]: boolean; + } | (string | { + [x: string]: boolean; + } | (string | { + [x: string]: boolean; + } | (string | { + [x: string]: boolean; + } | (string | any[] | { + [x: string]: boolean; + })[])[])[])[])[])[])[])[])[])[]; + showAfter: number; + hideAfter: number; + boundariesPadding: number; + fallbackPlacements: import("element-plus").Placement[]; + gpuAcceleration: import("element-plus/es/utils").BuildPropType; + popperOptions: Partial; + strategy: import("element-plus/es/utils").BuildPropType; + style: import("vue").StyleValue; + className: string | { + [x: string]: boolean; + } | (string | { + [x: string]: boolean; + } | (string | { + [x: string]: boolean; + } | (string | { + [x: string]: boolean; + } | (string | { + [x: string]: boolean; + } | (string | { + [x: string]: boolean; + } | (string | { + [x: string]: boolean; + } | (string | { + [x: string]: boolean; + } | (string | { + [x: string]: boolean; + } | (string | { + [x: string]: boolean; + } | (string | any[] | { + [x: string]: boolean; + })[])[])[])[])[])[])[])[])[])[]; + enterable: import("element-plus/es/utils").BuildPropType; + popperStyle: import("vue").StyleValue; + referenceEl: HTMLElement; + stopPopperMouseEvent: import("element-plus/es/utils").BuildPropType; + visible: import("element-plus/es/utils").BuildPropType, unknown, unknown>; + pure: boolean; + appendTo: import("element-plus/es/utils").BuildPropType, unknown, unknown>; + content: string; + rawContent: import("element-plus/es/utils").BuildPropType; + transition: string; + teleported: import("element-plus/es/utils").BuildPropType; + persistent: boolean; + open: boolean; + arrowOffset: number; + virtualRef: import("element-plus").Measurable; + virtualTriggering: boolean; + "onUpdate:visible": (val: boolean) => void; + openDelay: number; + visibleArrow: import("element-plus/es/utils").BuildPropType; + showArrow: import("element-plus/es/utils").BuildPropType; + }> & { + beforeCreate?: (() => void) | (() => void)[] | undefined; + created?: (() => void) | (() => void)[] | undefined; + beforeMount?: (() => void) | (() => void)[] | undefined; + mounted?: (() => void) | (() => void)[] | undefined; + beforeUpdate?: (() => void) | (() => void)[] | undefined; + updated?: (() => void) | (() => void)[] | undefined; + activated?: (() => void) | (() => void)[] | undefined; + deactivated?: (() => void) | (() => void)[] | undefined; + beforeDestroy?: (() => void) | (() => void)[] | undefined; + beforeUnmount?: (() => void) | (() => void)[] | undefined; + destroyed?: (() => void) | (() => void)[] | undefined; + unmounted?: (() => void) | (() => void)[] | undefined; + renderTracked?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[] | undefined; + renderTriggered?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[] | undefined; + errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase> | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase> | null, info: string) => boolean | void)[] | undefined; + }; + $forceUpdate: () => void; + $nextTick: typeof import("vue").nextTick; + $watch(source: string | Function, cb: Function, options?: import("vue").WatchOptions | undefined): import("vue").WatchStopHandle; + } & Readonly number) | undefined, unknown, unknown, unknown>; + visibleArrow: import("element-plus/es/utils").BuildPropReturn false) | (() => true) | undefined, unknown, unknown, unknown>; + hideAfter: import("element-plus/es/utils").BuildPropReturn number) | undefined, unknown, unknown, unknown>; + showArrow: import("element-plus/es/utils").BuildPropReturn false) | (() => true) | undefined, unknown, unknown, unknown>; + arrowOffset: import("element-plus/es/utils").BuildPropReturn; + disabled: BooleanConstructor; + trigger: import("element-plus/es/utils").BuildPropReturn, "hover", unknown, unknown, unknown>; + virtualRef: import("element-plus/es/utils").BuildPropReturn, unknown, unknown, unknown, unknown>; + virtualTriggering: BooleanConstructor; + onMouseenter: FunctionConstructor; + onMouseleave: FunctionConstructor; + onClick: FunctionConstructor; + onKeydown: FunctionConstructor; + onFocus: FunctionConstructor; + onBlur: FunctionConstructor; + onContextmenu: FunctionConstructor; + id: StringConstructor; + open: BooleanConstructor; + appendTo: import("element-plus/es/utils").BuildPropReturn, string, unknown, unknown, unknown>; + content: import("element-plus/es/utils").BuildPropReturn; + rawContent: import("element-plus/es/utils").BuildPropReturn; + persistent: BooleanConstructor; + ariaLabel: StringConstructor; + visible: import("element-plus/es/utils").BuildPropReturn, null, unknown, unknown, unknown>; + transition: import("element-plus/es/utils").BuildPropReturn; + teleported: import("element-plus/es/utils").BuildPropReturn; + style: import("element-plus/es/utils").BuildPropReturn, unknown, unknown, unknown, unknown>; + className: import("element-plus/es/utils").BuildPropReturn, unknown, unknown, unknown, unknown>; + effect: import("element-plus/es/utils").BuildPropReturn; + enterable: import("element-plus/es/utils").BuildPropReturn; + pure: BooleanConstructor; + popperClass: import("element-plus/es/utils").BuildPropReturn, unknown, unknown, unknown, unknown>; + popperStyle: import("element-plus/es/utils").BuildPropReturn, unknown, unknown, unknown, unknown>; + referenceEl: import("element-plus/es/utils").BuildPropReturn, unknown, unknown, unknown, unknown>; + stopPopperMouseEvent: import("element-plus/es/utils").BuildPropReturn; + zIndex: NumberConstructor; + boundariesPadding: import("element-plus/es/utils").BuildPropReturn; + fallbackPlacements: import("element-plus/es/utils").BuildPropReturn, () => never[], unknown, unknown, unknown>; + gpuAcceleration: import("element-plus/es/utils").BuildPropReturn; + offset: import("element-plus/es/utils").BuildPropReturn; + placement: import("element-plus/es/utils").BuildPropReturn; + popperOptions: import("element-plus/es/utils").BuildPropReturn>, () => {}, unknown, unknown, unknown>; + strategy: import("element-plus/es/utils").BuildPropReturn; + showAfter: import("element-plus/es/utils").BuildPropReturn; + "onUpdate:visible": import("element-plus/es/utils").BuildPropReturn void>, never, false, never, never>; + }>> & { + [x: `on${string}`]: ((...args: any[]) => any) | undefined; + } & import("vue").ShallowUnwrapRef<{ + compatShowAfter: import("vue").ComputedRef; + compatShowArrow: import("vue").ComputedRef>; + popperRef: import("vue").Ref<({ + $: import("vue").ComponentInternalInstance; + $data: {}; + $props: Partial<{}> & Omit> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>; + $attrs: { + [x: string]: unknown; + }; + $refs: { + [x: string]: unknown; + }; + $slots: Readonly<{ + [name: string]: import("vue").Slot | undefined; + }>; + $root: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase> | null; + $parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase> | null; + $emit: ((event: string, ...args: any[]) => void) | ((event: string, ...args: any[]) => void); + $el: any; + $options: import("vue").ComponentOptionsBase>, { + triggerRef: import("vue").Ref; + popperInstanceRef: import("vue").Ref; + contentRef: import("vue").Ref; + referenceRef: import("vue").Ref; + popperProvides: import("element-plus").ElPopperInjectionContext; + }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, {}> & { + beforeCreate?: (() => void) | (() => void)[] | undefined; + created?: (() => void) | (() => void)[] | undefined; + beforeMount?: (() => void) | (() => void)[] | undefined; + mounted?: (() => void) | (() => void)[] | undefined; + beforeUpdate?: (() => void) | (() => void)[] | undefined; + updated?: (() => void) | (() => void)[] | undefined; + activated?: (() => void) | (() => void)[] | undefined; + deactivated?: (() => void) | (() => void)[] | undefined; + beforeDestroy?: (() => void) | (() => void)[] | undefined; + beforeUnmount?: (() => void) | (() => void)[] | undefined; + destroyed?: (() => void) | (() => void)[] | undefined; + unmounted?: (() => void) | (() => void)[] | undefined; + renderTracked?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[] | undefined; + renderTriggered?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[] | undefined; + errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase> | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase> | null, info: string) => boolean | void)[] | undefined; + }; + $forceUpdate: () => void; + $nextTick: typeof import("vue").nextTick; + $watch(source: string | Function, cb: Function, options?: import("vue").WatchOptions | undefined): import("vue").WatchStopHandle; + } & Readonly> & import("vue").ShallowUnwrapRef<{ + triggerRef: import("vue").Ref; + popperInstanceRef: import("vue").Ref; + contentRef: import("vue").Ref; + referenceRef: import("vue").Ref; + popperProvides: import("element-plus").ElPopperInjectionContext; + }> & import("vue").ComponentCustomProperties) | null>; + open: import("vue").Ref; + hide: () => void; + updatePopper: () => void; + onOpen: () => void; + onClose: () => void; + }> & import("vue").ComponentCustomProperties) | null>; + triggeringElementRef: import("vue").Ref; + referenceElementRef: import("vue").Ref; + }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("click" | "visible-change" | "command")[], "click" | "visible-change" | "command", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly, "hover", unknown, unknown, unknown>; + readonly effect: { + readonly default: "light"; + readonly type: import("vue").PropType; + readonly required: false; + readonly validator: ((val: unknown) => boolean) | undefined; + readonly __elPropsReservedKey: true; + }; + readonly type: import("element-plus/es/utils").BuildPropReturn>, unknown, unknown, unknown, unknown>; + readonly placement: import("element-plus/es/utils").BuildPropReturn, "bottom", unknown, unknown, unknown>; + readonly popperOptions: import("element-plus/es/utils").BuildPropReturn>, () => {}, unknown, unknown, unknown>; + readonly size: import("element-plus/es/utils").BuildPropReturn; + readonly splitButton: BooleanConstructor; + readonly hideOnClick: import("element-plus/es/utils").BuildPropReturn; + readonly loop: import("element-plus/es/utils").BuildPropReturn; + readonly showTimeout: import("element-plus/es/utils").BuildPropReturn; + readonly hideTimeout: import("element-plus/es/utils").BuildPropReturn; + readonly tabindex: import("element-plus/es/utils").BuildPropReturn, 0, unknown, unknown, unknown>; + readonly maxHeight: import("element-plus/es/utils").BuildPropReturn, "", unknown, unknown, unknown>; + readonly popperClass: import("element-plus/es/utils").BuildPropReturn; + readonly disabled: import("element-plus/es/utils").BuildPropReturn; + readonly buttonProps: import("element-plus/es/utils").BuildPropReturn, unknown, unknown, unknown, unknown>; + }>> & { + onClick?: ((...args: any[]) => any) | undefined; + "onVisible-change"?: ((...args: any[]) => any) | undefined; + onCommand?: ((...args: any[]) => any) | undefined; + }, { + type: import("element-plus/es/utils").BuildPropType>, unknown, unknown>; + size: string; + disabled: import("element-plus/es/utils").BuildPropType; + trigger: import("element-plus/es/utils").BuildPropType, unknown, unknown>; + effect: string; + placement: import("element-plus/es/utils").BuildPropType, unknown, unknown>; + popperClass: string; + popperOptions: Partial; + maxHeight: import("element-plus/es/utils").BuildPropType, unknown, unknown>; + tabindex: import("element-plus/es/utils").BuildPropType, unknown, unknown>; + loop: import("element-plus/es/utils").BuildPropType; + hideOnClick: import("element-plus/es/utils").BuildPropType; + showTimeout: number; + hideTimeout: number; + buttonProps: import("element-plus").ButtonProps; + splitButton: boolean; + }>> & { + DropdownItem: import("vue").DefineComponent<{ + readonly command: import("element-plus/es/utils").BuildPropReturn {}, unknown, unknown, unknown>; + readonly disabled: BooleanConstructor; + readonly divided: BooleanConstructor; + readonly textValue: StringConstructor; + readonly icon: import("element-plus/es/utils").BuildPropReturn>, unknown, unknown, unknown, unknown>; + }, { + handleClick: (event: PointerEvent) => void; + handlePointerMove: (event: PointerEvent) => void; + handlePointerLeave: (event: PointerEvent) => void; + textContent: import("vue").ComputedRef; + propsAndAttrs: import("vue").ComputedRef<{ + icon: import("element-plus/es/utils").BuildPropType>, unknown, unknown> | undefined; + disabled: boolean; + onClick: ((...args: any[]) => any) | undefined; + onPointermove: ((...args: any[]) => any) | undefined; + onPointerleave: ((...args: any[]) => any) | undefined; + command: import("element-plus/es/utils").BuildPropType; + divided: boolean; + textValue: string | undefined; + }>; + }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("click" | "pointermove" | "pointerleave")[], "click" | "pointermove" | "pointerleave", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly {}, unknown, unknown, unknown>; + readonly disabled: BooleanConstructor; + readonly divided: BooleanConstructor; + readonly textValue: StringConstructor; + readonly icon: import("element-plus/es/utils").BuildPropReturn>, unknown, unknown, unknown, unknown>; + }>> & { + onClick?: ((...args: any[]) => any) | undefined; + onPointermove?: ((...args: any[]) => any) | undefined; + onPointerleave?: ((...args: any[]) => any) | undefined; + }, { + icon: import("element-plus/es/utils").BuildPropType>, unknown, unknown>; + disabled: boolean; + command: import("element-plus/es/utils").BuildPropType; + divided: boolean; + }>; + DropdownMenu: import("vue").DefineComponent<{ + onKeydown: import("element-plus/es/utils").BuildPropReturn void>, unknown, unknown, unknown, unknown>; + }, { + size: import("vue").ComputedRef | undefined; + rovingFocusGroupRootStyle: import("vue").Ref; + tabIndex: import("vue").Ref; + dropdownKls: import("vue").ComputedRef; + dropdownListWrapperRef: (el: Element | import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase> | null) => void; + handleKeydown: (e: KeyboardEvent) => void; + onBlur: (e: Event) => void; + onFocus: (e: FocusEvent) => void; + onMousedown: (e: Event) => void; + }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly void>, unknown, unknown, unknown, unknown>; + }>>, { + onKeydown: (e: KeyboardEvent) => void; + }>; + }; + ElDropdownMenu: import("element-plus/es/utils").SFCWithInstall void>, unknown, unknown, unknown, unknown>; + }, { + size: import("vue").ComputedRef | undefined; + rovingFocusGroupRootStyle: import("vue").Ref; + tabIndex: import("vue").Ref; + dropdownKls: import("vue").ComputedRef; + dropdownListWrapperRef: (el: Element | import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase> | null) => void; + handleKeydown: (e: KeyboardEvent) => void; + onBlur: (e: Event) => void; + onFocus: (e: FocusEvent) => void; + onMousedown: (e: Event) => void; + }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly void>, unknown, unknown, unknown, unknown>; + }>>, { + onKeydown: (e: KeyboardEvent) => void; + }>>; + ElDropdownItem: import("element-plus/es/utils").SFCWithInstall {}, unknown, unknown, unknown>; + readonly disabled: BooleanConstructor; + readonly divided: BooleanConstructor; + readonly textValue: StringConstructor; + readonly icon: import("element-plus/es/utils").BuildPropReturn>, unknown, unknown, unknown, unknown>; + }, { + handleClick: (event: PointerEvent) => void; + handlePointerMove: (event: PointerEvent) => void; + handlePointerLeave: (event: PointerEvent) => void; + textContent: import("vue").ComputedRef; + propsAndAttrs: import("vue").ComputedRef<{ + icon: import("element-plus/es/utils").BuildPropType>, unknown, unknown> | undefined; + disabled: boolean; + onClick: ((...args: any[]) => any) | undefined; + onPointermove: ((...args: any[]) => any) | undefined; + onPointerleave: ((...args: any[]) => any) | undefined; + command: import("element-plus/es/utils").BuildPropType; + divided: boolean; + textValue: string | undefined; + }>; + }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("click" | "pointermove" | "pointerleave")[], "click" | "pointermove" | "pointerleave", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly {}, unknown, unknown, unknown>; + readonly disabled: BooleanConstructor; + readonly divided: BooleanConstructor; + readonly textValue: StringConstructor; + readonly icon: import("element-plus/es/utils").BuildPropReturn>, unknown, unknown, unknown, unknown>; + }>> & { + onClick?: ((...args: any[]) => any) | undefined; + onPointermove?: ((...args: any[]) => any) | undefined; + onPointerleave?: ((...args: any[]) => any) | undefined; + }, { + icon: import("element-plus/es/utils").BuildPropType>, unknown, unknown>; + disabled: boolean; + command: import("element-plus/es/utils").BuildPropType; + divided: boolean; + }>>; +}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "onChange"[], "onChange", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly number[]; + }; + size: { + type: NumberConstructor; + required: true; + default: number; + }; + total: { + type: NumberConstructor; + required: true; + default: number; + }; +}>> & { + onOnChange?: ((...args: any[]) => any) | undefined; +}, { + size: number; + page: number; + pages: unknown[]; + total: number; +}>; +export default _sfc_main; diff --git a/UmTable/UmByClass.vue.d.ts b/UmTable/UmByClass.vue.d.ts new file mode 100644 index 0000000..26454e3 --- /dev/null +++ b/UmTable/UmByClass.vue.d.ts @@ -0,0 +1,37 @@ +import type { VNode } from "vue"; +declare const _sfc_main: import("vue").DefineComponent<{ + target: any; + data: any[]; + /** + * 是否为树形表格 + */ + isExpand?: boolean | undefined; + /** + * 树形表格模板 + */ + expandTemplate?: VNode | undefined; + otherParams?: any; + searchParams?: any; +}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{ + target: any; + data: any[]; + /** + * 是否为树形表格 + */ + isExpand?: boolean | undefined; + /** + * 树形表格模板 + */ + expandTemplate?: VNode | undefined; + otherParams?: any; + searchParams?: any; +}>, { + target: any; + otherParams: any; + searchParams: any; +}>; +export default _sfc_main; diff --git a/UmTable/UmByClassEnhance.vue.d.ts b/UmTable/UmByClassEnhance.vue.d.ts new file mode 100644 index 0000000..c154719 --- /dev/null +++ b/UmTable/UmByClassEnhance.vue.d.ts @@ -0,0 +1,29 @@ +declare const _sfc_main: import("vue").DefineComponent<{ + target: Function | any; + data: any[]; + class?: string | undefined; + otherParams?: any; + formData?: any; + /** + * 是否为树状列表 + */ + isExpand?: boolean | undefined; + expandTemplate?: any; +}, any, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{ + target: Function | any; + data: any[]; + class?: string | undefined; + otherParams?: any; + formData?: any; + /** + * 是否为树状列表 + */ + isExpand?: boolean | undefined; + expandTemplate?: any; +}>, { + target: any; + expandTemplate: any; + otherParams: any; + formData: any; +}>; +export default _sfc_main; diff --git a/UmTable/UmColumnRender.vue.d.ts b/UmTable/UmColumnRender.vue.d.ts new file mode 100644 index 0000000..f731cb2 --- /dev/null +++ b/UmTable/UmColumnRender.vue.d.ts @@ -0,0 +1,77 @@ +import type { PropType } from "vue"; +import type { TColumnRender, tFieldType } from "./types"; +declare const _sfc_main: import("vue").DefineComponent<{ + fieldType: { + type: PropType; + default: string; + }; + data: { + type: PropType>; + default: () => {}; + }; + prop: { + type: StringConstructor; + default: string; + }; + /** 自定义渲染函数 */ + render: { + type: PropType; + default: undefined; + }; + /** + * 日期格式化模板(仅 fieldType === "date" 生效)。 + * 不传时沿用历史默认 `YYYY-MM-DD HH:mm:ss`。 + */ + dateFormat: { + type: StringConstructor; + default: undefined; + }; + /** 是否显示单元格内容(支持异步) */ + isShow: { + type: PropType<(data: any) => boolean | Promise>; + default: undefined; + }; +}, unknown, { + visible: boolean; +}, {}, { + refreshVisible(): Promise; +}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly; + default: string; + }; + data: { + type: PropType>; + default: () => {}; + }; + prop: { + type: StringConstructor; + default: string; + }; + /** 自定义渲染函数 */ + render: { + type: PropType; + default: undefined; + }; + /** + * 日期格式化模板(仅 fieldType === "date" 生效)。 + * 不传时沿用历史默认 `YYYY-MM-DD HH:mm:ss`。 + */ + dateFormat: { + type: StringConstructor; + default: undefined; + }; + /** 是否显示单元格内容(支持异步) */ + isShow: { + type: PropType<(data: any) => boolean | Promise>; + default: undefined; + }; +}>>, { + data: Record; + fieldType: tFieldType; + prop: string; + dateFormat: string; + isShow: (data: any) => boolean | Promise; + render: TColumnRender; +}>; +export default _sfc_main; diff --git a/UmTable/UmImport.vue.d.ts b/UmTable/UmImport.vue.d.ts new file mode 100644 index 0000000..8c24bf6 --- /dev/null +++ b/UmTable/UmImport.vue.d.ts @@ -0,0 +1,42 @@ +declare const _sfc_main: import("vue").DefineComponent<{}, { + emit: (e: "click", data: Event) => any; + fileInput: import("vue").Ref; + onClick: () => void; + onFileChange: (e: Event) => void; + Iconfont: import("vue").DefineComponent<{ + class: { + type: StringConstructor; + required: false; + }; + style: { + type: null; + required: false; + }; + type: { + type: StringConstructor; + required: true; + }; + }, { + props: any; + emit: (e: "click") => void; + iconClass: import("vue").ComputedRef; + }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "click"[], "click", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly> & { + onClick?: ((...args: any[]) => any) | undefined; + }, {}>; +}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "click"[], "click", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly> & { + onClick?: ((...args: any[]) => any) | undefined; +}, {}>; +export default _sfc_main; diff --git a/UmTable/UmSearchForm.vue.d.ts b/UmTable/UmSearchForm.vue.d.ts new file mode 100644 index 0000000..c28d841 --- /dev/null +++ b/UmTable/UmSearchForm.vue.d.ts @@ -0,0 +1,35 @@ +interface ISearchField { + label: string; + /** 由 `fieldType` 推导出的默认控件 */ + fieldType?: string; + /** 由 `$um_component` 显式指定的控件,优先级高于 fieldType */ + component?: string; + prop: string; + placeholder?: string; + style?: any; +} +declare const _sfc_main: import("vue").DefineComponent<{ + /** 配置类(构造函数或实例) */ + target: { + type: any; + required: true; + }; +}, unknown, { + formFields: ISearchField[]; + formModel: Record; + fieldOption: Map; +}, {}, { + /** 收集字段并按 fieldName 初始化表单模型 */ + buildFields(): Promise; + onSubmit(): void; + onReset(): void; +}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "change"[], "change", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly> & { + onChange?: ((...args: any[]) => any) | undefined; +}, {}>; +export default _sfc_main; diff --git a/UmTable/UmSyncNodeForm.vue.d.ts b/UmTable/UmSyncNodeForm.vue.d.ts new file mode 100644 index 0000000..f415f33 --- /dev/null +++ b/UmTable/UmSyncNodeForm.vue.d.ts @@ -0,0 +1,124 @@ +import type { IFormRule } from "./types"; +declare const _sfc_main: import("vue").DefineComponent<{ + data: { + type: null; + required: false; + }; + depData: { + type: null; + required: false; + }; +}, { + props: any; + SyncNode: { + new (): {}; + }; + tableForm: import("vue").Ref; + formId: import("vue").Ref; + moduleFieldName: import("vue").Ref; + moduleFieldTitle: import("vue").Ref; + formModel: import("vue").Ref<{ + [x: string]: any; + }>; + target: import("vue").ComputedRef<{ + new (): {}; + }>; + lastApplied: any; + onFormModelChange: (v: any) => void; + onOk: (_data: any) => void; + UmTableForm: import("vue").DefineComponent<{}, { + formModel: import("vue").Ref<{ + [x: string]: any; + }>; + setFormModel: (models: any) => void; + }, { + rules: Record; + formItems: any[]; + fieldOption: Map; + maxLabelWidth: number; + showList: string[]; + cascadeMap: Map; + throttleRefreshForm: import("lodash").DebouncedFunc<(this: any, v: any, oldV: any, needFreshCascadeField: string[]) => Promise>; + }, { + formCom(): import("vue").VNode | null; + }, { + refreshForm(v: any, oldV: any, needFreshCascadeField: string[]): Promise; + onSubmit(): Promise; + getRule(rule: IFormRule): { + required: boolean; + message: string | undefined; + pattern?: undefined; + min?: undefined; + max?: undefined; + validator?: undefined; + } | { + pattern: RegExp; + message: string; + required?: undefined; + min?: undefined; + max?: undefined; + validator?: undefined; + } | { + min: number | undefined; + max: number | undefined; + message: string; + required?: undefined; + pattern?: undefined; + validator?: undefined; + } | { + max: number | undefined; + message: string; + required?: undefined; + pattern?: undefined; + min?: undefined; + validator?: undefined; + } | { + min: number | undefined; + message: string; + required?: undefined; + pattern?: undefined; + max?: undefined; + validator?: undefined; + } | { + validator: any; + required?: undefined; + message?: undefined; + pattern?: undefined; + min?: undefined; + max?: undefined; + } | { + required?: undefined; + message?: undefined; + pattern?: undefined; + min?: undefined; + max?: undefined; + validator?: undefined; + } | undefined; + updateFieldOption(fieldName: string, metaData: import("./types").IFieldMetaValue, isBeforeMount?: boolean): Promise; + initShowFieldList(v: any, oldV?: any): Promise; + initCascadeData(needFreshCascadeField: string[]): Promise; + initData(): Promise; + initFormItem(): void; + initRule(isBeforeMount?: boolean): void; + init(): Promise; + initForm(fieldName: string, value: any): void; + }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("ok" | "cancel" | "formModelChange")[], "ok" | "cancel" | "formModelChange", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly> & { + onOk?: ((...args: any[]) => any) | undefined; + onCancel?: ((...args: any[]) => any) | undefined; + onFormModelChange?: ((...args: any[]) => any) | undefined; + }, {}>; +}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "cancel"[], "cancel", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly> & { + onCancel?: ((...args: any[]) => any) | undefined; +}, {}>; +export default _sfc_main; diff --git a/UmTable/UmTable.vue.d.ts b/UmTable/UmTable.vue.d.ts new file mode 100644 index 0000000..1d622f5 --- /dev/null +++ b/UmTable/UmTable.vue.d.ts @@ -0,0 +1,600 @@ +import type { IToolbar, TEvent } from "./types"; +declare const _sfc_main: import("vue").DefineComponent<{ + style: { + type: null; + required: false; + }; + width: { + type: (NumberConstructor | StringConstructor)[]; + required: false; + default: string; + }; + data: { + type: ArrayConstructor; + required: true; + }; + toolbarOptions: { + type: ArrayConstructor; + required: false; + default: () => never[]; + }; + toolbarEvents: { + type: ArrayConstructor; + required: false; + default: () => never[]; + }; + otherParams: { + type: null; + required: false; + default: () => {}; + }; + searchParams: { + type: null; + required: false; + default: () => {}; + }; + rowKey: { + type: StringConstructor; + required: false; + default: string; + }; + defaultExpandAll: { + type: BooleanConstructor; + required: false; + default: boolean; + }; + treeProps: { + type: null; + required: false; + }; +}, { + props: any; + selection: import("vue").Ref; + onSelect: (rows: any[]) => void; + onSelectAll: (rows: any[]) => void; + ElTable: import("element-plus/es/utils").SFCWithInstall; + default: () => never[]; + }; + size: StringConstructor; + width: (NumberConstructor | StringConstructor)[]; + height: (NumberConstructor | StringConstructor)[]; + maxHeight: (NumberConstructor | StringConstructor)[]; + fit: { + type: BooleanConstructor; + default: boolean; + }; + stripe: BooleanConstructor; + border: BooleanConstructor; + rowKey: import("vue").PropType string) | undefined>; + showHeader: { + type: BooleanConstructor; + default: boolean; + }; + showSummary: BooleanConstructor; + sumText: StringConstructor; + summaryMethod: import("vue").PropType | undefined>; + rowClassName: import("vue").PropType | undefined>; + rowStyle: import("vue").PropType | undefined>; + cellClassName: import("vue").PropType; + columnIndex: number; + }) => string) | undefined>; + cellStyle: import("vue").PropType; + columnIndex: number; + }) => import("vue").CSSProperties) | undefined>; + headerRowClassName: import("vue").PropType | undefined>; + headerRowStyle: import("vue").PropType | undefined>; + headerCellClassName: import("vue").PropType; + columnIndex: number; + }) => string) | undefined>; + headerCellStyle: import("vue").PropType; + columnIndex: number; + }) => import("vue").CSSProperties) | undefined>; + highlightCurrentRow: BooleanConstructor; + currentRowKey: (NumberConstructor | StringConstructor)[]; + emptyText: StringConstructor; + expandRowKeys: import("vue").PropType; + defaultExpandAll: BooleanConstructor; + defaultSort: import("vue").PropType; + tooltipEffect: StringConstructor; + spanMethod: import("vue").PropType<((data: { + row: any; + rowIndex: number; + column: import("element-plus/es/components/table/src/table-column/defaults").TableColumnCtx; + columnIndex: number; + }) => number[] | { + rowspan: number; + colspan: number; + }) | undefined>; + selectOnIndeterminate: { + type: BooleanConstructor; + default: boolean; + }; + indent: { + type: NumberConstructor; + default: number; + }; + treeProps: { + type: import("vue").PropType<{ + hasChildren?: string | undefined; + children?: string | undefined; + } | undefined>; + default: () => { + hasChildren: string; + children: string; + }; + }; + lazy: BooleanConstructor; + load: import("vue").PropType<((row: any, treeNode: import("element-plus/es/components/table/src/table/defaults").TreeNode, resolve: (data: any[]) => void) => void) | undefined>; + style: { + type: import("vue").PropType; + default: () => {}; + }; + className: { + type: StringConstructor; + default: string; + }; + tableLayout: { + type: import("vue").PropType<"fixed" | "auto">; + default: string; + }; + scrollbarAlwaysOn: { + type: BooleanConstructor; + default: boolean; + }; + }, { + ns: { + namespace: import("vue").ComputedRef; + b: (blockSuffix?: string | undefined) => string; + e: (element?: string | undefined) => string; + m: (modifier?: string | undefined) => string; + be: (blockSuffix?: string | undefined, element?: string | undefined) => string; + em: (element?: string | undefined, modifier?: string | undefined) => string; + bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string; + bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string; + is: { + (name: string, state: boolean | undefined): string; + (name: string): string; + }; + }; + layout: import("element-plus/es/components/table/src/table-layout").default; + store: any; + handleHeaderFooterMousewheel: (event: any, data: any) => void; + handleMouseLeave: () => void; + tableId: string; + tableSize: import("vue").ComputedRef<"" | "default" | "small" | "large">; + isHidden: import("vue").Ref; + isEmpty: import("vue").ComputedRef; + renderExpanded: import("vue").Ref; + resizeProxyVisible: import("vue").Ref; + resizeState: import("vue").Ref<{ + width: null; + height: null; + }>; + isGroup: import("vue").Ref; + bodyWidth: import("vue").ComputedRef; + bodyHeight: import("vue").ComputedRef<{ + height: string; + 'max-height'?: undefined; + } | { + 'max-height': string; + height?: undefined; + } | { + height?: undefined; + 'max-height'?: undefined; + }>; + height: import("vue").ComputedRef; + tableBodyStyles: import("vue").ComputedRef<{ + width: string; + }>; + emptyBlockStyle: import("vue").ComputedRef<{ + width: string; + height: string; + } | null>; + debouncedUpdateLayout: import("lodash").DebouncedFunc<() => void>; + handleFixedMousewheel: (event: any, data: any) => void; + fixedHeight: import("vue").ComputedRef<{ + bottom: number; + height?: undefined; + } | { + bottom: string; + height?: undefined; + } | { + height: string; + bottom?: undefined; + }>; + fixedBodyHeight: import("vue").ComputedRef<{ + height: string; + 'max-height'?: undefined; + } | { + 'max-height': string; + height?: undefined; + } | { + height?: undefined; + 'max-height'?: undefined; + }>; + setCurrentRow: (row: any) => void; + getSelectionRows: () => any; + toggleRowSelection: (row: any, selected: boolean) => void; + clearSelection: () => void; + clearFilter: (columnKeys: string[]) => void; + toggleAllSelection: () => void; + toggleRowExpansion: (row: any, expanded: boolean) => void; + clearSort: () => void; + doLayout: () => void; + sort: (prop: string, order: string) => void; + t: import("element-plus").Translator; + setDragVisible: (visible: boolean) => void; + context: import("element-plus/es/components/table/src/table/defaults").Table; + computedSumText: import("vue").ComputedRef; + computedEmptyText: import("vue").ComputedRef; + tableLayout: import("vue").ComputedRef<"fixed" | "auto">; + scrollbarViewStyle: { + display: string; + verticalAlign: string; + }; + scrollBarRef: import("vue").Ref; + scrollTo: (options: number | ScrollToOptions, yCoord?: number | undefined) => void; + setScrollLeft: (left?: number | undefined) => void; + setScrollTop: (top?: number | undefined) => void; + }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("select" | "select-all" | "expand-change" | "current-change" | "selection-change" | "cell-mouse-enter" | "cell-mouse-leave" | "cell-contextmenu" | "cell-click" | "cell-dblclick" | "row-click" | "row-contextmenu" | "row-dblclick" | "header-click" | "header-contextmenu" | "sort-change" | "filter-change" | "header-dragend")[], "select" | "select-all" | "expand-change" | "current-change" | "selection-change" | "cell-mouse-enter" | "cell-mouse-leave" | "cell-contextmenu" | "cell-click" | "cell-dblclick" | "row-click" | "row-contextmenu" | "row-dblclick" | "header-click" | "header-contextmenu" | "sort-change" | "filter-change" | "header-dragend", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly; + default: () => never[]; + }; + size: StringConstructor; + width: (NumberConstructor | StringConstructor)[]; + height: (NumberConstructor | StringConstructor)[]; + maxHeight: (NumberConstructor | StringConstructor)[]; + fit: { + type: BooleanConstructor; + default: boolean; + }; + stripe: BooleanConstructor; + border: BooleanConstructor; + rowKey: import("vue").PropType string) | undefined>; + showHeader: { + type: BooleanConstructor; + default: boolean; + }; + showSummary: BooleanConstructor; + sumText: StringConstructor; + summaryMethod: import("vue").PropType | undefined>; + rowClassName: import("vue").PropType | undefined>; + rowStyle: import("vue").PropType | undefined>; + cellClassName: import("vue").PropType; + columnIndex: number; + }) => string) | undefined>; + cellStyle: import("vue").PropType; + columnIndex: number; + }) => import("vue").CSSProperties) | undefined>; + headerRowClassName: import("vue").PropType | undefined>; + headerRowStyle: import("vue").PropType | undefined>; + headerCellClassName: import("vue").PropType; + columnIndex: number; + }) => string) | undefined>; + headerCellStyle: import("vue").PropType; + columnIndex: number; + }) => import("vue").CSSProperties) | undefined>; + highlightCurrentRow: BooleanConstructor; + currentRowKey: (NumberConstructor | StringConstructor)[]; + emptyText: StringConstructor; + expandRowKeys: import("vue").PropType; + defaultExpandAll: BooleanConstructor; + defaultSort: import("vue").PropType; + tooltipEffect: StringConstructor; + spanMethod: import("vue").PropType<((data: { + row: any; + rowIndex: number; + column: import("element-plus/es/components/table/src/table-column/defaults").TableColumnCtx; + columnIndex: number; + }) => number[] | { + rowspan: number; + colspan: number; + }) | undefined>; + selectOnIndeterminate: { + type: BooleanConstructor; + default: boolean; + }; + indent: { + type: NumberConstructor; + default: number; + }; + treeProps: { + type: import("vue").PropType<{ + hasChildren?: string | undefined; + children?: string | undefined; + } | undefined>; + default: () => { + hasChildren: string; + children: string; + }; + }; + lazy: BooleanConstructor; + load: import("vue").PropType<((row: any, treeNode: import("element-plus/es/components/table/src/table/defaults").TreeNode, resolve: (data: any[]) => void) => void) | undefined>; + style: { + type: import("vue").PropType; + default: () => {}; + }; + className: { + type: StringConstructor; + default: string; + }; + tableLayout: { + type: import("vue").PropType<"fixed" | "auto">; + default: string; + }; + scrollbarAlwaysOn: { + type: BooleanConstructor; + default: boolean; + }; + }>> & { + onSelect?: ((...args: any[]) => any) | undefined; + "onExpand-change"?: ((...args: any[]) => any) | undefined; + "onCurrent-change"?: ((...args: any[]) => any) | undefined; + "onSelect-all"?: ((...args: any[]) => any) | undefined; + "onSelection-change"?: ((...args: any[]) => any) | undefined; + "onCell-mouse-enter"?: ((...args: any[]) => any) | undefined; + "onCell-mouse-leave"?: ((...args: any[]) => any) | undefined; + "onCell-contextmenu"?: ((...args: any[]) => any) | undefined; + "onCell-click"?: ((...args: any[]) => any) | undefined; + "onCell-dblclick"?: ((...args: any[]) => any) | undefined; + "onRow-click"?: ((...args: any[]) => any) | undefined; + "onRow-contextmenu"?: ((...args: any[]) => any) | undefined; + "onRow-dblclick"?: ((...args: any[]) => any) | undefined; + "onHeader-click"?: ((...args: any[]) => any) | undefined; + "onHeader-contextmenu"?: ((...args: any[]) => any) | undefined; + "onSort-change"?: ((...args: any[]) => any) | undefined; + "onFilter-change"?: ((...args: any[]) => any) | undefined; + "onHeader-dragend"?: ((...args: any[]) => any) | undefined; + }, { + data: any[]; + lazy: boolean; + style: import("vue").CSSProperties; + className: string; + tableLayout: "fixed" | "auto"; + border: boolean; + fit: boolean; + scrollbarAlwaysOn: boolean; + stripe: boolean; + treeProps: { + hasChildren?: string | undefined; + children?: string | undefined; + } | undefined; + showHeader: boolean; + showSummary: boolean; + highlightCurrentRow: boolean; + defaultExpandAll: boolean; + selectOnIndeterminate: boolean; + indent: number; + }>> & { + TableColumn: import("vue").DefineComponent<{ + type: { + type: StringConstructor; + default: string; + }; + label: StringConstructor; + className: StringConstructor; + labelClassName: StringConstructor; + property: StringConstructor; + prop: StringConstructor; + width: { + type: (NumberConstructor | StringConstructor)[]; + default: string; + }; + minWidth: { + type: (NumberConstructor | StringConstructor)[]; + default: string; + }; + renderHeader: import("vue").PropType<(data: { + column: import("element-plus/es/components/table/src/table-column/defaults").TableColumnCtx; + $index: number; + }) => import("vue").VNode>; + sortable: { + type: (BooleanConstructor | StringConstructor)[]; + default: boolean; + }; + sortMethod: import("vue").PropType<(a: any, b: any) => number>; + sortBy: import("vue").PropType string)>; + resizable: { + type: BooleanConstructor; + default: boolean; + }; + columnKey: StringConstructor; + align: StringConstructor; + headerAlign: StringConstructor; + showTooltipWhenOverflow: BooleanConstructor; + showOverflowTooltip: BooleanConstructor; + fixed: (BooleanConstructor | StringConstructor)[]; + formatter: import("vue").PropType<(row: any, column: import("element-plus/es/components/table/src/table-column/defaults").TableColumnCtx, cellValue: any, index: number) => string | import("vue").VNode>; + selectable: import("vue").PropType<(row: any, index: number) => boolean>; + reserveSelection: BooleanConstructor; + filterMethod: import("vue").PropType>; + filteredValue: import("vue").PropType; + filters: import("vue").PropType; + filterPlacement: StringConstructor; + filterMultiple: { + type: BooleanConstructor; + default: boolean; + }; + index: import("vue").PropType number)>; + sortOrders: { + type: import("vue").PropType<("ascending" | "descending" | null)[]>; + default: () => (string | null)[]; + validator: (val: ("ascending" | "descending" | null)[]) => boolean; + }; + }, void, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly; + $index: number; + }) => import("vue").VNode>; + sortable: { + type: (BooleanConstructor | StringConstructor)[]; + default: boolean; + }; + sortMethod: import("vue").PropType<(a: any, b: any) => number>; + sortBy: import("vue").PropType string)>; + resizable: { + type: BooleanConstructor; + default: boolean; + }; + columnKey: StringConstructor; + align: StringConstructor; + headerAlign: StringConstructor; + showTooltipWhenOverflow: BooleanConstructor; + showOverflowTooltip: BooleanConstructor; + fixed: (BooleanConstructor | StringConstructor)[]; + formatter: import("vue").PropType<(row: any, column: import("element-plus/es/components/table/src/table-column/defaults").TableColumnCtx, cellValue: any, index: number) => string | import("vue").VNode>; + selectable: import("vue").PropType<(row: any, index: number) => boolean>; + reserveSelection: BooleanConstructor; + filterMethod: import("vue").PropType>; + filteredValue: import("vue").PropType; + filters: import("vue").PropType; + filterPlacement: StringConstructor; + filterMultiple: { + type: BooleanConstructor; + default: boolean; + }; + index: import("vue").PropType number)>; + sortOrders: { + type: import("vue").PropType<("ascending" | "descending" | null)[]>; + default: () => (string | null)[]; + validator: (val: ("ascending" | "descending" | null)[]) => boolean; + }; + }>>, { + type: string; + width: string | number; + minWidth: string | number; + sortOrders: ("ascending" | "descending" | null)[]; + sortable: string | boolean; + resizable: boolean; + showTooltipWhenOverflow: boolean; + showOverflowTooltip: boolean; + reserveSelection: boolean; + filterMultiple: boolean; + }>; + }; + UmTableToolbar: import("vue").DefineComponent<{ + data: IToolbar[]; + events: TEvent[]; + selection: any[]; + otherParams: any; + searchParams: any; + }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{ + data: IToolbar[]; + events: TEvent[]; + selection: any[]; + otherParams: any; + searchParams: any; + }>, { + otherParams: any; + searchParams: any; + }>; +}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly never[]; + }; + toolbarEvents: { + type: ArrayConstructor; + required: false; + default: () => never[]; + }; + otherParams: { + type: null; + required: false; + default: () => {}; + }; + searchParams: { + type: null; + required: false; + default: () => {}; + }; + rowKey: { + type: StringConstructor; + required: false; + default: string; + }; + defaultExpandAll: { + type: BooleanConstructor; + required: false; + default: boolean; + }; + treeProps: { + type: null; + required: false; + }; +}>>, { + width: string | number; + otherParams: any; + searchParams: any; + toolbarOptions: unknown[]; + toolbarEvents: unknown[]; + rowKey: string; + defaultExpandAll: boolean; +}>; +export default _sfc_main; diff --git a/UmTable/UmTableColumn.vue.d.ts b/UmTable/UmTableColumn.vue.d.ts new file mode 100644 index 0000000..ae02e8a --- /dev/null +++ b/UmTable/UmTableColumn.vue.d.ts @@ -0,0 +1,341 @@ +import type { IOperateItem, TColumnRender, tFieldType } from "./types"; +declare const _sfc_main: import("vue").DefineComponent<{ + type: { + type: null; + required: false; + }; + fieldType: { + type: null; + required: false; + default: string; + }; + prop: { + type: StringConstructor; + required: false; + default: string; + }; + label: { + type: StringConstructor; + required: false; + }; + width: { + type: (NumberConstructor | StringConstructor)[]; + required: false; + default: number; + }; + minWidth: { + type: (NumberConstructor | StringConstructor)[]; + required: false; + }; + showOverflowTooltip: { + type: BooleanConstructor; + required: false; + }; + operateItems: { + type: ArrayConstructor; + required: false; + default: () => never[]; + }; + expandTemplate: { + type: null; + required: false; + }; + columnRender: { + type: null; + required: false; + }; + dateFormat: { + type: StringConstructor; + required: false; + }; + isShow: { + type: FunctionConstructor; + required: false; + }; +}, { + props: any; + resolvedLabel: import("vue").ComputedRef; + ElTableColumn: import("element-plus/es/utils").SFCWithInstall; + $index: number; + }) => import("vue").VNode>; + sortable: { + type: (BooleanConstructor | StringConstructor)[]; + default: boolean; + }; + sortMethod: import("vue").PropType<(a: any, b: any) => number>; + sortBy: import("vue").PropType string)>; + resizable: { + type: BooleanConstructor; + default: boolean; + }; + columnKey: StringConstructor; + align: StringConstructor; + headerAlign: StringConstructor; + showTooltipWhenOverflow: BooleanConstructor; + showOverflowTooltip: BooleanConstructor; + fixed: (BooleanConstructor | StringConstructor)[]; + formatter: import("vue").PropType<(row: any, column: import("element-plus/es/components/table/src/table-column/defaults").TableColumnCtx, cellValue: any, index: number) => string | import("vue").VNode>; + selectable: import("vue").PropType<(row: any, index: number) => boolean>; + reserveSelection: BooleanConstructor; + filterMethod: import("vue").PropType>; + filteredValue: import("vue").PropType; + filters: import("vue").PropType; + filterPlacement: StringConstructor; + filterMultiple: { + type: BooleanConstructor; + default: boolean; + }; + index: import("vue").PropType number)>; + sortOrders: { + type: import("vue").PropType<("ascending" | "descending" | null)[]>; + default: () => (string | null)[]; + validator: (val: ("ascending" | "descending" | null)[]) => boolean; + }; + }, void, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly; + $index: number; + }) => import("vue").VNode>; + sortable: { + type: (BooleanConstructor | StringConstructor)[]; + default: boolean; + }; + sortMethod: import("vue").PropType<(a: any, b: any) => number>; + sortBy: import("vue").PropType string)>; + resizable: { + type: BooleanConstructor; + default: boolean; + }; + columnKey: StringConstructor; + align: StringConstructor; + headerAlign: StringConstructor; + showTooltipWhenOverflow: BooleanConstructor; + showOverflowTooltip: BooleanConstructor; + fixed: (BooleanConstructor | StringConstructor)[]; + formatter: import("vue").PropType<(row: any, column: import("element-plus/es/components/table/src/table-column/defaults").TableColumnCtx, cellValue: any, index: number) => string | import("vue").VNode>; + selectable: import("vue").PropType<(row: any, index: number) => boolean>; + reserveSelection: BooleanConstructor; + filterMethod: import("vue").PropType>; + filteredValue: import("vue").PropType; + filters: import("vue").PropType; + filterPlacement: StringConstructor; + filterMultiple: { + type: BooleanConstructor; + default: boolean; + }; + index: import("vue").PropType number)>; + sortOrders: { + type: import("vue").PropType<("ascending" | "descending" | null)[]>; + default: () => (string | null)[]; + validator: (val: ("ascending" | "descending" | null)[]) => boolean; + }; + }>>, { + type: string; + width: string | number; + minWidth: string | number; + sortOrders: ("ascending" | "descending" | null)[]; + sortable: string | boolean; + resizable: boolean; + showTooltipWhenOverflow: boolean; + showOverflowTooltip: boolean; + reserveSelection: boolean; + filterMultiple: boolean; + }>>; + UmColumnRender: import("vue").DefineComponent<{ + fieldType: { + type: import("vue").PropType; + default: string; + }; + data: { + type: import("vue").PropType>; + default: () => {}; + }; + prop: { + type: StringConstructor; + default: string; + }; + render: { + type: import("vue").PropType; + default: undefined; + }; + dateFormat: { + type: StringConstructor; + default: undefined; + }; + isShow: { + type: import("vue").PropType<(data: any) => boolean | Promise>; + default: undefined; + }; + }, unknown, { + visible: boolean; + }, {}, { + refreshVisible(): Promise; + }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly; + default: string; + }; + data: { + type: import("vue").PropType>; + default: () => {}; + }; + prop: { + type: StringConstructor; + default: string; + }; + render: { + type: import("vue").PropType; + default: undefined; + }; + dateFormat: { + type: StringConstructor; + default: undefined; + }; + isShow: { + type: import("vue").PropType<(data: any) => boolean | Promise>; + default: undefined; + }; + }>>, { + data: Record; + fieldType: tFieldType; + prop: string; + dateFormat: string; + isShow: (data: any) => boolean | Promise; + render: TColumnRender; + }>; + UmTableOperate: import("vue").DefineComponent<{ + items: { + type: import("vue").PropType; + default: () => never[]; + }; + rowId: { + type: import("vue").PropType; + default: string; + }; + rowData: { + type: import("vue").PropType; + default: () => {}; + }; + }, unknown, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly; + default: () => never[]; + }; + rowId: { + type: import("vue").PropType; + default: string; + }; + rowData: { + type: import("vue").PropType; + default: () => {}; + }; + }>>, { + items: IOperateItem[]; + rowId: string | number; + rowData: any; + }>; +}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly never[]; + }; + expandTemplate: { + type: null; + required: false; + }; + columnRender: { + type: null; + required: false; + }; + dateFormat: { + type: StringConstructor; + required: false; + }; + isShow: { + type: FunctionConstructor; + required: false; + }; +}>>, { + width: string | number; + fieldType: any; + prop: string; + showOverflowTooltip: boolean; + operateItems: unknown[]; +}>; +export default _sfc_main; diff --git a/UmTable/UmTableDialog.vue.d.ts b/UmTable/UmTableDialog.vue.d.ts new file mode 100644 index 0000000..26f71c0 --- /dev/null +++ b/UmTable/UmTableDialog.vue.d.ts @@ -0,0 +1,58 @@ +import type { PropType } from "vue"; +declare const _sfc_main: import("vue").DefineComponent<{ + modelValue: { + type: BooleanConstructor; + default: boolean; + }; + title: { + type: StringConstructor; + default: string; + }; + /** 弹窗内容,可以是 VNode、字符串或组件 */ + content: { + type: PropType; + default: null; + }; + width: { + type: (NumberConstructor | StringConstructor)[]; + default: number; + }; + /** 是否显示默认的取消/确定 footer */ + footer: { + type: BooleanConstructor; + default: boolean; + }; +}, unknown, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("update:modelValue" | "ok")[], "update:modelValue" | "ok", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly; + default: null; + }; + width: { + type: (NumberConstructor | StringConstructor)[]; + default: number; + }; + /** 是否显示默认的取消/确定 footer */ + footer: { + type: BooleanConstructor; + default: boolean; + }; +}>> & { + onOk?: ((...args: any[]) => any) | undefined; + "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined; +}, { + footer: boolean; + title: string; + width: string | number; + modelValue: boolean; + content: any; +}>; +export default _sfc_main; diff --git a/UmTable/UmTableForm.vue.d.ts b/UmTable/UmTableForm.vue.d.ts new file mode 100644 index 0000000..427c21a --- /dev/null +++ b/UmTable/UmTableForm.vue.d.ts @@ -0,0 +1,99 @@ +import type { IFormRule, IFieldMetaValue } from "./types"; +declare const _sfc_main: import("vue").DefineComponent<{}, { + formModel: import("vue").Ref<{ + [x: string]: any; + }>; + setFormModel: (models: any) => void; +}, { + rules: Record; + formItems: any[]; + fieldOption: Map; + /** label 默认宽度 */ + maxLabelWidth: number; + /** 当前需要显示的字段 */ + showList: string[]; + /** 级联关系:改 A 字段要刷新它的 cascadeFiled 列表 */ + cascadeMap: Map; + /** 表单刷新按 100ms 合并,避免连续输入时反复重建整个表单 */ + throttleRefreshForm: import("lodash").DebouncedFunc<(this: any, v: any, oldV: any, needFreshCascadeField: string[]) => Promise>; +}, { + formCom(): import("vue").VNode | null; +}, { + refreshForm(v: any, oldV: any, needFreshCascadeField: string[]): Promise; + onSubmit(): Promise; + /** 把 `IFormRule` 翻译成 element-plus 的 FormItemRule */ + getRule(rule: IFormRule): { + required: boolean; + message: string | undefined; + pattern?: undefined; + min?: undefined; + max?: undefined; + validator?: undefined; + } | { + pattern: RegExp; + message: string; + required?: undefined; + min?: undefined; + max?: undefined; + validator?: undefined; + } | { + min: number | undefined; + max: number | undefined; + message: string; + required?: undefined; + pattern?: undefined; + validator?: undefined; + } | { + max: number | undefined; + message: string; + required?: undefined; + pattern?: undefined; + min?: undefined; + validator?: undefined; + } | { + min: number | undefined; + message: string; + required?: undefined; + pattern?: undefined; + max?: undefined; + validator?: undefined; + } | { + validator: any; + required?: undefined; + message?: undefined; + pattern?: undefined; + min?: undefined; + max?: undefined; + } | { + required?: undefined; + message?: undefined; + pattern?: undefined; + min?: undefined; + max?: undefined; + validator?: undefined; + } | undefined; + /** 取回字段的候选数据(下拉 / 树),并在需要时重置级联字段的值 */ + updateFieldOption(fieldName: string, metaData: IFieldMetaValue, isBeforeMount?: boolean): Promise; + /** + * 初始化需要显示的字段。 + * 隐藏的字段会把当前值暂存到 `$ref:` 并置空,重新显示时还原。 + */ + initShowFieldList(v: any, oldV?: any): Promise; + /** 刷新级联字段的候选数据 */ + initCascadeData(needFreshCascadeField: string[]): Promise; + /** 首次进入时把所有字段的候选数据取回来 */ + initData(): Promise; + initFormItem(): void; + /** 根据字段元数据计算校验规则、初始化表单值、并算出最宽的 label */ + initRule(isBeforeMount?: boolean): void; + init(): Promise; + /** 单字段赋值:整体替换对象,触发父层的 formModel watch */ + initForm(fieldName: string, value: any): void; +}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("ok" | "cancel" | "formModelChange")[], "ok" | "cancel" | "formModelChange", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly> & { + onOk?: ((...args: any[]) => any) | undefined; + onCancel?: ((...args: any[]) => any) | undefined; + onFormModelChange?: ((...args: any[]) => any) | undefined; +}, {}>; +export default _sfc_main; diff --git a/UmTable/UmTableForm/Upload.vue.d.ts b/UmTable/UmTableForm/Upload.vue.d.ts new file mode 100644 index 0000000..2590bc2 --- /dev/null +++ b/UmTable/UmTableForm/Upload.vue.d.ts @@ -0,0 +1,34 @@ +declare const _sfc_main: import("vue").DefineComponent<{ + modelValue: { + type: StringConstructor; + required: true; + }; + accept: { + type: StringConstructor; + required: false; + default: string; + }; +}, { + props: any; + emit: (n: "update:modelValue", url: string) => void; + imageUrl: import("vue").Ref; + handleAvatarSuccess: (res: any, file: any) => void; + beforeAvatarUpload: (file: any) => boolean; + onHttpRequest: (option: any) => Promise; + Plus: any; +}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:modelValue"[], "update:modelValue", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly> & { + "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined; +}, { + accept: string; +}>; +export default _sfc_main; diff --git a/UmTable/UmTableOperate.vue.d.ts b/UmTable/UmTableOperate.vue.d.ts new file mode 100644 index 0000000..2420872 --- /dev/null +++ b/UmTable/UmTableOperate.vue.d.ts @@ -0,0 +1,40 @@ +import type { PropType } from "vue"; +import type { IOperateItem } from "./types"; +declare const _sfc_main: import("vue").DefineComponent<{ + /** 操作按钮描述 */ + items: { + type: PropType; + default: () => never[]; + }; + /** 当前行的 id */ + rowId: { + type: PropType; + default: string; + }; + /** 当前行的完整数据 */ + rowData: { + type: PropType; + default: () => {}; + }; +}, unknown, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly; + default: () => never[]; + }; + /** 当前行的 id */ + rowId: { + type: PropType; + default: string; + }; + /** 当前行的完整数据 */ + rowData: { + type: PropType; + default: () => {}; + }; +}>>, { + items: IOperateItem[]; + rowId: string | number; + rowData: any; +}>; +export default _sfc_main; diff --git a/UmTable/UmTableToolbar.vue.d.ts b/UmTable/UmTableToolbar.vue.d.ts new file mode 100644 index 0000000..1f7e563 --- /dev/null +++ b/UmTable/UmTableToolbar.vue.d.ts @@ -0,0 +1,18 @@ +import type { IToolbar, TEvent } from "./types"; +declare const _sfc_main: import("vue").DefineComponent<{ + data: IToolbar[]; + events: TEvent[]; + selection: any[]; + otherParams: any; + searchParams: any; +}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{ + data: IToolbar[]; + events: TEvent[]; + selection: any[]; + otherParams: any; + searchParams: any; +}>, { + otherParams: any; + searchParams: any; +}>; +export default _sfc_main; diff --git a/UmTable/core/columns.d.ts b/UmTable/core/columns.d.ts new file mode 100644 index 0000000..b44d50a --- /dev/null +++ b/UmTable/core/columns.d.ts @@ -0,0 +1,80 @@ +import type { VNode } from "vue"; +import type { IToolbar, TDecoratorKey, TEvent, TOperateType } from "../types"; +import { type IEventTask, type TFireHook } from "./events"; +/** + * 列 / 操作列 / 工具栏的装配逻辑。 + * + * 改造前这段"扫描类元数据 -> 拼 h() 节点 -> 造事件闭包"的代码 + * 全写在 UmByClass.vue 的 render() 里(200+ 行), + * 每次渲染都要重建一遍,且无法复用、无法单测。这里抽成纯函数。 + */ +/** 收集数据列 VNode(按 sort 升序) */ +export declare const collectDataColumns: (target: any) => VNode[]; +/** 操作列分组:同一 id(缺省用 type)的多个方法会聚合到同一个按钮上 */ +export interface IOperateGroup { + type: TOperateType; + sort: number; + title?: any; + isShow?: (rowData: any) => boolean; + tasks: IEventTask[]; +} +/** + * 按 id(缺省用 type)聚合操作列配置。 + * + * 说明:`@TableColumnMethodDecorator` 允许给多个方法配同一个 `type`, + * 分别声明 `es: "onBefore" / "onNow" / "onAfter"`,运行时串成一条链, + * 从而做到"先取详情 -> 再弹窗 -> 最后提交"。 + */ +export declare const collectOperateGroups: (target: any) => IOperateGroup[]; +/** + * 是否需要渲染操作列。 + * + * 原判断:`(operates.length > 0 && !targetInstance.isShowOperate) || targetInstance?.isShowOperate?.()` + * - 存在操作按钮但 `isShowOperate()` 返回 false 时,因为 `!undefined` 为真仍会渲染出空操作列; + * - 没有操作按钮但 `isShowOperate()` 返回 true 时会渲染出一个空列。 + * 这里改成明确的语义:有按钮 && (未配置 isShowOperate 或其为真)。 + */ +export declare const resolveShowOperate: (target: any, hasOperate: boolean) => boolean; +/** 解析操作列宽度(支持实例属性与类静态属性两种写法) */ +export declare const resolveOperateWidth: (target: any, fallback?: number | string) => number | string; +export interface IBuildOperateColumnOptions { + fire: TFireHook; + /** 透传给操作事件的行数据集合 */ + tableData?: any[]; + width?: number | string; + /** 需要延后执行 onAfter 的按钮类型,见 IDeferOptions */ + deferAfterTypes?: string[]; +} +/** + * 默认的"弹窗确认型"按钮类型。 + * + * 这些按钮的 `onAfter` 会被摘出主事件链,由组件在弹窗给出结果后补跑。 + * 单独抽成常量是为了让配置体检(`./diagnose`)和组件用同一份清单判断 + * "这个按钮是不是应该有 onAfter" —— 两边各写一份字符串迟早会对不上。 + */ +export declare const DEFAULT_DEFER_TYPES: string[]; +/** 生成操作列 VNode;没有操作按钮时返回 null */ +export declare const buildOperateColumn: (groups: IOperateGroup[], options: IBuildOperateColumnOptions) => VNode | null; +/** 工具栏收集结果 */ +export interface IToolbarCollectResult { + toolbars: IToolbar[]; + events: TEvent[]; +} +/** + * 收集某个装饰器下、指定 `type` 的全部方法,按优先级降序返回。 + * + * 用于"弹窗确定后补跑 onAfter"这类只需要部分阶段的场景: + * 同一个按钮的多个方法(不同 `es`)都要收进来,但只执行其中某几个阶段。 + */ +export declare const collectTypedTasks: (target: any, decoratorKey: TDecoratorKey, type: string) => IEventTask[]; +/** + * 收集工具栏按钮与对应事件。 + * + * 关于 `rerunOnAfterFalsy`:原实现靠它实现"弹窗被取消 / 接口失败后重来一轮", + * 但事件链在 onAfter 返回假值时会用 `i -= 2` 回到第一阶段,若业务方法持续返回假值 + * 就会把弹窗反复重开。改造后弹窗改为"挂起事件链、确认后再继续"(见 deferAfterTypes), + * 不再需要这个重跑机制,这里默认关闭,只在显式要求时启用。 + */ +export declare const collectToolbar: (target: any, fire: TFireHook, options?: { + deferAfterTypes?: string[]; +}) => IToolbarCollectResult; diff --git a/UmTable/core/diagnose.d.ts b/UmTable/core/diagnose.d.ts new file mode 100644 index 0000000..2dadcb6 --- /dev/null +++ b/UmTable/core/diagnose.d.ts @@ -0,0 +1,45 @@ +/** + * 配置体检。 + * + * 装饰器驱动这套写法的最大代价是"错误是静默的":字符串写错、装饰器挂错位置、 + * 少写一个阶段,编译不报错、运行也不抛异常,只是功能没生效。使用方看到的现象 + * 永远是"点了没反应",然后去找组件的 bug —— 而问题在他的配置类里。 + * + * 这个模块把常见的配置失误在组件挂载时一次性报出来,让静默的失败变成一条 + * 指得出位置的警告。它只读元数据、不改行为,报错也不阻断渲染。 + */ +export type TDiagnosticLevel = "error" | "warn"; +export interface IDiagnostic { + level: TDiagnosticLevel; + /** 规则名,便于单测断言与按需忽略 */ + code: string; + /** 出问题的成员(属性名 / 方法名 / 按钮类型),用于定位 */ + member?: string; + /** 一句话结论 */ + message: string; + /** 具体怎么改 */ + hint?: string; +} +export interface IDiagnoseOptions { + /** + * 需要"弹窗确认后才提交"的按钮类型,缺省用 `DEFAULT_DEFER_TYPES`。 + * 传了就以传入的为准(组件会把自己的 `defer-after-types` 传进来)。 + */ + deferAfterTypes?: string[]; + /** 是否要求存在 `getList`(`UmByClassEnhance` 场景传 true) */ + requireGetList?: boolean; +} +/** + * 检查一个配置类,返回全部发现的问题(按 error -> warn、再按成员名排序)。 + * 只读,不产生任何副作用。 + */ +export declare const diagnoseTarget: (target: any, options?: IDiagnoseOptions) => IDiagnostic[]; +export declare const setDiagnosticsEnabled: (enabled: boolean) => void; +export declare const isDiagnosticsEnabled: () => boolean; +export interface IReportOptions extends IDiagnoseOptions { + /** 本次是否上报(组件会把 `:diagnose="false"` 传进来) */ + enabled?: boolean; +} +/** 把诊断结果打到控制台,并原样返回,便于使用方自行处理 */ +export declare const reportDiagnostics: (target: any, options?: IReportOptions) => IDiagnostic[]; +export declare const reportDiagnosticsOnce: (target: any, options?: IReportOptions) => IDiagnostic[]; diff --git a/UmTable/core/events.d.ts b/UmTable/core/events.d.ts new file mode 100644 index 0000000..4637573 --- /dev/null +++ b/UmTable/core/events.d.ts @@ -0,0 +1,68 @@ +import type { TExecutionSequence, TMethodMetaValue } from "../types"; +/** + * 事件链执行器。 + * + * 改造前"按 priority 排序 -> 按 es 分阶段 -> 依次 await"这套逻辑 + * 在 UmByClass(操作列 / 工具栏)和 UmByClassEnhance(弹窗确认)里被复制了 3 份, + * 参数顺序、是否透传行数据、是否支持重跑都各不相同。这里统一。 + */ +/** 一个待执行的事件 */ +export interface IEventTask { + event: (...args: any[]) => any; + meta: TMethodMetaValue; +} +/** 阶段顺序 */ +export declare const EVENT_PHASES: TExecutionSequence[]; +/** 按优先级排序(数字越大越先执行),不修改入参数组 */ +export declare const sortTasksByPriority: (tasks: IEventTask[]) => IEventTask[]; +/** + * 阶段之间的钩子,把控制权交回业务组件(弹窗、消息提示等都挂在这里)。 + * - `data`:当前累积的数据 + * - `type`:按钮类型("添加" / "edit" / "del" / "批量删除" ...),业务侧据此分支 + * - `phase`:当前阶段 + * - `meta`:该阶段第一个事件的元数据 + * @returns 处理后的数据,作为下一阶段的输入 + */ +export type TFireHook = (data: any, type: string, phase: TExecutionSequence, meta?: TMethodMetaValue) => Promise | any; +export interface IRunEventPipelineOptions { + tasks: IEventTask[]; + /** 原始入参,恒作为每个事件的第一个参数 */ + rowId: any; + /** + * "当前数据"(第二个参数,也是 fire 钩子拿到的 `data`)的初始值, + * 缺省等于 `rowId`。 + * + * 操作列会把整行数据作为初始值传进来:行数据通常已经是完整的, + * 组件不应该强迫使用方再写一个 `es: "onBefore"` 的方法去查一遍详情, + * 否则一旦漏写,`edit` 拿到的就只有一个行 id,表单会静默变成空的。 + */ + initial?: any; + /** 按钮类型,透传给 fire 钩子 */ + type: string; + /** 阶段间的钩子 */ + fire: TFireHook; + /** 透传给事件的额外参数(如整表数据) */ + extra?: any[]; + /** + * 只执行指定阶段(默认按 onBefore -> onNow -> onAfter 全跑)。 + * 弹窗"确定"时只需要补跑 onAfter,用这个参数收窄。 + */ + phases?: TExecutionSequence[]; + /** + * onAfter 返回假值时是否回到第一阶段重跑。 + * 原 UmByClass 工具栏分支用 `i -= 2` 实现,一旦事件始终返回假值会死循环卡死页面, + * 这里保留该行为但加上最大重跑次数保护。 + */ + rerunOnAfterFalsy?: boolean; + maxRerun?: number; +} +/** + * 依次执行 onBefore -> onNow -> onAfter。 + * + * 事件签名固定为 `(rowId, currentData, meta, ...extra)`: + * - `rowId`:原始入参(行 id / 选中项),恒定不变; + * - `currentData`:上一个事件的返回值,同阶段多个事件形成"责任链"; + * - `meta`:该事件的元数据; + * - `...extra`:组件透传的额外数据(如整表数据)。 + */ +export declare function runEventPipeline(options: IRunEventPipelineOptions): Promise; diff --git a/UmTable/core/index.d.ts b/UmTable/core/index.d.ts new file mode 100644 index 0000000..bfcad6d --- /dev/null +++ b/UmTable/core/index.d.ts @@ -0,0 +1,8 @@ +/** + * UmTable 组件族的内核:类元数据读取 / 事件链执行 / 列装配 / 配置体检。 + * 供有定制需求的使用方复用,无需重复实现反射扫描逻辑。 + */ +export * from "./meta"; +export * from "./events"; +export * from "./columns"; +export * from "./diagnose"; diff --git a/UmTable/core/meta.d.ts b/UmTable/core/meta.d.ts new file mode 100644 index 0000000..53dc739 --- /dev/null +++ b/UmTable/core/meta.d.ts @@ -0,0 +1,73 @@ +import type { TDecoratorKey } from "../types"; +/** + * 类元数据访问层。 + * + * 改造前,"实例化 target -> for...in 遍历 -> Reflect.getMetadata" + * 这套逻辑在 UmByClass / UmByClassEnhance / UmSearchForm / UmSearchFormEnhance / + * UmTableForm 里被复制了 8 次,每次细节还都略有出入(有的漏了 hasOwnProperty 判断, + * 有的用归一化名查、有的用原始名查),导致同一份配置在不同组件里表现不一致。 + * + * 这里收口成唯一实现。 + */ +/** 类实例上的一个成员 */ +export interface IClassMember { + /** 类上的原始属性名(可能带 `_` 前缀) */ + key: string; + /** 归一化名称:去掉 `_` 前缀,与后端字段名一致 */ + fieldName: string; + /** 成员的值 */ + value: any; + /** 是否为函数成员 */ + isMethod: boolean; +} +/** 带元数据的成员 */ +export type IDecoratedMember = IClassMember & { + meta: M; +}; +/** 去掉 `_` 前缀:`_foo` -> `foo` */ +export declare const normalizeFieldName: (key: string) => string; +/** + * 构造实例,用于读取"实例字段"上的装饰器元数据。 + * target 为空或不是构造函数时返回原值 / 空对象,避免抛错。 + */ +export declare const createTargetInstance: (target: any) => any; +/** + * 收集类实例上的全部成员(含原型链上的方法)。 + * + * 为什么要扫原型链:当 `useDefineForClassFields = false` 时, + * 无初始值的字段(如 `birthday: any;`)不会出现在实例上, + * 只靠 `for...in` 会漏掉这些字段对应的列。 + */ +export declare const collectClassMembers: (target: any) => IClassMember[]; +/** + * 读取某个成员上的装饰器元数据。 + * 先按归一化名查,再按原始名查,兼容两种书写习惯。 + */ +export declare const getMemberMeta: (target: any, decoratorKey: TDecoratorKey, member: Pick) => M | undefined; +/** + * 扫描出所有挂载了指定装饰器元数据的成员。 + * @param options.methods 是否是方法成员(默认 false,即取普通字段) + */ +export declare const scanDecoratedMembers: (target: any, decoratorKey: TDecoratorKey, options?: { + methods?: boolean; +}) => IDecoratedMember[]; +/** + * 在"接口原始数据"与"表单展示数据"之间做双向字段转换。 + * + * 约定:类上用 `_field` 存原始值,再通过 getter/setter `field` 暴露格式化后的值 + * (金额、日期、字典等)。原实现把这段转换在 UmByClassEnhance 里写了两遍 + * (打开弹窗时一遍、提交时一遍),且两遍取的属性名还不一致(一处取 `field`、 + * 一处取 `_field`),行为难以预期。这里统一为单一实现: + * - `in` :接口原始值 -> 表单展示值(走 getter) + * - `out`:表单展示值 -> 接口原始值(走 `_field`) + * + * @returns 转换后的同一份 data(便于链式调用) + */ +export declare const transformFields: (target: any, data: any, direction: "in" | "out") => any; +/** + * 按类型取出某个方法元数据(早退版本,避免每次全量扫描后才 return) + */ +export declare const findMethodMeta: (target: any, decoratorKey: TDecoratorKey, type: string) => { + meta: any; + member: IDecoratedMember; +} | null; diff --git a/UmTable/index.d.ts b/UmTable/index.d.ts new file mode 100644 index 0000000..7b9ec29 --- /dev/null +++ b/UmTable/index.d.ts @@ -0,0 +1,31 @@ +import type { IFieldMetaValue, IMethodMetaValue, TDecoratorKey } from "./types"; +/** + * UmTable 装饰器集合。 + * + * 与改造前的差异: + * 1. 类型改为从 `./types` 导入(原来从 `./UmTable` 导入,指向一个不存在的模块); + * 2. 装饰器改为"柯里化后先冻结默认值再返回"的写法,避免同一个 meta 对象被多次 + * 装饰器调用共享时被反复改写(原实现对入参做 `value.width = 100` 的原地修改); + * 3. `TableColumnMethodDecorator` 只在未显式传入时补默认值,语义不变。 + */ +/** + * 数据列属性装饰器 + */ +export declare const TableColumnPropertyDecorator: (value: IFieldMetaValue) => (target: any, propertyKey: string) => void; +/** + * 属性装饰器(增删改查表单) + */ +export declare const TableFormColumnPropertyDecorator: (value: IFieldMetaValue) => (target: any, propertyKey: string) => void; +/** + * 属性装饰器(查询表单) + */ +export declare const TableSearchFormPropertyDecorator: (value: IFieldMetaValue) => (target: any, propertyKey: string) => void; +/** + * 方法装饰器(操作列 / 工具栏 / 查询方法) + */ +export declare const TableColumnMethodDecorator: ({ key, value, }: { + key?: TDecoratorKey | undefined; + value: IMethodMetaValue; +}) => (target: any, propertyKey: string) => void; +export * from "./types"; +export * from "./core"; diff --git a/UmTable/types.d.ts b/UmTable/types.d.ts new file mode 100644 index 0000000..904ad97 --- /dev/null +++ b/UmTable/types.d.ts @@ -0,0 +1,179 @@ +import type { Component, VNode } from "vue"; +/** + * UmTable 组件族的全部类型定义(唯一来源)。 + * + * 改造前这些类型分散在两个文件里: + * - `src/types/UmTable.d.ts` + * - `src/components/UmTable/UmTable.d.ts` + * 两者内容 90% 重复,而且都是"带 import 的模块文件 + 未 export 的 declare", + * 结果是 `import { TFieldMetaValue } from "./UmTable"` 这类写法在类型层面解析不到, + * 打包后 dist 里的 `UmTable/index.d.ts` 引用了一个不存在的模块 —— 对外类型是坏的。 + * + * 现在统一到这里,全部显式 export。 + */ +/** 数据列类型 */ +export type TColumnType = "selection" | "index" | "expand" | "operate"; +/** 兼容历史命名 */ +export type columnType = TColumnType; +/** 操作列按钮类型 */ +export type TOperateType = "edit" | "del" | "copy" | "customOperateEvent"; +/** + * 字段(单元格 / 表单控件)数据类型 + */ +export type tFieldType = "date" | "default" | "upload" | "primaryKey" | "treeSelect" | "areaTreeSelect" | "select" | "switch" | "boolean" | "img" | "pickerMapGps" | "pickerMapGpsRange" | "ip" | "port" | "string" | "textarea" | "input" | "password" | "custom" | "number" | "dateRange"; +/** 工具栏按钮类型 */ +export type TToolbar = "添加" | "导入模板" | "导入" | "导出" | "批量删除" | "自定义"; +/** 查询方法类型 */ +export type TSearch = "getList"; +/** + * 事件执行顺序 + */ +export type TExecutionSequence = "onBefore" | "onNow" | "onAfter"; +/** 校验规则类型 */ +export type TFormRuleType = "require" | "requireString" | "idNumber" | "phone" | "regexp" | "ip" | "port" | "len" | "validator"; +/** 查询表单可用的控件类型 */ +export type TFormComponent = "date-picker" | "input" | "textarea" | "dateTime-picker" | "color-picker" | "cascader" | "checkbox" | "input-number" | "radio" | "rate" | "select" | "slider" | "switch" | "time-picker" | "time-select"; +/** 装饰器元数据 key */ +export type TDecoratorKey = "table:field" | "table:operate" | "table:toolbar" | "table:VNode" | "table:formField" | "table:searchFormField" | "table:searchFormMethod"; +/** 可能返回 Promise 的值 */ +export type MaybePromise = T | Promise; +/** 工具栏按钮配置 */ +export interface IToolbar { + /** 工具按钮类型 */ + type: TToolbar; + /** 工具按钮图示 */ + icon?: string | VNode; + /** 功能按钮自定义名称 */ + title?: string; +} +/** 事件回调(工具栏 / 操作列) */ +export type TEvent = (selection?: any[]) => void; +/** 表单校验规则 */ +export interface IFormRule { + type?: TFormRuleType; + message?: string; + pattern?: RegExp; + max?: number; + min?: number; + validator?: any; +} +/** + * 单元格自定义渲染函数 + * @param value 列的值 + * @param fieldName 列的字段名 + * @param rowData 列所在行的数据 + */ +export type TColumnRender = (value: any, fieldName: string, rowData: any) => any; +/** + * 字段元数据(`@TableColumnPropertyDecorator` / `@TableFormColumnPropertyDecorator` + * / `@TableSearchFormPropertyDecorator` 的入参) + */ +export interface IFieldMetaValue { + lang?: string; + /** 字段中文名(列头 / 表单 label) */ + def: string; + fieldType?: tFieldType; + /** 表单校验规则 */ + rule?: IFormRule | IFormRule[]; + /** 字段名称(查询表单场景下用于覆盖属性名) */ + fieldName?: string; + width?: number; + minWidth?: number; + /** 用于初始化组件数据(级联数据的来源) */ + getData?: (currentData?: any) => MaybePromise; + /** 查询表单中所需要的组件类型 */ + $um_component?: TFormComponent; + /** 页面中对相同类型字段的区分标志 */ + $um_index?: number; + /** 自定义表单组件 */ + component?: Component | any; + style?: any; + /** 列排序,数字越小越靠前 */ + sort?: number; + /** 数据列自定义渲染函数 */ + columnRender?: TColumnRender; + /** 输入字符最长长度 */ + maxlength?: number; + /** 输入字符最短长度 */ + minlength?: number; + /** 占位字符 */ + placeholder?: string; + /** 当内容过长被隐藏时显示 tooltip */ + showOverflowTooltip?: boolean; + /** + * 日期格式化模板,仅 `fieldType: "date"` 生效。 + * 不传时保持历史行为(YYYY-MM-DD HH:mm:ss)。 + */ + dateFormat?: string; + /** 禁用状态 */ + disabled?: boolean; + /** 判断是否需要禁用 */ + isDisabled?: (rowData: any) => boolean; + /** 是否显示该字段(支持异步) */ + isShow?: (data: any) => MaybePromise; + /** 是否为级联字段 */ + isCascade?: boolean; + /** 联动触发的关联字段 */ + cascadeFiled?: string[]; +} +/** 兼容历史命名 */ +export type TFieldMetaValue = IFieldMetaValue; +/** + * 方法元数据(`@TableColumnMethodDecorator` 的入参) + */ +export interface IMethodMetaValue { + /** 唯一标识,用于把多个方法聚合到同一个操作按钮上 */ + id?: any; + /** 按钮 / 事件类型 */ + type: TOperateType | TToolbar | TSearch; + /** 执行阶段,默认 onNow */ + es?: TExecutionSequence; + /** 同一阶段内的执行优先级,数字越大越先执行,默认 1 */ + priority?: number; + icon?: string | VNode; + dialogContent?: VNode | string | any; + dialogTitle?: VNode | string | any; + dialogWidth?: number; + /** 弹窗表单使用的类(默认复用表格的 target) */ + dialogTarget?: any; + title?: string; + /** + * 按钮排序(数字越小越靠前)。 + * 改造前声明为必填 `sort: number`,但实际用法几乎都不传, + * 类型与实际不符,这里改为可选。 + */ + sort?: number; + /** 控制操作栏 / 工具栏按钮是否显示(不支持异步) */ + isShow?: (rowData: any) => boolean; + /** 获取依赖数据 */ + getData?: () => MaybePromise; +} +/** 兼容历史命名 */ +export type TMethodMetaValue = IMethodMetaValue; +/** + * 单个操作按钮的运行时描述(供 UmTableOperate 渲染) + * + * 改造前 UmTableOperate 接收 4 个靠下标对齐的并行数组 + * (data / titles / renders / events),再靠 mapIndex 反查, + * 任一处顺序错位就会串按钮。这里改成一个自描述的对象数组。 + */ +export interface IOperateItem { + /** 按钮类型 */ + type: TOperateType; + /** 按钮文案(自定义按钮必填) */ + title?: any; + /** 是否显示该按钮 */ + isShow?: (rowData: any) => boolean; + /** + * 点击回调。 + * 第二个参数是当前行的完整数据 —— 事件链会把它作为"当前数据"的初始值, + * 这样"编辑"按钮即使没有声明 `es: "onBefore"` 的取详情方法, + * 弹窗表单也能直接用行数据回填。 + */ + onClick: (rowId: string | number, rowData?: any) => void; +} +/** 数据列描述 */ +export interface IDataColumn { + sort: number; + vnode: VNode; +} diff --git a/UmTree/AreaTree.vue.d.ts b/UmTree/AreaTree.vue.d.ts new file mode 100644 index 0000000..b3bc698 --- /dev/null +++ b/UmTree/AreaTree.vue.d.ts @@ -0,0 +1,59 @@ +declare const _sfc_main: import("vue").DefineComponent<{ + treeData: { + type: ArrayConstructor; + required: true; + }; + props: { + type: null; + required: false; + }; + defaultExpandAll: { + type: BooleanConstructor; + required: false; + default: boolean; + }; + keyword: { + type: StringConstructor; + required: false; + }; + nodeKey: { + type: StringConstructor; + required: false; + default: string; + }; +}, { + props: any; + emit: (e: "onSelect", data: any, node: any, currentNode: any) => void; + treeRef: import("vue").Ref; + onFilter: (value: string, record: any) => boolean; + onSelect: (data: any, node: any, currentNode: any) => void; +}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "onSelect"[], "onSelect", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly> & { + onOnSelect?: ((...args: any[]) => any) | undefined; +}, { + defaultExpandAll: boolean; + nodeKey: string; +}>; +export default _sfc_main; diff --git a/UmTree/UmDistrictTree.vue.d.ts b/UmTree/UmDistrictTree.vue.d.ts new file mode 100644 index 0000000..eca3e98 --- /dev/null +++ b/UmTree/UmDistrictTree.vue.d.ts @@ -0,0 +1,1674 @@ +import type { IDictTypes, IUmTreeExpose, TNodeId } from "./types"; +declare const _sfc_main: import("vue").DefineComponent<{ + treeData: { + type: ArrayConstructor; + required: true; + }; + keyword: { + type: StringConstructor; + required: false; + }; + nodeId: { + type: null; + required: false; + }; + officeLevelData: { + type: ArrayConstructor; + required: false; + }; + fetchOfficeLevelData: { + type: FunctionConstructor; + required: false; + }; + dictTypes: { + type: null; + required: false; + default: () => { + district: string; + office: string; + }; + }; +}, { + props: any; + emit: (e: "onSelect", v: TNodeId, node: any) => void; + districtTreeRef: import("vue").Ref; + treeProps: any; + innerOfficeLevelData: import("vue").Ref; + resolvedOfficeLevelData: import("vue").ComputedRef; + loadOfficeLevelData: () => Promise; + UmTree: import("vue").DefineComponent<{ + checkbox: { + type: BooleanConstructor; + required: false; + default: boolean; + }; + defaultExpandAll: { + type: BooleanConstructor; + required: false; + default: boolean; + }; + keyword: { + type: StringConstructor; + required: false; + }; + strategy: { + type: null; + required: false; + default: import("./UmTree.vue").EStrategy; + }; + treeData: { + type: ArrayConstructor; + required: true; + }; + props: { + type: ObjectConstructor; + required: false; + }; + class: { + type: StringConstructor; + required: false; + }; + }, { + EStrategy: typeof import("./UmTree.vue").EStrategy; + props: any; + emit: { + (e: "onSelect", v: string | number, node: import("element-plus/es/components/tree/src/tree.type").TreeNodeData): void; + (e: "onCheck", checkKeys: (string | number)[]): void; + }; + treeRef: import("vue").Ref<({ + $: import("vue").ComponentInternalInstance; + $data: {}; + $props: Partial<{ + data: unknown[]; + lazy: boolean; + props: import("element-plus/es/components/tree/src/tree.type").TreeOptionProps; + draggable: boolean; + checkStrictly: boolean; + accordion: boolean; + defaultExpandAll: boolean; + indent: number; + renderAfterExpand: boolean; + showCheckbox: boolean; + expandOnClickNode: boolean; + checkOnClickNode: boolean; + checkDescendants: boolean; + autoExpandParent: boolean; + highlightCurrent: boolean; + }> & Omit never[]; + }; + emptyText: { + type: StringConstructor; + }; + renderAfterExpand: { + type: BooleanConstructor; + default: boolean; + }; + nodeKey: StringConstructor; + checkStrictly: BooleanConstructor; + defaultExpandAll: BooleanConstructor; + expandOnClickNode: { + type: BooleanConstructor; + default: boolean; + }; + checkOnClickNode: BooleanConstructor; + checkDescendants: { + type: BooleanConstructor; + default: boolean; + }; + autoExpandParent: { + type: BooleanConstructor; + default: boolean; + }; + defaultCheckedKeys: import("vue").PropType; + defaultExpandedKeys: import("vue").PropType; + currentNodeKey: import("vue").PropType; + renderContent: FunctionConstructor; + showCheckbox: { + type: BooleanConstructor; + default: boolean; + }; + draggable: { + type: BooleanConstructor; + default: boolean; + }; + allowDrag: FunctionConstructor; + allowDrop: FunctionConstructor; + props: { + type: import("vue").PropType; + default: () => { + children: string; + label: string; + disabled: string; + }; + }; + lazy: { + type: BooleanConstructor; + default: boolean; + }; + highlightCurrent: BooleanConstructor; + load: import("vue").PropType; + filterNodeMethod: import("vue").PropType; + accordion: BooleanConstructor; + indent: { + type: NumberConstructor; + default: number; + }; + icon: import("vue").PropType>; + }>> & { + "onCurrent-change"?: ((...args: any[]) => any) | undefined; + "onNode-expand"?: ((...args: any[]) => any) | undefined; + onCheck?: ((...args: any[]) => any) | undefined; + "onCheck-change"?: ((...args: any[]) => any) | undefined; + "onNode-click"?: ((...args: any[]) => any) | undefined; + "onNode-contextmenu"?: ((...args: any[]) => any) | undefined; + "onNode-collapse"?: ((...args: any[]) => any) | undefined; + "onNode-drag-start"?: ((...args: any[]) => any) | undefined; + "onNode-drag-end"?: ((...args: any[]) => any) | undefined; + "onNode-drop"?: ((...args: any[]) => any) | undefined; + "onNode-drag-leave"?: ((...args: any[]) => any) | undefined; + "onNode-drag-enter"?: ((...args: any[]) => any) | undefined; + "onNode-drag-over"?: ((...args: any[]) => any) | undefined; + } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "data" | "props" | "draggable" | "defaultExpandAll" | "indent" | "lazy" | "renderAfterExpand" | "checkStrictly" | "expandOnClickNode" | "checkOnClickNode" | "checkDescendants" | "autoExpandParent" | "showCheckbox" | "highlightCurrent" | "accordion">; + $attrs: { + [x: string]: unknown; + }; + $refs: { + [x: string]: unknown; + }; + $slots: Readonly<{ + [name: string]: import("vue").Slot | undefined; + }>; + $root: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase> | null; + $parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase> | null; + $emit: (event: "current-change" | "node-expand" | "check-change" | "node-click" | "node-contextmenu" | "node-collapse" | "check" | "node-drag-start" | "node-drag-end" | "node-drop" | "node-drag-leave" | "node-drag-enter" | "node-drag-over", ...args: any[]) => void; + $el: any; + $options: import("vue").ComponentOptionsBase never[]; + }; + emptyText: { + type: StringConstructor; + }; + renderAfterExpand: { + type: BooleanConstructor; + default: boolean; + }; + nodeKey: StringConstructor; + checkStrictly: BooleanConstructor; + defaultExpandAll: BooleanConstructor; + expandOnClickNode: { + type: BooleanConstructor; + default: boolean; + }; + checkOnClickNode: BooleanConstructor; + checkDescendants: { + type: BooleanConstructor; + default: boolean; + }; + autoExpandParent: { + type: BooleanConstructor; + default: boolean; + }; + defaultCheckedKeys: import("vue").PropType; + defaultExpandedKeys: import("vue").PropType; + currentNodeKey: import("vue").PropType; + renderContent: FunctionConstructor; + showCheckbox: { + type: BooleanConstructor; + default: boolean; + }; + draggable: { + type: BooleanConstructor; + default: boolean; + }; + allowDrag: FunctionConstructor; + allowDrop: FunctionConstructor; + props: { + type: import("vue").PropType; + default: () => { + children: string; + label: string; + disabled: string; + }; + }; + lazy: { + type: BooleanConstructor; + default: boolean; + }; + highlightCurrent: BooleanConstructor; + load: import("vue").PropType; + filterNodeMethod: import("vue").PropType; + accordion: BooleanConstructor; + indent: { + type: NumberConstructor; + default: number; + }; + icon: import("vue").PropType>; + }>> & { + "onCurrent-change"?: ((...args: any[]) => any) | undefined; + "onNode-expand"?: ((...args: any[]) => any) | undefined; + onCheck?: ((...args: any[]) => any) | undefined; + "onCheck-change"?: ((...args: any[]) => any) | undefined; + "onNode-click"?: ((...args: any[]) => any) | undefined; + "onNode-contextmenu"?: ((...args: any[]) => any) | undefined; + "onNode-collapse"?: ((...args: any[]) => any) | undefined; + "onNode-drag-start"?: ((...args: any[]) => any) | undefined; + "onNode-drag-end"?: ((...args: any[]) => any) | undefined; + "onNode-drop"?: ((...args: any[]) => any) | undefined; + "onNode-drag-leave"?: ((...args: any[]) => any) | undefined; + "onNode-drag-enter"?: ((...args: any[]) => any) | undefined; + "onNode-drag-over"?: ((...args: any[]) => any) | undefined; + }, { + ns: { + namespace: import("vue").ComputedRef; + b: (blockSuffix?: string | undefined) => string; + e: (element?: string | undefined) => string; + m: (modifier?: string | undefined) => string; + be: (blockSuffix?: string | undefined, element?: string | undefined) => string; + em: (element?: string | undefined, modifier?: string | undefined) => string; + bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string; + bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string; + is: { + (name: string, state: boolean | undefined): string; + (name: string): string; + }; + }; + store: import("vue").Ref<{ + currentNode: { + id: number; + text: string; + checked: boolean; + indeterminate: boolean; + data: { + [x: string]: any; + }; + expanded: boolean; + parent: any; + visible: boolean; + isCurrent: boolean; + store: any; + isLeafByUser: boolean; + isLeaf: boolean; + canFocus: boolean; + level: number; + loaded: boolean; + childNodes: any[]; + loading: boolean; + initialize: () => void; + setData: (data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData) => void; + readonly label: string; + readonly key: import("element-plus/es/components/tree/src/tree.type").TreeKey; + readonly disabled: boolean; + readonly nextSibling: any; + readonly previousSibling: any; + contains: (target: import("element-plus/es/components/tree/src/model/node").default, deep?: boolean | undefined) => boolean; + remove: () => void; + insertChild: (child?: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode | undefined, index?: number | undefined, batch?: boolean | undefined) => void; + insertBefore: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + insertAfter: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChild: (child: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChildByData: (data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData) => void; + expand: (callback?: (() => void) | undefined, expandParent?: boolean | undefined) => void; + doCreateChildren: (array: import("element-plus/es/components/tree/src/tree.type").TreeNodeData[], defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + collapse: () => void; + shouldLoadData: () => boolean; + updateLeafState: () => void; + setChecked: (value?: string | boolean | undefined, deep?: boolean | undefined, recursion?: boolean | undefined, passValue?: boolean | undefined) => void; + getChildren: (forceInit?: boolean | undefined) => import("element-plus/es/components/tree/src/tree.type").TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeNodeData[]; + updateChildren: () => void; + loadData: (callback: (node: import("element-plus/es/components/tree/src/model/node").default) => void, defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + }; + currentNodeKey: import("element-plus/es/components/tree/src/tree.type").TreeKey; + nodesMap: { + [x: string]: { + id: number; + text: string; + checked: boolean; + indeterminate: boolean; + data: { + [x: string]: any; + }; + expanded: boolean; + parent: any; + visible: boolean; + isCurrent: boolean; + store: any; + isLeafByUser: boolean; + isLeaf: boolean; + canFocus: boolean; + level: number; + loaded: boolean; + childNodes: any[]; + loading: boolean; + initialize: () => void; + setData: (data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData) => void; + readonly label: string; + readonly key: import("element-plus/es/components/tree/src/tree.type").TreeKey; + readonly disabled: boolean; + readonly nextSibling: any; + readonly previousSibling: any; + contains: (target: import("element-plus/es/components/tree/src/model/node").default, deep?: boolean | undefined) => boolean; + remove: () => void; + insertChild: (child?: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode | undefined, index?: number | undefined, batch?: boolean | undefined) => void; + insertBefore: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + insertAfter: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChild: (child: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChildByData: (data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData) => void; + expand: (callback?: (() => void) | undefined, expandParent?: boolean | undefined) => void; + doCreateChildren: (array: import("element-plus/es/components/tree/src/tree.type").TreeNodeData[], defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + collapse: () => void; + shouldLoadData: () => boolean; + updateLeafState: () => void; + setChecked: (value?: string | boolean | undefined, deep?: boolean | undefined, recursion?: boolean | undefined, passValue?: boolean | undefined) => void; + getChildren: (forceInit?: boolean | undefined) => import("element-plus/es/components/tree/src/tree.type").TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeNodeData[]; + updateChildren: () => void; + loadData: (callback: (node: import("element-plus/es/components/tree/src/model/node").default) => void, defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + }; + }; + root: { + id: number; + text: string; + checked: boolean; + indeterminate: boolean; + data: { + [x: string]: any; + }; + expanded: boolean; + parent: any; + visible: boolean; + isCurrent: boolean; + store: any; + isLeafByUser: boolean; + isLeaf: boolean; + canFocus: boolean; + level: number; + loaded: boolean; + childNodes: any[]; + loading: boolean; + initialize: () => void; + setData: (data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData) => void; + readonly label: string; + readonly key: import("element-plus/es/components/tree/src/tree.type").TreeKey; + readonly disabled: boolean; + readonly nextSibling: any; + readonly previousSibling: any; + contains: (target: import("element-plus/es/components/tree/src/model/node").default, deep?: boolean | undefined) => boolean; + remove: () => void; + insertChild: (child?: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode | undefined, index?: number | undefined, batch?: boolean | undefined) => void; + insertBefore: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + insertAfter: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChild: (child: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChildByData: (data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData) => void; + expand: (callback?: (() => void) | undefined, expandParent?: boolean | undefined) => void; + doCreateChildren: (array: import("element-plus/es/components/tree/src/tree.type").TreeNodeData[], defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + collapse: () => void; + shouldLoadData: () => boolean; + updateLeafState: () => void; + setChecked: (value?: string | boolean | undefined, deep?: boolean | undefined, recursion?: boolean | undefined, passValue?: boolean | undefined) => void; + getChildren: (forceInit?: boolean | undefined) => import("element-plus/es/components/tree/src/tree.type").TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeNodeData[]; + updateChildren: () => void; + loadData: (callback: (node: import("element-plus/es/components/tree/src/model/node").default) => void, defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + }; + data: { + [x: string]: any; + }[]; + lazy: boolean; + load: import("element-plus/es/components/tree/src/tree.type").LoadFunction; + filterNodeMethod: import("element-plus/es/components/tree/src/tree.type").FilterNodeMethodFunction; + key: import("element-plus/es/components/tree/src/tree.type").TreeKey; + defaultCheckedKeys: import("element-plus/es/components/tree/src/tree.type").TreeKey[]; + checkStrictly: boolean; + defaultExpandedKeys: import("element-plus/es/components/tree/src/tree.type").TreeKey[]; + autoExpandParent: boolean; + defaultExpandAll: boolean; + checkDescendants: boolean; + props: { + children?: string | undefined; + label?: string | ((data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData, node: import("element-plus/es/components/tree/src/model/node").default) => string) | undefined; + disabled?: string | ((data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData, node: import("element-plus/es/components/tree/src/model/node").default) => string) | undefined; + isLeaf?: string | ((data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData, node: import("element-plus/es/components/tree/src/model/node").default) => boolean) | undefined; + class?: ((data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData, node: import("element-plus/es/components/tree/src/model/node").default) => string | { + [key: string]: boolean; + }) | undefined; + }; + initialize: () => void; + filter: (value: any) => void; + setData: (newVal: import("element-plus/es/components/tree/src/tree.type").TreeData) => void; + getNode: (data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeKey) => import("element-plus/es/components/tree/src/model/node").default; + insertBefore: (data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData, refData: import("element-plus/es/components/tree/src/tree.type").TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeKey) => void; + insertAfter: (data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData, refData: import("element-plus/es/components/tree/src/tree.type").TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeKey) => void; + remove: (data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData | import("element-plus/es/components/tree/src/model/node").default) => void; + append: (data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData, parentData: import("element-plus/es/components/tree/src/tree.type").TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeKey | import("element-plus/es/components/tree/src/model/node").default) => void; + _initDefaultCheckedNodes: () => void; + _initDefaultCheckedNode: (node: import("element-plus/es/components/tree/src/model/node").default) => void; + setDefaultCheckedKey: (newVal: import("element-plus/es/components/tree/src/tree.type").TreeKey[]) => void; + registerNode: (node: import("element-plus/es/components/tree/src/model/node").default) => void; + deregisterNode: (node: import("element-plus/es/components/tree/src/model/node").default) => void; + getCheckedNodes: (leafOnly?: boolean | undefined, includeHalfChecked?: boolean | undefined) => import("element-plus/es/components/tree/src/tree.type").TreeNodeData[]; + getCheckedKeys: (leafOnly?: boolean | undefined) => import("element-plus/es/components/tree/src/tree.type").TreeKey[]; + getHalfCheckedNodes: () => import("element-plus/es/components/tree/src/tree.type").TreeNodeData[]; + getHalfCheckedKeys: () => import("element-plus/es/components/tree/src/tree.type").TreeKey[]; + _getAllNodes: () => import("element-plus/es/components/tree/src/model/node").default[]; + updateChildren: (key: import("element-plus/es/components/tree/src/tree.type").TreeKey, data: import("element-plus/es/components/tree/src/tree.type").TreeData) => void; + _setCheckedKeys: (key: import("element-plus/es/components/tree/src/tree.type").TreeKey, leafOnly: boolean | undefined, checkedKeys: { + [key: string]: boolean; + }) => void; + setCheckedNodes: (array: import("element-plus/es/components/tree/src/model/node").default[], leafOnly?: boolean | undefined) => void; + setCheckedKeys: (keys: import("element-plus/es/components/tree/src/tree.type").TreeKey[], leafOnly?: boolean | undefined) => void; + setDefaultExpandedKeys: (keys: import("element-plus/es/components/tree/src/tree.type").TreeKey[]) => void; + setChecked: (data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeKey, checked: boolean, deep: boolean) => void; + getCurrentNode: () => import("element-plus/es/components/tree/src/model/node").default; + setCurrentNode: (currentNode: import("element-plus/es/components/tree/src/model/node").default) => void; + setUserCurrentNode: (node: import("element-plus/es/components/tree/src/model/node").default, shouldAutoExpandParent?: boolean | undefined) => void; + setCurrentNodeKey: (key: import("element-plus/es/components/tree/src/tree.type").TreeKey, shouldAutoExpandParent?: boolean | undefined) => void; + }>; + root: import("vue").Ref<{ + id: number; + text: string; + checked: boolean; + indeterminate: boolean; + data: { + [x: string]: any; + }; + expanded: boolean; + parent: any; + visible: boolean; + isCurrent: boolean; + store: any; + isLeafByUser: boolean; + isLeaf: boolean; + canFocus: boolean; + level: number; + loaded: boolean; + childNodes: any[]; + loading: boolean; + initialize: () => void; + setData: (data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData) => void; + readonly label: string; + readonly key: import("element-plus/es/components/tree/src/tree.type").TreeKey; + readonly disabled: boolean; + readonly nextSibling: any; + readonly previousSibling: any; + contains: (target: import("element-plus/es/components/tree/src/model/node").default, deep?: boolean | undefined) => boolean; + remove: () => void; + insertChild: (child?: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode | undefined, index?: number | undefined, batch?: boolean | undefined) => void; + insertBefore: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + insertAfter: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChild: (child: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChildByData: (data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData) => void; + expand: (callback?: (() => void) | undefined, expandParent?: boolean | undefined) => void; + doCreateChildren: (array: import("element-plus/es/components/tree/src/tree.type").TreeNodeData[], defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + collapse: () => void; + shouldLoadData: () => boolean; + updateLeafState: () => void; + setChecked: (value?: string | boolean | undefined, deep?: boolean | undefined, recursion?: boolean | undefined, passValue?: boolean | undefined) => void; + getChildren: (forceInit?: boolean | undefined) => import("element-plus/es/components/tree/src/tree.type").TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeNodeData[]; + updateChildren: () => void; + loadData: (callback: (node: import("element-plus/es/components/tree/src/model/node").default) => void, defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + }>; + currentNode: import("vue").Ref<{ + id: number; + text: string; + checked: boolean; + indeterminate: boolean; + data: { + [x: string]: any; + }; + expanded: boolean; + parent: any; + visible: boolean; + isCurrent: boolean; + store: any; + isLeafByUser: boolean; + isLeaf: boolean; + canFocus: boolean; + level: number; + loaded: boolean; + childNodes: any[]; + loading: boolean; + initialize: () => void; + setData: (data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData) => void; + readonly label: string; + readonly key: import("element-plus/es/components/tree/src/tree.type").TreeKey; + readonly disabled: boolean; + readonly nextSibling: any; + readonly previousSibling: any; + contains: (target: import("element-plus/es/components/tree/src/model/node").default, deep?: boolean | undefined) => boolean; + remove: () => void; + insertChild: (child?: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode | undefined, index?: number | undefined, batch?: boolean | undefined) => void; + insertBefore: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + insertAfter: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChild: (child: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChildByData: (data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData) => void; + expand: (callback?: (() => void) | undefined, expandParent?: boolean | undefined) => void; + doCreateChildren: (array: import("element-plus/es/components/tree/src/tree.type").TreeNodeData[], defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + collapse: () => void; + shouldLoadData: () => boolean; + updateLeafState: () => void; + setChecked: (value?: string | boolean | undefined, deep?: boolean | undefined, recursion?: boolean | undefined, passValue?: boolean | undefined) => void; + getChildren: (forceInit?: boolean | undefined) => import("element-plus/es/components/tree/src/tree.type").TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeNodeData[]; + updateChildren: () => void; + loadData: (callback: (node: import("element-plus/es/components/tree/src/model/node").default) => void, defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + }>; + dragState: import("vue").Ref<{ + showDropIndicator: boolean; + draggingNode: null; + dropNode: null; + allowDrop: boolean; + dropType: null; + }>; + el$: import("vue").Ref>; + dropIndicator$: import("vue").Ref>; + isEmpty: import("vue").ComputedRef; + filter: (value: any) => void; + getNodeKey: (node: import("element-plus/es/components/tree/src/model/node").default) => any; + getNodePath: (data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeKey) => import("element-plus/es/components/tree/src/tree.type").TreeNodeData[]; + getCheckedNodes: (leafOnly?: boolean | undefined, includeHalfChecked?: boolean | undefined) => import("element-plus/es/components/tree/src/tree.type").TreeNodeData[]; + getCheckedKeys: (leafOnly?: boolean | undefined) => import("element-plus/es/components/tree/src/tree.type").TreeKey[]; + getCurrentNode: () => import("element-plus/es/components/tree/src/tree.type").TreeNodeData; + getCurrentKey: () => any; + setCheckedNodes: (nodes: import("element-plus/es/components/tree/src/model/node").default[], leafOnly?: boolean | undefined) => void; + setCheckedKeys: (keys: any, leafOnly?: boolean | undefined) => void; + setChecked: (data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeKey, checked: boolean, deep: boolean) => void; + getHalfCheckedNodes: () => import("element-plus/es/components/tree/src/tree.type").TreeNodeData[]; + getHalfCheckedKeys: () => import("element-plus/es/components/tree/src/tree.type").TreeKey[]; + setCurrentNode: (node: import("element-plus/es/components/tree/src/model/node").default, shouldAutoExpandParent?: boolean | undefined) => void; + setCurrentKey: (key: import("element-plus/es/components/tree/src/tree.type").TreeKey, shouldAutoExpandParent?: boolean | undefined) => void; + t: import("element-plus").Translator; + getNode: (data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeKey) => import("element-plus/es/components/tree/src/model/node").default; + remove: (data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData | import("element-plus/es/components/tree/src/model/node").default) => void; + append: (data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData, parentNode: import("element-plus/es/components/tree/src/tree.type").TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeKey | import("element-plus/es/components/tree/src/model/node").default) => void; + insertBefore: (data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData, refNode: import("element-plus/es/components/tree/src/tree.type").TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeKey) => void; + insertAfter: (data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData, refNode: import("element-plus/es/components/tree/src/tree.type").TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeKey) => void; + handleNodeExpand: (nodeData: import("element-plus/es/components/tree/src/tree.type").TreeNodeData, node: import("element-plus/es/components/tree/src/model/node").default, instance: import("vue").ComponentInternalInstance) => void; + updateKeyChildren: (key: import("element-plus/es/components/tree/src/tree.type").TreeKey, data: import("element-plus/es/components/tree/src/tree.type").TreeData) => void; + }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("current-change" | "node-expand" | "check-change" | "node-click" | "node-contextmenu" | "node-collapse" | "check" | "node-drag-start" | "node-drag-end" | "node-drop" | "node-drag-leave" | "node-drag-enter" | "node-drag-over")[], string, { + data: unknown[]; + lazy: boolean; + props: import("element-plus/es/components/tree/src/tree.type").TreeOptionProps; + draggable: boolean; + checkStrictly: boolean; + accordion: boolean; + defaultExpandAll: boolean; + indent: number; + renderAfterExpand: boolean; + showCheckbox: boolean; + expandOnClickNode: boolean; + checkOnClickNode: boolean; + checkDescendants: boolean; + autoExpandParent: boolean; + highlightCurrent: boolean; + }> & { + beforeCreate?: ((() => void) | (() => void)[]) | undefined; + created?: ((() => void) | (() => void)[]) | undefined; + beforeMount?: ((() => void) | (() => void)[]) | undefined; + mounted?: ((() => void) | (() => void)[]) | undefined; + beforeUpdate?: ((() => void) | (() => void)[]) | undefined; + updated?: ((() => void) | (() => void)[]) | undefined; + activated?: ((() => void) | (() => void)[]) | undefined; + deactivated?: ((() => void) | (() => void)[]) | undefined; + beforeDestroy?: ((() => void) | (() => void)[]) | undefined; + beforeUnmount?: ((() => void) | (() => void)[]) | undefined; + destroyed?: ((() => void) | (() => void)[]) | undefined; + unmounted?: ((() => void) | (() => void)[]) | undefined; + renderTracked?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined; + renderTriggered?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined; + errorCaptured?: (((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase> | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase> | null, info: string) => boolean | void)[]) | undefined; + }; + $forceUpdate: () => void; + $nextTick: typeof import("vue").nextTick; + $watch(source: string | Function, cb: Function, options?: import("vue").WatchOptions | undefined): import("vue").WatchStopHandle; + } & Readonly never[]; + }; + emptyText: { + type: StringConstructor; + }; + renderAfterExpand: { + type: BooleanConstructor; + default: boolean; + }; + nodeKey: StringConstructor; + checkStrictly: BooleanConstructor; + defaultExpandAll: BooleanConstructor; + expandOnClickNode: { + type: BooleanConstructor; + default: boolean; + }; + checkOnClickNode: BooleanConstructor; + checkDescendants: { + type: BooleanConstructor; + default: boolean; + }; + autoExpandParent: { + type: BooleanConstructor; + default: boolean; + }; + defaultCheckedKeys: import("vue").PropType; + defaultExpandedKeys: import("vue").PropType; + currentNodeKey: import("vue").PropType; + renderContent: FunctionConstructor; + showCheckbox: { + type: BooleanConstructor; + default: boolean; + }; + draggable: { + type: BooleanConstructor; + default: boolean; + }; + allowDrag: FunctionConstructor; + allowDrop: FunctionConstructor; + props: { + type: import("vue").PropType; + default: () => { + children: string; + label: string; + disabled: string; + }; + }; + lazy: { + type: BooleanConstructor; + default: boolean; + }; + highlightCurrent: BooleanConstructor; + load: import("vue").PropType; + filterNodeMethod: import("vue").PropType; + accordion: BooleanConstructor; + indent: { + type: NumberConstructor; + default: number; + }; + icon: import("vue").PropType>; + }>> & { + "onCurrent-change"?: ((...args: any[]) => any) | undefined; + "onNode-expand"?: ((...args: any[]) => any) | undefined; + onCheck?: ((...args: any[]) => any) | undefined; + "onCheck-change"?: ((...args: any[]) => any) | undefined; + "onNode-click"?: ((...args: any[]) => any) | undefined; + "onNode-contextmenu"?: ((...args: any[]) => any) | undefined; + "onNode-collapse"?: ((...args: any[]) => any) | undefined; + "onNode-drag-start"?: ((...args: any[]) => any) | undefined; + "onNode-drag-end"?: ((...args: any[]) => any) | undefined; + "onNode-drop"?: ((...args: any[]) => any) | undefined; + "onNode-drag-leave"?: ((...args: any[]) => any) | undefined; + "onNode-drag-enter"?: ((...args: any[]) => any) | undefined; + "onNode-drag-over"?: ((...args: any[]) => any) | undefined; + } & import("vue").ShallowUnwrapRef<{ + ns: { + namespace: import("vue").ComputedRef; + b: (blockSuffix?: string | undefined) => string; + e: (element?: string | undefined) => string; + m: (modifier?: string | undefined) => string; + be: (blockSuffix?: string | undefined, element?: string | undefined) => string; + em: (element?: string | undefined, modifier?: string | undefined) => string; + bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string; + bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string; + is: { + (name: string, state: boolean | undefined): string; + (name: string): string; + }; + }; + store: import("vue").Ref<{ + currentNode: { + id: number; + text: string; + checked: boolean; + indeterminate: boolean; + data: { + [x: string]: any; + }; + expanded: boolean; + parent: any; + visible: boolean; + isCurrent: boolean; + store: any; + isLeafByUser: boolean; + isLeaf: boolean; + canFocus: boolean; + level: number; + loaded: boolean; + childNodes: any[]; + loading: boolean; + initialize: () => void; + setData: (data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData) => void; + readonly label: string; + readonly key: import("element-plus/es/components/tree/src/tree.type").TreeKey; + readonly disabled: boolean; + readonly nextSibling: any; + readonly previousSibling: any; + contains: (target: import("element-plus/es/components/tree/src/model/node").default, deep?: boolean | undefined) => boolean; + remove: () => void; + insertChild: (child?: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode | undefined, index?: number | undefined, batch?: boolean | undefined) => void; + insertBefore: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + insertAfter: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChild: (child: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChildByData: (data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData) => void; + expand: (callback?: (() => void) | undefined, expandParent?: boolean | undefined) => void; + doCreateChildren: (array: import("element-plus/es/components/tree/src/tree.type").TreeNodeData[], defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + collapse: () => void; + shouldLoadData: () => boolean; + updateLeafState: () => void; + setChecked: (value?: string | boolean | undefined, deep?: boolean | undefined, recursion?: boolean | undefined, passValue?: boolean | undefined) => void; + getChildren: (forceInit?: boolean | undefined) => import("element-plus/es/components/tree/src/tree.type").TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeNodeData[]; + updateChildren: () => void; + loadData: (callback: (node: import("element-plus/es/components/tree/src/model/node").default) => void, defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + }; + currentNodeKey: import("element-plus/es/components/tree/src/tree.type").TreeKey; + nodesMap: { + [x: string]: { + id: number; + text: string; + checked: boolean; + indeterminate: boolean; + data: { + [x: string]: any; + }; + expanded: boolean; + parent: any; + visible: boolean; + isCurrent: boolean; + store: any; + isLeafByUser: boolean; + isLeaf: boolean; + canFocus: boolean; + level: number; + loaded: boolean; + childNodes: any[]; + loading: boolean; + initialize: () => void; + setData: (data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData) => void; + readonly label: string; + readonly key: import("element-plus/es/components/tree/src/tree.type").TreeKey; + readonly disabled: boolean; + readonly nextSibling: any; + readonly previousSibling: any; + contains: (target: import("element-plus/es/components/tree/src/model/node").default, deep?: boolean | undefined) => boolean; + remove: () => void; + insertChild: (child?: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode | undefined, index?: number | undefined, batch?: boolean | undefined) => void; + insertBefore: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + insertAfter: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChild: (child: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChildByData: (data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData) => void; + expand: (callback?: (() => void) | undefined, expandParent?: boolean | undefined) => void; + doCreateChildren: (array: import("element-plus/es/components/tree/src/tree.type").TreeNodeData[], defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + collapse: () => void; + shouldLoadData: () => boolean; + updateLeafState: () => void; + setChecked: (value?: string | boolean | undefined, deep?: boolean | undefined, recursion?: boolean | undefined, passValue?: boolean | undefined) => void; + getChildren: (forceInit?: boolean | undefined) => import("element-plus/es/components/tree/src/tree.type").TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeNodeData[]; + updateChildren: () => void; + loadData: (callback: (node: import("element-plus/es/components/tree/src/model/node").default) => void, defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + }; + }; + root: { + id: number; + text: string; + checked: boolean; + indeterminate: boolean; + data: { + [x: string]: any; + }; + expanded: boolean; + parent: any; + visible: boolean; + isCurrent: boolean; + store: any; + isLeafByUser: boolean; + isLeaf: boolean; + canFocus: boolean; + level: number; + loaded: boolean; + childNodes: any[]; + loading: boolean; + initialize: () => void; + setData: (data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData) => void; + readonly label: string; + readonly key: import("element-plus/es/components/tree/src/tree.type").TreeKey; + readonly disabled: boolean; + readonly nextSibling: any; + readonly previousSibling: any; + contains: (target: import("element-plus/es/components/tree/src/model/node").default, deep?: boolean | undefined) => boolean; + remove: () => void; + insertChild: (child?: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode | undefined, index?: number | undefined, batch?: boolean | undefined) => void; + insertBefore: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + insertAfter: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChild: (child: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChildByData: (data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData) => void; + expand: (callback?: (() => void) | undefined, expandParent?: boolean | undefined) => void; + doCreateChildren: (array: import("element-plus/es/components/tree/src/tree.type").TreeNodeData[], defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + collapse: () => void; + shouldLoadData: () => boolean; + updateLeafState: () => void; + setChecked: (value?: string | boolean | undefined, deep?: boolean | undefined, recursion?: boolean | undefined, passValue?: boolean | undefined) => void; + getChildren: (forceInit?: boolean | undefined) => import("element-plus/es/components/tree/src/tree.type").TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeNodeData[]; + updateChildren: () => void; + loadData: (callback: (node: import("element-plus/es/components/tree/src/model/node").default) => void, defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + }; + data: { + [x: string]: any; + }[]; + lazy: boolean; + load: import("element-plus/es/components/tree/src/tree.type").LoadFunction; + filterNodeMethod: import("element-plus/es/components/tree/src/tree.type").FilterNodeMethodFunction; + key: import("element-plus/es/components/tree/src/tree.type").TreeKey; + defaultCheckedKeys: import("element-plus/es/components/tree/src/tree.type").TreeKey[]; + checkStrictly: boolean; + defaultExpandedKeys: import("element-plus/es/components/tree/src/tree.type").TreeKey[]; + autoExpandParent: boolean; + defaultExpandAll: boolean; + checkDescendants: boolean; + props: { + children?: string | undefined; + label?: string | ((data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData, node: import("element-plus/es/components/tree/src/model/node").default) => string) | undefined; + disabled?: string | ((data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData, node: import("element-plus/es/components/tree/src/model/node").default) => string) | undefined; + isLeaf?: string | ((data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData, node: import("element-plus/es/components/tree/src/model/node").default) => boolean) | undefined; + class?: ((data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData, node: import("element-plus/es/components/tree/src/model/node").default) => string | { + [key: string]: boolean; + }) | undefined; + }; + initialize: () => void; + filter: (value: any) => void; + setData: (newVal: import("element-plus/es/components/tree/src/tree.type").TreeData) => void; + getNode: (data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeKey) => import("element-plus/es/components/tree/src/model/node").default; + insertBefore: (data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData, refData: import("element-plus/es/components/tree/src/tree.type").TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeKey) => void; + insertAfter: (data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData, refData: import("element-plus/es/components/tree/src/tree.type").TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeKey) => void; + remove: (data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData | import("element-plus/es/components/tree/src/model/node").default) => void; + append: (data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData, parentData: import("element-plus/es/components/tree/src/tree.type").TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeKey | import("element-plus/es/components/tree/src/model/node").default) => void; + _initDefaultCheckedNodes: () => void; + _initDefaultCheckedNode: (node: import("element-plus/es/components/tree/src/model/node").default) => void; + setDefaultCheckedKey: (newVal: import("element-plus/es/components/tree/src/tree.type").TreeKey[]) => void; + registerNode: (node: import("element-plus/es/components/tree/src/model/node").default) => void; + deregisterNode: (node: import("element-plus/es/components/tree/src/model/node").default) => void; + getCheckedNodes: (leafOnly?: boolean | undefined, includeHalfChecked?: boolean | undefined) => import("element-plus/es/components/tree/src/tree.type").TreeNodeData[]; + getCheckedKeys: (leafOnly?: boolean | undefined) => import("element-plus/es/components/tree/src/tree.type").TreeKey[]; + getHalfCheckedNodes: () => import("element-plus/es/components/tree/src/tree.type").TreeNodeData[]; + getHalfCheckedKeys: () => import("element-plus/es/components/tree/src/tree.type").TreeKey[]; + _getAllNodes: () => import("element-plus/es/components/tree/src/model/node").default[]; + updateChildren: (key: import("element-plus/es/components/tree/src/tree.type").TreeKey, data: import("element-plus/es/components/tree/src/tree.type").TreeData) => void; + _setCheckedKeys: (key: import("element-plus/es/components/tree/src/tree.type").TreeKey, leafOnly: boolean | undefined, checkedKeys: { + [key: string]: boolean; + }) => void; + setCheckedNodes: (array: import("element-plus/es/components/tree/src/model/node").default[], leafOnly?: boolean | undefined) => void; + setCheckedKeys: (keys: import("element-plus/es/components/tree/src/tree.type").TreeKey[], leafOnly?: boolean | undefined) => void; + setDefaultExpandedKeys: (keys: import("element-plus/es/components/tree/src/tree.type").TreeKey[]) => void; + setChecked: (data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeKey, checked: boolean, deep: boolean) => void; + getCurrentNode: () => import("element-plus/es/components/tree/src/model/node").default; + setCurrentNode: (currentNode: import("element-plus/es/components/tree/src/model/node").default) => void; + setUserCurrentNode: (node: import("element-plus/es/components/tree/src/model/node").default, shouldAutoExpandParent?: boolean | undefined) => void; + setCurrentNodeKey: (key: import("element-plus/es/components/tree/src/tree.type").TreeKey, shouldAutoExpandParent?: boolean | undefined) => void; + }>; + root: import("vue").Ref<{ + id: number; + text: string; + checked: boolean; + indeterminate: boolean; + data: { + [x: string]: any; + }; + expanded: boolean; + parent: any; + visible: boolean; + isCurrent: boolean; + store: any; + isLeafByUser: boolean; + isLeaf: boolean; + canFocus: boolean; + level: number; + loaded: boolean; + childNodes: any[]; + loading: boolean; + initialize: () => void; + setData: (data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData) => void; + readonly label: string; + readonly key: import("element-plus/es/components/tree/src/tree.type").TreeKey; + readonly disabled: boolean; + readonly nextSibling: any; + readonly previousSibling: any; + contains: (target: import("element-plus/es/components/tree/src/model/node").default, deep?: boolean | undefined) => boolean; + remove: () => void; + insertChild: (child?: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode | undefined, index?: number | undefined, batch?: boolean | undefined) => void; + insertBefore: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + insertAfter: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChild: (child: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChildByData: (data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData) => void; + expand: (callback?: (() => void) | undefined, expandParent?: boolean | undefined) => void; + doCreateChildren: (array: import("element-plus/es/components/tree/src/tree.type").TreeNodeData[], defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + collapse: () => void; + shouldLoadData: () => boolean; + updateLeafState: () => void; + setChecked: (value?: string | boolean | undefined, deep?: boolean | undefined, recursion?: boolean | undefined, passValue?: boolean | undefined) => void; + getChildren: (forceInit?: boolean | undefined) => import("element-plus/es/components/tree/src/tree.type").TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeNodeData[]; + updateChildren: () => void; + loadData: (callback: (node: import("element-plus/es/components/tree/src/model/node").default) => void, defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + }>; + currentNode: import("vue").Ref<{ + id: number; + text: string; + checked: boolean; + indeterminate: boolean; + data: { + [x: string]: any; + }; + expanded: boolean; + parent: any; + visible: boolean; + isCurrent: boolean; + store: any; + isLeafByUser: boolean; + isLeaf: boolean; + canFocus: boolean; + level: number; + loaded: boolean; + childNodes: any[]; + loading: boolean; + initialize: () => void; + setData: (data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData) => void; + readonly label: string; + readonly key: import("element-plus/es/components/tree/src/tree.type").TreeKey; + readonly disabled: boolean; + readonly nextSibling: any; + readonly previousSibling: any; + contains: (target: import("element-plus/es/components/tree/src/model/node").default, deep?: boolean | undefined) => boolean; + remove: () => void; + insertChild: (child?: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode | undefined, index?: number | undefined, batch?: boolean | undefined) => void; + insertBefore: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + insertAfter: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChild: (child: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChildByData: (data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData) => void; + expand: (callback?: (() => void) | undefined, expandParent?: boolean | undefined) => void; + doCreateChildren: (array: import("element-plus/es/components/tree/src/tree.type").TreeNodeData[], defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + collapse: () => void; + shouldLoadData: () => boolean; + updateLeafState: () => void; + setChecked: (value?: string | boolean | undefined, deep?: boolean | undefined, recursion?: boolean | undefined, passValue?: boolean | undefined) => void; + getChildren: (forceInit?: boolean | undefined) => import("element-plus/es/components/tree/src/tree.type").TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeNodeData[]; + updateChildren: () => void; + loadData: (callback: (node: import("element-plus/es/components/tree/src/model/node").default) => void, defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + }>; + dragState: import("vue").Ref<{ + showDropIndicator: boolean; + draggingNode: null; + dropNode: null; + allowDrop: boolean; + dropType: null; + }>; + el$: import("vue").Ref>; + dropIndicator$: import("vue").Ref>; + isEmpty: import("vue").ComputedRef; + filter: (value: any) => void; + getNodeKey: (node: import("element-plus/es/components/tree/src/model/node").default) => any; + getNodePath: (data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeKey) => import("element-plus/es/components/tree/src/tree.type").TreeNodeData[]; + getCheckedNodes: (leafOnly?: boolean | undefined, includeHalfChecked?: boolean | undefined) => import("element-plus/es/components/tree/src/tree.type").TreeNodeData[]; + getCheckedKeys: (leafOnly?: boolean | undefined) => import("element-plus/es/components/tree/src/tree.type").TreeKey[]; + getCurrentNode: () => import("element-plus/es/components/tree/src/tree.type").TreeNodeData; + getCurrentKey: () => any; + setCheckedNodes: (nodes: import("element-plus/es/components/tree/src/model/node").default[], leafOnly?: boolean | undefined) => void; + setCheckedKeys: (keys: any, leafOnly?: boolean | undefined) => void; + setChecked: (data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeKey, checked: boolean, deep: boolean) => void; + getHalfCheckedNodes: () => import("element-plus/es/components/tree/src/tree.type").TreeNodeData[]; + getHalfCheckedKeys: () => import("element-plus/es/components/tree/src/tree.type").TreeKey[]; + setCurrentNode: (node: import("element-plus/es/components/tree/src/model/node").default, shouldAutoExpandParent?: boolean | undefined) => void; + setCurrentKey: (key: import("element-plus/es/components/tree/src/tree.type").TreeKey, shouldAutoExpandParent?: boolean | undefined) => void; + t: import("element-plus").Translator; + getNode: (data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeKey) => import("element-plus/es/components/tree/src/model/node").default; + remove: (data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData | import("element-plus/es/components/tree/src/model/node").default) => void; + append: (data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData, parentNode: import("element-plus/es/components/tree/src/tree.type").TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeKey | import("element-plus/es/components/tree/src/model/node").default) => void; + insertBefore: (data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData, refNode: import("element-plus/es/components/tree/src/tree.type").TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeKey) => void; + insertAfter: (data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData, refNode: import("element-plus/es/components/tree/src/tree.type").TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeKey) => void; + handleNodeExpand: (nodeData: import("element-plus/es/components/tree/src/tree.type").TreeNodeData, node: import("element-plus/es/components/tree/src/model/node").default, instance: import("vue").ComponentInternalInstance) => void; + updateKeyChildren: (key: import("element-plus/es/components/tree/src/tree.type").TreeKey, data: import("element-plus/es/components/tree/src/tree.type").TreeData) => void; + }> & {} & {} & import("vue").ComponentCustomProperties) | undefined>; + selectKey: import("vue").Ref; + expandKeys: import("vue").Ref; + treeProps: import("vue").ComputedRef; + nodeKey: import("vue").ComputedRef; + onFilter: (value: string, record: import("element-plus/es/components/tree/src/tree.type").TreeNodeData) => boolean; + onHandleCheck: () => void; + onHandleSelect: (record: import("element-plus/es/components/tree/src/tree.type").TreeNodeData) => void; + onHandleCollapse: (record: import("element-plus/es/components/tree/src/tree.type").TreeNodeData) => void; + onHandleExpand: (record: import("element-plus/es/components/tree/src/tree.type").TreeNodeData) => void; + ElTree: import("element-plus/es/utils").SFCWithInstall never[]; + }; + emptyText: { + type: StringConstructor; + }; + renderAfterExpand: { + type: BooleanConstructor; + default: boolean; + }; + nodeKey: StringConstructor; + checkStrictly: BooleanConstructor; + defaultExpandAll: BooleanConstructor; + expandOnClickNode: { + type: BooleanConstructor; + default: boolean; + }; + checkOnClickNode: BooleanConstructor; + checkDescendants: { + type: BooleanConstructor; + default: boolean; + }; + autoExpandParent: { + type: BooleanConstructor; + default: boolean; + }; + defaultCheckedKeys: import("vue").PropType; + defaultExpandedKeys: import("vue").PropType; + currentNodeKey: import("vue").PropType; + renderContent: FunctionConstructor; + showCheckbox: { + type: BooleanConstructor; + default: boolean; + }; + draggable: { + type: BooleanConstructor; + default: boolean; + }; + allowDrag: FunctionConstructor; + allowDrop: FunctionConstructor; + props: { + type: import("vue").PropType; + default: () => { + children: string; + label: string; + disabled: string; + }; + }; + lazy: { + type: BooleanConstructor; + default: boolean; + }; + highlightCurrent: BooleanConstructor; + load: import("vue").PropType; + filterNodeMethod: import("vue").PropType; + accordion: BooleanConstructor; + indent: { + type: NumberConstructor; + default: number; + }; + icon: import("vue").PropType>; + }, { + ns: { + namespace: import("vue").ComputedRef; + b: (blockSuffix?: string | undefined) => string; + e: (element?: string | undefined) => string; + m: (modifier?: string | undefined) => string; + be: (blockSuffix?: string | undefined, element?: string | undefined) => string; + em: (element?: string | undefined, modifier?: string | undefined) => string; + bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string; + bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string; + is: { + (name: string, state: boolean | undefined): string; + (name: string): string; + }; + }; + store: import("vue").Ref<{ + currentNode: { + id: number; + text: string; + checked: boolean; + indeterminate: boolean; + data: { + [x: string]: any; + }; + expanded: boolean; + parent: any; + visible: boolean; + isCurrent: boolean; + store: any; + isLeafByUser: boolean; + isLeaf: boolean; + canFocus: boolean; + level: number; + loaded: boolean; + childNodes: any[]; + loading: boolean; + initialize: () => void; + setData: (data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData) => void; + readonly label: string; + readonly key: import("element-plus/es/components/tree/src/tree.type").TreeKey; + readonly disabled: boolean; + readonly nextSibling: any; + readonly previousSibling: any; + contains: (target: import("element-plus/es/components/tree/src/model/node").default, deep?: boolean | undefined) => boolean; + remove: () => void; + insertChild: (child?: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode | undefined, index?: number | undefined, batch?: boolean | undefined) => void; + insertBefore: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + insertAfter: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChild: (child: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChildByData: (data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData) => void; + expand: (callback?: (() => void) | undefined, expandParent?: boolean | undefined) => void; + doCreateChildren: (array: import("element-plus/es/components/tree/src/tree.type").TreeNodeData[], defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + collapse: () => void; + shouldLoadData: () => boolean; + updateLeafState: () => void; + setChecked: (value?: string | boolean | undefined, deep?: boolean | undefined, recursion?: boolean | undefined, passValue?: boolean | undefined) => void; + getChildren: (forceInit?: boolean | undefined) => import("element-plus/es/components/tree/src/tree.type").TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeNodeData[]; + updateChildren: () => void; + loadData: (callback: (node: import("element-plus/es/components/tree/src/model/node").default) => void, defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + }; + currentNodeKey: import("element-plus/es/components/tree/src/tree.type").TreeKey; + nodesMap: { + [x: string]: { + id: number; + text: string; + checked: boolean; + indeterminate: boolean; + data: { + [x: string]: any; + }; + expanded: boolean; + parent: any; + visible: boolean; + isCurrent: boolean; + store: any; + isLeafByUser: boolean; + isLeaf: boolean; + canFocus: boolean; + level: number; + loaded: boolean; + childNodes: any[]; + loading: boolean; + initialize: () => void; + setData: (data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData) => void; + readonly label: string; + readonly key: import("element-plus/es/components/tree/src/tree.type").TreeKey; + readonly disabled: boolean; + readonly nextSibling: any; + readonly previousSibling: any; + contains: (target: import("element-plus/es/components/tree/src/model/node").default, deep?: boolean | undefined) => boolean; + remove: () => void; + insertChild: (child?: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode | undefined, index?: number | undefined, batch?: boolean | undefined) => void; + insertBefore: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + insertAfter: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChild: (child: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChildByData: (data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData) => void; + expand: (callback?: (() => void) | undefined, expandParent?: boolean | undefined) => void; + doCreateChildren: (array: import("element-plus/es/components/tree/src/tree.type").TreeNodeData[], defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + collapse: () => void; + shouldLoadData: () => boolean; + updateLeafState: () => void; + setChecked: (value?: string | boolean | undefined, deep?: boolean | undefined, recursion?: boolean | undefined, passValue?: boolean | undefined) => void; + getChildren: (forceInit?: boolean | undefined) => import("element-plus/es/components/tree/src/tree.type").TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeNodeData[]; + updateChildren: () => void; + loadData: (callback: (node: import("element-plus/es/components/tree/src/model/node").default) => void, defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + }; + }; + root: { + id: number; + text: string; + checked: boolean; + indeterminate: boolean; + data: { + [x: string]: any; + }; + expanded: boolean; + parent: any; + visible: boolean; + isCurrent: boolean; + store: any; + isLeafByUser: boolean; + isLeaf: boolean; + canFocus: boolean; + level: number; + loaded: boolean; + childNodes: any[]; + loading: boolean; + initialize: () => void; + setData: (data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData) => void; + readonly label: string; + readonly key: import("element-plus/es/components/tree/src/tree.type").TreeKey; + readonly disabled: boolean; + readonly nextSibling: any; + readonly previousSibling: any; + contains: (target: import("element-plus/es/components/tree/src/model/node").default, deep?: boolean | undefined) => boolean; + remove: () => void; + insertChild: (child?: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode | undefined, index?: number | undefined, batch?: boolean | undefined) => void; + insertBefore: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + insertAfter: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChild: (child: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChildByData: (data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData) => void; + expand: (callback?: (() => void) | undefined, expandParent?: boolean | undefined) => void; + doCreateChildren: (array: import("element-plus/es/components/tree/src/tree.type").TreeNodeData[], defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + collapse: () => void; + shouldLoadData: () => boolean; + updateLeafState: () => void; + setChecked: (value?: string | boolean | undefined, deep?: boolean | undefined, recursion?: boolean | undefined, passValue?: boolean | undefined) => void; + getChildren: (forceInit?: boolean | undefined) => import("element-plus/es/components/tree/src/tree.type").TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeNodeData[]; + updateChildren: () => void; + loadData: (callback: (node: import("element-plus/es/components/tree/src/model/node").default) => void, defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + }; + data: { + [x: string]: any; + }[]; + lazy: boolean; + load: import("element-plus/es/components/tree/src/tree.type").LoadFunction; + filterNodeMethod: import("element-plus/es/components/tree/src/tree.type").FilterNodeMethodFunction; + key: import("element-plus/es/components/tree/src/tree.type").TreeKey; + defaultCheckedKeys: import("element-plus/es/components/tree/src/tree.type").TreeKey[]; + checkStrictly: boolean; + defaultExpandedKeys: import("element-plus/es/components/tree/src/tree.type").TreeKey[]; + autoExpandParent: boolean; + defaultExpandAll: boolean; + checkDescendants: boolean; + props: { + children?: string | undefined; + label?: string | ((data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData, node: import("element-plus/es/components/tree/src/model/node").default) => string) | undefined; + disabled?: string | ((data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData, node: import("element-plus/es/components/tree/src/model/node").default) => string) | undefined; + isLeaf?: string | ((data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData, node: import("element-plus/es/components/tree/src/model/node").default) => boolean) | undefined; + class?: ((data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData, node: import("element-plus/es/components/tree/src/model/node").default) => string | { + [key: string]: boolean; + }) | undefined; + }; + initialize: () => void; + filter: (value: any) => void; + setData: (newVal: import("element-plus/es/components/tree/src/tree.type").TreeData) => void; + getNode: (data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeKey) => import("element-plus/es/components/tree/src/model/node").default; + insertBefore: (data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData, refData: import("element-plus/es/components/tree/src/tree.type").TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeKey) => void; + insertAfter: (data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData, refData: import("element-plus/es/components/tree/src/tree.type").TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeKey) => void; + remove: (data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData | import("element-plus/es/components/tree/src/model/node").default) => void; + append: (data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData, parentData: import("element-plus/es/components/tree/src/tree.type").TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeKey | import("element-plus/es/components/tree/src/model/node").default) => void; + _initDefaultCheckedNodes: () => void; + _initDefaultCheckedNode: (node: import("element-plus/es/components/tree/src/model/node").default) => void; + setDefaultCheckedKey: (newVal: import("element-plus/es/components/tree/src/tree.type").TreeKey[]) => void; + registerNode: (node: import("element-plus/es/components/tree/src/model/node").default) => void; + deregisterNode: (node: import("element-plus/es/components/tree/src/model/node").default) => void; + getCheckedNodes: (leafOnly?: boolean | undefined, includeHalfChecked?: boolean | undefined) => import("element-plus/es/components/tree/src/tree.type").TreeNodeData[]; + getCheckedKeys: (leafOnly?: boolean | undefined) => import("element-plus/es/components/tree/src/tree.type").TreeKey[]; + getHalfCheckedNodes: () => import("element-plus/es/components/tree/src/tree.type").TreeNodeData[]; + getHalfCheckedKeys: () => import("element-plus/es/components/tree/src/tree.type").TreeKey[]; + _getAllNodes: () => import("element-plus/es/components/tree/src/model/node").default[]; + updateChildren: (key: import("element-plus/es/components/tree/src/tree.type").TreeKey, data: import("element-plus/es/components/tree/src/tree.type").TreeData) => void; + _setCheckedKeys: (key: import("element-plus/es/components/tree/src/tree.type").TreeKey, leafOnly: boolean | undefined, checkedKeys: { + [key: string]: boolean; + }) => void; + setCheckedNodes: (array: import("element-plus/es/components/tree/src/model/node").default[], leafOnly?: boolean | undefined) => void; + setCheckedKeys: (keys: import("element-plus/es/components/tree/src/tree.type").TreeKey[], leafOnly?: boolean | undefined) => void; + setDefaultExpandedKeys: (keys: import("element-plus/es/components/tree/src/tree.type").TreeKey[]) => void; + setChecked: (data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeKey, checked: boolean, deep: boolean) => void; + getCurrentNode: () => import("element-plus/es/components/tree/src/model/node").default; + setCurrentNode: (currentNode: import("element-plus/es/components/tree/src/model/node").default) => void; + setUserCurrentNode: (node: import("element-plus/es/components/tree/src/model/node").default, shouldAutoExpandParent?: boolean | undefined) => void; + setCurrentNodeKey: (key: import("element-plus/es/components/tree/src/tree.type").TreeKey, shouldAutoExpandParent?: boolean | undefined) => void; + }>; + root: import("vue").Ref<{ + id: number; + text: string; + checked: boolean; + indeterminate: boolean; + data: { + [x: string]: any; + }; + expanded: boolean; + parent: any; + visible: boolean; + isCurrent: boolean; + store: any; + isLeafByUser: boolean; + isLeaf: boolean; + canFocus: boolean; + level: number; + loaded: boolean; + childNodes: any[]; + loading: boolean; + initialize: () => void; + setData: (data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData) => void; + readonly label: string; + readonly key: import("element-plus/es/components/tree/src/tree.type").TreeKey; + readonly disabled: boolean; + readonly nextSibling: any; + readonly previousSibling: any; + contains: (target: import("element-plus/es/components/tree/src/model/node").default, deep?: boolean | undefined) => boolean; + remove: () => void; + insertChild: (child?: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode | undefined, index?: number | undefined, batch?: boolean | undefined) => void; + insertBefore: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + insertAfter: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChild: (child: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChildByData: (data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData) => void; + expand: (callback?: (() => void) | undefined, expandParent?: boolean | undefined) => void; + doCreateChildren: (array: import("element-plus/es/components/tree/src/tree.type").TreeNodeData[], defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + collapse: () => void; + shouldLoadData: () => boolean; + updateLeafState: () => void; + setChecked: (value?: string | boolean | undefined, deep?: boolean | undefined, recursion?: boolean | undefined, passValue?: boolean | undefined) => void; + getChildren: (forceInit?: boolean | undefined) => import("element-plus/es/components/tree/src/tree.type").TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeNodeData[]; + updateChildren: () => void; + loadData: (callback: (node: import("element-plus/es/components/tree/src/model/node").default) => void, defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + }>; + currentNode: import("vue").Ref<{ + id: number; + text: string; + checked: boolean; + indeterminate: boolean; + data: { + [x: string]: any; + }; + expanded: boolean; + parent: any; + visible: boolean; + isCurrent: boolean; + store: any; + isLeafByUser: boolean; + isLeaf: boolean; + canFocus: boolean; + level: number; + loaded: boolean; + childNodes: any[]; + loading: boolean; + initialize: () => void; + setData: (data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData) => void; + readonly label: string; + readonly key: import("element-plus/es/components/tree/src/tree.type").TreeKey; + readonly disabled: boolean; + readonly nextSibling: any; + readonly previousSibling: any; + contains: (target: import("element-plus/es/components/tree/src/model/node").default, deep?: boolean | undefined) => boolean; + remove: () => void; + insertChild: (child?: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode | undefined, index?: number | undefined, batch?: boolean | undefined) => void; + insertBefore: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + insertAfter: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChild: (child: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChildByData: (data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData) => void; + expand: (callback?: (() => void) | undefined, expandParent?: boolean | undefined) => void; + doCreateChildren: (array: import("element-plus/es/components/tree/src/tree.type").TreeNodeData[], defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + collapse: () => void; + shouldLoadData: () => boolean; + updateLeafState: () => void; + setChecked: (value?: string | boolean | undefined, deep?: boolean | undefined, recursion?: boolean | undefined, passValue?: boolean | undefined) => void; + getChildren: (forceInit?: boolean | undefined) => import("element-plus/es/components/tree/src/tree.type").TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeNodeData[]; + updateChildren: () => void; + loadData: (callback: (node: import("element-plus/es/components/tree/src/model/node").default) => void, defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + }>; + dragState: import("vue").Ref<{ + showDropIndicator: boolean; + draggingNode: null; + dropNode: null; + allowDrop: boolean; + dropType: null; + }>; + el$: import("vue").Ref>; + dropIndicator$: import("vue").Ref>; + isEmpty: import("vue").ComputedRef; + filter: (value: any) => void; + getNodeKey: (node: import("element-plus/es/components/tree/src/model/node").default) => any; + getNodePath: (data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeKey) => import("element-plus/es/components/tree/src/tree.type").TreeNodeData[]; + getCheckedNodes: (leafOnly?: boolean | undefined, includeHalfChecked?: boolean | undefined) => import("element-plus/es/components/tree/src/tree.type").TreeNodeData[]; + getCheckedKeys: (leafOnly?: boolean | undefined) => import("element-plus/es/components/tree/src/tree.type").TreeKey[]; + getCurrentNode: () => import("element-plus/es/components/tree/src/tree.type").TreeNodeData; + getCurrentKey: () => any; + setCheckedNodes: (nodes: import("element-plus/es/components/tree/src/model/node").default[], leafOnly?: boolean | undefined) => void; + setCheckedKeys: (keys: any, leafOnly?: boolean | undefined) => void; + setChecked: (data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeKey, checked: boolean, deep: boolean) => void; + getHalfCheckedNodes: () => import("element-plus/es/components/tree/src/tree.type").TreeNodeData[]; + getHalfCheckedKeys: () => import("element-plus/es/components/tree/src/tree.type").TreeKey[]; + setCurrentNode: (node: import("element-plus/es/components/tree/src/model/node").default, shouldAutoExpandParent?: boolean | undefined) => void; + setCurrentKey: (key: import("element-plus/es/components/tree/src/tree.type").TreeKey, shouldAutoExpandParent?: boolean | undefined) => void; + t: import("element-plus").Translator; + getNode: (data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeKey) => import("element-plus/es/components/tree/src/model/node").default; + remove: (data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData | import("element-plus/es/components/tree/src/model/node").default) => void; + append: (data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData, parentNode: import("element-plus/es/components/tree/src/tree.type").TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeKey | import("element-plus/es/components/tree/src/model/node").default) => void; + insertBefore: (data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData, refNode: import("element-plus/es/components/tree/src/tree.type").TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeKey) => void; + insertAfter: (data: import("element-plus/es/components/tree/src/tree.type").TreeNodeData, refNode: import("element-plus/es/components/tree/src/tree.type").TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeKey) => void; + handleNodeExpand: (nodeData: import("element-plus/es/components/tree/src/tree.type").TreeNodeData, node: import("element-plus/es/components/tree/src/model/node").default, instance: import("vue").ComponentInternalInstance) => void; + updateKeyChildren: (key: import("element-plus/es/components/tree/src/tree.type").TreeKey, data: import("element-plus/es/components/tree/src/tree.type").TreeData) => void; + }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("current-change" | "node-expand" | "check-change" | "node-click" | "node-contextmenu" | "node-collapse" | "check" | "node-drag-start" | "node-drag-end" | "node-drop" | "node-drag-leave" | "node-drag-enter" | "node-drag-over")[], "current-change" | "node-expand" | "check-change" | "node-click" | "node-contextmenu" | "node-collapse" | "check" | "node-drag-start" | "node-drag-end" | "node-drop" | "node-drag-leave" | "node-drag-enter" | "node-drag-over", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly never[]; + }; + emptyText: { + type: StringConstructor; + }; + renderAfterExpand: { + type: BooleanConstructor; + default: boolean; + }; + nodeKey: StringConstructor; + checkStrictly: BooleanConstructor; + defaultExpandAll: BooleanConstructor; + expandOnClickNode: { + type: BooleanConstructor; + default: boolean; + }; + checkOnClickNode: BooleanConstructor; + checkDescendants: { + type: BooleanConstructor; + default: boolean; + }; + autoExpandParent: { + type: BooleanConstructor; + default: boolean; + }; + defaultCheckedKeys: import("vue").PropType; + defaultExpandedKeys: import("vue").PropType; + currentNodeKey: import("vue").PropType; + renderContent: FunctionConstructor; + showCheckbox: { + type: BooleanConstructor; + default: boolean; + }; + draggable: { + type: BooleanConstructor; + default: boolean; + }; + allowDrag: FunctionConstructor; + allowDrop: FunctionConstructor; + props: { + type: import("vue").PropType; + default: () => { + children: string; + label: string; + disabled: string; + }; + }; + lazy: { + type: BooleanConstructor; + default: boolean; + }; + highlightCurrent: BooleanConstructor; + load: import("vue").PropType; + filterNodeMethod: import("vue").PropType; + accordion: BooleanConstructor; + indent: { + type: NumberConstructor; + default: number; + }; + icon: import("vue").PropType>; + }>> & { + "onCurrent-change"?: ((...args: any[]) => any) | undefined; + "onNode-expand"?: ((...args: any[]) => any) | undefined; + onCheck?: ((...args: any[]) => any) | undefined; + "onCheck-change"?: ((...args: any[]) => any) | undefined; + "onNode-click"?: ((...args: any[]) => any) | undefined; + "onNode-contextmenu"?: ((...args: any[]) => any) | undefined; + "onNode-collapse"?: ((...args: any[]) => any) | undefined; + "onNode-drag-start"?: ((...args: any[]) => any) | undefined; + "onNode-drag-end"?: ((...args: any[]) => any) | undefined; + "onNode-drop"?: ((...args: any[]) => any) | undefined; + "onNode-drag-leave"?: ((...args: any[]) => any) | undefined; + "onNode-drag-enter"?: ((...args: any[]) => any) | undefined; + "onNode-drag-over"?: ((...args: any[]) => any) | undefined; + }, { + data: unknown[]; + lazy: boolean; + props: import("element-plus/es/components/tree/src/tree.type").TreeOptionProps; + draggable: boolean; + checkStrictly: boolean; + accordion: boolean; + defaultExpandAll: boolean; + indent: number; + renderAfterExpand: boolean; + showCheckbox: boolean; + expandOnClickNode: boolean; + checkOnClickNode: boolean; + checkDescendants: boolean; + autoExpandParent: boolean; + highlightCurrent: boolean; + }>>; + }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("onSelect" | "onCheck")[], "onSelect" | "onCheck", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly> & { + onOnSelect?: ((...args: any[]) => any) | undefined; + onOnCheck?: ((...args: any[]) => any) | undefined; + }, { + strategy: any; + checkbox: boolean; + defaultExpandAll: boolean; + }>; + UmDistrictTreeNode: import("vue").DefineComponent<{ + title: { + type: StringConstructor; + required: true; + }; + id: { + type: null; + required: true; + }; + officeLevel: { + type: NumberConstructor; + required: false; + }; + officeLevelData: { + type: ArrayConstructor; + required: true; + }; + dictTypes: { + type: null; + required: false; + }; + }, { + props: any; + DISTRICT: string; + OFFICE: string; + DISTRICTAREA: string; + dict: import("vue").ComputedRef; + iconClass: import("vue").ComputedRef<"icon-a-gonganjubeifen5" | "icon-gonganju" | "icon-a-bianzu171">; + Iconfont: import("vue").DefineComponent<{ + class: { + type: StringConstructor; + required: false; + }; + style: { + type: null; + required: false; + }; + type: { + type: StringConstructor; + required: true; + }; + }, { + props: any; + emit: (e: "click") => void; + iconClass: import("vue").ComputedRef; + }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "click"[], "click", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly> & { + onClick?: ((...args: any[]) => any) | undefined; + }, {}>; + }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly>, {}>; +}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "onSelect"[], "onSelect", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly { + district: string; + office: string; + }; + }; +}>> & { + onOnSelect?: ((...args: any[]) => any) | undefined; +}, { + dictTypes: any; +}>; +export default _sfc_main; diff --git a/UmTree/UmDistrictTreeNode.vue.d.ts b/UmTree/UmDistrictTreeNode.vue.d.ts new file mode 100644 index 0000000..e3c3a7f --- /dev/null +++ b/UmTree/UmDistrictTreeNode.vue.d.ts @@ -0,0 +1,85 @@ +import type { IDictTypes } from "./types"; +declare const _sfc_main: import("vue").DefineComponent<{ + title: { + type: StringConstructor; + required: true; + }; + id: { + type: null; + required: true; + }; + officeLevel: { + type: NumberConstructor; + required: false; + }; + officeLevelData: { + type: ArrayConstructor; + required: true; + }; + dictTypes: { + type: null; + required: false; + }; +}, { + props: any; + DISTRICT: string; + OFFICE: string; + DISTRICTAREA: string; + dict: import("vue").ComputedRef; + iconClass: import("vue").ComputedRef<"icon-a-gonganjubeifen5" | "icon-gonganju" | "icon-a-bianzu171">; + Iconfont: import("vue").DefineComponent<{ + class: { + type: StringConstructor; + required: false; + }; + style: { + type: null; + required: false; + }; + type: { + type: StringConstructor; + required: true; + }; + }, { + props: any; + emit: (e: "click") => void; + iconClass: import("vue").ComputedRef; + }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "click"[], "click", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly> & { + onClick?: ((...args: any[]) => any) | undefined; + }, {}>; +}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly>, {}>; +export default _sfc_main; diff --git a/UmTree/UmTree.vue.d.ts b/UmTree/UmTree.vue.d.ts new file mode 100644 index 0000000..43e5fce --- /dev/null +++ b/UmTree/UmTree.vue.d.ts @@ -0,0 +1,1533 @@ +import { TreeKey, TreeNodeData, TreeOptionProps } from "element-plus/es/components/tree/src/tree.type"; +export interface OptionProps { + children?: string; + disabled?: string; + label?: string; + value?: string; +} +/** + * props + */ +export declare enum EStrategy { + All = "all", + Child = "child" +} +declare const _sfc_main: import("vue").DefineComponent<{ + checkbox: { + type: BooleanConstructor; + required: false; + default: boolean; + }; + defaultExpandAll: { + type: BooleanConstructor; + required: false; + default: boolean; + }; + keyword: { + type: StringConstructor; + required: false; + }; + strategy: { + type: null; + required: false; + default: EStrategy; + }; + treeData: { + type: ArrayConstructor; + required: true; + }; + props: { + type: ObjectConstructor; + required: false; + }; + class: { + type: StringConstructor; + required: false; + }; +}, { + EStrategy: typeof EStrategy; + props: any; + emit: { + (e: "onSelect", v: string | number, node: TreeNodeData): void; + (e: "onCheck", checkKeys: (string | number)[]): void; + }; + treeRef: import("vue").Ref<({ + $: import("vue").ComponentInternalInstance; + $data: {}; + $props: Partial<{ + data: unknown[]; + lazy: boolean; + props: TreeOptionProps; + draggable: boolean; + checkStrictly: boolean; + accordion: boolean; + defaultExpandAll: boolean; + indent: number; + renderAfterExpand: boolean; + showCheckbox: boolean; + expandOnClickNode: boolean; + checkOnClickNode: boolean; + checkDescendants: boolean; + autoExpandParent: boolean; + highlightCurrent: boolean; + }> & Omit never[]; + }; + emptyText: { + type: StringConstructor; + }; + renderAfterExpand: { + type: BooleanConstructor; + default: boolean; + }; + nodeKey: StringConstructor; + checkStrictly: BooleanConstructor; + defaultExpandAll: BooleanConstructor; + expandOnClickNode: { + type: BooleanConstructor; + default: boolean; + }; + checkOnClickNode: BooleanConstructor; + checkDescendants: { + type: BooleanConstructor; + default: boolean; + }; + autoExpandParent: { + type: BooleanConstructor; + default: boolean; + }; + defaultCheckedKeys: import("vue").PropType; + defaultExpandedKeys: import("vue").PropType; + currentNodeKey: import("vue").PropType; + renderContent: FunctionConstructor; + showCheckbox: { + type: BooleanConstructor; + default: boolean; + }; + draggable: { + type: BooleanConstructor; + default: boolean; + }; + allowDrag: FunctionConstructor; + allowDrop: FunctionConstructor; + props: { + type: import("vue").PropType; + default: () => { + children: string; + label: string; + disabled: string; + }; + }; + lazy: { + type: BooleanConstructor; + default: boolean; + }; + highlightCurrent: BooleanConstructor; + load: import("vue").PropType; + filterNodeMethod: import("vue").PropType; + accordion: BooleanConstructor; + indent: { + type: NumberConstructor; + default: number; + }; + icon: import("vue").PropType>; + }>> & { + "onCurrent-change"?: ((...args: any[]) => any) | undefined; + "onNode-expand"?: ((...args: any[]) => any) | undefined; + onCheck?: ((...args: any[]) => any) | undefined; + "onCheck-change"?: ((...args: any[]) => any) | undefined; + "onNode-click"?: ((...args: any[]) => any) | undefined; + "onNode-contextmenu"?: ((...args: any[]) => any) | undefined; + "onNode-collapse"?: ((...args: any[]) => any) | undefined; + "onNode-drag-start"?: ((...args: any[]) => any) | undefined; + "onNode-drag-end"?: ((...args: any[]) => any) | undefined; + "onNode-drop"?: ((...args: any[]) => any) | undefined; + "onNode-drag-leave"?: ((...args: any[]) => any) | undefined; + "onNode-drag-enter"?: ((...args: any[]) => any) | undefined; + "onNode-drag-over"?: ((...args: any[]) => any) | undefined; + } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "data" | "props" | "draggable" | "defaultExpandAll" | "indent" | "lazy" | "renderAfterExpand" | "checkStrictly" | "expandOnClickNode" | "checkOnClickNode" | "checkDescendants" | "autoExpandParent" | "showCheckbox" | "highlightCurrent" | "accordion">; + $attrs: { + [x: string]: unknown; + }; + $refs: { + [x: string]: unknown; + }; + $slots: Readonly<{ + [name: string]: import("vue").Slot | undefined; + }>; + $root: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase> | null; + $parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase> | null; + $emit: (event: "current-change" | "node-expand" | "check-change" | "node-click" | "node-contextmenu" | "node-collapse" | "check" | "node-drag-start" | "node-drag-end" | "node-drop" | "node-drag-leave" | "node-drag-enter" | "node-drag-over", ...args: any[]) => void; + $el: any; + $options: import("vue").ComponentOptionsBase never[]; + }; + emptyText: { + type: StringConstructor; + }; + renderAfterExpand: { + type: BooleanConstructor; + default: boolean; + }; + nodeKey: StringConstructor; + checkStrictly: BooleanConstructor; + defaultExpandAll: BooleanConstructor; + expandOnClickNode: { + type: BooleanConstructor; + default: boolean; + }; + checkOnClickNode: BooleanConstructor; + checkDescendants: { + type: BooleanConstructor; + default: boolean; + }; + autoExpandParent: { + type: BooleanConstructor; + default: boolean; + }; + defaultCheckedKeys: import("vue").PropType; + defaultExpandedKeys: import("vue").PropType; + currentNodeKey: import("vue").PropType; + renderContent: FunctionConstructor; + showCheckbox: { + type: BooleanConstructor; + default: boolean; + }; + draggable: { + type: BooleanConstructor; + default: boolean; + }; + allowDrag: FunctionConstructor; + allowDrop: FunctionConstructor; + props: { + type: import("vue").PropType; + default: () => { + children: string; + label: string; + disabled: string; + }; + }; + lazy: { + type: BooleanConstructor; + default: boolean; + }; + highlightCurrent: BooleanConstructor; + load: import("vue").PropType; + filterNodeMethod: import("vue").PropType; + accordion: BooleanConstructor; + indent: { + type: NumberConstructor; + default: number; + }; + icon: import("vue").PropType>; + }>> & { + "onCurrent-change"?: ((...args: any[]) => any) | undefined; + "onNode-expand"?: ((...args: any[]) => any) | undefined; + onCheck?: ((...args: any[]) => any) | undefined; + "onCheck-change"?: ((...args: any[]) => any) | undefined; + "onNode-click"?: ((...args: any[]) => any) | undefined; + "onNode-contextmenu"?: ((...args: any[]) => any) | undefined; + "onNode-collapse"?: ((...args: any[]) => any) | undefined; + "onNode-drag-start"?: ((...args: any[]) => any) | undefined; + "onNode-drag-end"?: ((...args: any[]) => any) | undefined; + "onNode-drop"?: ((...args: any[]) => any) | undefined; + "onNode-drag-leave"?: ((...args: any[]) => any) | undefined; + "onNode-drag-enter"?: ((...args: any[]) => any) | undefined; + "onNode-drag-over"?: ((...args: any[]) => any) | undefined; + }, { + ns: { + namespace: import("vue").ComputedRef; + b: (blockSuffix?: string | undefined) => string; + e: (element?: string | undefined) => string; + m: (modifier?: string | undefined) => string; + be: (blockSuffix?: string | undefined, element?: string | undefined) => string; + em: (element?: string | undefined, modifier?: string | undefined) => string; + bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string; + bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string; + is: { + (name: string, state: boolean | undefined): string; + (name: string): string; + }; + }; + store: import("vue").Ref<{ + currentNode: { + id: number; + text: string; + checked: boolean; + indeterminate: boolean; + data: { + [x: string]: any; + }; + expanded: boolean; + parent: any; + visible: boolean; + isCurrent: boolean; + store: any; + isLeafByUser: boolean; + isLeaf: boolean; + canFocus: boolean; + level: number; + loaded: boolean; + childNodes: any[]; + loading: boolean; + initialize: () => void; + setData: (data: TreeNodeData) => void; + readonly label: string; + readonly key: TreeKey; + readonly disabled: boolean; + readonly nextSibling: any; + readonly previousSibling: any; + contains: (target: import("element-plus/es/components/tree/src/model/node").default, deep?: boolean | undefined) => boolean; + remove: () => void; + insertChild: (child?: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode | undefined, index?: number | undefined, batch?: boolean | undefined) => void; + insertBefore: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + insertAfter: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChild: (child: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChildByData: (data: TreeNodeData) => void; + expand: (callback?: (() => void) | undefined, expandParent?: boolean | undefined) => void; + doCreateChildren: (array: TreeNodeData[], defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + collapse: () => void; + shouldLoadData: () => boolean; + updateLeafState: () => void; + setChecked: (value?: string | boolean | undefined, deep?: boolean | undefined, recursion?: boolean | undefined, passValue?: boolean | undefined) => void; + getChildren: (forceInit?: boolean | undefined) => TreeNodeData | TreeNodeData[]; + updateChildren: () => void; + loadData: (callback: (node: import("element-plus/es/components/tree/src/model/node").default) => void, defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + }; + currentNodeKey: TreeKey; + nodesMap: { + [x: string]: { + id: number; + text: string; + checked: boolean; + indeterminate: boolean; + data: { + [x: string]: any; + }; + expanded: boolean; + parent: any; + visible: boolean; + isCurrent: boolean; + store: any; + isLeafByUser: boolean; + isLeaf: boolean; + canFocus: boolean; + level: number; + loaded: boolean; + childNodes: any[]; + loading: boolean; + initialize: () => void; + setData: (data: TreeNodeData) => void; + readonly label: string; + readonly key: TreeKey; + readonly disabled: boolean; + readonly nextSibling: any; + readonly previousSibling: any; + contains: (target: import("element-plus/es/components/tree/src/model/node").default, deep?: boolean | undefined) => boolean; + remove: () => void; + insertChild: (child?: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode | undefined, index?: number | undefined, batch?: boolean | undefined) => void; + insertBefore: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + insertAfter: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChild: (child: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChildByData: (data: TreeNodeData) => void; + expand: (callback?: (() => void) | undefined, expandParent?: boolean | undefined) => void; + doCreateChildren: (array: TreeNodeData[], defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + collapse: () => void; + shouldLoadData: () => boolean; + updateLeafState: () => void; + setChecked: (value?: string | boolean | undefined, deep?: boolean | undefined, recursion?: boolean | undefined, passValue?: boolean | undefined) => void; + getChildren: (forceInit?: boolean | undefined) => TreeNodeData | TreeNodeData[]; + updateChildren: () => void; + loadData: (callback: (node: import("element-plus/es/components/tree/src/model/node").default) => void, defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + }; + }; + root: { + id: number; + text: string; + checked: boolean; + indeterminate: boolean; + data: { + [x: string]: any; + }; + expanded: boolean; + parent: any; + visible: boolean; + isCurrent: boolean; + store: any; + isLeafByUser: boolean; + isLeaf: boolean; + canFocus: boolean; + level: number; + loaded: boolean; + childNodes: any[]; + loading: boolean; + initialize: () => void; + setData: (data: TreeNodeData) => void; + readonly label: string; + readonly key: TreeKey; + readonly disabled: boolean; + readonly nextSibling: any; + readonly previousSibling: any; + contains: (target: import("element-plus/es/components/tree/src/model/node").default, deep?: boolean | undefined) => boolean; + remove: () => void; + insertChild: (child?: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode | undefined, index?: number | undefined, batch?: boolean | undefined) => void; + insertBefore: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + insertAfter: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChild: (child: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChildByData: (data: TreeNodeData) => void; + expand: (callback?: (() => void) | undefined, expandParent?: boolean | undefined) => void; + doCreateChildren: (array: TreeNodeData[], defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + collapse: () => void; + shouldLoadData: () => boolean; + updateLeafState: () => void; + setChecked: (value?: string | boolean | undefined, deep?: boolean | undefined, recursion?: boolean | undefined, passValue?: boolean | undefined) => void; + getChildren: (forceInit?: boolean | undefined) => TreeNodeData | TreeNodeData[]; + updateChildren: () => void; + loadData: (callback: (node: import("element-plus/es/components/tree/src/model/node").default) => void, defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + }; + data: { + [x: string]: any; + }[]; + lazy: boolean; + load: import("element-plus/es/components/tree/src/tree.type").LoadFunction; + filterNodeMethod: import("element-plus/es/components/tree/src/tree.type").FilterNodeMethodFunction; + key: TreeKey; + defaultCheckedKeys: TreeKey[]; + checkStrictly: boolean; + defaultExpandedKeys: TreeKey[]; + autoExpandParent: boolean; + defaultExpandAll: boolean; + checkDescendants: boolean; + props: { + children?: string | undefined; + label?: string | ((data: TreeNodeData, node: import("element-plus/es/components/tree/src/model/node").default) => string) | undefined; + disabled?: string | ((data: TreeNodeData, node: import("element-plus/es/components/tree/src/model/node").default) => string) | undefined; + isLeaf?: string | ((data: TreeNodeData, node: import("element-plus/es/components/tree/src/model/node").default) => boolean) | undefined; + class?: ((data: TreeNodeData, node: import("element-plus/es/components/tree/src/model/node").default) => string | { + [key: string]: boolean; + }) | undefined; + }; + initialize: () => void; + filter: (value: any) => void; + setData: (newVal: import("element-plus/es/components/tree/src/tree.type").TreeData) => void; + getNode: (data: TreeNodeData | TreeKey) => import("element-plus/es/components/tree/src/model/node").default; + insertBefore: (data: TreeNodeData, refData: TreeNodeData | TreeKey) => void; + insertAfter: (data: TreeNodeData, refData: TreeNodeData | TreeKey) => void; + remove: (data: TreeNodeData | import("element-plus/es/components/tree/src/model/node").default) => void; + append: (data: TreeNodeData, parentData: TreeNodeData | TreeKey | import("element-plus/es/components/tree/src/model/node").default) => void; + _initDefaultCheckedNodes: () => void; + _initDefaultCheckedNode: (node: import("element-plus/es/components/tree/src/model/node").default) => void; + setDefaultCheckedKey: (newVal: TreeKey[]) => void; + registerNode: (node: import("element-plus/es/components/tree/src/model/node").default) => void; + deregisterNode: (node: import("element-plus/es/components/tree/src/model/node").default) => void; + getCheckedNodes: (leafOnly?: boolean | undefined, includeHalfChecked?: boolean | undefined) => TreeNodeData[]; + getCheckedKeys: (leafOnly?: boolean | undefined) => TreeKey[]; + getHalfCheckedNodes: () => TreeNodeData[]; + getHalfCheckedKeys: () => TreeKey[]; + _getAllNodes: () => import("element-plus/es/components/tree/src/model/node").default[]; + updateChildren: (key: TreeKey, data: import("element-plus/es/components/tree/src/tree.type").TreeData) => void; + _setCheckedKeys: (key: TreeKey, leafOnly: boolean | undefined, checkedKeys: { + [key: string]: boolean; + }) => void; + setCheckedNodes: (array: import("element-plus/es/components/tree/src/model/node").default[], leafOnly?: boolean | undefined) => void; + setCheckedKeys: (keys: TreeKey[], leafOnly?: boolean | undefined) => void; + setDefaultExpandedKeys: (keys: TreeKey[]) => void; + setChecked: (data: TreeNodeData | TreeKey, checked: boolean, deep: boolean) => void; + getCurrentNode: () => import("element-plus/es/components/tree/src/model/node").default; + setCurrentNode: (currentNode: import("element-plus/es/components/tree/src/model/node").default) => void; + setUserCurrentNode: (node: import("element-plus/es/components/tree/src/model/node").default, shouldAutoExpandParent?: boolean | undefined) => void; + setCurrentNodeKey: (key: TreeKey, shouldAutoExpandParent?: boolean | undefined) => void; + }>; + root: import("vue").Ref<{ + id: number; + text: string; + checked: boolean; + indeterminate: boolean; + data: { + [x: string]: any; + }; + expanded: boolean; + parent: any; + visible: boolean; + isCurrent: boolean; + store: any; + isLeafByUser: boolean; + isLeaf: boolean; + canFocus: boolean; + level: number; + loaded: boolean; + childNodes: any[]; + loading: boolean; + initialize: () => void; + setData: (data: TreeNodeData) => void; + readonly label: string; + readonly key: TreeKey; + readonly disabled: boolean; + readonly nextSibling: any; + readonly previousSibling: any; + contains: (target: import("element-plus/es/components/tree/src/model/node").default, deep?: boolean | undefined) => boolean; + remove: () => void; + insertChild: (child?: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode | undefined, index?: number | undefined, batch?: boolean | undefined) => void; + insertBefore: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + insertAfter: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChild: (child: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChildByData: (data: TreeNodeData) => void; + expand: (callback?: (() => void) | undefined, expandParent?: boolean | undefined) => void; + doCreateChildren: (array: TreeNodeData[], defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + collapse: () => void; + shouldLoadData: () => boolean; + updateLeafState: () => void; + setChecked: (value?: string | boolean | undefined, deep?: boolean | undefined, recursion?: boolean | undefined, passValue?: boolean | undefined) => void; + getChildren: (forceInit?: boolean | undefined) => TreeNodeData | TreeNodeData[]; + updateChildren: () => void; + loadData: (callback: (node: import("element-plus/es/components/tree/src/model/node").default) => void, defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + }>; + currentNode: import("vue").Ref<{ + id: number; + text: string; + checked: boolean; + indeterminate: boolean; + data: { + [x: string]: any; + }; + expanded: boolean; + parent: any; + visible: boolean; + isCurrent: boolean; + store: any; + isLeafByUser: boolean; + isLeaf: boolean; + canFocus: boolean; + level: number; + loaded: boolean; + childNodes: any[]; + loading: boolean; + initialize: () => void; + setData: (data: TreeNodeData) => void; + readonly label: string; + readonly key: TreeKey; + readonly disabled: boolean; + readonly nextSibling: any; + readonly previousSibling: any; + contains: (target: import("element-plus/es/components/tree/src/model/node").default, deep?: boolean | undefined) => boolean; + remove: () => void; + insertChild: (child?: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode | undefined, index?: number | undefined, batch?: boolean | undefined) => void; + insertBefore: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + insertAfter: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChild: (child: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChildByData: (data: TreeNodeData) => void; + expand: (callback?: (() => void) | undefined, expandParent?: boolean | undefined) => void; + doCreateChildren: (array: TreeNodeData[], defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + collapse: () => void; + shouldLoadData: () => boolean; + updateLeafState: () => void; + setChecked: (value?: string | boolean | undefined, deep?: boolean | undefined, recursion?: boolean | undefined, passValue?: boolean | undefined) => void; + getChildren: (forceInit?: boolean | undefined) => TreeNodeData | TreeNodeData[]; + updateChildren: () => void; + loadData: (callback: (node: import("element-plus/es/components/tree/src/model/node").default) => void, defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + }>; + dragState: import("vue").Ref<{ + showDropIndicator: boolean; + draggingNode: null; + dropNode: null; + allowDrop: boolean; + dropType: null; + }>; + el$: import("vue").Ref>; + dropIndicator$: import("vue").Ref>; + isEmpty: import("vue").ComputedRef; + filter: (value: any) => void; + getNodeKey: (node: import("element-plus/es/components/tree/src/model/node").default) => any; + getNodePath: (data: TreeNodeData | TreeKey) => TreeNodeData[]; + getCheckedNodes: (leafOnly?: boolean | undefined, includeHalfChecked?: boolean | undefined) => TreeNodeData[]; + getCheckedKeys: (leafOnly?: boolean | undefined) => TreeKey[]; + getCurrentNode: () => TreeNodeData; + getCurrentKey: () => any; + setCheckedNodes: (nodes: import("element-plus/es/components/tree/src/model/node").default[], leafOnly?: boolean | undefined) => void; + setCheckedKeys: (keys: any, leafOnly?: boolean | undefined) => void; + setChecked: (data: TreeNodeData | TreeKey, checked: boolean, deep: boolean) => void; + getHalfCheckedNodes: () => TreeNodeData[]; + getHalfCheckedKeys: () => TreeKey[]; + setCurrentNode: (node: import("element-plus/es/components/tree/src/model/node").default, shouldAutoExpandParent?: boolean | undefined) => void; + setCurrentKey: (key: TreeKey, shouldAutoExpandParent?: boolean | undefined) => void; + t: import("element-plus").Translator; + getNode: (data: TreeNodeData | TreeKey) => import("element-plus/es/components/tree/src/model/node").default; + remove: (data: TreeNodeData | import("element-plus/es/components/tree/src/model/node").default) => void; + append: (data: TreeNodeData, parentNode: TreeNodeData | TreeKey | import("element-plus/es/components/tree/src/model/node").default) => void; + insertBefore: (data: TreeNodeData, refNode: TreeNodeData | TreeKey) => void; + insertAfter: (data: TreeNodeData, refNode: TreeNodeData | TreeKey) => void; + handleNodeExpand: (nodeData: TreeNodeData, node: import("element-plus/es/components/tree/src/model/node").default, instance: import("vue").ComponentInternalInstance) => void; + updateKeyChildren: (key: TreeKey, data: import("element-plus/es/components/tree/src/tree.type").TreeData) => void; + }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("current-change" | "node-expand" | "check-change" | "node-click" | "node-contextmenu" | "node-collapse" | "check" | "node-drag-start" | "node-drag-end" | "node-drop" | "node-drag-leave" | "node-drag-enter" | "node-drag-over")[], string, { + data: unknown[]; + lazy: boolean; + props: TreeOptionProps; + draggable: boolean; + checkStrictly: boolean; + accordion: boolean; + defaultExpandAll: boolean; + indent: number; + renderAfterExpand: boolean; + showCheckbox: boolean; + expandOnClickNode: boolean; + checkOnClickNode: boolean; + checkDescendants: boolean; + autoExpandParent: boolean; + highlightCurrent: boolean; + }> & { + beforeCreate?: ((() => void) | (() => void)[]) | undefined; + created?: ((() => void) | (() => void)[]) | undefined; + beforeMount?: ((() => void) | (() => void)[]) | undefined; + mounted?: ((() => void) | (() => void)[]) | undefined; + beforeUpdate?: ((() => void) | (() => void)[]) | undefined; + updated?: ((() => void) | (() => void)[]) | undefined; + activated?: ((() => void) | (() => void)[]) | undefined; + deactivated?: ((() => void) | (() => void)[]) | undefined; + beforeDestroy?: ((() => void) | (() => void)[]) | undefined; + beforeUnmount?: ((() => void) | (() => void)[]) | undefined; + destroyed?: ((() => void) | (() => void)[]) | undefined; + unmounted?: ((() => void) | (() => void)[]) | undefined; + renderTracked?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined; + renderTriggered?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined; + errorCaptured?: (((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase> | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase> | null, info: string) => boolean | void)[]) | undefined; + }; + $forceUpdate: () => void; + $nextTick: typeof import("vue").nextTick; + $watch(source: string | Function, cb: Function, options?: import("vue").WatchOptions | undefined): import("vue").WatchStopHandle; + } & Readonly never[]; + }; + emptyText: { + type: StringConstructor; + }; + renderAfterExpand: { + type: BooleanConstructor; + default: boolean; + }; + nodeKey: StringConstructor; + checkStrictly: BooleanConstructor; + defaultExpandAll: BooleanConstructor; + expandOnClickNode: { + type: BooleanConstructor; + default: boolean; + }; + checkOnClickNode: BooleanConstructor; + checkDescendants: { + type: BooleanConstructor; + default: boolean; + }; + autoExpandParent: { + type: BooleanConstructor; + default: boolean; + }; + defaultCheckedKeys: import("vue").PropType; + defaultExpandedKeys: import("vue").PropType; + currentNodeKey: import("vue").PropType; + renderContent: FunctionConstructor; + showCheckbox: { + type: BooleanConstructor; + default: boolean; + }; + draggable: { + type: BooleanConstructor; + default: boolean; + }; + allowDrag: FunctionConstructor; + allowDrop: FunctionConstructor; + props: { + type: import("vue").PropType; + default: () => { + children: string; + label: string; + disabled: string; + }; + }; + lazy: { + type: BooleanConstructor; + default: boolean; + }; + highlightCurrent: BooleanConstructor; + load: import("vue").PropType; + filterNodeMethod: import("vue").PropType; + accordion: BooleanConstructor; + indent: { + type: NumberConstructor; + default: number; + }; + icon: import("vue").PropType>; + }>> & { + "onCurrent-change"?: ((...args: any[]) => any) | undefined; + "onNode-expand"?: ((...args: any[]) => any) | undefined; + onCheck?: ((...args: any[]) => any) | undefined; + "onCheck-change"?: ((...args: any[]) => any) | undefined; + "onNode-click"?: ((...args: any[]) => any) | undefined; + "onNode-contextmenu"?: ((...args: any[]) => any) | undefined; + "onNode-collapse"?: ((...args: any[]) => any) | undefined; + "onNode-drag-start"?: ((...args: any[]) => any) | undefined; + "onNode-drag-end"?: ((...args: any[]) => any) | undefined; + "onNode-drop"?: ((...args: any[]) => any) | undefined; + "onNode-drag-leave"?: ((...args: any[]) => any) | undefined; + "onNode-drag-enter"?: ((...args: any[]) => any) | undefined; + "onNode-drag-over"?: ((...args: any[]) => any) | undefined; + } & import("vue").ShallowUnwrapRef<{ + ns: { + namespace: import("vue").ComputedRef; + b: (blockSuffix?: string | undefined) => string; + e: (element?: string | undefined) => string; + m: (modifier?: string | undefined) => string; + be: (blockSuffix?: string | undefined, element?: string | undefined) => string; + em: (element?: string | undefined, modifier?: string | undefined) => string; + bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string; + bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string; + is: { + (name: string, state: boolean | undefined): string; + (name: string): string; + }; + }; + store: import("vue").Ref<{ + currentNode: { + id: number; + text: string; + checked: boolean; + indeterminate: boolean; + data: { + [x: string]: any; + }; + expanded: boolean; + parent: any; + visible: boolean; + isCurrent: boolean; + store: any; + isLeafByUser: boolean; + isLeaf: boolean; + canFocus: boolean; + level: number; + loaded: boolean; + childNodes: any[]; + loading: boolean; + initialize: () => void; + setData: (data: TreeNodeData) => void; + readonly label: string; + readonly key: TreeKey; + readonly disabled: boolean; + readonly nextSibling: any; + readonly previousSibling: any; + contains: (target: import("element-plus/es/components/tree/src/model/node").default, deep?: boolean | undefined) => boolean; + remove: () => void; + insertChild: (child?: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode | undefined, index?: number | undefined, batch?: boolean | undefined) => void; + insertBefore: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + insertAfter: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChild: (child: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChildByData: (data: TreeNodeData) => void; + expand: (callback?: (() => void) | undefined, expandParent?: boolean | undefined) => void; + doCreateChildren: (array: TreeNodeData[], defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + collapse: () => void; + shouldLoadData: () => boolean; + updateLeafState: () => void; + setChecked: (value?: string | boolean | undefined, deep?: boolean | undefined, recursion?: boolean | undefined, passValue?: boolean | undefined) => void; + getChildren: (forceInit?: boolean | undefined) => TreeNodeData | TreeNodeData[]; + updateChildren: () => void; + loadData: (callback: (node: import("element-plus/es/components/tree/src/model/node").default) => void, defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + }; + currentNodeKey: TreeKey; + nodesMap: { + [x: string]: { + id: number; + text: string; + checked: boolean; + indeterminate: boolean; + data: { + [x: string]: any; + }; + expanded: boolean; + parent: any; + visible: boolean; + isCurrent: boolean; + store: any; + isLeafByUser: boolean; + isLeaf: boolean; + canFocus: boolean; + level: number; + loaded: boolean; + childNodes: any[]; + loading: boolean; + initialize: () => void; + setData: (data: TreeNodeData) => void; + readonly label: string; + readonly key: TreeKey; + readonly disabled: boolean; + readonly nextSibling: any; + readonly previousSibling: any; + contains: (target: import("element-plus/es/components/tree/src/model/node").default, deep?: boolean | undefined) => boolean; + remove: () => void; + insertChild: (child?: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode | undefined, index?: number | undefined, batch?: boolean | undefined) => void; + insertBefore: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + insertAfter: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChild: (child: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChildByData: (data: TreeNodeData) => void; + expand: (callback?: (() => void) | undefined, expandParent?: boolean | undefined) => void; + doCreateChildren: (array: TreeNodeData[], defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + collapse: () => void; + shouldLoadData: () => boolean; + updateLeafState: () => void; + setChecked: (value?: string | boolean | undefined, deep?: boolean | undefined, recursion?: boolean | undefined, passValue?: boolean | undefined) => void; + getChildren: (forceInit?: boolean | undefined) => TreeNodeData | TreeNodeData[]; + updateChildren: () => void; + loadData: (callback: (node: import("element-plus/es/components/tree/src/model/node").default) => void, defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + }; + }; + root: { + id: number; + text: string; + checked: boolean; + indeterminate: boolean; + data: { + [x: string]: any; + }; + expanded: boolean; + parent: any; + visible: boolean; + isCurrent: boolean; + store: any; + isLeafByUser: boolean; + isLeaf: boolean; + canFocus: boolean; + level: number; + loaded: boolean; + childNodes: any[]; + loading: boolean; + initialize: () => void; + setData: (data: TreeNodeData) => void; + readonly label: string; + readonly key: TreeKey; + readonly disabled: boolean; + readonly nextSibling: any; + readonly previousSibling: any; + contains: (target: import("element-plus/es/components/tree/src/model/node").default, deep?: boolean | undefined) => boolean; + remove: () => void; + insertChild: (child?: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode | undefined, index?: number | undefined, batch?: boolean | undefined) => void; + insertBefore: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + insertAfter: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChild: (child: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChildByData: (data: TreeNodeData) => void; + expand: (callback?: (() => void) | undefined, expandParent?: boolean | undefined) => void; + doCreateChildren: (array: TreeNodeData[], defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + collapse: () => void; + shouldLoadData: () => boolean; + updateLeafState: () => void; + setChecked: (value?: string | boolean | undefined, deep?: boolean | undefined, recursion?: boolean | undefined, passValue?: boolean | undefined) => void; + getChildren: (forceInit?: boolean | undefined) => TreeNodeData | TreeNodeData[]; + updateChildren: () => void; + loadData: (callback: (node: import("element-plus/es/components/tree/src/model/node").default) => void, defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + }; + data: { + [x: string]: any; + }[]; + lazy: boolean; + load: import("element-plus/es/components/tree/src/tree.type").LoadFunction; + filterNodeMethod: import("element-plus/es/components/tree/src/tree.type").FilterNodeMethodFunction; + key: TreeKey; + defaultCheckedKeys: TreeKey[]; + checkStrictly: boolean; + defaultExpandedKeys: TreeKey[]; + autoExpandParent: boolean; + defaultExpandAll: boolean; + checkDescendants: boolean; + props: { + children?: string | undefined; + label?: string | ((data: TreeNodeData, node: import("element-plus/es/components/tree/src/model/node").default) => string) | undefined; + disabled?: string | ((data: TreeNodeData, node: import("element-plus/es/components/tree/src/model/node").default) => string) | undefined; + isLeaf?: string | ((data: TreeNodeData, node: import("element-plus/es/components/tree/src/model/node").default) => boolean) | undefined; + class?: ((data: TreeNodeData, node: import("element-plus/es/components/tree/src/model/node").default) => string | { + [key: string]: boolean; + }) | undefined; + }; + initialize: () => void; + filter: (value: any) => void; + setData: (newVal: import("element-plus/es/components/tree/src/tree.type").TreeData) => void; + getNode: (data: TreeNodeData | TreeKey) => import("element-plus/es/components/tree/src/model/node").default; + insertBefore: (data: TreeNodeData, refData: TreeNodeData | TreeKey) => void; + insertAfter: (data: TreeNodeData, refData: TreeNodeData | TreeKey) => void; + remove: (data: TreeNodeData | import("element-plus/es/components/tree/src/model/node").default) => void; + append: (data: TreeNodeData, parentData: TreeNodeData | TreeKey | import("element-plus/es/components/tree/src/model/node").default) => void; + _initDefaultCheckedNodes: () => void; + _initDefaultCheckedNode: (node: import("element-plus/es/components/tree/src/model/node").default) => void; + setDefaultCheckedKey: (newVal: TreeKey[]) => void; + registerNode: (node: import("element-plus/es/components/tree/src/model/node").default) => void; + deregisterNode: (node: import("element-plus/es/components/tree/src/model/node").default) => void; + getCheckedNodes: (leafOnly?: boolean | undefined, includeHalfChecked?: boolean | undefined) => TreeNodeData[]; + getCheckedKeys: (leafOnly?: boolean | undefined) => TreeKey[]; + getHalfCheckedNodes: () => TreeNodeData[]; + getHalfCheckedKeys: () => TreeKey[]; + _getAllNodes: () => import("element-plus/es/components/tree/src/model/node").default[]; + updateChildren: (key: TreeKey, data: import("element-plus/es/components/tree/src/tree.type").TreeData) => void; + _setCheckedKeys: (key: TreeKey, leafOnly: boolean | undefined, checkedKeys: { + [key: string]: boolean; + }) => void; + setCheckedNodes: (array: import("element-plus/es/components/tree/src/model/node").default[], leafOnly?: boolean | undefined) => void; + setCheckedKeys: (keys: TreeKey[], leafOnly?: boolean | undefined) => void; + setDefaultExpandedKeys: (keys: TreeKey[]) => void; + setChecked: (data: TreeNodeData | TreeKey, checked: boolean, deep: boolean) => void; + getCurrentNode: () => import("element-plus/es/components/tree/src/model/node").default; + setCurrentNode: (currentNode: import("element-plus/es/components/tree/src/model/node").default) => void; + setUserCurrentNode: (node: import("element-plus/es/components/tree/src/model/node").default, shouldAutoExpandParent?: boolean | undefined) => void; + setCurrentNodeKey: (key: TreeKey, shouldAutoExpandParent?: boolean | undefined) => void; + }>; + root: import("vue").Ref<{ + id: number; + text: string; + checked: boolean; + indeterminate: boolean; + data: { + [x: string]: any; + }; + expanded: boolean; + parent: any; + visible: boolean; + isCurrent: boolean; + store: any; + isLeafByUser: boolean; + isLeaf: boolean; + canFocus: boolean; + level: number; + loaded: boolean; + childNodes: any[]; + loading: boolean; + initialize: () => void; + setData: (data: TreeNodeData) => void; + readonly label: string; + readonly key: TreeKey; + readonly disabled: boolean; + readonly nextSibling: any; + readonly previousSibling: any; + contains: (target: import("element-plus/es/components/tree/src/model/node").default, deep?: boolean | undefined) => boolean; + remove: () => void; + insertChild: (child?: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode | undefined, index?: number | undefined, batch?: boolean | undefined) => void; + insertBefore: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + insertAfter: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChild: (child: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChildByData: (data: TreeNodeData) => void; + expand: (callback?: (() => void) | undefined, expandParent?: boolean | undefined) => void; + doCreateChildren: (array: TreeNodeData[], defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + collapse: () => void; + shouldLoadData: () => boolean; + updateLeafState: () => void; + setChecked: (value?: string | boolean | undefined, deep?: boolean | undefined, recursion?: boolean | undefined, passValue?: boolean | undefined) => void; + getChildren: (forceInit?: boolean | undefined) => TreeNodeData | TreeNodeData[]; + updateChildren: () => void; + loadData: (callback: (node: import("element-plus/es/components/tree/src/model/node").default) => void, defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + }>; + currentNode: import("vue").Ref<{ + id: number; + text: string; + checked: boolean; + indeterminate: boolean; + data: { + [x: string]: any; + }; + expanded: boolean; + parent: any; + visible: boolean; + isCurrent: boolean; + store: any; + isLeafByUser: boolean; + isLeaf: boolean; + canFocus: boolean; + level: number; + loaded: boolean; + childNodes: any[]; + loading: boolean; + initialize: () => void; + setData: (data: TreeNodeData) => void; + readonly label: string; + readonly key: TreeKey; + readonly disabled: boolean; + readonly nextSibling: any; + readonly previousSibling: any; + contains: (target: import("element-plus/es/components/tree/src/model/node").default, deep?: boolean | undefined) => boolean; + remove: () => void; + insertChild: (child?: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode | undefined, index?: number | undefined, batch?: boolean | undefined) => void; + insertBefore: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + insertAfter: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChild: (child: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChildByData: (data: TreeNodeData) => void; + expand: (callback?: (() => void) | undefined, expandParent?: boolean | undefined) => void; + doCreateChildren: (array: TreeNodeData[], defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + collapse: () => void; + shouldLoadData: () => boolean; + updateLeafState: () => void; + setChecked: (value?: string | boolean | undefined, deep?: boolean | undefined, recursion?: boolean | undefined, passValue?: boolean | undefined) => void; + getChildren: (forceInit?: boolean | undefined) => TreeNodeData | TreeNodeData[]; + updateChildren: () => void; + loadData: (callback: (node: import("element-plus/es/components/tree/src/model/node").default) => void, defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + }>; + dragState: import("vue").Ref<{ + showDropIndicator: boolean; + draggingNode: null; + dropNode: null; + allowDrop: boolean; + dropType: null; + }>; + el$: import("vue").Ref>; + dropIndicator$: import("vue").Ref>; + isEmpty: import("vue").ComputedRef; + filter: (value: any) => void; + getNodeKey: (node: import("element-plus/es/components/tree/src/model/node").default) => any; + getNodePath: (data: TreeNodeData | TreeKey) => TreeNodeData[]; + getCheckedNodes: (leafOnly?: boolean | undefined, includeHalfChecked?: boolean | undefined) => TreeNodeData[]; + getCheckedKeys: (leafOnly?: boolean | undefined) => TreeKey[]; + getCurrentNode: () => TreeNodeData; + getCurrentKey: () => any; + setCheckedNodes: (nodes: import("element-plus/es/components/tree/src/model/node").default[], leafOnly?: boolean | undefined) => void; + setCheckedKeys: (keys: any, leafOnly?: boolean | undefined) => void; + setChecked: (data: TreeNodeData | TreeKey, checked: boolean, deep: boolean) => void; + getHalfCheckedNodes: () => TreeNodeData[]; + getHalfCheckedKeys: () => TreeKey[]; + setCurrentNode: (node: import("element-plus/es/components/tree/src/model/node").default, shouldAutoExpandParent?: boolean | undefined) => void; + setCurrentKey: (key: TreeKey, shouldAutoExpandParent?: boolean | undefined) => void; + t: import("element-plus").Translator; + getNode: (data: TreeNodeData | TreeKey) => import("element-plus/es/components/tree/src/model/node").default; + remove: (data: TreeNodeData | import("element-plus/es/components/tree/src/model/node").default) => void; + append: (data: TreeNodeData, parentNode: TreeNodeData | TreeKey | import("element-plus/es/components/tree/src/model/node").default) => void; + insertBefore: (data: TreeNodeData, refNode: TreeNodeData | TreeKey) => void; + insertAfter: (data: TreeNodeData, refNode: TreeNodeData | TreeKey) => void; + handleNodeExpand: (nodeData: TreeNodeData, node: import("element-plus/es/components/tree/src/model/node").default, instance: import("vue").ComponentInternalInstance) => void; + updateKeyChildren: (key: TreeKey, data: import("element-plus/es/components/tree/src/tree.type").TreeData) => void; + }> & {} & {} & import("vue").ComponentCustomProperties) | undefined>; + selectKey: import("vue").Ref; + expandKeys: import("vue").Ref; + treeProps: import("vue").ComputedRef; + nodeKey: import("vue").ComputedRef; + onFilter: (value: string, record: TreeNodeData) => boolean; + onHandleCheck: () => void; + onHandleSelect: (record: TreeNodeData) => void; + onHandleCollapse: (record: TreeNodeData) => void; + onHandleExpand: (record: TreeNodeData) => void; + ElTree: import("element-plus/es/utils").SFCWithInstall never[]; + }; + emptyText: { + type: StringConstructor; + }; + renderAfterExpand: { + type: BooleanConstructor; + default: boolean; + }; + nodeKey: StringConstructor; + checkStrictly: BooleanConstructor; + defaultExpandAll: BooleanConstructor; + expandOnClickNode: { + type: BooleanConstructor; + default: boolean; + }; + checkOnClickNode: BooleanConstructor; + checkDescendants: { + type: BooleanConstructor; + default: boolean; + }; + autoExpandParent: { + type: BooleanConstructor; + default: boolean; + }; + defaultCheckedKeys: import("vue").PropType; + defaultExpandedKeys: import("vue").PropType; + currentNodeKey: import("vue").PropType; + renderContent: FunctionConstructor; + showCheckbox: { + type: BooleanConstructor; + default: boolean; + }; + draggable: { + type: BooleanConstructor; + default: boolean; + }; + allowDrag: FunctionConstructor; + allowDrop: FunctionConstructor; + props: { + type: import("vue").PropType; + default: () => { + children: string; + label: string; + disabled: string; + }; + }; + lazy: { + type: BooleanConstructor; + default: boolean; + }; + highlightCurrent: BooleanConstructor; + load: import("vue").PropType; + filterNodeMethod: import("vue").PropType; + accordion: BooleanConstructor; + indent: { + type: NumberConstructor; + default: number; + }; + icon: import("vue").PropType>; + }, { + ns: { + namespace: import("vue").ComputedRef; + b: (blockSuffix?: string | undefined) => string; + e: (element?: string | undefined) => string; + m: (modifier?: string | undefined) => string; + be: (blockSuffix?: string | undefined, element?: string | undefined) => string; + em: (element?: string | undefined, modifier?: string | undefined) => string; + bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string; + bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string; + is: { + (name: string, state: boolean | undefined): string; + (name: string): string; + }; + }; + store: import("vue").Ref<{ + currentNode: { + id: number; + text: string; + checked: boolean; + indeterminate: boolean; + data: { + [x: string]: any; + }; + expanded: boolean; + parent: any; + visible: boolean; + isCurrent: boolean; + store: any; + isLeafByUser: boolean; + isLeaf: boolean; + canFocus: boolean; + level: number; + loaded: boolean; + childNodes: any[]; + loading: boolean; + initialize: () => void; + setData: (data: TreeNodeData) => void; + readonly label: string; + readonly key: TreeKey; + readonly disabled: boolean; + readonly nextSibling: any; + readonly previousSibling: any; + contains: (target: import("element-plus/es/components/tree/src/model/node").default, deep?: boolean | undefined) => boolean; + remove: () => void; + insertChild: (child?: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode | undefined, index?: number | undefined, batch?: boolean | undefined) => void; + insertBefore: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + insertAfter: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChild: (child: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChildByData: (data: TreeNodeData) => void; + expand: (callback?: (() => void) | undefined, expandParent?: boolean | undefined) => void; + doCreateChildren: (array: TreeNodeData[], defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + collapse: () => void; + shouldLoadData: () => boolean; + updateLeafState: () => void; + setChecked: (value?: string | boolean | undefined, deep?: boolean | undefined, recursion?: boolean | undefined, passValue?: boolean | undefined) => void; + getChildren: (forceInit?: boolean | undefined) => TreeNodeData | TreeNodeData[]; + updateChildren: () => void; + loadData: (callback: (node: import("element-plus/es/components/tree/src/model/node").default) => void, defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + }; + currentNodeKey: TreeKey; + nodesMap: { + [x: string]: { + id: number; + text: string; + checked: boolean; + indeterminate: boolean; + data: { + [x: string]: any; + }; + expanded: boolean; + parent: any; + visible: boolean; + isCurrent: boolean; + store: any; + isLeafByUser: boolean; + isLeaf: boolean; + canFocus: boolean; + level: number; + loaded: boolean; + childNodes: any[]; + loading: boolean; + initialize: () => void; + setData: (data: TreeNodeData) => void; + readonly label: string; + readonly key: TreeKey; + readonly disabled: boolean; + readonly nextSibling: any; + readonly previousSibling: any; + contains: (target: import("element-plus/es/components/tree/src/model/node").default, deep?: boolean | undefined) => boolean; + remove: () => void; + insertChild: (child?: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode | undefined, index?: number | undefined, batch?: boolean | undefined) => void; + insertBefore: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + insertAfter: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChild: (child: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChildByData: (data: TreeNodeData) => void; + expand: (callback?: (() => void) | undefined, expandParent?: boolean | undefined) => void; + doCreateChildren: (array: TreeNodeData[], defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + collapse: () => void; + shouldLoadData: () => boolean; + updateLeafState: () => void; + setChecked: (value?: string | boolean | undefined, deep?: boolean | undefined, recursion?: boolean | undefined, passValue?: boolean | undefined) => void; + getChildren: (forceInit?: boolean | undefined) => TreeNodeData | TreeNodeData[]; + updateChildren: () => void; + loadData: (callback: (node: import("element-plus/es/components/tree/src/model/node").default) => void, defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + }; + }; + root: { + id: number; + text: string; + checked: boolean; + indeterminate: boolean; + data: { + [x: string]: any; + }; + expanded: boolean; + parent: any; + visible: boolean; + isCurrent: boolean; + store: any; + isLeafByUser: boolean; + isLeaf: boolean; + canFocus: boolean; + level: number; + loaded: boolean; + childNodes: any[]; + loading: boolean; + initialize: () => void; + setData: (data: TreeNodeData) => void; + readonly label: string; + readonly key: TreeKey; + readonly disabled: boolean; + readonly nextSibling: any; + readonly previousSibling: any; + contains: (target: import("element-plus/es/components/tree/src/model/node").default, deep?: boolean | undefined) => boolean; + remove: () => void; + insertChild: (child?: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode | undefined, index?: number | undefined, batch?: boolean | undefined) => void; + insertBefore: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + insertAfter: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChild: (child: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChildByData: (data: TreeNodeData) => void; + expand: (callback?: (() => void) | undefined, expandParent?: boolean | undefined) => void; + doCreateChildren: (array: TreeNodeData[], defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + collapse: () => void; + shouldLoadData: () => boolean; + updateLeafState: () => void; + setChecked: (value?: string | boolean | undefined, deep?: boolean | undefined, recursion?: boolean | undefined, passValue?: boolean | undefined) => void; + getChildren: (forceInit?: boolean | undefined) => TreeNodeData | TreeNodeData[]; + updateChildren: () => void; + loadData: (callback: (node: import("element-plus/es/components/tree/src/model/node").default) => void, defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + }; + data: { + [x: string]: any; + }[]; + lazy: boolean; + load: import("element-plus/es/components/tree/src/tree.type").LoadFunction; + filterNodeMethod: import("element-plus/es/components/tree/src/tree.type").FilterNodeMethodFunction; + key: TreeKey; + defaultCheckedKeys: TreeKey[]; + checkStrictly: boolean; + defaultExpandedKeys: TreeKey[]; + autoExpandParent: boolean; + defaultExpandAll: boolean; + checkDescendants: boolean; + props: { + children?: string | undefined; + label?: string | ((data: TreeNodeData, node: import("element-plus/es/components/tree/src/model/node").default) => string) | undefined; + disabled?: string | ((data: TreeNodeData, node: import("element-plus/es/components/tree/src/model/node").default) => string) | undefined; + isLeaf?: string | ((data: TreeNodeData, node: import("element-plus/es/components/tree/src/model/node").default) => boolean) | undefined; + class?: ((data: TreeNodeData, node: import("element-plus/es/components/tree/src/model/node").default) => string | { + [key: string]: boolean; + }) | undefined; + }; + initialize: () => void; + filter: (value: any) => void; + setData: (newVal: import("element-plus/es/components/tree/src/tree.type").TreeData) => void; + getNode: (data: TreeNodeData | TreeKey) => import("element-plus/es/components/tree/src/model/node").default; + insertBefore: (data: TreeNodeData, refData: TreeNodeData | TreeKey) => void; + insertAfter: (data: TreeNodeData, refData: TreeNodeData | TreeKey) => void; + remove: (data: TreeNodeData | import("element-plus/es/components/tree/src/model/node").default) => void; + append: (data: TreeNodeData, parentData: TreeNodeData | TreeKey | import("element-plus/es/components/tree/src/model/node").default) => void; + _initDefaultCheckedNodes: () => void; + _initDefaultCheckedNode: (node: import("element-plus/es/components/tree/src/model/node").default) => void; + setDefaultCheckedKey: (newVal: TreeKey[]) => void; + registerNode: (node: import("element-plus/es/components/tree/src/model/node").default) => void; + deregisterNode: (node: import("element-plus/es/components/tree/src/model/node").default) => void; + getCheckedNodes: (leafOnly?: boolean | undefined, includeHalfChecked?: boolean | undefined) => TreeNodeData[]; + getCheckedKeys: (leafOnly?: boolean | undefined) => TreeKey[]; + getHalfCheckedNodes: () => TreeNodeData[]; + getHalfCheckedKeys: () => TreeKey[]; + _getAllNodes: () => import("element-plus/es/components/tree/src/model/node").default[]; + updateChildren: (key: TreeKey, data: import("element-plus/es/components/tree/src/tree.type").TreeData) => void; + _setCheckedKeys: (key: TreeKey, leafOnly: boolean | undefined, checkedKeys: { + [key: string]: boolean; + }) => void; + setCheckedNodes: (array: import("element-plus/es/components/tree/src/model/node").default[], leafOnly?: boolean | undefined) => void; + setCheckedKeys: (keys: TreeKey[], leafOnly?: boolean | undefined) => void; + setDefaultExpandedKeys: (keys: TreeKey[]) => void; + setChecked: (data: TreeNodeData | TreeKey, checked: boolean, deep: boolean) => void; + getCurrentNode: () => import("element-plus/es/components/tree/src/model/node").default; + setCurrentNode: (currentNode: import("element-plus/es/components/tree/src/model/node").default) => void; + setUserCurrentNode: (node: import("element-plus/es/components/tree/src/model/node").default, shouldAutoExpandParent?: boolean | undefined) => void; + setCurrentNodeKey: (key: TreeKey, shouldAutoExpandParent?: boolean | undefined) => void; + }>; + root: import("vue").Ref<{ + id: number; + text: string; + checked: boolean; + indeterminate: boolean; + data: { + [x: string]: any; + }; + expanded: boolean; + parent: any; + visible: boolean; + isCurrent: boolean; + store: any; + isLeafByUser: boolean; + isLeaf: boolean; + canFocus: boolean; + level: number; + loaded: boolean; + childNodes: any[]; + loading: boolean; + initialize: () => void; + setData: (data: TreeNodeData) => void; + readonly label: string; + readonly key: TreeKey; + readonly disabled: boolean; + readonly nextSibling: any; + readonly previousSibling: any; + contains: (target: import("element-plus/es/components/tree/src/model/node").default, deep?: boolean | undefined) => boolean; + remove: () => void; + insertChild: (child?: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode | undefined, index?: number | undefined, batch?: boolean | undefined) => void; + insertBefore: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + insertAfter: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChild: (child: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChildByData: (data: TreeNodeData) => void; + expand: (callback?: (() => void) | undefined, expandParent?: boolean | undefined) => void; + doCreateChildren: (array: TreeNodeData[], defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + collapse: () => void; + shouldLoadData: () => boolean; + updateLeafState: () => void; + setChecked: (value?: string | boolean | undefined, deep?: boolean | undefined, recursion?: boolean | undefined, passValue?: boolean | undefined) => void; + getChildren: (forceInit?: boolean | undefined) => TreeNodeData | TreeNodeData[]; + updateChildren: () => void; + loadData: (callback: (node: import("element-plus/es/components/tree/src/model/node").default) => void, defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + }>; + currentNode: import("vue").Ref<{ + id: number; + text: string; + checked: boolean; + indeterminate: boolean; + data: { + [x: string]: any; + }; + expanded: boolean; + parent: any; + visible: boolean; + isCurrent: boolean; + store: any; + isLeafByUser: boolean; + isLeaf: boolean; + canFocus: boolean; + level: number; + loaded: boolean; + childNodes: any[]; + loading: boolean; + initialize: () => void; + setData: (data: TreeNodeData) => void; + readonly label: string; + readonly key: TreeKey; + readonly disabled: boolean; + readonly nextSibling: any; + readonly previousSibling: any; + contains: (target: import("element-plus/es/components/tree/src/model/node").default, deep?: boolean | undefined) => boolean; + remove: () => void; + insertChild: (child?: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode | undefined, index?: number | undefined, batch?: boolean | undefined) => void; + insertBefore: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + insertAfter: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChild: (child: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChildByData: (data: TreeNodeData) => void; + expand: (callback?: (() => void) | undefined, expandParent?: boolean | undefined) => void; + doCreateChildren: (array: TreeNodeData[], defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + collapse: () => void; + shouldLoadData: () => boolean; + updateLeafState: () => void; + setChecked: (value?: string | boolean | undefined, deep?: boolean | undefined, recursion?: boolean | undefined, passValue?: boolean | undefined) => void; + getChildren: (forceInit?: boolean | undefined) => TreeNodeData | TreeNodeData[]; + updateChildren: () => void; + loadData: (callback: (node: import("element-plus/es/components/tree/src/model/node").default) => void, defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + }>; + dragState: import("vue").Ref<{ + showDropIndicator: boolean; + draggingNode: null; + dropNode: null; + allowDrop: boolean; + dropType: null; + }>; + el$: import("vue").Ref>; + dropIndicator$: import("vue").Ref>; + isEmpty: import("vue").ComputedRef; + filter: (value: any) => void; + getNodeKey: (node: import("element-plus/es/components/tree/src/model/node").default) => any; + getNodePath: (data: TreeNodeData | TreeKey) => TreeNodeData[]; + getCheckedNodes: (leafOnly?: boolean | undefined, includeHalfChecked?: boolean | undefined) => TreeNodeData[]; + getCheckedKeys: (leafOnly?: boolean | undefined) => TreeKey[]; + getCurrentNode: () => TreeNodeData; + getCurrentKey: () => any; + setCheckedNodes: (nodes: import("element-plus/es/components/tree/src/model/node").default[], leafOnly?: boolean | undefined) => void; + setCheckedKeys: (keys: any, leafOnly?: boolean | undefined) => void; + setChecked: (data: TreeNodeData | TreeKey, checked: boolean, deep: boolean) => void; + getHalfCheckedNodes: () => TreeNodeData[]; + getHalfCheckedKeys: () => TreeKey[]; + setCurrentNode: (node: import("element-plus/es/components/tree/src/model/node").default, shouldAutoExpandParent?: boolean | undefined) => void; + setCurrentKey: (key: TreeKey, shouldAutoExpandParent?: boolean | undefined) => void; + t: import("element-plus").Translator; + getNode: (data: TreeNodeData | TreeKey) => import("element-plus/es/components/tree/src/model/node").default; + remove: (data: TreeNodeData | import("element-plus/es/components/tree/src/model/node").default) => void; + append: (data: TreeNodeData, parentNode: TreeNodeData | TreeKey | import("element-plus/es/components/tree/src/model/node").default) => void; + insertBefore: (data: TreeNodeData, refNode: TreeNodeData | TreeKey) => void; + insertAfter: (data: TreeNodeData, refNode: TreeNodeData | TreeKey) => void; + handleNodeExpand: (nodeData: TreeNodeData, node: import("element-plus/es/components/tree/src/model/node").default, instance: import("vue").ComponentInternalInstance) => void; + updateKeyChildren: (key: TreeKey, data: import("element-plus/es/components/tree/src/tree.type").TreeData) => void; + }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("current-change" | "node-expand" | "check-change" | "node-click" | "node-contextmenu" | "node-collapse" | "check" | "node-drag-start" | "node-drag-end" | "node-drop" | "node-drag-leave" | "node-drag-enter" | "node-drag-over")[], "current-change" | "node-expand" | "check-change" | "node-click" | "node-contextmenu" | "node-collapse" | "check" | "node-drag-start" | "node-drag-end" | "node-drop" | "node-drag-leave" | "node-drag-enter" | "node-drag-over", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly never[]; + }; + emptyText: { + type: StringConstructor; + }; + renderAfterExpand: { + type: BooleanConstructor; + default: boolean; + }; + nodeKey: StringConstructor; + checkStrictly: BooleanConstructor; + defaultExpandAll: BooleanConstructor; + expandOnClickNode: { + type: BooleanConstructor; + default: boolean; + }; + checkOnClickNode: BooleanConstructor; + checkDescendants: { + type: BooleanConstructor; + default: boolean; + }; + autoExpandParent: { + type: BooleanConstructor; + default: boolean; + }; + defaultCheckedKeys: import("vue").PropType; + defaultExpandedKeys: import("vue").PropType; + currentNodeKey: import("vue").PropType; + renderContent: FunctionConstructor; + showCheckbox: { + type: BooleanConstructor; + default: boolean; + }; + draggable: { + type: BooleanConstructor; + default: boolean; + }; + allowDrag: FunctionConstructor; + allowDrop: FunctionConstructor; + props: { + type: import("vue").PropType; + default: () => { + children: string; + label: string; + disabled: string; + }; + }; + lazy: { + type: BooleanConstructor; + default: boolean; + }; + highlightCurrent: BooleanConstructor; + load: import("vue").PropType; + filterNodeMethod: import("vue").PropType; + accordion: BooleanConstructor; + indent: { + type: NumberConstructor; + default: number; + }; + icon: import("vue").PropType>; + }>> & { + "onCurrent-change"?: ((...args: any[]) => any) | undefined; + "onNode-expand"?: ((...args: any[]) => any) | undefined; + onCheck?: ((...args: any[]) => any) | undefined; + "onCheck-change"?: ((...args: any[]) => any) | undefined; + "onNode-click"?: ((...args: any[]) => any) | undefined; + "onNode-contextmenu"?: ((...args: any[]) => any) | undefined; + "onNode-collapse"?: ((...args: any[]) => any) | undefined; + "onNode-drag-start"?: ((...args: any[]) => any) | undefined; + "onNode-drag-end"?: ((...args: any[]) => any) | undefined; + "onNode-drop"?: ((...args: any[]) => any) | undefined; + "onNode-drag-leave"?: ((...args: any[]) => any) | undefined; + "onNode-drag-enter"?: ((...args: any[]) => any) | undefined; + "onNode-drag-over"?: ((...args: any[]) => any) | undefined; + }, { + data: unknown[]; + lazy: boolean; + props: TreeOptionProps; + draggable: boolean; + checkStrictly: boolean; + accordion: boolean; + defaultExpandAll: boolean; + indent: number; + renderAfterExpand: boolean; + showCheckbox: boolean; + expandOnClickNode: boolean; + checkOnClickNode: boolean; + checkDescendants: boolean; + autoExpandParent: boolean; + highlightCurrent: boolean; + }>>; +}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("onSelect" | "onCheck")[], "onSelect" | "onCheck", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly> & { + onOnSelect?: ((...args: any[]) => any) | undefined; + onOnCheck?: ((...args: any[]) => any) | undefined; +}, { + strategy: any; + checkbox: boolean; + defaultExpandAll: boolean; +}>; +export default _sfc_main; diff --git a/UmTree/Util.d.ts b/UmTree/Util.d.ts new file mode 100644 index 0000000..400ffeb --- /dev/null +++ b/UmTree/Util.d.ts @@ -0,0 +1,9 @@ +/** + * 简单的"取值 -> 命中缓存"辅助类。 + * 改造前它依赖 `funjialib`(需要内网 Git 凭据才能安装的私有包),现在用内置 isEmpty。 + */ +export declare class Cache { + #private; + static get(key: number | undefined | any): any; + static set(key: number | undefined | any, value: string | any): void; +} diff --git a/UmTree/types.d.ts b/UmTree/types.d.ts new file mode 100644 index 0000000..8025108 --- /dev/null +++ b/UmTree/types.d.ts @@ -0,0 +1,23 @@ +/** + * UmTree 组件族的公共类型。 + * + * 改造前 `TNodeId` / `IUmTreeExpose` 这两个类型在 UmDistrictTree / UmDistrictTreeNode + * 里被直接引用,但全仓库没有任何一处定义它们 —— 属于"编译必报错"的状态 + * (之所以一直没暴露,是因为入口 components/index.ts 没有把 UmTree 导出去)。 + */ +import type { TreeKey } from "element-plus/es/components/tree/src/tree.type"; +/** 树节点 id */ +export type TNodeId = string | number; +/** UmTree 通过 defineExpose 暴露出来的方法 */ +export interface IUmTreeExpose { + /** 设置选中的 key(checkbox 模式下为多选) */ + setSelectKey: (v: TNodeId | TNodeId[]) => void; +} +/** 节点图标判定用到的字典编码 */ +export interface IDictTypes { + /** 行政区域 */ + district?: string; + /** 派出所 */ + office?: string; +} +export type { TreeKey }; diff --git a/UmTreeSelect/UmTreeSelect.vue.d.ts b/UmTreeSelect/UmTreeSelect.vue.d.ts new file mode 100644 index 0000000..70a8be8 --- /dev/null +++ b/UmTreeSelect/UmTreeSelect.vue.d.ts @@ -0,0 +1,1651 @@ +import { TreeNodeData } from "element-plus/es/components/tree/src/tree.type"; +import { EStrategy, OptionProps } from "../UmTree/UmTree.vue"; +/** + * props + */ +export * from "../UmTree/UmTree.vue"; +declare const _sfc_main: import("vue").DefineComponent<{ + checkbox: { + type: BooleanConstructor; + required: false; + }; + class: { + type: StringConstructor; + required: false; + }; + clearable: { + type: BooleanConstructor; + required: false; + }; + defaultExpandAll: { + type: BooleanConstructor; + required: false; + default: boolean; + }; + modelValue: { + type: (NumberConstructor | ArrayConstructor | StringConstructor)[]; + required: true; + default: string; + }; + placeholder: { + type: StringConstructor; + required: false; + }; + search: { + type: BooleanConstructor; + required: false; + }; + size: { + type: null; + required: false; + }; + strategy: { + type: null; + required: false; + }; + style: { + type: null; + required: false; + }; + treeData: { + type: ArrayConstructor; + required: true; + }; + props: { + type: null; + required: false; + }; +}, { + props: any; + emit: (e: "update:modelValue", val: string | number | (string | number)[] | undefined) => void; + selectRef: import("vue").Ref; + treeRef: import("vue").Ref; + keyword: import("vue").Ref; + treeProps: import("vue").ComputedRef; + labelName: import("vue").WritableComputedRef; + umClass: import("vue").ComputedRef; + getField: (v: string | number, arrs: TreeNodeData[], v1Key: string, v2Key: string) => string; + getFields: (vals: (string | number)[], v1Key?: string, v2Key?: string) => string[]; + onCheck: (keys: (string | number)[]) => void; + onSelect: (v: string | number) => void; + onVisibleChange: (v: boolean) => void; + Search: any; + UmTree: import("vue").DefineComponent<{ + checkbox: { + type: BooleanConstructor; + required: false; + default: boolean; + }; + defaultExpandAll: { + type: BooleanConstructor; + required: false; + default: boolean; + }; + keyword: { + type: StringConstructor; + required: false; + }; + strategy: { + type: null; + required: false; + default: EStrategy; + }; + treeData: { + type: ArrayConstructor; + required: true; + }; + props: { + type: ObjectConstructor; + required: false; + }; + class: { + type: StringConstructor; + required: false; + }; + }, { + EStrategy: typeof EStrategy; + props: any; + emit: { + (e: "onSelect", v: string | number, node: TreeNodeData): void; + (e: "onCheck", checkKeys: (string | number)[]): void; + }; + treeRef: import("vue").Ref<({ + $: import("vue").ComponentInternalInstance; + $data: {}; + $props: Partial<{ + data: unknown[]; + lazy: boolean; + props: import("element-plus/es/components/tree/src/tree.type").TreeOptionProps; + draggable: boolean; + checkStrictly: boolean; + accordion: boolean; + defaultExpandAll: boolean; + indent: number; + renderAfterExpand: boolean; + showCheckbox: boolean; + expandOnClickNode: boolean; + checkOnClickNode: boolean; + checkDescendants: boolean; + autoExpandParent: boolean; + highlightCurrent: boolean; + }> & Omit never[]; + }; + emptyText: { + type: StringConstructor; + }; + renderAfterExpand: { + type: BooleanConstructor; + default: boolean; + }; + nodeKey: StringConstructor; + checkStrictly: BooleanConstructor; + defaultExpandAll: BooleanConstructor; + expandOnClickNode: { + type: BooleanConstructor; + default: boolean; + }; + checkOnClickNode: BooleanConstructor; + checkDescendants: { + type: BooleanConstructor; + default: boolean; + }; + autoExpandParent: { + type: BooleanConstructor; + default: boolean; + }; + defaultCheckedKeys: import("vue").PropType; + defaultExpandedKeys: import("vue").PropType; + currentNodeKey: import("vue").PropType; + renderContent: FunctionConstructor; + showCheckbox: { + type: BooleanConstructor; + default: boolean; + }; + draggable: { + type: BooleanConstructor; + default: boolean; + }; + allowDrag: FunctionConstructor; + allowDrop: FunctionConstructor; + props: { + type: import("vue").PropType; + default: () => { + children: string; + label: string; + disabled: string; + }; + }; + lazy: { + type: BooleanConstructor; + default: boolean; + }; + highlightCurrent: BooleanConstructor; + load: import("vue").PropType; + filterNodeMethod: import("vue").PropType; + accordion: BooleanConstructor; + indent: { + type: NumberConstructor; + default: number; + }; + icon: import("vue").PropType>; + }>> & { + "onCurrent-change"?: ((...args: any[]) => any) | undefined; + "onNode-expand"?: ((...args: any[]) => any) | undefined; + onCheck?: ((...args: any[]) => any) | undefined; + "onCheck-change"?: ((...args: any[]) => any) | undefined; + "onNode-click"?: ((...args: any[]) => any) | undefined; + "onNode-contextmenu"?: ((...args: any[]) => any) | undefined; + "onNode-collapse"?: ((...args: any[]) => any) | undefined; + "onNode-drag-start"?: ((...args: any[]) => any) | undefined; + "onNode-drag-end"?: ((...args: any[]) => any) | undefined; + "onNode-drop"?: ((...args: any[]) => any) | undefined; + "onNode-drag-leave"?: ((...args: any[]) => any) | undefined; + "onNode-drag-enter"?: ((...args: any[]) => any) | undefined; + "onNode-drag-over"?: ((...args: any[]) => any) | undefined; + } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "data" | "props" | "draggable" | "defaultExpandAll" | "indent" | "lazy" | "renderAfterExpand" | "checkStrictly" | "expandOnClickNode" | "checkOnClickNode" | "checkDescendants" | "autoExpandParent" | "showCheckbox" | "highlightCurrent" | "accordion">; + $attrs: { + [x: string]: unknown; + }; + $refs: { + [x: string]: unknown; + }; + $slots: Readonly<{ + [name: string]: import("vue").Slot | undefined; + }>; + $root: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase> | null; + $parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase> | null; + $emit: (event: "current-change" | "node-expand" | "check-change" | "node-click" | "node-contextmenu" | "node-collapse" | "check" | "node-drag-start" | "node-drag-end" | "node-drop" | "node-drag-leave" | "node-drag-enter" | "node-drag-over", ...args: any[]) => void; + $el: any; + $options: import("vue").ComponentOptionsBase never[]; + }; + emptyText: { + type: StringConstructor; + }; + renderAfterExpand: { + type: BooleanConstructor; + default: boolean; + }; + nodeKey: StringConstructor; + checkStrictly: BooleanConstructor; + defaultExpandAll: BooleanConstructor; + expandOnClickNode: { + type: BooleanConstructor; + default: boolean; + }; + checkOnClickNode: BooleanConstructor; + checkDescendants: { + type: BooleanConstructor; + default: boolean; + }; + autoExpandParent: { + type: BooleanConstructor; + default: boolean; + }; + defaultCheckedKeys: import("vue").PropType; + defaultExpandedKeys: import("vue").PropType; + currentNodeKey: import("vue").PropType; + renderContent: FunctionConstructor; + showCheckbox: { + type: BooleanConstructor; + default: boolean; + }; + draggable: { + type: BooleanConstructor; + default: boolean; + }; + allowDrag: FunctionConstructor; + allowDrop: FunctionConstructor; + props: { + type: import("vue").PropType; + default: () => { + children: string; + label: string; + disabled: string; + }; + }; + lazy: { + type: BooleanConstructor; + default: boolean; + }; + highlightCurrent: BooleanConstructor; + load: import("vue").PropType; + filterNodeMethod: import("vue").PropType; + accordion: BooleanConstructor; + indent: { + type: NumberConstructor; + default: number; + }; + icon: import("vue").PropType>; + }>> & { + "onCurrent-change"?: ((...args: any[]) => any) | undefined; + "onNode-expand"?: ((...args: any[]) => any) | undefined; + onCheck?: ((...args: any[]) => any) | undefined; + "onCheck-change"?: ((...args: any[]) => any) | undefined; + "onNode-click"?: ((...args: any[]) => any) | undefined; + "onNode-contextmenu"?: ((...args: any[]) => any) | undefined; + "onNode-collapse"?: ((...args: any[]) => any) | undefined; + "onNode-drag-start"?: ((...args: any[]) => any) | undefined; + "onNode-drag-end"?: ((...args: any[]) => any) | undefined; + "onNode-drop"?: ((...args: any[]) => any) | undefined; + "onNode-drag-leave"?: ((...args: any[]) => any) | undefined; + "onNode-drag-enter"?: ((...args: any[]) => any) | undefined; + "onNode-drag-over"?: ((...args: any[]) => any) | undefined; + }, { + ns: { + namespace: import("vue").ComputedRef; + b: (blockSuffix?: string | undefined) => string; + e: (element?: string | undefined) => string; + m: (modifier?: string | undefined) => string; + be: (blockSuffix?: string | undefined, element?: string | undefined) => string; + em: (element?: string | undefined, modifier?: string | undefined) => string; + bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string; + bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string; + is: { + (name: string, state: boolean | undefined): string; + (name: string): string; + }; + }; + store: import("vue").Ref<{ + currentNode: { + id: number; + text: string; + checked: boolean; + indeterminate: boolean; + data: { + [x: string]: any; + }; + expanded: boolean; + parent: any; + visible: boolean; + isCurrent: boolean; + store: any; + isLeafByUser: boolean; + isLeaf: boolean; + canFocus: boolean; + level: number; + loaded: boolean; + childNodes: any[]; + loading: boolean; + initialize: () => void; + setData: (data: TreeNodeData) => void; + readonly label: string; + readonly key: import("element-plus/es/components/tree/src/tree.type").TreeKey; + readonly disabled: boolean; + readonly nextSibling: any; + readonly previousSibling: any; + contains: (target: import("element-plus/es/components/tree/src/model/node").default, deep?: boolean | undefined) => boolean; + remove: () => void; + insertChild: (child?: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode | undefined, index?: number | undefined, batch?: boolean | undefined) => void; + insertBefore: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + insertAfter: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChild: (child: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChildByData: (data: TreeNodeData) => void; + expand: (callback?: (() => void) | undefined, expandParent?: boolean | undefined) => void; + doCreateChildren: (array: TreeNodeData[], defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + collapse: () => void; + shouldLoadData: () => boolean; + updateLeafState: () => void; + setChecked: (value?: string | boolean | undefined, deep?: boolean | undefined, recursion?: boolean | undefined, passValue?: boolean | undefined) => void; + getChildren: (forceInit?: boolean | undefined) => TreeNodeData | TreeNodeData[]; + updateChildren: () => void; + loadData: (callback: (node: import("element-plus/es/components/tree/src/model/node").default) => void, defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + }; + currentNodeKey: import("element-plus/es/components/tree/src/tree.type").TreeKey; + nodesMap: { + [x: string]: { + id: number; + text: string; + checked: boolean; + indeterminate: boolean; + data: { + [x: string]: any; + }; + expanded: boolean; + parent: any; + visible: boolean; + isCurrent: boolean; + store: any; + isLeafByUser: boolean; + isLeaf: boolean; + canFocus: boolean; + level: number; + loaded: boolean; + childNodes: any[]; + loading: boolean; + initialize: () => void; + setData: (data: TreeNodeData) => void; + readonly label: string; + readonly key: import("element-plus/es/components/tree/src/tree.type").TreeKey; + readonly disabled: boolean; + readonly nextSibling: any; + readonly previousSibling: any; + contains: (target: import("element-plus/es/components/tree/src/model/node").default, deep?: boolean | undefined) => boolean; + remove: () => void; + insertChild: (child?: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode | undefined, index?: number | undefined, batch?: boolean | undefined) => void; + insertBefore: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + insertAfter: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChild: (child: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChildByData: (data: TreeNodeData) => void; + expand: (callback?: (() => void) | undefined, expandParent?: boolean | undefined) => void; + doCreateChildren: (array: TreeNodeData[], defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + collapse: () => void; + shouldLoadData: () => boolean; + updateLeafState: () => void; + setChecked: (value?: string | boolean | undefined, deep?: boolean | undefined, recursion?: boolean | undefined, passValue?: boolean | undefined) => void; + getChildren: (forceInit?: boolean | undefined) => TreeNodeData | TreeNodeData[]; + updateChildren: () => void; + loadData: (callback: (node: import("element-plus/es/components/tree/src/model/node").default) => void, defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + }; + }; + root: { + id: number; + text: string; + checked: boolean; + indeterminate: boolean; + data: { + [x: string]: any; + }; + expanded: boolean; + parent: any; + visible: boolean; + isCurrent: boolean; + store: any; + isLeafByUser: boolean; + isLeaf: boolean; + canFocus: boolean; + level: number; + loaded: boolean; + childNodes: any[]; + loading: boolean; + initialize: () => void; + setData: (data: TreeNodeData) => void; + readonly label: string; + readonly key: import("element-plus/es/components/tree/src/tree.type").TreeKey; + readonly disabled: boolean; + readonly nextSibling: any; + readonly previousSibling: any; + contains: (target: import("element-plus/es/components/tree/src/model/node").default, deep?: boolean | undefined) => boolean; + remove: () => void; + insertChild: (child?: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode | undefined, index?: number | undefined, batch?: boolean | undefined) => void; + insertBefore: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + insertAfter: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChild: (child: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChildByData: (data: TreeNodeData) => void; + expand: (callback?: (() => void) | undefined, expandParent?: boolean | undefined) => void; + doCreateChildren: (array: TreeNodeData[], defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + collapse: () => void; + shouldLoadData: () => boolean; + updateLeafState: () => void; + setChecked: (value?: string | boolean | undefined, deep?: boolean | undefined, recursion?: boolean | undefined, passValue?: boolean | undefined) => void; + getChildren: (forceInit?: boolean | undefined) => TreeNodeData | TreeNodeData[]; + updateChildren: () => void; + loadData: (callback: (node: import("element-plus/es/components/tree/src/model/node").default) => void, defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + }; + data: { + [x: string]: any; + }[]; + lazy: boolean; + load: import("element-plus/es/components/tree/src/tree.type").LoadFunction; + filterNodeMethod: import("element-plus/es/components/tree/src/tree.type").FilterNodeMethodFunction; + key: import("element-plus/es/components/tree/src/tree.type").TreeKey; + defaultCheckedKeys: import("element-plus/es/components/tree/src/tree.type").TreeKey[]; + checkStrictly: boolean; + defaultExpandedKeys: import("element-plus/es/components/tree/src/tree.type").TreeKey[]; + autoExpandParent: boolean; + defaultExpandAll: boolean; + checkDescendants: boolean; + props: { + children?: string | undefined; + label?: string | ((data: TreeNodeData, node: import("element-plus/es/components/tree/src/model/node").default) => string) | undefined; + disabled?: string | ((data: TreeNodeData, node: import("element-plus/es/components/tree/src/model/node").default) => string) | undefined; + isLeaf?: string | ((data: TreeNodeData, node: import("element-plus/es/components/tree/src/model/node").default) => boolean) | undefined; + class?: ((data: TreeNodeData, node: import("element-plus/es/components/tree/src/model/node").default) => string | { + [key: string]: boolean; + }) | undefined; + }; + initialize: () => void; + filter: (value: any) => void; + setData: (newVal: import("element-plus/es/components/tree/src/tree.type").TreeData) => void; + getNode: (data: TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeKey) => import("element-plus/es/components/tree/src/model/node").default; + insertBefore: (data: TreeNodeData, refData: TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeKey) => void; + insertAfter: (data: TreeNodeData, refData: TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeKey) => void; + remove: (data: TreeNodeData | import("element-plus/es/components/tree/src/model/node").default) => void; + append: (data: TreeNodeData, parentData: TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeKey | import("element-plus/es/components/tree/src/model/node").default) => void; + _initDefaultCheckedNodes: () => void; + _initDefaultCheckedNode: (node: import("element-plus/es/components/tree/src/model/node").default) => void; + setDefaultCheckedKey: (newVal: import("element-plus/es/components/tree/src/tree.type").TreeKey[]) => void; + registerNode: (node: import("element-plus/es/components/tree/src/model/node").default) => void; + deregisterNode: (node: import("element-plus/es/components/tree/src/model/node").default) => void; + getCheckedNodes: (leafOnly?: boolean | undefined, includeHalfChecked?: boolean | undefined) => TreeNodeData[]; + getCheckedKeys: (leafOnly?: boolean | undefined) => import("element-plus/es/components/tree/src/tree.type").TreeKey[]; + getHalfCheckedNodes: () => TreeNodeData[]; + getHalfCheckedKeys: () => import("element-plus/es/components/tree/src/tree.type").TreeKey[]; + _getAllNodes: () => import("element-plus/es/components/tree/src/model/node").default[]; + updateChildren: (key: import("element-plus/es/components/tree/src/tree.type").TreeKey, data: import("element-plus/es/components/tree/src/tree.type").TreeData) => void; + _setCheckedKeys: (key: import("element-plus/es/components/tree/src/tree.type").TreeKey, leafOnly: boolean | undefined, checkedKeys: { + [key: string]: boolean; + }) => void; + setCheckedNodes: (array: import("element-plus/es/components/tree/src/model/node").default[], leafOnly?: boolean | undefined) => void; + setCheckedKeys: (keys: import("element-plus/es/components/tree/src/tree.type").TreeKey[], leafOnly?: boolean | undefined) => void; + setDefaultExpandedKeys: (keys: import("element-plus/es/components/tree/src/tree.type").TreeKey[]) => void; + setChecked: (data: TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeKey, checked: boolean, deep: boolean) => void; + getCurrentNode: () => import("element-plus/es/components/tree/src/model/node").default; + setCurrentNode: (currentNode: import("element-plus/es/components/tree/src/model/node").default) => void; + setUserCurrentNode: (node: import("element-plus/es/components/tree/src/model/node").default, shouldAutoExpandParent?: boolean | undefined) => void; + setCurrentNodeKey: (key: import("element-plus/es/components/tree/src/tree.type").TreeKey, shouldAutoExpandParent?: boolean | undefined) => void; + }>; + root: import("vue").Ref<{ + id: number; + text: string; + checked: boolean; + indeterminate: boolean; + data: { + [x: string]: any; + }; + expanded: boolean; + parent: any; + visible: boolean; + isCurrent: boolean; + store: any; + isLeafByUser: boolean; + isLeaf: boolean; + canFocus: boolean; + level: number; + loaded: boolean; + childNodes: any[]; + loading: boolean; + initialize: () => void; + setData: (data: TreeNodeData) => void; + readonly label: string; + readonly key: import("element-plus/es/components/tree/src/tree.type").TreeKey; + readonly disabled: boolean; + readonly nextSibling: any; + readonly previousSibling: any; + contains: (target: import("element-plus/es/components/tree/src/model/node").default, deep?: boolean | undefined) => boolean; + remove: () => void; + insertChild: (child?: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode | undefined, index?: number | undefined, batch?: boolean | undefined) => void; + insertBefore: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + insertAfter: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChild: (child: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChildByData: (data: TreeNodeData) => void; + expand: (callback?: (() => void) | undefined, expandParent?: boolean | undefined) => void; + doCreateChildren: (array: TreeNodeData[], defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + collapse: () => void; + shouldLoadData: () => boolean; + updateLeafState: () => void; + setChecked: (value?: string | boolean | undefined, deep?: boolean | undefined, recursion?: boolean | undefined, passValue?: boolean | undefined) => void; + getChildren: (forceInit?: boolean | undefined) => TreeNodeData | TreeNodeData[]; + updateChildren: () => void; + loadData: (callback: (node: import("element-plus/es/components/tree/src/model/node").default) => void, defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + }>; + currentNode: import("vue").Ref<{ + id: number; + text: string; + checked: boolean; + indeterminate: boolean; + data: { + [x: string]: any; + }; + expanded: boolean; + parent: any; + visible: boolean; + isCurrent: boolean; + store: any; + isLeafByUser: boolean; + isLeaf: boolean; + canFocus: boolean; + level: number; + loaded: boolean; + childNodes: any[]; + loading: boolean; + initialize: () => void; + setData: (data: TreeNodeData) => void; + readonly label: string; + readonly key: import("element-plus/es/components/tree/src/tree.type").TreeKey; + readonly disabled: boolean; + readonly nextSibling: any; + readonly previousSibling: any; + contains: (target: import("element-plus/es/components/tree/src/model/node").default, deep?: boolean | undefined) => boolean; + remove: () => void; + insertChild: (child?: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode | undefined, index?: number | undefined, batch?: boolean | undefined) => void; + insertBefore: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + insertAfter: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChild: (child: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChildByData: (data: TreeNodeData) => void; + expand: (callback?: (() => void) | undefined, expandParent?: boolean | undefined) => void; + doCreateChildren: (array: TreeNodeData[], defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + collapse: () => void; + shouldLoadData: () => boolean; + updateLeafState: () => void; + setChecked: (value?: string | boolean | undefined, deep?: boolean | undefined, recursion?: boolean | undefined, passValue?: boolean | undefined) => void; + getChildren: (forceInit?: boolean | undefined) => TreeNodeData | TreeNodeData[]; + updateChildren: () => void; + loadData: (callback: (node: import("element-plus/es/components/tree/src/model/node").default) => void, defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + }>; + dragState: import("vue").Ref<{ + showDropIndicator: boolean; + draggingNode: null; + dropNode: null; + allowDrop: boolean; + dropType: null; + }>; + el$: import("vue").Ref>; + dropIndicator$: import("vue").Ref>; + isEmpty: import("vue").ComputedRef; + filter: (value: any) => void; + getNodeKey: (node: import("element-plus/es/components/tree/src/model/node").default) => any; + getNodePath: (data: TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeKey) => TreeNodeData[]; + getCheckedNodes: (leafOnly?: boolean | undefined, includeHalfChecked?: boolean | undefined) => TreeNodeData[]; + getCheckedKeys: (leafOnly?: boolean | undefined) => import("element-plus/es/components/tree/src/tree.type").TreeKey[]; + getCurrentNode: () => TreeNodeData; + getCurrentKey: () => any; + setCheckedNodes: (nodes: import("element-plus/es/components/tree/src/model/node").default[], leafOnly?: boolean | undefined) => void; + setCheckedKeys: (keys: any, leafOnly?: boolean | undefined) => void; + setChecked: (data: TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeKey, checked: boolean, deep: boolean) => void; + getHalfCheckedNodes: () => TreeNodeData[]; + getHalfCheckedKeys: () => import("element-plus/es/components/tree/src/tree.type").TreeKey[]; + setCurrentNode: (node: import("element-plus/es/components/tree/src/model/node").default, shouldAutoExpandParent?: boolean | undefined) => void; + setCurrentKey: (key: import("element-plus/es/components/tree/src/tree.type").TreeKey, shouldAutoExpandParent?: boolean | undefined) => void; + t: import("element-plus").Translator; + getNode: (data: TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeKey) => import("element-plus/es/components/tree/src/model/node").default; + remove: (data: TreeNodeData | import("element-plus/es/components/tree/src/model/node").default) => void; + append: (data: TreeNodeData, parentNode: TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeKey | import("element-plus/es/components/tree/src/model/node").default) => void; + insertBefore: (data: TreeNodeData, refNode: TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeKey) => void; + insertAfter: (data: TreeNodeData, refNode: TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeKey) => void; + handleNodeExpand: (nodeData: TreeNodeData, node: import("element-plus/es/components/tree/src/model/node").default, instance: import("vue").ComponentInternalInstance) => void; + updateKeyChildren: (key: import("element-plus/es/components/tree/src/tree.type").TreeKey, data: import("element-plus/es/components/tree/src/tree.type").TreeData) => void; + }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("current-change" | "node-expand" | "check-change" | "node-click" | "node-contextmenu" | "node-collapse" | "check" | "node-drag-start" | "node-drag-end" | "node-drop" | "node-drag-leave" | "node-drag-enter" | "node-drag-over")[], string, { + data: unknown[]; + lazy: boolean; + props: import("element-plus/es/components/tree/src/tree.type").TreeOptionProps; + draggable: boolean; + checkStrictly: boolean; + accordion: boolean; + defaultExpandAll: boolean; + indent: number; + renderAfterExpand: boolean; + showCheckbox: boolean; + expandOnClickNode: boolean; + checkOnClickNode: boolean; + checkDescendants: boolean; + autoExpandParent: boolean; + highlightCurrent: boolean; + }> & { + beforeCreate?: ((() => void) | (() => void)[]) | undefined; + created?: ((() => void) | (() => void)[]) | undefined; + beforeMount?: ((() => void) | (() => void)[]) | undefined; + mounted?: ((() => void) | (() => void)[]) | undefined; + beforeUpdate?: ((() => void) | (() => void)[]) | undefined; + updated?: ((() => void) | (() => void)[]) | undefined; + activated?: ((() => void) | (() => void)[]) | undefined; + deactivated?: ((() => void) | (() => void)[]) | undefined; + beforeDestroy?: ((() => void) | (() => void)[]) | undefined; + beforeUnmount?: ((() => void) | (() => void)[]) | undefined; + destroyed?: ((() => void) | (() => void)[]) | undefined; + unmounted?: ((() => void) | (() => void)[]) | undefined; + renderTracked?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined; + renderTriggered?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined; + errorCaptured?: (((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase> | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase> | null, info: string) => boolean | void)[]) | undefined; + }; + $forceUpdate: () => void; + $nextTick: typeof import("vue").nextTick; + $watch(source: string | Function, cb: Function, options?: import("vue").WatchOptions | undefined): import("vue").WatchStopHandle; + } & Readonly never[]; + }; + emptyText: { + type: StringConstructor; + }; + renderAfterExpand: { + type: BooleanConstructor; + default: boolean; + }; + nodeKey: StringConstructor; + checkStrictly: BooleanConstructor; + defaultExpandAll: BooleanConstructor; + expandOnClickNode: { + type: BooleanConstructor; + default: boolean; + }; + checkOnClickNode: BooleanConstructor; + checkDescendants: { + type: BooleanConstructor; + default: boolean; + }; + autoExpandParent: { + type: BooleanConstructor; + default: boolean; + }; + defaultCheckedKeys: import("vue").PropType; + defaultExpandedKeys: import("vue").PropType; + currentNodeKey: import("vue").PropType; + renderContent: FunctionConstructor; + showCheckbox: { + type: BooleanConstructor; + default: boolean; + }; + draggable: { + type: BooleanConstructor; + default: boolean; + }; + allowDrag: FunctionConstructor; + allowDrop: FunctionConstructor; + props: { + type: import("vue").PropType; + default: () => { + children: string; + label: string; + disabled: string; + }; + }; + lazy: { + type: BooleanConstructor; + default: boolean; + }; + highlightCurrent: BooleanConstructor; + load: import("vue").PropType; + filterNodeMethod: import("vue").PropType; + accordion: BooleanConstructor; + indent: { + type: NumberConstructor; + default: number; + }; + icon: import("vue").PropType>; + }>> & { + "onCurrent-change"?: ((...args: any[]) => any) | undefined; + "onNode-expand"?: ((...args: any[]) => any) | undefined; + onCheck?: ((...args: any[]) => any) | undefined; + "onCheck-change"?: ((...args: any[]) => any) | undefined; + "onNode-click"?: ((...args: any[]) => any) | undefined; + "onNode-contextmenu"?: ((...args: any[]) => any) | undefined; + "onNode-collapse"?: ((...args: any[]) => any) | undefined; + "onNode-drag-start"?: ((...args: any[]) => any) | undefined; + "onNode-drag-end"?: ((...args: any[]) => any) | undefined; + "onNode-drop"?: ((...args: any[]) => any) | undefined; + "onNode-drag-leave"?: ((...args: any[]) => any) | undefined; + "onNode-drag-enter"?: ((...args: any[]) => any) | undefined; + "onNode-drag-over"?: ((...args: any[]) => any) | undefined; + } & import("vue").ShallowUnwrapRef<{ + ns: { + namespace: import("vue").ComputedRef; + b: (blockSuffix?: string | undefined) => string; + e: (element?: string | undefined) => string; + m: (modifier?: string | undefined) => string; + be: (blockSuffix?: string | undefined, element?: string | undefined) => string; + em: (element?: string | undefined, modifier?: string | undefined) => string; + bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string; + bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string; + is: { + (name: string, state: boolean | undefined): string; + (name: string): string; + }; + }; + store: import("vue").Ref<{ + currentNode: { + id: number; + text: string; + checked: boolean; + indeterminate: boolean; + data: { + [x: string]: any; + }; + expanded: boolean; + parent: any; + visible: boolean; + isCurrent: boolean; + store: any; + isLeafByUser: boolean; + isLeaf: boolean; + canFocus: boolean; + level: number; + loaded: boolean; + childNodes: any[]; + loading: boolean; + initialize: () => void; + setData: (data: TreeNodeData) => void; + readonly label: string; + readonly key: import("element-plus/es/components/tree/src/tree.type").TreeKey; + readonly disabled: boolean; + readonly nextSibling: any; + readonly previousSibling: any; + contains: (target: import("element-plus/es/components/tree/src/model/node").default, deep?: boolean | undefined) => boolean; + remove: () => void; + insertChild: (child?: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode | undefined, index?: number | undefined, batch?: boolean | undefined) => void; + insertBefore: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + insertAfter: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChild: (child: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChildByData: (data: TreeNodeData) => void; + expand: (callback?: (() => void) | undefined, expandParent?: boolean | undefined) => void; + doCreateChildren: (array: TreeNodeData[], defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + collapse: () => void; + shouldLoadData: () => boolean; + updateLeafState: () => void; + setChecked: (value?: string | boolean | undefined, deep?: boolean | undefined, recursion?: boolean | undefined, passValue?: boolean | undefined) => void; + getChildren: (forceInit?: boolean | undefined) => TreeNodeData | TreeNodeData[]; + updateChildren: () => void; + loadData: (callback: (node: import("element-plus/es/components/tree/src/model/node").default) => void, defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + }; + currentNodeKey: import("element-plus/es/components/tree/src/tree.type").TreeKey; + nodesMap: { + [x: string]: { + id: number; + text: string; + checked: boolean; + indeterminate: boolean; + data: { + [x: string]: any; + }; + expanded: boolean; + parent: any; + visible: boolean; + isCurrent: boolean; + store: any; + isLeafByUser: boolean; + isLeaf: boolean; + canFocus: boolean; + level: number; + loaded: boolean; + childNodes: any[]; + loading: boolean; + initialize: () => void; + setData: (data: TreeNodeData) => void; + readonly label: string; + readonly key: import("element-plus/es/components/tree/src/tree.type").TreeKey; + readonly disabled: boolean; + readonly nextSibling: any; + readonly previousSibling: any; + contains: (target: import("element-plus/es/components/tree/src/model/node").default, deep?: boolean | undefined) => boolean; + remove: () => void; + insertChild: (child?: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode | undefined, index?: number | undefined, batch?: boolean | undefined) => void; + insertBefore: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + insertAfter: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChild: (child: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChildByData: (data: TreeNodeData) => void; + expand: (callback?: (() => void) | undefined, expandParent?: boolean | undefined) => void; + doCreateChildren: (array: TreeNodeData[], defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + collapse: () => void; + shouldLoadData: () => boolean; + updateLeafState: () => void; + setChecked: (value?: string | boolean | undefined, deep?: boolean | undefined, recursion?: boolean | undefined, passValue?: boolean | undefined) => void; + getChildren: (forceInit?: boolean | undefined) => TreeNodeData | TreeNodeData[]; + updateChildren: () => void; + loadData: (callback: (node: import("element-plus/es/components/tree/src/model/node").default) => void, defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + }; + }; + root: { + id: number; + text: string; + checked: boolean; + indeterminate: boolean; + data: { + [x: string]: any; + }; + expanded: boolean; + parent: any; + visible: boolean; + isCurrent: boolean; + store: any; + isLeafByUser: boolean; + isLeaf: boolean; + canFocus: boolean; + level: number; + loaded: boolean; + childNodes: any[]; + loading: boolean; + initialize: () => void; + setData: (data: TreeNodeData) => void; + readonly label: string; + readonly key: import("element-plus/es/components/tree/src/tree.type").TreeKey; + readonly disabled: boolean; + readonly nextSibling: any; + readonly previousSibling: any; + contains: (target: import("element-plus/es/components/tree/src/model/node").default, deep?: boolean | undefined) => boolean; + remove: () => void; + insertChild: (child?: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode | undefined, index?: number | undefined, batch?: boolean | undefined) => void; + insertBefore: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + insertAfter: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChild: (child: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChildByData: (data: TreeNodeData) => void; + expand: (callback?: (() => void) | undefined, expandParent?: boolean | undefined) => void; + doCreateChildren: (array: TreeNodeData[], defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + collapse: () => void; + shouldLoadData: () => boolean; + updateLeafState: () => void; + setChecked: (value?: string | boolean | undefined, deep?: boolean | undefined, recursion?: boolean | undefined, passValue?: boolean | undefined) => void; + getChildren: (forceInit?: boolean | undefined) => TreeNodeData | TreeNodeData[]; + updateChildren: () => void; + loadData: (callback: (node: import("element-plus/es/components/tree/src/model/node").default) => void, defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + }; + data: { + [x: string]: any; + }[]; + lazy: boolean; + load: import("element-plus/es/components/tree/src/tree.type").LoadFunction; + filterNodeMethod: import("element-plus/es/components/tree/src/tree.type").FilterNodeMethodFunction; + key: import("element-plus/es/components/tree/src/tree.type").TreeKey; + defaultCheckedKeys: import("element-plus/es/components/tree/src/tree.type").TreeKey[]; + checkStrictly: boolean; + defaultExpandedKeys: import("element-plus/es/components/tree/src/tree.type").TreeKey[]; + autoExpandParent: boolean; + defaultExpandAll: boolean; + checkDescendants: boolean; + props: { + children?: string | undefined; + label?: string | ((data: TreeNodeData, node: import("element-plus/es/components/tree/src/model/node").default) => string) | undefined; + disabled?: string | ((data: TreeNodeData, node: import("element-plus/es/components/tree/src/model/node").default) => string) | undefined; + isLeaf?: string | ((data: TreeNodeData, node: import("element-plus/es/components/tree/src/model/node").default) => boolean) | undefined; + class?: ((data: TreeNodeData, node: import("element-plus/es/components/tree/src/model/node").default) => string | { + [key: string]: boolean; + }) | undefined; + }; + initialize: () => void; + filter: (value: any) => void; + setData: (newVal: import("element-plus/es/components/tree/src/tree.type").TreeData) => void; + getNode: (data: TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeKey) => import("element-plus/es/components/tree/src/model/node").default; + insertBefore: (data: TreeNodeData, refData: TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeKey) => void; + insertAfter: (data: TreeNodeData, refData: TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeKey) => void; + remove: (data: TreeNodeData | import("element-plus/es/components/tree/src/model/node").default) => void; + append: (data: TreeNodeData, parentData: TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeKey | import("element-plus/es/components/tree/src/model/node").default) => void; + _initDefaultCheckedNodes: () => void; + _initDefaultCheckedNode: (node: import("element-plus/es/components/tree/src/model/node").default) => void; + setDefaultCheckedKey: (newVal: import("element-plus/es/components/tree/src/tree.type").TreeKey[]) => void; + registerNode: (node: import("element-plus/es/components/tree/src/model/node").default) => void; + deregisterNode: (node: import("element-plus/es/components/tree/src/model/node").default) => void; + getCheckedNodes: (leafOnly?: boolean | undefined, includeHalfChecked?: boolean | undefined) => TreeNodeData[]; + getCheckedKeys: (leafOnly?: boolean | undefined) => import("element-plus/es/components/tree/src/tree.type").TreeKey[]; + getHalfCheckedNodes: () => TreeNodeData[]; + getHalfCheckedKeys: () => import("element-plus/es/components/tree/src/tree.type").TreeKey[]; + _getAllNodes: () => import("element-plus/es/components/tree/src/model/node").default[]; + updateChildren: (key: import("element-plus/es/components/tree/src/tree.type").TreeKey, data: import("element-plus/es/components/tree/src/tree.type").TreeData) => void; + _setCheckedKeys: (key: import("element-plus/es/components/tree/src/tree.type").TreeKey, leafOnly: boolean | undefined, checkedKeys: { + [key: string]: boolean; + }) => void; + setCheckedNodes: (array: import("element-plus/es/components/tree/src/model/node").default[], leafOnly?: boolean | undefined) => void; + setCheckedKeys: (keys: import("element-plus/es/components/tree/src/tree.type").TreeKey[], leafOnly?: boolean | undefined) => void; + setDefaultExpandedKeys: (keys: import("element-plus/es/components/tree/src/tree.type").TreeKey[]) => void; + setChecked: (data: TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeKey, checked: boolean, deep: boolean) => void; + getCurrentNode: () => import("element-plus/es/components/tree/src/model/node").default; + setCurrentNode: (currentNode: import("element-plus/es/components/tree/src/model/node").default) => void; + setUserCurrentNode: (node: import("element-plus/es/components/tree/src/model/node").default, shouldAutoExpandParent?: boolean | undefined) => void; + setCurrentNodeKey: (key: import("element-plus/es/components/tree/src/tree.type").TreeKey, shouldAutoExpandParent?: boolean | undefined) => void; + }>; + root: import("vue").Ref<{ + id: number; + text: string; + checked: boolean; + indeterminate: boolean; + data: { + [x: string]: any; + }; + expanded: boolean; + parent: any; + visible: boolean; + isCurrent: boolean; + store: any; + isLeafByUser: boolean; + isLeaf: boolean; + canFocus: boolean; + level: number; + loaded: boolean; + childNodes: any[]; + loading: boolean; + initialize: () => void; + setData: (data: TreeNodeData) => void; + readonly label: string; + readonly key: import("element-plus/es/components/tree/src/tree.type").TreeKey; + readonly disabled: boolean; + readonly nextSibling: any; + readonly previousSibling: any; + contains: (target: import("element-plus/es/components/tree/src/model/node").default, deep?: boolean | undefined) => boolean; + remove: () => void; + insertChild: (child?: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode | undefined, index?: number | undefined, batch?: boolean | undefined) => void; + insertBefore: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + insertAfter: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChild: (child: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChildByData: (data: TreeNodeData) => void; + expand: (callback?: (() => void) | undefined, expandParent?: boolean | undefined) => void; + doCreateChildren: (array: TreeNodeData[], defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + collapse: () => void; + shouldLoadData: () => boolean; + updateLeafState: () => void; + setChecked: (value?: string | boolean | undefined, deep?: boolean | undefined, recursion?: boolean | undefined, passValue?: boolean | undefined) => void; + getChildren: (forceInit?: boolean | undefined) => TreeNodeData | TreeNodeData[]; + updateChildren: () => void; + loadData: (callback: (node: import("element-plus/es/components/tree/src/model/node").default) => void, defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + }>; + currentNode: import("vue").Ref<{ + id: number; + text: string; + checked: boolean; + indeterminate: boolean; + data: { + [x: string]: any; + }; + expanded: boolean; + parent: any; + visible: boolean; + isCurrent: boolean; + store: any; + isLeafByUser: boolean; + isLeaf: boolean; + canFocus: boolean; + level: number; + loaded: boolean; + childNodes: any[]; + loading: boolean; + initialize: () => void; + setData: (data: TreeNodeData) => void; + readonly label: string; + readonly key: import("element-plus/es/components/tree/src/tree.type").TreeKey; + readonly disabled: boolean; + readonly nextSibling: any; + readonly previousSibling: any; + contains: (target: import("element-plus/es/components/tree/src/model/node").default, deep?: boolean | undefined) => boolean; + remove: () => void; + insertChild: (child?: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode | undefined, index?: number | undefined, batch?: boolean | undefined) => void; + insertBefore: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + insertAfter: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChild: (child: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChildByData: (data: TreeNodeData) => void; + expand: (callback?: (() => void) | undefined, expandParent?: boolean | undefined) => void; + doCreateChildren: (array: TreeNodeData[], defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + collapse: () => void; + shouldLoadData: () => boolean; + updateLeafState: () => void; + setChecked: (value?: string | boolean | undefined, deep?: boolean | undefined, recursion?: boolean | undefined, passValue?: boolean | undefined) => void; + getChildren: (forceInit?: boolean | undefined) => TreeNodeData | TreeNodeData[]; + updateChildren: () => void; + loadData: (callback: (node: import("element-plus/es/components/tree/src/model/node").default) => void, defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + }>; + dragState: import("vue").Ref<{ + showDropIndicator: boolean; + draggingNode: null; + dropNode: null; + allowDrop: boolean; + dropType: null; + }>; + el$: import("vue").Ref>; + dropIndicator$: import("vue").Ref>; + isEmpty: import("vue").ComputedRef; + filter: (value: any) => void; + getNodeKey: (node: import("element-plus/es/components/tree/src/model/node").default) => any; + getNodePath: (data: TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeKey) => TreeNodeData[]; + getCheckedNodes: (leafOnly?: boolean | undefined, includeHalfChecked?: boolean | undefined) => TreeNodeData[]; + getCheckedKeys: (leafOnly?: boolean | undefined) => import("element-plus/es/components/tree/src/tree.type").TreeKey[]; + getCurrentNode: () => TreeNodeData; + getCurrentKey: () => any; + setCheckedNodes: (nodes: import("element-plus/es/components/tree/src/model/node").default[], leafOnly?: boolean | undefined) => void; + setCheckedKeys: (keys: any, leafOnly?: boolean | undefined) => void; + setChecked: (data: TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeKey, checked: boolean, deep: boolean) => void; + getHalfCheckedNodes: () => TreeNodeData[]; + getHalfCheckedKeys: () => import("element-plus/es/components/tree/src/tree.type").TreeKey[]; + setCurrentNode: (node: import("element-plus/es/components/tree/src/model/node").default, shouldAutoExpandParent?: boolean | undefined) => void; + setCurrentKey: (key: import("element-plus/es/components/tree/src/tree.type").TreeKey, shouldAutoExpandParent?: boolean | undefined) => void; + t: import("element-plus").Translator; + getNode: (data: TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeKey) => import("element-plus/es/components/tree/src/model/node").default; + remove: (data: TreeNodeData | import("element-plus/es/components/tree/src/model/node").default) => void; + append: (data: TreeNodeData, parentNode: TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeKey | import("element-plus/es/components/tree/src/model/node").default) => void; + insertBefore: (data: TreeNodeData, refNode: TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeKey) => void; + insertAfter: (data: TreeNodeData, refNode: TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeKey) => void; + handleNodeExpand: (nodeData: TreeNodeData, node: import("element-plus/es/components/tree/src/model/node").default, instance: import("vue").ComponentInternalInstance) => void; + updateKeyChildren: (key: import("element-plus/es/components/tree/src/tree.type").TreeKey, data: import("element-plus/es/components/tree/src/tree.type").TreeData) => void; + }> & {} & {} & import("vue").ComponentCustomProperties) | undefined>; + selectKey: import("vue").Ref; + expandKeys: import("vue").Ref; + treeProps: import("vue").ComputedRef; + nodeKey: import("vue").ComputedRef; + onFilter: (value: string, record: TreeNodeData) => boolean; + onHandleCheck: () => void; + onHandleSelect: (record: TreeNodeData) => void; + onHandleCollapse: (record: TreeNodeData) => void; + onHandleExpand: (record: TreeNodeData) => void; + ElTree: import("element-plus/es/utils").SFCWithInstall never[]; + }; + emptyText: { + type: StringConstructor; + }; + renderAfterExpand: { + type: BooleanConstructor; + default: boolean; + }; + nodeKey: StringConstructor; + checkStrictly: BooleanConstructor; + defaultExpandAll: BooleanConstructor; + expandOnClickNode: { + type: BooleanConstructor; + default: boolean; + }; + checkOnClickNode: BooleanConstructor; + checkDescendants: { + type: BooleanConstructor; + default: boolean; + }; + autoExpandParent: { + type: BooleanConstructor; + default: boolean; + }; + defaultCheckedKeys: import("vue").PropType; + defaultExpandedKeys: import("vue").PropType; + currentNodeKey: import("vue").PropType; + renderContent: FunctionConstructor; + showCheckbox: { + type: BooleanConstructor; + default: boolean; + }; + draggable: { + type: BooleanConstructor; + default: boolean; + }; + allowDrag: FunctionConstructor; + allowDrop: FunctionConstructor; + props: { + type: import("vue").PropType; + default: () => { + children: string; + label: string; + disabled: string; + }; + }; + lazy: { + type: BooleanConstructor; + default: boolean; + }; + highlightCurrent: BooleanConstructor; + load: import("vue").PropType; + filterNodeMethod: import("vue").PropType; + accordion: BooleanConstructor; + indent: { + type: NumberConstructor; + default: number; + }; + icon: import("vue").PropType>; + }, { + ns: { + namespace: import("vue").ComputedRef; + b: (blockSuffix?: string | undefined) => string; + e: (element?: string | undefined) => string; + m: (modifier?: string | undefined) => string; + be: (blockSuffix?: string | undefined, element?: string | undefined) => string; + em: (element?: string | undefined, modifier?: string | undefined) => string; + bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string; + bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string; + is: { + (name: string, state: boolean | undefined): string; + (name: string): string; + }; + }; + store: import("vue").Ref<{ + currentNode: { + id: number; + text: string; + checked: boolean; + indeterminate: boolean; + data: { + [x: string]: any; + }; + expanded: boolean; + parent: any; + visible: boolean; + isCurrent: boolean; + store: any; + isLeafByUser: boolean; + isLeaf: boolean; + canFocus: boolean; + level: number; + loaded: boolean; + childNodes: any[]; + loading: boolean; + initialize: () => void; + setData: (data: TreeNodeData) => void; + readonly label: string; + readonly key: import("element-plus/es/components/tree/src/tree.type").TreeKey; + readonly disabled: boolean; + readonly nextSibling: any; + readonly previousSibling: any; + contains: (target: import("element-plus/es/components/tree/src/model/node").default, deep?: boolean | undefined) => boolean; + remove: () => void; + insertChild: (child?: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode | undefined, index?: number | undefined, batch?: boolean | undefined) => void; + insertBefore: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + insertAfter: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChild: (child: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChildByData: (data: TreeNodeData) => void; + expand: (callback?: (() => void) | undefined, expandParent?: boolean | undefined) => void; + doCreateChildren: (array: TreeNodeData[], defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + collapse: () => void; + shouldLoadData: () => boolean; + updateLeafState: () => void; + setChecked: (value?: string | boolean | undefined, deep?: boolean | undefined, recursion?: boolean | undefined, passValue?: boolean | undefined) => void; + getChildren: (forceInit?: boolean | undefined) => TreeNodeData | TreeNodeData[]; + updateChildren: () => void; + loadData: (callback: (node: import("element-plus/es/components/tree/src/model/node").default) => void, defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + }; + currentNodeKey: import("element-plus/es/components/tree/src/tree.type").TreeKey; + nodesMap: { + [x: string]: { + id: number; + text: string; + checked: boolean; + indeterminate: boolean; + data: { + [x: string]: any; + }; + expanded: boolean; + parent: any; + visible: boolean; + isCurrent: boolean; + store: any; + isLeafByUser: boolean; + isLeaf: boolean; + canFocus: boolean; + level: number; + loaded: boolean; + childNodes: any[]; + loading: boolean; + initialize: () => void; + setData: (data: TreeNodeData) => void; + readonly label: string; + readonly key: import("element-plus/es/components/tree/src/tree.type").TreeKey; + readonly disabled: boolean; + readonly nextSibling: any; + readonly previousSibling: any; + contains: (target: import("element-plus/es/components/tree/src/model/node").default, deep?: boolean | undefined) => boolean; + remove: () => void; + insertChild: (child?: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode | undefined, index?: number | undefined, batch?: boolean | undefined) => void; + insertBefore: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + insertAfter: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChild: (child: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChildByData: (data: TreeNodeData) => void; + expand: (callback?: (() => void) | undefined, expandParent?: boolean | undefined) => void; + doCreateChildren: (array: TreeNodeData[], defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + collapse: () => void; + shouldLoadData: () => boolean; + updateLeafState: () => void; + setChecked: (value?: string | boolean | undefined, deep?: boolean | undefined, recursion?: boolean | undefined, passValue?: boolean | undefined) => void; + getChildren: (forceInit?: boolean | undefined) => TreeNodeData | TreeNodeData[]; + updateChildren: () => void; + loadData: (callback: (node: import("element-plus/es/components/tree/src/model/node").default) => void, defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + }; + }; + root: { + id: number; + text: string; + checked: boolean; + indeterminate: boolean; + data: { + [x: string]: any; + }; + expanded: boolean; + parent: any; + visible: boolean; + isCurrent: boolean; + store: any; + isLeafByUser: boolean; + isLeaf: boolean; + canFocus: boolean; + level: number; + loaded: boolean; + childNodes: any[]; + loading: boolean; + initialize: () => void; + setData: (data: TreeNodeData) => void; + readonly label: string; + readonly key: import("element-plus/es/components/tree/src/tree.type").TreeKey; + readonly disabled: boolean; + readonly nextSibling: any; + readonly previousSibling: any; + contains: (target: import("element-plus/es/components/tree/src/model/node").default, deep?: boolean | undefined) => boolean; + remove: () => void; + insertChild: (child?: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode | undefined, index?: number | undefined, batch?: boolean | undefined) => void; + insertBefore: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + insertAfter: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChild: (child: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChildByData: (data: TreeNodeData) => void; + expand: (callback?: (() => void) | undefined, expandParent?: boolean | undefined) => void; + doCreateChildren: (array: TreeNodeData[], defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + collapse: () => void; + shouldLoadData: () => boolean; + updateLeafState: () => void; + setChecked: (value?: string | boolean | undefined, deep?: boolean | undefined, recursion?: boolean | undefined, passValue?: boolean | undefined) => void; + getChildren: (forceInit?: boolean | undefined) => TreeNodeData | TreeNodeData[]; + updateChildren: () => void; + loadData: (callback: (node: import("element-plus/es/components/tree/src/model/node").default) => void, defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + }; + data: { + [x: string]: any; + }[]; + lazy: boolean; + load: import("element-plus/es/components/tree/src/tree.type").LoadFunction; + filterNodeMethod: import("element-plus/es/components/tree/src/tree.type").FilterNodeMethodFunction; + key: import("element-plus/es/components/tree/src/tree.type").TreeKey; + defaultCheckedKeys: import("element-plus/es/components/tree/src/tree.type").TreeKey[]; + checkStrictly: boolean; + defaultExpandedKeys: import("element-plus/es/components/tree/src/tree.type").TreeKey[]; + autoExpandParent: boolean; + defaultExpandAll: boolean; + checkDescendants: boolean; + props: { + children?: string | undefined; + label?: string | ((data: TreeNodeData, node: import("element-plus/es/components/tree/src/model/node").default) => string) | undefined; + disabled?: string | ((data: TreeNodeData, node: import("element-plus/es/components/tree/src/model/node").default) => string) | undefined; + isLeaf?: string | ((data: TreeNodeData, node: import("element-plus/es/components/tree/src/model/node").default) => boolean) | undefined; + class?: ((data: TreeNodeData, node: import("element-plus/es/components/tree/src/model/node").default) => string | { + [key: string]: boolean; + }) | undefined; + }; + initialize: () => void; + filter: (value: any) => void; + setData: (newVal: import("element-plus/es/components/tree/src/tree.type").TreeData) => void; + getNode: (data: TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeKey) => import("element-plus/es/components/tree/src/model/node").default; + insertBefore: (data: TreeNodeData, refData: TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeKey) => void; + insertAfter: (data: TreeNodeData, refData: TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeKey) => void; + remove: (data: TreeNodeData | import("element-plus/es/components/tree/src/model/node").default) => void; + append: (data: TreeNodeData, parentData: TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeKey | import("element-plus/es/components/tree/src/model/node").default) => void; + _initDefaultCheckedNodes: () => void; + _initDefaultCheckedNode: (node: import("element-plus/es/components/tree/src/model/node").default) => void; + setDefaultCheckedKey: (newVal: import("element-plus/es/components/tree/src/tree.type").TreeKey[]) => void; + registerNode: (node: import("element-plus/es/components/tree/src/model/node").default) => void; + deregisterNode: (node: import("element-plus/es/components/tree/src/model/node").default) => void; + getCheckedNodes: (leafOnly?: boolean | undefined, includeHalfChecked?: boolean | undefined) => TreeNodeData[]; + getCheckedKeys: (leafOnly?: boolean | undefined) => import("element-plus/es/components/tree/src/tree.type").TreeKey[]; + getHalfCheckedNodes: () => TreeNodeData[]; + getHalfCheckedKeys: () => import("element-plus/es/components/tree/src/tree.type").TreeKey[]; + _getAllNodes: () => import("element-plus/es/components/tree/src/model/node").default[]; + updateChildren: (key: import("element-plus/es/components/tree/src/tree.type").TreeKey, data: import("element-plus/es/components/tree/src/tree.type").TreeData) => void; + _setCheckedKeys: (key: import("element-plus/es/components/tree/src/tree.type").TreeKey, leafOnly: boolean | undefined, checkedKeys: { + [key: string]: boolean; + }) => void; + setCheckedNodes: (array: import("element-plus/es/components/tree/src/model/node").default[], leafOnly?: boolean | undefined) => void; + setCheckedKeys: (keys: import("element-plus/es/components/tree/src/tree.type").TreeKey[], leafOnly?: boolean | undefined) => void; + setDefaultExpandedKeys: (keys: import("element-plus/es/components/tree/src/tree.type").TreeKey[]) => void; + setChecked: (data: TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeKey, checked: boolean, deep: boolean) => void; + getCurrentNode: () => import("element-plus/es/components/tree/src/model/node").default; + setCurrentNode: (currentNode: import("element-plus/es/components/tree/src/model/node").default) => void; + setUserCurrentNode: (node: import("element-plus/es/components/tree/src/model/node").default, shouldAutoExpandParent?: boolean | undefined) => void; + setCurrentNodeKey: (key: import("element-plus/es/components/tree/src/tree.type").TreeKey, shouldAutoExpandParent?: boolean | undefined) => void; + }>; + root: import("vue").Ref<{ + id: number; + text: string; + checked: boolean; + indeterminate: boolean; + data: { + [x: string]: any; + }; + expanded: boolean; + parent: any; + visible: boolean; + isCurrent: boolean; + store: any; + isLeafByUser: boolean; + isLeaf: boolean; + canFocus: boolean; + level: number; + loaded: boolean; + childNodes: any[]; + loading: boolean; + initialize: () => void; + setData: (data: TreeNodeData) => void; + readonly label: string; + readonly key: import("element-plus/es/components/tree/src/tree.type").TreeKey; + readonly disabled: boolean; + readonly nextSibling: any; + readonly previousSibling: any; + contains: (target: import("element-plus/es/components/tree/src/model/node").default, deep?: boolean | undefined) => boolean; + remove: () => void; + insertChild: (child?: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode | undefined, index?: number | undefined, batch?: boolean | undefined) => void; + insertBefore: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + insertAfter: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChild: (child: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChildByData: (data: TreeNodeData) => void; + expand: (callback?: (() => void) | undefined, expandParent?: boolean | undefined) => void; + doCreateChildren: (array: TreeNodeData[], defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + collapse: () => void; + shouldLoadData: () => boolean; + updateLeafState: () => void; + setChecked: (value?: string | boolean | undefined, deep?: boolean | undefined, recursion?: boolean | undefined, passValue?: boolean | undefined) => void; + getChildren: (forceInit?: boolean | undefined) => TreeNodeData | TreeNodeData[]; + updateChildren: () => void; + loadData: (callback: (node: import("element-plus/es/components/tree/src/model/node").default) => void, defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + }>; + currentNode: import("vue").Ref<{ + id: number; + text: string; + checked: boolean; + indeterminate: boolean; + data: { + [x: string]: any; + }; + expanded: boolean; + parent: any; + visible: boolean; + isCurrent: boolean; + store: any; + isLeafByUser: boolean; + isLeaf: boolean; + canFocus: boolean; + level: number; + loaded: boolean; + childNodes: any[]; + loading: boolean; + initialize: () => void; + setData: (data: TreeNodeData) => void; + readonly label: string; + readonly key: import("element-plus/es/components/tree/src/tree.type").TreeKey; + readonly disabled: boolean; + readonly nextSibling: any; + readonly previousSibling: any; + contains: (target: import("element-plus/es/components/tree/src/model/node").default, deep?: boolean | undefined) => boolean; + remove: () => void; + insertChild: (child?: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode | undefined, index?: number | undefined, batch?: boolean | undefined) => void; + insertBefore: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + insertAfter: (child: import("element-plus/es/components/tree/src/model/node").default | import("element-plus/es/components/tree/src/tree.type").FakeNode, ref: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChild: (child: import("element-plus/es/components/tree/src/model/node").default) => void; + removeChildByData: (data: TreeNodeData) => void; + expand: (callback?: (() => void) | undefined, expandParent?: boolean | undefined) => void; + doCreateChildren: (array: TreeNodeData[], defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + collapse: () => void; + shouldLoadData: () => boolean; + updateLeafState: () => void; + setChecked: (value?: string | boolean | undefined, deep?: boolean | undefined, recursion?: boolean | undefined, passValue?: boolean | undefined) => void; + getChildren: (forceInit?: boolean | undefined) => TreeNodeData | TreeNodeData[]; + updateChildren: () => void; + loadData: (callback: (node: import("element-plus/es/components/tree/src/model/node").default) => void, defaultProps?: import("element-plus/es/components/tree/src/tree.type").TreeNodeLoadedDefaultProps | undefined) => void; + }>; + dragState: import("vue").Ref<{ + showDropIndicator: boolean; + draggingNode: null; + dropNode: null; + allowDrop: boolean; + dropType: null; + }>; + el$: import("vue").Ref>; + dropIndicator$: import("vue").Ref>; + isEmpty: import("vue").ComputedRef; + filter: (value: any) => void; + getNodeKey: (node: import("element-plus/es/components/tree/src/model/node").default) => any; + getNodePath: (data: TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeKey) => TreeNodeData[]; + getCheckedNodes: (leafOnly?: boolean | undefined, includeHalfChecked?: boolean | undefined) => TreeNodeData[]; + getCheckedKeys: (leafOnly?: boolean | undefined) => import("element-plus/es/components/tree/src/tree.type").TreeKey[]; + getCurrentNode: () => TreeNodeData; + getCurrentKey: () => any; + setCheckedNodes: (nodes: import("element-plus/es/components/tree/src/model/node").default[], leafOnly?: boolean | undefined) => void; + setCheckedKeys: (keys: any, leafOnly?: boolean | undefined) => void; + setChecked: (data: TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeKey, checked: boolean, deep: boolean) => void; + getHalfCheckedNodes: () => TreeNodeData[]; + getHalfCheckedKeys: () => import("element-plus/es/components/tree/src/tree.type").TreeKey[]; + setCurrentNode: (node: import("element-plus/es/components/tree/src/model/node").default, shouldAutoExpandParent?: boolean | undefined) => void; + setCurrentKey: (key: import("element-plus/es/components/tree/src/tree.type").TreeKey, shouldAutoExpandParent?: boolean | undefined) => void; + t: import("element-plus").Translator; + getNode: (data: TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeKey) => import("element-plus/es/components/tree/src/model/node").default; + remove: (data: TreeNodeData | import("element-plus/es/components/tree/src/model/node").default) => void; + append: (data: TreeNodeData, parentNode: TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeKey | import("element-plus/es/components/tree/src/model/node").default) => void; + insertBefore: (data: TreeNodeData, refNode: TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeKey) => void; + insertAfter: (data: TreeNodeData, refNode: TreeNodeData | import("element-plus/es/components/tree/src/tree.type").TreeKey) => void; + handleNodeExpand: (nodeData: TreeNodeData, node: import("element-plus/es/components/tree/src/model/node").default, instance: import("vue").ComponentInternalInstance) => void; + updateKeyChildren: (key: import("element-plus/es/components/tree/src/tree.type").TreeKey, data: import("element-plus/es/components/tree/src/tree.type").TreeData) => void; + }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("current-change" | "node-expand" | "check-change" | "node-click" | "node-contextmenu" | "node-collapse" | "check" | "node-drag-start" | "node-drag-end" | "node-drop" | "node-drag-leave" | "node-drag-enter" | "node-drag-over")[], "current-change" | "node-expand" | "check-change" | "node-click" | "node-contextmenu" | "node-collapse" | "check" | "node-drag-start" | "node-drag-end" | "node-drop" | "node-drag-leave" | "node-drag-enter" | "node-drag-over", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly never[]; + }; + emptyText: { + type: StringConstructor; + }; + renderAfterExpand: { + type: BooleanConstructor; + default: boolean; + }; + nodeKey: StringConstructor; + checkStrictly: BooleanConstructor; + defaultExpandAll: BooleanConstructor; + expandOnClickNode: { + type: BooleanConstructor; + default: boolean; + }; + checkOnClickNode: BooleanConstructor; + checkDescendants: { + type: BooleanConstructor; + default: boolean; + }; + autoExpandParent: { + type: BooleanConstructor; + default: boolean; + }; + defaultCheckedKeys: import("vue").PropType; + defaultExpandedKeys: import("vue").PropType; + currentNodeKey: import("vue").PropType; + renderContent: FunctionConstructor; + showCheckbox: { + type: BooleanConstructor; + default: boolean; + }; + draggable: { + type: BooleanConstructor; + default: boolean; + }; + allowDrag: FunctionConstructor; + allowDrop: FunctionConstructor; + props: { + type: import("vue").PropType; + default: () => { + children: string; + label: string; + disabled: string; + }; + }; + lazy: { + type: BooleanConstructor; + default: boolean; + }; + highlightCurrent: BooleanConstructor; + load: import("vue").PropType; + filterNodeMethod: import("vue").PropType; + accordion: BooleanConstructor; + indent: { + type: NumberConstructor; + default: number; + }; + icon: import("vue").PropType>; + }>> & { + "onCurrent-change"?: ((...args: any[]) => any) | undefined; + "onNode-expand"?: ((...args: any[]) => any) | undefined; + onCheck?: ((...args: any[]) => any) | undefined; + "onCheck-change"?: ((...args: any[]) => any) | undefined; + "onNode-click"?: ((...args: any[]) => any) | undefined; + "onNode-contextmenu"?: ((...args: any[]) => any) | undefined; + "onNode-collapse"?: ((...args: any[]) => any) | undefined; + "onNode-drag-start"?: ((...args: any[]) => any) | undefined; + "onNode-drag-end"?: ((...args: any[]) => any) | undefined; + "onNode-drop"?: ((...args: any[]) => any) | undefined; + "onNode-drag-leave"?: ((...args: any[]) => any) | undefined; + "onNode-drag-enter"?: ((...args: any[]) => any) | undefined; + "onNode-drag-over"?: ((...args: any[]) => any) | undefined; + }, { + data: unknown[]; + lazy: boolean; + props: import("element-plus/es/components/tree/src/tree.type").TreeOptionProps; + draggable: boolean; + checkStrictly: boolean; + accordion: boolean; + defaultExpandAll: boolean; + indent: number; + renderAfterExpand: boolean; + showCheckbox: boolean; + expandOnClickNode: boolean; + checkOnClickNode: boolean; + checkDescendants: boolean; + autoExpandParent: boolean; + highlightCurrent: boolean; + }>>; + }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("onSelect" | "onCheck")[], "onSelect" | "onCheck", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly> & { + onOnSelect?: ((...args: any[]) => any) | undefined; + onOnCheck?: ((...args: any[]) => any) | undefined; + }, { + strategy: any; + checkbox: boolean; + defaultExpandAll: boolean; + }>; +}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:modelValue"[], "update:modelValue", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly> & { + "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined; +}, { + search: boolean; + modelValue: string | number | unknown[]; + checkbox: boolean; + defaultExpandAll: boolean; + clearable: boolean; +}>; +export default _sfc_main; diff --git a/funjiaui.cjs.js b/funjiaui.cjs.js new file mode 100644 index 0000000..74f591d --- /dev/null +++ b/funjiaui.cjs.js @@ -0,0 +1,15 @@ +"use strict";var Tn=(e,t,r)=>{if(!t.has(e))throw TypeError("Cannot "+r)};var st=(e,t,r)=>(Tn(e,t,"read from private field"),r?r.call(e):t.get(e)),Lt=(e,t,r)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,r)};Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});var a=require("vue"),D=require("element-plus"),Se=require("@element-plus/icons-vue"),mt=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{};/*! ***************************************************************************** +Copyright (C) Microsoft. All rights reserved. +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at http://www.apache.org/licenses/LICENSE-2.0 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */var Ut;(function(e){(function(t){var r=typeof mt=="object"?mt:typeof self=="object"?self:typeof this=="object"?this:Function("return this;")(),n=i(e);typeof r.Reflect=="undefined"?r.Reflect=e:n=i(r.Reflect,n),t(n);function i(o,s){return function(u,f){typeof o[u]!="function"&&Object.defineProperty(o,u,{configurable:!0,writable:!0,value:f}),s&&s(u,f)}}})(function(t){var r=Object.prototype.hasOwnProperty,n=typeof Symbol=="function",i=n&&typeof Symbol.toPrimitive!="undefined"?Symbol.toPrimitive:"@@toPrimitive",o=n&&typeof Symbol.iterator!="undefined"?Symbol.iterator:"@@iterator",s=typeof Object.create=="function",u={__proto__:[]}instanceof Array,f=!s&&!u,l={create:s?function(){return it(Object.create(null))}:u?function(){return it({__proto__:null})}:function(){return it({})},has:f?function(c,p){return r.call(c,p)}:function(c,p){return p in c},get:f?function(c,p){return r.call(c,p)?c[p]:void 0}:function(c,p){return c[p]}},m=Object.getPrototypeOf(Function),y=typeof process=="object"&&process["env"]&&process["env"].REFLECT_METADATA_USE_MAP_POLYFILL==="true",v=!y&&typeof Map=="function"&&typeof Map.prototype.entries=="function"?Map:En(),C=!y&&typeof Set=="function"&&typeof Set.prototype.entries=="function"?Set:$n(),d=!y&&typeof WeakMap=="function"?WeakMap:Cn(),b=new d;function h(c,p,g,F){if(x(g)){if(!X(c))throw new TypeError;if(!ye(p))throw new TypeError;return K(c,p)}else{if(!X(c))throw new TypeError;if(!L(p))throw new TypeError;if(!L(F)&&!x(F)&&!Y(F))throw new TypeError;return Y(F)&&(F=void 0),g=J(g),W(c,p,g,F)}}t("decorate",h);function w(c,p){function g(F,S){if(!L(F))throw new TypeError;if(!x(S)&&!Ae(S))throw new TypeError;A(c,p,F,S)}return g}t("metadata",w);function T(c,p,g,F){if(!L(g))throw new TypeError;return x(F)||(F=J(F)),A(c,p,g,F)}t("defineMetadata",T);function M(c,p,g){if(!L(p))throw new TypeError;return x(g)||(g=J(g)),Oe(c,p,g)}t("hasMetadata",M);function N(c,p,g){if(!L(p))throw new TypeError;return x(g)||(g=J(g)),B(c,p,g)}t("hasOwnMetadata",N);function z(c,p,g){if(!L(p))throw new TypeError;return x(g)||(g=J(g)),$(c,p,g)}t("getMetadata",z);function R(c,p,g){if(!L(p))throw new TypeError;return x(g)||(g=J(g)),_(c,p,g)}t("getOwnMetadata",R);function te(c,p){if(!L(c))throw new TypeError;return x(p)||(p=J(p)),E(c,p)}t("getMetadataKeys",te);function ae(c,p){if(!L(c))throw new TypeError;return x(p)||(p=J(p)),k(c,p)}t("getOwnMetadataKeys",ae);function fe(c,p,g){if(!L(p))throw new TypeError;x(g)||(g=J(g));var F=se(p,g,!1);if(x(F)||!F.delete(c))return!1;if(F.size>0)return!0;var S=b.get(p);return S.delete(g),S.size>0||b.delete(p),!0}t("deleteMetadata",fe);function K(c,p){for(var g=c.length-1;g>=0;--g){var F=c[g],S=F(p);if(!x(S)&&!Y(S)){if(!ye(S))throw new TypeError;p=S}}return p}function W(c,p,g,F){for(var S=c.length-1;S>=0;--S){var Z=c[S],I=Z(p,g,F);if(!x(I)&&!Y(I)){if(!L(I))throw new TypeError;F=I}}return F}function se(c,p,g){var F=b.get(c);if(x(F)){if(!g)return;F=new v,b.set(c,F)}var S=F.get(p);if(x(S)){if(!g)return;S=new v,F.set(p,S)}return S}function Oe(c,p,g){var F=B(c,p,g);if(F)return!0;var S=ot(p);return Y(S)?!1:Oe(c,S,g)}function B(c,p,g){var F=se(p,g,!1);return x(F)?!1:de(F.has(c))}function $(c,p,g){var F=B(c,p,g);if(F)return _(c,p,g);var S=ot(p);if(!Y(S))return $(c,S,g)}function _(c,p,g){var F=se(p,g,!1);if(!x(F))return F.get(c)}function A(c,p,g,F){var S=se(g,F,!0);S.set(c,p)}function E(c,p){var g=k(c,p),F=ot(c);if(F===null)return g;var S=E(F,p);if(S.length<=0)return g;if(g.length<=0)return S;for(var Z=new C,I=[],j=0,O=g;j=0&&j=this._keys.length?(this._index=-1,this._keys=p,this._values=p):this._index++,{value:O,done:!1}}return{value:void 0,done:!0}},I.prototype.throw=function(j){throw this._index>=0&&(this._index=-1,this._keys=p,this._values=p),j},I.prototype.return=function(j){return this._index>=0&&(this._index=-1,this._keys=p,this._values=p),{value:j,done:!0}},I}();return function(){function I(){this._keys=[],this._values=[],this._cacheKey=c,this._cacheIndex=-2}return Object.defineProperty(I.prototype,"size",{get:function(){return this._keys.length},enumerable:!0,configurable:!0}),I.prototype.has=function(j){return this._find(j,!1)>=0},I.prototype.get=function(j){var O=this._find(j,!1);return O>=0?this._values[O]:void 0},I.prototype.set=function(j,O){var U=this._find(j,!0);return this._values[U]=O,this},I.prototype.delete=function(j){var O=this._find(j,!1);if(O>=0){for(var U=this._keys.length,V=O+1;V["iconfont"].concat([r.type],r.class?[r.class]:[]).join(" "));return(i,o)=>(a.openBlock(),a.createElementBlock("span",{class:a.normalizeClass(a.unref(n)),style:a.normalizeStyle(e.style),onClick:o[0]||(o[0]=s=>t("click"))},null,6))}});var Sn={"um-import":"_um-import_19xyw_1"},ne=(e,t)=>{const r=e.__vccOpts||e;for(const[n,i]of t)r[n]=i;return r};const Mn=a.createElementVNode("span",null,"\u5BFC\u5165",-1),Dn=a.defineComponent({emits:["click"],setup(e,{emit:t}){const r=a.ref(),n=()=>{r.value.click()},i=o=>{t("click",o)};return(o,s)=>(a.openBlock(),a.createElementBlock("div",{class:a.normalizeClass(o.$style["um-import"]),onClick:n},[a.createVNode(Fe,{type:"icon-daoru"}),Mn,a.createElementVNode("input",{ref_key:"fileInput",ref:r,type:"file",onChange:i},null,544)],2))}}),On={$style:Sn};var Bn=ne(Dn,[["__cssModules",On]]);const xn=a.defineComponent({inheritAttrs:!1,render(){var u,f;const e=this,t=e.$attrs.data||[],r=((u=e.$attrs)==null?void 0:u["other-params"])||{},n=((f=e.$attrs)==null?void 0:f["search-params"])||{},i=e.$attrs.events||[],o=e.$attrs.selection||[],s=t.map((l,m)=>{const y=()=>i==null?void 0:i[m](o);switch(l.type){case"\u6DFB\u52A0":return a.h("div",{class:"item add",onclick:y},[a.h(Fe,{type:"icon-tianjia"}),a.h("a",{},l.title||"\u6DFB\u52A0")]);case"\u5BFC\u5165\u6A21\u677F":return a.h("div",{class:"item",onclick:y},a.h("a",{},"\u5BFC\u5165\u6A21\u677F"));case"\u5BFC\u5165":return a.h(Bn,{class:"item",onClick:v=>{i==null||i[m](v)}});case"\u5BFC\u51FA":return a.h("div",{class:"item",onclick:v=>{i==null||i[m]({...r||{},...n||{}})}},[a.h(Fe,{type:"icon-daochu"}),a.h("a",{},"\u5BFC\u51FA")]);case"\u6279\u91CF\u5220\u9664":return a.h("div",{class:"item "+((o==null?void 0:o.length)>0?"":"disabled"),onclick:v=>{if((o==null?void 0:o.length)!=0)return y()}},[a.h(Fe,{type:"icon-shanchu-"}),a.h("a",{},"\u6279\u91CF\u5220\u9664")]);case"\u81EA\u5B9A\u4E49":return a.h("div",{class:"item",onclick:v=>{i==null||i[m]({...r||{},...n||{}})}},[a.h(Fe,{type:"icon-daochu"}),a.h("a",{},l.title||"\u81EA\u5B9A\u4E49")]);default:return a.h("div",{},"error")}});return a.h("div",{class:"toolbar"},s)}});var wr=ne(xn,[["__scopeId","data-v-4e3c97de"]]);const kn=a.defineComponent({props:{style:null,width:{default:"100%"},data:null,toolbarOptions:{default:()=>[]},toolbarEvents:{default:()=>[]},otherParams:{default:()=>({})},searchParams:{default:()=>({})},rowKey:{default:"id"},defaultExpandAll:{type:Boolean,default:!1},treeProps:null},setup(e){const t=e,r=a.ref([]),n=o=>{r.value=o},i=o=>{r.value=o};return(o,s)=>(a.openBlock(),a.createElementBlock(a.Fragment,null,[a.createVNode(wr,{data:e.toolbarOptions,"other-params":e.otherParams,"search-params":e.searchParams,events:e.toolbarEvents,selection:r.value},null,8,["data","other-params","search-params","events","selection"]),a.createVNode(a.unref(D.ElTable),{class:"um-table",data:e.data,"row-key":e.rowKey,"default-expand-all":e.defaultExpandAll,"tree-props":e.treeProps,style:a.normalizeStyle({...t.style||{},width:e.width}),onSelect:n,onSelectAll:i},{default:a.withCtx(()=>[a.renderSlot(o.$slots,"default",{},void 0,!0)]),_:3},8,["data","row-key","default-expand-all","tree-props","style"])],64))}});var _r=ne(kn,[["__scopeId","data-v-1fc1c360"]]),Fr={exports:{}};(function(e,t){(function(r,n){e.exports=n()})(mt,function(){var r=1e3,n=6e4,i=36e5,o="millisecond",s="second",u="minute",f="hour",l="day",m="week",y="month",v="quarter",C="year",d="date",b="Invalid Date",h=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,w=/\[([^\]]+)]|YYYY|YY|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,T={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(B){var $=["th","st","nd","rd"],_=B%100;return"["+B+($[(_-20)%10]||$[_]||$[0])+"]"}},M=function(B,$,_){var A=String(B);return!A||A.length>=$?B:""+Array($+1-A.length).join(_)+B},N={s:M,z:function(B){var $=-B.utcOffset(),_=Math.abs($),A=Math.floor(_/60),E=_%60;return($<=0?"+":"-")+M(A,2,"0")+":"+M(E,2,"0")},m:function B($,_){if($.date()<_.date())return-B(_,$);var A=12*(_.year()-$.year())+(_.month()-$.month()),E=$.clone().add(A,y),k=_-E<0,P=$.clone().add(A+(k?-1:1),y);return+(-(A+(_-E)/(k?E-P:P-E))||0)},a:function(B){return B<0?Math.ceil(B)||0:Math.floor(B)},p:function(B){return{M:y,y:C,w:m,d:l,D:d,h:f,m:u,s,ms:o,Q:v}[B]||String(B||"").toLowerCase().replace(/s$/,"")},u:function(B){return B===void 0}},z="en",R={};R[z]=T;var te="$isDayjsObject",ae=function(B){return B instanceof se||!(!B||!B[te])},fe=function B($,_,A){var E;if(!$)return z;if(typeof $=="string"){var k=$.toLowerCase();R[k]&&(E=k),_&&(R[k]=_,E=k);var P=$.split("-");if(!E&&P.length>1)return B(P[0])}else{var x=$.name;R[x]=$,E=x}return!A&&E&&(z=E),E||!A&&z},K=function(B,$){if(ae(B))return B.clone();var _=typeof $=="object"?$:{};return _.date=B,_.args=arguments,new se(_)},W=N;W.l=fe,W.i=ae,W.w=function(B,$){return K(B,{locale:$.$L,utc:$.$u,x:$.$x,$offset:$.$offset})};var se=function(){function B(_){this.$L=fe(_.locale,null,!0),this.parse(_),this.$x=this.$x||_.x||{},this[te]=!0}var $=B.prototype;return $.parse=function(_){this.$d=function(A){var E=A.date,k=A.utc;if(E===null)return new Date(NaN);if(W.u(E))return new Date;if(E instanceof Date)return new Date(E);if(typeof E=="string"&&!/Z$/i.test(E)){var P=E.match(h);if(P){var x=P[2]-1||0,Y=(P[7]||"0").substring(0,3);return k?new Date(Date.UTC(P[1],x,P[3]||1,P[4]||0,P[5]||0,P[6]||0,Y)):new Date(P[1],x,P[3]||1,P[4]||0,P[5]||0,P[6]||0,Y)}}return new Date(E)}(_),this.init()},$.init=function(){var _=this.$d;this.$y=_.getFullYear(),this.$M=_.getMonth(),this.$D=_.getDate(),this.$W=_.getDay(),this.$H=_.getHours(),this.$m=_.getMinutes(),this.$s=_.getSeconds(),this.$ms=_.getMilliseconds()},$.$utils=function(){return W},$.isValid=function(){return this.$d.toString()!==b},$.isSame=function(_,A){var E=K(_);return this.startOf(A)<=E&&E<=this.endOf(A)},$.isAfter=function(_,A){return K(_)typeof e!="number"&&(e===null||e===""||e===void 0)?!0:typeof e=="number"&&Number.isNaN(e),In=(e,t="YYYY-MM-DD HH:mm:ss")=>{if(e==null||e==="")return"";try{const r=Pn(e);return r.isValid()?r.format(t):""}catch{return""}};let ut=null;const Nn=(e="",t="400 14px Microsoft YaHei")=>{if(typeof document=="undefined")return e.length*14;ut||(ut=document.createElement("canvas"));const r=ut.getContext("2d");return r?(r.font=t,r.measureText(e).width):e.length*14},jn=(e,t)=>{const r=[...t!=null?t:[]],n=[],i=o=>{for(const s of o!=null?o:[]){const u=r.findIndex(f=>f==(s==null?void 0:s.id));if(u!==-1?(n.push(r[u]),r.splice(u,1)):Array.isArray(s==null?void 0:s.children)&&i(s.children),r.length===0)return}};return i(e!=null?e:[]),n},Rn=(e,t)=>{var i,o,s;const r="on"+t.charAt(0).toUpperCase()+t.slice(1);return typeof(((o=(i=e==null?void 0:e.$)==null?void 0:i.vnode)==null?void 0:o.props)||((s=e==null?void 0:e.vnode)==null?void 0:s.props)||{})[r]=="function"};var Ln={"table-column-img":"_table-column-img_citx0_1"};const Un=a.defineComponent({name:"UmColumnRender",inheritAttrs:!1,props:{fieldType:{type:String,default:"default"},data:{type:Object,default:()=>({})},prop:{type:String,default:""},render:{type:Function,default:void 0},dateFormat:{type:String,default:void 0},isShow:{type:Function,default:void 0}},data(){return{visible:!0}},created(){this.refreshVisible()},watch:{data(){this.refreshVisible()},isShow(){this.refreshVisible()}},methods:{async refreshVisible(){if(!this.isShow){this.visible=!0;return}this.visible=!!await this.isShow(this.data)}},render(){if(!this.visible)return null;const{data:e,prop:t,render:r,fieldType:n,dateFormat:i}=this;if(n==="date")return In(e==null?void 0:e[t],i||"YYYY-MM-DD HH:mm:ss");if(n==="img"){const o=this.$style;return a.h("img",{class:o==null?void 0:o["table-column-img"],src:e==null?void 0:e[t]})}return r?r(e==null?void 0:e[t],t,e):e==null?void 0:e[t]}}),Vn={$style:Ln};var Er=ne(Un,[["__cssModules",Vn]]);const zn={edit:"\u7F16\u8F91",del:"\u5220\u9664",copy:"\u590D\u5236"},Wn={edit:"edit",copy:"copy",del:"del",customOperateEvent:"custom-operate"},Yn=a.defineComponent({name:"UmTableOperate",inheritAttrs:!1,props:{items:{type:Array,default:()=>[]},rowId:{type:[String,Number],default:""},rowData:{type:Object,default:()=>({})}},render(){const e=this.items.filter(t=>!t.isShow||t.isShow(this.rowData)).map(t=>{var r,n,i;return a.h("a",{class:(r=Wn[t.type])!=null?r:"custom-operate",onClick:()=>t.onClick(this.rowId,this.rowData)},(i=(n=t.title)!=null?n:zn[t.type])!=null?i:"\u64CD\u4F5C")});return a.h("div",{class:"operate-group "+(this.items.length>2?"total-more":"total-2")},e)}});var $r=ne(Yn,[["__scopeId","data-v-10c2977a"]]);const Je=a.defineComponent({props:{type:null,fieldType:{default:"default"},prop:{default:""},label:null,width:{default:180},minWidth:null,showOverflowTooltip:{type:Boolean},operateItems:{default:()=>[]},expandTemplate:null,columnRender:null,dateFormat:null,isShow:null},setup(e){const t=e,r=a.computed(()=>t.label||(t.type==="operate"?"\u64CD\u4F5C":void 0));return(n,i)=>(a.openBlock(),a.createBlock(a.unref(D.ElTableColumn),{type:e.type,prop:e.prop,width:e.minWidth?void 0:e.width,"min-width":e.minWidth,label:a.unref(r),"show-overflow-tooltip":e.showOverflowTooltip},{default:a.withCtx(o=>{var s,u;return[e.type==="operate"?(a.openBlock(),a.createBlock($r,{key:0,items:e.operateItems,"row-id":(s=o.row)==null?void 0:s.id,"row-data":o.row},null,8,["items","row-id","row-data"])):e.type==="expand"?(a.openBlock(),a.createBlock(a.resolveDynamicComponent(e.expandTemplate),{key:1,props:o},null,8,["props"])):(a.openBlock(),a.createBlock(Er,{key:(u=o.row)==null?void 0:u.id,"field-type":e.fieldType,prop:e.prop,data:o.row,"is-show":e.isShow,render:e.columnRender,"date-format":e.dateFormat},null,8,["field-type","prop","data","is-show","render","date-format"]))]}),_:1},8,["type","prop","width","min-width","label","show-overflow-tooltip"]))}}),Cr=e=>e.startsWith("_")?e.slice(1):e,$e=e=>e?typeof e!="function"?e:Reflect.construct(e,[]):{},Xe=e=>{const t=$e(e),r=new Set;for(const o in t)r.add(o);let n=Object.getPrototypeOf(t);for(;n&&n!==Object.prototype;){for(const o of Object.getOwnPropertyNames(n))o!=="constructor"&&r.add(o);n=Object.getPrototypeOf(n)}const i=[];for(const o of r){let s=t[o];if(s===void 0){let u=Object.getPrototypeOf(t);for(;u&&u!==Object.prototype&&s===void 0;)s=u[o],u=Object.getPrototypeOf(u)}i.push({key:o,fieldName:Cr(o),value:s,isMethod:typeof s=="function"})}return i},We=(e,t,r)=>{var i;const n=$e(e);return(i=Reflect.getMetadata(t,n,r.fieldName))!=null?i:Reflect.getMetadata(t,n,r.key)},re=(e,t,r={})=>{const n=r.methods===!0,i=[];for(const o of Xe(e)){if(o.isMethod!==n)continue;const s=We(e,t,o);s&&i.push({...o,meta:s})}return i},Ve=(e,t,r)=>{if(!t)return t;const n=$e(e);for(const i of Xe(e)){if(i.isMethod||!i.key.startsWith("_"))continue;const{key:o,fieldName:s}=i;r==="in"?(n[s]=t[s],t[s]=n[s]):(n[s]=t[s],t[s]=n[o])}return t},yt=(e,t,r)=>{var n;for(const i of re(e,t,{methods:!0}))if(((n=i.meta)==null?void 0:n.type)===r)return{meta:i.meta,member:i};return null};var Gn=typeof global=="object"&&global&&global.Object===Object&&global,Tr=Gn,Hn=typeof self=="object"&&self&&self.Object===Object&&self,Kn=Tr||Hn||Function("return this")(),ie=Kn,qn=ie.Symbol,le=qn,Ar=Object.prototype,Jn=Ar.hasOwnProperty,Xn=Ar.toString,Be=le?le.toStringTag:void 0;function Zn(e){var t=Jn.call(e,Be),r=e[Be];try{e[Be]=void 0;var n=!0}catch{}var i=Xn.call(e);return n&&(t?e[Be]=r:delete e[Be]),i}var Qn=Object.prototype,ea=Qn.toString;function ta(e){return ea.call(e)}var ra="[object Null]",na="[object Undefined]",Vt=le?le.toStringTag:void 0;function De(e){return e==null?e===void 0?na:ra:Vt&&Vt in Object(e)?Zn(e):ta(e)}function be(e){return e!=null&&typeof e=="object"}var aa="[object Symbol]";function Ze(e){return typeof e=="symbol"||be(e)&&De(e)==aa}function oa(e,t){for(var r=-1,n=e==null?0:e.length,i=Array(n);++r-1&&e%1==0&&e-1&&e%1==0&&e<=Wa}function Ct(e){return e!=null&&$t(e.length)&&!Mr(e)}var Ya=Object.prototype;function Tt(e){var t=e&&e.constructor,r=typeof t=="function"&&t.prototype||Ya;return e===r}function Ga(e,t){for(var r=-1,n=Array(e);++r-1}function si(e,t){var r=this.__data__,n=et(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this}function he(e){var t=-1,r=e==null?0:e.length;for(this.clear();++tu))return!1;var l=o.get(e),m=o.get(t);if(l&&m)return l==t&&m==e;var y=-1,v=!0,C=r&bu?new He:void 0;for(o.set(e,t),o.set(t,e);++y=t||te<0||y&&ae>=o}function w(){var R=dt();if(h(R))return T(R);u=setTimeout(w,b(R))}function T(R){return u=void 0,v&&n?C(R):(n=i=void 0,s)}function M(){u!==void 0&&clearTimeout(u),l=0,n=f=i=u=void 0}function N(){return u===void 0?s:T(dt())}function z(){var R=dt(),te=h(R);if(n=arguments,i=this,f=R,te){if(u===void 0)return d(f);if(y)return clearTimeout(u),u=setTimeout(w,t),C(f)}return u===void 0&&(u=setTimeout(w,t)),s}return z.cancel=M,z.flush=N,z}var bl=Object.prototype,wl=bl.hasOwnProperty,_l=hl(function(e,t,r){wl.call(e,r)?e[r].push(t):Ft(e,r,[t])}),Fl=_l;function El(e,t){return nt(e,t)}var $l="Expected a function";function Cl(e,t,r){var n=!0,i=!0;if(typeof e!="function")throw new TypeError($l);return ce(r)&&(n="leading"in r?!!r.leading:n,i="trailing"in r?!!r.trailing:i),vl(e,t,{leading:n,maxWait:t,trailing:i})}const Ke=["onBefore","onNow","onAfter"],xt=e=>[...e].sort((t,r)=>{var n,i;return(((n=r.meta)==null?void 0:n.priority)||0)-(((i=t.meta)==null?void 0:i.priority)||0)});async function at(e){var C,d,b;const{tasks:t,rowId:r,type:n,fire:i,initial:o,extra:s=[],phases:u=Ke,rerunOnAfterFalsy:f=!1,maxRerun:l=10}=e,m=Fl(xt(t),h=>{var w,T;return(T=(w=h.meta)==null?void 0:w.es)!=null?T:"onNow"});let y=o!==void 0?o:r,v=0;for(let h=0;hl){console.warn(`[funjiaui] \u4E8B\u4EF6\u94FE\u5728 onAfter \u9636\u6BB5\u8FDE\u7EED ${l} \u6B21\u8FD4\u56DE\u7A7A\u503C\uFF0C\u5DF2\u4E2D\u6B62\u4EE5\u907F\u514D\u6B7B\u5FAA\u73AF`);break}h=-1}}return y}const Qr=e=>re(e,"table:field").map(t=>({sort:t.meta.sort||1,vnode:a.h(Je,{prop:t.fieldName,label:t.meta.def,fieldType:t.meta.fieldType,width:t.meta.width,minWidth:t.meta.minWidth,columnRender:t.meta.columnRender,isShow:t.meta.isShow,showOverflowTooltip:t.meta.showOverflowTooltip,dateFormat:t.meta.dateFormat})})).sort((t,r)=>t.sort-r.sort).map(t=>t.vnode),en=e=>{var r;const t=new Map;for(const n of re(e,"table:operate",{methods:!0})){const i=n.meta,o=String((r=i.id)!=null?r:i.type);let s=t.get(o);s||(s={type:i.type,tasks:[]},t.set(o,s)),s.tasks.push({event:n.value,meta:i}),s.sort===void 0&&!ve(i.sort)&&(s.sort=i.sort),s.title===void 0&&i.title!==void 0&&(s.title=i.title),s.isShow===void 0&&i.isShow!==void 0&&(s.isShow=i.isShow)}return[...t.values()].map(n=>{var i;return{type:n.type,sort:(i=n.sort)!=null?i:0,title:n.title,isShow:n.isShow,tasks:n.tasks}})},tn=(e,t)=>{var i;if(!t)return!1;const r=$e(e),n=(i=r.isShowOperate)!=null?i:e==null?void 0:e.isShowOperate;return n==null?!0:typeof n=="function"?!!n.call(r):!!n},rn=(e,t="120px")=>{var n,i;return(i=(n=$e(e).operateWidth)!=null?n:e==null?void 0:e.operateWidth)!=null?i:t},kt=(e,t)=>!!(t!=null&&t.some(r=>r===e)),nn=(e,t)=>e.filter(r=>{var n,i;return!(((n=r.meta)==null?void 0:n.es)==="onAfter"&&kt(String((i=r.meta)==null?void 0:i.type),t))}),an=["onBefore","onNow"],qe=["\u6DFB\u52A0","edit","del","\u6279\u91CF\u5220\u9664"],on=(e,t)=>{if(!e.length)return null;const{fire:r,tableData:n=[],width:i="120px",deferAfterTypes:o}=t,s=[...e].sort((u,f)=>u.sort-f.sort).map(u=>({type:u.type,title:u.title,isShow:u.isShow,onClick:(f,l)=>at({tasks:nn(u.tasks,o),rowId:f,type:u.type,fire:r,initial:l,extra:[n],phases:kt(String(u.type),o)?an:void 0})}));return a.h(Je,{type:"operate",label:"\u64CD\u4F5C",operateItems:s,width:i})},sn=(e,t,r)=>xt(re(e,t,{methods:!0}).filter(n=>n.meta.type===r).map(n=>({event:n.value,meta:n.meta}))),un=(e,t,r={})=>{var s;const n=new Map;for(const u of re(e,"table:toolbar",{methods:!0})){const f=u.meta;if(f.isShow&&!f.isShow(void 0))continue;const l=f.type,m=(s=n.get(l))!=null?s:[];m.push({event:u.value,meta:f}),n.set(l,m)}const i=[],o=[];return n.forEach((u,f)=>{var m,y,v,C;i.push({type:f,icon:(y=(m=u[0])==null?void 0:m.meta)==null?void 0:y.icon,title:(C=(v=u[0])==null?void 0:v.meta)==null?void 0:C.title});const l=nn(u,r.deferAfterTypes);o.push(d=>at({tasks:l,rowId:d!=null?d:"",type:f,fire:t,phases:kt(String(f),r.deferAfterTypes)?an:void 0}))}),{toolbars:i,events:o}},ht={\u6DFB\u52A0:!0,\u5BFC\u5165\u6A21\u677F:!0,\u5BFC\u5165:!0,\u5BFC\u51FA:!0,\u6279\u91CF\u5220\u9664:!0,\u81EA\u5B9A\u4E49:!0},pt={edit:!0,del:!0,copy:!0,customOperateEvent:!0},gr={date:!0,default:!0,upload:!0,primaryKey:!0,treeSelect:!0,areaTreeSelect:!0,select:!0,switch:!0,boolean:!0,img:!0,pickerMapGps:!0,pickerMapGpsRange:!0,ip:!0,port:!0,string:!0,textarea:!0,input:!0,password:!0,custom:!0,number:!0,dateRange:!0},Tl=new Set(["img","pickerMapGps","pickerMapGpsRange","areaTreeSelect","custom"]),vr=new Set(["select","dateRange","date-picker","dateTime-picker","switch","textarea","input"]),Al=new Set(["input","textarea","string","ip","port"]),xe=(e,t)=>typeof t=="string"&&Object.prototype.hasOwnProperty.call(e,t),Sl=["table:operate","table:toolbar","table:searchFormMethod"],Ml=["table:field","table:formField","table:searchFormField"],Dl=e=>Xe(e).map(t=>{const r={member:t,methods:{},fields:{}},n=t.isMethod?Sl:Ml;for(const i of n)if(t.isMethod){const o=We(e,i,t);o&&(r.methods[i]=o)}else{const o=We(e,i,t);o&&(r.fields[i]=o)}return r}),ln=(e,t={})=>{var d,b;const r=[],n=h=>r.push(h);if(!e)return n({level:"error",code:"target-missing",message:"\u6CA1\u6709\u62FF\u5230\u914D\u7F6E\u7C7B\uFF08target \u4E3A\u7A7A\uFF09",hint:'\u7ED9 / \u4F20 :target="YourViewModel"'}),r;const i=Dl(e),o=new Set((d=t.deferAfterTypes)!=null?d:qe),s=new Map;for(const h of i)for(const[w,T]of Object.entries(h.methods)){const M=h.member.key,N=String(T.type);if(Ke.includes(T.es)||n({level:"error",code:"invalid-execution-sequence",member:M,message:`es: ${JSON.stringify(T.es)} \u4E0D\u662F\u5408\u6CD5\u7684\u6267\u884C\u9636\u6BB5`,hint:`\u53EA\u80FD\u662F ${Ke.map(z=>`"${z}"`).join(" / ")}\uFF1B\u5199\u9519\u7684\u65B9\u6CD5\u4E0D\u4F1A\u88AB\u6267\u884C`}),w==="table:searchFormMethod"?N!=="getList"&&n({level:"error",code:"unknown-method-type",member:M,message:`\u67E5\u8BE2\u65B9\u6CD5\u7684 type \u5FC5\u987B\u662F "getList"\uFF0C\u5F53\u524D\u662F ${JSON.stringify(T.type)}`,hint:'\u67E5\u5217\u8868\u53EA\u8BA4 type: "getList"\uFF0C\u4E14\u88C5\u9970\u5668\u7684 key \u5FC5\u987B\u662F "table:searchFormMethod"'}):w==="table:toolbar"?xe(ht,N)||n(xe(pt,N)?{level:"error",code:"operate-type-in-toolbar",member:M,message:`"${N}" \u662F\u64CD\u4F5C\u5217\u6309\u94AE\u7C7B\u578B\uFF0C\u5374\u58F0\u660E\u5728\u4E86\u5DE5\u5177\u680F\u4E0A`,hint:'\u5DE5\u5177\u680F\u6309\u94AE\u7528 type: "\u6DFB\u52A0" / "\u5BFC\u51FA" / "\u6279\u91CF\u5220\u9664" / "\u81EA\u5B9A\u4E49" \u7B49'}:{level:"error",code:"unknown-method-type",member:M,message:`\u5DE5\u5177\u680F\u4E0A\u6CA1\u6709 ${JSON.stringify(T.type)} \u8FD9\u79CD\u6309\u94AE`,hint:`\u53EF\u7528\uFF1A${Object.keys(ht).join(" / ")}`}):xe(pt,N)||n(xe(ht,N)?{level:"error",code:"toolbar-type-in-operate",member:M,message:`"${N}" \u662F\u5DE5\u5177\u680F\u6309\u94AE\u7C7B\u578B\uFF0C\u4F46\u6CA1\u6709\u6307\u5B9A key\uFF0C\u4E8E\u662F\u88AB\u5F53\u6210\u4E86\u64CD\u4F5C\u5217\u6309\u94AE`,hint:'\u8865\u4E0A key: "table:toolbar"\uFF0C\u5426\u5219\u5B83\u4F1A\u5728\u6BCF\u4E00\u884C\u672B\u5C3E\u591A\u51FA\u4E00\u4E2A\u6309\u94AE\uFF0C\u800C\u5DE5\u5177\u680F\u662F\u7A7A\u7684'}:{level:"error",code:"unknown-method-type",member:M,message:`\u64CD\u4F5C\u5217\u4E0A\u6CA1\u6709 ${JSON.stringify(T.type)} \u8FD9\u79CD\u6309\u94AE`,hint:`\u53EF\u7528\uFF1A${Object.keys(pt).join(" / ")}`}),w!=="table:searchFormMethod"){const z=(b=s.get(N))!=null?b:[];z.push(T),s.set(N,z)}}s.forEach((h,w)=>{const T=h.some(M=>M.dialogContent!==void 0||M.dialogTitle!==void 0);!T&&!o.has(w)||h.some(M=>M.es==="onAfter")||n({level:T?"error":"warn",code:"dialog-without-submit",member:`type "${w}"`,message:`\u300C${w}\u300D\u4F1A\u5F39\u7A97\uFF0C\u4F46\u6CA1\u6709\u4EFB\u4F55 es: "onAfter" \u7684\u65B9\u6CD5\uFF0C\u7528\u6237\u5728\u5F39\u7A97\u4E0A\u70B9\u786E\u5B9A\u540E\u4EC0\u4E48\u90FD\u4E0D\u4F1A\u53D1\u751F`,hint:'\u628A\u771F\u6B63\u8C03\u63A5\u53E3\u7684\u90A3\u4E2A\u65B9\u6CD5\u6807\u4E0A es: "onAfter"'})});const u=[],f=new Map,l=[];for(const h of i){const w=h.fields["table:field"];w&&u.push({key:h.member.key,fieldName:h.member.fieldName,meta:w});const T=h.fields["table:formField"];T&&f.set(h.member.fieldName,T);const M=h.fields["table:searchFormField"];M&&l.push({key:h.member.key,meta:M});for(const[N,z]of Object.entries(h.fields))z.fieldType&&!xe(gr,z.fieldType)&&n({level:"warn",code:"unknown-field-type",member:`${h.member.key}\uFF08${N}\uFF09`,message:`fieldType: ${JSON.stringify(z.fieldType)} \u4E0D\u662F\u5408\u6CD5\u7684\u5B57\u6BB5\u7C7B\u578B\uFF0C\u4F1A\u88AB\u5F53\u6210\u9ED8\u8BA4\u7C7B\u578B\u5904\u7406`,hint:`\u5408\u6CD5\u503C\uFF1A${Object.keys(gr).join(" / ")}`});(T==null?void 0:T.fieldType)&&Tl.has(T.fieldType)&&!T.component&&n({level:"warn",code:"form-field-type-unimplemented",member:h.member.key,message:`\u8868\u5355\u6CA1\u6709\u4E3A fieldType: "${T.fieldType}" \u5B9E\u73B0\u63A7\u4EF6\uFF0C\u5B83\u4F1A\u9000\u5316\u6210\u6587\u672C\u6846`,hint:"\u6539\u7528 input / select / date \u7B49\u5DF2\u5B9E\u73B0\u7684\u7C7B\u578B\uFF0C\u6216\u4F20 component \u6307\u5B9A\u81EA\u5B9A\u4E49\u7EC4\u4EF6"})}const m=new Map;for(const h of u){const w=h.meta.def;w?m.has(w)?n({level:"warn",code:"column-def-duplicated",member:h.key,message:`\u5217\u5934"${w}"\u548C ${m.get(w)} \u91CD\u590D`,hint:"\u591A\u4E3A\u590D\u5236\u7C98\u8D34\u540E\u5FD8\u4E86\u6539 def\uFF0C\u4E24\u5217\u90FD\u4F1A\u9876\u7740\u540C\u4E00\u4E2A\u8868\u5934"}):m.set(w,h.key):n({level:"warn",code:"column-def-missing",member:h.key,message:"\u6570\u636E\u5217\u7F3A\u5C11 def\uFF0C\u5217\u5934\u4F1A\u662F\u7A7A\u7684",hint:"def \u662F\u5217\u5934\u6587\u6848\uFF0C\u5FC5\u586B"})}u.length===0&&n({level:"warn",code:"no-data-column",message:"\u6CA1\u6709\u4EFB\u4F55\u6570\u636E\u5217",hint:"\u68C0\u67E5 @TableColumnPropertyDecorator \u662F\u5426\u6302\u5728\u4E86\u7C7B\u7684\u5C5E\u6027\u4E0A\uFF08\u800C\u4E0D\u662F\u9759\u6001\u5C5E\u6027 / \u6784\u9020\u51FD\u6570\u91CC\uFF09"});const y=s.has("edit")||s.has("\u6DFB\u52A0"),v=u.filter(h=>h.meta.fieldType==="primaryKey");if(y){for(const h of v)f.has(h.fieldName)||n({level:"warn",code:"primary-key-not-in-form",member:h.key,message:`\u4E3B\u952E"${h.meta.def||h.fieldName}"\u6CA1\u6709\u6302\u8868\u5355\u88C5\u9970\u5668\uFF0C\u63D0\u4EA4\u8F7D\u8377\u91CC\u4E0D\u4F1A\u6709\u5B83`,hint:'\u8865 @TableFormColumnPropertyDecorator({ def: "ID", fieldType: "primaryKey" })\uFF1B\u5426\u5219\u66F4\u65B0\u63A5\u53E3\u6309\u4E3B\u952E\u67E5\u4E0D\u5230\u8BB0\u5F55'});v.length===0&&n({level:"warn",code:"edit-without-primary-key",message:'\u7C7B\u91CC\u6709"\u7F16\u8F91"\u6216"\u6DFB\u52A0"\u6309\u94AE\uFF0C\u4F46\u627E\u4E0D\u5230\u4EFB\u4F55 fieldType: "primaryKey" \u7684\u5217',hint:"\u8868\u5355\u63D0\u4EA4\u9700\u8981\u4E3B\u952E\u624D\u80FD\u5B9A\u4F4D\u8BB0\u5F55\uFF08\u65B0\u589E\u65E0\u9700\u4E3B\u952E\u5219\u5E94\u663E\u5F0F\u58F0\u660E\u4E00\u4E2A\uFF09"})}for(const{key:h,meta:w}of l){const T=w.$um_component||w.fieldType;!T||vr.has(T)||Al.has(T)||n({level:"warn",code:"unsupported-search-control",member:h,message:`\u67E5\u8BE2\u8868\u5355\u6CA1\u6709\u5B9E\u73B0 ${JSON.stringify(T)} \u63A7\u4EF6\uFF0C\u5B83\u4F1A\u6E32\u67D3\u6210\u4E00\u4E2A\u666E\u901A\u8F93\u5165\u6846`,hint:`\u76EE\u524D\u53EF\u7528\uFF1A${[...vr].join(" / ")}`})}t.requireGetList&&!i.some(h=>h.methods["table:searchFormMethod"])&&n({level:"warn",code:"missing-get-list",message:"\u627E\u4E0D\u5230\u5217\u8868\u67E5\u8BE2\u65B9\u6CD5\uFF0C\u8868\u683C\u4E0D\u4F1A\u6709\u6570\u636E",hint:'@TableColumnMethodDecorator({ key: "table:searchFormMethod", value: { type: "getList" } })'});const C={error:0,warn:1};return r.sort((h,w)=>{var T,M;return C[h.level]-C[w.level]||String((T=h.member)!=null?T:"").localeCompare(String((M=w.member)!=null?M:""))})};let Pt=!0;const Ol=e=>{Pt=e},Bl=()=>Pt,cn=(e,t={})=>{const r=ln(e,t);if(!r.length)return r;const n=r.filter(s=>s.level==="error"),i=r.filter(s=>s.level==="warn"),o=(e==null?void 0:e.name)||"\u914D\u7F6E\u7C7B";console.groupCollapsed(`[funjiaui] \u914D\u7F6E\u4F53\u68C0 \xB7 ${o} \xB7 ${n.length} \u4E2A\u9519\u8BEF / ${i.length} \u4E2A\u8B66\u544A`);for(const s of r){const u=`[${s.code}] ${s.member?s.member+" \u2014 ":""}${s.message}${s.hint?` + \u2192 `+s.hint:""}`;s.level==="error"?console.error(u):console.warn(u)}return console.groupEnd(),r},br=new WeakSet,It=(e,t={})=>!Pt||t.enabled===!1?[]:e?typeof e!="function"&&typeof e!="object"?[]:br.has(e)?[]:(br.add(e),cn(e,t)):[],fn=a.defineComponent({name:"UmByClass",inheritAttrs:!1,emits:["fire","fire:onBefore","fire:onNow","fire:onAfter"],mounted(){It(this.$attrs.target,{deferAfterTypes:this.$attrs["defer-after-types"],enabled:this.$attrs.diagnose!==!1})},render(){const e=this.$attrs.target,t=this.$attrs["other-params"]||{},r=this.$attrs["search-params"]||{},n=this.$attrs.data||[],i=(v,C,d,b)=>new Promise(h=>{if(!Rn(this,"fire")){h(v);return}this.$emit("fire",v,C,d,h,b)});let o=Qr(e);const s=this.$attrs["defer-after-types"],u=en(e);if(tn(e,u.length>0)){const v=on(u,{fire:i,tableData:n,width:rn(e),deferAfterTypes:s});v&&o.push(v)}const{toolbars:f,events:l}=un(e,i,{deferAfterTypes:s});return this.$attrs["is-expand"]&&(o=[a.h(Je,{type:"expand",expandTemplate:this.$attrs["expand-template"]})].concat(o)),this.$attrs["show-index"]!==!1&&(o=[a.h(D.ElTableColumn,{type:"index",label:"\u5E8F\u53F7",width:56})].concat(o)),f.some(v=>v.type==="\u6279\u91CF\u5220\u9664")&&(o=[a.h(D.ElTableColumn,{type:"selection"})].concat(o)),a.h(_r,{data:n,otherParams:t,searchParams:r,toolbarOptions:f,toolbarEvents:l,width:"100%",rowKey:this.$attrs["row-key"]||"id",defaultExpandAll:!!this.$attrs["default-expand-all"],treeProps:this.$attrs["tree-props"]},()=>o)}});const xl=a.createElementVNode("div",{class:"header-bg header-bg-l"},null,-1),kl=a.createElementVNode("div",{class:"header-bg header-bg-r"},null,-1),Pl={key:1,class:"el-dialog__title"},Il={key:1,class:"dialog-footer"},Nl=a.createTextVNode("\u53D6\u6D88"),jl=a.createTextVNode("\u786E\u5B9A"),Rl={name:"um-dialog",inheritAttrs:!1},dn=a.defineComponent({...Rl,props:{appendToBody:{type:Boolean,default:!0},center:{type:Boolean},closeOnClickModal:{type:Boolean,default:!1},closeOnPressEscape:{type:Boolean,default:!0},confirmLoading:{type:Boolean},customClass:null,destroyOnClose:{type:Boolean,default:!0},footer:{type:Boolean,default:!0},modal:{type:Boolean,default:!0},modelValue:{type:Boolean},showClose:{type:Boolean,default:!0},title:null,width:null,top:{default:"15vh"}},emits:["update:modelValue","onOk"],setup(e,{emit:t}){const r=e;a.useCssVars(u=>({"3f29a002":a.unref(s)}));const n=a.computed(()=>{const u=r.footer?"footer-shadow":"body-shadow";return(r.customClass?[r.customClass]:[]).concat(["um-dialog",u]).join(" ")}),i=a.computed({get:()=>r.modelValue,set:u=>t("update:modelValue",u)}),o=()=>{i.value=!1},s=a.computed(()=>{const u=r.width;if(!u)return"500px";const f=parseFloat(u);return Number.isFinite(f)?`${f}px`:u});return(u,f)=>(a.openBlock(),a.createBlock(a.unref(D.ElDialog),{modelValue:a.unref(i),"onUpdate:modelValue":f[1]||(f[1]=l=>a.isRef(i)?i.value=l:null),top:e.top,"append-to-body":e.appendToBody,center:e.center,"close-on-click-modal":e.closeOnClickModal,"close-on-press-escape":e.closeOnPressEscape,"custom-class":a.unref(n),"destroy-on-close":e.destroyOnClose,modal:e.modal,"show-close":e.showClose,width:a.unref(s)},a.createSlots({title:a.withCtx(()=>[xl,kl,u.$slots.title?a.renderSlot(u.$slots,"title",{key:0}):(a.openBlock(),a.createElementBlock("span",Pl,a.toDisplayString(e.title),1))]),default:a.withCtx(()=>[a.renderSlot(u.$slots,"default")]),_:2},[e.footer?{name:"footer",fn:a.withCtx(()=>[u.$slots.footer?a.renderSlot(u.$slots,"footer",{key:0}):(a.openBlock(),a.createElementBlock("span",Il,[a.createVNode(a.unref(D.ElButton),{class:"el-button--ghost",type:"primary",onClick:o},{default:a.withCtx(()=>[Nl]),_:1}),a.createVNode(a.unref(D.ElButton),{type:"primary",loading:e.confirmLoading,onClick:f[0]||(f[0]=l=>t("onOk"))},{default:a.withCtx(()=>[jl]),_:1},8,["loading"])]))])}:void 0]),1032,["modelValue","top","append-to-body","center","close-on-click-modal","close-on-press-escape","custom-class","destroy-on-close","modal","show-close","width"]))}}),hn=a.defineComponent({name:"UmTableDialog",inheritAttrs:!1,props:{modelValue:{type:Boolean,default:!1},title:{type:String,default:"\u63D0\u793A"},content:{type:[Object,String,Function],default:null},width:{type:[Number,String],default:500},footer:{type:Boolean,default:!1}},emits:["ok","update:modelValue"],render(){return a.h(dn,{title:this.title,modelValue:this.modelValue,"onUpdate:modelValue":e=>this.$emit("update:modelValue",e),closeOnClickModal:!1,width:typeof this.width=="number"?`${this.width}px`:this.width,footer:this.footer,onOnOk:()=>this.$emit("ok")},()=>{var e,t,r;return(r=(t=(e=this.$slots).default)==null?void 0:t.call(e))!=null?r:this.content?[this.content]:[]})}}),Ll="_reset_123e3_4",Ul="_submit_123e3_5";var Vl={"search-form":"_search-form_123e3_1",reset:Ll,submit:Ul};const zl=a.defineComponent({name:"UmSearchForm",inheritAttrs:!1,props:{target:{type:[Object,Function],required:!0}},emits:["change"],data(){return{formFields:[],formModel:{},fieldOption:new Map}},methods:{async buildFields(){const e=[],t={};for(const r of re(this.target,"table:searchFormField")){const n=r.meta,i=r.fieldName;e.push({label:n.def,fieldType:n.fieldType,component:n.$um_component,prop:i,placeholder:n.placeholder,style:n.style}),t[i]=r.value||void 0,(n.fieldType==="select"||n.$um_component==="select")&&n.getData&&this.fieldOption.set(i,await n.getData())}this.formFields=e,this.formModel=t},onSubmit(){this.$emit("change",{...this.formModel})},onReset(){const e={};for(const t of this.formFields)e[t.prop]=void 0;this.formModel=e,this.$emit("change",{})}},async beforeMount(){await this.buildFields()},render(){const e=this.$style,t=this.formFields.map(r=>{var f,l;const n=this.formModel[r.prop],i=m=>{this.formModel[r.prop]=m},o={label:r.label,prop:r.prop,style:r.style},s=r.component||r.fieldType,u=((f=r.style)==null?void 0:f.width)||"180px";switch(s){case"select":{const m=(((l=this.fieldOption.get(r.prop))==null?void 0:l.data)||[]).map(y=>a.h(D.ElSelect.Option,{key:y.value,label:y.label,value:y.value}));return a.h(D.ElFormItem,o,()=>a.h(D.ElSelect,{modelValue:n,"onUpdate:modelValue":i,placeholder:r.placeholder||"\u8BF7\u9009\u62E9"+r.label,clearable:!0,style:{width:u}},()=>m))}case"dateRange":case"date-picker":return a.h(D.ElFormItem,o,()=>{var m;return a.h(D.ElDatePicker,{modelValue:n,"onUpdate:modelValue":i,type:"daterange",valueFormat:"YYYY-MM-DD",startPlaceholder:r.placeholder||"\u5F00\u59CB\u65E5\u671F",endPlaceholder:"\u7ED3\u675F\u65E5\u671F",style:{width:((m=r.style)==null?void 0:m.width)||"240px"}})});case"dateTime-picker":return a.h(D.ElFormItem,o,()=>a.h(D.ElDatePicker,{modelValue:n,"onUpdate:modelValue":i,type:"datetime",valueFormat:"YYYY-MM-DD HH:mm:ss",placeholder:r.placeholder||"\u8BF7\u9009\u62E9"+r.label,style:{width:u}}));case"switch":return a.h(D.ElFormItem,o,()=>a.h(D.ElSwitch,{modelValue:n,"onUpdate:modelValue":i}));case"textarea":return a.h(D.ElFormItem,o,()=>a.h(D.ElInput,{modelValue:n,"onUpdate:modelValue":i,type:"textarea",placeholder:r.placeholder||"\u8BF7\u8F93\u5165"+r.label,style:{width:u}}));default:return a.h(D.ElFormItem,o,()=>a.h(D.ElInput,{modelValue:n,"onUpdate:modelValue":i,placeholder:r.placeholder||"\u8BF7\u8F93\u5165"+r.label,clearable:!0,autocomplete:"off",style:{width:u},onKeyup:m=>{m.key==="Enter"&&this.onSubmit()}}))}});return t.length===0?null:(t.push(a.h(D.ElFormItem,{},()=>[a.h(D.ElButton,{class:e.submit,onClick:this.onSubmit},()=>"\u67E5\u8BE2"),a.h(D.ElButton,{class:e.reset,onClick:this.onReset},()=>"\u91CD\u7F6E")])),a.h(D.ElForm,{inline:!0,class:e["search-form"],model:this.formModel,onSubmit:r=>r.preventDefault()},()=>t))}}),Wl={$style:Vl};var pn=ne(zl,[["__cssModules",Wl]]);const Yl=e=>(a.pushScopeId("data-v-0bda02d2"),e=e(),a.popScopeId(),e),Gl={class:"um-pagination"},Hl={class:"pages"},Kl=Yl(()=>a.createElementVNode("li",null,"\u8DF3\u8F6C\u81F3",-1)),ql={class:"el-input el-input--mini el-pagination__editor is-in-pagination"},Jl=["value","max","onKeyup"],Xl={name:"um-pagination"},Zl=a.defineComponent({...Xl,props:{page:{default:1},pages:{default:()=>[10,20,50,100]},size:{default:10},total:{default:0}},emits:["onChange"],setup(e,{emit:t}){const r=e,n=a.ref(!1),i=a.ref(),o=a.computed(()=>Math.ceil(r.total/r.size)),s=a.computed(()=>r.page<=1),u=a.computed(()=>r.page>=o.value),f=d=>{n.value=d},l=d=>{d!==r.size&&t("onChange",1,d)},m=()=>{s.value||t("onChange",r.page-1,r.size)},y=()=>{u.value||t("onChange",r.page+1,r.size)},v=d=>{const b=d.target.value;i.value=b.replace(/\D/g,"")},C=()=>{const d=Number(i.value);if(!d||isNaN(d))return;let b=d;d<1?b=1:d>o.value&&(b=o.value),b!==r.page&&(t("onChange",b,r.size),i.value="")};return(d,b)=>(a.openBlock(),a.createElementBlock("div",Gl,[a.createElementVNode("ul",null,[a.createElementVNode("li",null,"\u5171"+a.toDisplayString(e.total)+"\u9879",1),a.createElementVNode("li",null,[a.createVNode(a.unref(D.ElDropdown),{onVisibleChange:f},{dropdown:a.withCtx(()=>[a.createVNode(a.unref(D.ElDropdownMenu),null,{default:a.withCtx(()=>[(a.openBlock(!0),a.createElementBlock(a.Fragment,null,a.renderList(e.pages,h=>(a.openBlock(),a.createBlock(a.unref(D.ElDropdownItem),{key:h,onClick:w=>l(h)},{default:a.withCtx(()=>[a.createTextVNode(a.toDisplayString(h),1)]),_:2},1032,["onClick"]))),128))]),_:1})]),default:a.withCtx(()=>[a.createElementVNode("div",Hl,[a.createElementVNode("span",null,"\u6BCF\u9875"+a.toDisplayString(e.size)+"\u9879",1),a.createVNode(a.unref(D.ElIcon),null,{default:a.withCtx(()=>[n.value?(a.openBlock(),a.createBlock(a.unref(Se.CaretTop),{key:0})):(a.openBlock(),a.createBlock(a.unref(Se.CaretBottom),{key:1}))]),_:1})])]),_:1})]),a.createElementVNode("li",{title:"\u4E0A\u4E00\u9875",class:a.normalizeClass(["btn-arrow",{disabled:a.unref(s)}]),onClick:m},[a.createVNode(a.unref(D.ElIcon),{style:a.normalizeStyle({color:a.unref(s)?"#666":void 0})},{default:a.withCtx(()=>[a.createVNode(a.unref(Se.ArrowLeft))]),_:1},8,["style"])],2),a.createElementVNode("li",null,a.toDisplayString(e.page)+"/"+a.toDisplayString(a.unref(o)),1),a.createElementVNode("li",{title:"\u4E0B\u4E00\u9875",class:a.normalizeClass(["btn-arrow",{disabled:a.unref(u)}]),onClick:y},[a.createVNode(a.unref(D.ElIcon),{style:a.normalizeStyle({color:a.unref(u)?"#666":void 0})},{default:a.withCtx(()=>[a.createVNode(a.unref(Se.ArrowRight))]),_:1},8,["style"])],2),Kl,a.createElementVNode("li",null,[a.createElementVNode("div",ql,[a.createElementVNode("input",{class:"el-input__inner",value:i.value,type:"number",min:1,max:a.unref(o),autocomplete:"off",onInput:v,onBlur:C,onKeyup:a.withKeys(C,["enter"])},null,40,Jl)])])])]))}});var mn=ne(Zl,[["__scopeId","data-v-0bda02d2"]]);const Ql=a.defineComponent({name:"UmByClassEnhance",inheritAttrs:!1,emits:["fire","fire:onBefore","fire:onNow","fire:onAfter","dataChange","command"],expose:["getList"],data(){return{dialogVisible:!1,currentPage:1,currentPageSize:10,confirmCb:null,dialogTitle:"\u63D0\u793A",dialogContent:null,dialogWidth:500,dialogShowFooter:!1,searchFormModel:{},currentId:null,editingRow:null,data:[],total:0,pendingResolve:null}},watch:{"$attrs.other-params"(){this.currentPage=1,this.dialogVisible=!1,this.getList()},data(e){this.$emit("dataChange",e)}},methods:{settle(e){const t=this.pendingResolve;this.pendingResolve=null,t==null||t(e)},onDialogVisibility(e){this.dialogVisible=e,e||this.settle(!1)},getMetaDataByKey(e,t){var r,n;return(n=(r=yt(this.$attrs.target,t,e))==null?void 0:r.meta)!=null?n:null},async handleFire(e,t,r,n,i={}){var u,f;const o=this.$attrs.target;let s;switch(t){case"\u6DFB\u52A0":case"edit":{if(s=t==="\u6DFB\u52A0"?"table:toolbar":"table:operate",r==="onBefore")this.dialogShowFooter=!1;else if(r==="onNow"){const l=this.getMetaDataByKey(t,s);this.dialogWidth=(l==null?void 0:l.dialogWidth)||this.dialogWidth||500;let m=e;t==="\u6DFB\u52A0"?(m={...this.$attrs["form-data"]||{}},this.editingRow=null):(m=Ve(o,{...e&&typeof e=="object"?e:{}},"in"),this.editingRow=Ve(o,{...m},"out"));const y=await((u=l==null?void 0:l.getData)==null?void 0:u.call(l))||{},v=l==null?void 0:l.dialogContent;this.dialogContent=v?a.h(v,{target:(l==null?void 0:l.dialogTarget)||o,data:m,depData:y,onCancel:()=>{this.dialogVisible=!1,this.settle(!1)},onOk:C=>{var h;const d=Ve(o,{...C||{}},"out"),b=t==="\u6DFB\u52A0"?d:{...this.editingRow||{},...d};(h=this.confirmCb)==null||h.call(this,b)}}):null,this.dialogTitle=(l==null?void 0:l.dialogTitle)||this.dialogTitle,this.dialogVisible=!0,this.setConfirmCb(t,s),this.pendingResolve=n;return}else if(r==="onAfter"){if(e===!1)break;(e==null?void 0:e.code)===0?(t==="\u6DFB\u52A0"&&(this.currentPage=1),this.dialogVisible=!1,this.getList(),D.ElMessage.success("\u64CD\u4F5C\u6210\u529F")):D.ElMessage.error((e==null?void 0:e.message)||"\u64CD\u4F5C\u5931\u8D25")}break}case"del":case"\u6279\u91CF\u5220\u9664":{if(s=t==="\u6279\u91CF\u5220\u9664"?"table:toolbar":"table:operate",r==="onBefore")this.dialogShowFooter=!0;else if(r==="onNow"){const l=this.getMetaDataByKey(t,s);this.dialogTitle=(l==null?void 0:l.dialogTitle)||this.dialogTitle,this.dialogWidth=(l==null?void 0:l.dialogWidth)||this.dialogWidth||500;const m=l==null?void 0:l.dialogContent;this.dialogContent=typeof m=="string"?a.h("div",m):m?a.h(m):a.h("div","\u786E\u8BA4\u6267\u884C\u8BE5\u64CD\u4F5C\uFF1F"),this.dialogVisible=!0,this.currentId=t==="\u6279\u91CF\u5220\u9664"?(e!=null?e:[]).map(y=>{var v;return(v=y==null?void 0:y.id)!=null?v:y}):(f=e==null?void 0:e.id)!=null?f:e,this.setConfirmCb(t,s),this.pendingResolve=n;return}else if(r==="onAfter"){if(e===!1)break;e&&e.code===0?(this.currentPage=1,this.dialogVisible=!1,this.currentId=null,this.getList(),D.ElMessage.success("\u5220\u9664\u6210\u529F")):D.ElMessage.error((e==null?void 0:e.message)||"\u5220\u9664\u5931\u8D25")}break}case"customOperateEvent":{r==="onNow"&&this.$emit("fire",t,e,i,this.data);break}}return r==="onAfter"&&this.$emit("command",t,e),n(e)},setConfirmCb(e,t){const r=sn(this.$attrs.target,t,e);this.confirmCb=async n=>{const i=await at({tasks:r,rowId:n,type:e,phases:["onAfter"],fire:(o,s,u,f)=>this.handleFire(o,s,u,l=>l,f)});this.settle(i)}},handleSizeChange(e){this.currentPageSize=e},handleCurrentChange(e,t){this.currentPage=e,this.currentPageSize=t,this.getList()},async getList(){const e=this.$attrs.target;if(!e||!yt(e,"table:searchFormMethod","getList"))return;const r=$e(e),n=this.$attrs["other-params"]||{},{data:i,total:o}=await r.getList({...this.searchFormModel,page:this.currentPage,pageSize:this.currentPageSize,...n});this.data=i!=null?i:[],this.total=o!=null?o:0},onSearchFormChange(e){this.searchFormModel=e,this.currentPage=1,this.getList()}},beforeMount(){It(this.$attrs.target,{deferAfterTypes:qe,requireGetList:!0,enabled:this.$attrs.diagnose!==!1}),this.getList()},render(){const e=this.$attrs;return a.h("div",{class:e.class},[a.h(pn,{target:e.target,onChange:this.onSearchFormChange}),a.h(fn,{target:e.target,data:this.data,onFire:this.handleFire,"other-params":e["other-params"]||{},"search-params":this.searchFormModel||{},"is-expand":e["is-expand"],"expand-template":e["expand-template"],"row-key":e["row-key"],"default-expand-all":e["default-expand-all"],"defer-after-types":qe}),a.h(mn,{page:this.currentPage,size:this.currentPageSize,total:this.total,class:"page",onOnChange:this.handleCurrentChange}),a.h(hn,{modelValue:this.dialogVisible,"onUpdate:modelValue":this.onDialogVisibility,title:this.dialogTitle,content:this.dialogContent,width:this.dialogWidth,footer:this.dialogShowFooter,onOk:()=>{var t;(t=this.confirmCb)==null||t.call(this,this.currentId)}})])}});var ec=ne(Ql,[["__scopeId","data-v-67bf522d"]]),tc={"avatar-uploader":"_avatar-uploader_ykbb1_1"};const rc=["src"],nc=a.createElementVNode("span",null,"\u8BF7\u4E0A\u4F20\u56FE\u7247",-1),ac=a.defineComponent({props:{modelValue:null,accept:{default:"image/png, image/jpeg"}},emits:["update:modelValue"],setup(e,{emit:t}){const r=e,n=a.ref();a.onBeforeMount(()=>{n.value=r.modelValue}),a.watch(()=>r.modelValue,u=>{n.value=r.modelValue});const i=(u,f)=>{var l;n.value=URL.createObjectURL(f.raw),t("update:modelValue",((l=u==null?void 0:u.data)==null?void 0:l.url)||"")},o=u=>!0,s=async u=>{};return(u,f)=>{const l=a.resolveComponent("el-icon"),m=a.resolveComponent("el-upload");return a.openBlock(),a.createBlock(m,{class:a.normalizeClass(u.$style["avatar-uploader"]),action:"/api/management/file/upload/image","show-file-list":!1,"on-success":i,"before-upload":o,accept:e.accept,"http-request":s},{default:a.withCtx(()=>[n.value?(a.openBlock(),a.createElementBlock("img",{key:0,src:n.value,class:"avatar"},null,8,rc)):(a.openBlock(),a.createBlock(l,{key:1,class:"avatar-uploader-icon"},{default:a.withCtx(()=>[a.createVNode(a.unref(Se.Plus)),nc]),_:1}))]),_:1},8,["class","accept"])}}}),oc={$style:tc};var ic=ne(ac,[["__cssModules",oc]]);const sc=["title"],uc={name:"um-tree",inheritAttrs:!1},Nt=a.defineComponent({...uc,props:{checkbox:{type:Boolean,default:!1},defaultExpandAll:{type:Boolean,default:!1},keyword:null,strategy:{default:"child"},treeData:null,props:null,class:null},emits:["onSelect","onCheck"],setup(e,{expose:t,emit:r}){const n=e,i=a.ref(),o=a.ref(),s=a.ref([]),u=a.computed(()=>Object.assign({},{label:"label",children:"children",disabled:"disabled"},n.props||{})),f=a.computed(()=>{var d;return((d=n.props)==null?void 0:d.value)||"id"});a.watch(()=>n.keyword,d=>{var b;(b=i.value)==null||b.filter(d)});const l=(d,b)=>{var w;if(!d)return!0;const h=b[((w=n.props)==null?void 0:w.label)||"label"];return typeof h=="string"?h.indexOf(d)!==-1:!0},m=()=>{var b,h;let d=[];n.strategy==="child"?d=((b=i.value)==null?void 0:b.getCheckedKeys(!0))||[]:n.strategy==="all"&&(d=((h=i.value)==null?void 0:h.getCheckedKeys(!1))||[]),r("onCheck",d)},y=d=>{var b;if(n.checkbox)m();else{let h=d[f.value];h===o.value&&(h=void 0),o.value=h,r("onSelect",h,d),(b=i.value)==null||b.setCurrentKey(h)}},v=d=>{const b=d[f.value],h=[].concat(s.value),w=h.indexOf(b);w!==-1&&(h.splice(w,1),s.value=h)},C=d=>{const b=d[f.value];s.value.indexOf(b)===-1&&(s.value=s.value.concat(b))};return t({setSelectKey:d=>{var b,h;n.checkbox?(d=d&&Array.isArray(d)?d:[],(b=i.value)==null||b.setCheckedKeys(d,!1)):(o.value=d,(h=i.value)==null||h.setCurrentKey(d))}}),(d,b)=>(a.openBlock(),a.createBlock(a.unref(D.ElTree),{ref_key:"treeRef",ref:i,class:a.normalizeClass(n.class),"check-on-click-node":e.checkbox,data:e.treeData,"default-expand-all":e.defaultExpandAll,"default-expanded-keys":s.value,props:a.unref(u),"expand-on-click-node":!1,"filter-node-method":l,"highlight-current":!e.checkbox,"node-key":a.unref(f),"show-checkbox":e.checkbox,onChange:m,onNodeCollapse:v,onNodeClick:y,onNodeExpand:C},{default:a.withCtx(h=>[d.$slots.default?a.renderSlot(d.$slots,"default",a.normalizeProps(a.mergeProps({key:0},h))):(a.openBlock(),a.createElementBlock("span",{key:1,class:"el-tree-node__label",title:h.node.label},a.toDisplayString(h.node.label),9,sc))]),_:3},8,["class","check-on-click-node","data","default-expand-all","default-expanded-keys","props","highlight-current","node-key","show-checkbox"]))}});const lc={key:1,class:"el-tree-node__label"},cc={name:"um-tree-select",inheritAttrs:!1},yn=a.defineComponent({...cc,props:{checkbox:{type:Boolean},class:null,clearable:{type:Boolean},defaultExpandAll:{type:Boolean,default:!0},modelValue:{default:""},placeholder:null,search:{type:Boolean},size:null,strategy:null,style:null,treeData:null,props:null},emits:["update:modelValue"],setup(e,{emit:t}){const r=e,n=a.ref(),i=a.ref(),o=a.ref(),s=a.computed(()=>Object.assign({},{label:"label",value:"id",children:"children",disabled:"disabled"},r.props||{})),u=a.computed({get:()=>{const d=r.modelValue;return r.checkbox?d&&Array.isArray(d)?m(d,s.value.value,s.value.label):void 0:d||d===0?m([d],s.value.value,s.value.label).join(","):void 0},set:d=>{if(r.checkbox){const b=m(d,s.value.label,s.value.value);t("update:modelValue",b),i.value&&i.value.setSelectKey(b)}else d||(t("update:modelValue",void 0),i.value&&i.value.setSelectKey(void 0))}}),f=a.computed(()=>(r.class?[r.class]:[]).concat(["um-tree-select"]).join(" ")),l=(d,b,h,w)=>{let T="";for(let M=0;M<(b==null?void 0:b.length);M++){const N=b[M],z=s.value.children||"",R=N[z]||[];if(N[h]===d){T=N[w];break}else if(R.length&&(T=l(d,R,h,w),T))break}return T},m=(d,b="",h="")=>{let w=[];return d.forEach(T=>{const M=l(T,r.treeData,b,h);w.push(M||`${T}`)}),w},y=d=>{t("update:modelValue",d)},v=d=>{t("update:modelValue",d),n.value.blur()},C=d=>{d&&i.value.setSelectKey(r.modelValue)};return(d,b)=>{const h=a.resolveComponent("el-input"),w=a.resolveComponent("el-option"),T=a.resolveComponent("el-select");return a.openBlock(),a.createBlock(T,{ref_key:"selectRef",ref:n,modelValue:a.unref(u),"onUpdate:modelValue":b[2]||(b[2]=M=>a.isRef(u)?u.value=M:null),class:a.normalizeClass(a.unref(f)),clearable:e.clearable,"collapse-tags":"",multiple:e.checkbox,size:e.size,placeholder:e.placeholder,"popper-class":"um-tree-select-popper",style:a.normalizeStyle(e.style),onVisibleChange:C},{default:a.withCtx(()=>[a.createVNode(w,{value:"1",style:{height:"auto",padding:"0","min-height":"200!important"}},{default:a.withCtx(()=>[e.search?(a.openBlock(),a.createBlock(h,{key:0,modelValue:o.value,"onUpdate:modelValue":b[0]||(b[0]=M=>o.value=M),size:"small",placeholder:"\u5173\u952E\u5B57\u68C0\u7D22","suffix-icon":a.unref(Se.Search),onClick:b[1]||(b[1]=a.withModifiers(()=>{},["stop","prevent"]))},null,8,["modelValue","suffix-icon"])):a.createCommentVNode("",!0),a.createVNode(Nt,{ref_key:"treeRef",ref:i,"tree-data":e.treeData,props:a.unref(s),checkbox:e.checkbox,"default-expand-all":e.defaultExpandAll,keyword:o.value,strategy:e.strategy,onOnCheck:y,onOnSelect:v},{default:a.withCtx(M=>[d.$slots.default?a.renderSlot(d.$slots,"default",a.normalizeProps(a.mergeProps({key:0},M))):(a.openBlock(),a.createElementBlock("span",lc,a.toDisplayString(M.node.label),1))]),_:3},8,["tree-data","props","checkbox","default-expand-all","keyword","strategy"])]),_:3})]),_:3},8,["modelValue","class","clearable","multiple","size","placeholder","style"])}}}),fc="_cancel_omswa_6",dc="_submit_omswa_7";var hc={"form-operate":"_form-operate_omswa_1",cancel:fc,submit:dc};const pc=a.defineComponent({name:"UmTableForm",inheritAttrs:!1,emits:["ok","cancel","formModelChange"],setup(e,{expose:t}){const r=a.ref({}),n=a.getCurrentInstance(),i=o=>{const s=Array.isArray(o)?o:[o],u={};for(const f of s)if(!!f)for(const l in r.value)(Object.prototype.hasOwnProperty.call(f,l)||Object.prototype.hasOwnProperty.call(f,"_"+l))&&(u[l]=f[l]);r.value=u};return t({setFormModel:i,getFormModel:()=>a.unref(r),onSubmit:()=>{var o,s;return(s=(o=n==null?void 0:n.proxy)==null?void 0:o.onSubmit)==null?void 0:s.call(o)}}),{formModel:r,setFormModel:i}},data(){return{rules:{},formItems:[],fieldOption:new Map,maxLabelWidth:50,showList:[],cascadeMap:new Map,throttleRefreshForm:Cl(async function(e,t,r){await this.initShowFieldList(e,t),await this.initCascadeData(r),this.initFormItem()},100,{leading:!1,trailing:!0})}},methods:{async refreshForm(e,t,r){return this.throttleRefreshForm(e,t,r)},async onSubmit(){var r,n;const e=this.$refs;let t=!1;try{t=await((n=(r=e.formRef)==null?void 0:r.validate)==null?void 0:n.call(r))}catch{return}t&&this.$emit("ok",du(this.formModel))},getRule(e){const t=this;switch(e.type){case"require":case"requireString":return{required:!0,message:e.message};case"ip":return{pattern:/^((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})(\.((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})){3}$/,message:e.message||"ip\u683C\u5F0F\u4E0D\u6B63\u786E"};case"port":return{pattern:/^([0-9]|[1-9]\d{1,3}|[1-5]\d{4}|6[0-4]\d{3}|65[0-4]\d{2}|655[0-2]\d|6553[0-5])$/,message:e.message||"\u7AEF\u53E3\u683C\u5F0F\u4E0D\u6B63\u786E"};case"len":if(!ve(e.max)&&!ve(e.min))return{min:e.min,max:e.max,message:"\u957F\u5EA6\u4E3A"+e.min+"\u548C"+e.max+"\u4E4B\u95F4"};if(ve(e.max)){if(!ve(e.min))return{min:e.min,message:"\u6700\u5C0F\u957F\u5EA6\u4E3A"+e.min}}else return{max:e.max,message:"\u957F\u5EA6\u4E0D\u80FD\u8D85\u8FC7"+e.max};break;case"phone":return{pattern:/^1[3456789]\d{9}$/,message:e.message||"\u683C\u5F0F\u4E0D\u6B63\u786E"};case"idNumber":return{pattern:/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/,message:e.message||"\u683C\u5F0F\u4E0D\u6B63\u786E"};case"validator":return{validator:e.validator.bind({formData:t.formModel})};default:return{}}},async updateFieldOption(e,t,r=!0){const n=t.fieldType;if(n!=="treeSelect"&&n!=="string"&&n!=="select"&&n!=="pickerMapGps")return;let i;if(t.getData&&(i=await t.getData(this.formModel),this.fieldOption.set(e,i)),!!t.isCascade){if(n==="treeSelect"){r||(this.formModel[e]=jn((i==null?void 0:i.data)||[],this.formModel[e]||[]));return}Array.isArray(i==null?void 0:i.data)&&(i.data.some(s=>s.value==this.formModel[e])||(n==="string"?this.formModel[e]=i:Array.isArray(this.formModel[e])?this.formModel[e]=[]:this.formModel[e]=void 0))}},async initShowFieldList(e,t){const r=[],n=this;for(const i of re(this.$attrs.target,"table:formField")){const{fieldName:o,meta:s}=i;if(!(s.isShow?await s.isShow(e):!0)){(t==null?void 0:t[o])!==null&&(t==null?void 0:t[o])!==void 0&&(n.formModel["$ref:"+o]=t[o]),n.formModel[o]=null;continue}const f=n.formModel["$ref:"+o];f!==void 0&&n.formModel[o]==null&&(n.formModel[o]=f),r.push(o)}this.showList=r},async initCascadeData(e){for(const t of re(this.$attrs.target,"table:formField")){const{fieldName:r,meta:n}=t;n.isCascade&&e.includes(r)&&await this.updateFieldOption(r,n,!1)}},async initData(){for(const e of re(this.$attrs.target,"table:formField"))await this.updateFieldOption(e.fieldName,e.meta)},initFormItem(){let e=[];const t=this,r=this.$attrs.target,n=ve(this.$attrs["is-show-default-submit"])?!0:!!this.$attrs["is-show-default-submit"],i=new Map;for(const o of re(r,"table:formField"))i.set(o.fieldName,o.meta);for(const o of this.showList){const s=i.get(o);if(!s)continue;const u=t.formModel[o],f={label:s.def,prop:o};switch(s.fieldType){case"primaryKey":break;case"upload":e.push(a.h(D.ElFormItem,f,()=>a.h(ic,{modelValue:u,"onUpdate:modelValue":l=>t.initForm(o,l)})));break;case"treeSelect":e.push(a.h(D.ElFormItem,f,()=>a.h(yn,{modelValue:u,"onUpdate:modelValue":l=>t.initForm(o,l),size:"default",search:!0,placeholder:"\u8BF7\u9009\u62E9"+s.def,style:{width:"100%"},props:{label:"name"},...this.fieldOption.get(o)||{}})));break;case"select":{const l=this.fieldOption.get(o),m=((l==null?void 0:l.data)||[]).map(y=>a.h(D.ElSelect.Option,{key:y.value,label:y.label,value:y.value}));e.push(a.h(D.ElFormItem,f,()=>a.h(D.ElSelect,{modelValue:u,"onUpdate:modelValue":y=>{t.initForm(o,y),this.$emit("formModelChange",t.formModel,o)},size:"default",multiple:!!(l!=null&&l.multiple),collapseTags:!0,placeholder:"\u8BF7\u9009\u62E9"+s.def,style:{width:"100%"}},()=>m)));break}case"boolean":case"switch":e.push(a.h(D.ElFormItem,f,()=>a.h(D.ElSwitch,{modelValue:u,"onUpdate:modelValue":l=>t.initForm(o,l),size:"default"})));break;case"date":case"dateRange":e.push(a.h(D.ElFormItem,f,()=>a.h(D.ElDatePicker,{modelValue:u,"onUpdate:modelValue":l=>t.initForm(o,l),type:s.fieldType==="dateRange"?"daterange":"date",valueFormat:"YYYY-MM-DD",placeholder:s.placeholder||"\u8BF7\u9009\u62E9"+s.def,style:{width:"100%"}})));break;case"input":case"password":case"textarea":case"number":default:{if(s.component){e.push(a.h(D.ElFormItem,f,()=>a.h(s.component,{modelValue:u,"onUpdate:modelValue":m=>t.initForm(o,m)})));break}const l=s.fieldType==="password"?"password":s.fieldType==="textarea"?"textarea":s.fieldType==="number"?"number":"text";e.push(a.h(D.ElFormItem,f,()=>{var m;return a.h(D.ElInput,{modelValue:u,"onUpdate:modelValue":y=>t.initForm(o,y),type:l,size:"default",placeholder:s.placeholder||"\u8BF7\u8F93\u5165"+s.def,maxlength:s.maxlength,minlength:s.minlength,showWordLimit:!!s.maxlength,disabled:s.disabled||((m=s.isDisabled)==null?void 0:m.call(s,t.formModel))||!1})}));break}}}n&&(e=e.concat(a.h(D.ElFormItem,()=>a.h("div",{class:t.$style["form-operate"]},[a.h(D.ElButton,{class:t.$style.cancel,onClick:()=>t.$emit("cancel")},()=>"\u53D6\u6D88"),a.h(D.ElButton,{class:t.$style.submit,onClick:this.onSubmit},()=>"\u786E\u5B9A")])))),this.formItems=e},initRule(e=!0){var i;const t=((i=this.$attrs)==null?void 0:i.data)||{},r=this;let n=r.maxLabelWidth;for(const o of re(this.$attrs.target,"table:formField")){const{fieldName:s,meta:u}=o;u.cascadeFiled&&this.cascadeMap.set(s,u.cascadeFiled),e&&(t.id!==void 0&&t.id!==null?r.formModel[s]=t[s]:r.formModel[s]=t&&Object.keys(t).length>0?t[s]:o.value),u.fieldType==="ip"?this.rules[s]=[this.getRule({type:"ip"})]:u.fieldType==="port"&&(this.rules[s]=[this.getRule({type:"port"})]),u.rule&&(this.rules[s]=Array.isArray(u.rule)?u.rule.map(m=>this.getRule(m)):[this.getRule(u.rule)]);const f=(this.rules[s]||[]).some(m=>m.required),l=Nn(u.def)+(f?16:0);l>n&&(n=l)}this.maxLabelWidth=n},async init(){await this.initData(),await this.initShowFieldList(this.formModel),this.initFormItem()},initForm(e,t){this.formModel={...this.formModel,[e]:t}}},watch:{formModel:{async handler(e,t){var o,s;this.initRule(!1);const r=this.$refs;let n=[];const i=[];for(const u in e)El(e[u],t==null?void 0:t[u])||(n=this.cascadeMap.get(u)||[],i.push(u));await this.refreshForm(e,t,n),await a.nextTick();for(const u of i)try{await((s=(o=r==null?void 0:r.formRef)==null?void 0:o.validateField)==null?void 0:s.call(o,u))}catch{}}}},computed:{formCom(){return this.formItems?a.h(D.ElForm,{ref:"formRef",key:this.formItems.length,model:this.formModel,rules:this.rules,validateOnRuleChange:!1,labelPosition:"right",labelWidth:this.maxLabelWidth+20+"px"},()=>this.formItems):null}},beforeMount(){this.rules={},this.initRule(),this.init()},render(){return this.formCom}}),mc={$style:hc};var gn=ne(pc,[["__cssModules",mc]]);const yc={name:"UmSyncNodeForm",inheritAttrs:!1},gc=a.defineComponent({...yc,props:{data:null,depData:null},emits:["cancel"],setup(e){const t=e;class r{}const n=a.ref(),i=a.ref(-99),o=a.ref("moduleId"),s=a.ref("\u6A21\u5757\u540D\u79F0"),u=a.ref({}),f=a.computed(()=>{var b,h,w,T,M;const v=(h=(b=t.depData)==null?void 0:b.data)!=null?h:[],C=a.unref(o);Array.isArray(v)&&(r.prototype[C]=(T=u.value[C])!=null?T:(w=v[0])==null?void 0:w.id,Reflect.defineMetadata("table:formField",{lang:"",def:s.value,fieldType:"select",getData:()=>({data:v})},r.prototype,C));const d=(M=v.find)==null?void 0:M.call(v,N=>N.id==u.value[C]);return Array.isArray(d==null?void 0:d.configList)&&d.configList.forEach(N=>{const z=[];N.required&&z.push({type:"require",message:"\u4E0D\u80FD\u4E3A\u7A7A"}),(N.max||N.min)&&z.push({type:"len",max:N.max,min:N.min}),r.prototype[N.code]="",Reflect.defineMetadata("table:formField",{lang:"",def:N.name,fieldType:N.styleName,rule:z,getData:()=>{var R;return{data:(R=N.data)!=null?R:[]}}},r.prototype,N.code)}),r});let l=null;a.watch([u,n],([v,C])=>{var d;!C||v===l||(l=v,(d=C.setFormModel)==null||d.call(C,v))}),a.onBeforeMount(()=>{var C,d,b,h,w,T,M;o.value=((C=t.depData)==null?void 0:C.moduleId)||"moduleId",s.value=((d=t.depData)==null?void 0:d.moduleName)||"\u6A21\u5757\u540D\u79F0";const v=(h=(b=t.depData)==null?void 0:b.data)!=null?h:[];u.value={...t.data||{},[o.value]:(M=(w=t.data)==null?void 0:w[o.value])!=null?M:(T=v[0])==null?void 0:T.id}});const m=v=>{i.value=v==null?void 0:v[o.value],u.value={...u.value,[o.value]:i.value}},y=v=>{};return(v,C)=>(a.openBlock(),a.createBlock(gn,{key:i.value,ref_key:"tableForm",ref:n,target:a.unref(f),onFormModelChange:m,onCancel:C[0]||(C[0]=d=>v.$emit("cancel")),onOk:y},null,8,["target"]))}}),vc=e=>(t,r)=>{Reflect.defineMetadata("table:field",{width:100,sort:1,...e},t,r)},bc=e=>(t,r)=>{Reflect.defineMetadata("table:formField",e,t,r)},wc=e=>(t,r)=>{Reflect.defineMetadata("table:searchFormField",e,t,r)},_c=({key:e="table:operate",value:t})=>(r,n)=>{Reflect.defineMetadata(e,{priority:1,...t,es:(t==null?void 0:t.es)||"onNow"},r,n)};var Re;class ke{static get(t){return ve(t)?null:st(this,Re).get(t)}static set(t,r){ve(t)||st(this,Re).set(t,r)}}Re=new WeakMap,Lt(ke,Re,new Map);const Fc="_title_1qin3_9";var Ec={"um-district-tree-node":"_um-district-tree-node_1qin3_1",title:Fc};const $c=["title"],Cc=a.defineComponent({props:{title:null,id:null,officeLevel:null,officeLevelData:null,dictTypes:null},setup(e){const t=e,r="icon-a-gonganjubeifen5",n="icon-gonganju",i="icon-a-bianzu171",o=a.computed(()=>{var u,f,l,m;return{district:(f=(u=t.dictTypes)==null?void 0:u.district)!=null?f:"DISTRICTNODE",office:(m=(l=t.dictTypes)==null?void 0:l.office)!=null?m:"DISTRICTOFFICE"}}),s=a.computed(()=>{var l,m;const u=t.officeLevel,f=(m=(l=t.officeLevelData)==null?void 0:l.find(y=>y.id==u))==null?void 0:m.typeName;return ke.get(u)===r||f===o.value.district?(ke.set(u,r),r):ke.get(u)===n||f===o.value.office?(ke.set(u,n),n):i});return(u,f)=>(a.openBlock(),a.createElementBlock("div",{class:a.normalizeClass(u.$style["um-district-tree-node"]),title:e.title},[a.createVNode(Fe,{type:a.unref(s)},null,8,["type"]),a.createElementVNode("span",{class:a.normalizeClass(u.$style.title)},a.toDisplayString(e.title),3)],10,$c))}}),Tc={$style:Ec};var vn=ne(Cc,[["__cssModules",Tc]]),Ac={"um-tree":"_um-tree_8ig8y_1"};const Sc=a.defineComponent({props:{treeData:null,keyword:null,nodeId:null,officeLevelData:null,fetchOfficeLevelData:null,dictTypes:{default:()=>({district:"DISTRICTNODE",office:"DISTRICTOFFICE"})}},emits:["onSelect"],setup(e,{expose:t,emit:r}){const n=e,i=a.ref(),o=a.ref({label:"name",children:"children",disabled:"disabled"}),s=a.ref([]),u=a.computed(()=>{var l;return(l=n.officeLevelData)!=null?l:s.value});async function f(){if(n.officeLevelData||!n.fetchOfficeLevelData)return;const{code:l,data:m}=await n.fetchOfficeLevelData();s.value=l===0?m:[]}return f(),a.watch([()=>n.nodeId,i],([l,m])=>{m&&m.setSelectKey(l)}),t({setSelectKey:l=>{var m;return(m=i.value)==null?void 0:m.setSelectKey(l)},refresh:f}),(l,m)=>a.unref(u)&&a.unref(u).length>0?(a.openBlock(),a.createBlock(Nt,{key:0,ref_key:"districtTreeRef",ref:i,keyword:e.keyword,class:a.normalizeClass(l.$style["um-tree"]),"tree-data":e.treeData,props:o.value,"default-expand-all":!0,onOnSelect:m[0]||(m[0]=(y,v)=>l.$emit("onSelect",y,v))},{default:a.withCtx(({node:y,data:v})=>[a.createVNode(vn,{title:y.label,id:y.id,"office-level":v.officeLevel,"office-level-data":a.unref(u),"dict-types":e.dictTypes},null,8,["title","id","office-level","office-level-data","dict-types"])]),_:1},8,["keyword","class","tree-data","props"])):a.createCommentVNode("",!0)}}),Mc={$style:Ac};var Dc=ne(Sc,[["__cssModules",Mc]]);const Oc={class:"el-tree-node__label"},Bc={name:"area-tree",inheritAttrs:!1},xc=a.defineComponent({...Bc,props:{treeData:null,props:null,defaultExpandAll:{type:Boolean,default:!1},keyword:null,nodeKey:{default:"id"}},emits:["onSelect"],setup(e,{emit:t}){const r=e,n=a.ref();a.watch(()=>r.keyword,s=>{n.value.filter(s)});const i=(s,u)=>s?u.label.indexOf(s)!==-1:!0,o=(s,u,f)=>{t("onSelect",s,u,f)};return(s,u)=>{const f=a.resolveComponent("el-tree");return a.openBlock(),a.createBlock(f,{ref_key:"treeRef",ref:n,data:e.treeData,props:r.props,"default-expand-all":e.defaultExpandAll,"expand-on-click-node":!1,"filter-node-method":i,"highlight-current":"","node-key":e.nodeKey,onNodeClick:o},{default:a.withCtx(({node:l})=>[a.createElementVNode("span",Oc,a.toDisplayString(l.label),1)]),_:1},8,["data","props","default-expand-all","node-key"])}}});exports.AreaTree=xc;exports.DEFAULT_DEFER_TYPES=qe;exports.EVENT_PHASES=Ke;exports.Iconfont=Fe;exports.TableColumnMethodDecorator=_c;exports.TableColumnPropertyDecorator=vc;exports.TableFormColumnPropertyDecorator=bc;exports.TableSearchFormPropertyDecorator=wc;exports.UmByClass=fn;exports.UmByClassEnhance=ec;exports.UmColumnRender=Er;exports.UmDialog=dn;exports.UmDistrictTree=Dc;exports.UmDistrictTreeNode=vn;exports.UmPagination=mn;exports.UmSearchForm=pn;exports.UmSyncNodeForm=gc;exports.UmTable=_r;exports.UmTableColumn=Je;exports.UmTableDialog=hn;exports.UmTableForm=gn;exports.UmTableOperate=$r;exports.UmTableToolbar=wr;exports.UmTree=Nt;exports.UmTreeSelect=yn;exports.buildOperateColumn=on;exports.collectClassMembers=Xe;exports.collectDataColumns=Qr;exports.collectOperateGroups=en;exports.collectToolbar=un;exports.collectTypedTasks=sn;exports.createTargetInstance=$e;exports.diagnoseTarget=ln;exports.findMethodMeta=yt;exports.getMemberMeta=We;exports.isDiagnosticsEnabled=Bl;exports.normalizeFieldName=Cr;exports.reportDiagnostics=cn;exports.reportDiagnosticsOnce=It;exports.resolveOperateWidth=rn;exports.resolveShowOperate=tn;exports.runEventPipeline=at;exports.scanDecoratedMembers=re;exports.setDiagnosticsEnabled=Ol;exports.sortTasksByPriority=xt;exports.transformFields=Ve; diff --git a/funjiaui.es.js b/funjiaui.es.js new file mode 100644 index 0000000..223c88d --- /dev/null +++ b/funjiaui.es.js @@ -0,0 +1,5632 @@ +var __accessCheck = (obj, member, msg) => { + if (!member.has(obj)) + throw TypeError("Cannot " + msg); +}; +var __privateGet = (obj, member, getter) => { + __accessCheck(obj, member, "read from private field"); + return getter ? getter.call(obj) : member.get(obj); +}; +var __privateAdd = (obj, member, value) => { + if (member.has(obj)) + throw TypeError("Cannot add the same private member more than once"); + member instanceof WeakSet ? member.add(obj) : member.set(obj, value); +}; +var _historyInfo; +import { defineComponent, computed, openBlock, createElementBlock, normalizeClass, unref, normalizeStyle, ref, createVNode, createElementVNode, h, Fragment, withCtx, renderSlot, createBlock, resolveDynamicComponent, useCssVars, isRef, createSlots, toDisplayString, createTextVNode, renderList, withKeys, pushScopeId, popScopeId, onBeforeMount, watch, resolveComponent, normalizeProps, mergeProps, withModifiers, createCommentVNode, getCurrentInstance, nextTick } from "vue"; +import { ElTable, ElTableColumn, ElDialog, ElButton, ElFormItem, ElInput, ElSwitch, ElDatePicker, ElSelect, ElForm, ElDropdown, ElDropdownMenu, ElDropdownItem, ElIcon, ElMessage, ElTree } from "element-plus"; +import { CaretTop, CaretBottom, ArrowLeft, ArrowRight, Plus, Search } from "@element-plus/icons-vue"; +var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {}; +/*! ***************************************************************************** +Copyright (C) Microsoft. All rights reserved. +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at http://www.apache.org/licenses/LICENSE-2.0 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ +var Reflect$1; +(function(Reflect2) { + (function(factory) { + var root2 = typeof commonjsGlobal === "object" ? commonjsGlobal : typeof self === "object" ? self : typeof this === "object" ? this : Function("return this;")(); + var exporter = makeExporter(Reflect2); + if (typeof root2.Reflect === "undefined") { + root2.Reflect = Reflect2; + } else { + exporter = makeExporter(root2.Reflect, exporter); + } + factory(exporter); + function makeExporter(target, previous) { + return function(key, value) { + if (typeof target[key] !== "function") { + Object.defineProperty(target, key, { configurable: true, writable: true, value }); + } + if (previous) + previous(key, value); + }; + } + })(function(exporter) { + var hasOwn = Object.prototype.hasOwnProperty; + var supportsSymbol = typeof Symbol === "function"; + var toPrimitiveSymbol = supportsSymbol && typeof Symbol.toPrimitive !== "undefined" ? Symbol.toPrimitive : "@@toPrimitive"; + var iteratorSymbol = supportsSymbol && typeof Symbol.iterator !== "undefined" ? Symbol.iterator : "@@iterator"; + var supportsCreate = typeof Object.create === "function"; + var supportsProto = { __proto__: [] } instanceof Array; + var downLevel = !supportsCreate && !supportsProto; + var HashMap = { + create: supportsCreate ? function() { + return MakeDictionary(/* @__PURE__ */ Object.create(null)); + } : supportsProto ? function() { + return MakeDictionary({ __proto__: null }); + } : function() { + return MakeDictionary({}); + }, + has: downLevel ? function(map, key) { + return hasOwn.call(map, key); + } : function(map, key) { + return key in map; + }, + get: downLevel ? function(map, key) { + return hasOwn.call(map, key) ? map[key] : void 0; + } : function(map, key) { + return map[key]; + } + }; + var functionPrototype = Object.getPrototypeOf(Function); + var usePolyfill = typeof process === "object" && process["env"] && process["env"]["REFLECT_METADATA_USE_MAP_POLYFILL"] === "true"; + var _Map = !usePolyfill && typeof Map === "function" && typeof Map.prototype.entries === "function" ? Map : CreateMapPolyfill(); + var _Set = !usePolyfill && typeof Set === "function" && typeof Set.prototype.entries === "function" ? Set : CreateSetPolyfill(); + var _WeakMap = !usePolyfill && typeof WeakMap === "function" ? WeakMap : CreateWeakMapPolyfill(); + var Metadata = new _WeakMap(); + function decorate(decorators, target, propertyKey, attributes) { + if (!IsUndefined(propertyKey)) { + if (!IsArray(decorators)) + throw new TypeError(); + if (!IsObject(target)) + throw new TypeError(); + if (!IsObject(attributes) && !IsUndefined(attributes) && !IsNull(attributes)) + throw new TypeError(); + if (IsNull(attributes)) + attributes = void 0; + propertyKey = ToPropertyKey(propertyKey); + return DecorateProperty(decorators, target, propertyKey, attributes); + } else { + if (!IsArray(decorators)) + throw new TypeError(); + if (!IsConstructor(target)) + throw new TypeError(); + return DecorateConstructor(decorators, target); + } + } + exporter("decorate", decorate); + function metadata(metadataKey, metadataValue) { + function decorator(target, propertyKey) { + if (!IsObject(target)) + throw new TypeError(); + if (!IsUndefined(propertyKey) && !IsPropertyKey(propertyKey)) + throw new TypeError(); + OrdinaryDefineOwnMetadata(metadataKey, metadataValue, target, propertyKey); + } + return decorator; + } + exporter("metadata", metadata); + function defineMetadata(metadataKey, metadataValue, target, propertyKey) { + if (!IsObject(target)) + throw new TypeError(); + if (!IsUndefined(propertyKey)) + propertyKey = ToPropertyKey(propertyKey); + return OrdinaryDefineOwnMetadata(metadataKey, metadataValue, target, propertyKey); + } + exporter("defineMetadata", defineMetadata); + function hasMetadata(metadataKey, target, propertyKey) { + if (!IsObject(target)) + throw new TypeError(); + if (!IsUndefined(propertyKey)) + propertyKey = ToPropertyKey(propertyKey); + return OrdinaryHasMetadata(metadataKey, target, propertyKey); + } + exporter("hasMetadata", hasMetadata); + function hasOwnMetadata(metadataKey, target, propertyKey) { + if (!IsObject(target)) + throw new TypeError(); + if (!IsUndefined(propertyKey)) + propertyKey = ToPropertyKey(propertyKey); + return OrdinaryHasOwnMetadata(metadataKey, target, propertyKey); + } + exporter("hasOwnMetadata", hasOwnMetadata); + function getMetadata(metadataKey, target, propertyKey) { + if (!IsObject(target)) + throw new TypeError(); + if (!IsUndefined(propertyKey)) + propertyKey = ToPropertyKey(propertyKey); + return OrdinaryGetMetadata(metadataKey, target, propertyKey); + } + exporter("getMetadata", getMetadata); + function getOwnMetadata(metadataKey, target, propertyKey) { + if (!IsObject(target)) + throw new TypeError(); + if (!IsUndefined(propertyKey)) + propertyKey = ToPropertyKey(propertyKey); + return OrdinaryGetOwnMetadata(metadataKey, target, propertyKey); + } + exporter("getOwnMetadata", getOwnMetadata); + function getMetadataKeys(target, propertyKey) { + if (!IsObject(target)) + throw new TypeError(); + if (!IsUndefined(propertyKey)) + propertyKey = ToPropertyKey(propertyKey); + return OrdinaryMetadataKeys(target, propertyKey); + } + exporter("getMetadataKeys", getMetadataKeys); + function getOwnMetadataKeys(target, propertyKey) { + if (!IsObject(target)) + throw new TypeError(); + if (!IsUndefined(propertyKey)) + propertyKey = ToPropertyKey(propertyKey); + return OrdinaryOwnMetadataKeys(target, propertyKey); + } + exporter("getOwnMetadataKeys", getOwnMetadataKeys); + function deleteMetadata(metadataKey, target, propertyKey) { + if (!IsObject(target)) + throw new TypeError(); + if (!IsUndefined(propertyKey)) + propertyKey = ToPropertyKey(propertyKey); + var metadataMap = GetOrCreateMetadataMap(target, propertyKey, false); + if (IsUndefined(metadataMap)) + return false; + if (!metadataMap.delete(metadataKey)) + return false; + if (metadataMap.size > 0) + return true; + var targetMetadata = Metadata.get(target); + targetMetadata.delete(propertyKey); + if (targetMetadata.size > 0) + return true; + Metadata.delete(target); + return true; + } + exporter("deleteMetadata", deleteMetadata); + function DecorateConstructor(decorators, target) { + for (var i = decorators.length - 1; i >= 0; --i) { + var decorator = decorators[i]; + var decorated = decorator(target); + if (!IsUndefined(decorated) && !IsNull(decorated)) { + if (!IsConstructor(decorated)) + throw new TypeError(); + target = decorated; + } + } + return target; + } + function DecorateProperty(decorators, target, propertyKey, descriptor) { + for (var i = decorators.length - 1; i >= 0; --i) { + var decorator = decorators[i]; + var decorated = decorator(target, propertyKey, descriptor); + if (!IsUndefined(decorated) && !IsNull(decorated)) { + if (!IsObject(decorated)) + throw new TypeError(); + descriptor = decorated; + } + } + return descriptor; + } + function GetOrCreateMetadataMap(O, P, Create) { + var targetMetadata = Metadata.get(O); + if (IsUndefined(targetMetadata)) { + if (!Create) + return void 0; + targetMetadata = new _Map(); + Metadata.set(O, targetMetadata); + } + var metadataMap = targetMetadata.get(P); + if (IsUndefined(metadataMap)) { + if (!Create) + return void 0; + metadataMap = new _Map(); + targetMetadata.set(P, metadataMap); + } + return metadataMap; + } + function OrdinaryHasMetadata(MetadataKey, O, P) { + var hasOwn2 = OrdinaryHasOwnMetadata(MetadataKey, O, P); + if (hasOwn2) + return true; + var parent = OrdinaryGetPrototypeOf(O); + if (!IsNull(parent)) + return OrdinaryHasMetadata(MetadataKey, parent, P); + return false; + } + function OrdinaryHasOwnMetadata(MetadataKey, O, P) { + var metadataMap = GetOrCreateMetadataMap(O, P, false); + if (IsUndefined(metadataMap)) + return false; + return ToBoolean(metadataMap.has(MetadataKey)); + } + function OrdinaryGetMetadata(MetadataKey, O, P) { + var hasOwn2 = OrdinaryHasOwnMetadata(MetadataKey, O, P); + if (hasOwn2) + return OrdinaryGetOwnMetadata(MetadataKey, O, P); + var parent = OrdinaryGetPrototypeOf(O); + if (!IsNull(parent)) + return OrdinaryGetMetadata(MetadataKey, parent, P); + return void 0; + } + function OrdinaryGetOwnMetadata(MetadataKey, O, P) { + var metadataMap = GetOrCreateMetadataMap(O, P, false); + if (IsUndefined(metadataMap)) + return void 0; + return metadataMap.get(MetadataKey); + } + function OrdinaryDefineOwnMetadata(MetadataKey, MetadataValue, O, P) { + var metadataMap = GetOrCreateMetadataMap(O, P, true); + metadataMap.set(MetadataKey, MetadataValue); + } + function OrdinaryMetadataKeys(O, P) { + var ownKeys = OrdinaryOwnMetadataKeys(O, P); + var parent = OrdinaryGetPrototypeOf(O); + if (parent === null) + return ownKeys; + var parentKeys = OrdinaryMetadataKeys(parent, P); + if (parentKeys.length <= 0) + return ownKeys; + if (ownKeys.length <= 0) + return parentKeys; + var set = new _Set(); + var keys2 = []; + for (var _i = 0, ownKeys_1 = ownKeys; _i < ownKeys_1.length; _i++) { + var key = ownKeys_1[_i]; + var hasKey = set.has(key); + if (!hasKey) { + set.add(key); + keys2.push(key); + } + } + for (var _a = 0, parentKeys_1 = parentKeys; _a < parentKeys_1.length; _a++) { + var key = parentKeys_1[_a]; + var hasKey = set.has(key); + if (!hasKey) { + set.add(key); + keys2.push(key); + } + } + return keys2; + } + function OrdinaryOwnMetadataKeys(O, P) { + var keys2 = []; + var metadataMap = GetOrCreateMetadataMap(O, P, false); + if (IsUndefined(metadataMap)) + return keys2; + var keysObj = metadataMap.keys(); + var iterator = GetIterator(keysObj); + var k = 0; + while (true) { + var next = IteratorStep(iterator); + if (!next) { + keys2.length = k; + return keys2; + } + var nextValue = IteratorValue(next); + try { + keys2[k] = nextValue; + } catch (e) { + try { + IteratorClose(iterator); + } finally { + throw e; + } + } + k++; + } + } + function Type(x) { + if (x === null) + return 1; + switch (typeof x) { + case "undefined": + return 0; + case "boolean": + return 2; + case "string": + return 3; + case "symbol": + return 4; + case "number": + return 5; + case "object": + return x === null ? 1 : 6; + default: + return 6; + } + } + function IsUndefined(x) { + return x === void 0; + } + function IsNull(x) { + return x === null; + } + function IsSymbol(x) { + return typeof x === "symbol"; + } + function IsObject(x) { + return typeof x === "object" ? x !== null : typeof x === "function"; + } + function ToPrimitive(input, PreferredType) { + switch (Type(input)) { + case 0: + return input; + case 1: + return input; + case 2: + return input; + case 3: + return input; + case 4: + return input; + case 5: + return input; + } + var hint = PreferredType === 3 ? "string" : PreferredType === 5 ? "number" : "default"; + var exoticToPrim = GetMethod(input, toPrimitiveSymbol); + if (exoticToPrim !== void 0) { + var result = exoticToPrim.call(input, hint); + if (IsObject(result)) + throw new TypeError(); + return result; + } + return OrdinaryToPrimitive(input, hint === "default" ? "number" : hint); + } + function OrdinaryToPrimitive(O, hint) { + if (hint === "string") { + var toString_1 = O.toString; + if (IsCallable(toString_1)) { + var result = toString_1.call(O); + if (!IsObject(result)) + return result; + } + var valueOf = O.valueOf; + if (IsCallable(valueOf)) { + var result = valueOf.call(O); + if (!IsObject(result)) + return result; + } + } else { + var valueOf = O.valueOf; + if (IsCallable(valueOf)) { + var result = valueOf.call(O); + if (!IsObject(result)) + return result; + } + var toString_2 = O.toString; + if (IsCallable(toString_2)) { + var result = toString_2.call(O); + if (!IsObject(result)) + return result; + } + } + throw new TypeError(); + } + function ToBoolean(argument) { + return !!argument; + } + function ToString(argument) { + return "" + argument; + } + function ToPropertyKey(argument) { + var key = ToPrimitive(argument, 3); + if (IsSymbol(key)) + return key; + return ToString(key); + } + function IsArray(argument) { + return Array.isArray ? Array.isArray(argument) : argument instanceof Object ? argument instanceof Array : Object.prototype.toString.call(argument) === "[object Array]"; + } + function IsCallable(argument) { + return typeof argument === "function"; + } + function IsConstructor(argument) { + return typeof argument === "function"; + } + function IsPropertyKey(argument) { + switch (Type(argument)) { + case 3: + return true; + case 4: + return true; + default: + return false; + } + } + function GetMethod(V, P) { + var func = V[P]; + if (func === void 0 || func === null) + return void 0; + if (!IsCallable(func)) + throw new TypeError(); + return func; + } + function GetIterator(obj) { + var method = GetMethod(obj, iteratorSymbol); + if (!IsCallable(method)) + throw new TypeError(); + var iterator = method.call(obj); + if (!IsObject(iterator)) + throw new TypeError(); + return iterator; + } + function IteratorValue(iterResult) { + return iterResult.value; + } + function IteratorStep(iterator) { + var result = iterator.next(); + return result.done ? false : result; + } + function IteratorClose(iterator) { + var f = iterator["return"]; + if (f) + f.call(iterator); + } + function OrdinaryGetPrototypeOf(O) { + var proto = Object.getPrototypeOf(O); + if (typeof O !== "function" || O === functionPrototype) + return proto; + if (proto !== functionPrototype) + return proto; + var prototype = O.prototype; + var prototypeProto = prototype && Object.getPrototypeOf(prototype); + if (prototypeProto == null || prototypeProto === Object.prototype) + return proto; + var constructor = prototypeProto.constructor; + if (typeof constructor !== "function") + return proto; + if (constructor === O) + return proto; + return constructor; + } + function CreateMapPolyfill() { + var cacheSentinel = {}; + var arraySentinel = []; + var MapIterator = function() { + function MapIterator2(keys2, values, selector) { + this._index = 0; + this._keys = keys2; + this._values = values; + this._selector = selector; + } + MapIterator2.prototype["@@iterator"] = function() { + return this; + }; + MapIterator2.prototype[iteratorSymbol] = function() { + return this; + }; + MapIterator2.prototype.next = function() { + var index = this._index; + if (index >= 0 && index < this._keys.length) { + var result = this._selector(this._keys[index], this._values[index]); + if (index + 1 >= this._keys.length) { + this._index = -1; + this._keys = arraySentinel; + this._values = arraySentinel; + } else { + this._index++; + } + return { value: result, done: false }; + } + return { value: void 0, done: true }; + }; + MapIterator2.prototype.throw = function(error) { + if (this._index >= 0) { + this._index = -1; + this._keys = arraySentinel; + this._values = arraySentinel; + } + throw error; + }; + MapIterator2.prototype.return = function(value) { + if (this._index >= 0) { + this._index = -1; + this._keys = arraySentinel; + this._values = arraySentinel; + } + return { value, done: true }; + }; + return MapIterator2; + }(); + return function() { + function Map2() { + this._keys = []; + this._values = []; + this._cacheKey = cacheSentinel; + this._cacheIndex = -2; + } + Object.defineProperty(Map2.prototype, "size", { + get: function() { + return this._keys.length; + }, + enumerable: true, + configurable: true + }); + Map2.prototype.has = function(key) { + return this._find(key, false) >= 0; + }; + Map2.prototype.get = function(key) { + var index = this._find(key, false); + return index >= 0 ? this._values[index] : void 0; + }; + Map2.prototype.set = function(key, value) { + var index = this._find(key, true); + this._values[index] = value; + return this; + }; + Map2.prototype.delete = function(key) { + var index = this._find(key, false); + if (index >= 0) { + var size = this._keys.length; + for (var i = index + 1; i < size; i++) { + this._keys[i - 1] = this._keys[i]; + this._values[i - 1] = this._values[i]; + } + this._keys.length--; + this._values.length--; + if (key === this._cacheKey) { + this._cacheKey = cacheSentinel; + this._cacheIndex = -2; + } + return true; + } + return false; + }; + Map2.prototype.clear = function() { + this._keys.length = 0; + this._values.length = 0; + this._cacheKey = cacheSentinel; + this._cacheIndex = -2; + }; + Map2.prototype.keys = function() { + return new MapIterator(this._keys, this._values, getKey); + }; + Map2.prototype.values = function() { + return new MapIterator(this._keys, this._values, getValue2); + }; + Map2.prototype.entries = function() { + return new MapIterator(this._keys, this._values, getEntry); + }; + Map2.prototype["@@iterator"] = function() { + return this.entries(); + }; + Map2.prototype[iteratorSymbol] = function() { + return this.entries(); + }; + Map2.prototype._find = function(key, insert) { + if (this._cacheKey !== key) { + this._cacheIndex = this._keys.indexOf(this._cacheKey = key); + } + if (this._cacheIndex < 0 && insert) { + this._cacheIndex = this._keys.length; + this._keys.push(key); + this._values.push(void 0); + } + return this._cacheIndex; + }; + return Map2; + }(); + function getKey(key, _) { + return key; + } + function getValue2(_, value) { + return value; + } + function getEntry(key, value) { + return [key, value]; + } + } + function CreateSetPolyfill() { + return function() { + function Set2() { + this._map = new _Map(); + } + Object.defineProperty(Set2.prototype, "size", { + get: function() { + return this._map.size; + }, + enumerable: true, + configurable: true + }); + Set2.prototype.has = function(value) { + return this._map.has(value); + }; + Set2.prototype.add = function(value) { + return this._map.set(value, value), this; + }; + Set2.prototype.delete = function(value) { + return this._map.delete(value); + }; + Set2.prototype.clear = function() { + this._map.clear(); + }; + Set2.prototype.keys = function() { + return this._map.keys(); + }; + Set2.prototype.values = function() { + return this._map.values(); + }; + Set2.prototype.entries = function() { + return this._map.entries(); + }; + Set2.prototype["@@iterator"] = function() { + return this.keys(); + }; + Set2.prototype[iteratorSymbol] = function() { + return this.keys(); + }; + return Set2; + }(); + } + function CreateWeakMapPolyfill() { + var UUID_SIZE = 16; + var keys2 = HashMap.create(); + var rootKey = CreateUniqueKey(); + return function() { + function WeakMap2() { + this._key = CreateUniqueKey(); + } + WeakMap2.prototype.has = function(target) { + var table = GetOrCreateWeakMapTable(target, false); + return table !== void 0 ? HashMap.has(table, this._key) : false; + }; + WeakMap2.prototype.get = function(target) { + var table = GetOrCreateWeakMapTable(target, false); + return table !== void 0 ? HashMap.get(table, this._key) : void 0; + }; + WeakMap2.prototype.set = function(target, value) { + var table = GetOrCreateWeakMapTable(target, true); + table[this._key] = value; + return this; + }; + WeakMap2.prototype.delete = function(target) { + var table = GetOrCreateWeakMapTable(target, false); + return table !== void 0 ? delete table[this._key] : false; + }; + WeakMap2.prototype.clear = function() { + this._key = CreateUniqueKey(); + }; + return WeakMap2; + }(); + function CreateUniqueKey() { + var key; + do + key = "@@WeakMap@@" + CreateUUID(); + while (HashMap.has(keys2, key)); + keys2[key] = true; + return key; + } + function GetOrCreateWeakMapTable(target, create) { + if (!hasOwn.call(target, rootKey)) { + if (!create) + return void 0; + Object.defineProperty(target, rootKey, { value: HashMap.create() }); + } + return target[rootKey]; + } + function FillRandomBytes(buffer, size) { + for (var i = 0; i < size; ++i) + buffer[i] = Math.random() * 255 | 0; + return buffer; + } + function GenRandomBytes(size) { + if (typeof Uint8Array === "function") { + if (typeof crypto !== "undefined") + return crypto.getRandomValues(new Uint8Array(size)); + if (typeof msCrypto !== "undefined") + return msCrypto.getRandomValues(new Uint8Array(size)); + return FillRandomBytes(new Uint8Array(size), size); + } + return FillRandomBytes(new Array(size), size); + } + function CreateUUID() { + var data = GenRandomBytes(UUID_SIZE); + data[6] = data[6] & 79 | 64; + data[8] = data[8] & 191 | 128; + var result = ""; + for (var offset = 0; offset < UUID_SIZE; ++offset) { + var byte = data[offset]; + if (offset === 4 || offset === 6 || offset === 8) + result += "-"; + if (byte < 16) + result += "0"; + result += byte.toString(16).toLowerCase(); + } + return result; + } + } + function MakeDictionary(obj) { + obj.__ = void 0; + delete obj.__; + return obj; + } + }); +})(Reflect$1 || (Reflect$1 = {})); +const __default__$6 = { + name: "iconfont", + inheritAttrs: false +}; +const _sfc_main$k = /* @__PURE__ */ defineComponent({ + ...__default__$6, + props: { + class: null, + style: null, + type: null + }, + emits: ["click"], + setup(__props, { emit }) { + const props = __props; + const iconClass = computed(() => { + return ["iconfont"].concat([props.type], props.class ? [props.class] : []).join(" "); + }); + return (_ctx, _cache) => { + return openBlock(), createElementBlock("span", { + class: normalizeClass(unref(iconClass)), + style: normalizeStyle(__props.style), + onClick: _cache[0] || (_cache[0] = ($event) => emit("click")) + }, null, 6); + }; + } +}); +var style0$6 = { + "um-import": "_um-import_19xyw_1" +}; +var _export_sfc = (sfc, props) => { + const target = sfc.__vccOpts || sfc; + for (const [key, val] of props) { + target[key] = val; + } + return target; +}; +const _hoisted_1$7 = /* @__PURE__ */ createElementVNode("span", null, "\u5BFC\u5165", -1); +const _sfc_main$j = /* @__PURE__ */ defineComponent({ + emits: ["click"], + setup(__props, { emit }) { + const fileInput = ref(); + const onClick = () => { + fileInput.value.click(); + }; + const onFileChange = (e) => { + emit("click", e); + }; + return (_ctx, _cache) => { + return openBlock(), createElementBlock("div", { + class: normalizeClass(_ctx.$style["um-import"]), + onClick + }, [ + createVNode(_sfc_main$k, { type: "icon-daoru" }), + _hoisted_1$7, + createElementVNode("input", { + ref_key: "fileInput", + ref: fileInput, + type: "file", + onChange: onFileChange + }, null, 544) + ], 2); + }; + } +}); +const cssModules$6 = { + "$style": style0$6 +}; +var UmImport = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__cssModules", cssModules$6]]); +var UmTableToolbar_vue_vue_type_style_index_0_scoped_true_lang = ""; +const _sfc_main$i = defineComponent({ + inheritAttrs: false, + render() { + var _a, _b; + const that = this; + const data = that.$attrs.data || []; + const otherParams = ((_a = that.$attrs) == null ? void 0 : _a["other-params"]) || {}; + const searchParams = ((_b = that.$attrs) == null ? void 0 : _b["search-params"]) || {}; + const events = that.$attrs.events || []; + const selection = that.$attrs.selection || []; + const list = data.map((item, index) => { + const event = () => events == null ? void 0 : events[index](selection); + switch (item.type) { + case "\u6DFB\u52A0": + return h("div", { "class": "item add", "onclick": event }, [h(_sfc_main$k, { + type: "icon-tianjia" + }), h("a", {}, item.title || "\u6DFB\u52A0")]); + case "\u5BFC\u5165\u6A21\u677F": + return h("div", { "class": "item", "onclick": event }, h("a", {}, "\u5BFC\u5165\u6A21\u677F")); + case "\u5BFC\u5165": + return h(UmImport, { + "class": "item", + "onClick": (data2) => { + events == null ? void 0 : events[index](data2); + } + }); + case "\u5BFC\u51FA": + return h("div", { + "class": "item", + "onclick": (e) => { + events == null ? void 0 : events[index]({ ...otherParams || {}, ...searchParams || {} }); + } + }, [h(_sfc_main$k, { + type: "icon-daochu" + }), h("a", {}, "\u5BFC\u51FA")]); + case "\u6279\u91CF\u5220\u9664": + return h("div", { + "class": "item " + ((selection == null ? void 0 : selection.length) > 0 ? "" : "disabled"), + "onclick": (e) => { + if ((selection == null ? void 0 : selection.length) == 0) { + return; + } + return event(); + } + }, [h(_sfc_main$k, { + type: "icon-shanchu-" + }), h("a", {}, "\u6279\u91CF\u5220\u9664")]); + case "\u81EA\u5B9A\u4E49": + return h("div", { + "class": "item", + "onclick": (e) => { + events == null ? void 0 : events[index]({ ...otherParams || {}, ...searchParams || {} }); + } + }, [h(_sfc_main$k, { + type: "icon-daochu" + }), h("a", {}, item.title || "\u81EA\u5B9A\u4E49")]); + default: + return h("div", {}, "error"); + } + }); + return h("div", { "class": "toolbar" }, list); + } +}); +var UmTableToolbar = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-4e3c97de"]]); +var UmTable_vue_vue_type_style_index_0_scoped_true_lang = ""; +const _sfc_main$h = /* @__PURE__ */ defineComponent({ + props: { + style: null, + width: { default: "100%" }, + data: null, + toolbarOptions: { default: () => [] }, + toolbarEvents: { default: () => [] }, + otherParams: { default: () => ({}) }, + searchParams: { default: () => ({}) }, + rowKey: { default: "id" }, + defaultExpandAll: { type: Boolean, default: false }, + treeProps: null + }, + setup(__props) { + const props = __props; + const selection = ref([]); + const onSelect = (rows) => { + selection.value = rows; + }; + const onSelectAll = (rows) => { + selection.value = rows; + }; + return (_ctx, _cache) => { + return openBlock(), createElementBlock(Fragment, null, [ + createVNode(UmTableToolbar, { + data: __props.toolbarOptions, + "other-params": __props.otherParams, + "search-params": __props.searchParams, + events: __props.toolbarEvents, + selection: selection.value + }, null, 8, ["data", "other-params", "search-params", "events", "selection"]), + createVNode(unref(ElTable), { + class: "um-table", + data: __props.data, + "row-key": __props.rowKey, + "default-expand-all": __props.defaultExpandAll, + "tree-props": __props.treeProps, + style: normalizeStyle({ ...props.style || {}, width: __props.width }), + onSelect, + onSelectAll + }, { + default: withCtx(() => [ + renderSlot(_ctx.$slots, "default", {}, void 0, true) + ]), + _: 3 + }, 8, ["data", "row-key", "default-expand-all", "tree-props", "style"]) + ], 64); + }; + } +}); +var UmTable = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__scopeId", "data-v-1fc1c360"]]); +var dayjs_min = { exports: {} }; +(function(module2, exports2) { + !function(t, e) { + module2.exports = e(); + }(commonjsGlobal, function() { + var t = 1e3, e = 6e4, n = 36e5, r = "millisecond", i = "second", s = "minute", u = "hour", a = "day", o = "week", c = "month", f = "quarter", h2 = "year", d = "date", l = "Invalid Date", $ = /^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/, y = /\[([^\]]+)]|YYYY|YY|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g, M = { name: "en", weekdays: "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"), months: "January_February_March_April_May_June_July_August_September_October_November_December".split("_"), ordinal: function(t2) { + var e2 = ["th", "st", "nd", "rd"], n2 = t2 % 100; + return "[" + t2 + (e2[(n2 - 20) % 10] || e2[n2] || e2[0]) + "]"; + } }, m = function(t2, e2, n2) { + var r2 = String(t2); + return !r2 || r2.length >= e2 ? t2 : "" + Array(e2 + 1 - r2.length).join(n2) + t2; + }, v = { s: m, z: function(t2) { + var e2 = -t2.utcOffset(), n2 = Math.abs(e2), r2 = Math.floor(n2 / 60), i2 = n2 % 60; + return (e2 <= 0 ? "+" : "-") + m(r2, 2, "0") + ":" + m(i2, 2, "0"); + }, m: function t2(e2, n2) { + if (e2.date() < n2.date()) + return -t2(n2, e2); + var r2 = 12 * (n2.year() - e2.year()) + (n2.month() - e2.month()), i2 = e2.clone().add(r2, c), s2 = n2 - i2 < 0, u2 = e2.clone().add(r2 + (s2 ? -1 : 1), c); + return +(-(r2 + (n2 - i2) / (s2 ? i2 - u2 : u2 - i2)) || 0); + }, a: function(t2) { + return t2 < 0 ? Math.ceil(t2) || 0 : Math.floor(t2); + }, p: function(t2) { + return { M: c, y: h2, w: o, d: a, D: d, h: u, m: s, s: i, ms: r, Q: f }[t2] || String(t2 || "").toLowerCase().replace(/s$/, ""); + }, u: function(t2) { + return void 0 === t2; + } }, g = "en", D = {}; + D[g] = M; + var p = "$isDayjsObject", S = function(t2) { + return t2 instanceof _ || !(!t2 || !t2[p]); + }, w = function t2(e2, n2, r2) { + var i2; + if (!e2) + return g; + if ("string" == typeof e2) { + var s2 = e2.toLowerCase(); + D[s2] && (i2 = s2), n2 && (D[s2] = n2, i2 = s2); + var u2 = e2.split("-"); + if (!i2 && u2.length > 1) + return t2(u2[0]); + } else { + var a2 = e2.name; + D[a2] = e2, i2 = a2; + } + return !r2 && i2 && (g = i2), i2 || !r2 && g; + }, O = function(t2, e2) { + if (S(t2)) + return t2.clone(); + var n2 = "object" == typeof e2 ? e2 : {}; + return n2.date = t2, n2.args = arguments, new _(n2); + }, b = v; + b.l = w, b.i = S, b.w = function(t2, e2) { + return O(t2, { locale: e2.$L, utc: e2.$u, x: e2.$x, $offset: e2.$offset }); + }; + var _ = function() { + function M2(t2) { + this.$L = w(t2.locale, null, true), this.parse(t2), this.$x = this.$x || t2.x || {}, this[p] = true; + } + var m2 = M2.prototype; + return m2.parse = function(t2) { + this.$d = function(t3) { + var e2 = t3.date, n2 = t3.utc; + if (null === e2) + return new Date(NaN); + if (b.u(e2)) + return new Date(); + if (e2 instanceof Date) + return new Date(e2); + if ("string" == typeof e2 && !/Z$/i.test(e2)) { + var r2 = e2.match($); + if (r2) { + var i2 = r2[2] - 1 || 0, s2 = (r2[7] || "0").substring(0, 3); + return n2 ? new Date(Date.UTC(r2[1], i2, r2[3] || 1, r2[4] || 0, r2[5] || 0, r2[6] || 0, s2)) : new Date(r2[1], i2, r2[3] || 1, r2[4] || 0, r2[5] || 0, r2[6] || 0, s2); + } + } + return new Date(e2); + }(t2), this.init(); + }, m2.init = function() { + var t2 = this.$d; + this.$y = t2.getFullYear(), this.$M = t2.getMonth(), this.$D = t2.getDate(), this.$W = t2.getDay(), this.$H = t2.getHours(), this.$m = t2.getMinutes(), this.$s = t2.getSeconds(), this.$ms = t2.getMilliseconds(); + }, m2.$utils = function() { + return b; + }, m2.isValid = function() { + return !(this.$d.toString() === l); + }, m2.isSame = function(t2, e2) { + var n2 = O(t2); + return this.startOf(e2) <= n2 && n2 <= this.endOf(e2); + }, m2.isAfter = function(t2, e2) { + return O(t2) < this.startOf(e2); + }, m2.isBefore = function(t2, e2) { + return this.endOf(e2) < O(t2); + }, m2.$g = function(t2, e2, n2) { + return b.u(t2) ? this[e2] : this.set(n2, t2); + }, m2.unix = function() { + return Math.floor(this.valueOf() / 1e3); + }, m2.valueOf = function() { + return this.$d.getTime(); + }, m2.startOf = function(t2, e2) { + var n2 = this, r2 = !!b.u(e2) || e2, f2 = b.p(t2), l2 = function(t3, e3) { + var i2 = b.w(n2.$u ? Date.UTC(n2.$y, e3, t3) : new Date(n2.$y, e3, t3), n2); + return r2 ? i2 : i2.endOf(a); + }, $2 = function(t3, e3) { + return b.w(n2.toDate()[t3].apply(n2.toDate("s"), (r2 ? [0, 0, 0, 0] : [23, 59, 59, 999]).slice(e3)), n2); + }, y2 = this.$W, M3 = this.$M, m3 = this.$D, v2 = "set" + (this.$u ? "UTC" : ""); + switch (f2) { + case h2: + return r2 ? l2(1, 0) : l2(31, 11); + case c: + return r2 ? l2(1, M3) : l2(0, M3 + 1); + case o: + var g2 = this.$locale().weekStart || 0, D2 = (y2 < g2 ? y2 + 7 : y2) - g2; + return l2(r2 ? m3 - D2 : m3 + (6 - D2), M3); + case a: + case d: + return $2(v2 + "Hours", 0); + case u: + return $2(v2 + "Minutes", 1); + case s: + return $2(v2 + "Seconds", 2); + case i: + return $2(v2 + "Milliseconds", 3); + default: + return this.clone(); + } + }, m2.endOf = function(t2) { + return this.startOf(t2, false); + }, m2.$set = function(t2, e2) { + var n2, o2 = b.p(t2), f2 = "set" + (this.$u ? "UTC" : ""), l2 = (n2 = {}, n2[a] = f2 + "Date", n2[d] = f2 + "Date", n2[c] = f2 + "Month", n2[h2] = f2 + "FullYear", n2[u] = f2 + "Hours", n2[s] = f2 + "Minutes", n2[i] = f2 + "Seconds", n2[r] = f2 + "Milliseconds", n2)[o2], $2 = o2 === a ? this.$D + (e2 - this.$W) : e2; + if (o2 === c || o2 === h2) { + var y2 = this.clone().set(d, 1); + y2.$d[l2]($2), y2.init(), this.$d = y2.set(d, Math.min(this.$D, y2.daysInMonth())).$d; + } else + l2 && this.$d[l2]($2); + return this.init(), this; + }, m2.set = function(t2, e2) { + return this.clone().$set(t2, e2); + }, m2.get = function(t2) { + return this[b.p(t2)](); + }, m2.add = function(r2, f2) { + var d2, l2 = this; + r2 = Number(r2); + var $2 = b.p(f2), y2 = function(t2) { + var e2 = O(l2); + return b.w(e2.date(e2.date() + Math.round(t2 * r2)), l2); + }; + if ($2 === c) + return this.set(c, this.$M + r2); + if ($2 === h2) + return this.set(h2, this.$y + r2); + if ($2 === a) + return y2(1); + if ($2 === o) + return y2(7); + var M3 = (d2 = {}, d2[s] = e, d2[u] = n, d2[i] = t, d2)[$2] || 1, m3 = this.$d.getTime() + r2 * M3; + return b.w(m3, this); + }, m2.subtract = function(t2, e2) { + return this.add(-1 * t2, e2); + }, m2.format = function(t2) { + var e2 = this, n2 = this.$locale(); + if (!this.isValid()) + return n2.invalidDate || l; + var r2 = t2 || "YYYY-MM-DDTHH:mm:ssZ", i2 = b.z(this), s2 = this.$H, u2 = this.$m, a2 = this.$M, o2 = n2.weekdays, c2 = n2.months, f2 = n2.meridiem, h3 = function(t3, n3, i3, s3) { + return t3 && (t3[n3] || t3(e2, r2)) || i3[n3].slice(0, s3); + }, d2 = function(t3) { + return b.s(s2 % 12 || 12, t3, "0"); + }, $2 = f2 || function(t3, e3, n3) { + var r3 = t3 < 12 ? "AM" : "PM"; + return n3 ? r3.toLowerCase() : r3; + }; + return r2.replace(y, function(t3, r3) { + return r3 || function(t4) { + switch (t4) { + case "YY": + return String(e2.$y).slice(-2); + case "YYYY": + return b.s(e2.$y, 4, "0"); + case "M": + return a2 + 1; + case "MM": + return b.s(a2 + 1, 2, "0"); + case "MMM": + return h3(n2.monthsShort, a2, c2, 3); + case "MMMM": + return h3(c2, a2); + case "D": + return e2.$D; + case "DD": + return b.s(e2.$D, 2, "0"); + case "d": + return String(e2.$W); + case "dd": + return h3(n2.weekdaysMin, e2.$W, o2, 2); + case "ddd": + return h3(n2.weekdaysShort, e2.$W, o2, 3); + case "dddd": + return o2[e2.$W]; + case "H": + return String(s2); + case "HH": + return b.s(s2, 2, "0"); + case "h": + return d2(1); + case "hh": + return d2(2); + case "a": + return $2(s2, u2, true); + case "A": + return $2(s2, u2, false); + case "m": + return String(u2); + case "mm": + return b.s(u2, 2, "0"); + case "s": + return String(e2.$s); + case "ss": + return b.s(e2.$s, 2, "0"); + case "SSS": + return b.s(e2.$ms, 3, "0"); + case "Z": + return i2; + } + return null; + }(t3) || i2.replace(":", ""); + }); + }, m2.utcOffset = function() { + return 15 * -Math.round(this.$d.getTimezoneOffset() / 15); + }, m2.diff = function(r2, d2, l2) { + var $2, y2 = this, M3 = b.p(d2), m3 = O(r2), v2 = (m3.utcOffset() - this.utcOffset()) * e, g2 = this - m3, D2 = function() { + return b.m(y2, m3); + }; + switch (M3) { + case h2: + $2 = D2() / 12; + break; + case c: + $2 = D2(); + break; + case f: + $2 = D2() / 3; + break; + case o: + $2 = (g2 - v2) / 6048e5; + break; + case a: + $2 = (g2 - v2) / 864e5; + break; + case u: + $2 = g2 / n; + break; + case s: + $2 = g2 / e; + break; + case i: + $2 = g2 / t; + break; + default: + $2 = g2; + } + return l2 ? $2 : b.a($2); + }, m2.daysInMonth = function() { + return this.endOf(c).$D; + }, m2.$locale = function() { + return D[this.$L]; + }, m2.locale = function(t2, e2) { + if (!t2) + return this.$L; + var n2 = this.clone(), r2 = w(t2, e2, true); + return r2 && (n2.$L = r2), n2; + }, m2.clone = function() { + return b.w(this.$d, this); + }, m2.toDate = function() { + return new Date(this.valueOf()); + }, m2.toJSON = function() { + return this.isValid() ? this.toISOString() : null; + }, m2.toISOString = function() { + return this.$d.toISOString(); + }, m2.toString = function() { + return this.$d.toUTCString(); + }, M2; + }(), Y = _.prototype; + return O.prototype = Y, [["$ms", r], ["$s", i], ["$m", s], ["$H", u], ["$W", a], ["$M", c], ["$y", h2], ["$D", d]].forEach(function(t2) { + Y[t2[1]] = function(e2) { + return this.$g(e2, t2[0], t2[1]); + }; + }), O.extend = function(t2, e2) { + return t2.$i || (t2(e2, _, O), t2.$i = true), O; + }, O.locale = w, O.isDayjs = S, O.unix = function(t2) { + return O(1e3 * t2); + }, O.en = D[g], O.Ls = D, O.p = {}, O; + }); +})(dayjs_min); +var dayjs = dayjs_min.exports; +const isEmpty = (obj) => { + if (typeof obj !== "number" && (obj === null || obj === "" || obj === void 0)) { + return true; + } + return typeof obj === "number" && Number.isNaN(obj); +}; +const formatDateTime = (time, template = "YYYY-MM-DD HH:mm:ss") => { + if (time === null || time === void 0 || time === "") + return ""; + try { + const parsed = dayjs(time); + return parsed.isValid() ? parsed.format(template) : ""; + } catch { + return ""; + } +}; +let measureCanvas = null; +const measureTextWidth = (text = "", font = "400 14px Microsoft YaHei") => { + if (typeof document === "undefined") + return text.length * 14; + if (!measureCanvas) + measureCanvas = document.createElement("canvas"); + const context = measureCanvas.getContext("2d"); + if (!context) + return text.length * 14; + context.font = font; + return context.measureText(text).width; +}; +const filterTreeByNodeIds = (tree, ids) => { + const pool = [...ids != null ? ids : []]; + const result = []; + const walk = (nodes) => { + for (const node of nodes != null ? nodes : []) { + const idx = pool.findIndex((fId) => fId == (node == null ? void 0 : node.id)); + if (idx !== -1) { + result.push(pool[idx]); + pool.splice(idx, 1); + } else if (Array.isArray(node == null ? void 0 : node.children)) { + walk(node.children); + } + if (pool.length === 0) + return; + } + }; + walk(tree != null ? tree : []); + return result; +}; +const hasEmitListener = (instance, event) => { + var _a, _b, _c; + const key = "on" + event.charAt(0).toUpperCase() + event.slice(1); + const props = ((_b = (_a = instance == null ? void 0 : instance.$) == null ? void 0 : _a.vnode) == null ? void 0 : _b.props) || ((_c = instance == null ? void 0 : instance.vnode) == null ? void 0 : _c.props) || {}; + return typeof props[key] === "function"; +}; +var style0$5 = { + "table-column-img": "_table-column-img_citx0_1" +}; +const _sfc_main$g = defineComponent({ + name: "UmColumnRender", + inheritAttrs: false, + props: { + fieldType: { + type: String, + default: "default" + }, + data: { + type: Object, + default: () => ({}) + }, + prop: { + type: String, + default: "" + }, + render: { + type: Function, + default: void 0 + }, + dateFormat: { + type: String, + default: void 0 + }, + isShow: { + type: Function, + default: void 0 + } + }, + data() { + return { visible: true }; + }, + created() { + this.refreshVisible(); + }, + watch: { + data() { + this.refreshVisible(); + }, + isShow() { + this.refreshVisible(); + } + }, + methods: { + async refreshVisible() { + if (!this.isShow) { + this.visible = true; + return; + } + this.visible = !!await this.isShow(this.data); + } + }, + render() { + if (!this.visible) + return null; + const { data, prop, render, fieldType, dateFormat } = this; + if (fieldType === "date") { + return formatDateTime(data == null ? void 0 : data[prop], dateFormat || "YYYY-MM-DD HH:mm:ss"); + } + if (fieldType === "img") { + const style = this.$style; + return h("img", { class: style == null ? void 0 : style["table-column-img"], src: data == null ? void 0 : data[prop] }); + } + if (render) { + return render(data == null ? void 0 : data[prop], prop, data); + } + return data == null ? void 0 : data[prop]; + } +}); +const cssModules$5 = { + "$style": style0$5 +}; +var UmColumnRender = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["__cssModules", cssModules$5]]); +var UmTableOperate_vue_vue_type_style_index_0_scoped_true_lang = ""; +const DEFAULT_TEXT = { + edit: "\u7F16\u8F91", + del: "\u5220\u9664", + copy: "\u590D\u5236" +}; +const BUTTON_CLASS = { + edit: "edit", + copy: "copy", + del: "del", + customOperateEvent: "custom-operate" +}; +const _sfc_main$f = defineComponent({ + name: "UmTableOperate", + inheritAttrs: false, + props: { + items: { + type: Array, + default: () => [] + }, + rowId: { + type: [String, Number], + default: "" + }, + rowData: { + type: Object, + default: () => ({}) + } + }, + render() { + const buttons = this.items.filter((item) => !item.isShow || item.isShow(this.rowData)).map( + (item) => { + var _a, _b, _c; + return h( + "a", + { + class: (_a = BUTTON_CLASS[item.type]) != null ? _a : "custom-operate", + onClick: () => item.onClick(this.rowId, this.rowData) + }, + (_c = (_b = item.title) != null ? _b : DEFAULT_TEXT[item.type]) != null ? _c : "\u64CD\u4F5C" + ); + } + ); + return h( + "div", + { + class: "operate-group " + (this.items.length > 2 ? "total-more" : "total-2") + }, + buttons + ); + } +}); +var UmTableOperate = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__scopeId", "data-v-10c2977a"]]); +const _sfc_main$e = /* @__PURE__ */ defineComponent({ + props: { + type: null, + fieldType: { default: "default" }, + prop: { default: "" }, + label: null, + width: { default: 180 }, + minWidth: null, + showOverflowTooltip: { type: Boolean }, + operateItems: { default: () => [] }, + expandTemplate: null, + columnRender: null, + dateFormat: null, + isShow: null + }, + setup(__props) { + const props = __props; + const resolvedLabel = computed( + () => props.label || (props.type === "operate" ? "\u64CD\u4F5C" : void 0) + ); + return (_ctx, _cache) => { + return openBlock(), createBlock(unref(ElTableColumn), { + type: __props.type, + prop: __props.prop, + width: __props.minWidth ? void 0 : __props.width, + "min-width": __props.minWidth, + label: unref(resolvedLabel), + "show-overflow-tooltip": __props.showOverflowTooltip + }, { + default: withCtx((scope) => { + var _a, _b; + return [ + __props.type === "operate" ? (openBlock(), createBlock(UmTableOperate, { + key: 0, + items: __props.operateItems, + "row-id": (_a = scope.row) == null ? void 0 : _a.id, + "row-data": scope.row + }, null, 8, ["items", "row-id", "row-data"])) : __props.type === "expand" ? (openBlock(), createBlock(resolveDynamicComponent(__props.expandTemplate), { + key: 1, + props: scope + }, null, 8, ["props"])) : (openBlock(), createBlock(UmColumnRender, { + key: (_b = scope.row) == null ? void 0 : _b.id, + "field-type": __props.fieldType, + prop: __props.prop, + data: scope.row, + "is-show": __props.isShow, + render: __props.columnRender, + "date-format": __props.dateFormat + }, null, 8, ["field-type", "prop", "data", "is-show", "render", "date-format"])) + ]; + }), + _: 1 + }, 8, ["type", "prop", "width", "min-width", "label", "show-overflow-tooltip"]); + }; + } +}); +const normalizeFieldName = (key) => key.startsWith("_") ? key.slice(1) : key; +const createTargetInstance = (target) => { + if (!target) + return {}; + if (typeof target !== "function") + return target; + return Reflect.construct(target, []); +}; +const collectClassMembers = (target) => { + const instance = createTargetInstance(target); + const keys2 = /* @__PURE__ */ new Set(); + for (const key in instance) + keys2.add(key); + let proto = Object.getPrototypeOf(instance); + while (proto && proto !== Object.prototype) { + for (const key of Object.getOwnPropertyNames(proto)) { + if (key !== "constructor") + keys2.add(key); + } + proto = Object.getPrototypeOf(proto); + } + const members = []; + for (const key of keys2) { + let value = instance[key]; + if (value === void 0) { + let p = Object.getPrototypeOf(instance); + while (p && p !== Object.prototype && value === void 0) { + value = p[key]; + p = Object.getPrototypeOf(p); + } + } + members.push({ + key, + fieldName: normalizeFieldName(key), + value, + isMethod: typeof value === "function" + }); + } + return members; +}; +const getMemberMeta = (target, decoratorKey, member) => { + var _a; + const instance = createTargetInstance(target); + return (_a = Reflect.getMetadata(decoratorKey, instance, member.fieldName)) != null ? _a : Reflect.getMetadata(decoratorKey, instance, member.key); +}; +const scanDecoratedMembers = (target, decoratorKey, options = {}) => { + const wantMethods = options.methods === true; + const result = []; + for (const member of collectClassMembers(target)) { + if (member.isMethod !== wantMethods) + continue; + const meta = getMemberMeta(target, decoratorKey, member); + if (meta) + result.push({ ...member, meta }); + } + return result; +}; +const transformFields = (target, data, direction) => { + if (!data) + return data; + const instance = createTargetInstance(target); + for (const member of collectClassMembers(target)) { + if (member.isMethod || !member.key.startsWith("_")) + continue; + const { key, fieldName } = member; + if (direction === "in") { + instance[fieldName] = data[fieldName]; + data[fieldName] = instance[fieldName]; + } else { + instance[fieldName] = data[fieldName]; + data[fieldName] = instance[key]; + } + } + return data; +}; +const findMethodMeta = (target, decoratorKey, type) => { + var _a; + for (const member of scanDecoratedMembers(target, decoratorKey, { + methods: true + })) { + if (((_a = member.meta) == null ? void 0 : _a.type) === type) + return { meta: member.meta, member }; + } + return null; +}; +var freeGlobal = typeof global == "object" && global && global.Object === Object && global; +var freeGlobal$1 = freeGlobal; +var freeSelf = typeof self == "object" && self && self.Object === Object && self; +var root = freeGlobal$1 || freeSelf || Function("return this")(); +var root$1 = root; +var Symbol$1 = root$1.Symbol; +var Symbol$2 = Symbol$1; +var objectProto$f = Object.prototype; +var hasOwnProperty$c = objectProto$f.hasOwnProperty; +var nativeObjectToString$1 = objectProto$f.toString; +var symToStringTag$1 = Symbol$2 ? Symbol$2.toStringTag : void 0; +function getRawTag(value) { + var isOwn = hasOwnProperty$c.call(value, symToStringTag$1), tag = value[symToStringTag$1]; + try { + value[symToStringTag$1] = void 0; + var unmasked = true; + } catch (e) { + } + var result = nativeObjectToString$1.call(value); + if (unmasked) { + if (isOwn) { + value[symToStringTag$1] = tag; + } else { + delete value[symToStringTag$1]; + } + } + return result; +} +var objectProto$e = Object.prototype; +var nativeObjectToString = objectProto$e.toString; +function objectToString(value) { + return nativeObjectToString.call(value); +} +var nullTag = "[object Null]", undefinedTag = "[object Undefined]"; +var symToStringTag = Symbol$2 ? Symbol$2.toStringTag : void 0; +function baseGetTag(value) { + if (value == null) { + return value === void 0 ? undefinedTag : nullTag; + } + return symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString(value); +} +function isObjectLike(value) { + return value != null && typeof value == "object"; +} +var symbolTag$3 = "[object Symbol]"; +function isSymbol(value) { + return typeof value == "symbol" || isObjectLike(value) && baseGetTag(value) == symbolTag$3; +} +function arrayMap(array, iteratee) { + var index = -1, length = array == null ? 0 : array.length, result = Array(length); + while (++index < length) { + result[index] = iteratee(array[index], index, array); + } + return result; +} +var isArray = Array.isArray; +var isArray$1 = isArray; +var INFINITY$1 = 1 / 0; +var symbolProto$2 = Symbol$2 ? Symbol$2.prototype : void 0, symbolToString = symbolProto$2 ? symbolProto$2.toString : void 0; +function baseToString(value) { + if (typeof value == "string") { + return value; + } + if (isArray$1(value)) { + return arrayMap(value, baseToString) + ""; + } + if (isSymbol(value)) { + return symbolToString ? symbolToString.call(value) : ""; + } + var result = value + ""; + return result == "0" && 1 / value == -INFINITY$1 ? "-0" : result; +} +var reWhitespace = /\s/; +function trimmedEndIndex(string) { + var index = string.length; + while (index-- && reWhitespace.test(string.charAt(index))) { + } + return index; +} +var reTrimStart = /^\s+/; +function baseTrim(string) { + return string ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, "") : string; +} +function isObject(value) { + var type = typeof value; + return value != null && (type == "object" || type == "function"); +} +var NAN = 0 / 0; +var reIsBadHex = /^[-+]0x[0-9a-f]+$/i; +var reIsBinary = /^0b[01]+$/i; +var reIsOctal = /^0o[0-7]+$/i; +var freeParseInt = parseInt; +function toNumber(value) { + if (typeof value == "number") { + return value; + } + if (isSymbol(value)) { + return NAN; + } + if (isObject(value)) { + var other = typeof value.valueOf == "function" ? value.valueOf() : value; + value = isObject(other) ? other + "" : other; + } + if (typeof value != "string") { + return value === 0 ? value : +value; + } + value = baseTrim(value); + var isBinary = reIsBinary.test(value); + return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value; +} +function identity(value) { + return value; +} +var asyncTag = "[object AsyncFunction]", funcTag$2 = "[object Function]", genTag$1 = "[object GeneratorFunction]", proxyTag = "[object Proxy]"; +function isFunction(value) { + if (!isObject(value)) { + return false; + } + var tag = baseGetTag(value); + return tag == funcTag$2 || tag == genTag$1 || tag == asyncTag || tag == proxyTag; +} +var coreJsData = root$1["__core-js_shared__"]; +var coreJsData$1 = coreJsData; +var maskSrcKey = function() { + var uid = /[^.]+$/.exec(coreJsData$1 && coreJsData$1.keys && coreJsData$1.keys.IE_PROTO || ""); + return uid ? "Symbol(src)_1." + uid : ""; +}(); +function isMasked(func) { + return !!maskSrcKey && maskSrcKey in func; +} +var funcProto$1 = Function.prototype; +var funcToString$1 = funcProto$1.toString; +function toSource(func) { + if (func != null) { + try { + return funcToString$1.call(func); + } catch (e) { + } + try { + return func + ""; + } catch (e) { + } + } + return ""; +} +var reRegExpChar = /[\\^$.*+?()[\]{}|]/g; +var reIsHostCtor = /^\[object .+?Constructor\]$/; +var funcProto = Function.prototype, objectProto$d = Object.prototype; +var funcToString = funcProto.toString; +var hasOwnProperty$b = objectProto$d.hasOwnProperty; +var reIsNative = RegExp( + "^" + funcToString.call(hasOwnProperty$b).replace(reRegExpChar, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$" +); +function baseIsNative(value) { + if (!isObject(value) || isMasked(value)) { + return false; + } + var pattern = isFunction(value) ? reIsNative : reIsHostCtor; + return pattern.test(toSource(value)); +} +function getValue(object, key) { + return object == null ? void 0 : object[key]; +} +function getNative(object, key) { + var value = getValue(object, key); + return baseIsNative(value) ? value : void 0; +} +var WeakMap$1 = getNative(root$1, "WeakMap"); +var WeakMap$2 = WeakMap$1; +var objectCreate = Object.create; +var baseCreate = function() { + function object() { + } + return function(proto) { + if (!isObject(proto)) { + return {}; + } + if (objectCreate) { + return objectCreate(proto); + } + object.prototype = proto; + var result = new object(); + object.prototype = void 0; + return result; + }; +}(); +var baseCreate$1 = baseCreate; +function copyArray(source, array) { + var index = -1, length = source.length; + array || (array = Array(length)); + while (++index < length) { + array[index] = source[index]; + } + return array; +} +var defineProperty = function() { + try { + var func = getNative(Object, "defineProperty"); + func({}, "", {}); + return func; + } catch (e) { + } +}(); +var defineProperty$1 = defineProperty; +function arrayEach(array, iteratee) { + var index = -1, length = array == null ? 0 : array.length; + while (++index < length) { + if (iteratee(array[index], index, array) === false) { + break; + } + } + return array; +} +var MAX_SAFE_INTEGER$1 = 9007199254740991; +var reIsUint = /^(?:0|[1-9]\d*)$/; +function isIndex(value, length) { + var type = typeof value; + length = length == null ? MAX_SAFE_INTEGER$1 : length; + return !!length && (type == "number" || type != "symbol" && reIsUint.test(value)) && (value > -1 && value % 1 == 0 && value < length); +} +function baseAssignValue(object, key, value) { + if (key == "__proto__" && defineProperty$1) { + defineProperty$1(object, key, { + "configurable": true, + "enumerable": true, + "value": value, + "writable": true + }); + } else { + object[key] = value; + } +} +function eq(value, other) { + return value === other || value !== value && other !== other; +} +var objectProto$c = Object.prototype; +var hasOwnProperty$a = objectProto$c.hasOwnProperty; +function assignValue(object, key, value) { + var objValue = object[key]; + if (!(hasOwnProperty$a.call(object, key) && eq(objValue, value)) || value === void 0 && !(key in object)) { + baseAssignValue(object, key, value); + } +} +function copyObject(source, props, object, customizer) { + var isNew = !object; + object || (object = {}); + var index = -1, length = props.length; + while (++index < length) { + var key = props[index]; + var newValue = customizer ? customizer(object[key], source[key], key, object, source) : void 0; + if (newValue === void 0) { + newValue = source[key]; + } + if (isNew) { + baseAssignValue(object, key, newValue); + } else { + assignValue(object, key, newValue); + } + } + return object; +} +var MAX_SAFE_INTEGER = 9007199254740991; +function isLength(value) { + return typeof value == "number" && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; +} +function isArrayLike(value) { + return value != null && isLength(value.length) && !isFunction(value); +} +var objectProto$b = Object.prototype; +function isPrototype(value) { + var Ctor = value && value.constructor, proto = typeof Ctor == "function" && Ctor.prototype || objectProto$b; + return value === proto; +} +function baseTimes(n, iteratee) { + var index = -1, result = Array(n); + while (++index < n) { + result[index] = iteratee(index); + } + return result; +} +var argsTag$3 = "[object Arguments]"; +function baseIsArguments(value) { + return isObjectLike(value) && baseGetTag(value) == argsTag$3; +} +var objectProto$a = Object.prototype; +var hasOwnProperty$9 = objectProto$a.hasOwnProperty; +var propertyIsEnumerable$1 = objectProto$a.propertyIsEnumerable; +var isArguments = baseIsArguments(function() { + return arguments; +}()) ? baseIsArguments : function(value) { + return isObjectLike(value) && hasOwnProperty$9.call(value, "callee") && !propertyIsEnumerable$1.call(value, "callee"); +}; +var isArguments$1 = isArguments; +function stubFalse() { + return false; +} +var freeExports$2 = typeof exports == "object" && exports && !exports.nodeType && exports; +var freeModule$2 = freeExports$2 && typeof module == "object" && module && !module.nodeType && module; +var moduleExports$2 = freeModule$2 && freeModule$2.exports === freeExports$2; +var Buffer$1 = moduleExports$2 ? root$1.Buffer : void 0; +var nativeIsBuffer = Buffer$1 ? Buffer$1.isBuffer : void 0; +var isBuffer = nativeIsBuffer || stubFalse; +var isBuffer$1 = isBuffer; +var argsTag$2 = "[object Arguments]", arrayTag$2 = "[object Array]", boolTag$3 = "[object Boolean]", dateTag$3 = "[object Date]", errorTag$2 = "[object Error]", funcTag$1 = "[object Function]", mapTag$5 = "[object Map]", numberTag$3 = "[object Number]", objectTag$3 = "[object Object]", regexpTag$3 = "[object RegExp]", setTag$5 = "[object Set]", stringTag$3 = "[object String]", weakMapTag$2 = "[object WeakMap]"; +var arrayBufferTag$3 = "[object ArrayBuffer]", dataViewTag$4 = "[object DataView]", float32Tag$2 = "[object Float32Array]", float64Tag$2 = "[object Float64Array]", int8Tag$2 = "[object Int8Array]", int16Tag$2 = "[object Int16Array]", int32Tag$2 = "[object Int32Array]", uint8Tag$2 = "[object Uint8Array]", uint8ClampedTag$2 = "[object Uint8ClampedArray]", uint16Tag$2 = "[object Uint16Array]", uint32Tag$2 = "[object Uint32Array]"; +var typedArrayTags = {}; +typedArrayTags[float32Tag$2] = typedArrayTags[float64Tag$2] = typedArrayTags[int8Tag$2] = typedArrayTags[int16Tag$2] = typedArrayTags[int32Tag$2] = typedArrayTags[uint8Tag$2] = typedArrayTags[uint8ClampedTag$2] = typedArrayTags[uint16Tag$2] = typedArrayTags[uint32Tag$2] = true; +typedArrayTags[argsTag$2] = typedArrayTags[arrayTag$2] = typedArrayTags[arrayBufferTag$3] = typedArrayTags[boolTag$3] = typedArrayTags[dataViewTag$4] = typedArrayTags[dateTag$3] = typedArrayTags[errorTag$2] = typedArrayTags[funcTag$1] = typedArrayTags[mapTag$5] = typedArrayTags[numberTag$3] = typedArrayTags[objectTag$3] = typedArrayTags[regexpTag$3] = typedArrayTags[setTag$5] = typedArrayTags[stringTag$3] = typedArrayTags[weakMapTag$2] = false; +function baseIsTypedArray(value) { + return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[baseGetTag(value)]; +} +function baseUnary(func) { + return function(value) { + return func(value); + }; +} +var freeExports$1 = typeof exports == "object" && exports && !exports.nodeType && exports; +var freeModule$1 = freeExports$1 && typeof module == "object" && module && !module.nodeType && module; +var moduleExports$1 = freeModule$1 && freeModule$1.exports === freeExports$1; +var freeProcess = moduleExports$1 && freeGlobal$1.process; +var nodeUtil = function() { + try { + var types = freeModule$1 && freeModule$1.require && freeModule$1.require("util").types; + if (types) { + return types; + } + return freeProcess && freeProcess.binding && freeProcess.binding("util"); + } catch (e) { + } +}(); +var nodeUtil$1 = nodeUtil; +var nodeIsTypedArray = nodeUtil$1 && nodeUtil$1.isTypedArray; +var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray; +var isTypedArray$1 = isTypedArray; +var objectProto$9 = Object.prototype; +var hasOwnProperty$8 = objectProto$9.hasOwnProperty; +function arrayLikeKeys(value, inherited) { + var isArr = isArray$1(value), isArg = !isArr && isArguments$1(value), isBuff = !isArr && !isArg && isBuffer$1(value), isType = !isArr && !isArg && !isBuff && isTypedArray$1(value), skipIndexes = isArr || isArg || isBuff || isType, result = skipIndexes ? baseTimes(value.length, String) : [], length = result.length; + for (var key in value) { + if ((inherited || hasOwnProperty$8.call(value, key)) && !(skipIndexes && (key == "length" || isBuff && (key == "offset" || key == "parent") || isType && (key == "buffer" || key == "byteLength" || key == "byteOffset") || isIndex(key, length)))) { + result.push(key); + } + } + return result; +} +function overArg(func, transform) { + return function(arg) { + return func(transform(arg)); + }; +} +var nativeKeys = overArg(Object.keys, Object); +var nativeKeys$1 = nativeKeys; +var objectProto$8 = Object.prototype; +var hasOwnProperty$7 = objectProto$8.hasOwnProperty; +function baseKeys(object) { + if (!isPrototype(object)) { + return nativeKeys$1(object); + } + var result = []; + for (var key in Object(object)) { + if (hasOwnProperty$7.call(object, key) && key != "constructor") { + result.push(key); + } + } + return result; +} +function keys(object) { + return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object); +} +function nativeKeysIn(object) { + var result = []; + if (object != null) { + for (var key in Object(object)) { + result.push(key); + } + } + return result; +} +var objectProto$7 = Object.prototype; +var hasOwnProperty$6 = objectProto$7.hasOwnProperty; +function baseKeysIn(object) { + if (!isObject(object)) { + return nativeKeysIn(object); + } + var isProto = isPrototype(object), result = []; + for (var key in object) { + if (!(key == "constructor" && (isProto || !hasOwnProperty$6.call(object, key)))) { + result.push(key); + } + } + return result; +} +function keysIn(object) { + return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object); +} +var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, reIsPlainProp = /^\w*$/; +function isKey(value, object) { + if (isArray$1(value)) { + return false; + } + var type = typeof value; + if (type == "number" || type == "symbol" || type == "boolean" || value == null || isSymbol(value)) { + return true; + } + return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || object != null && value in Object(object); +} +var nativeCreate = getNative(Object, "create"); +var nativeCreate$1 = nativeCreate; +function hashClear() { + this.__data__ = nativeCreate$1 ? nativeCreate$1(null) : {}; + this.size = 0; +} +function hashDelete(key) { + var result = this.has(key) && delete this.__data__[key]; + this.size -= result ? 1 : 0; + return result; +} +var HASH_UNDEFINED$2 = "__lodash_hash_undefined__"; +var objectProto$6 = Object.prototype; +var hasOwnProperty$5 = objectProto$6.hasOwnProperty; +function hashGet(key) { + var data = this.__data__; + if (nativeCreate$1) { + var result = data[key]; + return result === HASH_UNDEFINED$2 ? void 0 : result; + } + return hasOwnProperty$5.call(data, key) ? data[key] : void 0; +} +var objectProto$5 = Object.prototype; +var hasOwnProperty$4 = objectProto$5.hasOwnProperty; +function hashHas(key) { + var data = this.__data__; + return nativeCreate$1 ? data[key] !== void 0 : hasOwnProperty$4.call(data, key); +} +var HASH_UNDEFINED$1 = "__lodash_hash_undefined__"; +function hashSet(key, value) { + var data = this.__data__; + this.size += this.has(key) ? 0 : 1; + data[key] = nativeCreate$1 && value === void 0 ? HASH_UNDEFINED$1 : value; + return this; +} +function Hash(entries) { + var index = -1, length = entries == null ? 0 : entries.length; + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} +Hash.prototype.clear = hashClear; +Hash.prototype["delete"] = hashDelete; +Hash.prototype.get = hashGet; +Hash.prototype.has = hashHas; +Hash.prototype.set = hashSet; +function listCacheClear() { + this.__data__ = []; + this.size = 0; +} +function assocIndexOf(array, key) { + var length = array.length; + while (length--) { + if (eq(array[length][0], key)) { + return length; + } + } + return -1; +} +var arrayProto = Array.prototype; +var splice = arrayProto.splice; +function listCacheDelete(key) { + var data = this.__data__, index = assocIndexOf(data, key); + if (index < 0) { + return false; + } + var lastIndex = data.length - 1; + if (index == lastIndex) { + data.pop(); + } else { + splice.call(data, index, 1); + } + --this.size; + return true; +} +function listCacheGet(key) { + var data = this.__data__, index = assocIndexOf(data, key); + return index < 0 ? void 0 : data[index][1]; +} +function listCacheHas(key) { + return assocIndexOf(this.__data__, key) > -1; +} +function listCacheSet(key, value) { + var data = this.__data__, index = assocIndexOf(data, key); + if (index < 0) { + ++this.size; + data.push([key, value]); + } else { + data[index][1] = value; + } + return this; +} +function ListCache(entries) { + var index = -1, length = entries == null ? 0 : entries.length; + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} +ListCache.prototype.clear = listCacheClear; +ListCache.prototype["delete"] = listCacheDelete; +ListCache.prototype.get = listCacheGet; +ListCache.prototype.has = listCacheHas; +ListCache.prototype.set = listCacheSet; +var Map$1 = getNative(root$1, "Map"); +var Map$2 = Map$1; +function mapCacheClear() { + this.size = 0; + this.__data__ = { + "hash": new Hash(), + "map": new (Map$2 || ListCache)(), + "string": new Hash() + }; +} +function isKeyable(value) { + var type = typeof value; + return type == "string" || type == "number" || type == "symbol" || type == "boolean" ? value !== "__proto__" : value === null; +} +function getMapData(map, key) { + var data = map.__data__; + return isKeyable(key) ? data[typeof key == "string" ? "string" : "hash"] : data.map; +} +function mapCacheDelete(key) { + var result = getMapData(this, key)["delete"](key); + this.size -= result ? 1 : 0; + return result; +} +function mapCacheGet(key) { + return getMapData(this, key).get(key); +} +function mapCacheHas(key) { + return getMapData(this, key).has(key); +} +function mapCacheSet(key, value) { + var data = getMapData(this, key), size = data.size; + data.set(key, value); + this.size += data.size == size ? 0 : 1; + return this; +} +function MapCache(entries) { + var index = -1, length = entries == null ? 0 : entries.length; + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} +MapCache.prototype.clear = mapCacheClear; +MapCache.prototype["delete"] = mapCacheDelete; +MapCache.prototype.get = mapCacheGet; +MapCache.prototype.has = mapCacheHas; +MapCache.prototype.set = mapCacheSet; +var FUNC_ERROR_TEXT$2 = "Expected a function"; +function memoize(func, resolver) { + if (typeof func != "function" || resolver != null && typeof resolver != "function") { + throw new TypeError(FUNC_ERROR_TEXT$2); + } + var memoized = function() { + var args = arguments, key = resolver ? resolver.apply(this, args) : args[0], cache = memoized.cache; + if (cache.has(key)) { + return cache.get(key); + } + var result = func.apply(this, args); + memoized.cache = cache.set(key, result) || cache; + return result; + }; + memoized.cache = new (memoize.Cache || MapCache)(); + return memoized; +} +memoize.Cache = MapCache; +var MAX_MEMOIZE_SIZE = 500; +function memoizeCapped(func) { + var result = memoize(func, function(key) { + if (cache.size === MAX_MEMOIZE_SIZE) { + cache.clear(); + } + return key; + }); + var cache = result.cache; + return result; +} +var rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g; +var reEscapeChar = /\\(\\)?/g; +var stringToPath = memoizeCapped(function(string) { + var result = []; + if (string.charCodeAt(0) === 46) { + result.push(""); + } + string.replace(rePropName, function(match, number, quote, subString) { + result.push(quote ? subString.replace(reEscapeChar, "$1") : number || match); + }); + return result; +}); +var stringToPath$1 = stringToPath; +function toString(value) { + return value == null ? "" : baseToString(value); +} +function castPath(value, object) { + if (isArray$1(value)) { + return value; + } + return isKey(value, object) ? [value] : stringToPath$1(toString(value)); +} +var INFINITY = 1 / 0; +function toKey(value) { + if (typeof value == "string" || isSymbol(value)) { + return value; + } + var result = value + ""; + return result == "0" && 1 / value == -INFINITY ? "-0" : result; +} +function baseGet(object, path) { + path = castPath(path, object); + var index = 0, length = path.length; + while (object != null && index < length) { + object = object[toKey(path[index++])]; + } + return index && index == length ? object : void 0; +} +function get(object, path, defaultValue) { + var result = object == null ? void 0 : baseGet(object, path); + return result === void 0 ? defaultValue : result; +} +function arrayPush(array, values) { + var index = -1, length = values.length, offset = array.length; + while (++index < length) { + array[offset + index] = values[index]; + } + return array; +} +var getPrototype = overArg(Object.getPrototypeOf, Object); +var getPrototype$1 = getPrototype; +function stackClear() { + this.__data__ = new ListCache(); + this.size = 0; +} +function stackDelete(key) { + var data = this.__data__, result = data["delete"](key); + this.size = data.size; + return result; +} +function stackGet(key) { + return this.__data__.get(key); +} +function stackHas(key) { + return this.__data__.has(key); +} +var LARGE_ARRAY_SIZE = 200; +function stackSet(key, value) { + var data = this.__data__; + if (data instanceof ListCache) { + var pairs = data.__data__; + if (!Map$2 || pairs.length < LARGE_ARRAY_SIZE - 1) { + pairs.push([key, value]); + this.size = ++data.size; + return this; + } + data = this.__data__ = new MapCache(pairs); + } + data.set(key, value); + this.size = data.size; + return this; +} +function Stack(entries) { + var data = this.__data__ = new ListCache(entries); + this.size = data.size; +} +Stack.prototype.clear = stackClear; +Stack.prototype["delete"] = stackDelete; +Stack.prototype.get = stackGet; +Stack.prototype.has = stackHas; +Stack.prototype.set = stackSet; +function baseAssign(object, source) { + return object && copyObject(source, keys(source), object); +} +function baseAssignIn(object, source) { + return object && copyObject(source, keysIn(source), object); +} +var freeExports = typeof exports == "object" && exports && !exports.nodeType && exports; +var freeModule = freeExports && typeof module == "object" && module && !module.nodeType && module; +var moduleExports = freeModule && freeModule.exports === freeExports; +var Buffer2 = moduleExports ? root$1.Buffer : void 0, allocUnsafe = Buffer2 ? Buffer2.allocUnsafe : void 0; +function cloneBuffer(buffer, isDeep) { + if (isDeep) { + return buffer.slice(); + } + var length = buffer.length, result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length); + buffer.copy(result); + return result; +} +function arrayFilter(array, predicate) { + var index = -1, length = array == null ? 0 : array.length, resIndex = 0, result = []; + while (++index < length) { + var value = array[index]; + if (predicate(value, index, array)) { + result[resIndex++] = value; + } + } + return result; +} +function stubArray() { + return []; +} +var objectProto$4 = Object.prototype; +var propertyIsEnumerable = objectProto$4.propertyIsEnumerable; +var nativeGetSymbols$1 = Object.getOwnPropertySymbols; +var getSymbols = !nativeGetSymbols$1 ? stubArray : function(object) { + if (object == null) { + return []; + } + object = Object(object); + return arrayFilter(nativeGetSymbols$1(object), function(symbol) { + return propertyIsEnumerable.call(object, symbol); + }); +}; +var getSymbols$1 = getSymbols; +function copySymbols(source, object) { + return copyObject(source, getSymbols$1(source), object); +} +var nativeGetSymbols = Object.getOwnPropertySymbols; +var getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) { + var result = []; + while (object) { + arrayPush(result, getSymbols$1(object)); + object = getPrototype$1(object); + } + return result; +}; +var getSymbolsIn$1 = getSymbolsIn; +function copySymbolsIn(source, object) { + return copyObject(source, getSymbolsIn$1(source), object); +} +function baseGetAllKeys(object, keysFunc, symbolsFunc) { + var result = keysFunc(object); + return isArray$1(object) ? result : arrayPush(result, symbolsFunc(object)); +} +function getAllKeys(object) { + return baseGetAllKeys(object, keys, getSymbols$1); +} +function getAllKeysIn(object) { + return baseGetAllKeys(object, keysIn, getSymbolsIn$1); +} +var DataView = getNative(root$1, "DataView"); +var DataView$1 = DataView; +var Promise$1 = getNative(root$1, "Promise"); +var Promise$2 = Promise$1; +var Set$1 = getNative(root$1, "Set"); +var Set$2 = Set$1; +var mapTag$4 = "[object Map]", objectTag$2 = "[object Object]", promiseTag = "[object Promise]", setTag$4 = "[object Set]", weakMapTag$1 = "[object WeakMap]"; +var dataViewTag$3 = "[object DataView]"; +var dataViewCtorString = toSource(DataView$1), mapCtorString = toSource(Map$2), promiseCtorString = toSource(Promise$2), setCtorString = toSource(Set$2), weakMapCtorString = toSource(WeakMap$2); +var getTag = baseGetTag; +if (DataView$1 && getTag(new DataView$1(new ArrayBuffer(1))) != dataViewTag$3 || Map$2 && getTag(new Map$2()) != mapTag$4 || Promise$2 && getTag(Promise$2.resolve()) != promiseTag || Set$2 && getTag(new Set$2()) != setTag$4 || WeakMap$2 && getTag(new WeakMap$2()) != weakMapTag$1) { + getTag = function(value) { + var result = baseGetTag(value), Ctor = result == objectTag$2 ? value.constructor : void 0, ctorString = Ctor ? toSource(Ctor) : ""; + if (ctorString) { + switch (ctorString) { + case dataViewCtorString: + return dataViewTag$3; + case mapCtorString: + return mapTag$4; + case promiseCtorString: + return promiseTag; + case setCtorString: + return setTag$4; + case weakMapCtorString: + return weakMapTag$1; + } + } + return result; + }; +} +var getTag$1 = getTag; +var objectProto$3 = Object.prototype; +var hasOwnProperty$3 = objectProto$3.hasOwnProperty; +function initCloneArray(array) { + var length = array.length, result = new array.constructor(length); + if (length && typeof array[0] == "string" && hasOwnProperty$3.call(array, "index")) { + result.index = array.index; + result.input = array.input; + } + return result; +} +var Uint8Array$1 = root$1.Uint8Array; +var Uint8Array$2 = Uint8Array$1; +function cloneArrayBuffer(arrayBuffer) { + var result = new arrayBuffer.constructor(arrayBuffer.byteLength); + new Uint8Array$2(result).set(new Uint8Array$2(arrayBuffer)); + return result; +} +function cloneDataView(dataView, isDeep) { + var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer; + return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength); +} +var reFlags = /\w*$/; +function cloneRegExp(regexp) { + var result = new regexp.constructor(regexp.source, reFlags.exec(regexp)); + result.lastIndex = regexp.lastIndex; + return result; +} +var symbolProto$1 = Symbol$2 ? Symbol$2.prototype : void 0, symbolValueOf$1 = symbolProto$1 ? symbolProto$1.valueOf : void 0; +function cloneSymbol(symbol) { + return symbolValueOf$1 ? Object(symbolValueOf$1.call(symbol)) : {}; +} +function cloneTypedArray(typedArray, isDeep) { + var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer; + return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length); +} +var boolTag$2 = "[object Boolean]", dateTag$2 = "[object Date]", mapTag$3 = "[object Map]", numberTag$2 = "[object Number]", regexpTag$2 = "[object RegExp]", setTag$3 = "[object Set]", stringTag$2 = "[object String]", symbolTag$2 = "[object Symbol]"; +var arrayBufferTag$2 = "[object ArrayBuffer]", dataViewTag$2 = "[object DataView]", float32Tag$1 = "[object Float32Array]", float64Tag$1 = "[object Float64Array]", int8Tag$1 = "[object Int8Array]", int16Tag$1 = "[object Int16Array]", int32Tag$1 = "[object Int32Array]", uint8Tag$1 = "[object Uint8Array]", uint8ClampedTag$1 = "[object Uint8ClampedArray]", uint16Tag$1 = "[object Uint16Array]", uint32Tag$1 = "[object Uint32Array]"; +function initCloneByTag(object, tag, isDeep) { + var Ctor = object.constructor; + switch (tag) { + case arrayBufferTag$2: + return cloneArrayBuffer(object); + case boolTag$2: + case dateTag$2: + return new Ctor(+object); + case dataViewTag$2: + return cloneDataView(object, isDeep); + case float32Tag$1: + case float64Tag$1: + case int8Tag$1: + case int16Tag$1: + case int32Tag$1: + case uint8Tag$1: + case uint8ClampedTag$1: + case uint16Tag$1: + case uint32Tag$1: + return cloneTypedArray(object, isDeep); + case mapTag$3: + return new Ctor(); + case numberTag$2: + case stringTag$2: + return new Ctor(object); + case regexpTag$2: + return cloneRegExp(object); + case setTag$3: + return new Ctor(); + case symbolTag$2: + return cloneSymbol(object); + } +} +function initCloneObject(object) { + return typeof object.constructor == "function" && !isPrototype(object) ? baseCreate$1(getPrototype$1(object)) : {}; +} +var mapTag$2 = "[object Map]"; +function baseIsMap(value) { + return isObjectLike(value) && getTag$1(value) == mapTag$2; +} +var nodeIsMap = nodeUtil$1 && nodeUtil$1.isMap; +var isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap; +var isMap$1 = isMap; +var setTag$2 = "[object Set]"; +function baseIsSet(value) { + return isObjectLike(value) && getTag$1(value) == setTag$2; +} +var nodeIsSet = nodeUtil$1 && nodeUtil$1.isSet; +var isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet; +var isSet$1 = isSet; +var CLONE_DEEP_FLAG$1 = 1, CLONE_FLAT_FLAG = 2, CLONE_SYMBOLS_FLAG$1 = 4; +var argsTag$1 = "[object Arguments]", arrayTag$1 = "[object Array]", boolTag$1 = "[object Boolean]", dateTag$1 = "[object Date]", errorTag$1 = "[object Error]", funcTag = "[object Function]", genTag = "[object GeneratorFunction]", mapTag$1 = "[object Map]", numberTag$1 = "[object Number]", objectTag$1 = "[object Object]", regexpTag$1 = "[object RegExp]", setTag$1 = "[object Set]", stringTag$1 = "[object String]", symbolTag$1 = "[object Symbol]", weakMapTag = "[object WeakMap]"; +var arrayBufferTag$1 = "[object ArrayBuffer]", dataViewTag$1 = "[object DataView]", float32Tag = "[object Float32Array]", float64Tag = "[object Float64Array]", int8Tag = "[object Int8Array]", int16Tag = "[object Int16Array]", int32Tag = "[object Int32Array]", uint8Tag = "[object Uint8Array]", uint8ClampedTag = "[object Uint8ClampedArray]", uint16Tag = "[object Uint16Array]", uint32Tag = "[object Uint32Array]"; +var cloneableTags = {}; +cloneableTags[argsTag$1] = cloneableTags[arrayTag$1] = cloneableTags[arrayBufferTag$1] = cloneableTags[dataViewTag$1] = cloneableTags[boolTag$1] = cloneableTags[dateTag$1] = cloneableTags[float32Tag] = cloneableTags[float64Tag] = cloneableTags[int8Tag] = cloneableTags[int16Tag] = cloneableTags[int32Tag] = cloneableTags[mapTag$1] = cloneableTags[numberTag$1] = cloneableTags[objectTag$1] = cloneableTags[regexpTag$1] = cloneableTags[setTag$1] = cloneableTags[stringTag$1] = cloneableTags[symbolTag$1] = cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] = cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true; +cloneableTags[errorTag$1] = cloneableTags[funcTag] = cloneableTags[weakMapTag] = false; +function baseClone(value, bitmask, customizer, key, object, stack) { + var result, isDeep = bitmask & CLONE_DEEP_FLAG$1, isFlat = bitmask & CLONE_FLAT_FLAG, isFull = bitmask & CLONE_SYMBOLS_FLAG$1; + if (customizer) { + result = object ? customizer(value, key, object, stack) : customizer(value); + } + if (result !== void 0) { + return result; + } + if (!isObject(value)) { + return value; + } + var isArr = isArray$1(value); + if (isArr) { + result = initCloneArray(value); + if (!isDeep) { + return copyArray(value, result); + } + } else { + var tag = getTag$1(value), isFunc = tag == funcTag || tag == genTag; + if (isBuffer$1(value)) { + return cloneBuffer(value, isDeep); + } + if (tag == objectTag$1 || tag == argsTag$1 || isFunc && !object) { + result = isFlat || isFunc ? {} : initCloneObject(value); + if (!isDeep) { + return isFlat ? copySymbolsIn(value, baseAssignIn(result, value)) : copySymbols(value, baseAssign(result, value)); + } + } else { + if (!cloneableTags[tag]) { + return object ? value : {}; + } + result = initCloneByTag(value, tag, isDeep); + } + } + stack || (stack = new Stack()); + var stacked = stack.get(value); + if (stacked) { + return stacked; + } + stack.set(value, result); + if (isSet$1(value)) { + value.forEach(function(subValue) { + result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack)); + }); + } else if (isMap$1(value)) { + value.forEach(function(subValue, key2) { + result.set(key2, baseClone(subValue, bitmask, customizer, key2, value, stack)); + }); + } + var keysFunc = isFull ? isFlat ? getAllKeysIn : getAllKeys : isFlat ? keysIn : keys; + var props = isArr ? void 0 : keysFunc(value); + arrayEach(props || value, function(subValue, key2) { + if (props) { + key2 = subValue; + subValue = value[key2]; + } + assignValue(result, key2, baseClone(subValue, bitmask, customizer, key2, value, stack)); + }); + return result; +} +var CLONE_DEEP_FLAG = 1, CLONE_SYMBOLS_FLAG = 4; +function cloneDeep(value) { + return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG); +} +var HASH_UNDEFINED = "__lodash_hash_undefined__"; +function setCacheAdd(value) { + this.__data__.set(value, HASH_UNDEFINED); + return this; +} +function setCacheHas(value) { + return this.__data__.has(value); +} +function SetCache(values) { + var index = -1, length = values == null ? 0 : values.length; + this.__data__ = new MapCache(); + while (++index < length) { + this.add(values[index]); + } +} +SetCache.prototype.add = SetCache.prototype.push = setCacheAdd; +SetCache.prototype.has = setCacheHas; +function arraySome(array, predicate) { + var index = -1, length = array == null ? 0 : array.length; + while (++index < length) { + if (predicate(array[index], index, array)) { + return true; + } + } + return false; +} +function cacheHas(cache, key) { + return cache.has(key); +} +var COMPARE_PARTIAL_FLAG$5 = 1, COMPARE_UNORDERED_FLAG$3 = 2; +function equalArrays(array, other, bitmask, customizer, equalFunc, stack) { + var isPartial = bitmask & COMPARE_PARTIAL_FLAG$5, arrLength = array.length, othLength = other.length; + if (arrLength != othLength && !(isPartial && othLength > arrLength)) { + return false; + } + var arrStacked = stack.get(array); + var othStacked = stack.get(other); + if (arrStacked && othStacked) { + return arrStacked == other && othStacked == array; + } + var index = -1, result = true, seen = bitmask & COMPARE_UNORDERED_FLAG$3 ? new SetCache() : void 0; + stack.set(array, other); + stack.set(other, array); + while (++index < arrLength) { + var arrValue = array[index], othValue = other[index]; + if (customizer) { + var compared = isPartial ? customizer(othValue, arrValue, index, other, array, stack) : customizer(arrValue, othValue, index, array, other, stack); + } + if (compared !== void 0) { + if (compared) { + continue; + } + result = false; + break; + } + if (seen) { + if (!arraySome(other, function(othValue2, othIndex) { + if (!cacheHas(seen, othIndex) && (arrValue === othValue2 || equalFunc(arrValue, othValue2, bitmask, customizer, stack))) { + return seen.push(othIndex); + } + })) { + result = false; + break; + } + } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) { + result = false; + break; + } + } + stack["delete"](array); + stack["delete"](other); + return result; +} +function mapToArray(map) { + var index = -1, result = Array(map.size); + map.forEach(function(value, key) { + result[++index] = [key, value]; + }); + return result; +} +function setToArray(set) { + var index = -1, result = Array(set.size); + set.forEach(function(value) { + result[++index] = value; + }); + return result; +} +var COMPARE_PARTIAL_FLAG$4 = 1, COMPARE_UNORDERED_FLAG$2 = 2; +var boolTag = "[object Boolean]", dateTag = "[object Date]", errorTag = "[object Error]", mapTag = "[object Map]", numberTag = "[object Number]", regexpTag = "[object RegExp]", setTag = "[object Set]", stringTag = "[object String]", symbolTag = "[object Symbol]"; +var arrayBufferTag = "[object ArrayBuffer]", dataViewTag = "[object DataView]"; +var symbolProto = Symbol$2 ? Symbol$2.prototype : void 0, symbolValueOf = symbolProto ? symbolProto.valueOf : void 0; +function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) { + switch (tag) { + case dataViewTag: + if (object.byteLength != other.byteLength || object.byteOffset != other.byteOffset) { + return false; + } + object = object.buffer; + other = other.buffer; + case arrayBufferTag: + if (object.byteLength != other.byteLength || !equalFunc(new Uint8Array$2(object), new Uint8Array$2(other))) { + return false; + } + return true; + case boolTag: + case dateTag: + case numberTag: + return eq(+object, +other); + case errorTag: + return object.name == other.name && object.message == other.message; + case regexpTag: + case stringTag: + return object == other + ""; + case mapTag: + var convert = mapToArray; + case setTag: + var isPartial = bitmask & COMPARE_PARTIAL_FLAG$4; + convert || (convert = setToArray); + if (object.size != other.size && !isPartial) { + return false; + } + var stacked = stack.get(object); + if (stacked) { + return stacked == other; + } + bitmask |= COMPARE_UNORDERED_FLAG$2; + stack.set(object, other); + var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack); + stack["delete"](object); + return result; + case symbolTag: + if (symbolValueOf) { + return symbolValueOf.call(object) == symbolValueOf.call(other); + } + } + return false; +} +var COMPARE_PARTIAL_FLAG$3 = 1; +var objectProto$2 = Object.prototype; +var hasOwnProperty$2 = objectProto$2.hasOwnProperty; +function equalObjects(object, other, bitmask, customizer, equalFunc, stack) { + var isPartial = bitmask & COMPARE_PARTIAL_FLAG$3, objProps = getAllKeys(object), objLength = objProps.length, othProps = getAllKeys(other), othLength = othProps.length; + if (objLength != othLength && !isPartial) { + return false; + } + var index = objLength; + while (index--) { + var key = objProps[index]; + if (!(isPartial ? key in other : hasOwnProperty$2.call(other, key))) { + return false; + } + } + var objStacked = stack.get(object); + var othStacked = stack.get(other); + if (objStacked && othStacked) { + return objStacked == other && othStacked == object; + } + var result = true; + stack.set(object, other); + stack.set(other, object); + var skipCtor = isPartial; + while (++index < objLength) { + key = objProps[index]; + var objValue = object[key], othValue = other[key]; + if (customizer) { + var compared = isPartial ? customizer(othValue, objValue, key, other, object, stack) : customizer(objValue, othValue, key, object, other, stack); + } + if (!(compared === void 0 ? objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack) : compared)) { + result = false; + break; + } + skipCtor || (skipCtor = key == "constructor"); + } + if (result && !skipCtor) { + var objCtor = object.constructor, othCtor = other.constructor; + if (objCtor != othCtor && ("constructor" in object && "constructor" in other) && !(typeof objCtor == "function" && objCtor instanceof objCtor && typeof othCtor == "function" && othCtor instanceof othCtor)) { + result = false; + } + } + stack["delete"](object); + stack["delete"](other); + return result; +} +var COMPARE_PARTIAL_FLAG$2 = 1; +var argsTag = "[object Arguments]", arrayTag = "[object Array]", objectTag = "[object Object]"; +var objectProto$1 = Object.prototype; +var hasOwnProperty$1 = objectProto$1.hasOwnProperty; +function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) { + var objIsArr = isArray$1(object), othIsArr = isArray$1(other), objTag = objIsArr ? arrayTag : getTag$1(object), othTag = othIsArr ? arrayTag : getTag$1(other); + objTag = objTag == argsTag ? objectTag : objTag; + othTag = othTag == argsTag ? objectTag : othTag; + var objIsObj = objTag == objectTag, othIsObj = othTag == objectTag, isSameTag = objTag == othTag; + if (isSameTag && isBuffer$1(object)) { + if (!isBuffer$1(other)) { + return false; + } + objIsArr = true; + objIsObj = false; + } + if (isSameTag && !objIsObj) { + stack || (stack = new Stack()); + return objIsArr || isTypedArray$1(object) ? equalArrays(object, other, bitmask, customizer, equalFunc, stack) : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack); + } + if (!(bitmask & COMPARE_PARTIAL_FLAG$2)) { + var objIsWrapped = objIsObj && hasOwnProperty$1.call(object, "__wrapped__"), othIsWrapped = othIsObj && hasOwnProperty$1.call(other, "__wrapped__"); + if (objIsWrapped || othIsWrapped) { + var objUnwrapped = objIsWrapped ? object.value() : object, othUnwrapped = othIsWrapped ? other.value() : other; + stack || (stack = new Stack()); + return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack); + } + } + if (!isSameTag) { + return false; + } + stack || (stack = new Stack()); + return equalObjects(object, other, bitmask, customizer, equalFunc, stack); +} +function baseIsEqual(value, other, bitmask, customizer, stack) { + if (value === other) { + return true; + } + if (value == null || other == null || !isObjectLike(value) && !isObjectLike(other)) { + return value !== value && other !== other; + } + return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack); +} +var COMPARE_PARTIAL_FLAG$1 = 1, COMPARE_UNORDERED_FLAG$1 = 2; +function baseIsMatch(object, source, matchData, customizer) { + var index = matchData.length, length = index, noCustomizer = !customizer; + if (object == null) { + return !length; + } + object = Object(object); + while (index--) { + var data = matchData[index]; + if (noCustomizer && data[2] ? data[1] !== object[data[0]] : !(data[0] in object)) { + return false; + } + } + while (++index < length) { + data = matchData[index]; + var key = data[0], objValue = object[key], srcValue = data[1]; + if (noCustomizer && data[2]) { + if (objValue === void 0 && !(key in object)) { + return false; + } + } else { + var stack = new Stack(); + if (customizer) { + var result = customizer(objValue, srcValue, key, object, source, stack); + } + if (!(result === void 0 ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG$1 | COMPARE_UNORDERED_FLAG$1, customizer, stack) : result)) { + return false; + } + } + } + return true; +} +function isStrictComparable(value) { + return value === value && !isObject(value); +} +function getMatchData(object) { + var result = keys(object), length = result.length; + while (length--) { + var key = result[length], value = object[key]; + result[length] = [key, value, isStrictComparable(value)]; + } + return result; +} +function matchesStrictComparable(key, srcValue) { + return function(object) { + if (object == null) { + return false; + } + return object[key] === srcValue && (srcValue !== void 0 || key in Object(object)); + }; +} +function baseMatches(source) { + var matchData = getMatchData(source); + if (matchData.length == 1 && matchData[0][2]) { + return matchesStrictComparable(matchData[0][0], matchData[0][1]); + } + return function(object) { + return object === source || baseIsMatch(object, source, matchData); + }; +} +function baseHasIn(object, key) { + return object != null && key in Object(object); +} +function hasPath(object, path, hasFunc) { + path = castPath(path, object); + var index = -1, length = path.length, result = false; + while (++index < length) { + var key = toKey(path[index]); + if (!(result = object != null && hasFunc(object, key))) { + break; + } + object = object[key]; + } + if (result || ++index != length) { + return result; + } + length = object == null ? 0 : object.length; + return !!length && isLength(length) && isIndex(key, length) && (isArray$1(object) || isArguments$1(object)); +} +function hasIn(object, path) { + return object != null && hasPath(object, path, baseHasIn); +} +var COMPARE_PARTIAL_FLAG = 1, COMPARE_UNORDERED_FLAG = 2; +function baseMatchesProperty(path, srcValue) { + if (isKey(path) && isStrictComparable(srcValue)) { + return matchesStrictComparable(toKey(path), srcValue); + } + return function(object) { + var objValue = get(object, path); + return objValue === void 0 && objValue === srcValue ? hasIn(object, path) : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG); + }; +} +function baseProperty(key) { + return function(object) { + return object == null ? void 0 : object[key]; + }; +} +function basePropertyDeep(path) { + return function(object) { + return baseGet(object, path); + }; +} +function property(path) { + return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path); +} +function baseIteratee(value) { + if (typeof value == "function") { + return value; + } + if (value == null) { + return identity; + } + if (typeof value == "object") { + return isArray$1(value) ? baseMatchesProperty(value[0], value[1]) : baseMatches(value); + } + return property(value); +} +function arrayAggregator(array, setter, iteratee, accumulator) { + var index = -1, length = array == null ? 0 : array.length; + while (++index < length) { + var value = array[index]; + setter(accumulator, value, iteratee(value), array); + } + return accumulator; +} +function createBaseFor(fromRight) { + return function(object, iteratee, keysFunc) { + var index = -1, iterable = Object(object), props = keysFunc(object), length = props.length; + while (length--) { + var key = props[fromRight ? length : ++index]; + if (iteratee(iterable[key], key, iterable) === false) { + break; + } + } + return object; + }; +} +var baseFor = createBaseFor(); +var baseFor$1 = baseFor; +function baseForOwn(object, iteratee) { + return object && baseFor$1(object, iteratee, keys); +} +function createBaseEach(eachFunc, fromRight) { + return function(collection, iteratee) { + if (collection == null) { + return collection; + } + if (!isArrayLike(collection)) { + return eachFunc(collection, iteratee); + } + var length = collection.length, index = fromRight ? length : -1, iterable = Object(collection); + while (fromRight ? index-- : ++index < length) { + if (iteratee(iterable[index], index, iterable) === false) { + break; + } + } + return collection; + }; +} +var baseEach = createBaseEach(baseForOwn); +var baseEach$1 = baseEach; +function baseAggregator(collection, setter, iteratee, accumulator) { + baseEach$1(collection, function(value, key, collection2) { + setter(accumulator, value, iteratee(value), collection2); + }); + return accumulator; +} +function createAggregator(setter, initializer) { + return function(collection, iteratee) { + var func = isArray$1(collection) ? arrayAggregator : baseAggregator, accumulator = initializer ? initializer() : {}; + return func(collection, setter, baseIteratee(iteratee), accumulator); + }; +} +var now = function() { + return root$1.Date.now(); +}; +var now$1 = now; +var FUNC_ERROR_TEXT$1 = "Expected a function"; +var nativeMax = Math.max, nativeMin = Math.min; +function debounce(func, wait, options) { + var lastArgs, lastThis, maxWait, result, timerId, lastCallTime, lastInvokeTime = 0, leading = false, maxing = false, trailing = true; + if (typeof func != "function") { + throw new TypeError(FUNC_ERROR_TEXT$1); + } + wait = toNumber(wait) || 0; + if (isObject(options)) { + leading = !!options.leading; + maxing = "maxWait" in options; + maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait; + trailing = "trailing" in options ? !!options.trailing : trailing; + } + function invokeFunc(time) { + var args = lastArgs, thisArg = lastThis; + lastArgs = lastThis = void 0; + lastInvokeTime = time; + result = func.apply(thisArg, args); + return result; + } + function leadingEdge(time) { + lastInvokeTime = time; + timerId = setTimeout(timerExpired, wait); + return leading ? invokeFunc(time) : result; + } + function remainingWait(time) { + var timeSinceLastCall = time - lastCallTime, timeSinceLastInvoke = time - lastInvokeTime, timeWaiting = wait - timeSinceLastCall; + return maxing ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke) : timeWaiting; + } + function shouldInvoke(time) { + var timeSinceLastCall = time - lastCallTime, timeSinceLastInvoke = time - lastInvokeTime; + return lastCallTime === void 0 || timeSinceLastCall >= wait || timeSinceLastCall < 0 || maxing && timeSinceLastInvoke >= maxWait; + } + function timerExpired() { + var time = now$1(); + if (shouldInvoke(time)) { + return trailingEdge(time); + } + timerId = setTimeout(timerExpired, remainingWait(time)); + } + function trailingEdge(time) { + timerId = void 0; + if (trailing && lastArgs) { + return invokeFunc(time); + } + lastArgs = lastThis = void 0; + return result; + } + function cancel2() { + if (timerId !== void 0) { + clearTimeout(timerId); + } + lastInvokeTime = 0; + lastArgs = lastCallTime = lastThis = timerId = void 0; + } + function flush() { + return timerId === void 0 ? result : trailingEdge(now$1()); + } + function debounced() { + var time = now$1(), isInvoking = shouldInvoke(time); + lastArgs = arguments; + lastThis = this; + lastCallTime = time; + if (isInvoking) { + if (timerId === void 0) { + return leadingEdge(lastCallTime); + } + if (maxing) { + clearTimeout(timerId); + timerId = setTimeout(timerExpired, wait); + return invokeFunc(lastCallTime); + } + } + if (timerId === void 0) { + timerId = setTimeout(timerExpired, wait); + } + return result; + } + debounced.cancel = cancel2; + debounced.flush = flush; + return debounced; +} +var objectProto = Object.prototype; +var hasOwnProperty = objectProto.hasOwnProperty; +var groupBy = createAggregator(function(result, value, key) { + if (hasOwnProperty.call(result, key)) { + result[key].push(value); + } else { + baseAssignValue(result, key, [value]); + } +}); +var groupBy$1 = groupBy; +function isEqual(value, other) { + return baseIsEqual(value, other); +} +var FUNC_ERROR_TEXT = "Expected a function"; +function throttle(func, wait, options) { + var leading = true, trailing = true; + if (typeof func != "function") { + throw new TypeError(FUNC_ERROR_TEXT); + } + if (isObject(options)) { + leading = "leading" in options ? !!options.leading : leading; + trailing = "trailing" in options ? !!options.trailing : trailing; + } + return debounce(func, wait, { + "leading": leading, + "maxWait": wait, + "trailing": trailing + }); +} +const EVENT_PHASES = [ + "onBefore", + "onNow", + "onAfter" +]; +const sortTasksByPriority = (tasks) => [...tasks].sort((a, b) => { + var _a, _b; + return (((_a = b.meta) == null ? void 0 : _a.priority) || 0) - (((_b = a.meta) == null ? void 0 : _b.priority) || 0); +}); +async function runEventPipeline(options) { + var _a, _b, _c; + const { + tasks, + rowId, + type, + fire, + initial, + extra = [], + phases = EVENT_PHASES, + rerunOnAfterFalsy = false, + maxRerun = 10 + } = options; + const grouped = groupBy$1( + sortTasksByPriority(tasks), + (task) => { + var _a2, _b2; + return (_b2 = (_a2 = task.meta) == null ? void 0 : _a2.es) != null ? _b2 : "onNow"; + } + ); + let current = initial !== void 0 ? initial : rowId; + let rerun = 0; + for (let i = 0; i < phases.length; i++) { + const phase = phases[i]; + const phaseTasks = (_a = grouped[phase]) != null ? _a : []; + for (const task of phaseTasks) { + current = await ((_b = task.event) == null ? void 0 : _b.call(task, rowId, current, task.meta, ...extra)); + } + current = await fire(current, type, phase, (_c = phaseTasks[0]) == null ? void 0 : _c.meta); + if (rerunOnAfterFalsy && phase === "onAfter" && !current) { + if (++rerun > maxRerun) { + console.warn( + `[funjiaui] \u4E8B\u4EF6\u94FE\u5728 onAfter \u9636\u6BB5\u8FDE\u7EED ${maxRerun} \u6B21\u8FD4\u56DE\u7A7A\u503C\uFF0C\u5DF2\u4E2D\u6B62\u4EE5\u907F\u514D\u6B7B\u5FAA\u73AF` + ); + break; + } + i = -1; + } + } + return current; +} +const collectDataColumns = (target) => scanDecoratedMembers(target, "table:field").map((member) => ({ + sort: member.meta.sort || 1, + vnode: h(_sfc_main$e, { + prop: member.fieldName, + label: member.meta.def, + fieldType: member.meta.fieldType, + width: member.meta.width, + minWidth: member.meta.minWidth, + columnRender: member.meta.columnRender, + isShow: member.meta.isShow, + showOverflowTooltip: member.meta.showOverflowTooltip, + dateFormat: member.meta.dateFormat + }) +})).sort((a, b) => a.sort - b.sort).map((item) => item.vnode); +const collectOperateGroups = (target) => { + var _a; + const groups = /* @__PURE__ */ new Map(); + for (const member of scanDecoratedMembers(target, "table:operate", { + methods: true + })) { + const meta = member.meta; + const key = String((_a = meta.id) != null ? _a : meta.type); + let group = groups.get(key); + if (!group) { + group = { type: meta.type, tasks: [] }; + groups.set(key, group); + } + group.tasks.push({ event: member.value, meta }); + if (group.sort === void 0 && !isEmpty(meta.sort)) { + group.sort = meta.sort; + } + if (group.title === void 0 && meta.title !== void 0) { + group.title = meta.title; + } + if (group.isShow === void 0 && meta.isShow !== void 0) { + group.isShow = meta.isShow; + } + } + return [...groups.values()].map((group) => { + var _a2; + return { + type: group.type, + sort: (_a2 = group.sort) != null ? _a2 : 0, + title: group.title, + isShow: group.isShow, + tasks: group.tasks + }; + }); +}; +const resolveShowOperate = (target, hasOperate) => { + var _a; + if (!hasOperate) + return false; + const instance = createTargetInstance(target); + const flag = (_a = instance.isShowOperate) != null ? _a : target == null ? void 0 : target.isShowOperate; + if (flag === void 0 || flag === null) + return true; + return typeof flag === "function" ? !!flag.call(instance) : !!flag; +}; +const resolveOperateWidth = (target, fallback = "120px") => { + var _a, _b; + const instance = createTargetInstance(target); + return (_b = (_a = instance.operateWidth) != null ? _a : target == null ? void 0 : target.operateWidth) != null ? _b : fallback; +}; +const isDeferredAfter = (type, deferred) => !!(deferred == null ? void 0 : deferred.some((item) => item === type)); +const withoutDeferredAfter = (tasks, deferred) => tasks.filter( + (task) => { + var _a, _b; + return !(((_a = task.meta) == null ? void 0 : _a.es) === "onAfter" && isDeferredAfter(String((_b = task.meta) == null ? void 0 : _b.type), deferred)); + } +); +const DEFERRED_PHASES = ["onBefore", "onNow"]; +const DEFAULT_DEFER_TYPES = [ + "\u6DFB\u52A0", + "edit", + "del", + "\u6279\u91CF\u5220\u9664" +]; +const buildOperateColumn = (groups, options) => { + if (!groups.length) + return null; + const { + fire, + tableData = [], + width = "120px", + deferAfterTypes + } = options; + const operateItems = [...groups].sort((a, b) => a.sort - b.sort).map((group) => ({ + type: group.type, + title: group.title, + isShow: group.isShow, + onClick: (rowId, rowData) => runEventPipeline({ + tasks: withoutDeferredAfter(group.tasks, deferAfterTypes), + rowId, + type: group.type, + fire, + initial: rowData, + extra: [tableData], + phases: isDeferredAfter(String(group.type), deferAfterTypes) ? DEFERRED_PHASES : void 0 + }) + })); + return h(_sfc_main$e, { + type: "operate", + label: "\u64CD\u4F5C", + operateItems, + width + }); +}; +const collectTypedTasks = (target, decoratorKey, type) => sortTasksByPriority( + scanDecoratedMembers(target, decoratorKey, { + methods: true + }).filter((member) => member.meta.type === type).map((member) => ({ event: member.value, meta: member.meta })) +); +const collectToolbar = (target, fire, options = {}) => { + var _a; + const groups = /* @__PURE__ */ new Map(); + for (const member of scanDecoratedMembers(target, "table:toolbar", { + methods: true + })) { + const meta = member.meta; + if (meta.isShow && !meta.isShow(void 0)) + continue; + const type = meta.type; + const tasks = (_a = groups.get(type)) != null ? _a : []; + tasks.push({ event: member.value, meta }); + groups.set(type, tasks); + } + const toolbars = []; + const events = []; + groups.forEach((tasks, type) => { + var _a2, _b, _c, _d; + toolbars.push({ + type, + icon: (_b = (_a2 = tasks[0]) == null ? void 0 : _a2.meta) == null ? void 0 : _b.icon, + title: (_d = (_c = tasks[0]) == null ? void 0 : _c.meta) == null ? void 0 : _d.title + }); + const pipelineTasks = withoutDeferredAfter(tasks, options.deferAfterTypes); + events.push( + (rowId) => runEventPipeline({ + tasks: pipelineTasks, + rowId: rowId != null ? rowId : "", + type, + fire, + phases: isDeferredAfter(String(type), options.deferAfterTypes) ? DEFERRED_PHASES : void 0 + }) + ); + }); + return { toolbars, events }; +}; +const TOOLBAR_TYPE_SET = { + \u6DFB\u52A0: true, + "\u5BFC\u5165\u6A21\u677F": true, + \u5BFC\u5165: true, + \u5BFC\u51FA: true, + "\u6279\u91CF\u5220\u9664": true, + \u81EA\u5B9A\u4E49: true +}; +const OPERATE_TYPE_SET = { + edit: true, + del: true, + copy: true, + customOperateEvent: true +}; +const FIELD_TYPE_SET = { + date: true, + default: true, + upload: true, + primaryKey: true, + treeSelect: true, + areaTreeSelect: true, + select: true, + switch: true, + boolean: true, + img: true, + pickerMapGps: true, + pickerMapGpsRange: true, + ip: true, + port: true, + string: true, + textarea: true, + input: true, + password: true, + custom: true, + number: true, + dateRange: true +}; +const FORM_UNIMPLEMENTED = /* @__PURE__ */ new Set([ + "img", + "pickerMapGps", + "pickerMapGpsRange", + "areaTreeSelect", + "custom" +]); +const SEARCH_SUPPORTED = /* @__PURE__ */ new Set([ + "select", + "dateRange", + "date-picker", + "dateTime-picker", + "switch", + "textarea", + "input" +]); +const SEARCH_TEXT_OK = /* @__PURE__ */ new Set(["input", "textarea", "string", "ip", "port"]); +const has = (set, value) => typeof value === "string" && Object.prototype.hasOwnProperty.call(set, value); +const METHOD_KEYS = [ + "table:operate", + "table:toolbar", + "table:searchFormMethod" +]; +const FIELD_KEYS = [ + "table:field", + "table:formField", + "table:searchFormField" +]; +const readMemberMetas = (target) => collectClassMembers(target).map((member) => { + const entry = { member, methods: {}, fields: {} }; + const keys2 = member.isMethod ? METHOD_KEYS : FIELD_KEYS; + for (const key of keys2) { + if (member.isMethod) { + const meta = getMemberMeta(target, key, member); + if (meta) + entry.methods[key] = meta; + } else { + const meta = getMemberMeta(target, key, member); + if (meta) + entry.fields[key] = meta; + } + } + return entry; +}); +const diagnoseTarget = (target, options = {}) => { + var _a, _b; + const list = []; + const push = (d) => list.push(d); + if (!target) { + push({ + level: "error", + code: "target-missing", + message: "\u6CA1\u6709\u62FF\u5230\u914D\u7F6E\u7C7B\uFF08target \u4E3A\u7A7A\uFF09", + hint: '\u7ED9 / \u4F20 :target="YourViewModel"' + }); + return list; + } + const entries = readMemberMetas(target); + const deferTypes = new Set((_a = options.deferAfterTypes) != null ? _a : DEFAULT_DEFER_TYPES); + const byType = /* @__PURE__ */ new Map(); + for (const entry of entries) { + for (const [dKey, meta] of Object.entries(entry.methods)) { + const member = entry.member.key; + const type = String(meta.type); + if (!EVENT_PHASES.includes(meta.es)) { + push({ + level: "error", + code: "invalid-execution-sequence", + member, + message: `es: ${JSON.stringify(meta.es)} \u4E0D\u662F\u5408\u6CD5\u7684\u6267\u884C\u9636\u6BB5`, + hint: `\u53EA\u80FD\u662F ${EVENT_PHASES.map((p) => `"${p}"`).join(" / ")}\uFF1B\u5199\u9519\u7684\u65B9\u6CD5\u4E0D\u4F1A\u88AB\u6267\u884C` + }); + } + if (dKey === "table:searchFormMethod") { + if (type !== "getList") { + push({ + level: "error", + code: "unknown-method-type", + member, + message: `\u67E5\u8BE2\u65B9\u6CD5\u7684 type \u5FC5\u987B\u662F "getList"\uFF0C\u5F53\u524D\u662F ${JSON.stringify(meta.type)}`, + hint: '\u67E5\u5217\u8868\u53EA\u8BA4 type: "getList"\uFF0C\u4E14\u88C5\u9970\u5668\u7684 key \u5FC5\u987B\u662F "table:searchFormMethod"' + }); + } + } else if (dKey === "table:toolbar") { + if (!has(TOOLBAR_TYPE_SET, type)) { + push( + has(OPERATE_TYPE_SET, type) ? { + level: "error", + code: "operate-type-in-toolbar", + member, + message: `"${type}" \u662F\u64CD\u4F5C\u5217\u6309\u94AE\u7C7B\u578B\uFF0C\u5374\u58F0\u660E\u5728\u4E86\u5DE5\u5177\u680F\u4E0A`, + hint: '\u5DE5\u5177\u680F\u6309\u94AE\u7528 type: "\u6DFB\u52A0" / "\u5BFC\u51FA" / "\u6279\u91CF\u5220\u9664" / "\u81EA\u5B9A\u4E49" \u7B49' + } : { + level: "error", + code: "unknown-method-type", + member, + message: `\u5DE5\u5177\u680F\u4E0A\u6CA1\u6709 ${JSON.stringify(meta.type)} \u8FD9\u79CD\u6309\u94AE`, + hint: `\u53EF\u7528\uFF1A${Object.keys(TOOLBAR_TYPE_SET).join(" / ")}` + } + ); + } + } else { + if (!has(OPERATE_TYPE_SET, type)) { + push( + has(TOOLBAR_TYPE_SET, type) ? { + level: "error", + code: "toolbar-type-in-operate", + member, + message: `"${type}" \u662F\u5DE5\u5177\u680F\u6309\u94AE\u7C7B\u578B\uFF0C\u4F46\u6CA1\u6709\u6307\u5B9A key\uFF0C\u4E8E\u662F\u88AB\u5F53\u6210\u4E86\u64CD\u4F5C\u5217\u6309\u94AE`, + hint: `\u8865\u4E0A key: "table:toolbar"\uFF0C\u5426\u5219\u5B83\u4F1A\u5728\u6BCF\u4E00\u884C\u672B\u5C3E\u591A\u51FA\u4E00\u4E2A\u6309\u94AE\uFF0C\u800C\u5DE5\u5177\u680F\u662F\u7A7A\u7684` + } : { + level: "error", + code: "unknown-method-type", + member, + message: `\u64CD\u4F5C\u5217\u4E0A\u6CA1\u6709 ${JSON.stringify(meta.type)} \u8FD9\u79CD\u6309\u94AE`, + hint: `\u53EF\u7528\uFF1A${Object.keys(OPERATE_TYPE_SET).join(" / ")}` + } + ); + } + } + if (dKey !== "table:searchFormMethod") { + const bucket = (_b = byType.get(type)) != null ? _b : []; + bucket.push(meta); + byType.set(type, bucket); + } + } + } + byType.forEach((metas, type) => { + const declaresDialog = metas.some( + (meta) => meta.dialogContent !== void 0 || meta.dialogTitle !== void 0 + ); + if (!declaresDialog && !deferTypes.has(type)) + return; + if (metas.some((meta) => meta.es === "onAfter")) + return; + push({ + level: declaresDialog ? "error" : "warn", + code: "dialog-without-submit", + member: `type "${type}"`, + message: `\u300C${type}\u300D\u4F1A\u5F39\u7A97\uFF0C\u4F46\u6CA1\u6709\u4EFB\u4F55 es: "onAfter" \u7684\u65B9\u6CD5\uFF0C\u7528\u6237\u5728\u5F39\u7A97\u4E0A\u70B9\u786E\u5B9A\u540E\u4EC0\u4E48\u90FD\u4E0D\u4F1A\u53D1\u751F`, + hint: '\u628A\u771F\u6B63\u8C03\u63A5\u53E3\u7684\u90A3\u4E2A\u65B9\u6CD5\u6807\u4E0A es: "onAfter"' + }); + }); + const columns = []; + const formFields = /* @__PURE__ */ new Map(); + const searchFields = []; + for (const entry of entries) { + const columnMeta = entry.fields["table:field"]; + if (columnMeta) { + columns.push({ + key: entry.member.key, + fieldName: entry.member.fieldName, + meta: columnMeta + }); + } + const formMeta = entry.fields["table:formField"]; + if (formMeta) + formFields.set(entry.member.fieldName, formMeta); + const searchMeta = entry.fields["table:searchFormField"]; + if (searchMeta) + searchFields.push({ key: entry.member.key, meta: searchMeta }); + for (const [dKey, meta] of Object.entries(entry.fields)) { + if (meta.fieldType && !has(FIELD_TYPE_SET, meta.fieldType)) { + push({ + level: "warn", + code: "unknown-field-type", + member: `${entry.member.key}\uFF08${dKey}\uFF09`, + message: `fieldType: ${JSON.stringify(meta.fieldType)} \u4E0D\u662F\u5408\u6CD5\u7684\u5B57\u6BB5\u7C7B\u578B\uFF0C\u4F1A\u88AB\u5F53\u6210\u9ED8\u8BA4\u7C7B\u578B\u5904\u7406`, + hint: `\u5408\u6CD5\u503C\uFF1A${Object.keys(FIELD_TYPE_SET).join(" / ")}` + }); + } + } + if ((formMeta == null ? void 0 : formMeta.fieldType) && FORM_UNIMPLEMENTED.has(formMeta.fieldType) && !formMeta.component) { + push({ + level: "warn", + code: "form-field-type-unimplemented", + member: entry.member.key, + message: `\u8868\u5355\u6CA1\u6709\u4E3A fieldType: "${formMeta.fieldType}" \u5B9E\u73B0\u63A7\u4EF6\uFF0C\u5B83\u4F1A\u9000\u5316\u6210\u6587\u672C\u6846`, + hint: "\u6539\u7528 input / select / date \u7B49\u5DF2\u5B9E\u73B0\u7684\u7C7B\u578B\uFF0C\u6216\u4F20 component \u6307\u5B9A\u81EA\u5B9A\u4E49\u7EC4\u4EF6" + }); + } + } + const columnDefs = /* @__PURE__ */ new Map(); + for (const column of columns) { + const def = column.meta.def; + if (!def) { + push({ + level: "warn", + code: "column-def-missing", + member: column.key, + message: "\u6570\u636E\u5217\u7F3A\u5C11 def\uFF0C\u5217\u5934\u4F1A\u662F\u7A7A\u7684", + hint: "def \u662F\u5217\u5934\u6587\u6848\uFF0C\u5FC5\u586B" + }); + } else if (columnDefs.has(def)) { + push({ + level: "warn", + code: "column-def-duplicated", + member: column.key, + message: `\u5217\u5934"${def}"\u548C ${columnDefs.get(def)} \u91CD\u590D`, + hint: "\u591A\u4E3A\u590D\u5236\u7C98\u8D34\u540E\u5FD8\u4E86\u6539 def\uFF0C\u4E24\u5217\u90FD\u4F1A\u9876\u7740\u540C\u4E00\u4E2A\u8868\u5934" + }); + } else { + columnDefs.set(def, column.key); + } + } + if (columns.length === 0) { + push({ + level: "warn", + code: "no-data-column", + message: "\u6CA1\u6709\u4EFB\u4F55\u6570\u636E\u5217", + hint: "\u68C0\u67E5 @TableColumnPropertyDecorator \u662F\u5426\u6302\u5728\u4E86\u7C7B\u7684\u5C5E\u6027\u4E0A\uFF08\u800C\u4E0D\u662F\u9759\u6001\u5C5E\u6027 / \u6784\u9020\u51FD\u6570\u91CC\uFF09" + }); + } + const hasFormSubmit = byType.has("edit") || byType.has("\u6DFB\u52A0"); + const primaryKeys = columns.filter( + (column) => column.meta.fieldType === "primaryKey" + ); + if (hasFormSubmit) { + for (const primaryKey of primaryKeys) { + if (formFields.has(primaryKey.fieldName)) + continue; + push({ + level: "warn", + code: "primary-key-not-in-form", + member: primaryKey.key, + message: `\u4E3B\u952E"${primaryKey.meta.def || primaryKey.fieldName}"\u6CA1\u6709\u6302\u8868\u5355\u88C5\u9970\u5668\uFF0C\u63D0\u4EA4\u8F7D\u8377\u91CC\u4E0D\u4F1A\u6709\u5B83`, + hint: `\u8865 @TableFormColumnPropertyDecorator({ def: "ID", fieldType: "primaryKey" })\uFF1B\u5426\u5219\u66F4\u65B0\u63A5\u53E3\u6309\u4E3B\u952E\u67E5\u4E0D\u5230\u8BB0\u5F55` + }); + } + if (primaryKeys.length === 0) { + push({ + level: "warn", + code: "edit-without-primary-key", + message: '\u7C7B\u91CC\u6709"\u7F16\u8F91"\u6216"\u6DFB\u52A0"\u6309\u94AE\uFF0C\u4F46\u627E\u4E0D\u5230\u4EFB\u4F55 fieldType: "primaryKey" \u7684\u5217', + hint: "\u8868\u5355\u63D0\u4EA4\u9700\u8981\u4E3B\u952E\u624D\u80FD\u5B9A\u4F4D\u8BB0\u5F55\uFF08\u65B0\u589E\u65E0\u9700\u4E3B\u952E\u5219\u5E94\u663E\u5F0F\u58F0\u660E\u4E00\u4E2A\uFF09" + }); + } + } + for (const { key, meta } of searchFields) { + const control = meta.$um_component || meta.fieldType; + if (!control) + continue; + if (SEARCH_SUPPORTED.has(control) || SEARCH_TEXT_OK.has(control)) + continue; + push({ + level: "warn", + code: "unsupported-search-control", + member: key, + message: `\u67E5\u8BE2\u8868\u5355\u6CA1\u6709\u5B9E\u73B0 ${JSON.stringify(control)} \u63A7\u4EF6\uFF0C\u5B83\u4F1A\u6E32\u67D3\u6210\u4E00\u4E2A\u666E\u901A\u8F93\u5165\u6846`, + hint: `\u76EE\u524D\u53EF\u7528\uFF1A${[...SEARCH_SUPPORTED].join(" / ")}` + }); + } + if (options.requireGetList && !entries.some((entry) => entry.methods["table:searchFormMethod"])) { + push({ + level: "warn", + code: "missing-get-list", + message: "\u627E\u4E0D\u5230\u5217\u8868\u67E5\u8BE2\u65B9\u6CD5\uFF0C\u8868\u683C\u4E0D\u4F1A\u6709\u6570\u636E", + hint: '@TableColumnMethodDecorator({ key: "table:searchFormMethod", value: { type: "getList" } })' + }); + } + const weight = { error: 0, warn: 1 }; + return list.sort( + (a, b) => { + var _a2, _b2; + return weight[a.level] - weight[b.level] || String((_a2 = a.member) != null ? _a2 : "").localeCompare(String((_b2 = b.member) != null ? _b2 : "")); + } + ); +}; +let diagnosticsEnabled = true; +const setDiagnosticsEnabled = (enabled) => { + diagnosticsEnabled = enabled; +}; +const isDiagnosticsEnabled = () => diagnosticsEnabled; +const reportDiagnostics = (target, options = {}) => { + const list = diagnoseTarget(target, options); + if (!list.length) + return list; + const errors = list.filter((item) => item.level === "error"); + const warns = list.filter((item) => item.level === "warn"); + const name = (target == null ? void 0 : target.name) || "\u914D\u7F6E\u7C7B"; + console.groupCollapsed( + `[funjiaui] \u914D\u7F6E\u4F53\u68C0 \xB7 ${name} \xB7 ${errors.length} \u4E2A\u9519\u8BEF / ${warns.length} \u4E2A\u8B66\u544A` + ); + for (const item of list) { + const text = `[${item.code}] ${item.member ? item.member + " \u2014 " : ""}${item.message}${item.hint ? "\n \u2192 " + item.hint : ""}`; + if (item.level === "error") + console.error(text); + else + console.warn(text); + } + console.groupEnd(); + return list; +}; +const reportedTargets = /* @__PURE__ */ new WeakSet(); +const reportDiagnosticsOnce = (target, options = {}) => { + if (!diagnosticsEnabled || options.enabled === false) + return []; + if (!target) + return []; + if (typeof target !== "function" && typeof target !== "object") + return []; + if (reportedTargets.has(target)) + return []; + reportedTargets.add(target); + return reportDiagnostics(target, options); +}; +const _sfc_main$d = defineComponent({ + name: "UmByClass", + inheritAttrs: false, + emits: ["fire", "fire:onBefore", "fire:onNow", "fire:onAfter"], + mounted() { + reportDiagnosticsOnce(this.$attrs.target, { + deferAfterTypes: this.$attrs["defer-after-types"], + enabled: this.$attrs.diagnose !== false + }); + }, + render() { + const target = this.$attrs.target; + const otherParams = this.$attrs["other-params"] || {}; + const searchParams = this.$attrs["search-params"] || {}; + const data = this.$attrs.data || []; + const fire = (payload, type, phase, meta) => new Promise((resolve) => { + if (!hasEmitListener(this, "fire")) { + resolve(payload); + return; + } + this.$emit("fire", payload, type, phase, resolve, meta); + }); + let columnList = collectDataColumns(target); + const deferAfterTypes = this.$attrs["defer-after-types"]; + const operateGroups = collectOperateGroups(target); + if (resolveShowOperate(target, operateGroups.length > 0)) { + const operateColumn = buildOperateColumn(operateGroups, { + fire, + tableData: data, + width: resolveOperateWidth(target), + deferAfterTypes + }); + if (operateColumn) + columnList.push(operateColumn); + } + const { toolbars, events: toolbarEvents } = collectToolbar(target, fire, { + deferAfterTypes + }); + if (this.$attrs["is-expand"]) { + columnList = [ + h(_sfc_main$e, { + type: "expand", + expandTemplate: this.$attrs["expand-template"] + }) + ].concat(columnList); + } + const hasIndex = this.$attrs["show-index"] !== false; + if (hasIndex) { + columnList = [ + h(ElTableColumn, { type: "index", label: "\u5E8F\u53F7", width: 56 }) + ].concat(columnList); + } + const enableSelection = toolbars.some((item) => item.type === "\u6279\u91CF\u5220\u9664"); + if (enableSelection) { + columnList = [h(ElTableColumn, { type: "selection" })].concat(columnList); + } + return h( + UmTable, + { + data, + otherParams, + searchParams, + toolbarOptions: toolbars, + toolbarEvents, + width: "100%", + rowKey: this.$attrs["row-key"] || "id", + defaultExpandAll: !!this.$attrs["default-expand-all"], + treeProps: this.$attrs["tree-props"] + }, + () => columnList + ); + } +}); +var index_vue_vue_type_style_index_0_lang = ""; +const _hoisted_1$6 = /* @__PURE__ */ createElementVNode("div", { class: "header-bg header-bg-l" }, null, -1); +const _hoisted_2$2 = /* @__PURE__ */ createElementVNode("div", { class: "header-bg header-bg-r" }, null, -1); +const _hoisted_3$1 = { + key: 1, + class: "el-dialog__title" +}; +const _hoisted_4$1 = { + key: 1, + class: "dialog-footer" +}; +const _hoisted_5$1 = /* @__PURE__ */ createTextVNode("\u53D6\u6D88"); +const _hoisted_6 = /* @__PURE__ */ createTextVNode("\u786E\u5B9A"); +const __default__$5 = { + name: "um-dialog", + inheritAttrs: false +}; +const _sfc_main$c = /* @__PURE__ */ defineComponent({ + ...__default__$5, + props: { + appendToBody: { type: Boolean, default: true }, + center: { type: Boolean }, + closeOnClickModal: { type: Boolean, default: false }, + closeOnPressEscape: { type: Boolean, default: true }, + confirmLoading: { type: Boolean }, + customClass: null, + destroyOnClose: { type: Boolean, default: true }, + footer: { type: Boolean, default: true }, + modal: { type: Boolean, default: true }, + modelValue: { type: Boolean }, + showClose: { type: Boolean, default: true }, + title: null, + width: null, + top: { default: "15vh" } + }, + emits: ["update:modelValue", "onOk"], + setup(__props, { emit }) { + const props = __props; + useCssVars((_ctx) => ({ + "3f29a002": unref(dialogWidth) + })); + const dialogClass = computed(() => { + const bottomShadow = props.footer ? "footer-shadow" : "body-shadow"; + return (props.customClass ? [props.customClass] : []).concat(["um-dialog", bottomShadow]).join(" "); + }); + const visible = computed({ + get: () => props.modelValue, + set: (v) => emit("update:modelValue", v) + }); + const onCancel = () => { + visible.value = false; + }; + const dialogWidth = computed(() => { + const value = props.width; + if (!value) + return "500px"; + const num = parseFloat(value); + return Number.isFinite(num) ? `${num}px` : value; + }); + return (_ctx, _cache) => { + return openBlock(), createBlock(unref(ElDialog), { + modelValue: unref(visible), + "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => isRef(visible) ? visible.value = $event : null), + top: __props.top, + "append-to-body": __props.appendToBody, + center: __props.center, + "close-on-click-modal": __props.closeOnClickModal, + "close-on-press-escape": __props.closeOnPressEscape, + "custom-class": unref(dialogClass), + "destroy-on-close": __props.destroyOnClose, + modal: __props.modal, + "show-close": __props.showClose, + width: unref(dialogWidth) + }, createSlots({ + title: withCtx(() => [ + _hoisted_1$6, + _hoisted_2$2, + _ctx.$slots.title ? renderSlot(_ctx.$slots, "title", { key: 0 }) : (openBlock(), createElementBlock("span", _hoisted_3$1, toDisplayString(__props.title), 1)) + ]), + default: withCtx(() => [ + renderSlot(_ctx.$slots, "default") + ]), + _: 2 + }, [ + __props.footer ? { + name: "footer", + fn: withCtx(() => [ + _ctx.$slots.footer ? renderSlot(_ctx.$slots, "footer", { key: 0 }) : (openBlock(), createElementBlock("span", _hoisted_4$1, [ + createVNode(unref(ElButton), { + class: "el-button--ghost", + type: "primary", + onClick: onCancel + }, { + default: withCtx(() => [ + _hoisted_5$1 + ]), + _: 1 + }), + createVNode(unref(ElButton), { + type: "primary", + loading: __props.confirmLoading, + onClick: _cache[0] || (_cache[0] = ($event) => emit("onOk")) + }, { + default: withCtx(() => [ + _hoisted_6 + ]), + _: 1 + }, 8, ["loading"]) + ])) + ]) + } : void 0 + ]), 1032, ["modelValue", "top", "append-to-body", "center", "close-on-click-modal", "close-on-press-escape", "custom-class", "destroy-on-close", "modal", "show-close", "width"]); + }; + } +}); +const _sfc_main$b = defineComponent({ + name: "UmTableDialog", + inheritAttrs: false, + props: { + modelValue: { type: Boolean, default: false }, + title: { type: String, default: "\u63D0\u793A" }, + content: { + type: [Object, String, Function], + default: null + }, + width: { type: [Number, String], default: 500 }, + footer: { type: Boolean, default: false } + }, + emits: ["ok", "update:modelValue"], + render() { + return h( + _sfc_main$c, + { + title: this.title, + modelValue: this.modelValue, + "onUpdate:modelValue": (value) => this.$emit("update:modelValue", value), + closeOnClickModal: false, + width: typeof this.width === "number" ? `${this.width}px` : this.width, + footer: this.footer, + onOnOk: () => this.$emit("ok") + }, + () => { + var _a, _b, _c; + return (_c = (_b = (_a = this.$slots).default) == null ? void 0 : _b.call(_a)) != null ? _c : this.content ? [this.content] : []; + } + ); + } +}); +const reset = "_reset_123e3_4"; +const submit$1 = "_submit_123e3_5"; +var style0$4 = { + "search-form": "_search-form_123e3_1", + reset, + submit: submit$1 +}; +const _sfc_main$a = defineComponent({ + name: "UmSearchForm", + inheritAttrs: false, + props: { + target: { + type: [Object, Function], + required: true + } + }, + emits: ["change"], + data() { + return { + formFields: [], + formModel: {}, + fieldOption: /* @__PURE__ */ new Map() + }; + }, + methods: { + async buildFields() { + const fields = []; + const model = {}; + for (const member of scanDecoratedMembers( + this.target, + "table:searchFormField" + )) { + const meta = member.meta; + const prop = member.fieldName; + fields.push({ + label: meta.def, + fieldType: meta.fieldType, + component: meta.$um_component, + prop, + placeholder: meta.placeholder, + style: meta.style + }); + model[prop] = member.value || void 0; + if ((meta.fieldType === "select" || meta.$um_component === "select") && meta.getData) { + this.fieldOption.set(prop, await meta.getData()); + } + } + this.formFields = fields; + this.formModel = model; + }, + onSubmit() { + this.$emit("change", { ...this.formModel }); + }, + onReset() { + const next = {}; + for (const field of this.formFields) + next[field.prop] = void 0; + this.formModel = next; + this.$emit("change", {}); + } + }, + async beforeMount() { + await this.buildFields(); + }, + render() { + const style = this.$style; + const formItems = this.formFields.map((item) => { + var _a, _b; + const modelValue = this.formModel[item.prop]; + const onUpdate = (value) => { + this.formModel[item.prop] = value; + }; + const formItemProps = { + label: item.label, + prop: item.prop, + style: item.style + }; + const control = item.component || item.fieldType; + const width = ((_a = item.style) == null ? void 0 : _a.width) || "180px"; + switch (control) { + case "select": { + const options = (((_b = this.fieldOption.get(item.prop)) == null ? void 0 : _b.data) || []).map( + (option) => h(ElSelect.Option, { + key: option.value, + label: option.label, + value: option.value + }) + ); + return h( + ElFormItem, + formItemProps, + () => h( + ElSelect, + { + modelValue, + "onUpdate:modelValue": onUpdate, + placeholder: item.placeholder || "\u8BF7\u9009\u62E9" + item.label, + clearable: true, + style: { width } + }, + () => options + ) + ); + } + case "dateRange": + case "date-picker": + return h( + ElFormItem, + formItemProps, + () => { + var _a2; + return h(ElDatePicker, { + modelValue, + "onUpdate:modelValue": onUpdate, + type: "daterange", + valueFormat: "YYYY-MM-DD", + startPlaceholder: item.placeholder || "\u5F00\u59CB\u65E5\u671F", + endPlaceholder: "\u7ED3\u675F\u65E5\u671F", + style: { width: ((_a2 = item.style) == null ? void 0 : _a2.width) || "240px" } + }); + } + ); + case "dateTime-picker": + return h( + ElFormItem, + formItemProps, + () => h(ElDatePicker, { + modelValue, + "onUpdate:modelValue": onUpdate, + type: "datetime", + valueFormat: "YYYY-MM-DD HH:mm:ss", + placeholder: item.placeholder || "\u8BF7\u9009\u62E9" + item.label, + style: { width } + }) + ); + case "switch": + return h( + ElFormItem, + formItemProps, + () => h(ElSwitch, { modelValue, "onUpdate:modelValue": onUpdate }) + ); + case "textarea": + return h( + ElFormItem, + formItemProps, + () => h(ElInput, { + modelValue, + "onUpdate:modelValue": onUpdate, + type: "textarea", + placeholder: item.placeholder || "\u8BF7\u8F93\u5165" + item.label, + style: { width } + }) + ); + default: + return h( + ElFormItem, + formItemProps, + () => h(ElInput, { + modelValue, + "onUpdate:modelValue": onUpdate, + placeholder: item.placeholder || "\u8BF7\u8F93\u5165" + item.label, + clearable: true, + autocomplete: "off", + style: { width }, + onKeyup: (e) => { + if (e.key === "Enter") + this.onSubmit(); + } + }) + ); + } + }); + if (formItems.length === 0) + return null; + formItems.push( + h(ElFormItem, {}, () => [ + h( + ElButton, + { class: style["submit"], onClick: this.onSubmit }, + () => "\u67E5\u8BE2" + ), + h( + ElButton, + { class: style["reset"], onClick: this.onReset }, + () => "\u91CD\u7F6E" + ) + ]) + ); + return h( + ElForm, + { + inline: true, + class: style["search-form"], + model: this.formModel, + onSubmit: (e) => e.preventDefault() + }, + () => formItems + ); + } +}); +const cssModules$4 = { + "$style": style0$4 +}; +var UmSearchForm = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__cssModules", cssModules$4]]); +var index_vue_vue_type_style_index_0_scoped_true_lang = ""; +const _withScopeId = (n) => (pushScopeId("data-v-0bda02d2"), n = n(), popScopeId(), n); +const _hoisted_1$5 = { class: "um-pagination" }; +const _hoisted_2$1 = { class: "pages" }; +const _hoisted_3 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("li", null, "\u8DF3\u8F6C\u81F3", -1)); +const _hoisted_4 = { class: "el-input el-input--mini el-pagination__editor is-in-pagination" }; +const _hoisted_5 = ["value", "max", "onKeyup"]; +const __default__$4 = { + name: "um-pagination" +}; +const _sfc_main$9 = /* @__PURE__ */ defineComponent({ + ...__default__$4, + props: { + page: { default: 1 }, + pages: { default: () => [10, 20, 50, 100] }, + size: { default: 10 }, + total: { default: 0 } + }, + emits: ["onChange"], + setup(__props, { emit }) { + const props = __props; + const visible = ref(false); + const value = ref(); + const pageTotal = computed(() => Math.ceil(props.total / props.size)); + const disablePrev = computed(() => props.page <= 1); + const disableNext = computed(() => props.page >= pageTotal.value); + const onChange = (v) => { + visible.value = v; + }; + const onPageChange = (v) => { + if (v !== props.size) { + emit("onChange", 1, v); + } + }; + const onPrev = () => { + if (disablePrev.value) { + return; + } + emit("onChange", props.page - 1, props.size); + }; + const onNext = () => { + if (disableNext.value) { + return; + } + emit("onChange", props.page + 1, props.size); + }; + const onInput = (e) => { + const val = e.target.value; + value.value = val.replace(/\D/g, ""); + }; + const onSubmit = () => { + const p = Number(value.value); + if (!p || isNaN(p)) { + return; + } + let v = p; + if (p < 1) { + v = 1; + } else if (p > pageTotal.value) { + v = pageTotal.value; + } + if (v !== props.page) { + emit("onChange", v, props.size); + value.value = ""; + } + }; + return (_ctx, _cache) => { + return openBlock(), createElementBlock("div", _hoisted_1$5, [ + createElementVNode("ul", null, [ + createElementVNode("li", null, "\u5171" + toDisplayString(__props.total) + "\u9879", 1), + createElementVNode("li", null, [ + createVNode(unref(ElDropdown), { onVisibleChange: onChange }, { + dropdown: withCtx(() => [ + createVNode(unref(ElDropdownMenu), null, { + default: withCtx(() => [ + (openBlock(true), createElementBlock(Fragment, null, renderList(__props.pages, (item) => { + return openBlock(), createBlock(unref(ElDropdownItem), { + key: item, + onClick: ($event) => onPageChange(item) + }, { + default: withCtx(() => [ + createTextVNode(toDisplayString(item), 1) + ]), + _: 2 + }, 1032, ["onClick"]); + }), 128)) + ]), + _: 1 + }) + ]), + default: withCtx(() => [ + createElementVNode("div", _hoisted_2$1, [ + createElementVNode("span", null, "\u6BCF\u9875" + toDisplayString(__props.size) + "\u9879", 1), + createVNode(unref(ElIcon), null, { + default: withCtx(() => [ + visible.value ? (openBlock(), createBlock(unref(CaretTop), { key: 0 })) : (openBlock(), createBlock(unref(CaretBottom), { key: 1 })) + ]), + _: 1 + }) + ]) + ]), + _: 1 + }) + ]), + createElementVNode("li", { + title: "\u4E0A\u4E00\u9875", + class: normalizeClass(["btn-arrow", { + disabled: unref(disablePrev) + }]), + onClick: onPrev + }, [ + createVNode(unref(ElIcon), { + style: normalizeStyle({ + color: unref(disablePrev) ? "#666" : void 0 + }) + }, { + default: withCtx(() => [ + createVNode(unref(ArrowLeft)) + ]), + _: 1 + }, 8, ["style"]) + ], 2), + createElementVNode("li", null, toDisplayString(__props.page) + "/" + toDisplayString(unref(pageTotal)), 1), + createElementVNode("li", { + title: "\u4E0B\u4E00\u9875", + class: normalizeClass(["btn-arrow", { + disabled: unref(disableNext) + }]), + onClick: onNext + }, [ + createVNode(unref(ElIcon), { + style: normalizeStyle({ + color: unref(disableNext) ? "#666" : void 0 + }) + }, { + default: withCtx(() => [ + createVNode(unref(ArrowRight)) + ]), + _: 1 + }, 8, ["style"]) + ], 2), + _hoisted_3, + createElementVNode("li", null, [ + createElementVNode("div", _hoisted_4, [ + createElementVNode("input", { + class: "el-input__inner", + value: value.value, + type: "number", + min: 1, + max: unref(pageTotal), + autocomplete: "off", + onInput, + onBlur: onSubmit, + onKeyup: withKeys(onSubmit, ["enter"]) + }, null, 40, _hoisted_5) + ]) + ]) + ]) + ]); + }; + } +}); +var UmPagination = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["__scopeId", "data-v-0bda02d2"]]); +var UmByClassEnhance_vue_vue_type_style_index_0_scoped_true_lang = ""; +const _sfc_main$8 = defineComponent({ + name: "UmByClassEnhance", + inheritAttrs: false, + emits: [ + "fire", + "fire:onBefore", + "fire:onNow", + "fire:onAfter", + "dataChange", + "command" + ], + expose: ["getList"], + data() { + return { + dialogVisible: false, + currentPage: 1, + currentPageSize: 10, + confirmCb: null, + dialogTitle: "\u63D0\u793A", + dialogContent: null, + dialogWidth: 500, + dialogShowFooter: false, + searchFormModel: {}, + currentId: null, + editingRow: null, + data: [], + total: 0, + pendingResolve: null + }; + }, + watch: { + "$attrs.other-params"() { + this.currentPage = 1; + this.dialogVisible = false; + this.getList(); + }, + data(v) { + this.$emit("dataChange", v); + } + }, + methods: { + settle(result) { + const resolve = this.pendingResolve; + this.pendingResolve = null; + resolve == null ? void 0 : resolve(result); + }, + onDialogVisibility(value) { + this.dialogVisible = value; + if (!value) + this.settle(false); + }, + getMetaDataByKey(key, dKey) { + var _a, _b; + return (_b = (_a = findMethodMeta(this.$attrs.target, dKey, key)) == null ? void 0 : _a.meta) != null ? _b : null; + }, + async handleFire(data, key, es, cb, metaValue = {}) { + var _a, _b; + const target = this.$attrs.target; + let dKey; + switch (key) { + case "\u6DFB\u52A0": + case "edit": { + dKey = key === "\u6DFB\u52A0" ? "table:toolbar" : "table:operate"; + if (es === "onBefore") { + this.dialogShowFooter = false; + } else if (es === "onNow") { + const metaData = this.getMetaDataByKey(key, dKey); + this.dialogWidth = (metaData == null ? void 0 : metaData.dialogWidth) || this.dialogWidth || 500; + let addEditData = data; + if (key === "\u6DFB\u52A0") { + addEditData = { ...this.$attrs["form-data"] || {} }; + this.editingRow = null; + } else { + const row = data && typeof data === "object" ? data : {}; + addEditData = transformFields(target, { ...row }, "in"); + this.editingRow = transformFields(target, { ...addEditData }, "out"); + } + const depData = await ((_a = metaData == null ? void 0 : metaData.getData) == null ? void 0 : _a.call(metaData)) || {}; + const dialogContent = metaData == null ? void 0 : metaData.dialogContent; + this.dialogContent = dialogContent ? h(dialogContent, { + target: (metaData == null ? void 0 : metaData.dialogTarget) || target, + data: addEditData, + depData, + onCancel: () => { + this.dialogVisible = false; + this.settle(false); + }, + onOk: (formData) => { + var _a2; + const next = transformFields(target, { ...formData || {} }, "out"); + const payload = key === "\u6DFB\u52A0" ? next : { ...this.editingRow || {}, ...next }; + (_a2 = this.confirmCb) == null ? void 0 : _a2.call(this, payload); + } + }) : null; + this.dialogTitle = (metaData == null ? void 0 : metaData.dialogTitle) || this.dialogTitle; + this.dialogVisible = true; + this.setConfirmCb(key, dKey); + this.pendingResolve = cb; + return; + } else if (es === "onAfter") { + if (data === false) + break; + if ((data == null ? void 0 : data.code) === 0) { + if (key === "\u6DFB\u52A0") + this.currentPage = 1; + this.dialogVisible = false; + this.getList(); + ElMessage.success("\u64CD\u4F5C\u6210\u529F"); + } else { + ElMessage.error((data == null ? void 0 : data.message) || "\u64CD\u4F5C\u5931\u8D25"); + } + } + break; + } + case "del": + case "\u6279\u91CF\u5220\u9664": { + dKey = key === "\u6279\u91CF\u5220\u9664" ? "table:toolbar" : "table:operate"; + if (es === "onBefore") { + this.dialogShowFooter = true; + } else if (es === "onNow") { + const metaData = this.getMetaDataByKey(key, dKey); + this.dialogTitle = (metaData == null ? void 0 : metaData.dialogTitle) || this.dialogTitle; + this.dialogWidth = (metaData == null ? void 0 : metaData.dialogWidth) || this.dialogWidth || 500; + const dialogContent = metaData == null ? void 0 : metaData.dialogContent; + this.dialogContent = typeof dialogContent === "string" ? h("div", dialogContent) : dialogContent ? h(dialogContent) : h("div", "\u786E\u8BA4\u6267\u884C\u8BE5\u64CD\u4F5C\uFF1F"); + this.dialogVisible = true; + this.currentId = key === "\u6279\u91CF\u5220\u9664" ? (data != null ? data : []).map((item) => { + var _a2; + return (_a2 = item == null ? void 0 : item.id) != null ? _a2 : item; + }) : (_b = data == null ? void 0 : data.id) != null ? _b : data; + this.setConfirmCb(key, dKey); + this.pendingResolve = cb; + return; + } else if (es === "onAfter") { + if (data === false) + break; + if (data && data.code === 0) { + this.currentPage = 1; + this.dialogVisible = false; + this.currentId = null; + this.getList(); + ElMessage.success("\u5220\u9664\u6210\u529F"); + } else { + ElMessage.error((data == null ? void 0 : data.message) || "\u5220\u9664\u5931\u8D25"); + } + } + break; + } + case "customOperateEvent": { + if (es === "onNow") { + this.$emit("fire", key, data, metaValue, this.data); + } + break; + } + } + if (es === "onAfter") + this.$emit("command", key, data); + return cb(data); + }, + setConfirmCb(key, dKey) { + const tasks = collectTypedTasks( + this.$attrs.target, + dKey, + key + ); + this.confirmCb = async (rowId) => { + const result = await runEventPipeline({ + tasks, + rowId, + type: key, + phases: ["onAfter"], + fire: (payload, type, phase, meta) => this.handleFire(payload, type, phase, (v) => v, meta) + }); + this.settle(result); + }; + }, + handleSizeChange(size) { + this.currentPageSize = size; + }, + handleCurrentChange(p, s) { + this.currentPage = p; + this.currentPageSize = s; + this.getList(); + }, + async getList() { + const target = this.$attrs.target; + if (!target) + return; + const found = findMethodMeta(target, "table:searchFormMethod", "getList"); + if (!found) + return; + const instance = createTargetInstance(target); + const otherParams = this.$attrs["other-params"] || {}; + const { data, total } = await instance.getList({ + ...this.searchFormModel, + page: this.currentPage, + pageSize: this.currentPageSize, + ...otherParams + }); + this.data = data != null ? data : []; + this.total = total != null ? total : 0; + }, + onSearchFormChange(params) { + this.searchFormModel = params; + this.currentPage = 1; + this.getList(); + } + }, + beforeMount() { + reportDiagnosticsOnce(this.$attrs.target, { + deferAfterTypes: DEFAULT_DEFER_TYPES, + requireGetList: true, + enabled: this.$attrs.diagnose !== false + }); + this.getList(); + }, + render() { + const attrs = this.$attrs; + return h("div", { class: attrs.class }, [ + h(UmSearchForm, { + target: attrs.target, + onChange: this.onSearchFormChange + }), + h(_sfc_main$d, { + target: attrs.target, + data: this.data, + onFire: this.handleFire, + "other-params": attrs["other-params"] || {}, + "search-params": this.searchFormModel || {}, + "is-expand": attrs["is-expand"], + "expand-template": attrs["expand-template"], + "row-key": attrs["row-key"], + "default-expand-all": attrs["default-expand-all"], + "defer-after-types": DEFAULT_DEFER_TYPES + }), + h(UmPagination, { + page: this.currentPage, + size: this.currentPageSize, + total: this.total, + class: "page", + onOnChange: this.handleCurrentChange + }), + h(_sfc_main$b, { + modelValue: this.dialogVisible, + "onUpdate:modelValue": this.onDialogVisibility, + title: this.dialogTitle, + content: this.dialogContent, + width: this.dialogWidth, + footer: this.dialogShowFooter, + onOk: () => { + var _a; + (_a = this.confirmCb) == null ? void 0 : _a.call(this, this.currentId); + } + }) + ]); + } +}); +var UmByClassEnhance = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["__scopeId", "data-v-67bf522d"]]); +var style0$3 = { + "avatar-uploader": "_avatar-uploader_ykbb1_1" +}; +const _hoisted_1$4 = ["src"]; +const _hoisted_2 = /* @__PURE__ */ createElementVNode("span", null, "\u8BF7\u4E0A\u4F20\u56FE\u7247", -1); +const _sfc_main$7 = /* @__PURE__ */ defineComponent({ + props: { + modelValue: null, + accept: { default: "image/png, image/jpeg" } + }, + emits: ["update:modelValue"], + setup(__props, { emit }) { + const props = __props; + const imageUrl = ref(); + onBeforeMount(() => { + imageUrl.value = props.modelValue; + }); + watch( + () => props.modelValue, + (v) => { + imageUrl.value = props.modelValue; + } + ); + const handleAvatarSuccess = (res, file) => { + var _a; + imageUrl.value = URL.createObjectURL(file.raw); + emit("update:modelValue", ((_a = res == null ? void 0 : res.data) == null ? void 0 : _a.url) || ""); + }; + const beforeAvatarUpload = (file) => { + return true; + }; + const onHttpRequest = async (option) => { + }; + return (_ctx, _cache) => { + const _component_el_icon = resolveComponent("el-icon"); + const _component_el_upload = resolveComponent("el-upload"); + return openBlock(), createBlock(_component_el_upload, { + class: normalizeClass(_ctx.$style["avatar-uploader"]), + action: "/api/management/file/upload/image", + "show-file-list": false, + "on-success": handleAvatarSuccess, + "before-upload": beforeAvatarUpload, + accept: __props.accept, + "http-request": onHttpRequest + }, { + default: withCtx(() => [ + imageUrl.value ? (openBlock(), createElementBlock("img", { + key: 0, + src: imageUrl.value, + class: "avatar" + }, null, 8, _hoisted_1$4)) : (openBlock(), createBlock(_component_el_icon, { + key: 1, + class: "avatar-uploader-icon" + }, { + default: withCtx(() => [ + createVNode(unref(Plus)), + _hoisted_2 + ]), + _: 1 + })) + ]), + _: 1 + }, 8, ["class", "accept"]); + }; + } +}); +const cssModules$3 = { + "$style": style0$3 +}; +var Upload = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__cssModules", cssModules$3]]); +const _hoisted_1$3 = ["title"]; +const __default__$3 = { + name: "um-tree", + inheritAttrs: false +}; +const _sfc_main$6 = /* @__PURE__ */ defineComponent({ + ...__default__$3, + props: { + checkbox: { type: Boolean, default: false }, + defaultExpandAll: { type: Boolean, default: false }, + keyword: null, + strategy: { default: "child" }, + treeData: null, + props: null, + class: null + }, + emits: ["onSelect", "onCheck"], + setup(__props, { expose, emit }) { + const props = __props; + const treeRef = ref(); + const selectKey = ref(); + const expandKeys = ref([]); + const treeProps = computed(() => { + return Object.assign( + {}, + { + label: "label", + children: "children", + disabled: "disabled" + }, + props.props || {} + ); + }); + const nodeKey = computed(() => { + var _a; + return ((_a = props.props) == null ? void 0 : _a.value) || "id"; + }); + watch( + () => props.keyword, + (v) => { + var _a; + (_a = treeRef.value) == null ? void 0 : _a.filter(v); + } + ); + const onFilter = (value, record) => { + var _a; + if (!value) + return true; + const label = record[((_a = props.props) == null ? void 0 : _a.label) || "label"]; + return typeof label === "string" ? label.indexOf(value) !== -1 : true; + }; + const onHandleCheck = () => { + var _a, _b; + let keys2 = []; + if (props.strategy === "child") { + keys2 = ((_a = treeRef.value) == null ? void 0 : _a.getCheckedKeys(true)) || []; + } else if (props.strategy === "all") { + keys2 = ((_b = treeRef.value) == null ? void 0 : _b.getCheckedKeys(false)) || []; + } + emit("onCheck", keys2); + }; + const onHandleSelect = (record) => { + var _a; + if (props.checkbox) { + onHandleCheck(); + } else { + let key = record[nodeKey.value]; + if (key === selectKey.value) { + key = void 0; + } + selectKey.value = key; + emit("onSelect", key, record); + (_a = treeRef.value) == null ? void 0 : _a.setCurrentKey(key); + } + }; + const onHandleCollapse = (record) => { + const key = record[nodeKey.value]; + const keys2 = [].concat(expandKeys.value); + const idx = keys2.indexOf(key); + if (idx !== -1) { + keys2.splice(idx, 1); + expandKeys.value = keys2; + } + }; + const onHandleExpand = (record) => { + const key = record[nodeKey.value]; + const idx = expandKeys.value.indexOf(key); + if (idx === -1) { + expandKeys.value = expandKeys.value.concat(key); + } + }; + expose({ + setSelectKey: (v) => { + var _a, _b; + if (props.checkbox) { + v = v && Array.isArray(v) ? v : []; + (_a = treeRef.value) == null ? void 0 : _a.setCheckedKeys(v, false); + } else { + selectKey.value = v; + (_b = treeRef.value) == null ? void 0 : _b.setCurrentKey(v); + } + } + }); + return (_ctx, _cache) => { + return openBlock(), createBlock(unref(ElTree), { + ref_key: "treeRef", + ref: treeRef, + class: normalizeClass(props.class), + "check-on-click-node": __props.checkbox, + data: __props.treeData, + "default-expand-all": __props.defaultExpandAll, + "default-expanded-keys": expandKeys.value, + props: unref(treeProps), + "expand-on-click-node": false, + "filter-node-method": onFilter, + "highlight-current": __props.checkbox ? false : true, + "node-key": unref(nodeKey), + "show-checkbox": __props.checkbox, + onChange: onHandleCheck, + onNodeCollapse: onHandleCollapse, + onNodeClick: onHandleSelect, + onNodeExpand: onHandleExpand + }, { + default: withCtx((slotProps) => [ + _ctx.$slots.default ? renderSlot(_ctx.$slots, "default", normalizeProps(mergeProps({ key: 0 }, slotProps))) : (openBlock(), createElementBlock("span", { + key: 1, + class: "el-tree-node__label", + title: slotProps.node.label + }, toDisplayString(slotProps.node.label), 9, _hoisted_1$3)) + ]), + _: 3 + }, 8, ["class", "check-on-click-node", "data", "default-expand-all", "default-expanded-keys", "props", "highlight-current", "node-key", "show-checkbox"]); + }; + } +}); +var UmTreeSelect_vue_vue_type_style_index_0_lang = ""; +const _hoisted_1$2 = { + key: 1, + class: "el-tree-node__label" +}; +const __default__$2 = { + name: "um-tree-select", + inheritAttrs: false +}; +const _sfc_main$5 = /* @__PURE__ */ defineComponent({ + ...__default__$2, + props: { + checkbox: { type: Boolean }, + class: null, + clearable: { type: Boolean }, + defaultExpandAll: { type: Boolean, default: true }, + modelValue: { default: "" }, + placeholder: null, + search: { type: Boolean }, + size: null, + strategy: null, + style: null, + treeData: null, + props: null + }, + emits: ["update:modelValue"], + setup(__props, { emit }) { + const props = __props; + const selectRef = ref(); + const treeRef = ref(); + const keyword = ref(); + const treeProps = computed(() => { + return Object.assign( + {}, + { + label: "label", + value: "id", + children: "children", + disabled: "disabled" + }, + props.props || {} + ); + }); + const labelName = computed({ + get: () => { + const v = props.modelValue; + if (props.checkbox) { + if (v && Array.isArray(v)) { + return getFields(v, treeProps.value.value, treeProps.value.label); + } else { + return void 0; + } + } else { + if (v || v === 0) { + return getFields( + [v], + treeProps.value.value, + treeProps.value.label + ).join(","); + } else { + return void 0; + } + } + }, + set: (labels) => { + if (props.checkbox) { + const ids = getFields( + labels, + treeProps.value.label, + treeProps.value.value + ); + emit("update:modelValue", ids); + if (treeRef.value) { + treeRef.value.setSelectKey(ids); + } + } else { + if (!labels) { + emit("update:modelValue", void 0); + if (treeRef.value) { + treeRef.value.setSelectKey(void 0); + } + } + } + } + }); + const umClass = computed(() => { + return (props.class ? [props.class] : []).concat(["um-tree-select"]).join(" "); + }); + const getField = (v, arrs, v1Key, v2Key) => { + let text = ""; + for (let i = 0; i < (arrs == null ? void 0 : arrs.length) || 0; i++) { + const record = arrs[i]; + const childKey = treeProps.value.children || ""; + const child = record[childKey] || []; + if (record[v1Key] === v) { + text = record[v2Key]; + break; + } else if (!!child.length) { + text = getField(v, child, v1Key, v2Key); + if (text) { + break; + } + } + } + return text; + }; + const getFields = (vals, v1Key = "", v2Key = "") => { + let texts = []; + vals.forEach((v) => { + const text = getField(v, props.treeData, v1Key, v2Key); + texts.push(text || `${v}`); + }); + return texts; + }; + const onCheck = (keys2) => { + emit("update:modelValue", keys2); + }; + const onSelect = (v) => { + emit("update:modelValue", v); + selectRef.value.blur(); + }; + const onVisibleChange = (v) => { + if (v) { + treeRef.value.setSelectKey(props.modelValue); + } + }; + return (_ctx, _cache) => { + const _component_el_input = resolveComponent("el-input"); + const _component_el_option = resolveComponent("el-option"); + const _component_el_select = resolveComponent("el-select"); + return openBlock(), createBlock(_component_el_select, { + ref_key: "selectRef", + ref: selectRef, + modelValue: unref(labelName), + "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => isRef(labelName) ? labelName.value = $event : null), + class: normalizeClass(unref(umClass)), + clearable: __props.clearable, + "collapse-tags": "", + multiple: __props.checkbox, + size: __props.size, + placeholder: __props.placeholder, + "popper-class": "um-tree-select-popper", + style: normalizeStyle(__props.style), + onVisibleChange + }, { + default: withCtx(() => [ + createVNode(_component_el_option, { + value: "1", + style: { "height": "auto", "padding": "0", "min-height": "200!important" } + }, { + default: withCtx(() => [ + __props.search ? (openBlock(), createBlock(_component_el_input, { + key: 0, + modelValue: keyword.value, + "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => keyword.value = $event), + size: "small", + placeholder: "\u5173\u952E\u5B57\u68C0\u7D22", + "suffix-icon": unref(Search), + onClick: _cache[1] || (_cache[1] = withModifiers(() => { + }, ["stop", "prevent"])) + }, null, 8, ["modelValue", "suffix-icon"])) : createCommentVNode("", true), + createVNode(_sfc_main$6, { + ref_key: "treeRef", + ref: treeRef, + "tree-data": __props.treeData, + props: unref(treeProps), + checkbox: __props.checkbox, + "default-expand-all": __props.defaultExpandAll, + keyword: keyword.value, + strategy: __props.strategy, + onOnCheck: onCheck, + onOnSelect: onSelect + }, { + default: withCtx((slotProps) => [ + _ctx.$slots.default ? renderSlot(_ctx.$slots, "default", normalizeProps(mergeProps({ key: 0 }, slotProps))) : (openBlock(), createElementBlock("span", _hoisted_1$2, toDisplayString(slotProps.node.label), 1)) + ]), + _: 3 + }, 8, ["tree-data", "props", "checkbox", "default-expand-all", "keyword", "strategy"]) + ]), + _: 3 + }) + ]), + _: 3 + }, 8, ["modelValue", "class", "clearable", "multiple", "size", "placeholder", "style"]); + }; + } +}); +const cancel = "_cancel_omswa_6"; +const submit = "_submit_omswa_7"; +var style0$2 = { + "form-operate": "_form-operate_omswa_1", + cancel, + submit +}; +const _sfc_main$4 = defineComponent({ + name: "UmTableForm", + inheritAttrs: false, + emits: ["ok", "cancel", "formModelChange"], + setup(_props, { expose }) { + const formModel = ref({}); + const instance = getCurrentInstance(); + const setFormModel = (models) => { + const list = Array.isArray(models) ? models : [models]; + const data = {}; + for (const model of list) { + if (!model) + continue; + for (const field in formModel.value) { + if (Object.prototype.hasOwnProperty.call(model, field) || Object.prototype.hasOwnProperty.call(model, "_" + field)) { + data[field] = model[field]; + } + } + } + formModel.value = data; + }; + expose({ + setFormModel, + getFormModel: () => unref(formModel), + onSubmit: () => { + var _a, _b; + return (_b = (_a = instance == null ? void 0 : instance.proxy) == null ? void 0 : _a.onSubmit) == null ? void 0 : _b.call(_a); + } + }); + return { formModel, setFormModel }; + }, + data() { + return { + rules: {}, + formItems: [], + fieldOption: /* @__PURE__ */ new Map(), + maxLabelWidth: 50, + showList: [], + cascadeMap: /* @__PURE__ */ new Map(), + throttleRefreshForm: throttle( + async function(v, oldV, needFreshCascadeField) { + await this.initShowFieldList(v, oldV); + await this.initCascadeData(needFreshCascadeField); + this.initFormItem(); + }, + 100, + { leading: false, trailing: true } + ) + }; + }, + methods: { + async refreshForm(v, oldV, needFreshCascadeField) { + return this.throttleRefreshForm(v, oldV, needFreshCascadeField); + }, + async onSubmit() { + var _a, _b; + const refs = this.$refs; + let valid = false; + try { + valid = await ((_b = (_a = refs.formRef) == null ? void 0 : _a.validate) == null ? void 0 : _b.call(_a)); + } catch { + return; + } + if (valid) + this.$emit("ok", cloneDeep(this.formModel)); + }, + getRule(rule) { + const that = this; + switch (rule.type) { + case "require": + case "requireString": + return { required: true, message: rule.message }; + case "ip": + return { + pattern: /^((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})(\.((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})){3}$/, + message: rule.message || "ip\u683C\u5F0F\u4E0D\u6B63\u786E" + }; + case "port": + return { + pattern: /^([0-9]|[1-9]\d{1,3}|[1-5]\d{4}|6[0-4]\d{3}|65[0-4]\d{2}|655[0-2]\d|6553[0-5])$/, + message: rule.message || "\u7AEF\u53E3\u683C\u5F0F\u4E0D\u6B63\u786E" + }; + case "len": + if (!isEmpty(rule.max) && !isEmpty(rule.min)) { + return { + min: rule.min, + max: rule.max, + message: "\u957F\u5EA6\u4E3A" + rule.min + "\u548C" + rule.max + "\u4E4B\u95F4" + }; + } else if (!isEmpty(rule.max)) { + return { max: rule.max, message: "\u957F\u5EA6\u4E0D\u80FD\u8D85\u8FC7" + rule.max }; + } else if (!isEmpty(rule.min)) { + return { min: rule.min, message: "\u6700\u5C0F\u957F\u5EA6\u4E3A" + rule.min }; + } + break; + case "phone": + return { + pattern: /^1[3456789]\d{9}$/, + message: rule.message || "\u683C\u5F0F\u4E0D\u6B63\u786E" + }; + case "idNumber": + return { + pattern: /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/, + message: rule.message || "\u683C\u5F0F\u4E0D\u6B63\u786E" + }; + case "validator": + return { + validator: rule.validator.bind({ formData: that.formModel }) + }; + default: + return {}; + } + }, + async updateFieldOption(fieldName, metaData, isBeforeMount = true) { + const type = metaData.fieldType; + if (type !== "treeSelect" && type !== "string" && type !== "select" && type !== "pickerMapGps") { + return; + } + let data; + if (metaData.getData) { + data = await metaData.getData(this.formModel); + this.fieldOption.set(fieldName, data); + } + if (!metaData.isCascade) + return; + if (type === "treeSelect") { + if (!isBeforeMount) { + this.formModel[fieldName] = filterTreeByNodeIds( + (data == null ? void 0 : data.data) || [], + this.formModel[fieldName] || [] + ); + } + return; + } + if (Array.isArray(data == null ? void 0 : data.data)) { + const stillExists = data.data.some( + (item) => item.value == this.formModel[fieldName] + ); + if (!stillExists) { + if (type === "string") { + this.formModel[fieldName] = data; + } else if (Array.isArray(this.formModel[fieldName])) { + this.formModel[fieldName] = []; + } else { + this.formModel[fieldName] = void 0; + } + } + } + }, + async initShowFieldList(v, oldV) { + const fieldList = []; + const that = this; + for (const member of scanDecoratedMembers( + this.$attrs.target, + "table:formField" + )) { + const { fieldName, meta } = member; + const visible = meta.isShow ? await meta.isShow(v) : true; + if (!visible) { + if ((oldV == null ? void 0 : oldV[fieldName]) !== null && (oldV == null ? void 0 : oldV[fieldName]) !== void 0) { + that.formModel["$ref:" + fieldName] = oldV[fieldName]; + } + that.formModel[fieldName] = null; + continue; + } + const cached = that.formModel["$ref:" + fieldName]; + if (cached !== void 0 && that.formModel[fieldName] == null) { + that.formModel[fieldName] = cached; + } + fieldList.push(fieldName); + } + this.showList = fieldList; + }, + async initCascadeData(needFreshCascadeField) { + for (const member of scanDecoratedMembers( + this.$attrs.target, + "table:formField" + )) { + const { fieldName, meta } = member; + if (meta.isCascade && needFreshCascadeField.includes(fieldName)) { + await this.updateFieldOption(fieldName, meta, false); + } + } + }, + async initData() { + for (const member of scanDecoratedMembers( + this.$attrs.target, + "table:formField" + )) { + await this.updateFieldOption(member.fieldName, member.meta); + } + }, + initFormItem() { + let formItems = []; + const that = this; + const target = this.$attrs.target; + const isShowDefaultSubmit = isEmpty( + this.$attrs["is-show-default-submit"] + ) ? true : !!this.$attrs["is-show-default-submit"]; + const metaMap = /* @__PURE__ */ new Map(); + for (const member of scanDecoratedMembers( + target, + "table:formField" + )) { + metaMap.set(member.fieldName, member.meta); + } + for (const fieldName of this.showList) { + const metaData = metaMap.get(fieldName); + if (!metaData) + continue; + const currentValue = that.formModel[fieldName]; + const formItemProps = { label: metaData.def, prop: fieldName }; + switch (metaData.fieldType) { + case "primaryKey": + break; + case "upload": + formItems.push( + h( + ElFormItem, + formItemProps, + () => h(Upload, { + modelValue: currentValue, + "onUpdate:modelValue": (value) => that.initForm(fieldName, value) + }) + ) + ); + break; + case "treeSelect": + formItems.push( + h( + ElFormItem, + formItemProps, + () => h(_sfc_main$5, { + modelValue: currentValue, + "onUpdate:modelValue": (value) => that.initForm(fieldName, value), + size: "default", + search: true, + placeholder: "\u8BF7\u9009\u62E9" + metaData.def, + style: { width: "100%" }, + props: { label: "name" }, + ...this.fieldOption.get(fieldName) || {} + }) + ) + ); + break; + case "select": { + const selectData = this.fieldOption.get(fieldName); + const options = ((selectData == null ? void 0 : selectData.data) || []).map( + (option) => h(ElSelect.Option, { + key: option.value, + label: option.label, + value: option.value + }) + ); + formItems.push( + h( + ElFormItem, + formItemProps, + () => h( + ElSelect, + { + modelValue: currentValue, + "onUpdate:modelValue": (value) => { + that.initForm(fieldName, value); + this.$emit("formModelChange", that.formModel, fieldName); + }, + size: "default", + multiple: !!(selectData == null ? void 0 : selectData.multiple), + collapseTags: true, + placeholder: "\u8BF7\u9009\u62E9" + metaData.def, + style: { width: "100%" } + }, + () => options + ) + ) + ); + break; + } + case "boolean": + case "switch": + formItems.push( + h( + ElFormItem, + formItemProps, + () => h(ElSwitch, { + modelValue: currentValue, + "onUpdate:modelValue": (value) => that.initForm(fieldName, value), + size: "default" + }) + ) + ); + break; + case "date": + case "dateRange": + formItems.push( + h( + ElFormItem, + formItemProps, + () => h(ElDatePicker, { + modelValue: currentValue, + "onUpdate:modelValue": (value) => that.initForm(fieldName, value), + type: metaData.fieldType === "dateRange" ? "daterange" : "date", + valueFormat: "YYYY-MM-DD", + placeholder: metaData.placeholder || "\u8BF7\u9009\u62E9" + metaData.def, + style: { width: "100%" } + }) + ) + ); + break; + case "input": + case "password": + case "textarea": + case "number": + default: { + if (metaData.component) { + formItems.push( + h( + ElFormItem, + formItemProps, + () => h(metaData.component, { + modelValue: currentValue, + "onUpdate:modelValue": (value) => that.initForm(fieldName, value) + }) + ) + ); + break; + } + const inputType = metaData.fieldType === "password" ? "password" : metaData.fieldType === "textarea" ? "textarea" : metaData.fieldType === "number" ? "number" : "text"; + formItems.push( + h( + ElFormItem, + formItemProps, + () => { + var _a; + return h(ElInput, { + modelValue: currentValue, + "onUpdate:modelValue": (value) => that.initForm(fieldName, value), + type: inputType, + size: "default", + placeholder: metaData.placeholder || "\u8BF7\u8F93\u5165" + metaData.def, + maxlength: metaData.maxlength, + minlength: metaData.minlength, + showWordLimit: !!metaData.maxlength, + disabled: metaData.disabled || ((_a = metaData.isDisabled) == null ? void 0 : _a.call(metaData, that.formModel)) || false + }); + } + ) + ); + break; + } + } + } + if (isShowDefaultSubmit) { + formItems = formItems.concat( + h( + ElFormItem, + () => h("div", { class: that.$style["form-operate"] }, [ + h( + ElButton, + { + class: that.$style["cancel"], + onClick: () => that.$emit("cancel") + }, + () => "\u53D6\u6D88" + ), + h( + ElButton, + { + class: that.$style["submit"], + onClick: this.onSubmit + }, + () => "\u786E\u5B9A" + ) + ]) + ) + ); + } + this.formItems = formItems; + }, + initRule(isBeforeMount = true) { + var _a; + const detail = ((_a = this.$attrs) == null ? void 0 : _a.data) || {}; + const that = this; + let maxLabelWidth = that.maxLabelWidth; + for (const member of scanDecoratedMembers( + this.$attrs.target, + "table:formField" + )) { + const { fieldName, meta } = member; + if (meta.cascadeFiled) { + this.cascadeMap.set(fieldName, meta.cascadeFiled); + } + if (isBeforeMount) { + if (detail.id !== void 0 && detail.id !== null) { + that.formModel[fieldName] = detail[fieldName]; + } else { + that.formModel[fieldName] = detail && Object.keys(detail).length > 0 ? detail[fieldName] : member.value; + } + } + if (meta.fieldType === "ip") { + this.rules[fieldName] = [this.getRule({ type: "ip" })]; + } else if (meta.fieldType === "port") { + this.rules[fieldName] = [this.getRule({ type: "port" })]; + } + if (meta.rule) { + this.rules[fieldName] = Array.isArray(meta.rule) ? meta.rule.map((item) => this.getRule(item)) : [this.getRule(meta.rule)]; + } + const isRequired = (this.rules[fieldName] || []).some( + (rule) => rule.required + ); + const labelWidth = measureTextWidth(meta.def) + (isRequired ? 16 : 0); + if (labelWidth > maxLabelWidth) + maxLabelWidth = labelWidth; + } + this.maxLabelWidth = maxLabelWidth; + }, + async init() { + await this.initData(); + await this.initShowFieldList(this.formModel); + this.initFormItem(); + }, + initForm(fieldName, value) { + this.formModel = { ...this.formModel, [fieldName]: value }; + } + }, + watch: { + formModel: { + async handler(v, oldV) { + var _a, _b; + this.initRule(false); + const refs = this.$refs; + let needFreshCascadeField = []; + const editingField = []; + for (const key in v) { + if (!isEqual(v[key], oldV == null ? void 0 : oldV[key])) { + needFreshCascadeField = this.cascadeMap.get(key) || []; + editingField.push(key); + } + } + await this.refreshForm(v, oldV, needFreshCascadeField); + await nextTick(); + for (const item of editingField) { + try { + await ((_b = (_a = refs == null ? void 0 : refs.formRef) == null ? void 0 : _a.validateField) == null ? void 0 : _b.call(_a, item)); + } catch { + } + } + } + } + }, + computed: { + formCom() { + if (!this.formItems) + return null; + return h( + ElForm, + { + ref: "formRef", + key: this.formItems.length, + model: this.formModel, + rules: this.rules, + validateOnRuleChange: false, + labelPosition: "right", + labelWidth: this.maxLabelWidth + 20 + "px" + }, + () => this.formItems + ); + } + }, + beforeMount() { + this.rules = {}; + this.initRule(); + this.init(); + }, + render() { + return this.formCom; + } +}); +const cssModules$2 = { + "$style": style0$2 +}; +var UmTableForm = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__cssModules", cssModules$2]]); +const __default__$1 = { + name: "UmSyncNodeForm", + inheritAttrs: false +}; +const _sfc_main$3 = /* @__PURE__ */ defineComponent({ + ...__default__$1, + props: { + data: null, + depData: null + }, + emits: ["cancel"], + setup(__props) { + const props = __props; + class SyncNode { + } + const tableForm = ref(); + const formId = ref(-99); + const moduleFieldName = ref("moduleId"); + const moduleFieldTitle = ref("\u6A21\u5757\u540D\u79F0"); + const formModel = ref({}); + const target = computed(() => { + var _a, _b, _c, _d, _e; + const modules = (_b = (_a = props.depData) == null ? void 0 : _a.data) != null ? _b : []; + const field = unref(moduleFieldName); + if (Array.isArray(modules)) { + SyncNode.prototype[field] = (_d = formModel.value[field]) != null ? _d : (_c = modules[0]) == null ? void 0 : _c.id; + Reflect.defineMetadata( + "table:formField", + { + lang: "", + def: moduleFieldTitle.value, + fieldType: "select", + getData: () => ({ data: modules }) + }, + SyncNode.prototype, + field + ); + } + const current = (_e = modules.find) == null ? void 0 : _e.call( + modules, + (item) => item.id == formModel.value[field] + ); + if (Array.isArray(current == null ? void 0 : current.configList)) { + current.configList.forEach((item) => { + const rules = []; + if (item.required) + rules.push({ type: "require", message: "\u4E0D\u80FD\u4E3A\u7A7A" }); + if (item.max || item.min) { + rules.push({ type: "len", max: item.max, min: item.min }); + } + SyncNode.prototype[item.code] = ""; + Reflect.defineMetadata( + "table:formField", + { + lang: "", + def: item.name, + fieldType: item.styleName, + rule: rules, + getData: () => { + var _a2; + return { data: (_a2 = item.data) != null ? _a2 : [] }; + } + }, + SyncNode.prototype, + item.code + ); + }); + } + return SyncNode; + }); + let lastApplied = null; + watch([formModel, tableForm], ([model, instance]) => { + var _a; + if (!instance || model === lastApplied) + return; + lastApplied = model; + (_a = instance.setFormModel) == null ? void 0 : _a.call(instance, model); + }); + onBeforeMount(() => { + var _a, _b, _c, _d, _e, _f, _g; + moduleFieldName.value = ((_a = props.depData) == null ? void 0 : _a.moduleId) || "moduleId"; + moduleFieldTitle.value = ((_b = props.depData) == null ? void 0 : _b.moduleName) || "\u6A21\u5757\u540D\u79F0"; + const modules = (_d = (_c = props.depData) == null ? void 0 : _c.data) != null ? _d : []; + formModel.value = { + ...props.data || {}, + [moduleFieldName.value]: (_g = (_e = props.data) == null ? void 0 : _e[moduleFieldName.value]) != null ? _g : (_f = modules[0]) == null ? void 0 : _f.id + }; + }); + const onFormModelChange = (v) => { + formId.value = v == null ? void 0 : v[moduleFieldName.value]; + formModel.value = { ...formModel.value, [moduleFieldName.value]: formId.value }; + }; + const onOk = (_data) => { + }; + return (_ctx, _cache) => { + return openBlock(), createBlock(UmTableForm, { + key: formId.value, + ref_key: "tableForm", + ref: tableForm, + target: unref(target), + onFormModelChange, + onCancel: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("cancel")), + onOk + }, null, 8, ["target"]); + }; + } +}); +const TableColumnPropertyDecorator = (value) => (target, propertyKey) => { + Reflect.defineMetadata( + "table:field", + { + width: 100, + sort: 1, + ...value + }, + target, + propertyKey + ); +}; +const TableFormColumnPropertyDecorator = (value) => (target, propertyKey) => { + Reflect.defineMetadata( + "table:formField", + value, + target, + propertyKey + ); +}; +const TableSearchFormPropertyDecorator = (value) => (target, propertyKey) => { + Reflect.defineMetadata( + "table:searchFormField", + value, + target, + propertyKey + ); +}; +const TableColumnMethodDecorator = ({ + key = "table:operate", + value +}) => (target, propertyKey) => { + Reflect.defineMetadata( + key, + { + priority: 1, + ...value, + es: (value == null ? void 0 : value.es) || "onNow" + }, + target, + propertyKey + ); +}; +class Cache { + static get(key) { + if (isEmpty(key)) + return null; + return __privateGet(this, _historyInfo).get(key); + } + static set(key, value) { + if (isEmpty(key)) + return; + __privateGet(this, _historyInfo).set(key, value); + } +} +_historyInfo = new WeakMap(); +__privateAdd(Cache, _historyInfo, /* @__PURE__ */ new Map()); +const title = "_title_1qin3_9"; +var style0$1 = { + "um-district-tree-node": "_um-district-tree-node_1qin3_1", + title +}; +const _hoisted_1$1 = ["title"]; +const _sfc_main$2 = /* @__PURE__ */ defineComponent({ + props: { + title: null, + id: null, + officeLevel: null, + officeLevelData: null, + dictTypes: null + }, + setup(__props) { + const props = __props; + const DISTRICT = "icon-a-gonganjubeifen5"; + const OFFICE = "icon-gonganju"; + const DISTRICTAREA = "icon-a-bianzu171"; + const dict = computed(() => { + var _a, _b, _c, _d; + return { + district: (_b = (_a = props.dictTypes) == null ? void 0 : _a.district) != null ? _b : "DISTRICTNODE", + office: (_d = (_c = props.dictTypes) == null ? void 0 : _c.office) != null ? _d : "DISTRICTOFFICE" + }; + }); + const iconClass = computed(() => { + var _a, _b; + const level = props.officeLevel; + const typeName = (_b = (_a = props.officeLevelData) == null ? void 0 : _a.find( + (item) => item.id == level + )) == null ? void 0 : _b.typeName; + if (Cache.get(level) === DISTRICT || typeName === dict.value.district) { + Cache.set(level, DISTRICT); + return DISTRICT; + } + if (Cache.get(level) === OFFICE || typeName === dict.value.office) { + Cache.set(level, OFFICE); + return OFFICE; + } + return DISTRICTAREA; + }); + return (_ctx, _cache) => { + return openBlock(), createElementBlock("div", { + class: normalizeClass(_ctx.$style["um-district-tree-node"]), + title: __props.title + }, [ + createVNode(_sfc_main$k, { type: unref(iconClass) }, null, 8, ["type"]), + createElementVNode("span", { + class: normalizeClass(_ctx.$style["title"]) + }, toDisplayString(__props.title), 3) + ], 10, _hoisted_1$1); + }; + } +}); +const cssModules$1 = { + "$style": style0$1 +}; +var UmDistrictTreeNode = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__cssModules", cssModules$1]]); +var style0 = { + "um-tree": "_um-tree_8ig8y_1" +}; +const _sfc_main$1 = /* @__PURE__ */ defineComponent({ + props: { + treeData: null, + keyword: null, + nodeId: null, + officeLevelData: null, + fetchOfficeLevelData: null, + dictTypes: { default: () => ({ + district: "DISTRICTNODE", + office: "DISTRICTOFFICE" + }) } + }, + emits: ["onSelect"], + setup(__props, { expose, emit }) { + const props = __props; + const districtTreeRef = ref(); + const treeProps = ref({ + label: "name", + children: "children", + disabled: "disabled" + }); + const innerOfficeLevelData = ref([]); + const resolvedOfficeLevelData = computed( + () => { + var _a; + return (_a = props.officeLevelData) != null ? _a : innerOfficeLevelData.value; + } + ); + async function loadOfficeLevelData() { + if (props.officeLevelData || !props.fetchOfficeLevelData) + return; + const { code, data } = await props.fetchOfficeLevelData(); + innerOfficeLevelData.value = code === 0 ? data : []; + } + loadOfficeLevelData(); + watch([() => props.nodeId, districtTreeRef], ([nodeId, tree]) => { + if (tree) + tree.setSelectKey(nodeId); + }); + expose({ + setSelectKey: (v) => { + var _a; + return (_a = districtTreeRef.value) == null ? void 0 : _a.setSelectKey(v); + }, + refresh: loadOfficeLevelData + }); + return (_ctx, _cache) => { + return unref(resolvedOfficeLevelData) && unref(resolvedOfficeLevelData).length > 0 ? (openBlock(), createBlock(_sfc_main$6, { + key: 0, + ref_key: "districtTreeRef", + ref: districtTreeRef, + keyword: __props.keyword, + class: normalizeClass(_ctx.$style["um-tree"]), + "tree-data": __props.treeData, + props: treeProps.value, + "default-expand-all": true, + onOnSelect: _cache[0] || (_cache[0] = (key, record) => _ctx.$emit("onSelect", key, record)) + }, { + default: withCtx(({ node, data }) => [ + createVNode(UmDistrictTreeNode, { + title: node.label, + id: node.id, + "office-level": data.officeLevel, + "office-level-data": unref(resolvedOfficeLevelData), + "dict-types": __props.dictTypes + }, null, 8, ["title", "id", "office-level", "office-level-data", "dict-types"]) + ]), + _: 1 + }, 8, ["keyword", "class", "tree-data", "props"])) : createCommentVNode("", true); + }; + } +}); +const cssModules = { + "$style": style0 +}; +var UmDistrictTree = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__cssModules", cssModules]]); +const _hoisted_1 = { class: "el-tree-node__label" }; +const __default__ = { + name: "area-tree", + inheritAttrs: false +}; +const _sfc_main = /* @__PURE__ */ defineComponent({ + ...__default__, + props: { + treeData: null, + props: null, + defaultExpandAll: { type: Boolean, default: false }, + keyword: null, + nodeKey: { default: "id" } + }, + emits: ["onSelect"], + setup(__props, { emit }) { + const props = __props; + const treeRef = ref(); + watch( + () => props.keyword, + (v) => { + treeRef.value.filter(v); + } + ); + const onFilter = (value, record) => { + if (!value) + return true; + return record.label.indexOf(value) !== -1; + }; + const onSelect = (data, node, currentNode) => { + emit("onSelect", data, node, currentNode); + }; + return (_ctx, _cache) => { + const _component_el_tree = resolveComponent("el-tree"); + return openBlock(), createBlock(_component_el_tree, { + ref_key: "treeRef", + ref: treeRef, + data: __props.treeData, + props: props.props, + "default-expand-all": __props.defaultExpandAll, + "expand-on-click-node": false, + "filter-node-method": onFilter, + "highlight-current": "", + "node-key": __props.nodeKey, + onNodeClick: onSelect + }, { + default: withCtx(({ node }) => [ + createElementVNode("span", _hoisted_1, toDisplayString(node.label), 1) + ]), + _: 1 + }, 8, ["data", "props", "default-expand-all", "node-key"]); + }; + } +}); +export { _sfc_main as AreaTree, DEFAULT_DEFER_TYPES, EVENT_PHASES, _sfc_main$k as Iconfont, TableColumnMethodDecorator, TableColumnPropertyDecorator, TableFormColumnPropertyDecorator, TableSearchFormPropertyDecorator, _sfc_main$d as UmByClass, UmByClassEnhance, UmColumnRender, _sfc_main$c as UmDialog, UmDistrictTree, UmDistrictTreeNode, UmPagination, UmSearchForm, _sfc_main$3 as UmSyncNodeForm, UmTable, _sfc_main$e as UmTableColumn, _sfc_main$b as UmTableDialog, UmTableForm, UmTableOperate, UmTableToolbar, _sfc_main$6 as UmTree, _sfc_main$5 as UmTreeSelect, buildOperateColumn, collectClassMembers, collectDataColumns, collectOperateGroups, collectToolbar, collectTypedTasks, createTargetInstance, diagnoseTarget, findMethodMeta, getMemberMeta, isDiagnosticsEnabled, normalizeFieldName, reportDiagnostics, reportDiagnosticsOnce, resolveOperateWidth, resolveShowOperate, runEventPipeline, scanDecoratedMembers, setDiagnosticsEnabled, sortTasksByPriority, transformFields }; diff --git a/funjiaui.umd.js b/funjiaui.umd.js new file mode 100644 index 0000000..0064391 --- /dev/null +++ b/funjiaui.umd.js @@ -0,0 +1,15 @@ +var gc=(_,r,S)=>{if(!r.has(_))throw TypeError("Cannot "+S)};var jt=(_,r,S)=>(gc(_,r,"read from private field"),S?S.call(_):r.get(_)),wr=(_,r,S)=>{if(r.has(_))throw TypeError("Cannot add the same private member more than once");r instanceof WeakSet?r.add(_):r.set(_,S)};(function(_,r){typeof exports=="object"&&typeof module!="undefined"?r(exports,require("vue"),require("element-plus"),require("@element-plus/icons-vue")):typeof define=="function"&&define.amd?define(["exports","vue","element-plus","@element-plus/icons-vue"],r):(_=typeof globalThis!="undefined"?globalThis:_||self,r(_.funjiaUI={},_.vue,_["element-plus"],_.ElementPlusIconsVue))})(this,function(_,r,S,Se){var Le;"use strict";var it=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{};/*! ***************************************************************************** + Copyright (C) Microsoft. All rights reserved. + Licensed under the Apache License, Version 2.0 (the "License"); you may not use + this file except in compliance with the License. You may obtain a copy of the + License at http://www.apache.org/licenses/LICENSE-2.0 + + THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED + WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, + MERCHANTABLITY OR NON-INFRINGEMENT. + + See the Apache Version 2.0 License for specific language governing permissions + and limitations under the License. + ***************************************************************************** */var Rt;(function(e){(function(t){var n=typeof it=="object"?it:typeof self=="object"?self:typeof this=="object"?this:Function("return this;")(),a=i(e);typeof n.Reflect=="undefined"?n.Reflect=e:a=i(n.Reflect,a),t(a);function i(o,s){return function(l,f){typeof o[l]!="function"&&Object.defineProperty(o,l,{configurable:!0,writable:!0,value:f}),s&&s(l,f)}}})(function(t){var n=Object.prototype.hasOwnProperty,a=typeof Symbol=="function",i=a&&typeof Symbol.toPrimitive!="undefined"?Symbol.toPrimitive:"@@toPrimitive",o=a&&typeof Symbol.iterator!="undefined"?Symbol.iterator:"@@iterator",s=typeof Object.create=="function",l={__proto__:[]}instanceof Array,f=!s&&!l,u={create:s?function(){return Nt(Object.create(null))}:l?function(){return Nt({__proto__:null})}:function(){return Nt({})},has:f?function(c,p){return n.call(c,p)}:function(c,p){return p in c},get:f?function(c,p){return n.call(c,p)?c[p]:void 0}:function(c,p){return c[p]}},m=Object.getPrototypeOf(Function),y=typeof process=="object"&&process["env"]&&process["env"].REFLECT_METADATA_USE_MAP_POLYFILL==="true",b=!y&&typeof Map=="function"&&typeof Map.prototype.entries=="function"?Map:pc(),A=!y&&typeof Set=="function"&&typeof Set.prototype.entries=="function"?Set:mc(),d=!y&&typeof WeakMap=="function"?WeakMap:yc(),w=new d;function h(c,p,g,$){if(x(g)){if(!Z(c))throw new TypeError;if(!we(p))throw new TypeError;return q(c,p)}else{if(!Z(c))throw new TypeError;if(!U(p))throw new TypeError;if(!U($)&&!x($)&&!G($))throw new TypeError;return G($)&&($=void 0),g=X(g),Y(c,p,g,$)}}t("decorate",h);function E(c,p){function g($,D){if(!U($))throw new TypeError;if(!x(D)&&!Oe(D))throw new TypeError;M(c,p,$,D)}return g}t("metadata",E);function v(c,p,g,$){if(!U(g))throw new TypeError;return x($)||($=X($)),M(c,p,g,$)}t("defineMetadata",v);function O(c,p,g){if(!U(p))throw new TypeError;return x(g)||(g=X(g)),Ue(c,p,g)}t("hasMetadata",O);function j(c,p,g){if(!U(p))throw new TypeError;return x(g)||(g=X(g)),k(c,p,g)}t("hasOwnMetadata",j);function W(c,p,g){if(!U(p))throw new TypeError;return x(g)||(g=X(g)),T(c,p,g)}t("getMetadata",W);function L(c,p,g){if(!U(p))throw new TypeError;return x(g)||(g=X(g)),F(c,p,g)}t("getOwnMetadata",L);function ne(c,p){if(!U(c))throw new TypeError;return x(p)||(p=X(p)),C(c,p)}t("getMetadataKeys",ne);function se(c,p){if(!U(c))throw new TypeError;return x(p)||(p=X(p)),I(c,p)}t("getOwnMetadataKeys",se);function pe(c,p,g){if(!U(p))throw new TypeError;x(g)||(g=X(g));var $=fe(p,g,!1);if(x($)||!$.delete(c))return!1;if($.size>0)return!0;var D=w.get(p);return D.delete(g),D.size>0||w.delete(p),!0}t("deleteMetadata",pe);function q(c,p){for(var g=c.length-1;g>=0;--g){var $=c[g],D=$(p);if(!x(D)&&!G(D)){if(!we(D))throw new TypeError;p=D}}return p}function Y(c,p,g,$){for(var D=c.length-1;D>=0;--D){var Q=c[D],N=Q(p,g,$);if(!x(N)&&!G(N)){if(!U(N))throw new TypeError;$=N}}return $}function fe(c,p,g){var $=w.get(c);if(x($)){if(!g)return;$=new b,w.set(c,$)}var D=$.get(p);if(x(D)){if(!g)return;D=new b,$.set(p,D)}return D}function Ue(c,p,g){var $=k(c,p,g);if($)return!0;var D=Pt(p);return G(D)?!1:Ue(c,D,g)}function k(c,p,g){var $=fe(p,g,!1);return x($)?!1:me($.has(c))}function T(c,p,g){var $=k(c,p,g);if($)return F(c,p,g);var D=Pt(p);if(!G(D))return T(c,D,g)}function F(c,p,g){var $=fe(p,g,!1);if(!x($))return $.get(c)}function M(c,p,g,$){var D=fe(g,$,!0);D.set(c,p)}function C(c,p){var g=I(c,p),$=Pt(c);if($===null)return g;var D=C($,p);if(D.length<=0)return g;if(g.length<=0)return D;for(var Q=new A,N=[],R=0,B=g;R=0&&R=this._keys.length?(this._index=-1,this._keys=p,this._values=p):this._index++,{value:B,done:!1}}return{value:void 0,done:!0}},N.prototype.throw=function(R){throw this._index>=0&&(this._index=-1,this._keys=p,this._values=p),R},N.prototype.return=function(R){return this._index>=0&&(this._index=-1,this._keys=p,this._values=p),{value:R,done:!0}},N}();return function(){function N(){this._keys=[],this._values=[],this._cacheKey=c,this._cacheIndex=-2}return Object.defineProperty(N.prototype,"size",{get:function(){return this._keys.length},enumerable:!0,configurable:!0}),N.prototype.has=function(R){return this._find(R,!1)>=0},N.prototype.get=function(R){var B=this._find(R,!1);return B>=0?this._values[B]:void 0},N.prototype.set=function(R,B){var V=this._find(R,!0);return this._values[V]=B,this},N.prototype.delete=function(R){var B=this._find(R,!1);if(B>=0){for(var V=this._keys.length,z=B+1;z["iconfont"].concat([n.type],n.class?[n.class]:[]).join(" "));return(i,o)=>(r.openBlock(),r.createElementBlock("span",{class:r.normalizeClass(r.unref(a)),style:r.normalizeStyle(e.style),onClick:o[0]||(o[0]=s=>t("click"))},null,6))}});var Er={"um-import":"_um-import_19xyw_1"},re=(e,t)=>{const n=e.__vccOpts||e;for(const[a,i]of t)n[a]=i;return n};const Fr=r.createElementVNode("span",null,"\u5BFC\u5165",-1);var $r=re(r.defineComponent({emits:["click"],setup(e,{emit:t}){const n=r.ref(),a=()=>{n.value.click()},i=o=>{t("click",o)};return(o,s)=>(r.openBlock(),r.createElementBlock("div",{class:r.normalizeClass(o.$style["um-import"]),onClick:a},[r.createVNode(Ee,{type:"icon-daoru"}),Fr,r.createElementVNode("input",{ref_key:"fileInput",ref:n,type:"file",onChange:i},null,544)],2))}}),[["__cssModules",{$style:Er}]]),_c="";const Cr=r.defineComponent({inheritAttrs:!1,render(){var l,f;const e=this,t=e.$attrs.data||[],n=((l=e.$attrs)==null?void 0:l["other-params"])||{},a=((f=e.$attrs)==null?void 0:f["search-params"])||{},i=e.$attrs.events||[],o=e.$attrs.selection||[],s=t.map((u,m)=>{const y=()=>i==null?void 0:i[m](o);switch(u.type){case"\u6DFB\u52A0":return r.h("div",{class:"item add",onclick:y},[r.h(Ee,{type:"icon-tianjia"}),r.h("a",{},u.title||"\u6DFB\u52A0")]);case"\u5BFC\u5165\u6A21\u677F":return r.h("div",{class:"item",onclick:y},r.h("a",{},"\u5BFC\u5165\u6A21\u677F"));case"\u5BFC\u5165":return r.h($r,{class:"item",onClick:b=>{i==null||i[m](b)}});case"\u5BFC\u51FA":return r.h("div",{class:"item",onclick:b=>{i==null||i[m]({...n||{},...a||{}})}},[r.h(Ee,{type:"icon-daochu"}),r.h("a",{},"\u5BFC\u51FA")]);case"\u6279\u91CF\u5220\u9664":return r.h("div",{class:"item "+((o==null?void 0:o.length)>0?"":"disabled"),onclick:b=>{if((o==null?void 0:o.length)!=0)return y()}},[r.h(Ee,{type:"icon-shanchu-"}),r.h("a",{},"\u6279\u91CF\u5220\u9664")]);case"\u81EA\u5B9A\u4E49":return r.h("div",{class:"item",onclick:b=>{i==null||i[m]({...n||{},...a||{}})}},[r.h(Ee,{type:"icon-daochu"}),r.h("a",{},u.title||"\u81EA\u5B9A\u4E49")]);default:return r.h("div",{},"error")}});return r.h("div",{class:"toolbar"},s)}});var Lt=re(Cr,[["__scopeId","data-v-4e3c97de"]]),Ec="",Ut=re(r.defineComponent({props:{style:null,width:{default:"100%"},data:null,toolbarOptions:{default:()=>[]},toolbarEvents:{default:()=>[]},otherParams:{default:()=>({})},searchParams:{default:()=>({})},rowKey:{default:"id"},defaultExpandAll:{type:Boolean,default:!1},treeProps:null},setup(e){const t=e,n=r.ref([]),a=o=>{n.value=o},i=o=>{n.value=o};return(o,s)=>(r.openBlock(),r.createElementBlock(r.Fragment,null,[r.createVNode(Lt,{data:e.toolbarOptions,"other-params":e.otherParams,"search-params":e.searchParams,events:e.toolbarEvents,selection:n.value},null,8,["data","other-params","search-params","events","selection"]),r.createVNode(r.unref(S.ElTable),{class:"um-table",data:e.data,"row-key":e.rowKey,"default-expand-all":e.defaultExpandAll,"tree-props":e.treeProps,style:r.normalizeStyle({...t.style||{},width:e.width}),onSelect:a,onSelectAll:i},{default:r.withCtx(()=>[r.renderSlot(o.$slots,"default",{},void 0,!0)]),_:3},8,["data","row-key","default-expand-all","tree-props","style"])],64))}}),[["__scopeId","data-v-1fc1c360"]]),Vt={exports:{}};(function(e,t){(function(n,a){e.exports=a()})(it,function(){var n=1e3,a=6e4,i=36e5,o="millisecond",s="second",l="minute",f="hour",u="day",m="week",y="month",b="quarter",A="year",d="date",w="Invalid Date",h=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,E=/\[([^\]]+)]|YYYY|YY|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,v={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(k){var T=["th","st","nd","rd"],F=k%100;return"["+k+(T[(F-20)%10]||T[F]||T[0])+"]"}},O=function(k,T,F){var M=String(k);return!M||M.length>=T?k:""+Array(T+1-M.length).join(F)+k},j={s:O,z:function(k){var T=-k.utcOffset(),F=Math.abs(T),M=Math.floor(F/60),C=F%60;return(T<=0?"+":"-")+O(M,2,"0")+":"+O(C,2,"0")},m:function k(T,F){if(T.date()1)return k(P[0])}else{var x=T.name;L[x]=T,C=x}return!M&&C&&(W=C),C||!M&&W},q=function(k,T){if(se(k))return k.clone();var F=typeof T=="object"?T:{};return F.date=k,F.args=arguments,new fe(F)},Y=j;Y.l=pe,Y.i=se,Y.w=function(k,T){return q(k,{locale:T.$L,utc:T.$u,x:T.$x,$offset:T.$offset})};var fe=function(){function k(F){this.$L=pe(F.locale,null,!0),this.parse(F),this.$x=this.$x||F.x||{},this[ne]=!0}var T=k.prototype;return T.parse=function(F){this.$d=function(M){var C=M.date,I=M.utc;if(C===null)return new Date(NaN);if(Y.u(C))return new Date;if(C instanceof Date)return new Date(C);if(typeof C=="string"&&!/Z$/i.test(C)){var P=C.match(h);if(P){var x=P[2]-1||0,G=(P[7]||"0").substring(0,3);return I?new Date(Date.UTC(P[1],x,P[3]||1,P[4]||0,P[5]||0,P[6]||0,G)):new Date(P[1],x,P[3]||1,P[4]||0,P[5]||0,P[6]||0,G)}}return new Date(C)}(F),this.init()},T.init=function(){var F=this.$d;this.$y=F.getFullYear(),this.$M=F.getMonth(),this.$D=F.getDate(),this.$W=F.getDay(),this.$H=F.getHours(),this.$m=F.getMinutes(),this.$s=F.getSeconds(),this.$ms=F.getMilliseconds()},T.$utils=function(){return Y},T.isValid=function(){return this.$d.toString()!==w},T.isSame=function(F,M){var C=q(F);return this.startOf(M)<=C&&C<=this.endOf(M)},T.isAfter=function(F,M){return q(F)typeof e!="number"&&(e===null||e===""||e===void 0)?!0:typeof e=="number"&&Number.isNaN(e),Ar=(e,t="YYYY-MM-DD HH:mm:ss")=>{if(e==null||e==="")return"";try{const n=Tr(e);return n.isValid()?n.format(t):""}catch{return""}};let st=null;const vr=(e="",t="400 14px Microsoft YaHei")=>{if(typeof document=="undefined")return e.length*14;st||(st=document.createElement("canvas"));const n=st.getContext("2d");return n?(n.font=t,n.measureText(e).width):e.length*14},Sr=(e,t)=>{const n=[...t!=null?t:[]],a=[],i=o=>{for(const s of o!=null?o:[]){const l=n.findIndex(f=>f==(s==null?void 0:s.id));if(l!==-1?(a.push(n[l]),n.splice(l,1)):Array.isArray(s==null?void 0:s.children)&&i(s.children),n.length===0)return}};return i(e!=null?e:[]),a},Mr=(e,t)=>{var i,o,s;const n="on"+t.charAt(0).toUpperCase()+t.slice(1);return typeof(((o=(i=e==null?void 0:e.$)==null?void 0:i.vnode)==null?void 0:o.props)||((s=e==null?void 0:e.vnode)==null?void 0:s.props)||{})[n]=="function"};var Dr={"table-column-img":"_table-column-img_citx0_1"};const Or=r.defineComponent({name:"UmColumnRender",inheritAttrs:!1,props:{fieldType:{type:String,default:"default"},data:{type:Object,default:()=>({})},prop:{type:String,default:""},render:{type:Function,default:void 0},dateFormat:{type:String,default:void 0},isShow:{type:Function,default:void 0}},data(){return{visible:!0}},created(){this.refreshVisible()},watch:{data(){this.refreshVisible()},isShow(){this.refreshVisible()}},methods:{async refreshVisible(){if(!this.isShow){this.visible=!0;return}this.visible=!!await this.isShow(this.data)}},render(){if(!this.visible)return null;const{data:e,prop:t,render:n,fieldType:a,dateFormat:i}=this;if(a==="date")return Ar(e==null?void 0:e[t],i||"YYYY-MM-DD HH:mm:ss");if(a==="img"){const o=this.$style;return r.h("img",{class:o==null?void 0:o["table-column-img"],src:e==null?void 0:e[t]})}return n?n(e==null?void 0:e[t],t,e):e==null?void 0:e[t]}});var zt=re(Or,[["__cssModules",{$style:Dr}]]),Cc="";const Br={edit:"\u7F16\u8F91",del:"\u5220\u9664",copy:"\u590D\u5236"},kr={edit:"edit",copy:"copy",del:"del",customOperateEvent:"custom-operate"},xr=r.defineComponent({name:"UmTableOperate",inheritAttrs:!1,props:{items:{type:Array,default:()=>[]},rowId:{type:[String,Number],default:""},rowData:{type:Object,default:()=>({})}},render(){const e=this.items.filter(t=>!t.isShow||t.isShow(this.rowData)).map(t=>{var n,a,i;return r.h("a",{class:(n=kr[t.type])!=null?n:"custom-operate",onClick:()=>t.onClick(this.rowId,this.rowData)},(i=(a=t.title)!=null?a:Br[t.type])!=null?i:"\u64CD\u4F5C")});return r.h("div",{class:"operate-group "+(this.items.length>2?"total-more":"total-2")},e)}});var Wt=re(xr,[["__scopeId","data-v-10c2977a"]]);const Ve=r.defineComponent({props:{type:null,fieldType:{default:"default"},prop:{default:""},label:null,width:{default:180},minWidth:null,showOverflowTooltip:{type:Boolean},operateItems:{default:()=>[]},expandTemplate:null,columnRender:null,dateFormat:null,isShow:null},setup(e){const t=e,n=r.computed(()=>t.label||(t.type==="operate"?"\u64CD\u4F5C":void 0));return(a,i)=>(r.openBlock(),r.createBlock(r.unref(S.ElTableColumn),{type:e.type,prop:e.prop,width:e.minWidth?void 0:e.width,"min-width":e.minWidth,label:r.unref(n),"show-overflow-tooltip":e.showOverflowTooltip},{default:r.withCtx(o=>{var s,l;return[e.type==="operate"?(r.openBlock(),r.createBlock(Wt,{key:0,items:e.operateItems,"row-id":(s=o.row)==null?void 0:s.id,"row-data":o.row},null,8,["items","row-id","row-data"])):e.type==="expand"?(r.openBlock(),r.createBlock(r.resolveDynamicComponent(e.expandTemplate),{key:1,props:o},null,8,["props"])):(r.openBlock(),r.createBlock(zt,{key:(l=o.row)==null?void 0:l.id,"field-type":e.fieldType,prop:e.prop,data:o.row,"is-show":e.isShow,render:e.columnRender,"date-format":e.dateFormat},null,8,["field-type","prop","data","is-show","render","date-format"]))]}),_:1},8,["type","prop","width","min-width","label","show-overflow-tooltip"]))}}),Yt=e=>e.startsWith("_")?e.slice(1):e,Fe=e=>e?typeof e!="function"?e:Reflect.construct(e,[]):{},ze=e=>{const t=Fe(e),n=new Set;for(const o in t)n.add(o);let a=Object.getPrototypeOf(t);for(;a&&a!==Object.prototype;){for(const o of Object.getOwnPropertyNames(a))o!=="constructor"&&n.add(o);a=Object.getPrototypeOf(a)}const i=[];for(const o of n){let s=t[o];if(s===void 0){let l=Object.getPrototypeOf(t);for(;l&&l!==Object.prototype&&s===void 0;)s=l[o],l=Object.getPrototypeOf(l)}i.push({key:o,fieldName:Yt(o),value:s,isMethod:typeof s=="function"})}return i},We=(e,t,n)=>{var i;const a=Fe(e);return(i=Reflect.getMetadata(t,a,n.fieldName))!=null?i:Reflect.getMetadata(t,a,n.key)},ae=(e,t,n={})=>{const a=n.methods===!0,i=[];for(const o of ze(e)){if(o.isMethod!==a)continue;const s=We(e,t,o);s&&i.push({...o,meta:s})}return i},Ye=(e,t,n)=>{if(!t)return t;const a=Fe(e);for(const i of ze(e)){if(i.isMethod||!i.key.startsWith("_"))continue;const{key:o,fieldName:s}=i;n==="in"?(a[s]=t[s],t[s]=a[s]):(a[s]=t[s],t[s]=a[o])}return t},lt=(e,t,n)=>{var a;for(const i of ae(e,t,{methods:!0}))if(((a=i.meta)==null?void 0:a.type)===n)return{meta:i.meta,member:i};return null};var Ir=typeof global=="object"&&global&&global.Object===Object&&global,Gt=Ir,Pr=typeof self=="object"&&self&&self.Object===Object&&self,Nr=Gt||Pr||Function("return this")(),oe=Nr,jr=oe.Symbol,le=jr,Ht=Object.prototype,Rr=Ht.hasOwnProperty,Lr=Ht.toString,Be=le?le.toStringTag:void 0;function Ur(e){var t=Rr.call(e,Be),n=e[Be];try{e[Be]=void 0;var a=!0}catch{}var i=Lr.call(e);return a&&(t?e[Be]=n:delete e[Be]),i}var Vr=Object.prototype,zr=Vr.toString;function Wr(e){return zr.call(e)}var Yr="[object Null]",Gr="[object Undefined]",Kt=le?le.toStringTag:void 0;function Me(e){return e==null?e===void 0?Gr:Yr:Kt&&Kt in Object(e)?Ur(e):Wr(e)}function ge(e){return e!=null&&typeof e=="object"}var Hr="[object Symbol]";function Ge(e){return typeof e=="symbol"||ge(e)&&Me(e)==Hr}function Kr(e,t){for(var n=-1,a=e==null?0:e.length,i=Array(a);++n-1&&e%1==0&&e-1&&e%1==0&&e<=ka}function pt(e){return e!=null&&ht(e.length)&&!en(e)}var xa=Object.prototype;function mt(e){var t=e&&e.constructor,n=typeof t=="function"&&t.prototype||xa;return e===n}function Ia(e,t){for(var n=-1,a=Array(e);++n-1}function Jo(e,t){var n=this.__data__,a=qe(n,e);return a<0?(++this.size,n.push([e,t])):n[a][1]=t,this}function de(e){var t=-1,n=e==null?0:e.length;for(this.clear();++tl))return!1;var u=o.get(e),m=o.get(t);if(u&&m)return u==t&&m==e;var y=-1,b=!0,A=n&ll?new et:void 0;for(o.set(e,t),o.set(t,e);++y=t||ne<0||y&&se>=o}function E(){var L=St();if(h(L))return v(L);l=setTimeout(E,w(L))}function v(L){return l=void 0,b&&a?A(L):(a=i=void 0,s)}function O(){l!==void 0&&clearTimeout(l),u=0,a=f=i=l=void 0}function j(){return l===void 0?s:v(St())}function W(){var L=St(),ne=h(L);if(a=arguments,i=this,f=L,ne){if(l===void 0)return d(f);if(y)return clearTimeout(l),l=setTimeout(E,t),A(f)}return l===void 0&&(l=setTimeout(E,t)),s}return W.cancel=O,W.flush=j,W}var lu=Object.prototype,uu=lu.hasOwnProperty,cu=nu(function(e,t,n){uu.call(e,n)?e[n].push(t):ft(e,n,[t])}),fu=cu;function du(e,t){return nt(e,t)}var hu="Expected a function";function pu(e,t,n){var a=!0,i=!0;if(typeof e!="function")throw new TypeError(hu);return ue(n)&&(a="leading"in n?!!n.leading:a,i="trailing"in n?!!n.trailing:i),su(e,t,{leading:a,maxWait:t,trailing:i})}const rt=["onBefore","onNow","onAfter"],Mt=e=>[...e].sort((t,n)=>{var a,i;return(((a=n.meta)==null?void 0:a.priority)||0)-(((i=t.meta)==null?void 0:i.priority)||0)});async function at(e){var A,d,w;const{tasks:t,rowId:n,type:a,fire:i,initial:o,extra:s=[],phases:l=rt,rerunOnAfterFalsy:f=!1,maxRerun:u=10}=e,m=fu(Mt(t),h=>{var E,v;return(v=(E=h.meta)==null?void 0:E.es)!=null?v:"onNow"});let y=o!==void 0?o:n,b=0;for(let h=0;hu){console.warn(`[funjiaui] \u4E8B\u4EF6\u94FE\u5728 onAfter \u9636\u6BB5\u8FDE\u7EED ${u} \u6B21\u8FD4\u56DE\u7A7A\u503C\uFF0C\u5DF2\u4E2D\u6B62\u4EE5\u907F\u514D\u6B7B\u5FAA\u73AF`);break}h=-1}}return y}const qn=e=>ae(e,"table:field").map(t=>({sort:t.meta.sort||1,vnode:r.h(Ve,{prop:t.fieldName,label:t.meta.def,fieldType:t.meta.fieldType,width:t.meta.width,minWidth:t.meta.minWidth,columnRender:t.meta.columnRender,isShow:t.meta.isShow,showOverflowTooltip:t.meta.showOverflowTooltip,dateFormat:t.meta.dateFormat})})).sort((t,n)=>t.sort-n.sort).map(t=>t.vnode),Jn=e=>{var n;const t=new Map;for(const a of ae(e,"table:operate",{methods:!0})){const i=a.meta,o=String((n=i.id)!=null?n:i.type);let s=t.get(o);s||(s={type:i.type,tasks:[]},t.set(o,s)),s.tasks.push({event:a.value,meta:i}),s.sort===void 0&&!ye(i.sort)&&(s.sort=i.sort),s.title===void 0&&i.title!==void 0&&(s.title=i.title),s.isShow===void 0&&i.isShow!==void 0&&(s.isShow=i.isShow)}return[...t.values()].map(a=>{var i;return{type:a.type,sort:(i=a.sort)!=null?i:0,title:a.title,isShow:a.isShow,tasks:a.tasks}})},Xn=(e,t)=>{var i;if(!t)return!1;const n=Fe(e),a=(i=n.isShowOperate)!=null?i:e==null?void 0:e.isShowOperate;return a==null?!0:typeof a=="function"?!!a.call(n):!!a},Zn=(e,t="120px")=>{var a,i;return(i=(a=Fe(e).operateWidth)!=null?a:e==null?void 0:e.operateWidth)!=null?i:t},Dt=(e,t)=>!!(t!=null&&t.some(n=>n===e)),Qn=(e,t)=>e.filter(n=>{var a,i;return!(((a=n.meta)==null?void 0:a.es)==="onAfter"&&Dt(String((i=n.meta)==null?void 0:i.type),t))}),er=["onBefore","onNow"],ot=["\u6DFB\u52A0","edit","del","\u6279\u91CF\u5220\u9664"],tr=(e,t)=>{if(!e.length)return null;const{fire:n,tableData:a=[],width:i="120px",deferAfterTypes:o}=t,s=[...e].sort((l,f)=>l.sort-f.sort).map(l=>({type:l.type,title:l.title,isShow:l.isShow,onClick:(f,u)=>at({tasks:Qn(l.tasks,o),rowId:f,type:l.type,fire:n,initial:u,extra:[a],phases:Dt(String(l.type),o)?er:void 0})}));return r.h(Ve,{type:"operate",label:"\u64CD\u4F5C",operateItems:s,width:i})},nr=(e,t,n)=>Mt(ae(e,t,{methods:!0}).filter(a=>a.meta.type===n).map(a=>({event:a.value,meta:a.meta}))),rr=(e,t,n={})=>{var s;const a=new Map;for(const l of ae(e,"table:toolbar",{methods:!0})){const f=l.meta;if(f.isShow&&!f.isShow(void 0))continue;const u=f.type,m=(s=a.get(u))!=null?s:[];m.push({event:l.value,meta:f}),a.set(u,m)}const i=[],o=[];return a.forEach((l,f)=>{var m,y,b,A;i.push({type:f,icon:(y=(m=l[0])==null?void 0:m.meta)==null?void 0:y.icon,title:(A=(b=l[0])==null?void 0:b.meta)==null?void 0:A.title});const u=Qn(l,n.deferAfterTypes);o.push(d=>at({tasks:u,rowId:d!=null?d:"",type:f,fire:t,phases:Dt(String(f),n.deferAfterTypes)?er:void 0}))}),{toolbars:i,events:o}},Ot={\u6DFB\u52A0:!0,\u5BFC\u5165\u6A21\u677F:!0,\u5BFC\u5165:!0,\u5BFC\u51FA:!0,\u6279\u91CF\u5220\u9664:!0,\u81EA\u5B9A\u4E49:!0},Bt={edit:!0,del:!0,copy:!0,customOperateEvent:!0},ar={date:!0,default:!0,upload:!0,primaryKey:!0,treeSelect:!0,areaTreeSelect:!0,select:!0,switch:!0,boolean:!0,img:!0,pickerMapGps:!0,pickerMapGpsRange:!0,ip:!0,port:!0,string:!0,textarea:!0,input:!0,password:!0,custom:!0,number:!0,dateRange:!0},mu=new Set(["img","pickerMapGps","pickerMapGpsRange","areaTreeSelect","custom"]),or=new Set(["select","dateRange","date-picker","dateTime-picker","switch","textarea","input"]),yu=new Set(["input","textarea","string","ip","port"]),je=(e,t)=>typeof t=="string"&&Object.prototype.hasOwnProperty.call(e,t),gu=["table:operate","table:toolbar","table:searchFormMethod"],bu=["table:field","table:formField","table:searchFormField"],wu=e=>ze(e).map(t=>{const n={member:t,methods:{},fields:{}},a=t.isMethod?gu:bu;for(const i of a)if(t.isMethod){const o=We(e,i,t);o&&(n.methods[i]=o)}else{const o=We(e,i,t);o&&(n.fields[i]=o)}return n}),ir=(e,t={})=>{var d,w;const n=[],a=h=>n.push(h);if(!e)return a({level:"error",code:"target-missing",message:"\u6CA1\u6709\u62FF\u5230\u914D\u7F6E\u7C7B\uFF08target \u4E3A\u7A7A\uFF09",hint:'\u7ED9 / \u4F20 :target="YourViewModel"'}),n;const i=wu(e),o=new Set((d=t.deferAfterTypes)!=null?d:ot),s=new Map;for(const h of i)for(const[E,v]of Object.entries(h.methods)){const O=h.member.key,j=String(v.type);if(rt.includes(v.es)||a({level:"error",code:"invalid-execution-sequence",member:O,message:`es: ${JSON.stringify(v.es)} \u4E0D\u662F\u5408\u6CD5\u7684\u6267\u884C\u9636\u6BB5`,hint:`\u53EA\u80FD\u662F ${rt.map(W=>`"${W}"`).join(" / ")}\uFF1B\u5199\u9519\u7684\u65B9\u6CD5\u4E0D\u4F1A\u88AB\u6267\u884C`}),E==="table:searchFormMethod"?j!=="getList"&&a({level:"error",code:"unknown-method-type",member:O,message:`\u67E5\u8BE2\u65B9\u6CD5\u7684 type \u5FC5\u987B\u662F "getList"\uFF0C\u5F53\u524D\u662F ${JSON.stringify(v.type)}`,hint:'\u67E5\u5217\u8868\u53EA\u8BA4 type: "getList"\uFF0C\u4E14\u88C5\u9970\u5668\u7684 key \u5FC5\u987B\u662F "table:searchFormMethod"'}):E==="table:toolbar"?je(Ot,j)||a(je(Bt,j)?{level:"error",code:"operate-type-in-toolbar",member:O,message:`"${j}" \u662F\u64CD\u4F5C\u5217\u6309\u94AE\u7C7B\u578B\uFF0C\u5374\u58F0\u660E\u5728\u4E86\u5DE5\u5177\u680F\u4E0A`,hint:'\u5DE5\u5177\u680F\u6309\u94AE\u7528 type: "\u6DFB\u52A0" / "\u5BFC\u51FA" / "\u6279\u91CF\u5220\u9664" / "\u81EA\u5B9A\u4E49" \u7B49'}:{level:"error",code:"unknown-method-type",member:O,message:`\u5DE5\u5177\u680F\u4E0A\u6CA1\u6709 ${JSON.stringify(v.type)} \u8FD9\u79CD\u6309\u94AE`,hint:`\u53EF\u7528\uFF1A${Object.keys(Ot).join(" / ")}`}):je(Bt,j)||a(je(Ot,j)?{level:"error",code:"toolbar-type-in-operate",member:O,message:`"${j}" \u662F\u5DE5\u5177\u680F\u6309\u94AE\u7C7B\u578B\uFF0C\u4F46\u6CA1\u6709\u6307\u5B9A key\uFF0C\u4E8E\u662F\u88AB\u5F53\u6210\u4E86\u64CD\u4F5C\u5217\u6309\u94AE`,hint:'\u8865\u4E0A key: "table:toolbar"\uFF0C\u5426\u5219\u5B83\u4F1A\u5728\u6BCF\u4E00\u884C\u672B\u5C3E\u591A\u51FA\u4E00\u4E2A\u6309\u94AE\uFF0C\u800C\u5DE5\u5177\u680F\u662F\u7A7A\u7684'}:{level:"error",code:"unknown-method-type",member:O,message:`\u64CD\u4F5C\u5217\u4E0A\u6CA1\u6709 ${JSON.stringify(v.type)} \u8FD9\u79CD\u6309\u94AE`,hint:`\u53EF\u7528\uFF1A${Object.keys(Bt).join(" / ")}`}),E!=="table:searchFormMethod"){const W=(w=s.get(j))!=null?w:[];W.push(v),s.set(j,W)}}s.forEach((h,E)=>{const v=h.some(O=>O.dialogContent!==void 0||O.dialogTitle!==void 0);!v&&!o.has(E)||h.some(O=>O.es==="onAfter")||a({level:v?"error":"warn",code:"dialog-without-submit",member:`type "${E}"`,message:`\u300C${E}\u300D\u4F1A\u5F39\u7A97\uFF0C\u4F46\u6CA1\u6709\u4EFB\u4F55 es: "onAfter" \u7684\u65B9\u6CD5\uFF0C\u7528\u6237\u5728\u5F39\u7A97\u4E0A\u70B9\u786E\u5B9A\u540E\u4EC0\u4E48\u90FD\u4E0D\u4F1A\u53D1\u751F`,hint:'\u628A\u771F\u6B63\u8C03\u63A5\u53E3\u7684\u90A3\u4E2A\u65B9\u6CD5\u6807\u4E0A es: "onAfter"'})});const l=[],f=new Map,u=[];for(const h of i){const E=h.fields["table:field"];E&&l.push({key:h.member.key,fieldName:h.member.fieldName,meta:E});const v=h.fields["table:formField"];v&&f.set(h.member.fieldName,v);const O=h.fields["table:searchFormField"];O&&u.push({key:h.member.key,meta:O});for(const[j,W]of Object.entries(h.fields))W.fieldType&&!je(ar,W.fieldType)&&a({level:"warn",code:"unknown-field-type",member:`${h.member.key}\uFF08${j}\uFF09`,message:`fieldType: ${JSON.stringify(W.fieldType)} \u4E0D\u662F\u5408\u6CD5\u7684\u5B57\u6BB5\u7C7B\u578B\uFF0C\u4F1A\u88AB\u5F53\u6210\u9ED8\u8BA4\u7C7B\u578B\u5904\u7406`,hint:`\u5408\u6CD5\u503C\uFF1A${Object.keys(ar).join(" / ")}`});(v==null?void 0:v.fieldType)&&mu.has(v.fieldType)&&!v.component&&a({level:"warn",code:"form-field-type-unimplemented",member:h.member.key,message:`\u8868\u5355\u6CA1\u6709\u4E3A fieldType: "${v.fieldType}" \u5B9E\u73B0\u63A7\u4EF6\uFF0C\u5B83\u4F1A\u9000\u5316\u6210\u6587\u672C\u6846`,hint:"\u6539\u7528 input / select / date \u7B49\u5DF2\u5B9E\u73B0\u7684\u7C7B\u578B\uFF0C\u6216\u4F20 component \u6307\u5B9A\u81EA\u5B9A\u4E49\u7EC4\u4EF6"})}const m=new Map;for(const h of l){const E=h.meta.def;E?m.has(E)?a({level:"warn",code:"column-def-duplicated",member:h.key,message:`\u5217\u5934"${E}"\u548C ${m.get(E)} \u91CD\u590D`,hint:"\u591A\u4E3A\u590D\u5236\u7C98\u8D34\u540E\u5FD8\u4E86\u6539 def\uFF0C\u4E24\u5217\u90FD\u4F1A\u9876\u7740\u540C\u4E00\u4E2A\u8868\u5934"}):m.set(E,h.key):a({level:"warn",code:"column-def-missing",member:h.key,message:"\u6570\u636E\u5217\u7F3A\u5C11 def\uFF0C\u5217\u5934\u4F1A\u662F\u7A7A\u7684",hint:"def \u662F\u5217\u5934\u6587\u6848\uFF0C\u5FC5\u586B"})}l.length===0&&a({level:"warn",code:"no-data-column",message:"\u6CA1\u6709\u4EFB\u4F55\u6570\u636E\u5217",hint:"\u68C0\u67E5 @TableColumnPropertyDecorator \u662F\u5426\u6302\u5728\u4E86\u7C7B\u7684\u5C5E\u6027\u4E0A\uFF08\u800C\u4E0D\u662F\u9759\u6001\u5C5E\u6027 / \u6784\u9020\u51FD\u6570\u91CC\uFF09"});const y=s.has("edit")||s.has("\u6DFB\u52A0"),b=l.filter(h=>h.meta.fieldType==="primaryKey");if(y){for(const h of b)f.has(h.fieldName)||a({level:"warn",code:"primary-key-not-in-form",member:h.key,message:`\u4E3B\u952E"${h.meta.def||h.fieldName}"\u6CA1\u6709\u6302\u8868\u5355\u88C5\u9970\u5668\uFF0C\u63D0\u4EA4\u8F7D\u8377\u91CC\u4E0D\u4F1A\u6709\u5B83`,hint:'\u8865 @TableFormColumnPropertyDecorator({ def: "ID", fieldType: "primaryKey" })\uFF1B\u5426\u5219\u66F4\u65B0\u63A5\u53E3\u6309\u4E3B\u952E\u67E5\u4E0D\u5230\u8BB0\u5F55'});b.length===0&&a({level:"warn",code:"edit-without-primary-key",message:'\u7C7B\u91CC\u6709"\u7F16\u8F91"\u6216"\u6DFB\u52A0"\u6309\u94AE\uFF0C\u4F46\u627E\u4E0D\u5230\u4EFB\u4F55 fieldType: "primaryKey" \u7684\u5217',hint:"\u8868\u5355\u63D0\u4EA4\u9700\u8981\u4E3B\u952E\u624D\u80FD\u5B9A\u4F4D\u8BB0\u5F55\uFF08\u65B0\u589E\u65E0\u9700\u4E3B\u952E\u5219\u5E94\u663E\u5F0F\u58F0\u660E\u4E00\u4E2A\uFF09"})}for(const{key:h,meta:E}of u){const v=E.$um_component||E.fieldType;!v||or.has(v)||yu.has(v)||a({level:"warn",code:"unsupported-search-control",member:h,message:`\u67E5\u8BE2\u8868\u5355\u6CA1\u6709\u5B9E\u73B0 ${JSON.stringify(v)} \u63A7\u4EF6\uFF0C\u5B83\u4F1A\u6E32\u67D3\u6210\u4E00\u4E2A\u666E\u901A\u8F93\u5165\u6846`,hint:`\u76EE\u524D\u53EF\u7528\uFF1A${[...or].join(" / ")}`})}t.requireGetList&&!i.some(h=>h.methods["table:searchFormMethod"])&&a({level:"warn",code:"missing-get-list",message:"\u627E\u4E0D\u5230\u5217\u8868\u67E5\u8BE2\u65B9\u6CD5\uFF0C\u8868\u683C\u4E0D\u4F1A\u6709\u6570\u636E",hint:'@TableColumnMethodDecorator({ key: "table:searchFormMethod", value: { type: "getList" } })'});const A={error:0,warn:1};return n.sort((h,E)=>{var v,O;return A[h.level]-A[E.level]||String((v=h.member)!=null?v:"").localeCompare(String((O=E.member)!=null?O:""))})};let kt=!0;const _u=e=>{kt=e},Eu=()=>kt,sr=(e,t={})=>{const n=ir(e,t);if(!n.length)return n;const a=n.filter(s=>s.level==="error"),i=n.filter(s=>s.level==="warn"),o=(e==null?void 0:e.name)||"\u914D\u7F6E\u7C7B";console.groupCollapsed(`[funjiaui] \u914D\u7F6E\u4F53\u68C0 \xB7 ${o} \xB7 ${a.length} \u4E2A\u9519\u8BEF / ${i.length} \u4E2A\u8B66\u544A`);for(const s of n){const l=`[${s.code}] ${s.member?s.member+" \u2014 ":""}${s.message}${s.hint?` + \u2192 `+s.hint:""}`;s.level==="error"?console.error(l):console.warn(l)}return console.groupEnd(),n},lr=new WeakSet,xt=(e,t={})=>!kt||t.enabled===!1?[]:e?typeof e!="function"&&typeof e!="object"?[]:lr.has(e)?[]:(lr.add(e),sr(e,t)):[],ur=r.defineComponent({name:"UmByClass",inheritAttrs:!1,emits:["fire","fire:onBefore","fire:onNow","fire:onAfter"],mounted(){xt(this.$attrs.target,{deferAfterTypes:this.$attrs["defer-after-types"],enabled:this.$attrs.diagnose!==!1})},render(){const e=this.$attrs.target,t=this.$attrs["other-params"]||{},n=this.$attrs["search-params"]||{},a=this.$attrs.data||[],i=(b,A,d,w)=>new Promise(h=>{if(!Mr(this,"fire")){h(b);return}this.$emit("fire",b,A,d,h,w)});let o=qn(e);const s=this.$attrs["defer-after-types"],l=Jn(e);if(Xn(e,l.length>0)){const b=tr(l,{fire:i,tableData:a,width:Zn(e),deferAfterTypes:s});b&&o.push(b)}const{toolbars:f,events:u}=rr(e,i,{deferAfterTypes:s});return this.$attrs["is-expand"]&&(o=[r.h(Ve,{type:"expand",expandTemplate:this.$attrs["expand-template"]})].concat(o)),this.$attrs["show-index"]!==!1&&(o=[r.h(S.ElTableColumn,{type:"index",label:"\u5E8F\u53F7",width:56})].concat(o)),f.some(b=>b.type==="\u6279\u91CF\u5220\u9664")&&(o=[r.h(S.ElTableColumn,{type:"selection"})].concat(o)),r.h(Ut,{data:a,otherParams:t,searchParams:n,toolbarOptions:f,toolbarEvents:u,width:"100%",rowKey:this.$attrs["row-key"]||"id",defaultExpandAll:!!this.$attrs["default-expand-all"],treeProps:this.$attrs["tree-props"]},()=>o)}});var Tc="";const Fu=r.createElementVNode("div",{class:"header-bg header-bg-l"},null,-1),$u=r.createElementVNode("div",{class:"header-bg header-bg-r"},null,-1),Cu={key:1,class:"el-dialog__title"},Tu={key:1,class:"dialog-footer"},Au=r.createTextVNode("\u53D6\u6D88"),vu=r.createTextVNode("\u786E\u5B9A"),Su={name:"um-dialog",inheritAttrs:!1},cr=r.defineComponent({...Su,props:{appendToBody:{type:Boolean,default:!0},center:{type:Boolean},closeOnClickModal:{type:Boolean,default:!1},closeOnPressEscape:{type:Boolean,default:!0},confirmLoading:{type:Boolean},customClass:null,destroyOnClose:{type:Boolean,default:!0},footer:{type:Boolean,default:!0},modal:{type:Boolean,default:!0},modelValue:{type:Boolean},showClose:{type:Boolean,default:!0},title:null,width:null,top:{default:"15vh"}},emits:["update:modelValue","onOk"],setup(e,{emit:t}){const n=e;r.useCssVars(l=>({"3f29a002":r.unref(s)}));const a=r.computed(()=>{const l=n.footer?"footer-shadow":"body-shadow";return(n.customClass?[n.customClass]:[]).concat(["um-dialog",l]).join(" ")}),i=r.computed({get:()=>n.modelValue,set:l=>t("update:modelValue",l)}),o=()=>{i.value=!1},s=r.computed(()=>{const l=n.width;if(!l)return"500px";const f=parseFloat(l);return Number.isFinite(f)?`${f}px`:l});return(l,f)=>(r.openBlock(),r.createBlock(r.unref(S.ElDialog),{modelValue:r.unref(i),"onUpdate:modelValue":f[1]||(f[1]=u=>r.isRef(i)?i.value=u:null),top:e.top,"append-to-body":e.appendToBody,center:e.center,"close-on-click-modal":e.closeOnClickModal,"close-on-press-escape":e.closeOnPressEscape,"custom-class":r.unref(a),"destroy-on-close":e.destroyOnClose,modal:e.modal,"show-close":e.showClose,width:r.unref(s)},r.createSlots({title:r.withCtx(()=>[Fu,$u,l.$slots.title?r.renderSlot(l.$slots,"title",{key:0}):(r.openBlock(),r.createElementBlock("span",Cu,r.toDisplayString(e.title),1))]),default:r.withCtx(()=>[r.renderSlot(l.$slots,"default")]),_:2},[e.footer?{name:"footer",fn:r.withCtx(()=>[l.$slots.footer?r.renderSlot(l.$slots,"footer",{key:0}):(r.openBlock(),r.createElementBlock("span",Tu,[r.createVNode(r.unref(S.ElButton),{class:"el-button--ghost",type:"primary",onClick:o},{default:r.withCtx(()=>[Au]),_:1}),r.createVNode(r.unref(S.ElButton),{type:"primary",loading:e.confirmLoading,onClick:f[0]||(f[0]=u=>t("onOk"))},{default:r.withCtx(()=>[vu]),_:1},8,["loading"])]))])}:void 0]),1032,["modelValue","top","append-to-body","center","close-on-click-modal","close-on-press-escape","custom-class","destroy-on-close","modal","show-close","width"]))}}),fr=r.defineComponent({name:"UmTableDialog",inheritAttrs:!1,props:{modelValue:{type:Boolean,default:!1},title:{type:String,default:"\u63D0\u793A"},content:{type:[Object,String,Function],default:null},width:{type:[Number,String],default:500},footer:{type:Boolean,default:!1}},emits:["ok","update:modelValue"],render(){return r.h(cr,{title:this.title,modelValue:this.modelValue,"onUpdate:modelValue":e=>this.$emit("update:modelValue",e),closeOnClickModal:!1,width:typeof this.width=="number"?`${this.width}px`:this.width,footer:this.footer,onOnOk:()=>this.$emit("ok")},()=>{var e,t,n;return(n=(t=(e=this.$slots).default)==null?void 0:t.call(e))!=null?n:this.content?[this.content]:[]})}});var Mu={"search-form":"_search-form_123e3_1",reset:"_reset_123e3_4",submit:"_submit_123e3_5"};const Du=r.defineComponent({name:"UmSearchForm",inheritAttrs:!1,props:{target:{type:[Object,Function],required:!0}},emits:["change"],data(){return{formFields:[],formModel:{},fieldOption:new Map}},methods:{async buildFields(){const e=[],t={};for(const n of ae(this.target,"table:searchFormField")){const a=n.meta,i=n.fieldName;e.push({label:a.def,fieldType:a.fieldType,component:a.$um_component,prop:i,placeholder:a.placeholder,style:a.style}),t[i]=n.value||void 0,(a.fieldType==="select"||a.$um_component==="select")&&a.getData&&this.fieldOption.set(i,await a.getData())}this.formFields=e,this.formModel=t},onSubmit(){this.$emit("change",{...this.formModel})},onReset(){const e={};for(const t of this.formFields)e[t.prop]=void 0;this.formModel=e,this.$emit("change",{})}},async beforeMount(){await this.buildFields()},render(){const e=this.$style,t=this.formFields.map(n=>{var f,u;const a=this.formModel[n.prop],i=m=>{this.formModel[n.prop]=m},o={label:n.label,prop:n.prop,style:n.style},s=n.component||n.fieldType,l=((f=n.style)==null?void 0:f.width)||"180px";switch(s){case"select":{const m=(((u=this.fieldOption.get(n.prop))==null?void 0:u.data)||[]).map(y=>r.h(S.ElSelect.Option,{key:y.value,label:y.label,value:y.value}));return r.h(S.ElFormItem,o,()=>r.h(S.ElSelect,{modelValue:a,"onUpdate:modelValue":i,placeholder:n.placeholder||"\u8BF7\u9009\u62E9"+n.label,clearable:!0,style:{width:l}},()=>m))}case"dateRange":case"date-picker":return r.h(S.ElFormItem,o,()=>{var m;return r.h(S.ElDatePicker,{modelValue:a,"onUpdate:modelValue":i,type:"daterange",valueFormat:"YYYY-MM-DD",startPlaceholder:n.placeholder||"\u5F00\u59CB\u65E5\u671F",endPlaceholder:"\u7ED3\u675F\u65E5\u671F",style:{width:((m=n.style)==null?void 0:m.width)||"240px"}})});case"dateTime-picker":return r.h(S.ElFormItem,o,()=>r.h(S.ElDatePicker,{modelValue:a,"onUpdate:modelValue":i,type:"datetime",valueFormat:"YYYY-MM-DD HH:mm:ss",placeholder:n.placeholder||"\u8BF7\u9009\u62E9"+n.label,style:{width:l}}));case"switch":return r.h(S.ElFormItem,o,()=>r.h(S.ElSwitch,{modelValue:a,"onUpdate:modelValue":i}));case"textarea":return r.h(S.ElFormItem,o,()=>r.h(S.ElInput,{modelValue:a,"onUpdate:modelValue":i,type:"textarea",placeholder:n.placeholder||"\u8BF7\u8F93\u5165"+n.label,style:{width:l}}));default:return r.h(S.ElFormItem,o,()=>r.h(S.ElInput,{modelValue:a,"onUpdate:modelValue":i,placeholder:n.placeholder||"\u8BF7\u8F93\u5165"+n.label,clearable:!0,autocomplete:"off",style:{width:l},onKeyup:m=>{m.key==="Enter"&&this.onSubmit()}}))}});return t.length===0?null:(t.push(r.h(S.ElFormItem,{},()=>[r.h(S.ElButton,{class:e.submit,onClick:this.onSubmit},()=>"\u67E5\u8BE2"),r.h(S.ElButton,{class:e.reset,onClick:this.onReset},()=>"\u91CD\u7F6E")])),r.h(S.ElForm,{inline:!0,class:e["search-form"],model:this.formModel,onSubmit:n=>n.preventDefault()},()=>t))}});var dr=re(Du,[["__cssModules",{$style:Mu}]]),Mc="";const Ou=e=>(r.pushScopeId("data-v-0bda02d2"),e=e(),r.popScopeId(),e),Bu={class:"um-pagination"},ku={class:"pages"},xu=Ou(()=>r.createElementVNode("li",null,"\u8DF3\u8F6C\u81F3",-1)),Iu={class:"el-input el-input--mini el-pagination__editor is-in-pagination"},Pu=["value","max","onKeyup"],Nu={name:"um-pagination"},ju=r.defineComponent({...Nu,props:{page:{default:1},pages:{default:()=>[10,20,50,100]},size:{default:10},total:{default:0}},emits:["onChange"],setup(e,{emit:t}){const n=e,a=r.ref(!1),i=r.ref(),o=r.computed(()=>Math.ceil(n.total/n.size)),s=r.computed(()=>n.page<=1),l=r.computed(()=>n.page>=o.value),f=d=>{a.value=d},u=d=>{d!==n.size&&t("onChange",1,d)},m=()=>{s.value||t("onChange",n.page-1,n.size)},y=()=>{l.value||t("onChange",n.page+1,n.size)},b=d=>{const w=d.target.value;i.value=w.replace(/\D/g,"")},A=()=>{const d=Number(i.value);if(!d||isNaN(d))return;let w=d;d<1?w=1:d>o.value&&(w=o.value),w!==n.page&&(t("onChange",w,n.size),i.value="")};return(d,w)=>(r.openBlock(),r.createElementBlock("div",Bu,[r.createElementVNode("ul",null,[r.createElementVNode("li",null,"\u5171"+r.toDisplayString(e.total)+"\u9879",1),r.createElementVNode("li",null,[r.createVNode(r.unref(S.ElDropdown),{onVisibleChange:f},{dropdown:r.withCtx(()=>[r.createVNode(r.unref(S.ElDropdownMenu),null,{default:r.withCtx(()=>[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(e.pages,h=>(r.openBlock(),r.createBlock(r.unref(S.ElDropdownItem),{key:h,onClick:E=>u(h)},{default:r.withCtx(()=>[r.createTextVNode(r.toDisplayString(h),1)]),_:2},1032,["onClick"]))),128))]),_:1})]),default:r.withCtx(()=>[r.createElementVNode("div",ku,[r.createElementVNode("span",null,"\u6BCF\u9875"+r.toDisplayString(e.size)+"\u9879",1),r.createVNode(r.unref(S.ElIcon),null,{default:r.withCtx(()=>[a.value?(r.openBlock(),r.createBlock(r.unref(Se.CaretTop),{key:0})):(r.openBlock(),r.createBlock(r.unref(Se.CaretBottom),{key:1}))]),_:1})])]),_:1})]),r.createElementVNode("li",{title:"\u4E0A\u4E00\u9875",class:r.normalizeClass(["btn-arrow",{disabled:r.unref(s)}]),onClick:m},[r.createVNode(r.unref(S.ElIcon),{style:r.normalizeStyle({color:r.unref(s)?"#666":void 0})},{default:r.withCtx(()=>[r.createVNode(r.unref(Se.ArrowLeft))]),_:1},8,["style"])],2),r.createElementVNode("li",null,r.toDisplayString(e.page)+"/"+r.toDisplayString(r.unref(o)),1),r.createElementVNode("li",{title:"\u4E0B\u4E00\u9875",class:r.normalizeClass(["btn-arrow",{disabled:r.unref(l)}]),onClick:y},[r.createVNode(r.unref(S.ElIcon),{style:r.normalizeStyle({color:r.unref(l)?"#666":void 0})},{default:r.withCtx(()=>[r.createVNode(r.unref(Se.ArrowRight))]),_:1},8,["style"])],2),xu,r.createElementVNode("li",null,[r.createElementVNode("div",Iu,[r.createElementVNode("input",{class:"el-input__inner",value:i.value,type:"number",min:1,max:r.unref(o),autocomplete:"off",onInput:b,onBlur:A,onKeyup:r.withKeys(A,["enter"])},null,40,Pu)])])])]))}});var hr=re(ju,[["__scopeId","data-v-0bda02d2"]]),Dc="";const Ru=r.defineComponent({name:"UmByClassEnhance",inheritAttrs:!1,emits:["fire","fire:onBefore","fire:onNow","fire:onAfter","dataChange","command"],expose:["getList"],data(){return{dialogVisible:!1,currentPage:1,currentPageSize:10,confirmCb:null,dialogTitle:"\u63D0\u793A",dialogContent:null,dialogWidth:500,dialogShowFooter:!1,searchFormModel:{},currentId:null,editingRow:null,data:[],total:0,pendingResolve:null}},watch:{"$attrs.other-params"(){this.currentPage=1,this.dialogVisible=!1,this.getList()},data(e){this.$emit("dataChange",e)}},methods:{settle(e){const t=this.pendingResolve;this.pendingResolve=null,t==null||t(e)},onDialogVisibility(e){this.dialogVisible=e,e||this.settle(!1)},getMetaDataByKey(e,t){var n,a;return(a=(n=lt(this.$attrs.target,t,e))==null?void 0:n.meta)!=null?a:null},async handleFire(e,t,n,a,i={}){var l,f;const o=this.$attrs.target;let s;switch(t){case"\u6DFB\u52A0":case"edit":{if(s=t==="\u6DFB\u52A0"?"table:toolbar":"table:operate",n==="onBefore")this.dialogShowFooter=!1;else if(n==="onNow"){const u=this.getMetaDataByKey(t,s);this.dialogWidth=(u==null?void 0:u.dialogWidth)||this.dialogWidth||500;let m=e;t==="\u6DFB\u52A0"?(m={...this.$attrs["form-data"]||{}},this.editingRow=null):(m=Ye(o,{...e&&typeof e=="object"?e:{}},"in"),this.editingRow=Ye(o,{...m},"out"));const y=await((l=u==null?void 0:u.getData)==null?void 0:l.call(u))||{},b=u==null?void 0:u.dialogContent;this.dialogContent=b?r.h(b,{target:(u==null?void 0:u.dialogTarget)||o,data:m,depData:y,onCancel:()=>{this.dialogVisible=!1,this.settle(!1)},onOk:A=>{var h;const d=Ye(o,{...A||{}},"out"),w=t==="\u6DFB\u52A0"?d:{...this.editingRow||{},...d};(h=this.confirmCb)==null||h.call(this,w)}}):null,this.dialogTitle=(u==null?void 0:u.dialogTitle)||this.dialogTitle,this.dialogVisible=!0,this.setConfirmCb(t,s),this.pendingResolve=a;return}else if(n==="onAfter"){if(e===!1)break;(e==null?void 0:e.code)===0?(t==="\u6DFB\u52A0"&&(this.currentPage=1),this.dialogVisible=!1,this.getList(),S.ElMessage.success("\u64CD\u4F5C\u6210\u529F")):S.ElMessage.error((e==null?void 0:e.message)||"\u64CD\u4F5C\u5931\u8D25")}break}case"del":case"\u6279\u91CF\u5220\u9664":{if(s=t==="\u6279\u91CF\u5220\u9664"?"table:toolbar":"table:operate",n==="onBefore")this.dialogShowFooter=!0;else if(n==="onNow"){const u=this.getMetaDataByKey(t,s);this.dialogTitle=(u==null?void 0:u.dialogTitle)||this.dialogTitle,this.dialogWidth=(u==null?void 0:u.dialogWidth)||this.dialogWidth||500;const m=u==null?void 0:u.dialogContent;this.dialogContent=typeof m=="string"?r.h("div",m):m?r.h(m):r.h("div","\u786E\u8BA4\u6267\u884C\u8BE5\u64CD\u4F5C\uFF1F"),this.dialogVisible=!0,this.currentId=t==="\u6279\u91CF\u5220\u9664"?(e!=null?e:[]).map(y=>{var b;return(b=y==null?void 0:y.id)!=null?b:y}):(f=e==null?void 0:e.id)!=null?f:e,this.setConfirmCb(t,s),this.pendingResolve=a;return}else if(n==="onAfter"){if(e===!1)break;e&&e.code===0?(this.currentPage=1,this.dialogVisible=!1,this.currentId=null,this.getList(),S.ElMessage.success("\u5220\u9664\u6210\u529F")):S.ElMessage.error((e==null?void 0:e.message)||"\u5220\u9664\u5931\u8D25")}break}case"customOperateEvent":{n==="onNow"&&this.$emit("fire",t,e,i,this.data);break}}return n==="onAfter"&&this.$emit("command",t,e),a(e)},setConfirmCb(e,t){const n=nr(this.$attrs.target,t,e);this.confirmCb=async a=>{const i=await at({tasks:n,rowId:a,type:e,phases:["onAfter"],fire:(o,s,l,f)=>this.handleFire(o,s,l,u=>u,f)});this.settle(i)}},handleSizeChange(e){this.currentPageSize=e},handleCurrentChange(e,t){this.currentPage=e,this.currentPageSize=t,this.getList()},async getList(){const e=this.$attrs.target;if(!e||!lt(e,"table:searchFormMethod","getList"))return;const n=Fe(e),a=this.$attrs["other-params"]||{},{data:i,total:o}=await n.getList({...this.searchFormModel,page:this.currentPage,pageSize:this.currentPageSize,...a});this.data=i!=null?i:[],this.total=o!=null?o:0},onSearchFormChange(e){this.searchFormModel=e,this.currentPage=1,this.getList()}},beforeMount(){xt(this.$attrs.target,{deferAfterTypes:ot,requireGetList:!0,enabled:this.$attrs.diagnose!==!1}),this.getList()},render(){const e=this.$attrs;return r.h("div",{class:e.class},[r.h(dr,{target:e.target,onChange:this.onSearchFormChange}),r.h(ur,{target:e.target,data:this.data,onFire:this.handleFire,"other-params":e["other-params"]||{},"search-params":this.searchFormModel||{},"is-expand":e["is-expand"],"expand-template":e["expand-template"],"row-key":e["row-key"],"default-expand-all":e["default-expand-all"],"defer-after-types":ot}),r.h(hr,{page:this.currentPage,size:this.currentPageSize,total:this.total,class:"page",onOnChange:this.handleCurrentChange}),r.h(fr,{modelValue:this.dialogVisible,"onUpdate:modelValue":this.onDialogVisibility,title:this.dialogTitle,content:this.dialogContent,width:this.dialogWidth,footer:this.dialogShowFooter,onOk:()=>{var t;(t=this.confirmCb)==null||t.call(this,this.currentId)}})])}});var Lu=re(Ru,[["__scopeId","data-v-67bf522d"]]),Uu={"avatar-uploader":"_avatar-uploader_ykbb1_1"};const Vu=["src"],zu=r.createElementVNode("span",null,"\u8BF7\u4E0A\u4F20\u56FE\u7247",-1);var Wu=re(r.defineComponent({props:{modelValue:null,accept:{default:"image/png, image/jpeg"}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,a=r.ref();r.onBeforeMount(()=>{a.value=n.modelValue}),r.watch(()=>n.modelValue,l=>{a.value=n.modelValue});const i=(l,f)=>{var u;a.value=URL.createObjectURL(f.raw),t("update:modelValue",((u=l==null?void 0:l.data)==null?void 0:u.url)||"")},o=l=>!0,s=async l=>{};return(l,f)=>{const u=r.resolveComponent("el-icon"),m=r.resolveComponent("el-upload");return r.openBlock(),r.createBlock(m,{class:r.normalizeClass(l.$style["avatar-uploader"]),action:"/api/management/file/upload/image","show-file-list":!1,"on-success":i,"before-upload":o,accept:e.accept,"http-request":s},{default:r.withCtx(()=>[a.value?(r.openBlock(),r.createElementBlock("img",{key:0,src:a.value,class:"avatar"},null,8,Vu)):(r.openBlock(),r.createBlock(u,{key:1,class:"avatar-uploader-icon"},{default:r.withCtx(()=>[r.createVNode(r.unref(Se.Plus)),zu]),_:1}))]),_:1},8,["class","accept"])}}}),[["__cssModules",{$style:Uu}]]);const Yu=["title"],Gu={name:"um-tree",inheritAttrs:!1},It=r.defineComponent({...Gu,props:{checkbox:{type:Boolean,default:!1},defaultExpandAll:{type:Boolean,default:!1},keyword:null,strategy:{default:"child"},treeData:null,props:null,class:null},emits:["onSelect","onCheck"],setup(e,{expose:t,emit:n}){const a=e,i=r.ref(),o=r.ref(),s=r.ref([]),l=r.computed(()=>Object.assign({},{label:"label",children:"children",disabled:"disabled"},a.props||{})),f=r.computed(()=>{var d;return((d=a.props)==null?void 0:d.value)||"id"});r.watch(()=>a.keyword,d=>{var w;(w=i.value)==null||w.filter(d)});const u=(d,w)=>{var E;if(!d)return!0;const h=w[((E=a.props)==null?void 0:E.label)||"label"];return typeof h=="string"?h.indexOf(d)!==-1:!0},m=()=>{var w,h;let d=[];a.strategy==="child"?d=((w=i.value)==null?void 0:w.getCheckedKeys(!0))||[]:a.strategy==="all"&&(d=((h=i.value)==null?void 0:h.getCheckedKeys(!1))||[]),n("onCheck",d)},y=d=>{var w;if(a.checkbox)m();else{let h=d[f.value];h===o.value&&(h=void 0),o.value=h,n("onSelect",h,d),(w=i.value)==null||w.setCurrentKey(h)}},b=d=>{const w=d[f.value],h=[].concat(s.value),E=h.indexOf(w);E!==-1&&(h.splice(E,1),s.value=h)},A=d=>{const w=d[f.value];s.value.indexOf(w)===-1&&(s.value=s.value.concat(w))};return t({setSelectKey:d=>{var w,h;a.checkbox?(d=d&&Array.isArray(d)?d:[],(w=i.value)==null||w.setCheckedKeys(d,!1)):(o.value=d,(h=i.value)==null||h.setCurrentKey(d))}}),(d,w)=>(r.openBlock(),r.createBlock(r.unref(S.ElTree),{ref_key:"treeRef",ref:i,class:r.normalizeClass(a.class),"check-on-click-node":e.checkbox,data:e.treeData,"default-expand-all":e.defaultExpandAll,"default-expanded-keys":s.value,props:r.unref(l),"expand-on-click-node":!1,"filter-node-method":u,"highlight-current":!e.checkbox,"node-key":r.unref(f),"show-checkbox":e.checkbox,onChange:m,onNodeCollapse:b,onNodeClick:y,onNodeExpand:A},{default:r.withCtx(h=>[d.$slots.default?r.renderSlot(d.$slots,"default",r.normalizeProps(r.mergeProps({key:0},h))):(r.openBlock(),r.createElementBlock("span",{key:1,class:"el-tree-node__label",title:h.node.label},r.toDisplayString(h.node.label),9,Yu))]),_:3},8,["class","check-on-click-node","data","default-expand-all","default-expanded-keys","props","highlight-current","node-key","show-checkbox"]))}});var kc="";const Hu={key:1,class:"el-tree-node__label"},Ku={name:"um-tree-select",inheritAttrs:!1},pr=r.defineComponent({...Ku,props:{checkbox:{type:Boolean},class:null,clearable:{type:Boolean},defaultExpandAll:{type:Boolean,default:!0},modelValue:{default:""},placeholder:null,search:{type:Boolean},size:null,strategy:null,style:null,treeData:null,props:null},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,a=r.ref(),i=r.ref(),o=r.ref(),s=r.computed(()=>Object.assign({},{label:"label",value:"id",children:"children",disabled:"disabled"},n.props||{})),l=r.computed({get:()=>{const d=n.modelValue;return n.checkbox?d&&Array.isArray(d)?m(d,s.value.value,s.value.label):void 0:d||d===0?m([d],s.value.value,s.value.label).join(","):void 0},set:d=>{if(n.checkbox){const w=m(d,s.value.label,s.value.value);t("update:modelValue",w),i.value&&i.value.setSelectKey(w)}else d||(t("update:modelValue",void 0),i.value&&i.value.setSelectKey(void 0))}}),f=r.computed(()=>(n.class?[n.class]:[]).concat(["um-tree-select"]).join(" ")),u=(d,w,h,E)=>{let v="";for(let O=0;O<(w==null?void 0:w.length);O++){const j=w[O],W=s.value.children||"",L=j[W]||[];if(j[h]===d){v=j[E];break}else if(L.length&&(v=u(d,L,h,E),v))break}return v},m=(d,w="",h="")=>{let E=[];return d.forEach(v=>{const O=u(v,n.treeData,w,h);E.push(O||`${v}`)}),E},y=d=>{t("update:modelValue",d)},b=d=>{t("update:modelValue",d),a.value.blur()},A=d=>{d&&i.value.setSelectKey(n.modelValue)};return(d,w)=>{const h=r.resolveComponent("el-input"),E=r.resolveComponent("el-option"),v=r.resolveComponent("el-select");return r.openBlock(),r.createBlock(v,{ref_key:"selectRef",ref:a,modelValue:r.unref(l),"onUpdate:modelValue":w[2]||(w[2]=O=>r.isRef(l)?l.value=O:null),class:r.normalizeClass(r.unref(f)),clearable:e.clearable,"collapse-tags":"",multiple:e.checkbox,size:e.size,placeholder:e.placeholder,"popper-class":"um-tree-select-popper",style:r.normalizeStyle(e.style),onVisibleChange:A},{default:r.withCtx(()=>[r.createVNode(E,{value:"1",style:{height:"auto",padding:"0","min-height":"200!important"}},{default:r.withCtx(()=>[e.search?(r.openBlock(),r.createBlock(h,{key:0,modelValue:o.value,"onUpdate:modelValue":w[0]||(w[0]=O=>o.value=O),size:"small",placeholder:"\u5173\u952E\u5B57\u68C0\u7D22","suffix-icon":r.unref(Se.Search),onClick:w[1]||(w[1]=r.withModifiers(()=>{},["stop","prevent"]))},null,8,["modelValue","suffix-icon"])):r.createCommentVNode("",!0),r.createVNode(It,{ref_key:"treeRef",ref:i,"tree-data":e.treeData,props:r.unref(s),checkbox:e.checkbox,"default-expand-all":e.defaultExpandAll,keyword:o.value,strategy:e.strategy,onOnCheck:y,onOnSelect:b},{default:r.withCtx(O=>[d.$slots.default?r.renderSlot(d.$slots,"default",r.normalizeProps(r.mergeProps({key:0},O))):(r.openBlock(),r.createElementBlock("span",Hu,r.toDisplayString(O.node.label),1))]),_:3},8,["tree-data","props","checkbox","default-expand-all","keyword","strategy"])]),_:3})]),_:3},8,["modelValue","class","clearable","multiple","size","placeholder","style"])}}});var qu={"form-operate":"_form-operate_omswa_1",cancel:"_cancel_omswa_6",submit:"_submit_omswa_7"};const Ju=r.defineComponent({name:"UmTableForm",inheritAttrs:!1,emits:["ok","cancel","formModelChange"],setup(e,{expose:t}){const n=r.ref({}),a=r.getCurrentInstance(),i=o=>{const s=Array.isArray(o)?o:[o],l={};for(const f of s)if(!!f)for(const u in n.value)(Object.prototype.hasOwnProperty.call(f,u)||Object.prototype.hasOwnProperty.call(f,"_"+u))&&(l[u]=f[u]);n.value=l};return t({setFormModel:i,getFormModel:()=>r.unref(n),onSubmit:()=>{var o,s;return(s=(o=a==null?void 0:a.proxy)==null?void 0:o.onSubmit)==null?void 0:s.call(o)}}),{formModel:n,setFormModel:i}},data(){return{rules:{},formItems:[],fieldOption:new Map,maxLabelWidth:50,showList:[],cascadeMap:new Map,throttleRefreshForm:pu(async function(e,t,n){await this.initShowFieldList(e,t),await this.initCascadeData(n),this.initFormItem()},100,{leading:!1,trailing:!0})}},methods:{async refreshForm(e,t,n){return this.throttleRefreshForm(e,t,n)},async onSubmit(){var n,a;const e=this.$refs;let t=!1;try{t=await((a=(n=e.formRef)==null?void 0:n.validate)==null?void 0:a.call(n))}catch{return}t&&this.$emit("ok",tl(this.formModel))},getRule(e){const t=this;switch(e.type){case"require":case"requireString":return{required:!0,message:e.message};case"ip":return{pattern:/^((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})(\.((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})){3}$/,message:e.message||"ip\u683C\u5F0F\u4E0D\u6B63\u786E"};case"port":return{pattern:/^([0-9]|[1-9]\d{1,3}|[1-5]\d{4}|6[0-4]\d{3}|65[0-4]\d{2}|655[0-2]\d|6553[0-5])$/,message:e.message||"\u7AEF\u53E3\u683C\u5F0F\u4E0D\u6B63\u786E"};case"len":if(!ye(e.max)&&!ye(e.min))return{min:e.min,max:e.max,message:"\u957F\u5EA6\u4E3A"+e.min+"\u548C"+e.max+"\u4E4B\u95F4"};if(ye(e.max)){if(!ye(e.min))return{min:e.min,message:"\u6700\u5C0F\u957F\u5EA6\u4E3A"+e.min}}else return{max:e.max,message:"\u957F\u5EA6\u4E0D\u80FD\u8D85\u8FC7"+e.max};break;case"phone":return{pattern:/^1[3456789]\d{9}$/,message:e.message||"\u683C\u5F0F\u4E0D\u6B63\u786E"};case"idNumber":return{pattern:/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/,message:e.message||"\u683C\u5F0F\u4E0D\u6B63\u786E"};case"validator":return{validator:e.validator.bind({formData:t.formModel})};default:return{}}},async updateFieldOption(e,t,n=!0){const a=t.fieldType;if(a!=="treeSelect"&&a!=="string"&&a!=="select"&&a!=="pickerMapGps")return;let i;if(t.getData&&(i=await t.getData(this.formModel),this.fieldOption.set(e,i)),!!t.isCascade){if(a==="treeSelect"){n||(this.formModel[e]=Sr((i==null?void 0:i.data)||[],this.formModel[e]||[]));return}Array.isArray(i==null?void 0:i.data)&&(i.data.some(s=>s.value==this.formModel[e])||(a==="string"?this.formModel[e]=i:Array.isArray(this.formModel[e])?this.formModel[e]=[]:this.formModel[e]=void 0))}},async initShowFieldList(e,t){const n=[],a=this;for(const i of ae(this.$attrs.target,"table:formField")){const{fieldName:o,meta:s}=i;if(!(s.isShow?await s.isShow(e):!0)){(t==null?void 0:t[o])!==null&&(t==null?void 0:t[o])!==void 0&&(a.formModel["$ref:"+o]=t[o]),a.formModel[o]=null;continue}const f=a.formModel["$ref:"+o];f!==void 0&&a.formModel[o]==null&&(a.formModel[o]=f),n.push(o)}this.showList=n},async initCascadeData(e){for(const t of ae(this.$attrs.target,"table:formField")){const{fieldName:n,meta:a}=t;a.isCascade&&e.includes(n)&&await this.updateFieldOption(n,a,!1)}},async initData(){for(const e of ae(this.$attrs.target,"table:formField"))await this.updateFieldOption(e.fieldName,e.meta)},initFormItem(){let e=[];const t=this,n=this.$attrs.target,a=ye(this.$attrs["is-show-default-submit"])?!0:!!this.$attrs["is-show-default-submit"],i=new Map;for(const o of ae(n,"table:formField"))i.set(o.fieldName,o.meta);for(const o of this.showList){const s=i.get(o);if(!s)continue;const l=t.formModel[o],f={label:s.def,prop:o};switch(s.fieldType){case"primaryKey":break;case"upload":e.push(r.h(S.ElFormItem,f,()=>r.h(Wu,{modelValue:l,"onUpdate:modelValue":u=>t.initForm(o,u)})));break;case"treeSelect":e.push(r.h(S.ElFormItem,f,()=>r.h(pr,{modelValue:l,"onUpdate:modelValue":u=>t.initForm(o,u),size:"default",search:!0,placeholder:"\u8BF7\u9009\u62E9"+s.def,style:{width:"100%"},props:{label:"name"},...this.fieldOption.get(o)||{}})));break;case"select":{const u=this.fieldOption.get(o),m=((u==null?void 0:u.data)||[]).map(y=>r.h(S.ElSelect.Option,{key:y.value,label:y.label,value:y.value}));e.push(r.h(S.ElFormItem,f,()=>r.h(S.ElSelect,{modelValue:l,"onUpdate:modelValue":y=>{t.initForm(o,y),this.$emit("formModelChange",t.formModel,o)},size:"default",multiple:!!(u!=null&&u.multiple),collapseTags:!0,placeholder:"\u8BF7\u9009\u62E9"+s.def,style:{width:"100%"}},()=>m)));break}case"boolean":case"switch":e.push(r.h(S.ElFormItem,f,()=>r.h(S.ElSwitch,{modelValue:l,"onUpdate:modelValue":u=>t.initForm(o,u),size:"default"})));break;case"date":case"dateRange":e.push(r.h(S.ElFormItem,f,()=>r.h(S.ElDatePicker,{modelValue:l,"onUpdate:modelValue":u=>t.initForm(o,u),type:s.fieldType==="dateRange"?"daterange":"date",valueFormat:"YYYY-MM-DD",placeholder:s.placeholder||"\u8BF7\u9009\u62E9"+s.def,style:{width:"100%"}})));break;case"input":case"password":case"textarea":case"number":default:{if(s.component){e.push(r.h(S.ElFormItem,f,()=>r.h(s.component,{modelValue:l,"onUpdate:modelValue":m=>t.initForm(o,m)})));break}const u=s.fieldType==="password"?"password":s.fieldType==="textarea"?"textarea":s.fieldType==="number"?"number":"text";e.push(r.h(S.ElFormItem,f,()=>{var m;return r.h(S.ElInput,{modelValue:l,"onUpdate:modelValue":y=>t.initForm(o,y),type:u,size:"default",placeholder:s.placeholder||"\u8BF7\u8F93\u5165"+s.def,maxlength:s.maxlength,minlength:s.minlength,showWordLimit:!!s.maxlength,disabled:s.disabled||((m=s.isDisabled)==null?void 0:m.call(s,t.formModel))||!1})}));break}}}a&&(e=e.concat(r.h(S.ElFormItem,()=>r.h("div",{class:t.$style["form-operate"]},[r.h(S.ElButton,{class:t.$style.cancel,onClick:()=>t.$emit("cancel")},()=>"\u53D6\u6D88"),r.h(S.ElButton,{class:t.$style.submit,onClick:this.onSubmit},()=>"\u786E\u5B9A")])))),this.formItems=e},initRule(e=!0){var i;const t=((i=this.$attrs)==null?void 0:i.data)||{},n=this;let a=n.maxLabelWidth;for(const o of ae(this.$attrs.target,"table:formField")){const{fieldName:s,meta:l}=o;l.cascadeFiled&&this.cascadeMap.set(s,l.cascadeFiled),e&&(t.id!==void 0&&t.id!==null?n.formModel[s]=t[s]:n.formModel[s]=t&&Object.keys(t).length>0?t[s]:o.value),l.fieldType==="ip"?this.rules[s]=[this.getRule({type:"ip"})]:l.fieldType==="port"&&(this.rules[s]=[this.getRule({type:"port"})]),l.rule&&(this.rules[s]=Array.isArray(l.rule)?l.rule.map(m=>this.getRule(m)):[this.getRule(l.rule)]);const f=(this.rules[s]||[]).some(m=>m.required),u=vr(l.def)+(f?16:0);u>a&&(a=u)}this.maxLabelWidth=a},async init(){await this.initData(),await this.initShowFieldList(this.formModel),this.initFormItem()},initForm(e,t){this.formModel={...this.formModel,[e]:t}}},watch:{formModel:{async handler(e,t){var o,s;this.initRule(!1);const n=this.$refs;let a=[];const i=[];for(const l in e)du(e[l],t==null?void 0:t[l])||(a=this.cascadeMap.get(l)||[],i.push(l));await this.refreshForm(e,t,a),await r.nextTick();for(const l of i)try{await((s=(o=n==null?void 0:n.formRef)==null?void 0:o.validateField)==null?void 0:s.call(o,l))}catch{}}}},computed:{formCom(){return this.formItems?r.h(S.ElForm,{ref:"formRef",key:this.formItems.length,model:this.formModel,rules:this.rules,validateOnRuleChange:!1,labelPosition:"right",labelWidth:this.maxLabelWidth+20+"px"},()=>this.formItems):null}},beforeMount(){this.rules={},this.initRule(),this.init()},render(){return this.formCom}});var mr=re(Ju,[["__cssModules",{$style:qu}]]);const Xu={name:"UmSyncNodeForm",inheritAttrs:!1},Zu=r.defineComponent({...Xu,props:{data:null,depData:null},emits:["cancel"],setup(e){const t=e;class n{}const a=r.ref(),i=r.ref(-99),o=r.ref("moduleId"),s=r.ref("\u6A21\u5757\u540D\u79F0"),l=r.ref({}),f=r.computed(()=>{var w,h,E,v,O;const b=(h=(w=t.depData)==null?void 0:w.data)!=null?h:[],A=r.unref(o);Array.isArray(b)&&(n.prototype[A]=(v=l.value[A])!=null?v:(E=b[0])==null?void 0:E.id,Reflect.defineMetadata("table:formField",{lang:"",def:s.value,fieldType:"select",getData:()=>({data:b})},n.prototype,A));const d=(O=b.find)==null?void 0:O.call(b,j=>j.id==l.value[A]);return Array.isArray(d==null?void 0:d.configList)&&d.configList.forEach(j=>{const W=[];j.required&&W.push({type:"require",message:"\u4E0D\u80FD\u4E3A\u7A7A"}),(j.max||j.min)&&W.push({type:"len",max:j.max,min:j.min}),n.prototype[j.code]="",Reflect.defineMetadata("table:formField",{lang:"",def:j.name,fieldType:j.styleName,rule:W,getData:()=>{var L;return{data:(L=j.data)!=null?L:[]}}},n.prototype,j.code)}),n});let u=null;r.watch([l,a],([b,A])=>{var d;!A||b===u||(u=b,(d=A.setFormModel)==null||d.call(A,b))}),r.onBeforeMount(()=>{var A,d,w,h,E,v,O;o.value=((A=t.depData)==null?void 0:A.moduleId)||"moduleId",s.value=((d=t.depData)==null?void 0:d.moduleName)||"\u6A21\u5757\u540D\u79F0";const b=(h=(w=t.depData)==null?void 0:w.data)!=null?h:[];l.value={...t.data||{},[o.value]:(O=(E=t.data)==null?void 0:E[o.value])!=null?O:(v=b[0])==null?void 0:v.id}});const m=b=>{i.value=b==null?void 0:b[o.value],l.value={...l.value,[o.value]:i.value}},y=b=>{};return(b,A)=>(r.openBlock(),r.createBlock(mr,{key:i.value,ref_key:"tableForm",ref:a,target:r.unref(f),onFormModelChange:m,onCancel:A[0]||(A[0]=d=>b.$emit("cancel")),onOk:y},null,8,["target"]))}}),Qu=e=>(t,n)=>{Reflect.defineMetadata("table:field",{width:100,sort:1,...e},t,n)},ec=e=>(t,n)=>{Reflect.defineMetadata("table:formField",e,t,n)},tc=e=>(t,n)=>{Reflect.defineMetadata("table:searchFormField",e,t,n)},nc=({key:e="table:operate",value:t})=>(n,a)=>{Reflect.defineMetadata(e,{priority:1,...t,es:(t==null?void 0:t.es)||"onNow"},n,a)};class Re{static get(t){return ye(t)?null:jt(this,Le).get(t)}static set(t,n){ye(t)||jt(this,Le).set(t,n)}}Le=new WeakMap,wr(Re,Le,new Map);var rc={"um-district-tree-node":"_um-district-tree-node_1qin3_1",title:"_title_1qin3_9"};const ac=["title"];var yr=re(r.defineComponent({props:{title:null,id:null,officeLevel:null,officeLevelData:null,dictTypes:null},setup(e){const t=e,n="icon-a-gonganjubeifen5",a="icon-gonganju",i="icon-a-bianzu171",o=r.computed(()=>{var l,f,u,m;return{district:(f=(l=t.dictTypes)==null?void 0:l.district)!=null?f:"DISTRICTNODE",office:(m=(u=t.dictTypes)==null?void 0:u.office)!=null?m:"DISTRICTOFFICE"}}),s=r.computed(()=>{var u,m;const l=t.officeLevel,f=(m=(u=t.officeLevelData)==null?void 0:u.find(y=>y.id==l))==null?void 0:m.typeName;return Re.get(l)===n||f===o.value.district?(Re.set(l,n),n):Re.get(l)===a||f===o.value.office?(Re.set(l,a),a):i});return(l,f)=>(r.openBlock(),r.createElementBlock("div",{class:r.normalizeClass(l.$style["um-district-tree-node"]),title:e.title},[r.createVNode(Ee,{type:r.unref(s)},null,8,["type"]),r.createElementVNode("span",{class:r.normalizeClass(l.$style.title)},r.toDisplayString(e.title),3)],10,ac))}}),[["__cssModules",{$style:rc}]]),oc={"um-tree":"_um-tree_8ig8y_1"},ic=re(r.defineComponent({props:{treeData:null,keyword:null,nodeId:null,officeLevelData:null,fetchOfficeLevelData:null,dictTypes:{default:()=>({district:"DISTRICTNODE",office:"DISTRICTOFFICE"})}},emits:["onSelect"],setup(e,{expose:t,emit:n}){const a=e,i=r.ref(),o=r.ref({label:"name",children:"children",disabled:"disabled"}),s=r.ref([]),l=r.computed(()=>{var u;return(u=a.officeLevelData)!=null?u:s.value});async function f(){if(a.officeLevelData||!a.fetchOfficeLevelData)return;const{code:u,data:m}=await a.fetchOfficeLevelData();s.value=u===0?m:[]}return f(),r.watch([()=>a.nodeId,i],([u,m])=>{m&&m.setSelectKey(u)}),t({setSelectKey:u=>{var m;return(m=i.value)==null?void 0:m.setSelectKey(u)},refresh:f}),(u,m)=>r.unref(l)&&r.unref(l).length>0?(r.openBlock(),r.createBlock(It,{key:0,ref_key:"districtTreeRef",ref:i,keyword:e.keyword,class:r.normalizeClass(u.$style["um-tree"]),"tree-data":e.treeData,props:o.value,"default-expand-all":!0,onOnSelect:m[0]||(m[0]=(y,b)=>u.$emit("onSelect",y,b))},{default:r.withCtx(({node:y,data:b})=>[r.createVNode(yr,{title:y.label,id:y.id,"office-level":b.officeLevel,"office-level-data":r.unref(l),"dict-types":e.dictTypes},null,8,["title","id","office-level","office-level-data","dict-types"])]),_:1},8,["keyword","class","tree-data","props"])):r.createCommentVNode("",!0)}}),[["__cssModules",{$style:oc}]]);const sc={class:"el-tree-node__label"},lc={name:"area-tree",inheritAttrs:!1},uc=r.defineComponent({...lc,props:{treeData:null,props:null,defaultExpandAll:{type:Boolean,default:!1},keyword:null,nodeKey:{default:"id"}},emits:["onSelect"],setup(e,{emit:t}){const n=e,a=r.ref();r.watch(()=>n.keyword,s=>{a.value.filter(s)});const i=(s,l)=>s?l.label.indexOf(s)!==-1:!0,o=(s,l,f)=>{t("onSelect",s,l,f)};return(s,l)=>{const f=r.resolveComponent("el-tree");return r.openBlock(),r.createBlock(f,{ref_key:"treeRef",ref:a,data:e.treeData,props:n.props,"default-expand-all":e.defaultExpandAll,"expand-on-click-node":!1,"filter-node-method":i,"highlight-current":"","node-key":e.nodeKey,onNodeClick:o},{default:r.withCtx(({node:u})=>[r.createElementVNode("span",sc,r.toDisplayString(u.label),1)]),_:1},8,["data","props","default-expand-all","node-key"])}}});_.AreaTree=uc,_.DEFAULT_DEFER_TYPES=ot,_.EVENT_PHASES=rt,_.Iconfont=Ee,_.TableColumnMethodDecorator=nc,_.TableColumnPropertyDecorator=Qu,_.TableFormColumnPropertyDecorator=ec,_.TableSearchFormPropertyDecorator=tc,_.UmByClass=ur,_.UmByClassEnhance=Lu,_.UmColumnRender=zt,_.UmDialog=cr,_.UmDistrictTree=ic,_.UmDistrictTreeNode=yr,_.UmPagination=hr,_.UmSearchForm=dr,_.UmSyncNodeForm=Zu,_.UmTable=Ut,_.UmTableColumn=Ve,_.UmTableDialog=fr,_.UmTableForm=mr,_.UmTableOperate=Wt,_.UmTableToolbar=Lt,_.UmTree=It,_.UmTreeSelect=pr,_.buildOperateColumn=tr,_.collectClassMembers=ze,_.collectDataColumns=qn,_.collectOperateGroups=Jn,_.collectToolbar=rr,_.collectTypedTasks=nr,_.createTargetInstance=Fe,_.diagnoseTarget=ir,_.findMethodMeta=lt,_.getMemberMeta=We,_.isDiagnosticsEnabled=Eu,_.normalizeFieldName=Yt,_.reportDiagnostics=sr,_.reportDiagnosticsOnce=xt,_.resolveOperateWidth=Zn,_.resolveShowOperate=Xn,_.runEventPipeline=at,_.scanDecoratedMembers=ae,_.setDiagnosticsEnabled=_u,_.sortTasksByPriority=Mt,_.transformFields=Ye,Object.defineProperties(_,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}); diff --git a/index.d.ts b/index.d.ts new file mode 100644 index 0000000..fe41358 --- /dev/null +++ b/index.d.ts @@ -0,0 +1,33 @@ +/** + * 组件库出口。 + * + * 改造前这里只导出了 4 个组件,类型一个都没对外暴露 —— 使用方拿不到 + * `IFieldMetaValue` / `TFieldMetaValue` 这些写装饰器必需的入参类型, + * 只能用 `any` 硬写。 + * + * 现在: + * - 组件全量导出(只导出无重依赖的那批,CodeMirror / SingleUpload 之类的 + * 业务组件依赖第三方库较多,需要时单独按路径引用); + * - 类型与内核(core)一并导出,允许使用方复用反射扫描 / 事件链能力。 + */ +export { default as UmByClass } from "./UmTable/UmByClass.vue"; +export { default as UmByClassEnhance } from "./UmTable/UmByClassEnhance.vue"; +export { default as UmTable } from "./UmTable/UmTable.vue"; +export { default as UmTableColumn } from "./UmTable/UmTableColumn.vue"; +export { default as UmTableForm } from "./UmTable/UmTableForm.vue"; +export { default as UmTableDialog } from "./UmTable/UmTableDialog.vue"; +export { default as UmSearchForm } from "./UmTable/UmSearchForm.vue"; +export { default as UmSyncNodeForm } from "./UmTable/UmSyncNodeForm.vue"; +export { default as UmColumnRender } from "./UmTable/UmColumnRender.vue"; +export { default as UmTableOperate } from "./UmTable/UmTableOperate.vue"; +export { default as UmTableToolbar } from "./UmTable/UmTableToolbar.vue"; +export * from "./UmTable/index"; +export { default as UmDialog } from "./UmDialog/index.vue"; +export { default as UmPagination } from "./UmPagination/index.vue"; +export { default as Iconfont } from "./Iconfont/index.vue"; +export { default as UmTree } from "./UmTree/UmTree.vue"; +export { default as UmDistrictTree } from "./UmTree/UmDistrictTree.vue"; +export { default as UmDistrictTreeNode } from "./UmTree/UmDistrictTreeNode.vue"; +export { default as AreaTree } from "./UmTree/AreaTree.vue"; +export { default as UmTreeSelect } from "./UmTreeSelect/UmTreeSelect.vue"; +export * from "./UmTree/types"; diff --git a/package.json b/package.json index 49640df..3afe176 100644 --- a/package.json +++ b/package.json @@ -1,11 +1,39 @@ { "name": "funjiaui_vue_package", - "version": "1.0.0", - "main": "um_table.es.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" + "version": "1.2.0", + "description": "FunjiaUI —— 装饰器 / 配置类驱动的 Vue3 + Element Plus 表格组件库(构建产物)", + "main": "funjiaui.cjs.js", + "module": "funjiaui.es.js", + "unpkg": "funjiaui.umd.js", + "jsdelivr": "funjiaui.umd.js", + "types": "index.d.ts", + "style": "style.css", + "sideEffects": [ + "*.css" + ], + "files": [ + "*.js", + "*.css", + "*.d.ts", + "Iconfont", + "UmDialog", + "UmPagination", + "UmTable", + "UmTree", + "UmTreeSelect" + ], + "peerDependencies": { + "vue": "^3.2.33", + "element-plus": "^2.1.10", + "@element-plus/icons-vue": "^2.0.10" }, - "author": "", - "license": "ISC", - "description": "" + "keywords": [ + "vue3", + "element-plus", + "table", + "decorator", + "funjiaui" + ], + "author": "funjia", + "license": "ISC" } diff --git a/style.css b/style.css index 6385294..1f594e4 100644 --- a/style.css +++ b/style.css @@ -1 +1 @@ -._um-import_19xyw_1 input[type=file]{display:none}.toolbar[data-v-3a95d7bb]{display:flex;align-items:center;justify-content:flex-end}.toolbar .item[data-v-3a95d7bb]{margin-left:20px;cursor:pointer;display:flex;align-items:center}.toolbar .item[data-v-3a95d7bb] .iconfont{margin-right:4px}.toolbar .item.add[data-v-3a95d7bb]{color:#0f8afd}.toolbar .item.del[data-v-3a95d7bb]{color:red}.toolbar .disabled[data-v-3a95d7bb]{cursor:not-allowed;color:#d5d5d5}.um-table[data-v-4d037dbe]{--el-table-header-text-color: #333;--el-table-header-bg-color: #fafafa}._table-column-img_citx0_1{width:100px;height:100px}.operate-group[data-v-05b44b14]{display:flex}.operate-group a[data-v-05b44b14]{cursor:pointer;margin-left:10px}.operate-group a[data-v-05b44b14]:first-child{margin-left:0}.operate-group a.edit[data-v-05b44b14],.operate-group a.custom-operate[data-v-05b44b14]{color:#0fe9fd}.operate-group a.del[data-v-05b44b14]{color:red}.el-dialog.um-dialog .el-dialog__body{max-height:70vh;overflow:auto}._search-form_123e3_1{--color: #0f8afd}._search-form_123e3_1 ._reset_123e3_4,._search-form_123e3_1 ._submit_123e3_5{border-radius:2px;border:1px solid var(--color)}._search-form_123e3_1 ._reset_123e3_4.el-button{--el-button-text-color: var(--color);--el-button-hover-text-color: var(--color);--el-button-hover-bg-color: transparent;--el-button-hover-border-color: var(--color);--el-button-bg-color: transparent;--el-button-border-color: var(--color)}._search-form_123e3_1 ._submit_123e3_5.el-button{--el-button-text-color: #fff;--el-button-hover-text-color: #fff;--el-button-hover-bg-color: var(--color);--el-button-hover-border-color: var(--color);--el-button-bg-color: var(--color);--el-button-border-color: var(--color)}.um-pagination[data-v-2069c634]{--el-pagination-button-height: 30px;font-size:14px;letter-spacing:2px}.um-pagination ul[data-v-2069c634]{display:flex;align-items:center;justify-content:flex-end;line-height:40px}.um-pagination ul li[data-v-2069c634]{list-style:none;line-height:40px}.um-pagination ul li[data-v-2069c634]:not(:last-child){margin-right:10px}.um-pagination ul li[data-v-2069c634] .el-dropdown{line-height:40px}.um-pagination ul .pages[data-v-2069c634]{display:flex;align-items:center}.um-pagination ul .btn-arrow[data-v-2069c634]{cursor:pointer}.um-pagination ul .btn-arrow.disabled[data-v-2069c634]{cursor:not-allowed}.um-pagination ul .el-input__inner[data-v-2069c634]{padding:0 5px;text-align:center;border:1px solid var(--el-border-color)}.page[data-v-6df87154]{margin-top:20px} +._um-import_19xyw_1 input[type=file]{display:none}.toolbar[data-v-4e3c97de]{display:flex;align-items:center;justify-content:flex-end}.toolbar .item[data-v-4e3c97de]{margin-left:20px;cursor:pointer;display:flex;align-items:center}.toolbar .item[data-v-4e3c97de] .iconfont{margin-right:4px}.toolbar .item.add[data-v-4e3c97de]{color:#0f8afd}.toolbar .item.del[data-v-4e3c97de]{color:red}.toolbar .disabled[data-v-4e3c97de]{cursor:not-allowed;color:#d5d5d5}.um-table[data-v-1fc1c360]{--el-table-header-text-color: #333;--el-table-header-bg-color: #fafafa}._table-column-img_citx0_1{width:100px;height:100px}.operate-group[data-v-10c2977a]{display:flex}.operate-group a[data-v-10c2977a]{cursor:pointer;margin-left:10px}.operate-group a[data-v-10c2977a]:first-child{margin-left:0}.operate-group a.edit[data-v-10c2977a],.operate-group a.custom-operate[data-v-10c2977a]{color:#0f8afd}.operate-group a.del[data-v-10c2977a]{color:red}.el-dialog.um-dialog .el-dialog__body{max-height:70vh;overflow:auto}._search-form_123e3_1{--color: #0f8afd}._search-form_123e3_1 ._reset_123e3_4,._search-form_123e3_1 ._submit_123e3_5{border-radius:2px;border:1px solid var(--color)}._search-form_123e3_1 ._reset_123e3_4.el-button{--el-button-text-color: var(--color);--el-button-hover-text-color: var(--color);--el-button-hover-bg-color: transparent;--el-button-hover-border-color: var(--color);--el-button-bg-color: transparent;--el-button-border-color: var(--color)}._search-form_123e3_1 ._submit_123e3_5.el-button{--el-button-text-color: #fff;--el-button-hover-text-color: #fff;--el-button-hover-bg-color: var(--color);--el-button-hover-border-color: var(--color);--el-button-bg-color: var(--color);--el-button-border-color: var(--color)}.um-pagination[data-v-0bda02d2]{--el-pagination-button-height: 30px;font-size:14px;letter-spacing:2px}.um-pagination ul[data-v-0bda02d2]{display:flex;align-items:center;justify-content:flex-end;line-height:40px}.um-pagination ul li[data-v-0bda02d2]{list-style:none;line-height:40px}.um-pagination ul li[data-v-0bda02d2]:not(:last-child){margin-right:10px}.um-pagination ul li[data-v-0bda02d2] .el-dropdown{line-height:40px}.um-pagination ul .pages[data-v-0bda02d2]{display:flex;align-items:center}.um-pagination ul .btn-arrow[data-v-0bda02d2]{cursor:pointer}.um-pagination ul .btn-arrow.disabled[data-v-0bda02d2]{cursor:not-allowed}.um-pagination ul .el-input__inner[data-v-0bda02d2]{padding:0 5px;text-align:center;border:1px solid var(--el-border-color)}.page[data-v-67bf522d]{margin-top:20px}._avatar-uploader_ykbb1_1 .el-upload{border:1px dashed #d9d9d9;border-radius:6px;cursor:pointer;position:relative;overflow:hidden}._avatar-uploader_ykbb1_1 .el-upload:hover{border-color:#409eff}._avatar-uploader_ykbb1_1 .avatar-uploader-icon{font-size:28px;color:#8c939d;width:100px;height:100px;text-align:center;display:flex;flex-direction:column}._avatar-uploader_ykbb1_1 .avatar-uploader-icon span{font-size:14px}._avatar-uploader_ykbb1_1 .avatar{width:100px;height:100px;display:block}.um-tree-select-popper .el-scrollbar__view{margin-top:0!important}.um-tree-select-popper .el-select-dropdown__item.hover,.um-tree-select-popper .el-select-dropdown__item:hover{background-color:transparent!important}.um-tree-select-popper .el-tree{margin-top:6px}.um-tree-select-popper .el-tree .el-tree-node__content{padding-right:18px}.um-tree-select-popper .el-input .el-input__inner{border:none;border-radius:0;border-bottom:1px solid var(--um-primary-color)}._form-operate_omswa_1{display:flex;justify-content:flex-end;--color: #0f8afd}._form-operate_omswa_1 ._cancel_omswa_6,._form-operate_omswa_1 ._submit_omswa_7{border-radius:2px;border:1px solid var(--color)}._form-operate_omswa_1 ._cancel_omswa_6.el-button{--el-button-text-color: var(--color);--el-button-hover-text-color: var(--color);--el-button-hover-bg-color: transparent;--el-button-hover-border-color: var(--color);--el-button-bg-color: transparent;--el-button-border-color: var(--color)}._form-operate_omswa_1 ._submit_omswa_7.el-button{--el-button-text-color: #fff;--el-button-hover-text-color: #fff;--el-button-hover-bg-color: var(--color);--el-button-hover-border-color: var(--color);--el-button-bg-color: var(--color);--el-button-border-color: var(--color)}._um-district-tree-node_1qin3_1{display:flex;flex-direction:row;align-items:center}._um-district-tree-node_1qin3_1 .iconfont{font-size:18px}._um-district-tree-node_1qin3_1 ._title_1qin3_9{font-size:14px}._um-tree_8ig8y_1{display:inline-block!important;min-width:100%} diff --git a/um_table.es.js b/um_table.es.js deleted file mode 100644 index fb57cc1..0000000 --- a/um_table.es.js +++ /dev/null @@ -1,3508 +0,0 @@ -import { defineComponent, computed, openBlock, createElementBlock, normalizeClass, normalizeStyle, ref, createVNode, createElementVNode, h, Fragment, unref, withCtx, renderSlot, createBlock, resolveDynamicComponent, resolveComponent, createSlots, toDisplayString, createTextVNode, renderList, withKeys, pushScopeId, popScopeId } from "vue"; -import { ElTable, ElTableColumn, ElFormItem, ElInput, ElDatePicker, ElSelect, ElButton, ElForm, ElMessage } from "element-plus"; -var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {}; -/*! ***************************************************************************** -Copyright (C) Microsoft. All rights reserved. -Licensed under the Apache License, Version 2.0 (the "License"); you may not use -this file except in compliance with the License. You may obtain a copy of the -License at http://www.apache.org/licenses/LICENSE-2.0 - -THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED -WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, -MERCHANTABLITY OR NON-INFRINGEMENT. - -See the Apache Version 2.0 License for specific language governing permissions -and limitations under the License. -***************************************************************************** */ -var Reflect$1; -(function(Reflect2) { - (function(factory) { - var root2 = typeof commonjsGlobal === "object" ? commonjsGlobal : typeof self === "object" ? self : typeof this === "object" ? this : Function("return this;")(); - var exporter = makeExporter(Reflect2); - if (typeof root2.Reflect === "undefined") { - root2.Reflect = Reflect2; - } else { - exporter = makeExporter(root2.Reflect, exporter); - } - factory(exporter); - function makeExporter(target, previous) { - return function(key, value) { - if (typeof target[key] !== "function") { - Object.defineProperty(target, key, { configurable: true, writable: true, value }); - } - if (previous) - previous(key, value); - }; - } - })(function(exporter) { - var hasOwn = Object.prototype.hasOwnProperty; - var supportsSymbol = typeof Symbol === "function"; - var toPrimitiveSymbol = supportsSymbol && typeof Symbol.toPrimitive !== "undefined" ? Symbol.toPrimitive : "@@toPrimitive"; - var iteratorSymbol = supportsSymbol && typeof Symbol.iterator !== "undefined" ? Symbol.iterator : "@@iterator"; - var supportsCreate = typeof Object.create === "function"; - var supportsProto = { __proto__: [] } instanceof Array; - var downLevel = !supportsCreate && !supportsProto; - var HashMap = { - create: supportsCreate ? function() { - return MakeDictionary(/* @__PURE__ */ Object.create(null)); - } : supportsProto ? function() { - return MakeDictionary({ __proto__: null }); - } : function() { - return MakeDictionary({}); - }, - has: downLevel ? function(map, key) { - return hasOwn.call(map, key); - } : function(map, key) { - return key in map; - }, - get: downLevel ? function(map, key) { - return hasOwn.call(map, key) ? map[key] : void 0; - } : function(map, key) { - return map[key]; - } - }; - var functionPrototype = Object.getPrototypeOf(Function); - var usePolyfill = typeof process === "object" && process["env"] && process["env"]["REFLECT_METADATA_USE_MAP_POLYFILL"] === "true"; - var _Map = !usePolyfill && typeof Map === "function" && typeof Map.prototype.entries === "function" ? Map : CreateMapPolyfill(); - var _Set = !usePolyfill && typeof Set === "function" && typeof Set.prototype.entries === "function" ? Set : CreateSetPolyfill(); - var _WeakMap = !usePolyfill && typeof WeakMap === "function" ? WeakMap : CreateWeakMapPolyfill(); - var Metadata = new _WeakMap(); - function decorate(decorators, target, propertyKey, attributes) { - if (!IsUndefined(propertyKey)) { - if (!IsArray(decorators)) - throw new TypeError(); - if (!IsObject(target)) - throw new TypeError(); - if (!IsObject(attributes) && !IsUndefined(attributes) && !IsNull(attributes)) - throw new TypeError(); - if (IsNull(attributes)) - attributes = void 0; - propertyKey = ToPropertyKey(propertyKey); - return DecorateProperty(decorators, target, propertyKey, attributes); - } else { - if (!IsArray(decorators)) - throw new TypeError(); - if (!IsConstructor(target)) - throw new TypeError(); - return DecorateConstructor(decorators, target); - } - } - exporter("decorate", decorate); - function metadata(metadataKey, metadataValue) { - function decorator(target, propertyKey) { - if (!IsObject(target)) - throw new TypeError(); - if (!IsUndefined(propertyKey) && !IsPropertyKey(propertyKey)) - throw new TypeError(); - OrdinaryDefineOwnMetadata(metadataKey, metadataValue, target, propertyKey); - } - return decorator; - } - exporter("metadata", metadata); - function defineMetadata(metadataKey, metadataValue, target, propertyKey) { - if (!IsObject(target)) - throw new TypeError(); - if (!IsUndefined(propertyKey)) - propertyKey = ToPropertyKey(propertyKey); - return OrdinaryDefineOwnMetadata(metadataKey, metadataValue, target, propertyKey); - } - exporter("defineMetadata", defineMetadata); - function hasMetadata(metadataKey, target, propertyKey) { - if (!IsObject(target)) - throw new TypeError(); - if (!IsUndefined(propertyKey)) - propertyKey = ToPropertyKey(propertyKey); - return OrdinaryHasMetadata(metadataKey, target, propertyKey); - } - exporter("hasMetadata", hasMetadata); - function hasOwnMetadata(metadataKey, target, propertyKey) { - if (!IsObject(target)) - throw new TypeError(); - if (!IsUndefined(propertyKey)) - propertyKey = ToPropertyKey(propertyKey); - return OrdinaryHasOwnMetadata(metadataKey, target, propertyKey); - } - exporter("hasOwnMetadata", hasOwnMetadata); - function getMetadata(metadataKey, target, propertyKey) { - if (!IsObject(target)) - throw new TypeError(); - if (!IsUndefined(propertyKey)) - propertyKey = ToPropertyKey(propertyKey); - return OrdinaryGetMetadata(metadataKey, target, propertyKey); - } - exporter("getMetadata", getMetadata); - function getOwnMetadata(metadataKey, target, propertyKey) { - if (!IsObject(target)) - throw new TypeError(); - if (!IsUndefined(propertyKey)) - propertyKey = ToPropertyKey(propertyKey); - return OrdinaryGetOwnMetadata(metadataKey, target, propertyKey); - } - exporter("getOwnMetadata", getOwnMetadata); - function getMetadataKeys(target, propertyKey) { - if (!IsObject(target)) - throw new TypeError(); - if (!IsUndefined(propertyKey)) - propertyKey = ToPropertyKey(propertyKey); - return OrdinaryMetadataKeys(target, propertyKey); - } - exporter("getMetadataKeys", getMetadataKeys); - function getOwnMetadataKeys(target, propertyKey) { - if (!IsObject(target)) - throw new TypeError(); - if (!IsUndefined(propertyKey)) - propertyKey = ToPropertyKey(propertyKey); - return OrdinaryOwnMetadataKeys(target, propertyKey); - } - exporter("getOwnMetadataKeys", getOwnMetadataKeys); - function deleteMetadata(metadataKey, target, propertyKey) { - if (!IsObject(target)) - throw new TypeError(); - if (!IsUndefined(propertyKey)) - propertyKey = ToPropertyKey(propertyKey); - var metadataMap = GetOrCreateMetadataMap(target, propertyKey, false); - if (IsUndefined(metadataMap)) - return false; - if (!metadataMap.delete(metadataKey)) - return false; - if (metadataMap.size > 0) - return true; - var targetMetadata = Metadata.get(target); - targetMetadata.delete(propertyKey); - if (targetMetadata.size > 0) - return true; - Metadata.delete(target); - return true; - } - exporter("deleteMetadata", deleteMetadata); - function DecorateConstructor(decorators, target) { - for (var i = decorators.length - 1; i >= 0; --i) { - var decorator = decorators[i]; - var decorated = decorator(target); - if (!IsUndefined(decorated) && !IsNull(decorated)) { - if (!IsConstructor(decorated)) - throw new TypeError(); - target = decorated; - } - } - return target; - } - function DecorateProperty(decorators, target, propertyKey, descriptor) { - for (var i = decorators.length - 1; i >= 0; --i) { - var decorator = decorators[i]; - var decorated = decorator(target, propertyKey, descriptor); - if (!IsUndefined(decorated) && !IsNull(decorated)) { - if (!IsObject(decorated)) - throw new TypeError(); - descriptor = decorated; - } - } - return descriptor; - } - function GetOrCreateMetadataMap(O, P, Create) { - var targetMetadata = Metadata.get(O); - if (IsUndefined(targetMetadata)) { - if (!Create) - return void 0; - targetMetadata = new _Map(); - Metadata.set(O, targetMetadata); - } - var metadataMap = targetMetadata.get(P); - if (IsUndefined(metadataMap)) { - if (!Create) - return void 0; - metadataMap = new _Map(); - targetMetadata.set(P, metadataMap); - } - return metadataMap; - } - function OrdinaryHasMetadata(MetadataKey, O, P) { - var hasOwn2 = OrdinaryHasOwnMetadata(MetadataKey, O, P); - if (hasOwn2) - return true; - var parent = OrdinaryGetPrototypeOf(O); - if (!IsNull(parent)) - return OrdinaryHasMetadata(MetadataKey, parent, P); - return false; - } - function OrdinaryHasOwnMetadata(MetadataKey, O, P) { - var metadataMap = GetOrCreateMetadataMap(O, P, false); - if (IsUndefined(metadataMap)) - return false; - return ToBoolean(metadataMap.has(MetadataKey)); - } - function OrdinaryGetMetadata(MetadataKey, O, P) { - var hasOwn2 = OrdinaryHasOwnMetadata(MetadataKey, O, P); - if (hasOwn2) - return OrdinaryGetOwnMetadata(MetadataKey, O, P); - var parent = OrdinaryGetPrototypeOf(O); - if (!IsNull(parent)) - return OrdinaryGetMetadata(MetadataKey, parent, P); - return void 0; - } - function OrdinaryGetOwnMetadata(MetadataKey, O, P) { - var metadataMap = GetOrCreateMetadataMap(O, P, false); - if (IsUndefined(metadataMap)) - return void 0; - return metadataMap.get(MetadataKey); - } - function OrdinaryDefineOwnMetadata(MetadataKey, MetadataValue, O, P) { - var metadataMap = GetOrCreateMetadataMap(O, P, true); - metadataMap.set(MetadataKey, MetadataValue); - } - function OrdinaryMetadataKeys(O, P) { - var ownKeys = OrdinaryOwnMetadataKeys(O, P); - var parent = OrdinaryGetPrototypeOf(O); - if (parent === null) - return ownKeys; - var parentKeys = OrdinaryMetadataKeys(parent, P); - if (parentKeys.length <= 0) - return ownKeys; - if (ownKeys.length <= 0) - return parentKeys; - var set = new _Set(); - var keys2 = []; - for (var _i = 0, ownKeys_1 = ownKeys; _i < ownKeys_1.length; _i++) { - var key = ownKeys_1[_i]; - var hasKey = set.has(key); - if (!hasKey) { - set.add(key); - keys2.push(key); - } - } - for (var _a = 0, parentKeys_1 = parentKeys; _a < parentKeys_1.length; _a++) { - var key = parentKeys_1[_a]; - var hasKey = set.has(key); - if (!hasKey) { - set.add(key); - keys2.push(key); - } - } - return keys2; - } - function OrdinaryOwnMetadataKeys(O, P) { - var keys2 = []; - var metadataMap = GetOrCreateMetadataMap(O, P, false); - if (IsUndefined(metadataMap)) - return keys2; - var keysObj = metadataMap.keys(); - var iterator = GetIterator(keysObj); - var k = 0; - while (true) { - var next = IteratorStep(iterator); - if (!next) { - keys2.length = k; - return keys2; - } - var nextValue = IteratorValue(next); - try { - keys2[k] = nextValue; - } catch (e) { - try { - IteratorClose(iterator); - } finally { - throw e; - } - } - k++; - } - } - function Type(x) { - if (x === null) - return 1; - switch (typeof x) { - case "undefined": - return 0; - case "boolean": - return 2; - case "string": - return 3; - case "symbol": - return 4; - case "number": - return 5; - case "object": - return x === null ? 1 : 6; - default: - return 6; - } - } - function IsUndefined(x) { - return x === void 0; - } - function IsNull(x) { - return x === null; - } - function IsSymbol(x) { - return typeof x === "symbol"; - } - function IsObject(x) { - return typeof x === "object" ? x !== null : typeof x === "function"; - } - function ToPrimitive(input, PreferredType) { - switch (Type(input)) { - case 0: - return input; - case 1: - return input; - case 2: - return input; - case 3: - return input; - case 4: - return input; - case 5: - return input; - } - var hint = PreferredType === 3 ? "string" : PreferredType === 5 ? "number" : "default"; - var exoticToPrim = GetMethod(input, toPrimitiveSymbol); - if (exoticToPrim !== void 0) { - var result = exoticToPrim.call(input, hint); - if (IsObject(result)) - throw new TypeError(); - return result; - } - return OrdinaryToPrimitive(input, hint === "default" ? "number" : hint); - } - function OrdinaryToPrimitive(O, hint) { - if (hint === "string") { - var toString_1 = O.toString; - if (IsCallable(toString_1)) { - var result = toString_1.call(O); - if (!IsObject(result)) - return result; - } - var valueOf = O.valueOf; - if (IsCallable(valueOf)) { - var result = valueOf.call(O); - if (!IsObject(result)) - return result; - } - } else { - var valueOf = O.valueOf; - if (IsCallable(valueOf)) { - var result = valueOf.call(O); - if (!IsObject(result)) - return result; - } - var toString_2 = O.toString; - if (IsCallable(toString_2)) { - var result = toString_2.call(O); - if (!IsObject(result)) - return result; - } - } - throw new TypeError(); - } - function ToBoolean(argument) { - return !!argument; - } - function ToString(argument) { - return "" + argument; - } - function ToPropertyKey(argument) { - var key = ToPrimitive(argument, 3); - if (IsSymbol(key)) - return key; - return ToString(key); - } - function IsArray(argument) { - return Array.isArray ? Array.isArray(argument) : argument instanceof Object ? argument instanceof Array : Object.prototype.toString.call(argument) === "[object Array]"; - } - function IsCallable(argument) { - return typeof argument === "function"; - } - function IsConstructor(argument) { - return typeof argument === "function"; - } - function IsPropertyKey(argument) { - switch (Type(argument)) { - case 3: - return true; - case 4: - return true; - default: - return false; - } - } - function GetMethod(V, P) { - var func = V[P]; - if (func === void 0 || func === null) - return void 0; - if (!IsCallable(func)) - throw new TypeError(); - return func; - } - function GetIterator(obj) { - var method = GetMethod(obj, iteratorSymbol); - if (!IsCallable(method)) - throw new TypeError(); - var iterator = method.call(obj); - if (!IsObject(iterator)) - throw new TypeError(); - return iterator; - } - function IteratorValue(iterResult) { - return iterResult.value; - } - function IteratorStep(iterator) { - var result = iterator.next(); - return result.done ? false : result; - } - function IteratorClose(iterator) { - var f = iterator["return"]; - if (f) - f.call(iterator); - } - function OrdinaryGetPrototypeOf(O) { - var proto = Object.getPrototypeOf(O); - if (typeof O !== "function" || O === functionPrototype) - return proto; - if (proto !== functionPrototype) - return proto; - var prototype = O.prototype; - var prototypeProto = prototype && Object.getPrototypeOf(prototype); - if (prototypeProto == null || prototypeProto === Object.prototype) - return proto; - var constructor = prototypeProto.constructor; - if (typeof constructor !== "function") - return proto; - if (constructor === O) - return proto; - return constructor; - } - function CreateMapPolyfill() { - var cacheSentinel = {}; - var arraySentinel = []; - var MapIterator = function() { - function MapIterator2(keys2, values, selector) { - this._index = 0; - this._keys = keys2; - this._values = values; - this._selector = selector; - } - MapIterator2.prototype["@@iterator"] = function() { - return this; - }; - MapIterator2.prototype[iteratorSymbol] = function() { - return this; - }; - MapIterator2.prototype.next = function() { - var index = this._index; - if (index >= 0 && index < this._keys.length) { - var result = this._selector(this._keys[index], this._values[index]); - if (index + 1 >= this._keys.length) { - this._index = -1; - this._keys = arraySentinel; - this._values = arraySentinel; - } else { - this._index++; - } - return { value: result, done: false }; - } - return { value: void 0, done: true }; - }; - MapIterator2.prototype.throw = function(error) { - if (this._index >= 0) { - this._index = -1; - this._keys = arraySentinel; - this._values = arraySentinel; - } - throw error; - }; - MapIterator2.prototype.return = function(value) { - if (this._index >= 0) { - this._index = -1; - this._keys = arraySentinel; - this._values = arraySentinel; - } - return { value, done: true }; - }; - return MapIterator2; - }(); - return function() { - function Map2() { - this._keys = []; - this._values = []; - this._cacheKey = cacheSentinel; - this._cacheIndex = -2; - } - Object.defineProperty(Map2.prototype, "size", { - get: function() { - return this._keys.length; - }, - enumerable: true, - configurable: true - }); - Map2.prototype.has = function(key) { - return this._find(key, false) >= 0; - }; - Map2.prototype.get = function(key) { - var index = this._find(key, false); - return index >= 0 ? this._values[index] : void 0; - }; - Map2.prototype.set = function(key, value) { - var index = this._find(key, true); - this._values[index] = value; - return this; - }; - Map2.prototype.delete = function(key) { - var index = this._find(key, false); - if (index >= 0) { - var size = this._keys.length; - for (var i = index + 1; i < size; i++) { - this._keys[i - 1] = this._keys[i]; - this._values[i - 1] = this._values[i]; - } - this._keys.length--; - this._values.length--; - if (key === this._cacheKey) { - this._cacheKey = cacheSentinel; - this._cacheIndex = -2; - } - return true; - } - return false; - }; - Map2.prototype.clear = function() { - this._keys.length = 0; - this._values.length = 0; - this._cacheKey = cacheSentinel; - this._cacheIndex = -2; - }; - Map2.prototype.keys = function() { - return new MapIterator(this._keys, this._values, getKey); - }; - Map2.prototype.values = function() { - return new MapIterator(this._keys, this._values, getValue2); - }; - Map2.prototype.entries = function() { - return new MapIterator(this._keys, this._values, getEntry); - }; - Map2.prototype["@@iterator"] = function() { - return this.entries(); - }; - Map2.prototype[iteratorSymbol] = function() { - return this.entries(); - }; - Map2.prototype._find = function(key, insert) { - if (this._cacheKey !== key) { - this._cacheIndex = this._keys.indexOf(this._cacheKey = key); - } - if (this._cacheIndex < 0 && insert) { - this._cacheIndex = this._keys.length; - this._keys.push(key); - this._values.push(void 0); - } - return this._cacheIndex; - }; - return Map2; - }(); - function getKey(key, _) { - return key; - } - function getValue2(_, value) { - return value; - } - function getEntry(key, value) { - return [key, value]; - } - } - function CreateSetPolyfill() { - return function() { - function Set2() { - this._map = new _Map(); - } - Object.defineProperty(Set2.prototype, "size", { - get: function() { - return this._map.size; - }, - enumerable: true, - configurable: true - }); - Set2.prototype.has = function(value) { - return this._map.has(value); - }; - Set2.prototype.add = function(value) { - return this._map.set(value, value), this; - }; - Set2.prototype.delete = function(value) { - return this._map.delete(value); - }; - Set2.prototype.clear = function() { - this._map.clear(); - }; - Set2.prototype.keys = function() { - return this._map.keys(); - }; - Set2.prototype.values = function() { - return this._map.values(); - }; - Set2.prototype.entries = function() { - return this._map.entries(); - }; - Set2.prototype["@@iterator"] = function() { - return this.keys(); - }; - Set2.prototype[iteratorSymbol] = function() { - return this.keys(); - }; - return Set2; - }(); - } - function CreateWeakMapPolyfill() { - var UUID_SIZE = 16; - var keys2 = HashMap.create(); - var rootKey = CreateUniqueKey(); - return function() { - function WeakMap2() { - this._key = CreateUniqueKey(); - } - WeakMap2.prototype.has = function(target) { - var table = GetOrCreateWeakMapTable(target, false); - return table !== void 0 ? HashMap.has(table, this._key) : false; - }; - WeakMap2.prototype.get = function(target) { - var table = GetOrCreateWeakMapTable(target, false); - return table !== void 0 ? HashMap.get(table, this._key) : void 0; - }; - WeakMap2.prototype.set = function(target, value) { - var table = GetOrCreateWeakMapTable(target, true); - table[this._key] = value; - return this; - }; - WeakMap2.prototype.delete = function(target) { - var table = GetOrCreateWeakMapTable(target, false); - return table !== void 0 ? delete table[this._key] : false; - }; - WeakMap2.prototype.clear = function() { - this._key = CreateUniqueKey(); - }; - return WeakMap2; - }(); - function CreateUniqueKey() { - var key; - do - key = "@@WeakMap@@" + CreateUUID(); - while (HashMap.has(keys2, key)); - keys2[key] = true; - return key; - } - function GetOrCreateWeakMapTable(target, create) { - if (!hasOwn.call(target, rootKey)) { - if (!create) - return void 0; - Object.defineProperty(target, rootKey, { value: HashMap.create() }); - } - return target[rootKey]; - } - function FillRandomBytes(buffer, size) { - for (var i = 0; i < size; ++i) - buffer[i] = Math.random() * 255 | 0; - return buffer; - } - function GenRandomBytes(size) { - if (typeof Uint8Array === "function") { - if (typeof crypto !== "undefined") - return crypto.getRandomValues(new Uint8Array(size)); - if (typeof msCrypto !== "undefined") - return msCrypto.getRandomValues(new Uint8Array(size)); - return FillRandomBytes(new Uint8Array(size), size); - } - return FillRandomBytes(new Array(size), size); - } - function CreateUUID() { - var data = GenRandomBytes(UUID_SIZE); - data[6] = data[6] & 79 | 64; - data[8] = data[8] & 191 | 128; - var result = ""; - for (var offset = 0; offset < UUID_SIZE; ++offset) { - var byte = data[offset]; - if (offset === 4 || offset === 6 || offset === 8) - result += "-"; - if (byte < 16) - result += "0"; - result += byte.toString(16).toLowerCase(); - } - return result; - } - } - function MakeDictionary(obj) { - obj.__ = void 0; - delete obj.__; - return obj; - } - }); -})(Reflect$1 || (Reflect$1 = {})); -var freeGlobal = typeof global == "object" && global && global.Object === Object && global; -var freeGlobal$1 = freeGlobal; -var freeSelf = typeof self == "object" && self && self.Object === Object && self; -var root = freeGlobal$1 || freeSelf || Function("return this")(); -var root$1 = root; -var Symbol$1 = root$1.Symbol; -var Symbol$2 = Symbol$1; -var objectProto$c = Object.prototype; -var hasOwnProperty$9 = objectProto$c.hasOwnProperty; -var nativeObjectToString$1 = objectProto$c.toString; -var symToStringTag$1 = Symbol$2 ? Symbol$2.toStringTag : void 0; -function getRawTag(value) { - var isOwn = hasOwnProperty$9.call(value, symToStringTag$1), tag = value[symToStringTag$1]; - try { - value[symToStringTag$1] = void 0; - var unmasked = true; - } catch (e) { - } - var result = nativeObjectToString$1.call(value); - if (unmasked) { - if (isOwn) { - value[symToStringTag$1] = tag; - } else { - delete value[symToStringTag$1]; - } - } - return result; -} -var objectProto$b = Object.prototype; -var nativeObjectToString = objectProto$b.toString; -function objectToString(value) { - return nativeObjectToString.call(value); -} -var nullTag = "[object Null]", undefinedTag = "[object Undefined]"; -var symToStringTag = Symbol$2 ? Symbol$2.toStringTag : void 0; -function baseGetTag(value) { - if (value == null) { - return value === void 0 ? undefinedTag : nullTag; - } - return symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString(value); -} -function isObjectLike(value) { - return value != null && typeof value == "object"; -} -var symbolTag$1 = "[object Symbol]"; -function isSymbol(value) { - return typeof value == "symbol" || isObjectLike(value) && baseGetTag(value) == symbolTag$1; -} -function arrayMap(array, iteratee) { - var index = -1, length = array == null ? 0 : array.length, result = Array(length); - while (++index < length) { - result[index] = iteratee(array[index], index, array); - } - return result; -} -var isArray = Array.isArray; -var isArray$1 = isArray; -var INFINITY$1 = 1 / 0; -var symbolProto$1 = Symbol$2 ? Symbol$2.prototype : void 0, symbolToString = symbolProto$1 ? symbolProto$1.toString : void 0; -function baseToString(value) { - if (typeof value == "string") { - return value; - } - if (isArray$1(value)) { - return arrayMap(value, baseToString) + ""; - } - if (isSymbol(value)) { - return symbolToString ? symbolToString.call(value) : ""; - } - var result = value + ""; - return result == "0" && 1 / value == -INFINITY$1 ? "-0" : result; -} -function isObject(value) { - var type = typeof value; - return value != null && (type == "object" || type == "function"); -} -function identity(value) { - return value; -} -var asyncTag = "[object AsyncFunction]", funcTag$1 = "[object Function]", genTag = "[object GeneratorFunction]", proxyTag = "[object Proxy]"; -function isFunction(value) { - if (!isObject(value)) { - return false; - } - var tag = baseGetTag(value); - return tag == funcTag$1 || tag == genTag || tag == asyncTag || tag == proxyTag; -} -var coreJsData = root$1["__core-js_shared__"]; -var coreJsData$1 = coreJsData; -var maskSrcKey = function() { - var uid = /[^.]+$/.exec(coreJsData$1 && coreJsData$1.keys && coreJsData$1.keys.IE_PROTO || ""); - return uid ? "Symbol(src)_1." + uid : ""; -}(); -function isMasked(func) { - return !!maskSrcKey && maskSrcKey in func; -} -var funcProto$1 = Function.prototype; -var funcToString$1 = funcProto$1.toString; -function toSource(func) { - if (func != null) { - try { - return funcToString$1.call(func); - } catch (e) { - } - try { - return func + ""; - } catch (e) { - } - } - return ""; -} -var reRegExpChar = /[\\^$.*+?()[\]{}|]/g; -var reIsHostCtor = /^\[object .+?Constructor\]$/; -var funcProto = Function.prototype, objectProto$a = Object.prototype; -var funcToString = funcProto.toString; -var hasOwnProperty$8 = objectProto$a.hasOwnProperty; -var reIsNative = RegExp( - "^" + funcToString.call(hasOwnProperty$8).replace(reRegExpChar, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$" -); -function baseIsNative(value) { - if (!isObject(value) || isMasked(value)) { - return false; - } - var pattern = isFunction(value) ? reIsNative : reIsHostCtor; - return pattern.test(toSource(value)); -} -function getValue(object, key) { - return object == null ? void 0 : object[key]; -} -function getNative(object, key) { - var value = getValue(object, key); - return baseIsNative(value) ? value : void 0; -} -var WeakMap$1 = getNative(root$1, "WeakMap"); -var WeakMap$2 = WeakMap$1; -var defineProperty = function() { - try { - var func = getNative(Object, "defineProperty"); - func({}, "", {}); - return func; - } catch (e) { - } -}(); -var defineProperty$1 = defineProperty; -var MAX_SAFE_INTEGER$1 = 9007199254740991; -var reIsUint = /^(?:0|[1-9]\d*)$/; -function isIndex(value, length) { - var type = typeof value; - length = length == null ? MAX_SAFE_INTEGER$1 : length; - return !!length && (type == "number" || type != "symbol" && reIsUint.test(value)) && (value > -1 && value % 1 == 0 && value < length); -} -function baseAssignValue(object, key, value) { - if (key == "__proto__" && defineProperty$1) { - defineProperty$1(object, key, { - "configurable": true, - "enumerable": true, - "value": value, - "writable": true - }); - } else { - object[key] = value; - } -} -function eq(value, other) { - return value === other || value !== value && other !== other; -} -var MAX_SAFE_INTEGER = 9007199254740991; -function isLength(value) { - return typeof value == "number" && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; -} -function isArrayLike(value) { - return value != null && isLength(value.length) && !isFunction(value); -} -var objectProto$9 = Object.prototype; -function isPrototype(value) { - var Ctor = value && value.constructor, proto = typeof Ctor == "function" && Ctor.prototype || objectProto$9; - return value === proto; -} -function baseTimes(n, iteratee) { - var index = -1, result = Array(n); - while (++index < n) { - result[index] = iteratee(index); - } - return result; -} -var argsTag$2 = "[object Arguments]"; -function baseIsArguments(value) { - return isObjectLike(value) && baseGetTag(value) == argsTag$2; -} -var objectProto$8 = Object.prototype; -var hasOwnProperty$7 = objectProto$8.hasOwnProperty; -var propertyIsEnumerable$1 = objectProto$8.propertyIsEnumerable; -var isArguments = baseIsArguments(function() { - return arguments; -}()) ? baseIsArguments : function(value) { - return isObjectLike(value) && hasOwnProperty$7.call(value, "callee") && !propertyIsEnumerable$1.call(value, "callee"); -}; -var isArguments$1 = isArguments; -function stubFalse() { - return false; -} -var freeExports$1 = typeof exports == "object" && exports && !exports.nodeType && exports; -var freeModule$1 = freeExports$1 && typeof module == "object" && module && !module.nodeType && module; -var moduleExports$1 = freeModule$1 && freeModule$1.exports === freeExports$1; -var Buffer = moduleExports$1 ? root$1.Buffer : void 0; -var nativeIsBuffer = Buffer ? Buffer.isBuffer : void 0; -var isBuffer = nativeIsBuffer || stubFalse; -var isBuffer$1 = isBuffer; -var argsTag$1 = "[object Arguments]", arrayTag$1 = "[object Array]", boolTag$1 = "[object Boolean]", dateTag$1 = "[object Date]", errorTag$1 = "[object Error]", funcTag = "[object Function]", mapTag$2 = "[object Map]", numberTag$1 = "[object Number]", objectTag$2 = "[object Object]", regexpTag$1 = "[object RegExp]", setTag$2 = "[object Set]", stringTag$1 = "[object String]", weakMapTag$1 = "[object WeakMap]"; -var arrayBufferTag$1 = "[object ArrayBuffer]", dataViewTag$2 = "[object DataView]", float32Tag = "[object Float32Array]", float64Tag = "[object Float64Array]", int8Tag = "[object Int8Array]", int16Tag = "[object Int16Array]", int32Tag = "[object Int32Array]", uint8Tag = "[object Uint8Array]", uint8ClampedTag = "[object Uint8ClampedArray]", uint16Tag = "[object Uint16Array]", uint32Tag = "[object Uint32Array]"; -var typedArrayTags = {}; -typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = typedArrayTags[uint32Tag] = true; -typedArrayTags[argsTag$1] = typedArrayTags[arrayTag$1] = typedArrayTags[arrayBufferTag$1] = typedArrayTags[boolTag$1] = typedArrayTags[dataViewTag$2] = typedArrayTags[dateTag$1] = typedArrayTags[errorTag$1] = typedArrayTags[funcTag] = typedArrayTags[mapTag$2] = typedArrayTags[numberTag$1] = typedArrayTags[objectTag$2] = typedArrayTags[regexpTag$1] = typedArrayTags[setTag$2] = typedArrayTags[stringTag$1] = typedArrayTags[weakMapTag$1] = false; -function baseIsTypedArray(value) { - return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[baseGetTag(value)]; -} -function baseUnary(func) { - return function(value) { - return func(value); - }; -} -var freeExports = typeof exports == "object" && exports && !exports.nodeType && exports; -var freeModule = freeExports && typeof module == "object" && module && !module.nodeType && module; -var moduleExports = freeModule && freeModule.exports === freeExports; -var freeProcess = moduleExports && freeGlobal$1.process; -var nodeUtil = function() { - try { - var types = freeModule && freeModule.require && freeModule.require("util").types; - if (types) { - return types; - } - return freeProcess && freeProcess.binding && freeProcess.binding("util"); - } catch (e) { - } -}(); -var nodeUtil$1 = nodeUtil; -var nodeIsTypedArray = nodeUtil$1 && nodeUtil$1.isTypedArray; -var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray; -var isTypedArray$1 = isTypedArray; -var objectProto$7 = Object.prototype; -var hasOwnProperty$6 = objectProto$7.hasOwnProperty; -function arrayLikeKeys(value, inherited) { - var isArr = isArray$1(value), isArg = !isArr && isArguments$1(value), isBuff = !isArr && !isArg && isBuffer$1(value), isType = !isArr && !isArg && !isBuff && isTypedArray$1(value), skipIndexes = isArr || isArg || isBuff || isType, result = skipIndexes ? baseTimes(value.length, String) : [], length = result.length; - for (var key in value) { - if ((inherited || hasOwnProperty$6.call(value, key)) && !(skipIndexes && (key == "length" || isBuff && (key == "offset" || key == "parent") || isType && (key == "buffer" || key == "byteLength" || key == "byteOffset") || isIndex(key, length)))) { - result.push(key); - } - } - return result; -} -function overArg(func, transform) { - return function(arg) { - return func(transform(arg)); - }; -} -var nativeKeys = overArg(Object.keys, Object); -var nativeKeys$1 = nativeKeys; -var objectProto$6 = Object.prototype; -var hasOwnProperty$5 = objectProto$6.hasOwnProperty; -function baseKeys(object) { - if (!isPrototype(object)) { - return nativeKeys$1(object); - } - var result = []; - for (var key in Object(object)) { - if (hasOwnProperty$5.call(object, key) && key != "constructor") { - result.push(key); - } - } - return result; -} -function keys(object) { - return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object); -} -var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, reIsPlainProp = /^\w*$/; -function isKey(value, object) { - if (isArray$1(value)) { - return false; - } - var type = typeof value; - if (type == "number" || type == "symbol" || type == "boolean" || value == null || isSymbol(value)) { - return true; - } - return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || object != null && value in Object(object); -} -var nativeCreate = getNative(Object, "create"); -var nativeCreate$1 = nativeCreate; -function hashClear() { - this.__data__ = nativeCreate$1 ? nativeCreate$1(null) : {}; - this.size = 0; -} -function hashDelete(key) { - var result = this.has(key) && delete this.__data__[key]; - this.size -= result ? 1 : 0; - return result; -} -var HASH_UNDEFINED$2 = "__lodash_hash_undefined__"; -var objectProto$5 = Object.prototype; -var hasOwnProperty$4 = objectProto$5.hasOwnProperty; -function hashGet(key) { - var data = this.__data__; - if (nativeCreate$1) { - var result = data[key]; - return result === HASH_UNDEFINED$2 ? void 0 : result; - } - return hasOwnProperty$4.call(data, key) ? data[key] : void 0; -} -var objectProto$4 = Object.prototype; -var hasOwnProperty$3 = objectProto$4.hasOwnProperty; -function hashHas(key) { - var data = this.__data__; - return nativeCreate$1 ? data[key] !== void 0 : hasOwnProperty$3.call(data, key); -} -var HASH_UNDEFINED$1 = "__lodash_hash_undefined__"; -function hashSet(key, value) { - var data = this.__data__; - this.size += this.has(key) ? 0 : 1; - data[key] = nativeCreate$1 && value === void 0 ? HASH_UNDEFINED$1 : value; - return this; -} -function Hash(entries) { - var index = -1, length = entries == null ? 0 : entries.length; - this.clear(); - while (++index < length) { - var entry = entries[index]; - this.set(entry[0], entry[1]); - } -} -Hash.prototype.clear = hashClear; -Hash.prototype["delete"] = hashDelete; -Hash.prototype.get = hashGet; -Hash.prototype.has = hashHas; -Hash.prototype.set = hashSet; -function listCacheClear() { - this.__data__ = []; - this.size = 0; -} -function assocIndexOf(array, key) { - var length = array.length; - while (length--) { - if (eq(array[length][0], key)) { - return length; - } - } - return -1; -} -var arrayProto = Array.prototype; -var splice = arrayProto.splice; -function listCacheDelete(key) { - var data = this.__data__, index = assocIndexOf(data, key); - if (index < 0) { - return false; - } - var lastIndex = data.length - 1; - if (index == lastIndex) { - data.pop(); - } else { - splice.call(data, index, 1); - } - --this.size; - return true; -} -function listCacheGet(key) { - var data = this.__data__, index = assocIndexOf(data, key); - return index < 0 ? void 0 : data[index][1]; -} -function listCacheHas(key) { - return assocIndexOf(this.__data__, key) > -1; -} -function listCacheSet(key, value) { - var data = this.__data__, index = assocIndexOf(data, key); - if (index < 0) { - ++this.size; - data.push([key, value]); - } else { - data[index][1] = value; - } - return this; -} -function ListCache(entries) { - var index = -1, length = entries == null ? 0 : entries.length; - this.clear(); - while (++index < length) { - var entry = entries[index]; - this.set(entry[0], entry[1]); - } -} -ListCache.prototype.clear = listCacheClear; -ListCache.prototype["delete"] = listCacheDelete; -ListCache.prototype.get = listCacheGet; -ListCache.prototype.has = listCacheHas; -ListCache.prototype.set = listCacheSet; -var Map$1 = getNative(root$1, "Map"); -var Map$2 = Map$1; -function mapCacheClear() { - this.size = 0; - this.__data__ = { - "hash": new Hash(), - "map": new (Map$2 || ListCache)(), - "string": new Hash() - }; -} -function isKeyable(value) { - var type = typeof value; - return type == "string" || type == "number" || type == "symbol" || type == "boolean" ? value !== "__proto__" : value === null; -} -function getMapData(map, key) { - var data = map.__data__; - return isKeyable(key) ? data[typeof key == "string" ? "string" : "hash"] : data.map; -} -function mapCacheDelete(key) { - var result = getMapData(this, key)["delete"](key); - this.size -= result ? 1 : 0; - return result; -} -function mapCacheGet(key) { - return getMapData(this, key).get(key); -} -function mapCacheHas(key) { - return getMapData(this, key).has(key); -} -function mapCacheSet(key, value) { - var data = getMapData(this, key), size = data.size; - data.set(key, value); - this.size += data.size == size ? 0 : 1; - return this; -} -function MapCache(entries) { - var index = -1, length = entries == null ? 0 : entries.length; - this.clear(); - while (++index < length) { - var entry = entries[index]; - this.set(entry[0], entry[1]); - } -} -MapCache.prototype.clear = mapCacheClear; -MapCache.prototype["delete"] = mapCacheDelete; -MapCache.prototype.get = mapCacheGet; -MapCache.prototype.has = mapCacheHas; -MapCache.prototype.set = mapCacheSet; -var FUNC_ERROR_TEXT = "Expected a function"; -function memoize(func, resolver) { - if (typeof func != "function" || resolver != null && typeof resolver != "function") { - throw new TypeError(FUNC_ERROR_TEXT); - } - var memoized = function() { - var args = arguments, key = resolver ? resolver.apply(this, args) : args[0], cache = memoized.cache; - if (cache.has(key)) { - return cache.get(key); - } - var result = func.apply(this, args); - memoized.cache = cache.set(key, result) || cache; - return result; - }; - memoized.cache = new (memoize.Cache || MapCache)(); - return memoized; -} -memoize.Cache = MapCache; -var MAX_MEMOIZE_SIZE = 500; -function memoizeCapped(func) { - var result = memoize(func, function(key) { - if (cache.size === MAX_MEMOIZE_SIZE) { - cache.clear(); - } - return key; - }); - var cache = result.cache; - return result; -} -var rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g; -var reEscapeChar = /\\(\\)?/g; -var stringToPath = memoizeCapped(function(string) { - var result = []; - if (string.charCodeAt(0) === 46) { - result.push(""); - } - string.replace(rePropName, function(match, number, quote, subString) { - result.push(quote ? subString.replace(reEscapeChar, "$1") : number || match); - }); - return result; -}); -var stringToPath$1 = stringToPath; -function toString(value) { - return value == null ? "" : baseToString(value); -} -function castPath(value, object) { - if (isArray$1(value)) { - return value; - } - return isKey(value, object) ? [value] : stringToPath$1(toString(value)); -} -var INFINITY = 1 / 0; -function toKey(value) { - if (typeof value == "string" || isSymbol(value)) { - return value; - } - var result = value + ""; - return result == "0" && 1 / value == -INFINITY ? "-0" : result; -} -function baseGet(object, path) { - path = castPath(path, object); - var index = 0, length = path.length; - while (object != null && index < length) { - object = object[toKey(path[index++])]; - } - return index && index == length ? object : void 0; -} -function get(object, path, defaultValue) { - var result = object == null ? void 0 : baseGet(object, path); - return result === void 0 ? defaultValue : result; -} -function arrayPush(array, values) { - var index = -1, length = values.length, offset = array.length; - while (++index < length) { - array[offset + index] = values[index]; - } - return array; -} -function stackClear() { - this.__data__ = new ListCache(); - this.size = 0; -} -function stackDelete(key) { - var data = this.__data__, result = data["delete"](key); - this.size = data.size; - return result; -} -function stackGet(key) { - return this.__data__.get(key); -} -function stackHas(key) { - return this.__data__.has(key); -} -var LARGE_ARRAY_SIZE = 200; -function stackSet(key, value) { - var data = this.__data__; - if (data instanceof ListCache) { - var pairs = data.__data__; - if (!Map$2 || pairs.length < LARGE_ARRAY_SIZE - 1) { - pairs.push([key, value]); - this.size = ++data.size; - return this; - } - data = this.__data__ = new MapCache(pairs); - } - data.set(key, value); - this.size = data.size; - return this; -} -function Stack(entries) { - var data = this.__data__ = new ListCache(entries); - this.size = data.size; -} -Stack.prototype.clear = stackClear; -Stack.prototype["delete"] = stackDelete; -Stack.prototype.get = stackGet; -Stack.prototype.has = stackHas; -Stack.prototype.set = stackSet; -function arrayFilter(array, predicate) { - var index = -1, length = array == null ? 0 : array.length, resIndex = 0, result = []; - while (++index < length) { - var value = array[index]; - if (predicate(value, index, array)) { - result[resIndex++] = value; - } - } - return result; -} -function stubArray() { - return []; -} -var objectProto$3 = Object.prototype; -var propertyIsEnumerable = objectProto$3.propertyIsEnumerable; -var nativeGetSymbols = Object.getOwnPropertySymbols; -var getSymbols = !nativeGetSymbols ? stubArray : function(object) { - if (object == null) { - return []; - } - object = Object(object); - return arrayFilter(nativeGetSymbols(object), function(symbol) { - return propertyIsEnumerable.call(object, symbol); - }); -}; -var getSymbols$1 = getSymbols; -function baseGetAllKeys(object, keysFunc, symbolsFunc) { - var result = keysFunc(object); - return isArray$1(object) ? result : arrayPush(result, symbolsFunc(object)); -} -function getAllKeys(object) { - return baseGetAllKeys(object, keys, getSymbols$1); -} -var DataView = getNative(root$1, "DataView"); -var DataView$1 = DataView; -var Promise$1 = getNative(root$1, "Promise"); -var Promise$2 = Promise$1; -var Set$1 = getNative(root$1, "Set"); -var Set$2 = Set$1; -var mapTag$1 = "[object Map]", objectTag$1 = "[object Object]", promiseTag = "[object Promise]", setTag$1 = "[object Set]", weakMapTag = "[object WeakMap]"; -var dataViewTag$1 = "[object DataView]"; -var dataViewCtorString = toSource(DataView$1), mapCtorString = toSource(Map$2), promiseCtorString = toSource(Promise$2), setCtorString = toSource(Set$2), weakMapCtorString = toSource(WeakMap$2); -var getTag = baseGetTag; -if (DataView$1 && getTag(new DataView$1(new ArrayBuffer(1))) != dataViewTag$1 || Map$2 && getTag(new Map$2()) != mapTag$1 || Promise$2 && getTag(Promise$2.resolve()) != promiseTag || Set$2 && getTag(new Set$2()) != setTag$1 || WeakMap$2 && getTag(new WeakMap$2()) != weakMapTag) { - getTag = function(value) { - var result = baseGetTag(value), Ctor = result == objectTag$1 ? value.constructor : void 0, ctorString = Ctor ? toSource(Ctor) : ""; - if (ctorString) { - switch (ctorString) { - case dataViewCtorString: - return dataViewTag$1; - case mapCtorString: - return mapTag$1; - case promiseCtorString: - return promiseTag; - case setCtorString: - return setTag$1; - case weakMapCtorString: - return weakMapTag; - } - } - return result; - }; -} -var getTag$1 = getTag; -var Uint8Array$1 = root$1.Uint8Array; -var Uint8Array$2 = Uint8Array$1; -var HASH_UNDEFINED = "__lodash_hash_undefined__"; -function setCacheAdd(value) { - this.__data__.set(value, HASH_UNDEFINED); - return this; -} -function setCacheHas(value) { - return this.__data__.has(value); -} -function SetCache(values) { - var index = -1, length = values == null ? 0 : values.length; - this.__data__ = new MapCache(); - while (++index < length) { - this.add(values[index]); - } -} -SetCache.prototype.add = SetCache.prototype.push = setCacheAdd; -SetCache.prototype.has = setCacheHas; -function arraySome(array, predicate) { - var index = -1, length = array == null ? 0 : array.length; - while (++index < length) { - if (predicate(array[index], index, array)) { - return true; - } - } - return false; -} -function cacheHas(cache, key) { - return cache.has(key); -} -var COMPARE_PARTIAL_FLAG$5 = 1, COMPARE_UNORDERED_FLAG$3 = 2; -function equalArrays(array, other, bitmask, customizer, equalFunc, stack) { - var isPartial = bitmask & COMPARE_PARTIAL_FLAG$5, arrLength = array.length, othLength = other.length; - if (arrLength != othLength && !(isPartial && othLength > arrLength)) { - return false; - } - var arrStacked = stack.get(array); - var othStacked = stack.get(other); - if (arrStacked && othStacked) { - return arrStacked == other && othStacked == array; - } - var index = -1, result = true, seen = bitmask & COMPARE_UNORDERED_FLAG$3 ? new SetCache() : void 0; - stack.set(array, other); - stack.set(other, array); - while (++index < arrLength) { - var arrValue = array[index], othValue = other[index]; - if (customizer) { - var compared = isPartial ? customizer(othValue, arrValue, index, other, array, stack) : customizer(arrValue, othValue, index, array, other, stack); - } - if (compared !== void 0) { - if (compared) { - continue; - } - result = false; - break; - } - if (seen) { - if (!arraySome(other, function(othValue2, othIndex) { - if (!cacheHas(seen, othIndex) && (arrValue === othValue2 || equalFunc(arrValue, othValue2, bitmask, customizer, stack))) { - return seen.push(othIndex); - } - })) { - result = false; - break; - } - } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) { - result = false; - break; - } - } - stack["delete"](array); - stack["delete"](other); - return result; -} -function mapToArray(map) { - var index = -1, result = Array(map.size); - map.forEach(function(value, key) { - result[++index] = [key, value]; - }); - return result; -} -function setToArray(set) { - var index = -1, result = Array(set.size); - set.forEach(function(value) { - result[++index] = value; - }); - return result; -} -var COMPARE_PARTIAL_FLAG$4 = 1, COMPARE_UNORDERED_FLAG$2 = 2; -var boolTag = "[object Boolean]", dateTag = "[object Date]", errorTag = "[object Error]", mapTag = "[object Map]", numberTag = "[object Number]", regexpTag = "[object RegExp]", setTag = "[object Set]", stringTag = "[object String]", symbolTag = "[object Symbol]"; -var arrayBufferTag = "[object ArrayBuffer]", dataViewTag = "[object DataView]"; -var symbolProto = Symbol$2 ? Symbol$2.prototype : void 0, symbolValueOf = symbolProto ? symbolProto.valueOf : void 0; -function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) { - switch (tag) { - case dataViewTag: - if (object.byteLength != other.byteLength || object.byteOffset != other.byteOffset) { - return false; - } - object = object.buffer; - other = other.buffer; - case arrayBufferTag: - if (object.byteLength != other.byteLength || !equalFunc(new Uint8Array$2(object), new Uint8Array$2(other))) { - return false; - } - return true; - case boolTag: - case dateTag: - case numberTag: - return eq(+object, +other); - case errorTag: - return object.name == other.name && object.message == other.message; - case regexpTag: - case stringTag: - return object == other + ""; - case mapTag: - var convert = mapToArray; - case setTag: - var isPartial = bitmask & COMPARE_PARTIAL_FLAG$4; - convert || (convert = setToArray); - if (object.size != other.size && !isPartial) { - return false; - } - var stacked = stack.get(object); - if (stacked) { - return stacked == other; - } - bitmask |= COMPARE_UNORDERED_FLAG$2; - stack.set(object, other); - var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack); - stack["delete"](object); - return result; - case symbolTag: - if (symbolValueOf) { - return symbolValueOf.call(object) == symbolValueOf.call(other); - } - } - return false; -} -var COMPARE_PARTIAL_FLAG$3 = 1; -var objectProto$2 = Object.prototype; -var hasOwnProperty$2 = objectProto$2.hasOwnProperty; -function equalObjects(object, other, bitmask, customizer, equalFunc, stack) { - var isPartial = bitmask & COMPARE_PARTIAL_FLAG$3, objProps = getAllKeys(object), objLength = objProps.length, othProps = getAllKeys(other), othLength = othProps.length; - if (objLength != othLength && !isPartial) { - return false; - } - var index = objLength; - while (index--) { - var key = objProps[index]; - if (!(isPartial ? key in other : hasOwnProperty$2.call(other, key))) { - return false; - } - } - var objStacked = stack.get(object); - var othStacked = stack.get(other); - if (objStacked && othStacked) { - return objStacked == other && othStacked == object; - } - var result = true; - stack.set(object, other); - stack.set(other, object); - var skipCtor = isPartial; - while (++index < objLength) { - key = objProps[index]; - var objValue = object[key], othValue = other[key]; - if (customizer) { - var compared = isPartial ? customizer(othValue, objValue, key, other, object, stack) : customizer(objValue, othValue, key, object, other, stack); - } - if (!(compared === void 0 ? objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack) : compared)) { - result = false; - break; - } - skipCtor || (skipCtor = key == "constructor"); - } - if (result && !skipCtor) { - var objCtor = object.constructor, othCtor = other.constructor; - if (objCtor != othCtor && ("constructor" in object && "constructor" in other) && !(typeof objCtor == "function" && objCtor instanceof objCtor && typeof othCtor == "function" && othCtor instanceof othCtor)) { - result = false; - } - } - stack["delete"](object); - stack["delete"](other); - return result; -} -var COMPARE_PARTIAL_FLAG$2 = 1; -var argsTag = "[object Arguments]", arrayTag = "[object Array]", objectTag = "[object Object]"; -var objectProto$1 = Object.prototype; -var hasOwnProperty$1 = objectProto$1.hasOwnProperty; -function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) { - var objIsArr = isArray$1(object), othIsArr = isArray$1(other), objTag = objIsArr ? arrayTag : getTag$1(object), othTag = othIsArr ? arrayTag : getTag$1(other); - objTag = objTag == argsTag ? objectTag : objTag; - othTag = othTag == argsTag ? objectTag : othTag; - var objIsObj = objTag == objectTag, othIsObj = othTag == objectTag, isSameTag = objTag == othTag; - if (isSameTag && isBuffer$1(object)) { - if (!isBuffer$1(other)) { - return false; - } - objIsArr = true; - objIsObj = false; - } - if (isSameTag && !objIsObj) { - stack || (stack = new Stack()); - return objIsArr || isTypedArray$1(object) ? equalArrays(object, other, bitmask, customizer, equalFunc, stack) : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack); - } - if (!(bitmask & COMPARE_PARTIAL_FLAG$2)) { - var objIsWrapped = objIsObj && hasOwnProperty$1.call(object, "__wrapped__"), othIsWrapped = othIsObj && hasOwnProperty$1.call(other, "__wrapped__"); - if (objIsWrapped || othIsWrapped) { - var objUnwrapped = objIsWrapped ? object.value() : object, othUnwrapped = othIsWrapped ? other.value() : other; - stack || (stack = new Stack()); - return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack); - } - } - if (!isSameTag) { - return false; - } - stack || (stack = new Stack()); - return equalObjects(object, other, bitmask, customizer, equalFunc, stack); -} -function baseIsEqual(value, other, bitmask, customizer, stack) { - if (value === other) { - return true; - } - if (value == null || other == null || !isObjectLike(value) && !isObjectLike(other)) { - return value !== value && other !== other; - } - return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack); -} -var COMPARE_PARTIAL_FLAG$1 = 1, COMPARE_UNORDERED_FLAG$1 = 2; -function baseIsMatch(object, source, matchData, customizer) { - var index = matchData.length, length = index, noCustomizer = !customizer; - if (object == null) { - return !length; - } - object = Object(object); - while (index--) { - var data = matchData[index]; - if (noCustomizer && data[2] ? data[1] !== object[data[0]] : !(data[0] in object)) { - return false; - } - } - while (++index < length) { - data = matchData[index]; - var key = data[0], objValue = object[key], srcValue = data[1]; - if (noCustomizer && data[2]) { - if (objValue === void 0 && !(key in object)) { - return false; - } - } else { - var stack = new Stack(); - if (customizer) { - var result = customizer(objValue, srcValue, key, object, source, stack); - } - if (!(result === void 0 ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG$1 | COMPARE_UNORDERED_FLAG$1, customizer, stack) : result)) { - return false; - } - } - } - return true; -} -function isStrictComparable(value) { - return value === value && !isObject(value); -} -function getMatchData(object) { - var result = keys(object), length = result.length; - while (length--) { - var key = result[length], value = object[key]; - result[length] = [key, value, isStrictComparable(value)]; - } - return result; -} -function matchesStrictComparable(key, srcValue) { - return function(object) { - if (object == null) { - return false; - } - return object[key] === srcValue && (srcValue !== void 0 || key in Object(object)); - }; -} -function baseMatches(source) { - var matchData = getMatchData(source); - if (matchData.length == 1 && matchData[0][2]) { - return matchesStrictComparable(matchData[0][0], matchData[0][1]); - } - return function(object) { - return object === source || baseIsMatch(object, source, matchData); - }; -} -function baseHasIn(object, key) { - return object != null && key in Object(object); -} -function hasPath(object, path, hasFunc) { - path = castPath(path, object); - var index = -1, length = path.length, result = false; - while (++index < length) { - var key = toKey(path[index]); - if (!(result = object != null && hasFunc(object, key))) { - break; - } - object = object[key]; - } - if (result || ++index != length) { - return result; - } - length = object == null ? 0 : object.length; - return !!length && isLength(length) && isIndex(key, length) && (isArray$1(object) || isArguments$1(object)); -} -function hasIn(object, path) { - return object != null && hasPath(object, path, baseHasIn); -} -var COMPARE_PARTIAL_FLAG = 1, COMPARE_UNORDERED_FLAG = 2; -function baseMatchesProperty(path, srcValue) { - if (isKey(path) && isStrictComparable(srcValue)) { - return matchesStrictComparable(toKey(path), srcValue); - } - return function(object) { - var objValue = get(object, path); - return objValue === void 0 && objValue === srcValue ? hasIn(object, path) : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG); - }; -} -function baseProperty(key) { - return function(object) { - return object == null ? void 0 : object[key]; - }; -} -function basePropertyDeep(path) { - return function(object) { - return baseGet(object, path); - }; -} -function property(path) { - return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path); -} -function baseIteratee(value) { - if (typeof value == "function") { - return value; - } - if (value == null) { - return identity; - } - if (typeof value == "object") { - return isArray$1(value) ? baseMatchesProperty(value[0], value[1]) : baseMatches(value); - } - return property(value); -} -function arrayAggregator(array, setter, iteratee, accumulator) { - var index = -1, length = array == null ? 0 : array.length; - while (++index < length) { - var value = array[index]; - setter(accumulator, value, iteratee(value), array); - } - return accumulator; -} -function createBaseFor(fromRight) { - return function(object, iteratee, keysFunc) { - var index = -1, iterable = Object(object), props = keysFunc(object), length = props.length; - while (length--) { - var key = props[fromRight ? length : ++index]; - if (iteratee(iterable[key], key, iterable) === false) { - break; - } - } - return object; - }; -} -var baseFor = createBaseFor(); -var baseFor$1 = baseFor; -function baseForOwn(object, iteratee) { - return object && baseFor$1(object, iteratee, keys); -} -function createBaseEach(eachFunc, fromRight) { - return function(collection, iteratee) { - if (collection == null) { - return collection; - } - if (!isArrayLike(collection)) { - return eachFunc(collection, iteratee); - } - var length = collection.length, index = fromRight ? length : -1, iterable = Object(collection); - while (fromRight ? index-- : ++index < length) { - if (iteratee(iterable[index], index, iterable) === false) { - break; - } - } - return collection; - }; -} -var baseEach = createBaseEach(baseForOwn); -var baseEach$1 = baseEach; -function baseAggregator(collection, setter, iteratee, accumulator) { - baseEach$1(collection, function(value, key, collection2) { - setter(accumulator, value, iteratee(value), collection2); - }); - return accumulator; -} -function createAggregator(setter, initializer) { - return function(collection, iteratee) { - var func = isArray$1(collection) ? arrayAggregator : baseAggregator, accumulator = initializer ? initializer() : {}; - return func(collection, setter, baseIteratee(iteratee), accumulator); - }; -} -var objectProto = Object.prototype; -var hasOwnProperty = objectProto.hasOwnProperty; -var groupBy = createAggregator(function(result, value, key) { - if (hasOwnProperty.call(result, key)) { - result[key].push(value); - } else { - baseAssignValue(result, key, [value]); - } -}); -var groupBy$1 = groupBy; -const __default__$2 = { - name: "iconfont", - inheritAttrs: false -}; -const _sfc_main$c = defineComponent({ - ...__default__$2, - props: { - class: {}, - style: { type: [Boolean, null, String, Object, Array] }, - type: {} - }, - emits: ["click"], - setup(__props, { emit: __emit }) { - const props = __props; - const emit = __emit; - const iconClass = computed(() => { - return ["iconfont"].concat([props.type], props.class ? [props.class] : []).join(" "); - }); - return (_ctx, _cache) => { - return openBlock(), createElementBlock("span", { - class: normalizeClass(iconClass.value), - style: normalizeStyle(_ctx.style), - onClick: _cache[0] || (_cache[0] = ($event) => emit("click")) - }, null, 6); - }; - } -}); -var style0$3 = { - "um-import": "_um-import_19xyw_1" -}; -var _export_sfc = (sfc, props) => { - const target = sfc.__vccOpts || sfc; - for (const [key, val] of props) { - target[key] = val; - } - return target; -}; -const _hoisted_1$2 = /* @__PURE__ */ createElementVNode("span", null, "\u5BFC\u5165", -1); -const _sfc_main$b = defineComponent({ - __name: "UmImport", - emits: ["click"], - setup(__props, { emit: __emit }) { - const emit = __emit; - const fileInput = ref(); - const onClick = () => { - fileInput.value.click(); - }; - const onFileChange = (e) => { - emit("click", e); - }; - return (_ctx, _cache) => { - return openBlock(), createElementBlock("div", { - class: normalizeClass(_ctx.$style["um-import"]), - onClick - }, [ - createVNode(_sfc_main$c, { type: "icon-daoru" }), - _hoisted_1$2, - createElementVNode("input", { - ref_key: "fileInput", - ref: fileInput, - type: "file", - onChange: onFileChange - }, null, 544) - ], 2); - }; - } -}); -const cssModules$3 = { - "$style": style0$3 -}; -var UmImport = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__cssModules", cssModules$3]]); -var UmTableToolbar_vue_vue_type_style_index_0_scoped_true_lang = ""; -const _sfc_main$a = defineComponent({ - inheritAttrs: false, - render() { - var _a, _b; - const that = this; - const data = that.$attrs.data || []; - const otherParams = ((_a = that.$attrs) == null ? void 0 : _a["other-params"]) || {}; - const searchParams = ((_b = that.$attrs) == null ? void 0 : _b["search-params"]) || {}; - const events = that.$attrs.events || []; - const selection = that.$attrs.selection || []; - const list = data.map((item, index) => { - const event = () => events == null ? void 0 : events[index](selection); - switch (item.type) { - case "\u6DFB\u52A0": - return h("div", { "class": "item add", "onclick": event }, [h(_sfc_main$c, { - type: "icon-tianjia" - }), h("a", {}, "\u6DFB\u52A0")]); - case "\u5BFC\u5165\u6A21\u677F": - return h("div", { "class": "item", "onclick": event }, h("a", {}, "\u5BFC\u5165\u6A21\u677F")); - case "\u5BFC\u5165": - return h(UmImport, { - "class": "item", - "onClick": (data2) => { - events == null ? void 0 : events[index](data2); - } - }); - case "\u5BFC\u51FA": - return h("div", { - "class": "item", - "onclick": (e) => { - events == null ? void 0 : events[index]({ ...otherParams || {}, ...searchParams || {} }); - } - }, [h(_sfc_main$c, { - type: "icon-daochu" - }), h("a", {}, "\u5BFC\u51FA")]); - case "\u6279\u91CF\u5220\u9664": - return h("div", { - "class": "item " + ((selection == null ? void 0 : selection.length) > 0 ? "" : "disabled"), - "onclick": (e) => { - if ((selection == null ? void 0 : selection.length) == 0) { - return; - } - return event(); - } - }, [h(_sfc_main$c, { - type: "icon-shanchu-" - }), h("a", {}, "\u6279\u91CF\u5220\u9664")]); - case "\u81EA\u5B9A\u4E49": - return h("div", { - "class": "item", - "onclick": (e) => { - events == null ? void 0 : events[index]({ ...otherParams || {}, ...searchParams || {} }); - } - }, [h(_sfc_main$c, { - type: "icon-daochu" - }), h("a", {}, item.title || "\u81EA\u5B9A\u4E49")]); - default: - return h("div", {}, "error"); - } - }); - return h("div", { "class": "toolbar" }, list); - } -}); -var TableToolbar = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__scopeId", "data-v-3a95d7bb"]]); -var UmTable_vue_vue_type_style_index_0_scoped_true_lang = ""; -const _sfc_main$9 = defineComponent({ - __name: "UmTable", - props: { - style: {}, - width: { default: "100%" }, - data: {}, - toolbarOptions: { default: () => [] }, - toolbarEvents: { default: () => [] }, - otherParams: { default: () => ({}) }, - searchParams: { default: () => ({}) } - }, - setup(__props) { - const props = __props; - const selection = ref([]); - computed(() => { - var _a; - return (((_a = props.toolbarOptions) == null ? void 0 : _a.length) > 0 ? 10 : 0) + "px"; - }); - const onSelect = (_selection) => { - selection.value = _selection; - }; - const onSelectAll = (_selection) => { - selection.value = _selection; - }; - return (_ctx, _cache) => { - return openBlock(), createElementBlock(Fragment, null, [ - createVNode(TableToolbar, { - data: _ctx.toolbarOptions, - "other-params": _ctx.otherParams, - "search-params": _ctx.searchParams, - events: _ctx.toolbarEvents, - selection: selection.value - }, null, 8, ["data", "other-params", "search-params", "events", "selection"]), - createVNode(unref(ElTable), { - class: "um-table", - data: _ctx.data, - style: normalizeStyle({ ...props.style || {}, width: _ctx.width }), - onSelect, - onSelectAll - }, { - default: withCtx(() => [ - renderSlot(_ctx.$slots, "default", {}, void 0, true) - ]), - _: 3 - }, 8, ["data", "style"]) - ], 64); - }; - } -}); -var UmTable = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["__scopeId", "data-v-4d037dbe"]]); -var dayjs_min = { exports: {} }; -(function(module2, exports2) { - !function(t, e) { - module2.exports = e(); - }(commonjsGlobal, function() { - var t = 1e3, e = 6e4, n = 36e5, r = "millisecond", i = "second", s = "minute", u = "hour", a = "day", o = "week", c = "month", f = "quarter", h2 = "year", d = "date", l = "Invalid Date", $ = /^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/, y = /\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g, M = { name: "en", weekdays: "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"), months: "January_February_March_April_May_June_July_August_September_October_November_December".split("_"), ordinal: function(t2) { - var e2 = ["th", "st", "nd", "rd"], n2 = t2 % 100; - return "[" + t2 + (e2[(n2 - 20) % 10] || e2[n2] || e2[0]) + "]"; - } }, m = function(t2, e2, n2) { - var r2 = String(t2); - return !r2 || r2.length >= e2 ? t2 : "" + Array(e2 + 1 - r2.length).join(n2) + t2; - }, v = { s: m, z: function(t2) { - var e2 = -t2.utcOffset(), n2 = Math.abs(e2), r2 = Math.floor(n2 / 60), i2 = n2 % 60; - return (e2 <= 0 ? "+" : "-") + m(r2, 2, "0") + ":" + m(i2, 2, "0"); - }, m: function t2(e2, n2) { - if (e2.date() < n2.date()) - return -t2(n2, e2); - var r2 = 12 * (n2.year() - e2.year()) + (n2.month() - e2.month()), i2 = e2.clone().add(r2, c), s2 = n2 - i2 < 0, u2 = e2.clone().add(r2 + (s2 ? -1 : 1), c); - return +(-(r2 + (n2 - i2) / (s2 ? i2 - u2 : u2 - i2)) || 0); - }, a: function(t2) { - return t2 < 0 ? Math.ceil(t2) || 0 : Math.floor(t2); - }, p: function(t2) { - return { M: c, y: h2, w: o, d: a, D: d, h: u, m: s, s: i, ms: r, Q: f }[t2] || String(t2 || "").toLowerCase().replace(/s$/, ""); - }, u: function(t2) { - return void 0 === t2; - } }, g = "en", D = {}; - D[g] = M; - var p = "$isDayjsObject", S = function(t2) { - return t2 instanceof _ || !(!t2 || !t2[p]); - }, w = function t2(e2, n2, r2) { - var i2; - if (!e2) - return g; - if ("string" == typeof e2) { - var s2 = e2.toLowerCase(); - D[s2] && (i2 = s2), n2 && (D[s2] = n2, i2 = s2); - var u2 = e2.split("-"); - if (!i2 && u2.length > 1) - return t2(u2[0]); - } else { - var a2 = e2.name; - D[a2] = e2, i2 = a2; - } - return !r2 && i2 && (g = i2), i2 || !r2 && g; - }, O = function(t2, e2) { - if (S(t2)) - return t2.clone(); - var n2 = "object" == typeof e2 ? e2 : {}; - return n2.date = t2, n2.args = arguments, new _(n2); - }, b = v; - b.l = w, b.i = S, b.w = function(t2, e2) { - return O(t2, { locale: e2.$L, utc: e2.$u, x: e2.$x, $offset: e2.$offset }); - }; - var _ = function() { - function M2(t2) { - this.$L = w(t2.locale, null, true), this.parse(t2), this.$x = this.$x || t2.x || {}, this[p] = true; - } - var m2 = M2.prototype; - return m2.parse = function(t2) { - this.$d = function(t3) { - var e2 = t3.date, n2 = t3.utc; - if (null === e2) - return new Date(NaN); - if (b.u(e2)) - return new Date(); - if (e2 instanceof Date) - return new Date(e2); - if ("string" == typeof e2 && !/Z$/i.test(e2)) { - var r2 = e2.match($); - if (r2) { - var i2 = r2[2] - 1 || 0, s2 = (r2[7] || "0").substring(0, 3); - return n2 ? new Date(Date.UTC(r2[1], i2, r2[3] || 1, r2[4] || 0, r2[5] || 0, r2[6] || 0, s2)) : new Date(r2[1], i2, r2[3] || 1, r2[4] || 0, r2[5] || 0, r2[6] || 0, s2); - } - } - return new Date(e2); - }(t2), this.init(); - }, m2.init = function() { - var t2 = this.$d; - this.$y = t2.getFullYear(), this.$M = t2.getMonth(), this.$D = t2.getDate(), this.$W = t2.getDay(), this.$H = t2.getHours(), this.$m = t2.getMinutes(), this.$s = t2.getSeconds(), this.$ms = t2.getMilliseconds(); - }, m2.$utils = function() { - return b; - }, m2.isValid = function() { - return !(this.$d.toString() === l); - }, m2.isSame = function(t2, e2) { - var n2 = O(t2); - return this.startOf(e2) <= n2 && n2 <= this.endOf(e2); - }, m2.isAfter = function(t2, e2) { - return O(t2) < this.startOf(e2); - }, m2.isBefore = function(t2, e2) { - return this.endOf(e2) < O(t2); - }, m2.$g = function(t2, e2, n2) { - return b.u(t2) ? this[e2] : this.set(n2, t2); - }, m2.unix = function() { - return Math.floor(this.valueOf() / 1e3); - }, m2.valueOf = function() { - return this.$d.getTime(); - }, m2.startOf = function(t2, e2) { - var n2 = this, r2 = !!b.u(e2) || e2, f2 = b.p(t2), l2 = function(t3, e3) { - var i2 = b.w(n2.$u ? Date.UTC(n2.$y, e3, t3) : new Date(n2.$y, e3, t3), n2); - return r2 ? i2 : i2.endOf(a); - }, $2 = function(t3, e3) { - return b.w(n2.toDate()[t3].apply(n2.toDate("s"), (r2 ? [0, 0, 0, 0] : [23, 59, 59, 999]).slice(e3)), n2); - }, y2 = this.$W, M3 = this.$M, m3 = this.$D, v2 = "set" + (this.$u ? "UTC" : ""); - switch (f2) { - case h2: - return r2 ? l2(1, 0) : l2(31, 11); - case c: - return r2 ? l2(1, M3) : l2(0, M3 + 1); - case o: - var g2 = this.$locale().weekStart || 0, D2 = (y2 < g2 ? y2 + 7 : y2) - g2; - return l2(r2 ? m3 - D2 : m3 + (6 - D2), M3); - case a: - case d: - return $2(v2 + "Hours", 0); - case u: - return $2(v2 + "Minutes", 1); - case s: - return $2(v2 + "Seconds", 2); - case i: - return $2(v2 + "Milliseconds", 3); - default: - return this.clone(); - } - }, m2.endOf = function(t2) { - return this.startOf(t2, false); - }, m2.$set = function(t2, e2) { - var n2, o2 = b.p(t2), f2 = "set" + (this.$u ? "UTC" : ""), l2 = (n2 = {}, n2[a] = f2 + "Date", n2[d] = f2 + "Date", n2[c] = f2 + "Month", n2[h2] = f2 + "FullYear", n2[u] = f2 + "Hours", n2[s] = f2 + "Minutes", n2[i] = f2 + "Seconds", n2[r] = f2 + "Milliseconds", n2)[o2], $2 = o2 === a ? this.$D + (e2 - this.$W) : e2; - if (o2 === c || o2 === h2) { - var y2 = this.clone().set(d, 1); - y2.$d[l2]($2), y2.init(), this.$d = y2.set(d, Math.min(this.$D, y2.daysInMonth())).$d; - } else - l2 && this.$d[l2]($2); - return this.init(), this; - }, m2.set = function(t2, e2) { - return this.clone().$set(t2, e2); - }, m2.get = function(t2) { - return this[b.p(t2)](); - }, m2.add = function(r2, f2) { - var d2, l2 = this; - r2 = Number(r2); - var $2 = b.p(f2), y2 = function(t2) { - var e2 = O(l2); - return b.w(e2.date(e2.date() + Math.round(t2 * r2)), l2); - }; - if ($2 === c) - return this.set(c, this.$M + r2); - if ($2 === h2) - return this.set(h2, this.$y + r2); - if ($2 === a) - return y2(1); - if ($2 === o) - return y2(7); - var M3 = (d2 = {}, d2[s] = e, d2[u] = n, d2[i] = t, d2)[$2] || 1, m3 = this.$d.getTime() + r2 * M3; - return b.w(m3, this); - }, m2.subtract = function(t2, e2) { - return this.add(-1 * t2, e2); - }, m2.format = function(t2) { - var e2 = this, n2 = this.$locale(); - if (!this.isValid()) - return n2.invalidDate || l; - var r2 = t2 || "YYYY-MM-DDTHH:mm:ssZ", i2 = b.z(this), s2 = this.$H, u2 = this.$m, a2 = this.$M, o2 = n2.weekdays, c2 = n2.months, f2 = n2.meridiem, h3 = function(t3, n3, i3, s3) { - return t3 && (t3[n3] || t3(e2, r2)) || i3[n3].slice(0, s3); - }, d2 = function(t3) { - return b.s(s2 % 12 || 12, t3, "0"); - }, $2 = f2 || function(t3, e3, n3) { - var r3 = t3 < 12 ? "AM" : "PM"; - return n3 ? r3.toLowerCase() : r3; - }; - return r2.replace(y, function(t3, r3) { - return r3 || function(t4) { - switch (t4) { - case "YY": - return String(e2.$y).slice(-2); - case "YYYY": - return b.s(e2.$y, 4, "0"); - case "M": - return a2 + 1; - case "MM": - return b.s(a2 + 1, 2, "0"); - case "MMM": - return h3(n2.monthsShort, a2, c2, 3); - case "MMMM": - return h3(c2, a2); - case "D": - return e2.$D; - case "DD": - return b.s(e2.$D, 2, "0"); - case "d": - return String(e2.$W); - case "dd": - return h3(n2.weekdaysMin, e2.$W, o2, 2); - case "ddd": - return h3(n2.weekdaysShort, e2.$W, o2, 3); - case "dddd": - return o2[e2.$W]; - case "H": - return String(s2); - case "HH": - return b.s(s2, 2, "0"); - case "h": - return d2(1); - case "hh": - return d2(2); - case "a": - return $2(s2, u2, true); - case "A": - return $2(s2, u2, false); - case "m": - return String(u2); - case "mm": - return b.s(u2, 2, "0"); - case "s": - return String(e2.$s); - case "ss": - return b.s(e2.$s, 2, "0"); - case "SSS": - return b.s(e2.$ms, 3, "0"); - case "Z": - return i2; - } - return null; - }(t3) || i2.replace(":", ""); - }); - }, m2.utcOffset = function() { - return 15 * -Math.round(this.$d.getTimezoneOffset() / 15); - }, m2.diff = function(r2, d2, l2) { - var $2, y2 = this, M3 = b.p(d2), m3 = O(r2), v2 = (m3.utcOffset() - this.utcOffset()) * e, g2 = this - m3, D2 = function() { - return b.m(y2, m3); - }; - switch (M3) { - case h2: - $2 = D2() / 12; - break; - case c: - $2 = D2(); - break; - case f: - $2 = D2() / 3; - break; - case o: - $2 = (g2 - v2) / 6048e5; - break; - case a: - $2 = (g2 - v2) / 864e5; - break; - case u: - $2 = g2 / n; - break; - case s: - $2 = g2 / e; - break; - case i: - $2 = g2 / t; - break; - default: - $2 = g2; - } - return l2 ? $2 : b.a($2); - }, m2.daysInMonth = function() { - return this.endOf(c).$D; - }, m2.$locale = function() { - return D[this.$L]; - }, m2.locale = function(t2, e2) { - if (!t2) - return this.$L; - var n2 = this.clone(), r2 = w(t2, e2, true); - return r2 && (n2.$L = r2), n2; - }, m2.clone = function() { - return b.w(this.$d, this); - }, m2.toDate = function() { - return new Date(this.valueOf()); - }, m2.toJSON = function() { - return this.isValid() ? this.toISOString() : null; - }, m2.toISOString = function() { - return this.$d.toISOString(); - }, m2.toString = function() { - return this.$d.toUTCString(); - }, M2; - }(), k = _.prototype; - return O.prototype = k, [["$ms", r], ["$s", i], ["$m", s], ["$H", u], ["$W", a], ["$M", c], ["$y", h2], ["$D", d]].forEach(function(t2) { - k[t2[1]] = function(e2) { - return this.$g(e2, t2[0], t2[1]); - }; - }), O.extend = function(t2, e2) { - return t2.$i || (t2(e2, _, O), t2.$i = true), O; - }, O.locale = w, O.isDayjs = S, O.unix = function(t2) { - return O(1e3 * t2); - }, O.en = D[g], O.Ls = D, O.p = {}, O; - }); -})(dayjs_min); -var dayjs = dayjs_min.exports; -const formatDateTime = (time, template = "YYYY-MM-DD HH:mm:ss") => { - try { - return dayjs(time).format(template); - } catch { - return time; - } -}; -const fDT = formatDateTime; -var style0$2 = { - "table-column-img": "_table-column-img_citx0_1" -}; -const _sfc_main$8 = defineComponent({ - inheritAttrs: false, - beforeMount() { - this.isShowColumn(); - }, - methods: { - async isShowColumn() { - const attr = this.$attrs; - if (attr == null ? void 0 : attr["is-show"]) { - this.isShow = await (attr == null ? void 0 : attr["is-show"](attr == null ? void 0 : attr.data)); - } - } - }, - data() { - return { isShow: true }; - }, - render() { - if (this.isShow) { - const that = this; - const attr = that.$attrs; - const style = that.$style; - const { data, prop, render } = attr; - switch (attr["field-type"]) { - case "date": - return fDT(data[prop]); - case "img": - return h("img", { class: style["table-column-img"], src: data[prop] }); - default: - if (render) { - return render(data[prop], prop, data); - } - return data[prop]; - } - } else { - return null; - } - } -}); -const cssModules$2 = { - "$style": style0$2 -}; -var UmColumnRender = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["__cssModules", cssModules$2]]); -var style0$1 = { - "table-column-img": "_table-column-img_citx0_1" -}; -const _sfc_main$7 = defineComponent({ - __name: "UmTableColumn", - props: { - type: {}, - width: { default: 180 }, - minWidth: {}, - fieldType: { default: "default" }, - prop: { default: "" }, - label: {}, - data: { default: () => [] }, - titles: { default: () => [] }, - renders: { default: () => [] }, - events: { default: () => [] }, - expandTemplate: {}, - columnRender: {}, - isShow: {} - }, - setup(__props) { - const props = __props; - const rLabel = computed(() => { - if (!props.label) { - if (props.type == "operate") { - return "\u64CD\u4F5C"; - } - } - return props.label; - }); - return (_ctx, _cache) => { - return openBlock(), createBlock(unref(ElTableColumn), { - type: _ctx.type, - prop: _ctx.prop, - width: _ctx.minWidth ? 0 : _ctx.width, - "min-width": _ctx.minWidth, - label: rLabel.value, - data: _ctx.data, - events: _ctx.events - }, { - default: withCtx((scope) => { - var _a; - return [ - _ctx.type == "operate" ? (openBlock(), createBlock(unref(UmTableOperate), { - key: 0, - data: _ctx.data, - titles: _ctx.titles, - renders: _ctx.renders, - "row-id": scope.row["id"], - "row-data": scope.row, - events: _ctx.events - }, null, 8, ["data", "titles", "renders", "row-id", "row-data", "events"])) : _ctx.type == "expand" ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.expandTemplate), { - key: 1, - props: scope - }, null, 8, ["props"])) : (openBlock(), createBlock(UmColumnRender, { - key: (_a = scope.row) == null ? void 0 : _a.id, - "field-type": props.fieldType, - prop: _ctx.prop, - data: scope.row, - "is-show": props.isShow, - render: props.columnRender - }, null, 8, ["field-type", "prop", "data", "is-show", "render"])) - ]; - }), - _: 1 - }, 8, ["type", "prop", "width", "min-width", "label", "data", "events"]); - }; - } -}); -const cssModules$1 = { - "$style": style0$1 -}; -var TableColumn = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__cssModules", cssModules$1]]); -var UmTableOperate_vue_vue_type_style_index_0_scoped_true_lang = ""; -const _sfc_main$6 = defineComponent({ - inheritAttrs: false, - render() { - const data = this.$attrs.data || []; - const events = this.$attrs.events || []; - const titles = this.$attrs.titles || []; - const renders = this.$attrs.renders || []; - const rowId = this.$attrs["row-id"]; - const rowData = this.$attrs["row-data"]; - let render2 = null, isShow = true; - const group = data.map((item) => { - render2 = renders == null ? void 0 : renders[item.mapIndex]; - isShow = true; - if (render2) { - isShow = render2(rowData); - if (!isShow) - return null; - } - const event = () => (events == null ? void 0 : events[item.mapIndex](rowId, data)) || null; - switch (item.name) { - case "edit": - return h("a", { "class": "edit", "onclick": event }, "\u7F16\u8F91"); - case "del": - return h("a", { "class": "del", "onclick": event }, "\u5220\u9664"); - case "copy": - return h("a", { "class": "copy", "onclick": event }, "\u590D\u5236"); - case "customOperateEvent": - return h("a", { "class": "custom-operate", "onclick": event }, titles == null ? void 0 : titles[item.mapIndex]); - } - }); - return h("div", { "class": "operate-group " + (data.length > 2 ? "total-more" : "total-2") }, group); - } -}); -var TableOperate = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__scopeId", "data-v-05b44b14"]]); -const UmTableColumn = TableColumn; -const UmTableOperate = TableOperate; -const isEmpty = (obj) => { - if (typeof obj !== "number" && (obj === null || obj === "" || obj === void 0)) - return true; - else { - if (typeof obj === "number" && isNaN(obj)) { - return true; - } - return false; - } -}; -const _sfc_main$5 = defineComponent({ - inheritAttrs: false, - emits: ["fire", "fire:onBefore", "fire:onNow", "fire:onAfter"], - render() { - var _a, _b, _c, _d, _e, _f; - const target = this.$attrs.target; - const otherParams = ((_a = this.$attrs) == null ? void 0 : _a["other-params"]) || {}; - const searchParams = ((_b = this.$attrs) == null ? void 0 : _b["search-params"]) || {}; - const data = this.$attrs.data || []; - let columnList = [], dataColumnList = []; - const operateMap = /* @__PURE__ */ new Map(); - const toolbarMap = /* @__PURE__ */ new Map(); - const targetInstance = Reflect.construct(target, []); - for (const fieldName in targetInstance) { - let item = fieldName; - if (item[0] == "_") { - item = fieldName.substr(1); - } - if (targetInstance.hasOwnProperty(item) && typeof targetInstance[item] == "function") { - const metaData2 = Reflect.getMetadata( - "table:operate", - targetInstance, - item - ); - if (metaData2) { - let edit = []; - const id = (metaData2 == null ? void 0 : metaData2.id) || metaData2.type; - if (operateMap.has(id)) { - edit = operateMap.get(id); - } - edit.push({ event: targetInstance[item], meta: metaData2 }); - operateMap.set(id, edit); - } - const toolbarMetaData = Reflect.getMetadata( - "table:toolbar", - targetInstance, - item - ); - if (toolbarMetaData) { - if (!toolbarMetaData.isShow || ((_c = toolbarMetaData == null ? void 0 : toolbarMetaData.isShow) == null ? void 0 : _c.call(toolbarMetaData))) { - let toolbar = []; - const type = toolbarMetaData.type; - if (toolbarMap.has(type)) { - toolbar = toolbarMap.get(type); - } - toolbar.push({ event: targetInstance[item], meta: toolbarMetaData }); - toolbarMap.set(type, toolbar); - } - } - continue; - } - const metaData = Reflect.getMetadata("table:field", targetInstance, item); - if (metaData) { - ({ width: metaData == null ? void 0 : metaData.width }); - if (metaData.minWidth) { - ({ minWidth: metaData == null ? void 0 : metaData.minWidth }); - } - dataColumnList.push({ - sort: metaData.sort || 1, - com: h(UmTableColumn, { - prop: item, - label: metaData == null ? void 0 : metaData.def, - fieldType: metaData == null ? void 0 : metaData.fieldType, - width: metaData == null ? void 0 : metaData.width, - minWidth: metaData == null ? void 0 : metaData.minWidth, - columnRender: metaData == null ? void 0 : metaData.columnRender, - isShow: metaData == null ? void 0 : metaData.isShow, - showOverflowTooltip: metaData == null ? void 0 : metaData.showOverflowTooltip - }) - }); - } - } - columnList = columnList.concat(dataColumnList.sort((a, b) => a.sort - b.sort).map((item) => item.com)); - const operates = [], operateTitles = [], operateRenders = [], operateEvents = []; - operateMap.forEach((value, key, target2) => { - var _a2, _b2, _c2, _d2, _e2, _f2, _g, _h, _i, _j, _k; - const type = (_b2 = (_a2 = value == null ? void 0 : value[0]) == null ? void 0 : _a2.meta) == null ? void 0 : _b2.type; - let sort = null; - sort = (_e2 = (_d2 = (_c2 = value == null ? void 0 : value.find((item) => { - var _a3; - return !isEmpty((_a3 = item == null ? void 0 : item.meta) == null ? void 0 : _a3.sort); - })) == null ? void 0 : _c2.meta) == null ? void 0 : _d2.sort) != null ? _e2 : 0; - operates.push({ mapIndex: operates.length, name: type, sort }); - operateTitles.push((_h = (_g = (_f2 = value.filter((item) => { - var _a3; - return (_a3 = item == null ? void 0 : item.meta) == null ? void 0 : _a3.title; - })) == null ? void 0 : _f2[0]) == null ? void 0 : _g.meta) == null ? void 0 : _h.title); - operateRenders.push((_k = (_j = (_i = value.filter((item) => { - var _a3; - return (_a3 = item == null ? void 0 : item.meta) == null ? void 0 : _a3.isShow; - })) == null ? void 0 : _i[0]) == null ? void 0 : _j.meta) == null ? void 0 : _k.isShow); - operateEvents.push( - async (rowId) => { - var _a3; - const sortAfterData = value.sort((a, b) => (b.meta.priority || 0) - (a.meta.priority || 0)); - const groupAfterData = groupBy$1(sortAfterData, (item) => item.meta.es); - let currentdata = rowId; - for (const gI of ["onBefore", "onNow", "onAfter"]) { - const data2 = groupAfterData[gI]; - if (data2) { - for (const cEvent of data2) { - currentdata = await ((_a3 = cEvent == null ? void 0 : cEvent.event) == null ? void 0 : _a3.call(cEvent, rowId, currentdata, cEvent.meta, this.$attrs.data)); - } - } - currentdata = await new Promise((resolve) => { - var _a4; - this.$emit("fire", currentdata, type, gI, (data3) => { - resolve(data3); - }, (_a4 = data2 == null ? void 0 : data2[0]) == null ? void 0 : _a4.meta); - }); - } - } - ); - }); - if ((operates == null ? void 0 : operates.length) > 0 && !targetInstance.isShowOperate || ((_d = targetInstance == null ? void 0 : targetInstance.isShowOperate) == null ? void 0 : _d.call(targetInstance))) { - columnList.push(h(UmTableColumn, { - "type": "operate", - "label": "\u64CD\u4F5C", - "data": operates.sort((a, b) => a.sort - b.sort), - "titles": operateTitles, - "renders": operateRenders, - "events": operateEvents, - width: (target == null ? void 0 : target.operateWidth) || "120px" - })); - } - const toolbars = [], toolbarEvents = []; - toolbarMap.forEach((value, key, target2) => { - var _a2, _b2, _c2, _d2; - toolbars.push({ - "type": key, - "icon": (_b2 = (_a2 = value == null ? void 0 : value[0]) == null ? void 0 : _a2.meta) == null ? void 0 : _b2.icon, - title: (_d2 = (_c2 = value == null ? void 0 : value[0]) == null ? void 0 : _c2.meta) == null ? void 0 : _d2.title - }); - toolbarEvents.push( - async (rowId) => { - var _a3; - const sortAfterData = value.sort((a, b) => (b.meta.priority || 0) - (a.meta.priority || 0)); - const groupAfterData = groupBy$1(sortAfterData, (item) => item.meta.es); - let currentdata = rowId; - const types = ["onBefore", "onNow", "onAfter"]; - for (let i = 0; i < types.length; i++) { - const gI = types[i]; - const data2 = groupAfterData[gI]; - if (data2) { - for (const cEvent of data2) { - currentdata = await ((_a3 = cEvent == null ? void 0 : cEvent.event) == null ? void 0 : _a3.call(cEvent, rowId, currentdata, cEvent.meta)); - } - } - currentdata = await new Promise((resolve, reject) => { - this.$emit("fire", currentdata, key, gI, (_data) => { - resolve(_data); - }); - }); - if (gI == "onAfter") { - if (!currentdata) { - i -= 2; - continue; - } - } - } - } - ); - }); - const isExpand = (_e = this.$attrs) == null ? void 0 : _e["is-expand"]; - if (isExpand) { - const expandTemplate = (_f = this.$attrs) == null ? void 0 : _f["expand-template"]; - columnList = [h(UmTableColumn, { - "type": "expand", - expandTemplate - })].concat(columnList); - } - { - columnList = [h(ElTableColumn, { - "type": "index", - "label": "\u5E8F\u53F7", - width: 56 - })].concat(columnList); - } - let enableSelection = false; - if (toolbars.some((item) => item.type == "\u6279\u91CF\u5220\u9664")) { - enableSelection = true; - } - if (enableSelection) { - columnList = [h(ElTableColumn, { - "type": "selection" - })].concat(columnList); - } - return h(UmTable, { - data, - otherParams, - searchParams, - toolbarOptions: toolbars, - toolbarEvents, - width: "100%" - }, () => columnList); - } -}); -var index_vue_vue_type_style_index_0_lang = ""; -const _hoisted_1$1 = /* @__PURE__ */ createElementVNode("div", { class: "header-bg header-bg-l" }, null, -1); -const _hoisted_2$1 = /* @__PURE__ */ createElementVNode("div", { class: "header-bg header-bg-r" }, null, -1); -const _hoisted_3$1 = { - key: 1, - class: "el-dialog__title" -}; -const _hoisted_4$1 = { - key: 1, - class: "dialog-footer" -}; -const __default__$1 = { - name: "um-dialog", - inheritAttrs: false -}; -const _sfc_main$4 = defineComponent({ - ...__default__$1, - props: { - appendToBody: { type: Boolean, default: true }, - center: { type: Boolean }, - closeOnClickModal: { type: Boolean, default: false }, - closeOnPressEscape: { type: Boolean, default: true }, - confirmLoading: { type: Boolean }, - customClass: {}, - destroyOnClose: { type: Boolean, default: true }, - footer: { type: Boolean, default: true }, - modal: { type: Boolean, default: true }, - modelValue: { type: Boolean }, - showClose: { type: Boolean, default: true }, - title: {}, - width: {}, - top: { default: "15vh" } - }, - emits: ["update:modelValue", "onOk"], - setup(__props, { emit: __emit }) { - const props = __props; - const emit = __emit; - const dialogClass = computed(() => { - const bottomShadow = props.footer ? "footer-shadow" : "body-shadow"; - return (props.customClass ? [props.customClass] : []).concat(["um-dialog", bottomShadow]).join(" "); - }); - const visible = computed({ - get: () => props.modelValue, - set: (v) => emit("update:modelValue", v) - }); - const onCancel = () => { - visible.value = false; - }; - const dialogWidth = computed(() => parseFloat(props.width) + "px" || "500px"); - return (_ctx, _cache) => { - const _component_el_button = resolveComponent("el-button"); - const _component_el_dialog = resolveComponent("el-dialog"); - return openBlock(), createBlock(_component_el_dialog, { - modelValue: visible.value, - "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => visible.value = $event), - top: _ctx.top, - "append-to-body": _ctx.appendToBody, - center: _ctx.center, - "close-on-click-modal": _ctx.closeOnClickModal, - "close-on-press-escape": _ctx.closeOnPressEscape, - "custom-class": dialogClass.value, - "destroy-on-close": _ctx.destroyOnClose, - modal: _ctx.modal, - "show-close": _ctx.showClose, - width: dialogWidth.value - }, createSlots({ - title: withCtx(() => [ - _hoisted_1$1, - _hoisted_2$1, - _ctx.$slots.title ? renderSlot(_ctx.$slots, "title", { key: 0 }) : (openBlock(), createElementBlock("span", _hoisted_3$1, toDisplayString(_ctx.title), 1)) - ]), - default: withCtx(() => [ - renderSlot(_ctx.$slots, "default") - ]), - _: 2 - }, [ - _ctx.footer ? { - name: "footer", - fn: withCtx(() => [ - _ctx.$slots.footer ? renderSlot(_ctx.$slots, "footer", { key: 0 }) : (openBlock(), createElementBlock("span", _hoisted_4$1, [ - createVNode(_component_el_button, { - class: "el-button--ghost", - type: "primary", - onClick: onCancel - }, { - default: withCtx(() => [ - createTextVNode("\u53D6\u6D88") - ]), - _: 1 - }), - createVNode(_component_el_button, { - type: "primary", - loading: _ctx.confirmLoading, - onClick: _cache[0] || (_cache[0] = ($event) => emit("onOk")) - }, { - default: withCtx(() => [ - createTextVNode("\u786E\u5B9A") - ]), - _: 1 - }, 8, ["loading"]) - ])) - ]), - key: "0" - } : void 0 - ]), 1032, ["modelValue", "top", "append-to-body", "center", "close-on-click-modal", "close-on-press-escape", "custom-class", "destroy-on-close", "modal", "show-close", "width"]); - }; - } -}); -const _sfc_main$3 = defineComponent({ - inheritAttrs: false, - emits: ["ok", "update:modelValue"], - render() { - const vNode = this.$attrs.content || this.$slots["default"]; - const width = this.$attrs.width; - const modelValue = this.$attrs.modelValue; - const footer = this.$attrs.footer || false; - return h(_sfc_main$4, { - title: this.$attrs.title || "\u63D0\u793A", - "onOnOk": () => this.$emit("ok"), - "modelValue": modelValue, - closeOnClickModal: false, - "onUpdate:modelValue": (value) => this.$emit("update:modelValue", value), - width: width + "px", - footer - }, () => { - return h(vNode); - }); - } -}); -const reset = "_reset_123e3_4"; -const submit = "_submit_123e3_5"; -var style0 = { - "search-form": "_search-form_123e3_1", - reset, - submit -}; -const _sfc_main$2 = defineComponent({ - inheritAttrs: false, - emits: ["change"], - data() { - return { - formFields: [], - formModel: {}, - fieldOption: /* @__PURE__ */ new Map() - }; - }, - methods: { - onSubmit() { - this.$emit("change", this.formModel); - }, - onReset() { - this.formModel = {}; - this.$emit("change", {}); - } - }, - async beforeMount() { - const formItems = []; - const formModel = {}; - const target = this.$attrs.target; - const targetInstance = Reflect.construct(target, []); - for (const item in targetInstance) { - const metaData = Reflect.getMetadata( - "table:searchFormField", - targetInstance, - item - ); - if (metaData) { - formItems.push({ - label: metaData.def, - fieldType: metaData.fieldType, - style: metaData.style, - prop: item, - placeholder: metaData.placeholder - }); - formModel[item] = targetInstance[item] || void 0; - switch (metaData.fieldType) { - case "select": - if (metaData == null ? void 0 : metaData.getData) { - const treeSelectData = await metaData.getData(); - this.fieldOption.set(item, treeSelectData); - } - break; - } - } - } - this.formFields = formItems; - this.formModel = formModel; - }, - render() { - const formItems = this.formFields.map((item) => { - switch (item.fieldType) { - case "select": - const selectData = this.fieldOption.get(item.prop); - const options = selectData == null ? void 0 : selectData.data.map((option) => { - return h(ElSelect.Option, { - key: option.value, - label: option.label, - value: option.value - }); - }); - return h( - ElFormItem, - { - label: item.label, - prop: item.prop, - style: item.style - }, - () => h( - ElSelect, - { - modelValue: this.formModel[item.prop], - "onUpdate:modelValue": (value) => { - this.formModel[item.prop] = value; - }, - placeholder: "\u8BF7\u9009\u62E9" + item.label, - style: { width: "100%" } - }, - () => options - ) - ); - case "dateRange": - return h( - ElFormItem, - { - label: item.label, - prop: item.prop, - style: item.style - }, - () => h(ElDatePicker, { - modelValue: this.formModel[item.prop], - "onUpdate:modelValue": (value) => { - this.formModel[item.prop] = value; - }, - type: "daterange", - startPlaceholder: "\u5F00\u59CB\u65E5\u671F", - endPlaceholder: "\u7ED3\u675F\u65E5\u671F", - style: { width: "100%" } - }) - ); - case "default": - default: - return h( - ElFormItem, - item, - () => h(ElInput, { - modelValue: this.formModel[item.prop], - "onUpdate:modelValue": (value) => { - this.formModel[item.prop] = value; - }, - placeholder: item.placeholder ? item.placeholder : "\u8BF7\u8F93\u5165" + item.label, - autocomplete: "off", - onKeyup: (e) => { - var _a; - e.preventDefault(); - e.stopPropagation(); - if (e.keyCode == 13) { - (_a = this == null ? void 0 : this.onSubmit) == null ? void 0 : _a.call(this); - } - } - }) - ); - } - }); - const style = this.$style; - if (formItems.length > 0) { - formItems.push( - h(ElFormItem, {}, () => [ - h( - ElButton, - { - class: style["submit"], - onClick: this.onSubmit - }, - () => "\u67E5\u8BE2" - ), - h( - ElButton, - { - class: style["reset"], - onClick: this.onReset - }, - () => "\u91CD\u7F6E" - ) - ]) - ); - return h( - ElForm, - { - inline: true, - class: style["search-form"], - model: this.formModel, - ref: "formRef", - onSubmit: (e) => { - e.preventDefault(); - e.stopPropagation(); - return false; - } - }, - () => formItems - ); - } - return null; - } -}); -const cssModules = { - "$style": style0 -}; -var UmSearchForm = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__cssModules", cssModules]]); -/*! Element Plus Icons Vue v2.3.1 */ -var arrow_left_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({ - name: "ArrowLeft", - __name: "arrow-left", - setup(__props) { - return (_ctx, _cache) => (openBlock(), createElementBlock("svg", { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 1024 1024" - }, [ - createElementVNode("path", { - fill: "currentColor", - d: "M609.408 149.376 277.76 489.6a32 32 0 0 0 0 44.672l331.648 340.352a29.12 29.12 0 0 0 41.728 0 30.592 30.592 0 0 0 0-42.752L339.264 511.936l311.872-319.872a30.592 30.592 0 0 0 0-42.688 29.12 29.12 0 0 0-41.728 0z" - }) - ])); - } -}); -var arrow_left_default = arrow_left_vue_vue_type_script_setup_true_lang_default; -var arrow_right_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({ - name: "ArrowRight", - __name: "arrow-right", - setup(__props) { - return (_ctx, _cache) => (openBlock(), createElementBlock("svg", { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 1024 1024" - }, [ - createElementVNode("path", { - fill: "currentColor", - d: "M340.864 149.312a30.592 30.592 0 0 0 0 42.752L652.736 512 340.864 831.872a30.592 30.592 0 0 0 0 42.752 29.12 29.12 0 0 0 41.728 0L714.24 534.336a32 32 0 0 0 0-44.672L382.592 149.376a29.12 29.12 0 0 0-41.728 0z" - }) - ])); - } -}); -var arrow_right_default = arrow_right_vue_vue_type_script_setup_true_lang_default; -var caret_bottom_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({ - name: "CaretBottom", - __name: "caret-bottom", - setup(__props) { - return (_ctx, _cache) => (openBlock(), createElementBlock("svg", { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 1024 1024" - }, [ - createElementVNode("path", { - fill: "currentColor", - d: "m192 384 320 384 320-384z" - }) - ])); - } -}); -var caret_bottom_default = caret_bottom_vue_vue_type_script_setup_true_lang_default; -var caret_top_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({ - name: "CaretTop", - __name: "caret-top", - setup(__props) { - return (_ctx, _cache) => (openBlock(), createElementBlock("svg", { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 1024 1024" - }, [ - createElementVNode("path", { - fill: "currentColor", - d: "M512 320 192 704h639.936z" - }) - ])); - } -}); -var caret_top_default = caret_top_vue_vue_type_script_setup_true_lang_default; -var index_vue_vue_type_style_index_0_scoped_true_lang = ""; -const _withScopeId = (n) => (pushScopeId("data-v-2069c634"), n = n(), popScopeId(), n); -const _hoisted_1 = { class: "um-pagination" }; -const _hoisted_2 = { class: "pages" }; -const _hoisted_3 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("li", null, "\u8DF3\u8F6C\u81F3", -1)); -const _hoisted_4 = { class: "el-input el-input--mini el-pagination__editor is-in-pagination" }; -const _hoisted_5 = ["value", "max"]; -const __default__ = { - name: "um-pagination" -}; -const _sfc_main$1 = defineComponent({ - ...__default__, - props: { - page: { default: 1 }, - pages: { default: () => [10, 20, 50, 100] }, - size: { default: 10 }, - total: { default: 0 } - }, - emits: ["onChange"], - setup(__props, { emit: __emit }) { - const visible = ref(false); - const value = ref(); - const props = __props; - const emit = __emit; - const pageTotal = computed(() => Math.ceil(props.total / props.size)); - const disablePrev = computed(() => props.page <= 1); - const disableNext = computed(() => props.page >= pageTotal.value); - const onChange = (v) => { - visible.value = v; - }; - const onPageChange = (v) => { - if (v !== props.size) { - emit("onChange", 1, v); - } - }; - const onPrev = () => { - if (disablePrev.value) { - return; - } - emit("onChange", props.page - 1, props.size); - }; - const onNext = () => { - if (disableNext.value) { - return; - } - emit("onChange", props.page + 1, props.size); - }; - const onInput = (e) => { - const val = e.target.value; - value.value = val.replace(/\D/g, ""); - }; - const onSubmit = () => { - const p = Number(value.value); - if (!p || isNaN(p)) { - return; - } - let v = p; - if (p < 1) { - v = 1; - } else if (p > pageTotal.value) { - v = pageTotal.value; - } - if (v !== props.page) { - emit("onChange", v, props.size); - value.value = ""; - } - }; - return (_ctx, _cache) => { - const _component_el_icon = resolveComponent("el-icon"); - const _component_el_dropdown_item = resolveComponent("el-dropdown-item"); - const _component_el_dropdown_menu = resolveComponent("el-dropdown-menu"); - const _component_el_dropdown = resolveComponent("el-dropdown"); - return openBlock(), createElementBlock("div", _hoisted_1, [ - createElementVNode("ul", null, [ - createElementVNode("li", null, "\u5171" + toDisplayString(_ctx.total) + "\u9879", 1), - createElementVNode("li", null, [ - createVNode(_component_el_dropdown, { onVisibleChange: onChange }, { - dropdown: withCtx(() => [ - createVNode(_component_el_dropdown_menu, null, { - default: withCtx(() => [ - (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.pages, (item) => { - return openBlock(), createBlock(_component_el_dropdown_item, { - key: item, - onClick: ($event) => onPageChange(item) - }, { - default: withCtx(() => [ - createTextVNode(toDisplayString(item), 1) - ]), - _: 2 - }, 1032, ["onClick"]); - }), 128)) - ]), - _: 1 - }) - ]), - default: withCtx(() => [ - createElementVNode("div", _hoisted_2, [ - createElementVNode("span", null, "\u6BCF\u9875" + toDisplayString(_ctx.size) + "\u9879", 1), - createVNode(_component_el_icon, null, { - default: withCtx(() => [ - visible.value ? (openBlock(), createBlock(unref(caret_top_default), { key: 0 })) : (openBlock(), createBlock(unref(caret_bottom_default), { key: 1 })) - ]), - _: 1 - }) - ]) - ]), - _: 1 - }) - ]), - createElementVNode("li", { - title: "\u4E0A\u4E00\u9875", - class: normalizeClass(["btn-arrow", { - disabled: disablePrev.value - }]), - onClick: onPrev - }, [ - createVNode(_component_el_icon, { - style: normalizeStyle({ - color: disablePrev.value ? "#666" : void 0 - }) - }, { - default: withCtx(() => [ - createVNode(unref(arrow_left_default)) - ]), - _: 1 - }, 8, ["style"]) - ], 2), - createElementVNode("li", null, toDisplayString(_ctx.page) + "/" + toDisplayString(pageTotal.value), 1), - createElementVNode("li", { - title: "\u4E0B\u4E00\u9875", - class: normalizeClass(["btn-arrow", { - disabled: disableNext.value - }]), - onClick: onNext - }, [ - createVNode(_component_el_icon, { - style: normalizeStyle({ - color: disableNext.value ? "#666" : void 0 - }) - }, { - default: withCtx(() => [ - createVNode(unref(arrow_right_default)) - ]), - _: 1 - }, 8, ["style"]) - ], 2), - _hoisted_3, - createElementVNode("li", null, [ - createElementVNode("div", _hoisted_4, [ - createElementVNode("input", { - class: "el-input__inner", - value: value.value, - type: "number", - min: 1, - max: pageTotal.value, - autocomplete: "off", - onInput, - onBlur: onSubmit, - onKeyup: withKeys(onSubmit, ["enter"]) - }, null, 40, _hoisted_5) - ]) - ]) - ]) - ]); - }; - } -}); -var UmPagination = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-2069c634"]]); -var UmByClassEnhance_vue_vue_type_style_index_0_scoped_true_lang = ""; -const _sfc_main = defineComponent({ - name: "UmByClassEnhance", - inheritAttrs: false, - emits: ["fire", "fire:onBefore", "fire:onNow", "fire:onAfter", "dataChange"], - data() { - return { - dialogVisible: false, - currentPage: 1, - currentPageSize: 10, - confirmCb: null, - dialogTitle: "\u63D0\u793A", - dialogContent: null, - dialogWidth: 500, - dialogShowFooter: false, - activeFormRef: null, - searchFormModel: {}, - currentId: null, - data: [], - total: 0 - }; - }, - watch: { - "$attrs.other-params"(v) { - this.currentPage = 1; - this.dialogVisible = false; - this.getList(); - }, - data(v) { - this.$emit("dataChange", v); - } - }, - methods: { - async onFire(data, key, es, cb, metaValue = {}) { - var _a; - let dialogContent = null, dialogTitle = null, metaData = null, dKey; - switch (key) { - case "\u6DFB\u52A0": - case "edit": - if ("\u6DFB\u52A0" == key) - dKey = "table:toolbar"; - else - dKey = "table:operate"; - if (es == "onBefore") { - this.dialogShowFooter = false; - } else if (es == "onNow") { - metaData = this.getMetaDataByKey(data, key, dKey); - dialogContent = metaData == null ? void 0 : metaData.dialogContent; - dialogTitle = metaData == null ? void 0 : metaData.dialogTitle; - this.dialogWidth = (metaData == null ? void 0 : metaData.dialogWidth) || this.dialogWidth || 500; - let addEditData = data, depData = {}; - if ("\u6DFB\u52A0" == key) { - addEditData = this.$attrs["form-data"] || {}; - } else if ("edit" == key) { - const attrs = this.$attrs; - const targetInstance = Reflect.construct(attrs.target, []); - const needParseField = Object.keys(targetInstance).filter( - (item) => { - return (item == null ? void 0 : item[0]) == "_"; - } - ); - let fieldName = ""; - needParseField.forEach((item) => { - fieldName = item.substr(1); - targetInstance[fieldName] = addEditData[fieldName]; - addEditData[fieldName] = targetInstance[fieldName]; - }); - } - depData = await ((_a = metaData == null ? void 0 : metaData.getData) == null ? void 0 : _a.call(metaData)); - depData = depData || {}; - this.dialogContent = h(dialogContent, { - target: (metaData == null ? void 0 : metaData.dialogTarget) || this.$attrs.target, - data: addEditData, - depData, - onCancel: () => { - this.dialogVisible = false; - }, - onOk: (data2) => { - var _a2; - const attrs = this.$attrs; - const targetInstance = Reflect.construct(attrs.target, []); - const needParseField = Object.keys(targetInstance).filter( - (item) => { - return (item == null ? void 0 : item[0]) == "_"; - } - ); - if (needParseField.length > 0) { - let fieldName = ""; - needParseField.forEach((item) => { - fieldName = item.substr(1); - targetInstance[fieldName] = data2[fieldName]; - data2[fieldName] = targetInstance[item]; - }); - } - (_a2 = this.confirmCb) == null ? void 0 : _a2.call(this, data2); - } - }); - this.dialogTitle = dialogTitle; - this.dialogVisible = true; - this.activeFormRef = "editForm"; - this.setConfirmCb(data, key, dKey); - return data; - } else if (es == "onAfter") { - if (data.code == 0) { - if ("\u6DFB\u52A0" == key) { - this.currentPage = 1; - } - this.dialogVisible = false; - this.getList(); - ElMessage.success("\u64CD\u4F5C\u6210\u529F"); - } else { - ElMessage.error((data == null ? void 0 : data.message) || "\u64CD\u4F5C\u5931\u8D25"); - } - } - break; - case "del": - case "\u6279\u91CF\u5220\u9664": - if ("\u6279\u91CF\u5220\u9664" == key) - dKey = "table:toolbar"; - else - dKey = "table:operate"; - if (es == "onBefore") { - this.dialogShowFooter = true; - } else if (es == "onNow") { - metaData = this.getMetaDataByKey(data, key, dKey); - dialogContent = metaData == null ? void 0 : metaData.dialogContent; - dialogTitle = metaData == null ? void 0 : metaData.dialogTitle; - this.dialogTitle = dialogTitle; - this.dialogWidth = (metaData == null ? void 0 : metaData.dialogWidth) || this.dialogWidth || 500; - if (typeof dialogContent == "string") { - this.dialogContent = h("div", dialogContent); - } else { - this.dialogContent = h(dialogContent); - } - this.dialogVisible = true; - if ("\u6279\u91CF\u5220\u9664" == key) - this.currentId = data.map((item) => item.id); - else - this.currentId = data; - this.setConfirmCb(data, key, dKey); - return data; - } else if (es == "onAfter") { - if (data && data.code == 0) { - this.currentPage = 1; - this.dialogVisible = false; - this.currentId = null; - this.getList(); - ElMessage.success("\u5220\u9664\u6210\u529F"); - } else { - ElMessage.error((data == null ? void 0 : data.message) || "\u5220\u9664\u5931\u8D25"); - } - } - break; - case "customOperateEvent": - if (es == "onNow") { - const sourceData = this.data; - this.$emit("fire", key, data, metaValue, sourceData); - } - break; - } - return cb(data); - }, - setConfirmCb(data, key, dKey) { - const attrs = this.$attrs; - const targetInstance = Reflect.construct(attrs.target, []); - const operateMap = /* @__PURE__ */ new Map(); - for (const item in targetInstance) { - if (targetInstance.hasOwnProperty(item) && typeof targetInstance[item] == "function") { - const metaData = Reflect.getMetadata( - dKey, - targetInstance, - item - ); - if (metaData && metaData.type == key) { - let edit = []; - const type = metaData.type; - if (operateMap.has(type)) { - edit = operateMap.get(type); - } - edit.push({ event: targetInstance[item], meta: metaData }); - operateMap.set(type, edit); - } - continue; - } - } - this.confirmCb = async (data2, key2) => { - var _a; - const refs = this.$refs; - if (this.activeFormRef) { - (_a = refs == null ? void 0 : refs[this.activeFormRef]) == null ? void 0 : _a.validate(); - } - const operateEvents = []; - operateMap.forEach((value, key3, target) => { - operateEvents.push(async (rowId) => { - var _a2; - const sortAfterData = value.sort( - (a, b) => (b.meta.priority || 0) - (a.meta.priority || 0) - ); - const groupAfterData = groupBy$1( - sortAfterData, - (item) => item.meta.es - ); - let currentdata = rowId; - for (const gI of ["onAfter"]) { - const data3 = groupAfterData[gI]; - if (data3) { - for (const cEvent of data3) { - currentdata = await ((_a2 = cEvent == null ? void 0 : cEvent.event) == null ? void 0 : _a2.call( - cEvent, - rowId, - currentdata, - cEvent.meta - )); - } - } - currentdata = await new Promise((resolve) => { - const that = this; - if (that.onFire) - that.onFire( - currentdata, - key3, - gI, - (_data) => { - resolve(data3); - }, - data3 - ); - }); - } - }); - }); - for (const item of operateEvents) { - await (item == null ? void 0 : item(data2)); - } - }; - }, - getMetaDataByKey(data, key, dKey) { - const attrs = this.$attrs; - if (!attrs.target) - return; - const targetInstance = Reflect.construct(attrs.target, []); - for (const item in targetInstance) { - if (targetInstance.hasOwnProperty(item) && typeof targetInstance[item] == "function") { - const metaData = Reflect.getMetadata( - dKey, - targetInstance, - item - ); - if (metaData && metaData.type == key) { - return metaData; - } - } - } - return null; - }, - handleSizeChange(size) { - this.currentPageSize = size; - }, - handleCurrentChange(p, s) { - this.currentPage = p; - this.currentPageSize = s; - this.getList(); - }, - async getList() { - const method = "getList"; - const attrs = this.$attrs; - if (!attrs.target) - return; - const targetInstance = Reflect.construct(attrs.target, []); - const metaData = Reflect.getMetadata( - "table:searchFormMethod", - targetInstance, - method - ); - if (metaData) { - const otherParams = (attrs == null ? void 0 : attrs["other-params"]) || {}; - const { data, total } = await targetInstance[method]({ - ...this.searchFormModel, - page: this.currentPage, - pageSize: this.currentPageSize, - ...otherParams - }); - this.data = data; - this.total = total; - } - }, - onSearchFormChange(params) { - this.searchFormModel = params; - this.currentPage = 1; - this.getList(); - } - }, - beforeMount() { - this.getList(); - }, - render() { - const that = this; - const attrs = this.$attrs; - const target = attrs.target; - const otherParams = (attrs == null ? void 0 : attrs["other-params"]) || {}; - const searchParams = this.searchFormModel || {}; - const isExpand = attrs == null ? void 0 : attrs["is-expand"]; - const expandTemplate = attrs == null ? void 0 : attrs["expand-template"]; - const data = this.data; - const page = that.currentPage, size = that.currentPageSize, total = that.total; - return h( - "div", - { - class: this.$attrs.class - }, - [ - h(UmSearchForm, { target, onChange: that.onSearchFormChange }), - h(_sfc_main$5, { - target, - data, - onFire: this.onFire, - "other-params": otherParams, - "search-params": searchParams, - ["is-expand"]: isExpand, - ["expand-template"]: expandTemplate - }), - h(UmPagination, { - page, - size, - total, - class: "page", - onOnChange: that.handleCurrentChange - }), - h(_sfc_main$3, { - modelValue: this.dialogVisible, - "onUpdate:modelValue": (value) => { - this.dialogVisible = value; - }, - title: this.dialogTitle, - content: this.dialogContent, - width: this.dialogWidth, - footer: this.dialogShowFooter, - ref: "dialog", - onOk: (data2) => { - var _a; - (_a = this.confirmCb) == null ? void 0 : _a.call(this, this.currentId); - } - }) - ] - ); - } -}); -var UmByClassEnhance = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-6df87154"]]); -export { UmByClassEnhance };