|
|
ad2d27cd72
|
refactor(audit): 审计中文映射收敛为后端唯一来源
问题:同一套「字段名 → 中文」映射存了三份手工同步的副本 ——
前端 AuditLog.vue 的 fieldMap(约 95 个字段)、后端 api/v1/audit.py 的
ACTION_ALIASES,另有若干内联的 status 映射散落在 service 层。
改一边漏一边就会漂移,页面上冒出英文列名或对不上的中文。
改动:
· 新增 app/utils/audit_labels.py 作为**唯一来源**,统一提供
操作类型归一化(canon_action)、字段名中文化(field_label)、
码值中文化(enum_label / bool_label / person_name_label)、
ID 指向登记(id_ref_of)。
· api/v1/audit.py 改为从该模块 import,删掉本地副本。
· 新增 GET /audit/labels 下发映射(静态标签,免权限码;审计页本身
已由 system_audit 把关)。
· 前端 AuditLog.vue 删除本地 95 行 fieldMap,改从接口拉取;
拉取失败时未命中项原样显示,是可控降级。
★ 码值必须**按模块**翻译:同名 status 在出库/借还/报废里含义完全不同
(出库的 3 是「已出库」,报废的 3 是「已执行(已报废)」),
不区分模块会把报废单显示成已出库。借还模块下还混着字符串状态
(borrowed/returned),因其两张表共用 status 列名。
故映射按 (模块, 字段) 匹配,未登记再退回字段名。
★ ID 字段同理:parent_id 在「系统管理」里是菜单的上级菜单,在「BOM管理」
里是物料节点 —— 指向完全不同的表。
验证:前端 vue-tsc 改前改后均为 565 个错误、去除行号后**报错集合完全相同**,
未引入新错误;GET /audit/labels 实测返回 200。
|
2026-09-23 17:16:20 +08:00 |
|
|
|
6068625562
|
feat(audit): 审计日志业务化——对象名与字段中文化、操作来源与类型筛选
一、target_name 业务化(后端 audit_listener.py)
优先级:业务标识(request_no/outbound_no/borrow_no/sku/bom_no…)→
名称字段 → 关联物料名 → 「中文表名 - 业务号或ID」。
新增 TABLE_LABELS 表名到中文的映射(18 张白名单表全覆盖)。
用户看到的从 scrap_approval ID:371 变为
「出库申请单 - APR-OUT-20260805-1550-0005」这类可理解的对象描述。
二、前端字段中文化(AuditLog.vue)
· fieldMap 由 11 项扩充到 110+ 项,覆盖审批单/流水/库存/主数据/系统管理五类;
· 修复关键 bug:fieldMap 原先只作用于「变更对比」区,「删除快照」与
「新增详情」两区直接渲染原始 key(label 直接取 String(key)),
这正是详情里满是英文列名的直接原因。现三区统一经 fieldLabel() 取值。
三、时间显示修正
后端已改写北京时间,前端原先补 Z 当 UTC 解析会造成二次 +8 小时,
改为按 +08:00 理解该字符串。
四、新增两类筛选
· 操作来源(真实用户 / 系统操作 / 全部),默认「真实用户」。
历史存量含约 1.8 万条 username=system 的噪声日志,会把列表刷屏。
· 操作类型别名归一:历史数据中 action 有两套写法(早期装饰器写中文
新增/修改/删除,现行监听器写大写 CREATE/UPDATE/DELETE),导致下拉
同时出现二者、且选中文项只能搜到 3-4 月的老数据。现 ACTION_ALIASES
把任意写法归一化后展开匹配,下拉只暴露 3 个规范值,
历史数据无需迁移即可被正确检索。
|
2026-09-10 14:16:39 +08:00 |
|
|
|
9988d1b7eb
|
fix: 补全审计/出库审批/采购管理/借库审批的权限保护+公司隔离
- audit.py: 补@permission_required(system_audit)+import, 审计日志通过split_part关联用户表过滤公司
- outbound.py: 出库审批5个端点全补@permission_required(outbound_list)
- purchase.py: 采购管理7个端点全补@permission_required(inbound_buy)
- borrow_service: 借库审批列表通过applicant_id关联用户表过滤公司
- outbound_service: 出库审批列表通过applicant_id关联用户表过滤公司
- purchase_service: 采购列表通过base_id+requester_id双路过滤公司
- base_service/search_material: 去除debug日志
- decorators: 去除debug日志
|
2026-07-15 11:49:53 +08:00 |
|
|
|
be6575344a
|
feat: 新增企业级操作审计日志闭环模块(包含底层模型、记录装饰器与前端看板)
|
2026-03-10 12:15:26 +08:00 |
|