MrShi
2025-05-22 bdc2636a9d8f80b77123a827bda740354ba884a0
company/src/components/business/OperaSettleClaimsWindow.vue
@@ -2,773 +2,593 @@
    <GlobalWindow
        :title="title"
        width="100%"
        :withFooter="false"
        :visible.sync="visible"
        :confirm-working="isWorking"
        @confirm="confirm"
    >
        <div class="desc">
            <div class="desc_label">
                <div class="desc_label_left">
                    <span class="desc_label_left_title">
                        报案详情
                    </span>
                    <span class="desc_label_left_time">
                        报案日期:{{ model.createDate }}
                    </span>
                    <span class="desc_label_left_code">
                        报案号:{{ model.reportNum }}
                    </span>
                </div>
                <div class="desc_label_right">
                    <el-button type="primary"  v-if="model.status !=1 && model.status !=4" @click="$refs.operaInsuranceApplyCheckWindow.open('添加报案号',model,remarkLogList,1)">添加报案号</el-button>
                    <el-button type="primary"  v-if="model.status !=1 && model.status !=4"  @click="$refs.operaInsuranceApplyCheckWindow.open('理赔处理',model,remarkLogList,2)">理赔处理</el-button>
                    <el-button type="primary" v-if="model.status !=1 && model.status !=4"  @click="$refs.operaInsuranceApplyCheckWindow.open('结案提交',model,remarkLogList,4)">结案提交</el-button>
                    <el-button type="danger"  v-if="model.status !=1 && model.status !=4" @click="$refs.operaInsuranceApplyCheckWindow.open('撤销申请',model,remarkLogList,3)">撤销申请</el-button>
        <div class="box">
            <div class="box_status">
                <div class="box_status_row" v-for="(item, index) in statusList" :key="index">
                    <div v-if="statusList.length - 1 !== index" :class="item.date ? 'box_status_row_xian statusColor2' : 'box_status_row_xian'"></div>
                        <div :class="item.date ? 'box_status_row_icon statusColor1' : statusList[index - 1].date ? 'box_status_row_icon statusColor2 statusColor3' : 'box_status_row_icon'">
                        <span v-if="!item.date">{{index + 1}}</span>
                        <i class="el-icon-check" v-else></i>
                    </div>
                    <div class="box_status_row_info">
                        <div class="title">{{item.name}}</div>
                        <div class="info" v-if="item.info">{{item.info}}</div>
                        <div class="info" v-if="item.date">{{item.date}}</div>
                    </div>
                </div>
            </div>
            <div class="desc_list">
                <div class="desc_list_item">
                    <div class="desc_list_item_label">
                        出险人姓名:
            <div class="box_desc">
                <div class="box_desc_head">
                    <div class="box_desc_title">
                        <span class="box_desc_title_val">报案详情</span>
                    </div>
                    <div class="desc_list_item_val">
                      {{model.memberName}}
                    </div>
                </div>
                <div class="desc_list_item">
                    <div class="desc_list_item_label">
                        出险人身份证号:
                    </div>
                    <div class="desc_list_item_val">
                      {{ model.memberIdcardNo }}
                    </div>
                </div>
                <div class="desc_list_item">
                    <div class="desc_list_item_label">
                        事故发生时间:
                    </div>
                    <div class="desc_list_item_val">
                      {{ model.createDate }}
                    </div>
                </div>
                <div class="desc_list_item">
                    <div class="desc_list_item_label">
                        所属保单号:
                    </div>
                    <div class="desc_list_item_val" style="cursor: pointer; color: rgba(39, 157, 255, 0.968627450980392);">
                      {{ model.applyCode }}
                        <el-button v-if="model.baoxiandanFile && model.baoxiandanFile.fileurlFull" type="primary" style="margin-left: 10px;" @click="openBaoxiandan">查看保险单</el-button>
                    </div>
                </div>
                <div class="desc_list_item">
                    <div class="desc_list_item_label">
                        保险生效起期:
                    </div>
                    <div class="desc_list_item_val">
                      {{ model.baoxianStartTime }}
                    </div>
                </div>
                <div class="desc_list_item">
                    <div class="desc_list_item_label">
                        保险生效止期:
                    </div>
                    <div class="desc_list_item_val">
                      {{ model.baoxianEndTime }}
                    </div>
                </div>
                <div class="desc_list_item">
                    <div class="desc_list_item_label">
                        派遣单位:
                    </div>
                    <div class="desc_list_item_val">
                      {{ model.duName }}
                    </div>
                </div>
                <div class="desc_list_item">
                    <div class="desc_list_item_label">
                        所属工种:
                    </div>
                    <div class="desc_list_item_val">
                      {{ model.worktypeName }}
                    </div>
                </div>
                <div class="desc_list_item">
                    <div class="desc_list_item_label">
                        就诊医疗机构:
                    </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"  v-if="model.medicalInsurance ===1">上下班途中受伤</div>
                    <div class="desc_list_item_val" v-else-if="model.medicalInsurance ===2">非工作时间受伤</div>
                    <div class="desc_list_item_val"  v-else-if="model.medicalInsurance ===3">意外受</div>
                    <div class="desc_list_item_val"  v-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 ===1">是</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">{{ model.medicalInsurance ===1?"是":"否" }}</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">
                    <div class="desc_list_item_label">
                        报案人姓名:
                    </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">  {{model.informantPhone}} </div>
                </div>
                <div class="desc_list_item" style="width: 100%;">
                    <div class="desc_list_item_label"> 事故描述: </div>
                    <div class="desc_list_item_val">{{model.content}}</div>
                </div>
                <div class="desc_list_item" style="width: 100%;">
                    <div class="desc_list_item_label">
                        报案视频:
                    </div>
                    <div v-if="model.reportFileList && model.reportFileList.length>0" class="desc_list_item_videos">
                        <div class="desc_list_item_imgs_video"   v-for="(item, index) in reportFileList" :key="index">
                            <video src="${item.fileurlFull}"></video>
                    <div class="box_desc_btns">
                        <el-button type="danger" @click="show = true">退回</el-button>
                        <el-button type="primary">立案</el-button>
                        <el-button icon="el-icon-refresh-left" type="primary" circle></el-button>
                        <div class="box_desc_btns_operate">
                            <i class="el-icon-arrow-down"></i>
                            <span>收起</span>
                        </div>
                    </div>
                    <div v-else class="desc_list_item_videos">-</div>
                </div>
                <div class="box_desc_list">
                    <div class="box_desc_list_row">
                        报案时间:2024-09-12 03:50
                    </div>
                    <div class="box_desc_list_row">
                        报案号:YYBLP-2025010101
                    </div>
                    <div class="box_desc_list_row">
                        所属保单:2984719842130 <el-button type="text">下载保单</el-button>
                    </div>
                    <div class="box_desc_list_row">
                        报案人:尹晓凤
                    </div>
                    <div class="box_desc_list_row">
                        报案人联系方式:15556970338
                    </div>
                    <div class="box_desc_list_row">
                        保司报案号:-
                    </div>
                </div>
            </div>
            <div class="desc_xian"></div>
            <div class="desc_label">
                <div class="desc_label_left">
                    <span class="desc_label_left_title">
                        理赔资料
                    </span>
                    <span v-if="doneFileDate!=null" class="desc_label_left_time" style="color: black">
                        资料完成日期:{{doneFileDate}}
                    </span>
            <div class="box_fx">
                <div class="box_fx_left">
                    <i class="el-icon-warning"></i>
                    <span class="box_fx_left_a">注意,该案件有5条风险信息</span>
                    <span class="box_fx_left_b">查看详情</span>
                </div>
                <div class="desc_label_right">
                    <el-button type="primary"  v-if="model.status !=1 && model.status !=4"  @click="$refs.operaInsuranceApplyCheckWindow.open('备注标签',model,remarkLogList,5)">备注标签</el-button>
                    <el-button type="primary"  v-if="model.status !=1 && model.status !=4" @click="submit(0)">资料确认</el-button>
                    <el-button type="primary"  @click="submit(1)">资料下载</el-button>
                <i class="el-icon-close"></i>
            </div>
            <div class="box_desc">
                <div class="box_desc_head">
                    <div class="box_desc_title">
                        <span class="box_desc_title_val">出险人信息</span>
                    </div>
                    <div class="box_desc_btns">
                        <div class="box_desc_btns_operate">
                            <i class="el-icon-arrow-down"></i>
                            <span>收起</span>
                        </div>
                    </div>
                </div>
                <div class="box_desc_list">
                    <div class="box_desc_list_row">
                        出险人姓名:李静
                    </div>
                    <div class="box_desc_list_row">
                        出险人身份证号:340122200603251924
                    </div>
                    <div style="width: 33%; height: 0;"></div>
                </div>
                <div class="box_desc_head">
                    <div class="box_desc_title">
                        <span class="box_desc_title_val">保险方案</span>
                    </div>
                </div>
                <div class="box_desc_f">
                    <div class="box_desc_fa">
                        <div class="box_desc_fa_title">工伤意外险-B类</div>
                        <div class="box_desc_fa_row">保单号:20241225133229</div>
                        <div class="box_desc_fa_row">保障期限:2025-01-01~2025-12-31</div>
                        <div class="box_desc_fa_row">投保单位:XXX信息科技有限公司</div>
                        <div class="box_desc_fa_row">派遣单位:XXX信息科技有限公司</div>
                        <div class="box_desc_fa_row">所属工种:电子器械制造工</div>
                    </div>
                    <div class="box_desc_fa">
                        <div class="box_desc_fa_title">工伤意外险-B类</div>
                        <div class="box_desc_fa_row">保单号:20241225133229</div>
                        <div class="box_desc_fa_row">保障期限:2025-01-01~2025-12-31</div>
                        <div class="box_desc_fa_row">投保单位:XXX信息科技有限公司</div>
                        <div class="box_desc_fa_row">派遣单位:XXX信息科技有限公司</div>
                        <div class="box_desc_fa_row">所属工种:电子器械制造工</div>
                    </div>
                    <div style="width: 32%; height: 0;"></div>
                </div>
                <div class="box_desc_head">
                    <div class="box_desc_title">
                        <span class="box_desc_title_val">出险信息</span>
                    </div>
                </div>
                <div class="box_desc_list">
                    <div class="box_desc_list_row">
                        出险时间:2024-06-13 07:40:00
                    </div>
                    <div class="box_desc_list_row">
                        就诊医疗机构:合肥第二人民医院
                    </div>
                    <div class="box_desc_list_row">
                        出现地区:安徽省合肥市肥东县
                    </div>
                    <div class="box_desc_list_row" style="width: 100%;">
                        出险经过:上班时间骑车被撞。头部遭到撞击CT还没出来, 脚踝还有左边大腿外侧严重擦伤。
                    </div>
                    <div class="box_desc_list_row">
                        事故类型:上下班途中受伤
                    </div>
                    <div class="box_desc_list_row">
                        是否住院:是
                    </div>
                    <div class="box_desc_list_row">
                        是否有医疗保险:是
                    </div>
                    <div class="box_desc_list_row" style="width: 100%;">
                        就诊类型:住院
                    </div>
                    <div class="box_desc_list_img">
                        <span>事故视频/照片:</span>
                        <div class="box_desc_list_img_files">
                            <div class="box_desc_list_img_files_row">
                                <img src="" alt="" />
                            </div>
                        </div>
                    </div>
                </div>
            </div>
            <div class="desc_data">
                <div class="desc_data_label">1. 员工关系证明资料</div>
                <div class="desc_data_list">
                    <template v-if="model.relationFileList && model.relationFileList">
                      <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_info">
                          <span>{{ item.name }}</span>
                          <span>操作员-{{ item.creatorName }}</span>
                          <span>{{ item.createDate }}</span>
                        </div>
                      </div>
                    </template>
                    <div class="desc_data_list_item">
                      <UploadFileCommon :uploadData="{ folder: 'settle' }" :file="file1" @uploadSuccess="file1Uploaded()" />
                      <div class="desc_data_list_item_upload">
                            <el-button type="primary">上传</el-button>
                            <el-button>取消</el-button>
            <div class="box_desc">
                <div class="box_desc_head">
                    <div class="box_desc_title">
                        <span class="box_desc_title_val">理赔材料</span>
                    </div>
                    <div class="box_desc_btns">
                        <div class="box_desc_btns_operate">
                            <i class="el-icon-arrow-down"></i>
                            <span>收起</span>
                        </div>
                    </div>
                    <div class="desc_data_list_item1"></div>
                    <div class="desc_data_list_item1"></div>
                </div>
            </div>
            <div class="desc_data">
                <div class="desc_data_label">2. 医疗资料</div>
                <div class="desc_data_cate">
                    <el-tabs v-model="activeName"  @tab-click="handleClick">
                        <el-tab-pane label="门诊" name="first"></el-tab-pane>
                        <el-tab-pane label="住院资料" name="second"></el-tab-pane>
                        <el-tab-pane label="伤残" name="third"></el-tab-pane>
                    </el-tabs>
                <div class="box_desc_cailiao">
                    <div class="box_desc_cailiao_title">
                        <div class="box_desc_cailiao_title_x"></div>
                        <span>员工关系证明材料</span>
                    </div>
                    <div class="box_desc_cailiao_list">
                        <div class="box_desc_cailiao_list_img" v-for="(item, index) in 3" :key="index">
                            <img src="" alt="" />
                        </div>
                    </div>
                </div>
                <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>{{ item.name }}</span>
                        <span>操作员-{{ item.creatorName }}</span>
                        <span>{{ item.createDate }}</span>
                      </div>
                <div class="box_desc_cailiao">
                    <div class="box_desc_cailiao_title">
                        <div class="box_desc_cailiao_title_x"></div>
                        <span>门诊</span>
                    </div>
                  </template>
                    <div class="desc_data_list_item">
                        <div class="desc_data_list_item_img" style="cursor: pointer; background: #8c939d;">
                            <i class="el-icon-plus"></i>
                        </div>
                        <div class="desc_data_list_item_upload">
                            <el-button type="primary">上传</el-button>
                            <el-button>取消</el-button>
                    <div class="box_desc_cailiao_list">
                        <div class="box_desc_cailiao_list_img" v-for="(item, index) in 3" :key="index">
                            <img src="" alt="" />
                        </div>
                    </div>
                    <div class="desc_data_list_item1"></div>
                    <div class="desc_data_list_item1"></div>
                </div>
                <div class="desc_data_list" v-if="activeName=='second'">
                  <template v-if="model.outpatientFileList && model.outpatientFileList">
                    <div class="desc_data_list_item" v-for="(item, index) in model.outpatientFileList" :key="index">
                      <div class="desc_data_list_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>{{ item.name }}</span>
                        <span>操作员-{{ item.creatorName }}</span>
                        <span>{{ item.createDate }}</span>
                      </div>
                <div class="box_desc_cailiao">
                    <div class="box_desc_cailiao_title">
                        <div class="box_desc_cailiao_title_x"></div>
                        <span>住院</span>
                    </div>
                  </template>
                    <div class="desc_data_list_item">
                        <div class="desc_data_list_item_img" style="cursor: pointer; background: #8c939d;">
                            <i class="el-icon-plus"></i>
                        </div>
                        <div class="desc_data_list_item_upload">
                            <el-button type="primary">上传</el-button>
                            <el-button>取消</el-button>
                    <div class="box_desc_cailiao_list">
                        <div class="box_desc_cailiao_list_img" v-for="(item, index) in 3" :key="index">
                            <img src="" alt="" />
                        </div>
                    </div>
                    <div class="desc_data_list_item1"></div>
                    <div class="desc_data_list_item1"></div>
                </div>
                <div class="desc_data_list" v-if="activeName=='third'">
                  <template v-if="model.outpatientFileList && model.outpatientFileList">
                    <div class="desc_data_list_item" v-for="(item, index) in model.outpatientFileList" :key="index">
                      <div class="desc_data_list_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>{{ item.name }}</span>
                        <span>操作员-{{ item.creatorName }}</span>
                        <span>{{ item.createDate }}</span>
                      </div>
                <div class="box_desc_cailiao">
                    <div class="box_desc_cailiao_title">
                        <div class="box_desc_cailiao_title_x"></div>
                        <span>伤残</span>
                    </div>
                  </template>
                    <div class="desc_data_list_item">
                      <UploadFileCommon :uploadData="{ folder: 'apply',fileType:'.pdf' }" :fileList="form.fileList1" @uploadSuccess="baoxianFileUploaded" />
<!--                      <div class="desc_data_list_item_img" style="cursor: pointer; background: #8c939d;">
                            <i class="el-icon-plus"></i>
                        </div>-->
                        <div class="desc_data_list_item_upload">
                            <el-button type="primary">上传</el-button>
                            <el-button>取消</el-button>
                    <div class="box_desc_cailiao_list">
                        <div class="box_desc_cailiao_list_img" v-for="(item, index) in 3" :key="index">
                            <img src="" alt="" />
                        </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">
                  <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>{{ item.name }}</span>
                        <span>操作员-{{ item.creatorName }}</span>
                        <span>{{ item.createDate }}</span>
                      </div>
                <div class="box_desc_cailiao">
                    <div class="box_desc_cailiao_title">
                        <div class="box_desc_cailiao_title_x"></div>
                        <span>其他材料</span>
                    </div>
                  </template>
                    <div class="desc_data_list_item">
                        <div class="desc_data_list_item_img" style="cursor: pointer; background: #8c939d;">
                            <i class="el-icon-plus"></i>
                        </div>
                        <div class="desc_data_list_item_upload">
                            <el-button type="primary">上传</el-button>
                            <el-button>取消</el-button>
                    <div class="box_desc_cailiao_list">
                        <div class="box_desc_cailiao_list_img" v-for="(item, index) in 3" :key="index">
                            <img src="" alt="" />
                        </div>
                    </div>
                    <div class="desc_data_list_item1"></div>
                    <div class="desc_data_list_item1"></div>
                </div>
            </div>
            <div class="desc_label">
                <div class="desc_label_left">
                    <span class="desc_label_left_title">
                        案件进度
                    </span>
                <div class="box_desc_cailiao">
                    <div class="box_desc_cailiao_title">
                        <div class="box_desc_cailiao_title_x"></div>
                        <span>补充材料</span>
                    </div>
                    <div class="box_desc_cailiao_list">
                        <div class="box_desc_cailiao_list_img" v-for="(item, index) in 3" :key="index">
                            <img src="" alt="" />
                        </div>
                    </div>
                </div>
            </div>
            <div class="desc_times">
                <el-timeline :reverse="reverse">
                    <el-timeline-item
                        v-for="(activity, index) in model.settleClaimsLogList"
                        :key="index"
                        :timestamp="activity.timestamp">
                      <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.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.companyName: "平台端"}}){{activity.createDate}}
                                </span>
                      </div>
                    </el-timeline-item>
                </el-timeline>
            </div>
        </div>
      <template v-slot:footer>
        <el-button @click="visible=false">返回</el-button>
      </template>
      <OperaSettleClaimsCheckWindow ref="operaInsuranceApplyCheckWindow"  @success="callback" />
        <!--    退回    -->
        <el-dialog
            title="退回"
            :visible.sync="show"
            width="500px">
            <span>这是一段信息</span>
            <span slot="footer" class="dialog-footer">
                <el-button @click="show = false">取消</el-button>
                <el-button type="primary" @click="show = false">确定退回</el-button>
            </span>
        </el-dialog>
    </GlobalWindow>
</template>
<script>
    import UploadFileCommon from '@/components/common/UploadFileCommon'
    import BaseOpera from '@/components/base/BaseOpera'
    import GlobalWindow from '@/components/common/GlobalWindow'
    import OperaSettleClaimsCheckWindow from '@/components/business/OperaSettleClaimsCheckWindow'
    import {confirmFile, findById,exportFiles,claimsUploadFile,delFile} from '@/api/business/settleClaims'
    export default {
        name: 'OperaSettleClaimsWindow',
        extends: BaseOpera,
        components: { GlobalWindow, OperaSettleClaimsCheckWindow,UploadFileCommon },
        data () {
            return {
              doneFileDate:null,
              remarkLogList:[],
                // 表单数据
                form: {
                    id: null,
                },
              model:{},
                // 验证规则
                rules: {
                },
                activeName: 'first',
                reverse: true,
                 file1:null,
                 file2:null,
                 file3:null,
                 file4:null,
                 file5:null,
                 file6:null
            }
        },
        created () {
            this.config({
                api: '/business/settleClaims',
                'field.id': 'id'
            })
        },
        methods: {
          open(title,target){
            this.model ={}
            this.model = target
            this.title=title
            this.visible=true
            this.doneFileDate=null
            this.remarkLogList=[]
            this. file1=null
            this.file2 = null
            this.file3 = null
            this.file4 = null
            this.file5 = null
            this.file6 = null
            this.getDetail()
          },
          openBaoxiandan(){
            window.open(this.model.baoxiandanFile.fileurlFull);
          },
          delFile(id){
            this.$dialog.messageConfirm('确认删除该附件吗,一旦删除无法撤回?')
                .then(() => {
                  // this.isWorking = true
                  delFile(this.model.id,id).then(response => {
                        that.getDetail()
                      }).catch(err => {
                    this.$tip.apiFailed(err)
                  })
                })
          },
          getDetail(){
            findById( this.model.id)
                .then(res => {
              this.model = res
              this.remarkLogList=[]
              var logList = this.model.settleClaimsLogList
              if(logList){
                logList.forEach(item => {
                   if( item.objType==2){
                     this.doneFileDate = item.createDate
                   }
                  if(item.objType==7){
                    this.remarkLogList.push(item)
                  }
                })
              }
            }).catch(err => {
            })
          },
            handleClick(tab, event) {
                console.log(tab, event);
import BaseOpera from '@/components/base/BaseOpera'
import GlobalWindow from '@/components/common/GlobalWindow'
import { mapState } from 'vuex'
export default {
  name: 'OperaSettleClaimsWindow',
  extends: BaseOpera,
  components: { GlobalWindow },
  data () {
    return {
        show: false,
        statusList: [
            {
                name: '报案',
                info: '已报案',
                date: '2025-03-03 12:31'
            },
          callback(){
            this.getDetail()
            this.$emit('success')
          },
          claimsUploadFile(type) {
            var param = {}
            if(type == 2){
              param =  this.file2
            }else if(type == 3){
              param =  this.file3
            }else if(type == 4){
              param =  this.file4
            }else if(type == 5){
              param =  this.file5
            }else if(type == 6){
              param =  this.file6
            {
                name: '立案',
                info: '待立案',
                date: ''
            },
            {
                name: '受理',
                info: '',
                date: ''
            },
            {
                name: '理算',
                info: '',
                date: ''
            },
            {
                name: '核赔',
                info: '',
                date: ''
            },
            {
                name: '结案',
                info: '',
                date: ''
            }
             claimsUploadFile(param)
                    .then(response => {
                      that.getDetail()
                    }).catch(err => {
                  this.$tip.apiFailed(err)
                })
              },
            submit(type) {
              var that =this
              if(type ==0){
                this.$dialog.messageConfirm('理赔材料收集完成,请及时提交保险公司!')
                    .then(() => {
                      // this.isWorking = true
                      confirmFile({id:that.model.id})
                          .then(response => {
                            that.getDetail()
                          }).catch(err => {
                        this.$tip.apiFailed(err)
                      })
                    })
              }else if(type==1){
                //资料下载
                this.$dialog.exportConfirm('确认进行资料下载吗?')
                    .then(() => {
                      this.isWorking = true
                      exportFiles({ id: that.model.id })
                          .then(response => {
                            this.download(response)
                          }).catch(err => {
                            console.log(err)
                            this.$message.error("下载资料失败,请确认资料数据不为空")
                          }).finally(() => {
                            this.isWorking = false
                          })
                    })
                    .catch(() => {
                    })
              }
            }
        }
        ]
    }
  },
  computed: {
    ...mapState(['userInfo'])
  },
  created () {
    this.config({
      api: '/business/settleClaims',
      'field.id': 'id'
    })
  },
  methods: {
  }
}
</script>
<style>
    .v-modal {
        z-index: 2000 !important;
    }
</style>
<style lang="scss" scoped>
    .form {
    .box {
        width: 100%;
        display: flex;
        align-items: center;
        flex-direction: column;
        .form_span {
        .box_status {
            width: 100%;
            padding: 30px 0;
            box-sizing: border-box;
            display: flex;
            align-items: start;
            flex-direction: column;
            margin-bottom: 20px;
            span {
                font-size: 14px;
                &:nth-child(1) {
                    color: black;
                    margin-bottom: 5px;
                }
                &:nth-child(2) {
                    color: #8c939d;
                }
            }
        }
        .form_item {
            width: 100%;
            display: flex;
            align-items: start;
            margin-bottom: 20px;
            &:last-child {
                margin: 0 !important;
            }
            .form_item_label {
                flex-shrink: 0;
                color: black;
                font-size: 14px;
                span {
                    color: red;
                    font-size: 14px;
                }
            }
            .form_item_val {
                flex: 1;
                /*height: 40px;*/
                margin-left: 20px;
                textarea {
                    width: 100%;
                    height: 70px;
                    border: 1px solid #cbcbcb;
                    padding: 10px;
                    outline: none;
                    box-sizing: border-box;
                }
                input {
                    width: 100%;
                    height: 100%;
                    outline: none;
                    border-radius: 5px;
                    border: 1px solid #cbcbcb;
                    padding: 0 20px;
                    box-sizing: border-box;
                }
            }
        }
    }
    .desc {
        width: 100%;
        display: flex;
        align-items: center;
        flex-direction: column;
        .desc_label {
            width: 100%;
            display: flex;
            align-items: center;
            justify-content: space-between;
            .desc_label_left {
                flex: 1;
            justify-content: center;
            margin-bottom: 30px;
            .box_status_row {
                width: 200px;
                display: flex;
                align-items: center;
                .desc_label_left_title {
                    font-size: 20px;
                    font-weight: bold;
                    color: black;
                align-items: start;
                position: relative;
                .box_status_row_xian {
                    position: absolute;
                    right: 30px;
                    top: 10px;
                    width: calc(100% - 110px);
                    height: 1px;
                    background-color: #BEBEBE;
                }
                .desc_label_left_time {
                    font-size: 14px;
                    color: rgba(249, 86, 1, 0.996);
                    margin-left: 10px;
                .statusColor1 {
                    background-color: #E8F4FF !important;
                }
                .desc_label_left_code {
                    font-size: 15px;
                    color: black;
                    margin-left: 30px;
                .statusColor2 {
                    background-color: #165DFF !important;
                }
            }
            .desc_label_right {
                flex-shrink: 0;
                .statusColor3 {
                    span {
                        color: #ffffff !important;
                    }
                }
                .box_status_row_icon {
                    width: 28px;
                    height: 28px;
                    background-color: rgba(242,243,245,1);
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    border-radius: 50%;
                    margin-right: 10px;
                    span {
                        color: rgba(78,89,105,1);
                        font-size: 14px;
                    }
                    i {
                        color: #165DFF;
                    }
                }
                .box_status_row_info {
                    display: flex;
                    flex-direction: column;
                    .title {
                        color: rgba(78,89,105,1);
                        font-size: 16px;
                        font-weight: bold;
                    }
                    .info {
                        color: rgba(154,154,154,1);
                        font-size: 14px;
                        margin-top: 5px;
                    }
                }
            }
        }
        .desc_list {
        .box_desc {
            width: 100%;
            margin-top: 20px;
            display: flex;
            align-items: center;
            flex-wrap: wrap;
            .desc_list_item {
                width: 33.3%;
                display: flex;
                align-items: center;
                margin-bottom: 10px;
                .desc_list_item_label {
                    width: 130px;
                    flex-shrink: 0;
                    font-size: 15px;
                    color: black;
            margin-bottom: 15px;
            .box_desc_cailiao {
                width: 100%;
                margin-bottom: 18px;
                .box_desc_cailiao_title {
                    width: 100%;
                    display: flex;
                    align-items: center;
                    margin-bottom: 15px;
                    .box_desc_cailiao_title_x {
                        width: 5px;
                        height: 14px;
                        background-color: #165DFF;
                    }
                    span {
                        color: rgba(16,16,16,1);
                        font-size: 14px;
                        margin-left: 5px;
                    }
                }
                .desc_list_item_val {
                    flex: 1;
                    font-size: 15px;
                    color: black;
                }
                .desc_list_item_videos {
                    flex: 1;
                .box_desc_cailiao_list {
                    width: 100%;
                    display: flex;
                    align-items: center;
                    flex-wrap: wrap;
                    .desc_list_item_imgs_video {
                        width: 150px;
                        height: 150px;
                        background: black;
                        margin-right: 10px;
                        video {
                            width: 100%;
                            height: 100%;
                        }
                    }
                }
            }
        }
        .desc_xian {
            width: 100%;
            height: 1px;
            margin: 10px 0;
            background: #ececec;
        }
        .desc_data {
            width: 100%;
            display: flex;
            flex-direction: column;
            margin-top: 20px;
            .desc_data_label {
                font-size: 16px;
                color: black;
                font-weight: 600;
                margin-bottom: 20px;
            }
            .desc_data_cate {
                width: 100%;
                margin: 0 0 10px 0;
            }
            .desc_data_list {
                width: 100%;
                display: flex;
                align-items: center;
                flex-wrap: wrap;
                justify-content: space-between;
                .desc_data_list_item1 {
                    width: 24.5%;
                }
                .desc_data_list_item {
                    width: 24.5%;
                    padding: 10px;
                    box-sizing: border-box;
                    border: 1px solid #e2e2e2;
                    display: flex;
                    align-items: center;
                    justify-content: space-between;
                    position: relative;
                    margin-bottom: 10px;
                    .desc_data_list_item_dele {
                        position: absolute;
                        top: 10px;
                        right: 10px;
                        font-size: 14px;
                        cursor: pointer;
                        color: rgba(249, 86, 1, 0.996078431372549);
                    }
                    .desc_data_list_item_upload {
                        flex: 1;
                        height: 80px;
                        display: flex;
                        align-items: center;
                        justify-content: center;
                    }
                    .desc_data_list_item_img {
                        flex-shrink: 0;
                        width: 80px;
                        height: 80px;
                    .box_desc_cailiao_list_img {
                        width: 100px;
                        height: 100px;
                        display: flex;
                        align-items: center;
                        justify-content: center;
                        overflow: hidden;
                        .el-icon-plus {
                            font-size: 26px;
                            color: #ffffff;
                        margin-right: 15px;
                        background-color: #E5E5E5;
                        &:last-child {
                            margin: 0;
                        }
                        img {
                            width: 100%;
                            height: 100%;
                        }
                    }
                    .desc_data_list_item_info {
                        flex: 1;
                        height: 80px;
                }
            }
            .box_desc_head {
                width: 100%;
                display: flex;
                align-items: center;
                justify-content: space-between;
                margin-bottom: 26px;
                .box_desc_title {
                    display: flex;
                    align-items: center;
                    .box_desc_title_val {
                        color: rgba(16,16,16,1);
                        font-size: 18px;
                        margin-right: 20px;
                    }
                    .box_desc_title_zt {
                        height: 25px;
                        padding: 0 15px;
                        display: flex;
                        flex-direction: column;
                        justify-content: space-between;
                        align-items: center;
                        justify-content: center;
                        box-sizing: border-box;
                        border-radius: 15px;
                        background-color: rgba(239,239,239,1);
                        color: rgba(16,16,16,1);
                        font-size: 12px;
                        margin-right: 20px;
                    }
                    .box_desc_title_tips {
                        width: 84px;
                        height: 25px;
                        border-radius: 15px;
                        display: flex;
                        align-items: center;
                        justify-content: center;
                        background-color: rgba(254,226,225,1);
                        span {
                            &:nth-child(1) {
                                font-size: 14px;
                                color: black;
                            color: #FF4D4F;
                            font-size: 12px;
                        }
                    }
                }
                .box_desc_btns {
                    display: flex;
                    align-items: center;
                    .box_desc_btns_operate {
                        display: flex;
                        align-items: center;
                        margin-left: 10px;
                        cursor: pointer;
                        i {
                            color: #515151;
                        }
                        span {
                            color: rgba(16,16,16,1);
                            font-size: 14px;
                            margin-left: 4px;
                        }
                    }
                }
            }
            .box_desc_list {
                width: 100%;
                display: flex;
                align-items: center;
                justify-content: space-between;
                flex-wrap: wrap;
                .box_desc_list_row {
                    width: 33%;
                    color: rgba(16,16,16,1);
                    font-size: 14px;
                    margin-bottom: 24px;
                }
                .box_desc_list_img {
                    width: 100%;
                    display: flex;
                    align-items: start;
                    span {
                        color: rgba(16,16,16,1);
                        font-size: 14px;
                    }
                    .box_desc_list_img_files {
                        flex-shrink: 0;
                        display: flex;
                        align-items: center;
                        flex-wrap: wrap;
                        .box_desc_list_img_files_row {
                            width: 94px;
                            height: 94px;
                            display: flex;
                            align-items: center;
                            justify-content: center;
                            overflow: hidden;
                            margin-right: 25px;
                            &:last-child {
                                margin: 0;
                            }
                            &:nth-child(2) {
                                font-size: 14px;
                                color: #888888;
                            }
                            &:nth-child(3) {
                                font-size: 14px;
                                color: #888888;
                            background-color: #E5E5E5;
                            img {
                                width: 100%;
                            }
                        }
                    }
                }
            }
            .box_desc_f {
                width: 100%;
                display: flex;
                align-items: center;
                flex-wrap: wrap;
                margin-bottom: 30px;
                justify-content: space-between;
                .box_desc_fa {
                    width: 32%;
                    padding: 22px 25px;
                    box-sizing: border-box;
                    border-radius: 4px;
                    background-color: rgba(239,239,239,1);
                    .box_desc_fa_title {
                        color: rgba(16,16,16,1);
                        font-size: 18px;
                        font-weight: bold;
                        text-decoration: underline;
                        margin-bottom: 10px;
                    }
                    .box_desc_fa_row {
                        color: rgba(16,16,16,1);
                        font-size: 14px;
                        margin-bottom: 10px;
                        &:last-child {
                            margin: 0;
                        }
                    }
                }
            }
        }
        .desc_times {
        .box_fx {
            width: 100%;
            margin-top: 20px;
            height: 49px;
            display: flex;
            padding: 0 17px;
            margin-bottom: 30px;
            box-sizing: border-box;
            align-items: center;
            justify-content: space-between;
            background-color: rgba(254,226,225,1);
            .box_fx_left {
                display: flex;
                align-items: center;
                i {
                    color: #FF4D4F;
                    font-size: 18px;
                }
                .box_fx_left_a {
                    color: rgba(255,77,79,1);
                    font-size: 14px;
                    margin: 0 10px;
                }
                .box_fx_left_b {
                    color: rgba(255,77,79,1);
                    font-size: 14px;
                    text-decoration: underline;
                    cursor: pointer;
                }
            }
            .el-icon-close {
                color: #101010;
                cursor: pointer;
                font-size: 18px;
            }
        }
    }
</style>