qidian-vue-ui 1.1.45 → 1.1.47

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 (32) hide show
  1. package/dist/components/dialog/form.vue.mjs +2 -4
  2. package/dist/components/dialog/form.vue.mjs.map +1 -1
  3. package/dist/components/dialog/index.vue.mjs +3 -1
  4. package/dist/components/dialog/index.vue.mjs.map +1 -1
  5. package/dist/components/dialog/types.d.ts +1 -1
  6. package/dist/components/service-dialog-table-select/define.d.ts +4 -0
  7. package/dist/components/service-dialog-table-select/define.mjs +7 -0
  8. package/dist/components/service-dialog-table-select/define.mjs.map +1 -0
  9. package/dist/components/service-dialog-table-select/index.d.ts +1 -0
  10. package/dist/components/service-dialog-table-select/index.vue.d.ts +4 -0
  11. package/dist/components/service-dialog-table-select/index.vue.mjs +1 -1
  12. package/dist/components/service-dialog-table-select/index.vue2.mjs +46 -24
  13. package/dist/components/service-dialog-table-select/index.vue2.mjs.map +1 -1
  14. package/dist/components/service-dialog-table-select/props.d.ts +13 -14
  15. package/dist/components/service-dialog-table-select/props.mjs +2 -1
  16. package/dist/components/service-dialog-table-select/props.mjs.map +1 -1
  17. package/dist/components/service-dialog-table-select/types.d.ts +6 -1
  18. package/dist/components/service-popup-table-select/define.d.ts +4 -0
  19. package/dist/components/service-popup-table-select/define.mjs +7 -0
  20. package/dist/components/service-popup-table-select/define.mjs.map +1 -0
  21. package/dist/components/service-popup-table-select/index.d.ts +1 -0
  22. package/dist/components/service-popup-table-select/index.vue.d.ts +4 -0
  23. package/dist/components/service-popup-table-select/index.vue.mjs +1 -1
  24. package/dist/components/service-popup-table-select/index.vue2.mjs +5 -3
  25. package/dist/components/service-popup-table-select/index.vue2.mjs.map +1 -1
  26. package/dist/components/upload/index.vue.mjs +1 -1
  27. package/dist/components/upload/index.vue2.mjs +14 -7
  28. package/dist/components/upload/index.vue2.mjs.map +1 -1
  29. package/dist/index.mjs +4 -0
  30. package/dist/index.mjs.map +1 -1
  31. package/dist/qidian-vue-ui.css +64 -31
  32. package/package.json +1 -1
@@ -98,11 +98,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
98
98
  cancelBtn: loading || reConfirmLoading ? typeof wrapper.cancelBtn === "object" ? { ...wrapper.cancelBtn, disabled: true } : { disabled: true } : wrapper.cancelBtn,
99
99
  onConfirm: (done) => {
100
100
  const onConfirm = wrapper.onConfirm;
101
- if (onConfirm) {
102
- onConfirm?.(done);
103
- return;
104
- }
101
+ if (onConfirm) return onConfirm?.(done);
105
102
  formRef.value?.submit();
103
+ return false;
106
104
  }
107
105
  },
108
106
  models: { data: data2, visible: inVisible }
@@ -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 } 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) return\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) {\n onConfirm?.(done)\n return\n }\n\n formRef.value?.submit()\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) return\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 formRef.value?.submit()\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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"}
@@ -68,12 +68,14 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
68
68
  const onConfirm = dialogOptions.onConfirm;
69
69
  if (!onConfirm) return;
70
70
  confirmLoad.value = true;
71
- suspectedWrapperPromise(
71
+ const [err, res] = await suspectedWrapperPromise(
72
72
  onConfirm((closed) => {
73
73
  visible.value = !closed;
74
74
  })
75
75
  );
76
76
  confirmLoad.value = false;
77
+ if (err || res === false) return;
78
+ visible.value = false;
77
79
  }
78
80
  },
79
81
  models: { visible: inVisible }
@@ -1 +1 @@
1
- {"version":3,"file":"index.vue.mjs","sources":["../../../src/components/dialog/index.vue"],"sourcesContent":["<template>\n <t-dialog v-model:visible=\"visible\" class=\"qd-dialog\" v-bind=\"reProps.dialogOptions\">\n <template v-for=\"(_, name) in $slots\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </t-dialog>\n</template>\n\n<script setup lang=\"ts\">\n import type { QdDialogInstanceFunctions, QdDialogProps } from './types'\n import { qdDialogProps } from './props'\n import { Dialog as TDialog } from 'tdesign-vue-next'\n import { useVModels } from '@vueuse/core'\n import { computed, ref } from 'vue'\n import { suspectedWrapperPromise } from 'qidian-shared'\n\n defineOptions({\n name: 'QdDialog'\n })\n\n const props = withDefaults(defineProps<QdDialogProps>(), qdDialogProps)\n const emit = defineEmits<{\n 'update:visible': [QdDialogProps['visible']]\n }>()\n const { visible } = useVModels(props, emit, { passive: true })\n\n const confirmLoad = ref(false)\n\n const reProps = computed(() => {\n const { visible: inVisible, confirmLoading, ...dialogOptions } = props\n const reConfirmLoading = confirmLoad.value || confirmLoading\n\n return {\n dialogOptions: {\n ...dialogOptions,\n\n confirmLoading: reConfirmLoading,\n closeOnEscKeydown: reConfirmLoading ? false : dialogOptions.closeOnEscKeydown,\n closeOnOverlayClick: reConfirmLoading ? false : dialogOptions.closeOnOverlayClick,\n closeBtn: reConfirmLoading ? false : dialogOptions.closeBtn,\n\n cancelBtn: reConfirmLoading\n ? typeof dialogOptions.cancelBtn === 'object'\n ? { ...dialogOptions.cancelBtn, disabled: true }\n : { disabled: true }\n : dialogOptions.cancelBtn,\n\n onConfirm: async () => {\n const onConfirm = dialogOptions.onConfirm\n if (!onConfirm) return\n\n confirmLoad.value = true\n suspectedWrapperPromise(\n onConfirm((closed) => {\n visible.value = !closed\n })\n )\n confirmLoad.value = false\n }\n },\n models: { visible: inVisible }\n }\n })\n\n function show() {\n visible.value = true\n }\n\n function hide() {\n visible.value = false\n }\n\n const expose: QdDialogInstanceFunctions = { show, hide }\n\n defineExpose(expose)\n</script>\n\n<style lang=\"less\">\n .qd-dialog {\n .t-dialog__wrap > .t-dialog__position > .t-dialog > .t-dialog__body {\n overflow: visible;\n }\n }\n</style>\n"],"names":["_openBlock","_createBlock","_unref","_mergeProps","_createSlots","$slots","_withCtx","_renderSlot","_normalizeProps","_guardReactiveProps"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBE,UAAM,QAAQ;AACd,UAAM,OAAO;AAGb,UAAM,EAAE,YAAY,WAAW,OAAO,MAAM,EAAE,SAAS,MAAM;AAE7D,UAAM,cAAc,IAAI,KAAK;AAE7B,UAAM,UAAU,SAAS,MAAM;AAC7B,YAAM,EAAE,SAAS,WAAW,gBAAgB,GAAG,kBAAkB;AACjE,YAAM,mBAAmB,YAAY,SAAS;AAE9C,aAAO;AAAA,QACL,eAAe;AAAA,UACb,GAAG;AAAA,UAEH,gBAAgB;AAAA,UAChB,mBAAmB,mBAAmB,QAAQ,cAAc;AAAA,UAC5D,qBAAqB,mBAAmB,QAAQ,cAAc;AAAA,UAC9D,UAAU,mBAAmB,QAAQ,cAAc;AAAA,UAEnD,WAAW,mBACP,OAAO,cAAc,cAAc,WACjC,EAAE,GAAG,cAAc,WAAW,UAAU,KAAA,IACxC,EAAE,UAAU,KAAA,IACd,cAAc;AAAA,UAElB,WAAW,YAAY;AACrB,kBAAM,YAAY,cAAc;AAChC,gBAAI,CAAC,UAAW;AAEhB,wBAAY,QAAQ;AACpB;AAAA,cACE,UAAU,CAAC,WAAW;AACpB,wBAAQ,QAAQ,CAAC;AAAA,cACnB,CAAC;AAAA,YAAA;AAEH,wBAAY,QAAQ;AAAA,UACtB;AAAA,QAAA;AAAA,QAEF,QAAQ,EAAE,SAAS,UAAA;AAAA,MAAU;AAAA,IAEjC,CAAC;AAED,aAAS,OAAO;AACd,cAAQ,QAAQ;AAAA,IAClB;AAEA,aAAS,OAAO;AACd,cAAQ,QAAQ;AAAA,IAClB;AAEA,UAAM,SAAoC,EAAE,MAAM,KAAA;AAElD,aAAa,MAAM;;AAzEnB,aAAAA,aAAAC,YAIWC,eAJXC,WAIW;AAAA,QAJO,SAASD,MAAA,OAAA;AAAA,mFAAA,QAAO,QAAA,SAAA;AAAA,QAAE,OAAM;AAAA,MAAA,GAAoB,QAAA,MAAQ,aAAa,GAAAE,YAAA,EAAA,GAAA,KAAA;AAAA,mBACnDC,KAAAA,QAAM,CAAlB,GAAG,SAAI;;;YACvB,IAAAC,QAAA,CAD6C,cAAS;AAAA,cACtDC,WAAwC,KAAA,QAA3B,MAAIC,eAAAC,mBAAU,SAAS,CAAA,CAAA;AAAA,YAAA;;;;;;;"}
1
+ {"version":3,"file":"index.vue.mjs","sources":["../../../src/components/dialog/index.vue"],"sourcesContent":["<template>\n <t-dialog v-model:visible=\"visible\" class=\"qd-dialog\" v-bind=\"reProps.dialogOptions\">\n <template v-for=\"(_, name) in $slots\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </t-dialog>\n</template>\n\n<script setup lang=\"ts\">\n import type { QdDialogInstanceFunctions, QdDialogProps } from './types'\n import { qdDialogProps } from './props'\n import { Dialog as TDialog } from 'tdesign-vue-next'\n import { useVModels } from '@vueuse/core'\n import { computed, ref } from 'vue'\n import { suspectedWrapperPromise } from 'qidian-shared'\n\n defineOptions({\n name: 'QdDialog'\n })\n\n const props = withDefaults(defineProps<QdDialogProps>(), qdDialogProps)\n const emit = defineEmits<{\n 'update:visible': [QdDialogProps['visible']]\n }>()\n const { visible } = useVModels(props, emit, { passive: true })\n\n const confirmLoad = ref(false)\n\n const reProps = computed(() => {\n const { visible: inVisible, confirmLoading, ...dialogOptions } = props\n const reConfirmLoading = confirmLoad.value || confirmLoading\n\n return {\n dialogOptions: {\n ...dialogOptions,\n\n confirmLoading: reConfirmLoading,\n closeOnEscKeydown: reConfirmLoading ? false : dialogOptions.closeOnEscKeydown,\n closeOnOverlayClick: reConfirmLoading ? false : dialogOptions.closeOnOverlayClick,\n closeBtn: reConfirmLoading ? false : dialogOptions.closeBtn,\n\n cancelBtn: reConfirmLoading\n ? typeof dialogOptions.cancelBtn === 'object'\n ? { ...dialogOptions.cancelBtn, disabled: true }\n : { disabled: true }\n : dialogOptions.cancelBtn,\n\n onConfirm: async () => {\n const onConfirm = dialogOptions.onConfirm\n if (!onConfirm) return\n\n confirmLoad.value = true\n const [err, res] = await suspectedWrapperPromise(\n onConfirm((closed) => {\n visible.value = !closed\n })\n )\n confirmLoad.value = false\n if (err || res === false) return\n\n visible.value = false\n }\n },\n models: { visible: inVisible }\n }\n })\n\n function show() {\n visible.value = true\n }\n\n function hide() {\n visible.value = false\n }\n\n const expose: QdDialogInstanceFunctions = { show, hide }\n\n defineExpose(expose)\n</script>\n\n<style lang=\"less\">\n .qd-dialog {\n .t-dialog__wrap > .t-dialog__position > .t-dialog > .t-dialog__body {\n overflow: visible;\n }\n }\n</style>\n"],"names":["_openBlock","_createBlock","_unref","_mergeProps","_createSlots","$slots","_withCtx","_renderSlot","_normalizeProps","_guardReactiveProps"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBE,UAAM,QAAQ;AACd,UAAM,OAAO;AAGb,UAAM,EAAE,YAAY,WAAW,OAAO,MAAM,EAAE,SAAS,MAAM;AAE7D,UAAM,cAAc,IAAI,KAAK;AAE7B,UAAM,UAAU,SAAS,MAAM;AAC7B,YAAM,EAAE,SAAS,WAAW,gBAAgB,GAAG,kBAAkB;AACjE,YAAM,mBAAmB,YAAY,SAAS;AAE9C,aAAO;AAAA,QACL,eAAe;AAAA,UACb,GAAG;AAAA,UAEH,gBAAgB;AAAA,UAChB,mBAAmB,mBAAmB,QAAQ,cAAc;AAAA,UAC5D,qBAAqB,mBAAmB,QAAQ,cAAc;AAAA,UAC9D,UAAU,mBAAmB,QAAQ,cAAc;AAAA,UAEnD,WAAW,mBACP,OAAO,cAAc,cAAc,WACjC,EAAE,GAAG,cAAc,WAAW,UAAU,KAAA,IACxC,EAAE,UAAU,KAAA,IACd,cAAc;AAAA,UAElB,WAAW,YAAY;AACrB,kBAAM,YAAY,cAAc;AAChC,gBAAI,CAAC,UAAW;AAEhB,wBAAY,QAAQ;AACpB,kBAAM,CAAC,KAAK,GAAG,IAAI,MAAM;AAAA,cACvB,UAAU,CAAC,WAAW;AACpB,wBAAQ,QAAQ,CAAC;AAAA,cACnB,CAAC;AAAA,YAAA;AAEH,wBAAY,QAAQ;AACpB,gBAAI,OAAO,QAAQ,MAAO;AAE1B,oBAAQ,QAAQ;AAAA,UAClB;AAAA,QAAA;AAAA,QAEF,QAAQ,EAAE,SAAS,UAAA;AAAA,MAAU;AAAA,IAEjC,CAAC;AAED,aAAS,OAAO;AACd,cAAQ,QAAQ;AAAA,IAClB;AAEA,aAAS,OAAO;AACd,cAAQ,QAAQ;AAAA,IAClB;AAEA,UAAM,SAAoC,EAAE,MAAM,KAAA;AAElD,aAAa,MAAM;;AA5EnB,aAAAA,aAAAC,YAIWC,eAJXC,WAIW;AAAA,QAJO,SAASD,MAAA,OAAA;AAAA,mFAAA,QAAO,QAAA,SAAA;AAAA,QAAE,OAAM;AAAA,MAAA,GAAoB,QAAA,MAAQ,aAAa,GAAAE,YAAA,EAAA,GAAA,KAAA;AAAA,mBACnDC,KAAAA,QAAM,CAAlB,GAAG,SAAI;;;YACvB,IAAAC,QAAA,CAD6C,cAAS;AAAA,cACtDC,WAAwC,KAAA,QAA3B,MAAIC,eAAAC,mBAAU,SAAS,CAAA,CAAA;AAAA,YAAA;;;;;;;"}
@@ -2,7 +2,7 @@ import type { Data, FormInstanceFunctions, TdDialogProps } from 'tdesign-vue-nex
2
2
  import type { QdFormProps, QdFormSubmitContext } from '../form';
3
3
  export type QdDialogDone = (closed: boolean) => void;
4
4
  export interface QdDialogProps extends Omit<TdDialogProps, 'onConfirm'> {
5
- onConfirm?: (done: QdDialogDone) => void | Promise<void>;
5
+ onConfirm?: (done: QdDialogDone) => void | boolean | Promise<void | boolean>;
6
6
  }
7
7
  export interface QdDialogInstanceFunctions {
8
8
  show: () => void;
@@ -0,0 +1,4 @@
1
+ import type { QdServiceDialogTableSelectProps } from './types';
2
+ import type { TableRowData } from 'tdesign-vue-next';
3
+ import type { ServicePageParams, ServicePagination } from 'qidian-shared';
4
+ export declare function defineQdServiceDialogTableSelect<D extends TableRowData = TableRowData, R = unknown, P = ServicePageParams, TP = P, Pag extends ServicePagination = ServicePagination>(config: QdServiceDialogTableSelectProps<D, R, P, TP, Pag>): QdServiceDialogTableSelectProps<D, R, P, TP, Pag>;
@@ -0,0 +1,7 @@
1
+ function defineQdServiceDialogTableSelect(config) {
2
+ return config;
3
+ }
4
+ export {
5
+ defineQdServiceDialogTableSelect
6
+ };
7
+ //# sourceMappingURL=define.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"define.mjs","sources":["../../../src/components/service-dialog-table-select/define.ts"],"sourcesContent":["import type { QdServiceDialogTableSelectProps } from './types'\nimport type { TableRowData } from 'tdesign-vue-next'\nimport type { ServicePageParams, ServicePagination } from 'qidian-shared'\n\n/**\n * 定义 Service Dialog Table Select 配置,提供类型推导\n */\nexport function defineQdServiceDialogTableSelect<\n D extends TableRowData = TableRowData,\n R = unknown,\n P = ServicePageParams,\n TP = P,\n Pag extends ServicePagination = ServicePagination\n>(config: QdServiceDialogTableSelectProps<D, R, P, TP, Pag>): QdServiceDialogTableSelectProps<D, R, P, TP, Pag> {\n return config\n}"],"names":[],"mappings":"AAOO,SAAS,iCAMd,QAA8G;AAC9G,SAAO;AACT;"}
@@ -1,2 +1,3 @@
1
1
  export { default as QdServiceDialogTableSelect } from './index.vue';
2
2
  export type { QdServiceDialogTableSelectProps } from './types';
3
+ export * from './define';
@@ -20,6 +20,10 @@ declare const _default: <D extends TableRowData = TableRowData, R = unknown, P =
20
20
  [x: string]: ((props: any) => any) | undefined;
21
21
  } & {
22
22
  [x: string]: ((props: any) => any) | undefined;
23
+ } & {
24
+ default?: (props: {
25
+ selectedRows: import("@vue/reactivity").UnwrapRefSimple<D>[];
26
+ }) => any;
23
27
  } & {
24
28
  'add-input'?: (props: {
25
29
  addCustom: {
@@ -1,7 +1,7 @@
1
1
  import _sfc_main from "./index.vue2.mjs";
2
2
  /* empty css */
3
3
  import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
4
- const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-272623c9"]]);
4
+ const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-22654679"]]);
5
5
  export {
6
6
  index as default
7
7
  };
@@ -1,4 +1,4 @@
1
- import { defineComponent, mergeDefaults, useTemplateRef, ref, reactive, computed, createVNode, watch, onMounted, createElementBlock, openBlock, Fragment, unref, mergeProps, isRef, withCtx, createSlots, renderList, renderSlot, normalizeProps, guardReactiveProps } from "vue";
1
+ import { defineComponent, mergeDefaults, useTemplateRef, ref, reactive, computed, createVNode, watch, onMounted, createElementBlock, openBlock, Fragment, createElementVNode, mergeProps, renderSlot, unref, isRef, withCtx, createSlots, renderList, normalizeProps, guardReactiveProps } from "vue";
2
2
  import { isEmpty, extractSlotsWithPrefix, identifyType } from "qidian-shared";
3
3
  import { Select, Input, Space, Button } from "tdesign-vue-next";
4
4
  import { AddIcon, SearchIcon } from "tdesign-icons-vue-next";
@@ -39,6 +39,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
39
39
  onCreate: {
40
40
  type: Function
41
41
  },
42
+ onConfirm: {
43
+ type: Function
44
+ },
42
45
  tableSize: {},
43
46
  visible: {
44
47
  type: Boolean
@@ -370,6 +373,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
370
373
  onClear,
371
374
  onCreate,
372
375
  onChange,
376
+ onConfirm,
373
377
  search,
374
378
  tableSize,
375
379
  addBtn,
@@ -412,6 +416,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
412
416
  }, typeof addInput === "string" ? {
413
417
  placeholder: addInput
414
418
  } : addInput);
419
+ const dialogOptions = merge({}, {
420
+ header: placeholder
421
+ }, wrapper);
415
422
  return {
416
423
  creatable,
417
424
  fillOptions,
@@ -425,7 +432,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
425
432
  placeholder,
426
433
  size
427
434
  },
428
- dialogOptions: wrapper,
435
+ dialogOptions,
429
436
  tableOptions: {
430
437
  ...tableOptions,
431
438
  size: tableSize,
@@ -439,6 +446,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
439
446
  onClear,
440
447
  onCreate,
441
448
  onChange,
449
+ onConfirm,
442
450
  addBtnOptions,
443
451
  addConfirmBtnOptions,
444
452
  addCancelBtnOptions,
@@ -461,9 +469,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
461
469
  function handleSelectChange(rowKeys, options) {
462
470
  latestSelectedRows = options.selectedRowData;
463
471
  }
464
- function handleConfirm() {
472
+ function handleConfirm(done) {
465
473
  selectedRows.value = latestSelectedRows;
466
- visible.value = false;
467
474
  const {
468
475
  selectOptions
469
476
  } = reProps.value;
@@ -472,36 +479,30 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
472
479
  if (selectOptions.valueType === "value") {
473
480
  modelValue.value = selectOptions.multiple ? latestSelectedRows.map((item) => get(item, valueKey)) : get(latestSelectedRows[0], valueKey);
474
481
  } else {
475
- const rows = selectedRows.value.map((item) => ({
482
+ const rows = latestSelectedRows.map((item) => ({
476
483
  [valueKey]: get(item, valueKey),
477
484
  [labelKey]: get(item, labelKey)
478
485
  }));
479
486
  modelValue.value = selectOptions.multiple ? rows : rows[0];
480
487
  }
481
- reProps.value.onChange?.(modelValue.value, {
488
+ const eventParams = [modelValue.value, {
482
489
  option: latestSelectedRows[latestSelectedRows.length - 1],
483
490
  selectedOptions: latestSelectedRows,
484
491
  trigger: "check"
485
- });
492
+ }];
493
+ reProps.value.onChange?.(...eventParams);
494
+ const onConfirm = reProps.value.onConfirm;
495
+ if (!onConfirm) {
496
+ visible.value = false;
497
+ return;
498
+ }
499
+ return onConfirm(...eventParams, done);
486
500
  }
487
501
  function openDialog() {
488
502
  const {
489
503
  selectOptions
490
504
  } = reProps.value;
491
505
  if (selectOptions.readonly || selectOptions.disabled) return;
492
- const valueKey = selectOptions.keys?.value || qdServiceSelectKeys.value;
493
- if (identifyType(modelValue.value) === "array") {
494
- selectedRowKeys.value = modelValue.value.map((item) => {
495
- if (identifyType(item) === "object") {
496
- return get(item, valueKey);
497
- }
498
- return item;
499
- });
500
- } else if (identifyType(modelValue.value) === "object") {
501
- selectedRowKeys.value = [get(modelValue.value, valueKey)];
502
- } else {
503
- selectedRowKeys.value = isEmpty(modelValue.value) ? [] : [modelValue.value];
504
- }
505
506
  visible.value = true;
506
507
  }
507
508
  function handleClear(context) {
@@ -533,6 +534,22 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
533
534
  }
534
535
  function handleBeforeOpen() {
535
536
  fillOptionsWatchStop?.();
537
+ const {
538
+ selectOptions
539
+ } = reProps.value;
540
+ const valueKey = selectOptions.keys?.value || qdServiceSelectKeys.value;
541
+ if (identifyType(modelValue.value) === "array") {
542
+ selectedRowKeys.value = modelValue.value.map((item) => {
543
+ if (identifyType(item) === "object") {
544
+ return get(item, valueKey);
545
+ }
546
+ return item;
547
+ });
548
+ } else if (identifyType(modelValue.value) === "object") {
549
+ selectedRowKeys.value = [get(modelValue.value, valueKey)];
550
+ } else {
551
+ selectedRowKeys.value = isEmpty(modelValue.value) ? [] : [modelValue.value];
552
+ }
536
553
  }
537
554
  function handleClosed() {
538
555
  if (addCustom.visible) cancelAddCustom();
@@ -554,19 +571,24 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
554
571
  Object.assign(expose, dialogRef.value);
555
572
  });
556
573
  return (_ctx, _cache) => {
557
- return openBlock(), createElementBlock(Fragment, null, [createVNode(unref(Select), mergeProps({
558
- class: ["qd-dialog-table-select", reProps.value.selectOptions.readonly ? "qd-dialog-table-select--readonly" : "", reProps.value.selectOptions.disabled ? "qd-dialog-table-select--disabled" : ""],
574
+ return openBlock(), createElementBlock(Fragment, null, [createElementVNode("div", mergeProps({
575
+ class: "qd-dialog-table-select"
576
+ }, _ctx.$attrs, {
577
+ onClick: openDialog
578
+ }), [renderSlot(_ctx.$slots, "default", {
579
+ selectedRows: selectedRows.value
580
+ }, () => [createVNode(unref(Select), mergeProps({
581
+ class: ["qd-dialog-table-select__trigger", reProps.value.selectOptions.readonly ? "qd-dialog-table-select__trigger--readonly" : "", reProps.value.selectOptions.disabled ? "qd-dialog-table-select__trigger--disabled" : ""],
559
582
  modelValue: unref(modelValue),
560
583
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(modelValue) ? modelValue.value = $event : null),
561
584
  options: selectedRows.value,
562
585
  "popup-visible": false
563
586
  }, reProps.value.selectOptions, {
564
- onClick: openDialog,
565
587
  onClear: handleClear
566
588
  }), {
567
589
  suffixIcon: withCtx(() => [createVNode(unref(SearchIcon))]),
568
590
  _: 1
569
- }, 16, ["class", "modelValue", "options"]), createVNode(unref(_sfc_main$1), mergeProps({
591
+ }, 16, ["class", "modelValue", "options"])], true)], 16), createVNode(unref(_sfc_main$1), mergeProps({
570
592
  ref: "dialog",
571
593
  visible: unref(visible),
572
594
  "onUpdate:visible": _cache[12] || (_cache[12] = ($event) => isRef(visible) ? visible.value = $event : null)
@@ -1 +1 @@
1
- {"version":3,"file":"index.vue2.mjs","sources":["../../../src/components/service-dialog-table-select/index.vue"],"sourcesContent":["<template>\n <t-select\n :class=\"[\n 'qd-dialog-table-select',\n reProps.selectOptions.readonly ? 'qd-dialog-table-select--readonly' : '',\n reProps.selectOptions.disabled ? 'qd-dialog-table-select--disabled' : ''\n ]\"\n v-model=\"modelValue\"\n :options=\"selectedRows\"\n :popup-visible=\"false\"\n v-bind=\"reProps.selectOptions\"\n @click=\"openDialog\"\n @clear=\"handleClear\"\n >\n <template #suffixIcon>\n <search-icon />\n </template>\n </t-select>\n\n <qd-dialog\n ref=\"dialog\"\n v-model:visible=\"visible\"\n v-bind=\"reProps.dialogOptions\"\n @confirm=\"handleConfirm\"\n @before-open=\"handleBeforeOpen\"\n @closed=\"handleClosed\"\n >\n <qd-crud-table\n class=\"qd-dialog-table-select__table\"\n v-model:search-data=\"searchData\"\n v-model:data=\"data\"\n v-model:selected-row-keys=\"selectedRowKeys\"\n v-model:active-row-keys=\"selectedRowKeys\"\n v-model:column-controller-visible=\"columnControllerVisible\"\n v-model:display-columns=\"displayColumns\"\n v-model:expanded-rowKeys=\"expandedRowKeys\"\n v-model:filter-value=\"filterValue\"\n v-model:sort=\"sort\"\n v-model:expanded-tree-nodes=\"expandedTreeNodes\"\n reserve-selected-row-on-paginate\n active-row-type=\"multiple\"\n v-bind=\"reProps.tableOptions\"\n @select-change=\"handleSelectChange\"\n >\n <template v-if=\"reProps.creatable\" #table-bottom-content>\n <div v-if=\"addCustom.visible\" class=\"qd-dialog-table-select__table-add\">\n <slot name=\"add-input\" :add-custom=\"addCustom\">\n <t-input v-model=\"addCustom.value\" v-bind=\"reProps.addInputOptions\" />\n </slot>\n\n <t-space size=\"small\">\n <slot name=\"add-confirm-btn\" :add-custom=\"addCustom\">\n <t-button v-bind=\"reProps.addConfirmBtnOptions\" />\n </slot>\n\n <slot name=\"add-cancel-btn\" :add-custom=\"addCustom\">\n <t-button v-bind=\"reProps.addCancelBtnOptions\" />\n </slot>\n </t-space>\n </div>\n\n <slot v-else name=\"add-btn\" :add-custom=\"addCustom\">\n <t-button class=\"qd-dialog-table-select__table-add\" v-bind=\"reProps.addBtnOptions\" />\n </slot>\n </template>\n\n <template\n v-for=\"item in extractSlotsWithPrefix($slots, 'search')\"\n #[item.filterName]=\"slotProps\"\n >\n <slot :name=\"item.originalName\" v-bind=\"slotProps\" />\n </template>\n\n <template\n v-for=\"item in extractSlotsWithPrefix($slots, 'table')\"\n #[item.filterName]=\"slotProps\"\n >\n <slot :name=\"item.originalName\" v-bind=\"slotProps\" />\n </template>\n </qd-crud-table>\n </qd-dialog>\n</template>\n\n<script\n setup\n lang=\"tsx\"\n generic=\"\n D extends TableRowData = TableRowData,\n R = unknown,\n P = ServicePageParams,\n TP = P,\n Pag extends ServicePagination = ServicePagination\n \"\n>\n import type {\n SelectOptions,\n SelectValue,\n TableRowData,\n TdButtonProps,\n TdInputProps\n } from 'tdesign-vue-next'\n import type { ServicePageParams, ServicePagination } from 'qidian-shared'\n import type {\n QdDialogTableSelectInstanceFunctions,\n QdServiceDialogTableSelectProps\n } from './types'\n import type { QdDialogInstanceFunctions } from '../dialog'\n import type { QdCrudTableProps } from '../crud'\n import { extractSlotsWithPrefix, identifyType, isEmpty } from 'qidian-shared'\n import {\n Select as TSelect,\n Button as TButton,\n Input as TInput,\n Space as TSpace\n } from 'tdesign-vue-next'\n import type { WatchHandle } from 'vue'\n import { AddIcon, SearchIcon } from 'tdesign-icons-vue-next'\n import { qdDialogTableSelectSearchGrid, qdServiceDialogTableSelectProps } from './props'\n import { computed, onMounted, reactive, ref, useTemplateRef, watch } from 'vue'\n import { useVModels } from '@vueuse/core'\n import { QdDialog } from '../dialog'\n import { QdCrudTable } from '../crud'\n import { qdServiceSelectKeys } from '../service-select/props'\n import { useDisabled, useReadonly } from '../../hooks'\n import { get, merge } from 'lodash-es'\n import { useConfig } from '../config-provider/useConfig'\n\n defineOptions({\n name: 'QdServiceDialogTableSelect'\n })\n\n type Props = QdServiceDialogTableSelectProps<D, R, P, TP, Pag>\n\n const props = withDefaults(defineProps<Props>(), qdServiceDialogTableSelectProps)\n const emit = defineEmits<{\n 'update:modelValue': [Props['modelValue']]\n 'update:visible': [Props['visible']]\n\n 'update:searchData': [Props['searchData']]\n 'update:data': [Props['data']]\n 'update:columnControllerVisible': [Props['columnControllerVisible']]\n 'update:displayColumns': [Props['displayColumns']]\n 'update:expandedRowKeys': [Props['expandedRowKeys']]\n 'update:filterValue': [Props['filterValue']]\n 'update:sort': [Props['sort']]\n 'update:expandedTreeNodes': [Props['expandedTreeNodes']]\n }>()\n const {\n modelValue,\n visible,\n searchData,\n data,\n columnControllerVisible,\n displayColumns,\n expandedRowKeys,\n filterValue,\n sort,\n expandedTreeNodes\n } = useVModels<typeof props, keyof typeof emit>(props, emit, {\n passive: true\n })\n\n const { t } = useConfig('dialogTableSelect')\n const tdReadonly = useReadonly()\n const tdDisabled = useDisabled()\n const dialogRef = useTemplateRef<QdDialogInstanceFunctions>('dialog')\n\n const selectedRowKeys = ref<(string | number)[]>([])\n const selectedRows = ref<D[]>([])\n let latestSelectedRows: D[] = []\n\n const addCustom = reactive({\n visible: false,\n value: ''\n })\n const addConfirmDisabled = computed(() => isEmpty(addCustom.value))\n\n const reProps = computed(() => {\n const {\n modelValue,\n visible,\n fillOptions,\n searchData,\n data,\n columnControllerVisible,\n displayColumns,\n expandedRowKeys,\n filterValue,\n sort,\n expandedTreeNodes,\n wrapper,\n readonly,\n\n multiple,\n disabled,\n keys,\n valueType,\n clearable,\n creatable,\n placeholder,\n size,\n\n onClear,\n onCreate,\n onChange,\n\n search,\n tableSize,\n\n addBtn,\n addConfirmBtn,\n addCancelBtn,\n addInput,\n\n ...tableOptions\n } = props\n\n const addBtnOptions: TdButtonProps = merge(\n {},\n {\n block: true,\n theme: 'primary',\n variant: 'dashed',\n icon: () => <AddIcon />,\n content: t('addText'),\n onClick: () => {\n addCustom.visible = true\n }\n },\n typeof addBtn === 'string' ? { content: addBtn } : addBtn\n )\n\n const addConfirmBtnOptions: TdButtonProps = merge(\n {},\n {\n content: t('addConfirmText'),\n onClick: confirmAddCustom\n },\n typeof addConfirmBtn === 'string'\n ? { content: addConfirmBtn, disabled: addConfirmDisabled.value }\n : { ...addConfirmBtn, disabled: addConfirmDisabled.value || addConfirmBtn?.disabled }\n )\n\n const addCancelBtnOptions: TdButtonProps = merge(\n {},\n {\n variant: 'outline',\n content: t('addCancelText'),\n onClick: cancelAddCustom\n },\n typeof addCancelBtn === 'string' ? { content: addCancelBtn } : addCancelBtn\n )\n\n const addInputOptions: TdInputProps = merge(\n {},\n { clearable: true },\n typeof addInput === 'string' ? { placeholder: addInput } : addInput\n )\n\n return {\n creatable,\n fillOptions,\n selectOptions: {\n multiple,\n readonly: readonly ?? tdReadonly.value,\n disabled: disabled ?? tdDisabled.value,\n keys,\n valueType,\n clearable,\n placeholder,\n size\n },\n dialogOptions: wrapper,\n tableOptions: {\n ...tableOptions,\n size: tableSize,\n search: {\n ...search,\n grid: merge({}, qdDialogTableSelectSearchGrid, search?.grid)\n },\n selectType: (multiple ? 'multiple' : 'single') as QdCrudTableProps['selectType'],\n rowKey: keys?.value || qdServiceSelectKeys.value\n },\n\n onClear,\n onCreate,\n onChange,\n\n addBtnOptions,\n addConfirmBtnOptions,\n addCancelBtnOptions,\n addInputOptions,\n\n models: {\n modelValue,\n visible,\n searchData,\n data,\n columnControllerVisible,\n displayColumns,\n expandedRowKeys,\n filterValue,\n sort,\n expandedTreeNodes\n }\n }\n })\n\n let fillOptionsWatchStop: WatchHandle | undefined // 处理 fillOptions 合并逻辑\n\n function handleSelectChange(rowKeys: (string | number)[], options: SelectOptions<D>) {\n latestSelectedRows = options.selectedRowData\n }\n\n function handleConfirm() {\n selectedRows.value = latestSelectedRows\n visible.value = false\n\n /**\n * FIXME qd-dialog 一定要配置 destroy-on-close 并且在 modelValue 赋值前要销毁\n * 否则就会报错\n */\n const { selectOptions } = reProps.value\n const valueKey = selectOptions.keys?.value || qdServiceSelectKeys.value\n const labelKey = selectOptions.keys?.label || qdServiceSelectKeys.label\n if (selectOptions.valueType === 'value') {\n modelValue.value = selectOptions.multiple\n ? latestSelectedRows.map((item) => get(item, valueKey))\n : get(latestSelectedRows[0], valueKey)\n } else {\n const rows = selectedRows.value.map((item) => ({\n [valueKey]: get(item, valueKey),\n [labelKey]: get(item, labelKey)\n }))\n modelValue.value = selectOptions.multiple ? rows : rows[0]\n }\n\n reProps.value.onChange?.(modelValue.value, {\n option: latestSelectedRows[latestSelectedRows.length - 1],\n selectedOptions: latestSelectedRows,\n trigger: 'check'\n })\n }\n\n function openDialog() {\n const { selectOptions } = reProps.value\n if (selectOptions.readonly || selectOptions.disabled) return\n\n const valueKey = selectOptions.keys?.value || qdServiceSelectKeys.value\n if (identifyType(modelValue.value) === 'array') {\n selectedRowKeys.value = modelValue.value.map((item: (typeof modelValue.value)[number]) => {\n if (identifyType(item) === 'object') {\n return get(item, valueKey)\n }\n\n return item\n })\n } else if (identifyType(modelValue.value) === 'object') {\n selectedRowKeys.value = [get(modelValue.value, valueKey)]\n } else {\n selectedRowKeys.value = isEmpty(modelValue.value) ? [] : [modelValue.value]\n }\n visible.value = true\n }\n\n function handleClear(context: { e: MouseEvent }) {\n selectedRowKeys.value = []\n\n reProps.value.onChange?.(undefined as unknown as SelectValue, {\n e: context.e,\n option: null as unknown as D,\n selectedOptions: [],\n trigger: 'clear'\n })\n reProps.value.onClear?.(context)\n }\n\n function confirmAddCustom(e: MouseEvent) {\n reProps.value.onCreate?.(addCustom.value, (closed: boolean) => {\n visible.value = !closed\n })\n reProps.value.onChange?.(addCustom.value, {\n e,\n option: null as unknown as D,\n selectedOptions: [],\n trigger: 'check'\n })\n }\n\n function cancelAddCustom() {\n Object.assign(addCustom, {\n visible: false,\n value: ''\n })\n }\n\n function handleBeforeOpen() {\n fillOptionsWatchStop?.()\n }\n\n function handleClosed() {\n if (addCustom.visible) cancelAddCustom()\n\n if (reProps.value.dialogOptions.destroyOnClose) {\n data.value = []\n searchData.value = {}\n selectedRowKeys.value = []\n }\n }\n\n const expose = {} as QdDialogTableSelectInstanceFunctions\n\n fillOptionsWatchStop = watch(\n () => reProps.value.fillOptions,\n (fillOpts) => {\n if (!fillOpts?.length) return\n\n selectedRows.value = fillOpts as D[]\n },\n { immediate: true, deep: true }\n )\n\n onMounted(() => {\n Object.assign(expose, dialogRef.value)\n })\n</script>\n\n<style lang=\"less\" scoped>\n .qd-dialog-table-select {\n &:not(&--readonly):not(&--disabled) {\n cursor: pointer;\n }\n\n &__table {\n :deep(.qd-crud) {\n &-search > .t-card__body,\n &-table__body > .t-card__body {\n padding: 0 !important;\n }\n\n &-table__toolbar {\n display: none;\n }\n }\n\n :deep(.qd-service-table) {\n margin-top: 0;\n }\n\n &-add {\n margin-top: var(--td-comp-margin-m);\n display: flex;\n\n .t-input__wrap {\n flex: 1 1 0;\n overflow: hidden;\n margin-right: var(--td-comp-margin-m);\n }\n }\n }\n }\n</style>\n"],"names":["props","__props","emit","__emit","modelValue","visible","searchData","data","columnControllerVisible","displayColumns","expandedRowKeys","filterValue","sort","expandedTreeNodes","useVModels","passive","t","useConfig","tdReadonly","useReadonly","tdDisabled","useDisabled","dialogRef","useTemplateRef","selectedRowKeys","ref","selectedRows","latestSelectedRows","addCustom","reactive","value","addConfirmDisabled","computed","isEmpty","reProps","fillOptions","wrapper","readonly","multiple","disabled","keys","valueType","clearable","creatable","placeholder","size","onClear","onCreate","onChange","search","tableSize","addBtn","addConfirmBtn","addCancelBtn","addInput","tableOptions","addBtnOptions","merge","block","theme","variant","icon","_createVNode2","AddIcon","content","onClick","addConfirmBtnOptions","confirmAddCustom","addCancelBtnOptions","cancelAddCustom","addInputOptions","selectOptions","dialogOptions","grid","qdDialogTableSelectSearchGrid","selectType","rowKey","qdServiceSelectKeys","models","fillOptionsWatchStop","handleSelectChange","rowKeys","options","selectedRowData","handleConfirm","valueKey","labelKey","label","map","item","get","rows","option","length","selectedOptions","trigger","openDialog","identifyType","handleClear","context","undefined","e","closed","Object","assign","handleBeforeOpen","handleClosed","destroyOnClose","expose","watch","fillOpts","immediate","deep","onMounted","_createVNode","_unref","_mergeProps","class","$event","suffixIcon","SearchIcon","onConfirm","onBeforeOpen","onClosed","onSelectChange","_createSlots","_","_openBlock","_createElementBlock","_hoisted_1","_renderSlot","_ctx","$slots","_cache","TSpace","TButton","_normalizeProps","_guardReactiveProps","extractSlotsWithPrefix","name","filterName","fn","_withCtx","slotProps","originalName"],"mappings":"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"}
1
+ {"version":3,"file":"index.vue2.mjs","sources":["../../../src/components/service-dialog-table-select/index.vue"],"sourcesContent":["<template>\n <div class=\"qd-dialog-table-select\" v-bind=\"$attrs\" @click=\"openDialog\">\n <slot :selected-rows=\"selectedRows\">\n <t-select\n :class=\"[\n 'qd-dialog-table-select__trigger',\n reProps.selectOptions.readonly ? 'qd-dialog-table-select__trigger--readonly' : '',\n reProps.selectOptions.disabled ? 'qd-dialog-table-select__trigger--disabled' : ''\n ]\"\n v-model=\"modelValue\"\n :options=\"selectedRows\"\n :popup-visible=\"false\"\n v-bind=\"reProps.selectOptions\"\n @clear=\"handleClear\"\n >\n <template #suffixIcon>\n <search-icon />\n </template>\n </t-select>\n </slot>\n </div>\n\n <qd-dialog\n ref=\"dialog\"\n v-model:visible=\"visible\"\n v-bind=\"reProps.dialogOptions\"\n @confirm=\"handleConfirm\"\n @before-open=\"handleBeforeOpen\"\n @closed=\"handleClosed\"\n >\n <qd-crud-table\n class=\"qd-dialog-table-select__table\"\n v-model:search-data=\"searchData\"\n v-model:data=\"data\"\n v-model:selected-row-keys=\"selectedRowKeys\"\n v-model:active-row-keys=\"selectedRowKeys\"\n v-model:column-controller-visible=\"columnControllerVisible\"\n v-model:display-columns=\"displayColumns\"\n v-model:expanded-rowKeys=\"expandedRowKeys\"\n v-model:filter-value=\"filterValue\"\n v-model:sort=\"sort\"\n v-model:expanded-tree-nodes=\"expandedTreeNodes\"\n reserve-selected-row-on-paginate\n active-row-type=\"multiple\"\n v-bind=\"reProps.tableOptions\"\n @select-change=\"handleSelectChange\"\n >\n <template v-if=\"reProps.creatable\" #table-bottom-content>\n <div v-if=\"addCustom.visible\" class=\"qd-dialog-table-select__table-add\">\n <slot name=\"add-input\" :add-custom=\"addCustom\">\n <t-input v-model=\"addCustom.value\" v-bind=\"reProps.addInputOptions\" />\n </slot>\n\n <t-space size=\"small\">\n <slot name=\"add-confirm-btn\" :add-custom=\"addCustom\">\n <t-button v-bind=\"reProps.addConfirmBtnOptions\" />\n </slot>\n\n <slot name=\"add-cancel-btn\" :add-custom=\"addCustom\">\n <t-button v-bind=\"reProps.addCancelBtnOptions\" />\n </slot>\n </t-space>\n </div>\n\n <slot v-else name=\"add-btn\" :add-custom=\"addCustom\">\n <t-button class=\"qd-dialog-table-select__table-add\" v-bind=\"reProps.addBtnOptions\" />\n </slot>\n </template>\n\n <template\n v-for=\"item in extractSlotsWithPrefix($slots, 'search')\"\n #[item.filterName]=\"slotProps\"\n >\n <slot :name=\"item.originalName\" v-bind=\"slotProps\" />\n </template>\n\n <template\n v-for=\"item in extractSlotsWithPrefix($slots, 'table')\"\n #[item.filterName]=\"slotProps\"\n >\n <slot :name=\"item.originalName\" v-bind=\"slotProps\" />\n </template>\n </qd-crud-table>\n </qd-dialog>\n</template>\n\n<script\n setup\n lang=\"tsx\"\n generic=\"\n D extends TableRowData = TableRowData,\n R = unknown,\n P = ServicePageParams,\n TP = P,\n Pag extends ServicePagination = ServicePagination\n \"\n>\n import type {\n SelectOptions,\n SelectValue,\n TableRowData,\n TdButtonProps,\n TdInputProps\n } from 'tdesign-vue-next'\n import type { ServicePageParams, ServicePagination } from 'qidian-shared'\n import type {\n QdDialogTableSelectInstanceFunctions,\n QdServiceDialogTableSelectProps\n } from './types'\n import type { QdDialogDone, QdDialogInstanceFunctions } from '../dialog'\n import type { QdCrudTableProps } from '../crud'\n import { extractSlotsWithPrefix, identifyType, isEmpty } from 'qidian-shared'\n import {\n Select as TSelect,\n Button as TButton,\n Input as TInput,\n Space as TSpace\n } from 'tdesign-vue-next'\n import type { WatchHandle } from 'vue'\n import { AddIcon, SearchIcon } from 'tdesign-icons-vue-next'\n import { qdDialogTableSelectSearchGrid, qdServiceDialogTableSelectProps } from './props'\n import { computed, onMounted, reactive, ref, useTemplateRef, watch } from 'vue'\n import { useVModels } from '@vueuse/core'\n import { QdDialog } from '../dialog'\n import { QdCrudTable } from '../crud'\n import { qdServiceSelectKeys } from '../service-select/props'\n import { useDisabled, useReadonly } from '../../hooks'\n import { get, merge } from 'lodash-es'\n import { useConfig } from '../config-provider/useConfig'\n\n defineOptions({\n name: 'QdServiceDialogTableSelect'\n })\n\n type Props = QdServiceDialogTableSelectProps<D, R, P, TP, Pag>\n\n const props = withDefaults(defineProps<Props>(), qdServiceDialogTableSelectProps)\n const emit = defineEmits<{\n 'update:modelValue': [Props['modelValue']]\n 'update:visible': [Props['visible']]\n\n 'update:searchData': [Props['searchData']]\n 'update:data': [Props['data']]\n 'update:columnControllerVisible': [Props['columnControllerVisible']]\n 'update:displayColumns': [Props['displayColumns']]\n 'update:expandedRowKeys': [Props['expandedRowKeys']]\n 'update:filterValue': [Props['filterValue']]\n 'update:sort': [Props['sort']]\n 'update:expandedTreeNodes': [Props['expandedTreeNodes']]\n }>()\n const {\n modelValue,\n visible,\n searchData,\n data,\n columnControllerVisible,\n displayColumns,\n expandedRowKeys,\n filterValue,\n sort,\n expandedTreeNodes\n } = useVModels<typeof props, keyof typeof emit>(props, emit, {\n passive: true\n })\n\n const { t } = useConfig('dialogTableSelect')\n const tdReadonly = useReadonly()\n const tdDisabled = useDisabled()\n const dialogRef = useTemplateRef<QdDialogInstanceFunctions>('dialog')\n\n const selectedRowKeys = ref<(string | number)[]>([])\n const selectedRows = ref<D[]>([])\n let latestSelectedRows: D[] = []\n\n const addCustom = reactive({\n visible: false,\n value: ''\n })\n const addConfirmDisabled = computed(() => isEmpty(addCustom.value))\n\n const reProps = computed(() => {\n const {\n modelValue,\n visible,\n fillOptions,\n searchData,\n data,\n columnControllerVisible,\n displayColumns,\n expandedRowKeys,\n filterValue,\n sort,\n expandedTreeNodes,\n wrapper,\n readonly,\n\n multiple,\n disabled,\n keys,\n valueType,\n clearable,\n creatable,\n placeholder,\n size,\n\n onClear,\n onCreate,\n onChange,\n onConfirm,\n\n search,\n tableSize,\n\n addBtn,\n addConfirmBtn,\n addCancelBtn,\n addInput,\n\n ...tableOptions\n } = props\n\n const addBtnOptions: TdButtonProps = merge(\n {},\n {\n block: true,\n theme: 'primary',\n variant: 'dashed',\n icon: () => <AddIcon />,\n content: t('addText'),\n onClick: () => {\n addCustom.visible = true\n }\n },\n typeof addBtn === 'string' ? { content: addBtn } : addBtn\n )\n\n const addConfirmBtnOptions: TdButtonProps = merge(\n {},\n {\n content: t('addConfirmText'),\n onClick: confirmAddCustom\n },\n typeof addConfirmBtn === 'string'\n ? { content: addConfirmBtn, disabled: addConfirmDisabled.value }\n : { ...addConfirmBtn, disabled: addConfirmDisabled.value || addConfirmBtn?.disabled }\n )\n\n const addCancelBtnOptions: TdButtonProps = merge(\n {},\n {\n variant: 'outline',\n content: t('addCancelText'),\n onClick: cancelAddCustom\n },\n typeof addCancelBtn === 'string' ? { content: addCancelBtn } : addCancelBtn\n )\n\n const addInputOptions: TdInputProps = merge(\n {},\n { clearable: true },\n typeof addInput === 'string' ? { placeholder: addInput } : addInput\n )\n\n const dialogOptions = merge({}, { header: placeholder }, wrapper)\n\n return {\n creatable,\n fillOptions,\n selectOptions: {\n multiple,\n readonly: readonly ?? tdReadonly.value,\n disabled: disabled ?? tdDisabled.value,\n keys,\n valueType,\n clearable,\n placeholder,\n size\n },\n dialogOptions,\n tableOptions: {\n ...tableOptions,\n size: tableSize,\n search: {\n ...search,\n grid: merge({}, qdDialogTableSelectSearchGrid, search?.grid)\n },\n selectType: (multiple ? 'multiple' : 'single') as QdCrudTableProps['selectType'],\n rowKey: keys?.value || qdServiceSelectKeys.value\n },\n\n onClear,\n onCreate,\n onChange,\n onConfirm,\n\n addBtnOptions,\n addConfirmBtnOptions,\n addCancelBtnOptions,\n addInputOptions,\n\n models: {\n modelValue,\n visible,\n searchData,\n data,\n columnControllerVisible,\n displayColumns,\n expandedRowKeys,\n filterValue,\n sort,\n expandedTreeNodes\n }\n }\n })\n\n let fillOptionsWatchStop: WatchHandle | undefined // 处理 fillOptions 合并逻辑\n\n function handleSelectChange(rowKeys: (string | number)[], options: SelectOptions<D>) {\n latestSelectedRows = options.selectedRowData\n }\n\n function handleConfirm(done: QdDialogDone) {\n selectedRows.value = latestSelectedRows\n const { selectOptions } = reProps.value\n const valueKey = selectOptions.keys?.value || qdServiceSelectKeys.value\n const labelKey = selectOptions.keys?.label || qdServiceSelectKeys.label\n if (selectOptions.valueType === 'value') {\n modelValue.value = selectOptions.multiple\n ? latestSelectedRows.map((item) => get(item, valueKey))\n : get(latestSelectedRows[0], valueKey)\n } else {\n const rows = latestSelectedRows.map((item) => ({\n [valueKey]: get(item, valueKey),\n [labelKey]: get(item, labelKey)\n }))\n modelValue.value = selectOptions.multiple ? rows : rows[0]\n }\n\n const eventParams = [\n modelValue.value,\n {\n option: latestSelectedRows[latestSelectedRows.length - 1],\n selectedOptions: latestSelectedRows,\n trigger: 'check'\n }\n ] as const\n reProps.value.onChange?.(...eventParams)\n\n const onConfirm = reProps.value.onConfirm\n if (!onConfirm) {\n visible.value = false\n return\n }\n\n return onConfirm(...eventParams, done)\n }\n\n function openDialog() {\n const { selectOptions } = reProps.value\n if (selectOptions.readonly || selectOptions.disabled) return\n\n visible.value = true\n }\n\n function handleClear(context: { e: MouseEvent }) {\n selectedRowKeys.value = []\n\n reProps.value.onChange?.(undefined as unknown as SelectValue, {\n e: context.e,\n option: null as unknown as D,\n selectedOptions: [],\n trigger: 'clear'\n })\n reProps.value.onClear?.(context)\n }\n\n function confirmAddCustom(e: MouseEvent) {\n reProps.value.onCreate?.(addCustom.value, (closed: boolean) => {\n visible.value = !closed\n })\n reProps.value.onChange?.(addCustom.value, {\n e,\n option: null as unknown as D,\n selectedOptions: [],\n trigger: 'check'\n })\n }\n\n function cancelAddCustom() {\n Object.assign(addCustom, {\n visible: false,\n value: ''\n })\n }\n\n function handleBeforeOpen() {\n fillOptionsWatchStop?.()\n\n const { selectOptions } = reProps.value\n const valueKey = selectOptions.keys?.value || qdServiceSelectKeys.value\n if (identifyType(modelValue.value) === 'array') {\n selectedRowKeys.value = modelValue.value.map((item: (typeof modelValue.value)[number]) => {\n if (identifyType(item) === 'object') {\n return get(item, valueKey)\n }\n\n return item\n })\n } else if (identifyType(modelValue.value) === 'object') {\n selectedRowKeys.value = [get(modelValue.value, valueKey)]\n } else {\n selectedRowKeys.value = isEmpty(modelValue.value) ? [] : [modelValue.value]\n }\n }\n\n function handleClosed() {\n if (addCustom.visible) cancelAddCustom()\n\n if (reProps.value.dialogOptions.destroyOnClose) {\n data.value = []\n searchData.value = {}\n selectedRowKeys.value = []\n }\n }\n\n const expose = {} as QdDialogTableSelectInstanceFunctions\n\n fillOptionsWatchStop = watch(\n () => reProps.value.fillOptions,\n (fillOpts) => {\n if (!fillOpts?.length) return\n\n selectedRows.value = fillOpts as D[]\n },\n { immediate: true, deep: true }\n )\n\n onMounted(() => {\n Object.assign(expose, dialogRef.value)\n })\n</script>\n\n<style lang=\"less\" scoped>\n .qd-dialog-table-select {\n width: 100%;\n\n &__trigger {\n width: 100%;\n\n &:not(&--readonly):not(&--disabled) {\n cursor: pointer;\n }\n }\n\n &__table {\n :deep(.qd-crud) {\n &-search > .t-card__body,\n &-table__body > .t-card__body {\n padding: 0 !important;\n }\n\n &-table__toolbar {\n display: none;\n }\n }\n\n :deep(.qd-service-table) {\n margin-top: 0;\n }\n\n &-add {\n margin-top: var(--td-comp-margin-m);\n display: flex;\n\n .t-input__wrap {\n flex: 1 1 0;\n overflow: hidden;\n margin-right: var(--td-comp-margin-m);\n }\n }\n }\n }\n</style>\n"],"names":["props","__props","emit","__emit","modelValue","visible","searchData","data","columnControllerVisible","displayColumns","expandedRowKeys","filterValue","sort","expandedTreeNodes","useVModels","passive","t","useConfig","tdReadonly","useReadonly","tdDisabled","useDisabled","dialogRef","useTemplateRef","selectedRowKeys","ref","selectedRows","latestSelectedRows","addCustom","reactive","value","addConfirmDisabled","computed","isEmpty","reProps","fillOptions","wrapper","readonly","multiple","disabled","keys","valueType","clearable","creatable","placeholder","size","onClear","onCreate","onChange","onConfirm","search","tableSize","addBtn","addConfirmBtn","addCancelBtn","addInput","tableOptions","addBtnOptions","merge","block","theme","variant","icon","_createVNode2","AddIcon","content","onClick","addConfirmBtnOptions","confirmAddCustom","addCancelBtnOptions","cancelAddCustom","addInputOptions","dialogOptions","header","selectOptions","grid","qdDialogTableSelectSearchGrid","selectType","rowKey","qdServiceSelectKeys","models","fillOptionsWatchStop","handleSelectChange","rowKeys","options","selectedRowData","handleConfirm","done","valueKey","labelKey","label","map","item","get","rows","eventParams","option","length","selectedOptions","trigger","openDialog","handleClear","context","undefined","e","closed","Object","assign","handleBeforeOpen","identifyType","handleClosed","destroyOnClose","expose","watch","fillOpts","immediate","deep","onMounted","_createElementVNode","_mergeProps","class","$attrs","_renderSlot","_ctx","$slots","_createVNode","_unref","$event","suffixIcon","SearchIcon","onBeforeOpen","onClosed","onSelectChange","_createSlots","_","_openBlock","_createElementBlock","_hoisted_1","_cache","TSpace","TButton","_normalizeProps","_guardReactiveProps","extractSlotsWithPrefix","name","filterName","fn","_withCtx","slotProps","originalName"],"mappings":"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"}
@@ -16,20 +16,19 @@ export declare const qdServiceDialogTableSelectProps: {
16
16
  readonly clearable: false;
17
17
  readonly valueType: "value";
18
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;
19
+ width: "min(960px, 100%)";
20
+ theme: "default";
21
+ attach: "body";
22
+ footer: true;
23
+ closeBtn: true;
24
+ closeOnEscKeydown: true;
25
+ closeOnOverlayClick: false;
26
+ confirmOnEnter: undefined;
27
+ destroyOnClose: false;
28
+ lazy: true;
29
+ placement: "center";
30
+ preventScrollThrough: true;
31
+ showOverlay: true;
33
32
  };
34
33
  readonly data: () => never[];
35
34
  readonly columnControllerVisible: undefined;
@@ -7,6 +7,7 @@ const {
7
7
  reserveSelectedRowOnPaginate,
8
8
  ...qdServiceTableOtherProps
9
9
  } = qdServiceTableProps;
10
+ const { header, ...qdDialogOtherProps } = qdDialogProps;
10
11
  const qdDialogTableSelectSearchGrid = {
11
12
  col: {
12
13
  xs: 4,
@@ -25,7 +26,7 @@ const qdServiceDialogTableSelectProps = {
25
26
  disabled: void 0,
26
27
  clearable: false,
27
28
  valueType: "value",
28
- wrapper: () => qdDialogProps
29
+ wrapper: () => qdDialogOtherProps
29
30
  };
30
31
  export {
31
32
  qdDialogTableSelectSearchGrid,
@@ -1 +1 @@
1
- {"version":3,"file":"props.mjs","sources":["../../../src/components/service-dialog-table-select/props.ts"],"sourcesContent":["import { qdDialogProps } from '../dialog/props'\nimport { qdServiceTableProps } from '../service/table/props'\n\nconst {\n selectedRowKeys,\n activeRowKeys,\n rowKey,\n reserveSelectedRowOnPaginate,\n ...qdServiceTableOtherProps\n} = qdServiceTableProps\n\nexport const qdDialogTableSelectSearchGrid = {\n col: {\n xs: 4,\n sm: 4,\n md: 3,\n lg: 3,\n xl: 3,\n xxl: 2\n }\n}\n\nexport const qdServiceDialogTableSelectProps = {\n ...qdServiceTableOtherProps,\n\n searchData: () => ({}),\n\n multiple: false,\n readonly: undefined,\n disabled: undefined,\n clearable: false,\n valueType: 'value',\n\n wrapper: () => qdDialogProps\n} as const\n"],"names":[],"mappings":";;AAGA,MAAM;AAAA,EACJ;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,IAAI;AAEG,MAAM,gCAAgC;AAAA,EAC3C,KAAK;AAAA,IACH,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,KAAK;AAAA,EAAA;AAET;AAEO,MAAM,kCAAkC;AAAA,EAC7C,GAAG;AAAA,EAEH,YAAY,OAAO,CAAA;AAAA,EAEnB,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,WAAW;AAAA,EACX,WAAW;AAAA,EAEX,SAAS,MAAM;AACjB;"}
1
+ {"version":3,"file":"props.mjs","sources":["../../../src/components/service-dialog-table-select/props.ts"],"sourcesContent":["import { qdDialogProps } from '../dialog/props'\nimport { qdServiceTableProps } from '../service/table/props'\n\nconst {\n selectedRowKeys,\n activeRowKeys,\n rowKey,\n reserveSelectedRowOnPaginate,\n ...qdServiceTableOtherProps\n} = qdServiceTableProps\n\nconst { header, ...qdDialogOtherProps } = qdDialogProps\n\nexport const qdDialogTableSelectSearchGrid = {\n col: {\n xs: 4,\n sm: 4,\n md: 3,\n lg: 3,\n xl: 3,\n xxl: 2\n }\n}\n\nexport const qdServiceDialogTableSelectProps = {\n ...qdServiceTableOtherProps,\n\n searchData: () => ({}),\n\n multiple: false,\n readonly: undefined,\n disabled: undefined,\n clearable: false,\n valueType: 'value',\n\n wrapper: () => qdDialogOtherProps\n} as const\n"],"names":[],"mappings":";;AAGA,MAAM;AAAA,EACJ;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,IAAI;AAEJ,MAAM,EAAE,QAAQ,GAAG,mBAAA,IAAuB;AAEnC,MAAM,gCAAgC;AAAA,EAC3C,KAAK;AAAA,IACH,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,KAAK;AAAA,EAAA;AAET;AAEO,MAAM,kCAAkC;AAAA,EAC7C,GAAG;AAAA,EAEH,YAAY,OAAO,CAAA;AAAA,EAEnB,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,WAAW;AAAA,EACX,WAAW;AAAA,EAEX,SAAS,MAAM;AACjB;"}
@@ -1,11 +1,16 @@
1
1
  import type { ServicePageParams, ServicePagination } from 'qidian-shared';
2
- import type { TableRowData, TdButtonProps, TdInputProps } from 'tdesign-vue-next';
2
+ import type { SelectValue, SelectValueChangeTrigger, TableRowData, TdButtonProps, TdInputProps } from 'tdesign-vue-next';
3
3
  import type { QdCrudTableProps } from '../crud';
4
4
  import type { QdDialogInstanceFunctions, QdDialogProps } from '../dialog';
5
5
  import type { QdServiceSelectProps } from '../service-select';
6
6
  import type { QdDialogDone } from '../dialog';
7
7
  export interface QdServiceDialogTableSelectProps<D extends TableRowData = TableRowData, R = unknown, P = ServicePageParams, TP = P, Pag extends ServicePagination = ServicePagination> extends Omit<QdCrudTableProps<D, R, P, TP, Pag>, 'add' | 'actions' | 'edit' | 'view' | 'del' | 'rowActions' | 'form' | 'selectedRowKeys' | 'activeRowKeys' | 'activeRowType' | 'rowKey' | 'selectType' | 'size' | 'reserveSelectedRowOnPaginate' | 'onAsyncLoadingClick' | 'onCellClick' | 'onChange' | 'onColumnChange' | 'onColumnControllerVisibleChange' | 'onDataChange' | 'onDisplayColumnsChange' | 'onDragSort' | 'onExpandChange' | 'onFilterChange' | 'onRowEdit' | 'onRowValidate' | 'onSelectChange' | 'onSortChange' | 'onValidate'>, Pick<QdServiceSelectProps<D, R, P, TP, Pag>, 'modelValue' | 'multiple' | 'readonly' | 'disabled' | 'placeholder' | 'clearable' | 'creatable' | 'keys' | 'size' | 'valueType' | 'fillOptions' | 'onClear' | 'onChange'> {
8
8
  onCreate?: (value: string | number | boolean, done: QdDialogDone) => void;
9
+ onConfirm?: (value: SelectValue, context: {
10
+ option?: D;
11
+ selectedOptions: D[];
12
+ trigger: SelectValueChangeTrigger;
13
+ }, done: QdDialogDone) => void | boolean | Promise<void | boolean>;
9
14
  tableSize?: QdCrudTableProps['size'];
10
15
  visible?: boolean;
11
16
  wrapper?: Omit<QdDialogProps, 'visible' | 'onBeforeClose' | 'onBeforeOpen' | 'onCancel' | 'onClose' | 'onCloseBtnClick' | 'onClosed' | 'onConfirm' | 'onEscKeydown' | 'onOpened' | 'onOverlayClick'>;
@@ -0,0 +1,4 @@
1
+ import type { QdServicePopupTableSelectProps } from './types';
2
+ import type { TableRowData } from 'tdesign-vue-next';
3
+ import type { ServicePageParams, ServicePagination } from 'qidian-shared';
4
+ export declare function defineQdServicePopupTableSelect<D extends TableRowData = TableRowData, R = unknown, P = ServicePageParams, TP = P, Pag extends ServicePagination = ServicePagination>(config: QdServicePopupTableSelectProps<D, R, P, TP, Pag>): QdServicePopupTableSelectProps<D, R, P, TP, Pag>;
@@ -0,0 +1,7 @@
1
+ function defineQdServicePopupTableSelect(config) {
2
+ return config;
3
+ }
4
+ export {
5
+ defineQdServicePopupTableSelect
6
+ };
7
+ //# sourceMappingURL=define.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"define.mjs","sources":["../../../src/components/service-popup-table-select/define.ts"],"sourcesContent":["import type { QdServicePopupTableSelectProps } from './types'\nimport type { TableRowData } from 'tdesign-vue-next'\nimport type { ServicePageParams, ServicePagination } from 'qidian-shared'\n\n/**\n * 定义 Service Popup Table Select 配置,提供类型推导\n */\nexport function defineQdServicePopupTableSelect<\n D extends TableRowData = TableRowData,\n R = unknown,\n P = ServicePageParams,\n TP = P,\n Pag extends ServicePagination = ServicePagination\n>(config: QdServicePopupTableSelectProps<D, R, P, TP, Pag>): QdServicePopupTableSelectProps<D, R, P, TP, Pag> {\n return config\n}"],"names":[],"mappings":"AAOO,SAAS,gCAMd,QAA4G;AAC5G,SAAO;AACT;"}
@@ -1,2 +1,3 @@
1
1
  export { default as QdServicePopupTableSelect } from './index.vue';
2
2
  export type { QdServicePopupTableSelectProps } from './types';
3
+ export * from './define';
@@ -20,6 +20,10 @@ declare const _default: <D extends TableRowData = TableRowData, R = unknown, P =
20
20
  [x: string]: ((props: any) => any) | undefined;
21
21
  } & {
22
22
  [x: string]: ((props: any) => any) | undefined;
23
+ } & {
24
+ default?: (props: {
25
+ selectedRows: import("@vue/reactivity").UnwrapRefSimple<D>[];
26
+ }) => any;
23
27
  } & {
24
28
  'add-input'?: (props: {
25
29
  addCustom: {
@@ -2,7 +2,7 @@ import _sfc_main from "./index.vue2.mjs";
2
2
  /* empty css */
3
3
  /* empty css */
4
4
  import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
5
- const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-6bcada3a"]]);
5
+ const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-e27012b0"]]);
6
6
  export {
7
7
  index as default
8
8
  };
@@ -1,4 +1,4 @@
1
- import { defineComponent, mergeDefaults, ref, reactive, computed, createVNode, watch, createBlock, openBlock, unref, mergeProps, isRef, withCtx, createSlots, renderList, createElementBlock, renderSlot, normalizeProps, guardReactiveProps } from "vue";
1
+ import { defineComponent, mergeDefaults, ref, reactive, computed, createVNode, watch, createBlock, openBlock, unref, mergeProps, isRef, withCtx, renderSlot, createSlots, renderList, createElementBlock, normalizeProps, guardReactiveProps } from "vue";
2
2
  import { isEmpty, identifyType, extractSlotsWithPrefix } from "qidian-shared";
3
3
  import { Popup, Select, Input, Space, Button } from "tdesign-vue-next";
4
4
  import { AddIcon, SearchIcon } from "tdesign-icons-vue-next";
@@ -631,7 +631,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
631
631
  }, slotProps), void 0, true)])
632
632
  };
633
633
  })]), 1040, ["search-data", "data", "selected-row-keys", "active-row-keys", "column-controller-visible", "display-columns", "expanded-rowKeys", "filter-value", "sort", "expanded-tree-nodes"])]),
634
- default: withCtx(() => [createVNode(unref(Select), mergeProps({
634
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default", {
635
+ selectedRows: selectedRows.value
636
+ }, () => [createVNode(unref(Select), mergeProps({
635
637
  modelValue: unref(modelValue),
636
638
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(modelValue) ? modelValue.value = $event : null),
637
639
  options: selectedRows.value,
@@ -641,7 +643,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
641
643
  }), {
642
644
  suffixIcon: withCtx(() => [createVNode(unref(SearchIcon))]),
643
645
  _: 1
644
- }, 16, ["modelValue", "options"])]),
646
+ }, 16, ["modelValue", "options"])], true)]),
645
647
  _: 3
646
648
  }, 16, ["modelValue"]);
647
649
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.vue2.mjs","sources":["../../../src/components/service-popup-table-select/index.vue"],"sourcesContent":["<template>\n <t-popup v-model=\"popupVisible\" v-bind=\"reProps.popupOptions\">\n <t-select\n v-model=\"modelValue\"\n :options=\"selectedRows\"\n :popup-visible=\"false\"\n v-bind=\"reProps.selectOptions\"\n @clear=\"handleClear\"\n >\n <template #suffixIcon>\n <search-icon />\n </template>\n </t-select>\n\n <template #content>\n <qd-crud-table\n class=\"qd-popup-table-select__table\"\n v-model:search-data=\"searchData\"\n v-model:data=\"data\"\n v-model:selected-row-keys=\"selectedRowKeys\"\n v-model:active-row-keys=\"selectedRowKeys\"\n v-model:column-controller-visible=\"columnControllerVisible\"\n v-model:display-columns=\"displayColumns\"\n v-model:expanded-rowKeys=\"expandedRowKeys\"\n v-model:filter-value=\"filterValue\"\n v-model:sort=\"sort\"\n v-model:expanded-tree-nodes=\"expandedTreeNodes\"\n reserve-selected-row-on-paginate\n active-row-type=\"multiple\"\n v-bind=\"reProps.tableOptions\"\n @select-change=\"handleSelectChange\"\n >\n <template v-if=\"reProps.creatable\" #table-bottom-content>\n <div v-if=\"addCustom.visible\" class=\"qd-popup-table-select__table-add\">\n <slot name=\"add-input\" :add-custom=\"addCustom\">\n <t-input v-model=\"addCustom.value\" v-bind=\"reProps.addInputOptions\" />\n </slot>\n\n <t-space size=\"small\">\n <slot name=\"add-confirm-btn\" :add-custom=\"addCustom\">\n <t-button v-bind=\"reProps.addConfirmBtnOptions\" />\n </slot>\n\n <slot name=\"add-cancel-btn\" :add-custom=\"addCustom\">\n <t-button v-bind=\"reProps.addCancelBtnOptions\" />\n </slot>\n </t-space>\n </div>\n\n <slot v-else name=\"add-btn\" :add-custom=\"addCustom\">\n <t-button class=\"qd-popup-table-select__table-add\" v-bind=\"reProps.addBtnOptions\" />\n </slot>\n </template>\n\n <template\n v-for=\"item in extractSlotsWithPrefix($slots, 'search')\"\n #[item.filterName]=\"slotProps\"\n >\n <slot :name=\"item.originalName\" v-bind=\"slotProps\" />\n </template>\n\n <template\n v-for=\"item in extractSlotsWithPrefix($slots, 'table')\"\n #[item.filterName]=\"slotProps\"\n >\n <slot :name=\"item.originalName\" :add-custom=\"addCustom\" v-bind=\"slotProps\" />\n </template>\n </qd-crud-table>\n </template>\n </t-popup>\n</template>\n\n<script\n setup\n lang=\"tsx\"\n generic=\"\n D extends TableRowData = TableRowData,\n R = unknown,\n P = ServicePageParams,\n TP = P,\n Pag extends ServicePagination = ServicePagination\n \"\n>\n import type {\n SelectOptions,\n SelectValue,\n TableRowData,\n TdButtonProps,\n TdInputProps\n } from 'tdesign-vue-next'\n import type { QdServicePopupTableSelectProps } from './types'\n import type { ServicePageParams, ServicePagination } from 'qidian-shared'\n import type { QdCrudTableProps } from '../crud'\n import type { WatchHandle } from 'vue'\n import { extractSlotsWithPrefix, identifyType } from 'qidian-shared'\n import {\n Popup as TPopup,\n Select as TSelect,\n Button as TButton,\n Input as TInput,\n Space as TSpace\n } from 'tdesign-vue-next'\n import { AddIcon, SearchIcon } from 'tdesign-icons-vue-next'\n import { qdServicePopup, qdServicePopupTableSelectProps } from './props'\n import { useVModels } from '@vueuse/core'\n import { computed, reactive, ref, watch } from 'vue'\n import { get, merge } from 'lodash-es'\n import { qdDialogTableSelectSearchGrid } from '../service-dialog-table-select/props'\n import { qdServiceSelectKeys } from '../service-select/props'\n import { QdCrudTable } from '../crud'\n import { isEmpty } from 'qidian-shared'\n import { useConfig } from '../config-provider/useConfig'\n import { useDisabled, useReadonly } from '../../hooks'\n\n defineOptions({\n name: 'QdServicePopupTableSelect'\n })\n\n type Props = QdServicePopupTableSelectProps<D, R, P, TP, Pag>\n\n const props = withDefaults(defineProps<Props>(), qdServicePopupTableSelectProps)\n const emit = defineEmits<{\n 'update:modelValue': [Props['modelValue']]\n 'update:popupVisible': [Props['popupVisible']]\n\n 'update:searchData': [Props['searchData']]\n 'update:data': [Props['data']]\n 'update:columnControllerVisible': [Props['columnControllerVisible']]\n 'update:displayColumns': [Props['displayColumns']]\n 'update:expandedRowKeys': [Props['expandedRowKeys']]\n 'update:filterValue': [Props['filterValue']]\n 'update:sort': [Props['sort']]\n 'update:expandedTreeNodes': [Props['expandedTreeNodes']]\n }>()\n const {\n modelValue,\n popupVisible,\n searchData,\n data,\n columnControllerVisible,\n displayColumns,\n expandedRowKeys,\n filterValue,\n sort,\n expandedTreeNodes\n } = useVModels<typeof props, keyof typeof emit>(props, emit, {\n passive: true\n })\n\n const { t } = useConfig('dialogTableSelect')\n const tdReadonly = useReadonly()\n const tdDisabled = useDisabled()\n\n const selectedRowKeys = ref<(string | number)[]>([])\n const selectedRows = ref<D[]>([])\n\n const addCustom = reactive({\n visible: false,\n value: ''\n })\n const addConfirmDisabled = computed(() => isEmpty(addCustom.value))\n\n const reProps = computed(() => {\n const {\n modelValue,\n popupVisible,\n popupProps,\n fillOptions,\n searchData,\n data: inData,\n columnControllerVisible,\n displayColumns,\n expandedRowKeys,\n filterValue,\n sort,\n expandedTreeNodes,\n readonly,\n\n multiple,\n disabled,\n keys,\n valueType,\n clearable,\n creatable,\n placeholder,\n size,\n\n onClear,\n onCreate,\n onChange,\n\n search,\n tableSize,\n\n addBtn,\n addConfirmBtn,\n addCancelBtn,\n addInput,\n\n ...tableOptions\n } = props\n\n const rePopupOptions = merge({}, qdServicePopup, { trigger: 'click' } as const, popupProps, {\n disabled: tdDisabled.value || tdReadonly.value || disabled || readonly || popupProps?.disabled\n })\n const onVisibleChange = rePopupOptions.onVisibleChange\n rePopupOptions.onVisibleChange = (visible, context) => {\n onVisibleChange?.(visible, context)\n\n if (visible) {\n fillOptionsWatchStop?.()\n handleOpen()\n } else {\n if (addCustom.visible) cancelAddCustom()\n if (reProps.value.popupOptions.destroyOnClose) {\n data.value = []\n searchData.value = {}\n selectedRowKeys.value = []\n }\n }\n }\n\n let reOverlayClassName = rePopupOptions.overlayClassName\n if (!reOverlayClassName) {\n reOverlayClassName = 'qd-popup-table-select__overlay'\n } else if (typeof reOverlayClassName === 'string') {\n reOverlayClassName += ' qd-popup-table-select__overlay'\n } else if (identifyType(reOverlayClassName) === 'array') {\n reOverlayClassName.push('qd-popup-table-select__overlay')\n } else if (identifyType(reOverlayClassName) === 'object') {\n ;(\n reOverlayClassName as {\n [className: string]: any\n }\n )['qd-popup-table-select__overlay'] = true\n }\n\n rePopupOptions.overlayClassName = reOverlayClassName\n\n const addBtnOptions: TdButtonProps = merge(\n {},\n {\n block: true,\n theme: 'primary',\n variant: 'dashed',\n icon: () => <AddIcon />,\n content: t('addText'),\n onClick: () => {\n addCustom.visible = true\n }\n },\n typeof addBtn === 'string' ? { content: addBtn } : addBtn\n )\n\n const addConfirmBtnOptions: TdButtonProps = merge(\n {},\n {\n content: t('addConfirmText'),\n onClick: confirmAddCustom\n },\n typeof addConfirmBtn === 'string'\n ? { content: addConfirmBtn, disabled: addConfirmDisabled.value }\n : { ...addConfirmBtn, disabled: addConfirmDisabled.value || addConfirmBtn?.disabled }\n )\n\n const addCancelBtnOptions: TdButtonProps = merge(\n {},\n {\n variant: 'outline',\n content: t('addCancelText'),\n onClick: cancelAddCustom\n },\n typeof addCancelBtn === 'string' ? { content: addCancelBtn } : addCancelBtn\n )\n\n const addInputOptions: TdInputProps = merge(\n {},\n { clearable: true },\n typeof addInput === 'string' ? { placeholder: addInput } : addInput\n )\n\n return {\n creatable,\n fillOptions,\n popupOptions: rePopupOptions,\n selectOptions: {\n multiple,\n readonly,\n disabled,\n keys,\n valueType,\n clearable,\n placeholder,\n size\n },\n tableOptions: {\n ...tableOptions,\n size: tableSize,\n search: {\n ...search,\n grid: merge({}, qdDialogTableSelectSearchGrid, search?.grid)\n },\n selectType: (multiple ? 'multiple' : 'single') as QdCrudTableProps['selectType'],\n rowKey: keys?.value || qdServiceSelectKeys.value\n },\n\n onClear,\n onCreate,\n onChange,\n\n addBtnOptions,\n addConfirmBtnOptions,\n addCancelBtnOptions,\n addInputOptions,\n\n models: {\n modelValue,\n popupVisible,\n searchData,\n data: inData,\n columnControllerVisible,\n displayColumns,\n expandedRowKeys,\n filterValue,\n sort,\n expandedTreeNodes\n }\n }\n })\n\n let fillOptionsWatchStop: WatchHandle | undefined // 处理 fillOptions 合并逻辑\n\n function handleSelectChange(rowKeys: (string | number)[], options: SelectOptions<D>) {\n selectedRows.value = options.selectedRowData\n\n const { selectOptions } = reProps.value\n const valueKey = selectOptions.keys?.value || qdServiceSelectKeys.value\n const labelKey = selectOptions.keys?.label || qdServiceSelectKeys.label\n if (selectOptions.valueType === 'value') {\n modelValue.value = selectOptions.multiple\n ? selectedRows.value.map((item) => get(item, valueKey))\n : get(selectedRows.value[0], valueKey)\n } else {\n const rows = selectedRows.value.map((item) => ({\n [valueKey]: get(item, valueKey),\n [labelKey]: get(item, labelKey)\n }))\n modelValue.value = selectOptions.multiple ? rows : rows[0]\n }\n\n reProps.value.onChange?.(modelValue.value, {\n option: selectedRows.value[selectedRows.value.length - 1] as D,\n selectedOptions: selectedRows.value as D[],\n trigger: 'check'\n })\n }\n\n function handleOpen() {\n const { selectOptions } = reProps.value\n\n const valueKey = selectOptions.keys?.value || qdServiceSelectKeys.value\n if (identifyType(modelValue.value) === 'array') {\n selectedRowKeys.value = modelValue.value.map((item: (typeof modelValue.value)[number]) => {\n if (identifyType(item) === 'object') {\n return get(item, valueKey)\n }\n\n return item\n })\n } else if (identifyType(modelValue.value) === 'object') {\n selectedRowKeys.value = [get(modelValue.value, valueKey)]\n } else {\n selectedRowKeys.value = isEmpty(modelValue.value) ? [] : [modelValue.value]\n }\n }\n\n function handleClear(context: { e: MouseEvent }) {\n selectedRowKeys.value = []\n\n reProps.value.onChange?.(undefined as unknown as SelectValue, {\n e: context.e,\n option: null as unknown as D,\n selectedOptions: [],\n trigger: 'clear'\n })\n reProps.value.onClear?.(context)\n }\n\n function confirmAddCustom(e: MouseEvent) {\n reProps.value.onCreate?.(addCustom.value)\n reProps.value.onChange?.(addCustom.value, {\n e,\n option: null as unknown as D,\n selectedOptions: [],\n trigger: 'check'\n })\n popupVisible.value = false\n reProps.value.popupOptions.onVisibleChange?.(popupVisible.value, {\n e,\n trigger: 'trigger-element-close'\n })\n }\n\n function cancelAddCustom() {\n Object.assign(addCustom, {\n visible: false,\n value: ''\n })\n }\n\n fillOptionsWatchStop = watch(\n () => reProps.value.fillOptions,\n (fillOpts) => {\n if (!fillOpts?.length) return\n\n selectedRows.value = fillOpts as D[]\n },\n { immediate: true, deep: true }\n )\n</script>\n\n<style lang=\"less\">\n .qd-popup-table-select__overlay {\n width: min(960px, 100%);\n }\n</style>\n\n<style lang=\"less\" scoped>\n .qd-popup-table-select {\n &__table {\n :deep(.qd-crud) {\n &-search > .t-card__body,\n &-table__body > .t-card__body {\n padding: 0 !important;\n }\n\n &-table__toolbar {\n display: none;\n }\n }\n\n :deep(.qd-service-table) {\n margin-top: 0;\n }\n\n &-add {\n margin-top: var(--td-comp-margin-m);\n display: flex;\n\n .t-input__wrap {\n flex: 1 1 0;\n overflow: hidden;\n margin-right: var(--td-comp-margin-m);\n }\n }\n }\n }\n</style>\n"],"names":["props","__props","emit","__emit","modelValue","popupVisible","searchData","data","columnControllerVisible","displayColumns","expandedRowKeys","filterValue","sort","expandedTreeNodes","useVModels","passive","t","useConfig","tdReadonly","useReadonly","tdDisabled","useDisabled","selectedRowKeys","ref","selectedRows","addCustom","reactive","visible","value","addConfirmDisabled","computed","isEmpty","reProps","popupProps","fillOptions","inData","readonly","multiple","disabled","keys","valueType","clearable","creatable","placeholder","size","onClear","onCreate","onChange","search","tableSize","addBtn","addConfirmBtn","addCancelBtn","addInput","tableOptions","rePopupOptions","merge","qdServicePopup","trigger","onVisibleChange","context","fillOptionsWatchStop","handleOpen","cancelAddCustom","popupOptions","destroyOnClose","reOverlayClassName","overlayClassName","identifyType","push","addBtnOptions","block","theme","variant","icon","_createVNode2","AddIcon","content","onClick","addConfirmBtnOptions","confirmAddCustom","addCancelBtnOptions","addInputOptions","selectOptions","grid","qdDialogTableSelectSearchGrid","selectType","rowKey","qdServiceSelectKeys","models","handleSelectChange","rowKeys","options","selectedRowData","valueKey","labelKey","label","map","item","get","rows","option","length","selectedOptions","handleClear","undefined","e","Object","assign","watch","fillOpts","immediate","deep","_openBlock","_createBlock","_unref","_mergeProps","$event","_createVNode","class","onSelectChange","_createSlots","_","_createElementBlock","_hoisted_1","_renderSlot","_ctx","$slots","_cache","TSpace","TButton","_normalizeProps","_guardReactiveProps","extractSlotsWithPrefix","name","filterName","fn","_withCtx","slotProps","originalName","suffixIcon","SearchIcon"],"mappings":"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"}
1
+ {"version":3,"file":"index.vue2.mjs","sources":["../../../src/components/service-popup-table-select/index.vue"],"sourcesContent":["<template>\n <t-popup v-model=\"popupVisible\" v-bind=\"reProps.popupOptions\">\n <slot :selected-rows=\"selectedRows\">\n <t-select\n v-model=\"modelValue\"\n :options=\"selectedRows\"\n :popup-visible=\"false\"\n v-bind=\"reProps.selectOptions\"\n @clear=\"handleClear\"\n >\n <template #suffixIcon>\n <search-icon />\n </template>\n </t-select>\n </slot>\n\n <template #content>\n <qd-crud-table\n class=\"qd-popup-table-select__table\"\n v-model:search-data=\"searchData\"\n v-model:data=\"data\"\n v-model:selected-row-keys=\"selectedRowKeys\"\n v-model:active-row-keys=\"selectedRowKeys\"\n v-model:column-controller-visible=\"columnControllerVisible\"\n v-model:display-columns=\"displayColumns\"\n v-model:expanded-rowKeys=\"expandedRowKeys\"\n v-model:filter-value=\"filterValue\"\n v-model:sort=\"sort\"\n v-model:expanded-tree-nodes=\"expandedTreeNodes\"\n reserve-selected-row-on-paginate\n active-row-type=\"multiple\"\n v-bind=\"reProps.tableOptions\"\n @select-change=\"handleSelectChange\"\n >\n <template v-if=\"reProps.creatable\" #table-bottom-content>\n <div v-if=\"addCustom.visible\" class=\"qd-popup-table-select__table-add\">\n <slot name=\"add-input\" :add-custom=\"addCustom\">\n <t-input v-model=\"addCustom.value\" v-bind=\"reProps.addInputOptions\" />\n </slot>\n\n <t-space size=\"small\">\n <slot name=\"add-confirm-btn\" :add-custom=\"addCustom\">\n <t-button v-bind=\"reProps.addConfirmBtnOptions\" />\n </slot>\n\n <slot name=\"add-cancel-btn\" :add-custom=\"addCustom\">\n <t-button v-bind=\"reProps.addCancelBtnOptions\" />\n </slot>\n </t-space>\n </div>\n\n <slot v-else name=\"add-btn\" :add-custom=\"addCustom\">\n <t-button class=\"qd-popup-table-select__table-add\" v-bind=\"reProps.addBtnOptions\" />\n </slot>\n </template>\n\n <template\n v-for=\"item in extractSlotsWithPrefix($slots, 'search')\"\n #[item.filterName]=\"slotProps\"\n >\n <slot :name=\"item.originalName\" v-bind=\"slotProps\" />\n </template>\n\n <template\n v-for=\"item in extractSlotsWithPrefix($slots, 'table')\"\n #[item.filterName]=\"slotProps\"\n >\n <slot :name=\"item.originalName\" :add-custom=\"addCustom\" v-bind=\"slotProps\" />\n </template>\n </qd-crud-table>\n </template>\n </t-popup>\n</template>\n\n<script\n setup\n lang=\"tsx\"\n generic=\"\n D extends TableRowData = TableRowData,\n R = unknown,\n P = ServicePageParams,\n TP = P,\n Pag extends ServicePagination = ServicePagination\n \"\n>\n import type {\n SelectOptions,\n SelectValue,\n TableRowData,\n TdButtonProps,\n TdInputProps\n } from 'tdesign-vue-next'\n import type { QdServicePopupTableSelectProps } from './types'\n import type { ServicePageParams, ServicePagination } from 'qidian-shared'\n import type { QdCrudTableProps } from '../crud'\n import type { WatchHandle } from 'vue'\n import { extractSlotsWithPrefix, identifyType } from 'qidian-shared'\n import {\n Popup as TPopup,\n Select as TSelect,\n Button as TButton,\n Input as TInput,\n Space as TSpace\n } from 'tdesign-vue-next'\n import { AddIcon, SearchIcon } from 'tdesign-icons-vue-next'\n import { qdServicePopup, qdServicePopupTableSelectProps } from './props'\n import { useVModels } from '@vueuse/core'\n import { computed, reactive, ref, watch } from 'vue'\n import { get, merge } from 'lodash-es'\n import { qdDialogTableSelectSearchGrid } from '../service-dialog-table-select/props'\n import { qdServiceSelectKeys } from '../service-select/props'\n import { QdCrudTable } from '../crud'\n import { isEmpty } from 'qidian-shared'\n import { useConfig } from '../config-provider/useConfig'\n import { useDisabled, useReadonly } from '../../hooks'\n\n defineOptions({\n name: 'QdServicePopupTableSelect'\n })\n\n type Props = QdServicePopupTableSelectProps<D, R, P, TP, Pag>\n\n const props = withDefaults(defineProps<Props>(), qdServicePopupTableSelectProps)\n const emit = defineEmits<{\n 'update:modelValue': [Props['modelValue']]\n 'update:popupVisible': [Props['popupVisible']]\n\n 'update:searchData': [Props['searchData']]\n 'update:data': [Props['data']]\n 'update:columnControllerVisible': [Props['columnControllerVisible']]\n 'update:displayColumns': [Props['displayColumns']]\n 'update:expandedRowKeys': [Props['expandedRowKeys']]\n 'update:filterValue': [Props['filterValue']]\n 'update:sort': [Props['sort']]\n 'update:expandedTreeNodes': [Props['expandedTreeNodes']]\n }>()\n const {\n modelValue,\n popupVisible,\n searchData,\n data,\n columnControllerVisible,\n displayColumns,\n expandedRowKeys,\n filterValue,\n sort,\n expandedTreeNodes\n } = useVModels<typeof props, keyof typeof emit>(props, emit, {\n passive: true\n })\n\n const { t } = useConfig('dialogTableSelect')\n const tdReadonly = useReadonly()\n const tdDisabled = useDisabled()\n\n const selectedRowKeys = ref<(string | number)[]>([])\n const selectedRows = ref<D[]>([])\n\n const addCustom = reactive({\n visible: false,\n value: ''\n })\n const addConfirmDisabled = computed(() => isEmpty(addCustom.value))\n\n const reProps = computed(() => {\n const {\n modelValue,\n popupVisible,\n popupProps,\n fillOptions,\n searchData,\n data: inData,\n columnControllerVisible,\n displayColumns,\n expandedRowKeys,\n filterValue,\n sort,\n expandedTreeNodes,\n readonly,\n\n multiple,\n disabled,\n keys,\n valueType,\n clearable,\n creatable,\n placeholder,\n size,\n\n onClear,\n onCreate,\n onChange,\n\n search,\n tableSize,\n\n addBtn,\n addConfirmBtn,\n addCancelBtn,\n addInput,\n\n ...tableOptions\n } = props\n\n const rePopupOptions = merge({}, qdServicePopup, { trigger: 'click' } as const, popupProps, {\n disabled: tdDisabled.value || tdReadonly.value || disabled || readonly || popupProps?.disabled\n })\n const onVisibleChange = rePopupOptions.onVisibleChange\n rePopupOptions.onVisibleChange = (visible, context) => {\n onVisibleChange?.(visible, context)\n\n if (visible) {\n fillOptionsWatchStop?.()\n handleOpen()\n } else {\n if (addCustom.visible) cancelAddCustom()\n if (reProps.value.popupOptions.destroyOnClose) {\n data.value = []\n searchData.value = {}\n selectedRowKeys.value = []\n }\n }\n }\n\n let reOverlayClassName = rePopupOptions.overlayClassName\n if (!reOverlayClassName) {\n reOverlayClassName = 'qd-popup-table-select__overlay'\n } else if (typeof reOverlayClassName === 'string') {\n reOverlayClassName += ' qd-popup-table-select__overlay'\n } else if (identifyType(reOverlayClassName) === 'array') {\n reOverlayClassName.push('qd-popup-table-select__overlay')\n } else if (identifyType(reOverlayClassName) === 'object') {\n ;(\n reOverlayClassName as {\n [className: string]: any\n }\n )['qd-popup-table-select__overlay'] = true\n }\n\n rePopupOptions.overlayClassName = reOverlayClassName\n\n const addBtnOptions: TdButtonProps = merge(\n {},\n {\n block: true,\n theme: 'primary',\n variant: 'dashed',\n icon: () => <AddIcon />,\n content: t('addText'),\n onClick: () => {\n addCustom.visible = true\n }\n },\n typeof addBtn === 'string' ? { content: addBtn } : addBtn\n )\n\n const addConfirmBtnOptions: TdButtonProps = merge(\n {},\n {\n content: t('addConfirmText'),\n onClick: confirmAddCustom\n },\n typeof addConfirmBtn === 'string'\n ? { content: addConfirmBtn, disabled: addConfirmDisabled.value }\n : { ...addConfirmBtn, disabled: addConfirmDisabled.value || addConfirmBtn?.disabled }\n )\n\n const addCancelBtnOptions: TdButtonProps = merge(\n {},\n {\n variant: 'outline',\n content: t('addCancelText'),\n onClick: cancelAddCustom\n },\n typeof addCancelBtn === 'string' ? { content: addCancelBtn } : addCancelBtn\n )\n\n const addInputOptions: TdInputProps = merge(\n {},\n { clearable: true },\n typeof addInput === 'string' ? { placeholder: addInput } : addInput\n )\n\n return {\n creatable,\n fillOptions,\n popupOptions: rePopupOptions,\n selectOptions: {\n multiple,\n readonly,\n disabled,\n keys,\n valueType,\n clearable,\n placeholder,\n size\n },\n tableOptions: {\n ...tableOptions,\n size: tableSize,\n search: {\n ...search,\n grid: merge({}, qdDialogTableSelectSearchGrid, search?.grid)\n },\n selectType: (multiple ? 'multiple' : 'single') as QdCrudTableProps['selectType'],\n rowKey: keys?.value || qdServiceSelectKeys.value\n },\n\n onClear,\n onCreate,\n onChange,\n\n addBtnOptions,\n addConfirmBtnOptions,\n addCancelBtnOptions,\n addInputOptions,\n\n models: {\n modelValue,\n popupVisible,\n searchData,\n data: inData,\n columnControllerVisible,\n displayColumns,\n expandedRowKeys,\n filterValue,\n sort,\n expandedTreeNodes\n }\n }\n })\n\n let fillOptionsWatchStop: WatchHandle | undefined // 处理 fillOptions 合并逻辑\n\n function handleSelectChange(rowKeys: (string | number)[], options: SelectOptions<D>) {\n selectedRows.value = options.selectedRowData\n\n const { selectOptions } = reProps.value\n const valueKey = selectOptions.keys?.value || qdServiceSelectKeys.value\n const labelKey = selectOptions.keys?.label || qdServiceSelectKeys.label\n if (selectOptions.valueType === 'value') {\n modelValue.value = selectOptions.multiple\n ? selectedRows.value.map((item) => get(item, valueKey))\n : get(selectedRows.value[0], valueKey)\n } else {\n const rows = selectedRows.value.map((item) => ({\n [valueKey]: get(item, valueKey),\n [labelKey]: get(item, labelKey)\n }))\n modelValue.value = selectOptions.multiple ? rows : rows[0]\n }\n\n reProps.value.onChange?.(modelValue.value, {\n option: selectedRows.value[selectedRows.value.length - 1] as D,\n selectedOptions: selectedRows.value as D[],\n trigger: 'check'\n })\n }\n\n function handleOpen() {\n const { selectOptions } = reProps.value\n const valueKey = selectOptions.keys?.value || qdServiceSelectKeys.value\n if (identifyType(modelValue.value) === 'array') {\n selectedRowKeys.value = modelValue.value.map((item: (typeof modelValue.value)[number]) => {\n if (identifyType(item) === 'object') {\n return get(item, valueKey)\n }\n\n return item\n })\n } else if (identifyType(modelValue.value) === 'object') {\n selectedRowKeys.value = [get(modelValue.value, valueKey)]\n } else {\n selectedRowKeys.value = isEmpty(modelValue.value) ? [] : [modelValue.value]\n }\n }\n\n function handleClear(context: { e: MouseEvent }) {\n selectedRowKeys.value = []\n\n reProps.value.onChange?.(undefined as unknown as SelectValue, {\n e: context.e,\n option: null as unknown as D,\n selectedOptions: [],\n trigger: 'clear'\n })\n reProps.value.onClear?.(context)\n }\n\n function confirmAddCustom(e: MouseEvent) {\n reProps.value.onCreate?.(addCustom.value)\n reProps.value.onChange?.(addCustom.value, {\n e,\n option: null as unknown as D,\n selectedOptions: [],\n trigger: 'check'\n })\n popupVisible.value = false\n reProps.value.popupOptions.onVisibleChange?.(popupVisible.value, {\n e,\n trigger: 'trigger-element-close'\n })\n }\n\n function cancelAddCustom() {\n Object.assign(addCustom, {\n visible: false,\n value: ''\n })\n }\n\n fillOptionsWatchStop = watch(\n () => reProps.value.fillOptions,\n (fillOpts) => {\n if (!fillOpts?.length) return\n\n selectedRows.value = fillOpts as D[]\n },\n { immediate: true, deep: true }\n )\n</script>\n\n<style lang=\"less\">\n .qd-popup-table-select__overlay {\n width: min(960px, 100%);\n }\n</style>\n\n<style lang=\"less\" scoped>\n .qd-popup-table-select {\n &__table {\n :deep(.qd-crud) {\n &-search > .t-card__body,\n &-table__body > .t-card__body {\n padding: 0 !important;\n }\n\n &-table__toolbar {\n display: none;\n }\n }\n\n :deep(.qd-service-table) {\n margin-top: 0;\n }\n\n &-add {\n margin-top: var(--td-comp-margin-m);\n display: flex;\n\n .t-input__wrap {\n flex: 1 1 0;\n overflow: hidden;\n margin-right: var(--td-comp-margin-m);\n }\n }\n }\n }\n</style>\n"],"names":["props","__props","emit","__emit","modelValue","popupVisible","searchData","data","columnControllerVisible","displayColumns","expandedRowKeys","filterValue","sort","expandedTreeNodes","useVModels","passive","t","useConfig","tdReadonly","useReadonly","tdDisabled","useDisabled","selectedRowKeys","ref","selectedRows","addCustom","reactive","visible","value","addConfirmDisabled","computed","isEmpty","reProps","popupProps","fillOptions","inData","readonly","multiple","disabled","keys","valueType","clearable","creatable","placeholder","size","onClear","onCreate","onChange","search","tableSize","addBtn","addConfirmBtn","addCancelBtn","addInput","tableOptions","rePopupOptions","merge","qdServicePopup","trigger","onVisibleChange","context","fillOptionsWatchStop","handleOpen","cancelAddCustom","popupOptions","destroyOnClose","reOverlayClassName","overlayClassName","identifyType","push","addBtnOptions","block","theme","variant","icon","_createVNode2","AddIcon","content","onClick","addConfirmBtnOptions","confirmAddCustom","addCancelBtnOptions","addInputOptions","selectOptions","grid","qdDialogTableSelectSearchGrid","selectType","rowKey","qdServiceSelectKeys","models","handleSelectChange","rowKeys","options","selectedRowData","valueKey","labelKey","label","map","item","get","rows","option","length","selectedOptions","handleClear","undefined","e","Object","assign","watch","fillOpts","immediate","deep","_openBlock","_createBlock","_unref","_mergeProps","$event","_createVNode","class","onSelectChange","_createSlots","_","_createElementBlock","_hoisted_1","_renderSlot","_ctx","$slots","_cache","TSpace","TButton","_normalizeProps","_guardReactiveProps","extractSlotsWithPrefix","name","filterName","fn","_withCtx","slotProps","originalName","suffixIcon","SearchIcon"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import _sfc_main from "./index.vue2.mjs";
2
2
  /* empty css */
3
3
  import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
4
- const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-30edd76e"]]);
4
+ const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-e86a1393"]]);
5
5
  export {
6
6
  index as default
7
7
  };
@@ -175,12 +175,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
175
175
  Object.assign(reSizeLimit, { message: t("sizeLimitMessage") }, sizeLimit);
176
176
  }
177
177
  }
178
- const acceptStr = (accept ? accept : theme.includes("image") ? qdUploadAcceptMap.image : qdUploadAcceptMap.default).join(",");
178
+ const reAccept = accept ? accept : theme.includes("image") ? qdUploadAcceptMap.image : qdUploadAcceptMap.default;
179
+ const acceptStr = reAccept.join(",");
179
180
  const reBeforeUpload = (file) => {
180
181
  if (beforeUpload) return beforeUpload(file);
181
- if (accept && !isTypeByName(file.name, accept)) {
182
+ if (reAccept && !isTypeByName(file.name, reAccept)) {
182
183
  msgError(
183
- `${t("fileFormatNotSupportedMessage")[0]} ${accept} ${t("fileFormatNotSupportedMessage")[1]}`
184
+ `${t("fileFormatNotSupportedMessage")[0]} ${reAccept} ${t("fileFormatNotSupportedMessage")[1]}`
184
185
  );
185
186
  return false;
186
187
  }
@@ -419,7 +420,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
419
420
  watch(
420
421
  reModelValue,
421
422
  async (newVal, oldVal) => {
422
- if (!newVal.length || checkSameObject(newVal, oldVal) || fileList.value.length) return;
423
+ if (!newVal.length) {
424
+ fileList.value = [];
425
+ return;
426
+ }
427
+ if (checkSameObject(newVal, oldVal) || fileList.value.length) return;
423
428
  const { valueMode } = reProps.value;
424
429
  const apiFn = valueMode === "url" ? getOssByUrls : getOssByIds;
425
430
  const [err, res] = await to(apiFn(newVal));
@@ -452,10 +457,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
452
457
  `qd-upload--${reProps.value.theme}`,
453
458
  reProps.value.onlyView ? "qd-upload--only-view" : "",
454
459
  !reProps.value.uploadOptions.showUploadProgress && reProps.value.onlyView ? "qd-upload--hide-progress" : "",
455
- !reProps.value.uploadOptions.autoUpload && reProps.value.showManualButton ? "" : "qd-upload--hide-manual-upload"
460
+ !reProps.value.uploadOptions.autoUpload && reProps.value.showManualButton ? "" : "qd-upload--hide-manual-upload",
461
+ reProps.value.uploadOptions.disabled ? "qd-upload--disabled" : ""
456
462
  ],
457
463
  files: unref(fileList),
458
- "onUpdate:files": _cache[2] || (_cache[2] = ($event) => isRef(fileList) ? fileList.value = $event : null)
464
+ "onUpdate:files": _cache[2] || (_cache[2] = ($event) => isRef(fileList) ? fileList.value = $event : null),
465
+ tabindex: reProps.value.onlyView || reProps.value.uploadOptions.disabled ? "" : "0"
459
466
  }, reProps.value.uploadOptions), createSlots({
460
467
  default: withCtx(() => [
461
468
  ["btn-file-popup", "btn-image-popup"].includes(__props.theme) ? (openBlock(), createBlock(unref(Space), {
@@ -541,7 +548,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
541
548
  ])
542
549
  };
543
550
  })
544
- ]), 1040, ["class", "files"]);
551
+ ]), 1040, ["class", "files", "tabindex"]);
545
552
  };
546
553
  }
547
554
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.vue2.mjs","sources":["../../../src/components/upload/index.vue"],"sourcesContent":["<template>\n <t-upload\n ref=\"upload\"\n :class=\"[\n 'qd-upload',\n `qd-upload--${reProps.theme}`,\n reProps.onlyView ? 'qd-upload--only-view' : '',\n !reProps.uploadOptions.showUploadProgress && reProps.onlyView\n ? 'qd-upload--hide-progress'\n : '',\n !reProps.uploadOptions.autoUpload && reProps.showManualButton\n ? ''\n : 'qd-upload--hide-manual-upload'\n ]\"\n v-model:files=\"fileList\"\n v-bind=\"reProps.uploadOptions\"\n >\n <template v-if=\"['btn-file-popup', 'btn-image-popup'].includes(theme)\">\n <t-space align=\"center\" size=\"small\">\n <t-button\n v-if=\"!reProps.onlyView\"\n variant=\"outline\"\n :disabled=\"reProps.uploadOptions.disabled\"\n >\n <template #icon><upload-icon /></template>\n {{\n !fileList.length\n ? t('triggerUploadText').fileInput\n : reProps.uploadOptions.max === 1 || !reProps.uploadOptions.multiple\n ? t('triggerUploadText').reupload\n : t('triggerUploadText').continueUpload\n }}\n </t-button>\n\n <t-popup v-if=\"fileList.length\" show-arrow trigger=\"click\">\n <t-badge :count=\"fileList.length\" size=\"small\" :offset=\"[2, 2]\" @click.stop>\n <t-button variant=\"outline\">\n <template #icon><browse-icon /></template>\n {{ t('viewFileText') }}\n </t-button>\n </t-badge>\n\n <template #content>\n <t-upload\n :class=\"[\n 'qd-upload__popup-upload',\n reProps.uploadOptions.disabled ? 'qd-upload__popup-upload--disabled' : ''\n ]\"\n v-model:files=\"popupFileList\"\n :theme=\"popupUploadTheme\"\n :disabled=\"reProps.uploadOptions.disabled\"\n :on-remove=\"reProps.handlePopupRemove\"\n :show-thumbnail=\"reProps.uploadOptions.showThumbnail\"\n :show-image-file-name=\"reProps.uploadOptions.showImageFileName\"\n :show-upload-progress=\"reProps.uploadOptions.showUploadProgress\"\n >\n <template #trigger><span style=\"display: none\"></span></template>\n </t-upload>\n </template>\n </t-popup>\n </t-space>\n </template>\n\n <template v-for=\"(_, name) in $slots\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </t-upload>\n</template>\n\n<script\n setup\n lang=\"ts\"\n generic=\"\n F extends UploadFile = UploadFile,\n OR = unknown,\n OP extends string | number | (string | number)[] = string | number | (string | number)[],\n TOP = OP,\n UR = unknown,\n UP extends string | string[] = string | string[],\n TUP = UP,\n DR = unknown,\n DP extends string | number | (string | number)[] = string | number | (string | number)[],\n TDP = DP\n \"\n>\n import type {\n SizeLimitObj,\n TdUploadProps,\n UploadFile,\n UploadInstanceFunctions\n } from 'tdesign-vue-next'\n import type {\n QdUploadDeleteResult,\n QdUploadInstanceFunctions,\n QdUploadListOssByIdsResult,\n QdUploadProps\n } from './types'\n import { qdUploadProps, qdUploadSizeLimit } from './props'\n import { useVModels } from '@vueuse/core'\n import { computed, inject, onMounted, useTemplateRef, ref, watch } from 'vue'\n import {\n Upload as TUpload,\n Button as TButton,\n Popup as TPopup,\n Space as TSpace,\n Badge as TBadge\n } from 'tdesign-vue-next'\n import { UploadIcon, BrowseIcon } from 'tdesign-icons-vue-next'\n import {\n checkSameObject,\n easyCopy,\n isEmpty,\n isTypeByName,\n suspectedWrapperPromise,\n to,\n useTimer\n } from 'qidian-shared'\n import dayjs from 'dayjs'\n import { PROVIDE_UPLOAD } from '../config-provider/config'\n import { useConfig } from '../config-provider/useConfig'\n import { useModal, useDisabled, useReadonly } from '../../hooks'\n import { PROVIDE_FORM_ADD_BEFORE_SUBMIT_QUEUE } from '../form'\n import { qdUploadAcceptMap } from './config'\n import { qdDictConvStrSeparator } from '../dict/tag/props'\n\n defineOptions({\n name: 'QdUpload'\n })\n\n type Props = QdUploadProps<F, OR, OP, TOP, UR, UP, TUP, DR, DP, TDP>\n\n const props = withDefaults(defineProps<Props>(), qdUploadProps)\n const emit = defineEmits<{\n 'update:modelValue': [Props['modelValue']]\n 'update:files': [Props['files']]\n }>()\n const { modelValue, files: fileList } = useVModels<typeof props, keyof typeof emit>(props, emit, {\n passive: true\n })\n\n const reModelValue = computed({\n get: () => {\n const { convStr } = reProps.value\n const value = modelValue.value\n if (isEmpty(value)) return []\n if (typeof value === 'string') {\n return value.split((typeof convStr === 'string' ? convStr : '') || qdDictConvStrSeparator)\n }\n\n return value\n },\n set: (val) => {\n const { convStr } = reProps.value\n if (convStr) {\n modelValue.value = val.join(\n (typeof convStr === 'string' ? convStr : '') || qdDictConvStrSeparator\n )\n return\n }\n\n modelValue.value = val\n }\n })\n\n const formAddBeforeSubmitQueue = inject(PROVIDE_FORM_ADD_BEFORE_SUBMIT_QUEUE, undefined)\n const { t } = useConfig('upload')\n const tdReadonly = useReadonly()\n const tdDisabled = useDisabled()\n const { msgError, msgWarning } = useModal()\n const uploadRef = useTemplateRef<UploadInstanceFunctions>('upload')\n const { timer: uploadTimer, clearTimer: clearUploadTimer } = useTimer('interval')\n\n const delList = ref<(string | number)[]>([])\n\n const popupFileList = computed(() => [...fileList.value])\n\n const globalUploadProps = inject(\n PROVIDE_UPLOAD,\n computed(() => undefined)\n )\n const reProps = computed(() => {\n const {\n modelValue,\n files,\n convStr,\n valueMode,\n theme,\n sizeLimit,\n accept,\n multiple,\n disabled,\n beforeUpload,\n onValidate,\n formatResponse,\n onSuccess,\n onRemove,\n\n onlyView,\n listOssByIds,\n listOssByUrls,\n del,\n\n action,\n bucketConfigKey,\n showImageFileName,\n showUploadProgress,\n showThumbnail,\n draggable,\n\n showManualButton,\n ...uploadOptions\n } = props\n const globalUploadPropsV = globalUploadProps.value\n\n const reAction = action || globalUploadPropsV?.action\n const actionUrl = typeof reAction === 'string' ? reAction : reAction?.(bucketConfigKey)\n\n const reSizeLimit = easyCopy(qdUploadSizeLimit) as SizeLimitObj | undefined\n if (reSizeLimit) {\n if (typeof sizeLimit === 'number') {\n reSizeLimit.size = sizeLimit\n reSizeLimit.message = t('sizeLimitMessage')\n } else {\n Object.assign(reSizeLimit, { message: t('sizeLimitMessage') }, sizeLimit)\n }\n }\n\n const acceptStr = (\n accept\n ? accept\n : theme.includes('image')\n ? qdUploadAcceptMap.image\n : qdUploadAcceptMap.default\n ).join(',')\n\n const reBeforeUpload: typeof beforeUpload = (file) => {\n if (beforeUpload) return beforeUpload(file)\n\n if (accept && !isTypeByName(file.name, accept)) {\n msgError(\n `${t('fileFormatNotSupportedMessage')[0]} ${accept} ${t('fileFormatNotSupportedMessage')[1]}`\n )\n return false\n }\n\n return true\n }\n\n const reOnValidate: typeof onValidate = (context) => {\n if (onValidate) {\n onValidate(context)\n return\n }\n\n switch (context.type) {\n case 'FILES_OVER_LENGTH_LIMIT':\n msgWarning(`${t('maxUploadMessage')[0]}${props.max}${t('maxUploadMessage')[1]}`)\n break\n case 'FILTER_FILE_SAME_NAME':\n msgWarning(t('sameNameMessage'))\n break\n case 'FILE_OVER_SIZE_LIMIT':\n msgWarning(`${context.files.map((t) => t.name).join(',')} ${t('fileSizeExceedsLimit')}`)\n break\n }\n }\n\n const reFormatResponse: typeof formatResponse = (res, context) => {\n if (formatResponse) return formatResponse(res, context)\n\n if (res.code === 200) {\n const { url, ossId, fileName, uploadTime } = res.data || {}\n return {\n success: true,\n url,\n name: fileName,\n ossId,\n uploadTime: uploadTime || dayjs().format('YYYY-MM-DD HH:mm:ss')\n }\n }\n\n return { status: 'fail', error: res.message || res.msg || t('fileUploadFailed') }\n }\n\n const reOnSuccess: typeof onSuccess = (context) => {\n onSuccess?.(context)\n updateModelValue(fileList.value)\n }\n\n const reOnRemove: typeof onRemove = (context) => {\n onRemove?.(context)\n const { ossId } = context.file?.response || {}\n\n if (ossId) {\n if (props.autoUpload) to(handleDel(ossId))\n else addDel(ossId)\n }\n\n updateModelValue(fileList.value)\n }\n\n const handlePopupRemove: typeof onRemove = (context) => {\n reOnRemove(context)\n if (isEmpty(context.index)) return\n\n fileList.value.splice(context.index, 1)\n }\n\n const reUploadOptions = {\n action: actionUrl,\n theme: ['custom', 'file', 'file-input', 'file-flow', 'image', 'image-flow'].includes(theme)\n ? theme\n : 'custom',\n sizeLimit: reSizeLimit,\n accept: acceptStr,\n multiple: multiple ?? props.max !== 1,\n disabled: onlyView ? true : (disabled ?? (tdDisabled.value || tdReadonly.value)),\n beforeUpload: reBeforeUpload,\n onValidate: reOnValidate,\n formatResponse: reFormatResponse,\n onSuccess: reOnSuccess,\n onRemove: reOnRemove,\n showImageFileName: onlyView ? false : showImageFileName,\n showUploadProgress: onlyView ? false : showUploadProgress,\n showThumbnail: onlyView ? true : showThumbnail,\n draggable: onlyView ? false : draggable,\n ...uploadOptions\n } as TdUploadProps\n\n if (globalUploadPropsV) {\n Object.entries(globalUploadPropsV).forEach(([key, value]) => {\n if (['action'].includes(key) || isEmpty(value)) return\n ;(reUploadOptions as Record<string, unknown>)[key] = value\n })\n }\n\n return {\n theme,\n convStr,\n valueMode,\n accept,\n handlePopupRemove,\n onlyView,\n listOssByIds: {\n ...globalUploadPropsV?.listOssByIds,\n ...listOssByIds\n } as Props['listOssByIds'],\n listOssByUrls: {\n ...globalUploadPropsV?.listOssByUrls,\n ...listOssByUrls\n } as Props['listOssByUrls'],\n del: { ...globalUploadPropsV?.del, ...del } as Props['del'],\n showManualButton,\n uploadOptions: reUploadOptions,\n models: {\n modelValue,\n files\n }\n }\n })\n\n const popupUploadTheme = computed(() => {\n switch (props.theme) {\n case 'btn-image-popup':\n return 'image'\n default:\n return 'file-flow'\n }\n })\n\n const expose = {} as QdUploadInstanceFunctions\n\n const uploadFiles: QdUploadInstanceFunctions['uploadFiles'] = (options) => {\n uploadRef.value?.uploadFiles(options?.files)\n\n return new Promise((resolve, reject) => {\n uploadTimer.value = setInterval(() => {\n const isFinished = fileList.value.every((item) => item.status !== 'progress')\n if (!isFinished) return\n\n clearUploadTimer()\n updateModelValue(fileList.value)\n\n const errorList = fileList.value.filter((item) => item.status === 'fail')\n if (errorList.length) {\n const msg = `${errorList.map((item) => item.name).join(',')} ${t('fileUploadFailed')}`\n if (options?.showErrorMessage !== false) {\n msgError(msg)\n }\n reject(new Error(msg))\n return\n }\n\n resolve(fileList.value)\n }, 100)\n })\n }\n\n function updateModelValue(files: UploadFile[]) {\n const tempModelValue: typeof reModelValue.value = []\n files.forEach((item) => {\n if (item.status !== 'success') return\n tempModelValue.push(item.response![reProps.value.valueMode])\n })\n reModelValue.value = tempModelValue\n }\n\n async function handleDel(\n ossId: string | number | (string | number)[],\n showErrorMessage?: boolean\n ) {\n const { del } = reProps.value\n if (!del) return\n\n const { service, transformParams, transformRes } = del\n\n const currentParams = ossId\n let tParams: TDP | undefined\n\n if (transformParams) {\n const [trErr, trRes] = await suspectedWrapperPromise(transformParams(currentParams as DP))\n if (trErr) throw trErr\n\n tParams = trRes\n }\n\n const [serviceErr, serviceRes] = await to(service(tParams || (currentParams as unknown as TDP)))\n if (serviceErr) throw serviceErr\n\n let res: QdUploadDeleteResult | undefined\n if (transformRes) {\n const [trErr, trRes] = await suspectedWrapperPromise(transformRes(serviceRes))\n if (trErr) throw trErr\n\n res = trRes\n } else {\n res = serviceRes as QdUploadDeleteResult\n }\n\n if (typeof res === 'boolean') {\n res = { success: res, message: '' }\n }\n\n if (!res) {\n res = { success: true, message: '' }\n }\n\n const message = res.message\n if (res.success === false) {\n if (message && showErrorMessage !== false) msgError(message)\n throw new Error(message)\n }\n }\n\n async function addDel(ossId: string | number) {\n delList.value.push(ossId)\n }\n\n async function getOssByIds(ossId: string | number | (string | number)[]) {\n const { listOssByIds } = reProps.value\n if (!listOssByIds) return []\n\n const { service, transformParams, transformRes } = listOssByIds\n\n const currentParams = ossId\n let tParams: TOP | undefined\n\n if (transformParams) {\n const [trErr, trRes] = await suspectedWrapperPromise(transformParams(currentParams as OP))\n if (trErr) throw trErr\n\n tParams = trRes\n }\n\n const [serviceErr, serviceRes] = await to(service(tParams || (currentParams as unknown as TOP)))\n if (serviceErr) throw serviceErr\n\n let res: QdUploadListOssByIdsResult | undefined\n if (transformRes) {\n const [trErr, trRes] = await suspectedWrapperPromise(transformRes(serviceRes))\n if (trErr) throw trErr\n\n res = trRes\n } else {\n res = serviceRes as QdUploadListOssByIdsResult\n }\n\n return res\n }\n\n async function getOssByUrls(ossId: string | string[]) {\n const { listOssByUrls } = reProps.value\n if (!listOssByUrls) return []\n\n const { service, transformParams, transformRes } = listOssByUrls\n\n const currentParams = ossId\n let tParams: TUP | undefined\n\n if (transformParams) {\n const [trErr, trRes] = await suspectedWrapperPromise(transformParams(currentParams as UP))\n if (trErr) throw trErr\n\n tParams = trRes\n }\n\n const [serviceErr, serviceRes] = await to(service(tParams || (currentParams as unknown as TUP)))\n if (serviceErr) throw serviceErr\n\n let res: QdUploadListOssByIdsResult | undefined\n if (transformRes) {\n const [trErr, trRes] = await suspectedWrapperPromise(transformRes(serviceRes))\n if (trErr) throw trErr\n\n res = trRes\n } else {\n res = serviceRes as QdUploadListOssByIdsResult\n }\n\n return res\n }\n\n async function uploadBeforeFormSubmit() {\n const [err] = await to(uploadFiles({ showErrorMessage: false }))\n if (err) return { success: false, message: err.message }\n return true\n }\n\n async function delBeforeFormSubmit() {\n if (!delList.value.length) return true\n\n const [err] = await to(handleDel(delList.value, false))\n if (err) return true\n return true\n }\n\n formAddBeforeSubmitQueue?.(uploadBeforeFormSubmit)\n formAddBeforeSubmitQueue?.(delBeforeFormSubmit)\n\n watch(\n reModelValue,\n async (newVal, oldVal) => {\n if (!newVal.length || checkSameObject(newVal, oldVal) || fileList.value.length) return\n\n const { valueMode } = reProps.value\n const apiFn = valueMode === 'url' ? getOssByUrls : getOssByIds\n const [err, res] = await to(apiFn(newVal))\n if (err) return\n\n fileList.value = res.map((item) => {\n const { url, ossId, originalName, fileSize, contentType, createTime } = item\n\n return {\n url,\n uid: ossId,\n name: originalName,\n size: fileSize,\n type: contentType,\n uploadTime: createTime,\n response: { status: 'success', url, ossId, name: originalName, uploadTime: createTime },\n status: 'success'\n }\n }) as unknown as F[]\n },\n { deep: true, immediate: true }\n )\n\n onMounted(() => {\n Object.assign(expose, uploadRef.value, { uploadFiles })\n })\n\n defineExpose(expose)\n</script>\n\n<style lang=\"less\" scoped>\n .qd-upload {\n :deep(.t-upload) {\n &__dragger {\n min-width: 336px;\n min-height: 144px;\n width: 100%;\n height: 100%;\n }\n\n &__flow {\n width: 100%;\n max-width: 100%;\n }\n }\n\n &__popup-upload {\n :deep(.t-image-viewer__trigger) {\n display: none;\n }\n\n :deep(.t-upload) {\n &__flow-table {\n margin-top: 0;\n }\n }\n\n &--disabled {\n :deep(.t-upload) {\n &__flow-table {\n th:last-child,\n td:last-child {\n display: none;\n }\n }\n }\n }\n }\n\n &--only-view:not(.qd-upload--btn-image-popup):not(.qd-upload--btn-file-popup) {\n :deep(.t-upload) {\n &__flow-op,\n &__trigger,\n &__flow-bottom {\n display: none;\n }\n\n &__flow-table,\n &__flow-card-area {\n margin-top: 0;\n }\n\n .t-image-viewer__trigger {\n display: none;\n }\n\n &__card {\n .t-upload__card-item.t-is-background:last-child {\n display: none;\n }\n }\n }\n }\n\n &--hide-manual-upload {\n :deep(.t-upload) {\n &__flow-bottom {\n display: none;\n margin-top: 0;\n }\n }\n }\n\n &--hide-progress {\n :deep(.t-upload) {\n &__flow-table {\n th:last-child,\n td:last-child {\n display: none;\n }\n }\n }\n }\n }\n</style>\n"],"names":["modelValue","t","_openBlock","_createBlock","_unref","_mergeProps","_createSlots","TSpace","TButton","_createVNode","_toDisplayString","TPopup","TUpload","_normalizeClass","_createElementVNode","TBadge","_createTextVNode","$slots","_withCtx","_renderSlot","_normalizeProps","_guardReactiveProps"],"mappings":"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"}
1
+ {"version":3,"file":"index.vue2.mjs","sources":["../../../src/components/upload/index.vue"],"sourcesContent":["<template>\n <t-upload\n ref=\"upload\"\n :class=\"[\n 'qd-upload',\n `qd-upload--${reProps.theme}`,\n reProps.onlyView ? 'qd-upload--only-view' : '',\n !reProps.uploadOptions.showUploadProgress && reProps.onlyView\n ? 'qd-upload--hide-progress'\n : '',\n !reProps.uploadOptions.autoUpload && reProps.showManualButton\n ? ''\n : 'qd-upload--hide-manual-upload',\n reProps.uploadOptions.disabled ? 'qd-upload--disabled' : ''\n ]\"\n v-model:files=\"fileList\"\n :tabindex=\"reProps.onlyView || reProps.uploadOptions.disabled ? '' : '0'\"\n v-bind=\"reProps.uploadOptions\"\n >\n <template v-if=\"['btn-file-popup', 'btn-image-popup'].includes(theme)\">\n <t-space align=\"center\" size=\"small\">\n <t-button\n v-if=\"!reProps.onlyView\"\n variant=\"outline\"\n :disabled=\"reProps.uploadOptions.disabled\"\n >\n <template #icon><upload-icon /></template>\n {{\n !fileList.length\n ? t('triggerUploadText').fileInput\n : reProps.uploadOptions.max === 1 || !reProps.uploadOptions.multiple\n ? t('triggerUploadText').reupload\n : t('triggerUploadText').continueUpload\n }}\n </t-button>\n\n <t-popup v-if=\"fileList.length\" show-arrow trigger=\"click\">\n <t-badge :count=\"fileList.length\" size=\"small\" :offset=\"[2, 2]\" @click.stop>\n <t-button variant=\"outline\">\n <template #icon><browse-icon /></template>\n {{ t('viewFileText') }}\n </t-button>\n </t-badge>\n\n <template #content>\n <t-upload\n :class=\"[\n 'qd-upload__popup-upload',\n reProps.uploadOptions.disabled ? 'qd-upload__popup-upload--disabled' : ''\n ]\"\n v-model:files=\"popupFileList\"\n :theme=\"popupUploadTheme\"\n :disabled=\"reProps.uploadOptions.disabled\"\n :on-remove=\"reProps.handlePopupRemove\"\n :show-thumbnail=\"reProps.uploadOptions.showThumbnail\"\n :show-image-file-name=\"reProps.uploadOptions.showImageFileName\"\n :show-upload-progress=\"reProps.uploadOptions.showUploadProgress\"\n >\n <template #trigger><span style=\"display: none\"></span></template>\n </t-upload>\n </template>\n </t-popup>\n </t-space>\n </template>\n\n <template v-for=\"(_, name) in $slots\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </t-upload>\n</template>\n\n<script\n setup\n lang=\"ts\"\n generic=\"\n F extends UploadFile = UploadFile,\n OR = unknown,\n OP extends string | number | (string | number)[] = string | number | (string | number)[],\n TOP = OP,\n UR = unknown,\n UP extends string | string[] = string | string[],\n TUP = UP,\n DR = unknown,\n DP extends string | number | (string | number)[] = string | number | (string | number)[],\n TDP = DP\n \"\n>\n import type {\n SizeLimitObj,\n TdUploadProps,\n UploadFile,\n UploadInstanceFunctions\n } from 'tdesign-vue-next'\n import type {\n QdUploadDeleteResult,\n QdUploadInstanceFunctions,\n QdUploadListOssByIdsResult,\n QdUploadProps\n } from './types'\n import { qdUploadProps, qdUploadSizeLimit } from './props'\n import { useVModels } from '@vueuse/core'\n import { computed, inject, onMounted, useTemplateRef, ref, watch } from 'vue'\n import {\n Upload as TUpload,\n Button as TButton,\n Popup as TPopup,\n Space as TSpace,\n Badge as TBadge\n } from 'tdesign-vue-next'\n import { UploadIcon, BrowseIcon } from 'tdesign-icons-vue-next'\n import {\n checkSameObject,\n easyCopy,\n isEmpty,\n isTypeByName,\n suspectedWrapperPromise,\n to,\n useTimer\n } from 'qidian-shared'\n import dayjs from 'dayjs'\n import { PROVIDE_UPLOAD } from '../config-provider/config'\n import { useConfig } from '../config-provider/useConfig'\n import { useModal, useDisabled, useReadonly } from '../../hooks'\n import { PROVIDE_FORM_ADD_BEFORE_SUBMIT_QUEUE } from '../form'\n import { qdUploadAcceptMap } from './config'\n import { qdDictConvStrSeparator } from '../dict/tag/props'\n\n defineOptions({\n name: 'QdUpload'\n })\n\n type Props = QdUploadProps<F, OR, OP, TOP, UR, UP, TUP, DR, DP, TDP>\n\n const props = withDefaults(defineProps<Props>(), qdUploadProps)\n const emit = defineEmits<{\n 'update:modelValue': [Props['modelValue']]\n 'update:files': [Props['files']]\n }>()\n const { modelValue, files: fileList } = useVModels<typeof props, keyof typeof emit>(props, emit, {\n passive: true\n })\n\n const reModelValue = computed({\n get: () => {\n const { convStr } = reProps.value\n const value = modelValue.value\n if (isEmpty(value)) return []\n if (typeof value === 'string') {\n return value.split((typeof convStr === 'string' ? convStr : '') || qdDictConvStrSeparator)\n }\n\n return value\n },\n set: (val) => {\n const { convStr } = reProps.value\n if (convStr) {\n modelValue.value = val.join(\n (typeof convStr === 'string' ? convStr : '') || qdDictConvStrSeparator\n )\n return\n }\n\n modelValue.value = val\n }\n })\n\n const formAddBeforeSubmitQueue = inject(PROVIDE_FORM_ADD_BEFORE_SUBMIT_QUEUE, undefined)\n const { t } = useConfig('upload')\n const tdReadonly = useReadonly()\n const tdDisabled = useDisabled()\n const { msgError, msgWarning } = useModal()\n const uploadRef = useTemplateRef<UploadInstanceFunctions>('upload')\n const { timer: uploadTimer, clearTimer: clearUploadTimer } = useTimer('interval')\n\n const delList = ref<(string | number)[]>([])\n\n const popupFileList = computed(() => [...fileList.value])\n\n const globalUploadProps = inject(\n PROVIDE_UPLOAD,\n computed(() => undefined)\n )\n const reProps = computed(() => {\n const {\n modelValue,\n files,\n convStr,\n valueMode,\n theme,\n sizeLimit,\n accept,\n multiple,\n disabled,\n beforeUpload,\n onValidate,\n formatResponse,\n onSuccess,\n onRemove,\n\n onlyView,\n listOssByIds,\n listOssByUrls,\n del,\n\n action,\n bucketConfigKey,\n showImageFileName,\n showUploadProgress,\n showThumbnail,\n draggable,\n\n showManualButton,\n ...uploadOptions\n } = props\n const globalUploadPropsV = globalUploadProps.value\n\n const reAction = action || globalUploadPropsV?.action\n const actionUrl = typeof reAction === 'string' ? reAction : reAction?.(bucketConfigKey)\n\n const reSizeLimit = easyCopy(qdUploadSizeLimit) as SizeLimitObj | undefined\n if (reSizeLimit) {\n if (typeof sizeLimit === 'number') {\n reSizeLimit.size = sizeLimit\n reSizeLimit.message = t('sizeLimitMessage')\n } else {\n Object.assign(reSizeLimit, { message: t('sizeLimitMessage') }, sizeLimit)\n }\n }\n\n const reAccept = accept\n ? accept\n : theme.includes('image')\n ? qdUploadAcceptMap.image\n : qdUploadAcceptMap.default\n const acceptStr = reAccept.join(',')\n\n const reBeforeUpload: typeof beforeUpload = (file) => {\n if (beforeUpload) return beforeUpload(file)\n\n if (reAccept && !isTypeByName(file.name, reAccept)) {\n msgError(\n `${t('fileFormatNotSupportedMessage')[0]} ${reAccept} ${t('fileFormatNotSupportedMessage')[1]}`\n )\n return false\n }\n\n return true\n }\n\n const reOnValidate: typeof onValidate = (context) => {\n if (onValidate) {\n onValidate(context)\n return\n }\n\n switch (context.type) {\n case 'FILES_OVER_LENGTH_LIMIT':\n msgWarning(`${t('maxUploadMessage')[0]}${props.max}${t('maxUploadMessage')[1]}`)\n break\n case 'FILTER_FILE_SAME_NAME':\n msgWarning(t('sameNameMessage'))\n break\n case 'FILE_OVER_SIZE_LIMIT':\n msgWarning(`${context.files.map((t) => t.name).join(',')} ${t('fileSizeExceedsLimit')}`)\n break\n }\n }\n\n const reFormatResponse: typeof formatResponse = (res, context) => {\n if (formatResponse) return formatResponse(res, context)\n\n if (res.code === 200) {\n const { url, ossId, fileName, uploadTime } = res.data || {}\n return {\n success: true,\n url,\n name: fileName,\n ossId,\n uploadTime: uploadTime || dayjs().format('YYYY-MM-DD HH:mm:ss')\n }\n }\n\n return { status: 'fail', error: res.message || res.msg || t('fileUploadFailed') }\n }\n\n const reOnSuccess: typeof onSuccess = (context) => {\n onSuccess?.(context)\n updateModelValue(fileList.value)\n }\n\n const reOnRemove: typeof onRemove = (context) => {\n onRemove?.(context)\n const { ossId } = context.file?.response || {}\n\n if (ossId) {\n if (props.autoUpload) to(handleDel(ossId))\n else addDel(ossId)\n }\n\n updateModelValue(fileList.value)\n }\n\n const handlePopupRemove: typeof onRemove = (context) => {\n reOnRemove(context)\n if (isEmpty(context.index)) return\n\n fileList.value.splice(context.index, 1)\n }\n\n const reUploadOptions = {\n action: actionUrl,\n theme: ['custom', 'file', 'file-input', 'file-flow', 'image', 'image-flow'].includes(theme)\n ? theme\n : 'custom',\n sizeLimit: reSizeLimit,\n accept: acceptStr,\n multiple: multiple ?? props.max !== 1,\n disabled: onlyView ? true : (disabled ?? (tdDisabled.value || tdReadonly.value)),\n beforeUpload: reBeforeUpload,\n onValidate: reOnValidate,\n formatResponse: reFormatResponse,\n onSuccess: reOnSuccess,\n onRemove: reOnRemove,\n showImageFileName: onlyView ? false : showImageFileName,\n showUploadProgress: onlyView ? false : showUploadProgress,\n showThumbnail: onlyView ? true : showThumbnail,\n draggable: onlyView ? false : draggable,\n ...uploadOptions\n } as TdUploadProps\n\n if (globalUploadPropsV) {\n Object.entries(globalUploadPropsV).forEach(([key, value]) => {\n if (['action'].includes(key) || isEmpty(value)) return\n ;(reUploadOptions as Record<string, unknown>)[key] = value\n })\n }\n\n return {\n theme,\n convStr,\n valueMode,\n accept,\n handlePopupRemove,\n onlyView,\n listOssByIds: {\n ...globalUploadPropsV?.listOssByIds,\n ...listOssByIds\n } as Props['listOssByIds'],\n listOssByUrls: {\n ...globalUploadPropsV?.listOssByUrls,\n ...listOssByUrls\n } as Props['listOssByUrls'],\n del: { ...globalUploadPropsV?.del, ...del } as Props['del'],\n showManualButton,\n uploadOptions: reUploadOptions,\n models: {\n modelValue,\n files\n }\n }\n })\n\n const popupUploadTheme = computed(() => {\n switch (props.theme) {\n case 'btn-image-popup':\n return 'image'\n default:\n return 'file-flow'\n }\n })\n\n const expose = {} as QdUploadInstanceFunctions\n\n const uploadFiles: QdUploadInstanceFunctions['uploadFiles'] = (options) => {\n uploadRef.value?.uploadFiles(options?.files)\n\n return new Promise((resolve, reject) => {\n uploadTimer.value = setInterval(() => {\n const isFinished = fileList.value.every((item) => item.status !== 'progress')\n if (!isFinished) return\n\n clearUploadTimer()\n updateModelValue(fileList.value)\n\n const errorList = fileList.value.filter((item) => item.status === 'fail')\n if (errorList.length) {\n const msg = `${errorList.map((item) => item.name).join(',')} ${t('fileUploadFailed')}`\n if (options?.showErrorMessage !== false) {\n msgError(msg)\n }\n reject(new Error(msg))\n return\n }\n\n resolve(fileList.value)\n }, 100)\n })\n }\n\n function updateModelValue(files: UploadFile[]) {\n const tempModelValue: typeof reModelValue.value = []\n files.forEach((item) => {\n if (item.status !== 'success') return\n tempModelValue.push(item.response![reProps.value.valueMode])\n })\n reModelValue.value = tempModelValue\n }\n\n async function handleDel(\n ossId: string | number | (string | number)[],\n showErrorMessage?: boolean\n ) {\n const { del } = reProps.value\n if (!del) return\n\n const { service, transformParams, transformRes } = del\n\n const currentParams = ossId\n let tParams: TDP | undefined\n\n if (transformParams) {\n const [trErr, trRes] = await suspectedWrapperPromise(transformParams(currentParams as DP))\n if (trErr) throw trErr\n\n tParams = trRes\n }\n\n const [serviceErr, serviceRes] = await to(service(tParams || (currentParams as unknown as TDP)))\n if (serviceErr) throw serviceErr\n\n let res: QdUploadDeleteResult | undefined\n if (transformRes) {\n const [trErr, trRes] = await suspectedWrapperPromise(transformRes(serviceRes))\n if (trErr) throw trErr\n\n res = trRes\n } else {\n res = serviceRes as QdUploadDeleteResult\n }\n\n if (typeof res === 'boolean') {\n res = { success: res, message: '' }\n }\n\n if (!res) {\n res = { success: true, message: '' }\n }\n\n const message = res.message\n if (res.success === false) {\n if (message && showErrorMessage !== false) msgError(message)\n throw new Error(message)\n }\n }\n\n async function addDel(ossId: string | number) {\n delList.value.push(ossId)\n }\n\n async function getOssByIds(ossId: string | number | (string | number)[]) {\n const { listOssByIds } = reProps.value\n if (!listOssByIds) return []\n\n const { service, transformParams, transformRes } = listOssByIds\n\n const currentParams = ossId\n let tParams: TOP | undefined\n\n if (transformParams) {\n const [trErr, trRes] = await suspectedWrapperPromise(transformParams(currentParams as OP))\n if (trErr) throw trErr\n\n tParams = trRes\n }\n\n const [serviceErr, serviceRes] = await to(service(tParams || (currentParams as unknown as TOP)))\n if (serviceErr) throw serviceErr\n\n let res: QdUploadListOssByIdsResult | undefined\n if (transformRes) {\n const [trErr, trRes] = await suspectedWrapperPromise(transformRes(serviceRes))\n if (trErr) throw trErr\n\n res = trRes\n } else {\n res = serviceRes as QdUploadListOssByIdsResult\n }\n\n return res\n }\n\n async function getOssByUrls(ossId: string | string[]) {\n const { listOssByUrls } = reProps.value\n if (!listOssByUrls) return []\n\n const { service, transformParams, transformRes } = listOssByUrls\n\n const currentParams = ossId\n let tParams: TUP | undefined\n\n if (transformParams) {\n const [trErr, trRes] = await suspectedWrapperPromise(transformParams(currentParams as UP))\n if (trErr) throw trErr\n\n tParams = trRes\n }\n\n const [serviceErr, serviceRes] = await to(service(tParams || (currentParams as unknown as TUP)))\n if (serviceErr) throw serviceErr\n\n let res: QdUploadListOssByIdsResult | undefined\n if (transformRes) {\n const [trErr, trRes] = await suspectedWrapperPromise(transformRes(serviceRes))\n if (trErr) throw trErr\n\n res = trRes\n } else {\n res = serviceRes as QdUploadListOssByIdsResult\n }\n\n return res\n }\n\n async function uploadBeforeFormSubmit() {\n const [err] = await to(uploadFiles({ showErrorMessage: false }))\n if (err) return { success: false, message: err.message }\n return true\n }\n\n async function delBeforeFormSubmit() {\n if (!delList.value.length) return true\n\n const [err] = await to(handleDel(delList.value, false))\n if (err) return true\n return true\n }\n\n formAddBeforeSubmitQueue?.(uploadBeforeFormSubmit)\n formAddBeforeSubmitQueue?.(delBeforeFormSubmit)\n\n watch(\n reModelValue,\n async (newVal, oldVal) => {\n if (!newVal.length) {\n fileList.value = []\n return\n }\n if (checkSameObject(newVal, oldVal) || fileList.value.length) return\n\n const { valueMode } = reProps.value\n const apiFn = valueMode === 'url' ? getOssByUrls : getOssByIds\n const [err, res] = await to(apiFn(newVal))\n if (err) return\n\n fileList.value = res.map((item) => {\n const { url, ossId, originalName, fileSize, contentType, createTime } = item\n\n return {\n url,\n uid: ossId,\n name: originalName,\n size: fileSize,\n type: contentType,\n uploadTime: createTime,\n response: { status: 'success', url, ossId, name: originalName, uploadTime: createTime },\n status: 'success'\n }\n }) as unknown as F[]\n },\n { deep: true, immediate: true }\n )\n\n onMounted(() => {\n Object.assign(expose, uploadRef.value, { uploadFiles })\n })\n\n defineExpose(expose)\n</script>\n\n<style lang=\"less\" scoped>\n .qd-upload {\n width: 100%;\n outline: none;\n\n :deep(.t-image-viewer__trigger) {\n display: none;\n }\n\n :deep(.t-upload) {\n &__dragger {\n min-width: auto;\n min-height: 144px;\n width: 100%;\n height: 100%;\n }\n\n &__flow {\n width: 100%;\n min-width: auto;\n max-width: 100%;\n\n &-empty {\n height: auto;\n min-height: 144px;\n }\n\n &-card-area,\n &-table {\n margin-top: var(--td-comp-margin-s);\n }\n }\n }\n\n &__popup-upload {\n :deep(.t-image-viewer__trigger) {\n display: none;\n }\n\n :deep(.t-upload) {\n &__flow-table {\n margin-top: 0;\n }\n }\n\n &--disabled {\n :deep(.t-upload) {\n &__flow-table {\n th:last-child,\n td:last-child {\n display: none;\n }\n }\n }\n }\n }\n\n &:focus {\n :deep(.t-upload__flow-card-area),\n :deep(.t-upload__flow-table) {\n border-color: var(--td-brand-color);\n }\n }\n\n &--only-view {\n :deep(.t-upload) {\n &__flow-empty,\n &__card-mask-item-divider {\n display: none;\n }\n\n &__flow-card-area {\n border-color: var(--td-component-border);\n }\n }\n\n &:not(.qd-upload--btn-image-popup):not(.qd-upload--btn-file-popup) {\n :deep(.t-upload) {\n &__flow-op,\n &__trigger,\n &__flow-bottom {\n display: none;\n }\n\n &__flow-table,\n &__flow-card-area {\n margin-top: 0;\n }\n\n &__card {\n .t-upload__card-item.t-is-background:last-child {\n display: none;\n }\n }\n }\n }\n }\n\n &--hide-manual-upload {\n :deep(.t-upload) {\n &__flow-bottom {\n display: none;\n margin-top: 0;\n }\n }\n }\n\n &--hide-progress {\n :deep(.t-upload) {\n &__flow-table {\n th:last-child,\n td:last-child {\n display: none;\n }\n }\n }\n }\n\n &--disabled {\n :deep(.t-upload__flow-card-area) {\n border-color: var(--td-component-border);\n }\n }\n }\n</style>\n"],"names":["modelValue","t","_openBlock","_createBlock","_unref","_mergeProps","_createSlots","TSpace","TButton","_createVNode","_toDisplayString","TPopup","TUpload","_normalizeClass","_createElementVNode","TBadge","_createTextVNode","$slots","_withCtx","_renderSlot","_normalizeProps","_guardReactiveProps"],"mappings":"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"}
package/dist/index.mjs CHANGED
@@ -31,7 +31,9 @@ import { default as default21 } from "./components/image/index.vue.mjs";
31
31
  import { default as default22 } from "./components/service/list/index.vue.mjs";
32
32
  import { default as default23 } from "./components/service/table/index.vue.mjs";
33
33
  import { default as default24 } from "./components/service-dialog-table-select/index.vue.mjs";
34
+ import { defineQdServiceDialogTableSelect } from "./components/service-dialog-table-select/define.mjs";
34
35
  import { default as default25 } from "./components/service-popup-table-select/index.vue.mjs";
36
+ import { defineQdServicePopupTableSelect } from "./components/service-popup-table-select/define.mjs";
35
37
  import { default as default26 } from "./components/service-select/index.vue.mjs";
36
38
  import { default as default27 } from "./components/upload/index.vue.mjs";
37
39
  import { qdUploadAcceptMap } from "./components/upload/config.mjs";
@@ -79,6 +81,8 @@ export {
79
81
  auth,
80
82
  defineQdCrudList,
81
83
  defineQdCrudTable,
84
+ defineQdServiceDialogTableSelect,
85
+ defineQdServicePopupTableSelect,
82
86
  formatDuration,
83
87
  getValueByPath,
84
88
  hasPermi,
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -6073,24 +6073,30 @@ p {
6073
6073
  .qd-service-select__desc {
6074
6074
  color: var(--td-text-color-placeholder);
6075
6075
  }
6076
- .qd-dialog-table-select[data-v-272623c9]:not(.qd-dialog-table-select--readonly):not(.qd-dialog-table-select--disabled) {
6076
+ .qd-dialog-table-select[data-v-22654679] {
6077
+ width: 100%;
6078
+ }
6079
+ .qd-dialog-table-select__trigger[data-v-22654679] {
6080
+ width: 100%;
6081
+ }
6082
+ .qd-dialog-table-select__trigger[data-v-22654679]:not(.qd-dialog-table-select__trigger--readonly):not(.qd-dialog-table-select__trigger--disabled) {
6077
6083
  cursor: pointer;
6078
6084
  }
6079
- .qd-dialog-table-select__table[data-v-272623c9] .qd-crud-search > .t-card__body,
6080
- .qd-dialog-table-select__table[data-v-272623c9] .qd-crud-table__body > .t-card__body {
6085
+ .qd-dialog-table-select__table[data-v-22654679] .qd-crud-search > .t-card__body,
6086
+ .qd-dialog-table-select__table[data-v-22654679] .qd-crud-table__body > .t-card__body {
6081
6087
  padding: 0 !important;
6082
6088
  }
6083
- .qd-dialog-table-select__table[data-v-272623c9] .qd-crud-table__toolbar {
6089
+ .qd-dialog-table-select__table[data-v-22654679] .qd-crud-table__toolbar {
6084
6090
  display: none;
6085
6091
  }
6086
- .qd-dialog-table-select__table[data-v-272623c9] .qd-service-table {
6092
+ .qd-dialog-table-select__table[data-v-22654679] .qd-service-table {
6087
6093
  margin-top: 0;
6088
6094
  }
6089
- .qd-dialog-table-select__table-add[data-v-272623c9] {
6095
+ .qd-dialog-table-select__table-add[data-v-22654679] {
6090
6096
  margin-top: var(--td-comp-margin-m);
6091
6097
  display: flex;
6092
6098
  }
6093
- .qd-dialog-table-select__table-add .t-input__wrap[data-v-272623c9] {
6099
+ .qd-dialog-table-select__table-add .t-input__wrap[data-v-22654679] {
6094
6100
  flex: 1 1 0;
6095
6101
  overflow: hidden;
6096
6102
  margin-right: var(--td-comp-margin-m);
@@ -6098,65 +6104,92 @@ p {
6098
6104
  .qd-popup-table-select__overlay {
6099
6105
  width: min(960px, 100%);
6100
6106
  }
6101
- .qd-popup-table-select__table[data-v-6bcada3a] .qd-crud-search > .t-card__body,
6102
- .qd-popup-table-select__table[data-v-6bcada3a] .qd-crud-table__body > .t-card__body {
6107
+ .qd-popup-table-select__table[data-v-e27012b0] .qd-crud-search > .t-card__body,
6108
+ .qd-popup-table-select__table[data-v-e27012b0] .qd-crud-table__body > .t-card__body {
6103
6109
  padding: 0 !important;
6104
6110
  }
6105
- .qd-popup-table-select__table[data-v-6bcada3a] .qd-crud-table__toolbar {
6111
+ .qd-popup-table-select__table[data-v-e27012b0] .qd-crud-table__toolbar {
6106
6112
  display: none;
6107
6113
  }
6108
- .qd-popup-table-select__table[data-v-6bcada3a] .qd-service-table {
6114
+ .qd-popup-table-select__table[data-v-e27012b0] .qd-service-table {
6109
6115
  margin-top: 0;
6110
6116
  }
6111
- .qd-popup-table-select__table-add[data-v-6bcada3a] {
6117
+ .qd-popup-table-select__table-add[data-v-e27012b0] {
6112
6118
  margin-top: var(--td-comp-margin-m);
6113
6119
  display: flex;
6114
6120
  }
6115
- .qd-popup-table-select__table-add .t-input__wrap[data-v-6bcada3a] {
6121
+ .qd-popup-table-select__table-add .t-input__wrap[data-v-e27012b0] {
6116
6122
  flex: 1 1 0;
6117
6123
  overflow: hidden;
6118
6124
  margin-right: var(--td-comp-margin-m);
6119
6125
  }
6120
- .qd-upload[data-v-30edd76e] .t-upload__dragger {
6121
- min-width: 336px;
6126
+ .qd-upload[data-v-e86a1393] {
6127
+ width: 100%;
6128
+ outline: none;
6129
+ }
6130
+ .qd-upload[data-v-e86a1393] .t-image-viewer__trigger {
6131
+ display: none;
6132
+ }
6133
+ .qd-upload[data-v-e86a1393] .t-upload__dragger {
6134
+ min-width: auto;
6122
6135
  min-height: 144px;
6123
6136
  width: 100%;
6124
6137
  height: 100%;
6125
6138
  }
6126
- .qd-upload[data-v-30edd76e] .t-upload__flow {
6139
+ .qd-upload[data-v-e86a1393] .t-upload__flow {
6127
6140
  width: 100%;
6141
+ min-width: auto;
6128
6142
  max-width: 100%;
6129
6143
  }
6130
- .qd-upload__popup-upload[data-v-30edd76e] .t-image-viewer__trigger {
6144
+ .qd-upload[data-v-e86a1393] .t-upload__flow-empty {
6145
+ height: auto;
6146
+ min-height: 144px;
6147
+ }
6148
+ .qd-upload[data-v-e86a1393] .t-upload__flow-card-area,
6149
+ .qd-upload[data-v-e86a1393] .t-upload__flow-table {
6150
+ margin-top: var(--td-comp-margin-s);
6151
+ }
6152
+ .qd-upload__popup-upload[data-v-e86a1393] .t-image-viewer__trigger {
6131
6153
  display: none;
6132
6154
  }
6133
- .qd-upload__popup-upload[data-v-30edd76e] .t-upload__flow-table {
6155
+ .qd-upload__popup-upload[data-v-e86a1393] .t-upload__flow-table {
6134
6156
  margin-top: 0;
6135
6157
  }
6136
- .qd-upload__popup-upload--disabled[data-v-30edd76e] .t-upload__flow-table th:last-child,
6137
- .qd-upload__popup-upload--disabled[data-v-30edd76e] .t-upload__flow-table td:last-child {
6158
+ .qd-upload__popup-upload--disabled[data-v-e86a1393] .t-upload__flow-table th:last-child,
6159
+ .qd-upload__popup-upload--disabled[data-v-e86a1393] .t-upload__flow-table td:last-child {
6138
6160
  display: none;
6139
6161
  }
6140
- .qd-upload--only-view[data-v-30edd76e]:not(.qd-upload--btn-image-popup):not(.qd-upload--btn-file-popup) .t-upload__flow-op,
6141
- .qd-upload--only-view[data-v-30edd76e]:not(.qd-upload--btn-image-popup):not(.qd-upload--btn-file-popup) .t-upload__trigger,
6142
- .qd-upload--only-view[data-v-30edd76e]:not(.qd-upload--btn-image-popup):not(.qd-upload--btn-file-popup) .t-upload__flow-bottom {
6162
+ .qd-upload[data-v-e86a1393]:focus .t-upload__flow-card-area,
6163
+ .qd-upload[data-v-e86a1393]:focus .t-upload__flow-table {
6164
+ border-color: var(--td-brand-color);
6165
+ }
6166
+ .qd-upload--only-view[data-v-e86a1393] .t-upload__flow-empty,
6167
+ .qd-upload--only-view[data-v-e86a1393] .t-upload__card-mask-item-divider {
6143
6168
  display: none;
6144
6169
  }
6145
- .qd-upload--only-view[data-v-30edd76e]:not(.qd-upload--btn-image-popup):not(.qd-upload--btn-file-popup) .t-upload__flow-table,
6146
- .qd-upload--only-view[data-v-30edd76e]:not(.qd-upload--btn-image-popup):not(.qd-upload--btn-file-popup) .t-upload__flow-card-area {
6147
- margin-top: 0;
6170
+ .qd-upload--only-view[data-v-e86a1393] .t-upload__flow-card-area {
6171
+ border-color: var(--td-component-border);
6148
6172
  }
6149
- .qd-upload--only-view[data-v-30edd76e]:not(.qd-upload--btn-image-popup):not(.qd-upload--btn-file-popup) .t-upload .t-image-viewer__trigger {
6173
+ .qd-upload--only-view[data-v-e86a1393]:not(.qd-upload--btn-image-popup):not(.qd-upload--btn-file-popup) .t-upload__flow-op,
6174
+ .qd-upload--only-view[data-v-e86a1393]:not(.qd-upload--btn-image-popup):not(.qd-upload--btn-file-popup) .t-upload__trigger,
6175
+ .qd-upload--only-view[data-v-e86a1393]:not(.qd-upload--btn-image-popup):not(.qd-upload--btn-file-popup) .t-upload__flow-bottom {
6150
6176
  display: none;
6151
6177
  }
6152
- .qd-upload--only-view[data-v-30edd76e]:not(.qd-upload--btn-image-popup):not(.qd-upload--btn-file-popup) .t-upload__card .t-upload__card-item.t-is-background:last-child {
6178
+ .qd-upload--only-view[data-v-e86a1393]:not(.qd-upload--btn-image-popup):not(.qd-upload--btn-file-popup) .t-upload__flow-table,
6179
+ .qd-upload--only-view[data-v-e86a1393]:not(.qd-upload--btn-image-popup):not(.qd-upload--btn-file-popup) .t-upload__flow-card-area {
6180
+ margin-top: 0;
6181
+ }
6182
+ .qd-upload--only-view[data-v-e86a1393]:not(.qd-upload--btn-image-popup):not(.qd-upload--btn-file-popup) .t-upload__card .t-upload__card-item.t-is-background:last-child {
6153
6183
  display: none;
6154
6184
  }
6155
- .qd-upload--hide-manual-upload[data-v-30edd76e] .t-upload__flow-bottom {
6185
+ .qd-upload--hide-manual-upload[data-v-e86a1393] .t-upload__flow-bottom {
6156
6186
  display: none;
6157
6187
  margin-top: 0;
6158
6188
  }
6159
- .qd-upload--hide-progress[data-v-30edd76e] .t-upload__flow-table th:last-child,
6160
- .qd-upload--hide-progress[data-v-30edd76e] .t-upload__flow-table td:last-child {
6189
+ .qd-upload--hide-progress[data-v-e86a1393] .t-upload__flow-table th:last-child,
6190
+ .qd-upload--hide-progress[data-v-e86a1393] .t-upload__flow-table td:last-child {
6161
6191
  display: none;
6162
6192
  }
6193
+ .qd-upload--disabled[data-v-e86a1393] .t-upload__flow-card-area {
6194
+ border-color: var(--td-component-border);
6195
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "qidian-vue-ui",
3
- "version": "1.1.45",
3
+ "version": "1.1.47",
4
4
  "description": "基于 TDesign 的 QiDian Vue UI 组件库",
5
5
  "author": "qidian",
6
6
  "license": "MIT",