From 3a45da15c947c2d478a44a51bd0f926647b1b841 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期五, 11 四月 2025 16:33:17 +0800
Subject: [PATCH] 提交

---
 company/src/components/business/OperaSettleClaimsWindow.vue |  616 ++++++++++++++++++++++++++++++++-----------------------
 1 files changed, 358 insertions(+), 258 deletions(-)

diff --git a/company/src/components/business/OperaSettleClaimsWindow.vue b/company/src/components/business/OperaSettleClaimsWindow.vue
index aff8aac..e35dfb2 100644
--- a/company/src/components/business/OperaSettleClaimsWindow.vue
+++ b/company/src/components/business/OperaSettleClaimsWindow.vue
@@ -6,24 +6,36 @@
         :confirm-working="isWorking"
         @confirm="confirm"
     >
-        <div class="desc">
+        <div class="desc" v-loading="loading">
             <div class="desc_label">
                 <div class="desc_label_left">
                     <span class="desc_label_left_title">
                         鎶ユ璇︽儏
                     </span>
-                    <span class="desc_label_left_time">
+                    <span class="desc_label_left_time" :style="contrast(model.createDate, model.baoxianEndTime) ? 'color: rgba(249, 86, 1, 0.996)' : 'color: black'">
                         鎶ユ鏃ユ湡锛歿{ model.createDate }}
                     </span>
                     <span class="desc_label_left_code">
-                        鎶ユ鍙凤細{{ model.reportNum }}
+                        鎶ユ鍙凤細{{ model.reportNum || '-' }}
+                    </span>
+                    <span class="desc_label_left_code">
+                      鐘舵�侊細
+                      <span  :class="'settle-status'+model.status" v-if="model.status==0 || model.status==2|| model.status==3">澶勭悊涓� </span>
+                      <span  :class="'settle-status'+model.status" v-if="model.status==1">宸叉挙妗� </span>
+                      <span  :class="'settle-status'+model.status" v-if="model.status==4">宸茬粨妗� </span>
                     </span>
                 </div>
                 <div class="desc_label_right">
-                    <el-button type="primary"  v-if="model.status !=1 && model.status !=4" @click="$refs.operaInsuranceApplyCheckWindow.open('娣诲姞鎶ユ鍙�',model,remarkLogList,1)">娣诲姞鎶ユ鍙�</el-button>
-                    <el-button type="primary"  v-if="model.status !=1 && model.status !=4"  @click="$refs.operaInsuranceApplyCheckWindow.open('鐞嗚禂澶勭悊',model,remarkLogList,2)">鐞嗚禂澶勭悊</el-button>
-                    <el-button type="primary" v-if="model.status !=1 && model.status !=4"  @click="$refs.operaInsuranceApplyCheckWindow.open('缁撴鎻愪氦',model,remarkLogList,4)">缁撴鎻愪氦</el-button>
-                    <el-button type="danger"  v-if="model.status !=1 && model.status !=4" @click="$refs.operaInsuranceApplyCheckWindow.open('鎾ら攢鐢宠',model,remarkLogList,3)">鎾ら攢鐢宠</el-button>
+                    <template v-if="userInfo.type === 0">
+                        <el-button type="primary" v-if="model.status !=1 && model.status !=4" @click="$refs.operaInsuranceApplyCheckWindow.open('娣诲姞鎶ユ鍙�',model,remarkLogList,1)">娣诲姞鎶ユ鍙�</el-button>
+                        <el-button type="primary" v-if="model.status !=1 && model.status !=4"  @click="$refs.operaInsuranceApplyCheckWindow.open('鐞嗚禂澶勭悊',model,remarkLogList,2)">鐞嗚禂澶勭悊</el-button>
+                        <el-button type="primary" v-if="model.status !=1 && model.status !=4"  @click="$refs.operaInsuranceApplyCheckWindow.open('缁撴鎻愪氦',model,remarkLogList,4)">缁撴鎻愪氦</el-button>
+                        <el-button type="danger" v-if="model.status !=1 && model.status !=4" @click="$refs.operaInsuranceApplyCheckWindow.open('鎾ら攢鐢宠',model,remarkLogList,3)">鎾ら攢鐢宠</el-button>
+                    </template>
+                    <template v-else>
+                        <el-button type="primary" @click="edit" v-if="model.status === 0 || model.status === 2 || model.status === 3">淇敼淇℃伅</el-button>
+                        <el-button type="primary" @click="$refs.supplementaryExplanation.open('琛ュ厖璇存槑', model.id)" v-if="model.status === 0 || model.status === 2 || model.status === 3">琛ュ厖璇存槑</el-button>
+                    </template>
                 </div>
             </div>
             <div class="desc_list">
@@ -44,20 +56,20 @@
                     </div>
                 </div>
                 <div class="desc_list_item">
-                    <div class="desc_list_item_label">
+                    <div class="desc_list_item_label" >
                         浜嬫晠鍙戠敓鏃堕棿锛�
                     </div>
-                    <div class="desc_list_item_val">
-                      {{ model.createDate }}
+                    <div class="desc_list_item_val" :style="contrast24(model.baoxianStartTime, model.happenTime) ? 'color: rgba(249, 86, 1, 0.996)' : 'color: black'">
+                      {{ model.happenTime }}
                     </div>
                 </div>
                 <div class="desc_list_item">
                     <div class="desc_list_item_label">
                         鎵�灞炰繚鍗曞彿锛�
                     </div>
-                    <div class="desc_list_item_val" style="cursor: pointer; color: rgba(39, 157, 255, 0.968627450980392);">
-                      {{ model.applyCode }}
-                        <el-button v-if="model.baoxiandanFile && model.baoxiandanFile.fileurlFull" type="primary" style="margin-left: 10px;" @click="openBaoxiandan">鏌ョ湅淇濋櫓鍗�</el-button>
+                    <div class="desc_list_item_val" style="cursor: pointer; color: rgba(39, 157, 255, 0.968627450980392);" @click="$refs.OperaInsuranceApplyDetails.open('鎶曚繚璇︽儏', { id: model.insuranceApplyId })">
+                      {{ model.applyCode || '-' }}
+                        <el-button v-if="model.baoxiandanFile && model.baoxiandanFile.fileurlFull" type="primary" style="margin-left: 10px;" @click.stop="openBaoxiandan">鏌ョ湅淇濋櫓鍗�</el-button>
                     </div>
                 </div>
                 <div class="desc_list_item">
@@ -104,9 +116,9 @@
                     <div class="desc_list_item_label">
                         浜嬫晠绫诲瀷锛�
                     </div>
-                    <div class="desc_list_item_val"  v-if="model.medicalInsurance ===1">涓婁笅鐝�斾腑鍙椾激</div>
-                    <div class="desc_list_item_val" v-else-if="model.medicalInsurance ===2">闈炲伐浣滄椂闂村彈浼�</div>
-                    <div class="desc_list_item_val"  v-else-if="model.medicalInsurance ===3">鎰忓鍙�</div>
+                    <div class="desc_list_item_val"  v-if="model.type ===1">涓婁笅鐝�斾腑鍙椾激</div>
+                    <div class="desc_list_item_val" v-else-if="model.type ===2">闈炲伐浣滄椂闂村彈浼�</div>
+                    <div class="desc_list_item_val"  v-else-if="model.type ===3">鎰忓鍙椾激</div>
                     <div class="desc_list_item_val"  v-else>宸ヤ綔鏈熼棿鍙椾激</div>
                 </div>
                 <div class="desc_list_item">
@@ -114,7 +126,7 @@
                         鏄惁浣忛櫌锛�
                     </div>
                     <div class="desc_list_item_val">
-                        <div class="desc_list_item_val"  v-if="model.inHospital ===1">鏄�</div>
+                        <div class="desc_list_item_val"  v-if="model.inHospital === 0">鏄�</div>
                         <div class="desc_list_item_val"  v-else>鍚�</div>
                     </div>
                 </div>
@@ -122,7 +134,7 @@
                     <div class="desc_list_item_label">
                         鏄惁鏈夊尰鐤椾繚闄╋細
                     </div>
-                    <div class="desc_list_item_val">{{ model.medicalInsurance ===1?"鏄�":"鍚�" }}</div>
+                    <div class="desc_list_item_val">{{ model.medicalInsurance ===0?"鏄�":"鍚�" }}</div>
                 </div>
                 <div class="desc_list_item">
                     <div class="desc_list_item_label">
@@ -145,6 +157,10 @@
                     <div class="desc_list_item_val">  {{model.informantPhone}} </div>
                 </div>
                 <div class="desc_list_item" style="width: 100%;">
+                    <div class="desc_list_item_label"> 琚繚闄╀汉锛� </div>
+                    <div class="desc_list_item_val">{{model.companyName}}</div>
+                </div>
+                <div class="desc_list_item" style="width: 100%;">
                     <div class="desc_list_item_label"> 浜嬫晠鎻忚堪锛� </div>
                     <div class="desc_list_item_val">{{model.content}}</div>
                 </div>
@@ -152,9 +168,10 @@
                     <div class="desc_list_item_label">
                         鎶ユ瑙嗛锛�
                     </div>
-                    <div v-if="model.reportFileList && model.reportFileList.length>0" class="desc_list_item_videos">
-                        <div class="desc_list_item_imgs_video"   v-for="(item, index) in reportFileList" :key="index">
-                            <video src="${item.fileurlFull}"></video>
+                    <div class="desc_list_item_videos" v-if="model.reportFileList && model.reportFileList.length > 0">
+                        <div class="desc_list_item_imgs_video" v-for="(item, index) in model.reportFileList" :key="index">
+                            <img :src="item.fileurlFull" v-if="item.type === 0" />
+                            <video controls :src="item.fileurlFull" v-if="item.type === 1"></video>
                         </div>
                     </div>
                     <div v-else class="desc_list_item_videos">-</div>
@@ -166,24 +183,29 @@
                     <span class="desc_label_left_title">
                         鐞嗚禂璧勬枡
                     </span>
-                    <span v-if="doneFileDate!=null" class="desc_label_left_time" style="color: black">
-                        璧勬枡瀹屾垚鏃ユ湡锛歿{doneFileDate}}
+                    <span v-if="model.finishDate!=null" class="desc_label_left_time" style="color: black">
+                        璧勬枡瀹屾垚鏃ユ湡锛歿{model.finishDate}}
                     </span>
                 </div>
                 <div class="desc_label_right">
-                    <el-button type="primary"  v-if="model.status !=1 && model.status !=4"  @click="$refs.operaInsuranceApplyCheckWindow.open('澶囨敞鏍囩',model,remarkLogList,5)">澶囨敞鏍囩</el-button>
-                    <el-button type="primary"  v-if="model.status !=1 && model.status !=4" @click="submit(0)">璧勬枡纭</el-button>
+                    <template v-if="userInfo.type === 0">
+                        <el-button type="primary"  v-if="model.status !=1 && model.status !=4"  @click="$refs.operaInsuranceApplyCheckWindow.open('澶囨敞鏍囩',model,remarkLogList,5)">澶囨敞鏍囩</el-button>
+                        <el-button type="primary"  v-if="model.status !=1 && model.status !=4" @click="submit(0)">璧勬枡纭</el-button>
+                    </template>
                     <el-button type="primary"  @click="submit(1)">璧勬枡涓嬭浇</el-button>
                 </div>
             </div>
             <div class="desc_data">
                 <div class="desc_data_label">1. 鍛樺伐鍏崇郴璇佹槑璧勬枡</div>
                 <div class="desc_data_list">
-                    <template v-if="model.relationFileList && model.relationFileList">
+                    <template v-if="model.relationFileList && model.relationFileList.length > 0">
                       <div class="desc_data_list_item" v-for="(item, index) in model.relationFileList" :key="index">
                         <div class="desc_data_list_item_dele" @click="delFile(item.id)">鍒犻櫎</div>
-                        <div class="desc_data_list_item_img" v-if="item.type ==0 && item.fileurlFull!=null">
+                        <div class="desc_data_list_item_img" v-if="item.type == 0 && item.fileurlFull != null">
                           <img :src="item.fileurlFull" />
+                        </div>
+                        <div class="desc_data_list_item_img" v-if="item.type == 1 && item.fileurlFull != null">
+                            <video controls :src="item.fileurlFull" />
                         </div>
                         <div class="desc_data_list_item_info">
                           <span>{{ item.name }}</span>
@@ -192,33 +214,40 @@
                         </div>
                       </div>
                     </template>
-                    <div class="desc_data_list_item">
-                      <UploadFileCommon :uploadData="{ folder: 'settle' }" :file="file1" @uploadSuccess="file1Uploaded()" />
-                      <div class="desc_data_list_item_upload">
-                            <el-button type="primary">涓婁紶</el-button>
-                            <el-button>鍙栨秷</el-button>
-                        </div>
-                    </div>
-                    <div class="desc_data_list_item1"></div>
-                    <div class="desc_data_list_item1"></div>
+                  <template   v-if="(model.relationFileList==null|| model.relationFileList.length==0) && (model.status ==1 || model.status ==4)">
+                    <span style="height: 40px; width:100%;text-align:center;color: #8c939d;font-size: 12px">鏆傛棤鐩稿叧鏉愭枡</span>
+                  </template>
+                    <upload v-if="model.status !=1 && model.status !=4" width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @loading="loading = true" @success="claimsUploadFile($event, 2)" />
+<!--                    <div class="desc_data_list_item">-->
+<!--                      <UploadFileCommon :uploadData="{ folder: 'settle' }" />-->
+<!--                      <div class="desc_data_list_item_upload">-->
+<!--                            <el-button type="primary">涓婁紶</el-button>-->
+<!--                            <el-button>鍙栨秷</el-button>-->
+<!--                        </div>-->
+<!--                    </div>-->
+<!--                    <div class="desc_data_list_item1"></div>-->
+<!--                    <div class="desc_data_list_item1"></div>-->
                 </div>
             </div>
             <div class="desc_data">
                 <div class="desc_data_label">2. 鍖荤枟璧勬枡</div>
                 <div class="desc_data_cate">
-                    <el-tabs v-model="activeName"  @tab-click="handleClick">
+                    <el-tabs v-model="activeName" @tab-click="handleClick">
                         <el-tab-pane label="闂ㄨ瘖" name="first"></el-tab-pane>
                         <el-tab-pane label="浣忛櫌璧勬枡" name="second"></el-tab-pane>
                         <el-tab-pane label="浼ゆ畫" name="third"></el-tab-pane>
                     </el-tabs>
                 </div>
-                <div class="desc_data_list" v-if="activeName=='first'">
+                <div class="desc_data_list" v-if="activeName === 'first'">
                   <template v-if="model.outpatientFileList && model.outpatientFileList">
                     <div class="desc_data_list_item" v-for="(item, index) in model.outpatientFileList" :key="index">
                       <div class="desc_data_list_item_dele" @click="delFile(item.id)">鍒犻櫎</div>
-                      <div class="desc_data_list_item_img" v-if="item.type ==0 && item.fileurlFull!=null">
-                        <img :src="item.fileurlFull" />
-                      </div>
+                        <div class="desc_data_list_item_img" v-if="item.type == 0 && item.fileurlFull != null">
+                            <img :src="item.fileurlFull" />
+                        </div>
+                        <div class="desc_data_list_item_img" v-if="item.type == 1 && item.fileurlFull != null">
+                            <video controls :src="item.fileurlFull" />
+                        </div>
                       <div class="desc_data_list_item_info">
                         <span>{{ item.name }}</span>
                         <span>鎿嶄綔鍛�-{{ item.creatorName }}</span>
@@ -226,25 +255,32 @@
                       </div>
                     </div>
                   </template>
-                    <div class="desc_data_list_item">
-                        <div class="desc_data_list_item_img" style="cursor: pointer; background: #8c939d;">
-                            <i class="el-icon-plus"></i>
-                        </div>
-                        <div class="desc_data_list_item_upload">
-                            <el-button type="primary">涓婁紶</el-button>
-                            <el-button>鍙栨秷</el-button>
-                        </div>
-                    </div>
-                    <div class="desc_data_list_item1"></div>
-                    <div class="desc_data_list_item1"></div>
+                  <template   v-if="(model.outpatientFileList==null|| model.outpatientFileList.length==0) && (model.status ==2 || model.status ==4)">
+                    <span style="height: 40px; width:100%;text-align:center;color: #8c939d;font-size: 12px">鏆傛棤鐩稿叧鏉愭枡</span>
+                  </template>
+                    <upload v-if="model.status !=1 && model.status !=4" width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @loading="loading = true" @success="claimsUploadFile($event, 3)" />
+<!--                    <div class="desc_data_list_item">-->
+<!--                        <div class="desc_data_list_item_img" style="cursor: pointer; background: #8c939d;">-->
+<!--                            <i class="el-icon-plus"></i>-->
+<!--                        </div>-->
+<!--                        <div class="desc_data_list_item_upload">-->
+<!--                            <el-button type="primary">涓婁紶</el-button>-->
+<!--                            <el-button>鍙栨秷</el-button>-->
+<!--                        </div>-->
+<!--                    </div>-->
+<!--                    <div class="desc_data_list_item1"></div>-->
+<!--                    <div class="desc_data_list_item1"></div>-->
                 </div>
-                <div class="desc_data_list" v-if="activeName=='second'">
-                  <template v-if="model.outpatientFileList && model.outpatientFileList">
-                    <div class="desc_data_list_item" v-for="(item, index) in model.outpatientFileList" :key="index">
+                <div class="desc_data_list" v-else-if="activeName === 'second'">
+                  <template v-if="model.hospitalFileList && model.hospitalFileList">
+                    <div class="desc_data_list_item" v-for="(item, index) in model.hospitalFileList" :key="index">
                       <div class="desc_data_list_item_dele" @click="delFile(item.id)">鍒犻櫎</div>
-                      <div class="desc_data_list_item_img" v-if="item.type ==0 && item.fileurlFull!=null">
-                        <img :src="item.fileurlFull" />
-                      </div>
+                        <div class="desc_data_list_item_img" v-if="item.type == 0 && item.fileurlFull != null">
+                            <img :src="item.fileurlFull" />
+                        </div>
+                        <div class="desc_data_list_item_img" v-if="item.type == 1 && item.fileurlFull != null">
+                            <video controls :src="item.fileurlFull" />
+                        </div>
                       <div class="desc_data_list_item_info">
                         <span>{{ item.name }}</span>
                         <span>鎿嶄綔鍛�-{{ item.creatorName }}</span>
@@ -252,25 +288,32 @@
                       </div>
                     </div>
                   </template>
-                    <div class="desc_data_list_item">
-                        <div class="desc_data_list_item_img" style="cursor: pointer; background: #8c939d;">
-                            <i class="el-icon-plus"></i>
-                        </div>
-                        <div class="desc_data_list_item_upload">
-                            <el-button type="primary">涓婁紶</el-button>
-                            <el-button>鍙栨秷</el-button>
-                        </div>
-                    </div>
-                    <div class="desc_data_list_item1"></div>
-                    <div class="desc_data_list_item1"></div>
+                  <template   v-if="(model.hospitalFileList==null|| model.hospitalFileList.length==0) && (model.status ==2 || model.status ==4)">
+                    <span style="height: 40px; width:100%;text-align:center;color: #8c939d;font-size: 12px">鏆傛棤鐩稿叧鏉愭枡</span>
+                  </template>
+                    <upload v-if="model.status !=1 && model.status !=4" width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @loading="loading = true" @success="claimsUploadFile($event, 4)" />
+<!--                    <div class="desc_data_list_item">-->
+<!--                        <div class="desc_data_list_item_img" style="cursor: pointer; background: #8c939d;">-->
+<!--                            <i class="el-icon-plus"></i>-->
+<!--                        </div>-->
+<!--                        <div class="desc_data_list_item_upload">-->
+<!--                            <el-button type="primary">涓婁紶</el-button>-->
+<!--                            <el-button>鍙栨秷</el-button>-->
+<!--                        </div>-->
+<!--                    </div>-->
+<!--                    <div class="desc_data_list_item1"></div>-->
+<!--                    <div class="desc_data_list_item1"></div>-->
                 </div>
-                <div class="desc_data_list" v-if="activeName=='third'">
-                  <template v-if="model.outpatientFileList && model.outpatientFileList">
-                    <div class="desc_data_list_item" v-for="(item, index) in model.outpatientFileList" :key="index">
+                <div class="desc_data_list" v-else-if="activeName === 'third'">
+                  <template v-if="model.disabilityFileList && model.disabilityFileList">
+                    <div class="desc_data_list_item" v-for="(item, index) in model.disabilityFileList" :key="index">
                       <div class="desc_data_list_item_dele" @click="delFile(item.id)">鍒犻櫎</div>
-                      <div class="desc_data_list_item_img" v-if="item.type ==0 && item.fileurlFull!=null">
-                        <img :src="item.fileurlFull" />
-                      </div>
+                        <div class="desc_data_list_item_img" v-if="item.type == 0 && item.fileurlFull != null">
+                            <img :src="item.fileurlFull" />
+                        </div>
+                        <div class="desc_data_list_item_img" v-if="item.type == 1 && item.fileurlFull != null">
+                            <video controls :src="item.fileurlFull" />
+                        </div>
                       <div class="desc_data_list_item_info">
                         <span>{{ item.name }}</span>
                         <span>鎿嶄綔鍛�-{{ item.creatorName }}</span>
@@ -278,18 +321,22 @@
                       </div>
                     </div>
                   </template>
-                    <div class="desc_data_list_item">
-                      <UploadFileCommon :uploadData="{ folder: 'apply',fileType:'.pdf' }" :fileList="form.fileList1" @uploadSuccess="baoxianFileUploaded" />
-<!--                      <div class="desc_data_list_item_img" style="cursor: pointer; background: #8c939d;">
-                            <i class="el-icon-plus"></i>
-                        </div>-->
-                        <div class="desc_data_list_item_upload">
-                            <el-button type="primary">涓婁紶</el-button>
-                            <el-button>鍙栨秷</el-button>
-                        </div>
-                    </div>
-                    <div class="desc_data_list_item1"></div>
-                    <div class="desc_data_list_item1"></div>
+                  <template   v-if="(model.disabilityFileList==null|| model.disabilityFileList.length==0) && (model.status ==2 || model.status ==4)">
+                    <span style=" height: 40px;width:100%;text-align:center;color: #8c939d;font-size: 12px">鏆傛棤鐩稿叧鏉愭枡</span>
+                  </template>
+                    <upload  v-if="model.status !=1 && model.status !=4" width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @loading="loading = true" @success="claimsUploadFile($event, 5)" />
+<!--                    <div class="desc_data_list_item">-->
+<!--                      <UploadFileCommon :uploadData="{ folder: 'apply',fileType:'.pdf' }" :fileList="form.fileList1" @uploadSuccess="baoxianFileUploaded" />-->
+<!--&lt;!&ndash;                      <div class="desc_data_list_item_img" style="cursor: pointer; background: #8c939d;">-->
+<!--                            <i class="el-icon-plus"></i>-->
+<!--                        </div>&ndash;&gt;-->
+<!--                        <div class="desc_data_list_item_upload">-->
+<!--                            <el-button type="primary">涓婁紶</el-button>-->
+<!--                            <el-button>鍙栨秷</el-button>-->
+<!--                        </div>-->
+<!--                    </div>-->
+<!--                    <div class="desc_data_list_item1"></div>-->
+<!--                    <div class="desc_data_list_item1"></div>-->
                 </div>
             </div>
             <div class="desc_data">
@@ -298,9 +345,12 @@
                   <template v-if="model.compensationFileList && model.compensationFileList">
                     <div class="desc_data_list_item" v-for="(item, index) in model.compensationFileList" :key="index">
                       <div class="desc_data_list_item_dele" @click="delFile(item.id)">鍒犻櫎</div>
-                      <div class="desc_data_list_item_img" v-if="item.type ==0 && item.fileurlFull!=null">
-                        <img :src="item.fileurlFull" />
-                      </div>
+                        <div class="desc_data_list_item_img" v-if="item.type == 0 && item.fileurlFull != null">
+                            <img :src="item.fileurlFull" />
+                        </div>
+                        <div class="desc_data_list_item_img" v-if="item.type == 1 && item.fileurlFull != null">
+                            <video controls :src="item.fileurlFull" />
+                        </div>
                       <div class="desc_data_list_item_info">
                         <span>{{ item.name }}</span>
                         <span>鎿嶄綔鍛�-{{ item.creatorName }}</span>
@@ -308,17 +358,21 @@
                       </div>
                     </div>
                   </template>
-                    <div class="desc_data_list_item">
-                        <div class="desc_data_list_item_img" style="cursor: pointer; background: #8c939d;">
-                            <i class="el-icon-plus"></i>
-                        </div>
-                        <div class="desc_data_list_item_upload">
-                            <el-button type="primary">涓婁紶</el-button>
-                            <el-button>鍙栨秷</el-button>
-                        </div>
-                    </div>
-                    <div class="desc_data_list_item1"></div>
-                    <div class="desc_data_list_item1"></div>
+                  <template   v-if="(model.compensationFileList==null|| model.compensationFileList.length==0) && (model.status ==2 || model.status ==4)">
+                    <span style=" height: 40px;width:100%;text-align:center;color: #8c939d;font-size: 12px">鏆傛棤鐩稿叧鏉愭枡</span>
+                  </template>
+                    <upload v-if="model.status !=1 && model.status !=4" width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @loading="loading = true" @success="claimsUploadFile($event, 6)" />
+<!--                    <div class="desc_data_list_item">-->
+<!--                        <div class="desc_data_list_item_img" style="cursor: pointer; background: #8c939d;">-->
+<!--                            <i class="el-icon-plus"></i>-->
+<!--                        </div>-->
+<!--                        <div class="desc_data_list_item_upload">-->
+<!--                            <el-button type="primary">涓婁紶</el-button>-->
+<!--                            <el-button>鍙栨秷</el-button>-->
+<!--                        </div>-->
+<!--                    </div>-->
+<!--                    <div class="desc_data_list_item1"></div>-->
+<!--                    <div class="desc_data_list_item1"></div>-->
                 </div>
             </div>
             <div class="desc_label">
@@ -331,7 +385,7 @@
             <div class="desc_times">
                 <el-timeline :reverse="reverse">
                     <el-timeline-item
-                        v-for="(activity, index) in model.settleClaimsLogList"
+                        v-for="(activity, index) in activeLogList"
                         :key="index"
                         :timestamp="activity.timestamp">
                       <div style="display: flex;  flex-direction: column;" v-if="activity.objType==3">
@@ -349,7 +403,7 @@
                                         {{activity.content}}
                                  </span>
                                  <span style="margin-top: 5px; font-size: 12px; font-weight: 400; color: #999999;">
-                                    鎿嶄綔鍛�-{{activity.creatorName}}锛坽{activity.creatorType==1? activity.companyName: "骞冲彴绔�"}}锛墈{activity.createDate}}
+                                    鎿嶄綔鍛�-{{activity.creatorName}}锛坽{(activity.creatorType == 1||activity.creatorType == 2)? activity.companyName: "骞冲彴绔�"}}锛墈{activity.createDate}}
                                 </span>
                       </div>
                       <div style="display: flex; flex-direction: column;" v-else>
@@ -360,7 +414,7 @@
                                     </span>
                                 </span>
                                  <span style="margin-top: 5px; font-size: 12px; font-weight: 400; color: #999999;">
-                                    鎿嶄綔鍛�-{{activity.creatorName}}锛坽{activity.creatorType==1? activity.companyName: "骞冲彴绔�"}}锛墈{activity.createDate}}
+                                    鎿嶄綔鍛�-{{activity.creatorName}}锛坽{(activity.creatorType == 1||activity.creatorType == 2)? activity.companyName: "骞冲彴绔�"}}锛墈{activity.createDate}}
                                 </span>
                       </div>
                     </el-timeline-item>
@@ -371,161 +425,182 @@
         <el-button @click="visible=false">杩斿洖</el-button>
       </template>
       <OperaSettleClaimsCheckWindow ref="operaInsuranceApplyCheckWindow"  @success="callback" />
+        <!--    鍦ㄧ嚎鎶ユ    -->
+        <onlineReporting ref="onlineReporting" @success="callback" />
+        <!--    琛ュ厖璇存槑    -->
+        <supplementaryExplanation ref="supplementaryExplanation" @success="callback" />
+        <!--    鎶曚繚璇︽儏    -->
+        <OperaInsuranceApplyDetails ref="OperaInsuranceApplyDetails" @success="callback" />
     </GlobalWindow>
 </template>
 
 <script>
 
-    import UploadFileCommon from '@/components/common/UploadFileCommon'
-    import BaseOpera from '@/components/base/BaseOpera'
-    import GlobalWindow from '@/components/common/GlobalWindow'
-    import OperaSettleClaimsCheckWindow from '@/components/business/OperaSettleClaimsCheckWindow'
-    import {confirmFile, findById,exportFiles,claimsUploadFile,delFile} from '@/api/business/settleClaims'
-    export default {
-        name: 'OperaSettleClaimsWindow',
-        extends: BaseOpera,
-        components: { GlobalWindow, OperaSettleClaimsCheckWindow,UploadFileCommon },
-        data () {
-            return {
-              doneFileDate:null,
-              remarkLogList:[],
-                // 琛ㄥ崟鏁版嵁
-                form: {
-                    id: null,
-                },
-              model:{},
-                // 楠岃瘉瑙勫垯
-                rules: {
-                },
-                activeName: 'first',
-                reverse: true,
-                 file1:null,
-                 file2:null,
-                 file3:null,
-                 file4:null,
-                 file5:null,
-                 file6:null
-            }
-        },
-        created () {
-            this.config({
-                api: '/business/settleClaims',
-                'field.id': 'id'
-            })
-        },
-        methods: {
-          open(title,target){
-            this.model ={}
-            this.model = target
-            this.title=title
-            this.visible=true
-            this.doneFileDate=null
-            this.remarkLogList=[]
-            this. file1=null
-            this.file2 = null
-            this.file3 = null
-            this.file4 = null
-            this.file5 = null
-            this.file6 = null
-            this.getDetail()
-          },
-          openBaoxiandan(){
-            window.open(this.model.baoxiandanFile.fileurlFull);
-          },
-          delFile(id){
-            this.$dialog.messageConfirm('纭鍒犻櫎璇ラ檮浠跺悧锛屼竴鏃﹀垹闄ゆ棤娉曟挙鍥烇紵')
-                .then(() => {
-                  // this.isWorking = true
-                  delFile(this.model.id,id).then(response => {
-                        that.getDetail()
-                      }).catch(err => {
-                    this.$tip.apiFailed(err)
-                  })
-                })
-          },
-          getDetail(){
-            findById( this.model.id)
-                .then(res => {
-              this.model = res
-              this.remarkLogList=[]
-              var logList = this.model.settleClaimsLogList
-              if(logList){
-                logList.forEach(item => {
-                   if( item.objType==2){
-                     this.doneFileDate = item.createDate
-                   }
-                  if(item.objType==7){
-                    this.remarkLogList.push(item)
-                  }
-
-                })
-              }
-            }).catch(err => {
-            })
-          },
-            handleClick(tab, event) {
-                console.log(tab, event);
-            },
-          callback(){
-            this.getDetail()
-            this.$emit('success')
-          },
-          claimsUploadFile(type) {
-            var param = {}
-            if(type == 2){
-              param =  this.file2
-            }else if(type == 3){
-              param =  this.file3
-            }else if(type == 4){
-              param =  this.file4
-            }else if(type == 5){
-              param =  this.file5
-            }else if(type == 6){
-              param =  this.file6
-            }
-             claimsUploadFile(param)
-                    .then(response => {
-                      that.getDetail()
-                    }).catch(err => {
-                  this.$tip.apiFailed(err)
-                })
-              },
-            submit(type) {
-              var that =this
-              if(type ==0){
-                this.$dialog.messageConfirm('鐞嗚禂鏉愭枡鏀堕泦瀹屾垚锛岃鍙婃椂鎻愪氦淇濋櫓鍏徃锛�')
-                    .then(() => {
-                      // this.isWorking = true
-                      confirmFile({id:that.model.id})
-                          .then(response => {
-                            that.getDetail()
-                          }).catch(err => {
-                        this.$tip.apiFailed(err)
-                      })
-                    })
-              }else if(type==1){
-                //璧勬枡涓嬭浇
-                this.$dialog.exportConfirm('纭杩涜璧勬枡涓嬭浇鍚楋紵')
-                    .then(() => {
-                      this.isWorking = true
-                      exportFiles({ id: that.model.id })
-                          .then(response => {
-                            this.download(response)
-                          }).catch(err => {
-                            console.log(err)
-                            this.$message.error("涓嬭浇璧勬枡澶辫触锛岃纭璧勬枡鏁版嵁涓嶄负绌�")
-                          }).finally(() => {
-                            this.isWorking = false
-                          })
-                    })
-                    .catch(() => {
-                    })
-              }
-
-            }
-        }
-
+import UploadFileCommon from '@/components/common/UploadFileCommon'
+import BaseOpera from '@/components/base/BaseOpera'
+import GlobalWindow from '@/components/common/GlobalWindow'
+import OperaSettleClaimsCheckWindow from '@/components/business/OperaSettleClaimsCheckWindow'
+import onlineReporting from '@/components/enterprise/onlineReporting'
+import supplementaryExplanation from '@/components/enterprise/supplementaryExplanation'
+import OperaInsuranceApplyDetails from '@/components/business/OperaInsuranceApplyWindow'
+import upload from '@/components/common/upload'
+import { confirmFile, findById, exportFiles, claimsUploadFile, delFile } from '@/api/business/settleClaims'
+import { mapState } from 'vuex'
+export default {
+  name: 'OperaSettleClaimsWindow',
+  extends: BaseOpera,
+  components: { GlobalWindow, OperaSettleClaimsCheckWindow, OperaInsuranceApplyDetails, UploadFileCommon, onlineReporting, supplementaryExplanation, upload },
+  data () {
+    return {
+      loading: false,
+      doneFileDate: null,
+      remarkLogList: [],
+      activeLogList:[],
+      list: [],
+      model: {},
+      activeName: 'first',
+      reverse: false
     }
+  },
+  computed: {
+    ...mapState(['userInfo'])
+  },
+  created () {
+    this.config({
+      api: '/business/settleClaims',
+      'field.id': 'id'
+    })
+  },
+  methods: {
+    open (title, target) {
+      this.model = {}
+      this.model = target
+      this.title = title
+      this.visible = true
+      this.doneFileDate = null
+      this.remarkLogList = []
+      this.activeLogList = []
+      this.getDetail()
+    },
+    // 鍒ゆ柇涓や釜鏃堕棿涔嬮棿鐩稿樊鏄惁
+    contrast24 (time1, time2) {
+      console.log(time1)
+      console.log(time2)
+      if (time1 && time2) {
+        const a = new Date(time1)
+        const b = new Date(time2)
+        const timeDiff = Math.abs(a.getTime() - b.getTime())
+        console.log(Math.ceil(timeDiff / (3600 * 1000)))
+        return Math.ceil(timeDiff / (3600 * 1000)) <= 24
+      } else {
+        return false
+      }
+    },
+    contrast (time1, time2) {
+      if (time1 && time2) {
+        const a = new Date(time1).getTime()
+        const b = new Date(time2).getTime()
+        return a > b
+      } else {
+        return false
+      }
+    },
+    edit () {
+      const obj = JSON.parse(JSON.stringify(this.model))
+      obj.areaId = obj.areaId.split(',').map(item => Number(item))
+      this.$refs.onlineReporting.open('淇敼淇℃伅', obj)
+    },
+    openBaoxiandan () {
+      window.open(this.model.baoxiandanFile.fileurlFull)
+    },
+    delFile (id) {
+      this.$dialog.messageConfirm('纭鍒犻櫎璇ラ檮浠跺悧锛屼竴鏃﹀垹闄ゆ棤娉曟挙鍥烇紵')
+        .then(() => {
+          delFile(this.model.id, id).then(response => {
+            this.getDetail()
+          }).catch(err => {
+            this.$tip.apiFailed(err)
+          })
+        })
+    },
+    getDetail () {
+      findById(this.model.id)
+        .then(res => {
+          this.model = res
+          this.remarkLogList = []
+          this.activeLogList =[]
+          var logList = this.model.settleClaimsLogList
+          if (logList) {
+            logList.forEach(item => {
+              if (item.objType == 2) {
+                this.doneFileDate = item.createDate
+              }
+              if (item.objType == 7) {
+                this.remarkLogList.push(item)
+              } else {
+                this.activeLogList.push(item)
+              }
+            })
+          }
+        }).catch(err => {
+        })
+    },
+    handleClick (tab) {
+      this.activeName = tab.name
+    },
+    callback () {
+      this.getDetail()
+      this.$emit('success')
+    },
+    claimsUploadFile (e, objType) {
+      claimsUploadFile({
+        id: this.model.id,
+        objType,
+        fileUrl: e.imgaddr,
+        fileName: e.originname,
+        fileType: e.type
+      }).then(response => {
+        this.getDetail()
+      }).catch(err => {
+        this.$tip.apiFailed(err)
+      }).finally(() => {
+        this.loading = false
+      })
+    },
+    submit (type) {
+      var that = this
+      if (type == 0) {
+        this.$dialog.messageConfirm('鐞嗚禂鏉愭枡鏀堕泦瀹屾垚锛岃鍙婃椂鎻愪氦淇濋櫓鍏徃锛�')
+          .then(() => {
+            // this.isWorking = true
+            confirmFile({ id: that.model.id })
+              .then(response => {
+                that.getDetail()
+              }).catch(err => {
+                this.$tip.apiFailed(err)
+              })
+          })
+      } else if (type == 1) {
+        // 璧勬枡涓嬭浇
+        this.$dialog.exportConfirm('纭杩涜璧勬枡涓嬭浇鍚楋紵')
+          .then(() => {
+            this.isWorking = true
+            exportFiles({ id: that.model.id })
+              .then(response => {
+                this.download(response)
+              }).catch(err => {
+                console.log(err)
+                this.$message.error('涓嬭浇璧勬枡澶辫触锛岃纭璧勬枡鏁版嵁涓嶄负绌�')
+              }).finally(() => {
+                this.isWorking = false
+              })
+          })
+          .catch(() => {
+          })
+      }
+    }
+  }
+}
 </script>
 <style>
     .v-modal {
@@ -617,7 +692,8 @@
                 }
                 .desc_label_left_time {
                     font-size: 14px;
-                    color: rgba(249, 86, 1, 0.996);
+                    color: black;
+                    /*color: rgba(249, 86, 1, 0.996);*/
                     margin-left: 10px;
                 }
                 .desc_label_left_code {
@@ -658,13 +734,20 @@
                     align-items: center;
                     flex-wrap: wrap;
                     .desc_list_item_imgs_video {
-                        width: 150px;
-                        height: 150px;
+                        width: 120px;
+                        height: 120px;
                         background: black;
                         margin-right: 10px;
+                        display: flex;
+                        align-items: center;
+                        justify-content: center;
+                        overflow: hidden;
                         video {
                             width: 100%;
                             height: 100%;
+                        }
+                        img {
+                            width: 100%;
                         }
                     }
                 }
@@ -696,7 +779,6 @@
                 display: flex;
                 align-items: center;
                 flex-wrap: wrap;
-                justify-content: space-between;
                 .desc_data_list_item1 {
                     width: 24.5%;
                 }
@@ -710,6 +792,10 @@
                     justify-content: space-between;
                     position: relative;
                     margin-bottom: 10px;
+                    margin-right: 20px;
+                    &:last-child {
+                        margin-right: 0 !important;
+                    }
                     .desc_data_list_item_dele {
                         position: absolute;
                         top: 10px;
@@ -733,13 +819,16 @@
                         align-items: center;
                         justify-content: center;
                         overflow: hidden;
+                        margin-right: 10px;
                         .el-icon-plus {
                             font-size: 26px;
                             color: #ffffff;
                         }
                         img {
                             width: 100%;
-                            height: 100%;
+                        }
+                        video {
+                            width: 100%;
                         }
                     }
                     .desc_data_list_item_info {
@@ -748,16 +837,27 @@
                         display: flex;
                         flex-direction: column;
                         justify-content: space-between;
+                        word-break: break-all;
                         span {
                             &:nth-child(1) {
+                                width: 160px;
+                                white-space: nowrap;
+                                overflow: hidden;
+                                text-overflow: ellipsis;
                                 font-size: 14px;
                                 color: black;
+                                padding-right: 30px;
+                                box-sizing: border-box;
                             }
                             &:nth-child(2) {
+                                width: 100%;
+                                word-break: break-all;
                                 font-size: 14px;
                                 color: #888888;
                             }
                             &:nth-child(3) {
+                                width: 100%;
+                                word-break: break-all;
                                 font-size: 14px;
                                 color: #888888;
                             }

--
Gitblit v1.9.3