<template> 
 | 
    <GlobalWindow 
 | 
        :title="title" 
 | 
        width="100%" 
 | 
        :withFooter="false" 
 | 
        :visible.sync="visible" 
 | 
        :confirm-working="isWorking" 
 | 
        @confirm="confirm" 
 | 
    > 
 | 
<!--        <el-form ref="form" :model="form" label-width="100px" inline>--> 
 | 
<!--            <el-form-item label="企业名称" prop="name">--> 
 | 
<!--                <el-input v-model="form.model.name" placeholder="请输入" @keypress.enter.native="getList"></el-input>--> 
 | 
<!--            </el-form-item>--> 
 | 
<!--            <el-form-item>--> 
 | 
<!--                <div style="display: flex; align-items: center;">--> 
 | 
<!--                    <el-button type="primary" @click="getList">搜索</el-button>--> 
 | 
<!--                    <el-button @click="reset">重置</el-button>--> 
 | 
<!--                </div>--> 
 | 
<!--            </el-form-item>--> 
 | 
<!--        </el-form>--> 
 | 
        <el-table 
 | 
            :data="tableData" 
 | 
            border 
 | 
            style="width: 100%"> 
 | 
            <el-table-column label="序号" width="80px" align="center" fixed> 
 | 
                <template slot-scope="scope"> 
 | 
                    <span>{{scope.$index + 1}}</span> 
 | 
                </template> 
 | 
            </el-table-column> 
 | 
            <el-table-column prop="statusInfo" align="center" fixed label="状态"> 
 | 
                <template slot-scope="{row}"> 
 | 
                    <span :class="'apply-status'+row.status">{{row.statusInfo}}</span> 
 | 
                </template> 
 | 
            </el-table-column> 
 | 
            <el-table-column prop="solutionsName" align="center" fixed label="保险方案" min-width="150"></el-table-column> 
 | 
            <el-table-column label="类型" fixed  align="center"> 
 | 
                <template slot-scope="{row}"> 
 | 
                    <span style="color: #00BA92" v-if="row.solutionType == 1">委托投保</span> 
 | 
                    <span style="color: #F95601;"  v-else>直接投保</span> 
 | 
                </template> 
 | 
            </el-table-column> 
 | 
            <el-table-column label="保单号" align="center" fixed> 
 | 
                <template slot-scope="{row}"> 
 | 
                    <span>{{row.code ? row.code : '-'}}</span> 
 | 
                </template> 
 | 
            </el-table-column> 
 | 
            <el-table-column prop="guaranteeNum"  align="center" label="当前在保人数" width="120"> 
 | 
                <template slot-scope="{row}"> 
 | 
                    <span>{{(row.guaranteeNum||0)}} 人</span> 
 | 
                </template> 
 | 
            </el-table-column> 
 | 
            <el-table-column label="投保时长" align="center"> 
 | 
                <template slot-scope="{row}"> 
 | 
                    <span>{{(row.serviceDays - row.loseEfficacyDays) < 0 ? `-` : (row.serviceDays - row.loseEfficacyDays+'天')}}</span> 
 | 
                </template> 
 | 
            </el-table-column> 
 | 
            <el-table-column prop="fee" label="批改费用合计"  align="center" width="120"> 
 | 
                <template slot-scope="{row}"> 
 | 
                    <span>{{row.changeMoney+' 元'}}</span> 
 | 
                </template> 
 | 
            </el-table-column> 
 | 
            <el-table-column prop="fee" label="总费用"  align="center"> 
 | 
                <template slot-scope="{row}"> 
 | 
                    <span>{{row.fee!=null?row.fee+' 元': '-'}}</span> 
 | 
                </template> 
 | 
            </el-table-column> 
 | 
            <el-table-column prop="createDate" label="提交日期"  align="center" min-width="150"></el-table-column> 
 | 
            <el-table-column prop="startTime" label="投保生效日期"  align="center" min-width="150"></el-table-column> 
 | 
            <el-table-column prop="endTime" label="投保失效日期"  align="center" min-width="150"></el-table-column> 
 | 
            <el-table-column 
 | 
                fixed="right" 
 | 
                width="120" 
 | 
                label="操作"> 
 | 
                <template slot-scope="{row}"> 
 | 
                    <el-button type="text" @click="$refs.factoryChange.open('更换派遣单位申请', { id: row.id })" v-if="isShow(row.status, row.endTime) && type === 2">{{ row.hasDispatchUnit === 1 ? '更换工种' : '更换派遣单位' }}</el-button> 
 | 
                    <el-button type="text" @click="$refs.additionSubtractionApplication.open('加减保申请', { id: row.id })" v-else-if="isShow(row.status, row.endTime) && type === 1">加减保申请</el-button> 
 | 
                </template> 
 | 
            </el-table-column> 
 | 
        </el-table> 
 | 
        <div style="width: 100%; height: 15px;"></div> 
 | 
        <el-pagination 
 | 
            @size-change="handleSizeChange" 
 | 
            @current-change="handleCurrentChange" 
 | 
            :current-page="form.page" 
 | 
            :page-sizes="[10, 30, 50, 100]" 
 | 
            :page-size="form.size" 
 | 
            layout="total, sizes, prev, pager, next, jumper" 
 | 
            :total="total"> 
 | 
        </el-pagination> 
 | 
        <!--    加减保申请    --> 
 | 
        <additionSubtractionApplication ref="additionSubtractionApplication" @success="selectItem" /> 
 | 
        <!--    更换派遣单位申请    --> 
 | 
        <factoryChange ref="factoryChange" @success="selectItem" /> 
 | 
    </GlobalWindow> 
 | 
</template> 
 | 
  
 | 
<script> 
 | 
  import BaseOpera from '@/components/base/BaseOpera' 
 | 
  import GlobalWindow from '@/components/common/GlobalWindow' 
 | 
  import additionSubtractionApplication from '@/components/enterprise/additionSubtractionApplication' 
 | 
  import factoryChange from '@/components/enterprise/factoryChange' 
 | 
  import { fetchList } from '@/api/business/insuranceApply' 
 | 
  export default { 
 | 
    name: 'selectPolicy', 
 | 
    extends: BaseOpera, 
 | 
    components: { GlobalWindow, additionSubtractionApplication, factoryChange }, 
 | 
    data () { 
 | 
      return { 
 | 
        model: {}, 
 | 
        tableData: [], 
 | 
        type: null, 
 | 
        form: { 
 | 
          page: 1, 
 | 
          capacity: 10, 
 | 
          model: { 
 | 
            companyId: '', 
 | 
            status: '5,27', 
 | 
            timeOut: 3 
 | 
          } 
 | 
        }, 
 | 
        total: 0 
 | 
      } 
 | 
    }, 
 | 
    methods: { 
 | 
      // 判断是否显示加减保 
 | 
      isShow(status, endTime) { 
 | 
        const currentDate = new Date(); 
 | 
        const specifiedDate = new Date(endTime); 
 | 
        return [5,27].includes(status) && (currentDate < specifiedDate); 
 | 
      }, 
 | 
      selectItem() { 
 | 
        this.$emit('success') 
 | 
        this.visible = false 
 | 
      }, 
 | 
      handleSizeChange(e) { 
 | 
        this.form.capacity = e 
 | 
        this.getList() 
 | 
      }, 
 | 
      handleCurrentChange(e) { 
 | 
        this.form.page = e 
 | 
        this.getList() 
 | 
      }, 
 | 
      open (title, id, type) { 
 | 
        this.title = title 
 | 
        this.type = type 
 | 
        this.form.model.companyId = id 
 | 
        this.form.name = '' 
 | 
        this.visible = true 
 | 
        this.form.page = 1 
 | 
        this.form.capacity = 10 
 | 
        this.getList() 
 | 
      }, 
 | 
      reset() { 
 | 
        this.form.page = 1 
 | 
        this.form.capacity = 10 
 | 
        this.form.model.name = '' 
 | 
        this.getList() 
 | 
      }, 
 | 
      getList() { 
 | 
        fetchList(this.form) 
 | 
          .then(res => { 
 | 
            this.total = res.total 
 | 
            this.tableData = res.records 
 | 
          }) 
 | 
      } 
 | 
    } 
 | 
  } 
 | 
</script> 
 | 
  
 | 
<style lang="scss" scoped> 
 | 
  
 | 
</style> 
 |