From e1749501b9ea6400ff064f206a45bf7df7074ccc Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期三, 25 六月 2025 16:09:13 +0800
Subject: [PATCH] 提交一把订单

---
 company/src/components/enterprise/onlineReporting.vue     |   15 ++++---
 company/src/components/business/OpearaCaseEntryWindow.vue |    8 ++--
 company/src/components/common/uploadProgress.vue          |   66 ++++++++++++++++++++++-----------
 3 files changed, 56 insertions(+), 33 deletions(-)

diff --git a/company/src/components/business/OpearaCaseEntryWindow.vue b/company/src/components/business/OpearaCaseEntryWindow.vue
index 10f3028..63150dc 100644
--- a/company/src/components/business/OpearaCaseEntryWindow.vue
+++ b/company/src/components/business/OpearaCaseEntryWindow.vue
@@ -604,7 +604,7 @@
                                         <span>{{ item.name }}</span>
                                     </div>
                                 </div>
-                                <upload width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @success="claimsUploadFile($event, 1)" />
+                                <uploadProgress width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @success="claimsUploadFile($event, 1)" />
                             </div>
                         </div>
                         <div class="box_item_list_row" style="width: 100%; margin-bottom: 30px;">
@@ -628,7 +628,7 @@
                                         <span>{{ item.name }}</span>
                                     </div>
                                 </div>
-                                <upload width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @success="claimsUploadFile($event, 2)" />
+                                <uploadProgress width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @success="claimsUploadFile($event, 2)" />
                             </div>
                         </div>
                         <div class="box_item_list_row" style="width: 100%; margin-bottom: 30px;">
@@ -652,7 +652,7 @@
                                         <span>{{ item.name }}</span>
                                     </div>
                                 </div>
-                                <upload width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @success="claimsUploadFile($event, 3)" />
+                                <uploadProgress width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @success="claimsUploadFile($event, 3)" />
                             </div>
                         </div>
                         <div class="box_item_list_row" style="width: 100%; margin-bottom: 30px;">
@@ -676,7 +676,7 @@
                                         <span>{{ item.name }}</span>
                                     </div>
                                 </div>
-                                <upload width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @success="claimsUploadFile($event, 4)" />
+                                <uploadProgress width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @success="claimsUploadFile($event, 4)" />
                             </div>
                         </div>
                         <div class="box_item_list_row" style="width: 100%; margin-bottom: 30px;">
diff --git a/company/src/components/common/uploadProgress.vue b/company/src/components/common/uploadProgress.vue
index 14829a8..1583d49 100644
--- a/company/src/components/common/uploadProgress.vue
+++ b/company/src/components/common/uploadProgress.vue
@@ -14,8 +14,8 @@
         </div>
         <div style="display: block;">
           <input type="file" ref="file" :accept="accept" @change="getFile" />
-          <progress id="progressBar" value="0" max="100" ></progress>
-          <span id="status">0%</span>
+<!--          <progress id="progressBar" value="0" max="100" ></progress>-->
+<!--          <span id="status">0%</span>-->
         </div>
     </div>
 </template>
@@ -48,7 +48,9 @@
   },
   data () {
     return {
+      loading:null,
       uuid: null,
+      message:'寮�濮嬩笂浼�',
       uploadImgUrl: process.env.VUE_APP_API_PREFIX + '/public/upload',
       uploadProgressUrl: process.env.VUE_APP_API_PREFIX + '/public'
     }
@@ -64,24 +66,27 @@
     },
     getFile (e) {
       if (e.target && e.target.files.length > 0) {
+        var that = this
         const config = {
           onUploadProgress: function (progressEvent) {
             console.log(progressEvent)
             const percentCompleted = Math.round((progressEvent.loaded * 100) / progressEvent.total)
-            document.getElementById('progressBar').value = percentCompleted
-            document.getElementById('status').textContent = '鍑嗗' + percentCompleted + '%'
+            // document.getElementById('progressBar').value = percentCompleted
+            // document.getElementById('status').textContent = '鍑嗗' + percentCompleted + '%'
+            that.loading.setText('鍑嗗銆� ' + percentCompleted + ' 銆�%')
           },
           headers: {
             'Content-Type': 'multipart/form-data'
           }
         }
-        // const loading = this.$loading({
-        //   lock: true,
-        //   text: '涓婁紶涓紝璇风瓑寰�',
-        //   spinner: 'el-icon-loading',
-        //   background: 'rgba(0, 0, 0, 0.7)'
-        // })
-        // this.$emit('loading')
+        this.loading = this.$loading({
+          lock: true,
+          text: '涓婁紶涓紝璇风瓑寰�',
+          spinner: 'el-icon-loading',
+          customClass: 'loadingclz',
+          background: 'rgba(0, 0, 0, 0.7)'
+        })
+        this.$emit('loading')
         const formdate = new FormData()
         this.uuid = this.generateUUID().replaceAll('-', '')
         formdate.append('file', e.target.files[0])
@@ -89,13 +94,17 @@
         formdate.append('uuid', this.uuid)
         axios.post(this.uploadImgUrl, formdate, config)
           .then(res => {
-            this.$emit('success', res.data.data)
+            if(res.data.data == null || res.data.data.imgaddr == null){
+              this.$message.error('鏁版嵁涓婁紶澶辫触锛�')
+            }else{
+              this.$emit('success', res.data.data)
+            }
           })
           .catch(e => {
             this.$message.error(e)
           })
           .finally(() => {
-            // loading.close()
+            that.loading.close()
             this.$refs.file.value = null
           })
         this.startProgress()
@@ -109,21 +118,24 @@
             if (res != null && res.data && res.data.data) {
               if (res.data.data.status === 1) {
                 const percentCompleted = Math.round(res.data.data.rate || 0)
-                document.getElementById('progressBar').value = percentCompleted
-                document.getElementById('status').textContent = '涓婁紶涓�' + percentCompleted + '%'
-              } else if (res.data.data.status === 2){
-                document.getElementById('progressBar').value = 100
-                document.getElementById('status').textContent = '宸插畬鎴�' + 100 + '%'
+                // document.getElementById('progressBar').value = percentCompleted
+                // document.getElementById('status').textContent = '涓婁紶涓�' + percentCompleted + '%'
+                that.loading.setText('涓婁紶涓� 銆� ' + percentCompleted + ' 銆�%')
+              } else if (res.data.data.status === 2) {
+                // document.getElementById('progressBar').value = 100
+                // document.getElementById('status').textContent = '宸插畬鎴�' + 100 + '%'
+                that.loading.setText( '宸插畬鎴� 銆� ' + 100 + ' 銆�%')
                 clearInterval(timer)
               } else if (res.data.data.status === 3){
                 const percentCompleted = Math.round(res.data.data.rate || 0)
-                document.getElementById('progressBar').value = percentCompleted
-                document.getElementById('status').textContent = '涓婁紶澶辫触' + percentCompleted + '%'
+                // document.getElementById('progressBar').value = percentCompleted
+                // document.getElementById('status').textContent = '涓婁紶澶辫触' + percentCompleted + '%'
+                that.loading.setText('涓婁紶澶辫触 銆� ' + percentCompleted + ' 銆�%')
                 clearInterval(timer)
               }
             }
           })
-      }, 2000)
+      }, 1000)
     },
     generateUUID () {
       return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
@@ -138,7 +150,17 @@
   }
 }
 </script>
-
+<style>
+  .loadingclz {
+    .el-loading-text{
+      font-size: 18px  !important;
+      color: #2977f8 !important;
+    }
+   .el-loading-spinner i {
+      color: #2977f8 !important;
+    }
+  }
+</style>
 <style lang="scss" scoped>
     .file {
         /*width: 100%;*/
diff --git a/company/src/components/enterprise/onlineReporting.vue b/company/src/components/enterprise/onlineReporting.vue
index 72bbc48..3cfe3d4 100644
--- a/company/src/components/enterprise/onlineReporting.vue
+++ b/company/src/components/enterprise/onlineReporting.vue
@@ -162,7 +162,7 @@
                                             <span>{{ item.name }}</span>
                                         </div>
                                     </div>
-                                    <upload width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @success="claimsUploadFile($event, 6)" />
+                                    <uploadProgress width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @success="claimsUploadFile($event, 6)" />
                                 </div>
                             </div>
                         </div>
@@ -231,7 +231,7 @@
                                             <span>{{ item.name }}</span>
                                         </div>
                                     </div>
-                                    <upload width="100px" height="100px" :list="[]" folder="settle" @success="claimsUploadFile($event, 1)" />
+                                    <uploadProgress width="100px" height="100px" :list="[]" folder="settle" @success="claimsUploadFile($event, 1)" />
                                 </div>
                             </div>
                             <div class="box_item_list_row" style="width: 100%; margin-bottom: 30px;">
@@ -259,7 +259,7 @@
                                             <span>{{ item.name }}</span>
                                         </div>
                                     </div>
-                                    <upload width="100px" height="100px" :list="[]" folder="settle" @success="claimsUploadFile($event, 2)" />
+                                    <uploadProgress width="100px" height="100px" :list="[]" folder="settle" @success="claimsUploadFile($event, 2)" />
                                 </div>
                             </div>
                             <div class="box_item_list_row" style="width: 100%; margin-bottom: 30px;">
@@ -287,7 +287,7 @@
                                             <span>{{ item.name }}</span>
                                         </div>
                                     </div>
-                                    <upload width="100px" height="100px" :list="[]" folder="settle" @success="claimsUploadFile($event, 3)" />
+                                    <uploadProgress width="100px" height="100px" :list="[]" folder="settle" @success="claimsUploadFile($event, 3)" />
                                 </div>
                             </div>
                             <div class="box_item_list_row" style="width: 100%; margin-bottom: 30px;">
@@ -315,7 +315,7 @@
                                             <span>{{ item.name }}</span>
                                         </div>
                                     </div>
-                                    <upload width="100px" height="100px" :list="[]" folder="settle" @success="claimsUploadFile($event, 4)" />
+                                    <uploadProgress width="100px" height="100px" :list="[]" folder="settle" @success="claimsUploadFile($event, 4)" />
                                 </div>
                             </div>
                             <div class="box_item_list_row" style="width: 100%; margin-bottom: 30px;">
@@ -343,7 +343,7 @@
                                             <span>{{ item.name }}</span>
                                         </div>
                                     </div>
-                                    <upload width="100px" height="100px" :list="[]" folder="settle" @success="claimsUploadFile($event, 5)" />
+                                    <uploadProgress width="100px" height="100px" :list="[]" folder="settle" @success="claimsUploadFile($event, 5)" />
                                 </div>
                             </div>
                         </div>
@@ -414,6 +414,7 @@
 import BaseOpera from '@/components/base/BaseOpera'
 import GlobalWindow from '@/components/common/GlobalWindow'
 import upload from '@/components/common/upload'
+import uploadProgress from '@/components/common/uploadProgress'
 import { saveSettleClaims } from '@/api/business/settleRisk'
 import { findById } from '@/api/business/settleClaims'
 import { findListByDTO } from '@/api/business/member'
@@ -427,7 +428,7 @@
 export default {
   name: 'onlineReporting',
   extends: BaseOpera,
-  components: { GlobalWindow, upload, OperaSettleClaimsWindow, OperaWtbApplyShopWindow, OperaInsuranceApplyDetails },
+  components: { GlobalWindow, upload,uploadProgress, OperaSettleClaimsWindow, OperaWtbApplyShopWindow, OperaInsuranceApplyDetails },
   computed: {
     ...mapState(['userInfo'])
   },

--
Gitblit v1.9.3