From 30e622e971b73c6a80d5534a34ac8962ea1c45eb Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期五, 27 六月 2025 09:55:35 +0800
Subject: [PATCH] 提交一把订单

---
 company/src/views/business/memberPlat.vue              |  187 ++++++++++++++++++++++++++++++++++++++++++++++
 company/src/components/enterprise/insuranceRecords.vue |   22 ++--
 company/.env.development                               |    4 
 3 files changed, 200 insertions(+), 13 deletions(-)

diff --git a/company/.env.development b/company/.env.development
index 72cd20c..02bfff6 100644
--- a/company/.env.development
+++ b/company/.env.development
@@ -13,6 +13,6 @@
 #VUE_APP_API = 'https://www.yyb.red/yyb_admin_api/'
 
 # 浠诲悍
-VUE_APP_API = 'http://localhost:10030/'
+# VUE_APP_API = 'http://localhost:10030/'
 
-# VUE_APP_API = 'http://192.168.0.131:10031/'
+VUE_APP_API = 'http://192.168.0.132:10030/'
diff --git a/company/src/components/enterprise/insuranceRecords.vue b/company/src/components/enterprise/insuranceRecords.vue
index e8b1928..770a105 100644
--- a/company/src/components/enterprise/insuranceRecords.vue
+++ b/company/src/components/enterprise/insuranceRecords.vue
@@ -8,9 +8,9 @@
     >
         <div class="info">
             <div class="info_left">
-                濮撳悕锛歿{form.name}}&nbsp;&nbsp;韬唤璇佸彿锛歿{form.idcardNo}}&nbsp;&nbsp;鐘舵�侊細
-                <span style="color: green;" v-if="form.solutionsStatus === 1">淇濋殰涓�</span>
-                <span v-else>涓嶅湪淇�</span>
+                濮撳悕锛歿{form.name}}&nbsp;&nbsp;韬唤璇佸彿锛歿{form.idcardNo}}
+<!--              &nbsp;&nbsp;鐘舵�侊細  <span style="color: green;" v-if="form.solutionsStatus === 1">淇濋殰涓�</span>
+                <span v-else>涓嶅湪淇�</span>-->
             </div>
             <el-button type="primary" @click="expr">瀵煎嚭璁板綍</el-button>
         </div>
@@ -23,6 +23,14 @@
                     <span>{{scope.$index + 1}}</span>
                 </template>
             </el-table-column>
+          <el-table-column
+              prop="status"
+              label="鐘舵��">
+            <template scope="{row}">
+              <span v-if="row.isValid == 1" style="color: red">涓嶅湪淇�</span>
+              <span v-else style="color: green">淇濋殰涓�</span>
+            </template>
+          </el-table-column>
             <el-table-column
                 prop="solutionName"
                 label="淇濋櫓鏂规">
@@ -42,14 +50,6 @@
             <el-table-column
                 prop="worktypeName"
                 label="鎵�灞炲伐绉�">
-            </el-table-column>
-            <el-table-column
-                prop="status"
-                label="鐘舵��">
-            <template scope="{row}">
-                <span v-if="row.isValid == 1" style="color: red">宸插け鏁�</span>
-                <span v-else style="color: green">鏈夋晥</span>
-            </template>
             </el-table-column>
             <el-table-column
                 prop="startTime"
diff --git a/company/src/views/business/memberPlat.vue b/company/src/views/business/memberPlat.vue
new file mode 100644
index 0000000..bf8d89a
--- /dev/null
+++ b/company/src/views/business/memberPlat.vue
@@ -0,0 +1,187 @@
+<template>
+    <TableLayout :permissions="['business:member:query']">
+        <!-- 鎼滅储琛ㄥ崟 -->
+        <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
+            <el-form-item label="鍛樺伐濮撳悕" prop="name">
+                <el-input v-model="searchForm.name" clearable placeholder="璇疯緭鍏�" @keypress.enter.native="search"></el-input>
+            </el-form-item>
+            <el-form-item label="韬唤璇佸彿" prop="idcardNo">
+                <el-input v-model="searchForm.idcardNo" clearable placeholder="璇疯緭鍏�" maxlength="18" @keypress.enter.native="search"></el-input>
+            </el-form-item>
+            <el-form-item label="淇濋櫓鏂规" prop="solutionsId">
+                <el-select v-model="searchForm.solutionsId" clearable filterable placeholder="璇烽�夋嫨" @change="search">
+                    <el-option
+                        v-for="item in solutions"
+                        :key="item.baseId"
+                        :label="item.name"
+                        :value="item.baseId">
+                    </el-option>
+                </el-select>
+            </el-form-item>
+            <el-form-item  v-if="userInfo.type === 0" label="鎵�灞炰紒涓�" prop="companyId">
+                <el-select v-model="searchForm.companyId" clearable 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"
+                               :key="index"
+                               :label="item.name"
+                               :value="item.id">
+                           </el-option>
+                       </el-select>
+                   </el-form-item>-->
+            <section>
+                <el-button type="primary" @click="search">鎼滅储</el-button>
+                <el-button @click="reset">閲嶇疆</el-button>
+            </section>
+        </el-form>
+        <!-- 琛ㄦ牸鍜屽垎椤� -->
+        <template v-slot:table-wrap>
+            <ul class="toolbar">
+                <li><el-button type="primary" @click="expr">瀵煎嚭浜哄憳鍚嶅崟</el-button></li>
+            </ul>
+            <el-table
+                v-loading="isWorking.search"
+                :data="tableData.list"
+                stripe
+            >
+               <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 align="center"  prop="name" label="鍛樺伐濮撳悕" fixed min-width="100px"></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 align="center"  label="骞撮緞" min-width="50px" fixed>
+                    <template slot-scope="{row}">
+                        {{ calculateAge(row.idcardNo) }}
+                    </template>
+                </el-table-column>
+               <el-table-column align="center"  prop="totalNum" label="宸叉姇淇濆崟鏁�" min-width="150px">
+                 <template slot-scope="{row}">
+                   <span  style="color: #F95601">  {{ row.totalNum}}</span>
+                 </template>
+               </el-table-column>
+               <el-table-column   prop="validNum" label="淇濋櫓鐘舵��" min-width="180px">
+                 <template slot-scope="{row}">
+                   <span  v-if="row.validNum >0" style="color: #34C758;margin-right: 20px">淇濋殰涓細{{row.validNum }} </span>
+                   <span  v-if="row.invalidNum > 0"  style="color: #8c939d">涓嶅湪淇濓細{{row.invalidNum}}</span>
+                 </template>
+               </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>
+            </el-table>
+            <pagination
+                @size-change="handleSizeChange"
+                @current-change="handlePageChange"
+                :pagination="tableData.pagination"
+            >
+            </pagination>
+        </template>
+        <!-- 鏂板缓/淇敼 -->
+        <OperaMemberWindow ref="operaMemberWindow" @success="handlePageChange" />
+        <!--    缂栬緫    -->
+        <EditMemberWindow ref="editMemberWindow" @success="handlePageChange" />
+        <!--    鎶曚繚璁板綍    -->
+        <insuranceRecords ref="insuranceRecords" @success="handlePageChange" />
+    </TableLayout>
+</template>
+
+<script>
+    import BaseTable from '@/components/base/BaseTable'
+    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, EditMemberWindow, insuranceRecords },
+        data () {
+            return {
+                // 鎼滅储
+                searchForm: {
+                    duId: '',
+                    name: '',
+                    idcardNo: '',
+                    solutionsStatus: '',
+                    solutionsId: ''
+                },
+                options: [],
+                solutions: [],
+                companyList: []
+            }
+        },
+        computed: {
+            ...mapState(['userInfo'])
+        },
+        created () {
+            this.config({
+                module: '鐢ㄥ伐淇℃伅琛�',
+                api: '/business/member',
+                'field.id': 'id',
+                'field.main': 'id'
+            })
+            this.search()
+            this.getSolutions()
+        },
+        methods: {
+            expr() {
+                memberExportExcel({
+                    capacity: 60000,
+                    page: 1,
+                    model: this.searchForm
+                }).then(res => {
+                    this.download(res)
+                })
+            },
+            getSolutions() {
+                all({})
+                    .then(res => {
+                        this.solutions = res
+                    })
+                if (this.userInfo.type === 0) {
+                    companyAll({}).then(res => {
+                        this.companyList = 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