Commit Graph

3 Commits

Author SHA1 Message Date
851c3a9c1f feat(my-requests): 主列表展示数量,移除类型列
问题
----
主列表只有「物料数 N 种」(种类数),具体数量藏在展开行的明细表里,
不展开就看不到。

改动
----
· 移除「类型」列(type_label);
· 新增「数量」列,紧跟申请单号,橙色加粗;
· 新增 totalQty() 汇总单据总数量。

totalQty 只认 quantity 字段,无需按 type 分支 —— 因为聚合端点已做字段
归一化(报废的 scrap_qty → quantity)。这正是当初做归一化的价值。
数值经 Number(sum.toFixed(4)) 处理,去掉 1.0000 这类无意义的小数尾巴。

顺带移除已无引用的 typeTagType()。
2026-09-10 15:57:15 +08:00
dc4a0ae7a0 style: 统一申请单状态配色(四个页面一致)
配色方案
--------
  0 待审批 → 蓝(primary,待处理)
  1 已通过 → 绿(success,正向结果)
  2 已驳回 → 红(danger)
  3 已完成 → 灰(info,终态、不再需要关注)
  4 已撤回 → 黄(warning,需留意但非错误)

范围
----
「我的申请单」新页面按上述配色实现后,发现出库/借库/报废三个审批页
仍是旧配色(0:warning, 3:info, 4:info)—— 同一套状态码在两个页面
显示不同颜色,用户来回切换会困惑。故一并统一。

改动:my-requests/index.vue(新配色)+ 三个审批页的 statusTagType。

补充:el-tag 的 primary 类型已核实可用 —— Element Plus 2.13.1 的
tagProps 中 primary 为默认值,theme-chalk/el-tag.css 含 .el-tag--primary
的蓝色样式定义;vue-tsc 类型检查通过。
2026-09-10 15:47:07 +08:00
20d49c0b0d feat(my-requests): 我的申请单独立模块(采购管理之后)
路由位置
--------
放在「采购管理」之后,作为独立一级模块:

    采购管理
    我的申请单      ← 新增(icon: Tickets)
    借库管理

★ 独立模块而非挂在某个业务页下:申请人可能提交出库/借库/报废三类单据,
  放在任一业务模块下都会让其它模块的人找不到。

页面功能
--------
  · 类型筛选:全部 / 出库 / 借库 / 报废
  · 状态筛选:全部 / 待审批 / 已通过 / 已驳回 / 已完成 / 已撤回
  · 展开行显示物料明细(数量字段已由后端归一化)
  · 撤回按钮仅对 status 0/1 可见(已预占但未执行)

撤回不硬编码 URL —— 使用后端回传的 withdraw_endpoint 分发:

    const res = await request({ url: row.withdraw_endpoint, method: 'post' })

这样将来模块端点调整(如借库从 close 换成正式 withdraw),前端无需改动。

权限说明
--------
菜单不做权限过滤(Sidebar 只过滤 meta.hidden),所有角色都会看到本页。
这正是预期 —— 申请人本就不应需要任何权限码。数据由后端强制按
applicant_id 过滤,看不到他人单据。

顺带清理
--------
移除先前加在 Selection.vue 的重复实现(约 110 行模板/脚本/样式),
改为一个跳转链接「查看我的申请单 >」;并移除随之失效的 3 个导入
(onMounted / Refresh / 两个 API 函数)。

验证:新页面 SFC 编译零告警;Selection.vue 清理后编译通过。
2026-09-10 15:37:11 +08:00