@ttkj/avue 2.10.22 → 2.10.24

Sign up to get free protection for your applications and to get access to all the features.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ttkj/avue",
3
- "version": "2.10.22",
3
+ "version": "2.10.24",
4
4
  "description": "A Magic Configurable Web Framework",
5
5
  "main": "lib/avue.min.js",
6
6
  "unpkg": "lib/avue.min.js",
@@ -117,10 +117,10 @@ export declare class AvueCrud<T = Obj, S = Partial<T>> extends AvueComponent {
117
117
  /** 初始化数据字典 */
118
118
  dicInit(type?: 'cascader'): void;
119
119
  /**
120
- * 移除表单项的校验结果。
120
+ * 移除弹窗表单项的校验结果。
121
121
  * @param {string | string[]} [props] 传入待移除的表单项的 prop 属性或者 prop 组成的数组,如不传则移除整个表单的校验结果
122
122
  */
123
- clearValidate(props?: string | string[]): void;
123
+ clearValidate?: (props?: string | string[]) => void;
124
124
  /** 打开表单新增窗口 */
125
125
  rowAdd(): void;
126
126
  /** 表单保存调用 */
@@ -149,12 +149,20 @@ export declare class AvueCrud<T = Obj, S = Partial<T>> extends AvueComponent {
149
149
  * @param index 表单所在行
150
150
  */
151
151
  rowEdit(row: T, index: number): void;
152
+ /**
153
+ * 删除表单
154
+ * @param row 表单数据
155
+ * @param index 表单所在行
156
+ */
157
+ rowDel(row: T, index: number): void;
152
158
  /**
153
159
  * 将行数据复制,并打开新增窗口
154
160
  * @param row 表单数据
155
161
  * @since 2.6.14
156
162
  */
157
163
  rowCopy(row: T): void;
164
+ /** 新增行 */
165
+ rowCellAdd(row?: Partial<T>): void;
158
166
  /**
159
167
  * 打开行编辑
160
168
  * @param row 表单数据
@@ -162,11 +170,36 @@ export declare class AvueCrud<T = Obj, S = Partial<T>> extends AvueComponent {
162
170
  */
163
171
  rowCell(row: T, index: number): void;
164
172
  /**
165
- * 删除表单
173
+ * 取消行编辑
166
174
  * @param row 表单数据
167
175
  * @param index 表单所在行
168
176
  */
169
- rowDel(row: T, index: number): void;
177
+ rowCancel(row: T, index: number): void;
178
+ /**
179
+ * 删除行
180
+ * @param row 表单数据
181
+ * @param index 表单所在行
182
+ */
183
+ rowCellDelete(row: T, index: number): void;
184
+ /**
185
+ * 行内表单校验(整体)
186
+ */
187
+ validateCellForm(): Promise<{ valid: boolean, msg?: Record<string, {
188
+ /** 错误提示 */
189
+ message: string;
190
+ /** 错误字段,规则list.行号.prop */
191
+ field: string;
192
+ }[]> }>;
193
+ /**
194
+ * 对指定行表单项进行校验
195
+ * @param index 所在行
196
+ */
197
+ validateCellField(index: number): void;
198
+ /**
199
+ * 清除行编辑模式表单项校验结果
200
+ * @since 2.10.24
201
+ */
202
+ clearCellFormValidate(): void;
170
203
  /** 打印表格 */
171
204
  rowPrint(): void;
172
205
  /** 导出表格 */
@@ -191,6 +224,8 @@ export declare class AvueCrud<T = Obj, S = Partial<T>> extends AvueComponent {
191
224
  toggleRowSelection(row: T, select?: boolean): void;
192
225
  /** 用于可展开表格与树形表格,切换某一行的展开状态,如果使用了第二个参数,则是设置这一行展开与否(expanded 为 true 则展开) */
193
226
  toggleRowExpansion(row: T, expanded?: boolean): void;
227
+ /** 清空排序 */
228
+ clearSort(): void;
194
229
  /** 动态计算表格高度 */
195
230
  getTableHeight(): void;
196
231
  /** 对 Table 进行重新布局。当 Table 或其祖先元素由隐藏切换为显示时,可能需要调用此方法 */
@@ -49,7 +49,7 @@ export interface CrudBaseOption {
49
49
  /** 设置 indeterminate 状态,只负责样式控制 如果选择一半,不会出现半选, 默认: false */
50
50
  indeterminate: boolean;
51
51
  /** 表格最大高度 */
52
- maxHeight?: number;
52
+ maxHeight?: number | string;
53
53
  /** 字段排序, 默认: 0 */
54
54
  order?: number;
55
55
  /** 是否显示表格的表头, 默认: true */
@@ -1,4 +1,5 @@
1
1
  // 引入定义
2
+ import { Obj } from '../../global';
2
3
  import { AvueForm } from '../../form';
3
4
  import { AvueCrudFormMode } from '../index';
4
5
 
@@ -1,5 +1,11 @@
1
1
  // 引入定义
2
2
  import { FormOption } from '../../form/option';
3
+ import { AvueForm } from '../../form/index';
4
+
5
+ /** 表单Refs */
6
+ export interface AvueCrudHeaderRefs {
7
+ form: AvueForm;
8
+ }
3
9
 
4
10
  export declare class AvueCrudHeaderSearch {
5
11
  /** 搜索表单配置 */
@@ -15,4 +21,6 @@ export declare class AvueCrudHeaderSearch {
15
21
  handleSearchCollapse(searchShow: boolean): void;
16
22
  /** 判断是否显示搜索 */
17
23
  dataFormat(): void;
24
+ /** 组件Refs */
25
+ $refs: AvueCrudHeaderRefs;
18
26
  }
@@ -84,8 +84,6 @@ export interface FormColumnEventParams<T = Obj, U = Obj> {
84
84
  item?: U | U[];
85
85
  /** 同item,兼容配置 */
86
86
  selected?: U | U[];
87
- /** 表单项值的label,含dic时,为dic的label,否则为value的字符串格式 */
88
- label: string;
89
87
  /** 所在行索引,只在明细组件中生效 */
90
88
  index?: number;
91
89
  }
@@ -235,7 +233,7 @@ export interface FormColumnEvent<T = Obj> {
235
233
  * @example https://avuejs.com/form/form-control.html
236
234
  * @since 2.8.6
237
235
  */
238
- control: (value: any, form: T) => Record<string, Partial<AvueFormColumn>>;
236
+ control: (value: any, form: T, tableData: Pick<FormColumnEventParams<T>, 'column' | 'columnIndex' | 'value' | 'dic' | 'index' | 'row'>) => Record<string, Partial<AvueFormColumn>>;
239
237
  /**
240
238
  * 点击事件
241
239
  * @since 2.9.6
@@ -264,7 +262,7 @@ export interface FormColumnEvent<T = Obj> {
264
262
  * 事件源码
265
263
  * @since 2.9.12(伪)
266
264
  */
267
- _event?: Partial<Record<'click' | 'change' | 'focus' | 'blur', string>>;
265
+ _event?: Record<string, string>;
268
266
  /** 事件 */
269
267
  event: Partial<Omit<FormColumnEvent<T>, 'control' | 'event' | 'enter'>>;
270
268
  }
@@ -1,8 +1,9 @@
1
1
  // 引入定义
2
2
  import { VNode } from 'vue';
3
3
  import { ElForm } from 'element-ui/types/form';
4
- import { AvueComponent } from '../global';
4
+ import { AvueComponent, DicHttpProps, Obj } from '../global';
5
5
  import { FormOption } from './option';
6
+ import { DicProps } from './column';
6
7
 
7
8
  /** 表单Refs */
8
9
  export interface AvueFormRefs {
@@ -67,7 +68,7 @@ export declare class AvueForm<T = Obj> extends AvueComponent {
67
68
  }
68
69
 
69
70
  /** 通用表单插槽 */
70
- export interface FormNormalScope<T = any, D = Obj> {
71
+ export interface FormNormalScope<T = any, D = Obj, U = Obj, R = Obj> {
71
72
  /** 表单值 */
72
73
  value: T;
73
74
  /** 选中值,仅适用于涉及字典的组件 */
@@ -82,4 +83,30 @@ export interface FormNormalScope<T = any, D = Obj> {
82
83
  disabled: boolean;
83
84
  /** 表单数据 */
84
85
  row: D;
86
+ /** 字典 */
87
+ dic?: U[];
88
+ /** 输入时是否触发表单的校验, 仅针对input类型 */
89
+ validateEvent: boolean;
90
+ /** 参数配置项 */
91
+ props?: Partial<DicProps>;
92
+ /** 默认的接口请求配置 */
93
+ propsHttp?: DicHttpProps;
94
+ /** 外部传入的数据 */
95
+ tableData: {
96
+ /** 表单数据 */
97
+ row: D;
98
+ /** 列配置索引 */
99
+ columnIndex: Record<string, AvueCrudColumn>;
100
+ /** 行索引, dynamic组件下子组件生效 */
101
+ index?: number;
102
+ /** 上级组件相关数据, dynamic组件下子组件生效 */
103
+ rootFormData?: {
104
+ /** 列配置索引 */
105
+ columnIndex: Record<string, AvueCrudColumn>;
106
+ /** 表单配置 */
107
+ formOption: FormOption;
108
+ /** 表单数据 */
109
+ data: R;
110
+ };
111
+ };
85
112
  }
@@ -1,5 +1,5 @@
1
1
  import { ResponsiveColumn } from 'element-ui/types/col';
2
- import { AvueAlignment, AvueComponentSize, DicHttpProps } from '../global';
2
+ import { AvueAlignment, AvueComponentSize, DicHttpProps, Obj } from '../global';
3
3
  import { AvueFormColumn } from './column';
4
4
 
5
5
  /** 表单组件基本配置属性 */