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