|  | @@ -9,8 +9,8 @@
 | 
	
		
			
				|  |  |        :limit="limit"
 | 
	
		
			
				|  |  |        :on-error="handleUploadError"
 | 
	
		
			
				|  |  |        :on-exceed="handleExceed"
 | 
	
		
			
				|  |  | -      name="file"
 | 
	
		
			
				|  |  | -      :on-remove="handleRemove"
 | 
	
		
			
				|  |  | +      ref="imageUpload"
 | 
	
		
			
				|  |  | +      :on-remove="handleDelete"
 | 
	
		
			
				|  |  |        :show-file-list="true"
 | 
	
		
			
				|  |  |        :headers="headers"
 | 
	
		
			
				|  |  |        :file-list="fileList"
 | 
	
	
		
			
				|  | @@ -112,25 +112,6 @@ export default {
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |    },
 | 
	
		
			
				|  |  |    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加载
 | 
	
		
			
				|  |  |      handleBeforeUpload(file) {
 | 
	
		
			
				|  |  |        let isImg = false;
 | 
	
	
		
			
				|  | @@ -166,11 +147,42 @@ export default {
 | 
	
		
			
				|  |  |      handleExceed() {
 | 
	
		
			
				|  |  |        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() {
 | 
	
		
			
				|  |  |        this.$modal.msgError("上传图片失败,请重试");
 | 
	
		
			
				|  |  |        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) {
 | 
	
		
			
				|  |  |        this.dialogImageUrl = file.url;
 | 
	
	
		
			
				|  | @@ -181,7 +193,9 @@ export default {
 | 
	
		
			
				|  |  |        let strs = "";
 | 
	
		
			
				|  |  |        separator = separator || ",";
 | 
	
		
			
				|  |  |        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) : '';
 | 
	
		
			
				|  |  |      }
 |