| | |
| | | <!-- 搜索表单 --> |
| | | <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="请选择" @change="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="baseSolutionId"> |
| | | <el-select v-model="searchForm.baseSolutionId" placeholder="请选择" @change="search"> |
| | | <el-select v-model="searchForm.baseSolutionId" filterable placeholder="请选择" @change="search"> |
| | | <el-option |
| | | v-for="item in solutionList" |
| | | :key="item.baseId" |
| | |
| | | <el-form-item label="提交日期" prop="createDate"> |
| | | <el-date-picker |
| | | v-model="searchForm.createDate" |
| | | @change="search" |
| | | @change="changeTime" |
| | | type="daterange" |
| | | range-separator="至" |
| | | value-format="yyyy-MM-dd" |
| | |
| | | <!-- 表格和分页 --> |
| | | <template v-slot:table-wrap> |
| | | <ul class="toolbar" v-permissions="['business:dispatchunit:create']"> |
| | | <li><el-button type="primary" @click="$refs.OperaInsuranceApplyWindow.open('投保申请', {type: ''})">投保申请</el-button></li> |
| | | <li><el-button type="primary" @click="$refs.OperaInsuranceApplyAddWindow.open('投保申请', {type: ''})">投保申请</el-button></li> |
| | | </ul> |
| | | <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> |
| | | </el-table-column> |
| | | <el-table-column prop="statusInfo" label="状态"> |
| | | <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" 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> |
| | | <!-- <span :class="'apply-status'+row.status" >{{row.statusInfo}}</span>--> |
| | | </template> |
| | | </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 :class="'apply-status'+row.status" >{{row.statusInfo}}</span> |
| | | <span>{{(row.guaranteeNum||0)}} 人</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="solutionsName" label="保险方案"></el-table-column> |
| | | <el-table-column prop="insureNum" label="投保人数"></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="总费用(元)"></el-table-column> |
| | | <el-table-column prop="checkDate" label="提交日期"></el-table-column> |
| | | <el-table-column prop="startTime" label="投保生效日期"></el-table-column> |
| | | <el-table-column prop="endTime" label="投保失效日期"></el-table-column> |
| | | <el-table-column |
| | | v-if="containPermissions(['business:insuranceapply:update', 'business:insuranceapply:delete'])" |
| | | label="操作" |
| | | min-width="120" |
| | | fixed="right" |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <el-button type="text" @click="$refs.OperaInsuranceApplyDetails.open('投保详情', { id: row.id })" v-permissions="['business:insuranceapply:update']">查看详情</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </el-table-column> |
| | | <el-table-column label="投保时长"> |
| | | <template slot-scope="{row}"> |
| | | <!-- (row.serviceDays - row.loseEfficacyDays) < 0 ? `-` : (row.serviceDays - row.loseEfficacyDays+'天')--> |
| | | <span>{{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="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="操作" |
| | | min-width="150" |
| | | fixed="right" |
| | | align="center" |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <el-button type="text" @click="godetail(row)" v-permissions="['business:insuranceapply:update']">查看详情</el-button> |
| | | <!-- <el-button type="text" @click="$refs.OperaApplyChangeMonthWindow.open('加减保月度费用统计',row)" v-permissions="['business:applychange:query']">加减保费用</el-button>--> |
| | | <template v-if="isShow(row.status, row.endTime)"> |
| | | <el-button type="text" @click="$refs.additionSubtractionApplication.open('加减保申请', { id: row.id })">加减保申请</el-button> |
| | | </template> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handlePageChange" |
| | |
| | | </pagination> |
| | | </template> |
| | | <!-- 新增投保 --> |
| | | <OperaInsuranceApplyWindow ref="OperaInsuranceApplyWindow" @success="handlePageChange" /> |
| | | <OperaInsuranceApplyAddWindow ref="OperaInsuranceApplyAddWindow" @success="result" /> |
| | | <!-- |
| | | <OperaApplyChangeMonthWindow ref="OperaApplyChangeMonthWindow" @success="handlePageChange" /> |
| | | --> |
| | | <OperaWtbApplyShopWindow ref="OperaWtbApplyShopWindow" @success="handlePageChange" /> |
| | | <!-- 投保详情 --> |
| | | <OperaInsuranceApplyDetails ref="OperaInsuranceApplyDetails" @success="handlePageChange" /> |
| | | <!-- 加减保申请 --> |
| | | <additionSubtractionApplication ref="additionSubtractionApplication" @success="handlePageChange" /> |
| | | </TableLayout> |
| | | </template> |
| | | |
| | | <script> |
| | | import BaseTable from '@/components/base/BaseTable' |
| | | import TableLayout from '@/layouts/TableLayout' |
| | | import Pagination from '@/components/common/Pagination' |
| | | import OperaInsuranceApplyWindow from '@/components/enterprise/OperaInsuranceApplyWindow' |
| | | import OperaInsuranceApplyAddWindow from '@/components/enterprise/OperaInsuranceApplyAddWindow' |
| | | import OperaInsuranceApplyDetails from '@/components/business/OperaInsuranceApplyWindow' |
| | | import OperaWtbApplyShopWindow from '@/components/business/OperaWtbApplyShopWindow' |
| | | import additionSubtractionApplication from '@/components/enterprise/additionSubtractionApplication' |
| | | import OperaApplyChangeMonthWindow from '@/components/business/OperaApplyChangeMonthWindow' |
| | | |
| | | import { all as solutionAll} from '@/api/business/solutions' |
| | | import { all as solutionAll } from '@/api/business/solutions' |
| | | export default { |
| | | name: 'InsuranceApply', |
| | | extends: BaseTable, |
| | | components: { TableLayout, Pagination, OperaInsuranceApplyWindow, OperaInsuranceApplyDetails }, |
| | | data () { |
| | | return { |
| | | // 搜索 |
| | | searchForm: { |
| | | createTimeS: '', |
| | | createTimeE: '', |
| | | baseSolutionId: '', |
| | | statusCollect: '' |
| | | }, |
| | | solutionList:[] |
| | | } |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | module: '投保申请信息表', |
| | | api: '/business/insuranceApply', |
| | | 'field.id': 'id', |
| | | 'field.main': 'id' |
| | | }) |
| | | this.search() |
| | | this.loadSelectList() |
| | | }, |
| | | methods:{ |
| | | loadSelectList() { |
| | | solutionAll({ dataType:2}).then(res => { |
| | | this.solutionList = res |
| | | }) |
| | | } |
| | | name: 'InsuranceApply', |
| | | extends: BaseTable, |
| | | components: { TableLayout, Pagination, |
| | | // OperaApplyChangeMonthWindow, |
| | | OperaInsuranceApplyAddWindow, OperaInsuranceApplyDetails,OperaWtbApplyShopWindow, additionSubtractionApplication }, |
| | | data () { |
| | | return { |
| | | // 搜索 |
| | | searchForm: { |
| | | createTimeS: '', |
| | | createTimeE: '', |
| | | baseSolutionId: '', |
| | | statusCollect: '', |
| | | timeOut: '' |
| | | }, |
| | | statusCollect: '', |
| | | solutionList: [], |
| | | 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.config({ |
| | | module: '投保申请信息表', |
| | | api: '/business/insuranceApply', |
| | | 'field.id': 'id', |
| | | 'field.main': 'id' |
| | | }) |
| | | this.search() |
| | | this.loadSelectList() |
| | | }, |
| | | methods: { |
| | | // 判断是否显示加减保 |
| | | isShow(status, endTime) { |
| | | const currentDate = new Date(); |
| | | const specifiedDate = new Date(endTime); |
| | | return [5,27].includes(status) && (currentDate < specifiedDate); |
| | | }, |
| | | 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() |
| | | }, |
| | | reset() { |
| | | this.searchForm.createTimeS = '' |
| | | this.searchForm.timeOut = '' |
| | | this.searchForm.createTimeE = '' |
| | | this.statusCollect = '' |
| | | this.searchForm.statusCollect = '' |
| | | this.$refs.searchForm.resetFields() |
| | | this.search() |
| | | }, |
| | | result(flag,param){ |
| | | if(param && param.godetail && param.id){ |
| | | if (param.type == 1) { |
| | | this.$refs.OperaWtbApplyShopWindow.open('委托投保详情', { id: param.id }) |
| | | } else { |
| | | this.$refs.OperaInsuranceApplyDetails.open('投保详情', { id: param.id }) |
| | | } |
| | | } |
| | | this.handlePageChange() |
| | | }, |
| | | godetail (row) { |
| | | if (row.solutionType == 1) { |
| | | this.$refs.OperaWtbApplyShopWindow.open('委托投保详情', { id: row.id }) |
| | | } else { |
| | | this.$refs.OperaInsuranceApplyDetails.open('投保详情', { id: row.id }) |
| | | } |
| | | }, |
| | | loadSelectList () { |
| | | solutionAll({ dataType: 2 }).then(res => { |
| | | this.solutionList = res |
| | | }) |
| | | }, |
| | | changeTime (e) { |
| | | this.searchForm.createTimeS = e[0] |
| | | this.searchForm.createTimeE = e[1] |
| | | this.search() |
| | | } |
| | | } |
| | | } |
| | | </script> |