{"version":3,"file":"FileUpload.mjs","sources":["../../../../src/comDefault/FileUpload/FileUpload.vue"],"sourcesContent":["<template>\r\n  <a-modal v-model:visible=\"visible\" :title=\"title\" :mask-closable=\"false\" @cancel=\"handleClose\">\r\n    <a-upload-dragger v-model:fileList=\"upFileList\" name=\"file\" :multiple=\"true\" :action=\"action\" :headers=\"headers\"\r\n      :before-upload=\"handleBeforeUpload\" @change=\"uploadChange\">\r\n      <p class=\"ant-upload-drag-icon\">\r\n        <inbox-outlined></inbox-outlined>\r\n      </p>\r\n      <p class=\"ant-upload-text\">点击或拖拽文档到此处上传</p>\r\n      <p class=\"ant-upload-hint\">仅支持文档类型：.jpge、.png、.doc、.docx、.ppt、.xls、.xlsx，文档大小不超过 200M</p>\r\n    </a-upload-dragger>\r\n    <template #footer>\r\n      <a-button @click=\"handleClose\">关闭</a-button>\r\n    </template>\r\n  </a-modal>\r\n</template>\r\n<script setup name=\"FileUpload\">\r\nimport { message, notification } from 'ant-design-vue'\r\nimport { config, tool } from 'elead-ui-tool-v3'\r\nconst headers = {\r\n  token: config.TOKEN_PREFIX + tool.data.get('TOKEN'),\r\n  Authorization: config.TOKEN_PREFIX + tool.data.get('TOKEN')\r\n}\r\nconst emits = defineEmits(['successful', 'change'])\r\nconst action = ref()\r\nconst visible = ref(false)\r\nconst title = ref()\r\nconst upFileList = ref([])\r\nconst directory = ref()\r\nconst oneData = ref(false)\r\nconst props = defineProps({\r\n  folderType: {\r\n    type: String,\r\n    default: ''\r\n  },\r\n  formData: {\r\n    md5: String,\r\n    ossBucketName: String,\r\n    ossObjectName: String,\r\n    type: Object,\r\n    uploadFileName: String,\r\n    empId: Number,\r\n    size: Number\r\n  }\r\n})\r\nlet fdata = ref({\r\n  md5: String,\r\n  ossBucketName: String,\r\n  ossObjectName: String,\r\n  type: Object,\r\n  uploadFileName: String,\r\n  empId: Number,\r\n  size: Number\r\n})\r\nonMounted(() => {\r\n  if (props.formData) {\r\n    fdata.value = props.formData\r\n  }\r\n})\r\nconst uploadChange = ({ file }) => {\r\n  // 将上传变化事件抛出，由父组件处理具体逻辑\r\n  emits('change', { file, oneData: oneData.value, upFileList: upFileList.value })\r\n}\r\nconst handleBeforeUpload = (file, fileList) => {\r\n  if (file.size > 1024 * 1000 * 100 * 3) {\r\n    message.error('上传文档大小不能大于300M！')\r\n    handleClose()\r\n    return false\r\n  }\r\n  if (oneData.value && (fileList.length > 1 || upFileList.value.length > 0)) {\r\n    upFileList.value = []\r\n    handleClose()\r\n    message.error('只能上传一个文档！')\r\n    return false\r\n  }\r\n}\r\n/**\r\n * 关闭上传窗口\r\n */\r\nconst handleClose = () => {\r\n  visible.value = false\r\n  upFileList.value = []\r\n  emits('successful')\r\n}\r\n/**\r\n * 打开上传窗口\r\n * @param d {{id: number, folder: string}} 目录id\r\n */\r\nconst onOpen = (d, saveData, fileNumber, version) => {\r\n  if (d) {\r\n    oneData.value = !saveData\r\n    upFileList.value = []\r\n    directory.value = d\r\n    title.value = `上传文档到【${d.folder}】`\r\n    action.value = `${__APP_ENV__.VITE_API_BASEURL}/${props.folderType}/file/upload/${d.id}/${saveData}/${fileNumber}/${version}`\r\n    visible.value = true\r\n  } else {\r\n    notification.error({ message: '缺少目录' })\r\n  }\r\n}\r\ndefineExpose({\r\n  onOpen,\r\n  handleClose\r\n})\r\n</script>\r\n<style scoped></style>\r\n"],"names":["_createBlock","_unref","_createVNode","_createElementVNode"],"mappings":"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"}