| | |
| | | <!-- 搜索表单 --> |
| | | <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-select v-model="searchForm.companyId" placeholder="请选择" @change="search"> |
| | | <el-select v-model="searchForm.companyId" filterable placeholder="请选择" @change="search"> |
| | | <el-option |
| | | v-for="item in companyList" |
| | | :key="item.baseId" |
| | | :label="item.name" |
| | | :value="item.baseId"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="保险方案" prop="baseSolutionId"> |
| | | <el-select v-model="searchForm.baseSolutionId" placeholder="请选择" @change="search"> |
| | | <el-option |
| | | v-for="item in solutionList" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="提交日期" prop="createDate"> |
| | | <el-form-item label="保险方案" prop="baseSolutionId"> |
| | | <el-select v-model="searchForm.baseSolutionId" filterable placeholder="请选择" @change="search"> |
| | | <el-option |
| | | v-for="item in solutionList" |
| | | :key="item.baseId" |
| | | :label="item.name" |
| | | :value="item.baseId"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="提交日期" prop="time"> |
| | | <el-date-picker |
| | | v-model="searchForm.createDate" |
| | | @change="search" |
| | | v-model="searchForm.time" |
| | | @change="changeTime" |
| | | type="daterange" |
| | | range-separator="至" |
| | | value-format="yyyy-MM-dd" |
| | |
| | | </el-form> |
| | | <!-- 表格和分页 --> |
| | | <template v-slot:table-wrap> |
| | | <el-table |
| | | v-loading="isWorking.search" |
| | | :data="tableData.list" |
| | | stripe |
| | | > |
| | | <el-table-column label="序号" width="80px"> |
| | | <template slot-scope="scope"> |
| | | <span>{{scope.$index + 1}}</span> |
| | | </template> |
| | | <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" |
| | | stripe |
| | | > |
| | | <el-table-column label="序号" align="center" width="80px" fixed> |
| | | <template slot-scope="scope"> |
| | | <span>{{scope.$index + 1}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="statusInfo" label="投保状态" min-width="100px"></el-table-column> |
| | | <el-table-column prop="companyName" label="投保企业" min-width="100px"></el-table-column> |
| | | <el-table-column prop="solutionsName" label="保险方案" min-width="100px"></el-table-column> |
| | | <el-table-column prop="insureNum" label="投保人数" min-width="100px"></el-table-column> |
| | | <el-table-column prop="fee" label="总费用(元)" min-width="100px"></el-table-column> |
| | | <el-table-column prop="createDate" label="提交时间" min-width="100px"></el-table-column> |
| | | <el-table-column prop="statusInfo" align="center" fixed label="状态"> |
| | | <template slot-scope="{row}"> |
| | | <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="companyName" v-if="userInfo.type === 0" fixed label="企业名称" align="center" min-width="150"></el-table-column> |
| | | <el-table-column prop="solutionsName" fixed label="保险方案" align="center" 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="保单号" fixed> |
| | | <template slot-scope="{row}"> |
| | | <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="当前在保人数" 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="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> |
| | | </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 |
| | | v-if="containPermissions(['business:insuranceapply:update', 'business:insuranceapply:delete'])" |
| | | label="操作" |
| | |
| | | fixed="right" |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <el-button type="text" @click="$refs.operaInsuranceApplyWindow.open('编辑投保申请信息表', row)" icon="el-icon-edit" v-permissions="['business:insuranceapply:update']">查看详情</el-button> |
| | | <el-button type="text" @click="$refs.operaInsuranceApplyWindow.open('投保详情', row)" icon="el-icon-edit" v-permissions="['business:insuranceapply:update']">查看详情</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | </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' |
| | | import { mapState } from 'vuex' |
| | | export default { |
| | | name: 'InsuranceApply', |
| | | extends: BaseTable, |
| | | components: { TableLayout, Pagination, OperaInsuranceApplyWindow }, |
| | | components: { TableLayout, Pagination, OperaInsuranceApplyWindow, chooseCompany, OperaInsuranceApplyAddWindow }, |
| | | data () { |
| | | return { |
| | | // 搜索 |
| | | searchForm: { |
| | | createTimeS: '', |
| | | createTimeE: '', |
| | | time: [], |
| | | baseSolutionId: '', |
| | | 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' }, |
| | | ] |
| | | } |
| | | }, |
| | | computed: { |
| | | ...mapState(['userInfo']) |
| | | }, |
| | | created () { |
| | | this.config({ |
| | |
| | | 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() |
| | | }, |
| | | changeTime(e) { |
| | | if (e.length > 0) { |
| | | this.searchForm.createTimeS = e[0] |
| | | this.searchForm.createTimeE = e[1] |
| | | } else { |
| | | this.searchForm.createTimeS = '' |
| | | this.searchForm.createTimeE = '' |
| | | } |
| | | this.search() |
| | | }, |
| | | // handlePageChange() { |
| | | // this.search() |
| | | // }, |
| | | loadSelectList() { |
| | | solutionAll({dataType:2}).then(res => { |
| | | solutionAll({dataType:2,type:0}).then(res => { |
| | | this.solutionList = res |
| | | }).catch(err => { |
| | | }) |