From 8676f4cb37ef31fa9fcfe2a7faf5f4c4ea77cc1a Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期四, 29 一月 2026 09:46:05 +0800
Subject: [PATCH] Merge branch 'master' of http://139.186.142.91:10010/r/productDev/zbom_dianjiang
---
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