tav-ui
Version:
1 lines • 23.9 kB
Source Map (JSON)
{"version":3,"file":"Upload2.mjs","sources":["../../../../../../../packages/components/upload/src/Upload.tsx"],"sourcesContent":["import { defineComponent, ref, toRefs, watch } from 'vue'\nimport { ButtonGroup, Upload } from 'ant-design-vue'\nimport { TaIcon } from '@tav-ui/components'\nimport { TaButton } from '@tav-ui/components/button'\nimport { tavI18n } from '@tav-ui/locales'\nimport { HyperlinkForm, PreviewTable, TypeSelect } from './components'\nimport { Handler } from './main'\nimport type { PropType, Slot } from 'vue'\nimport type { BasicPropsType, LabelValueOptions, Recordable } from './types'\nexport default defineComponent({\n name: 'TaUpload',\n components: { PreviewTable },\n props: {\n title: String as PropType<BasicPropsType['title']>,\n typeCodeArray: {\n type: Array as PropType<BasicPropsType['typeCodeArray']>,\n default: () => [],\n },\n fileActualIds: Array as PropType<BasicPropsType['fileActualIds']>,\n params: {\n type: Object as PropType<BasicPropsType['params']>,\n required: true,\n },\n showSelect: {\n type: [Boolean, String] as PropType<BasicPropsType['showSelect']>,\n default: 'unset',\n },\n disabledSelect: {\n type: [Boolean, String] as PropType<BasicPropsType['disabledSelect']>,\n default: false,\n },\n showTable: {\n type: Boolean as PropType<BasicPropsType['showTable']>,\n default: true,\n },\n showTitle: {\n type: [Boolean, String] as PropType<BasicPropsType['showTitle']>,\n default: 'unset',\n },\n showTableAction: {\n type: Object as PropType<BasicPropsType['showTableAction']>,\n default: () => ({}),\n },\n beforeUpload: {\n type: Function as PropType<() => boolean>,\n },\n accept: {\n type: String as PropType<BasicPropsType['accept']>,\n // .tar,.tar.gz,.tgz,.rar,zip,.7z,去掉压缩包 // .bpm,.txt\n default: '.doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf,.gif,.jpeg,.jpg,.png,',\n },\n // maxSize: {\n // type: Number as PropType<BasicPropsType[\"maxSize\"]>,\n // default: Infinity\n // },\n onChange: Function as PropType<BasicPropsType['onChange']>,\n readonly: {\n type: Boolean as PropType<BasicPropsType['readonly']>,\n default: false,\n },\n noDefaultValue: {\n type: Boolean as PropType<BasicPropsType['noDefaultValue']>,\n default: false,\n },\n controlInOuter: {\n type: Boolean as PropType<BasicPropsType['controlInOuter']>,\n default: false,\n },\n uploadResponse: Array as PropType<BasicPropsType['uploadResponse']>,\n showUploadBtn: {\n type: [Boolean, String] as PropType<BasicPropsType['showUploadBtn']>,\n default: 'unset',\n },\n showUploadHyperlinkBtn: {\n type: [Boolean, String] as PropType<BasicPropsType['showUploadHyperlinkBtn']>,\n default: 'unset',\n },\n canResize: {\n type: Boolean as PropType<BasicPropsType['canResize']>,\n default: false,\n },\n onClickName: Function as PropType<BasicPropsType['onClickName']>,\n customOptions: Array as PropType<BasicPropsType['customOptions']>,\n tableActionPermission: {\n type: Object as PropType<BasicPropsType['tableActionPermission']>,\n default: () => ({}),\n },\n typeCodeRecord: Object as PropType<BasicPropsType['typeCodeRecord']>,\n removeFile: Function as PropType<BasicPropsType['removeFile']>,\n queryFile: Function as PropType<BasicPropsType['queryFile']>,\n uploadFile: Function as PropType<BasicPropsType['uploadFile']>,\n uploadHyperlink: Function as PropType<BasicPropsType['uploadHyperlink']>,\n download: Function as PropType<BasicPropsType['download']>,\n updateFileNameAndAddress: Function as PropType<BasicPropsType['updateFileNameAndAddress']>,\n queryFileType: Function as PropType<BasicPropsType['queryFileType']>,\n uploadIcon: {\n type: String as PropType<BasicPropsType['uploadIcon']>,\n default: 'ant-design:upload-outlined',\n },\n onSelect: Function as PropType<BasicPropsType['onSelect']>,\n coverColumnTitle: Object as PropType<BasicPropsType['coverColumnTitle']>,\n hideColumnFields: Array as PropType<BasicPropsType['hideColumnFields']>,\n insertColumns: Array as PropType<BasicPropsType['insertColumns']>,\n nameColumnWidth: [Number, String] as PropType<BasicPropsType['nameColumnWidth']>,\n // eslint-disable-next-line vue/prop-name-casing\n AppId: [String, Number] as PropType<BasicPropsType['AppId']>,\n fileBranchIsShowDeleteAction: Function as PropType<\n BasicPropsType['fileBranchIsShowDeleteAction']\n >,\n maxCount: Number as PropType<BasicPropsType['maxCount']>,\n immediate: { type: Boolean as PropType<BasicPropsType['immediate']>, default: false },\n emptyState: { type: String as PropType<BasicPropsType['emptyState']>, default: 'normal' },\n tableMaxHeight: { type: String as PropType<BasicPropsType['tableMaxHeight']> },\n queryFileTypeRecursion: {\n type: Boolean as PropType<BasicPropsType['queryFileTypeRecursion']>,\n default: false,\n },\n checkboxConfig: {\n type: Object as PropType<BasicPropsType['checkboxConfig']>,\n default: () => ({ enabled: false }),\n },\n permissionControl: Number,\n getPopupContainer: Function as PropType<() => HTMLElement>,\n },\n emits: ['update:fileActualIds', 'change', 'register'],\n setup(props, { emit, slots, expose }) {\n const { params, customOptions, typeCodeArray } = toRefs(props)\n const showTitle = ref(props.showTitle)\n const showSelect = ref(props.showSelect)\n const showUploadBtn = ref(props.showUploadBtn)\n const showUploadHyperlinkBtn = ref(props.showUploadHyperlinkBtn)\n const typeCodeOptions = ref((customOptions.value ?? []) as LabelValueOptions)\n const showWarnClass = ref(false)\n\n const uploadBtnRef = ref()\n\n function triggerWarn() {\n showWarnClass.value = true\n setTimeout(() => {\n showWarnClass.value = false\n }, 2400)\n }\n\n const handler = new Handler(props, emit)\n expose(Object.assign({ triggerWarn }, handler))\n emit('register', handler)\n\n watch(\n () => props.readonly,\n (v, p) => {\n if (v === p) return\n\n if (v) {\n props.showTitle === 'unset' && (showTitle.value = false)\n props.showSelect === 'unset' && (showSelect.value = false)\n props.showUploadBtn === 'unset' && (showUploadBtn.value = false)\n props.showUploadHyperlinkBtn === 'unset' && (showUploadHyperlinkBtn.value = false)\n } else {\n props.showTitle === 'unset' && (showTitle.value = true)\n props.showSelect === 'unset' && (showSelect.value = true)\n props.showUploadBtn === 'unset' && (showUploadBtn.value = true)\n props.showUploadHyperlinkBtn === 'unset' &&\n (showUploadHyperlinkBtn.value = !!handler.apis.uploadHyperlink)\n }\n },\n { deep: true, immediate: true }\n )\n\n /**\n * 组件标题\n */\n const titleEl = () => {\n if (slots.title) {\n return slots.title({ showTitle })\n } else if (props.title) {\n return <div class=\"ta-upload-title\">{props.title}</div>\n }\n return null\n }\n\n /**\n * 组件表格\n */\n const selectEl = () => {\n const selectProps = {\n customOptions: customOptions.value,\n moduleCode: params.value.moduleCode,\n typeCodeArray: typeCodeArray.value,\n noDefaultValue: props.noDefaultValue,\n disabledSelect: props.disabledSelect,\n selected: handler.typeCode.value,\n typeCodeRecord: handler.typeCodeRecord,\n 'onUpdate:selected': (val) => {\n handler.typeCode.value = val\n // handler.fillDataSource()\n },\n 'onUpdate:options': (val) => {\n typeCodeOptions.value = val\n },\n onSelect: props.onSelect,\n queryFileType: handler.apis.queryFileType,\n queryFileTypeRecursion: props.queryFileTypeRecursion,\n permissionControl: props.permissionControl,\n getPopupContainer: props.getPopupContainer,\n }\n\n const ISelect = (_, { slots }: Recordable) => <TypeSelect {...selectProps} v-slots={slots} />\n\n if (slots.selectType) {\n return (\n <ISelect>\n {{\n default: ({ typeCodeOptions }) =>\n (slots.selectType as Slot)({\n typeCodeOptions,\n selectedValue: handler.typeCode.value,\n selectedLabel: typeCodeOptions.find((el) => el.value === handler.typeCode.value)\n ?.label,\n ...selectProps,\n }),\n }}\n </ISelect>\n )\n } else {\n return ISelect(undefined, {})\n }\n }\n\n /**\n * 上传按钮表格\n */\n const uploadBtnEl = () => {\n const IButton = () =>\n slots.default ? (\n slots.default({ loading: handler.loading.value })\n ) : (\n <TaButton\n ref={uploadBtnRef}\n loading={handler.loading.value}\n class={{ file: true, 'warn-class': showWarnClass.value }}\n onClick={handler.preOpenChooseFile}\n >\n {/* <i class=\"ta-upload-btn-icon\" /> */}\n <TaIcon icon={props.uploadIcon} />\n {tavI18n('Tav.file.upload.1')}\n </TaButton>\n )\n\n const IUpload = () =>\n handler.loading.value ? (\n IButton()\n ) : (\n <Upload\n fileList={[]}\n multiple={true}\n accept={props.accept}\n showUploadList={false}\n beforeUpload={handler.antBeforeUpload}\n customRequest={handler.customRequest}\n >\n {IButton()}\n </Upload>\n )\n\n const HyperlinkBtn = () => (\n <TaButton\n loading={handler.loading.value}\n class=\"hyperlink\"\n onClick={() => {\n handler.currentTypeCodeIsHyperlink.value = !handler.currentTypeCodeIsHyperlink.value\n }}\n >\n {handler.currentTypeCodeIsHyperlink.value\n ? tavI18n('Tav.file.upload.2')\n : tavI18n('Tav.file.upload.3')}\n </TaButton>\n )\n\n if (slots.default) {\n return IUpload()\n } else {\n return (\n <div class=\"ta-upload-btn\">\n <ButtonGroup>\n {slots.beforeButton?.({ loading: handler.loading.value })}\n {IUpload()}\n {slots.centerButton?.({ loading: handler.loading.value })}\n {showUploadHyperlinkBtn.value ? HyperlinkBtn() : null}\n {slots.afterButton?.({ loading: handler.loading.value })}\n </ButtonGroup>\n </div>\n )\n }\n }\n\n /**\n * 超链接\n */\n const uploadHyperlinkBtnEl = () => {\n if (props.showUploadHyperlinkBtn && handler.currentTypeCodeIsHyperlink.value) {\n return (\n <HyperlinkForm\n name={handler.paramsName}\n onUpdate:name={(v) => (handler.paramsName = v)}\n address={handler.paramsAddress}\n onUpdate:address={(v) => (handler.paramsAddress = v)}\n onChange={(success) => {\n if (success) {\n handler.hyperlinkUpload()\n }\n }}\n loading={handler.loading}\n onRegister={handler.hyperlinkFormRegister}\n />\n )\n }\n return null\n }\n\n /**\n * 组件表格\n */\n const tableEl = () => {\n const tableProps = {\n uploadBtnRef,\n parentProps: props,\n handler,\n dataSource: handler.dataSource.value,\n loading: handler.loading.value,\n readonly: props.readonly,\n onDelete: handler.deleteItem,\n showTableAction: props.showTableAction,\n onClickName: props.onClickName,\n canResize: props.canResize,\n tableActionPermission: props.tableActionPermission,\n customOptions: typeCodeOptions.value,\n download: handler.apis.download,\n updateFileNameAndAddress: handler.apis.updateFileNameAndAddress,\n coverColumnTitle: props.coverColumnTitle,\n hideColumnFields: props.hideColumnFields,\n insertColumns: props.insertColumns,\n nameColumnWidth: props.nameColumnWidth,\n moduleCode: params.value.moduleCode,\n }\n\n if (slots.tablePreview) {\n return slots.tablePreview(tableProps)\n } else {\n return props.showTable ? <PreviewTable {...tableProps} /> : null\n }\n }\n\n return () => (\n <section class=\"ta-upload\">\n {showTitle.value ? titleEl() : null}\n\n <div class=\"ta-upload-btn-title\">\n {showSelect.value ? selectEl() : null}\n {showUploadBtn.value ? uploadBtnEl() : null}\n </div>\n\n {uploadHyperlinkBtnEl()}\n\n {tableEl()}\n </section>\n )\n },\n})\n"],"names":["name","components","PreviewTable","props","title","typeCodeArray","type","default","fileActualIds","params","required","showSelect","disabledSelect","showTable","showTitle","showTableAction","beforeUpload","Function","accept","onChange","readonly","noDefaultValue","controlInOuter","uploadResponse","showUploadBtn","Boolean","showUploadHyperlinkBtn","canResize","onClickName","customOptions","tableActionPermission","typeCodeRecord","removeFile","queryFile","uploadFile","uploadHyperlink","download","updateFileNameAndAddress","queryFileType","uploadIcon","onSelect","coverColumnTitle","hideColumnFields","insertColumns","nameColumnWidth","AppId","String","fileBranchIsShowDeleteAction","maxCount","immediate","emptyState","tableMaxHeight","queryFileTypeRecursion","checkboxConfig","enabled","permissionControl","getPopupContainer","emits","emit","slots","expose","toRefs","ref","typeCodeOptions","showWarnClass","uploadBtnRef","setTimeout","handler","Handler","Object","triggerWarn","v","p","_createVNode","deep","titleEl","selectEl","value","moduleCode","selected","typeCode","selectProps","selectType","selectedValue","selectedLabel","Upload","uploadBtnEl","IButton","loading","file","tavI18n","IUpload","customRequest","currentTypeCodeIsHyperlink","uploadHyperlinkBtnEl","paramsName","paramsAddress","hyperlinkFormRegister"],"mappings":"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"}