2026-10-28 11:14:17 +08:00

75 lines
3.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 2026-07-14 全面优化:下单确认弹窗/反馈图片/权限配置大改
## 今日所有优化内容速览
### 1. 计划预测下单确认弹窗优化
**旭东 → OpenClaw:**
> 计划预测里面优化一下几点:
> BOM弹窗把包材下单数量更改为0保存后,点击下单按钮之后的弹窗核对信息中,包材下单数量还是默认的实际下单数量,不是对应保存的0
> 点击下单按钮之后的弹窗信息中,删除内料物料名称,只显示非内料之外的包材数据
**OpenClaw 响应:**
- 修复 `renderPlanConfirmDialog` 中包材实际数量取值逻辑:`||`改为`in`检查,0不再被判定为falsy
- 确认弹窗新增内料过滤,与BOM弹窗行为一致
**修改文件:** `static/js/app.js`
### 2. 测试问题反馈图片修复
**旭东 → OpenClaw:**
> 测试问题中,有一些图片还是无法查看
**OpenClaw 响应:**
排查发现9个图片文件从磁盘丢失(数据库中仍有引用)。前端修复:
- 图片加载失败时自动显示为文件链接(橙色提示"文件缺失"),可点击下载
- 新增 `fbImgError` 函数兜底处理
- 新增 `.fb-attach-broken` 样式
**修改文件:** `static/js/app.js`
### 3. 权限配置页面重构:按角色分区
**旭东 → OpenClaw:**
> 把权限配置下分为三个部分,超级管理员、管理员、查看者
> 三个部分标题的右侧添加一个权限配置按钮
**OpenClaw 响应:**
- 权限配置页面原按"管理员/其他成员"分两组 → 改为按"超级管理员/管理员/查看者"三个角色分区
- 每个分区标题右侧增加「⚙️ 权限配置」按钮
- 按钮挨着标题文字右侧显示(`justify-content:space-between`改为`gap:10px`)
**修改文件:** `static/js/app.js`
### 4. 角色操作权限:从通用6操作改为页面实际功能
**旭东 → OpenClaw:**
> 查看 查询 导出 导入 提交反馈 新增产品...这些东西我看不懂
> 权限配置里面内容太通用,只有查看编辑新增删除导入导出
**OpenClaw 响应:**
- 全新的卡片式布局,按菜单分组显示
- 每个页面只显示它实际有的操作按钮(如计划预测:查看、编辑产品、删除、字段设置、冻结列)
- 超级管理员/管理员默认全部勾选,查看者仅查看,其余角色按职能预填
- 预填默认值后自动同步到数据库
**新增文件:** `routes/auth.py` 新增 `operation_required()` 函数
**修改文件:** `static/js/app.js`、`routes/products.py`、`app.py`
### 5. 权限后端API改用role_operation_permissions表
**旭东 → OpenClaw:**
> 我使用查看者账号编辑供应商时提示仅管理员可操作
**OpenClaw 响应:**
- 后端API硬编码 `session.get("role") not in ("admin", "super_admin")` 改为查 `role_operation_permissions` 表
- 供应商管理新增 `create` 权限(新增供应商按钮)
- `_hasPagePerm` 默认返回 `true` → 改为 `false`(角色级权限兜底)
**修改文件:** `routes/auth.py`、`routes/products.py`、`static/js/app.js`
---
**涉及数据库表:** `role_operation_permissions`(新建,含所有角色×页面×功能的默认权限)
**涉及修改文件:** `static/js/app.js`、`routes/auth.py`、`routes/products.py`、`app.py`