<template> 
 | 
    <GlobalWindow 
 | 
        :title="title" 
 | 
        width="100%" 
 | 
        :visible.sync="visible" 
 | 
        :confirm-working="isWorking" 
 | 
        @confirm="confirm" 
 | 
    > 
 | 
        <div class="desc"> 
 | 
            <div class="desc_item"> 
 | 
                <div class="desc_item_label" v-if="userInfo.type === 1 &&(model.statusCollect === 2 || model.statusCollect === 3)"> 
 | 
                    <div class="desc_item_label_left"> 
 | 
                        <span>保险到期还有 <b style="color: #F95601;">{{model.loseEfficacyDays ? model.loseEfficacyDays : '-'}}</b> 天</span> 
 | 
                        <el-button type="primary" v-if="model.statusCollect === 2 || model.statusCollect === 3" @click="$refs.OperaInsuranceApply.open('续保', { id: dataId, type: 1 })">一键续保</el-button> 
 | 
                        <el-button type="primary" v-if="model.statusCollect === 2" @click="$refs.additionSubtractionApplication.open('加减保申请', { id: dataId })">加减保申请</el-button> 
 | 
                        <el-button type="primary" v-if="model.statusCollect === 2" @click="$refs.factoryChange.open('更换派遣单位申请', { id: dataId })">更换派遣单位申请</el-button> 
 | 
                    </div> 
 | 
                </div> 
 | 
                <div class="desc_item_label"> 
 | 
                    <div class="desc_item_label_left"> 
 | 
                        <span>投保企业:{{ model.companyName }}</span> 
 | 
                      <span>保单状态:<span  :class="'apply-status'+model.status" >{{ model.statusInfo }}</span></span> 
 | 
                        <span>提交时间:{{ model.createDate }}</span> 
 | 
                    </div> 
 | 
                  <div class="desc_item_label_right"> 
 | 
                      <template v-if="userInfo.type === 1"> 
 | 
                          <el-button v-if="[0, 2, 3, 10].includes(model.status)" type="danger" @click="$refs.applyReturn.open('申请退回', {id: dataId})">申请退回</el-button> 
 | 
                          <el-button v-if="model.status == 4" type="primary" @click="$refs.OperaInsuranceApply.open('投保申请', {id: dataId})">再次投保</el-button> 
 | 
                          <el-button v-if="model.status == 4" type="primary" @click="closeOrder">关闭申请</el-button> 
 | 
                          <el-button type="primary" @click="$refs.InsuranceDetails.open('投保详情单',model,0)">导出详单</el-button> 
 | 
                          <el-button v-if="[2, 3, 5, 7, 8].includes(model.status)" type="primary" @click="viewToubaodan">查看投保单</el-button> 
 | 
                          <el-button v-if="model.status == 5" type="primary" @click="viewBaoxiandan">查看保险单</el-button> 
 | 
<!--                          goSign--> 
 | 
                          <el-button v-if="model.status == 2" type="primary" @click="$refs.operaverifyPhoneNumberWindew.open('验证手机号')">签署投保单</el-button> 
 | 
                      </template> 
 | 
                    <template v-else> 
 | 
                      <el-button type="primary" @click="$refs.InsuranceDetails.open('投保详情单',model,0)">导出详单</el-button> 
 | 
                      <el-button v-if="[2, 3, 5, 7, 8].includes(model.status)" type="primary" @click="viewToubaodan">查看投保单</el-button> 
 | 
                      <el-button v-if="model.status == 5" type="primary" @click="viewBaoxiandan">查看保险单</el-button> 
 | 
                      <el-button v-if="[2,10].includes(model.status) && model.solutionType ==0" type="primary" @click="$refs.OperaInsuranceApplyCheckWindow.open('上传投保单',model,2)">上传投保单</el-button> 
 | 
                      <el-button v-if="model.status == 3 && model.solutionType ==0" type="primary" @click="$refs.OperaInsuranceApplyCheckWindow.open('上传保险单',model,3)">上传保险单</el-button> 
 | 
                      <el-button  v-if="[6,7,8,11].includes(model.status) && model.solutionType ==0" type="primary" @click="$refs.OperaInsuranceApplyCheckWindow.open('驳回退回申请',model,5)">驳回退回申请</el-button> 
 | 
                      <el-button v-if="model.status == 0 && model.solutionType ==0" type="primary" @click="$refs.InsuranceDetails.open('投保审核',model,1)">投保审核</el-button> 
 | 
                      <el-button v-if="![1,4,,5].includes(model.status) && model.solutionType ==0" type="danger" @click="$refs.OperaInsuranceApplyCheckWindow.open('退回申请',model,1)">退回申请</el-button> 
 | 
                      <el-button v-if="model.status == 5  && model.solutionType ==0" type="danger" @click="$refs.OperaInsuranceApplyCheckWindow.open('修改保险单',model,4)">修改保险单</el-button> 
 | 
                    </template> 
 | 
                  </div> 
 | 
                </div> 
 | 
                <div class="desc_item_from"> 
 | 
                    <el-table 
 | 
                        :data="tableData" 
 | 
                        border 
 | 
                        style="width: 100%"> 
 | 
                        <el-table-column 
 | 
                            prop="code" 
 | 
                            align="center" 
 | 
                            label="保单号"> 
 | 
                        </el-table-column> 
 | 
                        <el-table-column 
 | 
                            prop="solutionsName" 
 | 
                            label="保险方案" 
 | 
                            align="center" 
 | 
                            width="180"> 
 | 
                        </el-table-column> 
 | 
                        <el-table-column 
 | 
                            prop="startTime" 
 | 
                            align="center" 
 | 
                            label="保险生效起期"> 
 | 
                        </el-table-column> 
 | 
                        <el-table-column 
 | 
                            prop="endTime" 
 | 
                            align="center" 
 | 
                            label="保险生效止期"> 
 | 
                        </el-table-column> 
 | 
                        <el-table-column 
 | 
                            prop="insureNum" 
 | 
                            align="center" 
 | 
                            label="投保人数"> 
 | 
                        </el-table-column> 
 | 
                        <el-table-column 
 | 
                            prop="guaranteeNum" 
 | 
                            align="center" 
 | 
                            label="在保人数"> 
 | 
                        </el-table-column> 
 | 
                        <el-table-column 
 | 
                            prop="serviceDays" 
 | 
                            align="center" 
 | 
                            label="保单时长(天)"> 
 | 
                        </el-table-column> 
 | 
                        <el-table-column 
 | 
                            prop="currentFee" 
 | 
                            align="center" 
 | 
                            label="已产生费用(元)"> 
 | 
                        </el-table-column> 
 | 
                        <el-table-column 
 | 
                            prop="fee" 
 | 
                            align="center" 
 | 
                            label="总费用(元)"> 
 | 
                        </el-table-column> 
 | 
                    </el-table> 
 | 
                </div> 
 | 
                <div class="desc_item_cate"> 
 | 
                    <el-tabs v-model="activeName" @tab-click="handleClick"> 
 | 
                        <el-tab-pane label="在保人员" name="0" ></el-tab-pane> 
 | 
                        <el-tab-pane label="加/减保记录"  name="1"></el-tab-pane> 
 | 
                        <el-tab-pane label="更换派遣单位记录" name="2"></el-tab-pane> 
 | 
                    </el-tabs> 
 | 
                </div> 
 | 
                <div class="desc_item_search"> 
 | 
                    <el-form :inline="true" :model="formInline" ref="sou" class="demo-form-inline"> 
 | 
                        <template v-if="activeName === '0'"> 
 | 
                            <el-form-item label="在保状态" prop="applyStatus"> 
 | 
                                <el-select v-model="formInline.applyStatus" @change="search" placeholder="请选择"> 
 | 
                                    <el-option label="全部" value="0"></el-option> 
 | 
                                    <el-option label="保障中" value="1"></el-option> 
 | 
                                    <el-option label="不在保" value="2"></el-option> 
 | 
                                </el-select> 
 | 
                            </el-form-item> 
 | 
                            <el-form-item label="派遣单位" prop="duId"> 
 | 
                                <el-select v-model="formInline.duId" placeholder="请选择" @change="search"> 
 | 
                                    <el-option 
 | 
                                        v-for="item in dwList" 
 | 
                                        :key="item.id" 
 | 
                                        :label="item.name" 
 | 
                                        :value="item.id"> 
 | 
                                    </el-option> 
 | 
                                </el-select> 
 | 
                            </el-form-item> 
 | 
                            <el-form-item label="所属工种" prop="workTypeId"> 
 | 
                                <el-select v-model="formInline.workTypeId" placeholder="请选择" @change="search"> 
 | 
                                    <el-option 
 | 
                                        v-for="item in gzList" 
 | 
                                        :key="item.id" 
 | 
                                        :label="item.name" 
 | 
                                        :value="item.id"> 
 | 
                                    </el-option> 
 | 
                                </el-select> 
 | 
                            </el-form-item> 
 | 
                            <el-form-item label="员工姓名" prop="memberName"> 
 | 
                                <el-input v-model="formInline.memberName" placeholder="请输入" @keypress.enter.native="search"></el-input> 
 | 
                            </el-form-item> 
 | 
                            <el-form-item label="保险生效起期" prop="end"> 
 | 
                                <el-date-picker 
 | 
                                    @change="changeStart" 
 | 
                                    v-model="formInline.end" 
 | 
                                    type="daterange" 
 | 
                                    format="yyyy 年 MM 月 dd 日" 
 | 
                                    value-format="yyyy-MM-dd" 
 | 
                                    range-separator="至" 
 | 
                                    start-placeholder="开始日期" 
 | 
                                    end-placeholder="结束日期"> 
 | 
                                </el-date-picker> 
 | 
                            </el-form-item> 
 | 
                            <el-form-item label="保险生效止期" prop="start"> 
 | 
                                <el-date-picker 
 | 
                                    @change="changeEnd" 
 | 
                                    v-model="formInline.start" 
 | 
                                    type="daterange" 
 | 
                                    format="yyyy 年 MM 月 dd 日" 
 | 
                                    value-format="yyyy-MM-dd" 
 | 
                                    range-separator="至" 
 | 
                                    start-placeholder="开始日期" 
 | 
                                    end-placeholder="结束日期"> 
 | 
                                </el-date-picker> 
 | 
                            </el-form-item> 
 | 
                        </template> 
 | 
                        <template v-else> 
 | 
                            <el-form-item label="状态" prop="applyStatus"> 
 | 
                                <el-select v-model="formInline.applyStatus" @change="search" placeholder="请选择"> 
 | 
                                    <el-option label="全部" value=""></el-option> 
 | 
                                    <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="5"></el-option> 
 | 
                                    <el-option label="已关闭" value="6"></el-option> 
 | 
                                </el-select> 
 | 
                            </el-form-item> 
 | 
                            <el-form-item label="批单生效起期" prop="end"> 
 | 
                                <el-date-picker 
 | 
                                    @change="changeStart" 
 | 
                                    v-model="formInline.end" 
 | 
                                    type="daterange" 
 | 
                                    format="yyyy 年 MM 月 dd 日" 
 | 
                                    value-format="yyyy-MM-dd" 
 | 
                                    range-separator="至" 
 | 
                                    start-placeholder="开始日期" 
 | 
                                    end-placeholder="结束日期"> 
 | 
                                </el-date-picker> 
 | 
                            </el-form-item> 
 | 
                        </template> 
 | 
                        <el-form-item> 
 | 
                            <el-button type="primary" style="width: 80px;" @click="search">查询</el-button> 
 | 
                            <el-button @click="resetting" style="width: 80px;">重置</el-button> 
 | 
                            <el-button type="primary" style="width: 80px;" @click="exportExcel" v-if="activeName === '0'">导出名单</el-button> 
 | 
                        </el-form-item> 
 | 
                    </el-form> 
 | 
                </div> 
 | 
                <div class="desc_item_from"> 
 | 
                    <el-table 
 | 
                        :data="list" 
 | 
                        border 
 | 
                        ref="table" 
 | 
                        v-if="activeName === '0'" 
 | 
                        style="width: 100%"> 
 | 
                        <el-table-column label="序号" 
 | 
                                         align="center"> 
 | 
                            <template slot-scope="scope"> 
 | 
                                <span>{{scope.$index + 1}}</span> 
 | 
                            </template> 
 | 
                        </el-table-column> 
 | 
                        <el-table-column 
 | 
                            :key="Math.random()" 
 | 
                            prop="memberName" 
 | 
                            align="center" 
 | 
                            label="员工姓名"> 
 | 
                        </el-table-column> 
 | 
                        <el-table-column 
 | 
                            align="center" 
 | 
                            :key="Math.random()" 
 | 
                            label="性别"> 
 | 
                            <template slot-scope="{row}"> 
 | 
                                <span v-if="row.sex === 0">男</span> 
 | 
                              <span  v-if="row.sex === 1">女</span> 
 | 
                            </template> 
 | 
                        </el-table-column> 
 | 
                        <el-table-column 
 | 
                            :key="Math.random()" 
 | 
                            prop="idcardNo" 
 | 
                            align="center" 
 | 
                            label="身份证号"> 
 | 
                        </el-table-column> 
 | 
                        <el-table-column 
 | 
                            :key="Math.random()" 
 | 
                            prop="duName" 
 | 
                            align="center" 
 | 
                            label="派遣单位"> 
 | 
                        </el-table-column> 
 | 
                        <el-table-column 
 | 
                            :key="Math.random()" 
 | 
                            prop="workTypeName" 
 | 
                            align="center" 
 | 
                            label="所属工种"> 
 | 
                        </el-table-column> 
 | 
                        <el-table-column 
 | 
                            :key="Math.random()" 
 | 
                            prop="startTime" 
 | 
                            align="center" 
 | 
                            label="保险生效起期"> 
 | 
                        </el-table-column> 
 | 
                        <el-table-column 
 | 
                            :key="Math.random()" 
 | 
                            prop="endTime" 
 | 
                            align="center" 
 | 
                            label="保险生效止期"> 
 | 
                        </el-table-column> 
 | 
                        <el-table-column 
 | 
                            :key="Math.random()" 
 | 
                            align="center" 
 | 
                            prop="fee" 
 | 
                            label="产生费用"> 
 | 
                        </el-table-column> 
 | 
                    </el-table> 
 | 
                    <el-table 
 | 
                        :data="list1" 
 | 
                        border 
 | 
                        ref="table" 
 | 
                        v-if="activeName === '1'" 
 | 
                        style="width: 100%"> 
 | 
                        <el-table-column 
 | 
                            label="序号" 
 | 
                            align="center"> 
 | 
                            <template slot-scope="scope"> 
 | 
                                <span>{{scope.$index + 1}}</span> 
 | 
                            </template> 
 | 
                        </el-table-column> 
 | 
                        <el-table-column label="保单状态" :key="Math.random()" 
 | 
                             align="center"> 
 | 
                            <template slot-scope="{row}"> 
 | 
                                <span :class="'change-status'+row.status" v-if="row.status === 0">待签署</span> 
 | 
                                <span :class="'change-status'+row.status" v-if="row.status === 1">待审核</span> 
 | 
                                <span :class="'change-status'+row.status" v-if="row.status === 2">已生效</span> 
 | 
                                <span :class="'change-status'+row.status" v-if="row.status === 3 || row.status === 4">申请退回</span> 
 | 
                                <span :class="'change-status'+row.status" v-if="row.status === 5 || row.status === 8">已退回</span> 
 | 
                                <span :class="'change-status'+row.status" v-if="row.status === 6">已关闭</span> 
 | 
                            </template> 
 | 
                        </el-table-column> 
 | 
                        <el-table-column 
 | 
                            :key="Math.random()" 
 | 
                            prop="applyCode" 
 | 
                            align="center" 
 | 
                            label="批单号"> 
 | 
                        </el-table-column> 
 | 
                        <el-table-column 
 | 
                            :key="Math.random()" 
 | 
                            prop="addNum" 
 | 
                            align="center" 
 | 
                            label="增加人数(人)"> 
 | 
                        </el-table-column> 
 | 
                        <el-table-column 
 | 
                            :key="Math.random()" 
 | 
                            prop="delNum" 
 | 
                            align="center" 
 | 
                            label="减少人数(人)"> 
 | 
                        </el-table-column> 
 | 
                        <el-table-column 
 | 
                            :key="Math.random()" 
 | 
                            prop="createDate" 
 | 
                            align="center" 
 | 
                            label="提交时间"> 
 | 
                        </el-table-column> 
 | 
                        <el-table-column 
 | 
                            :key="Math.random()" 
 | 
                            prop="applyStartTime" 
 | 
                            align="center" 
 | 
                            label="批单生效起期"> 
 | 
                        </el-table-column> 
 | 
                      <el-table-column 
 | 
                        :key="Math.random()" 
 | 
                        prop="fee" 
 | 
                        align="center" 
 | 
                        label="费用变更(元)"> 
 | 
                    </el-table-column> 
 | 
                        <el-table-column 
 | 
                            align="center" 
 | 
                            :key="Math.random()" 
 | 
                            label="操作"> 
 | 
                            <template slot-scope="{row}"> 
 | 
                                <el-button type="text" @click="$refs.OperaApplyChangeDetailWindow.open('加减保详情', row)">查看详情</el-button> 
 | 
                            </template> 
 | 
                        </el-table-column> 
 | 
                    </el-table> 
 | 
                    <el-table 
 | 
                        :data="list2" 
 | 
                        border 
 | 
                        ref="table" 
 | 
                        v-if="activeName === '2'" 
 | 
                        style="width: 100%"> 
 | 
                        <el-table-column label="序号" 
 | 
                                         align="center"> 
 | 
                            <template slot-scope="scope"> 
 | 
                                <span>{{scope.$index + 1}}</span> 
 | 
                            </template> 
 | 
                        </el-table-column> 
 | 
                        <el-table-column 
 | 
                            align="center" label="保单状态" :key="Math.random()"> 
 | 
                            <template slot-scope="{row}"> 
 | 
                                <span :class="'change-status'+row.status" v-if="row.status === 0">待签署</span> 
 | 
                                <span :class="'change-status'+row.status" v-if="row.status === 1">待审核</span> 
 | 
                                <span :class="'change-status'+row.status" v-if="row.status === 2">已生效</span> 
 | 
                                <span :class="'change-status'+row.status" v-if="row.status === 3 || row.status === 4">申请退回</span> 
 | 
                                <span :class="'change-status'+row.status" v-if="row.status === 5 || row.status === 8">已退回</span> 
 | 
                                <span :class="'change-status'+row.status" v-if="row.status === 6">已关闭</span> 
 | 
                            </template> 
 | 
                        </el-table-column> 
 | 
                        <el-table-column 
 | 
                            :key="Math.random()" 
 | 
                            align="center" 
 | 
                            prop="applyCode" 
 | 
                            label="批单号"> 
 | 
                        </el-table-column> 
 | 
                        <el-table-column 
 | 
                            :key="Math.random()" 
 | 
                            prop="changeNum" 
 | 
                            align="center" 
 | 
                            label="更换派遣单位人数"> 
 | 
                        </el-table-column> 
 | 
                        <el-table-column 
 | 
                            :key="Math.random()" 
 | 
                            prop="createDate" 
 | 
                            align="center" 
 | 
                            label="提交时间"> 
 | 
                        </el-table-column> 
 | 
                        <el-table-column 
 | 
                            :key="Math.random()" 
 | 
                            prop="applyStartTime" 
 | 
                            align="center" 
 | 
                            label="批单生效起期"> 
 | 
                        </el-table-column> 
 | 
                        <el-table-column 
 | 
                            :key="Math.random()" 
 | 
                            align="center" 
 | 
                            label="操作"> 
 | 
                            <template slot-scope="{row}"> 
 | 
                                <el-button type="text" @click="$refs.OperaApplyChangeUnitDetailWindow.open('更换派遣单位详情', row)">查看详情</el-button> 
 | 
                            </template> 
 | 
                        </el-table-column> 
 | 
                    </el-table> 
 | 
                    <div class="desc_item_from_page"> 
 | 
                        <el-pagination 
 | 
                            @current-change="handleCurrentChange" 
 | 
                            :current-page="currentPage" 
 | 
                            :page-size="10" 
 | 
                            layout="total, prev, pager, next, jumper" 
 | 
                            :total="total"> 
 | 
                        </el-pagination> 
 | 
                    </div> 
 | 
                </div> 
 | 
                <div class="desc_item_review"> 
 | 
                    <div class="desc_item_review_label">操作记录</div> 
 | 
                  <el-timeline :reverse="reverse"> 
 | 
                    <el-timeline-item 
 | 
                        v-for="(activity, index) in activities" 
 | 
                        :key="index"> 
 | 
                      <div style="display: flex; flex-direction: column;"> 
 | 
                        <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;" v-if="[1, 2, 5, 6, 9, 11, 22].includes(activity.objType)"> 
 | 
                              {{activity.content}} 
 | 
                            </span> 
 | 
                        </span> 
 | 
                        <span style="margin-top: 5px; font-size: 12px; font-weight: 400; color: #999999;"> 
 | 
                            操作员-{{activity.creatorName}}({{(activity.creatorType == 1 || activity.creatorType == 2) ? activity.companyName: "平台端"}}){{activity.createDate}} 
 | 
                        </span> 
 | 
                      </div> 
 | 
                    </el-timeline-item> 
 | 
                  </el-timeline> 
 | 
                </div> 
 | 
            </div> 
 | 
        </div> 
 | 
        <InsuranceDetails ref="InsuranceDetails" @success="successEvent" /> 
 | 
        <OperaInsuranceApplyCheckWindow ref="OperaInsuranceApplyCheckWindow" @success="successEvent" /> 
 | 
        <!--    企业申请退回    --> 
 | 
        <applyReturn ref="applyReturn" @success="successEvent" /> 
 | 
        <!--    新增投保    --> 
 | 
        <OperaInsuranceApply ref="OperaInsuranceApply" @success="successEvent" /> 
 | 
        <!--    加减保申请    --> 
 | 
        <additionSubtractionApplication ref="additionSubtractionApplication" @success="successEvent" /> 
 | 
        <!--    更换派遣单位申请    --> 
 | 
        <factoryChange ref="factoryChange" @success="successEvent" /> 
 | 
        <!-- 加减保详情 --> 
 | 
        <OperaApplyChangeDetailWindow ref="OperaApplyChangeDetailWindow" @success="successEvent"/> 
 | 
        <!-- 更换派遣单位详情 --> 
 | 
        <OperaApplyChangeUnitDetailWindow ref="OperaApplyChangeUnitDetailWindow" @success="successEvent"/> 
 | 
        <!--    验证手机号    --> 
 | 
        <operaverifyPhoneNumberWindew ref="operaverifyPhoneNumberWindew" @success="goSign" /> 
 | 
        <template v-slot:footer> 
 | 
            <el-button @click="visible=false">返回</el-button> 
 | 
        </template> 
 | 
    </GlobalWindow> 
 | 
</template> 
 | 
  
 | 
<script> 
 | 
import BaseOpera from '@/components/base/BaseOpera' 
 | 
import GlobalWindow from '@/components/common/GlobalWindow' 
 | 
import InsuranceDetails from '@/components/business/InsuranceDetails' 
 | 
import OperaInsuranceApplyCheckWindow from '@/components/business/OperaInsuranceApplyCheckWindow' 
 | 
import additionSubtractionApplication from '@/components/enterprise/additionSubtractionApplication' 
 | 
import factoryChange from '@/components/enterprise/factoryChange' 
 | 
import operaverifyPhoneNumberWindew from '@/components/business/operaverifyPhoneNumberWindew' 
 | 
import OperaApplyChangeDetailWindow from '@/components/business/OperaApplyChangeDetailWindow' 
 | 
import OperaApplyChangeUnitDetailWindow from '@/components/business/OperaApplyChangeUnitDetailWindow' 
 | 
  
 | 
import applyReturn from '@/components/enterprise/applyReturn' 
 | 
import { getDetail, getSignLink, applyDetailPage, applyChagneDetailPage, exportExcel, applyChagneDetailExcel, applyOpt } from "@/api/business/insuranceApply"; 
 | 
import { findListByDTO } from "@/api/business/dispatchUnit"; 
 | 
import { fetchList } from "@/api/business/applyChange"; 
 | 
import { findListByDTO as worktypeFindListByDTO } from "@/api/business/worktype"; 
 | 
import OperaInsuranceApply from '@/components/enterprise/OperaInsuranceApplyAddWindow' 
 | 
import { mapState } from 'vuex' 
 | 
  
 | 
export default { 
 | 
  name: 'OperaInsuranceApplyShopWindow', 
 | 
  extends: BaseOpera, 
 | 
  components: { 
 | 
      GlobalWindow, 
 | 
      InsuranceDetails, 
 | 
      OperaInsuranceApplyCheckWindow, 
 | 
      applyReturn, 
 | 
      OperaInsuranceApply, 
 | 
      additionSubtractionApplication, 
 | 
      factoryChange, 
 | 
      OperaApplyChangeDetailWindow, 
 | 
      OperaApplyChangeUnitDetailWindow, 
 | 
      operaverifyPhoneNumberWindew 
 | 
  }, 
 | 
  data () { 
 | 
    return { 
 | 
      // 表单数据 
 | 
      dataId:null, 
 | 
      model: {}, 
 | 
      form: { 
 | 
          id: null, 
 | 
          editDate: '' 
 | 
      }, 
 | 
      // 验证规则 
 | 
      rules: { 
 | 
      }, 
 | 
      formInline: { 
 | 
          applyStatus: '', 
 | 
          duId: '', 
 | 
          workTypeId: '', 
 | 
          memberName: '', 
 | 
          end: [], 
 | 
          start: [], 
 | 
          endTimeE: '', 
 | 
          endTimeS: '', 
 | 
          startTimeE: '', 
 | 
          startTimeS: '', 
 | 
          type: '' 
 | 
      }, 
 | 
      visible1: false, 
 | 
      visible2: false, 
 | 
      visible3: false, 
 | 
      visible4: false, 
 | 
      visible5: false, 
 | 
      reverse: false, 
 | 
      radio: 0, 
 | 
      activities: [], 
 | 
      tableData: [], 
 | 
        list: [], 
 | 
        list1: [], 
 | 
        list2: [], 
 | 
        dwList: [], 
 | 
        gzList: [], 
 | 
      activeName: '0', 
 | 
        total: 0, 
 | 
      currentPage: 1 
 | 
    } 
 | 
  }, 
 | 
  created () { 
 | 
      this.config({ 
 | 
          api: '/business/insuranceApply', 
 | 
          'field.id': 'id' 
 | 
      }) 
 | 
  }, 
 | 
    computed: { 
 | 
      ...mapState(['userInfo']) 
 | 
    }, 
 | 
  methods: { 
 | 
     open(title,target){ 
 | 
        this.visible = true; 
 | 
        this.title = title 
 | 
        this.model = {} 
 | 
        this.dataId = null 
 | 
        this.dataId = target.id 
 | 
        this.formInline.applyStatus = '' 
 | 
        this.formInline.duId = '' 
 | 
        this.formInline.workTypeId = '' 
 | 
        this.formInline.memberName = '' 
 | 
        this.formInline.end = '' 
 | 
        this.formInline.start = '' 
 | 
        this.formInline.endTimeE = '' 
 | 
        this.formInline.endTimeS = '' 
 | 
        this.formInline.startTimeE = '' 
 | 
        this.formInline.startTimeS = '' 
 | 
        this.formInline.type = '' 
 | 
        this.activeName = '0' 
 | 
        this.getDetail() 
 | 
        this.getList() 
 | 
        this.getDW() 
 | 
        this.getGZ() 
 | 
     }, 
 | 
      // 关闭申请 
 | 
      closeOrder () { 
 | 
          this.$confirm('确认关闭此订单吗?', '提示', { 
 | 
              confirmButtonText: '确定', 
 | 
              cancelButtonText: '取消', 
 | 
              type: 'warning' 
 | 
          }).then(() => { 
 | 
              applyOpt({ 
 | 
                  applyId: this.dataId, 
 | 
                  optType: 2 
 | 
              }).then(res => { 
 | 
                  this.getDetail() 
 | 
              }) 
 | 
          }).catch(() => { 
 | 
  
 | 
          }); 
 | 
      }, 
 | 
      // 派遣单位 
 | 
      getDW() { 
 | 
          findListByDTO({ applyId: this.dataId }) 
 | 
            .then(res => { 
 | 
                this.dwList = res 
 | 
            }) 
 | 
      }, 
 | 
      // 工种 
 | 
      getGZ() { 
 | 
          worktypeFindListByDTO({ 
 | 
              id: this.dataId, 
 | 
              queryType: 2 
 | 
          }).then(res => { 
 | 
              this.gzList = res 
 | 
          }) 
 | 
      }, 
 | 
      resetting() { 
 | 
         if (this.activeName === '0') { 
 | 
             this.formInline.applyStatus = '0' 
 | 
         } else { 
 | 
             this.formInline.applyStatus = '' 
 | 
         } 
 | 
         this.formInline.start = '' 
 | 
          this.formInline.startTimeE = '' 
 | 
          this.formInline.endTimeE = '' 
 | 
         this.list = [] 
 | 
          this.list1 = [] 
 | 
          this.list2 = [] 
 | 
          this.formInline.duId = '' 
 | 
          this.formInline.workTypeId = '' 
 | 
          this.formInline.memberName = '' 
 | 
            this.formInline.end = [] 
 | 
            this.formInline.end = [] 
 | 
            this.formInline.endTimeE = '' 
 | 
            this.formInline.endTimeS = '' 
 | 
            this.formInline.startTimeE = '' 
 | 
            this.formInline.startTimeS = '' 
 | 
            this.search() 
 | 
      }, 
 | 
      search() { 
 | 
          this.currentPage = 1 
 | 
          this.getList() 
 | 
      }, 
 | 
      changeStart(e) { 
 | 
            if (e.length > 0) { 
 | 
                this.formInline.startTimeS = e[0] 
 | 
                this.formInline.startTimeE = e[1] 
 | 
            } else { 
 | 
                this.formInline.startTimeS = '' 
 | 
                this.formInline.startTimeE = '' 
 | 
            } 
 | 
            this.search() 
 | 
      }, 
 | 
      changeEnd(e) { 
 | 
         if (e.length > 0) { 
 | 
             this.formInline.endTimeS = e[0] 
 | 
             this.formInline.endTimeE = e[1] 
 | 
         } else { 
 | 
             this.formInline.endTimeS = '' 
 | 
             this.formInline.endTimeE = '' 
 | 
         } 
 | 
          this.search() 
 | 
      }, 
 | 
      exportExcel() { 
 | 
          if (this.activeName === '0') { 
 | 
              exportExcel({ 
 | 
                  capacity: 10, 
 | 
                  page: this.currentPage, 
 | 
                  model: { 
 | 
                      solutionName: this.tableData[0].solutionsName, 
 | 
                      applyId: this.dataId, 
 | 
                      applyStatus: this.formInline.applyStatus, 
 | 
                      duId: this.formInline.duId, 
 | 
                      workTypeId: this.formInline.workTypeId, 
 | 
                      memberName: this.formInline.memberName, 
 | 
                      endTimeE: this.formInline.endTimeE, 
 | 
                      endTimeS: this.formInline.endTimeS, 
 | 
                      startTimeE: this.formInline.startTimeE, 
 | 
                      startTimeS: this.formInline.startTimeS 
 | 
                  } 
 | 
              }).then(response => { 
 | 
                  this.download(response) 
 | 
              }) 
 | 
          } else { 
 | 
              applyChagneDetailExcel({ 
 | 
                  capacity: 10, 
 | 
                  page: this.currentPage, 
 | 
                  model: { 
 | 
                      applyId: this.dataId, 
 | 
                      applyStatus: this.formInline.applyStatus, 
 | 
                      duId: this.formInline.duId, 
 | 
                      workTypeId: this.formInline.workTypeId, 
 | 
                      memberName: this.formInline.memberName, 
 | 
                      endTimeE: this.formInline.endTimeE, 
 | 
                      endTimeS: this.formInline.endTimeS, 
 | 
                      startTimeE: this.formInline.startTimeE, 
 | 
                      startTimeS: this.formInline.startTimeS, 
 | 
                      type: this.formInline.type 
 | 
                  } 
 | 
              }).then(response => { 
 | 
                  this.download(response) 
 | 
              }) 
 | 
          } 
 | 
      }, 
 | 
      getList() { 
 | 
         if (this.activeName === '0') { 
 | 
             applyDetailPage({ 
 | 
                 capacity: 10, 
 | 
                 page: this.currentPage, 
 | 
                 model: { 
 | 
                     applyId: this.dataId, 
 | 
                     applyStatus: this.formInline.applyStatus, 
 | 
                     duId: this.formInline.duId, 
 | 
                     workTypeId: this.formInline.workTypeId, 
 | 
                     memberName: this.formInline.memberName, 
 | 
                     endTimeE: this.formInline.endTimeE, 
 | 
                     endTimeS: this.formInline.endTimeS, 
 | 
                     startTimeE: this.formInline.startTimeE, 
 | 
                     startTimeS: this.formInline.startTimeS 
 | 
                 } 
 | 
             }).then(res => { 
 | 
                 this.list = res.records 
 | 
                 this.total = res.total 
 | 
                 this.$nextTick(() => { 
 | 
                     console.log(this.$refs.table) 
 | 
                     if (this.$refs.table && this.$refs.table.doLayout) { 
 | 
                         this.$refs.table.doLayout(); 
 | 
                     } 
 | 
                 }); 
 | 
             }) 
 | 
         } else { 
 | 
             fetchList({ 
 | 
                 capacity: 10, 
 | 
                 page: this.currentPage, 
 | 
                 model: { 
 | 
                     applyId: this.dataId, 
 | 
                     status: this.formInline.applyStatus, 
 | 
                     endTimeE: this.formInline.endTimeS, 
 | 
                     endTimeS: this.formInline.startTimeS, 
 | 
                     type: this.formInline.type 
 | 
                 } 
 | 
             }).then(res => { 
 | 
                 if (this.activeName === '1') { 
 | 
                     this.list1 = res.records 
 | 
                 } else if (this.activeName === '2') { 
 | 
                     this.list2 = res.records 
 | 
                 } 
 | 
                 this.total = res.total 
 | 
                 this.$nextTick(() => { 
 | 
                     console.log(this.$refs.table) 
 | 
                     if (this.$refs.table && this.$refs.table.doLayout) { 
 | 
                         this.$refs.table.doLayout(); 
 | 
                     } 
 | 
                 }); 
 | 
             }) 
 | 
         } 
 | 
      }, 
 | 
      handleClick(e) { 
 | 
            this.activeName = e.index 
 | 
            if (e.index === '1') { 
 | 
                this.formInline.type = 0 
 | 
            } else if (e.index === '2') { 
 | 
                this.formInline.type = 1 
 | 
            } 
 | 
            this.resetting() 
 | 
      }, 
 | 
    goSign(){ 
 | 
      getSignLink(this.dataId).then(res => { 
 | 
        setTimeout(() => { 
 | 
          window.open(res) 
 | 
        }, 500); 
 | 
      }).catch(err => { 
 | 
       this.$tip.apiFailed(err) 
 | 
      }) 
 | 
    }, 
 | 
    viewToubaodan(){ 
 | 
       if(this.model.toubaodanSignedFile && this.model.toubaodanSignedFile.fileurlFull){ 
 | 
         setTimeout(() => { 
 | 
           window.open(this.model.toubaodanSignedFile.fileurlFull) 
 | 
         }, 500); 
 | 
  
 | 
       } else if(this.model.toubaodanFile && this.model.toubaodanFile.fileurlFull){ 
 | 
         setTimeout(() => { 
 | 
           window.open(this.model.toubaodanFile.fileurlFull) 
 | 
             },500) 
 | 
       } 
 | 
    }, 
 | 
    viewBaoxiandan(){ 
 | 
      if(this.model.baoxiandanFile && this.model.baoxiandanFile.fileurlFull){ 
 | 
        window.open(this.model.baoxiandanFile.fileurlFull) 
 | 
      } 
 | 
    }, 
 | 
    handleSizeChange(val){ 
 | 
        console.log(val) 
 | 
    }, 
 | 
    handleCurrentChange(val){ 
 | 
        console.log(val) 
 | 
        this.currentPage = val 
 | 
        this.getList() 
 | 
    }, 
 | 
    onSubmit(){ 
 | 
  
 | 
    }, 
 | 
     getDetail(){ 
 | 
      getDetail(this.dataId).then(res => { 
 | 
        this.model = res 
 | 
        this.tableData = new Array() 
 | 
        this.tableData.push(res) 
 | 
        console.log(this.tableData) 
 | 
        this.activities = res.applyLogList 
 | 
      }).catch(err => { 
 | 
      }) 
 | 
    }, 
 | 
    successEvent(){ 
 | 
       // this.visible=false 
 | 
      this.getDetail() 
 | 
      this.$emit('success') 
 | 
    } 
 | 
  } 
 | 
} 
 | 
</script> 
 | 
<style scoped> 
 | 
 ::v-deep .el-tabs__item{ 
 | 
    font-weight: 600; 
 | 
 } 
 | 
</style> 
 | 
<style lang="scss" scoped> 
 | 
    .form { 
 | 
        width: 100%; 
 | 
        display: flex; 
 | 
        align-items: center; 
 | 
        flex-direction: column; 
 | 
        .form_span { 
 | 
            width: 100%; 
 | 
            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: center; 
 | 
            margin-bottom: 20px; 
 | 
            &:last-child { 
 | 
                margin: 0 !important; 
 | 
            } 
 | 
            .form_item_label { 
 | 
                flex-shrink: 0; 
 | 
                width: 170px; 
 | 
                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: 40px; 
 | 
                    outline: none; 
 | 
                    border-radius: 5px; 
 | 
                    border: 1px solid #cbcbcb; 
 | 
                    padding: 0 20px; 
 | 
                    box-sizing: border-box; 
 | 
                } 
 | 
            } 
 | 
        } 
 | 
    } 
 | 
    .desc { 
 | 
        width: 100%; 
 | 
        .desc_item { 
 | 
            width: 100%; 
 | 
            display: flex; 
 | 
            flex-direction: column; 
 | 
            .desc_item_label { 
 | 
                width: 100%; 
 | 
                display: flex; 
 | 
                align-items: center; 
 | 
                justify-content: space-between; 
 | 
                margin-bottom: 10px; 
 | 
                span { 
 | 
                    font-size: 14px; 
 | 
                    color: black; 
 | 
                    margin-right: 30px; 
 | 
                } 
 | 
            } 
 | 
            .desc_item_from { 
 | 
                width: 100%; 
 | 
                margin-bottom: 10px; 
 | 
                .desc_item_from_page { 
 | 
                    width: 100%; 
 | 
                    display: flex; 
 | 
                    align-items: center; 
 | 
                    justify-content: end; 
 | 
                    margin-top: 10px; 
 | 
                } 
 | 
            } 
 | 
            .desc_item_cate { 
 | 
                width: 100%; 
 | 
                margin-bottom: 10px; 
 | 
            } 
 | 
            .desc_item_search { 
 | 
                width: 100%; 
 | 
                margin-bottom: 20px; 
 | 
            } 
 | 
            .desc_item_review { 
 | 
                width: 100%; 
 | 
                .desc_item_review_label { 
 | 
                    font-size: 20px; 
 | 
                    color: black; 
 | 
                    font-weight: bold; 
 | 
                    margin-bottom: 15px; 
 | 
                } 
 | 
            } 
 | 
        } 
 | 
    } 
 | 
</style> 
 |