@dt-frames/ui 2.0.2 → 2.0.4

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 (69) hide show
  1. package/es/assets/locales/en.ts +1 -1
  2. package/es/components/container/index.d.ts +4 -3
  3. package/es/components/container/index.js +24 -22
  4. package/es/components/container/src/slot-container.d.ts +5 -3
  5. package/es/components/curd/index.js +261 -229
  6. package/es/components/curd/src/components/Curd.d.ts +126 -331
  7. package/es/components/curd/src/props.d.ts +14 -15
  8. package/es/components/drawer/index.d.ts +3 -5
  9. package/es/components/drawer/index.js +55 -54
  10. package/es/components/drawer/src/components/DrawerHeader.d.ts +1 -3
  11. package/es/components/drawer/src/index.d.ts +4 -7
  12. package/es/components/form/index.d.ts +213 -361
  13. package/es/components/form/index.js +210 -163
  14. package/es/components/form/index.less +206 -8
  15. package/es/components/form/src/components/FormButtons.d.ts +3 -3
  16. package/es/components/form/src/components/FormItem.d.ts +152 -304
  17. package/es/components/form/src/components/formIcon.d.ts +4 -4
  18. package/es/components/form/src/components/formInputUseDialog.d.ts +3 -3
  19. package/es/components/form/src/enums/index.d.ts +1 -1
  20. package/es/components/form/src/index.d.ts +199 -347
  21. package/es/components/form/src/props.d.ts +8 -12
  22. package/es/components/form/src/types/form.type.d.ts +2 -2
  23. package/es/components/icons/index.d.ts +496 -2
  24. package/es/components/icons/index.less +5 -0
  25. package/es/components/icons/src/pick-icon.d.ts +5 -5
  26. package/es/components/modal/index.js +76 -74
  27. package/es/components/modal/index.less +10 -0
  28. package/es/components/modal/src/components/Modal.d.ts +108 -215
  29. package/es/components/modal/src/components/ModalFooter.d.ts +3 -3
  30. package/es/components/modal/src/index.d.ts +116 -223
  31. package/es/components/source/hooks/useSource.d.ts +14 -0
  32. package/es/components/source/index.js +66 -27
  33. package/es/components/source/types/source.type.d.ts +4 -8
  34. package/es/components/table/index.js +452 -820
  35. package/es/components/table/index.less +50 -14
  36. package/es/components/table/src/components/TableAction.d.ts +1 -1
  37. package/es/components/table/src/components/TableHeader.d.ts +109 -216
  38. package/es/components/table/src/components/TableRender.d.ts +13 -9
  39. package/es/components/table/src/components/tableSetting/Download.d.ts +107 -214
  40. package/es/components/table/src/components/tableSetting/DownloadCtrl.d.ts +107 -214
  41. package/es/components/table/src/components/tableSetting/index.d.ts +107 -214
  42. package/es/components/table/src/hooks/useDataSource.d.ts +1 -2
  43. package/es/components/table/src/hooks/usePagination.d.ts +3 -118
  44. package/es/components/table/src/index.d.ts +99 -435
  45. package/es/components/table/src/props.d.ts +19 -74
  46. package/es/components/table/src/types/actions.type.d.ts +1 -2
  47. package/es/components/table/src/types/table.type.d.ts +13 -8
  48. package/es/index.d.ts +1 -1
  49. package/es/index.js +2 -3240
  50. package/es/theme/index.js +688 -453
  51. package/es/theme/index.less +150 -0
  52. package/es/theme/src/components/header/components/logo.d.ts +0 -1
  53. package/es/theme/src/components/header/components/notify.d.ts +4 -3
  54. package/es/theme/src/components/header/components/setting-theme.d.ts +2 -1
  55. package/es/theme/src/components/header/components/user-info.d.ts +4 -3
  56. package/es/theme/src/components/header/helper/menu-tree.d.ts +1 -0
  57. package/es/theme/src/components/header/index.d.ts +8 -7
  58. package/es/theme/src/components/header/multiple-header.d.ts +22 -25
  59. package/es/theme/src/components/sider/components/drag-bar.d.ts +1 -1
  60. package/es/theme/src/components/sider/components/sider-trigger.d.ts +0 -1
  61. package/es/theme/src/components/sider/index.d.ts +147 -3
  62. package/es/theme/src/components/sider/mix-sider.d.ts +146 -0
  63. package/es/theme/src/enums/theme.enum.d.ts +2 -1
  64. package/es/theme/src/hooks/useMenu.d.ts +4 -2
  65. package/es/theme/src/index.d.ts +166 -23
  66. package/es/theme/src/stores/theme.store.d.ts +3 -0
  67. package/es/theme/src/types/theme.type.d.ts +2 -1
  68. package/package.json +3 -4
  69. package/vite.config.ts +0 -27
@@ -100,7 +100,7 @@ declare const _sfc_main: import("vue").DefineComponent<{
100
100
  afterClose: FunctionConstructor;
101
101
  }, {
102
102
  props: any;
103
- emits: (event: "register" | "visible-change" | "height-change" | "cancel" | "save" | "update:visible", ...args: any[]) => void;
103
+ emits: (event: "visible-change" | "height-change" | "cancel" | "save" | "register" | "update:visible", ...args: any[]) => void;
104
104
  visibleRef: import("vue").Ref<boolean>;
105
105
  propsRef: import("vue").Ref<Partial<ExtractPropTypes<{
106
106
  t: {
@@ -215,220 +215,113 @@ declare const _sfc_main: import("vue").DefineComponent<{
215
215
  handleSave: () => void;
216
216
  handleCancel: (e?: Event) => Promise<void>;
217
217
  readonly omit: any;
218
- readonly Modal: import("vue").DefineComponent<{
219
- t: {
220
- type: StringConstructor;
221
- };
222
- visible: {
223
- type: BooleanConstructor;
224
- };
225
- closable: {
226
- type: BooleanConstructor;
227
- default: boolean;
228
- };
229
- destroyOnClose: {
230
- type: BooleanConstructor;
231
- };
232
- scrollTop: {
233
- type: BooleanConstructor;
234
- default: boolean;
235
- };
236
- height: {
237
- type: NumberConstructor;
238
- };
239
- minHeight: {
240
- type: NumberConstructor;
241
- };
242
- width: {
243
- type: import("vue").PropType<String | Number>;
244
- };
245
- draggable: {
246
- type: BooleanConstructor;
247
- default: boolean;
248
- };
249
- defaultFullscreen: {
250
- type: BooleanConstructor;
251
- };
252
- canFullscreen: {
253
- type: BooleanConstructor;
254
- default: boolean;
255
- };
256
- title: {
257
- type: import("vue").PropType<String | import("vue").ComputedRef<String>>;
258
- };
259
- loading: {
260
- type: BooleanConstructor;
261
- default: boolean;
262
- };
263
- loadingTip: {
264
- type: StringConstructor;
265
- default: string;
266
- };
267
- useWrapper: {
268
- type: BooleanConstructor;
269
- default: boolean;
270
- };
271
- wrapClassName: {
272
- type: StringConstructor;
273
- };
274
- zIndex: {
275
- type: NumberConstructor;
276
- };
277
- centered: {
278
- type: BooleanConstructor;
279
- };
280
- showOkBtn: {
281
- type: BooleanConstructor;
282
- default: boolean;
283
- };
284
- showCancelBtn: {
285
- type: BooleanConstructor;
286
- default: boolean;
287
- };
288
- okText: {
289
- type: StringConstructor;
290
- };
291
- cancelText: {
292
- type: StringConstructor;
293
- };
294
- mask: {
295
- type: BooleanConstructor;
296
- default: boolean;
297
- };
298
- maskClosable: {
299
- type: BooleanConstructor;
300
- default: boolean;
301
- };
302
- keyboard: {
303
- type: BooleanConstructor;
304
- default: boolean;
305
- };
306
- maskStyle: import("vue").PropType<import("vue").CSSProperties>;
307
- footer: {
308
- type: import("vue").PropType<import("../../form/src/types/form.type").ButtonProps[]>;
309
- };
310
- bodyStyle: import("vue").PropType<import("vue").CSSProperties>;
311
- wrapperProps: ObjectConstructor;
312
- getContainer: import("vue").PropType<() => any>;
313
- closeFunc: import("vue").PropType<() => Promise<boolean>>;
314
- afterClose: FunctionConstructor;
315
- }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "cancel"[], "cancel", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<ExtractPropTypes<{
316
- t: {
317
- type: StringConstructor;
318
- };
319
- visible: {
320
- type: BooleanConstructor;
321
- };
322
- closable: {
323
- type: BooleanConstructor;
324
- default: boolean;
325
- };
326
- destroyOnClose: {
327
- type: BooleanConstructor;
328
- };
329
- scrollTop: {
330
- type: BooleanConstructor;
331
- default: boolean;
332
- };
333
- height: {
334
- type: NumberConstructor;
335
- };
336
- minHeight: {
337
- type: NumberConstructor;
338
- };
339
- width: {
340
- type: import("vue").PropType<String | Number>;
341
- };
342
- draggable: {
343
- type: BooleanConstructor;
344
- default: boolean;
345
- };
346
- defaultFullscreen: {
347
- type: BooleanConstructor;
348
- };
349
- canFullscreen: {
350
- type: BooleanConstructor;
351
- default: boolean;
352
- };
353
- title: {
354
- type: import("vue").PropType<String | import("vue").ComputedRef<String>>;
355
- };
356
- loading: {
357
- type: BooleanConstructor;
358
- default: boolean;
359
- };
360
- loadingTip: {
361
- type: StringConstructor;
362
- default: string;
363
- };
364
- useWrapper: {
365
- type: BooleanConstructor;
366
- default: boolean;
367
- };
368
- wrapClassName: {
369
- type: StringConstructor;
370
- };
371
- zIndex: {
372
- type: NumberConstructor;
373
- };
374
- centered: {
375
- type: BooleanConstructor;
376
- };
377
- showOkBtn: {
378
- type: BooleanConstructor;
379
- default: boolean;
380
- };
381
- showCancelBtn: {
382
- type: BooleanConstructor;
383
- default: boolean;
384
- };
385
- okText: {
386
- type: StringConstructor;
387
- };
388
- cancelText: {
389
- type: StringConstructor;
390
- };
391
- mask: {
392
- type: BooleanConstructor;
393
- default: boolean;
394
- };
395
- maskClosable: {
396
- type: BooleanConstructor;
397
- default: boolean;
398
- };
399
- keyboard: {
400
- type: BooleanConstructor;
401
- default: boolean;
402
- };
403
- maskStyle: import("vue").PropType<import("vue").CSSProperties>;
404
- footer: {
405
- type: import("vue").PropType<import("../../form/src/types/form.type").ButtonProps[]>;
406
- };
407
- bodyStyle: import("vue").PropType<import("vue").CSSProperties>;
408
- wrapperProps: ObjectConstructor;
409
- getContainer: import("vue").PropType<() => any>;
410
- closeFunc: import("vue").PropType<() => Promise<boolean>>;
411
- afterClose: FunctionConstructor;
412
- }>> & {
413
- onCancel?: (...args: any[]) => any;
414
- }, {
415
- loading: boolean;
416
- visible: boolean;
417
- mask: boolean;
418
- closable: boolean;
419
- destroyOnClose: boolean;
420
- scrollTop: boolean;
421
- draggable: boolean;
422
- defaultFullscreen: boolean;
423
- canFullscreen: boolean;
424
- loadingTip: string;
425
- useWrapper: boolean;
426
- centered: boolean;
427
- showOkBtn: boolean;
428
- showCancelBtn: boolean;
429
- maskClosable: boolean;
430
- keyboard: boolean;
431
- }>;
218
+ Modal: {
219
+ name: string;
220
+ inheritAttrs: boolean;
221
+ props: {
222
+ t: {
223
+ type: StringConstructor;
224
+ };
225
+ visible: {
226
+ type: BooleanConstructor;
227
+ };
228
+ closable: {
229
+ type: BooleanConstructor;
230
+ default: boolean;
231
+ };
232
+ destroyOnClose: {
233
+ type: BooleanConstructor;
234
+ };
235
+ scrollTop: {
236
+ type: BooleanConstructor;
237
+ default: boolean;
238
+ };
239
+ height: {
240
+ type: NumberConstructor;
241
+ };
242
+ minHeight: {
243
+ type: NumberConstructor;
244
+ };
245
+ width: {
246
+ type: import("vue").PropType<String | Number>;
247
+ };
248
+ draggable: {
249
+ type: BooleanConstructor;
250
+ default: boolean;
251
+ };
252
+ defaultFullscreen: {
253
+ type: BooleanConstructor;
254
+ };
255
+ canFullscreen: {
256
+ type: BooleanConstructor;
257
+ default: boolean;
258
+ };
259
+ title: {
260
+ type: import("vue").PropType<String | import("vue").ComputedRef<String>>;
261
+ };
262
+ loading: {
263
+ type: BooleanConstructor;
264
+ default: boolean;
265
+ };
266
+ loadingTip: {
267
+ type: StringConstructor;
268
+ default: string;
269
+ };
270
+ useWrapper: {
271
+ type: BooleanConstructor;
272
+ default: boolean;
273
+ };
274
+ wrapClassName: {
275
+ type: StringConstructor;
276
+ };
277
+ zIndex: {
278
+ type: NumberConstructor;
279
+ };
280
+ centered: {
281
+ type: BooleanConstructor;
282
+ };
283
+ showOkBtn: {
284
+ type: BooleanConstructor;
285
+ default: boolean;
286
+ };
287
+ showCancelBtn: {
288
+ type: BooleanConstructor;
289
+ default: boolean;
290
+ };
291
+ okText: {
292
+ type: StringConstructor;
293
+ };
294
+ cancelText: {
295
+ type: StringConstructor;
296
+ };
297
+ mask: {
298
+ type: BooleanConstructor;
299
+ default: boolean;
300
+ };
301
+ maskClosable: {
302
+ type: BooleanConstructor;
303
+ default: boolean;
304
+ };
305
+ keyboard: {
306
+ type: BooleanConstructor;
307
+ default: boolean;
308
+ };
309
+ maskStyle: import("vue").PropType<import("vue").CSSProperties>;
310
+ footer: {
311
+ type: import("vue").PropType<import("../../form/src/types/form.type").ButtonProps[]>;
312
+ };
313
+ bodyStyle: import("vue").PropType<import("vue").CSSProperties>;
314
+ wrapperProps: ObjectConstructor;
315
+ getContainer: import("vue").PropType<() => any>;
316
+ closeFunc: import("vue").PropType<() => Promise<boolean>>;
317
+ afterClose: FunctionConstructor;
318
+ };
319
+ emits: string[];
320
+ setup(props: any, { slots, emit }: {
321
+ slots: any;
322
+ emit: any;
323
+ }): () => JSX.Element;
324
+ };
432
325
  CloseIcon: import("vue").DefineComponent<{
433
326
  canFullscreen: {
434
327
  type: BooleanConstructor;
@@ -727,11 +620,11 @@ declare const _sfc_main: import("vue").DefineComponent<{
727
620
  "onHandle-method"?: (...args: any[]) => any;
728
621
  }, {
729
622
  mode: "search" | "dialog";
730
- minShowColumn: number;
731
- showAdvancedButton: boolean;
732
623
  show: boolean;
733
- isAdvanced: boolean;
624
+ showAdvancedButton: boolean;
625
+ minShowColumn: number;
734
626
  buttonList: import("../../form/src/types/form.type").ButtonProps[];
627
+ isAdvanced: boolean;
735
628
  }>;
736
629
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("handleSave" | "handleCancel")[], "handleSave" | "handleCancel", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<ExtractPropTypes<{
737
630
  buttons: import("vue").PropType<import("../../form/src/types/form.type").ButtonProps[]>;
@@ -756,7 +649,7 @@ declare const _sfc_main: import("vue").DefineComponent<{
756
649
  showSave: boolean;
757
650
  showCancel: boolean;
758
651
  }>;
759
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("register" | "visible-change" | "height-change" | "cancel" | "save" | "update:visible")[], "register" | "visible-change" | "height-change" | "cancel" | "save" | "update:visible", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<ExtractPropTypes<{
652
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("visible-change" | "height-change" | "cancel" | "save" | "register" | "update:visible")[], "visible-change" | "height-change" | "cancel" | "save" | "register" | "update:visible", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<ExtractPropTypes<{
760
653
  t: {
761
654
  type: StringConstructor;
762
655
  };
@@ -854,27 +747,27 @@ declare const _sfc_main: import("vue").DefineComponent<{
854
747
  closeFunc: import("vue").PropType<() => Promise<boolean>>;
855
748
  afterClose: FunctionConstructor;
856
749
  }>> & {
857
- onRegister?: (...args: any[]) => any;
858
- "onUpdate:visible"?: (...args: any[]) => any;
859
750
  "onVisible-change"?: (...args: any[]) => any;
860
751
  "onHeight-change"?: (...args: any[]) => any;
861
752
  onCancel?: (...args: any[]) => any;
862
753
  onSave?: (...args: any[]) => any;
754
+ onRegister?: (...args: any[]) => any;
755
+ "onUpdate:visible"?: (...args: any[]) => any;
863
756
  }, {
864
- loading: boolean;
865
757
  visible: boolean;
866
- mask: boolean;
867
758
  closable: boolean;
868
759
  destroyOnClose: boolean;
869
760
  scrollTop: boolean;
870
761
  draggable: boolean;
871
762
  defaultFullscreen: boolean;
872
763
  canFullscreen: boolean;
764
+ loading: boolean;
873
765
  loadingTip: string;
874
766
  useWrapper: boolean;
875
767
  centered: boolean;
876
768
  showOkBtn: boolean;
877
769
  showCancelBtn: boolean;
770
+ mask: boolean;
878
771
  maskClosable: boolean;
879
772
  keyboard: boolean;
880
773
  }>;
@@ -21,6 +21,7 @@ export declare function useSource(props: SourceOption): {
21
21
  total: number;
22
22
  }>;
23
23
  loading: import("vue").Ref<boolean>;
24
+ onSearch: () => void;
24
25
  onTableChange: (params: TableParamsType) => void;
25
26
  onAdd: () => void;
26
27
  onUpdate: (arg: any) => void;
@@ -35,6 +36,19 @@ export declare function useSource(props: SourceOption): {
35
36
  onQueryById: (id: Key) => Promise<unknown>;
36
37
  registerInstance: (instance: CurdActionType) => CurdActionType;
37
38
  };
39
+ api: import("../types/source.type").ApiObjType;
40
+ loading: {
41
+ [key: string]: import("vue").Ref<boolean>;
42
+ };
43
+ dataSource: import("vue").Ref<any[]>;
44
+ onAdd: () => void;
45
+ onUpdate: (arg: any) => void;
46
+ onDelete: (arg: any) => void;
47
+ onDeletes: (ids: Key[]) => void;
48
+ onQueryById: (id: Key) => Promise<unknown>;
49
+ onDownload: (excelData: DownloadType, extraData?: any[]) => void;
50
+ onSave: () => void;
38
51
  onSearch: () => void;
52
+ onReset: () => void;
39
53
  onTableChange: (params: TableParamsType) => void;
40
54
  };
@@ -1,4 +1,5 @@
1
- import { isString, http, isObject, useAppStore, error, getDictValueByCode, formatNumber, useI18n, useMessage, isArray } from "@dt-frames/core";
1
+ import { ref, unref, toRaw } from "vue";
2
+ import { isString, http, isObject, useAppStore, error, getDictValueByCode, formatNumber, useI18n, useMessage, isArray, isFunction, isBoolean } from "@dt-frames/core";
2
3
  import { isObject as isObject$1 } from "@vueuse/core";
3
4
  import { capitalize } from "lodash-es";
4
5
  import * as xlsx from "xlsx";
@@ -133,7 +134,7 @@ function useSource(props) {
133
134
  const { t } = useI18n("UI");
134
135
  const { confirm, message } = useMessage();
135
136
  const { appConf } = useAppStore();
136
- const { baseUrl, api: orgApi, immediateSearch = true, exportName, beforeUpdate, afterUpdate } = props;
137
+ const { baseUrl, api: orgApi, exportName, beforeUpdate, afterUpdate } = props;
137
138
  const pagination = ref({
138
139
  current: appConf?.ui?.table?.defaultPageNo || 1,
139
140
  pageSize: appConf?.ui?.table?.defaultPageSize || 20,
@@ -141,27 +142,34 @@ function useSource(props) {
141
142
  });
142
143
  const { loading, api } = getApi(orgApi, baseUrl);
143
144
  const dataSource = ref([]);
144
- const baseData = reactive({
145
- entityDTO: {},
146
- orderDTOs: []
147
- });
145
+ let baseData = {
146
+ pageNumber: 1,
147
+ pageSize: appConf?.ui?.table?.defaultPageSize || 20
148
+ };
148
149
  let tableInstance = null;
149
150
  let formInstance = null;
150
151
  let curdInstance = null;
151
152
  function onSearch() {
152
153
  tableInstance?.clearSelectedRowKeys();
153
154
  const { defaultPageSize } = tableInstance?.getPagination() || {};
154
- baseData.pageDTO = {
155
- pageNo: 0,
155
+ baseData = {
156
+ ...formInstance?.getFormValues() ?? {},
157
+ pageNumber: 1,
156
158
  pageSize: defaultPageSize
157
159
  };
158
160
  loading.onSearch.value = true;
161
+ loading.onQuerypage.value = true;
159
162
  setPage();
160
163
  }
161
164
  function onReset() {
162
- baseData.entityDTO = { ...formInstance?.getFormValues() ?? {} };
163
- baseData.pageDTO.pageNo = 0;
165
+ const { defaultPageSize } = tableInstance?.getPagination() || {};
166
+ baseData = {
167
+ ...formInstance?.getFormValues() ?? {},
168
+ pageNumber: 1,
169
+ pageSize: defaultPageSize
170
+ };
164
171
  loading.onReset.value = true;
172
+ loading.onQuerypage.value = true;
165
173
  tableInstance?.clearSelectedRowKeys();
166
174
  setPage();
167
175
  }
@@ -176,12 +184,12 @@ function useSource(props) {
176
184
  dataSource.value.splice(0, dataSource.value.length, ...rsp);
177
185
  return;
178
186
  }
179
- const { records, pageDTO } = rsp;
187
+ const { records, total, size, current } = rsp;
180
188
  dataSource.value.splice(0, dataSource.value.length, ...records);
181
189
  pagination.value = {
182
- current: (pageDTO?.pageNo ?? 0) + 1,
183
- pageSize: pageDTO?.pageSize ?? appConf?.ui?.table?.defaultPageSize,
184
- total: pageDTO?.totalCount ?? 0
190
+ current,
191
+ pageSize: size || appConf?.ui?.table?.defaultPageSize,
192
+ total
185
193
  };
186
194
  }).finally(() => {
187
195
  loading.onSearch.value = false;
@@ -191,18 +199,29 @@ function useSource(props) {
191
199
  }
192
200
  function onTableChange(params) {
193
201
  const { pagination: pagination2, sort, filter } = params;
194
- baseData.pageDTO = {
195
- pageNo: pagination2.current - 1,
202
+ if (!appConf?.ui?.table?.multipleSorter) {
203
+ let order = sort.order;
204
+ let sortOrder = order === "ascend" ? "asc" : order === "descend" ? "desc" : null;
205
+ baseData = {
206
+ ...baseData,
207
+ sortName: sortOrder ? sort.field : "",
208
+ sortOrder
209
+ };
210
+ } else {
211
+ baseData.sort = (sort || []).map((it) => {
212
+ if (it.order) {
213
+ return {
214
+ sortName: it.field,
215
+ sortOrder: it.order === "ascend" ? "asc" : "desc"
216
+ };
217
+ }
218
+ }).filter((it) => it);
219
+ }
220
+ baseData = {
221
+ ...baseData,
222
+ pageNumber: pagination2.current,
196
223
  pageSize: pagination2.pageSize
197
224
  };
198
- baseData.orderDTOs = (isObject$1(sort) ? [sort] : sort).map((it) => {
199
- if (it.order) {
200
- return {
201
- propertyName: it.field,
202
- dir: it.order === "ascend" ? "asc" : "desc"
203
- };
204
- }
205
- }).filter((it) => it);
206
225
  setPage(filter);
207
226
  }
208
227
  function onAdd() {
@@ -220,10 +239,18 @@ function useSource(props) {
220
239
  function onSave() {
221
240
  let model = curdInstance && curdInstance.curdFormMethods.getFormValues();
222
241
  curdInstance.curdFormMethods.validate().then((rsp) => {
242
+ if (beforeUpdate && isFunction(beforeUpdate)) {
243
+ let canUpdate = beforeUpdate(model);
244
+ if (isBoolean(canUpdate) && canUpdate === false) {
245
+ return false;
246
+ } else if (!isBoolean(canUpdate)) {
247
+ model = { ...canUpdate };
248
+ }
249
+ }
223
250
  if (!model.id) {
224
251
  loading.onAdd.value = true;
225
252
  fetch(api.add, { ...model }, false).then((rsp2) => {
226
- if (rsp2?.code === 0) {
253
+ if (rsp2?.code === appConf?.http?.okCode) {
227
254
  message.success(t("ADD_SUCCESS"));
228
255
  curdInstance.closeModal();
229
256
  onSearch();
@@ -233,7 +260,7 @@ function useSource(props) {
233
260
  } else {
234
261
  loading.onUpdate.value = true;
235
262
  fetch(api.update, { ...model }, false).then((rsp2) => {
236
- if (rsp2?.code === 0) {
263
+ if (rsp2?.code === appConf?.http?.okCode) {
237
264
  message.success(t("UPDATE_SUCCESS"));
238
265
  curdInstance.closeModal();
239
266
  onSearch();
@@ -263,7 +290,7 @@ function useSource(props) {
263
290
  iconType: "warning",
264
291
  onOk() {
265
292
  fetch(api.deletes, toRaw(_ids), false).then((rsp) => {
266
- if (rsp?.code === 0) {
293
+ if (rsp?.code === appConf?.http?.okCode) {
267
294
  message.success((isSingleDelete ? "" : t("MULTIFY")) + t("DELETE_SUCCESS"));
268
295
  !isSingleDelete && tableInstance.clearSelectedRowKeys();
269
296
  onSearch();
@@ -304,6 +331,7 @@ function useSource(props) {
304
331
  dataSource,
305
332
  pagination,
306
333
  loading: loading.onQuerypage,
334
+ onSearch,
307
335
  onTableChange,
308
336
  onAdd,
309
337
  onUpdate,
@@ -322,7 +350,18 @@ function useSource(props) {
322
350
  form,
323
351
  table,
324
352
  curd,
353
+ api,
354
+ loading,
355
+ dataSource,
356
+ onAdd,
357
+ onUpdate,
358
+ onDelete,
359
+ onDeletes,
360
+ onQueryById,
361
+ onDownload,
362
+ onSave,
325
363
  onSearch,
364
+ onReset,
326
365
  onTableChange
327
366
  };
328
367
  }
@@ -12,8 +12,7 @@ export declare type ApiObjType = {
12
12
  export declare type SourceOption = {
13
13
  baseUrl?: string;
14
14
  exportName?: string | ComputedRef;
15
- immediateSearch?: boolean;
16
- beforeUpdate?: () => boolean | undefined;
15
+ beforeUpdate?: (model: Recordable) => boolean | Recordable | undefined;
17
16
  afterUpdate?: () => void;
18
17
  api?: ApiObjType;
19
18
  };
@@ -22,12 +21,9 @@ export declare type orderType = {
22
21
  order: 'asc' | 'desc';
23
22
  };
24
23
  export declare type BaseDataType = {
25
- entityDTO?: any;
26
- pageDTO?: {
27
- pageNo: Number;
28
- pageSize: Number;
29
- } | null;
30
- orderDTOs: orderType[];
24
+ pageNumber: Number;
25
+ pageSize: Number;
26
+ [key: string]: any;
31
27
  };
32
28
  export declare type TableParamsType = {
33
29
  pagination: any;