| 123456789101112131415161718192021222324252627282930313233343536373839 |
- -- S8-ORDER-REVIEW-HOURS-PAGE-RETIREMENT-1 · 下线「订单评审耗时」独立页入口。
- --
- -- 背景:该页已无独立业务价值 —— S8 主链已 Order-centric,评审耗时在「订单执行档案」
- -- 的五阶段里呈现(Stage-1 ORDER_REVIEW 的 ActualHours / CalculationStatus),
- -- 不需要再开一个平行入口。
- --
- -- 附带修掉的一个真实缺陷(也是用户看到的怪现象的成因):
- -- 1.0.527 建这条菜单时,把 `OutLink` 当成布尔开关按位置写了字面量 0,
- -- 但 `SysMenu.OutLink` 是 **string?(外链 URL)**,于是该行存的是字符串 '0'
- -- (同目录兄弟菜单均为 NULL)。链路:
- -- SysMenu.OutLink='0' → MenuOutput.Meta.IsLink='0'(truthy)
- -- → navMenu/vertical.vue 走 `v-else` 分支渲染 <a @click="onALinkClick">
- -- → other.handleOpenLink → window.open(origin + pathname + '#' + '0')
- -- → 新开一个 tab 落到 #/0 → 无匹配路由 → 「找不到此页面」。
- -- 本批把该菜单整条停用,症状随之消失;**不修 OutLink 值**,因为页面本身要退役,
- -- 改一个即将停用的行的字段没有意义,反而会掩盖 1.0.527 的历史事实。
- --
- -- 为什么 Status=2 而不是 IsHide=1:
- -- IsHide 只是不出现在侧栏,路由仍会下发,手输 URL 照样进得去。
- -- Status=2(Disable) 才会让 SysMenuService 不再下发该路由 —— 这才是真退役。
- -- (与 1.0.484 下线「数据源 / 报警规则」采用的是同一套机制。)
- --
- -- 为什么不 DELETE:
- -- 1. 1.0.528 已按父目录授权集合写入了 SysRoleMenu 行,DELETE 会留下悬挂引用;
- -- 2. 本批只做 Runtime Retirement,物理清理留待后续独立批次;
- -- 3. 要复活只需改回 Status=1。
- --
- -- 精确匹配 Name + Path 两列,不使用 LIKE '/aidop/s8/monitoring/%' 之类的范围条件 ——
- -- 同目录下的「订单执行档案」「订单链路全景」是本批明确要保留的页面。
- --
- -- 幂等:带 Status <> 2 前置条件,重复执行不产生额外影响。
- UPDATE SysMenu
- SET Status = 2,
- Remark = 'S8 订单评审耗时(已退役,评审耗时并入订单执行档案五阶段;历史保留)',
- UpdateTime = NOW()
- WHERE Name = 'aidopS8OrderReviewActualHours'
- AND Path = '/aidop/s8/monitoring/order-review-hours'
- AND Status <> 2;
|