MrShi
2025-04-11 3a45da15c947c2d478a44a51bd0f926647b1b841
company/src/components/business/OperaSettleClaimsWindow.vue
@@ -1,29 +1,41 @@
<template>
    <GlobalWindow
        :title="title"
        width="80%"
        width="100%"
        :visible.sync="visible"
        :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">
                        报案日期:2015-10-03 10:15:22
                    <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">
                        报案号:214141241241
                        报案号:{{ 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" @click="visible1 = true">添加报案号</el-button>
                    <el-button type="primary" @click="visible2 = true">理赔处理</el-button>
                    <el-button type="primary" @click="visible4 = true">结案提交</el-button>
                    <el-button type="danger" @click="visible3 = true">撤销申请</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">
@@ -32,7 +44,7 @@
                        出险人姓名:
                    </div>
                    <div class="desc_list_item_val">
                        吴三万
                      {{model.memberName}}
                    </div>
                </div>
                <div class="desc_list_item">
@@ -40,24 +52,24 @@
                        出险人身份证号:
                    </div>
                    <div class="desc_list_item_val">
                        320224403660011111
                      {{ model.memberIdcardNo }}
                    </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">
                        2015-10-02 10:15:22
                    <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);">
                        11121624116241
                        <el-button type="primary" style="margin-left: 10px;">查看保险单</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">
@@ -65,7 +77,7 @@
                        保险生效起期:
                    </div>
                    <div class="desc_list_item_val">
                        2015-10-02 10:15:22
                      {{ model.baoxianStartTime }}
                    </div>
                </div>
                <div class="desc_list_item">
@@ -73,7 +85,7 @@
                        保险生效止期:
                    </div>
                    <div class="desc_list_item_val">
                        2015-10-02 10:15:22
                      {{ model.baoxianEndTime }}
                    </div>
                </div>
                <div class="desc_list_item">
@@ -81,7 +93,7 @@
                        派遣单位:
                    </div>
                    <div class="desc_list_item_val">
                        芜湖格力精密制造有限公司
                      {{ model.duName }}
                    </div>
                </div>
                <div class="desc_list_item">
@@ -89,7 +101,7 @@
                        所属工种:
                    </div>
                    <div class="desc_list_item_val">
                        4类机械加工
                      {{ model.worktypeName }}
                    </div>
                </div>
                <div class="desc_list_item">
@@ -97,39 +109,39 @@
                        就诊医疗机构:
                    </div>
                    <div class="desc_list_item_val">
                        安徽省人民医院
                      {{ model.hospital }}
                    </div>
                </div>
                <div class="desc_list_item">
                    <div class="desc_list_item_label">
                        事故类型:
                    </div>
                    <div class="desc_list_item_val">
                        工作期间受伤
                    </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">
                    <div class="desc_list_item_label">
                        是否住院:
                    </div>
                    <div class="desc_list_item_val">
                        否
                        <div class="desc_list_item_val"  v-if="model.inHospital === 0">是</div>
                        <div class="desc_list_item_val"  v-else>否</div>
                    </div>
                </div>
                <div class="desc_list_item">
                    <div class="desc_list_item_label">
                        是否有医疗保险:
                    </div>
                    <div class="desc_list_item_val">
                        否
                    </div>
                    <div class="desc_list_item_val">{{ model.medicalInsurance ===0?"是":"否" }}</div>
                </div>
                <div class="desc_list_item">
                    <div class="desc_list_item_label">
                        出险地区:
                    </div>
                    <div class="desc_list_item_val">
                        安徽省合肥市
                      {{model.areaInfo}}
                    </div>
                </div>
                <div class="desc_list_item">
@@ -137,37 +149,32 @@
                        报案人姓名:
                    </div>
                    <div class="desc_list_item_val">
                        王林
                      {{model.informantName}}
                    </div>
                </div>
                <div class="desc_list_item">
                    <div class="desc_list_item_label">
                        报案人联系方式:
                    </div>
                    <div class="desc_list_item_val">
                        13355667788
                    </div>
                    <div class="desc_list_item_label"> 报案人联系方式:  </div>
                    <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">
                        2021年01月24日凌晨03点左右,员工周光磊在苏州工业园区长宏光电科技有限公司光电生产部光学膜裁切课车间,用手动叉车搬运原材料时,原材料掉落砸到右脚,凌晨3:30左右公司派专车送往苏州工业园区星湖医院就诊,为员工伤口进行包扎止血后,凌晨05:45转送至苏州瑞华骨科医院进一步治疗。
                    </div>
                    <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>
                <div class="desc_list_item" style="width: 100%;">
                    <div class="desc_list_item_label">
                        报案视频:
                    </div>
                    <div class="desc_list_item_videos">
                        <div class="desc_list_item_imgs_video">
                            <video src="blob:https://www.bilibili.com/f8718314-82c5-43d2-9b26-2c4d701b6bab"></video>
                        </div>
                        <div class="desc_list_item_imgs_video">
                            <video src="blob:https://www.bilibili.com/f8718314-82c5-43d2-9b26-2c4d701b6bab"></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>
                </div>
            </div>
            <div class="desc_xian"></div>
@@ -176,41 +183,50 @@
                    <span class="desc_label_left_title">
                        理赔资料
                    </span>
                    <span class="desc_label_left_time" style="color: black">
                        资料完成日期:2015-10-03 10:15:22
                    <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" @click="visible5 = true">备注标签</el-button>
                    <el-button type="primary" @click="submit">资料确认</el-button>
                    <el-button type="primary">资料下载</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">
                    <div class="desc_data_list_item" v-for="(item, index) in 2" :key="index">
                        <div class="desc_data_list_item_dele">删除</div>
                        <div class="desc_data_list_item_img">
                            <img src="@/assets/images/Galanz@2x.png" />
                    <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">
                          <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>考勤表.jpg</span>
                            <span>操作员-王某某</span>
                            <span>2023-05-22 10:10:11</span>
                          <span>{{ item.name }}</span>
                          <span>操作员-{{ item.creatorName }}</span>
                          <span>{{ item.createDate }}</span>
                        </div>
                    </div>
                    <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>
                    </template>
                  <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">
@@ -222,56 +238,141 @@
                        <el-tab-pane label="伤残" name="third"></el-tab-pane>
                    </el-tabs>
                </div>
                <div class="desc_data_list">
                    <div class="desc_data_list_item" v-for="(item, index) in 2" :key="index">
                        <div class="desc_data_list_item_dele">删除</div>
                        <div class="desc_data_list_item_img">
                            <img src="@/assets/images/Galanz@2x.png" />
                <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_info">
                            <span>考勤表.jpg</span>
                            <span>操作员-王某某</span>
                            <span>2023-05-22 10:10:11</span>
                        <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>
                        <span>{{ item.createDate }}</span>
                      </div>
                    </div>
                    <div class="desc_data_list_item">
                        <div class="desc_data_list_item_img" style="cursor: pointer; background: #8c939d;">
                            <i class="el-icon-plus"></i>
                  </template>
                  <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-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_upload">
                            <el-button type="primary">上传</el-button>
                            <el-button>取消</el-button>
                        <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>
                        <span>{{ item.createDate }}</span>
                      </div>
                    </div>
                    <div class="desc_data_list_item1"></div>
                    <div class="desc_data_list_item1"></div>
                  </template>
                  <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-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 == 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>
                        <span>{{ item.createDate }}</span>
                      </div>
                    </div>
                  </template>
                  <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">
                <div class="desc_data_label">3. 赔付结案资料</div>
                <div class="desc_data_list">
                    <div class="desc_data_list_item" v-for="(item, index) in 2" :key="index">
                        <div class="desc_data_list_item_dele">删除</div>
                        <div class="desc_data_list_item_img">
                            <img src="@/assets/images/Galanz@2x.png" />
                  <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_info">
                            <span>考勤表.jpg</span>
                            <span>操作员-王某某</span>
                            <span>2023-05-22 10:10:11</span>
                        <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>
                        <span>{{ item.createDate }}</span>
                      </div>
                    </div>
                    <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>
                  <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">
@@ -284,230 +385,222 @@
            <div class="desc_times">
                <el-timeline :reverse="reverse">
                    <el-timeline-item
                        v-for="(activity, index) in activities"
                        v-for="(activity, index) in activeLogList"
                        :key="index"
                        :timestamp="activity.timestamp">
                        {{activity.content}}
                      <div style="display: flex;  flex-direction: column;" v-if="activity.objType==3">
                                <span style="font-size: 16px; font-weight: bold; color: #0d5ada;">
                                    {{activity.title}}
                                      <span style="font-size: 16px; font-weight: bold; color: #0d5ada; margin-left: 10px;" >
                                      <span v-if=" model.ylClaimAccount &&  model.ylClaimAccount>0">医疗理赔{{ model.ylClaimAccount }}元;</span>
                                      <span v-if=" model.wgClaimAccount &&  model.wgClaimAccount>0">误工理赔{{ model.wgClaimAccount }}元;</span>
                                      <span v-if=" model.scClaimAccount &&  model.scClaimAccount>0">伤残理赔{{ model.scClaimAccount }}元;</span>
                                      <span v-if=" model.swClaimAccount &&  model.swClaimAccount>0">死亡理赔{{ model.swClaimAccount }}元;</span>
                                      理赔总额:{{ model.claimAccount }}元
                                    </span>
                                </span>
                                 <span style="margin-top: 5px; font-size: 12px; font-weight: 400; color: #999999;">
                                        {{activity.content}}
                                 </span>
                                 <span style="margin-top: 5px; font-size: 12px; font-weight: 400; color: #999999;">
                                    操作员-{{activity.creatorName}}({{(activity.creatorType == 1||activity.creatorType == 2)? activity.companyName: "平台端"}}){{activity.createDate}}
                                </span>
                      </div>
                      <div style="display: flex; flex-direction: column;" v-else>
                                <span style="font-size: 16px; font-weight: 400; color: black;">
                                    {{activity.title}}
                                    <span style="font-size: 16px; font-weight: 400; color: black; margin-left: 10px;" >
                                       {{activity.content}}
                                    </span>
                                </span>
                                 <span style="margin-top: 5px; font-size: 12px; font-weight: 400; color: #999999;">
                                    操作员-{{activity.creatorName}}({{(activity.creatorType == 1||activity.creatorType == 2)? activity.companyName: "平台端"}}){{activity.createDate}}
                                </span>
                      </div>
                    </el-timeline-item>
                </el-timeline>
            </div>
        </div>
        <el-dialog
            title="添加报案号"
            :visible.sync="visible1"
            :show-close="false"
            :close-on-click-modal="false"
            width="30%"
            center>
            <div class="form">
                <div class="form_item">
                    <div class="form_item_label">
                        <span>*</span>报案号:
                    </div>
                    <div class="form_item_val">
                        <input type="text" placeholder="请输入">
                    </div>
                </div>
            </div>
            <span slot="footer" class="dialog-footer">
                <el-button @click="visible1 = false">取 消</el-button>
                <el-button type="primary" @click="visible1 = false">确 定</el-button>
            </span>
        </el-dialog>
        <el-dialog
            title="理赔处理"
            :visible.sync="visible2"
            :show-close="false"
            :close-on-click-modal="false"
            width="30%"
            center>
            <div class="form">
                <div class="form_item">
                    <div class="form_item_label">
                        <span>*</span>处理进展:
                    </div>
                    <div class="form_item_val">
                        <textarea placeholder="请输入"></textarea>
                    </div>
                </div>
            </div>
            <span slot="footer" class="dialog-footer">
                <el-button @click="visible2 = false">取 消</el-button>
                <el-button type="primary" @click="visible2 = false">确 定</el-button>
            </span>
        </el-dialog>
        <el-dialog
            title="撤销申请"
            :visible.sync="visible3"
            :show-close="false"
            :close-on-click-modal="false"
            width="30%"
            center>
            <div class="form">
                <div class="form_item">
                    <div class="form_item_label">
                        <span>*</span>填写撤销说明:
                    </div>
                    <div class="form_item_val">
                        <textarea placeholder="请输入"></textarea>
                    </div>
                </div>
            </div>
            <span slot="footer" class="dialog-footer">
                <el-button @click="visible3 = false">取 消</el-button>
                <el-button type="primary" @click="visible3 = false">确 定</el-button>
            </span>
        </el-dialog>
        <el-dialog
            title="理赔结案"
            :visible.sync="visible4"
            :show-close="false"
            :close-on-click-modal="false"
            width="30%"
            center>
            <div class="form">
                <div class="form_item">
                    <div class="form_item_label">
                        <span>*</span>结案内容:
                    </div>
                    <div class="form_item_val">
                        <textarea placeholder="请输入"></textarea>
                    </div>
                </div>
                <div class="form_item">
                    <div class="form_item_label">
                        <span>*</span>理赔费用:
                    </div>
                    <div class="form_item_val">
                        <el-table
                            :data="tableData"
                            border
                            style="width: 100%">
                            <el-table-column
                                prop="date"
                                label="医疗理赔">
                            </el-table-column>
                            <el-table-column
                                prop="name"
                                label="误工理赔">
                            </el-table-column>
                            <el-table-column
                                prop="address"
                                label="伤残理赔">
                            </el-table-column>
                            <el-table-column
                                prop="address"
                                label="死亡理赔">
                            </el-table-column>
                            <el-table-column
                                prop="address"
                                label="理赔总额">
                            </el-table-column>
                        </el-table>
                    </div>
                </div>
            </div>
            <span slot="footer" class="dialog-footer">
                <el-button @click="visible4 = false">取 消</el-button>
                <el-button type="primary" @click="visible4 = false">确 定</el-button>
            </span>
        </el-dialog>
        <el-dialog
            title="备注标签"
            :visible.sync="visible5"
            :show-close="false"
            :close-on-click-modal="false"
            width="30%"
            center>
            <div class="form">
                <div class="form_span">
                    <span>理赔员-王林  2023-11-11 10:33:12</span>
                    <span>李福贤 右中指远节指骨骨折打包处理5000(含医疗误工 伤)免鉴定和认定可以吗?</span>
                </div>
                <div class="form_span">
                    <span>理赔员-李某  2023-11-11 10:33:12</span>
                    <span>理赔试着申请下 需提供检查报告单 原件寄保司</span>
                </div>
                <div class="form_item">
                    <div class="form_item_label">
                        <span>*</span>填写撤销说明:
                    </div>
                    <div class="form_item_val">
                        <textarea placeholder="请输入"></textarea>
                    </div>
                </div>
            </div>
            <span slot="footer" class="dialog-footer">
                <el-button @click="visible5 = false">取 消</el-button>
                <el-button type="primary" @click="visible5 = false">添 加</el-button>
            </span>
        </el-dialog>
      <template v-slot:footer>
        <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 BaseOpera from '@/components/base/BaseOpera'
    import GlobalWindow from '@/components/common/GlobalWindow'
    export default {
        name: 'OperaSettleClaimsWindow',
        extends: BaseOpera,
        components: { GlobalWindow },
        data () {
            return {
                // 表单数据
                form: {
                    id: null,
                },
                // 验证规则
                rules: {
                },
                activeName: 'first',
                reverse: true,
                activities: [
                    {
                        content: '提交报案申请\n' +
                            '\n' +
                            '\n' +
                            '提交意见:-',
                        timestamp: '操作员-张伟(安徽平安人力资源有限公司)\n' +
                            '\n' +
                            '2023-09-11 00:00:00'
                    }
                ],
                tableData: [],
                visible1: false,
                visible2: false,
                visible3: false,
                visible4: false,
                visible5: false
            }
        },
        created () {
            this.config({
                api: '/business/settleClaims',
                'field.id': 'id'
            })
        },
        methods: {
            handleClick(tab, event) {
                console.log(tab, event);
            },
            submit() {
                this.$confirm('理赔材料收集完成,请及时提交保险公司!', '资料收集完成', {
                    confirmButtonText: '提交',
                    cancelButtonText: '取消',
                    type: 'warning'
                }).then(() => {
                    this.$message({
                        type: 'success',
                        message: '提交成功!'
                    });
                }).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 {
@@ -599,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 {
@@ -640,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%;
                        }
                    }
                }
@@ -678,7 +779,6 @@
                display: flex;
                align-items: center;
                flex-wrap: wrap;
                justify-content: space-between;
                .desc_data_list_item1 {
                    width: 24.5%;
                }
@@ -692,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;
@@ -715,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 {
@@ -730,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;
                            }