| | |
| | | <el-form-item label="身份证号" prop="idcardNo"> |
| | | <el-input v-model="searchForm.idcardNo" placeholder="请输入" maxlength="18" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="保险方案" prop="solutionId"> |
| | | <el-select v-model="searchForm.solutionId" placeholder="请选择" @change="search"> |
| | | <el-form-item label="保险方案" prop="solutionsId"> |
| | | <el-select v-model="searchForm.solutionsId" filterable placeholder="请选择" @change="search"> |
| | | <el-option |
| | | v-for="item in solutions" |
| | | :key="item.id" |
| | | :key="item.baseId" |
| | | :label="item.name" |
| | | :value="item.id"> |
| | | :value="item.baseId"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | |
| | | <el-option label="不在保" value="2"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="派遣单位" prop="duId"> |
| | | <el-form-item v-if="userInfo.type === 0" label="所属企业" prop="companyId"> |
| | | <el-select v-model="searchForm.companyId" filterable placeholder="请选择" @change="search"> |
| | | <el-option |
| | | v-for="(item, index) in companyList" |
| | | :key="index" |
| | | :label="item.name" |
| | | :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="派遣单位" prop="duName"> |
| | | <el-input v-model="searchForm.duName" placeholder="请输入" maxlength="18" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <!-- <el-form-item label="派遣单位" prop="duId"> |
| | | <el-select v-model="searchForm.duId" placeholder="请选择" @change="search"> |
| | | <el-option |
| | | v-for="(item, index) in options" |
| | |
| | | :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-form-item>--> |
| | | <section> |
| | | <el-button type="primary" @click="search">搜索</el-button> |
| | | <el-button @click="reset">重置</el-button> |
| | |
| | | :data="tableData.list" |
| | | stripe |
| | | > |
| | | <el-table-column label="序号" width="80px"> |
| | | <el-table-column align="center" label="序号" width="50px" fixed> |
| | | <template slot-scope="scope"> |
| | | <span>{{scope.$index + 1}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="保险状态" min-width="100px"> |
| | | <el-table-column align="center" label="保险状态" min-width="80px" fixed> |
| | | <template slot-scope="{row}"> |
| | | <span style="color: green;" v-if="row.solutionsStatus === 1">保障中</span> |
| | | <span v-else-if="row.solutionsStatus === 2">不在保</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="companyName" label="所属企业" min-width="100px" v-if="userInfo.type === 0"></el-table-column> |
| | | <el-table-column prop="name" label="员工姓名" min-width="100px"></el-table-column> |
| | | <el-table-column label="性别" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.sex === 0">男</span> |
| | | <span v-else>女</span> |
| | | <el-table-column align="center" prop="companyName" fixed label="所属企业" min-width="150px" v-if="userInfo.type === 0"></el-table-column> |
| | | <el-table-column align="center" prop="name" label="员工姓名" fixed min-width="100px"></el-table-column> |
| | | <el-table-column align="center" prop="solutionName" label="保险方案" fixed min-width="150px"></el-table-column> |
| | | <el-table-column align="center" prop="idcardNo" label="身份证号码" fixed min-width="150px"></el-table-column> |
| | | <el-table-column align="center" label="性别" min-width="50px" fixed> |
| | | <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="idcardNo" label="身份证号码" min-width="100px"></el-table-column> |
| | | <el-table-column label="年龄" min-width="100px"> |
| | | </el-table-column> |
| | | <el-table-column align="center" label="年龄" min-width="50px" fixed> |
| | | <template slot-scope="{row}"> |
| | | {{ calculateAge(row.idcardNo) }} |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="solutionName" label="保险方案" min-width="100px"></el-table-column> |
| | | <el-table-column prop="duName" label="派遣单位" min-width="100px"></el-table-column> |
| | | <el-table-column prop="workTypeName" label="所属工种" min-width="100px"></el-table-column> |
| | | <el-table-column prop="startTime" label="实际保险生效起期" min-width="100px"></el-table-column> |
| | | <el-table-column prop="endTime" label="实际保险生效止期" min-width="100px"></el-table-column> |
| | | <el-table-column label="操作" |
| | | <el-table-column align="center" prop="duName" label="派遣单位" min-width="150px"></el-table-column> |
| | | <el-table-column align="center" prop="workTypeName" label="所属工种" min-width="150px"></el-table-column> |
| | | <el-table-column align="center" prop="startTime" label="实际保险生效起期" min-width="150px"></el-table-column> |
| | | <el-table-column align="center" prop="endTime" label="实际保险生效止期" min-width="150px"></el-table-column> |
| | | <el-table-column align="center" label="操作" |
| | | fixed="right" |
| | | min-width="120px"> |
| | | <template slot-scope="{row}"> |
| | | <el-button type="text" @click="$refs.editMemberWindow.open('编辑', row)" v-if="userInfo.type === 0">编辑</el-button> |
| | | <el-button type="text" @click="$refs.insuranceRecords.open('投保记录', row)">投保记录</el-button> |
| | | </template> |
| | | </el-table-column> |
| | |
| | | </template> |
| | | <!-- 新建/修改 --> |
| | | <OperaMemberWindow ref="operaMemberWindow" @success="handlePageChange" /> |
| | | <!-- 编辑 --> |
| | | <EditMemberWindow ref="editMemberWindow" @success="handlePageChange" /> |
| | | <!-- 投保记录 --> |
| | | <insuranceRecords ref="insuranceRecords" @success="handlePageChange" /> |
| | | </TableLayout> |
| | |
| | | import TableLayout from '@/layouts/TableLayout' |
| | | import Pagination from '@/components/common/Pagination' |
| | | import OperaMemberWindow from '@/components/business/OperaMemberWindow' |
| | | import EditMemberWindow from '@/components/business/EditMemberWindow' |
| | | import insuranceRecords from '@/components/enterprise/insuranceRecords' |
| | | import { all } from '@/api/business/solutions' |
| | | import { findListByDTO } from '@/api/business/dispatchUnit' |
| | | import { memberExportExcel } from '@/api/business/member' |
| | | import { mapState } from 'vuex' |
| | | import {pageAll as companyAll} from "@/api/business/company"; |
| | | export default { |
| | | name: 'Member', |
| | | extends: BaseTable, |
| | | components: { TableLayout, Pagination, OperaMemberWindow, insuranceRecords }, |
| | | components: { TableLayout, Pagination, OperaMemberWindow, EditMemberWindow, insuranceRecords }, |
| | | data () { |
| | | return { |
| | | // 搜索 |
| | |
| | | name: '', |
| | | idcardNo: '', |
| | | solutionsStatus: '', |
| | | solutionId: '' |
| | | solutionsId: '' |
| | | }, |
| | | options: [], |
| | | solutions: [] |
| | | solutions: [], |
| | | companyList: [] |
| | | } |
| | | }, |
| | | computed: { |
| | |
| | | }, |
| | | methods: { |
| | | expr() { |
| | | |
| | | memberExportExcel({ |
| | | capacity: 60000, |
| | | page: 1, |
| | | model: this.searchForm |
| | | }).then(res => { |
| | | this.download(res) |
| | | }) |
| | | }, |
| | | getSolutions() { |
| | | all() |
| | | all({}) |
| | | .then(res => { |
| | | this.solutions = res |
| | | }) |
| | | findListByDTO({ dataType: 2 }) |
| | | .then(res => { |
| | | this.options = res |
| | | if (this.userInfo.type === 0) { |
| | | companyAll({}).then(res => { |
| | | this.companyList = res |
| | | }) |
| | | } |
| | | }, |
| | | calculateAge(idNumber) { |
| | | if (!idNumber) return |