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