From 3d43cd90f46f76316dbde60cb96cfbdc43152e90 Mon Sep 17 00:00:00 2001 From: zxl <763096477@qq.com> Date: 星期四, 19 六月 2025 20:03:55 +0800 Subject: [PATCH] 注释客户管理,用户权限页面优化 --- pages/tabbar/user/utils/tool.vue | 5 - pages.json | 40 ++++++------ pages/userPermissions/userPermissions.vue | 83 ++++++++++++--------------- 3 files changed, 58 insertions(+), 70 deletions(-) diff --git a/pages.json b/pages.json index dc05e07..7f9740c 100644 --- a/pages.json +++ b/pages.json @@ -271,26 +271,26 @@ } } }, - { - "path": "pages/customerManager/customerManager", - "style": { - "navigationBarTitleText": "瀹㈡埛绠$悊", - "componentPlaceholder": { - "u-icon": "view", - "u-button": "view", - "u-form": "view", - "u-form-item": "view", - "u-input": "view", - "u-popup": "view", - "u-search": "view", - "u-loading": "view", - "u-checkbox": "view", - "u-checkbox-group": "view", - "u-navbar": "view", - "u-loadmore":"view" - } - } - }, + // { + // "path": "pages/customerManager/customerManager", + // "style": { + // "navigationBarTitleText": "瀹㈡埛绠$悊", + // "componentPlaceholder": { + // "u-icon": "view", + // "u-button": "view", + // "u-form": "view", + // "u-form-item": "view", + // "u-input": "view", + // "u-popup": "view", + // "u-search": "view", + // "u-loading": "view", + // "u-checkbox": "view", + // "u-checkbox-group": "view", + // "u-navbar": "view", + // "u-loadmore":"view" + // } + // } + // }, { "path": "pages/userPermissions/addStoreMember", "style": { diff --git a/pages/tabbar/user/utils/tool.vue b/pages/tabbar/user/utils/tool.vue index 3086852..9bf9844 100644 --- a/pages/tabbar/user/utils/tool.vue +++ b/pages/tabbar/user/utils/tool.vue @@ -67,10 +67,10 @@ <view>鐢ㄦ埛鏉冮檺</view> </view> - <view class="interact-item" v-if="isStoreManger" @click="navigateTo('/pages/customerManager/customerManager')"> + <!-- <view class="interact-item" v-if="isStoreManger" @click="navigateTo('/pages/customerManager/customerManager')"> <image src="/static/mine/shensu.png" mode=""></image> <view>瀹㈡埛绠$悊</view> - </view> + </view> --> <view class="interact-item" @click="navigateTo('/pages/order/complain/complainList')"> <image src="/static/mine/shensu.png" mode=""></image> <view>鎴戠殑鎶曡瘔</view> @@ -152,7 +152,6 @@ } }, onReady(){ - console.log(123) getUserInfo().then(res => { if(res.data.result){ if(res.data.result.storeId){ diff --git a/pages/userPermissions/userPermissions.vue b/pages/userPermissions/userPermissions.vue index 7edfdf3..ba88818 100644 --- a/pages/userPermissions/userPermissions.vue +++ b/pages/userPermissions/userPermissions.vue @@ -3,30 +3,29 @@ <!-- 鏍囬 --> <view class="header"> <text class="title">鐢ㄦ埛鍒楄〃</text> - </view> <view> <button class="add-btn" @click="navigateToAdd()" :disabled="!isShopkeeper">鏂板鐢ㄦ埛</button> </view> <!-- 鎼滅储妗� --> <view class="search-box"> - <u-search v-model="query.realName" placeholder="鎼滅储濮撳悕" :showAction="false" @change="searchUser()"></u-search> + <u-search v-model="query.realName" placeholder="鎼滅储濮撳悕" :showAction="false" @change="searchClerk()"></u-search> </view> <!-- 鐢ㄦ埛鍒楄〃 --> - <scroll-view scroll-y class="user-list" @scrolltolower="loadMore" v-if="userList.length > 0"> - <view class="user-item" v-for="(user, index) in userList" :key="user.id" > + <scroll-view scroll-y class="clerk-list" @scrolltolower="loadMore" v-if="clerkList.length > 0"> + <view class="clerk-item" v-for="(clerk, index) in clerkList" :key="clerk.id" > - <view class="user-info"> - <text class="realName">{{ user.realName ? user.realName: '鏈缃汉鍚�' }}</text> - <text class="mobile">{{ user.mobile }}</text> + <view class="clerk-info"> + <text class="realName">{{ clerk.realName ? clerk.realName: '鏈缃汉鍚�' }}</text> + <text class="mobile">{{ clerk.mobile }}</text> </view> <!-- 鎿嶄綔鎸夐挳鍖哄煙 --> <view class="action-buttons"> - <u-button type="primary" size="mini" @click.stop="restPassword(user.memberId)" class="edit-btn" :disabled="!checkPermission(user)">閲嶇疆瀵嗙爜</u-button> - <u-button type="primary" size="mini" @click.stop="navigateToDetail(user.id)" class="edit-btn" :disabled="!checkPermission(user)">淇敼</u-button> - <u-button type="error" size="mini" @click.stop="deleteUser(user.id)" - class="delete-btn" :disabled="!checkPermission(user)">鍒犻櫎</u-button> + <u-button type="primary" size="mini" @click.stop="restPassword(clerk.memberId)" class="edit-btn" :disabled="!checkPermission(clerk)">閲嶇疆瀵嗙爜</u-button> + <u-button type="primary" size="mini" @click.stop="navigateToDetail(clerk.id)" class="edit-btn" :disabled="!checkPermission(clerk)">淇敼</u-button> + <u-button type="error" size="mini" @click.stop="deleteUser(clerk.id)" + class="delete-btn" :disabled="!checkPermission(clerk)">鍒犻櫎</u-button> </view> </view> @@ -35,7 +34,7 @@ <view class="load-more"> <u-loadmore - v-if="userList.length > 0" + v-if="clerkList.length > 0" :status="loading ? 'loading' : noMore ? 'nomore' : 'loadmore'" :load-text="{ loadmore: '涓婃媺鍔犺浇鏇村', @@ -91,9 +90,10 @@ }, data() { return { - userList: [], // 鐢ㄦ埛鍒楄〃鏁版嵁 + total:0, + clerkList: [], // 鐢ㄦ埛鍒楄〃鏁版嵁 loading: false, // 鍔犺浇鐘舵�� - noMoreData: false, // 鏄惁娌℃湁鏇村鏁版嵁 + noMore: false, // 鏄惁娌℃湁鏇村鏁版嵁 query: { realName: '', pageNumber: 1, @@ -120,14 +120,14 @@ methods: { //妫�鏌ユ潈闄� - checkPermission(user){ + checkPermission(clerk){ if(this.isShopkeeper){ return true; } - if(this.clerkId === user.id){ + if(this.clerkId === clerk.id){ return true; }else{ - if(this.isSuper && !user.isSuper){ + if(this.isSuper && !clerk.isSuper){ return true; } return false; @@ -153,15 +153,18 @@ getPage(this.query).then(res => { uni.hideLoading(); if (res.statusCode === 200) { - const data = res.data.data; - if (this.query.pageNumber === 1) { - this.userList = data || []; - console.log(this.userList.length) - } else { - // 鍚﹀垯杩藉姞鏁版嵁 - this.userList = [...this.userList, ...(data || [])]; - - } + const newData = res.data.data; + // 鏇存柊鎬绘暟鎹噺 + this.total = res.data.total || 0; + // 杩藉姞鎴栨浛鎹㈡暟鎹� + this.clerkList = this.query.pageNumber === 1 ? + newData : + [...this.clerkList, ...newData]; + + // 鍒ゆ柇鏄惁杩樻湁鏇村鏁版嵁 + this.noMore = newData.length < this.query.pageSize || + this.clerkList.length >= this.total; + } }) @@ -169,16 +172,16 @@ }, // 鎼滅储鐢ㄦ埛 - searchUser() { + searchClerk() { this.query.pageNumber = 1 - this.noMoreData = false - this.userList = [] + this.noMore = false + this.clerkList = [] this.getPage() }, // 鍔犺浇鏇村 loadMore() { - if (!this.noMoreData) { + if (!this.noMore) { this.query.pageNumber++ this.getPage() } @@ -209,20 +212,6 @@ </script> <style lang="scss" scoped> - .user-item { - display: flex; - justify-content: space-between; - align-items: center; - padding: 20rpx; - border-bottom: 1rpx solid #f5f5f5; - } - - .user-info { - flex: 1; - display: flex; - flex-direction: column; - } - .action-buttons { display: flex; margin-left: 20rpx; @@ -272,12 +261,12 @@ margin-bottom: 20rpx; } - .user-list { + .clerk-list { flex: 1; overflow: hidden; } - .user-item { + .clerk-item { display: flex; align-items: center; padding: 20rpx; @@ -293,7 +282,7 @@ margin-right: 20rpx; } - .user-info { + .clerk-info { flex: 1; display: flex; flex-direction: column; -- Gitblit v1.8.0