qidian-vue-ui 1.1.59 → 1.1.60

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 (44) hide show
  1. package/dist/components/config-provider/index.d.ts +24 -0
  2. package/dist/components/config-provider/types.d.ts +8 -0
  3. package/dist/components/config-provider/useConfig.d.ts +32 -0
  4. package/dist/components/dialog/form.vue.mjs +11 -13
  5. package/dist/components/dialog/form.vue.mjs.map +1 -1
  6. package/dist/components/dialog/props.d.ts +16 -0
  7. package/dist/components/dialog/props.mjs +2 -1
  8. package/dist/components/dialog/props.mjs.map +1 -1
  9. package/dist/components/form/config.d.ts +1 -0
  10. package/dist/components/form/config.mjs +3 -1
  11. package/dist/components/form/config.mjs.map +1 -1
  12. package/dist/components/form/index.css +5 -5
  13. package/dist/components/form/index.d.ts +1 -1
  14. package/dist/components/form/index.vue.mjs +1 -1
  15. package/dist/components/form/index.vue2.mjs +18 -2
  16. package/dist/components/form/index.vue2.mjs.map +1 -1
  17. package/dist/components/import-dialog/index.d.ts +2 -0
  18. package/dist/components/import-dialog/index.vue.d.ts +14 -0
  19. package/dist/components/import-dialog/index.vue.mjs +180 -0
  20. package/dist/components/import-dialog/index.vue.mjs.map +1 -0
  21. package/dist/components/import-dialog/index.vue2.mjs +5 -0
  22. package/dist/components/import-dialog/index.vue2.mjs.map +1 -0
  23. package/dist/components/import-dialog/props.d.ts +5 -0
  24. package/dist/components/import-dialog/props.mjs +9 -0
  25. package/dist/components/import-dialog/props.mjs.map +1 -0
  26. package/dist/components/import-dialog/types.d.ts +9 -0
  27. package/dist/components/index.d.ts +1 -0
  28. package/dist/components/upload/index.css +26 -26
  29. package/dist/components/upload/index.vue.mjs +2 -2
  30. package/dist/components/upload/index.vue2.mjs +10 -4
  31. package/dist/components/upload/index.vue2.mjs.map +1 -1
  32. package/dist/components/upload/types.d.ts +1 -0
  33. package/dist/index.mjs +48 -45
  34. package/dist/index.mjs.map +1 -1
  35. package/dist/locales/en-US.d.ts +8 -0
  36. package/dist/locales/en-US.mjs +8 -0
  37. package/dist/locales/en-US.mjs.map +1 -1
  38. package/dist/locales/zh-CN.d.ts +8 -0
  39. package/dist/locales/zh-CN.mjs +8 -0
  40. package/dist/locales/zh-CN.mjs.map +1 -1
  41. package/dist/locales/zh-TW.d.ts +8 -0
  42. package/dist/locales/zh-TW.mjs +8 -0
  43. package/dist/locales/zh-TW.mjs.map +1 -1
  44. package/package.json +1 -1
@@ -27,6 +27,7 @@ export declare const QdConfigProvider: import("vue").DefineComponent<{
27
27
  viewText?: string;
28
28
  editText?: string;
29
29
  deleteText?: string;
30
+ importText?: string;
30
31
  operationText?: string;
31
32
  closeText?: string;
32
33
  deleteSuccessText?: string;
@@ -75,6 +76,13 @@ export declare const QdConfigProvider: import("vue").DefineComponent<{
75
76
  addConfirmText?: string;
76
77
  addCancelText?: string;
77
78
  };
79
+ importDialog: {
80
+ fileSupport?: [string, string];
81
+ clickDownloadTplText?: string;
82
+ downloadTplText?: string;
83
+ successText?: string;
84
+ failText?: string;
85
+ };
78
86
  }) | undefined;
79
87
  }, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
80
88
  [key: string]: any;
@@ -107,6 +115,7 @@ export declare const QdConfigProvider: import("vue").DefineComponent<{
107
115
  viewText?: string;
108
116
  editText?: string;
109
117
  deleteText?: string;
118
+ importText?: string;
110
119
  operationText?: string;
111
120
  closeText?: string;
112
121
  deleteSuccessText?: string;
@@ -155,6 +164,13 @@ export declare const QdConfigProvider: import("vue").DefineComponent<{
155
164
  addConfirmText?: string;
156
165
  addCancelText?: string;
157
166
  };
167
+ importDialog: {
168
+ fileSupport?: [string, string];
169
+ clickDownloadTplText?: string;
170
+ downloadTplText?: string;
171
+ successText?: string;
172
+ failText?: string;
173
+ };
158
174
  }) | undefined;
159
175
  }> & Readonly<{}>, {
160
176
  avatar: import("../..").QdAvatarBaseOptions | undefined;
@@ -178,6 +194,7 @@ export declare const QdConfigProvider: import("vue").DefineComponent<{
178
194
  viewText?: string;
179
195
  editText?: string;
180
196
  deleteText?: string;
197
+ importText?: string;
181
198
  operationText?: string;
182
199
  closeText?: string;
183
200
  deleteSuccessText?: string;
@@ -226,6 +243,13 @@ export declare const QdConfigProvider: import("vue").DefineComponent<{
226
243
  addConfirmText?: string;
227
244
  addCancelText?: string;
228
245
  };
246
+ importDialog: {
247
+ fileSupport?: [string, string];
248
+ clickDownloadTplText?: string;
249
+ downloadTplText?: string;
250
+ successText?: string;
251
+ failText?: string;
252
+ };
229
253
  } | undefined;
230
254
  upload: Pick<import("..").QdUploadProps<import("tdesign-vue-next").UploadFile, unknown, string | number | (string | number)[], string | number | (string | number)[], unknown, string | string[], string | string[], unknown, string | number | (string | number)[], string | number | (string | number)[]>, "name" | "del" | "action" | "headers" | "isBatchUpload" | "method" | "requestMethod" | "listOssByIds" | "listOssByUrls"> | undefined;
231
255
  agentChat: Pick<import("../..").UseAgentChatOptions, "getSessionId" | "getUrl"> | undefined;
@@ -37,6 +37,7 @@ export interface QdConfigProviderProps {
37
37
  viewText?: string;
38
38
  editText?: string;
39
39
  deleteText?: string;
40
+ importText?: string;
40
41
  operationText?: string;
41
42
  closeText?: string;
42
43
  deleteSuccessText?: string;
@@ -85,5 +86,12 @@ export interface QdConfigProviderProps {
85
86
  addConfirmText?: string;
86
87
  addCancelText?: string;
87
88
  };
89
+ importDialog: {
90
+ fileSupport?: [string, string];
91
+ clickDownloadTplText?: string;
92
+ downloadTplText?: string;
93
+ successText?: string;
94
+ failText?: string;
95
+ };
88
96
  };
89
97
  }
@@ -18,6 +18,7 @@ export declare function useConfig<T extends keyof NonNullable<QdConfigProviderPr
18
18
  viewText?: string;
19
19
  editText?: string;
20
20
  deleteText?: string;
21
+ importText?: string;
21
22
  operationText?: string;
22
23
  closeText?: string;
23
24
  deleteSuccessText?: string;
@@ -66,6 +67,13 @@ export declare function useConfig<T extends keyof NonNullable<QdConfigProviderPr
66
67
  addConfirmText?: string;
67
68
  addCancelText?: string;
68
69
  };
70
+ importDialog: {
71
+ fileSupport?: [string, string];
72
+ clickDownloadTplText?: string;
73
+ downloadTplText?: string;
74
+ successText?: string;
75
+ failText?: string;
76
+ };
69
77
  })[T]> = keyof NonNullable<(Omit<import("tdesign-vue-next").GlobalConfigProvider | undefined, "upload" | "chat"> & {
70
78
  loading?: {
71
79
  text?: string;
@@ -84,6 +92,7 @@ export declare function useConfig<T extends keyof NonNullable<QdConfigProviderPr
84
92
  viewText?: string;
85
93
  editText?: string;
86
94
  deleteText?: string;
95
+ importText?: string;
87
96
  operationText?: string;
88
97
  closeText?: string;
89
98
  deleteSuccessText?: string;
@@ -132,6 +141,13 @@ export declare function useConfig<T extends keyof NonNullable<QdConfigProviderPr
132
141
  addConfirmText?: string;
133
142
  addCancelText?: string;
134
143
  };
144
+ importDialog: {
145
+ fileSupport?: [string, string];
146
+ clickDownloadTplText?: string;
147
+ downloadTplText?: string;
148
+ successText?: string;
149
+ failText?: string;
150
+ };
135
151
  })[T]>>(path: T_1) => NonNullable<NonNullable<(Omit<import("tdesign-vue-next").GlobalConfigProvider | undefined, "upload" | "chat"> & {
136
152
  loading?: {
137
153
  text?: string;
@@ -150,6 +166,7 @@ export declare function useConfig<T extends keyof NonNullable<QdConfigProviderPr
150
166
  viewText?: string;
151
167
  editText?: string;
152
168
  deleteText?: string;
169
+ importText?: string;
153
170
  operationText?: string;
154
171
  closeText?: string;
155
172
  deleteSuccessText?: string;
@@ -198,6 +215,13 @@ export declare function useConfig<T extends keyof NonNullable<QdConfigProviderPr
198
215
  addConfirmText?: string;
199
216
  addCancelText?: string;
200
217
  };
218
+ importDialog: {
219
+ fileSupport?: [string, string];
220
+ clickDownloadTplText?: string;
221
+ downloadTplText?: string;
222
+ successText?: string;
223
+ failText?: string;
224
+ };
201
225
  })[T]>[T_1]>;
202
226
  global: import("vue").ComputedRef<NonNullable<(Omit<import("tdesign-vue-next").GlobalConfigProvider | undefined, "upload" | "chat"> & {
203
227
  loading?: {
@@ -217,6 +241,7 @@ export declare function useConfig<T extends keyof NonNullable<QdConfigProviderPr
217
241
  viewText?: string;
218
242
  editText?: string;
219
243
  deleteText?: string;
244
+ importText?: string;
220
245
  operationText?: string;
221
246
  closeText?: string;
222
247
  deleteSuccessText?: string;
@@ -265,5 +290,12 @@ export declare function useConfig<T extends keyof NonNullable<QdConfigProviderPr
265
290
  addConfirmText?: string;
266
291
  addCancelText?: string;
267
292
  };
293
+ importDialog: {
294
+ fileSupport?: [string, string];
295
+ clickDownloadTplText?: string;
296
+ downloadTplText?: string;
297
+ successText?: string;
298
+ failText?: string;
299
+ };
268
300
  })[T]>>;
269
301
  };
@@ -1,12 +1,11 @@
1
1
  import { defineComponent, mergeDefaults, useTemplateRef, ref, computed, createBlock, openBlock, mergeProps, unref, isRef, createSlots, withCtx, createVNode, renderList, renderSlot, normalizeProps, guardReactiveProps, createTextVNode, toDisplayString } from "vue";
2
2
  import { Button } from "tdesign-vue-next";
3
- import { qdDialogProps, qdDialogFormProps } from "./props.mjs";
3
+ import { qdDialogFormProps } from "./props.mjs";
4
4
  import { useVModels } from "../../node_modules/.pnpm/@vueuse_core@14.0.0_vue@3.5.26_typescript@5.9.3_/node_modules/@vueuse/core/dist/index.mjs";
5
5
  import { suspectedWrapperPromise, easyCopy, extractSlotsWithPrefix, extractSlotsWithoutPrefix } from "qidian-shared";
6
6
  import _sfc_main$1 from "./index.vue.mjs";
7
7
  /* empty css */
8
8
  import { useConfig } from "../config-provider/useConfig.mjs";
9
- import merge from "../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/merge.mjs";
10
9
  import QdForm from "../form/index.vue.mjs";
11
10
  const _sfc_main = /* @__PURE__ */ defineComponent({
12
11
  __name: "form",
@@ -62,8 +61,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
62
61
  loading,
63
62
  ...qdFormOptions
64
63
  } = props;
65
- const reWrapper = merge({}, qdDialogProps, wrapper);
66
- const reConfirmLoading = formSubmitLoad.value || reWrapper.confirmLoading;
64
+ const reConfirmLoading = formSubmitLoad.value || wrapper.confirmLoading;
67
65
  return {
68
66
  crudMode,
69
67
  qdFormOptions: {
@@ -83,23 +81,23 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
83
81
  }
84
82
  },
85
83
  qdDialogOptions: {
86
- ...reWrapper,
84
+ ...wrapper,
87
85
  onOpened: () => {
88
86
  Object.assign(expose, formRef.value);
89
- reWrapper.onOpened?.();
87
+ wrapper.onOpened?.();
90
88
  },
91
89
  onBeforeClose: () => {
92
90
  formRef.value?.reset();
93
- reWrapper.onBeforeClose?.();
91
+ wrapper.onBeforeClose?.();
94
92
  },
95
93
  confirmLoading: reConfirmLoading,
96
- closeOnEscKeydown: loading || reConfirmLoading ? false : reWrapper.closeOnEscKeydown,
97
- closeOnOverlayClick: loading || reConfirmLoading ? false : reWrapper.closeOnOverlayClick,
98
- closeBtn: loading || reConfirmLoading ? false : reWrapper.closeBtn,
99
- confirmBtn: loading || reConfirmLoading ? typeof reWrapper.confirmBtn === "object" ? { ...reWrapper.confirmBtn, disabled: true } : { disabled: true } : reWrapper.confirmBtn,
100
- cancelBtn: loading || reConfirmLoading ? typeof reWrapper.cancelBtn === "object" ? { ...reWrapper.cancelBtn, disabled: true } : { disabled: true } : reWrapper.cancelBtn,
94
+ closeOnEscKeydown: loading || reConfirmLoading ? false : wrapper.closeOnEscKeydown,
95
+ closeOnOverlayClick: loading || reConfirmLoading ? false : wrapper.closeOnOverlayClick,
96
+ closeBtn: loading || reConfirmLoading ? false : wrapper.closeBtn,
97
+ confirmBtn: loading || reConfirmLoading ? typeof wrapper.confirmBtn === "object" ? { ...wrapper.confirmBtn, disabled: true } : { disabled: true } : wrapper.confirmBtn,
98
+ cancelBtn: loading || reConfirmLoading ? typeof wrapper.cancelBtn === "object" ? { ...wrapper.cancelBtn, disabled: true } : { disabled: true } : wrapper.cancelBtn,
101
99
  onConfirm: (done) => {
102
- const onConfirm = reWrapper.onConfirm;
100
+ const onConfirm = wrapper.onConfirm;
103
101
  if (onConfirm) return onConfirm?.(done);
104
102
  const submit = formRef.value?.submit;
105
103
  if (submit) {
@@ -1 +1 @@
1
- {"version":3,"file":"form.vue.mjs","sources":["../../../src/components/dialog/form.vue"],"sourcesContent":["<template>\n <qd-dialog v-model:visible=\"visible\" v-bind=\"reProps.qdDialogOptions\">\n <template v-if=\"reProps.crudMode === 'view'\" #footer>\n <t-button theme=\"default\" @click=\"hide\">{{ t('closeText') }}</t-button>\n </template>\n\n <template v-for=\"name in extractSlotsWithoutPrefix($slots, 'form')\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" :context=\"data\" />\n </template>\n\n <qd-form ref=\"form\" v-model:data=\"data\" v-bind=\"reProps.qdFormOptions\">\n <template\n v-for=\"item in extractSlotsWithPrefix($slots, 'form')\"\n #[item.filterName]=\"slotProps\"\n >\n <slot :name=\"item.originalName\" v-bind=\"slotProps\" />\n </template>\n </qd-form>\n </qd-dialog>\n</template>\n\n<script setup lang=\"ts\" generic=\"FD extends Data = Data\">\n import type { QdDialogDone, QdDialogFormInstanceFunctions, QdDialogFormProps } from './types'\n import type { FormInstanceFunctions, Data } from 'tdesign-vue-next'\n import type { QdFormProps, QdFormSubmitContext } from '../form'\n import { Button as TButton } from 'tdesign-vue-next'\n import { qdDialogFormProps, qdDialogProps } from './props'\n import { computed, useTemplateRef, ref } from 'vue'\n import { useVModels } from '@vueuse/core'\n import {\n easyCopy,\n extractSlotsWithoutPrefix,\n extractSlotsWithPrefix,\n suspectedWrapperPromise\n } from 'qidian-shared'\n import QdDialog from './index.vue'\n import { QdForm } from '../form'\n import { useConfig } from '../config-provider/useConfig'\n import { merge } from 'lodash-es'\n\n type Props = QdDialogFormProps<FD>\n\n const props = withDefaults(defineProps<Props>(), qdDialogFormProps)\n const emit = defineEmits<{\n 'update:visible': [Props['visible']]\n 'update:data': [Props['data']]\n }>()\n const { visible, data } = useVModels<typeof props, keyof typeof emit>(props, emit, {\n passive: true\n })\n\n const { t } = useConfig('crud')\n const formRef = useTemplateRef<FormInstanceFunctions>('form')\n const formSubmitLoad = ref(false)\n\n const reProps = computed(() => {\n const {\n crudMode,\n data,\n visible: inVisible,\n wrapper,\n onSubmit,\n loading,\n ...qdFormOptions\n } = props\n const reWrapper = merge({}, qdDialogProps, wrapper)\n const reConfirmLoading = formSubmitLoad.value || reWrapper.confirmLoading\n\n return {\n crudMode,\n qdFormOptions: {\n ...qdFormOptions,\n loading,\n crudMode,\n onSubmit: async (context: QdFormSubmitContext<FD>) => {\n if (!onSubmit) {\n formSubmitLoad.value = false\n return\n }\n\n formSubmitLoad.value = true\n const [err, res] = await suspectedWrapperPromise(onSubmit(context))\n formSubmitLoad.value = false\n if (err || res === false) return\n\n visible.value = false\n }\n } as unknown as QdFormProps,\n qdDialogOptions: {\n ...reWrapper,\n\n onOpened: () => {\n Object.assign(expose, formRef.value)\n reWrapper.onOpened?.()\n },\n\n onBeforeClose: () => {\n formRef.value?.reset()\n reWrapper.onBeforeClose?.()\n },\n\n confirmLoading: reConfirmLoading,\n closeOnEscKeydown: loading || reConfirmLoading ? false : reWrapper.closeOnEscKeydown,\n closeOnOverlayClick: loading || reConfirmLoading ? false : reWrapper.closeOnOverlayClick,\n closeBtn: loading || reConfirmLoading ? false : reWrapper.closeBtn,\n\n confirmBtn:\n loading || reConfirmLoading\n ? typeof reWrapper.confirmBtn === 'object'\n ? { ...reWrapper.confirmBtn, disabled: true }\n : { disabled: true }\n : reWrapper.confirmBtn,\n cancelBtn:\n loading || reConfirmLoading\n ? typeof reWrapper.cancelBtn === 'object'\n ? { ...reWrapper.cancelBtn, disabled: true }\n : { disabled: true }\n : reWrapper.cancelBtn,\n\n onConfirm: (done: QdDialogDone) => {\n const onConfirm = reWrapper.onConfirm\n if (onConfirm) return onConfirm?.(done)\n\n const submit = formRef.value?.submit\n if (submit) {\n formSubmitLoad.value = true\n submit()\n }\n return false\n }\n },\n models: { data, visible: inVisible }\n }\n })\n\n function show(newData?: FD) {\n if (newData != undefined) data.value = easyCopy(newData)\n visible.value = true\n }\n\n function hide() {\n visible.value = false\n }\n\n const expose = {\n show,\n hide\n } as QdDialogFormInstanceFunctions\n\n defineExpose(expose)\n</script>\n"],"names":["data","_openBlock","_createBlock","QdDialog","_mergeProps","_unref","_createSlots","_createVNode","$slots","_withCtx","_renderSlot","TButton"],"mappings":"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"}
1
+ {"version":3,"file":"form.vue.mjs","sources":["../../../src/components/dialog/form.vue"],"sourcesContent":["<template>\n <qd-dialog v-model:visible=\"visible\" v-bind=\"reProps.qdDialogOptions\">\n <template v-if=\"reProps.crudMode === 'view'\" #footer>\n <t-button theme=\"default\" @click=\"hide\">{{ t('closeText') }}</t-button>\n </template>\n\n <template v-for=\"name in extractSlotsWithoutPrefix($slots, 'form')\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" :context=\"data\" />\n </template>\n\n <qd-form ref=\"form\" v-model:data=\"data\" v-bind=\"reProps.qdFormOptions\">\n <template\n v-for=\"item in extractSlotsWithPrefix($slots, 'form')\"\n #[item.filterName]=\"slotProps\"\n >\n <slot :name=\"item.originalName\" v-bind=\"slotProps\" />\n </template>\n </qd-form>\n </qd-dialog>\n</template>\n\n<script setup lang=\"ts\" generic=\"FD extends Data = Data\">\n import type { QdDialogDone, QdDialogFormInstanceFunctions, QdDialogFormProps } from './types'\n import type { FormInstanceFunctions, Data } from 'tdesign-vue-next'\n import type { QdFormProps, QdFormSubmitContext } from '../form'\n import { Button as TButton } from 'tdesign-vue-next'\n import { qdDialogFormProps } from './props'\n import { computed, useTemplateRef, ref } from 'vue'\n import { useVModels } from '@vueuse/core'\n import {\n easyCopy,\n extractSlotsWithoutPrefix,\n extractSlotsWithPrefix,\n suspectedWrapperPromise\n } from 'qidian-shared'\n import QdDialog from './index.vue'\n import { QdForm } from '../form'\n import { useConfig } from '../config-provider/useConfig'\n\n type Props = QdDialogFormProps<FD>\n\n const props = withDefaults(defineProps<Props>(), qdDialogFormProps)\n const emit = defineEmits<{\n 'update:visible': [Props['visible']]\n 'update:data': [Props['data']]\n }>()\n const { visible, data } = useVModels<typeof props, keyof typeof emit>(props, emit, {\n passive: true\n })\n\n const { t } = useConfig('crud')\n const formRef = useTemplateRef<FormInstanceFunctions>('form')\n const formSubmitLoad = ref(false)\n\n const reProps = computed(() => {\n const {\n crudMode,\n data,\n visible: inVisible,\n wrapper,\n onSubmit,\n loading,\n ...qdFormOptions\n } = props\n const reConfirmLoading = formSubmitLoad.value || wrapper.confirmLoading\n\n return {\n crudMode,\n qdFormOptions: {\n ...qdFormOptions,\n loading,\n crudMode,\n onSubmit: async (context: QdFormSubmitContext<FD>) => {\n if (!onSubmit) {\n formSubmitLoad.value = false\n return\n }\n\n formSubmitLoad.value = true\n const [err, res] = await suspectedWrapperPromise(onSubmit(context))\n formSubmitLoad.value = false\n if (err || res === false) return\n\n visible.value = false\n }\n } as unknown as QdFormProps,\n qdDialogOptions: {\n ...wrapper,\n\n onOpened: () => {\n Object.assign(expose, formRef.value)\n wrapper.onOpened?.()\n },\n\n onBeforeClose: () => {\n formRef.value?.reset()\n wrapper.onBeforeClose?.()\n },\n\n confirmLoading: reConfirmLoading,\n closeOnEscKeydown: loading || reConfirmLoading ? false : wrapper.closeOnEscKeydown,\n closeOnOverlayClick: loading || reConfirmLoading ? false : wrapper.closeOnOverlayClick,\n closeBtn: loading || reConfirmLoading ? false : wrapper.closeBtn,\n\n confirmBtn:\n loading || reConfirmLoading\n ? typeof wrapper.confirmBtn === 'object'\n ? { ...wrapper.confirmBtn, disabled: true }\n : { disabled: true }\n : wrapper.confirmBtn,\n cancelBtn:\n loading || reConfirmLoading\n ? typeof wrapper.cancelBtn === 'object'\n ? { ...wrapper.cancelBtn, disabled: true }\n : { disabled: true }\n : wrapper.cancelBtn,\n\n onConfirm: (done: QdDialogDone) => {\n const onConfirm = wrapper.onConfirm\n if (onConfirm) return onConfirm?.(done)\n\n const submit = formRef.value?.submit\n if (submit) {\n formSubmitLoad.value = true\n submit()\n }\n return false\n }\n },\n models: { data, visible: inVisible }\n }\n })\n\n function show(newData?: FD) {\n if (newData != undefined) data.value = easyCopy(newData)\n visible.value = true\n }\n\n function hide() {\n visible.value = false\n }\n\n const expose = {\n show,\n hide\n } as QdDialogFormInstanceFunctions\n\n defineExpose(expose)\n</script>\n"],"names":["data","_openBlock","_createBlock","QdDialog","_mergeProps","_unref","_createSlots","_createVNode","$slots","_withCtx","_renderSlot","TButton"],"mappings":"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"}
@@ -15,6 +15,22 @@ export declare const qdDialogProps: {
15
15
  readonly showOverlay: true;
16
16
  };
17
17
  export declare const qdDialogFormProps: {
18
+ readonly wrapper: () => {
19
+ readonly width: "min(960px, 100%)";
20
+ readonly theme: "default";
21
+ readonly attach: "body";
22
+ readonly header: true;
23
+ readonly footer: true;
24
+ readonly closeBtn: true;
25
+ readonly closeOnEscKeydown: true;
26
+ readonly closeOnOverlayClick: false;
27
+ readonly confirmOnEnter: undefined;
28
+ readonly destroyOnClose: false;
29
+ readonly lazy: true;
30
+ readonly placement: "center";
31
+ readonly preventScrollThrough: true;
32
+ readonly showOverlay: true;
33
+ };
18
34
  readonly gutter: () => number[];
19
35
  readonly grid: () => {
20
36
  col: {
@@ -16,7 +16,8 @@ const qdDialogProps = {
16
16
  showOverlay: true
17
17
  };
18
18
  const qdDialogFormProps = {
19
- ...qdFormProps
19
+ ...qdFormProps,
20
+ wrapper: () => qdDialogProps
20
21
  };
21
22
  export {
22
23
  qdDialogFormProps,
@@ -1 +1 @@
1
- {"version":3,"file":"props.mjs","sources":["../../../src/components/dialog/props.ts"],"sourcesContent":["import { qdFormProps } from '../form/props'\n\nexport const qdDialogProps = {\n width: 'min(960px, 100%)',\n theme: 'default',\n attach: 'body',\n header: true,\n footer: true,\n closeBtn: true,\n closeOnEscKeydown: true,\n closeOnOverlayClick: false,\n confirmOnEnter: undefined,\n destroyOnClose: false,\n lazy: true,\n placement: 'center',\n preventScrollThrough: true,\n showOverlay: true\n} as const\n\nexport const qdDialogFormProps = {\n ...qdFormProps\n} as const\n"],"names":[],"mappings":";AAEO,MAAM,gBAAgB;AAAA,EAC3B,OAAO;AAAA,EACP,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,mBAAmB;AAAA,EACnB,qBAAqB;AAAA,EACrB,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,MAAM;AAAA,EACN,WAAW;AAAA,EACX,sBAAsB;AAAA,EACtB,aAAa;AACf;AAEO,MAAM,oBAAoB;AAAA,EAC/B,GAAG;AACL;"}
1
+ {"version":3,"file":"props.mjs","sources":["../../../src/components/dialog/props.ts"],"sourcesContent":["import { qdFormProps } from '../form/props'\n\nexport const qdDialogProps = {\n width: 'min(960px, 100%)',\n theme: 'default',\n attach: 'body',\n header: true,\n footer: true,\n closeBtn: true,\n closeOnEscKeydown: true,\n closeOnOverlayClick: false,\n confirmOnEnter: undefined,\n destroyOnClose: false,\n lazy: true,\n placement: 'center',\n preventScrollThrough: true,\n showOverlay: true\n} as const\n\nexport const qdDialogFormProps = {\n ...qdFormProps,\n\n wrapper: () => qdDialogProps\n} as const\n"],"names":[],"mappings":";AAEO,MAAM,gBAAgB;AAAA,EAC3B,OAAO;AAAA,EACP,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,mBAAmB;AAAA,EACnB,qBAAqB;AAAA,EACrB,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,MAAM;AAAA,EACN,WAAW;AAAA,EACX,sBAAsB;AAAA,EACtB,aAAa;AACf;AAEO,MAAM,oBAAoB;AAAA,EAC/B,GAAG;AAAA,EAEH,SAAS,MAAM;AACjB;"}
@@ -1,3 +1,4 @@
1
1
  import type { InjectionKey } from 'vue';
2
2
  import type { QdFormBeforeSubmitQueueItem } from './types';
3
3
  export declare const PROVIDE_FORM_ADD_BEFORE_SUBMIT_QUEUE: InjectionKey<(item: QdFormBeforeSubmitQueueItem) => void>;
4
+ export declare const PROVIDE_FORM_RESET_QUEUE: InjectionKey<(item: () => void) => void>;
@@ -1,5 +1,7 @@
1
1
  const PROVIDE_FORM_ADD_BEFORE_SUBMIT_QUEUE = Symbol("QdFormAddBeforeSubmitQueue");
2
+ const PROVIDE_FORM_RESET_QUEUE = Symbol("QdFormResetQueue");
2
3
  export {
3
- PROVIDE_FORM_ADD_BEFORE_SUBMIT_QUEUE
4
+ PROVIDE_FORM_ADD_BEFORE_SUBMIT_QUEUE,
5
+ PROVIDE_FORM_RESET_QUEUE
4
6
  };
5
7
  //# sourceMappingURL=config.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.mjs","sources":["../../../src/components/form/config.ts"],"sourcesContent":["import type { InjectionKey } from 'vue'\nimport type { QdFormBeforeSubmitQueueItem } from './types'\n\n/** 提交前需要处理的队列 */\nexport const PROVIDE_FORM_ADD_BEFORE_SUBMIT_QUEUE: InjectionKey<\n (item: QdFormBeforeSubmitQueueItem) => void\n> = Symbol('QdFormAddBeforeSubmitQueue')\n"],"names":[],"mappings":"AAIO,MAAM,uCAET,OAAO,4BAA4B;"}
1
+ {"version":3,"file":"config.mjs","sources":["../../../src/components/form/config.ts"],"sourcesContent":["import type { InjectionKey } from 'vue'\nimport type { QdFormBeforeSubmitQueueItem } from './types'\n\n/** 提交前需要处理的队列 */\nexport const PROVIDE_FORM_ADD_BEFORE_SUBMIT_QUEUE: InjectionKey<\n (item: QdFormBeforeSubmitQueueItem) => void\n> = Symbol('QdFormAddBeforeSubmitQueue')\n\n/** 重置时需要处理的队列 */\nexport const PROVIDE_FORM_RESET_QUEUE: InjectionKey<(item: () => void) => void> = Symbol('QdFormResetQueue')"],"names":[],"mappings":"AAIO,MAAM,uCAET,OAAO,4BAA4B;AAGhC,MAAM,2BAAqE,OAAO,kBAAkB;"}
@@ -1,17 +1,17 @@
1
- .qd-form--descriptions[data-v-e75ac98e] .qd-grid {
1
+ .qd-form--descriptions[data-v-e8596008] .qd-grid {
2
2
  border-top: 1px solid var(--td-component-border);
3
3
  border-left: 1px solid var(--td-component-border);
4
4
  }
5
- .qd-form--descriptions[data-v-e75ac98e] .qd-grid-item {
5
+ .qd-form--descriptions[data-v-e8596008] .qd-grid-item {
6
6
  border-right: 1px solid var(--td-component-border);
7
7
  border-bottom: 1px solid var(--td-component-border);
8
8
  }
9
- .qd-form--descriptions[data-v-e75ac98e] .t-form__item {
9
+ .qd-form--descriptions[data-v-e8596008] .t-form__item {
10
10
  display: flex;
11
11
  align-items: stretch;
12
12
  height: 100%;
13
13
  }
14
- .qd-form--descriptions[data-v-e75ac98e] .t-form__label {
14
+ .qd-form--descriptions[data-v-e8596008] .t-form__label {
15
15
  display: flex;
16
16
  flex-direction: column;
17
17
  justify-content: center;
@@ -20,7 +20,7 @@
20
20
  height: 100%;
21
21
  border-right: 1px solid var(--td-component-border);
22
22
  }
23
- .qd-form--descriptions[data-v-e75ac98e] .t-form__controls {
23
+ .qd-form--descriptions[data-v-e8596008] .t-form__controls {
24
24
  flex: 1 1 0;
25
25
  overflow: hidden;
26
26
  display: flex;
@@ -1,5 +1,5 @@
1
1
  export { default as QdForm } from './index.vue';
2
2
  export { default as QdFormItem } from './item.vue';
3
- export { PROVIDE_FORM_ADD_BEFORE_SUBMIT_QUEUE } from './config';
3
+ export { PROVIDE_FORM_ADD_BEFORE_SUBMIT_QUEUE, PROVIDE_FORM_RESET_QUEUE } from './config';
4
4
  export { qdFormGutter, qdFormGrid } from './props';
5
5
  export type { QdFormBeforeSubmitQueueResult, QdFormBeforeSubmitQueueItem, QdFormProps, QdFormSubmitContext, QdFormItemProps } from './types';
@@ -2,7 +2,7 @@ import './index.css'
2
2
  import _sfc_main from "./index.vue2.mjs";
3
3
  /* empty css */
4
4
  import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
5
- const QdForm = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-e75ac98e"]]);
5
+ const QdForm = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-e8596008"]]);
6
6
  export {
7
7
  QdForm as default
8
8
  };
@@ -2,7 +2,7 @@ import './index.css'
2
2
  import { defineComponent, mergeDefaults, provide, nextTick, onBeforeUnmount, useTemplateRef, ref, computed, onMounted, withDirectives, createBlock, openBlock, unref, mergeProps, withCtx, renderSlot, normalizeProps, guardReactiveProps, createVNode, createElementBlock, Fragment, renderList } from "vue";
3
3
  import { Form, LoadingDirective } from "tdesign-vue-next";
4
4
  import QdFormItem from "./item.vue.mjs";
5
- import { PROVIDE_FORM_ADD_BEFORE_SUBMIT_QUEUE } from "./config.mjs";
5
+ import { PROVIDE_FORM_ADD_BEFORE_SUBMIT_QUEUE, PROVIDE_FORM_RESET_QUEUE } from "./config.mjs";
6
6
  import { suspectedWrapperPromise, easyCopy } from "qidian-shared";
7
7
  import { qdFormGrid, qdFormProps } from "./props.mjs";
8
8
  import { useVModels } from "../../node_modules/.pnpm/@vueuse_core@14.0.0_vue@3.5.26_typescript@5.9.3_/node_modules/@vueuse/core/dist/index.mjs";
@@ -61,6 +61,16 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
61
61
  beforeSubmitQueue.splice(index, 1);
62
62
  });
63
63
  });
64
+ const resetQueue = [];
65
+ provide(PROVIDE_FORM_RESET_QUEUE, (item) => {
66
+ const index = resetQueue.length;
67
+ nextTick(() => {
68
+ resetQueue.push(item);
69
+ });
70
+ onBeforeUnmount(() => {
71
+ resetQueue.splice(index, 1);
72
+ });
73
+ });
64
74
  const formRef = useTemplateRef("form");
65
75
  const submitShowErrorMessage = ref();
66
76
  const reProps = computed(() => {
@@ -73,15 +83,21 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
73
83
  data: data2,
74
84
  scrollToFirstError,
75
85
  loading: externalLoad,
86
+ onReset,
76
87
  ...formOptions
77
88
  } = props;
89
+ const reOnReset = (context) => {
90
+ resetQueue.forEach((item) => item());
91
+ onReset?.(context);
92
+ };
78
93
  return {
79
94
  descriptions,
80
95
  externalLoad,
81
96
  formOptions: {
82
97
  ...formOptions,
83
98
  labelAlign: descriptions ? "left" : formOptions.labelAlign,
84
- scrollToFirstError: submitShowErrorMessage.value === false ? "" : scrollToFirstError
99
+ scrollToFirstError: submitShowErrorMessage.value === false ? "" : scrollToFirstError,
100
+ onReset: reOnReset
85
101
  },
86
102
  formItems: items,
87
103
  gridOptions: {
@@ -1 +1 @@
1
- {"version":3,"file":"index.vue2.mjs","sources":["../../../src/components/form/index.vue"],"sourcesContent":["<template>\n <t-form\n ref=\"form\"\n :class=\"[\n 'qd-form',\n $slots.footer ? 'qd-form--has-footer' : '',\n reProps.descriptions ? 'qd-form--descriptions' : ''\n ]\"\n v-loading=\"formLoad\"\n v-bind=\"reProps.formOptions\"\n :data=\"data\"\n @submit=\"handleSubmit\"\n >\n <slot name=\"header\" :context=\"data\" />\n\n <slot v-bind=\"reProps.gridOptions\">\n <qd-grid v-bind=\"reProps.gridOptions\">\n <qd-form-item\n v-for=\"(item, index) in reProps.formItems\"\n :key=\"index\"\n :crud-mode=\"crudMode\"\n :context=\"data\"\n :default-clearable=\"defaultClearable\"\n v-bind=\"item\"\n />\n </qd-grid>\n </slot>\n\n <slot name=\"footer\" :context=\"data\" />\n </t-form>\n</template>\n\n<script setup lang=\"ts\" generic=\"FD extends Data = Data\">\n import type { Data, FormInstanceFunctions, SubmitContext } from 'tdesign-vue-next'\n import type { QdFormBeforeSubmitQueueItem, QdFormProps } from './types'\n import { computed, nextTick, provide, onBeforeUnmount, useTemplateRef, ref, onMounted } from 'vue'\n import { Form as TForm, LoadingDirective } from 'tdesign-vue-next'\n import QdFormItem from './item.vue'\n import { QdGrid } from '../grid'\n import { PROVIDE_FORM_ADD_BEFORE_SUBMIT_QUEUE } from './config'\n import { suspectedWrapperPromise, easyCopy } from 'qidian-shared'\n import { qdFormGrid, qdFormProps } from './props'\n import { useVModels } from '@vueuse/core'\n import { useModal } from '../../hooks/useModal'\n import { merge } from 'lodash-es'\n\n defineOptions({\n name: 'QdForm'\n })\n\n const vLoading = LoadingDirective\n\n type Props = QdFormProps<Data>\n\n const props = withDefaults(defineProps<QdFormProps<Data>>(), qdFormProps)\n const emit = defineEmits<{\n 'update:modelValue': [Props['data']]\n }>()\n const { data } = useVModels(props, emit, { passive: true })\n\n const { msgError } = useModal()\n\n const beforeSubmitQueue: QdFormBeforeSubmitQueueItem[] = [] // 提交前需要处理的队列\n provide(PROVIDE_FORM_ADD_BEFORE_SUBMIT_QUEUE, (item: QdFormBeforeSubmitQueueItem) => {\n const index = beforeSubmitQueue.length\n nextTick(() => {\n beforeSubmitQueue.push(item)\n })\n onBeforeUnmount(() => {\n beforeSubmitQueue.splice(index, 1)\n })\n })\n\n const formRef = useTemplateRef<FormInstanceFunctions>('form')\n const submitShowErrorMessage = ref<boolean | undefined>()\n\n const reProps = computed(() => {\n const {\n grid,\n gutter,\n descriptions,\n items,\n onSubmit,\n data,\n scrollToFirstError,\n loading: externalLoad,\n ...formOptions\n } = props\n\n return {\n descriptions,\n externalLoad,\n formOptions: {\n ...formOptions,\n labelAlign: descriptions ? 'left' : formOptions.labelAlign,\n scrollToFirstError: submitShowErrorMessage.value === false ? '' : scrollToFirstError\n },\n formItems: items,\n gridOptions: {\n grid: merge({}, qdFormGrid, grid),\n gutter: descriptions ? 0 : gutter\n },\n onSubmit,\n models: { data }\n }\n })\n\n const formLoad = computed(() => {\n return {\n loading: reProps.value.externalLoad,\n size: 'small',\n ...props.loadingProps\n }\n })\n\n async function handleSubmit(context: SubmitContext) {\n const showErrorMessage = submitShowErrorMessage.value ?? props.showErrorMessage\n submitShowErrorMessage.value = undefined\n\n if (showErrorMessage && context.firstError) {\n msgError(context.firstError)\n }\n\n if (context.validateResult === true || !showErrorMessage) {\n const queueRes = await Promise.all(\n beforeSubmitQueue.map((item) => suspectedWrapperPromise(item()))\n )\n\n const reQueueRes = { success: true, message: '' }\n queueRes.some(([err, res]) => {\n if (err) {\n reQueueRes.success = false\n reQueueRes.message = err.message\n return true\n }\n\n if (res === false) {\n reQueueRes.success = false\n return true\n }\n\n if (typeof res === 'object' && !res.success) {\n reQueueRes.success = false\n reQueueRes.message = res.message || ''\n return true\n }\n })\n\n if (reQueueRes.success === false) {\n if (showErrorMessage && reQueueRes.message) {\n msgError(reQueueRes.message)\n }\n return\n }\n }\n\n props.onSubmit?.({\n ...context,\n showErrorMessage,\n formData: easyCopy(data.value),\n crudMode: reProps.value.formOptions.crudMode\n })\n }\n\n const expose = {} as FormInstanceFunctions\n\n onMounted(() => {\n const submit: FormInstanceFunctions['submit'] = async (params) => {\n submitShowErrorMessage.value = params?.showErrorMessage\n formRef.value?.submit(params)\n }\n\n Object.assign(expose, formRef.value, { submit })\n })\n\n defineExpose(expose)\n</script>\n\n<style lang=\"less\" scoped>\n .qd-form {\n &--descriptions {\n :deep(.qd-grid) {\n border-top: 1px solid var(--td-component-border);\n border-left: 1px solid var(--td-component-border);\n }\n\n :deep(.qd-grid-item) {\n border-right: 1px solid var(--td-component-border);\n border-bottom: 1px solid var(--td-component-border);\n }\n\n :deep(.t-form) {\n &__item {\n display: flex;\n align-items: stretch;\n height: 100%;\n }\n\n &__label {\n display: flex;\n flex-direction: column;\n justify-content: center;\n background-color: var(--td-bg-color-secondarycontainer);\n padding: var(--td-comp-paddingLR-m) var(--td-comp-paddingLR-l);\n height: 100%;\n border-right: 1px solid var(--td-component-border);\n }\n\n &__controls {\n flex: 1 1 0;\n overflow: hidden;\n display: flex;\n flex-direction: column;\n justify-content: center;\n padding: var(--td-comp-paddingLR-m) var(--td-comp-paddingLR-l);\n margin-left: 0 !important;\n height: 100%;\n }\n }\n }\n }\n</style>\n"],"names":["data","_withDirectives","_openBlock","_createBlock","_unref","_mergeProps","$slots","_renderSlot","_normalizeProps","_guardReactiveProps","_createVNode","_createElementBlock","_Fragment"],"mappings":"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"}
1
+ {"version":3,"file":"index.vue2.mjs","sources":["../../../src/components/form/index.vue"],"sourcesContent":["<template>\n <t-form\n ref=\"form\"\n :class=\"[\n 'qd-form',\n $slots.footer ? 'qd-form--has-footer' : '',\n reProps.descriptions ? 'qd-form--descriptions' : ''\n ]\"\n v-loading=\"formLoad\"\n v-bind=\"reProps.formOptions\"\n :data=\"data\"\n @submit=\"handleSubmit\"\n >\n <slot name=\"header\" :context=\"data\" />\n\n <slot v-bind=\"reProps.gridOptions\">\n <qd-grid v-bind=\"reProps.gridOptions\">\n <qd-form-item\n v-for=\"(item, index) in reProps.formItems\"\n :key=\"index\"\n :crud-mode=\"crudMode\"\n :context=\"data\"\n :default-clearable=\"defaultClearable\"\n v-bind=\"item\"\n />\n </qd-grid>\n </slot>\n\n <slot name=\"footer\" :context=\"data\" />\n </t-form>\n</template>\n\n<script setup lang=\"ts\" generic=\"FD extends Data = Data\">\n import type { Data, FormInstanceFunctions, SubmitContext } from 'tdesign-vue-next'\n import type { QdFormBeforeSubmitQueueItem, QdFormProps } from './types'\n import { computed, nextTick, provide, onBeforeUnmount, useTemplateRef, ref, onMounted } from 'vue'\n import { Form as TForm, LoadingDirective } from 'tdesign-vue-next'\n import QdFormItem from './item.vue'\n import { QdGrid } from '../grid'\n import { PROVIDE_FORM_ADD_BEFORE_SUBMIT_QUEUE, PROVIDE_FORM_RESET_QUEUE } from './config'\n import { suspectedWrapperPromise, easyCopy } from 'qidian-shared'\n import { qdFormGrid, qdFormProps } from './props'\n import { useVModels } from '@vueuse/core'\n import { useModal } from '../../hooks/useModal'\n import { merge } from 'lodash-es'\n\n defineOptions({\n name: 'QdForm'\n })\n\n const vLoading = LoadingDirective\n\n type Props = QdFormProps<Data>\n\n const props = withDefaults(defineProps<QdFormProps<Data>>(), qdFormProps)\n const emit = defineEmits<{\n 'update:modelValue': [Props['data']]\n }>()\n const { data } = useVModels(props, emit, { passive: true })\n\n const { msgError } = useModal()\n\n const beforeSubmitQueue: QdFormBeforeSubmitQueueItem[] = [] // 提交前需要处理的队列\n provide(PROVIDE_FORM_ADD_BEFORE_SUBMIT_QUEUE, (item: QdFormBeforeSubmitQueueItem) => {\n const index = beforeSubmitQueue.length\n nextTick(() => {\n beforeSubmitQueue.push(item)\n })\n onBeforeUnmount(() => {\n beforeSubmitQueue.splice(index, 1)\n })\n })\n\n const resetQueue: (() => void)[] = []\n provide(PROVIDE_FORM_RESET_QUEUE, (item: (typeof resetQueue)[number]) => {\n const index = resetQueue.length\n nextTick(() => {\n resetQueue.push(item)\n })\n onBeforeUnmount(() => {\n resetQueue.splice(index, 1)\n })\n })\n\n const formRef = useTemplateRef<FormInstanceFunctions>('form')\n const submitShowErrorMessage = ref<boolean | undefined>()\n\n const reProps = computed(() => {\n const {\n grid,\n gutter,\n descriptions,\n items,\n onSubmit,\n data,\n scrollToFirstError,\n loading: externalLoad,\n onReset,\n ...formOptions\n } = props\n\n const reOnReset: typeof onReset = (context) => {\n resetQueue.forEach((item) => item())\n onReset?.(context)\n }\n\n return {\n descriptions,\n externalLoad,\n formOptions: {\n ...formOptions,\n labelAlign: descriptions ? 'left' : formOptions.labelAlign,\n scrollToFirstError: submitShowErrorMessage.value === false ? '' : scrollToFirstError,\n onReset: reOnReset,\n },\n formItems: items,\n gridOptions: {\n grid: merge({}, qdFormGrid, grid),\n gutter: descriptions ? 0 : gutter\n },\n onSubmit,\n models: { data }\n }\n })\n\n const formLoad = computed(() => {\n return {\n loading: reProps.value.externalLoad,\n size: 'small',\n ...props.loadingProps\n }\n })\n\n async function handleSubmit(context: SubmitContext) {\n const showErrorMessage = submitShowErrorMessage.value ?? props.showErrorMessage\n submitShowErrorMessage.value = undefined\n\n if (showErrorMessage && context.firstError) {\n msgError(context.firstError)\n }\n\n if (context.validateResult === true || !showErrorMessage) {\n const queueRes = await Promise.all(\n beforeSubmitQueue.map((item) => suspectedWrapperPromise(item()))\n )\n\n const reQueueRes = { success: true, message: '' }\n queueRes.some(([err, res]) => {\n if (err) {\n reQueueRes.success = false\n reQueueRes.message = err.message\n return true\n }\n\n if (res === false) {\n reQueueRes.success = false\n return true\n }\n\n if (typeof res === 'object' && !res.success) {\n reQueueRes.success = false\n reQueueRes.message = res.message || ''\n return true\n }\n })\n\n if (reQueueRes.success === false) {\n if (showErrorMessage && reQueueRes.message) {\n msgError(reQueueRes.message)\n }\n return\n }\n }\n\n props.onSubmit?.({\n ...context,\n showErrorMessage,\n formData: easyCopy(data.value),\n crudMode: reProps.value.formOptions.crudMode\n })\n }\n\n const expose = {} as FormInstanceFunctions\n\n onMounted(() => {\n const submit: FormInstanceFunctions['submit'] = async (params) => {\n submitShowErrorMessage.value = params?.showErrorMessage\n formRef.value?.submit(params)\n }\n\n Object.assign(expose, formRef.value, { submit })\n })\n\n defineExpose(expose)\n</script>\n\n<style lang=\"less\" scoped>\n .qd-form {\n &--descriptions {\n :deep(.qd-grid) {\n border-top: 1px solid var(--td-component-border);\n border-left: 1px solid var(--td-component-border);\n }\n\n :deep(.qd-grid-item) {\n border-right: 1px solid var(--td-component-border);\n border-bottom: 1px solid var(--td-component-border);\n }\n\n :deep(.t-form) {\n &__item {\n display: flex;\n align-items: stretch;\n height: 100%;\n }\n\n &__label {\n display: flex;\n flex-direction: column;\n justify-content: center;\n background-color: var(--td-bg-color-secondarycontainer);\n padding: var(--td-comp-paddingLR-m) var(--td-comp-paddingLR-l);\n height: 100%;\n border-right: 1px solid var(--td-component-border);\n }\n\n &__controls {\n flex: 1 1 0;\n overflow: hidden;\n display: flex;\n flex-direction: column;\n justify-content: center;\n padding: var(--td-comp-paddingLR-m) var(--td-comp-paddingLR-l);\n margin-left: 0 !important;\n height: 100%;\n }\n }\n }\n }\n</style>\n"],"names":["data","_withDirectives","_openBlock","_createBlock","_unref","_mergeProps","$slots","_renderSlot","_normalizeProps","_guardReactiveProps","_createVNode","_createElementBlock","_Fragment"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkDE,UAAM,WAAW;AAIjB,UAAM,QAAQ;AACd,UAAM,OAAO;AAGb,UAAM,EAAE,SAAS,WAAW,OAAO,MAAM,EAAE,SAAS,MAAM;AAE1D,UAAM,EAAE,SAAA,IAAa,SAAA;AAErB,UAAM,oBAAmD,CAAA;AACzD,YAAQ,sCAAsC,CAAC,SAAsC;AACnF,YAAM,QAAQ,kBAAkB;AAChC,eAAS,MAAM;AACb,0BAAkB,KAAK,IAAI;AAAA,MAC7B,CAAC;AACD,sBAAgB,MAAM;AACpB,0BAAkB,OAAO,OAAO,CAAC;AAAA,MACnC,CAAC;AAAA,IACH,CAAC;AAED,UAAM,aAA6B,CAAA;AACnC,YAAQ,0BAA0B,CAAC,SAAsC;AACvE,YAAM,QAAQ,WAAW;AACzB,eAAS,MAAM;AACb,mBAAW,KAAK,IAAI;AAAA,MACtB,CAAC;AACD,sBAAgB,MAAM;AACpB,mBAAW,OAAO,OAAO,CAAC;AAAA,MAC5B,CAAC;AAAA,IACH,CAAC;AAED,UAAM,UAAU,eAAsC,MAAM;AAC5D,UAAM,yBAAyB,IAAA;AAE/B,UAAM,UAAU,SAAS,MAAM;AAC7B,YAAM;AAAA,QACJ;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,MAAAA;AAAAA,QACA;AAAA,QACA,SAAS;AAAA,QACT;AAAA,QACA,GAAG;AAAA,MAAA,IACD;AAEJ,YAAM,YAA4B,CAAC,YAAY;AAC7C,mBAAW,QAAQ,CAAC,SAAS,KAAA,CAAM;AACnC,kBAAU,OAAO;AAAA,MACnB;AAEA,aAAO;AAAA,QACL;AAAA,QACA;AAAA,QACA,aAAa;AAAA,UACX,GAAG;AAAA,UACH,YAAY,eAAe,SAAS,YAAY;AAAA,UAChD,oBAAoB,uBAAuB,UAAU,QAAQ,KAAK;AAAA,UAClE,SAAS;AAAA,QAAA;AAAA,QAEX,WAAW;AAAA,QACX,aAAa;AAAA,UACX,MAAM,MAAM,IAAI,YAAY,IAAI;AAAA,UAChC,QAAQ,eAAe,IAAI;AAAA,QAAA;AAAA,QAE7B;AAAA,QACA,QAAQ,EAAE,MAAAA,MAAAA;AAAAA,MAAK;AAAA,IAEnB,CAAC;AAED,UAAM,WAAW,SAAS,MAAM;AAC9B,aAAO;AAAA,QACL,SAAS,QAAQ,MAAM;AAAA,QACvB,MAAM;AAAA,QACN,GAAG,MAAM;AAAA,MAAA;AAAA,IAEb,CAAC;AAED,mBAAe,aAAa,SAAwB;AAClD,YAAM,mBAAmB,uBAAuB,SAAS,MAAM;AAC/D,6BAAuB,QAAQ;AAE/B,UAAI,oBAAoB,QAAQ,YAAY;AAC1C,iBAAS,QAAQ,UAAU;AAAA,MAC7B;AAEA,UAAI,QAAQ,mBAAmB,QAAQ,CAAC,kBAAkB;AACxD,cAAM,WAAW,MAAM,QAAQ;AAAA,UAC7B,kBAAkB,IAAI,CAAC,SAAS,wBAAwB,KAAA,CAAM,CAAC;AAAA,QAAA;AAGjE,cAAM,aAAa,EAAE,SAAS,MAAM,SAAS,GAAA;AAC7C,iBAAS,KAAK,CAAC,CAAC,KAAK,GAAG,MAAM;AAC5B,cAAI,KAAK;AACP,uBAAW,UAAU;AACrB,uBAAW,UAAU,IAAI;AACzB,mBAAO;AAAA,UACT;AAEA,cAAI,QAAQ,OAAO;AACjB,uBAAW,UAAU;AACrB,mBAAO;AAAA,UACT;AAEA,cAAI,OAAO,QAAQ,YAAY,CAAC,IAAI,SAAS;AAC3C,uBAAW,UAAU;AACrB,uBAAW,UAAU,IAAI,WAAW;AACpC,mBAAO;AAAA,UACT;AAAA,QACF,CAAC;AAED,YAAI,WAAW,YAAY,OAAO;AAChC,cAAI,oBAAoB,WAAW,SAAS;AAC1C,qBAAS,WAAW,OAAO;AAAA,UAC7B;AACA;AAAA,QACF;AAAA,MACF;AAEA,YAAM,WAAW;AAAA,QACf,GAAG;AAAA,QACH;AAAA,QACA,UAAU,SAAS,KAAK,KAAK;AAAA,QAC7B,UAAU,QAAQ,MAAM,YAAY;AAAA,MAAA,CACrC;AAAA,IACH;AAEA,UAAM,SAAS,CAAA;AAEf,cAAU,MAAM;AACd,YAAM,SAA0C,OAAO,WAAW;AAChE,+BAAuB,QAAQ,QAAQ;AACvC,gBAAQ,OAAO,OAAO,MAAM;AAAA,MAC9B;AAEA,aAAO,OAAO,QAAQ,QAAQ,OAAO,EAAE,QAAQ;AAAA,IACjD,CAAC;AAED,aAAa,MAAM;;AAhMnB,aAAAC,gBAAAC,aAAAC,YA4BSC,aA5BTC,WA4BS;AAAA,QA3BP,KAAI;AAAA,QACH,OAAK;AAAA;UAA2BC,KAAAA,OAAO,SAAM,wBAAA;AAAA,UAAqC,QAAA,MAAQ,eAAY,0BAAA;AAAA,QAAA;AAAA,SAM/F,QAAA,MAAQ,aAAW;AAAA,QAC1B,MAAMF,MAAA,IAAA;AAAA,QACN,UAAQ;AAAA,MAAA;yBAET,MAAsC;AAAA,UAAtCG,WAAsC,KAAA,QAAA,UAAA,EAAjB,SAASH,MAAA,IAAA,EAAA,GAAI,QAAA,IAAA;AAAA,UAElCG,WAWO,KAAA,QAAA,WAAAC,eAAAC,mBAXO,QAAA,MAAQ,WAAW,IAAjC,MAWO;AAAA,YAVLC,YASUN,MAAA,MAAA,GAAAI,eAAAC,mBATO,QAAA,MAAQ,WAAW,CAAA,GAAA;AAAA,+BAEhC,MAA0C;AAAA,iBAD5CP,UAAA,IAAA,GAAAS,mBAOEC,2BANwB,QAAA,MAAQ,WAAS,CAAjC,MAAM,UAAK;AADrB,yBAAAV,UAAA,GAAAC,YAOE,YAPFE,WAOE;AAAA,oBALC,KAAK;AAAA,oBACL,aAAW,QAAA;AAAA,oBACX,SAASD,MAAA,IAAA;AAAA,oBACT,qBAAmB,QAAA;AAAA,kBAAA,sBACZ,IAAI,GAAA,MAAA,IAAA,CAAA,aAAA,WAAA,mBAAA,CAAA;AAAA;;;;;UAKlBG,WAAsC,KAAA,QAAA,UAAA,EAAjB,SAASH,MAAA,IAAA,KAAI,QAAA,IAAA;AAAA,QAAA;;;0BApBvB,SAAA,KAAQ;AAAA,MAAA;;;;"}
@@ -0,0 +1,2 @@
1
+ export { default as QdImportDialog } from './index.vue';
2
+ export type { QdImportDialogProps } from './types';
@@ -0,0 +1,14 @@
1
+ import type { QdImportDialogProps } from './types';
2
+ declare const _default: import("vue").DefineComponent<QdImportDialogProps, {
3
+ show: () => void;
4
+ hide: () => void;
5
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
6
+ "update:visible": (args_0: boolean | undefined) => any;
7
+ }, string, import("vue").PublicProps, Readonly<QdImportDialogProps> & Readonly<{
8
+ "onUpdate:visible"?: ((args_0: boolean | undefined) => any) | undefined;
9
+ }>, {
10
+ name: string;
11
+ accept: string[];
12
+ method: "POST" | "GET" | "PUT" | "OPTIONS" | "PATCH" | "post" | "get" | "put" | "options" | "patch";
13
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
14
+ export default _default;