From e1b74e9a33f947f87bc87b2921db9a72598d4d47 Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期四, 29 一月 2026 09:23:18 +0800
Subject: [PATCH] 提交忽略文件

---
 admin/src/views/business/member.vue |  246 +++++++++++++++++++++++++++++++------------------
 1 files changed, 155 insertions(+), 91 deletions(-)

diff --git a/admin/src/views/business/member.vue b/admin/src/views/business/member.vue
index 6e99eef..c89fec6 100644
--- a/admin/src/views/business/member.vue
+++ b/admin/src/views/business/member.vue
@@ -2,42 +2,104 @@
   <TableLayout :permissions="['business:member:query']">
     <!-- 鎼滅储琛ㄥ崟 -->
     <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
-      <el-form-item label="鎵嬫満鍙�" prop="telephone">
-        <el-input v-model="searchForm.telephone" clearable placeholder="璇疯緭鍏ユ墜鏈哄彿" @keypress.enter.native="search"></el-input>
+      <el-form-item label="鍚嶇О" prop="name">
+        <el-input v-model="searchForm.name"  style="width: 150px" placeholder="璇疯緭鍏ュ悕绉�" @keypress.enter.native="search"></el-input>
       </el-form-item>
-      <el-form-item label="鐪熷疄濮撳悕" prop="name">
-        <el-input v-model="searchForm.name" clearable placeholder="璇疯緭鍏ョ湡瀹炲鍚�" @keypress.enter.native="search"></el-input>
+      <el-form-item label="宸ュ彿" prop="code">
+        <el-input v-model="searchForm.code" style="width: 150px" placeholder="璇疯緭鍏ュ伐鍙�" @keypress.enter.native="search"></el-input>
       </el-form-item>
-      <el-form-item label="绫诲瀷" prop="type">
-        <el-select v-model="searchForm.type" clearable placeholder="璇烽�夋嫨绫诲瀷" @change="search">
-            <el-option :value="0" label="鍏ㄩ儴"></el-option>
-            <el-option :value="1" label="鎺ュ崟鏂�"></el-option>
+      <el-form-item label="鎴樺尯" prop="fieldIdList">
+        <el-select
+            v-model="searchForm.fieldIdList"
+            style="width: 150px"
+            placeholder="鎴樺尯"
+            clearable
+            multiple
+            @change="search"
+        >
+          <el-option
+              v-for="item in cateList"
+              :key="item.id"
+              :value="item.id"
+              :label="item.name"
+          ></el-option>
         </el-select>
       </el-form-item>
-<!--      <el-form-item label="鐘舵��" prop="status">
-        <el-select v-model="searchForm.status"  @keypress.enter.native="search" clearable placeholder="鐘舵��">
-          <el-option label="鍚敤" value="0"></el-option>
-          <el-option label="绂佺敤" value="1"></el-option>
+      <el-form-item label="鍟嗕笟鍖栫被鍨�" prop="busTypeIdList">
+        <el-select
+            v-model="searchForm.busTypeIdList"
+            style="width: 150px"
+            placeholder="鍟嗕笟鍖栫被鍨�"
+            clearable
+            multiple
+            @change="search"
+        >
+          <el-option
+              v-for="item in cateList1"
+              :key="item.id"
+              :value="item.id"
+              :label="item.name"
+          ></el-option>
         </el-select>
-      </el-form-item>-->
-      <el-form-item label="娉ㄥ唽鏃堕棿" prop="eventType">
-        <el-date-picker type="datetime" style="width: 120px" v-model="searchForm.startTime" clearable value-format="yyyy-MM-dd HH:mm:ss"
-                        placeholder="寮�濮嬫椂闂�" />-
-        <el-date-picker type="datetime"  style="width: 120px"  v-model="searchForm.endTime" clearable value-format="yyyy-MM-dd HH:mm:ss"
-                        placeholder="缁撴潫鏃堕棿" />
+      </el-form-item>
+      <el-form-item label="鎿呴暱棰嗗煙" prop="levelIdList">
+        <el-select
+            v-model="searchForm.levelIdList"
+            style="width: 150px"
+            placeholder="鎿呴暱棰嗗煙"
+            clearable
+            multiple
+            @change="search"
+        >
+          <el-option
+              v-for="item in cateList2"
+              :key="item.id"
+              :value="item.id"
+              :label="item.name"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="鑰佸笀绛夌骇" prop="levelIdList">
+        <el-select
+            v-model="searchForm.levelIdList"
+            style="width: 150px"
+            placeholder="鑰佸笀绛夌骇"
+            clearable
+            multiple
+            @change="search"
+        >
+          <el-option
+              v-for="item in cateList3"
+              :key="item.id"
+              :value="item.id"
+              :label="item.name"
+          ></el-option>
+        </el-select>
+        <el-form-item label="鐘舵��" prop="status">
+          <el-select
+              v-model="searchForm.status"
+              placeholder="鐘舵��"
+              clearable
+              style="width: 150px"
+              @change="search"
+          >
+            <el-option :key="0" :value="0" label="鍚敤"></el-option>
+            <el-option :key="1" :value="1" label="绂佺敤"></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>
-        <el-button type="primary" :loading="isWorking.export" @click="exportExcel">瀵煎嚭</el-button>
       </section>
     </el-form>
     <!-- 琛ㄦ牸鍜屽垎椤� -->
     <template v-slot:table-wrap>
-<!--      <ul class="toolbar" v-permissions="['business:member:create', 'business:member:delete']">
-        <li><el-button type="primary" @click="$refs.operaMemberWindow.open('鏂板缓浼氬憳淇℃伅琛�')" icon="el-icon-plus" v-permissions="['business:member:create']">鏂板缓</el-button></li>
-        <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:member:delete']">鍒犻櫎</el-button></li>
-      </ul>-->
+      <ul class="toolbar" v-permissions="['business:member:create', 'business:member:delete']">
+        <li><el-button type="primary" @click="$refs.operaMemberWindow.open('鏂板缓鑰佸笀',null)" icon="el-icon-plus" v-permissions="['business:member:create']">鏂板缓</el-button></li>
+        <li><el-button type="primary" icon="el-icon-refresh" v-permissions="['business:member:create']" @click="$refs.OperaMemberImportWindow.open('鑰佸笀瀵煎叆', searchForm.companyType)">鎵归噺瀵煎叆</el-button></li>
+        <li><el-button type="danger" @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:member:delete']">鍒犻櫎</el-button></li>
+      </ul>
       <el-table
           :height="tableHeightNew"
         v-loading="isWorking.search"
@@ -46,55 +108,57 @@
         @selection-change="handleSelectionChange"
       >
         <el-table-column type="selection" width="55"></el-table-column>
-        <el-table-column prop="openid" label="openid" min-width="100px">
+        <el-table-column  prop="imgurl" label="鍥剧墖" min-width="100px">
           <template slot-scope="{row}">
-           <span style="cursor: pointer;color: #2E68EC" @click="openDetail(row)">{{row.openid}}</span>
+            <el-image v-if="row.imgurlfull" style="width: 50px; height: 50px; margin-right: 10px" :src="row.imgurlfull"
+                      :preview-src-list="[row.imgurlfull]">
+            </el-image>
           </template>
         </el-table-column>
-        <el-table-column prop="nickName" label="鏄电О" min-width="100px"></el-table-column>
-        <el-table-column prop="name" label="鐪熷疄濮撳悕" min-width="100px"></el-table-column>
-        <el-table-column prop="telephone" label="鎵嬫満鍙�" min-width="100px"></el-table-column>
-        <el-table-column prop="workerIdentity" label="韬唤" min-width="100px">
+        <el-table-column prop="code" label="宸ュ彿" min-width="100px"></el-table-column>
+        <el-table-column prop="name" label="濮撳悕" min-width="100px"></el-table-column>
+        <el-table-column prop="sex" label="鎬у埆" min-width="100px">
           <template slot-scope="{row}">
-            鍙戝崟鏂�<span v-if="row.workerIdentity == 2 || row.driverIdentity == 2 || row.chefIdentity == 2">{{'  |  鎺ュ崟鏂�'}}</span>
+            <span v-if="row.sex ==0">鐢�</span>
+            <span v-if="row.sex ==1">濂�</span>
           </template>
         </el-table-column>
-        <el-table-column prop="workerIdentity" label="鎺ュ崟璁よ瘉韬唤"  width="120px">
+        <el-table-column prop="position" label="宀椾綅" min-width="120px"></el-table-column>
+        <el-table-column prop="levelName" label="绛夌骇" min-width="100px"></el-table-column>
+        <el-table-column prop="jobYear" label="浠庝笟骞翠唤" min-width="100px"></el-table-column>
+        <el-table-column prop="serveNum" label="鏈嶅姟鍟嗗満" min-width="100px">
           <template slot-scope="{row}">
-            <div v-if="row.workerIdentity == 2" class="renzhen">宸ヤ汉</div>
-            <div v-if=" row.driverIdentity == 2"  class="renzhen">鍙告満</div>
-            <div v-if="row.chefIdentity == 2"    class="renzhen">渚涢</div>
+            <span v-if="row.serveNum">{{row.serveNum}}涓�</span>
           </template>
         </el-table-column>
-        <el-table-column prop="amount" label="褰撳墠浣欓(鍏�)" min-width="100px">
+        <el-table-column prop="caseNum" label="鏍囨潌妗堜緥" min-width="100px">
           <template slot-scope="{row}">
-            <span class="yellowstate">{{((row.amount || 0)/100).toFixed(2)}}</span>
+            <span v-if="row.caseNum">{{row.caseNum}}涓�</span>
           </template>
         </el-table-column>
-        <el-table-column prop="createTime" label="娉ㄥ唽鏃堕棿" min-width="100px"></el-table-column>
-        <el-table-column prop="autoReciveStatus" label="鎺ュ彈鑷姩娲惧崟" min-width="100px">
-            <template slot-scope="{row}">
-              {{row.autoReceiveStatus ==1?"鏄�":"鍚�"}}
-            </template>
-        </el-table-column>
-<!--        <el-table-column label="鐘舵��">
+        <el-table-column prop="busTypeNames" label="鍟嗕笟鍖栫被鍨�" min-width="200px"></el-table-column>
+        <el-table-column prop="areaNames" label="鏈嶅姟鎴樺尯" min-width="200px"></el-table-column>
+        <el-table-column prop="fieldNames" label="鎿呴暱棰嗗煙" min-width="200px"></el-table-column>
+        <el-table-column label="鐘舵��">
           <template slot-scope="{row}">
             <el-switch @change="changeStatus($event, row)" v-model="row.status" active-color="#13ce66"
-                       inactive-color="#ff4949" :active-value="0" :inactive-value="1">
+            inactive-color="#ff4949" :active-value="0" :inactive-value="1">
             </el-switch>
           </template>
         </el-table-column>
-      <el-table-column
-              v-if="containPermissions(['business:member:update', 'business:member:delete'])"
-              label="鎿嶄綔"
-              min-width="120"
-              fixed="right"
-            >
+        <el-table-column prop="updateUserName" label="鎿嶄綔浜�" min-width="100px"></el-table-column>
+        <el-table-column prop="updateTime" label="鏈�杩戞搷浣滄椂闂�" min-width="150px"></el-table-column>
+        <el-table-column
+          v-if="containPermissions(['business:member:update', 'business:member:delete'])"
+          label="鎿嶄綔"
+          min-width="120"
+          fixed="right"
+        >
           <template slot-scope="{row}">
-            <el-button type="text" @click="$refs.operaMemberWindow.open('缂栬緫浼氬憳淇℃伅琛�', row)" icon="el-icon-edit" v-permissions="['business:member:update']">缂栬緫</el-button>
-            <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:member:delete']">鍒犻櫎</el-button>
+            <el-button type="text" @click="$refs.operaMemberWindow.open('缂栬緫鑰佸笀', row,searchForm.type)" icon="el-icon-edit" v-permissions="['business:member:update']">缂栬緫</el-button>
+            <el-button type="text" style="color: red" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:member:delete']">鍒犻櫎</el-button>
           </template>
-        </el-table-column>-->
+        </el-table-column>
       </el-table>
       <pagination
         @size-change="handleSizeChange"
@@ -104,8 +168,8 @@
       </pagination>
     </template>
     <!-- 鏂板缓/淇敼 -->
-    <OperaMemberDetailWindow ref="OperaMemberDetailWindow" />
     <OperaMemberWindow ref="operaMemberWindow" @success="handlePageChange"/>
+    <OperaMemberImportWindow ref="OperaMemberImportWindow" @success="handlePageChange" />
   </TableLayout>
 </template>
 
@@ -114,51 +178,63 @@
 import TableLayout from '@/layouts/TableLayout'
 import Pagination from '@/components/common/Pagination'
 import OperaMemberWindow from '@/components/business/OperaMemberWindow'
-import OperaMemberDetailWindow from '@/components/business/OperaMemberDetailWindow'
+import OperaMemberImportWindow from '@/components/business/OperaMemberImportWindow'
+import { findAll as cateList } from '@/api/business/category'
 export default {
-  name: 'Member',
+  name: 'Category',
   extends: BaseTable,
-  components: { TableLayout, Pagination, OperaMemberDetailWindow, OperaMemberWindow },
+  components: { TableLayout, Pagination, OperaMemberWindow ,OperaMemberImportWindow},
   data () {
     return {
       // 鎼滅储
       searchForm: {
-        type: 0,
-        startTime: '',
-        endTime: '',
-        telephone: '',
         name: '',
-        status: ''
-      }
+        code: '',
+        status: null,
+        levelIdList:[],
+        fieldIdList: [],
+        busTypeIdList:[],
+        type: 0
+      },
+      cateList:[],
+      cateList1:[],
+      cateList2:[],
+      cateList3:[],
     }
   },
   created () {
     this.config({
-      module: '浼氬憳淇℃伅琛�',
+      module: '璁插笀淇℃伅琛�',
       api: '/business/member',
       'field.id': 'id',
       'field.main': 'id'
     })
     this.search()
+    cateList({
+      type: 0 , //鎴樺尯
+    }).then(res => {
+      this.cateList = res
+    })
+    cateList({
+      type: 1 , //鍟嗕笟鍖�
+    }).then(res => {
+      this.cateList1 = res
+    })
+    cateList({
+      type: 2 , //鎿呴暱棰嗙敤
+    }).then(res => {
+      this.cateList2 = res
+    })
+    cateList({
+      type: 3 , //绛夌骇
+    }).then(res => {
+      this.cateList3 = res
+    })
   },
   methods: {
-    reset () {
-      this.searchForm = {
-        type: 0,
-        startTime: '',
-        endTime: '',
-        telephone: '',
-        name: '',
-        status: ''
-      }
-      this.search()
-    },
-    openDetail (row) {
-      this.$refs.OperaMemberDetailWindow.open('鐢ㄦ埛璇︽儏', row.id)
-    },
     changeStatus (e, row) {
       this.working = true
-      this.api.updateStatus({ id: row.id, workStatus: e })
+      this.api.updateStatus({ id: row.id, status: e })
         .then(res => {
           this.$tip.apiSuccess(res || '鎿嶄綔鎴愬姛')
           this.search()
@@ -169,19 +245,7 @@
         .finally(() => {
           this.working = false
         })
-        .catch(() => { })
     }
   }
 }
 </script>
-<style  scoped lang="scss">
-.renzhen{
-  margin: 5px;
-  line-height: 30px;
-  color:#67c23a;
-  height: 30px;
-  text-align:center;
-  border-color: #e1f3d8;
-  background-color: #f0f9eb;
-}
-</style>

--
Gitblit v1.9.3