<template>
|
<view class="box">
|
<view class="box_status">
|
<view class="box_status_row" v-for="(item, index) in list" :key="index">
|
<view :class="i > index ? 'box_status_row_x bgColor' : 'box_status_row_x'" v-if="index !== list.length - 1"></view>
|
<view class="box_status_row_num active" v-if="i === index">
|
<text>{{ index + 1 }}</text>
|
</view>
|
<view class="box_status_row_num guo" v-else-if="i > index">
|
<u-icon name="checkbox-mark" color="#437CB3" size="28"></u-icon>
|
</view>
|
<view class="box_status_row_num" v-else>
|
<text>{{ index + 1 }}</text>
|
</view>
|
<view :class="i === index || i > index ? 'box_status_row_text activeFont' : 'box_status_row_text'">{{item.name}}</view>
|
</view>
|
</view>
|
<u--form
|
labelPosition="top"
|
:model="model"
|
:rules="rules"
|
labelWidth="150"
|
ref="uForm"
|
>
|
<view class="box_hz" v-if="i === 0">
|
<view class="box_list">
|
<view class="box_list_Label">基本信息</view>
|
<view class="box_list_from">
|
<u-form-item label="出险人:" prop="memberName" borderBottom required>
|
<u--input v-model="model.memberName" placeholder="请选择出险人" @input="changeSearch" border="none"></u--input>
|
<scroll-view scroll-y class="box_list_data" v-if="model.memberName && columns2.length > 0">
|
<view class="box_list_data_item" v-for="(item, index) in columns2" :key="index" @click="clickItem(item)">
|
{{item.name}} - {{item.idcardNo}}
|
</view>
|
</scroll-view>
|
</u-form-item>
|
<u-form-item label="证件号码:" prop="idcardNo" required>
|
<u--input v-model="model.idcardNo" disabled maxlength="18" placeholder="请输入证件号码" border="none"></u--input>
|
</u-form-item>
|
<u-form-item label="报案人:" prop="informantName" borderBottom required>
|
<u--input v-model="model.informantName" placeholder="请输入报案人姓名" border="none"></u--input>
|
</u-form-item>
|
<u-form-item label="报案人联系方式:" prop="informantPhone" required>
|
<u--input v-model="model.informantPhone" maxlength="11" placeholder="请输入报案人联系方式" border="none"></u--input>
|
</u-form-item>
|
</view>
|
</view>
|
<view class="box_list">
|
<view class="box_list_Label">保险方案</view>
|
<view class="box_list_from">
|
<u-form-item label="保险方案:" prop="solutionName" borderBottom required @click="openFA">
|
<view style="width: 100%; display: flex; align-items: center; justify-content: space-between;">
|
<u--input v-model="model.solutionName" disabled disabledColor="#ffffff" placeholder="请选择保险方案" border="none"></u--input>
|
<u-icon slot="right" name="arrow-right"></u-icon>
|
</view>
|
<view class="faList" v-if="scheme">
|
<text>保单号:{{scheme.applyCode || ''}}</text>
|
<text>保障期限:<template v-if="scheme.parentStartTime">{{scheme.parentStartTime}}~{{scheme.parentEndTime}}</template></text>
|
<text>投保单位:{{scheme.companyName || ''}}</text>
|
<text>派遣单位:{{scheme.duName}}</text>
|
<text>所属工种:{{scheme.workTypeName}}</text>
|
</view>
|
</u-form-item>
|
</view>
|
</view>
|
<view class="box_list">
|
<view class="box_list_Label">出险信息</view>
|
<view class="box_list_from">
|
<u-form-item label="事故类型:" prop="typeName" borderBottom required @click="show2 = true">
|
<u--input v-model="model.typeName" disabled disabledColor="#ffffff" placeholder="请选择事故类型" border="none"></u--input>
|
<u-icon slot="right" name="arrow-right"></u-icon>
|
</u-form-item>
|
<u-form-item label="出险时间:" prop="happenTime" borderBottom required @click="openChuxian">
|
<u--input v-model="model.happenTime" disabled disabledColor="#ffffff" placeholder="请选择事故发生时间" border="none"></u--input>
|
<u-icon slot="right" name="arrow-right"></u-icon>
|
</u-form-item>
|
<u-form-item label="出险地区:" prop="areaInfo" borderBottom @click="show3 = true">
|
<u--input v-model="model.areaInfo" disabled disabledColor="#ffffff" placeholder="请选择事故发生地" border="none"></u--input>
|
<u-icon slot="right" name="arrow-right"></u-icon>
|
</u-form-item>
|
<u-form-item label="详细地址:" prop="address" borderBottom>
|
<u--textarea placeholder="请描述详细地址" border="none" v-model="model.address"></u--textarea>
|
</u-form-item>
|
<u-form-item label="出险经过:" prop="content" borderBottom required>
|
<u--textarea placeholder="请描述出险经过" border="none" v-model="model.content"></u--textarea>
|
</u-form-item>
|
<u-form-item label="就诊医疗机构:" prop="hospital" borderBottom>
|
<u--input v-model="model.hospital" placeholder="请输入就诊医疗机构名称" border="none"></u--input>
|
</u-form-item>
|
<u-form-item label="就诊类型:" prop="inHospital" borderBottom required>
|
<view class="list">
|
<view :class="model.inHospital === 0 ? 'list_item active' : 'list_item'" @click="model.inHospital = 0">住院</view>
|
<view :class="model.inHospital === 1 ? 'list_item active' : 'list_item'" @click="model.inHospital = 1">门诊</view>
|
</view>
|
</u-form-item>
|
<u-form-item label="是否伤残:" prop="hurtType" borderBottom required>
|
<view class="list">
|
<view :class="model.hurtType === 0 ? 'list_item active' : 'list_item'" @click="model.hurtType = 0">是</view>
|
<view :class="model.hurtType === 1 ? 'list_item active' : 'list_item'" @click="model.hurtType = 1">否</view>
|
<view :class="model.hurtType === 2 ? 'list_item active' : 'list_item'" @click="model.hurtType = 2">待确定</view>
|
</view>
|
</u-form-item>
|
<u-form-item label="是否有医保:" prop="medicalInsurance" borderBottom required>
|
<view class="list">
|
<view :class="model.medicalInsurance === 0 ? 'list_item active' : 'list_item'" @click="model.medicalInsurance = 0">是</view>
|
<view :class="model.medicalInsurance === 1 ? 'list_item active' : 'list_item'" @click="model.medicalInsurance = 1">否</view>
|
</view>
|
</u-form-item>
|
<u-form-item label="事故视频/图片:" prop="reportFileList">
|
<view style="width: 100%; height: 15rpx;"></view>
|
<view class="meade">
|
<view class="meade_content" v-for="(item,index) in model.reportFileList" :key="index">
|
<image class="dele" src="@/static/icon/ic_delete@2x.png" mode="widthFix" @click="deletePic(index, 6)"></image>
|
<image class="image" :src="item.fileurlFull" mode="widthFix" v-if="item.type === 0"></image>
|
<video class="video" :src="item.fileurlFull" controls v-if="item.type === 1"></video>
|
</view>
|
<view class="meade_upload" @click="upload(6)">
|
<u-icon name="plus" color="#999999" size="20"></u-icon>
|
<text>点击上传</text>
|
</view>
|
<view class="meade_zw"></view>
|
<view class="meade_zw"></view>
|
<view class="meade_zw"></view>
|
</view>
|
</u-form-item>
|
</view>
|
</view>
|
</view>
|
<!-- 上传文件 -->
|
<view class="box_up" v-if="i === 1">
|
<view class="box_up_head">
|
<view class="box_up_head_title">
|
<u-icon name="error-circle-fill" color="#2979ff" size="22"></u-icon>
|
<text>重要提示</text>
|
</view>
|
<view class="box_up_head_info">
|
<text>· 不同保险产品理赔材料有所不同</text>
|
<text>· 上传材料前注意使用盖章文件模版和查看理赔材料一览表</text>
|
</view>
|
</view>
|
<view class="box_up_title">
|
<text>上传理赔材料</text>
|
<view class="box_up_title_downlod" @click="openDownLodFile">
|
<text>下载示例</text>
|
<image src="/static/icon/ic_download@2x.png" mode="widthFix"></image>
|
</view>
|
</view>
|
<view class="box_up_list">
|
<view class="box_up_list_row">
|
<view class="box_up_list_row_title">
|
<text>员工关系证明材料</text>
|
<view class="box_up_list_row_title_icon" @click="openInfo(1)">
|
<image src="/static/icon/ic_shuoming@2x.png" mode="widthFix"></image>
|
<text>上传说明</text>
|
</view>
|
</view>
|
<view class="meade">
|
<view class="meade_content" v-for="(item,index) in model.relationFileList" :key="index">
|
<image class="dele" src="@/static/icon/ic_delete@2x.png" mode="widthFix" @click="deletePic(index, 1)"></image>
|
<image class="image" :src="item.fileurlFull" mode="widthFix" v-if="item.type === 0"></image>
|
<video class="video" :src="item.fileurlFull" controls v-if="item.type === 1"></video>
|
</view>
|
<view class="meade_upload" @click="upload(1)">
|
<u-icon name="plus" color="#999999" size="20"></u-icon>
|
<text>点击上传</text>
|
</view>
|
<view class="meade_zw"></view>
|
<view class="meade_zw"></view>
|
<view class="meade_zw"></view>
|
</view>
|
</view>
|
<view class="box_up_list_row">
|
<view class="box_up_list_row_title">
|
<text>门诊</text>
|
<view class="box_up_list_row_title_icon" @click="openInfo(2)">
|
<image src="/static/icon/ic_shuoming@2x.png" mode="widthFix"></image>
|
<text>上传说明</text>
|
</view>
|
</view>
|
<view class="meade">
|
<view class="meade_content" v-for="(item,index) in model.outpatientFileList" :key="index">
|
<image class="dele" src="@/static/icon/ic_delete@2x.png" mode="widthFix" @click="deletePic(index, 2)"></image>
|
<image class="image" :src="item.fileurlFull" mode="widthFix" v-if="item.type === 0"></image>
|
<video class="video" :src="item.fileurlFull" controls v-if="item.type === 1"></video>
|
</view>
|
<view class="meade_upload" @click="upload(2)">
|
<u-icon name="plus" color="#999999" size="20"></u-icon>
|
<text>点击上传</text>
|
</view>
|
<view class="meade_zw"></view>
|
<view class="meade_zw"></view>
|
<view class="meade_zw"></view>
|
</view>
|
</view>
|
<view class="box_up_list_row">
|
<view class="box_up_list_row_title">
|
<text>住院</text>
|
<view class="box_up_list_row_title_icon" @click="openInfo(3)">
|
<image src="/static/icon/ic_shuoming@2x.png" mode="widthFix"></image>
|
<text>上传说明</text>
|
</view>
|
</view>
|
<view class="meade">
|
<view class="meade_content" v-for="(item,index) in model.hospitalFileList" :key="index">
|
<image class="dele" src="@/static/icon/ic_delete@2x.png" mode="widthFix" @click="deletePic(index, 3)"></image>
|
<image class="image" :src="item.fileurlFull" mode="widthFix" v-if="item.type === 0"></image>
|
<video class="video" :src="item.fileurlFull" controls v-if="item.type === 1"></video>
|
</view>
|
<view class="meade_upload" @click="upload(3)">
|
<u-icon name="plus" color="#999999" size="20"></u-icon>
|
<text>点击上传</text>
|
</view>
|
<view class="meade_zw"></view>
|
<view class="meade_zw"></view>
|
<view class="meade_zw"></view>
|
</view>
|
</view>
|
<view class="box_up_list_row">
|
<view class="box_up_list_row_title">
|
<text>伤残</text>
|
<view class="box_up_list_row_title_icon" @click="openInfo(4)">
|
<image src="/static/icon/ic_shuoming@2x.png" mode="widthFix"></image>
|
<text>上传说明</text>
|
</view>
|
</view>
|
<view class="meade">
|
<view class="meade_content" v-for="(item,index) in model.disabilityFileList" :key="index">
|
<image class="dele" src="@/static/icon/ic_delete@2x.png" mode="widthFix" @click="deletePic(index, 4)"></image>
|
<image class="image" :src="item.fileurlFull" mode="widthFix" v-if="item.type === 0"></image>
|
<video class="video" :src="item.fileurlFull" controls v-if="item.type === 1"></video>
|
</view>
|
<view class="meade_upload" @click="upload(4)">
|
<u-icon name="plus" color="#999999" size="20"></u-icon>
|
<text>点击上传</text>
|
</view>
|
<view class="meade_zw"></view>
|
<view class="meade_zw"></view>
|
<view class="meade_zw"></view>
|
</view>
|
</view>
|
<view class="box_up_list_row">
|
<view class="box_up_list_row_title">
|
<text>其他</text>
|
<view class="box_up_list_row_title_icon" @click="openInfo(5)">
|
<image src="/static/icon/ic_shuoming@2x.png" mode="widthFix"></image>
|
<text>上传说明</text>
|
</view>
|
</view>
|
<view class="meade">
|
<view class="meade_content" v-for="(item,index) in model.otherFileList" :key="index">
|
<image class="dele" src="@/static/icon/ic_delete@2x.png" mode="widthFix" @click="deletePic(index, 5)"></image>
|
<image class="image" :src="item.fileurlFull" mode="widthFix" v-if="item.type === 0"></image>
|
<video class="video" :src="item.fileurlFull" controls v-if="item.type === 1"></video>
|
</view>
|
<view class="meade_upload" @click="upload(5)">
|
<u-icon name="plus" color="#999999" size="20"></u-icon>
|
<text>点击上传</text>
|
</view>
|
<view class="meade_zw"></view>
|
<view class="meade_zw"></view>
|
<view class="meade_zw"></view>
|
</view>
|
</view>
|
</view>
|
<view class="box_up_hz">
|
<view class="box_list">
|
<view class="box_list_Label">收款信息</view>
|
<view class="box_list_from">
|
<u-form-item label="收款银行:" prop="receiveBank" borderBottom required>
|
<u--input v-model="model.receiveBank" placeholder="请输入" border="none"></u--input>
|
</u-form-item>
|
<u-form-item label="收款人:" prop="receiveUserName" borderBottom required>
|
<u--input v-model="model.receiveUserName" placeholder="请输入" border="none"></u--input>
|
</u-form-item>
|
<u-form-item label="收款账号:" prop="receiveAccount" borderBottom required>
|
<u--input v-model="model.receiveAccount" placeholder="请输入" border="none"></u--input>
|
</u-form-item>
|
</view>
|
</view>
|
</view>
|
</view>
|
<!-- 完成 -->
|
<view class="box_success" v-if="i === 2">
|
<view class="box_success_icon">
|
<image src="/static/icon/ic_success@2x.png" mode="widthFix"></image>
|
</view>
|
<view class="box_success_title">提交成功</view>
|
<view class="box_success_info">等待立案</view>
|
<view class="box_success_btns">
|
<u-button type="primary" shape="circle" plain color="#999999" text="继续报案" @click="jixu"></u-button>
|
<view style="width: 30rpx; height: 100%;"></view>
|
<u-button type="primary" shape="circle" plain color="#437CB3" text="查看详情" @click="jump"></u-button>
|
</view>
|
</view>
|
</u--form>
|
<view style="width: 100%; height: calc(88rpx + env(safe-area-inset-bottom));"></view>
|
<!-- 提交按钮 -->
|
<view class="box_footer">
|
<view class="box_footer_btns" v-if="i === 0">
|
<view class="box_footer_btns_1">
|
<u-button type="primary" shape="circle" plain color="#437CB3" text="暂存" @click="submit(0)"></u-button>
|
</view>
|
<view style="width: 20rpx; height: 100%;"></view>
|
<u-button type="primary" shape="circle" color="#437CB3" text="下一步" @click="next"></u-button>
|
</view>
|
<view class="box_footer_btns" v-if="i === 1">
|
<view class="box_footer_btns_1">
|
<u-button type="primary" shape="circle" plain color="#437CB3" text="暂存" @click="submit(0)"></u-button>
|
</view>
|
<view style="width: 30rpx; height: 100%;"></view>
|
<view class="box_footer_btns_1">
|
<u-button type="primary" shape="circle" plain color="#437CB3" text="上一步" @click="i--"></u-button>
|
</view>
|
<view style="width: 30rpx; height: 100%;"></view>
|
<u-button type="primary" shape="circle" color="#437CB3" text="提交报案" @click="submit(1)"></u-button>
|
</view>
|
<view style="width: 100%; height: env(safe-area-inset-bottom);"></view>
|
</view>
|
<!-- 事故时间 -->
|
<u-datetime-picker
|
:show="show1"
|
v-model="date"
|
mode="datetime"
|
:minDate="minDate"
|
:maxDate="maxDate"
|
:defaultIndex="[11]"
|
@confirm="confirm"
|
@cancel="show1 = false" />
|
<!-- 事故类型 -->
|
<u-picker :show="show2" keyName="name" :columns="columns" @confirm="confirm1" @cancel="show2 = false"></u-picker>
|
<!-- 省市区 -->
|
<u-picker ref="uPicker" :show="show3" keyName="name" :columns="columns1" @confirm="confirm2" @change="changeHandler" @cancel="show3 = false"></u-picker>
|
<!-- 出险人 -->
|
<u-picker :show="show4" keyName="label" :columns="columns2" @confirm="confirm3" @cancel="show4 = false"></u-picker>
|
<!-- 保险方案 -->
|
<u-picker :show="show5" keyName="solutionName" :columns="columns3" @confirm="confirm4" @cancel="show5 = false"></u-picker>
|
<!-- 弹窗提醒 -->
|
<u-modal :show="show" title="无法完成报案" content='该出险人无有效保单 请重新选择'></u-modal>
|
<!-- 上传说明 -->
|
<u-popup :show="show6" closeable mode="bottom" @close="show6 = false">
|
<view class="info">
|
<view class="info_title">上传说明</view>
|
<view class="info_content" v-html="htmlVal"></view>
|
<view class="info_btn">
|
<u-button shape="circle" style="height: 100%;" text="我知道了" color="#437CB3" @click="show6 = false"></u-button>
|
</view>
|
</view>
|
</u-popup>
|
<!-- 下载文件 -->
|
<u-action-sheet
|
:show="show7"
|
:actions="btns"
|
:closeOnClickOverlay="true"
|
:closeOnClickAction="true"
|
@select="selectRow" />
|
</view>
|
</template>
|
|
<script>
|
export default {
|
data() {
|
return {
|
id: null,
|
i: 0,
|
show: false,
|
show1: false,
|
show2: false,
|
show3: false,
|
show4: false,
|
show5: false,
|
show6: false,
|
show7: false,
|
date: Number(new Date()),
|
minDate: '',
|
maxDate: '',
|
columns: [
|
[
|
{ name: '工作期间受伤', id: 0 },
|
{ name: '上下班途中受伤', id: 1 },
|
{ name: '非工作时间受伤', id: 2 },
|
{ name: '意外受伤', id: 3 }
|
]
|
],
|
list: [
|
{ name: '填写出险信息' },
|
{ name: '上传理赔材料' },
|
{ name: '完成报案' },
|
],
|
btns: [],
|
insurance: null,
|
scheme: null,
|
columns1: [],
|
columns2: [],
|
columns3: [],
|
area: [],
|
model: {
|
memberId: '',
|
memberName: '',
|
solutionId: '',
|
solutionName: '',
|
informantName: '',
|
informantPhone: '',
|
hospital: '',
|
happenTime: '',
|
type: '',
|
duId: '',
|
duName: '',
|
worktypeId: '',
|
worktypeName: '',
|
typeName: '',
|
inHospital: 0,
|
medicalInsurance: 0,
|
content: '',
|
areaId: '',
|
areaInfo: '',
|
reportFileList: [],
|
idcardNo: '',
|
hurtType: 0,
|
address: '',
|
receiveBank: '',
|
receiveUserName: '',
|
receiveAccount: '',
|
applyDetailId: '',
|
insuranceApplyId: '',
|
|
relationFileList: [],
|
outpatientFileList: [],
|
hospitalFileList: [],
|
disabilityFileList: [],
|
otherFileList: [],
|
},
|
rules: {
|
// 'receiveAccount': {
|
// type: 'string',
|
// required: true,
|
// message: '请填写收款账号',
|
// trigger: ['blur']
|
// },
|
// 'receiveUserName': {
|
// type: 'string',
|
// required: true,
|
// message: '请填写收款人',
|
// trigger: ['blur']
|
// },
|
// 'receiveBank': {
|
// type: 'string',
|
// required: true,
|
// message: '请填写收款银行',
|
// trigger: ['blur']
|
// },
|
'memberName': {
|
type: 'string',
|
required: true,
|
message: '请选择出险人',
|
trigger: ['change']
|
},
|
'solutionName': {
|
type: 'string',
|
required: true,
|
message: '请选择方案',
|
trigger: ['change']
|
},
|
'informantName': {
|
type: 'string',
|
required: true,
|
message: '请填写报案人',
|
trigger: ['blur']
|
},
|
'informantPhone': {
|
type: 'string',
|
required: true,
|
message: '请填写报案人联系方式',
|
trigger: ['blur']
|
},
|
'happenTime': {
|
type: 'string',
|
required: true,
|
message: '请选择事故时间',
|
trigger: ['change']
|
},
|
'type': {
|
type: 'string',
|
required: true,
|
message: '请选择事故类型',
|
trigger: ['change']
|
},
|
'content': {
|
type: 'string',
|
required: true,
|
message: '请输入事故描述',
|
trigger: ['blur']
|
},
|
'idcardNo': {
|
type: 'string',
|
required: true,
|
message: '请输入证件号码',
|
trigger: ['blur']
|
},
|
'typeName': {
|
type: 'string',
|
required: true,
|
message: '请输入事故类型',
|
trigger: ['blur']
|
}
|
},
|
fileList: [],
|
htmlVal: ''
|
};
|
},
|
onLoad(option) {
|
this.id = option.id
|
if (this.id) {
|
uni.setNavigationBarTitle({
|
title: '编辑报案'
|
})
|
this.getDetails()
|
this.getArea()
|
return
|
}
|
this.getArea()
|
this.model.informantName = this.$store.state.userInfo.realname
|
},
|
methods: {
|
getInsuranceFile (obj) {
|
this.insurance = null
|
this.$u.api.insuranceFile(obj.insuranceId, 1)
|
.then(res => {
|
console.log(res)
|
this.insurance = res.data
|
})
|
},
|
selectRow(row) {
|
console.log(row)
|
var that = this;
|
uni.downloadFile({
|
url: row.type === 0 ? this.insurance.lpStampTempFile.fileurlFull : this.insurance.lpFile.fileurlFull,
|
success: (res) => {
|
if (res.statusCode === 200) {
|
let fileManager = wx.getFileSystemManager();
|
fileManager.saveFile({
|
tempFilePath: res.tempFilePath,
|
success: (res) => {
|
uni.showToast({ title: '保存成功!', icon: 'success' })
|
that.show7 = false
|
},
|
fail: (err) => {
|
uni.showToast({ title: '保存失败!', icon: 'error' })
|
that.show7 = false
|
}
|
});
|
}
|
}
|
})
|
},
|
openDownLodFile() {
|
let arr = []
|
if (this.insurance && this.insurance.lpStampTempFile && this.insurance.lpStampTempFile.fileurlFull) {
|
arr.push({
|
name: '盖章文件模版',
|
type: 0,
|
fontSize: '20'
|
})
|
}
|
if (this.insurance && this.insurance.lpFile && this.insurance.lpFile.fileurlFull) {
|
arr.push({
|
name: '理赔材料一览表',
|
type: 1,
|
fontSize: '20'
|
})
|
}
|
this.btns = arr
|
if (arr.length === 0) {
|
uni.showToast({ title: '暂无文件', icon: 'none' })
|
return;
|
}
|
this.show7 = true
|
},
|
jixu() {
|
uni.navigateTo({
|
url: `/pages/report_details/report_details?id=${this.id}`
|
})
|
},
|
jixu() {
|
this.scheme = null
|
this.model = {
|
memberId: '',
|
memberName: '',
|
solutionId: '',
|
solutionName: '',
|
informantName: '',
|
informantPhone: '',
|
hospital: '',
|
happenTime: '',
|
type: '',
|
duId: '',
|
duName: '',
|
worktypeId: '',
|
worktypeName: '',
|
typeName: '',
|
inHospital: 0,
|
medicalInsurance: 0,
|
content: '',
|
areaId: '',
|
areaInfo: '',
|
reportFileList: [],
|
idcardNo: '',
|
hurtType: 0,
|
address: '',
|
receiveBank: '',
|
receiveUserName: '',
|
receiveAccount: '',
|
applyDetailId: '',
|
insuranceApplyId: '',
|
|
relationFileList: [],
|
outpatientFileList: [],
|
hospitalFileList: [],
|
disabilityFileList: [],
|
otherFileList: []
|
}
|
this.i = 0
|
},
|
clickItem(item) {
|
this.model.memberName = item.name
|
this.model.memberId = item.id
|
this.model.idcardNo = item.idcardNo
|
this.columns2 = []
|
},
|
// 搜索
|
changeSearch(name) {
|
this.columns2 = []
|
this.scheme = null
|
this.columns3 = []
|
this.model.solutionId = ''
|
this.model.solutionName = ''
|
this.model.duId = ''
|
this.model.duName = ''
|
this.model.worktypeId = ''
|
this.model.worktypeName = ''
|
this.model.applyDetailId = ''
|
this.model.insuranceApplyId = ''
|
this.$u.api.memberFindListByDTO({
|
name
|
}).then(res => {
|
if (res.code === 200) {
|
this.columns2 = res.data
|
}
|
})
|
},
|
getDetails() {
|
this.$u.api.settleClaimsById(this.id)
|
.then(res => {
|
if (res.code === 200) {
|
this.model.memberName = res.data.memberName
|
this.model.memberId = res.data.memberId
|
this.model.solutionName = res.data.solutionName
|
this.model.solutionId = res.data.solutionId
|
this.model.worktypeId = res.data.worktypeId
|
this.model.worktypeName = res.data.worktypeName
|
this.model.duId = res.data.duId
|
this.model.duName = res.data.duName
|
this.model.content = res.data.content
|
this.model.reportFileList = res.data.reportFileList
|
this.model.idcardNo = res.data.idcardNo
|
this.model.address = res.data.address
|
|
this.model.receiveBank = res.data.receiveBank
|
this.model.receiveUserName = res.data.receiveUserName
|
this.model.receiveAccount = res.data.receiveAccount
|
this.model.informantName = res.data.informantName
|
this.model.informantPhone = res.data.informantPhone
|
this.model.hospital = res.data.hospital
|
this.model.happenTime = res.data.happenTime
|
|
this.model.hurtType = res.data.hurtType
|
|
this.model.relationFileList = res.data.relationFileList
|
this.model.outpatientFileList = res.data.outpatientFileList
|
this.model.hospitalFileList = res.data.hospitalFileList
|
this.model.disabilityFileList = res.data.disabilityFileList
|
this.model.otherFileList = res.data.otherFileList
|
this.model.type = res.data.type
|
if (res.data.type === 0) {
|
this.model.typeName = '工作期间受伤'
|
} else if (res.data.type === 1) {
|
this.model.typeName = '上下班途中受伤'
|
} else if (res.data.type === 2) {
|
this.model.typeName = '非工作时间受伤'
|
} else if (res.data.type === 3) {
|
this.model.typeName = '意外受伤'
|
}
|
this.model.inHospital = res.data.inHospital
|
this.model.medicalInsurance = res.data.medicalInsurance
|
this.model.areaInfo = res.data.areaInfo
|
this.model.areaId = res.data.areaId
|
|
this.model.solutionId = res.data.solutionId
|
this.model.solutionName = res.data.solutionName
|
this.model.duId = res.data.duId
|
this.model.duName = res.data.duName
|
this.model.worktypeId = res.data.worktypeId
|
this.model.worktypeName = res.data.worktypeName
|
this.model.applyDetailId = res.data.applyDetailId
|
this.model.insuranceApplyId = res.data.insuranceApplyId
|
|
this.$u.api.findList({
|
memberId: this.model.memberId
|
}).then(res => {
|
if (res.code === 200) {
|
res.data.forEach(item => {
|
if (item.solutionId === this.model.solutionId) {
|
this.scheme = item
|
this.getInsuranceFile(item)
|
this.minDate = this.dateToTimestamp(item.parentStartTime)
|
this.maxDate = this.dateToTimestamp(item.parentEndTime)
|
this.date = this.dateToTimestamp(item.parentStartTime)
|
}
|
})
|
}
|
})
|
}
|
})
|
},
|
next() {
|
this.$refs.uForm.validate().then(res => {
|
this.i++
|
}).catch(errors => {
|
|
})
|
},
|
// 提交报案
|
submit(saveType) {
|
this.$refs.uForm.validate().then(res => {
|
this.$u.api.saveSettleClaims({ ...this.model, saveType, id: this.id })
|
.then(res => {
|
if (res.code === 200) {
|
this.id = res.data
|
if (saveType === 0) {
|
uni.navigateBack({ delta: 1 });
|
} else {
|
this.i++
|
}
|
}
|
})
|
}).catch(errors => {
|
|
})
|
},
|
openFA() {
|
if (!this.model.memberId) return uni.showToast({
|
title: '请先选择出险人',
|
icon: 'none'
|
})
|
this.$u.api.findList({
|
memberId: this.model.memberId
|
}).then(res => {
|
if (res.code === 200) {
|
res.data.forEach(item => {
|
item.solutionName = '(' + item.startTime.substring(5, 10).replace('-', '.') + '-' + item.endTime.substring(5, 10).replace('-', '.') + ')' + item.solutionName
|
})
|
this.columns3 = [res.data]
|
this.show5 = true
|
}
|
})
|
},
|
getUser() {
|
this.$u.api.memberFindListByDTO()
|
.then(res => {
|
if (res.code === 200) {
|
res.data.forEach(item => {
|
item.label = item.name + ' - '+ item.idcardNo
|
})
|
this.columns2 = [res.data]
|
}
|
})
|
},
|
changeHandler(e) {
|
const {
|
columnIndex,
|
value,
|
values,
|
index,
|
picker = this.$refs.uPicker
|
} = e
|
if (columnIndex === 0) {
|
picker.setColumnValues(1, this.columns1[0][index].childAreasList)
|
picker.setColumnValues(2, this.columns1[0][index].childAreasList[0].childAreasList)
|
}
|
if (columnIndex === 1) {
|
picker.setColumnValues(2, value[columnIndex].childAreasList)
|
}
|
},
|
getArea() {
|
this.$u.api.findTreeList()
|
.then(res => {
|
if (res.code === 200) {
|
this.columns1 = [res.data, res.data[0].childAreasList, res.data[0].childAreasList[0].childAreasList]
|
this.area = res.data
|
}
|
})
|
},
|
openChuxian() {
|
if (!this.model.solutionId) return uni.showToast({
|
title: '请先选择方案',
|
icon: 'none'
|
})
|
this.show1 = true
|
},
|
dateToTimestamp(dateStr) {
|
const date = new Date(dateStr);
|
return date.getTime();
|
},
|
upload(type) {
|
var that = this
|
uni.chooseMedia({
|
count: 9,
|
mediaType: ['image','video'],
|
sourceType: ['album', 'camera'],
|
camera: 'back',
|
success(res) {
|
uni.showLoading({ title: '上传中', mask: true });
|
for (let i = 0; i < res.tempFiles.length; i++) {
|
uni.uploadFile({
|
url: `${that.$baseUrl}public/upload`,
|
filePath: res.tempFiles[i].tempFilePath,
|
name: 'file',
|
header: {
|
'doumee-auth-token': that.$store.state.cookies
|
},
|
formData: {
|
folder: 'settle'
|
},
|
success: (uploadFileRes) => {
|
let res = JSON.parse(uploadFileRes.data)
|
that.fileList.push({ ...res.data })
|
if (type === 6) {
|
that.model.reportFileList.push({
|
fileurl: res.data.imgaddr,
|
name: res.data.originname,
|
type: res.data.type,
|
url: res.data.url,
|
fileurlFull: res.data.url
|
})
|
} else if (type === 1) {
|
that.model.relationFileList.push({
|
fileurl: res.data.imgaddr,
|
name: res.data.originname,
|
type: res.data.type,
|
url: res.data.url,
|
fileurlFull: res.data.url
|
})
|
} else if (type === 2) {
|
that.model.outpatientFileList.push({
|
fileurl: res.data.imgaddr,
|
name: res.data.originname,
|
type: res.data.type,
|
url: res.data.url,
|
fileurlFull: res.data.url
|
})
|
} else if (type === 3) {
|
that.model.hospitalFileList.push({
|
fileurl: res.data.imgaddr,
|
name: res.data.originname,
|
type: res.data.type,
|
url: res.data.url,
|
fileurlFull: res.data.url
|
})
|
} else if (type === 4) {
|
that.model.disabilityFileList.push({
|
fileurl: res.data.imgaddr,
|
name: res.data.originname,
|
type: res.data.type,
|
url: res.data.url,
|
fileurlFull: res.data.url
|
})
|
} else if (type === 5) {
|
that.model.otherFileList.push({
|
fileurl: res.data.imgaddr,
|
name: res.data.originname,
|
type: res.data.type,
|
url: res.data.url,
|
fileurlFull: res.data.url
|
})
|
}
|
},
|
complete() {
|
if (i === res.tempFiles.length - 1) {
|
uni.hideLoading();
|
}
|
}
|
});
|
}
|
}
|
})
|
},
|
afterRead(e) {
|
uni.showLoading({
|
title: '上传中',
|
mask: true
|
});
|
for (let i = 0; i < e.file.length; i++) {
|
uni.uploadFile({
|
url: `${this.$baseUrl}public/upload`,
|
filePath: e.file[i].url,
|
name: 'file',
|
header: {
|
'doumee-auth-token': this.$store.state.cookies
|
},
|
formData: {
|
folder: 'settle'
|
},
|
success: (uploadFileRes) => {
|
let res = JSON.parse(uploadFileRes.data)
|
this.model.reportFileList.push({
|
fileurl: res.data.imgaddr,
|
name: res.data.originname,
|
type: res.data.type,
|
fileurlFull: res.data.url
|
})
|
},
|
complete() {
|
if (i === e.file.length - 1) {
|
uni.hideLoading();
|
}
|
}
|
});
|
}
|
},
|
deletePic(index, type) {
|
if (type === 6) {
|
this.model.reportFileList.splice(index, 1)
|
} else if (type === 1) {
|
this.model.relationFileList.splice(index, 1)
|
} else if (type === 2) {
|
this.model.outpatientFileList.splice(index, 1)
|
} else if (type === 3) {
|
this.model.hospitalFileList.splice(index, 1)
|
} else if (type === 4) {
|
this.model.disabilityFileList.splice(index, 1)
|
} else if (type === 5) {
|
this.model.otherFileList.splice(index, 1)
|
}
|
},
|
getTreeName(list, id){
|
let _this = this
|
for (let i = 0; i < list.length; i++) {
|
let a = list[i]
|
if (a.id === id) {
|
return a.name
|
} else {
|
if (a.childAreasList && a.childAreasList.length > 0) {
|
let res = _this.getTreeName(a.childAreasList, id)
|
if (res) {
|
return res
|
}
|
}
|
}
|
}
|
},
|
openInfo(type) {
|
if (type === 1) {
|
this.htmlVal = this.insurance.lpYggxFileInfo
|
} else if (type === 2) {
|
this.htmlVal = this.insurance.lpMzFileInfo
|
} else if (type === 3) {
|
this.htmlVal = this.insurance.lpZyFileInfo
|
} else if (type === 4) {
|
this.htmlVal = this.insurance.lpScFileInfo
|
} else if (type === 5) {
|
this.htmlVal = this.insurance.lpYggxFileInfo
|
}
|
this.show6 = true
|
},
|
confirm4(e) {
|
this.minDate = this.dateToTimestamp(e.value[0].parentStartTime)
|
this.maxDate = this.dateToTimestamp(e.value[0].parentEndTime)
|
this.date = this.dateToTimestamp(e.value[0].parentStartTime)
|
this.model.solutionId = e.value[0].solutionId
|
this.model.solutionName = e.value[0].solutionName
|
this.model.duId = e.value[0].duId
|
this.model.duName = e.value[0].duName
|
this.model.worktypeId = e.value[0].worktypeId
|
this.model.worktypeName = e.value[0].worktypeName
|
this.model.applyDetailId = e.value[0].id
|
this.model.insuranceApplyId = e.value[0].applyId
|
this.scheme = e.value[0]
|
this.getInsuranceFile(e.value[0])
|
this.show5 = false
|
},
|
confirm3(e) {
|
this.model.memberId = e.value[0].id
|
this.model.memberName = e.value[0].label
|
this.model.solutionId = ''
|
this.model.solutionName = ''
|
this.model.duId = ''
|
this.model.duName = ''
|
this.model.worktypeId = ''
|
this.model.worktypeName = ''
|
this.model.applyDetailId = ''
|
this.model.insuranceApplyId = ''
|
this.show4 = false
|
},
|
confirm2(e) {
|
let info = ''
|
e.value.forEach(item => {
|
info += this.getTreeName(this.area, item.id)
|
})
|
this.model.areaId = e.value.map(item => item.id).join(',')
|
this.model.areaInfo = info
|
this.show3 = false
|
},
|
confirm1(e) {
|
this.model.type = e.value[0].id
|
this.model.typeName = e.value[0].name
|
this.show2 = false
|
},
|
confirm(e) {
|
this.model.happenTime = uni.$u.timeFormat(e.value, 'yyyy-mm-dd hh:MM:ss');
|
this.show1 = false
|
}
|
}
|
}
|
</script>
|
<style>
|
page {
|
background-color: #f7f7f7;
|
}
|
</style>
|
<style lang="scss" scoped>
|
.box {
|
width: 100%;
|
.info {
|
width: 100%;
|
padding: 30rpx;
|
box-sizing: border-box;
|
.info_title {
|
width: 100%;
|
text-align: center;
|
font-weight: 500;
|
font-size: 30rpx;
|
color: #222222;
|
}
|
.info_content {
|
width: 100%;
|
font-weight: 400;
|
font-size: 26rpx;
|
color: #333333;
|
margin-top: 40rpx;
|
}
|
.info_btn {
|
width: 100%;
|
height: 88rpx;
|
margin-top: 80rpx;
|
}
|
}
|
.box_success {
|
width: 100%;
|
margin-top: 80rpx;
|
display: flex;
|
flex-direction: column;
|
align-items: center;
|
justify-content: center;
|
.box_success_icon {
|
width: 180rpx;
|
height: 180rpx;
|
image {
|
width: 100%;
|
height: 100%;
|
}
|
}
|
.box_success_title {
|
font-weight: 500;
|
font-size: 36rpx;
|
color: #220000;
|
margin-top: 32rpx;
|
}
|
.box_success_info {
|
font-weight: 400;
|
font-size: 26rpx;
|
color: #999999;
|
margin-top: 20rpx;
|
}
|
.box_success_btns {
|
display: flex;
|
align-items: center;
|
margin-top: 76rpx;
|
}
|
}
|
.box_up {
|
width: 100%;
|
.box_up_head {
|
width: 100%;
|
padding: 36rpx 30rpx;
|
box-sizing: border-box;
|
background: rgba(255,151,29,0.1);
|
.box_up_head_title {
|
width: 100%;
|
display: flex;
|
align-items: center;
|
margin-bottom: 16rpx;
|
text {
|
font-weight: 500;
|
font-size: 30rpx;
|
color: #222222;
|
margin-left: 8rpx;
|
}
|
}
|
.box_up_head_info {
|
width: 100%;
|
display: flex;
|
flex-direction: column;
|
text {
|
font-weight: 400;
|
font-size: 26rpx;
|
color: #222222;
|
}
|
}
|
}
|
.box_up_title {
|
width: 100%;
|
height: 104rpx;
|
padding: 0 30rpx;
|
box-sizing: border-box;
|
display: flex;
|
align-items: center;
|
justify-content: space-between;
|
text {
|
font-weight: 500;
|
font-size: 32rpx;
|
color: #222222;
|
}
|
.box_up_title_downlod {
|
display: flex;
|
align-items: center;
|
text {
|
font-weight: 400;
|
font-size: 26rpx;
|
color: #437CB3;
|
margin-right: 10rpx;
|
}
|
image {
|
width: 28rpx;
|
height: 24rpx;
|
}
|
}
|
}
|
.box_up_list {
|
width: 100%;
|
padding: 0 30rpx;
|
box-sizing: border-box;
|
.box_up_list_row {
|
width: 100%;
|
padding: 30rpx;
|
border-radius: 16rpx;
|
box-sizing: border-box;
|
background-color: #ffffff;
|
margin-bottom: 20rpx;
|
&:last-child {
|
margin: 0;
|
}
|
.box_up_list_row_title {
|
width: 100%;
|
display: flex;
|
align-items: center;
|
justify-content: space-between;
|
margin-bottom: 30rpx;
|
text {
|
font-weight: 500;
|
font-size: 32rpx;
|
color: #222222;
|
}
|
.box_up_list_row_title_icon {
|
display: flex;
|
align-items: center;
|
image {
|
width: 28rpx;
|
height: 28rpx;
|
margin-right: 8rpx;
|
}
|
text {
|
font-weight: 400;
|
font-size: 26rpx;
|
color: #437CB3;
|
}
|
}
|
}
|
.meade {
|
width: 100%;
|
display: flex;
|
align-items: center;
|
justify-content: space-around;
|
flex-wrap: wrap;
|
.meade_zw {
|
width: 140rpx;
|
height: 0;
|
}
|
.meade_content {
|
width: 140rpx;
|
height: 140rpx;
|
display: flex;
|
align-items: center;
|
justify-content: center;
|
overflow: hidden;
|
position: relative;
|
.video {
|
width: 100%;
|
}
|
.dele {
|
width: 50rpx;
|
height: 50rpx;
|
position: absolute;
|
top: 0;
|
right: 0;
|
z-index: 9;
|
}
|
.image {
|
width: 100%;
|
}
|
}
|
.meade_upload {
|
width: 140rpx;
|
height: 140rpx;
|
background: #FFFFFF;
|
border-radius: 8rpx;
|
border: 1rpx solid #E5E5E5;
|
display: flex;
|
flex-direction: column;
|
align-items: center;
|
justify-content: center;
|
text {
|
font-weight: 400;
|
font-size: 24rpx;
|
color: #666666;
|
font-style: normal;
|
margin-top: 5rpx;
|
}
|
}
|
}
|
}
|
}
|
.box_up_hz {
|
width: 100%;
|
padding: 30rpx;
|
box-sizing: border-box;
|
.box_list {
|
width: 100%;
|
padding: 30rpx;
|
box-sizing: border-box;
|
border-radius: 16rpx;
|
box-sizing: border-box;
|
background-color: #ffffff;
|
margin-bottom: 20rpx;
|
&:last-child {
|
margin: 0 !important;
|
}
|
.box_list_Label {
|
font-weight: 500;
|
font-size: 32rpx;
|
color: #222222;
|
font-style: normal;
|
}
|
.box_list_from {
|
width: 100%;
|
margin-top: 30rpx;
|
}
|
}
|
}
|
}
|
.box_status {
|
width: 100%;
|
height: 176rpx;
|
background: #FFFFFF;
|
display: flex;
|
align-items: center;
|
justify-content: space-between;
|
.box_status_row {
|
width: 100%;
|
height: 100%;
|
display: flex;
|
align-items: center;
|
justify-content: center;
|
flex-direction: column;
|
position: relative;
|
.bgColor {
|
border-bottom: 3rpx dashed #437CB3 !important;
|
}
|
.box_status_row_x {
|
position: absolute;
|
right: -100rpx;
|
top: 60rpx;
|
width: 100%;
|
height: 5rpx;
|
border-bottom: 3rpx dashed #D2D2D2;
|
}
|
.active {
|
background: #437CB3 !important;
|
text {
|
color: #FFFFFF !important;
|
}
|
}
|
.activeFont {
|
color: #437CB3 !important;
|
}
|
.guo {
|
background: #FFFFFF !important;
|
border: 2rpx solid #437CB3 !important;
|
box-sizing: border-box;
|
}
|
.box_status_row_num {
|
width: 64rpx;
|
height: 64rpx;
|
display: flex;
|
align-items: center;
|
justify-content: center;
|
border-radius: 50%;
|
background: #E5E5E5;
|
position: relative;
|
z-index: 9;
|
text {
|
font-weight: 500;
|
font-size: 32rpx;
|
color: #666666;
|
}
|
}
|
.box_status_row_text {
|
font-weight: 400;
|
font-size: 26rpx;
|
color: #666666;
|
margin-top: 16rpx;
|
}
|
}
|
}
|
.box_footer {
|
width: 100%;
|
height: calc(108rpx + env(safe-area-inset-bottom));
|
margin-top: 40rpx;
|
position: fixed;
|
z-index: 9;
|
bottom: 0;
|
left: 0;
|
background-color: #ffffff;
|
.box_footer_btns {
|
width: 100%;
|
box-sizing: border-box;
|
padding: 10rpx 30rpx;
|
display: flex;
|
align-items: center;
|
justify-content: space-between;
|
.box_footer_btns_1 {
|
width: 350rpx;
|
height: 100%;
|
}
|
}
|
}
|
.box_hz {
|
width: 100%;
|
padding: 30rpx;
|
box-sizing: border-box;
|
background-color: #f7f7f7;
|
.box_list {
|
width: 100%;
|
padding: 30rpx;
|
border-radius: 16rpx;
|
box-sizing: border-box;
|
background-color: #ffffff;
|
margin-bottom: 20rpx;
|
&:last-child {
|
margin: 0 !important;
|
}
|
.box_list_Label {
|
font-weight: 500;
|
font-size: 32rpx;
|
color: #222222;
|
font-style: normal;
|
}
|
.box_list_from /deep/ {
|
width: 100%;
|
margin-top: 30rpx;
|
.faList {
|
width: 100%;
|
padding: 20rpx;
|
box-sizing: border-box;
|
margin-top: 20rpx;
|
background: rgba(67,124,179,0.1);
|
border-radius: 8rpx;
|
display: flex;
|
flex-direction: column;
|
text {
|
font-weight: 400;
|
font-size: 24rpx;
|
color: #333333;
|
margin-bottom: 12rpx;
|
&:last-child {
|
margin: 0 !important;
|
}
|
}
|
}
|
.u-textarea {
|
padding: 9px 0 !important;
|
}
|
.box_list_data {
|
width: 100%;
|
max-height: 400rpx;
|
margin-top: 10rpx;
|
.box_list_data_item {
|
width: 100%;
|
height: 80rpx;
|
padding: 0 20rpx;
|
box-sizing: border-box;
|
line-height: 80rpx;
|
border-bottom: 1px solid #dfdfdf;
|
&:last-child {
|
border: none;
|
}
|
}
|
}
|
.meade {
|
width: 100%;
|
display: flex;
|
align-items: center;
|
justify-content: space-around;
|
flex-wrap: wrap;
|
.meade_zw {
|
width: 140rpx;
|
height: 0;
|
}
|
.meade_content {
|
width: 140rpx;
|
height: 140rpx;
|
display: flex;
|
align-items: center;
|
justify-content: center;
|
overflow: hidden;
|
position: relative;
|
.video {
|
width: 100%;
|
}
|
.dele {
|
width: 50rpx;
|
height: 50rpx;
|
position: absolute;
|
top: 0;
|
right: 0;
|
z-index: 9;
|
}
|
.image {
|
width: 100%;
|
}
|
}
|
.meade_upload {
|
width: 140rpx;
|
height: 140rpx;
|
background: #FFFFFF;
|
border-radius: 8rpx;
|
border: 1rpx solid #E5E5E5;
|
display: flex;
|
flex-direction: column;
|
align-items: center;
|
justify-content: center;
|
text {
|
font-weight: 400;
|
font-size: 24rpx;
|
color: #666666;
|
font-style: normal;
|
margin-top: 5rpx;
|
}
|
}
|
}
|
.list {
|
width: 100%;
|
display: flex;
|
align-content: center;
|
margin-top: 24rpx;
|
.active {
|
background: #437CB3 !important;
|
color: #FFFFFF !important;
|
}
|
.list_item {
|
width: 92rpx;
|
height: 64rpx;
|
line-height: 64rpx;
|
text-align: center;
|
background: #F7F7F7;
|
border-radius: 4rpx;
|
font-weight: 400;
|
font-size: 28rpx;
|
color: #333333;
|
font-style: normal;
|
margin-right: 20rpx;
|
}
|
}
|
}
|
}
|
}
|
}
|
</style>
|