From c3a1b0f6097b9f46bb8d743096f83f077c06b3c5 Mon Sep 17 00:00:00 2001
From: CGD <3030332422@qq.com>
Date: Mon, 31 Mar 2025 14:44:23 +0800
Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E2=80=9D=E8=8E=B7=E5=8F=96?=
=?UTF-8?q?=E7=94=A8=E6=88=B7=E5=88=97=E8=A1=A8=E2=80=9C?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
main/manager-web/src/apis/module/admin.js | 13 +++--
main/manager-web/src/views/UserManagement.vue | 55 ++++++++++++-------
2 files changed, 43 insertions(+), 25 deletions(-)
diff --git a/main/manager-web/src/apis/module/admin.js b/main/manager-web/src/apis/module/admin.js
index 52468d6b..977437ab 100644
--- a/main/manager-web/src/apis/module/admin.js
+++ b/main/manager-web/src/apis/module/admin.js
@@ -5,16 +5,19 @@ import {getServiceUrl} from '../api'
export default {
// 用户列表
getUserList(callback) {
- RequestService.sendRequest().url(`${getServiceUrl()}/api/v1/admin/users`)
+ RequestService.sendRequest()
+ .url(`${getServiceUrl()}/api/v1/admin/users`)
.method('GET')
.success((res) => {
RequestService.clearRequestTime()
callback(res)
})
- .fail(() => {
+ .fail((err) => {
+ console.error('请求失败:', err)
RequestService.reAjaxFun(() => {
- this.getList()
+ this.getUserList(callback)
})
- }).send()
- },
+ })
+ .send()
+ }
}
diff --git a/main/manager-web/src/views/UserManagement.vue b/main/manager-web/src/views/UserManagement.vue
index da8012be..b89a08b3 100644
--- a/main/manager-web/src/views/UserManagement.vue
+++ b/main/manager-web/src/views/UserManagement.vue
@@ -22,10 +22,10 @@
重置密码
禁用
+ @click="disableUser(scope.row)">禁用账户
恢复
+ @click="restoreUser(scope.row)">恢复账号
删除用户
@@ -76,25 +76,16 @@ export default {
data() {
return {
searchPhone: '',
- userList: [
- { userId: '123456', phone: '13800138000', status: '正常', deviceCount: 10 },
- { userId: '123456', phone: '13800138000', status: '正常', deviceCount: 9 },
- { userId: '123456', phone: '13800138000', status: '正常', deviceCount: 7 },
- { userId: '123456', phone: '13800138000', status: '禁用', deviceCount: 7 }
- ],
+ userList: [],
currentPage: 1,
pageSize: 5,
total: 20
};
},
created() {
- adminApi.getUserList(({data}) => {
- //mock偶尔会返回-1导致出错,又会返回两个list,所以这里只取第一个
- this.userList = data.data[0].list;
- console.log('用户列表:', this.userList);
- })
+ this.fetchUsers();
},
- computed: {
+ computed: {
pageCount() {
return Math.ceil(this.total / this.pageSize);
},
@@ -115,9 +106,37 @@ export default {
}
},
methods: {
+ // 获取用户列表
+ fetchUsers() {
+ adminApi.getUserList(({data}) => {
+ if (data.code === 0) {
+ const responseData = data.data[0] || data.data
+
+ this.userList = responseData.list.map(user => ({
+ ...user,
+ status: user.status === '1' ? '正常' : '禁用'
+ }))
+
+ this.total = responseData.totalCount || 0
+ }
+ })
+ },
+
+ // 分页变化
+ handleCurrentChange(page) {
+ this.currentPage = page;
+ this.fetchUsers();
+ },
+
+ // 搜索
handleSearch() {
- // 模拟搜索逻辑
- console.log('执行查询,搜索号码:', this.searchPhone);
+ if (!this.searchPhone) {
+ this.fetchUsers()
+ return
+ }
+ this.userList = this.userList.filter(user =>
+ user.mobile.includes(this.searchPhone)
+ )
},
batchDelete() {
console.log('执行批量删除操作');
@@ -139,10 +158,6 @@ export default {
deleteUser(row) {
console.log('删除用户:', row);
},
- handleCurrentChange(page) {
- this.currentPage = page;
- console.log('当前页码:', page);
- },
handleSizeChange(val) {
this.pageSize = val;
console.log('每页条数:', val);