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);