| 
						
						
							
								
							
						
						
					 | 
					 | 
					@ -4,9 +4,7 @@ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      :action="uploadFileUrl" | 
					 | 
					 | 
					 | 
					      :action="uploadFileUrl" | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      :before-upload="handleBeforeUpload" | 
					 | 
					 | 
					 | 
					      :before-upload="handleBeforeUpload" | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      :file-list="fileList" | 
					 | 
					 | 
					 | 
					      :file-list="fileList" | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      :limit="1" | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      :on-error="handleUploadError" | 
					 | 
					 | 
					 | 
					      :on-error="handleUploadError" | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      :on-exceed="handleExceed" | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      :on-success="handleUploadSuccess" | 
					 | 
					 | 
					 | 
					      :on-success="handleUploadSuccess" | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      :show-file-list="false" | 
					 | 
					 | 
					 | 
					      :show-file-list="false" | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      :headers="headers" | 
					 | 
					 | 
					 | 
					      :headers="headers" | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -26,8 +24,8 @@ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    <!-- 文件列表 --> | 
					 | 
					 | 
					 | 
					    <!-- 文件列表 --> | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    <transition-group class="upload-file-list el-upload-list el-upload-list--text" name="el-fade-in-linear" tag="ul"> | 
					 | 
					 | 
					 | 
					    <transition-group class="upload-file-list el-upload-list el-upload-list--text" name="el-fade-in-linear" tag="ul"> | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      <li :key="file.uid" class="el-upload-list__item ele-upload-list__item-content" v-for="(file, index) in list"> | 
					 | 
					 | 
					 | 
					      <li :key="file.uid" class="el-upload-list__item ele-upload-list__item-content" v-for="(file, index) in fileList"> | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        <el-link :href="file.url" :underline="false" target="_blank"> | 
					 | 
					 | 
					 | 
					        <el-link :href="`${baseUrl}${file.url}`" :underline="false" target="_blank"> | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					          <span class="el-icon-document"> {{ getFileName(file.name) }} </span> | 
					 | 
					 | 
					 | 
					          <span class="el-icon-document"> {{ getFileName(file.name) }} </span> | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        </el-link> | 
					 | 
					 | 
					 | 
					        </el-link> | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        <div class="ele-upload-list__item-content-action"> | 
					 | 
					 | 
					 | 
					        <div class="ele-upload-list__item-content-action"> | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -42,6 +40,7 @@ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import { getToken } from "@/utils/auth"; | 
					 | 
					 | 
					 | 
					import { getToken } from "@/utils/auth"; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					export default { | 
					 | 
					 | 
					 | 
					export default { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					  name: "FileUpload", | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  props: { | 
					 | 
					 | 
					 | 
					  props: { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    // 值 | 
					 | 
					 | 
					 | 
					    // 值 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    value: [String, Object, Array], | 
					 | 
					 | 
					 | 
					    value: [String, Object, Array], | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -63,6 +62,7 @@ export default { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  }, | 
					 | 
					 | 
					 | 
					  }, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  data() { | 
					 | 
					 | 
					 | 
					  data() { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    return { | 
					 | 
					 | 
					 | 
					    return { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					      baseUrl: process.env.VUE_APP_BASE_API, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload", // 上传的图片服务器地址 | 
					 | 
					 | 
					 | 
					      uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload", // 上传的图片服务器地址 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      headers: { | 
					 | 
					 | 
					 | 
					      headers: { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        Authorization: "Bearer " + getToken(), | 
					 | 
					 | 
					 | 
					        Authorization: "Bearer " + getToken(), | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -70,19 +70,15 @@ export default { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      fileList: [], | 
					 | 
					 | 
					 | 
					      fileList: [], | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    }; | 
					 | 
					 | 
					 | 
					    }; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  }, | 
					 | 
					 | 
					 | 
					  }, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  computed: { | 
					 | 
					 | 
					 | 
					  watch: { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    // 是否显示提示 | 
					 | 
					 | 
					 | 
					    value: { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    showTip() { | 
					 | 
					 | 
					 | 
					      handler(val) { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      return this.isShowTip && (this.fileType || this.fileSize); | 
					 | 
					 | 
					 | 
					        if (val) { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    }, | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    // 列表 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    list() { | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					          let temp = 1; | 
					 | 
					 | 
					 | 
					          let temp = 1; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      if (this.value) { | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					          // 首先将值转为数组 | 
					 | 
					 | 
					 | 
					          // 首先将值转为数组 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        const list = Array.isArray(this.value) ? this.value : [this.value]; | 
					 | 
					 | 
					 | 
					          const list = Array.isArray(val) ? val : this.value.split(','); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					          // 然后将数组转为对象数组 | 
					 | 
					 | 
					 | 
					          // 然后将数组转为对象数组 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        return list.map((item) => { | 
					 | 
					 | 
					 | 
					          this.fileList = list.map(item => { | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            if (typeof item === "string") { | 
					 | 
					 | 
					 | 
					            if (typeof item === "string") { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					              item = { name: item, url: item }; | 
					 | 
					 | 
					 | 
					              item = { name: item, url: item }; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            } | 
					 | 
					 | 
					 | 
					            } | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -94,6 +90,15 @@ export default { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					          return []; | 
					 | 
					 | 
					 | 
					          return []; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        } | 
					 | 
					 | 
					 | 
					        } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      }, | 
					 | 
					 | 
					 | 
					      }, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					      deep: true, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					      immediate: true | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					  }, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					  computed: { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    // 是否显示提示 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    showTip() { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					      return this.isShowTip && (this.fileType || this.fileSize); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    }, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  }, | 
					 | 
					 | 
					 | 
					  }, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  methods: { | 
					 | 
					 | 
					 | 
					  methods: { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    // 上传前校检格式和大小 | 
					 | 
					 | 
					 | 
					    // 上传前校检格式和大小 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -124,10 +129,6 @@ export default { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      } | 
					 | 
					 | 
					 | 
					      } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      return true; | 
					 | 
					 | 
					 | 
					      return true; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    }, | 
					 | 
					 | 
					 | 
					    }, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    // 文件个数超出 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    handleExceed() { | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      this.$message.error(`只允许上传单个文件`); | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    }, | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    // 上传失败 | 
					 | 
					 | 
					 | 
					    // 上传失败 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    handleUploadError(err) { | 
					 | 
					 | 
					 | 
					    handleUploadError(err) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      this.$message.error("上传失败, 请重试"); | 
					 | 
					 | 
					 | 
					      this.$message.error("上传失败, 请重试"); | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -135,12 +136,13 @@ export default { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    // 上传成功回调 | 
					 | 
					 | 
					 | 
					    // 上传成功回调 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    handleUploadSuccess(res, file) { | 
					 | 
					 | 
					 | 
					    handleUploadSuccess(res, file) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      this.$message.success("上传成功"); | 
					 | 
					 | 
					 | 
					      this.$message.success("上传成功"); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      this.$emit("input", res.url); | 
					 | 
					 | 
					 | 
					      this.fileList.push({ name: res.fileName, url: res.fileName }); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					      this.$emit("input", this.listToString(this.fileList)); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    }, | 
					 | 
					 | 
					 | 
					    }, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    // 删除文件 | 
					 | 
					 | 
					 | 
					    // 删除文件 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    handleDelete(index) { | 
					 | 
					 | 
					 | 
					    handleDelete(index) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      this.fileList.splice(index, 1); | 
					 | 
					 | 
					 | 
					      this.fileList.splice(index, 1); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      this.$emit("input", ''); | 
					 | 
					 | 
					 | 
					      this.$emit("input", this.listToString(this.fileList)); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    }, | 
					 | 
					 | 
					 | 
					    }, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    // 获取文件名称 | 
					 | 
					 | 
					 | 
					    // 获取文件名称 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    getFileName(name) { | 
					 | 
					 | 
					 | 
					    getFileName(name) { | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -149,11 +151,16 @@ export default { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      } else { | 
					 | 
					 | 
					 | 
					      } else { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        return ""; | 
					 | 
					 | 
					 | 
					        return ""; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      } | 
					 | 
					 | 
					 | 
					      } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    } | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  }, | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  created() { | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    this.fileList = this.list; | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    }, | 
					 | 
					 | 
					 | 
					    }, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    // 对象转成分隔字符串 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    listToString(list) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					      let files = ""; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					      for (let key in list) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        files += list[key].url + ","; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					      } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					      return files.substr(0, files.length - 1); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					  } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					}; | 
					 | 
					 | 
					 | 
					}; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					</script> | 
					 | 
					 | 
					 | 
					</script> | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					 | 
					
  |