From 3720f14ac5bf0f8ed51dad891951f2ec1721dfbd Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Thu, 31 Jul 2025 15:37:57 +0800 Subject: [PATCH] =?UTF-8?q?=E7=89=88=E6=9C=AC=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/web-antd/src/api/core/admin.user.ts | 7 ++- .../src/locales/langs/zh-CN/page.json | 3 +- apps/web-antd/src/model/admin.user.ts | 7 +++ .../src/router/routes/modules/admin.ts | 13 +++++- apps/web-antd/src/views/admin/log/index.vue | 6 +++ .../src/views/admin/log/log-table.vue | 44 +++++++++++++++++++ .../src/views/userlog/userlist/user.vue | 39 ++++++++++------ 7 files changed, 103 insertions(+), 16 deletions(-) create mode 100644 apps/web-antd/src/views/admin/log/index.vue create mode 100644 apps/web-antd/src/views/admin/log/log-table.vue diff --git a/apps/web-antd/src/api/core/admin.user.ts b/apps/web-antd/src/api/core/admin.user.ts index 8904d1e..1298f45 100644 --- a/apps/web-antd/src/api/core/admin.user.ts +++ b/apps/web-antd/src/api/core/admin.user.ts @@ -1,5 +1,5 @@ import { requestClient } from '#/api/request'; -import type { UserInfo } from '#/model/admin.user'; +import type { UserInfo,AdminLog } from '#/model/admin.user'; export interface UserParam { uid: string; @@ -12,6 +12,11 @@ export async function getAdminListApi() { return requestClient.post('/admin/list'); } +export async function getAdminLogListApi() { + return requestClient.post('/admin/log/list'); +} + + export async function addAdminApi(param: UserInfo) { return requestClient.post('/admin/add', param); } diff --git a/apps/web-antd/src/locales/langs/zh-CN/page.json b/apps/web-antd/src/locales/langs/zh-CN/page.json index ff012a3..f3dd26f 100644 --- a/apps/web-antd/src/locales/langs/zh-CN/page.json +++ b/apps/web-antd/src/locales/langs/zh-CN/page.json @@ -9,7 +9,8 @@ "admin": { "title": "管理中心", "user": "用户管理", - "setting": "系统设置" + "setting": "系统设置", + "log": "操作日志" }, "dashboard": { "title": "服务器管理", diff --git a/apps/web-antd/src/model/admin.user.ts b/apps/web-antd/src/model/admin.user.ts index 9fe2d17..e8d4f9e 100644 --- a/apps/web-antd/src/model/admin.user.ts +++ b/apps/web-antd/src/model/admin.user.ts @@ -8,3 +8,10 @@ export interface UserInfo { group: string; role: number; } + +export interface AdminLog{ + admin: string; + action: string; + params: string; + createTime: string; +} diff --git a/apps/web-antd/src/router/routes/modules/admin.ts b/apps/web-antd/src/router/routes/modules/admin.ts index 8deaf49..0df84a5 100644 --- a/apps/web-antd/src/router/routes/modules/admin.ts +++ b/apps/web-antd/src/router/routes/modules/admin.ts @@ -7,7 +7,7 @@ const routes: RouteRecordRaw[] = [ { component: BasicLayout, meta: { - icon: 'lucide:layout-dashboard', + icon: 'material-symbols:brightness-empty-outline', order: -1, title: $t('page.admin.title'), authority:['super'], @@ -26,6 +26,17 @@ const routes: RouteRecordRaw[] = [ title: $t('page.admin.user'), }, }, + { + name: 'UserManagement', + path: '/user-management-log', + component: () => import('#/views/admin/log/index.vue'), + meta: { + authority: ['super', 'admin'], + affixTab: false, + icon: 'material-symbols:assignment-rounded', + title: $t('page.admin.log'), + }, + }, ], }, ]; diff --git a/apps/web-antd/src/views/admin/log/index.vue b/apps/web-antd/src/views/admin/log/index.vue new file mode 100644 index 0000000..a987985 --- /dev/null +++ b/apps/web-antd/src/views/admin/log/index.vue @@ -0,0 +1,6 @@ + + diff --git a/apps/web-antd/src/views/admin/log/log-table.vue b/apps/web-antd/src/views/admin/log/log-table.vue new file mode 100644 index 0000000..fdfffc2 --- /dev/null +++ b/apps/web-antd/src/views/admin/log/log-table.vue @@ -0,0 +1,44 @@ + + + diff --git a/apps/web-antd/src/views/userlog/userlist/user.vue b/apps/web-antd/src/views/userlog/userlist/user.vue index b4f24db..9b27dcf 100644 --- a/apps/web-antd/src/views/userlog/userlist/user.vue +++ b/apps/web-antd/src/views/userlog/userlist/user.vue @@ -102,7 +102,7 @@ const [BanForm] = useVbenForm({ }, label: '原因:', fieldName: 'reason', - } + }, ], handleSubmit: async (values) => { const cv = modalApi.getData>(); @@ -241,7 +241,10 @@ watch(