jiangping
2024-06-20 09da100729793848bc01b51f7b05ca3f1e7ec64f
company/src/components/business/OperaInsuranceApplyWindow.vue
@@ -8,23 +8,42 @@
    >
        <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="goYjxb">一键续保</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>保单状态:{{ model.statusInfo }}</span>
                      <span>保单状态:<span  :class="'apply-status'+model.status" >{{ model.statusInfo }}</span></span>
                        <span>提交时间:{{ model.createDate }}</span>
                    </div>
                  <div class="desc_item_label_right">
                    <el-button type="primary" @click="$refs.InsuranceDetails.open('投保详情单',model,0)">导出详单</el-button>
                    <el-button v-if="model.status == 2 ||model.status == 3 ||model.status == 5  ||model.status == 7 ||model.status == 8  "  type="primary"  @click="viewToubaodan">查看投保单</el-button>
                    <el-button v-if="model.status == 5  "  type="primary"  @click="viewBaoxiandan">查看保险单</el-button>
                    <el-button v-if="model.status == 10 " type="primary"  @click="$refs.OperaInsuranceApplyCheckWindow.open('上传投保单',model,2)">上传投保单</el-button>
                    <el-button v-if="model.status == 3 "  type="primary"  @click="$refs.OperaInsuranceApplyCheckWindow.open('上传保险单',model,3)">上传保险单</el-button>
                    <el-button v-if="model.status == 2 "  type="primary"  @click="goSign">企业签章</el-button>
                    <el-button  v-if="model.status == 6 || model.status == 7|| model.status == 8" type="primary"  @click="$refs.OperaInsuranceApplyCheckWindow.open('驳回退回申请',model,5)">驳回退回申请</el-button>
                    <el-button v-if="model.status == 0 "  type="primary" @click="$refs.InsuranceDetails.open('投保审核',model,1)">投保审核</el-button>
                    <el-button v-if="model.status != 5 && model.status != 4 && model.status != 1" type="danger"  @click="$refs.OperaInsuranceApplyCheckWindow.open('退回投保',model,1)">退回投保</el-button>
                    <el-button v-if="model.status == 5 "  type="danger" @click="$refs.OperaInsuranceApplyCheckWindow.open('修改保险单',model,4)">修改保险单</el-button>
                      <template v-if="userInfo.type === 1">
                        <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>
<!--                          $refs.operaverifyPhoneNumberWindew.open('验证手机号')-->
                        <el-button v-if="model.status == 2" type="primary" :disabled="loading" :loading="loading" @click="goSign()">签署投保单</el-button>
                        <el-button v-if="model.status == 5" type="primary" @click="viewBaoxiandan">查看保险单</el-button>
                        <el-button v-if="model.status == 4" type="primary" @click="$refs.operaInsuranceApplyAddWindow.open('投保申请', {id: dataId})">再次投保</el-button>
                        <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="closeOrder">关闭订单</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">
@@ -61,147 +80,396 @@
                        <el-table-column
                            prop="serviceDays"
                            align="center"
                            label="在保时长(天)">
                            label="保单时长(天)">
                        </el-table-column>
                        <el-table-column
                            prop="currentFee"
                            align="center"
                            label="当前费用(元)">
                            label="已产生费用(元)">
                          <template slot-scope="{row}">
                            <span>{{row.currentFee!=null?row.currentFee: '-'}}</span>
                          </template>
                        </el-table-column>
                        <el-table-column
                            prop="fee"
                            align="center"
                            label="总费用(元)">
                          <template slot-scope="{row}">
                            <span>{{row.fee!=null?row.fee: '-'}}</span>
                          </template>
                        </el-table-column>
                    </el-table>
                </div>
                <div class="desc_item_cate">
                    <el-tabs v-model="activeName" @tab-click="handleClick">
                        <el-tab-pane label="在保人员" name="first"></el-tab-pane>
                        <el-tab-pane label="加/减保记录" name="second"></el-tab-pane>
                        <el-tab-pane label="换厂记录" name="third"></el-tab-pane>
                        <el-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" class="demo-form-inline">
                        <el-form-item label="在保状态" prop="region">
                            <el-select v-model="formInline.region" placeholder="请选择">
                                <el-option label="保障中" value="1"></el-option>
                                <el-option label="不在保" value="2"></el-option>
                            </el-select>
                    <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-item label="派遣单位" prop="region">
                            <el-select v-model="formInline.region" placeholder="请选择">
                                <el-option label="保障中" value="1"></el-option>
                                <el-option label="不在保" value="2"></el-option>
                            </el-select>
                        </el-form-item>
                        <el-form-item label="所属工种" prop="region">
                            <el-select v-model="formInline.region" placeholder="请选择">
                                <el-option label="保障中" value="1"></el-option>
                                <el-option label="不在保" value="2"></el-option>
                            </el-select>
                        </el-form-item>
                        <el-form-item label="员工姓名" prop="user">
                            <el-input v-model="formInline.user" placeholder="请输入"></el-input>
                        </el-form-item>
                        <el-form-item label="保险生效起期" prop="user">
                            <el-date-picker
                                v-model="formInline.user"
                                type="daterange"
                                range-separator="至"
                                start-placeholder="开始日期"
                                end-placeholder="结束日期">
                            </el-date-picker>
                        </el-form-item>
                        <el-form-item label="保险生效起期" prop="user">
                            <el-date-picker
                                v-model="formInline.user"
                                type="daterange"
                                range-separator="至"
                                start-placeholder="开始日期"
                                end-placeholder="结束日期">
                            </el-date-picker>
                        </el-form-item>
                        <section>
                            <el-button type="primary" @click="onSubmit">查询</el-button>
                            <el-button>重置</el-button>
                            <el-button type="primary">导出名单</el-button>
                        </section>
                    </el-form>
                </div>
                <div class="desc_item_from">
                    <el-table
                        :data="tableData"
                        :data="list"
                        border
                        ref="table"
                        v-if="activeName === '0'"
                        style="width: 100%">
                        <el-table-column label="序号">
                        <el-table-column label="序号"
                                         align="center">
                            <template slot-scope="scope">
                                <span>{{scope.$index + 1}}</span>
                            </template>
                        </el-table-column>
                        <el-table-column
                            prop="date"
                            :key="Math.random()"
                            prop="memberName"
                            align="center"
                            label="员工姓名">
                        </el-table-column>
                        <el-table-column
                            prop="name"
                            label="性别"
                            width="180">
                            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
                            prop="address"
                            :key="Math.random()"
                            prop="idcardNo"
                            align="center"
                            label="身份证号">
                        </el-table-column>
                        <el-table-column
                            prop="address"
                            :key="Math.random()"
                            prop="duName"
                            align="center"
                            label="派遣单位">
                        </el-table-column>
                        <el-table-column
                            prop="address"
                            :key="Math.random()"
                            prop="workTypeName"
                            align="center"
                            label="所属工种">
                        </el-table-column>
                        <el-table-column
                            prop="address"
                            :key="Math.random()"
                            prop="startTime"
                            align="center"
                            label="保险生效起期">
                        </el-table-column>
                        <el-table-column
                            prop="address"
                            :key="Math.random()"
                            prop="endTime"
                            align="center"
                            label="保险生效止期">
                        </el-table-column>
                        <el-table-column
                            prop="address"
                            label="产生费用(元)">
                            :key="Math.random()"
                            align="center"
                            prop="fee"
                            label="产生费用">
                          <template slot-scope="{row}">
                            <span>{{row.fee!=null?row.fee: '-'}}</span>
                          </template>
                        </el-table-column>
                      <el-table-column
                          :key="Math.random()"
                          prop="remark"
                          align="center"
                          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>
                                <span :class="'change-status'+row.status" v-if="row.status === 7">待出单</span>
                                <span :class="'change-status'+row.status" v-if="row.status === 9">批改申请中</span>
                            </template>
                        </el-table-column>
                        <el-table-column
                            :key="Math.random()"
                            prop="validCode"
                            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="delValidTime"
                            align="center"
                            label="批减生效日期">
                        </el-table-column>
                        <el-table-column
                            :key="Math.random()"
                            prop="fee"
                            align="center"
                            label="费用变更(元)">
                        </el-table-column>
                      <el-table-column
                          :key="Math.random()"
                          prop="remark"
                          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>
                              <span :class="'change-status'+row.status" v-if="row.status === 7">待出单</span>
                              <span :class="'change-status'+row.status" v-if="row.status === 9">批改申请中</span>
                            </template>
                        </el-table-column>
                        <el-table-column
                            :key="Math.random()"
                            align="center"
                            prop="validCode"
                            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()"
                            prop="remark"
                            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
                            @size-change="handleSizeChange"
                            @current-change="handleCurrentChange"
                            :current-page="currentPage"
                            :page-sizes="[100, 200, 300, 400]"
                            :page-size="100"
                            layout="total, sizes, prev, pager, next, jumper"
                            :total="400">
                            :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"
                            :timestamp="activity.createDate">
                    <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}}
                        </el-timeline-item>
                    </el-timeline>
                            <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" />
        <!--    新增投保    -->
        <OperaInsuranceApplyAddWindow ref="operaInsuranceApplyAddWindow" @success="result" />
        <!--    加减保申请    -->
        <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" />
        <OperaPdfViewerWindow ref="OperaPdfViewerWindow" />
        <template v-slot:footer>
            <el-button @click="visible=false">返回</el-button>
        </template>
    </GlobalWindow>
</template>
@@ -210,112 +478,373 @@
import GlobalWindow from '@/components/common/GlobalWindow'
import InsuranceDetails from '@/components/business/InsuranceDetails'
import OperaInsuranceApplyCheckWindow from '@/components/business/OperaInsuranceApplyCheckWindow'
import {getDetail, getSignLink} from "@/api/business/insuranceApply";
import {all as solutionAll} from "@/api/business/solutions";
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,  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 OperaInsuranceApplyAddWindow from '@/components/enterprise/OperaInsuranceApplyAddWindow'
import { mapState } from 'vuex'
import OperaPdfViewerWindow from '@/components/business/OperaPdfViewerWindow'
export default {
  name: 'OperaInsuranceApplyWindow',
  name: 'OperaInsuranceApplyWindow1',
  extends: BaseOpera,
  components: { GlobalWindow, InsuranceDetails ,OperaInsuranceApplyCheckWindow},
  components: {
    GlobalWindow,
    OperaPdfViewerWindow,
    InsuranceDetails,
    OperaInsuranceApplyCheckWindow,
    applyReturn,
    additionSubtractionApplication,
    factoryChange,
    OperaApplyChangeDetailWindow,
    OperaApplyChangeUnitDetailWindow,
    OperaInsuranceApplyAddWindow,
    operaverifyPhoneNumberWindew
  },
  data () {
    return {
      // 表单数据
      dataId:null,
      dataId: null,
      model: {},
      form: {
          id: null,
          editDate: ''
        id: null,
        editDate: ''
      },
      // 验证规则
      rules: {
      },
      formInline: {
          user: '',
          region: ''
        applyStatus: '',
        duId: '',
        workTypeId: '',
        memberName: '',
        end: [],
        start: [],
        endTimeE: '',
        endTimeS: '',
        startTimeE: '',
        startTimeS: '',
        type: ''
      },
      visible1: false,
      visible2: false,
      visible3: false,
      visible4: false,
      visible5: false,
      reverse: true,
      reverse: false,
      radio: 0,
      fileList: [
          {name: 'food.pdf', url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100'}
      ],
      activities: [{
          content: '活动按期开始',
          timestamp: '2018-04-15'
      }, {
          content: '通过审核',
          timestamp: '2018-04-13'
      }, {
          content: '创建成功',
          timestamp: '2018-04-11'
      }],
      activities: [],
      tableData: [],
      activeName: 'first',
      currentPage: 1
      list: [],
      list1: [],
      list2: [],
      dwList: [],
      gzList: [],
      activeName: '0',
      total: 0,
      currentPage: 1,
      loading: false
    }
  },
  created () {
      this.config({
          api: '/business/insuranceApply',
          'field.id': 'id'
      })
    this.config({
      api: '/business/insuranceApply',
      'field.id': 'id'
    })
  },
  computed: {
    ...mapState(['userInfo'])
  },
  methods: {
     open(title,target){
       this.visible=true;
       this.dataId=target.id
    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()
     },
    goSign(){
      getSignLink(this.dataId).then(res => {
          window.open(res)
      }).catch(err => {
       this.$tip.apiFailed(err)
      })
      this.getList()
      this.getDW()
      this.getGZ()
    },
    viewToubaodan(){
       if(this.model.toubaodanSignedFile && this.model.toubaodanSignedFile.fileurlFull){
        window.open(this.model.toubaodanSignedFile.fileurlFull)
       } else if(this.model.toubaodanFile && this.model.toubaodanFile.fileurlFull){
         window.open(this.model.toubaodanFile.fileurlFull)
       }
    },
    viewBaoxiandan(){
      if(this.model.baoxiandanFile && this.model.baoxiandanFile.fileurlFull){
        window.open(this.model.baoxiandanFile.fileurlFull)
    result(flag,param){
      console.log(flag,param)
      if(param && param.godetail && param.id){
        this.open('委托保详情',{id:param.id})
      }else{
        this.successEvent()
      }
    },
    handleSizeChange(){
    goYjxb(){
      this.$refs.operaInsuranceApplyAddWindow.open('续保', {id: this.dataId,type: 1 })
    },
    // 关闭订单
    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 () {
      this.loading = true
      getSignLink(this.dataId).then(res => {
        this.loading = false
        // setTimeout(() => {
        window.open(res)
        // }, 500);
      }).catch(err => {
        this.loading = false
        this.$tip.apiFailed(err)
      })
    },
    viewToubaodan () {
      if (this.model.toubaodanSignedFile && this.model.toubaodanSignedFile.fileurlFull) {
        setTimeout(() => {
          this.$refs.OperaPdfViewerWindow.open('查看投保单', this.model.toubaodanSignedFile.fileurlFull)
          // window.open(this.model.toubaodanSignedFile.fileurlFull)
        }, 500)
      } else if (this.model.toubaodanFile && this.model.toubaodanFile.fileurlFull) {
        setTimeout(() => {
          this.$refs.OperaPdfViewerWindow.open('查看投保单', this.model.toubaodanFile.fileurlFull)
          // window.open(this.model.toubaodanFile.fileurlFull)
        }, 500)
      }
    },
    viewBaoxiandan () {
      if (this.model.baoxiandanFile && this.model.baoxiandanFile.fileurlFull) {
        this.$refs.OperaPdfViewerWindow.open('查看保险单', 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 () {
    },
    handleCurrentChange(){
    },
    onSubmit(){
    },
    getDetail(){
    getDetail () {
      getDetail(this.dataId).then(res => {
        console.log(res)
        this.model = res
        this.tableData = new Array()
        this.tableData.push(res)
        console.log(this.tableData)
        this.activities=res.applyLogList
        this.activities = res.applyLogList
      }).catch(err => {
      })
    },
    successEvent(){
       this.visible=false
    successEvent () {
      // this.visible=false
      this.getDetail()
      this.$emit('success')
    }
  }
}
</script>
<style>
<style scoped>
 ::v-deep .el-tabs__item{
    font-weight: 600;
 }
</style>
<style lang="scss" scoped>
    .form {