| | |
| | | <!-- 搜索表单 --> |
| | | <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline> |
| | | <el-form-item label="保单状态" prop="statusCollect"> |
| | | <el-select v-model="searchForm.statusCollect" placeholder="请选择" @keypress.enter.native="search"> |
| | | <el-option label="待审核" value="0"></el-option> |
| | | <el-option label="待出单" value="1"></el-option> |
| | | <el-option label="待签署" value="7"></el-option> |
| | | <el-option label="保障中" value="2"></el-option> |
| | | <el-option label="已过期" value="3"></el-option> |
| | | <el-option label="已退回" value="4"></el-option> |
| | | <el-option label="退回申请中" value="5"></el-option> |
| | | <el-option label="已关闭" value="6"></el-option> |
| | | <el-select v-model="statusCollect" placeholder="请选择" @change="changeStatus"> |
| | | <el-option |
| | | v-for="(item, index) in status" |
| | | :key="index" |
| | | :label="item.label" |
| | | :value="item.id" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="投保类型" prop="solutionType"> |
| | | <el-select v-model="searchForm.solutionType" placeholder="请选择" @change="search"> |
| | | <el-option label="直保投保" :value="0"></el-option> |
| | | <el-option label="委托投保" :value="1"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="投保企业" prop="companyId"> |
| | |
| | | </el-form> |
| | | <!-- 表格和分页 --> |
| | | <template v-slot:table-wrap> |
| | | <ul class="toolbar"> |
| | | <li><el-button type="primary" @click="$refs.chooseCompany.open('选择需要投保的企业')">新增</el-button></li> |
| | | </ul> |
| | | <el-table |
| | | v-loading="isWorking.search" |
| | | :data="tableData.list" |
| | |
| | | <span>{{scope.$index + 1}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="statusInfo" align="center" fixed label="状态"> |
| | | <el-table-column prop="statusInfo" align="center" fixed label="状态"> |
| | | <template slot-scope="{row}"> |
| | | <span :class="'apply-status'+row.status" >{{row.statusInfo}}</span> |
| | | <span style="color: #666;" v-if="[9,25,27,5].includes(row.status) && ['已关闭','已过期'].includes(row.statusInfo)">{{row.statusInfo}}</span> |
| | | <span style="color: red;" v-else-if="row.status === 4 && row.statusInfo === '已退回'">{{ row.statusInfo}}</span> |
| | | <span style="color: #f95601;" v-else-if="[5,27].includes(row.status) && row.statusInfo === '待生效'">{{ row.statusInfo}}</span> |
| | | <span style="color: #216EEE;" v-else-if="[12].includes(row.status) && row.statusInfo === '待审核'">{{ row.statusInfo}}</span> |
| | | <span :class="'apply-status'+row.status" v-else>{{row.statusInfo}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="solutionsName" fixed label="保险方案" align="center" min-width="150"></el-table-column> |
| | |
| | | <span>{{row.code ? row.code : '-'}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="insureNum" align="center" label="投保人数" > |
| | | <template slot-scope="{row}"> |
| | | <span>{{(row.insureNum||0)}} 人</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="guaranteeNum" align="center" label="在保人数" > |
| | | <template slot-scope="{row}"> |
| | | <span>{{(row.guaranteeNum||0)}} 人</span> |
| | | </template> |
| | | </el-table-column> |
| | | <!-- <el-table-column prop="insureNum" align="center" label="投保人数" >--> |
| | | <!-- <template slot-scope="{row}">--> |
| | | <!-- <span>{{(row.insureNum||0)}} 人</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 prop="guaranteeNum" align="center" label="在保人数" >--> |
| | | <!-- <template slot-scope="{row}">--> |
| | | <!-- <span>{{(row.guaranteeNum||0)}} 人</span>--> |
| | | <!-- </template>--> |
| | | <!-- </el-table-column>--> |
| | | <el-table-column label="投保时长"> |
| | | <template slot-scope="{row}"> |
| | | <span>{{(row.serviceDays - row.loseEfficacyDays) < 0 ? `-` : (row.serviceDays - row.loseEfficacyDays+'天')}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="currentFee" label="已产生费用" align="center"> |
| | | <template slot-scope="{row}"> |
| | | <span>{{row.currentFee!=null?row.currentFee+' 元': '-'}}</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="currentFee" label="已产生费用" align="center">--> |
| | | <!-- <template slot-scope="{row}">--> |
| | | <!-- <span>{{row.currentFee!=null?row.currentFee+' 元': '-'}}</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> |
| | | <!-- 新建/修改 --> |
| | | <OperaInsuranceApplyWindow ref="operaInsuranceApplyWindow" @success="handlePageChange"/> |
| | | <!-- 选择企业 --> |
| | | <chooseCompany ref="chooseCompany" @submit="getVal" /> |
| | | <!-- 新增投保 --> |
| | | <OperaInsuranceApplyAddWindow ref="OperaInsuranceApplyAddWindow" @success="handlePageChange" /> |
| | | </TableLayout> |
| | | </template> |
| | | |
| | |
| | | import { all as solutionAll} from '@/api/business/solutions' |
| | | import { pageAll as companyAll} from '@/api/business/company' |
| | | import OperaInsuranceApplyWindow from '@/components/business/OperaInsuranceApplyWindow' |
| | | import OperaInsuranceApplyAddWindow from '@/components/enterprise/OperaInsuranceApplyAddWindow' |
| | | import chooseCompany from '@/components/common/chooseCompany' |
| | | export default { |
| | | name: 'InsuranceApply', |
| | | extends: BaseTable, |
| | | components: { TableLayout, Pagination, OperaInsuranceApplyWindow }, |
| | | components: { TableLayout, Pagination, OperaInsuranceApplyWindow, chooseCompany, OperaInsuranceApplyAddWindow }, |
| | | data () { |
| | | return { |
| | | // 搜索 |
| | |
| | | createTimeE: '', |
| | | time: [], |
| | | baseSolutionId: '', |
| | | solutionType: 0, |
| | | solutionType: '', |
| | | companyId: '', |
| | | statusCollect: '' |
| | | statusCollect: '', |
| | | }, |
| | | statusCollect: '', |
| | | solutionList:[], |
| | | companyList:[] |
| | | companyList:[], |
| | | status: [ |
| | | { label: '待审核', id: '0' }, |
| | | { label: '待出单', id: '1' }, |
| | | { label: '投保中', id: '26' }, |
| | | { label: '待签署', id: '7' }, |
| | | { label: '待生效', id: '2,0' }, |
| | | { label: '保障中', id: '2,1' }, |
| | | { label: '已过期', id: '2,2' }, |
| | | { label: '已退回', id: '4' }, |
| | | { label: '退回申请中', id: '5' }, |
| | | { label: '已关闭', id: '6' }, |
| | | ] |
| | | } |
| | | }, |
| | | created () { |
| | |
| | | this.loadSelectList() |
| | | }, |
| | | methods:{ |
| | | changeStatus(e) { |
| | | if (e.indexOf(',') !== -1) { |
| | | this.searchForm.timeOut = e.split(',')[1] |
| | | this.searchForm.statusCollect = e.split(',')[0] |
| | | } else { |
| | | this.searchForm.timeOut = '' |
| | | this.searchForm.statusCollect = e |
| | | } |
| | | this.search() |
| | | }, |
| | | getVal(company) { |
| | | this.$refs.OperaInsuranceApplyAddWindow.open('投保申请', { type: '', companyName: company.companyName, companyId: company.companyId }) |
| | | }, |
| | | // 搜索框重置 |
| | | reset () { |
| | | this.$refs.searchForm.resetFields() |
| | | this.statusCollect = '' |
| | | this.searchForm.timeOut = '' |
| | | this.searchForm.statusCollect = '' |
| | | this.searchForm.createTimeS = '' |
| | | this.searchForm.createTimeE = '' |
| | | this.search() |