2026-10-15.md 4.8 KB

2026-10-15

权限管理子系统菜单

  • 目标:新增“权限管理系统”,将系统管理、系统监控、系统工具调整到该子系统下,并移除城市生命线驾驶舱系统。
  • 决策:复用原城市生命线驾驶舱的 menu_id=2005;首次迁移清理其原下级菜单和角色关联,再把 menu_id=1/2/3 挂到 2005 下。
  • 角色授权:拥有系统管理、系统监控、系统工具任一目录或下级菜单的角色,自动补授 2005 父菜单;原 2005 驾驶舱授权不继承。
  • 后端脚本:pipe-network-service/sql/migration_permission_management_subsystem.sql,面向 KingbaseES/PostgreSQL,可重复执行,附带执行后校验查询。
  • 前端:src/views/portal/index.vue 移除右上角“进入后台”,增加权限管理系统动态入口识别、锁形图标和名称;仅在当前用户动态菜单包含该子系统时展示,点击进入第一个可见菜单。右上角欢迎语显示当前登录用户 nickName,昵称为空时回退登录账号。
  • 验证:npm run build:prod 通过,仅有项目既有 Sass 弃用警告;数据库脚本未在用户数据库执行。

移动端工单权限

  • 部门/公司设备范围仅用于待派单且当前用户拥有派单权限的工单。
  • 无设备待派单工单对所有有派单权限的用户可见、可派;有设备时按 101/102/103 对应 parent_id 1/2/3 并共同包含 4。
  • 派单后不再按部门过滤,工单管理按创建人、责任人、核验人控制,待办按责任人/核验人与状态进一步收窄,详情同步。

PC 登录页与系统门户重构

  • 登录页与门户页分别按 prd/portal/login.html、prd/portal/portal.html 重构;门户仍只展示当前用户有权访问的顶级子系统,并优先进入子系统“首页”,无首页时进入第一个可见菜单。
  • 新增 /portal/statistics、/portal/notices、/portal/notices/{noticeId}:要求已登录但不校验具体菜单权限。统计为全网统一口径,不应用用户、角色或部门数据范围;设备取 equipment_base 及每台设备最新有效 equipment_status,今日/昨日预警按非 DRAFT 的 early_warning.publish_time,报警按 alarm_data.audit_status=1 和 create_time。
  • 门户公告仅展示 sys_notice.status='0' 的最新 10 条,点击后查询正文并以弹窗展示;正文经 DOMPurify 清理后渲染。
  • 登录页移动端下载二维码固定为 public/images/mobile-app-qr.png,文件尚未配置时展示占位,不阻断页面或生产构建。
  • 验证:前端生产构建、3 组路由回归测试、后端 zksy-admin 及依赖模块编译通过;1440x900 浏览器截图检查通过。构建仅有项目既有 Sass 弃用警告。

Portal 通知公告时间展示

  • 左侧“公告”改为“通知公告”;滚动时间按本地日历日展示“今天 HH:mm”“昨天 HH:mm”“前天 HH:mm”,更早或未来日期使用 yyyy-MM-dd HH:mm。
  • 公告详情发布时间固定使用 yyyy-MM-dd HH:mm:ss,不使用相对日期;兼容接口普通日期及 ISO 日期输入。
  • 变更文件:src/views/portal/index.vue。验证:直接运行组件中的格式化函数,覆盖最近三天、历史/未来日期、午夜边界、ISO 输入、秒数补零和无效值,均通过;git diff --check 通过。无需后端变更。

Portal 退出登录入口强调

  • 右上角退出登录按钮改为浅蓝底、蓝色边框和蓝色半粗体文字,字号 13px、图标 15px;保持门户整体蓝色风格,增加悬停、按下及键盘焦点反馈。
  • 仅修改 src/views/portal/index.vue 样式,不改变退出交互;验证 Vue SFC 样式编译及差异检查。

Portal 退出确认框引用修复

  • 修复点击退出时报 ElMessageBox is not defined:src/views/portal/index.vue 显式从 element-plus 导入 ElMessageBox;项目自动导入仅覆盖 Vue、Vue Router 和 Pinia,不包含 Element Plus 服务。
  • 检查门户无其他同类服务引用;SFC 编译导入绑定检查、模拟确认/取消分支和 git diff --check 通过。真实退出接口未在本次检查调用。

Portal 子系统说明文案

  • src/views/portal/index.vue 子系统总览说明改为“地下管网核心业务系统统一入口”,不再显示县名与子系统数量;仅修改展示文案。

开发登录默认填写

  • 按用户要求,登录表单仅在 Vite 开发环境默认填写指定的开发登录信息;生产构建不预填密码,并沿用记住账号逻辑。不将登录信息写入记忆库或新增密码 Cookie。
  • 变更:src/views/login.vue;验证开发/生产环境默认值与恢复账号逻辑,SFC 编译检查和差异检查。

忘记密码提示

  • 登录页“忘记密码?”弹窗提示统一为“请联系平台管理员”;保留现有弹窗与确认按钮,并补齐 ElMessageBox 显式导入。