From 05aec1e9986fbe3e907259bb1a1396f129bd0fa1 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期五, 06 二月 2026 14:14:48 +0800
Subject: [PATCH] 优化

---
 admin/src/views/business/member.vue |  103 +++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 87 insertions(+), 16 deletions(-)

diff --git a/admin/src/views/business/member.vue b/admin/src/views/business/member.vue
index df448f1..87d15a3 100644
--- a/admin/src/views/business/member.vue
+++ b/admin/src/views/business/member.vue
@@ -2,16 +2,16 @@
   <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"  style="width: 150px" placeholder="璇疯緭鍏ュ悕绉�" @keypress.enter.native="search"></el-input>
+      <el-form-item label="濮撳悕" prop="name">
+        <el-input v-model="searchForm.name"  style="width: 180px" placeholder="璇疯緭鍏ュ鍚�" @keypress.enter.native="search"></el-input>
       </el-form-item>
       <el-form-item label="宸ュ彿" prop="code">
-        <el-input v-model="searchForm.code" style="width: 150px" placeholder="璇疯緭鍏ュ伐鍙�" @keypress.enter.native="search"></el-input>
+        <el-input v-model="searchForm.code" style="width: 180px" placeholder="璇疯緭鍏ュ伐鍙�" @keypress.enter.native="search"></el-input>
       </el-form-item>
       <el-form-item label="鎴樺尯" prop="zhanquIds">
         <el-select
             v-model="searchForm.zhanquIds"
-            style="width: 150px"
+            style="width: 180px"
             placeholder="鎴樺尯"
             clearable
             @change="search"
@@ -24,12 +24,14 @@
           ></el-option>
         </el-select>
       </el-form-item>
-      <el-form-item label="鍟嗕笟鍖栫被鍨�" prop="bustypeIds">
+      <el-form-item label="鍟嗕笟鍖栫被鍨�" prop="bustypeIdList">
         <el-select
-            v-model="searchForm.bustypeIds"
-            style="width: 150px"
+            v-model="searchForm.bustypeIdList"
+            style="width: 180px"
             placeholder="鍟嗕笟鍖栫被鍨�"
             clearable
+            multiple
+            collapse-tags
             @change="search"
         >
           <el-option
@@ -43,9 +45,10 @@
       <el-form-item label="鎿呴暱棰嗗煙" prop="fieldIdList">
         <el-select
             v-model="searchForm.fieldIdList"
-            style="width: 150px"
+            style="width: 300px"
             placeholder="鎿呴暱棰嗗煙"
             clearable
+            collapse-tags
             multiple
             @change="search"
         >
@@ -60,7 +63,7 @@
       <el-form-item label="鑰佸笀绛夌骇" prop="levelId">
         <el-select
             v-model="searchForm.levelId"
-            style="width: 150px"
+            style="width: 180px"
             placeholder="鑰佸笀绛夌骇"
             clearable
             @change="search"
@@ -78,7 +81,7 @@
               v-model="searchForm.status"
               placeholder="鐘舵��"
               clearable
-              style="width: 150px"
+              style="width: 180px"
               @change="search"
           >
             <el-option :key="0" :value="0" label="鍚敤"></el-option>
@@ -107,8 +110,8 @@
         <el-table-column type="selection" width="55"></el-table-column>
         <el-table-column  prop="imgurl" label="鍥剧墖" min-width="100px">
           <template slot-scope="{row}">
-            <el-image v-if="row.fullImgurl" style="width: 50px; height: 50px; margin-right: 10px" :src="row.fullImgurl"
-                      :preview-src-list="[row.fullImgurl]">
+            <el-image v-if="row.fullImgurl" style="width: 50px; margin-right: 10px" :src="row.fullImgurl"
+              :preview-src-list="[row.fullImgurl]">
             </el-image>
           </template>
         </el-table-column>
@@ -122,7 +125,11 @@
         </el-table-column>
         <el-table-column prop="positon" 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="workYears" label="浠庝笟骞翠唤" min-width="100px">
+          <template slot-scope="{row}">
+            {{row.workYears}}骞�
+          </template>
+        </el-table-column>
         <el-table-column prop="serveNum" label="鏈嶅姟鍟嗗満" min-width="100px">
           <template slot-scope="{row}">
             <span v-if="row.serveNum">{{row.serveNum}}涓�</span>
@@ -150,7 +157,9 @@
         <el-table-column prop="fieldNames" label="鎿呴暱棰嗗煙" min-width="200px">
           <template slot-scope="{row}">
             <div v-if="row.fieldList && row.fieldList.length">
-              <div style="display:inline-block;" v-for="(item,index) in row.fieldList">{{item.name||''}} <span v-if="index < row.fieldList.length-1" style="display:inline-block;padding: 0px 3px;">/</span></div>
+              <div style="width: 190px; display: -webkit-box; -webkit-box-orient: vertical; line-clamp: 2; overflow: hidden;">
+                <template v-for="(item,index) in row.fieldList">{{item.name||''}} <template v-if="index < row.fieldList.length-1">/</template></template>
+              </div>
             </div>
           </template>
         </el-table-column>
@@ -172,7 +181,7 @@
         >
           <template slot-scope="{row}">
             <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"   @click="$refs.OperaCasesListWindow.open('鏌ョ湅鑰佸笀妗堜緥銆�'+row.name+'銆�', row.id)" icon="el-icon-open">妗堜緥</el-button>
+            <el-button type="text"   @click="$refs.OperaCasesListWindow.open('鏌ョ湅鑰佸笀妗堜緥銆�'+row.name+'銆�', row.id)" icon="el-icon-picture-outline">妗堜緥</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>
@@ -214,7 +223,7 @@
         levelId:null,
         fieldIdList: [],
         zhanquIds:null,
-        bustypeIds:null,
+        bustypeIdList:[],
         type: 0
       },
       cateList:[]
@@ -235,6 +244,68 @@
 
   },
   methods: {
+    deleteById (row, childConfirm = true, call) {
+      this.__checkApi()
+      let message = `纭鍒犻櫎鑰佸笀鏁版嵁鍚�?`
+      if (childConfirm && row.children != null && row.children.length > 0) {
+        message = `纭鍒犻櫎鑰佸笀鏁版嵁鍚�?`
+      }
+      this.$dialog.deleteConfirm(message)
+              .then(() => {
+                this.isWorking.delete = true
+                this.api.deleteById(row[this.configData['field.id']])
+                        .then(() => {
+                          this.__afterDelete()
+                          if (call) {
+                            call()
+                          }
+                        })
+                        .catch(e => {
+                          this.$tip.apiFailed(e)
+                        })
+                        .finally(() => {
+                          this.isWorking.delete = false
+                        })
+              })
+              .catch(() => {})
+    },
+    deleteByIdInBatch (childConfirm = true, call) {
+      this.__checkApi()
+      if (this.tableData.selectedRows.length === 0) {
+        this.$tip.warning('璇疯嚦灏戦�夋嫨涓�鏉℃暟鎹�')
+        return
+      }
+      let message = `纭鍒犻櫎鑰佸笀鏁版嵁鍚�?`
+      if (childConfirm) {
+        const containChildrenRows = []
+        for (const row of this.tableData.selectedRows) {
+          if (row.children != null && row.children.length > 0) {
+            containChildrenRows.push(row[this.configData['field.main']])
+          }
+        }
+        if (containChildrenRows.length > 0) {
+          message = `纭鍒犻櫎鑰佸笀鏁版嵁鍚�?`
+        }
+      }
+      this.$dialog.deleteConfirm(message)
+              .then(() => {
+                this.isWorking.delete = true
+                this.api.deleteByIdInBatch(this.tableData.selectedRows.map(row => row[this.configData['field.id']]).join(','))
+                        .then(() => {
+                          this.__afterDelete(this.tableData.selectedRows.length)
+                          if (call) {
+                            call()
+                          }
+                        })
+                        .catch(e => {
+                          this.$tip.apiFailed(e)
+                        })
+                        .finally(() => {
+                          this.isWorking.delete = false
+                        })
+              })
+              .catch(() => {})
+    },
     changeStatus (e, row) {
       this.working = true
       this.api.updateStatus({ id: row.id, status: e })

--
Gitblit v1.9.3