@wyfex/ivue 0.19.4 → 0.20.0

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 (43) hide show
  1. package/README.md +7 -1
  2. package/dist/index.es.js +9 -9
  3. package/dist/index.umd.cjs +6 -6
  4. package/dist/ivue.css +1 -1
  5. package/dist/types/UseCrud/defaultExtConfig.d.ts +4 -0
  6. package/dist/types/UseCrud/hook.d.ts +2 -22
  7. package/dist/types/UseCrud/index.vue.d.ts +11 -2
  8. package/dist/types/UseCrud/types.d.ts +48 -3
  9. package/dist/types/UseCrud/utils.d.ts +48 -2
  10. package/dist/types/UseElCheckbox/index.vue.d.ts +1 -1
  11. package/dist/types/UseElDatePicker/index.vue.d.ts +4 -4
  12. package/dist/types/UseElDatePicker/types.d.ts +2 -2
  13. package/dist/types/UseElDialog/hook.d.ts +1 -0
  14. package/dist/types/UseElDialog/index.vue.d.ts +19 -1
  15. package/dist/types/UseElDialog/props.d.ts +8 -0
  16. package/dist/types/UseElDrawer/index.vue.d.ts +10 -1
  17. package/dist/types/UseElDrawer/props.d.ts +4 -0
  18. package/dist/types/UseElForm/types.d.ts +1 -2
  19. package/dist/types/UseElInput/index.vue.d.ts +4 -4
  20. package/dist/types/UseElSelect/index.vue.d.ts +4 -4
  21. package/dist/types/UseElTable/defaultExtConfig.d.ts +1 -1
  22. package/dist/types/UseElTable/types.d.ts +9 -10
  23. package/dist/types/UseElTimeSelect/index.vue.d.ts +28 -0
  24. package/dist/types/UseElTimeSelect/props.d.ts +13 -0
  25. package/dist/types/UseElTimeSelect/types.d.ts +6 -0
  26. package/dist/types/UseRender/index.vue.d.ts +1 -1
  27. package/dist/types/index.d.ts +1 -1
  28. package/package.json +7 -7
  29. package/src/components/UseCrud/defaultExtConfig.ts +1 -0
  30. package/src/components/UseCrud/props.ts +1 -1
  31. package/src/components/UseCrud/types.ts +99 -23
  32. package/src/components/UseElButton/types.ts +12 -37
  33. package/src/components/UseElCheckbox/types.ts +1 -1
  34. package/src/components/UseElConfigProvider/types.ts +10 -18
  35. package/src/components/UseElDatePicker/types.ts +3 -3
  36. package/src/components/UseElDialog/props.ts +16 -2
  37. package/src/components/UseElDrawer/props.ts +7 -0
  38. package/src/components/UseElForm/types.ts +3 -10
  39. package/src/components/UseElTable/types.ts +92 -183
  40. package/src/components/UseElTimeSelect/props.ts +22 -0
  41. package/src/components/UseElTimeSelect/types.ts +15 -0
  42. package/dist/types/UseCrud/useCrudWithBusiness.d.ts +0 -46
  43. /package/dist/types/UseElForm/components/controls/{TimeSelect.vue.d.ts → TimeSelectRange.vue.d.ts} +0 -0
@@ -11,25 +11,15 @@ export type Props = ExtractPropTypes<typeof componentProps>
11
11
  * emits类型
12
12
  */
13
13
  export type Emits = {
14
- /**
15
- * dictKeys事件
16
- */
14
+ /** dictKeys事件 */
17
15
  (e: 'onDictKeys', value?: string[]): void
18
- /**
19
- * 选中数据更新事件 v-model:selectionData
20
- */
16
+ /** 选中数据更新事件 v-model:selectionData */
21
17
  (e: 'update:selectionData', selectionData: any[]): void
22
- /**
23
- * 当前行更新事件 v-model:currentRow
24
- */
18
+ /** 当前行更新事件 v-model:currentRow */
25
19
  (e: 'update:currentRow', currentRow: any): void
26
- /**
27
- * 当前页码更新事件 v-model:currentPage
28
- */
20
+ /** 当前页码更新事件 v-model:currentPage */
29
21
  (e: 'update:currentPage', currentPage: number): void
30
- /**
31
- * 每页条数更新事件 v-model:pageSize
32
- */
22
+ /** 每页条数更新事件 v-model:pageSize */
33
23
  (e: 'update:pageSize', pageSize: number): void
34
24
  }
35
25
 
@@ -37,21 +27,13 @@ export type Emits = {
37
27
  * EditableCell和SpanVue组件的props接口
38
28
  */
39
29
  export interface EditableCellAndSpanVueProps {
40
- /**
41
- * 行数据
42
- */
30
+ /** 行数据 */
43
31
  row: Record<string, any>
44
- /**
45
- * 表格配置项
46
- */
32
+ /** 表格配置项 */
47
33
  item: TableColumn
48
- /**
49
- * 合并后的props
50
- */
34
+ /** 合并后的props */
51
35
  mergedProps: Props
52
- /**
53
- * 全局配置
54
- */
36
+ /** 全局配置 */
55
37
  globalConfig: GlobalConfig
56
38
  }
57
39
 
@@ -59,17 +41,11 @@ export interface EditableCellAndSpanVueProps {
59
41
  * 表头配置接口
60
42
  */
61
43
  export interface Header {
62
- /**
63
- * 表头具名插槽 为true则在模板代码中添加`<template #prop-header="{ item }"></template>`即可,可传入string自定义具名插槽名称
64
- */
44
+ /** 表头具名插槽 为true则在模板代码中添加`<template #prop-header="{ item }"></template>`即可,可传入string自定义具名插槽名称 */
65
45
  slot?: boolean | string
66
- /**
67
- * 表头是否必填 必填表头默认在表头名称前添加*号
68
- */
46
+ /** 表头是否必填 必填表头默认在表头名称前添加*号 */
69
47
  required?: boolean
70
- /**
71
- * 必填表头*号位置 默认为before
72
- */
48
+ /** 必填表头*号位置 默认为before */
73
49
  asteriskPosition?: 'before' | 'after'
74
50
  }
75
51
 
@@ -77,53 +53,17 @@ export interface Header {
77
53
  * 编辑配置接口
78
54
  */
79
55
  export interface Edit {
80
- /**
81
- * 组件
82
- */
56
+ /** 组件 */
83
57
  component: Component
84
- /**
85
- * 属性
86
- */
58
+ /** 属性 */
87
59
  attrs?: EditAttrs
88
60
  }
89
61
 
90
- /**
91
- * tableColumn的extConfig接口
92
- */
93
- export interface TableColumnExtConfig {
94
- /**
95
- * 表头配置
96
- */
97
- header?: Header
98
- /**
99
- * 编辑配置
100
- */
101
- edit?: Edit
102
- /**
103
- * 过滤器
104
- */
105
- formatter?: Function
106
- /**
107
- * 类名
108
- */
109
- class?: string | string[]
110
- /**
111
- * 样式
112
- */
113
- style?: string | Record<string, unknown>
114
- /**
115
- * 插槽 为true则在模板代码中添加`<template #prop="{ row }"></template>`即可,可传入string自定义具名插槽名称
116
- */
117
- slot?: boolean | string
118
- }
119
-
120
62
  /**
121
63
  * tableColumn接口
122
64
  */
123
65
  export interface TableColumn {
124
- /**
125
- * 表格列的标签
126
- */
66
+ /** 表格列的标签 */
127
67
  label?: string
128
68
  /**
129
69
  * 表格列的属性 多级表头的父级表头可不传
@@ -135,41 +75,36 @@ export interface TableColumn {
135
75
  * 如为string或dict.data为string则将dict或dict.data作为dictMap的key
136
76
  */
137
77
  useDict?: boolean | string | UseDict
138
- /**
139
- * 表格列的宽度
140
- */
78
+ /** 表格列的宽度 */
141
79
  width?: string | number
142
- /**
143
- * 表格列的最小宽度
144
- */
80
+ /** 表格列的最小宽度 */
145
81
  minWidth?: string | number
146
- /**
147
- * 是否显示表格列
148
- */
82
+ /** 是否显示表格列 */
149
83
  show?: boolean
150
- /**
151
- * 表格列的排列方式
152
- */
84
+ /** 表格列的排列方式 */
153
85
  align?: string
154
- /**
155
- * 表格列是否固定
156
- */
86
+ /** 表格列是否固定 */
157
87
  fixed?: boolean | string
158
- /**
159
- * 表格列是否开启排序
160
- */
88
+ /** 表格列是否开启排序 */
161
89
  sortable?: boolean
162
- /**
163
- * 表格列溢出是否显示省略号
164
- */
90
+ /** 表格列溢出是否显示省略号 */
165
91
  showOverflowTooltip?: boolean
166
- /**
167
- * 表格列扩展配置
168
- */
169
- extConfig?: TableColumnExtConfig
170
- /**
171
- * 表格列的子表格列
172
- */
92
+ /** 表格列扩展配置 */
93
+ extConfig?: {
94
+ /** 表头配置 */
95
+ header?: Header
96
+ /** 编辑配置 */
97
+ edit?: Edit
98
+ /** 过滤器 */
99
+ formatter?: Function
100
+ /** 类名 */
101
+ class?: string | string[]
102
+ /** 样式 */
103
+ style?: string | Record<string, unknown>
104
+ /** 插槽 为true则在模板代码中添加`<template #prop="{ row }"></template>`即可,可传入string自定义具名插槽名称 */
105
+ slot?: boolean | string
106
+ }
107
+ /** 表格列的子表格列 */
173
108
  children?: TableColumn[]
174
109
  }
175
110
 
@@ -177,43 +112,25 @@ export interface TableColumn {
177
112
  * 选择器配置项
178
113
  */
179
114
  export interface Selection {
180
- /**
181
- * 选择器的标签
182
- */
115
+ /** 选择器的标签 type为CHECKBOXRADIO、RADIO时表头全选复选框的文本,不设置则为空显示 */
183
116
  label?: string
184
- /**
185
- * 选择器的类型
186
- */
117
+ /** 选择类型 可选值:CHECKBOX(复选) | CHECKBOXRADIO(复选框单选) | RADIO(单选) */
187
118
  type?: 'CHECKBOX' | 'CHECKBOXRADIO' | 'RADIO'
188
- /**
189
- * 选择器的宽度
190
- */
119
+ /** 选择器的列宽 */
191
120
  width?: number
192
- /**
193
- * 选择器的唯一键
194
- */
121
+ /** 选中数据的唯一键 对应tableData中的唯一键 如id */
195
122
  key?: string
196
- /**
197
- * 是否允许点击行触发选择器勾选
198
- */
123
+ /** 允许通过点击行触发单选/复选 默认否 PS:默认不高亮当前行,若需高亮当前行,只需给UseElTable组件设置highlightCurrentRow属性即可 */
199
124
  enableRowClick?: boolean
200
- /**
201
- * 自定义选择器功能函数
202
- */
125
+ /** 决定当前行复选框是否可以勾选 传入function,如果是简单禁用逻辑推荐优先使用disabledConfig配置项,复杂逻辑才建议使用本配置项 */
203
126
  selectable?: Function
204
- /**
205
- * 选择器禁止勾选配置
206
- */
127
+ /** 禁用配置 可传对象或对象数组 */
207
128
  disabledConfig?:
208
129
  | Record<string, string | number | string[] | number[]>
209
130
  | Array<{ key: string; value: string | number | string[] | number[] }>
210
- /**
211
- * 选择器排列方式
212
- */
131
+ /** 选择器的排列方式 */
213
132
  align?: string
214
- /**
215
- * 选择器是否固定
216
- */
133
+ /** 选择器是否固定 */
217
134
  fixed?: boolean
218
135
  }
219
136
 
@@ -221,78 +138,70 @@ export interface Selection {
221
138
  * UseElTable的extConfig接口
222
139
  */
223
140
  export interface ExtConfig {
224
- /**
225
- * 额外表头配置项
226
- * border:是否显示边框线 默认和el-table的border保持一致
227
- * class:额外表头类名
228
- * style:额外表头样式对象
229
- */
141
+ /** 额外表头配置项 */
230
142
  extraHeader?: {
143
+ /** 是否显示边框线 默认和el-table的border保持一致 */
231
144
  border?: boolean
145
+ /** 额外表头类名 */
232
146
  class?: string
147
+ /** 额外表头样式对象 */
233
148
  style?: { padding?: string; borderBottom?: string }
234
149
  }
235
- /**
236
- * 模式配置项
237
- * type:模式类型 可选值:PAGE(页面) | MODAL(弹窗)
238
- * height:表格高度 不设置则默认高度自适应,该配置项设置的是UseELTable组件整体高度,非ElTable组件的高度
239
- * bottomOffset:表格高度自适应表格底部预留偏移 该配置项由UseElConfigProvider组件统一提供默认值
240
- */
241
- mode?: { type?: 'PAGE' | 'MODAL'; height?: string; bottomOffset?: number }
242
- /**
243
- * 选择器配置项
244
- * 绑定v-model:selectionData="selectionData"则开启选择器 不显式设置type则默认为CHECKBOX复选
245
- * type:选择类型 可选值:CHECKBOX(复选) | CHECKBOXRADIO(复选框单选) | RADIO(单选)
246
- * label:type为CHECKBOXRADIO、RADIO时表头全选复选框的文本 不设置则为空显示
247
- * key:选中数据的唯一键 对应tableData中的唯一键 如id
248
- * selectable:决定当前行复选框是否可以勾选 传入function,如果是简单禁用逻辑推荐优先使用disabledConfig配置项,复杂逻辑才建议使用本配置项
249
- * disabledConfig:禁用配置 可传对象或对象数组
250
- * enableRowClick:允许通过点击行触发单选/复选 默认否 PS:默认不高亮当前行,若需高亮当前行,只需给UseElTable组件设置highlightCurrentRow属性即可
251
- * width:选择器的列宽 默认为40px
252
- * align:选择器的排列方式 默认为center居中
253
- * fixed:是否固定 默认为true
254
- */
150
+ /** 模式配置项 */
151
+ mode?: {
152
+ /** 模式类型 可选值:PAGE(页面) | MODAL(弹窗) */
153
+ type?: 'PAGE' | 'MODAL'
154
+ /** 表格高度 不设置则默认高度自适应,该配置项设置的是UseELTable组件整体高度,非ElTable组件的高度 */
155
+ height?: string
156
+ /** 表格高度自适应表格底部预留偏移 该配置项由UseElConfigProvider组件统一提供默认值 */
157
+ bottomOffset?: number
158
+ }
159
+ /** 选择器配置项 绑定v-model:selectionData="selectionData"则开启选择器 不显式设置type则默认为CHECKBOX复选 */
255
160
  selection?: Selection
256
- /**
257
- * 序号列配置项
258
- * label:序号列表头文本 不显式设置则不显示序号列
259
- * isContinuous:是否连续的,默认是,即第二页的序号根据第一条最后一个序号进行延续
260
- * width、align、fixed同选择器配置项
261
- */
161
+ /** 序号列配置项 */
262
162
  index?: {
163
+ /** 序号列表头文本 不显式设置则不显示序号列 */
263
164
  label?: string
165
+ /** 是否连续的,默认是,即第二页的序号根据第一条最后一个序号进行延续 */
264
166
  isContinuous?: boolean
167
+ /** 序号列的列宽 */
265
168
  width?: number
169
+ /** 序号列的排列方式 */
266
170
  align?: string
171
+ /** 序号列是否固定 */
267
172
  fixed?: boolean
268
173
  }
269
- /**
270
- * 展开列配置项
271
- * show:是否显示展开列
272
- * width:展开列宽度
273
- */
274
- expand?: { show?: boolean; width?: number }
275
- /**
276
- * 操作列配置项
277
- * label:操作列文案 显式设置则开启操作列
278
- * width:操作列宽度 默认为128px
279
- * fixed:固定方向 默认固定在右侧
280
- */
281
- operation?: { label?: string; width?: number; fixed?: string }
282
- /**
283
- * 分页器配置项
284
- * total:分页总数 为-1时不显示分页器
285
- * marginTop:分页器与表格的间距 默认20px
286
- * func:分页方法 显式设置则在组件内部自动处理分页逻辑
287
- * position:分页器位置 默认为right 可选值:left | center | right
288
- */
174
+ /** 展开列配置项 */
175
+ expand?: {
176
+ /** 是否显示展开列 */
177
+ show?: boolean
178
+ /** 展开列宽度 */
179
+ width?: number
180
+ }
181
+ /** 操作列配置项 */
182
+ operation?: {
183
+ /** 操作列文案 显式设置则开启操作列 */
184
+ label?: string
185
+ /** 操作列列宽 */
186
+ width?: number
187
+ /** 操作列是否固定 */
188
+ fixed?: string
189
+ }
190
+ /** 分页器配置项 */
289
191
  pagination?: {
192
+ /** 分页总数 为-1时不显示分页器 */
290
193
  total?: number
194
+ /** 分页器与表格的间距 */
291
195
  marginTop?: number
292
- position?: string
196
+ /** 分页器位置 */
197
+ position?: 'left' | 'center' | 'right'
198
+ /** 页码尺寸数组 */
293
199
  pageSizes?: number[]
200
+ /** 是否显示分页器背景 */
294
201
  background?: boolean
202
+ /** 分页器布局 */
295
203
  layout?: string
204
+ /** 分页方法 显式设置则在组件内部自动处理分页逻辑 */
296
205
  func?: Function
297
206
  }
298
207
  }
@@ -0,0 +1,22 @@
1
+ import type { PropType } from 'vue'
2
+ import type { RenderConfig } from '@/types'
3
+
4
+ /**
5
+ * 组件props
6
+ */
7
+ export default {
8
+ /**
9
+ * 双向绑定数据源
10
+ */
11
+ modelValue: {
12
+ type: String,
13
+ default: ''
14
+ },
15
+ /**
16
+ * 是否使用渲染器 默认否
17
+ */
18
+ useRender: {
19
+ type: [Boolean, Object] as PropType<boolean | RenderConfig>,
20
+ default: false
21
+ }
22
+ }
@@ -0,0 +1,15 @@
1
+ import type { ExtractPropTypes } from 'vue'
2
+ import componentProps from './props'
3
+
4
+ /**
5
+ * props类型
6
+ */
7
+ export type Props = ExtractPropTypes<typeof componentProps>
8
+
9
+ /**
10
+ * emits类型
11
+ */
12
+ export type Emits = {
13
+ /** 更新value值 */
14
+ (e: 'update:modelValue', value: string | number | any[]): void
15
+ }
@@ -1,46 +0,0 @@
1
- interface UseCrudState {
2
- configs: Record<string, any>[];
3
- formModel: Record<string, any>;
4
- formParams: Record<string, any>;
5
- tableLoading: boolean;
6
- tableData: any[];
7
- currentPage: number;
8
- pageSize: number;
9
- total: number;
10
- dictMap: Record<string, any>;
11
- selectionData: any[];
12
- modalTitle: string;
13
- }
14
- interface Options {
15
- params: Record<string, any>;
16
- isPageApi: boolean;
17
- }
18
- export declare const useCrud: () => {
19
- state: import('vue').Ref<{
20
- configs: Record<string, any>[];
21
- formModel: Record<string, any>;
22
- formParams: Record<string, any>;
23
- tableLoading: boolean;
24
- tableData: any[];
25
- currentPage: number;
26
- pageSize: number;
27
- total: number;
28
- dictMap: Record<string, any>;
29
- selectionData: any[];
30
- modalTitle: string;
31
- }, UseCrudState | {
32
- configs: Record<string, any>[];
33
- formModel: Record<string, any>;
34
- formParams: Record<string, any>;
35
- tableLoading: boolean;
36
- tableData: any[];
37
- currentPage: number;
38
- pageSize: number;
39
- total: number;
40
- dictMap: Record<string, any>;
41
- selectionData: any[];
42
- modalTitle: string;
43
- }>;
44
- fetchTableData: (api: Function, options: Options) => Promise<void>;
45
- };
46
- export {};