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