{"remainingRequest":"D:\\jenkins\\workspace\\xq-web-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\xq-web-fvue\\src\\components\\common\\fileUpload.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\src\\components\\common\\fileUpload.vue","mtime":1667327529075},{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\r\nimport { mapState } from \"vuex\";\r\nimport req from \"@/request.js\";\r\nimport { Base64 } from \"js-base64\";\r\nimport FilePreview from \"@/components/common/FilePreview.vue\";\r\nimport { stat } from \"fs\";\r\nexport default {\r\n  components: { FilePreview },\r\n  props: [\"limit\"],\r\n  data() {\r\n    return {\r\n      limits: this.limit,\r\n      src: \"\",\r\n      fileId: \"\",\r\n      fileTree: \"\",\r\n      files: [],\r\n      uploadingFiles: {},\r\n      list: [],\r\n      isChecking: true,\r\n      accept:\r\n        \".jpg,.jpeg,.png,.bmp,.pdf,.JPG,.JPEG,.PBG,.BMP,.PDF,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.rtf,.txt,.zip,.rar,.vsd,.dwg,.mp4\",\r\n      num: 0\r\n    };\r\n  },\r\n  computed: mapState({\r\n    header: state => {\r\n      if (state.login && state.login.currentUser) {\r\n        return { Authorization: `Bearer ${state.login.currentUser.token}` };\r\n      }\r\n      return {};\r\n    },\r\n    actionUrl: function() {\r\n      return window.context.portal + \"/system/file/v1/upload\";\r\n    }\r\n  }),\r\n  mounted() {\r\n    if (!this.limit) {\r\n      this.limits = 9999999;\r\n    }\r\n  },\r\n  methods: {\r\n    exceed(file, fileList) {\r\n      if (this.limit == 1 && (fileList.length == 1 || file.length > 1)) {\r\n        this.$message.warning(\"正文只能上传一个文件\");\r\n      }\r\n    },\r\n    preview(files) {\r\n      let obj = {};\r\n      obj.id = files.id;\r\n      obj.name = files.name;\r\n      obj.size = files.size;\r\n      this.$refs.filePreview.preview(obj);\r\n    },\r\n    beforeRemove(file, fileList) {\r\n      if (this.isChecking) {\r\n        return this.$confirm(`确定移除 ${file.name}？`).then(() => {\r\n          this.num = 0;\r\n          let value = {};\r\n          if (file.response) {\r\n            value = file.response;\r\n          } else {\r\n            value = file;\r\n            value.fileId = file.id;\r\n          }\r\n          for (var i = 0; i < this.files.length; i++) {\r\n            if (this.files[i].id == value.fileId) {\r\n              this.files.splice(i, 1); //删除数组某一项\r\n            }\r\n          }\r\n        });\r\n      } else {\r\n        this.num = 0;\r\n        let value = {};\r\n        if (file.response) {\r\n          value = file.response;\r\n        } else {\r\n          value = file;\r\n          value.fileId = file.id;\r\n        }\r\n        for (var i = 0; i < this.files.length; i++) {\r\n          if (this.files[i].id == value.fileId) {\r\n            this.files.splice(i, 1); //删除数组某一项\r\n            delete this.uploadingFiles[Base64.encode(this.files[i].name)];\r\n          }\r\n        }\r\n      }\r\n    },\r\n    error(response, file, fileList) {\r\n      delete this.uploadingFiles[Base64.encode(file.name)];\r\n    },\r\n    success(response, file, fileList) {\r\n      for (let i = 0; i < fileList.length; i++) {\r\n        delete this.uploadingFiles[Base64.encode(fileList[i].name)];\r\n      }\r\n\r\n      if (this.num == 0) {\r\n        this.list = [];\r\n        for (let i = 0; i < fileList.length; i++) {\r\n          this.list.push(fileList[i]);\r\n        }\r\n      }\r\n      this.num = this.num + 1;\r\n      for (let j = 0; j < this.list.length; j++) {\r\n        if (!this.list[j].raw) {\r\n          for (let i = 0; i < fileList.length; i++) {\r\n            if (this.list[j].name == fileList[i].name) {\r\n              fileList.splice(i, 1);\r\n              break;\r\n            }\r\n          }\r\n        }\r\n      }\r\n      if (this.num == fileList.length) {\r\n        for (let i = 0; i < fileList.length; i++) {\r\n          if (fileList[i].response) {\r\n            let value = fileList[i].response;\r\n            let arrarFile = {};\r\n            arrarFile.id = value.fileId;\r\n            arrarFile.name = value.fileName;\r\n            arrarFile.size = value.size;\r\n            this.files.push(arrarFile);\r\n          }\r\n        }\r\n        this.$emit(\"input\", this.files);\r\n      }\r\n    },\r\n    // handleChange(file, fileList) {\r\n    //   if(file.status==\"success\"){\r\n    //     let value = JSON.parse(file.response);\r\n    //     let arrarFile = {};\r\n    //     arrarFile.id = value.fileId;\r\n    //     arrarFile.name = value.fileName;\r\n    //     arrarFile.size = value.size;\r\n    //     this.files.push(arrarFile);\r\n    //     this.$emit(\"input\", JSON.stringify(this.files));\r\n    //   }\r\n    //  },\r\n    getFiles() {\r\n      if (this.files.length == 0) {\r\n        return \"\";\r\n      } else {\r\n        return this.files;\r\n      }\r\n    },\r\n    isFinishUpload() {\r\n      if (JSON.stringify(this.uploadingFiles) != \"{}\") {\r\n        this.$message.warning(\"正在上传附件，请稍后！\");\r\n        throw \"正在上传附件，请稍后！\";\r\n      }\r\n    },\r\n    beforeAvatarUpload(file) {\r\n      // 文件类型限制\r\n      const name = file.name ? file.name : \"\";\r\n      const ext = name\r\n        ? name.substr(name.lastIndexOf(\".\") + 1, name.length)\r\n        : true;\r\n      const isExt = this.accept.indexOf(ext) < 0;\r\n      this.isChecking = !isExt;\r\n      if (isExt) {\r\n        if (this.accept == \"false\") {\r\n          this.$message.error(\"请配置可上传文件的格式!\");\r\n        } else {\r\n          this.$message.error(\"上传的附件只能是 \" + this.accept + \"格式!\");\r\n        }\r\n        return !isExt;\r\n      }\r\n      this.uploadingFiles[Base64.encode(name)] = \"eror\";\r\n    }\r\n  }\r\n};\r\n",null]}