qidian-vue-ui 1.1.31 → 1.1.32

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 (157) hide show
  1. package/dist/components/card/props.mjs.map +1 -1
  2. package/dist/components/config-provider/config.mjs.map +1 -1
  3. package/dist/components/config-provider/useConfig.mjs.map +1 -1
  4. package/dist/components/crud/define.d.ts +2 -1
  5. package/dist/components/crud/define.mjs.map +1 -1
  6. package/dist/components/crud/index.d.ts +4 -5
  7. package/dist/components/crud/list/index.d.ts +2 -0
  8. package/dist/components/crud/list/index.vue.mjs +8 -0
  9. package/dist/components/crud/list/index.vue.mjs.map +1 -0
  10. package/dist/components/crud/{list.vue2.mjs → list/index.vue2.mjs} +10 -10
  11. package/dist/components/crud/list/index.vue2.mjs.map +1 -0
  12. package/dist/components/crud/list/props.d.ts +5 -0
  13. package/dist/components/crud/list/props.mjs +9 -0
  14. package/dist/components/crud/list/props.mjs.map +1 -0
  15. package/dist/components/crud/list/types.d.ts +9 -0
  16. package/dist/components/crud/search/index.d.ts +2 -0
  17. package/dist/components/crud/{search.vue.d.ts → search/index.vue.d.ts} +4 -4
  18. package/dist/components/crud/search/index.vue.mjs +8 -0
  19. package/dist/components/crud/search/index.vue.mjs.map +1 -0
  20. package/dist/components/crud/{search.vue2.mjs → search/index.vue2.mjs} +10 -10
  21. package/dist/components/crud/search/index.vue2.mjs.map +1 -0
  22. package/dist/components/crud/search/props.d.ts +26 -0
  23. package/dist/components/crud/search/props.mjs +19 -0
  24. package/dist/components/crud/search/props.mjs.map +1 -0
  25. package/dist/components/crud/search/types.d.ts +5 -0
  26. package/dist/components/crud/table/index.d.ts +2 -0
  27. package/dist/components/crud/{props.d.ts → table/props.d.ts} +0 -31
  28. package/dist/components/crud/table/props.mjs +16 -0
  29. package/dist/components/crud/table/props.mjs.map +1 -0
  30. package/dist/components/crud/{table.vue.mjs → table/table.vue.mjs} +2 -2
  31. package/dist/components/crud/{table.vue2.mjs → table/table.vue2.mjs} +21 -21
  32. package/dist/components/crud/table/table.vue2.mjs.map +1 -0
  33. package/dist/components/crud/{types.d.ts → table/types.d.ts} +6 -15
  34. package/dist/components/dict/checkbox-group/index.d.ts +2 -0
  35. package/dist/components/dict/checkbox-group/index.vue.mjs +8 -0
  36. package/dist/components/dict/checkbox-group/index.vue.mjs.map +1 -0
  37. package/dist/components/dict/{checkbox-group.vue2.mjs → checkbox-group/index.vue2.mjs} +14 -9
  38. package/dist/components/dict/checkbox-group/index.vue2.mjs.map +1 -0
  39. package/dist/components/dict/checkbox-group/props.d.ts +9 -0
  40. package/dist/components/dict/checkbox-group/props.mjs +13 -0
  41. package/dist/components/dict/checkbox-group/props.mjs.map +1 -0
  42. package/dist/components/dict/checkbox-group/types.d.ts +6 -0
  43. package/dist/components/dict/index.d.ts +4 -5
  44. package/dist/components/dict/radio-group/index.d.ts +2 -0
  45. package/dist/components/dict/radio-group/index.vue.mjs +8 -0
  46. package/dist/components/dict/radio-group/index.vue.mjs.map +1 -0
  47. package/dist/components/dict/{radio-group.vue2.mjs → radio-group/index.vue2.mjs} +6 -6
  48. package/dist/components/dict/radio-group/index.vue2.mjs.map +1 -0
  49. package/dist/components/dict/radio-group/props.d.ts +7 -0
  50. package/dist/components/dict/radio-group/props.mjs +11 -0
  51. package/dist/components/dict/radio-group/props.mjs.map +1 -0
  52. package/dist/components/dict/radio-group/types.d.ts +4 -0
  53. package/dist/components/dict/select/index.d.ts +2 -0
  54. package/dist/components/dict/{select.vue.mjs → select/index.vue.mjs} +8 -7
  55. package/dist/components/dict/select/index.vue.mjs.map +1 -0
  56. package/dist/components/dict/select/index.vue2.mjs +5 -0
  57. package/dist/components/dict/select/index.vue2.mjs.map +1 -0
  58. package/dist/components/dict/select/props.d.ts +11 -0
  59. package/dist/components/dict/select/props.mjs +15 -0
  60. package/dist/components/dict/select/props.mjs.map +1 -0
  61. package/dist/components/dict/select/types.d.ts +7 -0
  62. package/dist/components/dict/tag/index.d.ts +2 -0
  63. package/dist/components/dict/{tag.vue.d.ts → tag/index.vue.d.ts} +7 -7
  64. package/dist/components/dict/tag/index.vue.mjs +8 -0
  65. package/dist/components/dict/tag/index.vue.mjs.map +1 -0
  66. package/dist/components/dict/{tag.vue2.mjs → tag/index.vue2.mjs} +8 -8
  67. package/dist/components/dict/tag/index.vue2.mjs.map +1 -0
  68. package/dist/components/dict/tag/props.d.ts +5 -0
  69. package/dist/components/dict/tag/props.mjs +10 -0
  70. package/dist/components/dict/tag/props.mjs.map +1 -0
  71. package/dist/components/dict/tag/types.d.ts +9 -0
  72. package/dist/components/office/pdf/config.mjs.map +1 -1
  73. package/dist/components/org/index.d.ts +1 -2
  74. package/dist/components/org/select/index.d.ts +2 -0
  75. package/dist/components/org/select/index.vue.mjs +4 -4
  76. package/dist/components/org/select/props.mjs +1 -1
  77. package/dist/components/org/select/props.mjs.map +1 -1
  78. package/dist/components/service/index.d.ts +3 -4
  79. package/dist/components/service/list/index.d.ts +2 -0
  80. package/dist/components/service/list/index.vue.mjs +8 -0
  81. package/dist/components/service/list/index.vue.mjs.map +1 -0
  82. package/dist/components/service/{list.vue2.mjs → list/index.vue2.mjs} +4 -4
  83. package/dist/components/service/list/index.vue2.mjs.map +1 -0
  84. package/dist/components/service/list/props.d.ts +4 -0
  85. package/dist/components/service/list/props.mjs +8 -0
  86. package/dist/components/service/list/props.mjs.map +1 -0
  87. package/dist/components/service/list/types.d.ts +15 -0
  88. package/dist/components/service/select/index.d.ts +2 -0
  89. package/dist/components/service/select/index.vue.mjs +8 -0
  90. package/dist/components/service/select/index.vue.mjs.map +1 -0
  91. package/dist/components/service/{select.vue2.mjs → select/index.vue2.mjs} +5 -5
  92. package/dist/components/service/select/index.vue2.mjs.map +1 -0
  93. package/dist/components/service/select/props.d.ts +19 -0
  94. package/dist/components/service/select/props.mjs +24 -0
  95. package/dist/components/service/select/props.mjs.map +1 -0
  96. package/dist/components/service/select/types.d.ts +15 -0
  97. package/dist/components/service/table/index.d.ts +2 -0
  98. package/dist/components/service/table/index.vue.mjs +8 -0
  99. package/dist/components/service/table/index.vue.mjs.map +1 -0
  100. package/dist/components/service/{table.vue2.mjs → table/index.vue2.mjs} +4 -4
  101. package/dist/components/service/table/index.vue2.mjs.map +1 -0
  102. package/dist/components/service/{props.d.ts → table/props.d.ts} +0 -23
  103. package/dist/components/service/{props.mjs → table/props.mjs} +0 -26
  104. package/dist/components/service/table/props.mjs.map +1 -0
  105. package/dist/components/service/table/types.d.ts +18 -0
  106. package/dist/components/upload/index.vue.mjs +1 -1
  107. package/dist/components/upload/index.vue2.mjs +1 -1
  108. package/dist/components/upload/index.vue2.mjs.map +1 -1
  109. package/dist/hooks/useModal.mjs.map +1 -1
  110. package/dist/index.mjs +18 -18
  111. package/dist/qidian-vue-ui.css +82 -82
  112. package/package.json +1 -1
  113. package/dist/components/crud/list.vue.mjs +0 -8
  114. package/dist/components/crud/list.vue.mjs.map +0 -1
  115. package/dist/components/crud/list.vue2.mjs.map +0 -1
  116. package/dist/components/crud/props.mjs +0 -37
  117. package/dist/components/crud/props.mjs.map +0 -1
  118. package/dist/components/crud/search.vue.mjs +0 -8
  119. package/dist/components/crud/search.vue.mjs.map +0 -1
  120. package/dist/components/crud/search.vue2.mjs.map +0 -1
  121. package/dist/components/crud/table.vue2.mjs.map +0 -1
  122. package/dist/components/dict/checkbox-group.vue.mjs +0 -8
  123. package/dist/components/dict/checkbox-group.vue.mjs.map +0 -1
  124. package/dist/components/dict/checkbox-group.vue2.mjs.map +0 -1
  125. package/dist/components/dict/props.d.ts +0 -32
  126. package/dist/components/dict/props.mjs +0 -40
  127. package/dist/components/dict/props.mjs.map +0 -1
  128. package/dist/components/dict/radio-group.vue.mjs +0 -8
  129. package/dist/components/dict/radio-group.vue.mjs.map +0 -1
  130. package/dist/components/dict/radio-group.vue2.mjs.map +0 -1
  131. package/dist/components/dict/select.vue.mjs.map +0 -1
  132. package/dist/components/dict/select.vue2.mjs +0 -5
  133. package/dist/components/dict/select.vue2.mjs.map +0 -1
  134. package/dist/components/dict/tag.vue.mjs +0 -8
  135. package/dist/components/dict/tag.vue.mjs.map +0 -1
  136. package/dist/components/dict/tag.vue2.mjs.map +0 -1
  137. package/dist/components/dict/types.d.ts +0 -22
  138. package/dist/components/service/list.vue.mjs +0 -8
  139. package/dist/components/service/list.vue.mjs.map +0 -1
  140. package/dist/components/service/list.vue2.mjs.map +0 -1
  141. package/dist/components/service/props.mjs.map +0 -1
  142. package/dist/components/service/select.vue.mjs +0 -8
  143. package/dist/components/service/select.vue.mjs.map +0 -1
  144. package/dist/components/service/select.vue2.mjs.map +0 -1
  145. package/dist/components/service/table.vue.mjs +0 -8
  146. package/dist/components/service/table.vue.mjs.map +0 -1
  147. package/dist/components/service/table.vue2.mjs.map +0 -1
  148. package/dist/components/service/types.d.ts +0 -44
  149. /package/dist/components/crud/{list.vue.d.ts → list/index.vue.d.ts} +0 -0
  150. /package/dist/components/crud/{table.vue.d.ts → table/table.vue.d.ts} +0 -0
  151. /package/dist/components/crud/{table.vue.mjs.map → table/table.vue.mjs.map} +0 -0
  152. /package/dist/components/dict/{checkbox-group.vue.d.ts → checkbox-group/index.vue.d.ts} +0 -0
  153. /package/dist/components/dict/{radio-group.vue.d.ts → radio-group/index.vue.d.ts} +0 -0
  154. /package/dist/components/dict/{select.vue.d.ts → select/index.vue.d.ts} +0 -0
  155. /package/dist/components/service/{list.vue.d.ts → list/index.vue.d.ts} +0 -0
  156. /package/dist/components/service/{select.vue.d.ts → select/index.vue.d.ts} +0 -0
  157. /package/dist/components/service/{table.vue.d.ts → table/index.vue.d.ts} +0 -0
@@ -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 ]\"\n v-model:files=\"fileList\"\n v-bind=\"reProps.uploadOptions\"\n >\n <template v-if=\"theme === 'btn-image-popup'\">\n <t-space align=\"center\" size=\"small\">\n <t-button variant=\"outline\" :disabled=\"reProps.uploadOptions.disabled\">\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 v-model:files=\"popupFileList\"\n theme=\"image\"\n :disabled=\"reProps.uploadOptions.disabled\"\n :on-remove=\"reProps.handlePopupRemove\"\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/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 draggable,\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\n | SizeLimitObj\n | 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 ? accept : theme.includes('image') ? qdUploadAcceptMap.image : 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 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 uploadOptions: reUploadOptions,\n models: {\n modelValue,\n files\n }\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, size, createTime } = item\n\n return {\n url,\n uid: ossId,\n name: originalName,\n size,\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\n &--only-view {\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</style>\n"],"names":["modelValue","t","_openBlock","_createBlock","_unref","_mergeProps","_createSlots","TSpace","_createVNode","TButton","_toDisplayString","TPopup","TUpload","_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 ]\"\n v-model:files=\"fileList\"\n v-bind=\"reProps.uploadOptions\"\n >\n <template v-if=\"theme === 'btn-image-popup'\">\n <t-space align=\"center\" size=\"small\">\n <t-button variant=\"outline\" :disabled=\"reProps.uploadOptions.disabled\">\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 v-model:files=\"popupFileList\"\n theme=\"image\"\n :disabled=\"reProps.uploadOptions.disabled\"\n :on-remove=\"reProps.handlePopupRemove\"\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 draggable,\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 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 uploadOptions: reUploadOptions,\n models: {\n modelValue,\n files\n }\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, size, createTime } = item\n\n return {\n url,\n uid: ossId,\n name: originalName,\n size,\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\n &--only-view {\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</style>\n"],"names":["modelValue","t","_openBlock","_createBlock","_unref","_mergeProps","_createSlots","TSpace","_createVNode","TButton","_toDisplayString","TPopup","TUpload","_createElementVNode","TBadge","_createTextVNode","$slots","_withCtx","_renderSlot","_normalizeProps","_guardReactiveProps"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useModal.mjs","sources":["../../src/hooks/useModal.ts"],"sourcesContent":["import type {\n DialogOptions,\n MessageInfoOptions,\n NotificationOptions,\n MessageInstance,\n NotificationInstance,\n TNode\n} from 'tdesign-vue-next'\nimport { MessagePlugin, DialogPlugin, NotifyPlugin } from 'tdesign-vue-next'\nimport { useConfig } from '../components/config-provider/useConfig'\nimport { isEmpty, suspectedWrapperPromise } from 'qidian-shared'\n\ninterface QdDialogOptions extends Omit<DialogOptions, 'onConfirm'> {\n onConfirm?: (context: {\n e: MouseEvent | KeyboardEvent\n }) => void | Promise<void> | boolean | Promise<boolean>\n}\n\nexport function useModal() {\n const { t } = useConfig('modal')\n\n function messageOptionsMerge(content: string | MessageInfoOptions): MessageInfoOptions {\n if (typeof content === 'string') {\n return {\n content,\n zIndex: 100001\n }\n }\n\n return {\n zIndex: 100001,\n ...content\n }\n }\n\n function messageCore(\n theme: 'info' | 'success' | 'warning' | 'error' | 'loading',\n content: string | MessageInfoOptions,\n duration?: number\n ) {\n return MessagePlugin[theme](messageOptionsMerge(content), duration)\n }\n\n function msg(content: string | MessageInfoOptions, duration?: number) {\n return messageCore('info', content, duration)\n }\n\n function msgSuccess(content: string | MessageInfoOptions, duration?: number) {\n return messageCore('success', content, duration)\n }\n\n function msgError(content: string | MessageInfoOptions, duration?: number) {\n return messageCore('error', content, duration)\n }\n\n function msgWarning(content: string | MessageInfoOptions, duration?: number) {\n return messageCore('warning', content, duration)\n }\n\n function msgLoading(content: string | MessageInfoOptions, duration?: number) {\n return messageCore('loading', content, duration)\n }\n\n function msgClose(options: Promise<MessageInstance>) {\n MessagePlugin.close(options)\n }\n\n function msgCloseAll() {\n MessagePlugin.closeAll()\n }\n\n function alertOptionsMerge(body: string | DialogOptions): QdDialogOptions {\n if (typeof body === 'string') {\n return {\n header: t('systemPromptText'),\n body,\n zIndex: 100001\n }\n }\n\n return {\n header: t('systemPromptText'),\n zIndex: 100001,\n ...body\n }\n }\n\n function alertCore(\n theme: 'default' | 'info' | 'success' | 'error' | 'warning',\n content: string | QdDialogOptions\n ) {\n const options = alertOptionsMerge(content)\n const instance = DialogPlugin.alert({\n ...options,\n theme: theme === 'error' ? 'danger' : theme,\n onConfirm: async (context) => {\n const { onConfirm } = options\n if (onConfirm) {\n const [err, res] = await suspectedWrapperPromise(onConfirm(context))\n if (err) return\n if (isEmpty(res) || res) instance?.destroy()\n return\n }\n\n instance?.destroy()\n },\n onClose: (context) => {\n options.onClose?.(context)\n instance?.destroy()\n },\n })\n\n return instance\n }\n\n function alert(content: string | DialogOptions) {\n return alertCore('info', content)\n }\n\n function alertSuccess(content: string | DialogOptions) {\n return alertCore('success', content)\n }\n\n function alertError(content: string | DialogOptions) {\n return alertCore('error', content)\n }\n\n function alertWarning(content: string | DialogOptions) {\n return alertCore('warning', content)\n }\n\n function notifyOptionsMerge(content: string | TNode): NotificationOptions {\n return {\n content,\n zIndex: 100001\n }\n }\n\n function notifyCore(theme: 'info' | 'success' | 'error' | 'warning', content: string | TNode) {\n return NotifyPlugin[theme](notifyOptionsMerge(content))\n }\n\n function notify(content: string | TNode) {\n return notifyCore('info', content)\n }\n\n function notifySuccess(content: string | TNode) {\n return notifyCore('success', content)\n }\n\n function notifyError(content: string | TNode) {\n return notifyCore('error', content)\n }\n\n function notifyWarning(content: string | TNode) {\n return notifyCore('warning', content)\n }\n\n function notifyClose(options: Promise<NotificationInstance>) {\n NotifyPlugin.close(options)\n }\n\n function notifyCloseAll() {\n NotifyPlugin.closeAll()\n }\n\n function confirm(\n options:\n | string\n | Pick<\n DialogOptions,\n | 'header'\n | 'body'\n | 'theme'\n | 'confirmBtn'\n | 'cancelBtn'\n | 'closeBtn'\n | 'closeOnEscKeydown'\n | 'closeOnOverlayClick'\n >,\n onConfirm: (context: {\n e: MouseEvent | KeyboardEvent\n }) => void | Promise<void> | boolean | Promise<boolean>,\n onClose?: () => void\n ) {\n const reOptions = alertOptionsMerge(options)\n const instance = DialogPlugin.confirm({\n ...reOptions,\n onConfirm: async (context) => {\n instance.update({\n confirmBtn: { loading: true },\n closeOnOverlayClick: false,\n closeOnEscKeydown: false,\n closeBtn: false,\n cancelBtn: { disabled: true }\n })\n const [err, res] = await suspectedWrapperPromise(onConfirm(context))\n\n if (err) {\n instance.update({\n confirmBtn: { loading: false },\n closeOnOverlayClick: reOptions.closeOnOverlayClick,\n closeOnEscKeydown: reOptions.closeOnEscKeydown,\n closeBtn: reOptions.closeBtn,\n cancelBtn: { disabled: false }\n })\n return\n }\n\n if (isEmpty(res) || res) instance?.destroy()\n },\n onClose: () => {\n onClose?.()\n instance?.destroy()\n }\n })\n\n return instance\n }\n\n return {\n messageOptionsMerge,\n messageCore,\n msg,\n msgSuccess,\n msgError,\n msgWarning,\n msgLoading,\n msgClose,\n msgCloseAll,\n\n alertOptionsMerge,\n alertCore,\n alert,\n alertSuccess,\n alertError,\n alertWarning,\n\n notifyOptionsMerge,\n notifyCore,\n notify,\n notifySuccess,\n notifyError,\n notifyWarning,\n notifyClose,\n notifyCloseAll,\n confirm\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useModal.mjs","sources":["../../src/hooks/useModal.ts"],"sourcesContent":["import type {\n DialogOptions,\n MessageInfoOptions,\n NotificationOptions,\n MessageInstance,\n NotificationInstance,\n TNode\n} from 'tdesign-vue-next'\nimport { MessagePlugin, DialogPlugin, NotifyPlugin } from 'tdesign-vue-next'\nimport { useConfig } from '../components/config-provider/useConfig'\nimport { isEmpty, suspectedWrapperPromise } from 'qidian-shared'\n\ninterface QdDialogOptions extends Omit<DialogOptions, 'onConfirm'> {\n onConfirm?: (context: {\n e: MouseEvent | KeyboardEvent\n }) => void | Promise<void> | boolean | Promise<boolean>\n}\n\nexport function useModal() {\n const { t } = useConfig('modal')\n\n function messageOptionsMerge(content: string | MessageInfoOptions): MessageInfoOptions {\n if (typeof content === 'string') {\n return {\n content,\n zIndex: 100001\n }\n }\n\n return {\n zIndex: 100001,\n ...content\n }\n }\n\n function messageCore(\n theme: 'info' | 'success' | 'warning' | 'error' | 'loading',\n content: string | MessageInfoOptions,\n duration?: number\n ) {\n return MessagePlugin[theme](messageOptionsMerge(content), duration)\n }\n\n function msg(content: string | MessageInfoOptions, duration?: number) {\n return messageCore('info', content, duration)\n }\n\n function msgSuccess(content: string | MessageInfoOptions, duration?: number) {\n return messageCore('success', content, duration)\n }\n\n function msgError(content: string | MessageInfoOptions, duration?: number) {\n return messageCore('error', content, duration)\n }\n\n function msgWarning(content: string | MessageInfoOptions, duration?: number) {\n return messageCore('warning', content, duration)\n }\n\n function msgLoading(content: string | MessageInfoOptions, duration?: number) {\n return messageCore('loading', content, duration)\n }\n\n function msgClose(options: Promise<MessageInstance>) {\n MessagePlugin.close(options)\n }\n\n function msgCloseAll() {\n MessagePlugin.closeAll()\n }\n\n function alertOptionsMerge(body: string | DialogOptions): QdDialogOptions {\n if (typeof body === 'string') {\n return {\n header: t('systemPromptText'),\n body,\n zIndex: 100001\n }\n }\n\n return {\n header: t('systemPromptText'),\n zIndex: 100001,\n ...body\n }\n }\n\n function alertCore(\n theme: 'default' | 'info' | 'success' | 'error' | 'warning',\n content: string | QdDialogOptions\n ) {\n const options = alertOptionsMerge(content)\n const instance = DialogPlugin.alert({\n ...options,\n theme: theme === 'error' ? 'danger' : theme,\n onConfirm: async (context) => {\n const { onConfirm } = options\n if (onConfirm) {\n const [err, res] = await suspectedWrapperPromise(onConfirm(context))\n if (err) return\n if (isEmpty(res) || res) instance?.destroy()\n return\n }\n\n instance?.destroy()\n },\n onClose: (context) => {\n options.onClose?.(context)\n instance?.destroy()\n }\n })\n\n return instance\n }\n\n function alert(content: string | DialogOptions) {\n return alertCore('info', content)\n }\n\n function alertSuccess(content: string | DialogOptions) {\n return alertCore('success', content)\n }\n\n function alertError(content: string | DialogOptions) {\n return alertCore('error', content)\n }\n\n function alertWarning(content: string | DialogOptions) {\n return alertCore('warning', content)\n }\n\n function notifyOptionsMerge(content: string | TNode): NotificationOptions {\n return {\n content,\n zIndex: 100001\n }\n }\n\n function notifyCore(theme: 'info' | 'success' | 'error' | 'warning', content: string | TNode) {\n return NotifyPlugin[theme](notifyOptionsMerge(content))\n }\n\n function notify(content: string | TNode) {\n return notifyCore('info', content)\n }\n\n function notifySuccess(content: string | TNode) {\n return notifyCore('success', content)\n }\n\n function notifyError(content: string | TNode) {\n return notifyCore('error', content)\n }\n\n function notifyWarning(content: string | TNode) {\n return notifyCore('warning', content)\n }\n\n function notifyClose(options: Promise<NotificationInstance>) {\n NotifyPlugin.close(options)\n }\n\n function notifyCloseAll() {\n NotifyPlugin.closeAll()\n }\n\n function confirm(\n options:\n | string\n | Pick<\n DialogOptions,\n | 'header'\n | 'body'\n | 'theme'\n | 'confirmBtn'\n | 'cancelBtn'\n | 'closeBtn'\n | 'closeOnEscKeydown'\n | 'closeOnOverlayClick'\n >,\n onConfirm: (context: {\n e: MouseEvent | KeyboardEvent\n }) => void | Promise<void> | boolean | Promise<boolean>,\n onClose?: () => void\n ) {\n const reOptions = alertOptionsMerge(options)\n const instance = DialogPlugin.confirm({\n ...reOptions,\n onConfirm: async (context) => {\n instance.update({\n confirmBtn: { loading: true },\n closeOnOverlayClick: false,\n closeOnEscKeydown: false,\n closeBtn: false,\n cancelBtn: { disabled: true }\n })\n const [err, res] = await suspectedWrapperPromise(onConfirm(context))\n\n if (err) {\n instance.update({\n confirmBtn: { loading: false },\n closeOnOverlayClick: reOptions.closeOnOverlayClick,\n closeOnEscKeydown: reOptions.closeOnEscKeydown,\n closeBtn: reOptions.closeBtn,\n cancelBtn: { disabled: false }\n })\n return\n }\n\n if (isEmpty(res) || res) instance?.destroy()\n },\n onClose: () => {\n onClose?.()\n instance?.destroy()\n }\n })\n\n return instance\n }\n\n return {\n messageOptionsMerge,\n messageCore,\n msg,\n msgSuccess,\n msgError,\n msgWarning,\n msgLoading,\n msgClose,\n msgCloseAll,\n\n alertOptionsMerge,\n alertCore,\n alert,\n alertSuccess,\n alertError,\n alertWarning,\n\n notifyOptionsMerge,\n notifyCore,\n notify,\n notifySuccess,\n notifyError,\n notifyWarning,\n notifyClose,\n notifyCloseAll,\n confirm\n }\n}\n"],"names":[],"mappings":"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"}
package/dist/index.mjs CHANGED
@@ -6,17 +6,17 @@ import { QdConfigProvider } from "./components/config-provider/index.mjs";
6
6
  import { default as default5 } from "./components/config-renderer/index.vue.mjs";
7
7
  import { qdAsyncCompute, qdCompute, qdUseComputeValue } from "./components/config-renderer/compute.mjs";
8
8
  import { getValueByPath, parseVModelPath, resolveVModelBinding, setValueByPath } from "./components/config-renderer/utils.mjs";
9
- import { default as default6 } from "./components/crud/table.vue.mjs";
10
- import { default as default7 } from "./components/crud/list.vue.mjs";
11
- import { default as default8 } from "./components/crud/search.vue.mjs";
9
+ import { default as default6 } from "./components/crud/list/index.vue.mjs";
10
+ import { default as default7 } from "./components/crud/search/index.vue.mjs";
11
+ import { default as default8 } from "./components/crud/table/table.vue.mjs";
12
12
  import { defineQdCrudList, defineQdCrudTable } from "./components/crud/define.mjs";
13
13
  import { default as default9 } from "./components/dialog/index.vue.mjs";
14
14
  /* empty css */
15
15
  import { default as default10 } from "./components/dialog/form.vue.mjs";
16
- import { default as default11 } from "./components/dict/select.vue.mjs";
17
- import { default as default12 } from "./components/dict/radio-group.vue.mjs";
18
- import { default as default13 } from "./components/dict/checkbox-group.vue.mjs";
19
- import { default as default14 } from "./components/dict/tag.vue.mjs";
16
+ import { default as default11 } from "./components/dict/checkbox-group/index.vue.mjs";
17
+ import { default as default12 } from "./components/dict/radio-group/index.vue.mjs";
18
+ import { default as default13 } from "./components/dict/select/index.vue.mjs";
19
+ import { default as default14 } from "./components/dict/tag/index.vue.mjs";
20
20
  import { default as default15 } from "./components/office/pdf/index.vue.mjs";
21
21
  import { default as default16 } from "./components/org/select/index.vue.mjs";
22
22
  /* empty css */
@@ -28,9 +28,9 @@ import { default as default19 } from "./components/grid/index.vue.mjs";
28
28
  import { default as default20 } from "./components/grid/item.vue.mjs";
29
29
  import { PROVIDE_GRID_ITEM_PROPS_KEY, PROVIDE_GRID_WIDTH_KEY } from "./components/grid/config.mjs";
30
30
  import { default as default21 } from "./components/image/index.vue.mjs";
31
- import { default as default22 } from "./components/service/table.vue.mjs";
32
- import { default as default23 } from "./components/service/list.vue.mjs";
33
- import { default as default24 } from "./components/service/select.vue.mjs";
31
+ import { default as default22 } from "./components/service/list/index.vue.mjs";
32
+ import { default as default23 } from "./components/service/select/index.vue.mjs";
33
+ import { default as default24 } from "./components/service/table/index.vue.mjs";
34
34
  import { default as default25 } from "./components/upload/index.vue.mjs";
35
35
  import { qdUploadAcceptMap } from "./components/upload/config.mjs";
36
36
  import { hasPermi, hasPermiDirective } from "./directive/hasPermi.mjs";
@@ -52,14 +52,14 @@ export {
52
52
  default4 as QdCard,
53
53
  QdConfigProvider,
54
54
  default5 as QdConfigRenderer,
55
- default7 as QdCrudList,
56
- default8 as QdCrudSearch,
57
- default6 as QdCrudTable,
55
+ default6 as QdCrudList,
56
+ default7 as QdCrudSearch,
57
+ default8 as QdCrudTable,
58
58
  default9 as QdDialog,
59
59
  default10 as QdDialogForm,
60
- default13 as QdDictCheckboxGroup,
60
+ default11 as QdDictCheckboxGroup,
61
61
  default12 as QdDictRadioGroup,
62
- default11 as QdDictSelect,
62
+ default13 as QdDictSelect,
63
63
  default14 as QdDictTag,
64
64
  default17 as QdForm,
65
65
  default18 as QdFormItem,
@@ -68,9 +68,9 @@ export {
68
68
  default21 as QdImage,
69
69
  default15 as QdOfficePdf,
70
70
  default16 as QdOrgSelect,
71
- default23 as QdServiceList,
72
- default24 as QdServiceSelect,
73
- default22 as QdServiceTable,
71
+ default22 as QdServiceList,
72
+ default23 as QdServiceSelect,
73
+ default24 as QdServiceTable,
74
74
  default25 as QdUpload,
75
75
  auth,
76
76
  defineQdCrudList,
@@ -145,16 +145,35 @@ p {
145
145
  [data-v-cdb247de] .qd-card__header--click {
146
146
  cursor: pointer;
147
147
  }
148
- .qd-service-table[data-v-7f6e7561] {
148
+ .qd-service-list[data-v-fe54dd3b] {
149
149
  height: 100%;
150
150
  display: flex;
151
151
  flex-direction: column;
152
+ background-color: transparent;
153
+ }
154
+ .qd-service-list[data-v-fe54dd3b] > .t-list__load {
155
+ color: var(--td-text-color-secondary);
156
+ background-color: transparent;
157
+ }
158
+ .qd-service-list__empty[data-v-fe54dd3b] {
159
+ padding: var(--td-comp-paddingLR-xxl) var(--td-comp-paddingTB-xxl);
160
+ }
161
+ .qd-service-select__load[data-v-05896e3d] {
162
+ width: 100%;
163
+ border-top: 1px solid var(--td-component-stroke);
164
+ padding: 6px;
165
+ color: var(--td-text-color-disabled);
152
166
  }
153
- .qd-service-table[data-v-7f6e7561] > .t-table__content {
167
+ .qd-service-table[data-v-9aa6fa6f] {
168
+ height: 100%;
169
+ display: flex;
170
+ flex-direction: column;
171
+ }
172
+ .qd-service-table[data-v-9aa6fa6f] > .t-table__content {
154
173
  flex: 1;
155
174
  }
156
- .qd-service-table[data-v-7f6e7561] > .t-table__content tbody > tr:last-child:not(.t-table__empty-row) > td::before,
157
- .qd-service-table[data-v-7f6e7561] > .t-table__content tfoot > tr:last-child > td::before {
175
+ .qd-service-table[data-v-9aa6fa6f] > .t-table__content tbody > tr:last-child:not(.t-table__empty-row) > td::before,
176
+ .qd-service-table[data-v-9aa6fa6f] > .t-table__content tfoot > tr:last-child > td::before {
158
177
  content: '';
159
178
  position: absolute;
160
179
  left: 0;
@@ -164,31 +183,9 @@ p {
164
183
  transform: translateY(100%);
165
184
  background-color: var(--td-component-border);
166
185
  }
167
- .qd-service-table__empty[data-v-7f6e7561] {
168
- padding: var(--td-comp-paddingLR-xxl) var(--td-comp-paddingTB-xxl);
169
- }
170
- .qd-service-list[data-v-2617cd0a] {
171
- height: 100%;
172
- display: flex;
173
- flex-direction: column;
174
- background-color: transparent;
175
- }
176
- .qd-service-list[data-v-2617cd0a] > .t-list__load {
177
- color: var(--td-text-color-secondary);
178
- background-color: transparent;
179
- }
180
- .qd-service-list__empty[data-v-2617cd0a] {
186
+ .qd-service-table__empty[data-v-9aa6fa6f] {
181
187
  padding: var(--td-comp-paddingLR-xxl) var(--td-comp-paddingTB-xxl);
182
188
  }
183
- .qd-service-select__load[data-v-b3729d31] {
184
- width: 100%;
185
- border-top: 1px solid var(--td-component-stroke);
186
- padding: 6px;
187
- color: var(--td-text-color-disabled);
188
- }
189
- .qd-dialog .t-dialog__wrap > .t-dialog__position > .t-dialog > .t-dialog__body {
190
- overflow: visible;
191
- }
192
189
  .qd-grid[data-v-f53624a2] {
193
190
  display: grid;
194
191
  grid-template-columns: repeat(12, 1fr);
@@ -234,109 +231,112 @@ p {
234
231
  margin-left: 0 !important;
235
232
  height: 100%;
236
233
  }
237
- .qd-crud-search[data-v-664474ec] {
238
- height: var(--aff4bb32);
234
+ .qd-crud-search[data-v-d0295225] {
235
+ height: var(--v2064cb2f);
239
236
  }
240
- .qd-crud-search[data-v-664474ec] > .t-card__body {
237
+ .qd-crud-search[data-v-d0295225] > .t-card__body {
241
238
  height: 100%;
242
239
  }
243
- .qd-crud-search[data-v-664474ec] > .t-card__body .qd-form,
244
- .qd-crud-search[data-v-664474ec] > .t-card__body .qd-grid {
240
+ .qd-crud-search[data-v-d0295225] > .t-card__body .qd-form,
241
+ .qd-crud-search[data-v-d0295225] > .t-card__body .qd-grid {
245
242
  height: 100%;
246
243
  }
247
- .qd-crud-search__more[data-v-664474ec] .t-icon {
244
+ .qd-crud-search__more[data-v-d0295225] .t-icon {
248
245
  transition: transform cubic-bezier(0.38, 0, 0.24, 1) 0.2s;
249
246
  }
250
- .qd-crud-search__more--expand[data-v-664474ec] .t-icon {
247
+ .qd-crud-search__more--expand[data-v-d0295225] .t-icon {
251
248
  transform: rotate(-180deg);
252
249
  }
253
- .qd-crud-table[data-v-c8c04099] {
250
+ .qd-crud-list[data-v-8e2e8194] {
254
251
  width: 100%;
255
252
  height: 100%;
256
253
  display: flex;
257
254
  flex-direction: column;
258
255
  }
259
- .qd-crud-table > .qd-crud-search:not(.qd-crud-search--hide) + .qd-crud-table__body[data-v-c8c04099] {
256
+ .qd-crud-list__header + .qd-service-list[data-v-8e2e8194] {
257
+ margin-top: var(--td-comp-margin-l);
258
+ }
259
+ .qd-crud-list .qd-crud-search + .qd-crud-list__toolbar[data-v-8e2e8194] {
260
260
  margin-top: var(--td-comp-margin-l);
261
261
  }
262
- .qd-crud-table > .qd-crud-search[data-v-c8c04099] .qd-form {
262
+ .qd-crud-list__header > .qd-crud-search[data-v-8e2e8194] .qd-form {
263
263
  display: flex;
264
264
  align-items: flex-end;
265
265
  flex-flow: row wrap;
266
266
  }
267
- .qd-crud-table > .qd-crud-search[data-v-c8c04099] .qd-form > .qd-grid {
267
+ .qd-crud-list__header > .qd-crud-search[data-v-8e2e8194] .qd-form > .qd-grid {
268
268
  flex: 1 1 0;
269
269
  overflow: hidden;
270
270
  margin-right: var(--td-comp-margin-l);
271
271
  }
272
- .qd-crud-table__body[data-v-c8c04099] {
273
- flex: auto;
274
- }
275
- .qd-crud-table__body[data-v-c8c04099] > .t-card__body {
276
- height: 100%;
277
- min-height: 443px;
272
+ .qd-crud-list__toolbar[data-v-8e2e8194] {
278
273
  display: flex;
279
- flex-direction: column;
274
+ justify-content: space-between;
280
275
  }
281
- .qd-crud-table__body[data-v-c8c04099] > .t-card__body > .qd-service-table {
276
+ .qd-crud-list > .qd-service-list[data-v-8e2e8194] {
282
277
  flex: 1 1 0;
283
- overflow: hidden;
284
278
  }
285
- .qd-crud-table__toolbar[data-v-c8c04099] {
286
- display: flex;
287
- justify-content: space-between;
279
+ .qd-crud-list--has-scroll-target > .qd-service-list[data-v-8e2e8194] {
280
+ flex: auto;
288
281
  }
289
- .qd-crud-table__toolbar + .qd-service-table[data-v-c8c04099] {
290
- margin-top: var(--td-comp-margin-l);
282
+ .qd-crud-list--has-scroll-target .qd-crud-list__header[data-v-8e2e8194] {
283
+ position: sticky;
284
+ top: 0;
285
+ z-index: 10;
291
286
  }
292
- .qd-crud-table__toolbar-separator[data-v-c8c04099] {
293
- display: inline-block;
294
- padding-left: var(--td-comp-paddingLR-s);
287
+ .qd-dialog .t-dialog__wrap > .t-dialog__position > .t-dialog > .t-dialog__body {
288
+ overflow: visible;
295
289
  }
296
- .qd-crud-list[data-v-b27a5389] {
290
+ .qd-crud-table[data-v-36b15ba9] {
297
291
  width: 100%;
298
292
  height: 100%;
299
293
  display: flex;
300
294
  flex-direction: column;
301
295
  }
302
- .qd-crud-list__header + .qd-service-list[data-v-b27a5389] {
303
- margin-top: var(--td-comp-margin-l);
304
- }
305
- .qd-crud-list .qd-crud-search + .qd-crud-list__toolbar[data-v-b27a5389] {
296
+ .qd-crud-table > .qd-crud-search:not(.qd-crud-search--hide) + .qd-crud-table__body[data-v-36b15ba9] {
306
297
  margin-top: var(--td-comp-margin-l);
307
298
  }
308
- .qd-crud-list__header > .qd-crud-search[data-v-b27a5389] .qd-form {
299
+ .qd-crud-table > .qd-crud-search[data-v-36b15ba9] .qd-form {
309
300
  display: flex;
310
301
  align-items: flex-end;
311
302
  flex-flow: row wrap;
312
303
  }
313
- .qd-crud-list__header > .qd-crud-search[data-v-b27a5389] .qd-form > .qd-grid {
304
+ .qd-crud-table > .qd-crud-search[data-v-36b15ba9] .qd-form > .qd-grid {
314
305
  flex: 1 1 0;
315
306
  overflow: hidden;
316
307
  margin-right: var(--td-comp-margin-l);
317
308
  }
318
- .qd-crud-list__toolbar[data-v-b27a5389] {
309
+ .qd-crud-table__body[data-v-36b15ba9] {
310
+ flex: auto;
311
+ }
312
+ .qd-crud-table__body[data-v-36b15ba9] > .t-card__body {
313
+ height: 100%;
314
+ min-height: 443px;
319
315
  display: flex;
320
- justify-content: space-between;
316
+ flex-direction: column;
321
317
  }
322
- .qd-crud-list > .qd-service-list[data-v-b27a5389] {
318
+ .qd-crud-table__body[data-v-36b15ba9] > .t-card__body > .qd-service-table {
323
319
  flex: 1 1 0;
320
+ overflow: hidden;
324
321
  }
325
- .qd-crud-list--has-scroll-target > .qd-service-list[data-v-b27a5389] {
326
- flex: auto;
322
+ .qd-crud-table__toolbar[data-v-36b15ba9] {
323
+ display: flex;
324
+ justify-content: space-between;
327
325
  }
328
- .qd-crud-list--has-scroll-target .qd-crud-list__header[data-v-b27a5389] {
329
- position: sticky;
330
- top: 0;
331
- z-index: 10;
326
+ .qd-crud-table__toolbar + .qd-service-table[data-v-36b15ba9] {
327
+ margin-top: var(--td-comp-margin-l);
328
+ }
329
+ .qd-crud-table__toolbar-separator[data-v-36b15ba9] {
330
+ display: inline-block;
331
+ padding-left: var(--td-comp-paddingLR-s);
332
332
  }
333
- .qd-dict-radio-group[data-v-e97fb1f0] .t-loading {
333
+ .qd-dict-checkbox-group[data-v-56e2ef97] .t-loading {
334
334
  position: relative;
335
335
  }
336
- .qd-dict-checkbox-group[data-v-ef427474] .t-loading {
336
+ .qd-dict-radio-group[data-v-73c16860] .t-loading {
337
337
  position: relative;
338
338
  }
339
- .qd-dict-tag[data-v-cab615cf] {
339
+ .qd-dict-tag[data-v-e1d28836] {
340
340
  display: inline-flex;
341
341
  align-items: center;
342
342
  flex-wrap: wrap;
@@ -6076,24 +6076,24 @@ p {
6076
6076
  .qd-service-select__desc {
6077
6077
  color: var(--td-text-color-placeholder);
6078
6078
  }
6079
- .qd-upload[data-v-f0674a59] .t-upload__dragger {
6079
+ .qd-upload[data-v-d7f25507] .t-upload__dragger {
6080
6080
  min-width: 336px;
6081
6081
  min-height: 144px;
6082
6082
  width: 100%;
6083
6083
  height: 100%;
6084
6084
  }
6085
- .qd-upload--only-view[data-v-f0674a59] .t-upload__flow-op,
6086
- .qd-upload--only-view[data-v-f0674a59] .t-upload__trigger,
6087
- .qd-upload--only-view[data-v-f0674a59] .t-upload__flow-bottom {
6085
+ .qd-upload--only-view[data-v-d7f25507] .t-upload__flow-op,
6086
+ .qd-upload--only-view[data-v-d7f25507] .t-upload__trigger,
6087
+ .qd-upload--only-view[data-v-d7f25507] .t-upload__flow-bottom {
6088
6088
  display: none;
6089
6089
  }
6090
- .qd-upload--only-view[data-v-f0674a59] .t-upload__flow-table,
6091
- .qd-upload--only-view[data-v-f0674a59] .t-upload__flow-card-area {
6090
+ .qd-upload--only-view[data-v-d7f25507] .t-upload__flow-table,
6091
+ .qd-upload--only-view[data-v-d7f25507] .t-upload__flow-card-area {
6092
6092
  margin-top: 0;
6093
6093
  }
6094
- .qd-upload--only-view[data-v-f0674a59] .t-upload .t-image-viewer__trigger {
6094
+ .qd-upload--only-view[data-v-d7f25507] .t-upload .t-image-viewer__trigger {
6095
6095
  display: none;
6096
6096
  }
6097
- .qd-upload--only-view[data-v-f0674a59] .t-upload__card .t-upload__card-item.t-is-background:last-child {
6097
+ .qd-upload--only-view[data-v-d7f25507] .t-upload__card .t-upload__card-item.t-is-background:last-child {
6098
6098
  display: none;
6099
6099
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "qidian-vue-ui",
3
- "version": "1.1.31",
3
+ "version": "1.1.32",
4
4
  "description": "基于 TDesign 的 QiDian Vue UI 组件库",
5
5
  "author": "qidian",
6
6
  "license": "MIT",
@@ -1,8 +0,0 @@
1
- import _sfc_main from "./list.vue2.mjs";
2
- /* empty css */
3
- import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
4
- const list = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-b27a5389"]]);
5
- export {
6
- list as default
7
- };
8
- //# sourceMappingURL=list.vue.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list.vue.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"list.vue2.mjs","sources":["../../../src/components/crud/list.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n 'qd-crud-list',\n reProps.serviceListOptions.scroll?.target ? 'qd-crud-list--has-scroll-target' : ''\n ]\"\n >\n <div v-if=\"reProps.searchOptions?.items?.length || $slots.actions\" class=\"qd-crud-list__header\">\n <qd-crud-search\n v-if=\"reProps.searchOptions?.items?.length\"\n ref=\"search\"\n v-model:data=\"searchData\"\n v-bind=\"reProps.searchOptions\"\n @submit=\"triggerSearch\"\n @search=\"handleSearch\"\n @reset=\"handleResetSearch\"\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 </qd-crud-search>\n\n <div v-if=\"$slots.actions\" class=\"qd-crud-list__toolbar\">\n <t-space align=\"center\" size=\"small\">\n <slot name=\"actions\" />\n </t-space>\n </div>\n </div>\n\n <qd-service-list ref=\"list\" v-model:data=\"data\" v-bind=\"reProps.serviceListOptions\">\n <template v-if=\"$slots.default\" #default=\"slotProps\">\n <slot v-bind=\"slotProps\" />\n </template>\n\n <template\n v-for=\"item in extractSlotsWithPrefix($slots, 'list')\"\n #[item.filterName]=\"slotProps\"\n >\n <slot :name=\"item.originalName\" v-bind=\"slotProps\" />\n </template>\n </qd-service-list>\n </div>\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 { TableRowData } from 'tdesign-vue-next'\n import type { ServiceMaybePageParams, ServicePageParams, ServicePagination } from 'qidian-shared'\n import type { QdCrudListInstanceFunctions, QdCrudListProps } from './types'\n import type { QdFormSubmitContext } from '../form'\n import type { QdServiceListInstanceFunctions, QdServiceListProps } from '../service'\n import { computed, nextTick, onMounted, useTemplateRef } from 'vue'\n import { extractSlotsWithPrefix } from 'qidian-shared'\n import { Space as TSpace } from 'tdesign-vue-next'\n import { useVModels } from '@vueuse/core'\n import { qdCrudListProps } from './props'\n import { QdServiceList } from '../service'\n import QdCrudSearch from './search.vue'\n\n type Props = QdCrudListProps<D, R, P, TP, Pag>\n\n const props = withDefaults(defineProps<Props>(), qdCrudListProps)\n const emit = defineEmits<{\n 'update:searchData': [Props['searchData']]\n 'update:data': [Props['data']]\n }>()\n const { data, searchData } = useVModels<typeof props, keyof typeof emit>(props, emit, {\n passive: true\n })\n\n const reProps = computed(() => {\n const { data, searchData: inSearchData, search, transformParams, ...serviceListOptions } = props\n\n const mergedTransformParams = (params: ServiceMaybePageParams<Pag>) => {\n const merged = { ...params, ...searchData.value } as ServiceMaybePageParams<Pag>\n if (transformParams) return transformParams(merged)\n return merged\n }\n\n return {\n searchOptions: search,\n serviceListOptions: {\n ...serviceListOptions,\n transformParams: mergedTransformParams\n } as QdServiceListProps<D, R, P, TP, Pag>,\n models: {\n data,\n searchData: inSearchData\n }\n }\n })\n\n const searchRef = useTemplateRef('search')\n const listRef = useTemplateRef<QdServiceListInstanceFunctions<D, R, P, TP, Pag>>('list')\n\n function handleSearch() {}\n\n async function handleResetSearch() {\n searchRef.value?.reset()\n await nextTick()\n searchRef.value?.submit()\n }\n\n function triggerSearch({ validateResult }: QdFormSubmitContext<typeof searchData.value>) {\n if (validateResult !== true) return\n\n listRef.value?.refresh()\n }\n\n const expose = {} as QdCrudListInstanceFunctions<D, R, P, TP, Pag>\n\n onMounted(() => {\n Object.assign(expose, listRef.value)\n })\n\n defineExpose(expose)\n</script>\n\n<style lang=\"less\" scoped>\n .qd-crud-list {\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n\n &__header + .qd-service-list {\n margin-top: var(--td-comp-margin-l);\n }\n\n .qd-crud-search + .qd-crud-list__toolbar {\n margin-top: var(--td-comp-margin-l);\n }\n\n &__header > .qd-crud-search {\n :deep(.qd-form) {\n display: flex;\n align-items: flex-end;\n flex-flow: row wrap;\n\n & > .qd-grid {\n flex: 1 1 0;\n overflow: hidden;\n margin-right: var(--td-comp-margin-l);\n }\n }\n }\n\n &__toolbar {\n display: flex;\n justify-content: space-between;\n }\n\n & > .qd-service-list {\n flex: 1 1 0;\n }\n\n &--has-scroll-target {\n & > .qd-service-list {\n flex: auto;\n }\n\n .qd-crud-list {\n &__header {\n position: sticky;\n top: 0;\n z-index: 10;\n }\n }\n }\n }\n</style>\n"],"names":["props","__props","emit","__emit","data","searchData","useVModels","passive","reProps","computed","inSearchData","search","transformParams","serviceListOptions","mergedTransformParams","params","merged","value","searchOptions","models","searchRef","useTemplateRef","listRef","handleSearch","handleResetSearch","reset","nextTick","submit","triggerSearch","validateResult","refresh","expose","onMounted","Object","assign","__expose","_createElementBlock","class","_normalizeClass","scroll","target","items","length","$slots","actions","_openBlock","_hoisted_1","_createBlock","QdCrudSearch","_mergeProps","ref","_unref","$event","onSubmit","onSearch","onReset","extractSlotsWithPrefix","item","name","filterName","fn","_withCtx","slotProps","_renderSlot","_ctx","originalName","undefined","_hoisted_2","_createVNode","TSpace","align","size","_createSlots","_","default"],"mappings":"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"}
@@ -1,37 +0,0 @@
1
- import { qdFormProps } from "../form/props.mjs";
2
- import { qdServiceTableProps, qdServiceListProps } from "../service/props.mjs";
3
- const qdCrudSearchProps = {
4
- ...qdFormProps,
5
- defaultClearable: true,
6
- grid: () => ({
7
- col: {
8
- xs: 12,
9
- sm: 4,
10
- md: 4,
11
- lg: 4,
12
- xl: 3,
13
- xxl: 2
14
- }
15
- })
16
- };
17
- const qdCrudTableProps = {
18
- ...qdServiceTableProps,
19
- searchData: () => ({}),
20
- form: void 0,
21
- add: void 0,
22
- actions: void 0,
23
- edit: void 0,
24
- view: void 0,
25
- del: void 0,
26
- rowActions: void 0
27
- };
28
- const qdCrudListProps = {
29
- ...qdServiceListProps,
30
- searchData: () => ({})
31
- };
32
- export {
33
- qdCrudListProps,
34
- qdCrudSearchProps,
35
- qdCrudTableProps
36
- };
37
- //# sourceMappingURL=props.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"props.mjs","sources":["../../../src/components/crud/props.ts"],"sourcesContent":["import { qdFormProps } from '../form/props'\nimport { qdServiceListProps, qdServiceTableProps } from '../service/props'\n\nexport const qdCrudSearchProps = {\n ...qdFormProps,\n defaultClearable: true,\n\n grid: () => ({\n col: {\n xs: 12,\n sm: 4,\n md: 4,\n lg: 4,\n xl: 3,\n xxl: 2\n }\n })\n} as const\n\nexport const qdCrudTableProps = {\n ...qdServiceTableProps,\n\n searchData: () => ({}),\n form: undefined,\n add: undefined,\n actions: undefined,\n edit: undefined,\n view: undefined,\n del: undefined,\n rowActions: undefined\n} as const\n\nexport const qdCrudListProps = {\n ...qdServiceListProps,\n\n searchData: () => ({})\n}\n"],"names":[],"mappings":";;AAGO,MAAM,oBAAoB;AAAA,EAC/B,GAAG;AAAA,EACH,kBAAkB;AAAA,EAElB,MAAM,OAAO;AAAA,IACX,KAAK;AAAA,MACH,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,KAAK;AAAA,IAAA;AAAA,EACP;AAEJ;AAEO,MAAM,mBAAmB;AAAA,EAC9B,GAAG;AAAA,EAEH,YAAY,OAAO,CAAA;AAAA,EACnB,MAAM;AAAA,EACN,KAAK;AAAA,EACL,SAAS;AAAA,EACT,MAAM;AAAA,EACN,MAAM;AAAA,EACN,KAAK;AAAA,EACL,YAAY;AACd;AAEO,MAAM,kBAAkB;AAAA,EAC7B,GAAG;AAAA,EAEH,YAAY,OAAO,CAAA;AACrB;"}
@@ -1,8 +0,0 @@
1
- import _sfc_main from "./search.vue2.mjs";
2
- /* empty css */
3
- import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
4
- const QdCrudSearch = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-664474ec"]]);
5
- export {
6
- QdCrudSearch as default
7
- };
8
- //# sourceMappingURL=search.vue.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"search.vue.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}