yc-pro-components 0.0.12 → 0.0.14

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 (129) hide show
  1. package/es/components/dialog/src/index.vue2.mjs +17 -4
  2. package/es/components/dialog-form/src/index.vue2.mjs +19 -5
  3. package/es/components/display-item/index.d.ts +42 -6
  4. package/es/components/display-item/src/index.vue.d.ts +42 -6
  5. package/es/components/drawer-form/src/index.vue2.mjs +15 -5
  6. package/es/components/form/src/form-content.vue.d.ts +42 -6
  7. package/es/components/form/src/index.vue2.mjs +15 -5
  8. package/es/components/form-item/index.d.ts +88 -16
  9. package/es/components/form-item/src/index.vue.d.ts +35 -4
  10. package/es/components/form-item/src/index.vue2.mjs +1 -0
  11. package/es/components/page/src/index.vue2.mjs +1 -1
  12. package/es/components/popover/src/index.vue2.mjs +15 -5
  13. package/es/components/render/index.d.ts +3 -3
  14. package/es/components/render/src/index.vue.d.ts +1 -1
  15. package/es/components/table/src/table-action-bar.vue2.mjs +1 -1
  16. package/es/components/table/src/table-column.vue.d.ts +42 -6
  17. package/es/components/yc-drawer/src/index.vue.mjs +1 -1
  18. package/es/components/yc-drawer/src/index.vue2.mjs +3 -1
  19. package/es/components/yc-plus-tree/src/index.vue.mjs +1 -1
  20. package/es/components/yc-plus-tree/src/index.vue2.mjs +16 -4
  21. package/es/components/yc-status-dialog/src/index.vue.mjs +1 -1
  22. package/es/components/yc-status-dialog/src/index.vue2.mjs +14 -4
  23. package/es/constants/dict.d.ts +78 -0
  24. package/es/constants/dict.mjs +3 -0
  25. package/es/constants/index.d.ts +1 -0
  26. package/es/constants/index.mjs +1 -0
  27. package/es/hooks/index.d.ts +1 -0
  28. package/es/hooks/index.mjs +1 -0
  29. package/es/hooks/useDictInjection.d.ts +38 -0
  30. package/es/hooks/useDictInjection.mjs +18 -0
  31. package/es/hooks/useGetOptions.mjs +118 -30
  32. package/es/index.css +4 -4
  33. package/es/index.d.ts +1 -1
  34. package/es/index.mjs +2 -0
  35. package/es/types/plus.d.ts +74 -0
  36. package/es/version.d.ts +1 -1
  37. package/es/version.mjs +1 -1
  38. package/es/yc-components/index.d.ts +1 -1
  39. package/es/yc-components/version.d.ts +1 -1
  40. package/index.css +65 -53
  41. package/index.js +276 -95
  42. package/index.min.css +4 -4
  43. package/index.min.js +7 -7
  44. package/index.min.mjs +7 -7
  45. package/index.mjs +276 -97
  46. package/lib/components/dialog/src/index.vue2.js +17 -4
  47. package/lib/components/dialog-form/src/index.vue2.js +19 -5
  48. package/lib/components/display-item/index.d.ts +42 -6
  49. package/lib/components/display-item/src/index.vue.d.ts +42 -6
  50. package/lib/components/drawer-form/src/index.vue2.js +15 -5
  51. package/lib/components/form/src/form-content.vue.d.ts +42 -6
  52. package/lib/components/form/src/index.vue2.js +15 -5
  53. package/lib/components/form-item/index.d.ts +88 -16
  54. package/lib/components/form-item/src/index.vue.d.ts +35 -4
  55. package/lib/components/form-item/src/index.vue2.js +1 -0
  56. package/lib/components/page/src/index.vue2.js +1 -1
  57. package/lib/components/popover/src/index.vue2.js +14 -4
  58. package/lib/components/render/index.d.ts +3 -3
  59. package/lib/components/render/src/index.vue.d.ts +1 -1
  60. package/lib/components/table/src/table-action-bar.vue2.js +1 -1
  61. package/lib/components/table/src/table-column.vue.d.ts +42 -6
  62. package/lib/components/yc-drawer/src/index.vue.js +1 -1
  63. package/lib/components/yc-drawer/src/index.vue2.js +3 -1
  64. package/lib/components/yc-plus-tree/src/index.vue.js +1 -1
  65. package/lib/components/yc-plus-tree/src/index.vue2.js +16 -4
  66. package/lib/components/yc-status-dialog/src/index.vue.js +1 -1
  67. package/lib/components/yc-status-dialog/src/index.vue2.js +13 -3
  68. package/lib/constants/dict.d.ts +78 -0
  69. package/lib/constants/dict.js +5 -0
  70. package/lib/constants/index.d.ts +1 -0
  71. package/lib/constants/index.js +2 -0
  72. package/lib/hooks/index.d.ts +1 -0
  73. package/lib/hooks/index.js +2 -0
  74. package/lib/hooks/useDictInjection.d.ts +38 -0
  75. package/lib/hooks/useDictInjection.js +20 -0
  76. package/lib/hooks/useGetOptions.js +117 -29
  77. package/lib/index.css +4 -4
  78. package/lib/index.d.ts +1 -1
  79. package/lib/index.js +4 -0
  80. package/lib/types/plus.d.ts +74 -0
  81. package/lib/version.d.ts +1 -1
  82. package/lib/version.js +1 -1
  83. package/lib/yc-components/index.d.ts +1 -1
  84. package/lib/yc-components/version.d.ts +1 -1
  85. package/locale/en.js +1 -1
  86. package/locale/en.min.js +1 -1
  87. package/locale/en.min.mjs +1 -1
  88. package/locale/en.mjs +1 -1
  89. package/locale/ja.js +1 -1
  90. package/locale/ja.min.js +1 -1
  91. package/locale/ja.min.mjs +1 -1
  92. package/locale/ja.mjs +1 -1
  93. package/locale/ko.js +1 -1
  94. package/locale/ko.min.js +1 -1
  95. package/locale/ko.min.mjs +1 -1
  96. package/locale/ko.mjs +1 -1
  97. package/locale/zh-cn.js +1 -1
  98. package/locale/zh-cn.min.js +1 -1
  99. package/locale/zh-cn.min.mjs +1 -1
  100. package/locale/zh-cn.mjs +1 -1
  101. package/locale/zh-tw.js +1 -1
  102. package/locale/zh-tw.min.js +1 -1
  103. package/locale/zh-tw.min.mjs +1 -1
  104. package/locale/zh-tw.mjs +1 -1
  105. package/package.json +1 -1
  106. package/es/components/dialog-form/index.d.ts +0 -1142
  107. package/es/components/dialog-form/src/index.vue.d.ts +0 -481
  108. package/es/components/drawer-form/index.d.ts +0 -3455
  109. package/es/components/drawer-form/src/index.vue.d.ts +0 -1242
  110. package/es/components/form/index.d.ts +0 -1645
  111. package/es/components/form/src/index.vue.d.ts +0 -628
  112. package/es/components/page/index.d.ts +0 -15194
  113. package/es/components/page/src/index.vue.d.ts +0 -5234
  114. package/es/components/search/index.d.ts +0 -4430
  115. package/es/components/search/src/index.vue.d.ts +0 -1503
  116. package/es/components/yc-plus-page/src/index.vue.d.ts +0 -12672
  117. package/es/hooks/usePlusFormReset.d.ts +0 -9853
  118. package/lib/components/dialog-form/index.d.ts +0 -1142
  119. package/lib/components/dialog-form/src/index.vue.d.ts +0 -481
  120. package/lib/components/drawer-form/index.d.ts +0 -3455
  121. package/lib/components/drawer-form/src/index.vue.d.ts +0 -1242
  122. package/lib/components/form/index.d.ts +0 -1645
  123. package/lib/components/form/src/index.vue.d.ts +0 -628
  124. package/lib/components/page/index.d.ts +0 -15194
  125. package/lib/components/page/src/index.vue.d.ts +0 -5234
  126. package/lib/components/search/index.d.ts +0 -4430
  127. package/lib/components/search/src/index.vue.d.ts +0 -1503
  128. package/lib/components/yc-plus-page/src/index.vue.d.ts +0 -12672
  129. package/lib/hooks/usePlusFormReset.d.ts +0 -9853
@@ -1,4 +1,5 @@
1
1
  import { defineComponent, ref, computed, unref, useAttrs, withModifiers, watch, openBlock, createBlock, mergeProps, withCtx, renderSlot, createCommentVNode, createElementBlock, Fragment, renderList, createElementVNode, resolveDynamicComponent, createTextVNode, toDisplayString, createSlots, normalizeProps, guardReactiveProps, createVNode, normalizeStyle } from 'vue';
2
+ import { debounce } from 'lodash-es';
2
3
  import { ElForm, ElCard, ElIcon, ElButton, ElMessage } from 'element-plus';
3
4
  import { getFormGroupSlotName } from '../../utils/index.mjs';
4
5
  import { useLocale } from '../../../hooks/useLocale.mjs';
@@ -90,8 +91,11 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
90
91
  var _a;
91
92
  (_a = formInstance.value) == null ? void 0 : _a.clearValidate();
92
93
  };
93
- const handleSubmit = async () => {
94
+ const isSubmitting = ref(false);
95
+ const computedLoading = computed(() => props.submitLoading || isSubmitting.value);
96
+ const doSubmit = async () => {
94
97
  var _a, _b, _c;
98
+ isSubmitting.value = true;
95
99
  try {
96
100
  const valid = await ((_a = formInstance.value) == null ? void 0 : _a.validate());
97
101
  if (valid) {
@@ -109,6 +113,12 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
109
113
  }
110
114
  return false;
111
115
  };
116
+ const handleSubmit = debounce(doSubmit, 300, {
117
+ leading: true,
118
+ // 立即执行第一次
119
+ trailing: false
120
+ // 不执行最后一次
121
+ });
112
122
  const handleReset = () => {
113
123
  clearValidate();
114
124
  values.value = { ...props.defaultValues };
@@ -257,7 +267,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
257
267
  style: normalizeStyle(style.value)
258
268
  },
259
269
  [
260
- renderSlot(_ctx.$slots, "footer", normalizeProps(guardReactiveProps({ handleReset, handleSubmit })), () => [
270
+ renderSlot(_ctx.$slots, "footer", normalizeProps(guardReactiveProps({ handleReset, handleSubmit: unref(handleSubmit) })), () => [
261
271
  _ctx.hasReset ? (openBlock(), createBlock(unref(ElButton), {
262
272
  key: 0,
263
273
  onClick: handleReset
@@ -275,8 +285,8 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
275
285
  })) : createCommentVNode("v-if", true),
276
286
  createVNode(unref(ElButton), {
277
287
  type: "primary",
278
- loading: _ctx.submitLoading,
279
- onClick: handleSubmit
288
+ loading: computedLoading.value,
289
+ onClick: unref(handleSubmit)
280
290
  }, {
281
291
  default: withCtx(() => [
282
292
  createCommentVNode(" \u63D0\u4EA4 "),
@@ -288,7 +298,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
288
298
  ]),
289
299
  _: 1
290
300
  /* STABLE */
291
- }, 8, ["loading"])
301
+ }, 8, ["loading", "onClick"])
292
302
  ])
293
303
  ],
294
304
  4
@@ -53,7 +53,7 @@ export declare const PlusFormItem: {
53
53
  };
54
54
  rows: number;
55
55
  autocomplete: string;
56
- type: "" | "number" | "default" | "search" | "button" | "textarea" | "time" | "circle" | "image" | "line" | "text" | "checkbox" | "radio" | "color" | "success" | "warning" | "info" | "primary" | "danger" | "reset" | "submit" | "datetimerange" | "daterange" | "monthrange" | "hidden" | "range" | "date" | "year" | "years" | "month" | "dates" | "week" | "datetime" | "dashboard" | "datetime-local" | "email" | "file" | "password" | "tel" | "url";
56
+ type: "" | "number" | "default" | "search" | "button" | "textarea" | "time" | "circle" | "image" | "line" | "text" | "datetimerange" | "daterange" | "monthrange" | "checkbox" | "radio" | "color" | "success" | "warning" | "info" | "primary" | "danger" | "reset" | "submit" | "hidden" | "range" | "date" | "year" | "years" | "month" | "dates" | "week" | "datetime" | "dashboard" | "datetime-local" | "email" | "file" | "password" | "tel" | "url";
57
57
  loading: EpPropMergeType<BooleanConstructor, unknown, unknown> | EpPropMergeType<StringConstructor, "lazy" | "eager", unknown> | undefined;
58
58
  step: string | number;
59
59
  format: string | ProgressFn | undefined;
@@ -92,7 +92,7 @@ export declare const PlusFormItem: {
92
92
  default: boolean;
93
93
  };
94
94
  valueType: {
95
- type: PropType<"input" | "select" | "textarea" | "switch" | "text" | TableValueType | "autocomplete" | "cascader" | "checkbox" | "color-picker" | "date-picker" | "input-number" | "radio" | "rate" | "slider" | "time-picker" | "time-select" | "plus-radio" | "plus-date-picker" | "plus-input-tag" | "transfer" | "tree-select" | "select-v2">;
95
+ type: PropType<"input" | "select" | "textarea" | "switch" | "text" | TableValueType | "rate" | "input-number" | "slider" | "checkbox" | "cascader" | "plus-date-picker" | "plus-input-tag" | "transfer" | "radio" | "select-v2" | "plus-radio" | "autocomplete" | "color-picker" | "date-picker" | "time-picker" | "time-select" | "tree-select">;
96
96
  default: undefined;
97
97
  };
98
98
  renderField: {
@@ -118,6 +118,15 @@ export declare const PlusFormItem: {
118
118
  }>;
119
119
  default: undefined;
120
120
  };
121
+ autoDict: {
122
+ type: PropType<boolean | ((column: PlusColumn) => OptionsRow<undefined>[] | Promise< OptionsRow<undefined>[]>) | {
123
+ store?: any;
124
+ method?: string | undefined;
125
+ transform?: ((data: any) => OptionsRow<undefined>[]) | undefined;
126
+ dictCode?: string | undefined;
127
+ }>;
128
+ default: undefined;
129
+ };
121
130
  }>> & {
122
131
  onChange?: ((value: FieldValueType) => any) | undefined;
123
132
  "onUpdate:modelValue"?: ((value: FieldValueType) => any) | undefined;
@@ -503,7 +512,7 @@ export declare const PlusFormItem: {
503
512
  };
504
513
  rows: number;
505
514
  autocomplete: string;
506
- type: "" | "number" | "default" | "search" | "button" | "textarea" | "time" | "circle" | "image" | "line" | "text" | "checkbox" | "radio" | "color" | "success" | "warning" | "info" | "primary" | "danger" | "reset" | "submit" | "datetimerange" | "daterange" | "monthrange" | "hidden" | "range" | "date" | "year" | "years" | "month" | "dates" | "week" | "datetime" | "dashboard" | "datetime-local" | "email" | "file" | "password" | "tel" | "url";
515
+ type: "" | "number" | "default" | "search" | "button" | "textarea" | "time" | "circle" | "image" | "line" | "text" | "datetimerange" | "daterange" | "monthrange" | "checkbox" | "radio" | "color" | "success" | "warning" | "info" | "primary" | "danger" | "reset" | "submit" | "hidden" | "range" | "date" | "year" | "years" | "month" | "dates" | "week" | "datetime" | "dashboard" | "datetime-local" | "email" | "file" | "password" | "tel" | "url";
507
516
  loading: EpPropMergeType<BooleanConstructor, unknown, unknown> | EpPropMergeType<StringConstructor, "lazy" | "eager", unknown> | undefined;
508
517
  step: string | number;
509
518
  format: string | ProgressFn | undefined;
@@ -542,7 +551,7 @@ export declare const PlusFormItem: {
542
551
  default: boolean;
543
552
  };
544
553
  valueType: {
545
- type: PropType<"input" | "select" | "textarea" | "switch" | "text" | TableValueType | "autocomplete" | "cascader" | "checkbox" | "color-picker" | "date-picker" | "input-number" | "radio" | "rate" | "slider" | "time-picker" | "time-select" | "plus-radio" | "plus-date-picker" | "plus-input-tag" | "transfer" | "tree-select" | "select-v2">;
554
+ type: PropType<"input" | "select" | "textarea" | "switch" | "text" | TableValueType | "rate" | "input-number" | "slider" | "checkbox" | "cascader" | "plus-date-picker" | "plus-input-tag" | "transfer" | "radio" | "select-v2" | "plus-radio" | "autocomplete" | "color-picker" | "date-picker" | "time-picker" | "time-select" | "tree-select">;
546
555
  default: undefined;
547
556
  };
548
557
  renderField: {
@@ -568,6 +577,15 @@ export declare const PlusFormItem: {
568
577
  }>;
569
578
  default: undefined;
570
579
  };
580
+ autoDict: {
581
+ type: PropType<boolean | ((column: PlusColumn) => OptionsRow<undefined>[] | Promise< OptionsRow<undefined>[]>) | {
582
+ store?: any;
583
+ method?: string | undefined;
584
+ transform?: ((data: any) => OptionsRow<undefined>[]) | undefined;
585
+ dictCode?: string | undefined;
586
+ }>;
587
+ default: undefined;
588
+ };
571
589
  }>> & {
572
590
  onChange?: ((value: FieldValueType) => any) | undefined;
573
591
  "onUpdate:modelValue"?: ((value: FieldValueType) => any) | undefined;
@@ -599,7 +617,7 @@ export declare const PlusFormItem: {
599
617
  };
600
618
  rows: number;
601
619
  autocomplete: string;
602
- type: "" | "number" | "default" | "search" | "button" | "textarea" | "time" | "circle" | "image" | "line" | "text" | "checkbox" | "radio" | "color" | "success" | "warning" | "info" | "primary" | "danger" | "reset" | "submit" | "datetimerange" | "daterange" | "monthrange" | "hidden" | "range" | "date" | "year" | "years" | "month" | "dates" | "week" | "datetime" | "dashboard" | "datetime-local" | "email" | "file" | "password" | "tel" | "url";
620
+ type: "" | "number" | "default" | "search" | "button" | "textarea" | "time" | "circle" | "image" | "line" | "text" | "datetimerange" | "daterange" | "monthrange" | "checkbox" | "radio" | "color" | "success" | "warning" | "info" | "primary" | "danger" | "reset" | "submit" | "hidden" | "range" | "date" | "year" | "years" | "month" | "dates" | "week" | "datetime" | "dashboard" | "datetime-local" | "email" | "file" | "password" | "tel" | "url";
603
621
  loading: EpPropMergeType<BooleanConstructor, unknown, unknown> | EpPropMergeType<StringConstructor, "lazy" | "eager", unknown> | undefined;
604
622
  step: string | number;
605
623
  format: string | ProgressFn | undefined;
@@ -617,7 +635,7 @@ export declare const PlusFormItem: {
617
635
  fieldChildrenSlot: (option?: OptionsRow<undefined> | undefined) => RenderTypes;
618
636
  hasLabel: boolean | Ref<boolean> | ComputedRef<boolean>;
619
637
  clearable: boolean;
620
- valueType: "input" | "select" | "textarea" | "switch" | "text" | TableValueType | "autocomplete" | "cascader" | "checkbox" | "color-picker" | "date-picker" | "input-number" | "radio" | "rate" | "slider" | "time-picker" | "time-select" | "plus-radio" | "plus-date-picker" | "plus-input-tag" | "transfer" | "tree-select" | "select-v2";
638
+ valueType: "input" | "select" | "textarea" | "switch" | "text" | TableValueType | "rate" | "input-number" | "slider" | "checkbox" | "cascader" | "plus-date-picker" | "plus-input-tag" | "transfer" | "radio" | "select-v2" | "plus-radio" | "autocomplete" | "color-picker" | "date-picker" | "time-picker" | "time-select" | "tree-select";
621
639
  renderField: (value: FieldValueType, onChange: (value: FieldValueType) => void, props: PlusColumn) => RenderTypes;
622
640
  renderLabel: (label: string, props: PlusColumn) => RenderTypes;
623
641
  renderErrorMessage: (props: PlusColumn & {
@@ -629,6 +647,12 @@ export declare const PlusFormItem: {
629
647
  label?: string | undefined;
630
648
  value?: string | undefined;
631
649
  };
650
+ autoDict: boolean | ((column: PlusColumn) => OptionsRow<undefined>[] | Promise< OptionsRow<undefined>[]>) | {
651
+ store?: any;
652
+ method?: string | undefined;
653
+ transform?: ((data: any) => OptionsRow<undefined>[]) | undefined;
654
+ dictCode?: string | undefined;
655
+ };
632
656
  }, true, {}, {}, {
633
657
  P: {};
634
658
  B: {};
@@ -681,7 +705,7 @@ export declare const PlusFormItem: {
681
705
  };
682
706
  rows: number;
683
707
  autocomplete: string;
684
- type: "" | "number" | "default" | "search" | "button" | "textarea" | "time" | "circle" | "image" | "line" | "text" | "checkbox" | "radio" | "color" | "success" | "warning" | "info" | "primary" | "danger" | "reset" | "submit" | "datetimerange" | "daterange" | "monthrange" | "hidden" | "range" | "date" | "year" | "years" | "month" | "dates" | "week" | "datetime" | "dashboard" | "datetime-local" | "email" | "file" | "password" | "tel" | "url";
708
+ type: "" | "number" | "default" | "search" | "button" | "textarea" | "time" | "circle" | "image" | "line" | "text" | "datetimerange" | "daterange" | "monthrange" | "checkbox" | "radio" | "color" | "success" | "warning" | "info" | "primary" | "danger" | "reset" | "submit" | "hidden" | "range" | "date" | "year" | "years" | "month" | "dates" | "week" | "datetime" | "dashboard" | "datetime-local" | "email" | "file" | "password" | "tel" | "url";
685
709
  loading: EpPropMergeType<BooleanConstructor, unknown, unknown> | EpPropMergeType<StringConstructor, "lazy" | "eager", unknown> | undefined;
686
710
  step: string | number;
687
711
  format: string | ProgressFn | undefined;
@@ -720,7 +744,7 @@ export declare const PlusFormItem: {
720
744
  default: boolean;
721
745
  };
722
746
  valueType: {
723
- type: PropType<"input" | "select" | "textarea" | "switch" | "text" | TableValueType | "autocomplete" | "cascader" | "checkbox" | "color-picker" | "date-picker" | "input-number" | "radio" | "rate" | "slider" | "time-picker" | "time-select" | "plus-radio" | "plus-date-picker" | "plus-input-tag" | "transfer" | "tree-select" | "select-v2">;
747
+ type: PropType<"input" | "select" | "textarea" | "switch" | "text" | TableValueType | "rate" | "input-number" | "slider" | "checkbox" | "cascader" | "plus-date-picker" | "plus-input-tag" | "transfer" | "radio" | "select-v2" | "plus-radio" | "autocomplete" | "color-picker" | "date-picker" | "time-picker" | "time-select" | "tree-select">;
724
748
  default: undefined;
725
749
  };
726
750
  renderField: {
@@ -746,6 +770,15 @@ export declare const PlusFormItem: {
746
770
  }>;
747
771
  default: undefined;
748
772
  };
773
+ autoDict: {
774
+ type: PropType<boolean | ((column: PlusColumn) => OptionsRow<undefined>[] | Promise< OptionsRow<undefined>[]>) | {
775
+ store?: any;
776
+ method?: string | undefined;
777
+ transform?: ((data: any) => OptionsRow<undefined>[]) | undefined;
778
+ dictCode?: string | undefined;
779
+ }>;
780
+ default: undefined;
781
+ };
749
782
  }>> & {
750
783
  onChange?: ((value: FieldValueType) => any) | undefined;
751
784
  "onUpdate:modelValue"?: ((value: FieldValueType) => any) | undefined;
@@ -1111,7 +1144,7 @@ export declare const PlusFormItem: {
1111
1144
  };
1112
1145
  rows: number;
1113
1146
  autocomplete: string;
1114
- type: "" | "number" | "default" | "search" | "button" | "textarea" | "time" | "circle" | "image" | "line" | "text" | "checkbox" | "radio" | "color" | "success" | "warning" | "info" | "primary" | "danger" | "reset" | "submit" | "datetimerange" | "daterange" | "monthrange" | "hidden" | "range" | "date" | "year" | "years" | "month" | "dates" | "week" | "datetime" | "dashboard" | "datetime-local" | "email" | "file" | "password" | "tel" | "url";
1147
+ type: "" | "number" | "default" | "search" | "button" | "textarea" | "time" | "circle" | "image" | "line" | "text" | "datetimerange" | "daterange" | "monthrange" | "checkbox" | "radio" | "color" | "success" | "warning" | "info" | "primary" | "danger" | "reset" | "submit" | "hidden" | "range" | "date" | "year" | "years" | "month" | "dates" | "week" | "datetime" | "dashboard" | "datetime-local" | "email" | "file" | "password" | "tel" | "url";
1115
1148
  loading: EpPropMergeType<BooleanConstructor, unknown, unknown> | EpPropMergeType<StringConstructor, "lazy" | "eager", unknown> | undefined;
1116
1149
  step: string | number;
1117
1150
  format: string | ProgressFn | undefined;
@@ -1129,7 +1162,7 @@ export declare const PlusFormItem: {
1129
1162
  fieldChildrenSlot: (option?: OptionsRow<undefined> | undefined) => RenderTypes;
1130
1163
  hasLabel: boolean | Ref<boolean> | ComputedRef<boolean>;
1131
1164
  clearable: boolean;
1132
- valueType: "input" | "select" | "textarea" | "switch" | "text" | TableValueType | "autocomplete" | "cascader" | "checkbox" | "color-picker" | "date-picker" | "input-number" | "radio" | "rate" | "slider" | "time-picker" | "time-select" | "plus-radio" | "plus-date-picker" | "plus-input-tag" | "transfer" | "tree-select" | "select-v2";
1165
+ valueType: "input" | "select" | "textarea" | "switch" | "text" | TableValueType | "rate" | "input-number" | "slider" | "checkbox" | "cascader" | "plus-date-picker" | "plus-input-tag" | "transfer" | "radio" | "select-v2" | "plus-radio" | "autocomplete" | "color-picker" | "date-picker" | "time-picker" | "time-select" | "tree-select";
1133
1166
  renderField: (value: FieldValueType, onChange: (value: FieldValueType) => void, props: PlusColumn) => RenderTypes;
1134
1167
  renderLabel: (label: string, props: PlusColumn) => RenderTypes;
1135
1168
  renderErrorMessage: (props: PlusColumn & {
@@ -1141,6 +1174,12 @@ export declare const PlusFormItem: {
1141
1174
  label?: string | undefined;
1142
1175
  value?: string | undefined;
1143
1176
  };
1177
+ autoDict: boolean | ((column: PlusColumn) => OptionsRow<undefined>[] | Promise< OptionsRow<undefined>[]>) | {
1178
+ store?: any;
1179
+ method?: string | undefined;
1180
+ transform?: ((data: any) => OptionsRow<undefined>[]) | undefined;
1181
+ dictCode?: string | undefined;
1182
+ };
1144
1183
  }>;
1145
1184
  __isFragment?: undefined;
1146
1185
  __isTeleport?: undefined;
@@ -1190,7 +1229,7 @@ export declare const PlusFormItem: {
1190
1229
  };
1191
1230
  rows: number;
1192
1231
  autocomplete: string;
1193
- type: "" | "number" | "default" | "search" | "button" | "textarea" | "time" | "circle" | "image" | "line" | "text" | "checkbox" | "radio" | "color" | "success" | "warning" | "info" | "primary" | "danger" | "reset" | "submit" | "datetimerange" | "daterange" | "monthrange" | "hidden" | "range" | "date" | "year" | "years" | "month" | "dates" | "week" | "datetime" | "dashboard" | "datetime-local" | "email" | "file" | "password" | "tel" | "url";
1232
+ type: "" | "number" | "default" | "search" | "button" | "textarea" | "time" | "circle" | "image" | "line" | "text" | "datetimerange" | "daterange" | "monthrange" | "checkbox" | "radio" | "color" | "success" | "warning" | "info" | "primary" | "danger" | "reset" | "submit" | "hidden" | "range" | "date" | "year" | "years" | "month" | "dates" | "week" | "datetime" | "dashboard" | "datetime-local" | "email" | "file" | "password" | "tel" | "url";
1194
1233
  loading: EpPropMergeType<BooleanConstructor, unknown, unknown> | EpPropMergeType<StringConstructor, "lazy" | "eager", unknown> | undefined;
1195
1234
  step: string | number;
1196
1235
  format: string | ProgressFn | undefined;
@@ -1229,7 +1268,7 @@ export declare const PlusFormItem: {
1229
1268
  default: boolean;
1230
1269
  };
1231
1270
  valueType: {
1232
- type: PropType<"input" | "select" | "textarea" | "switch" | "text" | TableValueType | "autocomplete" | "cascader" | "checkbox" | "color-picker" | "date-picker" | "input-number" | "radio" | "rate" | "slider" | "time-picker" | "time-select" | "plus-radio" | "plus-date-picker" | "plus-input-tag" | "transfer" | "tree-select" | "select-v2">;
1271
+ type: PropType<"input" | "select" | "textarea" | "switch" | "text" | TableValueType | "rate" | "input-number" | "slider" | "checkbox" | "cascader" | "plus-date-picker" | "plus-input-tag" | "transfer" | "radio" | "select-v2" | "plus-radio" | "autocomplete" | "color-picker" | "date-picker" | "time-picker" | "time-select" | "tree-select">;
1233
1272
  default: undefined;
1234
1273
  };
1235
1274
  renderField: {
@@ -1255,6 +1294,15 @@ export declare const PlusFormItem: {
1255
1294
  }>;
1256
1295
  default: undefined;
1257
1296
  };
1297
+ autoDict: {
1298
+ type: PropType<boolean | ((column: PlusColumn) => OptionsRow<undefined>[] | Promise< OptionsRow<undefined>[]>) | {
1299
+ store?: any;
1300
+ method?: string | undefined;
1301
+ transform?: ((data: any) => OptionsRow<undefined>[]) | undefined;
1302
+ dictCode?: string | undefined;
1303
+ }>;
1304
+ default: undefined;
1305
+ };
1258
1306
  }>> & {
1259
1307
  onChange?: ((value: FieldValueType) => any) | undefined;
1260
1308
  "onUpdate:modelValue"?: ((value: FieldValueType) => any) | undefined;
@@ -1623,7 +1671,7 @@ export declare const PlusFormItem: {
1623
1671
  };
1624
1672
  rows: number;
1625
1673
  autocomplete: string;
1626
- type: "" | "number" | "default" | "search" | "button" | "textarea" | "time" | "circle" | "image" | "line" | "text" | "checkbox" | "radio" | "color" | "success" | "warning" | "info" | "primary" | "danger" | "reset" | "submit" | "datetimerange" | "daterange" | "monthrange" | "hidden" | "range" | "date" | "year" | "years" | "month" | "dates" | "week" | "datetime" | "dashboard" | "datetime-local" | "email" | "file" | "password" | "tel" | "url";
1674
+ type: "" | "number" | "default" | "search" | "button" | "textarea" | "time" | "circle" | "image" | "line" | "text" | "datetimerange" | "daterange" | "monthrange" | "checkbox" | "radio" | "color" | "success" | "warning" | "info" | "primary" | "danger" | "reset" | "submit" | "hidden" | "range" | "date" | "year" | "years" | "month" | "dates" | "week" | "datetime" | "dashboard" | "datetime-local" | "email" | "file" | "password" | "tel" | "url";
1627
1675
  loading: EpPropMergeType<BooleanConstructor, unknown, unknown> | EpPropMergeType<StringConstructor, "lazy" | "eager", unknown> | undefined;
1628
1676
  step: string | number;
1629
1677
  format: string | ProgressFn | undefined;
@@ -1641,7 +1689,7 @@ export declare const PlusFormItem: {
1641
1689
  fieldChildrenSlot: (option?: OptionsRow<undefined> | undefined) => RenderTypes;
1642
1690
  hasLabel: boolean | Ref<boolean> | ComputedRef<boolean>;
1643
1691
  clearable: boolean;
1644
- valueType: "input" | "select" | "textarea" | "switch" | "text" | TableValueType | "autocomplete" | "cascader" | "checkbox" | "color-picker" | "date-picker" | "input-number" | "radio" | "rate" | "slider" | "time-picker" | "time-select" | "plus-radio" | "plus-date-picker" | "plus-input-tag" | "transfer" | "tree-select" | "select-v2";
1692
+ valueType: "input" | "select" | "textarea" | "switch" | "text" | TableValueType | "rate" | "input-number" | "slider" | "checkbox" | "cascader" | "plus-date-picker" | "plus-input-tag" | "transfer" | "radio" | "select-v2" | "plus-radio" | "autocomplete" | "color-picker" | "date-picker" | "time-picker" | "time-select" | "tree-select";
1645
1693
  renderField: (value: FieldValueType, onChange: (value: FieldValueType) => void, props: PlusColumn) => RenderTypes;
1646
1694
  renderLabel: (label: string, props: PlusColumn) => RenderTypes;
1647
1695
  renderErrorMessage: (props: PlusColumn & {
@@ -1653,6 +1701,12 @@ export declare const PlusFormItem: {
1653
1701
  label?: string | undefined;
1654
1702
  value?: string | undefined;
1655
1703
  };
1704
+ autoDict: boolean | ((column: PlusColumn) => OptionsRow<undefined>[] | Promise< OptionsRow<undefined>[]>) | {
1705
+ store?: any;
1706
+ method?: string | undefined;
1707
+ transform?: ((data: any) => OptionsRow<undefined>[]) | undefined;
1708
+ dictCode?: string | undefined;
1709
+ };
1656
1710
  }, {}, string, {}> & VNodeProps & AllowedComponentProps & ComponentCustomProps & (new () => {
1657
1711
  $slots: Partial<Record<string, (_: {
1658
1712
  label: string;
@@ -1687,10 +1741,16 @@ export declare const PlusFormItem: {
1687
1741
  label?: string | undefined;
1688
1742
  value?: string | undefined;
1689
1743
  } | undefined;
1744
+ autoDict: boolean | ((column: PlusColumn) => OptionsRow<undefined>[] | Promise< OptionsRow<undefined>[]>) | {
1745
+ store?: any;
1746
+ method?: string | undefined;
1747
+ transform?: ((data: any) => OptionsRow<undefined>[]) | undefined;
1748
+ dictCode?: string | undefined;
1749
+ } | undefined;
1690
1750
  clearable: boolean;
1691
1751
  index: number;
1692
1752
  }) => any>> & Partial<Record<string, (_: {
1693
- column: Readonly<Omit< LooseRequired<PlusFormItemProps>, "index" | "label" | "tooltip" | "formItemProps" | "fieldProps" | "options" | "modelValue" | "fieldSlots" | "fieldChildrenSlot" | "hasLabel" | "clearable" | "valueType" | "renderField" | "renderLabel" | "renderErrorMessage" | "optionsMap">> & {
1753
+ column: Readonly<Omit< LooseRequired<PlusFormItemProps>, "index" | "label" | "tooltip" | "formItemProps" | "fieldProps" | "options" | "modelValue" | "fieldSlots" | "fieldChildrenSlot" | "hasLabel" | "clearable" | "valueType" | "renderField" | "renderLabel" | "renderErrorMessage" | "optionsMap" | "autoDict">> & {
1694
1754
  readonly label: string | ComputedRef<string>;
1695
1755
  readonly modelValue: string | number | boolean | string[] | [string, string] | number[] | Date | RecordType | boolean[] | Date[] | [Date, Date] | [number, number] | string[][] | number[][] | null;
1696
1756
  readonly hasLabel: boolean | Ref<boolean> | ComputedRef<boolean>;
@@ -1719,7 +1779,7 @@ export declare const PlusFormItem: {
1719
1779
  };
1720
1780
  rows: number;
1721
1781
  autocomplete: string;
1722
- type: "" | "number" | "default" | "search" | "button" | "textarea" | "time" | "circle" | "image" | "line" | "text" | "checkbox" | "radio" | "color" | "success" | "warning" | "info" | "primary" | "danger" | "reset" | "submit" | "datetimerange" | "daterange" | "monthrange" | "hidden" | "range" | "date" | "year" | "years" | "month" | "dates" | "week" | "datetime" | "dashboard" | "datetime-local" | "email" | "file" | "password" | "tel" | "url";
1782
+ type: "" | "number" | "default" | "search" | "button" | "textarea" | "time" | "circle" | "image" | "line" | "text" | "datetimerange" | "daterange" | "monthrange" | "checkbox" | "radio" | "color" | "success" | "warning" | "info" | "primary" | "danger" | "reset" | "submit" | "hidden" | "range" | "date" | "year" | "years" | "month" | "dates" | "week" | "datetime" | "dashboard" | "datetime-local" | "email" | "file" | "password" | "tel" | "url";
1723
1783
  loading: EpPropMergeType<BooleanConstructor, unknown, unknown> | EpPropMergeType<StringConstructor, "lazy" | "eager", unknown> | undefined;
1724
1784
  step: string | number;
1725
1785
  format: string | ProgressFn | undefined;
@@ -1746,6 +1806,12 @@ export declare const PlusFormItem: {
1746
1806
  label?: string | undefined;
1747
1807
  value?: string | undefined;
1748
1808
  } | undefined;
1809
+ readonly autoDict: boolean | ((column: PlusColumn) => OptionsRow<undefined>[] | Promise< OptionsRow<undefined>[]>) | {
1810
+ store?: any;
1811
+ method?: string | undefined;
1812
+ transform?: ((data: any) => OptionsRow<undefined>[]) | undefined;
1813
+ dictCode?: string | undefined;
1814
+ } | undefined;
1749
1815
  readonly clearable: boolean;
1750
1816
  readonly index: number;
1751
1817
  } & {
@@ -1783,6 +1849,12 @@ export declare const PlusFormItem: {
1783
1849
  label?: string | undefined;
1784
1850
  value?: string | undefined;
1785
1851
  } | undefined;
1852
+ autoDict: boolean | ((column: PlusColumn) => OptionsRow<undefined>[] | Promise< OptionsRow<undefined>[]>) | {
1853
+ store?: any;
1854
+ method?: string | undefined;
1855
+ transform?: ((data: any) => OptionsRow<undefined>[]) | undefined;
1856
+ dictCode?: string | undefined;
1857
+ } | undefined;
1786
1858
  clearable: boolean;
1787
1859
  index: number;
1788
1860
  }) => any>> & {
@@ -28,6 +28,11 @@ export interface PlusFormItemProps {
28
28
  * @default{ label: 'label'; value: 'value' }
29
29
  */
30
30
  optionsMap?: PlusColumn['optionsMap'];
31
+ /**
32
+ * @desc 自动字典注入
33
+ * @version v0.2.0
34
+ */
35
+ autoDict?: PlusColumn['autoDict'];
31
36
  index?: number;
32
37
  /**
33
38
  * @version v0.1.18
@@ -53,6 +58,7 @@ declare const _default: __VLS_WithTemplateSlots< DefineComponent<__VLS_WithDefau
53
58
  fieldChildrenSlot: undefined;
54
59
  renderErrorMessage: undefined;
55
60
  optionsMap: undefined;
61
+ autoDict: undefined;
56
62
  clearable: boolean;
57
63
  index: number;
58
64
  }>, {
@@ -407,6 +413,7 @@ declare const _default: __VLS_WithTemplateSlots< DefineComponent<__VLS_WithDefau
407
413
  fieldChildrenSlot: undefined;
408
414
  renderErrorMessage: undefined;
409
415
  optionsMap: undefined;
416
+ autoDict: undefined;
410
417
  clearable: boolean;
411
418
  index: number;
412
419
  }>>> & {
@@ -440,7 +447,7 @@ declare const _default: __VLS_WithTemplateSlots< DefineComponent<__VLS_WithDefau
440
447
  };
441
448
  rows: number;
442
449
  autocomplete: string;
443
- type: "" | "number" | "default" | "search" | "button" | "textarea" | "time" | "circle" | "image" | "line" | "text" | "checkbox" | "radio" | "color" | "success" | "warning" | "info" | "primary" | "danger" | "reset" | "submit" | "datetimerange" | "daterange" | "monthrange" | "hidden" | "range" | "date" | "year" | "years" | "month" | "dates" | "week" | "datetime" | "dashboard" | "datetime-local" | "email" | "file" | "password" | "tel" | "url";
450
+ type: "" | "number" | "default" | "search" | "button" | "textarea" | "time" | "circle" | "image" | "line" | "text" | "datetimerange" | "daterange" | "monthrange" | "checkbox" | "radio" | "color" | "success" | "warning" | "info" | "primary" | "danger" | "reset" | "submit" | "hidden" | "range" | "date" | "year" | "years" | "month" | "dates" | "week" | "datetime" | "dashboard" | "datetime-local" | "email" | "file" | "password" | "tel" | "url";
444
451
  loading: EpPropMergeType<BooleanConstructor, unknown, unknown> | EpPropMergeType<StringConstructor, "lazy" | "eager", unknown> | undefined;
445
452
  step: string | number;
446
453
  format: string | ProgressFn | undefined;
@@ -458,7 +465,7 @@ declare const _default: __VLS_WithTemplateSlots< DefineComponent<__VLS_WithDefau
458
465
  fieldChildrenSlot: (option?: OptionsRow<undefined> | undefined) => RenderTypes;
459
466
  hasLabel: boolean | Ref<boolean> | ComputedRef<boolean>;
460
467
  clearable: boolean;
461
- valueType: "input" | "select" | "textarea" | "switch" | "text" | TableValueType | "autocomplete" | "cascader" | "checkbox" | "color-picker" | "date-picker" | "input-number" | "radio" | "rate" | "slider" | "time-picker" | "time-select" | "plus-radio" | "plus-date-picker" | "plus-input-tag" | "transfer" | "tree-select" | "select-v2";
468
+ valueType: "input" | "select" | "textarea" | "switch" | "text" | TableValueType | "rate" | "input-number" | "slider" | "checkbox" | "cascader" | "plus-date-picker" | "plus-input-tag" | "transfer" | "radio" | "select-v2" | "plus-radio" | "autocomplete" | "color-picker" | "date-picker" | "time-picker" | "time-select" | "tree-select";
462
469
  renderField: (value: FieldValueType, onChange: (value: FieldValueType) => void, props: PlusColumn) => RenderTypes;
463
470
  renderLabel: (label: string, props: PlusColumn) => RenderTypes;
464
471
  renderErrorMessage: (props: PlusColumn & {
@@ -470,6 +477,12 @@ declare const _default: __VLS_WithTemplateSlots< DefineComponent<__VLS_WithDefau
470
477
  label?: string | undefined;
471
478
  value?: string | undefined;
472
479
  };
480
+ autoDict: boolean | ((column: PlusColumn) => OptionsRow<undefined>[] | Promise<OptionsRow<undefined>[]>) | {
481
+ store?: any;
482
+ method?: string | undefined;
483
+ transform?: ((data: any) => OptionsRow<undefined>[]) | undefined;
484
+ dictCode?: string | undefined;
485
+ };
473
486
  }, {}>, Partial<Record<string, (_: {
474
487
  label: string;
475
488
  fieldProps: RecordType;
@@ -503,10 +516,16 @@ declare const _default: __VLS_WithTemplateSlots< DefineComponent<__VLS_WithDefau
503
516
  label?: string | undefined;
504
517
  value?: string | undefined;
505
518
  } | undefined;
519
+ autoDict: boolean | ((column: PlusColumn) => OptionsRow<undefined>[] | Promise<OptionsRow<undefined>[]>) | {
520
+ store?: any;
521
+ method?: string | undefined;
522
+ transform?: ((data: any) => OptionsRow<undefined>[]) | undefined;
523
+ dictCode?: string | undefined;
524
+ } | undefined;
506
525
  clearable: boolean;
507
526
  index: number;
508
527
  }) => any>> & Partial<Record<string, (_: {
509
- column: Readonly<Omit< LooseRequired<PlusFormItemProps>, "index" | "label" | "tooltip" | "formItemProps" | "fieldProps" | "options" | "modelValue" | "fieldSlots" | "fieldChildrenSlot" | "hasLabel" | "clearable" | "valueType" | "renderField" | "renderLabel" | "renderErrorMessage" | "optionsMap">> & {
528
+ column: Readonly<Omit< LooseRequired<PlusFormItemProps>, "index" | "label" | "tooltip" | "formItemProps" | "fieldProps" | "options" | "modelValue" | "fieldSlots" | "fieldChildrenSlot" | "hasLabel" | "clearable" | "valueType" | "renderField" | "renderLabel" | "renderErrorMessage" | "optionsMap" | "autoDict">> & {
510
529
  readonly label: string | ComputedRef<string>;
511
530
  readonly modelValue: string | number | boolean | string[] | [string, string] | number[] | Date | RecordType | boolean[] | Date[] | [Date, Date] | [number, number] | string[][] | number[][] | null;
512
531
  readonly hasLabel: boolean | Ref<boolean> | ComputedRef<boolean>;
@@ -535,7 +554,7 @@ declare const _default: __VLS_WithTemplateSlots< DefineComponent<__VLS_WithDefau
535
554
  };
536
555
  rows: number;
537
556
  autocomplete: string;
538
- type: "" | "number" | "default" | "search" | "button" | "textarea" | "time" | "circle" | "image" | "line" | "text" | "checkbox" | "radio" | "color" | "success" | "warning" | "info" | "primary" | "danger" | "reset" | "submit" | "datetimerange" | "daterange" | "monthrange" | "hidden" | "range" | "date" | "year" | "years" | "month" | "dates" | "week" | "datetime" | "dashboard" | "datetime-local" | "email" | "file" | "password" | "tel" | "url";
557
+ type: "" | "number" | "default" | "search" | "button" | "textarea" | "time" | "circle" | "image" | "line" | "text" | "datetimerange" | "daterange" | "monthrange" | "checkbox" | "radio" | "color" | "success" | "warning" | "info" | "primary" | "danger" | "reset" | "submit" | "hidden" | "range" | "date" | "year" | "years" | "month" | "dates" | "week" | "datetime" | "dashboard" | "datetime-local" | "email" | "file" | "password" | "tel" | "url";
539
558
  loading: EpPropMergeType<BooleanConstructor, unknown, unknown> | EpPropMergeType<StringConstructor, "lazy" | "eager", unknown> | undefined;
540
559
  step: string | number;
541
560
  format: string | ProgressFn | undefined;
@@ -562,6 +581,12 @@ declare const _default: __VLS_WithTemplateSlots< DefineComponent<__VLS_WithDefau
562
581
  label?: string | undefined;
563
582
  value?: string | undefined;
564
583
  } | undefined;
584
+ readonly autoDict: boolean | ((column: PlusColumn) => OptionsRow<undefined>[] | Promise<OptionsRow<undefined>[]>) | {
585
+ store?: any;
586
+ method?: string | undefined;
587
+ transform?: ((data: any) => OptionsRow<undefined>[]) | undefined;
588
+ dictCode?: string | undefined;
589
+ } | undefined;
565
590
  readonly clearable: boolean;
566
591
  readonly index: number;
567
592
  } & {
@@ -599,6 +624,12 @@ declare const _default: __VLS_WithTemplateSlots< DefineComponent<__VLS_WithDefau
599
624
  label?: string | undefined;
600
625
  value?: string | undefined;
601
626
  } | undefined;
627
+ autoDict: boolean | ((column: PlusColumn) => OptionsRow<undefined>[] | Promise<OptionsRow<undefined>[]>) | {
628
+ store?: any;
629
+ method?: string | undefined;
630
+ transform?: ((data: any) => OptionsRow<undefined>[]) | undefined;
631
+ dictCode?: string | undefined;
632
+ } | undefined;
602
633
  clearable: boolean;
603
634
  index: number;
604
635
  }) => any>> & {
@@ -33,6 +33,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
33
33
  fieldChildrenSlot: { type: Function, default: void 0 },
34
34
  renderErrorMessage: { type: Function, default: void 0 },
35
35
  optionsMap: { default: void 0 },
36
+ autoDict: { type: [Boolean, Function, Object], default: void 0 },
36
37
  index: { default: 0 },
37
38
  clearable: { type: Boolean, default: true }
38
39
  },
@@ -3,10 +3,10 @@ import { PlusSearch } from '../../search/index.mjs';
3
3
  import { PlusTable } from '../../table/index.mjs';
4
4
  import { ElDivider, ElCard } from 'element-plus';
5
5
  import { getFieldSlotName, getLabelSlotName, getExtraSlotName, getPreviousSlotName } from '../../utils/index.mjs';
6
+ import { DefaultPageInfo, DefaultPageSizeList } from '../../../constants/page.mjs';
6
7
  import 'lodash-es';
7
8
  import { useTable } from '../../../hooks/useTable.mjs';
8
9
  import 'sortablejs';
9
- import { DefaultPageInfo, DefaultPageSizeList } from '../../../constants/page.mjs';
10
10
  import { isPlainObject } from '../../utils/is.mjs';
11
11
 
12
12
  const _hoisted_1 = { class: "plus-page" };
@@ -1,4 +1,5 @@
1
- import { defineComponent, ref, watch, openBlock, createBlock, unref, mergeProps, withCtx, createElementVNode, renderSlot, createElementBlock, createVNode, createTextVNode, toDisplayString, createCommentVNode } from 'vue';
1
+ import { defineComponent, ref, watch, computed, openBlock, createBlock, unref, mergeProps, withCtx, createElementVNode, renderSlot, createElementBlock, createVNode, createTextVNode, toDisplayString, createCommentVNode } from 'vue';
2
+ import { debounce } from 'lodash-es';
2
3
  import { useLocale } from '../../../hooks/useLocale.mjs';
3
4
  import 'sortablejs';
4
5
  import { ElPopover, ElButton } from 'element-plus';
@@ -37,10 +38,19 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
37
38
  subVisible.value = false;
38
39
  emit("cancel");
39
40
  };
40
- const handleConfirmPopover = () => {
41
+ const isSubmitting = ref(false);
42
+ const computedLoading = computed(() => props.confirmLoading || isSubmitting.value);
43
+ const doConfirm = () => {
44
+ isSubmitting.value = true;
41
45
  subVisible.value = false;
42
46
  emit("confirm");
43
47
  };
48
+ const handleConfirmPopover = debounce(doConfirm, 300, {
49
+ leading: true,
50
+ // 立即执行第一次
51
+ trailing: false
52
+ // 不执行最后一次
53
+ });
44
54
  return (_ctx, _cache) => {
45
55
  return openBlock(), createBlock(unref(ElPopover), mergeProps({
46
56
  visible: subVisible.value,
@@ -72,8 +82,8 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
72
82
  createVNode(unref(ElButton), {
73
83
  size: "small",
74
84
  type: "primary",
75
- loading: _ctx.confirmLoading,
76
- onClick: handleConfirmPopover
85
+ loading: computedLoading.value,
86
+ onClick: unref(handleConfirmPopover)
77
87
  }, {
78
88
  default: withCtx(() => [
79
89
  createTextVNode(
@@ -84,7 +94,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
84
94
  ]),
85
95
  _: 1
86
96
  /* STABLE */
87
- }, 8, ["loading"])
97
+ }, 8, ["loading", "onClick"])
88
98
  ])) : createCommentVNode("v-if", true)
89
99
  ]),
90
100
  _: 3
@@ -37,7 +37,7 @@ export declare const PlusRender: DefineComponent<{
37
37
  };
38
38
  rows: number;
39
39
  autocomplete: string;
40
- type: "" | "number" | "default" | "search" | "button" | "textarea" | "time" | "circle" | "image" | "line" | "text" | "checkbox" | "radio" | "color" | "success" | "warning" | "info" | "primary" | "danger" | "reset" | "submit" | "datetimerange" | "daterange" | "monthrange" | "hidden" | "range" | "date" | "year" | "years" | "month" | "dates" | "week" | "datetime" | "dashboard" | "datetime-local" | "email" | "file" | "password" | "tel" | "url";
40
+ type: "" | "number" | "default" | "search" | "button" | "textarea" | "time" | "circle" | "image" | "line" | "text" | "datetimerange" | "daterange" | "monthrange" | "checkbox" | "radio" | "color" | "success" | "warning" | "info" | "primary" | "danger" | "reset" | "submit" | "hidden" | "range" | "date" | "year" | "years" | "month" | "dates" | "week" | "datetime" | "dashboard" | "datetime-local" | "email" | "file" | "password" | "tel" | "url";
41
41
  loading: EpPropMergeType<BooleanConstructor, unknown, unknown> | EpPropMergeType<StringConstructor, "lazy" | "eager", unknown> | undefined;
42
42
  step: string | number;
43
43
  format: string | ProgressFn | undefined;
@@ -86,7 +86,7 @@ export declare const PlusRender: DefineComponent<{
86
86
  };
87
87
  rows: number;
88
88
  autocomplete: string;
89
- type: "" | "number" | "default" | "search" | "button" | "textarea" | "time" | "circle" | "image" | "line" | "text" | "checkbox" | "radio" | "color" | "success" | "warning" | "info" | "primary" | "danger" | "reset" | "submit" | "datetimerange" | "daterange" | "monthrange" | "hidden" | "range" | "date" | "year" | "years" | "month" | "dates" | "week" | "datetime" | "dashboard" | "datetime-local" | "email" | "file" | "password" | "tel" | "url";
89
+ type: "" | "number" | "default" | "search" | "button" | "textarea" | "time" | "circle" | "image" | "line" | "text" | "datetimerange" | "daterange" | "monthrange" | "checkbox" | "radio" | "color" | "success" | "warning" | "info" | "primary" | "danger" | "reset" | "submit" | "hidden" | "range" | "date" | "year" | "years" | "month" | "dates" | "week" | "datetime" | "dashboard" | "datetime-local" | "email" | "file" | "password" | "tel" | "url";
90
90
  loading: EpPropMergeType<BooleanConstructor, unknown, unknown> | EpPropMergeType<StringConstructor, "lazy" | "eager", unknown> | undefined;
91
91
  step: string | number;
92
92
  format: string | ProgressFn | undefined;
@@ -122,7 +122,7 @@ export declare const PlusRender: DefineComponent<{
122
122
  };
123
123
  rows: number;
124
124
  autocomplete: string;
125
- type: "" | "number" | "default" | "search" | "button" | "textarea" | "time" | "circle" | "image" | "line" | "text" | "checkbox" | "radio" | "color" | "success" | "warning" | "info" | "primary" | "danger" | "reset" | "submit" | "datetimerange" | "daterange" | "monthrange" | "hidden" | "range" | "date" | "year" | "years" | "month" | "dates" | "week" | "datetime" | "dashboard" | "datetime-local" | "email" | "file" | "password" | "tel" | "url";
125
+ type: "" | "number" | "default" | "search" | "button" | "textarea" | "time" | "circle" | "image" | "line" | "text" | "datetimerange" | "daterange" | "monthrange" | "checkbox" | "radio" | "color" | "success" | "warning" | "info" | "primary" | "danger" | "reset" | "submit" | "hidden" | "range" | "date" | "year" | "years" | "month" | "dates" | "week" | "datetime" | "dashboard" | "datetime-local" | "email" | "file" | "password" | "tel" | "url";
126
126
  loading: EpPropMergeType<BooleanConstructor, unknown, unknown> | EpPropMergeType<StringConstructor, "lazy" | "eager", unknown> | undefined;
127
127
  step: string | number;
128
128
  format: string | ProgressFn | undefined;
@@ -49,7 +49,7 @@ declare const _default: DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToRunt
49
49
  };
50
50
  rows: number;
51
51
  autocomplete: string;
52
- type: "" | "number" | "default" | "search" | "button" | "textarea" | "time" | "circle" | "image" | "line" | "text" | "checkbox" | "radio" | "color" | "success" | "warning" | "info" | "primary" | "danger" | "reset" | "submit" | "datetimerange" | "daterange" | "monthrange" | "hidden" | "range" | "date" | "year" | "years" | "month" | "dates" | "week" | "datetime" | "dashboard" | "datetime-local" | "email" | "file" | "password" | "tel" | "url";
52
+ type: "" | "number" | "default" | "search" | "button" | "textarea" | "time" | "circle" | "image" | "line" | "text" | "datetimerange" | "daterange" | "monthrange" | "checkbox" | "radio" | "color" | "success" | "warning" | "info" | "primary" | "danger" | "reset" | "submit" | "hidden" | "range" | "date" | "year" | "years" | "month" | "dates" | "week" | "datetime" | "dashboard" | "datetime-local" | "email" | "file" | "password" | "tel" | "url";
53
53
  loading: EpPropMergeType<BooleanConstructor, unknown, unknown> | EpPropMergeType<StringConstructor, "lazy" | "eager", unknown> | undefined;
54
54
  step: string | number;
55
55
  format: string | ProgressFn | undefined;
@@ -1,8 +1,8 @@
1
1
  import { defineComponent, ref, inject, openBlock, createBlock, unref, mergeProps, withCtx, createCommentVNode, createElementBlock, Fragment, renderList, resolveDynamicComponent, createVNode, renderSlot, createElementVNode, toDisplayString, h, withDirectives } from 'vue';
2
2
  import { MoreFilled, ArrowDownBold } from '@element-plus/icons-vue';
3
3
  import { ElTableColumn, ElDropdown, ElDropdownMenu, ElDropdownItem, ElIcon, ElTooltip, ElPopconfirm, ElButton, ElLink, ElMessageBox } from 'element-plus';
4
- import { useLocale } from '../../../hooks/useLocale.mjs';
5
4
  import { TableFormRefInjectionKey } from '../../../constants/form.mjs';
5
+ import { useLocale } from '../../../hooks/useLocale.mjs';
6
6
  import 'sortablejs';
7
7
  import { isFunction, isPlainObject } from '../../utils/is.mjs';
8
8