From 996154fb8fab5468cdfc99efbab606605fb762e1 Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期一, 14 七月 2025 17:40:34 +0800 Subject: [PATCH] 前端 --- admin/src/views/business/member.vue | 231 ++++++++++++++++++++------------------------------------- 1 files changed, 83 insertions(+), 148 deletions(-) diff --git a/admin/src/views/business/member.vue b/admin/src/views/business/member.vue index 1de7a6d..07e943a 100644 --- a/admin/src/views/business/member.vue +++ b/admin/src/views/business/member.vue @@ -2,95 +2,30 @@ <TableLayout :permissions="['business:member:query']"> <!-- 鎼滅储琛ㄥ崟 --> <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline> - <el-form-item label="涓婚敭" prop="id"> - <el-input v-model="searchForm.id" placeholder="璇疯緭鍏ヤ富閿�" @keypress.enter.native="search"></el-input> + <el-form-item label="鎵嬫満鍙�" prop="telephone"> + <el-input v-model="searchForm.telephone" clearable placeholder="璇疯緭鍏ユ墜鏈哄彿" @keypress.enter.native="search"></el-input> </el-form-item> - <el-form-item label="鏄惁宸插垹闄� 0鏈垹闄� 1宸插垹闄�" prop="deleted"> - <el-input v-model="searchForm.deleted" placeholder="璇疯緭鍏ユ槸鍚﹀凡鍒犻櫎 0鏈垹闄� 1宸插垹闄�" @keypress.enter.native="search"></el-input> + <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="createUser"> - <el-input v-model="searchForm.createUser" placeholder="璇疯緭鍏ュ垱寤轰汉缂栫爜" @keypress.enter.native="search"></el-input> - </el-form-item> - <el-form-item label="鍒涘缓鏃堕棿" prop="createTime"> - <el-date-picker v-model="searchForm.createTime" value-format="yyyy-MM-dd" placeholder="璇疯緭鍏ュ垱寤烘椂闂�" @change="search"/> - </el-form-item> - <el-form-item label="鏇存柊浜虹紪鐮�" prop="updateUser"> - <el-input v-model="searchForm.updateUser" placeholder="璇疯緭鍏ユ洿鏂颁汉缂栫爜" @keypress.enter.native="search"></el-input> - </el-form-item> - <el-form-item label="鏇存柊鏃堕棿" prop="updateTime"> - <el-date-picker v-model="searchForm.updateTime" value-format="yyyy-MM-dd" placeholder="璇疯緭鍏ユ洿鏂版椂闂�" @change="search"/> - </el-form-item> - <el-form-item label="澶囨敞" prop="remark"> - <el-input v-model="searchForm.remark" placeholder="璇疯緭鍏ュ娉�" @keypress.enter.native="search"></el-input> - </el-form-item> - <el-form-item label="澶村儚" prop="coverImage"> - <el-input v-model="searchForm.coverImage" placeholder="璇疯緭鍏ュご鍍�" @keypress.enter.native="search"></el-input> - </el-form-item> - <el-form-item label="openid" prop="openid"> - <el-input v-model="searchForm.openid" placeholder="璇疯緭鍏penid" @keypress.enter.native="search"></el-input> - </el-form-item> - <el-form-item label="鏄电О" prop="nickName"> - <el-input v-model="searchForm.nickName" placeholder="璇疯緭鍏ユ樀绉�" @keypress.enter.native="search"></el-input> - </el-form-item> - <el-form-item label="鑱旂郴鐢佃瘽" prop="telephone"> - <el-input v-model="searchForm.telephone" placeholder="璇疯緭鍏ヨ仈绯荤數璇�" @keypress.enter.native="search"></el-input> - </el-form-item> - <el-form-item label="濮撳悕" prop="name"> - <el-input v-model="searchForm.name" placeholder="璇疯緭鍏ュ鍚�" @keypress.enter.native="search"></el-input> - </el-form-item> - <el-form-item label="鐢ㄥ伐韬唤:0=鏈敵璇凤紱1=鐢宠涓紱2=宸查�氳繃锛�3=鏈�氳繃锛�" prop="workerIdentity"> - <el-input v-model="searchForm.workerIdentity" placeholder="璇疯緭鍏ョ敤宸ヨ韩浠�:0=鏈敵璇凤紱1=鐢宠涓紱2=宸查�氳繃锛�3=鏈�氳繃锛�" @keypress.enter.native="search"></el-input> - </el-form-item> - <el-form-item label="璐ц繍韬唤:0=鏈敵璇凤紱1=鐢宠涓紱2=宸查�氳繃锛�3=鏈�氳繃锛�" prop="driverIdentity"> - <el-input v-model="searchForm.driverIdentity" placeholder="璇疯緭鍏ヨ揣杩愯韩浠�:0=鏈敵璇凤紱1=鐢宠涓紱2=宸查�氳繃锛�3=鏈�氳繃锛�" @keypress.enter.native="search"></el-input> - </el-form-item> - <el-form-item label="渚涢寰堢矇:0=鏈敵璇凤紱1=鐢宠涓紱2=宸查�氳繃锛�3=鏈�氳繃锛�" prop="chefIdentity"> - <el-input v-model="searchForm.chefIdentity" placeholder="璇疯緭鍏ヤ緵椁愬緢绮�:0=鏈敵璇凤紱1=鐢宠涓紱2=宸查�氳繃锛�3=鏈�氳繃锛�" @keypress.enter.native="search"></el-input> - </el-form-item> - <el-form-item label="褰撳墠浣欓(鍗曚綅:鍒�)" prop="amount"> - <el-input v-model="searchForm.amount" placeholder="璇疯緭鍏ュ綋鍓嶄綑棰�(鍗曚綅:鍒�)" @keypress.enter.native="search"></el-input> - </el-form-item> - <el-form-item label="鍘嗗彶鎬婚噾棰�(鍗曚綅:鍒�)" prop="totalAmount"> - <el-input v-model="searchForm.totalAmount" placeholder="璇疯緭鍏ュ巻鍙叉�婚噾棰�(鍗曚綅:鍒�)" @keypress.enter.native="search"></el-input> + <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-select> </el-form-item> <el-form-item label="鐘舵��" prop="status"> - <el-input v-model="searchForm.status" placeholder="璇疯緭鍏ョ姸鎬�" @keypress.enter.native="search"></el-input> + <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-select> </el-form-item> - <el-form-item label="鏈�鍚庣櫥褰曟椂闂�" prop="loginTime"> - <el-date-picker v-model="searchForm.loginTime" value-format="yyyy-MM-dd" placeholder="璇疯緭鍏ユ渶鍚庣櫥褰曟椂闂�" @change="search"/> - </el-form-item> - <el-form-item label="鎬荤櫥褰曟鏁�" prop="loginTimes"> - <el-input v-model="searchForm.loginTimes" placeholder="璇疯緭鍏ユ�荤櫥褰曟鏁�" @keypress.enter.native="search"></el-input> - </el-form-item> - <el-form-item label="鎬绘帴鍗曢噺" prop="reciveNum"> - <el-input v-model="searchForm.reciveNum" placeholder="璇疯緭鍏ユ�绘帴鍗曢噺" @keypress.enter.native="search"></el-input> - </el-form-item> - <el-form-item label="鎬诲彂鍗曢噺" prop="publishNum"> - <el-input v-model="searchForm.publishNum" placeholder="璇疯緭鍏ユ�诲彂鍗曢噺" @keypress.enter.native="search"></el-input> - </el-form-item> - <el-form-item label="璇勫垎" prop="score"> - <el-input v-model="searchForm.score" placeholder="璇疯緭鍏ヨ瘎鍒�" @keypress.enter.native="search"></el-input> - </el-form-item> - <el-form-item label="瀹氫綅鍦板潃" prop="localtion"> - <el-input v-model="searchForm.localtion" placeholder="璇疯緭鍏ュ畾浣嶅湴鍧�" @keypress.enter.native="search"></el-input> - </el-form-item> - <el-form-item label="绾害" prop="lat"> - <el-input v-model="searchForm.lat" placeholder="璇疯緭鍏ョ含搴�" @keypress.enter.native="search"></el-input> - </el-form-item> - <el-form-item label="缁忓害" prop="lgt"> - <el-input v-model="searchForm.lgt" placeholder="璇疯緭鍏ョ粡搴�" @keypress.enter.native="search"></el-input> - </el-form-item> - <el-form-item label="鐪佷唤" prop="province"> - <el-input v-model="searchForm.province" placeholder="璇疯緭鍏ョ渷浠�" @keypress.enter.native="search"></el-input> - </el-form-item> - <el-form-item label="鍩庡競" prop="city"> - <el-input v-model="searchForm.city" placeholder="璇疯緭鍏ュ煄甯�" @keypress.enter.native="search"></el-input> - </el-form-item> - <el-form-item label="鍖哄幙" prop="area"> - <el-input v-model="searchForm.area" placeholder="璇疯緭鍏ュ尯鍘�" @keypress.enter.native="search"></el-input> - </el-form-item> - <el-form-item label="鏄惁鎺ュ彈鑷姩娲惧崟:0=鍚︼紱1=鏄紱" prop="autoReciveStatus"> - <el-input v-model="searchForm.autoReciveStatus" placeholder="璇疯緭鍏ユ槸鍚︽帴鍙楄嚜鍔ㄦ淳鍗�:0=鍚︼紱1=鏄紱" @keypress.enter.native="search"></el-input> + + <el-form-item label="娉ㄥ唽鏃堕棿" prop="eventType"> + <el-date-picker type="datetime" v-model="searchForm.startTime" clearable value-format="yyyy-MM-dd HH:mm:ss" + placeholder="璇烽�夋嫨寮�濮嬫椂闂�" />- + <el-date-picker type="datetime" v-model="searchForm.endTime" clearable value-format="yyyy-MM-dd HH:mm:ss" + placeholder="璇烽�夋嫨缁撴潫鏃堕棿" /> </el-form-item> <section> <el-button type="primary" @click="search">鎼滅储</el-button> @@ -104,48 +39,50 @@ <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:member:delete']">鍒犻櫎</el-button></li> </ul> <el-table + :height="tableHeightNew" v-loading="isWorking.search" :data="tableData.list" stripe @selection-change="handleSelectionChange" > <el-table-column type="selection" width="55"></el-table-column> - <el-table-column prop="id" label="涓婚敭" min-width="100px"></el-table-column> - <el-table-column prop="deleted" label="鏄惁宸插垹闄� 0鏈垹闄� 1宸插垹闄�" min-width="100px"></el-table-column> - <el-table-column prop="createUser" label="鍒涘缓浜虹紪鐮�" min-width="100px"></el-table-column> - <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" min-width="100px"></el-table-column> - <el-table-column prop="updateUser" label="鏇存柊浜虹紪鐮�" min-width="100px"></el-table-column> - <el-table-column prop="updateTime" label="鏇存柊鏃堕棿" min-width="100px"></el-table-column> - <el-table-column prop="remark" label="澶囨敞" min-width="100px"></el-table-column> - <el-table-column prop="coverImage" label="澶村儚" min-width="100px"></el-table-column> - <el-table-column prop="openid" label="openid" min-width="100px"></el-table-column> + <el-table-column prop="openid" label="openid" min-width="100px"> + <template slot-scope="{row}"> + <span style="cursor: pointer;color: #2E68EC" @click="openDetail(row)">{{row.openid}}</span> + </template> + </el-table-column> + <el-table-column prop="telephone" label="鎵嬫満鍙�" min-width="100px"></el-table-column> <el-table-column prop="nickName" label="鏄电О" min-width="100px"></el-table-column> - <el-table-column prop="telephone" label="鑱旂郴鐢佃瘽" min-width="100px"></el-table-column> - <el-table-column prop="name" label="濮撳悕" min-width="100px"></el-table-column> - <el-table-column prop="workerIdentity" label="鐢ㄥ伐韬唤:0=鏈敵璇凤紱1=鐢宠涓紱2=宸查�氳繃锛�3=鏈�氳繃锛�" min-width="100px"></el-table-column> - <el-table-column prop="driverIdentity" label="璐ц繍韬唤:0=鏈敵璇凤紱1=鐢宠涓紱2=宸查�氳繃锛�3=鏈�氳繃锛�" min-width="100px"></el-table-column> - <el-table-column prop="chefIdentity" label="渚涢寰堢矇:0=鏈敵璇凤紱1=鐢宠涓紱2=宸查�氳繃锛�3=鏈�氳繃锛�" min-width="100px"></el-table-column> - <el-table-column prop="amount" label="褰撳墠浣欓(鍗曚綅:鍒�)" min-width="100px"></el-table-column> - <el-table-column prop="totalAmount" label="鍘嗗彶鎬婚噾棰�(鍗曚綅:鍒�)" min-width="100px"></el-table-column> - <el-table-column prop="status" label="鐘舵��" min-width="100px"></el-table-column> - <el-table-column prop="loginTime" label="鏈�鍚庣櫥褰曟椂闂�" min-width="100px"></el-table-column> - <el-table-column prop="loginTimes" label="鎬荤櫥褰曟鏁�" min-width="100px"></el-table-column> - <el-table-column prop="reciveNum" label="鎬绘帴鍗曢噺" min-width="100px"></el-table-column> - <el-table-column prop="publishNum" label="鎬诲彂鍗曢噺" min-width="100px"></el-table-column> - <el-table-column prop="score" label="璇勫垎" min-width="100px"></el-table-column> - <el-table-column prop="localtion" label="瀹氫綅鍦板潃" min-width="100px"></el-table-column> - <el-table-column prop="lat" label="绾害" min-width="100px"></el-table-column> - <el-table-column prop="lgt" label="缁忓害" min-width="100px"></el-table-column> - <el-table-column prop="province" label="鐪佷唤" min-width="100px"></el-table-column> - <el-table-column prop="city" label="鍩庡競" min-width="100px"></el-table-column> - <el-table-column prop="area" label="鍖哄幙" min-width="100px"></el-table-column> - <el-table-column prop="autoReciveStatus" label="鏄惁鎺ュ彈鑷姩娲惧崟:0=鍚︼紱1=鏄紱" min-width="100px"></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="name" label="鐪熷疄濮撳悕" min-width="100px"></el-table-column> + <el-table-column prop="workerIdentity" label="韬唤" min-width="100px"> + <template slot-scope="{row}"> + 鍙戝崟鏂�<span v-if="row.workerIdentity == 2 || row.driverIdentity == 2 || row.chefIdentity == 2">{{' | 鎺ュ崟鏂�'}}</span> + </template> + </el-table-column> + <el-table-column prop="amount" label="褰撳墠浣欓(鍏�)" min-width="100px"> + <template slot-scope="{row}"> + {{((row.amount || 0)/100).toFixed(2)}} + </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.autoReciveStatus ==1?"鏄�":"鍚�"}} + </template> + </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"> + </el-switch> + </template> + </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> @@ -160,6 +97,7 @@ </pagination> </template> <!-- 鏂板缓/淇敼 --> + <OperaMemberDetailWindow ref="OperaMemberDetailWindow" /> <OperaMemberWindow ref="operaMemberWindow" @success="handlePageChange"/> </TableLayout> </template> @@ -169,44 +107,21 @@ import TableLayout from '@/layouts/TableLayout' import Pagination from '@/components/common/Pagination' import OperaMemberWindow from '@/components/business/OperaMemberWindow' +import OperaMemberDetailWindow from '@/components/business/OperaMemberDetailWindow' export default { name: 'Member', extends: BaseTable, - components: { TableLayout, Pagination, OperaMemberWindow }, + components: { TableLayout, Pagination,OperaMemberDetailWindow, OperaMemberWindow }, data () { return { // 鎼滅储 searchForm: { - id: '', - deleted: '', - createUser: '', - createTime: '', - updateUser: '', - updateTime: '', - remark: '', - coverImage: '', - openid: '', - nickName: '', + type: 0, + startTime: '', + endTime: '', telephone: '', name: '', - workerIdentity: '', - driverIdentity: '', - chefIdentity: '', - amount: '', - totalAmount: '', - status: '', - loginTime: '', - loginTimes: '', - reciveNum: '', - publishNum: '', - score: '', - localtion: '', - lat: '', - lgt: '', - province: '', - city: '', - area: '', - autoReciveStatus: '' + status: '' } } }, @@ -218,6 +133,26 @@ 'field.main': 'id' }) this.search() + }, + methods: { + openDetail (row) { + this.$refs.OperaMemberDetailWindow.open('鐢ㄦ埛璇︽儏', row.id) + }, + changeStatus (e, row) { + this.working = true + this.api.updateStatus({ id: row.id, workStatus: e }) + .then(res => { + this.$tip.apiSuccess(res || '鎿嶄綔鎴愬姛') + this.search() + }) + .catch(e => { + this.$tip.apiFailed(e) + }) + .finally(() => { + this.working = false + }) + .catch(() => { }) + } } } </script> -- Gitblit v1.9.3