feat: 更新为 1.2.0 构建产物(内核重构版)

- 产物替换为 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 说明产物清单与用法
This commit is contained in:
2026-09-19 01:04:09 +08:00
parent 0d6ad0c775
commit f26bd3f377
38 changed files with 14329 additions and 3516 deletions
+34
View File
@@ -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<string>;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "click"[], "click", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
class: {
type: StringConstructor;
required: false;
};
style: {
type: null;
required: false;
};
type: {
type: StringConstructor;
required: true;
};
}>> & {
onClick?: ((...args: any[]) => any) | undefined;
}, {}>;
export default _sfc_main;
+49
View File
@@ -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
<!-- 模板里只挂一个配置类列表页的查询 / 工具栏 / 操作列 / 弹窗表单都由装饰器描述 -->
<um-by-class-enhance :target="Employee" />
```
UMD 方式(挂到 `window.funjiaUI`):
```html
<link rel="stylesheet" href="./style.css" />
<script src="./funjiaui.umd.js"></script>
```
## 版本
| 版本 | 说明 |
| --- | --- |
| 1.2.0 | 内核层重构(core/)、类型统一、编辑链路修复、配置体检、UMD 全局名修正为 `funjiaUI` |
| 1.0.0 | 初版产物(`um_table.es.js`,已被 1.2.0 取代),保留在 `v1.0.0` 标签 |
+567
View File
@@ -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<string>;
visible: import("vue").WritableComputedRef<boolean>;
onCancel: () => void;
dialogWidth: import("vue").ComputedRef<string>;
ElDialog: import("element-plus/es/utils").SFCWithInstall<import("vue").DefineComponent<{
readonly appendToBody: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, false, unknown, unknown, unknown>;
readonly beforeClose: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<import("element-plus").DialogBeforeCloseFn>, unknown, unknown, unknown, unknown>;
readonly destroyOnClose: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, false, unknown, unknown, unknown>;
readonly closeOnClickModal: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
readonly closeOnPressEscape: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
readonly lockScroll: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
readonly modal: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
readonly openDelay: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, 0, unknown, unknown, unknown>;
readonly closeDelay: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, 0, unknown, unknown, unknown>;
readonly top: import("element-plus/es/utils").BuildPropReturn<StringConstructor, unknown, unknown, unknown, unknown>;
readonly modelValue: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, unknown, true, unknown, unknown>;
readonly modalClass: StringConstructor;
readonly width: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, NumberConstructor], unknown, unknown, unknown, unknown>;
readonly zIndex: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, unknown, unknown, unknown, unknown>;
readonly trapFocus: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, false, unknown, unknown, unknown>;
readonly center: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, false, unknown, unknown, unknown>;
readonly closeIcon: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>>, "", unknown, unknown, unknown>;
readonly customClass: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "", unknown, unknown, unknown>;
readonly draggable: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, false, unknown, unknown, unknown>;
readonly fullscreen: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, false, unknown, unknown, unknown>;
readonly showClose: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
readonly title: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "", unknown, unknown, unknown>;
}, {
props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
readonly appendToBody: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, false, unknown, unknown, unknown>;
readonly beforeClose: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<import("element-plus").DialogBeforeCloseFn>, unknown, unknown, unknown, unknown>;
readonly destroyOnClose: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, false, unknown, unknown, unknown>;
readonly closeOnClickModal: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
readonly closeOnPressEscape: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
readonly lockScroll: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
readonly modal: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
readonly openDelay: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, 0, unknown, unknown, unknown>;
readonly closeDelay: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, 0, unknown, unknown, unknown>;
readonly top: import("element-plus/es/utils").BuildPropReturn<StringConstructor, unknown, unknown, unknown, unknown>;
readonly modelValue: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, unknown, true, unknown, unknown>;
readonly modalClass: StringConstructor;
readonly width: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, NumberConstructor], unknown, unknown, unknown, unknown>;
readonly zIndex: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, unknown, unknown, unknown, unknown>;
readonly trapFocus: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, false, unknown, unknown, unknown>;
readonly center: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, false, unknown, unknown, unknown>;
readonly closeIcon: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>>, "", unknown, unknown, unknown>;
readonly customClass: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "", unknown, unknown, unknown>;
readonly draggable: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, false, unknown, unknown, unknown>;
readonly fullscreen: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, false, unknown, unknown, unknown>;
readonly showClose: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
readonly title: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "", unknown, unknown, unknown>;
}>> & {
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<string>;
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<HTMLElement | undefined>;
headerRef: import("vue").Ref<HTMLElement | undefined>;
visible: import("vue").Ref<boolean>;
style: import("vue").ComputedRef<import("vue").CSSProperties>;
rendered: import("vue").Ref<boolean>;
zIndex: import("vue").Ref<number>;
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<boolean>;
ElOverlay: import("vue").DefineComponent<{
readonly mask: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
readonly customMaskEvent: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, false, unknown, unknown, unknown>;
readonly overlayClass: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<string | string[] | Record<string, boolean>>, unknown, unknown, unknown, unknown>;
readonly zIndex: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<import("csstype").ZIndexProperty>, unknown, unknown, unknown, unknown>;
}, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
click: (evt: MouseEvent) => boolean;
}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
readonly mask: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
readonly customMaskEvent: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, false, unknown, unknown, unknown>;
readonly overlayClass: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<string | string[] | Record<string, boolean>>, unknown, unknown, unknown, unknown>;
readonly zIndex: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<import("csstype").ZIndexProperty>, unknown, unknown, unknown, unknown>;
}>> & {
onClick?: ((evt: MouseEvent) => any) | undefined;
}, {
zIndex: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<import("csstype").ZIndexProperty>, unknown, unknown>;
mask: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
customMaskEvent: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
overlayClass: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<string | string[] | Record<string, boolean>>, unknown, unknown>;
}>;
ElDialogContent: import("vue").DefineComponent<{
readonly center: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, false, unknown, unknown, unknown>;
readonly closeIcon: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>>, "", unknown, unknown, unknown>;
readonly customClass: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "", unknown, unknown, unknown>;
readonly draggable: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, false, unknown, unknown, unknown>;
readonly fullscreen: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, false, unknown, unknown, unknown>;
readonly showClose: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
readonly title: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "", unknown, unknown, unknown>;
}, {
Close: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
dialogRef: import("vue").Ref<HTMLElement | undefined>;
headerRef: import("vue").Ref<HTMLElement | undefined>;
ns: {
namespace: import("vue").ComputedRef<string>;
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<import("vue").CSSProperties>;
ElIcon: import("element-plus/es/utils").SFCWithInstall<import("vue").DefineComponent<{
readonly size: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<string | number>, unknown, unknown, unknown, unknown>;
readonly color: import("element-plus/es/utils").BuildPropReturn<StringConstructor, unknown, unknown, unknown, unknown>;
}, {
props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
readonly size: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<string | number>, unknown, unknown, unknown, unknown>;
readonly color: import("element-plus/es/utils").BuildPropReturn<StringConstructor, unknown, unknown, unknown, unknown>;
}>> & {
[x: `on${string}`]: ((...args: any[]) => any) | ((...args: unknown[]) => any) | undefined;
}>>;
ns: {
namespace: import("vue").ComputedRef<string>;
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<import("vue").CSSProperties>;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
readonly size: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<string | number>, unknown, unknown, unknown, unknown>;
readonly color: import("element-plus/es/utils").BuildPropReturn<StringConstructor, unknown, unknown, unknown, unknown>;
}>>, {
size: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<string | number>, unknown, unknown>;
color: string;
}>> & Record<string, any>;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
close: () => boolean;
}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
readonly center: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, false, unknown, unknown, unknown>;
readonly closeIcon: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>>, "", unknown, unknown, unknown>;
readonly customClass: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "", unknown, unknown, unknown>;
readonly draggable: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, false, unknown, unknown, unknown>;
readonly fullscreen: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, false, unknown, unknown, unknown>;
readonly showClose: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
readonly title: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "", unknown, unknown, unknown>;
}>> & {
onClose?: (() => any) | undefined;
}, {
title: string;
center: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
draggable: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
showClose: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
closeIcon: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>>, unknown, unknown>;
customClass: string;
fullscreen: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
}>;
}, 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<import("vue").ExtractPropTypes<{
readonly appendToBody: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, false, unknown, unknown, unknown>;
readonly beforeClose: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<import("element-plus").DialogBeforeCloseFn>, unknown, unknown, unknown, unknown>;
readonly destroyOnClose: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, false, unknown, unknown, unknown>;
readonly closeOnClickModal: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
readonly closeOnPressEscape: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
readonly lockScroll: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
readonly modal: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
readonly openDelay: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, 0, unknown, unknown, unknown>;
readonly closeDelay: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, 0, unknown, unknown, unknown>;
readonly top: import("element-plus/es/utils").BuildPropReturn<StringConstructor, unknown, unknown, unknown, unknown>;
readonly modelValue: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, unknown, true, unknown, unknown>;
readonly modalClass: StringConstructor;
readonly width: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, NumberConstructor], unknown, unknown, unknown, unknown>;
readonly zIndex: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, unknown, unknown, unknown, unknown>;
readonly trapFocus: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, false, unknown, unknown, unknown>;
readonly center: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, false, unknown, unknown, unknown>;
readonly closeIcon: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>>, "", unknown, unknown, unknown>;
readonly customClass: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "", unknown, unknown, unknown>;
readonly draggable: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, false, unknown, unknown, unknown>;
readonly fullscreen: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, false, unknown, unknown, unknown>;
readonly showClose: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
readonly title: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "", unknown, unknown, unknown>;
}>> & {
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<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
title: string;
center: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
draggable: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
openDelay: number;
showClose: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
closeIcon: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>>, unknown, unknown>;
customClass: string;
fullscreen: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
appendToBody: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
beforeClose: import("element-plus").DialogBeforeCloseFn;
destroyOnClose: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
closeOnClickModal: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
closeOnPressEscape: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
lockScroll: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
modal: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
closeDelay: number;
trapFocus: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
}>> & Record<string, any>;
ElButton: import("element-plus/es/utils").SFCWithInstall<import("vue").DefineComponent<{
readonly size: import("element-plus/es/utils").BuildPropReturn<StringConstructor, never, false, "" | "default" | "small" | "large", never>;
readonly disabled: BooleanConstructor;
readonly type: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "", unknown, "" | "default" | "primary" | "success" | "warning" | "info" | "danger" | "text", unknown>;
readonly icon: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>>, "", unknown, unknown, unknown>;
readonly nativeType: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "button", unknown, "button" | "submit" | "reset", unknown>;
readonly loading: BooleanConstructor;
readonly loadingIcon: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>>, () => import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>, 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<BooleanConstructor, undefined, unknown, unknown, unknown>;
}, {
props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
readonly size: import("element-plus/es/utils").BuildPropReturn<StringConstructor, never, false, "" | "default" | "small" | "large", never>;
readonly disabled: BooleanConstructor;
readonly type: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "", unknown, "" | "default" | "primary" | "success" | "warning" | "info" | "danger" | "text", unknown>;
readonly icon: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>>, "", unknown, unknown, unknown>;
readonly nativeType: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "button", unknown, "button" | "submit" | "reset", unknown>;
readonly loading: BooleanConstructor;
readonly loadingIcon: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>>, () => import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>, 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<BooleanConstructor, undefined, unknown, unknown, unknown>;
}>> & {
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<import("element-plus").ButtonConfigContext | undefined>;
ns: {
namespace: import("vue").ComputedRef<string>;
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<boolean>;
_ref: import("vue").Ref<HTMLButtonElement | undefined>;
_type: import("vue").ComputedRef<"" | "default" | "primary" | "success" | "warning" | "info" | "danger" | "text">;
autoInsertSpace: import("vue").ComputedRef<import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>>;
shouldAddSpace: import("vue").ComputedRef<boolean>;
buttonStyle: import("vue").ComputedRef<Record<string, string>>;
handleClick: (evt: MouseEvent) => void;
ElIcon: import("element-plus/es/utils").SFCWithInstall<import("vue").DefineComponent<{
readonly size: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<string | number>, unknown, unknown, unknown, unknown>;
readonly color: import("element-plus/es/utils").BuildPropReturn<StringConstructor, unknown, unknown, unknown, unknown>;
}, {
props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
readonly size: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<string | number>, unknown, unknown, unknown, unknown>;
readonly color: import("element-plus/es/utils").BuildPropReturn<StringConstructor, unknown, unknown, unknown, unknown>;
}>> & {
[x: `on${string}`]: ((...args: any[]) => any) | ((...args: unknown[]) => any) | undefined;
}>>;
ns: {
namespace: import("vue").ComputedRef<string>;
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<import("vue").CSSProperties>;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
readonly size: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<string | number>, unknown, unknown, unknown, unknown>;
readonly color: import("element-plus/es/utils").BuildPropReturn<StringConstructor, unknown, unknown, unknown, unknown>;
}>>, {
size: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<string | number>, unknown, unknown>;
color: string;
}>> & Record<string, any>;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
click: (evt: MouseEvent) => boolean;
}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
readonly size: import("element-plus/es/utils").BuildPropReturn<StringConstructor, never, false, "" | "default" | "small" | "large", never>;
readonly disabled: BooleanConstructor;
readonly type: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "", unknown, "" | "default" | "primary" | "success" | "warning" | "info" | "danger" | "text", unknown>;
readonly icon: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>>, "", unknown, unknown, unknown>;
readonly nativeType: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "button", unknown, "button" | "submit" | "reset", unknown>;
readonly loading: BooleanConstructor;
readonly loadingIcon: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>>, () => import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>, 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<BooleanConstructor, undefined, unknown, unknown, unknown>;
}>> & {
onClick?: ((evt: MouseEvent) => any) | undefined;
}, {
type: import("element-plus/es/utils").BuildPropType<StringConstructor, "" | "default" | "primary" | "success" | "warning" | "info" | "danger" | "text", unknown>;
icon: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>>, unknown, unknown>;
nativeType: import("element-plus/es/utils").BuildPropType<StringConstructor, "button" | "submit" | "reset", unknown>;
loadingIcon: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>>, unknown, unknown>;
autoInsertSpace: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
size: import("element-plus/es/utils").BuildPropType<StringConstructor, "" | "default" | "small" | "large", never>;
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<StringConstructor, never, false, "" | "default" | "small" | "large", never>;
readonly type: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "", unknown, "" | "default" | "primary" | "success" | "warning" | "info" | "danger" | "text", unknown>;
}, {
props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
readonly size: import("element-plus/es/utils").BuildPropReturn<StringConstructor, never, false, "" | "default" | "small" | "large", never>;
readonly type: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "", unknown, "" | "default" | "primary" | "success" | "warning" | "info" | "danger" | "text", unknown>;
}>> & {
[x: `on${string}`]: ((...args: any[]) => any) | ((...args: unknown[]) => any) | undefined;
}>>;
ns: {
namespace: import("vue").ComputedRef<string>;
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, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
readonly size: import("element-plus/es/utils").BuildPropReturn<StringConstructor, never, false, "" | "default" | "small" | "large", never>;
readonly type: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "", unknown, "" | "default" | "primary" | "success" | "warning" | "info" | "danger" | "text", unknown>;
}>>, {
type: import("element-plus/es/utils").BuildPropType<StringConstructor, "" | "default" | "primary" | "success" | "warning" | "info" | "danger" | "text", unknown>;
size: import("element-plus/es/utils").BuildPropType<StringConstructor, "" | "default" | "small" | "large", never>;
}>;
};
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("update:modelValue" | "onOk")[], "update:modelValue" | "onOk", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
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;
};
}>> & {
"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;
+896
View File
@@ -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<boolean>;
value: import("vue").Ref<string | undefined>;
props: any;
emit: (e: "onChange", p: number, s: number) => void;
pageTotal: import("vue").ComputedRef<number>;
disablePrev: import("vue").ComputedRef<boolean>;
disableNext: import("vue").ComputedRef<boolean>;
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<import("vue").DefineComponent<{
readonly size: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<string | number>, unknown, unknown, unknown, unknown>;
readonly color: import("element-plus/es/utils").BuildPropReturn<StringConstructor, unknown, unknown, unknown, unknown>;
}, {
props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
readonly size: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<string | number>, unknown, unknown, unknown, unknown>;
readonly color: import("element-plus/es/utils").BuildPropReturn<StringConstructor, unknown, unknown, unknown, unknown>;
}>> & {
[x: `on${string}`]: ((...args: any[]) => any) | ((...args: unknown[]) => any) | undefined;
}>>;
ns: {
namespace: import("vue").ComputedRef<string>;
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<import("vue").CSSProperties>;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
readonly size: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<string | number>, unknown, unknown, unknown, unknown>;
readonly color: import("element-plus/es/utils").BuildPropReturn<StringConstructor, unknown, unknown, unknown, unknown>;
}>>, {
size: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<string | number>, unknown, unknown>;
color: string;
}>> & Record<string, any>;
ElDropdown: import("element-plus/es/utils").SFCWithInstall<import("vue").DefineComponent<{
readonly trigger: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<"click" | "focus" | "hover" | "contextmenu" | ("click" | "focus" | "hover" | "contextmenu")[]>, "hover", unknown, unknown, unknown>;
readonly effect: {
readonly default: "light";
readonly type: import("vue").PropType<string>;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
readonly __elPropsReservedKey: true;
};
readonly type: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<import("element-plus/es/utils").BuildPropType<StringConstructor, "" | "default" | "primary" | "success" | "warning" | "info" | "danger" | "text", unknown>>, unknown, unknown, unknown, unknown>;
readonly placement: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<import("element-plus").Placement>, "bottom", unknown, unknown, unknown>;
readonly popperOptions: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<Partial<import("element-plus").Options>>, () => {}, unknown, unknown, unknown>;
readonly size: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "", unknown, unknown, unknown>;
readonly splitButton: BooleanConstructor;
readonly hideOnClick: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
readonly loop: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, unknown, unknown, unknown, unknown>;
readonly showTimeout: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, 150, unknown, unknown, unknown>;
readonly hideTimeout: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, 150, unknown, unknown, unknown>;
readonly tabindex: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<string | number>, 0, unknown, unknown, unknown>;
readonly maxHeight: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<string | number>, "", unknown, unknown, unknown>;
readonly popperClass: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "", unknown, unknown, unknown>;
readonly disabled: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, false, unknown, unknown, unknown>;
readonly buttonProps: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<import("element-plus").ButtonProps>, unknown, unknown, unknown, unknown>;
}, {
ns: {
namespace: import("vue").ComputedRef<string>;
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<null>;
wrapStyle: import("vue").ComputedRef<import("vue").CSSProperties>;
dropdownTriggerKls: import("vue").ComputedRef<string[]>;
dropdownSize: import("vue").ComputedRef<"" | "default" | "small" | "large">;
currentTabId: import("vue").Ref<string | null>;
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<import("element-plus/es/utils").PropWrapper<"click" | "focus" | "hover" | "contextmenu" | ("click" | "focus" | "hover" | "contextmenu")[]>, unknown, unknown>;
offset: number;
effect: string;
placement: import("element-plus/es/utils").BuildPropType<StringConstructor, import("element-plus").Placement, unknown>;
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<BooleanConstructor, unknown, unknown>;
popperOptions: Partial<import("element-plus").Options>;
strategy: import("element-plus/es/utils").BuildPropType<StringConstructor, "fixed" | "absolute", unknown>;
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<BooleanConstructor, unknown, unknown>;
popperStyle: import("vue").StyleValue;
referenceEl: HTMLElement;
stopPopperMouseEvent: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
visible: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<boolean | null>, unknown, unknown>;
pure: boolean;
appendTo: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<string | HTMLElement>, unknown, unknown>;
content: string;
rawContent: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
transition: string;
teleported: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
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<BooleanConstructor, unknown, unknown>;
showArrow: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
}> & Omit<Readonly<import("vue").ExtractPropTypes<{
openDelay: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, number | (() => number) | undefined, unknown, unknown, unknown>;
visibleArrow: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, boolean | (() => false) | (() => true) | undefined, unknown, unknown, unknown>;
hideAfter: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, number | (() => number) | undefined, unknown, unknown, unknown>;
showArrow: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, boolean | (() => false) | (() => true) | undefined, unknown, unknown, unknown>;
arrowOffset: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, 5, unknown, unknown, unknown>;
disabled: BooleanConstructor;
trigger: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<"click" | "focus" | "hover" | "contextmenu" | ("click" | "focus" | "hover" | "contextmenu")[]>, "hover", unknown, unknown, unknown>;
virtualRef: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<import("element-plus").Measurable>, 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<import("element-plus/es/utils").PropWrapper<string | HTMLElement>, string, unknown, unknown, unknown>;
content: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "", unknown, unknown, unknown>;
rawContent: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, false, unknown, unknown, unknown>;
persistent: BooleanConstructor;
ariaLabel: StringConstructor;
visible: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<boolean | null>, null, unknown, unknown, unknown>;
transition: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "el-fade-in-linear", unknown, unknown, unknown>;
teleported: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
style: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<import("vue").StyleValue>, unknown, unknown, unknown, unknown>;
className: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<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;
})[])[])[])[])[])[])[])[])[])[]>, unknown, unknown, unknown, unknown>;
effect: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "dark", unknown, unknown, unknown>;
enterable: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
pure: BooleanConstructor;
popperClass: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<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;
})[])[])[])[])[])[])[])[])[])[]>, unknown, unknown, unknown, unknown>;
popperStyle: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<import("vue").StyleValue>, unknown, unknown, unknown, unknown>;
referenceEl: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<HTMLElement>, unknown, unknown, unknown, unknown>;
stopPopperMouseEvent: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
zIndex: NumberConstructor;
boundariesPadding: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, 0, unknown, unknown, unknown>;
fallbackPlacements: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<import("element-plus").Placement[]>, () => never[], unknown, unknown, unknown>;
gpuAcceleration: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
offset: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, 12, unknown, unknown, unknown>;
placement: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "bottom", unknown, import("element-plus").Placement, unknown>;
popperOptions: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<Partial<import("element-plus").Options>>, () => {}, unknown, unknown, unknown>;
strategy: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "absolute", unknown, "fixed" | "absolute", unknown>;
showAfter: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, 0, unknown, unknown, unknown>;
"onUpdate:visible": import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<(val: boolean) => 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<any, any, any, any, any, any, any, any, any, {}>> | null;
$parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>> | null;
$emit: (event: string, ...args: any[]) => void;
$el: any;
$options: import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
openDelay: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, number | (() => number) | undefined, unknown, unknown, unknown>;
visibleArrow: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, boolean | (() => false) | (() => true) | undefined, unknown, unknown, unknown>;
hideAfter: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, number | (() => number) | undefined, unknown, unknown, unknown>;
showArrow: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, boolean | (() => false) | (() => true) | undefined, unknown, unknown, unknown>;
arrowOffset: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, 5, unknown, unknown, unknown>;
disabled: BooleanConstructor;
trigger: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<"click" | "focus" | "hover" | "contextmenu" | ("click" | "focus" | "hover" | "contextmenu")[]>, "hover", unknown, unknown, unknown>;
virtualRef: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<import("element-plus").Measurable>, 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<import("element-plus/es/utils").PropWrapper<string | HTMLElement>, string, unknown, unknown, unknown>;
content: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "", unknown, unknown, unknown>;
rawContent: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, false, unknown, unknown, unknown>;
persistent: BooleanConstructor;
ariaLabel: StringConstructor;
visible: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<boolean | null>, null, unknown, unknown, unknown>;
transition: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "el-fade-in-linear", unknown, unknown, unknown>;
teleported: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
style: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<import("vue").StyleValue>, unknown, unknown, unknown, unknown>;
className: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<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;
})[])[])[])[])[])[])[])[])[])[]>, unknown, unknown, unknown, unknown>;
effect: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "dark", unknown, unknown, unknown>;
enterable: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
pure: BooleanConstructor;
popperClass: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<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;
})[])[])[])[])[])[])[])[])[])[]>, unknown, unknown, unknown, unknown>;
popperStyle: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<import("vue").StyleValue>, unknown, unknown, unknown, unknown>;
referenceEl: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<HTMLElement>, unknown, unknown, unknown, unknown>;
stopPopperMouseEvent: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
zIndex: NumberConstructor;
boundariesPadding: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, 0, unknown, unknown, unknown>;
fallbackPlacements: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<import("element-plus").Placement[]>, () => never[], unknown, unknown, unknown>;
gpuAcceleration: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
offset: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, 12, unknown, unknown, unknown>;
placement: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "bottom", unknown, import("element-plus").Placement, unknown>;
popperOptions: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<Partial<import("element-plus").Options>>, () => {}, unknown, unknown, unknown>;
strategy: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "absolute", unknown, "fixed" | "absolute", unknown>;
showAfter: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, 0, unknown, unknown, unknown>;
"onUpdate:visible": import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<(val: boolean) => void>, never, false, never, never>;
}>> & {
[x: `on${string}`]: ((...args: any[]) => any) | undefined;
}, {
compatShowAfter: import("vue").ComputedRef<number>;
compatShowArrow: import("vue").ComputedRef<import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>>;
popperRef: import("vue").Ref<({
$: import("vue").ComponentInternalInstance;
$data: {};
$props: Partial<{}> & Omit<Readonly<import("vue").ExtractPropTypes<{}>> & 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<any, any, any, any, any, any, any, any, any, {}>> | null;
$parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>> | null;
$emit: ((event: string, ...args: any[]) => void) | ((event: string, ...args: any[]) => void);
$el: any;
$options: import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{}>>, {
triggerRef: import("vue").Ref<HTMLElement | undefined>;
popperInstanceRef: import("vue").Ref<import("@popperjs/core").Instance | undefined>;
contentRef: import("vue").Ref<HTMLElement | undefined>;
referenceRef: import("vue").Ref<HTMLElement | undefined>;
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<any, any, any, any, any, any, any, any, any, {}>> | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>> | null, info: string) => boolean | void)[] | undefined;
};
$forceUpdate: () => void;
$nextTick: typeof import("vue").nextTick;
$watch(source: string | Function, cb: Function, options?: import("vue").WatchOptions<boolean> | undefined): import("vue").WatchStopHandle;
} & Readonly<import("vue").ExtractPropTypes<{}>> & import("vue").ShallowUnwrapRef<{
triggerRef: import("vue").Ref<HTMLElement | undefined>;
popperInstanceRef: import("vue").Ref<import("@popperjs/core").Instance | undefined>;
contentRef: import("vue").Ref<HTMLElement | undefined>;
referenceRef: import("vue").Ref<HTMLElement | undefined>;
popperProvides: import("element-plus").ElPopperInjectionContext;
}> & import("vue").ComponentCustomProperties) | null>;
open: import("vue").Ref<boolean>;
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<import("element-plus/es/utils").PropWrapper<"click" | "focus" | "hover" | "contextmenu" | ("click" | "focus" | "hover" | "contextmenu")[]>, unknown, unknown>;
offset: number;
effect: string;
placement: import("element-plus/es/utils").BuildPropType<StringConstructor, import("element-plus").Placement, unknown>;
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<BooleanConstructor, unknown, unknown>;
popperOptions: Partial<import("element-plus").Options>;
strategy: import("element-plus/es/utils").BuildPropType<StringConstructor, "fixed" | "absolute", unknown>;
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<BooleanConstructor, unknown, unknown>;
popperStyle: import("vue").StyleValue;
referenceEl: HTMLElement;
stopPopperMouseEvent: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
visible: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<boolean | null>, unknown, unknown>;
pure: boolean;
appendTo: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<string | HTMLElement>, unknown, unknown>;
content: string;
rawContent: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
transition: string;
teleported: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
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<BooleanConstructor, unknown, unknown>;
showArrow: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
}> & {
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<any, any, any, any, any, any, any, any, any, {}>> | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>> | null, info: string) => boolean | void)[] | undefined;
};
$forceUpdate: () => void;
$nextTick: typeof import("vue").nextTick;
$watch(source: string | Function, cb: Function, options?: import("vue").WatchOptions<boolean> | undefined): import("vue").WatchStopHandle;
} & Readonly<import("vue").ExtractPropTypes<{
openDelay: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, number | (() => number) | undefined, unknown, unknown, unknown>;
visibleArrow: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, boolean | (() => false) | (() => true) | undefined, unknown, unknown, unknown>;
hideAfter: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, number | (() => number) | undefined, unknown, unknown, unknown>;
showArrow: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, boolean | (() => false) | (() => true) | undefined, unknown, unknown, unknown>;
arrowOffset: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, 5, unknown, unknown, unknown>;
disabled: BooleanConstructor;
trigger: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<"click" | "focus" | "hover" | "contextmenu" | ("click" | "focus" | "hover" | "contextmenu")[]>, "hover", unknown, unknown, unknown>;
virtualRef: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<import("element-plus").Measurable>, 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<import("element-plus/es/utils").PropWrapper<string | HTMLElement>, string, unknown, unknown, unknown>;
content: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "", unknown, unknown, unknown>;
rawContent: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, false, unknown, unknown, unknown>;
persistent: BooleanConstructor;
ariaLabel: StringConstructor;
visible: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<boolean | null>, null, unknown, unknown, unknown>;
transition: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "el-fade-in-linear", unknown, unknown, unknown>;
teleported: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
style: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<import("vue").StyleValue>, unknown, unknown, unknown, unknown>;
className: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<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;
})[])[])[])[])[])[])[])[])[])[]>, unknown, unknown, unknown, unknown>;
effect: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "dark", unknown, unknown, unknown>;
enterable: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
pure: BooleanConstructor;
popperClass: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<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;
})[])[])[])[])[])[])[])[])[])[]>, unknown, unknown, unknown, unknown>;
popperStyle: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<import("vue").StyleValue>, unknown, unknown, unknown, unknown>;
referenceEl: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<HTMLElement>, unknown, unknown, unknown, unknown>;
stopPopperMouseEvent: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
zIndex: NumberConstructor;
boundariesPadding: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, 0, unknown, unknown, unknown>;
fallbackPlacements: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<import("element-plus").Placement[]>, () => never[], unknown, unknown, unknown>;
gpuAcceleration: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
offset: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, 12, unknown, unknown, unknown>;
placement: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "bottom", unknown, import("element-plus").Placement, unknown>;
popperOptions: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<Partial<import("element-plus").Options>>, () => {}, unknown, unknown, unknown>;
strategy: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "absolute", unknown, "fixed" | "absolute", unknown>;
showAfter: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, 0, unknown, unknown, unknown>;
"onUpdate:visible": import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<(val: boolean) => void>, never, false, never, never>;
}>> & {
[x: `on${string}`]: ((...args: any[]) => any) | undefined;
} & import("vue").ShallowUnwrapRef<{
compatShowAfter: import("vue").ComputedRef<number>;
compatShowArrow: import("vue").ComputedRef<import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>>;
popperRef: import("vue").Ref<({
$: import("vue").ComponentInternalInstance;
$data: {};
$props: Partial<{}> & Omit<Readonly<import("vue").ExtractPropTypes<{}>> & 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<any, any, any, any, any, any, any, any, any, {}>> | null;
$parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>> | null;
$emit: ((event: string, ...args: any[]) => void) | ((event: string, ...args: any[]) => void);
$el: any;
$options: import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{}>>, {
triggerRef: import("vue").Ref<HTMLElement | undefined>;
popperInstanceRef: import("vue").Ref<import("@popperjs/core").Instance | undefined>;
contentRef: import("vue").Ref<HTMLElement | undefined>;
referenceRef: import("vue").Ref<HTMLElement | undefined>;
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<any, any, any, any, any, any, any, any, any, {}>> | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>> | null, info: string) => boolean | void)[] | undefined;
};
$forceUpdate: () => void;
$nextTick: typeof import("vue").nextTick;
$watch(source: string | Function, cb: Function, options?: import("vue").WatchOptions<boolean> | undefined): import("vue").WatchStopHandle;
} & Readonly<import("vue").ExtractPropTypes<{}>> & import("vue").ShallowUnwrapRef<{
triggerRef: import("vue").Ref<HTMLElement | undefined>;
popperInstanceRef: import("vue").Ref<import("@popperjs/core").Instance | undefined>;
contentRef: import("vue").Ref<HTMLElement | undefined>;
referenceRef: import("vue").Ref<HTMLElement | undefined>;
popperProvides: import("element-plus").ElPopperInjectionContext;
}> & import("vue").ComponentCustomProperties) | null>;
open: import("vue").Ref<boolean>;
hide: () => void;
updatePopper: () => void;
onOpen: () => void;
onClose: () => void;
}> & import("vue").ComponentCustomProperties) | null>;
triggeringElementRef: import("vue").Ref<any>;
referenceElementRef: import("vue").Ref<any>;
}, 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<import("vue").ExtractPropTypes<{
readonly trigger: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<"click" | "focus" | "hover" | "contextmenu" | ("click" | "focus" | "hover" | "contextmenu")[]>, "hover", unknown, unknown, unknown>;
readonly effect: {
readonly default: "light";
readonly type: import("vue").PropType<string>;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
readonly __elPropsReservedKey: true;
};
readonly type: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<import("element-plus/es/utils").BuildPropType<StringConstructor, "" | "default" | "primary" | "success" | "warning" | "info" | "danger" | "text", unknown>>, unknown, unknown, unknown, unknown>;
readonly placement: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<import("element-plus").Placement>, "bottom", unknown, unknown, unknown>;
readonly popperOptions: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<Partial<import("element-plus").Options>>, () => {}, unknown, unknown, unknown>;
readonly size: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "", unknown, unknown, unknown>;
readonly splitButton: BooleanConstructor;
readonly hideOnClick: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
readonly loop: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, unknown, unknown, unknown, unknown>;
readonly showTimeout: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, 150, unknown, unknown, unknown>;
readonly hideTimeout: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, 150, unknown, unknown, unknown>;
readonly tabindex: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<string | number>, 0, unknown, unknown, unknown>;
readonly maxHeight: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<string | number>, "", unknown, unknown, unknown>;
readonly popperClass: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "", unknown, unknown, unknown>;
readonly disabled: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, false, unknown, unknown, unknown>;
readonly buttonProps: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<import("element-plus").ButtonProps>, 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<import("element-plus/es/utils").PropWrapper<import("element-plus/es/utils").BuildPropType<StringConstructor, "" | "default" | "primary" | "success" | "warning" | "info" | "danger" | "text", unknown>>, unknown, unknown>;
size: string;
disabled: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
trigger: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<"click" | "focus" | "hover" | "contextmenu" | ("click" | "focus" | "hover" | "contextmenu")[]>, unknown, unknown>;
effect: string;
placement: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<import("element-plus").Placement>, unknown, unknown>;
popperClass: string;
popperOptions: Partial<import("element-plus").Options>;
maxHeight: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<string | number>, unknown, unknown>;
tabindex: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<string | number>, unknown, unknown>;
loop: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
hideOnClick: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
showTimeout: number;
hideTimeout: number;
buttonProps: import("element-plus").ButtonProps;
splitButton: boolean;
}>> & {
DropdownItem: import("vue").DefineComponent<{
readonly command: import("element-plus/es/utils").BuildPropReturn<readonly [ObjectConstructor, StringConstructor, NumberConstructor], () => {}, unknown, unknown, unknown>;
readonly disabled: BooleanConstructor;
readonly divided: BooleanConstructor;
readonly textValue: StringConstructor;
readonly icon: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>>, unknown, unknown, unknown, unknown>;
}, {
handleClick: (event: PointerEvent) => void;
handlePointerMove: (event: PointerEvent) => void;
handlePointerLeave: (event: PointerEvent) => void;
textContent: import("vue").ComputedRef<string>;
propsAndAttrs: import("vue").ComputedRef<{
icon: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>>, 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<readonly [ObjectConstructor, StringConstructor, NumberConstructor], unknown, unknown>;
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<import("vue").ExtractPropTypes<{
readonly command: import("element-plus/es/utils").BuildPropReturn<readonly [ObjectConstructor, StringConstructor, NumberConstructor], () => {}, unknown, unknown, unknown>;
readonly disabled: BooleanConstructor;
readonly divided: BooleanConstructor;
readonly textValue: StringConstructor;
readonly icon: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>>, 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<import("element-plus/es/utils").PropWrapper<string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>>, unknown, unknown>;
disabled: boolean;
command: import("element-plus/es/utils").BuildPropType<readonly [ObjectConstructor, StringConstructor, NumberConstructor], unknown, unknown>;
divided: boolean;
}>;
DropdownMenu: import("vue").DefineComponent<{
onKeydown: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<(e: KeyboardEvent) => void>, unknown, unknown, unknown, unknown>;
}, {
size: import("vue").ComputedRef<string> | undefined;
rovingFocusGroupRootStyle: import("vue").Ref<import("vue").StyleValue>;
tabIndex: import("vue").Ref<number>;
dropdownKls: import("vue").ComputedRef<string[]>;
dropdownListWrapperRef: (el: Element | import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>> | 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, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
onKeydown: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<(e: KeyboardEvent) => void>, unknown, unknown, unknown, unknown>;
}>>, {
onKeydown: (e: KeyboardEvent) => void;
}>;
};
ElDropdownMenu: import("element-plus/es/utils").SFCWithInstall<import("vue").DefineComponent<{
onKeydown: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<(e: KeyboardEvent) => void>, unknown, unknown, unknown, unknown>;
}, {
size: import("vue").ComputedRef<string> | undefined;
rovingFocusGroupRootStyle: import("vue").Ref<import("vue").StyleValue>;
tabIndex: import("vue").Ref<number>;
dropdownKls: import("vue").ComputedRef<string[]>;
dropdownListWrapperRef: (el: Element | import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>> | 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, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
onKeydown: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<(e: KeyboardEvent) => void>, unknown, unknown, unknown, unknown>;
}>>, {
onKeydown: (e: KeyboardEvent) => void;
}>>;
ElDropdownItem: import("element-plus/es/utils").SFCWithInstall<import("vue").DefineComponent<{
readonly command: import("element-plus/es/utils").BuildPropReturn<readonly [ObjectConstructor, StringConstructor, NumberConstructor], () => {}, unknown, unknown, unknown>;
readonly disabled: BooleanConstructor;
readonly divided: BooleanConstructor;
readonly textValue: StringConstructor;
readonly icon: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>>, unknown, unknown, unknown, unknown>;
}, {
handleClick: (event: PointerEvent) => void;
handlePointerMove: (event: PointerEvent) => void;
handlePointerLeave: (event: PointerEvent) => void;
textContent: import("vue").ComputedRef<string>;
propsAndAttrs: import("vue").ComputedRef<{
icon: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>>, 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<readonly [ObjectConstructor, StringConstructor, NumberConstructor], unknown, unknown>;
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<import("vue").ExtractPropTypes<{
readonly command: import("element-plus/es/utils").BuildPropReturn<readonly [ObjectConstructor, StringConstructor, NumberConstructor], () => {}, unknown, unknown, unknown>;
readonly disabled: BooleanConstructor;
readonly divided: BooleanConstructor;
readonly textValue: StringConstructor;
readonly icon: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>>, 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<import("element-plus/es/utils").PropWrapper<string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>>, unknown, unknown>;
disabled: boolean;
command: import("element-plus/es/utils").BuildPropType<readonly [ObjectConstructor, StringConstructor, NumberConstructor], unknown, unknown>;
divided: boolean;
}>>;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "onChange"[], "onChange", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
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;
};
}>> & {
onOnChange?: ((...args: any[]) => any) | undefined;
}, {
size: number;
page: number;
pages: unknown[];
total: number;
}>;
export default _sfc_main;
+37
View File
@@ -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<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}> | 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<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}> | undefined;
otherParams?: any;
searchParams?: any;
}>, {
target: any;
otherParams: any;
searchParams: any;
}>;
export default _sfc_main;
+29
View File
@@ -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;
+77
View File
@@ -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<tFieldType>;
default: string;
};
data: {
type: PropType<Record<string, any>>;
default: () => {};
};
prop: {
type: StringConstructor;
default: string;
};
/** 自定义渲染函数 */
render: {
type: PropType<TColumnRender>;
default: undefined;
};
/**
* 日期格式化模板(仅 fieldType === "date" 生效)。
* 不传时沿用历史默认 `YYYY-MM-DD HH:mm:ss`。
*/
dateFormat: {
type: StringConstructor;
default: undefined;
};
/** 是否显示单元格内容(支持异步) */
isShow: {
type: PropType<(data: any) => boolean | Promise<boolean>>;
default: undefined;
};
}, unknown, {
visible: boolean;
}, {}, {
refreshVisible(): Promise<void>;
}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
fieldType: {
type: PropType<tFieldType>;
default: string;
};
data: {
type: PropType<Record<string, any>>;
default: () => {};
};
prop: {
type: StringConstructor;
default: string;
};
/** 自定义渲染函数 */
render: {
type: PropType<TColumnRender>;
default: undefined;
};
/**
* 日期格式化模板(仅 fieldType === "date" 生效)。
* 不传时沿用历史默认 `YYYY-MM-DD HH:mm:ss`。
*/
dateFormat: {
type: StringConstructor;
default: undefined;
};
/** 是否显示单元格内容(支持异步) */
isShow: {
type: PropType<(data: any) => boolean | Promise<boolean>>;
default: undefined;
};
}>>, {
data: Record<string, any>;
fieldType: tFieldType;
prop: string;
dateFormat: string;
isShow: (data: any) => boolean | Promise<boolean>;
render: TColumnRender;
}>;
export default _sfc_main;
+42
View File
@@ -0,0 +1,42 @@
declare const _sfc_main: import("vue").DefineComponent<{}, {
emit: (e: "click", data: Event) => any;
fileInput: import("vue").Ref<any>;
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<string>;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "click"[], "click", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
class: {
type: StringConstructor;
required: false;
};
style: {
type: null;
required: false;
};
type: {
type: StringConstructor;
required: true;
};
}>> & {
onClick?: ((...args: any[]) => any) | undefined;
}, {}>;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "click"[], "click", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>> & {
onClick?: ((...args: any[]) => any) | undefined;
}, {}>;
export default _sfc_main;
+35
View File
@@ -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<string, any>;
fieldOption: Map<string, any>;
}, {}, {
/** 收集字段并按 fieldName 初始化表单模型 */
buildFields(): Promise<void>;
onSubmit(): void;
onReset(): void;
}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "change"[], "change", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
/** 配置类(构造函数或实例) */
target: {
type: any;
required: true;
};
}>> & {
onChange?: ((...args: any[]) => any) | undefined;
}, {}>;
export default _sfc_main;
+124
View File
@@ -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<any>;
formId: import("vue").Ref<string | number>;
moduleFieldName: import("vue").Ref<string>;
moduleFieldTitle: import("vue").Ref<string>;
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<string, any>;
formItems: any[];
fieldOption: Map<string, any>;
maxLabelWidth: number;
showList: string[];
cascadeMap: Map<string, string[]>;
throttleRefreshForm: import("lodash").DebouncedFunc<(this: any, v: any, oldV: any, needFreshCascadeField: string[]) => Promise<void>>;
}, {
formCom(): import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}> | null;
}, {
refreshForm(v: any, oldV: any, needFreshCascadeField: string[]): Promise<void | undefined>;
onSubmit(): Promise<void>;
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<void>;
initShowFieldList(v: any, oldV?: any): Promise<void>;
initCascadeData(needFreshCascadeField: string[]): Promise<void>;
initData(): Promise<void>;
initFormItem(): void;
initRule(isBeforeMount?: boolean): void;
init(): Promise<void>;
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<import("vue").ExtractPropTypes<{}>> & {
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<import("vue").ExtractPropTypes<{
data: {
type: null;
required: false;
};
depData: {
type: null;
required: false;
};
}>> & {
onCancel?: ((...args: any[]) => any) | undefined;
}, {}>;
export default _sfc_main;
+600
View File
@@ -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<any[]>;
onSelect: (rows: any[]) => void;
onSelectAll: (rows: any[]) => void;
ElTable: import("element-plus/es/utils").SFCWithInstall<import("vue").DefineComponent<{
data: {
type: import("vue").PropType<any[]>;
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 | ((row: any) => string) | undefined>;
showHeader: {
type: BooleanConstructor;
default: boolean;
};
showSummary: BooleanConstructor;
sumText: StringConstructor;
summaryMethod: import("vue").PropType<import("element-plus/es/components/table/src/table/defaults").SummaryMethod<any> | undefined>;
rowClassName: import("vue").PropType<import("element-plus/es/components/table/src/table/defaults").ColumnCls<any> | undefined>;
rowStyle: import("vue").PropType<import("element-plus/es/components/table/src/table/defaults").ColumnStyle<any> | undefined>;
cellClassName: import("vue").PropType<string | ((data: {
row: any;
rowIndex: number;
column: import("element-plus/es/components/table/src/table-column/defaults").TableColumnCtx<any>;
columnIndex: number;
}) => string) | undefined>;
cellStyle: import("vue").PropType<import("vue").CSSProperties | ((data: {
row: any;
rowIndex: number;
column: import("element-plus/es/components/table/src/table-column/defaults").TableColumnCtx<any>;
columnIndex: number;
}) => import("vue").CSSProperties) | undefined>;
headerRowClassName: import("vue").PropType<import("element-plus/es/components/table/src/table/defaults").ColumnCls<any> | undefined>;
headerRowStyle: import("vue").PropType<import("element-plus/es/components/table/src/table/defaults").ColumnStyle<any> | undefined>;
headerCellClassName: import("vue").PropType<string | ((data: {
row: any;
rowIndex: number;
column: import("element-plus/es/components/table/src/table-column/defaults").TableColumnCtx<any>;
columnIndex: number;
}) => string) | undefined>;
headerCellStyle: import("vue").PropType<import("vue").CSSProperties | ((data: {
row: any;
rowIndex: number;
column: import("element-plus/es/components/table/src/table-column/defaults").TableColumnCtx<any>;
columnIndex: number;
}) => import("vue").CSSProperties) | undefined>;
highlightCurrentRow: BooleanConstructor;
currentRowKey: (NumberConstructor | StringConstructor)[];
emptyText: StringConstructor;
expandRowKeys: import("vue").PropType<any[] | undefined>;
defaultExpandAll: BooleanConstructor;
defaultSort: import("vue").PropType<import("element-plus/es/components/table/src/table/defaults").Sort | undefined>;
tooltipEffect: StringConstructor;
spanMethod: import("vue").PropType<((data: {
row: any;
rowIndex: number;
column: import("element-plus/es/components/table/src/table-column/defaults").TableColumnCtx<any>;
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<import("vue").CSSProperties>;
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<string>;
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<any>;
store: any;
handleHeaderFooterMousewheel: (event: any, data: any) => void;
handleMouseLeave: () => void;
tableId: string;
tableSize: import("vue").ComputedRef<"" | "default" | "small" | "large">;
isHidden: import("vue").Ref<boolean>;
isEmpty: import("vue").ComputedRef<boolean>;
renderExpanded: import("vue").Ref<null>;
resizeProxyVisible: import("vue").Ref<boolean>;
resizeState: import("vue").Ref<{
width: null;
height: null;
}>;
isGroup: import("vue").Ref<boolean>;
bodyWidth: import("vue").ComputedRef<string>;
bodyHeight: import("vue").ComputedRef<{
height: string;
'max-height'?: undefined;
} | {
'max-height': string;
height?: undefined;
} | {
height?: undefined;
'max-height'?: undefined;
}>;
height: import("vue").ComputedRef<string | number | undefined>;
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<any>;
computedSumText: import("vue").ComputedRef<string>;
computedEmptyText: import("vue").ComputedRef<string>;
tableLayout: import("vue").ComputedRef<"fixed" | "auto">;
scrollbarViewStyle: {
display: string;
verticalAlign: string;
};
scrollBarRef: import("vue").Ref<any>;
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<import("vue").ExtractPropTypes<{
data: {
type: import("vue").PropType<any[]>;
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 | ((row: any) => string) | undefined>;
showHeader: {
type: BooleanConstructor;
default: boolean;
};
showSummary: BooleanConstructor;
sumText: StringConstructor;
summaryMethod: import("vue").PropType<import("element-plus/es/components/table/src/table/defaults").SummaryMethod<any> | undefined>;
rowClassName: import("vue").PropType<import("element-plus/es/components/table/src/table/defaults").ColumnCls<any> | undefined>;
rowStyle: import("vue").PropType<import("element-plus/es/components/table/src/table/defaults").ColumnStyle<any> | undefined>;
cellClassName: import("vue").PropType<string | ((data: {
row: any;
rowIndex: number;
column: import("element-plus/es/components/table/src/table-column/defaults").TableColumnCtx<any>;
columnIndex: number;
}) => string) | undefined>;
cellStyle: import("vue").PropType<import("vue").CSSProperties | ((data: {
row: any;
rowIndex: number;
column: import("element-plus/es/components/table/src/table-column/defaults").TableColumnCtx<any>;
columnIndex: number;
}) => import("vue").CSSProperties) | undefined>;
headerRowClassName: import("vue").PropType<import("element-plus/es/components/table/src/table/defaults").ColumnCls<any> | undefined>;
headerRowStyle: import("vue").PropType<import("element-plus/es/components/table/src/table/defaults").ColumnStyle<any> | undefined>;
headerCellClassName: import("vue").PropType<string | ((data: {
row: any;
rowIndex: number;
column: import("element-plus/es/components/table/src/table-column/defaults").TableColumnCtx<any>;
columnIndex: number;
}) => string) | undefined>;
headerCellStyle: import("vue").PropType<import("vue").CSSProperties | ((data: {
row: any;
rowIndex: number;
column: import("element-plus/es/components/table/src/table-column/defaults").TableColumnCtx<any>;
columnIndex: number;
}) => import("vue").CSSProperties) | undefined>;
highlightCurrentRow: BooleanConstructor;
currentRowKey: (NumberConstructor | StringConstructor)[];
emptyText: StringConstructor;
expandRowKeys: import("vue").PropType<any[] | undefined>;
defaultExpandAll: BooleanConstructor;
defaultSort: import("vue").PropType<import("element-plus/es/components/table/src/table/defaults").Sort | undefined>;
tooltipEffect: StringConstructor;
spanMethod: import("vue").PropType<((data: {
row: any;
rowIndex: number;
column: import("element-plus/es/components/table/src/table-column/defaults").TableColumnCtx<any>;
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<import("vue").CSSProperties>;
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<any>;
$index: number;
}) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>>;
sortable: {
type: (BooleanConstructor | StringConstructor)[];
default: boolean;
};
sortMethod: import("vue").PropType<(a: any, b: any) => number>;
sortBy: import("vue").PropType<string | string[] | ((row: any, index: number) => 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<any>, cellValue: any, index: number) => string | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>>;
selectable: import("vue").PropType<(row: any, index: number) => boolean>;
reserveSelection: BooleanConstructor;
filterMethod: import("vue").PropType<import("element-plus/es/components/table/src/table-column/defaults").FilterMethods<any>>;
filteredValue: import("vue").PropType<string[]>;
filters: import("vue").PropType<import("element-plus/es/components/table/src/table-column/defaults").Filters>;
filterPlacement: StringConstructor;
filterMultiple: {
type: BooleanConstructor;
default: boolean;
};
index: import("vue").PropType<number | ((index: number) => 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, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
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<any>;
$index: number;
}) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>>;
sortable: {
type: (BooleanConstructor | StringConstructor)[];
default: boolean;
};
sortMethod: import("vue").PropType<(a: any, b: any) => number>;
sortBy: import("vue").PropType<string | string[] | ((row: any, index: number) => 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<any>, cellValue: any, index: number) => string | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>>;
selectable: import("vue").PropType<(row: any, index: number) => boolean>;
reserveSelection: BooleanConstructor;
filterMethod: import("vue").PropType<import("element-plus/es/components/table/src/table-column/defaults").FilterMethods<any>>;
filteredValue: import("vue").PropType<string[]>;
filters: import("vue").PropType<import("element-plus/es/components/table/src/table-column/defaults").Filters>;
filterPlacement: StringConstructor;
filterMultiple: {
type: BooleanConstructor;
default: boolean;
};
index: import("vue").PropType<number | ((index: number) => 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, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
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;
};
}>>, {
width: string | number;
otherParams: any;
searchParams: any;
toolbarOptions: unknown[];
toolbarEvents: unknown[];
rowKey: string;
defaultExpandAll: boolean;
}>;
export default _sfc_main;
+341
View File
@@ -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<string | undefined>;
ElTableColumn: import("element-plus/es/utils").SFCWithInstall<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<any>;
$index: number;
}) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>>;
sortable: {
type: (BooleanConstructor | StringConstructor)[];
default: boolean;
};
sortMethod: import("vue").PropType<(a: any, b: any) => number>;
sortBy: import("vue").PropType<string | string[] | ((row: any, index: number) => 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<any>, cellValue: any, index: number) => string | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>>;
selectable: import("vue").PropType<(row: any, index: number) => boolean>;
reserveSelection: BooleanConstructor;
filterMethod: import("vue").PropType<import("element-plus/es/components/table/src/table-column/defaults").FilterMethods<any>>;
filteredValue: import("vue").PropType<string[]>;
filters: import("vue").PropType<import("element-plus/es/components/table/src/table-column/defaults").Filters>;
filterPlacement: StringConstructor;
filterMultiple: {
type: BooleanConstructor;
default: boolean;
};
index: import("vue").PropType<number | ((index: number) => 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, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
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<any>;
$index: number;
}) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>>;
sortable: {
type: (BooleanConstructor | StringConstructor)[];
default: boolean;
};
sortMethod: import("vue").PropType<(a: any, b: any) => number>;
sortBy: import("vue").PropType<string | string[] | ((row: any, index: number) => 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<any>, cellValue: any, index: number) => string | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>>;
selectable: import("vue").PropType<(row: any, index: number) => boolean>;
reserveSelection: BooleanConstructor;
filterMethod: import("vue").PropType<import("element-plus/es/components/table/src/table-column/defaults").FilterMethods<any>>;
filteredValue: import("vue").PropType<string[]>;
filters: import("vue").PropType<import("element-plus/es/components/table/src/table-column/defaults").Filters>;
filterPlacement: StringConstructor;
filterMultiple: {
type: BooleanConstructor;
default: boolean;
};
index: import("vue").PropType<number | ((index: number) => 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<tFieldType>;
default: string;
};
data: {
type: import("vue").PropType<Record<string, any>>;
default: () => {};
};
prop: {
type: StringConstructor;
default: string;
};
render: {
type: import("vue").PropType<TColumnRender>;
default: undefined;
};
dateFormat: {
type: StringConstructor;
default: undefined;
};
isShow: {
type: import("vue").PropType<(data: any) => boolean | Promise<boolean>>;
default: undefined;
};
}, unknown, {
visible: boolean;
}, {}, {
refreshVisible(): Promise<void>;
}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
fieldType: {
type: import("vue").PropType<tFieldType>;
default: string;
};
data: {
type: import("vue").PropType<Record<string, any>>;
default: () => {};
};
prop: {
type: StringConstructor;
default: string;
};
render: {
type: import("vue").PropType<TColumnRender>;
default: undefined;
};
dateFormat: {
type: StringConstructor;
default: undefined;
};
isShow: {
type: import("vue").PropType<(data: any) => boolean | Promise<boolean>>;
default: undefined;
};
}>>, {
data: Record<string, any>;
fieldType: tFieldType;
prop: string;
dateFormat: string;
isShow: (data: any) => boolean | Promise<boolean>;
render: TColumnRender;
}>;
UmTableOperate: import("vue").DefineComponent<{
items: {
type: import("vue").PropType<IOperateItem[]>;
default: () => never[];
};
rowId: {
type: import("vue").PropType<string | number>;
default: string;
};
rowData: {
type: import("vue").PropType<any>;
default: () => {};
};
}, unknown, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
items: {
type: import("vue").PropType<IOperateItem[]>;
default: () => never[];
};
rowId: {
type: import("vue").PropType<string | number>;
default: string;
};
rowData: {
type: import("vue").PropType<any>;
default: () => {};
};
}>>, {
items: IOperateItem[];
rowId: string | number;
rowData: any;
}>;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
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;
};
}>>, {
width: string | number;
fieldType: any;
prop: string;
showOverflowTooltip: boolean;
operateItems: unknown[];
}>;
export default _sfc_main;
+58
View File
@@ -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<any>;
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<import("vue").ExtractPropTypes<{
modelValue: {
type: BooleanConstructor;
default: boolean;
};
title: {
type: StringConstructor;
default: string;
};
/** 弹窗内容,可以是 VNode、字符串或组件 */
content: {
type: PropType<any>;
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;
+99
View File
@@ -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<string, any>;
formItems: any[];
fieldOption: Map<string, any>;
/** label 默认宽度 */
maxLabelWidth: number;
/** 当前需要显示的字段 */
showList: string[];
/** 级联关系:改 A 字段要刷新它的 cascadeFiled 列表 */
cascadeMap: Map<string, string[]>;
/** 表单刷新按 100ms 合并,避免连续输入时反复重建整个表单 */
throttleRefreshForm: import("lodash").DebouncedFunc<(this: any, v: any, oldV: any, needFreshCascadeField: string[]) => Promise<void>>;
}, {
formCom(): import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}> | null;
}, {
refreshForm(v: any, oldV: any, needFreshCascadeField: string[]): Promise<void | undefined>;
onSubmit(): Promise<void>;
/** 把 `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<void>;
/**
* 初始化需要显示的字段。
* 隐藏的字段会把当前值暂存到 `$ref:<field>` 并置空,重新显示时还原。
*/
initShowFieldList(v: any, oldV?: any): Promise<void>;
/** 刷新级联字段的候选数据 */
initCascadeData(needFreshCascadeField: string[]): Promise<void>;
/** 首次进入时把所有字段的候选数据取回来 */
initData(): Promise<void>;
initFormItem(): void;
/** 根据字段元数据计算校验规则、初始化表单值、并算出最宽的 label */
initRule(isBeforeMount?: boolean): void;
init(): Promise<void>;
/** 单字段赋值:整体替换对象,触发父层的 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<import("vue").ExtractPropTypes<{}>> & {
onOk?: ((...args: any[]) => any) | undefined;
onCancel?: ((...args: any[]) => any) | undefined;
onFormModelChange?: ((...args: any[]) => any) | undefined;
}, {}>;
export default _sfc_main;
+34
View File
@@ -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<string | undefined>;
handleAvatarSuccess: (res: any, file: any) => void;
beforeAvatarUpload: (file: any) => boolean;
onHttpRequest: (option: any) => Promise<void>;
Plus: any;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:modelValue"[], "update:modelValue", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
modelValue: {
type: StringConstructor;
required: true;
};
accept: {
type: StringConstructor;
required: false;
default: string;
};
}>> & {
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
}, {
accept: string;
}>;
export default _sfc_main;
+40
View File
@@ -0,0 +1,40 @@
import type { PropType } from "vue";
import type { IOperateItem } from "./types";
declare const _sfc_main: import("vue").DefineComponent<{
/** 操作按钮描述 */
items: {
type: PropType<IOperateItem[]>;
default: () => never[];
};
/** 当前行的 id */
rowId: {
type: PropType<string | number>;
default: string;
};
/** 当前行的完整数据 */
rowData: {
type: PropType<any>;
default: () => {};
};
}, unknown, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
/** 操作按钮描述 */
items: {
type: PropType<IOperateItem[]>;
default: () => never[];
};
/** 当前行的 id */
rowId: {
type: PropType<string | number>;
default: string;
};
/** 当前行的完整数据 */
rowData: {
type: PropType<any>;
default: () => {};
};
}>>, {
items: IOperateItem[];
rowId: string | number;
rowData: any;
}>;
export default _sfc_main;
+18
View File
@@ -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;
+80
View File
@@ -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;
+45
View File
@@ -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[];
+68
View File
@@ -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> | 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<any>;
+8
View File
@@ -0,0 +1,8 @@
/**
* UmTable 组件族的内核:类元数据读取 / 事件链执行 / 列装配 / 配置体检。
* 供有定制需求的使用方复用,无需重复实现反射扫描逻辑。
*/
export * from "./meta";
export * from "./events";
export * from "./columns";
export * from "./diagnose";
+73
View File
@@ -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<M> = 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: <M>(target: any, decoratorKey: TDecoratorKey, member: Pick<IClassMember, "key" | "fieldName">) => M | undefined;
/**
* 扫描出所有挂载了指定装饰器元数据的成员。
* @param options.methods 是否是方法成员(默认 false,即取普通字段)
*/
export declare const scanDecoratedMembers: <M>(target: any, decoratorKey: TDecoratorKey, options?: {
methods?: boolean;
}) => IDecoratedMember<M>[];
/**
* 在"接口原始数据"与"表单展示数据"之间做双向字段转换。
*
* 约定:类上用 `_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<any>;
} | null;
+31
View File
@@ -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";
+179
View File
@@ -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> = T | Promise<T>;
/** 工具栏按钮配置 */
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<any>;
/** 查询表单中所需要的组件类型 */
$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<boolean>;
/** 是否为级联字段 */
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<any>;
}
/** 兼容历史命名 */
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;
}
+59
View File
@@ -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<any>;
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<import("vue").ExtractPropTypes<{
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;
};
}>> & {
onOnSelect?: ((...args: any[]) => any) | undefined;
}, {
defaultExpandAll: boolean;
nodeKey: string;
}>;
export default _sfc_main;
+1674
View File
File diff suppressed because it is too large Load Diff
+85
View File
@@ -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<IDictTypes>;
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<string>;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "click"[], "click", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
class: {
type: StringConstructor;
required: false;
};
style: {
type: null;
required: false;
};
type: {
type: StringConstructor;
required: true;
};
}>> & {
onClick?: ((...args: any[]) => any) | undefined;
}, {}>;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
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;
};
}>>, {}>;
export default _sfc_main;
+1533
View File
File diff suppressed because it is too large Load Diff
+9
View File
@@ -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;
}
+23
View File
@@ -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 {
/** 设置选中的 keycheckbox 模式下为多选) */
setSelectKey: (v: TNodeId | TNodeId[]) => void;
}
/** 节点图标判定用到的字典编码 */
export interface IDictTypes {
/** 行政区域 */
district?: string;
/** 派出所 */
office?: string;
}
export type { TreeKey };
+1651
View File
File diff suppressed because it is too large Load Diff
+15
View File
File diff suppressed because one or more lines are too long
+5632
View File
File diff suppressed because it is too large Load Diff
+15
View File
File diff suppressed because one or more lines are too long
Vendored
+33
View File
@@ -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";
+35 -7
View File
@@ -1,11 +1,39 @@
{ {
"name": "funjiaui_vue_package", "name": "funjiaui_vue_package",
"version": "1.0.0", "version": "1.2.0",
"main": "um_table.es.js", "description": "FunjiaUI —— 装饰器 / 配置类驱动的 Vue3 + Element Plus 表格组件库(构建产物)",
"scripts": { "main": "funjiaui.cjs.js",
"test": "echo \"Error: no test specified\" && exit 1" "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": "", "keywords": [
"license": "ISC", "vue3",
"description": "" "element-plus",
"table",
"decorator",
"funjiaui"
],
"author": "funjia",
"license": "ISC"
} }
+1 -1
View File
@@ -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%}
-3508
View File
File diff suppressed because it is too large Load Diff