From 5eb40c731da8ccf235ba557f97a5e05a70a75308 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期五, 02 二月 2024 14:35:35 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
company/src/views/business/member.vue | 121 +++++++++++++++++++++++++++------------
1 files changed, 83 insertions(+), 38 deletions(-)
diff --git a/company/src/views/business/member.vue b/company/src/views/business/member.vue
index ee96024..cbd8f56 100644
--- a/company/src/views/business/member.vue
+++ b/company/src/views/business/member.vue
@@ -2,39 +2,35 @@
<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>
@@ -45,8 +41,8 @@
</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"
@@ -58,24 +54,36 @@
<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>
@@ -87,7 +95,9 @@
</pagination>
</template>
<!-- 鏂板缓/淇敼 -->
- <OperaMemberWindow ref="operaMemberWindow" @success="handlePageChange"/>
+ <OperaMemberWindow ref="operaMemberWindow" @success="handlePageChange" />
+ <!-- 鎶曚繚璁板綍 -->
+ <insuranceRecords ref="insuranceRecords" @success="handlePageChange" />
</TableLayout>
</template>
@@ -96,18 +106,30 @@
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({
@@ -117,6 +139,29 @@
'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>
--
Gitblit v1.9.3