日期:2026-09-03
范围:web-admin 【危化品证上传】页;backend 证书上传/齐备写接口;sys_menu 按钮权限
状态:已评审(方案 A,用户确认继续)
部分用户可进入【危化品证上传】查看计划与证书状态,但不应执行写操作。需对以下按钮加权限控制:
在当前页做权限控制(不新建「危化品证上传查看」模块),对齐运输计划归档模式:前端隐藏 + 后端写接口 403。
| perms | menu_type | 作用 |
|---|---|---|
pl:plan-cert:list |
C(页面) | 进入页、查询、查看(已有) |
pl:plan-cert:upload |
F | 上传/保存证书附件 |
pl:plan-cert:ready |
F | 证书齐备 + 取消齐备(共用) |
super_admin 视为拥有全部权限。
| 角色意图 | 勾选 |
|---|---|
| 只读(看列表/查看/预览附件) | list |
| 证书文员(上传、不确认齐备) | list + upload |
| 主管(确认齐备、不上传) | list + ready |
| 完整操作 | list + upload + ready |
对已拥有 PL_PLAN_CERT 页面权限的角色,默认补勾 upload + ready,避免现网行为回退。
入口:web-admin/src/views/pl/plan-cert/index.vue
权限读取:fetchGetMenuCodes()(同 plan-archive)。
pl:plan-cert:uploadclickable=false(仍可预览已有附件,不可打开上传弹窗)handleUploadCert 二次校验并提示pl:plan-cert:ready筛选、列表、查看弹窗、导出、附件预览。
| 接口 | 所需 perms |
|---|---|
PATCH /transport/plan/{id}/product-certs |
pl:plan-cert:upload |
PATCH /transport/plan/{id}/hazard-cert-ready |
pl:plan-cert:ready |
实现:app/services/pl_plan_cert_perm.py + plan.py 入口校验。
| 场景 | 期望 |
|---|---|
仅 list |
能看列表/查看/预览;三按钮不可见;写接口 403 |
list + upload |
能上传;不能齐备/取消 |
list + ready |
能齐备/取消;不能上传 |
| 全权限 | 与现网一致 |
super_admin |
全能力 |