修复多文件上传报错出现的异常问题
This commit is contained in:
		
							parent
							
								
									52d50e4e47
								
							
						
					
					
						commit
						8c7986acdb
					
				| @ -12,7 +12,7 @@ | |||||||
|       :show-file-list="false" |       :show-file-list="false" | ||||||
|       :headers="headers" |       :headers="headers" | ||||||
|       class="upload-file-uploader" |       class="upload-file-uploader" | ||||||
|       ref="upload" |       ref="fileUpload" | ||||||
|     > |     > | ||||||
|       <!-- 上传按钮 --> |       <!-- 上传按钮 --> | ||||||
|       <el-button size="mini" type="primary">选取文件</el-button> |       <el-button size="mini" type="primary">选取文件</el-button> | ||||||
| @ -150,14 +150,16 @@ export default { | |||||||
|       this.$modal.closeLoading() |       this.$modal.closeLoading() | ||||||
|     }, |     }, | ||||||
|     // 上传成功回调 |     // 上传成功回调 | ||||||
|     handleUploadSuccess(res) { |     handleUploadSuccess(res, file) { | ||||||
|  |       if (res.code === 200) { | ||||||
|         this.uploadList.push({ name: res.data.url, url: res.data.url }); |         this.uploadList.push({ name: res.data.url, url: res.data.url }); | ||||||
|       if (this.uploadList.length === this.number) { |         this.uploadedSuccessfully(); | ||||||
|         this.fileList = this.fileList.concat(this.uploadList); |       } else { | ||||||
|         this.uploadList = []; |         this.number--; | ||||||
|         this.number = 0; |  | ||||||
|         this.$emit("input", this.listToString(this.fileList)); |  | ||||||
|         this.$modal.closeLoading(); |         this.$modal.closeLoading(); | ||||||
|  |         this.$modal.msgError(res.msg); | ||||||
|  |         this.$refs.fileUpload.handleRemove(file); | ||||||
|  |         this.uploadedSuccessfully(); | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     // 删除文件 |     // 删除文件 | ||||||
| @ -165,6 +167,16 @@ export default { | |||||||
|       this.fileList.splice(index, 1); |       this.fileList.splice(index, 1); | ||||||
|       this.$emit("input", this.listToString(this.fileList)); |       this.$emit("input", this.listToString(this.fileList)); | ||||||
|     }, |     }, | ||||||
|  |     // 上传结束处理 | ||||||
|  |     uploadedSuccessfully() { | ||||||
|  |       if (this.number > 0 && this.uploadList.length === this.number) { | ||||||
|  |         this.fileList = this.fileList.concat(this.uploadList); | ||||||
|  |         this.uploadList = []; | ||||||
|  |         this.number = 0; | ||||||
|  |         this.$emit("input", this.listToString(this.fileList)); | ||||||
|  |         this.$modal.closeLoading(); | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     // 获取文件名称 |     // 获取文件名称 | ||||||
|     getFileName(name) { |     getFileName(name) { | ||||||
|       if (name.lastIndexOf("/") > -1) { |       if (name.lastIndexOf("/") > -1) { | ||||||
|  | |||||||
| @ -9,8 +9,8 @@ | |||||||
|       :limit="limit" |       :limit="limit" | ||||||
|       :on-error="handleUploadError" |       :on-error="handleUploadError" | ||||||
|       :on-exceed="handleExceed" |       :on-exceed="handleExceed" | ||||||
|       name="file" |       ref="imageUpload" | ||||||
|       :on-remove="handleRemove" |       :on-remove="handleDelete" | ||||||
|       :show-file-list="true" |       :show-file-list="true" | ||||||
|       :headers="headers" |       :headers="headers" | ||||||
|       :file-list="fileList" |       :file-list="fileList" | ||||||
| @ -112,25 +112,6 @@ export default { | |||||||
|     }, |     }, | ||||||
|   }, |   }, | ||||||
|   methods: { |   methods: { | ||||||
|     // 删除图片 |  | ||||||
|     handleRemove(file, fileList) { |  | ||||||
|       const findex = this.fileList.map(f => f.name).indexOf(file.name); |  | ||||||
|       if(findex > -1) { |  | ||||||
|         this.fileList.splice(findex, 1); |  | ||||||
|         this.$emit("input", this.listToString(this.fileList)); |  | ||||||
|       } |  | ||||||
|     }, |  | ||||||
|     // 上传成功回调 |  | ||||||
|     handleUploadSuccess(res) { |  | ||||||
|       this.uploadList.push({ name: res.data.url, url: res.data.url }); |  | ||||||
|       if (this.uploadList.length === this.number) { |  | ||||||
|         this.fileList = this.fileList.concat(this.uploadList); |  | ||||||
|         this.uploadList = []; |  | ||||||
|         this.number = 0; |  | ||||||
|         this.$emit("input", this.listToString(this.fileList)); |  | ||||||
|         this.$modal.closeLoading(); |  | ||||||
|       } |  | ||||||
|     }, |  | ||||||
|     // 上传前loading加载 |     // 上传前loading加载 | ||||||
|     handleBeforeUpload(file) { |     handleBeforeUpload(file) { | ||||||
|       let isImg = false; |       let isImg = false; | ||||||
| @ -166,11 +147,42 @@ export default { | |||||||
|     handleExceed() { |     handleExceed() { | ||||||
|       this.$modal.msgError(`上传文件数量不能超过 ${this.limit} 个!`); |       this.$modal.msgError(`上传文件数量不能超过 ${this.limit} 个!`); | ||||||
|     }, |     }, | ||||||
|  |     // 上传成功回调 | ||||||
|  |     handleUploadSuccess(res, file) { | ||||||
|  |       if (res.code === 200) { | ||||||
|  |         this.uploadList.push({ name: res.data.url, url: res.data.url }); | ||||||
|  |         this.uploadedSuccessfully(); | ||||||
|  |       } else { | ||||||
|  |         this.number--; | ||||||
|  |         this.$modal.closeLoading(); | ||||||
|  |         this.$modal.msgError(res.msg); | ||||||
|  |         this.$refs.imageUpload.handleRemove(file); | ||||||
|  |         this.uploadedSuccessfully(); | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     // 删除图片 | ||||||
|  |     handleDelete(file) { | ||||||
|  |       const findex = this.fileList.map(f => f.name).indexOf(file.name); | ||||||
|  |       if (findex > -1) { | ||||||
|  |         this.fileList.splice(findex, 1); | ||||||
|  |         this.$emit("input", this.listToString(this.fileList)); | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     // 上传失败 |     // 上传失败 | ||||||
|     handleUploadError() { |     handleUploadError() { | ||||||
|       this.$modal.msgError("上传图片失败,请重试"); |       this.$modal.msgError("上传图片失败,请重试"); | ||||||
|       this.$modal.closeLoading(); |       this.$modal.closeLoading(); | ||||||
|     }, |     }, | ||||||
|  |     // 上传结束处理 | ||||||
|  |     uploadedSuccessfully() { | ||||||
|  |       if (this.number > 0 && this.uploadList.length === this.number) { | ||||||
|  |         this.fileList = this.fileList.concat(this.uploadList); | ||||||
|  |         this.uploadList = []; | ||||||
|  |         this.number = 0; | ||||||
|  |         this.$emit("input", this.listToString(this.fileList)); | ||||||
|  |         this.$modal.closeLoading(); | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     // 预览 |     // 预览 | ||||||
|     handlePictureCardPreview(file) { |     handlePictureCardPreview(file) { | ||||||
|       this.dialogImageUrl = file.url; |       this.dialogImageUrl = file.url; | ||||||
| @ -181,7 +193,9 @@ export default { | |||||||
|       let strs = ""; |       let strs = ""; | ||||||
|       separator = separator || ","; |       separator = separator || ","; | ||||||
|       for (let i in list) { |       for (let i in list) { | ||||||
|         strs += list[i].url + separator; |         if (list[i].url) { | ||||||
|  |           strs += list[i].url.replace(this.baseUrl, "") + separator; | ||||||
|  |         } | ||||||
|       } |       } | ||||||
|       return strs != '' ? strs.substr(0, strs.length - 1) : ''; |       return strs != '' ? strs.substr(0, strs.length - 1) : ''; | ||||||
|     } |     } | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 RuoYi
						RuoYi