| | |
| | | <TableLayout :permissions="['business:member:query']"> |
| | | <!-- æç´¢è¡¨å --> |
| | | <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline> |
| | | <el-form-item label="åå·¥å§å" prop="duId"> |
| | | <el-input v-model="searchForm.duId" placeholder="请è¾å
¥" @keypress.enter.native="search"></el-input> |
| | | <el-form-item label="åå·¥å§å" prop="name"> |
| | | <el-input v-model="searchForm.name" placeholder="请è¾å
¥" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="身份è¯å·" prop="duId"> |
| | | <el-input v-model="searchForm.duId" placeholder="请è¾å
¥" @keypress.enter.native="search"></el-input> |
| | | <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="duId"> |
| | | <el-select v-model="searchForm.duId" placeholder="è¯·éæ©"> |
| | | <el-form-item label="ä¿é©æ¹æ¡" prop="solutionId"> |
| | | <el-select v-model="searchForm.solutionId" placeholder="è¯·éæ©" @change="search"> |
| | | <el-option |
| | | v-for="item in options" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | v-for="item in solutions" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="ä¿é©ç¶æ" prop="duId"> |
| | | <el-select v-model="searchForm.duId" placeholder="è¯·éæ©"> |
| | | <el-option |
| | | v-for="item in options" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | </el-option> |
| | | <el-form-item label="ä¿é©ç¶æ" prop="solutionsStatus"> |
| | | <el-select v-model="searchForm.solutionsStatus" placeholder="è¯·éæ©" @change="search"> |
| | | <el-option label="ä¿éä¸" value="1"></el-option> |
| | | <el-option label="ä¸å¨ä¿" value="2"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="æ´¾é£åä½" prop="duId"> |
| | | <el-select v-model="searchForm.duId" placeholder="è¯·éæ©"> |
| | | <el-select v-model="searchForm.duId" placeholder="è¯·éæ©" @change="search"> |
| | | <el-option |
| | | v-for="item in options" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | v-for="(item, index) in options" |
| | | :key="index" |
| | | :label="item.name" |
| | | :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | |
| | | </el-form> |
| | | <!-- è¡¨æ ¼åå页 --> |
| | | <template v-slot:table-wrap> |
| | | <ul class="toolbar" v-permissions="['business:member:create']"> |
| | | <li><el-button type="primary" @click="$refs.operaMemberWindow.open('æä¿è®°å½')">导å
¥äººååå</el-button></li> |
| | | <ul class="toolbar"> |
| | | <li><el-button type="primary" @click="expr">导åºäººååå</el-button></li> |
| | | </ul> |
| | | <el-table |
| | | v-loading="isWorking.search" |
| | |
| | | <span>{{scope.$index + 1}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="companyId" label="ä¿é©ç¶æ" min-width="100px"></el-table-column> |
| | | <el-table-column prop="companyId" label="æå±ä¼ä¸" min-width="100px"></el-table-column> |
| | | <el-table-column prop="companyId" label="åå·¥å§å" min-width="100px"></el-table-column> |
| | | <el-table-column label="ä¿é©ç¶æ" min-width="100px"> |
| | | <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> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="companyId" label="å¹´é¾" min-width="100px"></el-table-column> |
| | | <el-table-column prop="companyId" label="ä¿é©æ¹æ¡" min-width="100px"></el-table-column> |
| | | <el-table-column prop="duId" label="æ´¾é£åä½" min-width="100px"></el-table-column> |
| | | <el-table-column prop="worktypeId" label="æå±å·¥ç§" min-width="100px"></el-table-column> |
| | | <el-table-column prop="idcardNo" label="身份è¯å·ç " min-width="100px"></el-table-column> |
| | | <el-table-column label="å¹´é¾" min-width="100px"> |
| | | <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="æä½" min-width="100px"> |
| | | <el-table-column label="æä½" |
| | | fixed="right" |
| | | min-width="120px"> |
| | | <template slot-scope="{row}"> |
| | | <el-button type="text">æä¿è®°å½</el-button> |
| | | <el-button type="text" @click="$refs.insuranceRecords.open('æä¿è®°å½', row)">æä¿è®°å½</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | </pagination> |
| | | </template> |
| | | <!-- æ°å»º/ä¿®æ¹ --> |
| | | <OperaMemberWindow ref="operaMemberWindow" @success="handlePageChange"/> |
| | | <OperaMemberWindow ref="operaMemberWindow" @success="handlePageChange" /> |
| | | <!-- æä¿è®°å½ --> |
| | | <insuranceRecords ref="insuranceRecords" @success="handlePageChange" /> |
| | | </TableLayout> |
| | | </template> |
| | | |
| | |
| | | import TableLayout from '@/layouts/TableLayout' |
| | | import Pagination from '@/components/common/Pagination' |
| | | import OperaMemberWindow from '@/components/business/OperaMemberWindow' |
| | | import insuranceRecords from '@/components/enterprise/insuranceRecords' |
| | | import { all } from '@/api/business/solutions' |
| | | import { findListByDTO } from '@/api/business/dispatchUnit' |
| | | import { mapState } from 'vuex' |
| | | export default { |
| | | name: 'Member', |
| | | extends: BaseTable, |
| | | components: { TableLayout, Pagination, OperaMemberWindow }, |
| | | components: { TableLayout, Pagination, OperaMemberWindow, insuranceRecords }, |
| | | data () { |
| | | return { |
| | | // æç´¢ |
| | | searchForm: { |
| | | duId: '' |
| | | duId: '', |
| | | name: '', |
| | | idcardNo: '', |
| | | solutionsStatus: '', |
| | | solutionId: '' |
| | | }, |
| | | options: [] |
| | | options: [], |
| | | solutions: [] |
| | | } |
| | | }, |
| | | computed: { |
| | | ...mapState(['userInfo']) |
| | | }, |
| | | created () { |
| | | this.config({ |
| | |
| | | 'field.main': 'id' |
| | | }) |
| | | this.search() |
| | | this.getSolutions() |
| | | }, |
| | | methods: { |
| | | expr() { |
| | | |
| | | }, |
| | | getSolutions() { |
| | | all() |
| | | .then(res => { |
| | | this.solutions = res |
| | | }) |
| | | findListByDTO({ dataType: 2 }) |
| | | .then(res => { |
| | | this.options = res |
| | | }) |
| | | }, |
| | | calculateAge(idNumber) { |
| | | if (!idNumber) return |
| | | let birthYear = parseInt(idNumber.substr(6, 4)); // æåçæ¥å¹´ä»½é¨å |
| | | let currentYear = new Date().getFullYear(); // è·åå½å年份 |
| | | |
| | | return currentYear - birthYear; // è¿åå¹´é¾ |
| | | } |
| | | } |
| | | } |
| | | </script> |