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 | 617 ++++++++++++++++++++++++++++++++-----------------------
1 files changed, 358 insertions(+), 259 deletions(-)
diff --git a/company/src/components/business/OperaSettleClaimsWindow.vue b/company/src/components/business/OperaSettleClaimsWindow.vue
index 8123bdb..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" />-->
+<!--<!– <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_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,162 +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({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 {
@@ -618,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 {
@@ -659,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%;
}
}
}
@@ -697,7 +779,6 @@
display: flex;
align-items: center;
flex-wrap: wrap;
- justify-content: space-between;
.desc_data_list_item1 {
width: 24.5%;
}
@@ -711,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;
@@ -734,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 {
@@ -749,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