easy-ep-ui 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/LICENSE +172 -0
  2. package/README.md +29 -14
  3. package/dist/easy-ep-ui.js +1 -1
  4. package/dist/style.css +1 -1
  5. package/es/charts/BaseBar/index.d.ts +2 -0
  6. package/es/charts/BaseBar/src/index.vue.d.ts +45 -0
  7. package/es/charts/BaseLine/index.d.ts +2 -0
  8. package/es/charts/BaseLine/src/index.vue.d.ts +47 -0
  9. package/es/charts/BasePie/index.d.ts +2 -0
  10. package/es/charts/BasePie/src/index.vue.d.ts +41 -0
  11. package/es/charts/BaseRadar/index.d.ts +2 -0
  12. package/es/charts/BaseRadar/src/index.vue.d.ts +47 -0
  13. package/es/charts/config.d.ts +32 -0
  14. package/es/charts/index.d.ts +8 -0
  15. package/es/charts/useChart.d.ts +21 -0
  16. package/es/components/ee-dept-cascader/index.d.ts +2 -0
  17. package/es/components/ee-dept-cascader/src/index.vue.d.ts +26 -0
  18. package/es/components/ee-dept-cascader/type.d.ts +39 -0
  19. package/es/components/ee-dict-select/src/index.vue.d.ts +20 -17
  20. package/es/components/ee-dict-select/type.d.ts +54 -0
  21. package/es/components/ee-form-dialog/src/index.vue.d.ts +110 -8
  22. package/es/components/ee-form-table/src/components/FormAuto.vue.d.ts +115 -0
  23. package/es/components/ee-form-table/src/components/FormDrawer.vue.d.ts +311 -0
  24. package/es/components/ee-form-table/src/components/SearchArea.vue.d.ts +39 -0
  25. package/es/components/ee-form-table/src/components/TableToolbar.vue.d.ts +43 -0
  26. package/es/components/ee-form-table/src/constants.d.ts +31 -0
  27. package/es/components/ee-form-table/src/hooks/useAuth.d.ts +14 -0
  28. package/es/components/ee-form-table/src/hooks/useCrud.d.ts +41 -0
  29. package/es/components/ee-form-table/src/hooks/useDict.d.ts +12 -0
  30. package/es/components/ee-form-table/src/hooks/useExport.d.ts +34 -0
  31. package/es/components/ee-form-table/src/hooks/useForm.d.ts +33 -0
  32. package/es/components/ee-form-table/src/hooks/usePagination.d.ts +22 -0
  33. package/es/components/ee-form-table/src/hooks/useSearch.d.ts +39 -0
  34. package/es/components/ee-form-table/src/hooks/useTable.d.ts +49 -0
  35. package/es/components/ee-form-table/src/index.vue.d.ts +1090 -533
  36. package/es/components/ee-form-table/types.d.ts +238 -0
  37. package/es/components/ee-remote-select/index.d.ts +2 -0
  38. package/es/components/ee-remote-select/src/index.vue.d.ts +30 -0
  39. package/es/components/ee-remote-select/type.d.ts +53 -0
  40. package/es/components/ee-role-select/index.d.ts +2 -0
  41. package/es/components/ee-role-select/src/index.vue.d.ts +29 -0
  42. package/es/components/ee-role-select/type.d.ts +44 -0
  43. package/es/components/ee-search-bar/src/index.vue.d.ts +82 -10
  44. package/es/components/ee-status-tag/src/index.vue.d.ts +1 -1
  45. package/es/components/ee-user-select/index.d.ts +2 -0
  46. package/es/components/ee-user-select/src/index.vue.d.ts +29 -0
  47. package/es/components/ee-user-select/type.d.ts +46 -0
  48. package/es/hooks/index.d.ts +4 -0
  49. package/es/hooks/useRemoteSelectPagination.d.ts +68 -0
  50. package/es/hooks/useSelectEcho.d.ts +27 -0
  51. package/es/index.d.ts +51 -2
  52. package/es/index.mjs +3135 -345
  53. package/es/locale/en.d.ts +3 -0
  54. package/es/locale/index.d.ts +86 -0
  55. package/es/locale/useLocale.d.ts +13 -0
  56. package/es/locale/zh-cn.d.ts +3 -0
  57. package/es/style.css +1 -1
  58. package/es/utils/types.d.ts +39 -0
  59. package/lib/charts/BaseBar/index.d.ts +2 -0
  60. package/lib/charts/BaseBar/src/index.vue.d.ts +45 -0
  61. package/lib/charts/BaseLine/index.d.ts +2 -0
  62. package/lib/charts/BaseLine/src/index.vue.d.ts +47 -0
  63. package/lib/charts/BasePie/index.d.ts +2 -0
  64. package/lib/charts/BasePie/src/index.vue.d.ts +41 -0
  65. package/lib/charts/BaseRadar/index.d.ts +2 -0
  66. package/lib/charts/BaseRadar/src/index.vue.d.ts +47 -0
  67. package/lib/charts/config.d.ts +32 -0
  68. package/lib/charts/index.d.ts +8 -0
  69. package/lib/charts/useChart.d.ts +21 -0
  70. package/lib/components/ee-dept-cascader/index.d.ts +2 -0
  71. package/lib/components/ee-dept-cascader/src/index.vue.d.ts +26 -0
  72. package/lib/components/ee-dept-cascader/type.d.ts +39 -0
  73. package/lib/components/ee-dict-select/src/index.vue.d.ts +20 -17
  74. package/lib/components/ee-dict-select/type.d.ts +54 -0
  75. package/lib/components/ee-form-dialog/src/index.vue.d.ts +110 -8
  76. package/lib/components/ee-form-table/src/components/FormAuto.vue.d.ts +115 -0
  77. package/lib/components/ee-form-table/src/components/FormDrawer.vue.d.ts +311 -0
  78. package/lib/components/ee-form-table/src/components/SearchArea.vue.d.ts +39 -0
  79. package/lib/components/ee-form-table/src/components/TableToolbar.vue.d.ts +43 -0
  80. package/lib/components/ee-form-table/src/constants.d.ts +31 -0
  81. package/lib/components/ee-form-table/src/hooks/useAuth.d.ts +14 -0
  82. package/lib/components/ee-form-table/src/hooks/useCrud.d.ts +41 -0
  83. package/lib/components/ee-form-table/src/hooks/useDict.d.ts +12 -0
  84. package/lib/components/ee-form-table/src/hooks/useExport.d.ts +34 -0
  85. package/lib/components/ee-form-table/src/hooks/useForm.d.ts +33 -0
  86. package/lib/components/ee-form-table/src/hooks/usePagination.d.ts +22 -0
  87. package/lib/components/ee-form-table/src/hooks/useSearch.d.ts +39 -0
  88. package/lib/components/ee-form-table/src/hooks/useTable.d.ts +49 -0
  89. package/lib/components/ee-form-table/src/index.vue.d.ts +1090 -533
  90. package/lib/components/ee-form-table/types.d.ts +238 -0
  91. package/lib/components/ee-remote-select/index.d.ts +2 -0
  92. package/lib/components/ee-remote-select/src/index.vue.d.ts +30 -0
  93. package/lib/components/ee-remote-select/type.d.ts +53 -0
  94. package/lib/components/ee-role-select/index.d.ts +2 -0
  95. package/lib/components/ee-role-select/src/index.vue.d.ts +29 -0
  96. package/lib/components/ee-role-select/type.d.ts +44 -0
  97. package/lib/components/ee-search-bar/src/index.vue.d.ts +82 -10
  98. package/lib/components/ee-status-tag/src/index.vue.d.ts +1 -1
  99. package/lib/components/ee-user-select/index.d.ts +2 -0
  100. package/lib/components/ee-user-select/src/index.vue.d.ts +29 -0
  101. package/lib/components/ee-user-select/type.d.ts +46 -0
  102. package/lib/hooks/index.d.ts +4 -0
  103. package/lib/hooks/useRemoteSelectPagination.d.ts +68 -0
  104. package/lib/hooks/useSelectEcho.d.ts +27 -0
  105. package/lib/index.cjs +1 -1
  106. package/lib/index.d.ts +51 -2
  107. package/lib/locale/en.d.ts +3 -0
  108. package/lib/locale/index.d.ts +86 -0
  109. package/lib/locale/useLocale.d.ts +13 -0
  110. package/lib/locale/zh-cn.d.ts +3 -0
  111. package/lib/style.css +1 -1
  112. package/lib/utils/types.d.ts +39 -0
  113. package/package.json +9 -5
@@ -0,0 +1,238 @@
1
+ /**
2
+ * ee-form-table 类型定义
3
+ *
4
+ * 包含组件所需的所有 TypeScript 接口与类型别名。
5
+ * 公共类型(DictOption、TableColumn、Pagination 等)从 packages/utils/types.ts 导入,
6
+ * 私有类型仅在 ee-form-table 内部使用。
7
+ */
8
+ /** 组件尺寸 */
9
+ export type ComponentSize = 'large' | 'default' | 'small';
10
+ /** 权限模式 */
11
+ export type AuthMode = 'hide' | 'disabled';
12
+ /** 对齐方式 */
13
+ export type AlignType = 'left' | 'center' | 'right';
14
+ /** 固定列方向 */
15
+ export type FixedType = 'left' | 'right';
16
+ /** 选择模式 */
17
+ export type SelectionType = 'multiple' | 'single';
18
+ /** 表单展示模式 */
19
+ export type DrawerMode = 'drawer' | 'dialog';
20
+ /** 导出模式 */
21
+ export type ExportMode = 'current' | 'all';
22
+ /** 搜索字段控件类型 */
23
+ export type SearchFieldType = 'input' | 'number' | 'select' | 'radio' | 'checkbox' | 'date' | 'date-range' | 'textarea';
24
+ /** Element Plus 按钮类型 */
25
+ export type ButtonType = 'primary' | 'success' | 'warning' | 'danger' | 'info' | 'default';
26
+ /** 表单字段控件类型 */
27
+ export type FormFieldType = 'input' | 'number' | 'select' | 'radio' | 'checkbox' | 'date' | 'date-range' | 'textarea' | 'switch';
28
+ export interface DictOption {
29
+ value: string | number;
30
+ label: string;
31
+ disabled?: boolean;
32
+ [key: string]: unknown;
33
+ }
34
+ export interface ColumnSearchItem {
35
+ enable: boolean;
36
+ type?: SearchFieldType;
37
+ placeholder?: string;
38
+ defaultValue?: unknown;
39
+ props?: Record<string, unknown>;
40
+ field?: string;
41
+ }
42
+ export interface ColumnFormItem {
43
+ /** 是否在新增表单中展示(默认 true) */
44
+ add?: boolean;
45
+ /** 是否在编辑表单中展示(默认同 add) */
46
+ edit?: boolean;
47
+ /** 表单控件类型,默认 'input' */
48
+ type?: FormFieldType;
49
+ /** 占位符 */
50
+ placeholder?: string;
51
+ /** 静态选项(select/radio/checkbox) */
52
+ options?: {
53
+ value: any;
54
+ label: string;
55
+ }[];
56
+ /** 字典 key(优先于 options) */
57
+ dictKey?: string;
58
+ /** 透传给控件的 props */
59
+ props?: Record<string, unknown>;
60
+ /** Element Plus 校验规则 */
61
+ rules?: Record<string, unknown>[];
62
+ /** 栅格跨列数(默认 1) */
63
+ colSpan?: number;
64
+ /** 必填标记(自动加 required 校验) */
65
+ required?: boolean;
66
+ /** 编辑时只读 */
67
+ readonly?: boolean;
68
+ /** 新增时的默认值 */
69
+ defaultValue?: unknown;
70
+ /** 强制隐藏 */
71
+ hide?: boolean;
72
+ }
73
+ export interface TableColumn {
74
+ prop: string;
75
+ label: string;
76
+ width?: string | number;
77
+ minWidth?: string | number;
78
+ align?: AlignType;
79
+ fixed?: FixedType;
80
+ sortable?: boolean;
81
+ show?: boolean;
82
+ formatter?: (row: Record<string, unknown>, column: TableColumn, cellValue: unknown, index: number) => unknown;
83
+ dictKey?: string;
84
+ slotName?: string;
85
+ search?: ColumnSearchItem;
86
+ form?: ColumnFormItem;
87
+ auth?: string;
88
+ children?: TableColumn[];
89
+ [key: string]: unknown;
90
+ }
91
+ export interface SearchConfig {
92
+ show?: boolean;
93
+ cols?: number;
94
+ maxRow?: number;
95
+ foldable?: boolean;
96
+ foldDefault?: boolean;
97
+ }
98
+ export interface PaginationConfig {
99
+ show?: boolean;
100
+ pageSize?: number;
101
+ pageSizes?: number[];
102
+ total?: number;
103
+ showTotal?: boolean;
104
+ layout?: string;
105
+ background?: boolean;
106
+ }
107
+ export interface ActionButton {
108
+ text: string;
109
+ icon?: string;
110
+ type?: ButtonType;
111
+ code?: string;
112
+ auth?: string;
113
+ show?: (row: Record<string, unknown>) => boolean;
114
+ handler: (row: Record<string, unknown>) => void;
115
+ }
116
+ export interface ActionConfig {
117
+ show?: boolean;
118
+ label?: string;
119
+ width?: string | number;
120
+ align?: AlignType;
121
+ showView?: boolean;
122
+ showEdit?: boolean;
123
+ showDelete?: boolean;
124
+ viewText?: string;
125
+ editText?: string;
126
+ deleteText?: string;
127
+ viewAuth?: string;
128
+ editAuth?: string;
129
+ deleteAuth?: string;
130
+ fixed?: FixedType;
131
+ confirmDelete?: boolean;
132
+ deleteConfirmTitle?: string;
133
+ deleteConfirmMessage?: string;
134
+ customButtons?: ActionButton[];
135
+ }
136
+ export interface ToolbarButton {
137
+ text: string;
138
+ icon?: string;
139
+ type?: string;
140
+ code?: string;
141
+ auth?: string;
142
+ handler: () => void;
143
+ }
144
+ export interface ToolbarConfig {
145
+ show?: boolean;
146
+ showAdd?: boolean;
147
+ showImport?: boolean;
148
+ showExport?: boolean;
149
+ showBatchDelete?: boolean;
150
+ addText?: string;
151
+ importText?: string;
152
+ exportText?: string;
153
+ batchDeleteText?: string;
154
+ addAuth?: string;
155
+ importAuth?: string;
156
+ exportAuth?: string;
157
+ batchDeleteAuth?: string;
158
+ customButtons?: ToolbarButton[];
159
+ }
160
+ export interface CrudApi {
161
+ list: (params: Record<string, unknown>) => Promise<{
162
+ data: Record<string, unknown>[];
163
+ total: number;
164
+ }>;
165
+ add?: (data: Record<string, unknown>) => Promise<unknown>;
166
+ edit?: (data: Record<string, unknown>) => Promise<unknown>;
167
+ delete?: (id: string | number) => Promise<unknown>;
168
+ batchDelete?: (ids: (string | number)[]) => Promise<unknown>;
169
+ }
170
+ export interface CrudConfig {
171
+ api: CrudApi;
172
+ baseParams?: Record<string, unknown>;
173
+ requestMethod?: 'GET' | 'POST';
174
+ requestInstance?: unknown;
175
+ }
176
+ export interface SelectionConfig {
177
+ show?: boolean;
178
+ type?: SelectionType;
179
+ disabledRow?: (row: Record<string, unknown>) => boolean;
180
+ reserveSelection?: boolean;
181
+ }
182
+ export interface ExportConfig {
183
+ mode?: ExportMode;
184
+ fileName?: string;
185
+ ignoreColumn?: string[];
186
+ }
187
+ export interface DrawerConfig {
188
+ mode?: DrawerMode;
189
+ width?: string | number;
190
+ fullscreen?: boolean;
191
+ draggable?: boolean;
192
+ closeOnReset?: boolean;
193
+ addTitle?: string;
194
+ editTitle?: string;
195
+ viewTitle?: string;
196
+ /** 表单每行展示列数(默认 2) */
197
+ formCols?: number;
198
+ /** 表单标签宽度(默认 '80px') */
199
+ formLabelWidth?: string;
200
+ /** 表单组件尺寸 */
201
+ formSize?: ComponentSize;
202
+ }
203
+ export interface ColumnSettingConfig {
204
+ show?: boolean;
205
+ storageKey?: string;
206
+ }
207
+ export interface AutoHeightConfig {
208
+ offset?: number;
209
+ }
210
+ export interface EeFormTableProps {
211
+ columns: TableColumn[];
212
+ data?: Record<string, unknown>[];
213
+ loading?: boolean;
214
+ searchConfig?: SearchConfig | boolean;
215
+ pagination?: PaginationConfig | boolean;
216
+ actionConfig?: ActionConfig | boolean;
217
+ toolbarConfig?: ToolbarConfig | boolean;
218
+ crudConfig?: CrudConfig;
219
+ selectionConfig?: SelectionConfig;
220
+ exportConfig?: ExportConfig;
221
+ drawerConfig?: DrawerConfig;
222
+ columnSetting?: ColumnSettingConfig;
223
+ autoHeight?: AutoHeightConfig | boolean;
224
+ dictMap?: Record<string, DictOption[]>;
225
+ authChecker?: (auth: string) => boolean;
226
+ authMode?: AuthMode;
227
+ emptyText?: string;
228
+ tableHeight?: string | number;
229
+ tableMaxHeight?: string | number;
230
+ size?: ComponentSize;
231
+ stripe?: boolean;
232
+ border?: boolean;
233
+ highlightCurrentRow?: boolean;
234
+ rowKey?: string;
235
+ }
236
+ export interface SearchParams {
237
+ [key: string]: unknown;
238
+ }
@@ -0,0 +1,2 @@
1
+ import { default as EeRemoteSelect } from './src/index.vue';
2
+ export default EeRemoteSelect;
@@ -0,0 +1,30 @@
1
+ import { EeRemoteSelectProps } from '../type';
2
+ declare const _default: import('vue').DefineComponent<EeRemoteSelectProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
3
+ search: (keyword: string) => any;
4
+ clear: () => any;
5
+ "update:modelValue": (val: string | number | (string | number)[]) => any;
6
+ change: (val: string | number | (string | number)[]) => any;
7
+ blur: (evt: FocusEvent) => any;
8
+ focus: (evt: FocusEvent) => any;
9
+ "load-success": (options: any[]) => any;
10
+ }, string, import('vue').PublicProps, Readonly<EeRemoteSelectProps> & Readonly<{
11
+ onSearch?: ((keyword: string) => any) | undefined;
12
+ onClear?: (() => any) | undefined;
13
+ "onUpdate:modelValue"?: ((val: string | number | (string | number)[]) => any) | undefined;
14
+ onChange?: ((val: string | number | (string | number)[]) => any) | undefined;
15
+ onBlur?: ((evt: FocusEvent) => any) | undefined;
16
+ onFocus?: ((evt: FocusEvent) => any) | undefined;
17
+ "onLoad-success"?: ((options: any[]) => any) | undefined;
18
+ }>, {
19
+ pageNumKey: string;
20
+ pageSizeKey: string;
21
+ pageSize: number;
22
+ searchKey: string;
23
+ labelField: string;
24
+ valueField: string;
25
+ size: "large" | "default" | "small";
26
+ mode: "single" | "multiple";
27
+ clearable: boolean;
28
+ filterable: boolean;
29
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
30
+ export default _default;
@@ -0,0 +1,53 @@
1
+ import { AxiosInstance } from 'axios';
2
+ import { DictOption } from '../../utils/types';
3
+ /** EeRemoteSelect 组件属性 */
4
+ export interface EeRemoteSelectProps {
5
+ /** 双向绑定值 */
6
+ modelValue?: string | number | (string | number)[];
7
+ /** 远程列表查询接口地址(必填) */
8
+ apiUrl: string;
9
+ /** ID 回显详情查询接口地址(必填) */
10
+ detailEchoUrl: string;
11
+ /** 选择模式,默认 single */
12
+ mode?: 'single' | 'multiple';
13
+ /** 选项 label 字段名,默认 label */
14
+ labelField?: string;
15
+ /** 选项 value 字段名,默认 value */
16
+ valueField?: string;
17
+ /** 搜索关键词参数字段名,默认 keyword */
18
+ searchKey?: string;
19
+ /** 分页页码字段名,默认 pageNum */
20
+ pageNumKey?: string;
21
+ /** 分页条数字段名,默认 pageSize */
22
+ pageSizeKey?: string;
23
+ /** 每页条数,默认 20 */
24
+ pageSize?: number;
25
+ /** 固定附加请求参数 */
26
+ extraParams?: Record<string, any>;
27
+ /** 外部 axios 请求实例,不传则从全局配置获取 */
28
+ requestInstance?: AxiosInstance;
29
+ /** 占位符文本 */
30
+ placeholder?: string;
31
+ /** 是否可清空,默认 true */
32
+ clearable?: boolean;
33
+ /** 是否禁用 */
34
+ disabled?: boolean;
35
+ /** 是否只读 */
36
+ readonly?: boolean;
37
+ /** 是否可搜索过滤,默认 true */
38
+ filterable?: boolean;
39
+ /** 组件尺寸 */
40
+ size?: 'large' | 'default' | 'small';
41
+ /** 静态选项数据,优先级最高,传入后不走接口 */
42
+ options?: DictOption[];
43
+ }
44
+ /** EeRemoteSelect 组件事件 */
45
+ export interface EeRemoteSelectEmits {
46
+ (e: 'update:modelValue', val: string | number | (string | number)[]): void;
47
+ (e: 'change', val: string | number | (string | number)[]): void;
48
+ (e: 'clear'): void;
49
+ (e: 'blur', evt: FocusEvent): void;
50
+ (e: 'focus', evt: FocusEvent): void;
51
+ (e: 'search', keyword: string): void;
52
+ (e: 'load-success', options: any[]): void;
53
+ }
@@ -0,0 +1,2 @@
1
+ import { default as EeRoleSelect } from './src/index.vue';
2
+ export default EeRoleSelect;
@@ -0,0 +1,29 @@
1
+ import { EeRoleSelectProps } from '../type';
2
+ declare const _default: import('vue').DefineComponent<EeRoleSelectProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
3
+ search: (keyword: string) => any;
4
+ clear: () => any;
5
+ "update:modelValue": (val: string | number | (string | number)[]) => any;
6
+ change: (val: string | number | (string | number)[]) => any;
7
+ blur: (evt: FocusEvent) => any;
8
+ focus: (evt: FocusEvent) => any;
9
+ "load-success": (options: any[]) => any;
10
+ }, string, import('vue').PublicProps, Readonly<EeRoleSelectProps> & Readonly<{
11
+ onSearch?: ((keyword: string) => any) | undefined;
12
+ onClear?: (() => any) | undefined;
13
+ "onUpdate:modelValue"?: ((val: string | number | (string | number)[]) => any) | undefined;
14
+ onChange?: ((val: string | number | (string | number)[]) => any) | undefined;
15
+ onBlur?: ((evt: FocusEvent) => any) | undefined;
16
+ onFocus?: ((evt: FocusEvent) => any) | undefined;
17
+ "onLoad-success"?: ((options: any[]) => any) | undefined;
18
+ }>, {
19
+ apiUrl: string;
20
+ searchKey: string;
21
+ labelField: string;
22
+ valueField: string;
23
+ size: "large" | "default" | "small";
24
+ detailEchoUrl: string;
25
+ mode: "single" | "multiple";
26
+ clearable: boolean;
27
+ filterable: boolean;
28
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
29
+ export default _default;
@@ -0,0 +1,44 @@
1
+ import { AxiosInstance } from 'axios';
2
+ /** EeRoleSelect 组件属性 */
3
+ export interface EeRoleSelectProps {
4
+ /** 双向绑定值 */
5
+ modelValue?: string | number | (string | number)[];
6
+ /** 自定义角色列表接口地址,覆盖默认接口 */
7
+ apiUrl?: string;
8
+ /** 自定义角色详情回显接口地址 */
9
+ detailEchoUrl?: string;
10
+ /** 选择模式,默认 single */
11
+ mode?: 'single' | 'multiple';
12
+ /** 选项 label 字段名,默认 label */
13
+ labelField?: string;
14
+ /** 选项 value 字段名,默认 value */
15
+ valueField?: string;
16
+ /** 搜索关键词参数字段名,默认 keyword */
17
+ searchKey?: string;
18
+ /** 固定附加请求参数 */
19
+ extraParams?: Record<string, any>;
20
+ /** 外部 axios 请求实例,不传则从全局配置获取 */
21
+ requestInstance?: AxiosInstance;
22
+ /** 占位符文本 */
23
+ placeholder?: string;
24
+ /** 是否可清空,默认 true */
25
+ clearable?: boolean;
26
+ /** 是否禁用 */
27
+ disabled?: boolean;
28
+ /** 是否只读 */
29
+ readonly?: boolean;
30
+ /** 是否可搜索过滤,默认 true */
31
+ filterable?: boolean;
32
+ /** 组件尺寸 */
33
+ size?: 'large' | 'default' | 'small';
34
+ }
35
+ /** EeRoleSelect 组件事件 */
36
+ export interface EeRoleSelectEmits {
37
+ (e: 'update:modelValue', val: string | number | (string | number)[]): void;
38
+ (e: 'change', val: string | number | (string | number)[]): void;
39
+ (e: 'clear'): void;
40
+ (e: 'blur', evt: FocusEvent): void;
41
+ (e: 'focus', evt: FocusEvent): void;
42
+ (e: 'search', keyword: string): void;
43
+ (e: 'load-success', options: any[]): void;
44
+ }
@@ -6,16 +6,18 @@ type __VLS_Props = {
6
6
  labelWidth?: string | number;
7
7
  collapsible?: boolean;
8
8
  collapsedCount?: number;
9
+ size?: 'large' | 'default' | 'small';
9
10
  };
10
11
  declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
11
- "update:modelValue": (val: Record<string, any>) => any;
12
12
  search: (val: Record<string, any>) => any;
13
+ "update:modelValue": (val: Record<string, any>) => any;
13
14
  reset: () => any;
14
15
  }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
15
- "onUpdate:modelValue"?: ((val: Record<string, any>) => any) | undefined;
16
16
  onSearch?: ((val: Record<string, any>) => any) | undefined;
17
+ "onUpdate:modelValue"?: ((val: Record<string, any>) => any) | undefined;
17
18
  onReset?: (() => any) | undefined;
18
19
  }>, {
20
+ size: "large" | "default" | "small";
19
21
  inline: boolean;
20
22
  labelWidth: string | number;
21
23
  collapsible: boolean;
@@ -58,10 +60,45 @@ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {
58
60
  $options: import('vue').ComponentOptionsBase<Readonly<import('element-plus').FormProps> & Readonly<{
59
61
  onValidate?: ((prop: import('element-plus').FormItemProp, isValid: boolean, message: string) => any) | undefined;
60
62
  }>, {
61
- validate: (callback?: import('element-plus').FormValidateCallback) => import('element-plus').FormValidationResult;
62
- validateField: (props?: import('element-plus/es/utils/typescript.mjs').Arrayable<import('element-plus').FormItemProp>, callback?: import('element-plus').FormValidateCallback) => import('element-plus').FormValidationResult;
63
- resetFields: (props?: import('element-plus/es/utils/typescript.mjs').Arrayable<import('element-plus').FormItemProp>) => void;
64
- clearValidate: (props?: import('element-plus/es/utils/typescript.mjs').Arrayable<import('element-plus').FormItemProp>) => void;
63
+ validate: (callback
64
+ /**
65
+ * EeSearchBar 搜索栏组件
66
+ *
67
+ * 基于 el-form 封装的搜索栏,支持多字段类型(input/select/datepicker)、
68
+ * 搜索/重置按钮、字段显隐控制。
69
+ */
70
+ ?: import('element-plus').FormValidateCallback) => import('element-plus').FormValidationResult;
71
+ validateField: (props
72
+ /**
73
+ * EeSearchBar 搜索栏组件
74
+ *
75
+ * 基于 el-form 封装的搜索栏,支持多字段类型(input/select/datepicker)、
76
+ * 搜索/重置按钮、字段显隐控制。
77
+ */
78
+ ?: import('element-plus/es/utils/typescript.mjs').Arrayable<import('element-plus').FormItemProp>, callback
79
+ /**
80
+ * EeSearchBar 搜索栏组件
81
+ *
82
+ * 基于 el-form 封装的搜索栏,支持多字段类型(input/select/datepicker)、
83
+ * 搜索/重置按钮、字段显隐控制。
84
+ */
85
+ ?: import('element-plus').FormValidateCallback) => import('element-plus').FormValidationResult;
86
+ resetFields: (props
87
+ /**
88
+ * EeSearchBar 搜索栏组件
89
+ *
90
+ * 基于 el-form 封装的搜索栏,支持多字段类型(input/select/datepicker)、
91
+ * 搜索/重置按钮、字段显隐控制。
92
+ */
93
+ ?: import('element-plus/es/utils/typescript.mjs').Arrayable<import('element-plus').FormItemProp>) => void;
94
+ clearValidate: (props
95
+ /**
96
+ * EeSearchBar 搜索栏组件
97
+ *
98
+ * 基于 el-form 封装的搜索栏,支持多字段类型(input/select/datepicker)、
99
+ * 搜索/重置按钮、字段显隐控制。
100
+ */
101
+ ?: import('element-plus/es/utils/typescript.mjs').Arrayable<import('element-plus').FormItemProp>) => void;
65
102
  scrollToField: (prop: import('element-plus').FormItemProp) => void;
66
103
  getField: (prop: import('element-plus').FormItemProp) => import('element-plus').FormItemContext | undefined;
67
104
  fields: import('vue').Reactive<import('element-plus').FormItemContext[]>;
@@ -107,10 +144,45 @@ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {
107
144
  }> & Omit<Readonly<import('element-plus').FormProps> & Readonly<{
108
145
  onValidate?: ((prop: import('element-plus').FormItemProp, isValid: boolean, message: string) => any) | undefined;
109
146
  }>, "fields" | "labelWidth" | "labelPosition" | "requireAsteriskPosition" | "labelSuffix" | "showMessage" | "validateOnRuleChange" | "scrollIntoViewOptions" | "validate" | "validateField" | "resetFields" | "clearValidate" | "scrollToField" | "getField" | "setInitialValues"> & {
110
- validate: (callback?: import('element-plus').FormValidateCallback) => import('element-plus').FormValidationResult;
111
- validateField: (props?: import('element-plus/es/utils/typescript.mjs').Arrayable<import('element-plus').FormItemProp>, callback?: import('element-plus').FormValidateCallback) => import('element-plus').FormValidationResult;
112
- resetFields: (props?: import('element-plus/es/utils/typescript.mjs').Arrayable<import('element-plus').FormItemProp>) => void;
113
- clearValidate: (props?: import('element-plus/es/utils/typescript.mjs').Arrayable<import('element-plus').FormItemProp>) => void;
147
+ validate: (callback
148
+ /**
149
+ * EeSearchBar 搜索栏组件
150
+ *
151
+ * 基于 el-form 封装的搜索栏,支持多字段类型(input/select/datepicker)、
152
+ * 搜索/重置按钮、字段显隐控制。
153
+ */
154
+ ?: import('element-plus').FormValidateCallback) => import('element-plus').FormValidationResult;
155
+ validateField: (props
156
+ /**
157
+ * EeSearchBar 搜索栏组件
158
+ *
159
+ * 基于 el-form 封装的搜索栏,支持多字段类型(input/select/datepicker)、
160
+ * 搜索/重置按钮、字段显隐控制。
161
+ */
162
+ ?: import('element-plus/es/utils/typescript.mjs').Arrayable<import('element-plus').FormItemProp>, callback
163
+ /**
164
+ * EeSearchBar 搜索栏组件
165
+ *
166
+ * 基于 el-form 封装的搜索栏,支持多字段类型(input/select/datepicker)、
167
+ * 搜索/重置按钮、字段显隐控制。
168
+ */
169
+ ?: import('element-plus').FormValidateCallback) => import('element-plus').FormValidationResult;
170
+ resetFields: (props
171
+ /**
172
+ * EeSearchBar 搜索栏组件
173
+ *
174
+ * 基于 el-form 封装的搜索栏,支持多字段类型(input/select/datepicker)、
175
+ * 搜索/重置按钮、字段显隐控制。
176
+ */
177
+ ?: import('element-plus/es/utils/typescript.mjs').Arrayable<import('element-plus').FormItemProp>) => void;
178
+ clearValidate: (props
179
+ /**
180
+ * EeSearchBar 搜索栏组件
181
+ *
182
+ * 基于 el-form 封装的搜索栏,支持多字段类型(input/select/datepicker)、
183
+ * 搜索/重置按钮、字段显隐控制。
184
+ */
185
+ ?: import('element-plus/es/utils/typescript.mjs').Arrayable<import('element-plus').FormItemProp>) => void;
114
186
  scrollToField: (prop: import('element-plus').FormItemProp) => void;
115
187
  getField: (prop: import('element-plus').FormItemProp) => import('element-plus').FormItemContext | undefined;
116
188
  fields: import('vue').Reactive<import('element-plus').FormItemContext[]>;
@@ -8,6 +8,6 @@ type __VLS_Props = {
8
8
  };
9
9
  declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
10
10
  defaultType: "primary" | "success" | "warning" | "danger" | "info";
11
- defaultEffect: "dark" | "light" | "plain";
11
+ defaultEffect: "plain" | "light" | "dark";
12
12
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
13
13
  export default _default;
@@ -0,0 +1,2 @@
1
+ import { default as EeUserSelect } from './src/index.vue';
2
+ export default EeUserSelect;
@@ -0,0 +1,29 @@
1
+ import { EeUserSelectProps } from '../type';
2
+ declare const _default: import('vue').DefineComponent<EeUserSelectProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
3
+ search: (keyword: string) => any;
4
+ clear: () => any;
5
+ "update:modelValue": (val: string | number | (string | number)[]) => any;
6
+ change: (val: string | number | (string | number)[]) => any;
7
+ blur: (evt: FocusEvent) => any;
8
+ focus: (evt: FocusEvent) => any;
9
+ "load-success": (options: any[]) => any;
10
+ }, string, import('vue').PublicProps, Readonly<EeUserSelectProps> & Readonly<{
11
+ onSearch?: ((keyword: string) => any) | undefined;
12
+ onClear?: (() => any) | undefined;
13
+ "onUpdate:modelValue"?: ((val: string | number | (string | number)[]) => any) | undefined;
14
+ onChange?: ((val: string | number | (string | number)[]) => any) | undefined;
15
+ onBlur?: ((evt: FocusEvent) => any) | undefined;
16
+ onFocus?: ((evt: FocusEvent) => any) | undefined;
17
+ "onLoad-success"?: ((options: any[]) => any) | undefined;
18
+ }>, {
19
+ apiUrl: string;
20
+ searchKey: string;
21
+ labelField: string;
22
+ valueField: string;
23
+ size: "large" | "default" | "small";
24
+ detailEchoUrl: string;
25
+ mode: "single" | "multiple";
26
+ clearable: boolean;
27
+ filterable: boolean;
28
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
29
+ export default _default;
@@ -0,0 +1,46 @@
1
+ import { AxiosInstance } from 'axios';
2
+ /** EeUserSelect 组件属性 */
3
+ export interface EeUserSelectProps {
4
+ /** 双向绑定值 */
5
+ modelValue?: string | number | (string | number)[];
6
+ /** 自定义人员列表接口地址,覆盖默认接口 */
7
+ apiUrl?: string;
8
+ /** 自定义人员详情回显接口地址 */
9
+ detailEchoUrl?: string;
10
+ /** 选择模式,默认 single */
11
+ mode?: 'single' | 'multiple';
12
+ /** 筛选指定部门下人员 */
13
+ deptId?: string | number;
14
+ /** 选项 label 字段名,默认 label */
15
+ labelField?: string;
16
+ /** 选项 value 字段名,默认 value */
17
+ valueField?: string;
18
+ /** 搜索关键词参数字段名,默认 keyword */
19
+ searchKey?: string;
20
+ /** 固定附加请求参数 */
21
+ extraParams?: Record<string, any>;
22
+ /** 外部 axios 请求实例,不传则从全局配置获取 */
23
+ requestInstance?: AxiosInstance;
24
+ /** 占位符文本 */
25
+ placeholder?: string;
26
+ /** 是否可清空,默认 true */
27
+ clearable?: boolean;
28
+ /** 是否禁用 */
29
+ disabled?: boolean;
30
+ /** 是否只读 */
31
+ readonly?: boolean;
32
+ /** 是否可搜索过滤,默认 true */
33
+ filterable?: boolean;
34
+ /** 组件尺寸 */
35
+ size?: 'large' | 'default' | 'small';
36
+ }
37
+ /** EeUserSelect 组件事件 */
38
+ export interface EeUserSelectEmits {
39
+ (e: 'update:modelValue', val: string | number | (string | number)[]): void;
40
+ (e: 'change', val: string | number | (string | number)[]): void;
41
+ (e: 'clear'): void;
42
+ (e: 'blur', evt: FocusEvent): void;
43
+ (e: 'focus', evt: FocusEvent): void;
44
+ (e: 'search', keyword: string): void;
45
+ (e: 'load-success', options: any[]): void;
46
+ }
@@ -0,0 +1,4 @@
1
+ export { useRemoteSelectPagination } from './useRemoteSelectPagination';
2
+ export { useSelectEcho } from './useSelectEcho';
3
+ export type { RemotePaginationOption, RemoteSelectOption } from './useRemoteSelectPagination';
4
+ export type { EchoOption } from './useSelectEcho';