{"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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"}