<template>
|
<view class="box">
|
<view class="box_head">
|
<view class="box_head_info">
|
<view class="status yellow" v-if="info.status == 0 || info.status == 2 || info.status == 3">处理中</view>
|
<view class="status info" v-if="info.status == 1">已撤案</view>
|
<view class="status info" v-if="info.status == 4">已结案</view>
|
<view class="box_head_info_title">出险人:{{info.memberName || ''}}</view>
|
<view class="box_head_info_list">
|
<view class="box_head_info_list_item">
|
<view class="label">身份证号:</view>
|
<view class="value">{{info.memberIdcardNo}}</view>
|
</view>
|
<view class="box_head_info_list_item">
|
<view class="label">保险方案:</view>
|
<view class="value">{{info.solutionName}}</view>
|
</view>
|
<view class="box_head_info_list_item">
|
<view class="label">报案人:</view>
|
<view class="value">{{info.informantName}}</view>
|
</view>
|
<view class="box_head_info_list_item">
|
<view class="label">报案人联系方式:</view>
|
<view class="value">{{info.informantPhone}}</view>
|
</view>
|
</view>
|
</view>
|
<view class="box_head_infoA" :style="{ height: height }">
|
<view class="box_head_info_title" @click="open(1)">
|
<view class="title">事故信息</view>
|
<view class="rowwle">
|
<text>{{height === 'auto' ? '收起' : '展开'}}</text>
|
<image :style="{transform: height === 'auto' ? '' : 'rotate(180deg)'}" src="@/static/icon/ic_close@2x.png" mode="widthFix"></image>
|
</view>
|
</view>
|
<view class="info_list">
|
<view class="info_list_item">
|
<view class="info_list_item_label">报案号</view>
|
<view class="info_list_item_val">{{info.reportNum || '-'}}</view>
|
</view>
|
<view class="info_list_item">
|
<view class="info_list_item_label">就诊医疗机构</view>
|
<view class="info_list_item_val">{{info.hospital || '-'}}</view>
|
</view>
|
<view class="info_list_item">
|
<view class="info_list_item_label">事故时间</view>
|
<view class="info_list_item_val">{{info.happenTime}}</view>
|
</view>
|
<view class="info_list_item">
|
<view class="info_list_item_label">事故类型</view>
|
<view class="info_list_item_val" v-if="info.type === 0">工作期间受伤</view>
|
<view class="info_list_item_val" v-if="info.type === 1">上下班途中受伤</view>
|
<view class="info_list_item_val" v-if="info.type === 2">非工作时间受伤</view>
|
<view class="info_list_item_val" v-if="info.type === 3">意外受伤</view>
|
</view>
|
<view class="info_list_item">
|
<view class="info_list_item_label">是否住院</view>
|
<view class="info_list_item_val">{{info.inHospital === 1 ? '否' : '是'}}</view>
|
</view>
|
<view class="info_list_item">
|
<view class="info_list_item_label">是否有医疗保险</view>
|
<view class="info_list_item_val">{{info.medicalInsurance === 1 ? '否' : '是'}}</view>
|
</view>
|
<view class="info_list_item">
|
<view class="info_list_item_label">出险地区</view>
|
<view class="info_list_item_val">{{info.areaInfo}}</view>
|
</view>
|
<view class="info_list_item">
|
<view class="info_list_item_label">事故描述</view>
|
<view class="info_list_item_val">{{info.content}}</view>
|
</view>
|
<view class="info_list_item f">
|
<view class="info_list_item_label1">事故视频/照片</view>
|
<view class="info_list_item_tu" v-if="info && info.reportFileList">
|
<view class="info_list_item_tu_img" v-for="(item, index) in info.reportFileList" :key="index">
|
<image :src="item.fileurlFull" mode="widthFix" v-if="item.type === 0"></image>
|
<video src="item.fileurlFull" v-if="item.type === 1"></video>
|
</view>
|
<view class="info_list_item_tu_zw"></view>
|
<view class="info_list_item_tu_zw"></view>
|
<view class="info_list_item_tu_zw"></view>
|
</view>
|
</view>
|
</view>
|
</view>
|
<view class="box_head_infoA" :style="{ height: height1 }">
|
<view class="box_head_info_title" @click="open(2)">
|
<view class="title">理赔资料</view>
|
<view class="rowwle">
|
<text>{{height1 === 'auto' ? '收起' : '展开'}}</text>
|
<image :style="{transform: height1 === 'auto' ? '' : 'rotate(180deg)'}" src="@/static/icon/ic_close@2x.png" mode="widthFix"></image>
|
</view>
|
</view>
|
<view class="info_list">
|
<view class="info_list_item f">
|
<view class="info_list_item_label1">1、员工关系证明资料</view>
|
<view class="info_list_item_tu" v-if="info">
|
<view class="info_list_item_tu_img" v-for="(item,index) in info.relationFileList" :key="index">
|
<view class="info_list_item_tu_img_dele" @click.stop="deleFile(item.id, item.objId)">
|
<image src="@/static/icon/ic_delete@2x.png" mode="widthFix"></image>
|
</view>
|
<image :src="item.fileurlFull" mode="widthFix" v-if="item.type == 0"></image>
|
<video :src="item.fileurlFull" v-if="item.type == 1" />
|
</view>
|
<view class="info_list_item_tu_up" @click="upload(2)" v-if="info.status == 0 || info.status == 2 || info.status == 3">
|
<u-icon name="plus" color="#222222" size="20"></u-icon>
|
</view>
|
<view class="info_list_item_tu_zw"></view>
|
<view class="info_list_item_tu_zw"></view>
|
<view class="info_list_item_tu_zw"></view>
|
</view>
|
</view>
|
<view class="info_list_item f">
|
<view class="info_list_item_label1">2、医疗资料</view>
|
<view class="info_list_item_tu" v-if="info">
|
<view class="info_list_item_tu_img" v-for="(item, index) in info.outpatientFileList" :key="index">
|
<view class="info_list_item_tu_img_dele" @click.stop="deleFile(item.id, item.objId)">
|
<image src="@/static/icon/ic_delete@2x.png" mode="widthFix"></image>
|
</view>
|
<image :src="item.fileurlFull" mode="widthFix" v-if="item.type === 0"></image>
|
<video :src="item.fileurlFull" v-if="item.type === 1"></video>
|
</view>
|
<view class="info_list_item_tu_up" @click="upload(3)" v-if="info.status == 0 || info.status == 2 || info.status == 3">
|
<u-icon name="plus" color="#222222" size="20"></u-icon>
|
</view>
|
<view class="info_list_item_tu_zw"></view>
|
<view class="info_list_item_tu_zw"></view>
|
<view class="info_list_item_tu_zw"></view>
|
</view>
|
</view>
|
<view class="info_list_item f">
|
<view class="info_list_item_label1">3、赔付结案资料</view>
|
<view class="info_list_item_tu" v-if="info">
|
<view class="info_list_item_tu_img" v-for="(item, index) in info.compensationFileList" :key="index">
|
<view class="info_list_item_tu_img_dele" @click.stop="deleFile(item.id, item.objId)">
|
<image src="@/static/icon/ic_delete@2x.png" mode="widthFix"></image>
|
</view>
|
<image :src="item.fileurlFull" mode="widthFix" v-if="item.type === 0"></image>
|
<video :src="item.fileurlFull" v-if="item.type === 1"></video>
|
</view>
|
<view class="info_list_item_tu_up" @click="upload(6)" v-if="info.status == 0 || info.status == 2 || info.status == 3">
|
<u-icon name="plus" color="#222222" size="20"></u-icon>
|
</view>
|
<view class="info_list_item_tu_zw"></view>
|
<view class="info_list_item_tu_zw"></view>
|
<view class="info_list_item_tu_zw"></view>
|
</view>
|
</view>
|
</view>
|
</view>
|
<view class="box_head_infoA" :style="{ height: height2 }">
|
<view class="box_head_info_title" @click="open(3)">
|
<view class="title">案件进度</view>
|
<view class="rowwle">
|
<text>{{height2 === 'auto' ? '收起' : '展开'}}</text>
|
<image :style="{transform: height2 === 'auto' ? '' : 'rotate(180deg)'}" src="@/static/icon/ic_close@2x.png" mode="widthFix"></image>
|
</view>
|
</view>
|
<view class="info_list" v-if="info && info.settleClaimsLogList">
|
<view class="info_list_row" v-for="(item, index) in info.settleClaimsLogList" :key="index">
|
<view class="info_list_row_xian">
|
<view class="info_list_row_xian_d">
|
<view class="info_list_row_xian_d_y"></view>
|
</view>
|
<view class="info_list_row_xian_h" v-if="info.settleClaimsLogList.length - 1 !== index"></view>
|
</view>
|
<view class="info_list_row_info">
|
<view class="info_list_row_info_top">
|
<text :style="{ color: info.settleClaimsLogList.length - 1 === index ? '#437CB3' : '' }">{{item.title}}</text>
|
<text>{{item.createDate}}</text>
|
</view>
|
<view class="info_list_row_info_bottom">
|
操作员:{{item.creatorName}}({{item.creatorType == 1 ? item.companyName : "平台端"}})
|
</view>
|
<view class="info_list_row_info_nr" v-if="item.content">
|
<view class="info_list_row_info_nr_title" :style="{ color: info.settleClaimsLogList.length - 1 === index ? '#437CB3' : '' }">处理进展:</view>
|
<view class="info_list_row_info_nr_val">
|
<text>{{item.content}}</text>
|
<text v-if="item.objType === 3">医疗理赔:{{JSON.parse(item.afterContent).ylClaimAccount}}元,误工理赔:{{JSON.parse(item.afterContent).wgClaimAccount}}元,伤残理赔:{{JSON.parse(item.afterContent).scClaimAccount}}元,死亡理赔:{{JSON.parse(item.afterContent).swClaimAccount}}元,理赔总额:{{JSON.parse(item.afterContent).claimAccount}}元。</text>
|
</view>
|
</view>
|
</view>
|
</view>
|
</view>
|
</view>
|
<view style="width: 100%; height: calc(env(safe-area-inset-bottom) + 100rpx);" v-if="info.status == 0 || info.status == 2 || info.status == 3"></view>
|
<view class="details_footer" v-if="info.status == 0 || info.status == 2 || info.status == 3">
|
<u-button type="primary" shape="circle" color="#437CB3" text="补充说明" @click="openBC"></u-button>
|
<view style="width: 30rpx; height: 100%;"></view>
|
<u-button type="primary" shape="circle" color="#437CB3" text="编辑" @click="edit"></u-button>
|
</view>
|
</view>
|
<u-modal
|
title="补充资料"
|
:show="show"
|
:showCancelButton="true"
|
closeOnClickOverlay
|
@cancel="show = false"
|
@confirm="confirm"
|
>
|
<u--textarea v-model="value" placeholder="请输入"></u--textarea>
|
</u-modal>
|
</view>
|
</template>
|
|
<script>
|
import { mapState } from 'vuex'
|
export default {
|
data() {
|
return {
|
id: null,
|
info: null,
|
show: false,
|
height: 'auto',
|
height1: 'auto',
|
height2: 'auto',
|
value: ''
|
};
|
},
|
onLoad(option) {
|
this.id = option.id
|
this.getDetails()
|
uni.$on('update', (data) => {
|
this.getDetails()
|
})
|
},
|
computed: {
|
...mapState(['cookies'])
|
},
|
methods: {
|
// 删除附件
|
deleFile(id, objId) {
|
this.$u.api.delFile(objId, id)
|
.then(res => {
|
if (res.code === 200) {
|
this.getDetails()
|
}
|
})
|
},
|
// 上传材料
|
upload(type) {
|
var that = this
|
uni.chooseMedia({
|
count: 1,
|
maxDuration: 60,
|
success(res) {
|
uni.uploadFile({
|
url: that.$baseUrl + 'public/upload',
|
filePath: res.tempFiles[0].tempFilePath,
|
name: 'file',
|
header: {
|
'doumee-auth-token': that.cookies
|
},
|
formData: {
|
'folder': 'settle'
|
},
|
success: (uploadFileRes) => {
|
let data = JSON.parse(uploadFileRes.data).data
|
console.log(JSON.parse(uploadFileRes.data).data)
|
that.$u.api.claimsUploadFile({
|
fileName: '',
|
fileType: data.type,
|
fileUrl: data.imgaddr,
|
id: that.id,
|
objType: type
|
}).then(result => {
|
that.getDetails()
|
})
|
}
|
});
|
}
|
})
|
},
|
openBC() {
|
this.value = ''
|
this.show = true
|
},
|
confirm() {
|
if (!this.value) return uni.showToast({
|
title: '请输入内容',
|
icon: 'none'
|
})
|
this.$u.api.supplement({
|
id: this.id,
|
objType: 0,
|
supplement: this.value
|
}).then(res => {
|
if (res.code === 200) {
|
this.show = false
|
this.getDetails()
|
}
|
})
|
},
|
edit() {
|
uni.navigateTo({
|
url: `/pages/new_report/new_report?id=${this.info.id}`
|
})
|
},
|
getDetails() {
|
this.$u.api.settleClaimsById(this.id)
|
.then(res => {
|
if (res.code === 200) {
|
this.info = res.data
|
}
|
})
|
},
|
open(type) {
|
if (type === 1) {
|
if (this.height === '104rpx') {
|
this.height = 'auto'
|
} else {
|
this.height = '104rpx'
|
}
|
} else if (type === 2) {
|
if (this.height1 === '104rpx') {
|
this.height1 = 'auto'
|
} else {
|
this.height1 = '104rpx'
|
}
|
} else {
|
if (this.height2 === '104rpx') {
|
this.height2 = 'auto'
|
} else {
|
this.height2 = '104rpx'
|
}
|
}
|
}
|
}
|
}
|
</script>
|
<style>
|
page {
|
background-color: #f7f7f7;
|
}
|
</style>
|
<style lang="scss" scoped>
|
.box {
|
width: 100%;
|
.box_head {
|
width: 100%;
|
height: 240rpx;
|
padding: 30rpx;
|
box-sizing: border-box;
|
background: linear-gradient( 180deg, #437CB3 0%, #F7F7F7 100%);
|
.box_head_info {
|
width: 100%;
|
padding: 32rpx 30rpx;
|
box-sizing: border-box;
|
background-color: rgba(255, 255, 255, 0.7);
|
border-radius: 16rpx;
|
position: relative;
|
.yellow {
|
background-color: #FF971D !important;
|
}
|
.info {
|
background-color: #CCCCCC !important;
|
}
|
.status {
|
position: absolute;
|
top: 0;
|
right: 0;
|
width: 118rpx;
|
height: 52rpx;
|
line-height: 52rpx;
|
text-align: center;
|
background: #FF971D;
|
font-weight: 400;
|
font-size: 26rpx;
|
color: #FFFFFF;
|
font-style: normal;
|
border-radius: 0rpx 16rpx 0rpx 32rpx;
|
}
|
.box_head_info_title {
|
font-weight: 500;
|
font-size: 40rpx;
|
color: #222222;
|
font-style: normal;
|
}
|
.box_head_info_list {
|
width: 100%;
|
margin-top: 24rpx;
|
position: relative;
|
image {
|
width: 200rpx;
|
height: 202rpx;
|
position: absolute;
|
bottom: 0;
|
right: 0;
|
}
|
.box_head_info_list_item {
|
width: 100%;
|
display: flex;
|
align-items: center;
|
margin-bottom: 20rpx;
|
&:last-child {
|
margin: 0 !important;
|
}
|
.label {
|
font-weight: 400;
|
font-size: 26rpx;
|
color: #777777;
|
font-style: normal;
|
}
|
.value {
|
font-weight: 400;
|
font-size: 26rpx;
|
color: #222222;
|
font-style: normal;
|
}
|
}
|
}
|
}
|
.details_footer {
|
width: 100%;
|
position: fixed;
|
bottom: 0;
|
left: 0;
|
z-index: 99;
|
padding: 10rpx 30rpx calc(env(safe-area-inset-bottom) + 10rpx) 30rpx;
|
box-sizing: border-box;
|
background-color: #ffffff;
|
display: flex;
|
align-items: center;
|
}
|
.box_head_infoA {
|
width: 100%;
|
padding: 30rpx;
|
box-sizing: border-box;
|
overflow: hidden;
|
margin-top: 30rpx;
|
background: #FFFFFF;
|
border-radius: 16rpx;
|
.info_list {
|
width: 100%;
|
margin-top: 30rpx;
|
overflow: hidden;
|
.info_list_row {
|
width: 100%;
|
min-height: 80rpx;
|
display: flex;
|
align-items: flex-start;
|
margin-bottom: 40rpx;
|
&:last-child {
|
margin: 0 !important;
|
}
|
.info_list_row_xian {
|
flex-shrink: 0;
|
width: 20rpx;
|
min-height: 80rpx;
|
margin-right: 20rpx;
|
position: relative;
|
.info_list_row_xian_d {
|
width: 28rpx;
|
height: 28rpx;
|
border-radius: 50%;
|
padding: 4rpx;
|
box-sizing: border-box;
|
background-color: #ffffff;
|
border: 2rpx solid #999999;
|
position: relative;
|
z-index: 9;
|
.info_list_row_xian_d_y {
|
width: 100%;
|
height: 100%;
|
border-radius: 50%;
|
background: #999999;
|
}
|
}
|
.info_list_row_xian_h {
|
width: 2rpx;
|
height: calc(100% + 45rpx);
|
position: absolute;
|
top: 0;
|
left: 12rpx;
|
background-color: #CCCCCC;
|
}
|
}
|
.info_list_row_info {
|
flex: 1;
|
display: flex;
|
flex-direction: column;
|
.info_list_row_info_top {
|
width: 100%;
|
display: flex;
|
align-items: center;
|
justify-content: space-between;
|
text {
|
&:nth-child(1) {
|
font-weight: 500;
|
font-size: 30rpx;
|
color: #333333;
|
font-style: normal;
|
}
|
&:nth-child(2) {
|
font-weight: 400;
|
font-size: 26rpx;
|
color: #999999;
|
font-style: normal;
|
}
|
}
|
}
|
.info_list_row_info_bottom {
|
width: 100%;
|
margin-top: 14rpx;
|
font-weight: 400;
|
font-size: 26rpx;
|
color: #999999;
|
font-style: normal;
|
}
|
.info_list_row_info_nr {
|
width: 100%;
|
padding: 24rpx;
|
box-sizing: border-box;
|
background: #F7F7F7;
|
border-radius: 16rpx;
|
display: flex;
|
flex-direction: column;
|
margin-top: 20rpx;
|
.info_list_row_info_nr_title {
|
font-weight: 500;
|
font-size: 26rpx;
|
color: #666666;
|
font-style: normal;
|
}
|
.info_list_row_info_nr_val {
|
display: flex;
|
flex-direction: column;
|
margin-top: 12rpx;
|
text {
|
font-weight: 400;
|
font-size: 26rpx;
|
color: #666666;
|
font-style: normal;
|
margin-bottom: 20rpx;
|
&:last-child {
|
margin: 0 !important;
|
}
|
}
|
}
|
}
|
}
|
}
|
.f {
|
display: flex !important;
|
flex-direction: column !important;
|
}
|
.info_list_item {
|
width: 100%;
|
display: flex;
|
align-items: flex-start;
|
justify-content: space-between;
|
margin-bottom: 20rpx;
|
&:last-child {
|
margin: 0 !important;
|
}
|
.info_list_item_tu {
|
width: 100%;
|
margin-top: 20rpx;
|
display: flex;
|
align-items: center;
|
justify-content: space-between;
|
flex-wrap: wrap;
|
.info_list_item_tu_zw {
|
width: 140rpx;
|
height: 0;
|
}
|
.info_list_item_tu_up {
|
width: 140rpx;
|
height: 140rpx;
|
border-radius: 15rpx;
|
margin-bottom: 20rpx;
|
display: flex;
|
align-items: center;
|
justify-content: center;
|
border: 1rpx solid #999999;
|
}
|
.info_list_item_tu_img {
|
width: 140rpx;
|
height: 140rpx;
|
border-radius: 15rpx;
|
margin-bottom: 20rpx;
|
display: flex;
|
align-items: center;
|
justify-content: center;
|
overflow: hidden;
|
position: relative;
|
.info_list_item_tu_img_dele {
|
width: 50rpx;
|
height: 50rpx;
|
position: absolute;
|
right: 0;
|
top: 0;
|
z-index: 9;
|
}
|
image {
|
width: 100%;
|
height: 100%;
|
}
|
video {
|
height: 100%;
|
}
|
}
|
}
|
.info_list_item_label1 {
|
width: 100%;
|
font-weight: 400;
|
font-size: 26rpx;
|
color: #777777;
|
font-style: normal;
|
}
|
.info_list_item_label {
|
width: 200rpx;
|
flex-shrink: 0;
|
font-weight: 400;
|
font-size: 26rpx;
|
color: #777777;
|
font-style: normal;
|
}
|
.info_list_item_val {
|
font-weight: 400;
|
font-size: 26rpx;
|
color: #222222;
|
font-style: normal;
|
}
|
}
|
}
|
.box_head_info_title {
|
width: 100%;
|
height: 44rpx;
|
display: flex;
|
align-items: center;
|
justify-content: space-between;
|
.title {
|
font-weight: 500;
|
font-size: 32rpx;
|
color: #222222;
|
font-style: normal;
|
}
|
.rowwle {
|
display: flex;
|
align-items: center;
|
text {
|
font-weight: 400;
|
font-size: 26rpx;
|
color: #999999;
|
font-style: normal;
|
}
|
image {
|
width: 22rpx;
|
height: 12rpx;
|
margin-left: 8rpx;
|
}
|
}
|
}
|
}
|
}
|
}
|
</style>
|