k94314517
2024-02-23 3c456949b70671cc2ad95ad5395dfaceda519f17
company/src/components/business/OperaSettleClaimsWindow.vue
@@ -6,13 +6,13 @@
        :confirm-working="isWorking"
        @confirm="confirm"
    >
        <div class="desc">
        <div class="desc" v-loading="loading">
            <div class="desc_label">
                <div class="desc_label_left">
                    <span class="desc_label_left_title">
                        报案详情
                    </span>
                    <span class="desc_label_left_time" :style="contrast(model.createDate, model.baoxianEndTime) ? 'rgba(249, 86, 1, 0.996)' : 'black'">
                    <span class="desc_label_left_time" :style="contrast(model.createDate, model.baoxianEndTime) ? 'color: rgba(249, 86, 1, 0.996)' : 'color: black'">
                        报案日期:{{ model.createDate }}
                    </span>
                    <span class="desc_label_left_code">
@@ -33,8 +33,8 @@
                        <el-button type="danger" v-if="model.status !=1 && model.status !=4" @click="$refs.operaInsuranceApplyCheckWindow.open('撤销申请',model,remarkLogList,3)">撤销申请</el-button>
                    </template>
                    <template v-else>
                        <el-button type="primary" @click="edit" v-if="model.status === 2">修改信息</el-button>
                        <el-button type="primary" @click="$refs.supplementaryExplanation.open('补充说明', model.id)" v-if="model.status === 2">补充说明</el-button>
                        <el-button type="primary" @click="edit" v-if="model.status === 0 || model.status === 2 || model.status === 3">修改信息</el-button>
                        <el-button type="primary" @click="$refs.supplementaryExplanation.open('补充说明', model.id)" v-if="model.status === 0 || model.status === 2 || model.status === 3">补充说明</el-button>
                    </template>
                </div>
            </div>
@@ -59,17 +59,17 @@
                    <div class="desc_list_item_label" >
                        事故发生时间:
                    </div>
                    <div class="desc_list_item_val" :style="contrast24(model.createDate, model.baoxianStartTime) ? 'rgba(249, 86, 1, 0.996)' : 'black'">
                      {{ model.createDate }}
                    <div class="desc_list_item_val" :style="contrast24(model.baoxianStartTime, model.happenTime) ? 'color: rgba(249, 86, 1, 0.996)' : 'color: black'">
                      {{ model.happenTime }}
                    </div>
                </div>
                <div class="desc_list_item">
                    <div class="desc_list_item_label">
                        所属保单号:
                    </div>
                    <div class="desc_list_item_val" style="cursor: pointer; color: rgba(39, 157, 255, 0.968627450980392);">
                    <div class="desc_list_item_val" style="cursor: pointer; color: rgba(39, 157, 255, 0.968627450980392);" @click="$refs.OperaInsuranceApplyDetails.open('投保详情', { id: model.insuranceApplyId })">
                      {{ model.applyCode || '-' }}
                        <el-button v-if="model.baoxiandanFile && model.baoxiandanFile.fileurlFull" type="primary" style="margin-left: 10px;" @click="openBaoxiandan">查看保险单</el-button>
                        <el-button v-if="model.baoxiandanFile && model.baoxiandanFile.fileurlFull" type="primary" style="margin-left: 10px;" @click.stop="openBaoxiandan">查看保险单</el-button>
                    </div>
                </div>
                <div class="desc_list_item">
@@ -116,9 +116,9 @@
                    <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-if="model.type ===1">上下班途中受伤</div>
                    <div class="desc_list_item_val" v-else-if="model.type ===2">非工作时间受伤</div>
                    <div class="desc_list_item_val"  v-else-if="model.type ===3">意外受伤</div>
                    <div class="desc_list_item_val"  v-else>工作期间受伤</div>
                </div>
                <div class="desc_list_item">
@@ -126,7 +126,7 @@
                        是否住院:
                    </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-if="model.inHospital === 0">是</div>
                        <div class="desc_list_item_val"  v-else>否</div>
                    </div>
                </div>
@@ -134,7 +134,7 @@
                    <div class="desc_list_item_label">
                        是否有医疗保险:
                    </div>
                    <div class="desc_list_item_val">{{ model.medicalInsurance ===1?"是":"否" }}</div>
                    <div class="desc_list_item_val">{{ model.medicalInsurance ===0?"是":"否" }}</div>
                </div>
                <div class="desc_list_item">
                    <div class="desc_list_item_label">
@@ -166,8 +166,8 @@
                    </div>
                    <div class="desc_list_item_videos" v-if="model.reportFileList && model.reportFileList.length > 0">
                        <div class="desc_list_item_imgs_video" v-for="(item, index) in model.reportFileList" :key="index">
                            <img :src="item.fileurlFull" v-if="item.type === 2" />
                            <video controls autoplay :src="item.fileurlFull" v-if="item.type === 1"></video>
                            <img :src="item.fileurlFull" v-if="item.type === 0" />
                            <video controls :src="item.fileurlFull" v-if="item.type === 1"></video>
                        </div>
                    </div>
                    <div v-else class="desc_list_item_videos">-</div>
@@ -179,8 +179,8 @@
                    <span class="desc_label_left_title">
                        理赔资料
                    </span>
                    <span v-if="doneFileDate!=null" class="desc_label_left_time" style="color: black">
                        资料完成日期:{{doneFileDate}}
                    <span v-if="model.finishDate!=null" class="desc_label_left_time" style="color: black">
                        资料完成日期:{{model.finishDate}}
                    </span>
                </div>
                <div class="desc_label_right">
@@ -210,10 +210,10 @@
                        </div>
                      </div>
                    </template>
                  <template   v-if="(model.relationFileList==null|| model.relationFileList.length==0) && (model.status ==2 || model.status ==4)">
                  <template   v-if="(model.relationFileList==null|| model.relationFileList.length==0) && (model.status ==1 || model.status ==4)">
                    <span style="height: 40px; width:100%;text-align:center;color: #8c939d;font-size: 12px">暂无相关材料</span>
                  </template>
                    <upload v-if="model.status !=2 && model.status !=4" width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @success="claimsUploadFile($event, 2)" />
                    <upload v-if="model.status !=1 && model.status !=4" width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @loading="loading = true" @success="claimsUploadFile($event, 2)" />
<!--                    <div class="desc_data_list_item">-->
<!--                      <UploadFileCommon :uploadData="{ folder: 'settle' }" />-->
<!--                      <div class="desc_data_list_item_upload">-->
@@ -254,7 +254,7 @@
                  <template   v-if="(model.outpatientFileList==null|| model.outpatientFileList.length==0) && (model.status ==2 || model.status ==4)">
                    <span style="height: 40px; width:100%;text-align:center;color: #8c939d;font-size: 12px">暂无相关材料</span>
                  </template>
                    <upload v-if="model.status !=2 && model.status !=4" width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @success="claimsUploadFile($event, 3)" />
                    <upload v-if="model.status !=1 && model.status !=4" width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @loading="loading = true" @success="claimsUploadFile($event, 3)" />
<!--                    <div class="desc_data_list_item">-->
<!--                        <div class="desc_data_list_item_img" style="cursor: pointer; background: #8c939d;">-->
<!--                            <i class="el-icon-plus"></i>-->
@@ -287,7 +287,7 @@
                  <template   v-if="(model.hospitalFileList==null|| model.hospitalFileList.length==0) && (model.status ==2 || model.status ==4)">
                    <span style="height: 40px; width:100%;text-align:center;color: #8c939d;font-size: 12px">暂无相关材料</span>
                  </template>
                    <upload v-if="model.status !=2 && model.status !=4" width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @success="claimsUploadFile($event, 4)" />
                    <upload v-if="model.status !=1 && model.status !=4" width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @loading="loading = true" @success="claimsUploadFile($event, 4)" />
<!--                    <div class="desc_data_list_item">-->
<!--                        <div class="desc_data_list_item_img" style="cursor: pointer; background: #8c939d;">-->
<!--                            <i class="el-icon-plus"></i>-->
@@ -320,7 +320,7 @@
                  <template   v-if="(model.disabilityFileList==null|| model.disabilityFileList.length==0) && (model.status ==2 || model.status ==4)">
                    <span style=" height: 40px;width:100%;text-align:center;color: #8c939d;font-size: 12px">暂无相关材料</span>
                  </template>
                    <upload  v-if="model.status !=2 && model.status !=4" width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @success="claimsUploadFile($event, 5)" />
                    <upload  v-if="model.status !=1 && model.status !=4" width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @loading="loading = true" @success="claimsUploadFile($event, 5)" />
<!--                    <div class="desc_data_list_item">-->
<!--                      <UploadFileCommon :uploadData="{ folder: 'apply',fileType:'.pdf' }" :fileList="form.fileList1" @uploadSuccess="baoxianFileUploaded" />-->
<!--&lt;!&ndash;                      <div class="desc_data_list_item_img" style="cursor: pointer; background: #8c939d;">-->
@@ -357,7 +357,7 @@
                  <template   v-if="(model.compensationFileList==null|| model.compensationFileList.length==0) && (model.status ==2 || model.status ==4)">
                    <span style=" height: 40px;width:100%;text-align:center;color: #8c939d;font-size: 12px">暂无相关材料</span>
                  </template>
                    <upload v-if="model.status !=2 && model.status !=4" width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @success="claimsUploadFile($event, 6)" />
                    <upload v-if="model.status !=1 && model.status !=4" width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @loading="loading = true" @success="claimsUploadFile($event, 6)" />
<!--                    <div class="desc_data_list_item">-->
<!--                        <div class="desc_data_list_item_img" style="cursor: pointer; background: #8c939d;">-->
<!--                            <i class="el-icon-plus"></i>-->
@@ -425,6 +425,8 @@
        <onlineReporting ref="onlineReporting" @success="callback" />
        <!--    补充说明    -->
        <supplementaryExplanation ref="supplementaryExplanation" @success="callback" />
        <!--    投保详情    -->
        <OperaInsuranceApplyDetails ref="OperaInsuranceApplyDetails" @success="callback" />
    </GlobalWindow>
</template>
@@ -436,21 +438,23 @@
    import OperaSettleClaimsCheckWindow from '@/components/business/OperaSettleClaimsCheckWindow'
    import onlineReporting from '@/components/enterprise/onlineReporting'
    import supplementaryExplanation from '@/components/enterprise/supplementaryExplanation'
    import OperaInsuranceApplyDetails from '@/components/business/OperaInsuranceApplyWindow'
    import upload from '@/components/common/upload'
    import {confirmFile, findById,exportFiles,claimsUploadFile,delFile} from '@/api/business/settleClaims'
    import { mapState } from 'vuex'
    export default {
        name: 'OperaSettleClaimsWindow',
        extends: BaseOpera,
        components: { GlobalWindow, OperaSettleClaimsCheckWindow,UploadFileCommon, onlineReporting, supplementaryExplanation, upload },
        components: { GlobalWindow, OperaSettleClaimsCheckWindow, OperaInsuranceApplyDetails, UploadFileCommon, onlineReporting, supplementaryExplanation, upload },
        data () {
            return {
              doneFileDate: null,
              remarkLogList: [],
              list: [],
              model: {},
              activeName: 'first',
              reverse: false,
                loading: false,
                doneFileDate: null,
                remarkLogList: [],
                list: [],
                model: {},
                activeName: 'first',
                reverse: false
            }
        },
        computed: {
@@ -474,10 +478,13 @@
          },
            // 判断两个时间之间相差是否
            contrast24(time1, time2) {
              console.log(time1)
              console.log(time2)
              if (time1 && time2) {
                  let a = new Date(time1)
                  let b = new Date(time2)
                  let timeDiff = Math.abs(a.getTime() - b.getTime());
                  console.log(Math.ceil(timeDiff / (3600 * 1000)))
                  return Math.ceil(timeDiff / (3600 * 1000)) <= 24;
              } else {
                  return false
@@ -548,6 +555,8 @@
                    this.getDetail()
                }).catch(err => {
                    this.$tip.apiFailed(err)
                }).finally(() => {
                    this.loading = false
                })
            },
            submit(type) {
@@ -809,7 +818,6 @@
                        }
                        img {
                            width: 100%;
                            height: 100%;
                        }
                        video {
                            width: 100%;
@@ -821,16 +829,27 @@
                        display: flex;
                        flex-direction: column;
                        justify-content: space-between;
                        word-break: break-all;
                        span {
                            &:nth-child(1) {
                                width: 160px;
                                white-space: nowrap;
                                overflow: hidden;
                                text-overflow: ellipsis;
                                font-size: 14px;
                                color: black;
                                padding-right: 30px;
                                box-sizing: border-box;
                            }
                            &:nth-child(2) {
                                width: 100%;
                                word-break: break-all;
                                font-size: 14px;
                                color: #888888;
                            }
                            &:nth-child(3) {
                                width: 100%;
                                word-break: break-all;
                                font-size: 14px;
                                color: #888888;
                            }