From 3d43cd90f46f76316dbde60cb96cfbdc43152e90 Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期四, 19 六月 2025 20:03:55 +0800
Subject: [PATCH] 注释客户管理,用户权限页面优化

---
 pages/userPermissions/userPermissions.vue |   83 ++++++++++++++++++-----------------------
 1 files changed, 36 insertions(+), 47 deletions(-)

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