qidian-vue-ui 1.1.29 → 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.
- package/dist/components/card/props.mjs.map +1 -1
- package/dist/components/config-provider/config.mjs.map +1 -1
- package/dist/components/config-provider/useConfig.mjs.map +1 -1
- package/dist/components/crud/define.d.ts +2 -1
- package/dist/components/crud/define.mjs.map +1 -1
- package/dist/components/crud/index.d.ts +4 -5
- package/dist/components/crud/list/index.d.ts +2 -0
- package/dist/components/crud/list/index.vue.mjs +8 -0
- package/dist/components/crud/list/index.vue.mjs.map +1 -0
- package/dist/components/crud/{list.vue2.mjs → list/index.vue2.mjs} +10 -10
- package/dist/components/crud/list/index.vue2.mjs.map +1 -0
- package/dist/components/crud/list/props.d.ts +5 -0
- package/dist/components/crud/list/props.mjs +9 -0
- package/dist/components/crud/list/props.mjs.map +1 -0
- package/dist/components/crud/list/types.d.ts +9 -0
- package/dist/components/crud/search/index.d.ts +2 -0
- package/dist/components/crud/{search.vue.d.ts → search/index.vue.d.ts} +4 -4
- package/dist/components/crud/search/index.vue.mjs +8 -0
- package/dist/components/crud/search/index.vue.mjs.map +1 -0
- package/dist/components/crud/{search.vue2.mjs → search/index.vue2.mjs} +10 -10
- package/dist/components/crud/search/index.vue2.mjs.map +1 -0
- package/dist/components/crud/search/props.d.ts +26 -0
- package/dist/components/crud/search/props.mjs +19 -0
- package/dist/components/crud/search/props.mjs.map +1 -0
- package/dist/components/crud/search/types.d.ts +5 -0
- package/dist/components/crud/table/index.d.ts +2 -0
- package/dist/components/crud/{props.d.ts → table/props.d.ts} +0 -31
- package/dist/components/crud/table/props.mjs +16 -0
- package/dist/components/crud/table/props.mjs.map +1 -0
- package/dist/components/crud/{table.vue.mjs → table/table.vue.mjs} +2 -2
- package/dist/components/crud/{table.vue2.mjs → table/table.vue2.mjs} +21 -21
- package/dist/components/crud/table/table.vue2.mjs.map +1 -0
- package/dist/components/crud/{types.d.ts → table/types.d.ts} +6 -15
- package/dist/components/dict/checkbox-group/index.d.ts +2 -0
- package/dist/components/dict/checkbox-group/index.vue.mjs +8 -0
- package/dist/components/dict/checkbox-group/index.vue.mjs.map +1 -0
- package/dist/components/dict/{checkbox-group.vue2.mjs → checkbox-group/index.vue2.mjs} +14 -9
- package/dist/components/dict/checkbox-group/index.vue2.mjs.map +1 -0
- package/dist/components/dict/checkbox-group/props.d.ts +9 -0
- package/dist/components/dict/checkbox-group/props.mjs +13 -0
- package/dist/components/dict/checkbox-group/props.mjs.map +1 -0
- package/dist/components/dict/checkbox-group/types.d.ts +6 -0
- package/dist/components/dict/index.d.ts +4 -5
- package/dist/components/dict/radio-group/index.d.ts +2 -0
- package/dist/components/dict/radio-group/index.vue.mjs +8 -0
- package/dist/components/dict/radio-group/index.vue.mjs.map +1 -0
- package/dist/components/dict/{radio-group.vue2.mjs → radio-group/index.vue2.mjs} +6 -6
- package/dist/components/dict/radio-group/index.vue2.mjs.map +1 -0
- package/dist/components/dict/radio-group/props.d.ts +7 -0
- package/dist/components/dict/radio-group/props.mjs +11 -0
- package/dist/components/dict/radio-group/props.mjs.map +1 -0
- package/dist/components/dict/radio-group/types.d.ts +4 -0
- package/dist/components/dict/select/index.d.ts +2 -0
- package/dist/components/dict/{select.vue.mjs → select/index.vue.mjs} +8 -7
- package/dist/components/dict/select/index.vue.mjs.map +1 -0
- package/dist/components/dict/select/index.vue2.mjs +5 -0
- package/dist/components/dict/select/index.vue2.mjs.map +1 -0
- package/dist/components/dict/select/props.d.ts +11 -0
- package/dist/components/dict/select/props.mjs +15 -0
- package/dist/components/dict/select/props.mjs.map +1 -0
- package/dist/components/dict/select/types.d.ts +7 -0
- package/dist/components/dict/tag/index.d.ts +2 -0
- package/dist/components/dict/{tag.vue.d.ts → tag/index.vue.d.ts} +7 -7
- package/dist/components/dict/tag/index.vue.mjs +8 -0
- package/dist/components/dict/tag/index.vue.mjs.map +1 -0
- package/dist/components/dict/{tag.vue2.mjs → tag/index.vue2.mjs} +8 -8
- package/dist/components/dict/tag/index.vue2.mjs.map +1 -0
- package/dist/components/dict/tag/props.d.ts +5 -0
- package/dist/components/dict/tag/props.mjs +10 -0
- package/dist/components/dict/tag/props.mjs.map +1 -0
- package/dist/components/dict/tag/types.d.ts +9 -0
- package/dist/components/office/pdf/config.mjs.map +1 -1
- package/dist/components/org/index.d.ts +1 -2
- package/dist/components/org/select/index.d.ts +2 -0
- package/dist/components/org/select/index.vue.mjs +4 -4
- package/dist/components/org/select/props.mjs +1 -1
- package/dist/components/org/select/props.mjs.map +1 -1
- package/dist/components/service/index.d.ts +3 -4
- package/dist/components/service/list/index.d.ts +2 -0
- package/dist/components/service/list/index.vue.mjs +8 -0
- package/dist/components/service/list/index.vue.mjs.map +1 -0
- package/dist/components/service/{list.vue2.mjs → list/index.vue2.mjs} +4 -4
- package/dist/components/service/list/index.vue2.mjs.map +1 -0
- package/dist/components/service/list/props.d.ts +4 -0
- package/dist/components/service/list/props.mjs +8 -0
- package/dist/components/service/list/props.mjs.map +1 -0
- package/dist/components/service/list/types.d.ts +15 -0
- package/dist/components/service/select/index.d.ts +2 -0
- package/dist/components/service/select/index.vue.mjs +8 -0
- package/dist/components/service/select/index.vue.mjs.map +1 -0
- package/dist/components/service/{select.vue2.mjs → select/index.vue2.mjs} +5 -5
- package/dist/components/service/select/index.vue2.mjs.map +1 -0
- package/dist/components/service/select/props.d.ts +19 -0
- package/dist/components/service/select/props.mjs +24 -0
- package/dist/components/service/select/props.mjs.map +1 -0
- package/dist/components/service/select/types.d.ts +15 -0
- package/dist/components/service/table/index.d.ts +2 -0
- package/dist/components/service/table/index.vue.mjs +8 -0
- package/dist/components/service/table/index.vue.mjs.map +1 -0
- package/dist/components/service/{table.vue2.mjs → table/index.vue2.mjs} +16 -5
- package/dist/components/service/table/index.vue2.mjs.map +1 -0
- package/dist/components/service/{props.d.ts → table/props.d.ts} +0 -23
- package/dist/components/service/{props.mjs → table/props.mjs} +0 -26
- package/dist/components/service/table/props.mjs.map +1 -0
- package/dist/components/service/table/types.d.ts +18 -0
- package/dist/components/upload/index.vue.mjs +1 -1
- package/dist/components/upload/index.vue2.mjs +1 -1
- package/dist/components/upload/index.vue2.mjs.map +1 -1
- package/dist/hooks/useModal.mjs.map +1 -1
- package/dist/index.mjs +18 -18
- package/dist/qidian-vue-ui.css +82 -82
- package/package.json +1 -1
- package/dist/components/crud/list.vue.mjs +0 -8
- package/dist/components/crud/list.vue.mjs.map +0 -1
- package/dist/components/crud/list.vue2.mjs.map +0 -1
- package/dist/components/crud/props.mjs +0 -37
- package/dist/components/crud/props.mjs.map +0 -1
- package/dist/components/crud/search.vue.mjs +0 -8
- package/dist/components/crud/search.vue.mjs.map +0 -1
- package/dist/components/crud/search.vue2.mjs.map +0 -1
- package/dist/components/crud/table.vue2.mjs.map +0 -1
- package/dist/components/dict/checkbox-group.vue.mjs +0 -8
- package/dist/components/dict/checkbox-group.vue.mjs.map +0 -1
- package/dist/components/dict/checkbox-group.vue2.mjs.map +0 -1
- package/dist/components/dict/props.d.ts +0 -32
- package/dist/components/dict/props.mjs +0 -40
- package/dist/components/dict/props.mjs.map +0 -1
- package/dist/components/dict/radio-group.vue.mjs +0 -8
- package/dist/components/dict/radio-group.vue.mjs.map +0 -1
- package/dist/components/dict/radio-group.vue2.mjs.map +0 -1
- package/dist/components/dict/select.vue.mjs.map +0 -1
- package/dist/components/dict/select.vue2.mjs +0 -5
- package/dist/components/dict/select.vue2.mjs.map +0 -1
- package/dist/components/dict/tag.vue.mjs +0 -8
- package/dist/components/dict/tag.vue.mjs.map +0 -1
- package/dist/components/dict/tag.vue2.mjs.map +0 -1
- package/dist/components/dict/types.d.ts +0 -22
- package/dist/components/service/list.vue.mjs +0 -8
- package/dist/components/service/list.vue.mjs.map +0 -1
- package/dist/components/service/list.vue2.mjs.map +0 -1
- package/dist/components/service/props.mjs.map +0 -1
- package/dist/components/service/select.vue.mjs +0 -8
- package/dist/components/service/select.vue.mjs.map +0 -1
- package/dist/components/service/select.vue2.mjs.map +0 -1
- package/dist/components/service/table.vue.mjs +0 -8
- package/dist/components/service/table.vue.mjs.map +0 -1
- package/dist/components/service/table.vue2.mjs.map +0 -1
- package/dist/components/service/types.d.ts +0 -44
- /package/dist/components/crud/{list.vue.d.ts → list/index.vue.d.ts} +0 -0
- /package/dist/components/crud/{table.vue.d.ts → table/table.vue.d.ts} +0 -0
- /package/dist/components/crud/{table.vue.mjs.map → table/table.vue.mjs.map} +0 -0
- /package/dist/components/dict/{checkbox-group.vue.d.ts → checkbox-group/index.vue.d.ts} +0 -0
- /package/dist/components/dict/{radio-group.vue.d.ts → radio-group/index.vue.d.ts} +0 -0
- /package/dist/components/dict/{select.vue.d.ts → select/index.vue.d.ts} +0 -0
- /package/dist/components/service/{list.vue.d.ts → list/index.vue.d.ts} +0 -0
- /package/dist/components/service/{select.vue.d.ts → select/index.vue.d.ts} +0 -0
- /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 }
|
|
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/
|
|
10
|
-
import { default as default7 } from "./components/crud/
|
|
11
|
-
import { default as default8 } from "./components/crud/
|
|
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/
|
|
17
|
-
import { default as default12 } from "./components/dict/radio-group.vue.mjs";
|
|
18
|
-
import { default as default13 } from "./components/dict/
|
|
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/
|
|
32
|
-
import { default as default23 } from "./components/service/
|
|
33
|
-
import { default as default24 } from "./components/service/
|
|
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
|
-
|
|
56
|
-
|
|
57
|
-
|
|
55
|
+
default6 as QdCrudList,
|
|
56
|
+
default7 as QdCrudSearch,
|
|
57
|
+
default8 as QdCrudTable,
|
|
58
58
|
default9 as QdDialog,
|
|
59
59
|
default10 as QdDialogForm,
|
|
60
|
-
|
|
60
|
+
default11 as QdDictCheckboxGroup,
|
|
61
61
|
default12 as QdDictRadioGroup,
|
|
62
|
-
|
|
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
|
-
|
|
72
|
-
|
|
73
|
-
|
|
71
|
+
default22 as QdServiceList,
|
|
72
|
+
default23 as QdServiceSelect,
|
|
73
|
+
default24 as QdServiceTable,
|
|
74
74
|
default25 as QdUpload,
|
|
75
75
|
auth,
|
|
76
76
|
defineQdCrudList,
|
package/dist/qidian-vue-ui.css
CHANGED
|
@@ -145,16 +145,35 @@ p {
|
|
|
145
145
|
[data-v-cdb247de] .qd-card__header--click {
|
|
146
146
|
cursor: pointer;
|
|
147
147
|
}
|
|
148
|
-
.qd-service-
|
|
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-
|
|
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-
|
|
157
|
-
.qd-service-table[data-v-
|
|
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-
|
|
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-
|
|
238
|
-
height: var(--
|
|
234
|
+
.qd-crud-search[data-v-d0295225] {
|
|
235
|
+
height: var(--v2064cb2f);
|
|
239
236
|
}
|
|
240
|
-
.qd-crud-search[data-v-
|
|
237
|
+
.qd-crud-search[data-v-d0295225] > .t-card__body {
|
|
241
238
|
height: 100%;
|
|
242
239
|
}
|
|
243
|
-
.qd-crud-search[data-v-
|
|
244
|
-
.qd-crud-search[data-v-
|
|
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-
|
|
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-
|
|
247
|
+
.qd-crud-search__more--expand[data-v-d0295225] .t-icon {
|
|
251
248
|
transform: rotate(-180deg);
|
|
252
249
|
}
|
|
253
|
-
.qd-crud-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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
|
-
|
|
274
|
+
justify-content: space-between;
|
|
280
275
|
}
|
|
281
|
-
.qd-crud-
|
|
276
|
+
.qd-crud-list > .qd-service-list[data-v-8e2e8194] {
|
|
282
277
|
flex: 1 1 0;
|
|
283
|
-
overflow: hidden;
|
|
284
278
|
}
|
|
285
|
-
.qd-crud-
|
|
286
|
-
|
|
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-
|
|
290
|
-
|
|
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-
|
|
293
|
-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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
|
-
|
|
316
|
+
flex-direction: column;
|
|
321
317
|
}
|
|
322
|
-
.qd-crud-
|
|
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-
|
|
326
|
-
|
|
322
|
+
.qd-crud-table__toolbar[data-v-36b15ba9] {
|
|
323
|
+
display: flex;
|
|
324
|
+
justify-content: space-between;
|
|
327
325
|
}
|
|
328
|
-
.qd-crud-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
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-
|
|
333
|
+
.qd-dict-checkbox-group[data-v-56e2ef97] .t-loading {
|
|
334
334
|
position: relative;
|
|
335
335
|
}
|
|
336
|
-
.qd-dict-
|
|
336
|
+
.qd-dict-radio-group[data-v-73c16860] .t-loading {
|
|
337
337
|
position: relative;
|
|
338
338
|
}
|
|
339
|
-
.qd-dict-tag[data-v-
|
|
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-
|
|
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-
|
|
6086
|
-
.qd-upload--only-view[data-v-
|
|
6087
|
-
.qd-upload--only-view[data-v-
|
|
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-
|
|
6091
|
-
.qd-upload--only-view[data-v-
|
|
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-
|
|
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-
|
|
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,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":";;;;"}
|