| 
					
				 | 
			
			
				@@ -1,151 +1,208 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 <template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    <section> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      <el-col :span="24"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <div v-show="displayTitle" class="title"><span v-show="displayStar" style="color: red">*</span> {{title}}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <el-upload 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          :disabled="display" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          class="upload-demo" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          ref="upload" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          :multiple="multiple" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          action="#" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          :accept="accept" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          :on-preview="handlePreview" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          :on-remove="handleRemove" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          :on-change="handleChange" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          :file-list="fileList" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          :limit="limit" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          :on-exceed="handleExceed" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          :auto-upload="false" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          style="margin-top: 10px; margin-left: 10px"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <el-button v-show="!display" slot="trigger" size="small" type="primary">选取文件</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <el-button v-show="!display" style="margin-left: 10px;" size="small" type="success" @click="submitUpload">开始上传</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        </el-upload> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      </el-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      <!-- 图片预览 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      <el-dialog title="图片预览" :append-to-body="true" :visible.sync="previewVisible" width="50%"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <img :src="previewPath" :alt="previewName" style="width:100%;height:100%" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      </el-dialog> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    </section> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  <section> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <el-col :span="8"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <div v-show="displayTitle" class="title"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <span v-show="displayStar" style="color: red">*</span> {{ title }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-upload 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        :disabled="display" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        class="upload-demo" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ref="upload" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        :multiple="multiple" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        action="#" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        :accept="accept" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        :on-preview="handlePreview" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        :on-remove="handleRemove" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        :on-change="handleChange" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        :file-list="fileList" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        :limit="limit" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        :on-exceed="handleExceed" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        :http-request="handleUpload" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        :auto-upload="false" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        style="margin-top: 10px; margin-left: 10px" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-button v-show="!display" slot="trigger" size="small" type="primary" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          >选取文件</el-button 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-button 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          v-show="!display" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          style="margin-left: 10px" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          size="small" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          type="success" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          @click="submitUpload" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          >开始上传</el-button 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </el-upload> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </el-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <!-- 图片预览 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <el-dialog 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      title="图片预览" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      :append-to-body="true" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      :visible.sync="previewVisible" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      width="50%" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <img 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        :src="previewPath" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        :alt="previewName" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        style="width: 100%; height: 100%" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </el-dialog> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  </section> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 <script> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  import { uploadUrl, downloadUrl, uploadFiles } from '@/api/file' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  import {getFileExt} from '@/api/util' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    name: 'upload-component', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    props: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      title: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        type: String, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        default: '附件' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      accept: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        type: String, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        default: '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      multiple: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        type: Boolean, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        default: false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      limit: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        type: Number, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        default: 5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      display: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        type: Boolean, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        default: false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      fileObjList: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        type: Array, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        default: () => [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      displayTitle: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        type: Boolean, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        default: true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      displayStar: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        type: Boolean, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        default: true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { uploadUrl, downloadUrl, uploadFiles } from "@/api/file"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { getFileExt } from "@/api/util"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  name: "upload-component", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  props: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    title: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      type: String, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      default: "附件", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    watch: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      fileList (newVal) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.$emit('uploadSuccess', newVal) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      fileObjList (newVal) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.fileList = newVal 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    accept: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      type: String, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      default: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    data () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      return { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        fileList: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        uploadUrl: uploadUrl, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        previewPath: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        previewName: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        previewVisible: false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    multiple: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      type: Boolean, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      default: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    limit: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      type: Number, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      default: 5, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    display: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      type: Boolean, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      default: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    fileObjList: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      type: Array, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      default: () => [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    displayTitle: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      type: Boolean, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      default: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    displayStar: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      type: Boolean, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      default: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  watch: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    fileList(newVal) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.$emit("uploadSuccess", newVal); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    fileObjList(newVal) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.fileList = newVal; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    methods: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      // 上传 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      submitUpload () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // 判断是否有文件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (this.fileList.length === 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          return this.$message.warning('请选取文件后再上传') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // 判断是否有重复文件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let arr1 = this.fileList.map(i => i.name) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let arr2 = [...new Set(arr1)] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (arr1.length !== arr2.length) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          return this.$message.warning('请去掉重复文件后再上传') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  data() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      fileList: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      uploadUrl: uploadUrl, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      previewPath: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      previewName: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      previewVisible: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  methods: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    handleUpload(file) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      function getBase64(file) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return new Promise((resolve, reject) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          const reader = new FileReader(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          reader.readAsDataURL(file); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          reader.onload = () => resolve(reader.result); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          reader.onerror = (error) => reject(error); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return getBase64(file.file).then((res) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //需要return才会显示上传成功状态,不加return不好使 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 开始上传 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        const formData = new FormData() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.fileList.forEach((file) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          formData.append('file', file.raw) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        uploadFiles(formData).then(({data}) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          if (data && data.code === '200') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const formData = new FormData(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        formData.append("file", file.raw); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        uploadFiles(formData).then(({ data }) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if (data && data.code === "200") { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             data.data.forEach((item) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              let fileData = this.fileList.find((file) => file.name === item.originFileName) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              fileData.url = item.fileUrl 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            this.$message.success('上传成功') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              let fileData = this.fileList.find( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                (file) => file.name === item.originFileName 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              fileData.url = item.fileUrl; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.$message.success("上传成功"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            this.$message.error('上传失败') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.$message.error("上传失败"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      // 移除 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      handleRemove (file, fileList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.fileList = fileList 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      // 预览 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      handlePreview (file) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (!file || !file.name || !file.url) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          this.$message.error('没有可预览的文件!') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let ext = getFileExt(file.name) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (ext === 'jpg' || ext === 'jpeg' || ext === 'png' || ext === 'gif') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          this.previewPath = downloadUrl + file.url 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          this.previewName = file.name 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          this.previewVisible = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          // 弹出新页面显示下载文件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          window.open(downloadUrl + file.url, '_blank') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      // 改变上传内容 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      handleChange (file, fileList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.fileList = fileList 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      // 超限 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      handleExceed (files, fileList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.$message.warning(`当前限制选择 ${this.limit} 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length} 个文件`) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 上传 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    submitUpload() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.$refs.upload.submit(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // // 判断是否有文件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // if (this.fileList.length === 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      //   return this.$message.warning("请选取文件后再上传"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // // 判断是否有重复文件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // let arr1 = this.fileList.map((i) => i.name); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // let arr2 = [...new Set(arr1)]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // if (arr1.length !== arr2.length) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      //   return this.$message.warning("请去掉重复文件后再上传"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // // 开始上传 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // const formData = new FormData(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // this.fileList.forEach((file) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      //   formData.append("file", file.raw); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // uploadFiles(formData).then(({ data }) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      //   if (data && data.code === "200") { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      //     data.data.forEach((item) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      //       let fileData = this.fileList.find( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      //         (file) => file.name === item.originFileName 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      //       ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      //       fileData.url = item.fileUrl; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      //     }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      //     this.$message.success("上传成功"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      //   } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      //     this.$message.error("上传失败"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      //   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 移除 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    handleRemove(file, fileList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.fileList = fileList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 预览 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    handlePreview(file) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (!file || !file.name || !file.url) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.$message.error("没有可预览的文件!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let ext = getFileExt(file.name); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (ext === "jpg" || ext === "jpeg" || ext === "png" || ext === "gif") { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.previewPath = downloadUrl + file.url; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.previewName = file.name; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.previewVisible = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 弹出新页面显示下载文件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        window.open(downloadUrl + file.url, "_blank"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 改变上传内容 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    handleChange(file, fileList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.fileList = fileList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 超限 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    handleExceed(files, fileList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.$message.warning( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        `当前限制选择 ${this.limit} 个文件,本次选择了 ${ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          files.length 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 个文件,共选择了 ${files.length + fileList.length} 个文件` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 </script> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<style scoped> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-</style> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<style scoped></style> 
			 |