zh 2 năm trước cách đây
mục cha
commit
2d823f7172

+ 8 - 2
src/views/commercialEngineering/components/base.vue

@@ -294,8 +294,8 @@
         <el-col :xs="24" :sm="12" :lg="12" class="item">
           <div class="label">图纸上传:</div>
           <div class="value" style="justify-content: flex-end;position: relative;">
-            <FileUpload :file-list="formData.fileList" size="mini" :limit="1" class="file" />
-            <!-- <el-link style="position: absolute;left: 5px;" type="primary" :underline="false" href="" target="_blank">下载</el-link> -->
+            <FileUpload v-if="module !=='detail'" :file-list="formData.fileList" size="mini" :limit="1" class="file" />
+            <el-link v-if="module !=='detail' && formData.fileList" style="position: absolute;left: 5px;" type="primary" :underline="false" @click="openPdf(formData.fileList[0].url)">下载</el-link>
             <!-- <el-input v-model="formData.drawUpload"  size="mini" clearable /> -->
           </div>
         </el-col>
@@ -519,6 +519,9 @@ export default {
         if (this.module === 'examine' && !this.formData.loginStatus) {
           this.formData.loginStatus = 'OK'
         }
+        if (this.module === 'examine') {
+          this.formData.files = []
+        }
 
         if (this.formData.homeProjectNameRadio === 'SELF') {
           this.formData.homeProjectNameArea2 = this.formData.homeProjectNameArea
@@ -758,6 +761,9 @@ export default {
       const temp = data.find(k => k[way] == value)
       this.formData[name] = temp && temp.name
       this.formData[name + 'Id'] = temp && temp.id
+    },
+    openPdf(pdfUrl) {
+      window.open(this.$imageUrl + pdfUrl)
     }
   }
 }

+ 64 - 2
src/views/commercialEngineering/components/examine.vue

@@ -57,7 +57,45 @@
         <el-col :xs="24" :sm="24" :lg="24" class="item">
           <div class="label" style="height: auto">审核上传</div>
           <div class="value" style="height: auto">
-            <ImageUpload class="mg-b" :file-list="formData.files" />
+            <ImageUpload v-if="module !=='detail'" class="mg-b" :file-list="formData.files" />
+            <template v-else>
+              <div
+                v-for="item in formData.files"
+                :key="item.url"
+                style="display: flex;
+              width: 120px;
+              height: 120px;align-items: center;
+    justify-content: center;"
+              >
+                <el-image
+                  v-if="checkFileType(item.url) == 'image'"
+                  ref="img"
+                  :src="$imageUrl + item.url"
+                  fit="cover"
+                  :preview-src-list="[$imageUrl + item.url]"
+                  class="elImageClose"
+                />
+                <div
+                  style="display: flex;
+              width: 120px;
+              height: 120px;align-items: center;
+    justify-content: center;"
+                  @click="openPdf(item.url)"
+                >
+                  <img v-if="checkFileType(item.url) == 'word'" class="file" src="@/assets/common/word.png">
+                  <img v-if="checkFileType(item.url) == 'excel'" class="file" src="@/assets/common/excel.png">
+                  <img v-if="checkFileType(item.url) == 'ppt'" class="file" src="@/assets/common/ppt.png">
+                  <img
+                    v-if="checkFileType(item.url) == 'pdf'"
+                    class="file"
+                    style="cursor: pointer"
+                    src="@/assets/common/pdf.png"
+                  >
+
+                  <img v-if="checkFileType(item.url) == 'file'" class="file aaa" src="@/assets/common/zip.jpeg">
+                </div>
+              </div>
+            </template>
             <div style="margin-left: 20px">注:可上传文件、附件</div>
           </div>
         </el-col>
@@ -117,7 +155,31 @@ export default {
     }
   },
   methods: {
-    onSbumit() {}
+    onSbumit() {},
+    // 检查文件类型
+    checkFileType(url) {
+      if (!url) return ''
+      const fileSuffix = url.substring(url.lastIndexOf('.') + 1)
+
+      if (['jpg', 'jpeg', 'png'].includes(fileSuffix)) {
+        return 'image'
+      } else if (['doc', 'docx', 'dot', 'wps', 'wpt'].includes(fileSuffix)) {
+        return 'word'
+      } else if (['xls', 'xlsx', 'xlt', 'et', 'ett'].includes(fileSuffix)) {
+        return 'excel'
+      } else if (['ppt', 'pptx', 'dps', 'dpt', 'pot', 'pps'].includes(fileSuffix)) {
+        return 'ppt'
+      } else if (['pdf'].includes(fileSuffix)) {
+        return 'pdf'
+      } else if (['zip', 'rar', 'gz', 'apk'].includes(fileSuffix)) {
+        return 'file'
+      } else {
+        return ''
+      }
+    },
+    openPdf(pdfUrl) {
+      window.open(this.$imageUrl + pdfUrl)
+    }
   }
 }
 </script>

+ 7 - 0
src/views/commercialEngineering/crossDistrict/examine.vue

@@ -62,6 +62,13 @@ export default {
           'VILLA': params.homeProjectNameArea3 + params.homeProjectNameNumber3
         }[params.homeProjectNameRadio]
       }
+      if (params.homeProjectNameRadio === 'SELF') {
+        params.homeProjectNameArea = params.homeProjectNameArea2
+      }
+      if (params.homeProjectNameRadio === 'VILLA') {
+        params.homeProjectNameNumber = params.homeProjectNameNumber3
+        params.homeProjectNameArea = params.homeProjectNameArea3
+      }
       if (params.fileList.length) {
         params.drawUpload = params.fileList[0].url
       }

+ 7 - 0
src/views/commercialEngineering/homeDecoration/examine.vue

@@ -60,6 +60,13 @@ export default {
           'VILLA': params.homeProjectNameArea3 + params.homeProjectNameNumber3
         }[params.homeProjectNameRadio]
       }
+      if (params.homeProjectNameRadio === 'SELF') {
+        params.homeProjectNameArea = params.homeProjectNameArea2
+      }
+      if (params.homeProjectNameRadio === 'VILLA') {
+        params.homeProjectNameNumber = params.homeProjectNameNumber3
+        params.homeProjectNameArea = params.homeProjectNameArea3
+      }
       if (params.fileList.length) {
         params.drawUpload = params.fileList[0].url
       }