feat(admin): 新增「操作审计」页面 + 收敛前端角色判断
- pages/admin/AdminAuditLogPage.tsx:审计日志查询页。支持操作人/模块/动作/ 结果状态/日期区间筛选,表格按时间倒序,行内「详情」抽屉展示完整 URL、 UA、request_id、错误信息与变更详情。 中文标签(模块/动作)由服务端下发,前端不维护枚举映射 —— 与 constants/task.ts 里状态映射的既有做法一致,避免两端各写一份开始漂移。 - services/auditApi.ts:审计接口客户端与类型定义。 - 路由 /admin/audit + 侧边栏「操作审计」入口。 - AdminProductsPage 里手写的角色判断改为复用 isAdminRole():这是同一份 「管理员角色」规则的第 4 处副本,本次一并对齐(另一处 TaskFlowView 已在用)。 constants/task.ts 的注释同步指向后端新位置 core/roles.py。 验证:tsc --noEmit 通过;vite build 通过(产出独立 chunk AdminAuditLogPage-*.js);对接真实后端校验响应字段与 TS 接口定义逐字段一致。
This commit is contained in:
@ -1,5 +1,5 @@
|
||||
import { NavLink, Outlet, useLocation, useNavigate, Navigate } from "react-router-dom";
|
||||
import { QrCode, Package, ArrowLeft, LayoutDashboard, Smartphone, GitBranch, LogOut, User, Users, BarChart3, Table2, Tv } from "lucide-react";
|
||||
import { QrCode, Package, ArrowLeft, LayoutDashboard, Smartphone, GitBranch, LogOut, User, Users, BarChart3, Table2, Tv, ScrollText } from "lucide-react";
|
||||
import { useAuth } from "../../contexts/AuthContext";
|
||||
|
||||
const MENU = [
|
||||
@ -39,6 +39,12 @@ const MENU = [
|
||||
icon: Table2,
|
||||
description: "规格型号 × 人员/工序 在制品透视表",
|
||||
},
|
||||
{
|
||||
title: "操作审计",
|
||||
path: "/admin/audit",
|
||||
icon: ScrollText,
|
||||
description: "谁在何时操作了什么 · 含失败与被拒请求",
|
||||
},
|
||||
{
|
||||
title: "管理层大屏",
|
||||
path: "/admin/screen",
|
||||
|
||||
Reference in New Issue
Block a user