k94314517
2025-05-26 c1785f39c1b6a2e3cd2380de1dd6c87a684215b1
company/src/components/business/OpearaCaseEntryWindow.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,1249 @@
<template>
    <GlobalWindow
        :title="title"
        width="100%"
        :visible.sync="visible"
        :confirm-working="isWorking"
        @confirm="confirm"
    >
        <div class="box">
            <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="150px" class="demo-ruleForm">
                <div class="box_item">
                    <div class="box_item_title">
                        <span>出险人信息</span>
                        <el-select v-model="ruleForm.status" style="width: 100px;" placeholder="请选择">
                            <el-option label="待立案" :value="2"></el-option>
                            <el-option label="已退回" :value="4"></el-option>
                            <el-option label="待受理" :value="5"></el-option>
                            <el-option label="已拒绝" :value="6"></el-option>
                            <el-option label="待理算" :value="9"></el-option>
                            <el-option label="待核赔" :value="10"></el-option>
                            <el-option label="待结案" :value="12"></el-option>
                            <el-option label="已结案" :value="13"></el-option>
                            <el-option label="已撤案" :value="14"></el-option>
                        </el-select>
                    </div>
                    <div class="box_item_list">
                        <div class="box_item_list_row">
                            <el-form-item label="出险人" prop="extData.memberName">
                                <el-input v-model="ruleForm.extData.memberName" placeholder="请输入"></el-input>
                            </el-form-item>
                        </div>
                        <div class="box_item_list_row">
                            <el-form-item label="证件类型" prop="extData.memberIdcardType">
                                <el-select v-model="ruleForm.extData.memberIdcardType" placeholder="请选择">
                                    <el-option label="居民身份证" :value="0"></el-option>
                                    <el-option label="护照" :value="1"></el-option>
                                    <el-option label="户口本" :value="2"></el-option>
                                    <el-option label="居住证" :value="3"></el-option>
                                    <el-option label="签证" :value="4"></el-option>
                                    <el-option label="港澳通行证" :value="5"></el-option>
                                </el-select>
                            </el-form-item>
                        </div>
                        <div class="box_item_list_row">
                            <el-form-item label="证件号码" prop="extData.memberIdcard">
                                <el-input v-model="ruleForm.extData.memberIdcard" placeholder="请输入"></el-input>
                            </el-form-item>
                        </div>
                        <div class="box_item_list_row">
                            <el-form-item label="出生日期" prop="extData.memberBirthday">
                                <el-date-picker
                                    v-model="ruleForm.extData.memberBirthday"
                                    type="date"
                                    placeholder="选择日期"
                                    format="yyyy å¹´ MM æœˆ dd æ—¥"
                                    value-format="yyyy-MM-dd">
                                </el-date-picker>
                            </el-form-item>
                        </div>
                        <div class="box_item_list_row">
                            <el-form-item label="年龄" prop="extData.memberAge">
                                <el-input v-model="ruleForm.extData.memberAge" placeholder="请输入"></el-input>
                            </el-form-item>
                        </div>
                        <div class="box_item_list_row">
                            <el-form-item label="性别" prop="extData.memberSex">
                                <el-radio-group v-model="ruleForm.extData.memberSex">
                                    <el-radio :label="0">男</el-radio>
                                    <el-radio :label="1">女</el-radio>
                                </el-radio-group>
                            </el-form-item>
                        </div>
                        <div class="box_item_list_row">
                            <el-form-item label="电话号码" prop="extData.memberPhone">
                                <el-input v-model="ruleForm.extData.memberPhone" placeholder="请输入"></el-input>
                            </el-form-item>
                        </div>
                        <div class="box_item_list_row">
                            <el-form-item label="户籍地址" prop="extData.memberAddr">
                                <el-input v-model="ruleForm.extData.memberAddr" placeholder="请输入"></el-input>
                            </el-form-item>
                        </div>
                        <div class="box_item_list_rowx"></div>
                    </div>
                </div>
                <div class="box_item">
                    <div class="box_item_title">
                        <span>保单信息</span>
                    </div>
                    <div class="box_item_list">
                        <div class="box_item_list_row">
                            <el-form-item label="保险名称" prop="extData.bxName">
                                <el-input v-model="ruleForm.extData.bxName" placeholder="请输入"></el-input>
                            </el-form-item>
                        </div>
                        <div class="box_item_list_row">
                            <el-form-item label="保单号" prop="extData.bxCode">
                                <el-input v-model="ruleForm.extData.bxCode" placeholder="请输入"></el-input>
                            </el-form-item>
                        </div>
                        <div class="box_item_list_row">
                            <el-form-item label="保障期限" prop="extData.bxDate">
                                <el-date-picker
                                    v-model="ruleForm.extData.bxDate"
                                    type="datetimerange"
                                    @change="changeBxDate"
                                    value-format="yyyy-MM-dd hh:mm:ss"
                                    range-separator="至"
                                    start-placeholder="开始日期"
                                    end-placeholder="结束日期">
                                </el-date-picker>
                            </el-form-item>
                        </div>
                        <div class="box_item_list_row">
                            <el-form-item label="投保人" prop="extData.bxTbName">
                                <el-input v-model="ruleForm.extData.bxTbName" placeholder="请输入"></el-input>
                            </el-form-item>
                        </div>
                        <div class="box_item_list_row">
                            <el-form-item label="被保险人" prop="extData.bxBbName">
                                <el-input v-model="ruleForm.extData.bxBbName" placeholder="请输入"></el-input>
                            </el-form-item>
                        </div>
                        <div class="box_item_list_row">
                            <el-form-item label="承保机构" prop="extData.bxOrg">
                                <el-input v-model="ruleForm.extData.bxOrg" placeholder="请输入"></el-input>
                            </el-form-item>
                        </div>
                        <div class="box_item_list_row">
                            <el-form-item label="应收保费" prop="extData.bxYsMoney">
                                <el-input v-model="ruleForm.extData.bxYsMoney" placeholder="请输入"></el-input>
                            </el-form-item>
                        </div>
                        <div class="box_item_list_row">
                            <el-form-item label="实收保费" prop="extData.bxSsMoney">
                                <el-input v-model="ruleForm.extData.bxSsMoney" placeholder="请输入"></el-input>
                            </el-form-item>
                        </div>
                        <div class="box_item_list_rowx"></div>
                        <div class="box_item_list_row" style="width: 100%;">
                            <el-form-item label="电子保单" prop="dzbdFileList">
                                <div class="box_item_list_row_l">
                                    <div class="desc_data_list_item" v-for="(item, index) in ruleForm.dzbdFileList" :key="index">
                                        <div class="desc_data_list_item_dele" @click="delFile(index, 7)">删除</div>
                                        <div class="desc_data_list_item_img" v-if="item.type === 0">
                                            <img :src="item.url" alt="img"/>
                                        </div>
                                        <div class="desc_data_list_item_img" v-if="item.type === 1">
                                            <video controls :src="item.url" />
                                        </div>
                                        <div class="desc_data_list_item_img" v-if="item.type === 2">
                                            <i class="el-icon-folder-opened"></i>
                                        </div>
                                        <div class="desc_data_list_item_info">
                                            <span>{{ item.name }}</span>
                                        </div>
                                    </div>
                                    <upload width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @success="claimsUploadFile($event, 7)" />
                                </div>
                            </el-form-item>
                        </div>
                    </div>
                </div>
                <div class="box_item">
                    <div class="box_item_title">
                        <span>报案信息</span>
                    </div>
                    <div class="box_item_list">
                        <div class="box_item_list_row">
                            <el-form-item label="案件号" prop="reportNum">
                                <el-input v-model="ruleForm.reportNum" placeholder="请输入"></el-input>
                            </el-form-item>
                        </div>
                        <div class="box_item_list_row">
                            <el-form-item label="报案人姓名" prop="informantName">
                                <el-input v-model="ruleForm.informantName" placeholder="请输入"></el-input>
                            </el-form-item>
                        </div>
                        <div class="box_item_list_row">
                            <el-form-item label="报案人联系方式" prop="informantPhone">
                                <el-input v-model="ruleForm.informantPhone" placeholder="请输入"></el-input>
                            </el-form-item>
                        </div>
                        <div class="box_item_list_row">
                            <el-form-item label="报案时间" prop="happenTime">
                                <el-date-picker
                                    v-model="ruleForm.happenTime"
                                    type="date"
                                    placeholder="选择日期"
                                    format="yyyy-MM-dd"
                                    value-format="yyyy-MM-dd">
                                </el-date-picker>
                            </el-form-item>
                        </div>
                        <div class="box_item_list_row">
                            <el-form-item label="出险时间" prop="createDate">
                                <el-date-picker
                                    v-model="ruleForm.createDate"
                                    type="datetime"
                                    placeholder="选择日期"
                                    format="yyyy-MM-dd hh:mm:ss"
                                    value-format="yyyy-MM-dd hh:mm:ss">
                                </el-date-picker>
                            </el-form-item>
                        </div>
                        <div class="box_item_list_row">
                            <el-form-item label="出险地点" prop="areaInfo">
                                <el-input v-model="ruleForm.areaInfo" placeholder="请输入"></el-input>
                            </el-form-item>
                        </div>
                        <div class="box_item_list_row">
                            <el-form-item label="是否已注销" prop="extData.logoff">
                                <el-radio-group v-model="ruleForm.extData.logoff">
                                    <el-radio :label="1">是</el-radio>
                                    <el-radio :label="0">否</el-radio>
                                </el-radio-group>
                            </el-form-item>
                        </div>
                        <div class="box_item_list_row">
                            <el-form-item label="注销处理人" prop="extData.logoffUser">
                                <el-input v-model="ruleForm.extData.logoffUser" placeholder="请输入"></el-input>
                            </el-form-item>
                        </div>
                        <div class="box_item_list_row">
                            <el-form-item label="注销时间" prop="extData.logoffDate">
                                <el-date-picker
                                    v-model="ruleForm.extData.logoffDate"
                                    type="date"
                                    placeholder="选择日期"
                                    format="yyyy å¹´ MM æœˆ dd æ—¥"
                                    value-format="yyyy-MM-dd">
                                </el-date-picker>
                            </el-form-item>
                        </div>
                        <div class="box_item_list_row" style="width: 100%;">
                            <el-form-item label="出险经过" prop="content">
                                <el-input v-model="ruleForm.content" :rows="5" type="textarea" placeholder="请输入"></el-input>
                            </el-form-item>
                        </div>
                        <div class="box_item_list_row" style="width: 100%;">
                            <el-form-item label="事故类型" prop="type">
                                <el-radio-group v-model="ruleForm.type">
                                    <el-radio :label="0">工作期间受伤</el-radio>
                                    <el-radio :label="1">上下班途中受伤</el-radio>
                                    <el-radio :label="2">非工作时间受伤</el-radio>
                                    <el-radio :label="3">意外受伤</el-radio>
                                </el-radio-group>
                            </el-form-item>
                        </div>
                        <div class="box_item_list_row" style="width: 100%;">
                            <el-form-item label="就诊医疗机构" prop="hospital">
                                <el-input v-model="ruleForm.hospital" placeholder="请输入"></el-input>
                            </el-form-item>
                        </div>
                        <div class="box_item_list_row" style="width: 100%;">
                            <el-form-item label="就诊类型" prop="inHospital">
                                <el-radio-group v-model="ruleForm.inHospital">
                                    <el-radio :label="1">门诊</el-radio>
                                    <el-radio :label="0">住院</el-radio>
                                </el-radio-group>
                            </el-form-item>
                        </div>
                        <div class="box_item_list_row" style="width: 100%;">
                            <el-form-item label="是否伤残" prop="hurtType">
                                <el-radio-group v-model="ruleForm.hurtType">
                                    <el-radio :label="0">是</el-radio>
                                    <el-radio :label="1">否</el-radio>
                                    <el-radio :label="2">待确定</el-radio>
                                </el-radio-group>
                            </el-form-item>
                        </div>
                        <div class="box_item_list_row" style="width: 100%;">
                            <el-form-item label="是否有医保" prop="medicalInsurance">
                                <el-radio-group v-model="ruleForm.medicalInsurance">
                                    <el-radio :label="1">是</el-radio>
                                    <el-radio :label="0">否</el-radio>
                                </el-radio-group>
                            </el-form-item>
                        </div>
                        <div class="box_item_list_row" style="width: 100%;">
                            <el-form-item label="事故视频/照片" prop="reportFileList">
                                <div class="box_item_list_row_l">
                                    <div class="desc_data_list_item" v-for="(item, index) in ruleForm.reportFileList" :key="index">
                                        <div class="desc_data_list_item_dele" @click="delFile(index, 6)">删除</div>
                                        <div class="desc_data_list_item_img" v-if="item.type === 0">
                                            <img :src="item.url" alt="img"/>
                                        </div>
                                        <div class="desc_data_list_item_img" v-if="item.type === 1">
                                            <video controls :src="item.url" />
                                        </div>
                                        <div class="desc_data_list_item_img" v-if="item.type === 2">
                                            <i class="el-icon-folder-opened"></i>
                                        </div>
                                        <div class="desc_data_list_item_info">
                                            <span>{{ item.name }}</span>
                                        </div>
                                    </div>
                                    <upload width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @success="claimsUploadFile($event, 6)" />
                                </div>
                            </el-form-item>
                        </div>
                    </div>
                </div>
                <div class="box_item">
                    <div class="box_item_title">
                        <span>人员伤亡情况</span>
                    </div>
                    <div class="box_item_list">
                        <div class="box_item_list_row">
                            <el-form-item label="伤亡人员属性" prop="extData.rsAttr">
                                <el-input v-model="ruleForm.extData.rsAttr" placeholder="请输入"></el-input>
                            </el-form-item>
                        </div>
                        <div class="box_item_list_row">
                            <el-form-item label="人员伤情" prop="extData.rsInfo">
                                <el-input v-model="ruleForm.extData.rsInfo" placeholder="请输入"></el-input>
                            </el-form-item>
                        </div>
                        <div class="box_item_list_row">
                            <el-form-item label="治疗状态" prop="extData.rsZlStatus">
                                <el-input v-model="ruleForm.extData.rsZlStatus" placeholder="请输入"></el-input>
                            </el-form-item>
                        </div>
                        <div class="box_item_list_row">
                            <el-form-item label="损失金额" prop="extData.rsLossMoney">
                                <el-input v-model="ruleForm.extData.rsLossMoney" placeholder="请输入"></el-input>
                            </el-form-item>
                        </div>
                        <div class="box_item_list_row">
                            <el-form-item label="就诊情况" prop="extData.rsJzInfo">
                                <el-input v-model="ruleForm.extData.rsJzInfo" placeholder="请输入"></el-input>
                            </el-form-item>
                        </div>
                        <div class="box_item_list_row">
                            <el-form-item label="出院时间" prop="extData.rsCyDate">
                                <el-date-picker
                                    v-model="ruleForm.extData.rsCyDate"
                                    type="date"
                                    placeholder="选择日期"
                                    format="yyyy å¹´ MM æœˆ dd æ—¥"
                                    value-format="yyyy-MM-dd">
                                </el-date-picker>
                            </el-form-item>
                        </div>
                        <div class="box_item_list_row">
                            <el-form-item label="医疗机构" prop="extData.rsYlOrg">
                                <el-input v-model="ruleForm.extData.rsYlOrg" placeholder="请输入"></el-input>
                            </el-form-item>
                        </div>
                        <div class="box_item_list_row">
                            <el-form-item label="死亡时间" prop="extData.rsDeathDate">
                                <el-input v-model="ruleForm.extData.rsDeathDate" placeholder="请输入"></el-input>
                            </el-form-item>
                        </div>
                        <div class="box_item_list_rowx"></div>
                    </div>
                </div>
                <div class="box_item">
                    <div class="box_item_title">
                        <span>就诊信息</span>
                    </div>
                    <div class="box_item_list">
                        <div class="box_item_list_row">
                            <el-form-item label="医院名称" prop="extData.jzHospital">
                                <el-input v-model="ruleForm.extData.jzHospital" placeholder="请输入"></el-input>
                            </el-form-item>
                        </div>
                        <div class="box_item_list_row">
                            <el-form-item label="住院号" prop="extData.jzZyCode">
                                <el-input v-model="ruleForm.extData.jzZyCode" placeholder="请输入"></el-input>
                            </el-form-item>
                        </div>
                        <div class="box_item_list_row">
                            <el-form-item label="科室" prop="extData.jzZyKs">
                                <el-input v-model="ruleForm.extData.jzZyKs" placeholder="请输入"></el-input>
                            </el-form-item>
                        </div>
                        <div class="box_item_list_row">
                            <el-form-item label="入院时间" prop="extData.jzZyDate">
                                <el-input v-model="ruleForm.extData.jzZyDate" placeholder="请输入"></el-input>
                            </el-form-item>
                        </div>
                        <div class="box_item_list_row">
                            <el-form-item label="出院时间" prop="extData.jzCyDate">
                                <el-input v-model="ruleForm.extData.jzCyDate" placeholder="请输入"></el-input>
                            </el-form-item>
                        </div>
                        <div class="box_item_list_row">
                            <el-form-item label="出院天数" prop="extData.jzZyDays">
                                <el-input v-model="ruleForm.extData.jzZyDays" placeholder="请输入"></el-input>
                            </el-form-item>
                        </div>
                    </div>
                </div>
                <div class="box_item">
                    <div class="box_item_title">
                        <span>诊断信息</span>
                    </div>
                    <div class="box_item_list">
                        <div class="box_item_list_row">
                            <el-form-item label="治疗情况" prop="extData.zdZlInfo">
                                <el-input v-model="ruleForm.extData.zdZlInfo" placeholder="请输入"></el-input>
                            </el-form-item>
                        </div>
                        <div class="box_item_list_row">
                            <el-form-item label="伤情描述" prop="extData.zdSqInfo">
                                <el-input v-model="ruleForm.extData.zdSqInfo" placeholder="请输入"></el-input>
                            </el-form-item>
                        </div>
                        <div class="box_item_list_row">
                            <el-form-item label="临床诊断" prop="extData.zdLczd">
                                <el-input v-model="ruleForm.extData.zdLczd" placeholder="请输入"></el-input>
                            </el-form-item>
                        </div>
                        <div class="box_item_list_row">
                            <el-form-item label="手术名称" prop="extData.zdSsName">
                                <el-input v-model="ruleForm.extData.zdSsName" placeholder="请输入"></el-input>
                            </el-form-item>
                        </div>
                        <div class="box_item_list_row">
                            <el-form-item label="后续治疗项目" prop="extData.zdHxProject">
                                <el-input v-model="ruleForm.extData.zdHxProject" placeholder="请输入"></el-input>
                            </el-form-item>
                        </div>
                        <div class="box_item_list_row">
                            <el-form-item label="是否有既往病" prop="extData.zdJwb">
                                <el-input v-model="ruleForm.extData.zdJwb" placeholder="请输入"></el-input>
                            </el-form-item>
                        </div>
                    </div>
                </div>
                <div class="box_item">
                    <div class="box_item_title">
                        <span>核责信息</span>
                    </div>
                    <div class="box_item_list">
                        <div class="box_item_list_row">
                            <el-form-item label="保单号是否成立" prop="extData.hzBdhCl">
                                <el-input v-model="ruleForm.extData.hzBdhCl" placeholder="请输入"></el-input>
                            </el-form-item>
                        </div>
                        <div class="box_item_list_row">
                            <el-form-item label="事故责任比例" prop="extData.hzDutyRate">
                                <el-input v-model="ruleForm.extData.hzDutyRate" placeholder="请输入"></el-input>
                            </el-form-item>
                        </div>
                        <div class="box_item_list_rowx"></div>
                    </div>
                </div>
                <div class="box_item">
                    <div class="box_item_title">
                        <span>鉴定信息</span>
                    </div>
                    <div class="box_item_desc">劳动能力鉴定职工工伤与职业病致残等级</div>
                    <div class="box_item_list">
                        <div class="box_item_list_row">
                            <el-form-item label="鉴定情况" prop="extData.jdInfo">
                                <el-input v-model="ruleForm.extData.jdInfo" placeholder="请输入"></el-input>
                            </el-form-item>
                        </div>
                        <div class="box_item_list_row">
                            <el-form-item label="鉴定途径" prop="extData.jdChannel">
                                <el-input v-model="ruleForm.extData.jdChannel" placeholder="请输入"></el-input>
                            </el-form-item>
                        </div>
                        <div class="box_item_list_row">
                            <el-form-item label="鉴定机构" prop="extData.jdOrg">
                                <el-input v-model="ruleForm.extData.jdOrg" placeholder="请输入"></el-input>
                            </el-form-item>
                        </div>
                        <div class="box_item_list_row">
                            <el-form-item label="鉴定人" prop="extData.jdUser">
                                <el-input v-model="ruleForm.extData.jdUser" placeholder="请输入"></el-input>
                            </el-form-item>
                        </div>
                        <div class="box_item_list_row">
                            <el-form-item label="评定日期" prop="extData.jdPdDate">
                                <el-date-picker
                                    v-model="ruleForm.extData.jdPdDate"
                                    type="date"
                                    placeholder="选择日期"
                                    format="yyyy å¹´ MM æœˆ dd æ—¥"
                                    value-format="yyyy-MM-dd">
                                </el-date-picker>
                            </el-form-item>
                        </div>
                        <div class="box_item_list_row">
                            <el-form-item label="伤残等级" prop="extData.jdScLevel">
                                <el-select v-model="ruleForm.extData.jdScLevel" placeholder="请选择">
                                    <el-option
                                        v-for="item in 10"
                                        :key="item"
                                        :label="item + '级'"
                                        :value="item">
                                    </el-option>
                                </el-select>
                            </el-form-item>
                        </div>
                        <div class="box_item_list_row">
                            <el-form-item label="鉴定条款" prop="extData.jdTerms">
                                <el-input v-model="ruleForm.extData.jdTerms" placeholder="请输入"></el-input>
                            </el-form-item>
                        </div>
                        <div class="box_item_list_row">
                            <el-form-item label="伤残系数" prop="extData.jdXishu">
                                <el-input v-model="ruleForm.extData.jdXishu" placeholder="请输入"></el-input>
                            </el-form-item>
                        </div>
                        <div class="box_item_list_rowx"></div>
                        <div class="box_item_list_row" style="width: 100%;">
                            <el-form-item label="是否伤残赔偿完成解除劳动合同" prop="extData.jdJsldht">
                                <el-radio-group v-model="ruleForm.extData.jdJsldht">
                                    <el-radio :label="1">是</el-radio>
                                    <el-radio :label="0">否</el-radio>
                                </el-radio-group>
                            </el-form-item>
                        </div>
                        <div class="box_item_list_row" style="width: 100%;">
                            <el-form-item label="责任与评残条款关联关系" prop="extData.jdZrpctkRel">
                                <el-radio-group v-model="ruleForm.extData.jdZrpctkRel">
                                    <el-radio :label="0">保单号</el-radio>
                                    <el-radio :label="1">关联评残条款</el-radio>
                                    <el-radio :label="2">劳动能力鉴定</el-radio>
                                </el-radio-group>
                            </el-form-item>
                        </div>
                    </div>
                </div>
                <div class="box_item">
                    <div class="box_item_title">
                        <span>定损录入</span>
                    </div>
                    <div class="box_item_desc">主要赔付项</div>
                    <div class="box_item_list">
                        <div class="box_item_list_row" style="width: 100%;" v-for="(item, index) in list1" :key="index">
                            <el-form-item :label="item.name">
                                <div style="display: flex; flex-direction: column;">
                                    <el-input v-model="item.fee" @input="changeFee" type="number" placeholder="请输入金额"></el-input>
                                    <el-input v-model="item.describe" placeholder="请输入费用说明"></el-input>
                                </div>
                            </el-form-item>
                        </div>
                    </div>
                    <div class="box_item_desc">其他赔付项</div>
                    <div class="box_item_list">
                        <div class="box_item_list_row" style="width: 50%;" v-for="(item, index) in list2" :key="index">
                            <el-form-item :label="item.name">
                                <div style="display: flex; flex-direction: column;">
                                    <el-input v-model="item.fee" @input="changeFee" type="number" placeholder="请输入金额"></el-input>
                                    <el-input v-model="item.describe" placeholder="请输入费用说明"></el-input>
                                </div>
                            </el-form-item>
                        </div>
                    </div>
                    <div class="price">
                        <span>赔付金额合计</span>
                        <span>Â¥{{totalPrice}}</span>
                    </div>
                </div>
                <div class="box_item">
                    <div class="box_item_title">
                        <span>定损方案</span>
                    </div>
                    <div class="box_item_list">
                        <div class="box_item_list_row" style="width: 50%;" v-for="(item, index) in list3" :key="index">
                            <el-form-item :label="item.name">
                                <el-input v-model="item.fee" placeholder="请输入"></el-input>
                            </el-form-item>
                        </div>
                        <div class="box_item_list_row" style="width: 50%;">
                            <el-form-item label="是否可赔付医保外用药" prop="payForYbwyy">
                                <el-radio-group v-model="ruleForm.payForYbwyy">
                                    <el-radio :label="1">是</el-radio>
                                    <el-radio :label="0">否</el-radio>
                                </el-radio-group>
                            </el-form-item>
                        </div>
                    </div>
                </div>
                <div class="box_item">
                    <div class="box_item_title">
                        <span>理赔材料</span>
                    </div>
                    <div class="box_item_list">
                        <div class="box_item_list_row" style="width: 100%; margin-bottom: 30px;">
                            <div class="box_item_list_row_title">
                                <div class="x"></div>
                                <span>员工关系证明材料</span>
                            </div>
                            <div class="box_item_list_row_l">
                                <div class="desc_data_list_item" v-for="(item, index) in ruleForm.relationFileList" :key="index">
                                    <div class="desc_data_list_item_dele" @click="delFile(index, 1)">删除</div>
                                    <div class="desc_data_list_item_img" v-if="item.type === 0">
                                        <img :src="item.url" alt="img"/>
                                    </div>
                                    <div class="desc_data_list_item_img" v-if="item.type === 1">
                                        <video controls :src="item.url" />
                                    </div>
                                    <div class="desc_data_list_item_img" v-if="item.type === 2">
                                       <i class="el-icon-folder-opened"></i>
                                    </div>
                                    <div class="desc_data_list_item_info">
                                        <span>{{ item.name }}</span>
                                    </div>
                                </div>
                                <upload width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @success="claimsUploadFile($event, 1)" />
                            </div>
                        </div>
                        <div class="box_item_list_row" style="width: 100%; margin-bottom: 30px;">
                            <div class="box_item_list_row_title">
                                <div class="x"></div>
                                <span>门诊</span>
                            </div>
                            <div class="box_item_list_row_l">
                                <div class="desc_data_list_item" v-for="(item, index) in ruleForm.outpatientFileList" :key="index">
                                    <div class="desc_data_list_item_dele" @click="delFile(index, 2)">删除</div>
                                    <div class="desc_data_list_item_img" v-if="item.type === 0">
                                        <img :src="item.url" alt="img"/>
                                    </div>
                                    <div class="desc_data_list_item_img" v-if="item.type === 1">
                                        <video controls :src="item.url" />
                                    </div>
                                    <div class="desc_data_list_item_img" v-if="item.type === 2">
                                        <i class="el-icon-folder-opened"></i>
                                    </div>
                                    <div class="desc_data_list_item_info">
                                        <span>{{ item.name }}</span>
                                    </div>
                                </div>
                                <upload width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @success="claimsUploadFile($event, 2)" />
                            </div>
                        </div>
                        <div class="box_item_list_row" style="width: 100%; margin-bottom: 30px;">
                            <div class="box_item_list_row_title">
                                <div class="x"></div>
                                <span>住院</span>
                            </div>
                            <div class="box_item_list_row_l">
                                <div class="desc_data_list_item" v-for="(item, index) in ruleForm.hospitalFileList" :key="index">
                                    <div class="desc_data_list_item_dele" @click="delFile(index, 3)">删除</div>
                                    <div class="desc_data_list_item_img" v-if="item.type === 0">
                                        <img :src="item.url" alt="img"/>
                                    </div>
                                    <div class="desc_data_list_item_img" v-if="item.type === 1">
                                        <video controls :src="item.url" />
                                    </div>
                                    <div class="desc_data_list_item_img" v-if="item.type === 2">
                                        <i class="el-icon-folder-opened"></i>
                                    </div>
                                    <div class="desc_data_list_item_info">
                                        <span>{{ item.name }}</span>
                                    </div>
                                </div>
                                <upload width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @success="claimsUploadFile($event, 3)" />
                            </div>
                        </div>
                        <div class="box_item_list_row" style="width: 100%; margin-bottom: 30px;">
                            <div class="box_item_list_row_title">
                                <div class="x"></div>
                                <span>伤残</span>
                            </div>
                            <div class="box_item_list_row_l">
                                <div class="desc_data_list_item" v-for="(item, index) in ruleForm.disabilityFileList" :key="index">
                                    <div class="desc_data_list_item_dele" @click="delFile(index, 4)">删除</div>
                                    <div class="desc_data_list_item_img" v-if="item.type === 0">
                                        <img :src="item.url" alt="img"/>
                                    </div>
                                    <div class="desc_data_list_item_img" v-if="item.type === 1">
                                        <video controls :src="item.url" />
                                    </div>
                                    <div class="desc_data_list_item_img" v-if="item.type === 2">
                                        <i class="el-icon-folder-opened"></i>
                                    </div>
                                    <div class="desc_data_list_item_info">
                                        <span>{{ item.name }}</span>
                                    </div>
                                </div>
                                <upload width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @success="claimsUploadFile($event, 4)" />
                            </div>
                        </div>
                        <div class="box_item_list_row" style="width: 100%; margin-bottom: 30px;">
                            <div class="box_item_list_row_title">
                                <div class="x"></div>
                                <span>其他</span>
                            </div>
                            <div class="box_item_list_row_l">
                                <div class="desc_data_list_item" v-for="(item, index) in ruleForm.otherFileList" :key="index">
                                    <div class="desc_data_list_item_dele" @click="delFile(index, 5)">删除</div>
                                    <div class="desc_data_list_item_img" v-if="item.type === 0">
                                        <img :src="item.url" alt="img"/>
                                    </div>
                                    <div class="desc_data_list_item_img" v-if="item.type === 1">
                                        <video controls :src="item.url" />
                                    </div>
                                    <div class="desc_data_list_item_img" v-if="item.type === 2">
                                        <i class="el-icon-folder-opened"></i>
                                    </div>
                                    <div class="desc_data_list_item_info">
                                        <span>{{ item.name }}</span>
                                    </div>
                                </div>
                                <upload width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @success="claimsUploadFile($event, 5)" />
                            </div>
                        </div>
                    </div>
                </div>
            </el-form>
        </div>
    </GlobalWindow>
</template>
<script>
    import BaseOpera from '@/components/base/BaseOpera'
    import GlobalWindow from '@/components/common/GlobalWindow'
    import upload from '@/components/common/upload'
    import { getCompensation } from '@/api/business/settleRisk'
    import { createSys } from '@/api/business/settleClaims'
    import { findById } from '@/api/business/settleClaimsMovement'
    export default {
        name: 'OpearaCaseEntryWindow',
        extends: BaseOpera,
        components: { GlobalWindow, upload },
        data () {
            return {
                ruleForm: {
                    id: null,
                    extData: {
                        memberName: '',
                        memberIdcardType: '',
                        memberIdcard: '',
                        memberBirthday: '',
                        memberAge: '',
                        memberSex: 0,
                        memberPhone: '',
                        memberAddr: '',
                        bxName: '',
                        bxCode: '',
                        bxDate: [],
                        bxStartdate: '',
                        bxEnddate: '',
                        bxTbName: '',
                        bxBbName: '',
                        bxOrg: '',
                        bxYsMoney: '',
                        bxSsMoney: '',
                        rsAttr: '',
                        rsInfo: '',
                        rsZlStatus: '',
                        rsLossMoney: '',
                        rsJzInfo: '',
                        rsCyDate: '',
                        rsYlOrg: '',
                        rsDeathDate: '',
                        jzHospital: '',
                        jzZyCode: '',
                        jzZyKs: '',
                        jzZyDate: '',
                        jzCyDate: '',
                        jzZyDays: '',
                        zdZlInfo: '',
                        zdSqInfo: '',
                        zdLczd: '',
                        zdSsName: '',
                        zdHxProject: '',
                        zdJwb: '',
                        hzBdhCl: '',
                        hzDutyRate: '',
                        jdInfo: '',
                        jdChannel: '',
                        jdOrg: '',
                        jdUser: '',
                        jdPdDate: '',
                        jdScLevel: '',
                        jdTerms: '',
                        jdXishu: '',
                        jdJsldht: 1,
                        jdZrpctkRel: 0,
                        logoff: 1,
                        logoffUser: '',
                        logoffDate: ''
                    },
                    informantName: '',
                    informantPhone: '',
                    reportNum: '',
                    areaInfo: '',
                    type: 0,
                    hospital: '',
                    inHospital: 1,
                    hurtType: 0,
                    payForYbwyy: 1,
                    relationFileList: [],
                    outpatientFileList: [],
                    hospitalFileList: [],
                    disabilityFileList: [],
                    otherFileList: [],
                    reportFileList: [],
                    accountList: [],
                    dzbdFileList: [],
                    status: '',
                    medicalInsurance: 1,
                    content: '',
                    happenTime: '',
                    createDate: ''
                },
                rules: {
                    'extData.memberName': [
                        { required: true, message: '不能为空', trigger: 'blur' }
                    ],
                    'extData.memberIdcardType': [
                        { required: true, message: '不能为空', trigger: 'blur' }
                    ],
                    'extData.memberIdcard': [
                        { required: true, message: '不能为空', trigger: 'blur' }
                    ],
                    'extData.memberSex': [
                        { required: true, message: '不能为空', trigger: 'blur' }
                    ],
                    'extData.memberPhone': [
                        { required: true, message: '不能为空', trigger: 'blur' }
                    ],
                    'extData.bxName': [
                        { required: true, message: '不能为空', trigger: 'blur' }
                    ],
                    'extData.bxCode': [
                        { required: true, message: '不能为空', trigger: 'blur' }
                    ],
                    'extData.bxDate': [
                        { required: true, message: '不能为空', trigger: 'blur' }
                    ],
                    'extData.bxTbName': [
                        { required: true, message: '不能为空', trigger: 'blur' }
                    ],
                    'extData.bxBbName': [
                        { required: true, message: '不能为空', trigger: 'blur' }
                    ],
                    'extData.bxOrg': [
                        { required: true, message: '不能为空', trigger: 'blur' }
                    ],
                    informantPhone: [
                        { required: true, message: '不能为空', trigger: 'blur' }
                    ]
                },
                uploadImgUrl: process.env.VUE_APP_API_PREFIX + '/public/upload?folder=settle',
                totalPrice: 0,
                list1: [],
                list2: [],
                list3: [],
            }
        },
        created () {
            this.config({
                api: '/business/company',
                'field.id': 'id'
            })
        },
        methods: {
            open (title, id) {
                this.title = title
                if (id) {
                    findById(id)
                        .then(res => {
                            console.log(res)
                            this.ruleForm.id = id
                            this.$nextTick(() => {
                                for (const key in this.ruleForm) {
                                    this.ruleForm[key] = res[key]
                                }
                                if (this.ruleForm.accountList && this.ruleForm.accountList.length > 0) {
                                    this.list1 = this.ruleForm.accountList.filter(item => item.type === 0)
                                    this.list2 = this.ruleForm.accountList.filter(item => item.type === 1)
                                    this.list3 = this.ruleForm.accountList.filter(item => item.type === 2)
                                    this.changeFee()
                                }
                                if (res.extData.bxStartdate && res.extData.bxEnddate) {
                                    this.ruleForm.extData.bxDate = [res.extData.bxStartdate, res.extData.bxEnddate]
                                }
                            })
                            this.visible = true
                        })
                } else {
                    this.visible = true
                    this.ruleForm = {
                        id: null,
                        extData: {
                            memberName: '',
                            memberIdcardType: '',
                            memberIdcard: '',
                            memberBirthday: '',
                            memberAge: '',
                            memberSex: 0,
                            memberPhone: '',
                            memberAddr: '',
                            bxName: '',
                            bxCode: '',
                            bxDate: [],
                            bxStartdate: '',
                            bxEnddate: '',
                            bxTbName: '',
                            bxBbName: '',
                            bxOrg: '',
                            bxYsMoney: '',
                            bxSsMoney: '',
                            rsAttr: '',
                            rsInfo: '',
                            rsZlStatus: '',
                            rsLossMoney: '',
                            rsJzInfo: '',
                            rsCyDate: '',
                            rsYlOrg: '',
                            rsDeathDate: '',
                            jzHospital: '',
                            jzZyCode: '',
                            jzZyKs: '',
                            jzZyDate: '',
                            jzCyDate: '',
                            jzZyDays: '',
                            zdZlInfo: '',
                            zdSqInfo: '',
                            zdLczd: '',
                            zdSsName: '',
                            zdHxProject: '',
                            zdJwb: '',
                            hzBdhCl: '',
                            hzDutyRate: '',
                            jdInfo: '',
                            jdChannel: '',
                            jdOrg: '',
                            jdUser: '',
                            jdPdDate: '',
                            jdScLevel: '',
                            jdTerms: '',
                            jdXishu: '',
                            jdJsldht: 1,
                            jdZrpctkRel: 0,
                            logoff: 1,
                            logoffUser: '',
                            logoffDate: ''
                        },
                        informantName: '',
                        informantPhone: '',
                        reportNum: '',
                        areaInfo: '',
                        type: 0,
                        hospital: '',
                        inHospital: 1,
                        hurtType: 0,
                        payForYbwyy: 1,
                        relationFileList: [],
                        outpatientFileList: [],
                        hospitalFileList: [],
                        disabilityFileList: [],
                        otherFileList: [],
                        reportFileList: [],
                        accountList: [],
                        dzbdFileList: [],
                        status: '',
                        medicalInsurance: 1,
                        content: '',
                        happenTime: '',
                        createDate: ''
                    }
                }
                this.getCompensations()
            },
            confirm() {
                this.$refs.ruleForm.validate((valid) => {
                    if (!valid) return
                    this.isWorking = true
                    let obj = JSON.parse(JSON.stringify(this.ruleForm))
                    obj.accountList = [...this.list1, ...this.list2, ...this.list3]
                    createSys(obj)
                        .then(() => {
                            this.visible = false
                            if (!obj.id) {
                                this.$tip.apiSuccess('新建成功')
                            } else {
                                this.$tip.apiSuccess('编辑成功')
                            }
                            this.$emit('success')
                        })
                        .catch(e => {
                            this.$tip.apiFailed(e)
                        })
                        .finally(() => {
                            this.isWorking = false
                        })
                })
            },
            changeFee() {
                let arr = [...this.list1, ...this.list2]
                let price = 0
                arr.forEach(item => {
                    if (item.fee) {
                        price += Number(item.fee)
                    }
                })
                this.totalPrice = price
            },
            delFile (index, type) {
                if (type === 1) {
                    this.ruleForm.relationFileList.splice(index, 1)
                } else if (type === 2) {
                    this.ruleForm.outpatientFileList.splice(index, 1)
                } else if (type === 3) {
                    this.ruleForm.hospitalFileList.splice(index, 1)
                } else if (type === 4) {
                    this.ruleForm.disabilityFileList.splice(index, 1)
                } else if (type === 5) {
                    this.ruleForm.otherFileList.splice(index, 1)
                } else if (type === 6) {
                    this.ruleForm.reportFileList.splice(index, 1)
                } else if (type === 7) {
                    this.ruleForm.dzbdFileList.splice(index, 1)
                }
            },
            claimsUploadFile(file, type) {
                file.fileurl = file.imgaddr
                file.name = file.originname
                if (type === 1) {
                    this.ruleForm.relationFileList.push(file)
                } else if (type === 2) {
                    this.ruleForm.outpatientFileList.push(file)
                } else if (type === 3) {
                    this.ruleForm.hospitalFileList.push(file)
                } else if (type === 4) {
                    this.ruleForm.disabilityFileList.push(file)
                } else if (type === 5) {
                    this.ruleForm.otherFileList.push(file)
                } else if (type === 6) {
                    this.ruleForm.reportFileList.push(file)
                } else if (type === 7) {
                    this.ruleForm.dzbdFileList.push(file)
                }
            },
            changeBxDate(e) {
                if (e.length > 1) {
                    this.ruleForm.extData.bxStartdate = e[0]
                    this.ruleForm.extData.bxEnddate = e[1]
                } else {
                    this.ruleForm.extData.bxStartdate = ''
                    this.ruleForm.extData.bxEnddate = ''
                }
            },
            getCompensations() {
                getCompensation({ type: 1 })
                    .then(res => {
                        console.log(res)
                        this.list1 = res.filter(item => item.type === 0)
                        this.list2 = res.filter(item => item.type === 1)
                        this.list3 = res.filter(item => item.type === 2)
                    })
            }
        }
    }
</script>
<style lang="scss" scoped>
    .box {
        width: 100%;
        .box_item {
            width: 100%;
            margin-bottom: 30px;
            .box_item_title {
                width: 100%;
                margin-bottom: 15px;
                span {
                    color: rgba(16,16,16,1);
                    font-size: 16px;
                    margin-right: 10px;
                }
            }
            .box_item_desc {
                width: 100%;
                padding-left: 50px;
                box-sizing: border-box;
                color: rgba(16,16,16,1);
                font-size: 14px;
                margin-bottom: 15px;
            }
            .price {
                width: 100%;
                height: 62px;
                display: flex;
                align-items: center;
                justify-content: space-between;
                border-radius: 4px;
                background-color: rgba(239,239,239,1);
                margin-top: 50px;
                padding: 0 20px;
                box-sizing: border-box;
                span {
                    &:nth-child(1) {
                        color: rgba(16,16,16,1);
                        font-size: 18px;
                    }
                    &:nth-child(2) {
                        color: rgba(255,149,2,1);
                        font-size: 22px;
                    }
                }
            }
            .button {
                width: 100%;
                display: flex;
                align-items: center;
                justify-content: end;
                margin-top: 15px;
                .button_submit {
                    width: 108px;
                    height: 38px;
                    line-height: 38px;
                    text-align: center;
                    border-radius: 4px;
                    color: rgba(255,255,255,1);
                    font-size: 14px;
                    background-color: rgba(31,99,255,1);
                }
            }
            .box_item_list {
                width: 100%;
                display: flex;
                align-items: center;
                flex-wrap: wrap;
                justify-content: space-between;
                .box_item_list_rowx {
                    width: 33.3%;
                    height: 0;
                }
                .box_item_list_row {
                    width: 33.3%;
                    .box_item_list_row_l {
                        width: 100%;
                        display: flex;
                        align-items: center;
                        flex-wrap: wrap;
                        .desc_data_list_item {
                            width: 100px;
                            height: 100px;
                            padding: 10px;
                            box-sizing: border-box;
                            border: 1px solid #e2e2e2;
                            display: flex;
                            flex-direction: column;
                            align-items: center;
                            justify-content: center;
                            position: relative;
                            margin-bottom: 10px;
                            margin-left: 10px;
                            &:first-child {
                                margin-left: 0 !important;
                            }
                            .desc_data_list_item_dele {
                                position: absolute;
                                top: 5px;
                                right: 5px;
                                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: 70px;
                                height: 70px;
                                display: flex;
                                align-items: center;
                                justify-content: center;
                                overflow: hidden;
                                margin-right: 10px;
                                .el-icon-folder-opened {
                                    font-size: 34px;
                                    color: #666666;
                                }
                                .el-icon-plus {
                                    font-size: 26px;
                                    color: #ffffff;
                                }
                                img {
                                    width: 100%;
                                }
                                video {
                                    width: 100%;
                                }
                            }
                            .desc_data_list_item_info {
                                width: 100%;
                                display: flex;
                                flex-direction: column;
                                justify-content: space-between;
                                word-break: break-all;
                                span {
                                    width: 100%;
                                    white-space: nowrap;
                                    overflow: hidden;
                                    text-overflow: ellipsis;
                                    font-size: 14px;
                                    color: black;
                                }
                            }
                        }
                    }
                    .box_item_list_row_title {
                        width: 100%;
                        display: flex;
                        align-items: center;
                        margin-bottom: 20px;
                        .x {
                            width: 1px;
                            height: 14px;
                            background-color: rgba(255,255,255,1);
                            border: 4px solid rgba(22,93,255,1);
                            margin-right: 10px;
                        }
                        span {
                            color: rgba(16,16,16,1);
                            font-size: 14px;
                        }
                    }
                }
            }
        }
    }
</style>