You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

29 KiB

开发日志

2026-10-15:新增 Web 积分管理「流水冲正」Tab(W4)

  • 新增 src/views/points/management/components/TransactionReversePanel.vue:积分流水分页列表(筛选:业务类型 / 状态 / 流水号),行操作“冲正”(二次确认,仅 status=1 有效可冲正)。
  • 新增 src/api/points/transaction.js:listTransactions(transaction/getListByPage)、reverseTransaction(transaction/reverse/{logId})。
  • 在 src/views/points/management/index.vue 启用第 4 个 Tab「流水冲正」(v-if 懒加载),第 3 个 Tab「手动调整」仍禁用。
  • 备注:流水明细无用户姓名字段,列表“用户”列显示 userId。
  • 验证:新文件 eslint --no-ignore 通过、npm run build:prod 通过(仅既有 warning)、页面诊断无错误。

2026-10-15:新增 Web 申诉台账页面(含审批)

  • 新增 src/views/points/appeal/index.vue:独立「申诉台账」页,抄隐患台账结构(筛选/表格/分页/详情弹窗)+ 审批弹窗(通过/驳回 + 调整积分 + 意见)。
  • 新增 src/api/points/appeal.js:listAppealTodo、getAppealDetail、getAppealProcessDetail、completeAppealFlow,对应 appeal/todoList、appeal/detail/{id}、flowable/busiInfo/getProcessDetail、appeal/completeFlow。
  • 审批走新流程 completeFlow:taskId 由 flowable/busiInfo/getProcessDetail(按 flowInstanceId)取当前待办任务补全,与隐患审核一致;无 taskId 时提示不可提交。
  • 待联调确认:① completeFlow 的 taskId 取值方式;② 改判补分的 adjustPoints 传参(当前放入 variables)。
  • 菜单(需后端配置):一级「积分与商城」→ 菜单「申诉台账」,路由 points/appeal,组件 points/appeal/index(/points/appeal)。原型积分管理内原“申诉处理 Tab”暂保持禁用。
  • 验证:eslint --no-ignore 通过、npm run build:prod 通过(仅既有 warning)。

2026-10-15:新增 Web 工作台页面

  • 新增 src/views/workbench/index.vue:6 项 KPI(待审核 / 本月已闭环 / 平台同步失败 / 今日新增上报 / 今日兑换单 / 今日发放积分)、近 7 日上报趋势柱状图、待办与预警表、最新上报(前 5 条)。
  • 新增 src/api/analysis/home.js:getHomeOverview()、getHomeTodoWarning()、getHomeTrendLatest(),对应 analysis/home/overview|todo-warning|trend-latest。
  • 交互约定:“平台同步失败”KPI 与待办表“重试”后端无接口,展示 — / 禁用并 tooltip 说明;风控预警“处理”目标页未开发,禁用并提示;KPI 与待办跳转隐患台账 / 积分管理;最新上报表“审核”按 id 跳 /hazard/audit/detail。
  • 视觉沿用 prototype-theme.scss 变量与既有卡片风格;图表用 echarts + views/dashboard/mixins/resize(含销毁 dispose)。
  • 菜单(需后端配置):一级菜单「工作台」,路由地址 workbench,组件路径 workbench/index,访问地址 /workbench。
  • 验证:eslint --no-ignore 通过、npm run build:prod 通过(仅既有 warning)、dev server 编译成功。

2026-10-08:隐患审核积分档位按厂区查询

  • 问题:审核页“积分档位”下拉为空且显示裸规则ID;根因是 rulesByLevel 未按隐患所属厂区查询——超管无厂区上下文返回空 children,而 trialCalculate 带了 deptId 故能命中。
  • src/api/points/rule.js:getRulesByLevel(params) 改为接收参数对象,支持 deptId。
  • src/views/hazard/audit/components/AuditActionForm.vue:调用时补传 deptId = report.factoryDeptId;新增 applyTierFallback(),档位列表为空但详情已有 finalFlowLevelId 时用详情档位兜底展示,避免裸 ID。
  • 依赖后端已为 rulesByLevel 增加 deptId(线上已更新)。验证:无诊断错误,npm run build:prod 通过,仅既有资源体积 warning。

2026-10-08:左侧菜单隐藏“隐患审核”

  • 左侧菜单由后端菜单接口下发。在 src/store/modules/permission.js 的 GenerateRoutes 中,对仅用于侧栏展示的路由副本调用新增的 filterHiddenSidebarRoutes(),按组件路径 hazard/audit/index(或标题“隐患审核”)剔除该菜单项。
  • 仅过滤侧栏/顶栏展示数据,rewriteRoutes 路由注册保持不变,/hazard/audit 与基础路由 /hazard/audit/detail 仍可跳转,台账“去审核”入口不受影响。
  • 验证:无诊断错误,npm run build:prod 通过,仅有既有资源体积 warning。

2026-10-08:隐患流程配置新增“流程类型”字段并列表展示

  • 新增/修改弹窗增加“流程类型”下拉,字段 bizType,选项来自字典 flow_biz_type(组件注册 dicts: ['flow_biz_type']),提交时取字典项键值;createEmptyForm、normalizeForm、formRules、buildPayload 同步纳入该字段。
  • 列表在“厂区名称”后新增“流程类型”列,用 el-tag 展示;新增 bizTypeLabel(row) 按字典 flow_biz_type 反查 label,字段为空时模板显示 -。
  • 字段名以 api.json 为准使用 bizType(非下划线 biz_type)。验证:无诊断错误,npm run build:prod 通过,仅有既有资源体积 warning。

2026-10-08:隐患台账非管理员单位筛选改用 myFactory 并归位 /system/dept 封装

  • 修复非管理员进入隐患台账右上角弹出“当前操作没有权限”:根因是 getUnits() 调用了 GET /system/user/deptTree(用户管理权限,非管理员无权,且不在最新 api.json)。
  • 台账页 getUnits() 按角色分流:超级管理员调用 listFactoryDepartments()(/system/dept/factoryList),非管理员调用 getMyFactoryDepartment()(/system/dept/myFactory);非管理员隐藏“单位”筛选项,仅静默按本厂区过滤。
  • created 调整为 getUnits().finally(() => getList()),保证非管理员首屏列表请求已带 unitId;移除不再使用的 deptTreeSelect 引用和 flattenTree。
  • 将 listFactoryDepartments()、getMyFactoryDepartment() 从 src/api/flowable/hazardConfig.js 和 src/api/points/rule.js 归位到 src/api/system/dept.js 并删除重复定义;同步更新隐患流程配置页和积分管理页的 import。
  • 验证:相关文件无诊断错误,npm run build:prod 通过,仅有项目既有资源体积/Browserslist warning。后端 todoList 是否按 unitId 过滤仍需联调确认。

2026-09-19:隐患台账切换待办接口并自动补齐审批 taskId

  • 隐患台账列表请求由 GET /business/hazard/getListByPage 切换为 GET /flowable/hazard/todoList,保留原分页、筛选、详情弹窗和审核入口逻辑。
  • 台账“去审核”只携带隐患 id,不再依赖列表行中的 taskId/taskID/todoTaskId。
  • 审核页新增 getHazardProcessDetail 封装,调用 GET /flowable/busiInfo/getProcessDetail?id={flowInstanceId};详情加载后若 canApprove=true 且有 flowInstanceId,自动获取当前任务并补齐 taskId。
  • 兼容 getProcessDetail 返回数组或 list/rows/records/tasks/taskList/flowList/data 等结构,并优先选择未结束任务;路由仍允许显式传入 taskId 作为兜底。
  • 台账跳转补充携带 canApprove 和 flowInstanceId,避免审核详情缺少这两个流程字段时无法补齐任务;流程详情解析改为递归查找含 taskId 的对象。
  • Web 审核页上传附件由错误的 /flowable/hazard/uploadAttachment 改为 /business/hazard/uploadAttachment;后端实测要求 multipart/form-data,请求字段名确认为 files。
  • App 端 uploadHazardAttachment 同步改为 /business/hazard/uploadAttachment 的 multipart/form-data 请求,字段名使用 files。
  • 审核动作卡片中新上传的附件由纯文本 Tag 改为可点击卡片:图片使用 el-image 大图预览,文档点击后新窗口打开,并保留移除按钮。
  • 定向 ESLint 和生产构建通过;构建仅有既有资源体积、Browserslist 和 Webpack 弃用 warning。getProcessDetail 的真实响应结构和“当前任务”选择规则仍需联调确认。

2026-09-19:SelectTree 机构/人员回显修复

  • 修复 SelectTree 回显时可能直接展示原始 id 的问题:树节点 ID 与 echoBack 改为字符串归一化比较,避免接口返回字符串 "108" 而详情返回数字 108 导致匹配失败。
  • 在 orgdata_bm 树数据异步加载完成后重新执行回显,避免初始化时树数据尚未就绪导致首次回显停留在原始 ID。
  • 生产构建通过;git diff --check 通过。SelectTree 全文件 ESLint 仍存在项目既有格式问题,本次未做无关的全文件格式化。

2026-09-19:隐患审核页字典、分类标准与 Tag 展示调整

  • 对齐 App 端 ReportFormScreen.tsx 字典:审核动作卡片“管理级别”由前端硬编码 general/major/critical 改为读取 hazard_management_level 字典,并补入组件 dicts 列表;切换等级弹窗的当前等级改读 currentFlowLevel/hazardCategory,避免把管理级别字典值当作流程等级。
  • 左侧“上报内容”卡片在“隐患信息”模块的整改负责人、专业下方新增“分类标准”独占一行的展示,优先展示 hazardClassificationStandard,兼容 criteriaNames、hazardClassificationStandardLabel;隐患分类为 general/一般 时固定显示 -。
  • 左侧卡片的“隐患状态”“隐患分类”使用 el-tag 展示;隐患分类按值映射颜色:一般 primary、较大 warning、重大 danger,并修复 tag 在 info-item 网格内被拉伸为整行宽的问题。
  • 未新增或修改接口。两个组件定向 ESLint、git diff --check 和生产构建通过,构建仅有既有资源体积、Browserslist 和构建工具 warning。

2026-09-19:隐患审核页缺 taskId 时仍可查看详情

  • 台账“去审核”不再因列表行缺少 taskId 而拦截跳转,统一携带 id,仅在行数据存在 taskId/taskID/todoTaskId 时附加 taskId。
  • 审核页路由校验改为仅要求 id;缺 taskId 时仍加载并展示隐患详情和附件,页面顶部提示仅可查看、无法审批。
  • AuditActionForm 的 taskId 改为可选属性,缺少时禁用通过/驳回/重新评估等级,并显示“从待办任务办理入口进入”的提示。
  • 未新增或修改接口;审批仍需后端返回或入口传入 taskId。定向 ESLint、生产构建和 git diff --check 通过,构建仅有既有资源体积和 Browserslist warning。

2026-09-18:积分规则支持厂区管理员管理并增加厂区列

  • 积分规则“新建”入口向可进入页面的管理员开放;超级管理员继续调用 factoryList 选择厂区,厂区管理员改为调用 myFactory 展示并锁定所属厂区。
  • 厂区管理员列表查询显式移除 deptId,新增请求不发送 deptId/deptName,由后端按登录用户过滤或自动填充;所属厂区加载失败时禁用提交。启停和删除继续使用原接口,由后端校验规则归属。
  • 规则列表增加“厂区”列,优先显示 deptName,其次显示 deptId,均无时显示“全局规则”;详情同步使用相同兜底。
  • 新建表单将“规则名称”设为必填,校验通过后继续使用现有 ruleName 字段提交;未增加编辑按钮或更新接口,其余 Tab、分页和当前页排序逻辑保持不变。
  • src/api/points/rule.js 定向 ESLint 通过,积分页面可成功生产编译;页面整文件 ESLint 仍有既有压缩模板及脚本格式问题,未做无关的全文件格式化。生产构建成功,仅有项目既有 warning;未使用真实厂区管理员账号联调。

2026-09-15:隐患台账状态与附件展示调整

  • 列表状态按后端字典统一为 draft 待提交、reviewing 审核中、rectifying 整改中、approved 已通过、rejected 已驳回;历史数字值和旧状态名称仅作兼容识别。
  • “去审核”按钮仅在审核中显示,筛选项、统计、Tag、详情状态和底部状态说明同步更新为五态文案。
  • 主列表“平台同步”列暂时注释,保留同步字段、失败判断、重试方法和详情流程字段,后续可直接恢复。
  • 详情附件改为三列图片九宫格:图片按 fileUrl/filePath 生成访问地址,点击 el-image 打开同组大图预览;非图片附件显示文件块并支持新窗口打开。
  • 未新增或修改接口;继续使用台账列表、详情和附件接口。单文件 ESLint、Vue 模板编译、生产构建和 git diff --check 通过,构建仅有既有资源体积 warning。

2026-09-15:隐患台账新版 Table UI 改造

  • 隐患台账主列表由独立筛选栏和 el-card 切换为统一的 <data-list-panel modern-table>,筛选、当前筛选/本页状态统计、表格、分页和状态说明按新版列表结构布局。
  • 主表增加 Element UI 原生 border 并移除 stripe,由 modern-table 隐藏外框和竖向分隔线,在保持新版视觉的同时支持拖拽表头列宽。
  • 详情、去审核和同步重试按钮采用新版紧凑按钮样式;列表字段、状态 Tag、固定操作列、溢出提示和空态保持完整。
  • 未修改台账列表、详情、附件、同步重试或部门树接口,也未调整查询、分页、详情、审核及同步重试业务逻辑。
  • 单文件 ESLint、开发服务热编译、生产构建和 git diff --check 通过;构建仅有项目既有 dotenv、Browserslist、webpack 弃用及资源体积 warning。

2026-09-15:Token 过期回跳、角色更多操作与 Table 列拖拽修复

  • 定位 404 根因:过期 Token 和主动退出仍跳转已废弃 /index,无 Token 路由守卫将其写入 redirect,登录成功恢复该地址后命中 404。
  • 过期会话改为前端登出,清空 Token、角色和权限后替换到 /login,不再使用失效 Token 请求后端退出;主动退出及获取用户信息失败也统一避开 /index。
  • 登录页增加历史回跳兜底,/index、/404、/login 均回落至 /hazard/ledger,避免已打开的旧登录链接继续触发 404。
  • 角色列表将原“更多”文本入口改为带 Tooltip 的省略号图标按钮,点击展开既有“数据权限、分配用户”,权限字符和事件逻辑不变。
  • 为 16 个 DataListPanel Card 主列表补回 Element UI 的 border 行为属性,从而恢复表头列宽拖拽;既有 Card CSS 继续隐藏外框和竖向单元格线。
  • 按追加要求为 DataListPanel 增加默认关闭的 modern-table 参数,无竖线 Table 样式只在显式开启时生效;16 个已改造页面全部传入该参数,未改造页面继续使用 Element UI 原竖线样式。
  • 补齐系统监控旧表格的原生 border:在线用户、定时任务、调度日志和缓存列表共 5 张表恢复竖向分隔线与列宽拖拽;操作日志、登录日志保持新版无竖线样式。
  • src/permission.js 定向 ESLint、开发编译、生产构建和 git diff --check 通过;其他相关历史文件仍有既有 ESLint 格式问题,构建仅有项目既有 warning。真实过期 Token 和角色权限账号仍需在测试环境端到端回归。

2026-09-14:登录框响应式居中修复

  • 修复登录页拖拽浏览器宽高时登录框偏移:移除装饰层固定 1920×1080 尺寸、绝对定位和固定负边距,改为视口尺寸与 Flex 水平/垂直居中。
  • 背景图和平台装饰图改用 cover 保持比例;登录框保留 550px 桌面宽度并增加窄屏安全边距,低高度窗口支持滚动,验证码区域可随宽度收缩。
  • 未修改验证码、记住密码、登录接口、路由跳转及用户现有“积分管理系统”文案。
  • 开发服务热编译和生产构建成功,仅有项目既有构建 warning;定向 ESLint 仍报告该文件未修改模板/脚本中的历史格式问题。

2026-09-14:隐患流程配置页面

  • 新增 src/api/flowable/hazardConfig.js,封装流程模板配置列表、详情、新增、修改、删除、当前厂区已配置模板、全部厂区和当前用户厂区请求。
  • 将空白隐患流程配置页实现为最新 DataListPanel Card 列表:厂区/隐患等级/状态筛选、批量选择、分页、新增、修改、状态 Tag、删除确认和行内操作。
  • 列表状态按用户要求只展示 Tag:正常为绿色、停用为灰色;启用/停用通过编辑弹窗和 PUT /flowable/hazardFlowConfig 修改完整配置,删除继续使用现有 DELETE /flowable/hazardFlowConfig/{id}。
  • 超级管理员通过 admin 角色标识加载并选择全部厂区;二级管理员调用 myFactory 显示禁用的所属厂区控件,列表和新增请求不主动传 deptId/deptName,由后端按用户权限过滤和填充。
  • 真实列表响应已确认使用 data.list 和字符串 data.total,页面固定解析并将总数转为数字;状态字段和状态筛选保留。定向 ESLint 和生产构建通过,仅有项目既有构建 warning。

2026-09-12:流程管理四个主列表 Card UI 统一

  • 流程监听、流程定义、表单配置、流程表达式四个页面的主列表统一复用共享 DataListPanel,采用紧凑筛选、批量操作、白色 Card、无竖向单元格线和 Card 内分页结构。
  • 新增/修改、删除、导出及行内操作按钮按现有用户/角色管理样式统一主次配色,同时保留原权限指令、选中禁用条件和事件。
  • 流程定义页保留原“流程设计说明”,并将其放在主列表 Card 头部;流程图、XML 上传、主表单配置等弹窗及挂载表单弹窗内部表格未修改。
  • 四页继续使用现有 listener、definition、form、expression API 封装,接口、查询参数、字段、响应解析和业务脚本均未改变。
  • 开发服务热编译、git diff --check 和生产构建通过;构建仅有既有 Browserslist、Webpack 弃用和资源体积 warning。定向 ESLint 仍有四页历史格式问题,本次未越界批量格式化。

2026-09-12:积分规则列表 Card UI 统一

  • 积分管理的积分规则页复用共享 DataListPanel,筛选、新建、表格和分页沿用用户/角色管理列表的 Card 结构及无竖向单元格线样式。
  • 将“同一隐患等级支持 A/B/C…”说明移动到“积分规则配置 · 多档位”标题下方;将档位标准说明移动到两个底部按钮下方。
  • 底部按钮按确认稿调整为“保存为新版本 V4”蓝色主按钮和“历史月份试算”白色次按钮;点击仍使用原未接接口提示,不新增请求。
  • 未修改积分规则的接口、字段、权限、排序、筛选、新增、详情、启停、删除或分页逻辑;部门管理已由用户确认完成,本次未继续调整。
  • git diff --check 和生产构建通过;构建仅有既有 Browserslist、Webpack 弃用和资源体积 warning。定向 ESLint 显示积分页面已有整文件格式问题,本次按 UI 范围未做全文件自动格式化。

2026-09-10:系统管理八个列表页 Card UI 批量替换

  • 菜单管理、部门管理、岗位管理、字典管理、参数管理、通知公告、操作日志和登录日志统一使用共享 DataListPanel 的筛选、操作、Card 表格和分页插槽。
  • 扩展 DataListPanel 通用样式类,统一紧凑筛选控件、按钮布局、无竖向单元格线、行内操作和移动端换行,供后续列表页继续复用。
  • 菜单和部门继续使用原树形表格并保持展开/折叠;其余分页页面只将原分页移入 Card footer;操作日志和登录日志的默认排序及 sort-change 原样保留。
  • 页面现有列表字段、权限指令、API 导入、查询参数、业务方法、缓存刷新、清空、解锁、详情和编辑弹窗均未修改,也未新增任何模块。
  • 公共 DataListPanel 定向 ESLint 通过,git diff --check 通过,生产构建成功;仅有项目既有 Browserslist、Webpack 弃用和资源体积 warning。

2026-09-10:角色管理 Card 列表 UI 替换

  • 角色管理 src/views/system/role/index.vue 的列表区域改用共享 DataListPanel,采用筛选区、批量操作区、白色 Card 表格和底部分页结构。
  • 保留角色编号、角色名称、权限字符、显示顺序、状态、创建时间和操作列;表格沿用全局紧凑字号与无竖向单元格线样式。
  • 新增/修改/删除/导出按钮、状态开关、行内修改/删除/更多(数据权限、分配用户)及权限指令均保持原事件和权限字符,仅调整视觉呈现。
  • 未增加左侧部门树或其他模块,角色新增/编辑、数据权限弹窗和分配用户入口代码未改动;未新增或修改接口。
  • git diff --check 通过;定向 ESLint 仍报告角色页面原有脚本格式问题(本次新增模板仅有少量既有规则 warning),公共 DataListPanel 无新增错误;生产构建成功,仅有既有 Browserslist、Webpack 弃用和资源体积 warning。

2026-09-09:用户管理 Card 列表试点

  • 新增全局注册的 src/components/DataListPanel/index.vue,提供筛选、操作、标题、表格和分页插槽,并统一白色 Card、圆角、浅边框和无竖向单元格线的表格外观。
  • 用户管理保留“左侧部门树 + 右侧列表”,右侧调整为顶部用户账号、手机号、状态、日期和岗位筛选,加批量操作及 Card 列表。
  • 左侧部门树数据仍使用原接口和 deptId 参数,保留部门名称搜索、节点点击查询及重置联动;此前改为顶部 Treeselect 的方案已按用户反馈撤回。
  • 按截图统一按钮:搜索/新增/修改/更多为蓝色,删除为红色,重置/导入/导出为白底;状态使用绿色/灰色标签并保留点击二次确认切换。
  • 用户列表、增删改、状态、导入导出、权限字符和分页逻辑全部沿用现有实现,没有修改接口协议。
  • 新公共组件定向 ESLint 通过,git diff --check 通过,生产构建成功;只有项目既有 Browserslist、Webpack 弃用和资源体积 warning。

2026-09-09:管理后台原型视觉统一第一阶段

  • 以交付原型的浅色管理后台规范为基准,保留现有 Vue 2、Element UI、登录、动态菜单、权限和接口逻辑,在 zhongyou_web 内进行整体 UI 改造。
  • 移除 App.vue 中固定 1920×1080 的 ScaleBox 全局缩放,恢复正常流式后台布局,避免字体和间距随屏幕失真。
  • 侧栏由 200px 改为 212px,Header 由 50px 改为 52px;统一菜单行高、字号、选中态、浅色分割线、Logo 和主内容偏移。
  • 新增 src/assets/styles/prototype-theme.scss,统一页面色板以及 Element UI 的 Card、Tabs、Table、Form、Input、Button、Tag、Dialog、Switch、Pagination 和 Descriptions。
  • 默认主题色切换为 #1890ff、表格字号切换为 12px;为本地布局配置增加 prototype-v1 版本标识,避免旧缓存覆盖新视觉默认值。
  • 调整 Header 消息、APK、用户名、面包屑以及公共分页组件;积分管理、隐患台账、隐患审核同步适配新背景和 52px 顶部高度。
  • 本次没有新增或修改接口,也没有调整鉴权、权限或动态菜单行为。
  • git diff --check 通过;生产构建成功,仅有既有 Browserslist、Webpack 弃用和资源体积 warning。定向 ESLint 仍报告相关历史文件已有格式问题,未在本次任务中批量改写。

2026-09-05:隐患台账构建验证

  • 执行 npm run build:prod,构建成功;仅保留 dotenv 配置行、Browserslist 数据过期和资源体积 warning。
  • git diff --check 通过。
  • 默认 npm run lint 因项目 .eslintignore 同时忽略 *.js 与 *.vue,ESLint 将 src 判定为全部 ignored;未修改既有忽略规则,待后续统一调整校验配置。

2026-09-04:隐患台账页面

  • 按原型完成状态/单位/名称筛选、统计摘要、9 列台账表格、分页和导出入口。
  • 详情使用宽屏 Element UI 弹窗,分组展示基础信息、整改流程、描述处理和附件,并支持待审核记录进入隐患审核页。
  • 接入 business/hazard/getListByPage、info/{id}、attachment/{reportId} 和 export。
  • 核对 api.json 未发现同步重试接口;页面保留明确的待后端确认提示,不显示虚假成功。

2026-09-03:开发文档和 AI 交接规范

  • 新增根目录 AGENTS.md,规定新 AI 窗口的阅读、接口梳理、开发、验证和交接流程。
  • 新增开发手册、当前状态和当前任务模板。
  • 记录动态菜单、请求 baseURL、鉴权头不一致、OpenSSL 兼容等关键上下文。
  • 明确后续每次页面开发前先填写 CURRENT_TASK.md,完成后更新状态、日志和页面接口映射。
  • 本次仅新增文档,没有修改页面业务逻辑。

2026-09-03:API 文档整理

  • 将上级目录 api.json 的 278 个接口整理为 27 个业务模块文档。
  • 生成 32 个数据模型字段字典和机器可检索的 catalog.json。
  • 新增页面接口映射,覆盖隐患审核、隐患台账、积分管理、隐患流程配置、切换日志和商城相关接口。
  • 新增 npm run docs:api 自动生成命令。
  • 发现切换日志缺少明确列表接口、手动调整积分请求模型不完整。

2026-09-03:空白业务页面

  • 新增隐患审核:src/views/hazard/audit/index.vue。
  • 新增隐患台账:src/views/hazard/ledger/index.vue。
  • 新增积分管理:src/views/points/management/index.vue。
  • 新增隐患流程配置:src/views/flowable/hazardConfig/index.vue。
  • 新增切换日志:src/views/flowable/switchLog/index.vue。
  • 各页面均创建同级 components/ 目录。
  • 页面当前都是空白占位,未接入接口。

2026-09-03:左侧菜单和浅色布局

  • 一级、二级菜单统一调整到左侧。
  • Logo 从 Header 移至左侧栏顶部。
  • Header 改为折叠按钮、面包屑和右侧用户功能布局。
  • 默认主题改为浅色,保留明暗主题切换。
  • 修复 Header、用户名、箭头、APK 等元素在浅色背景下的文字颜色。
  • 修改生产构建脚本以兼容 Node 22/OpenSSL 3。
  • 生产构建通过;只有旧 Browserslist 数据和资源体积警告。

2026-09-09

默认登录首页调整

  • 登录成功且没有 redirect 参数时,默认跳转到隐患台账 /hazard/ledger。
  • 两处根路由重定向统一为 /hazard/ledger,已登录用户访问登录页时也通过根路由进入隐患台账。
  • 保留已有 redirect 参数优先级,用户被登录拦截后仍返回原目标页面。
  • 首次实测进入 404 后,在已有隐藏 /hazard 基础路由下增加 ledger 子路由,避免默认首页依赖动态菜单注册时序或菜单响应是否包含该路径;侧栏菜单仍由后端控制,接口仍执行后端鉴权和数据权限。
  • 生产构建通过,仅有既有 Browserslist、构建工具弃用和资源体积 warning;相关历史文件仍存在与本次无关的 ESLint 格式问题。

2026-09-08

重新生成 API 文档

  • 使用上级目录最新 api.json 重新生成 docs/api/。
  • 当前文档包含 28 个模块、278 个接口和 32 个模型。
  • 新增/更新积分规则接口及厂区接口资料,供积分管理页面开发使用。
  • 同步更新积分管理页面的接口映射和开发前任务梳理;尚未修改业务 Vue 代码。

积分管理需求确认

  • 确认档位使用 hazardCategory,以 A、B、C…表示,用户可修改;新增时前端按当前隐患等级已有最大档位生成下一字母。
  • 确认隐患等级下拉:general=一般隐患、major=较大隐患、critical=重大隐患。
  • 确认规则列表按一般→较大→重大分组,各组内按档位字母升序排列;enabled 新增默认 1。
  • 确认 hazardLevel、档位、points 为必填;priority 可由前端按当前等级最大值+1生成,用户可修改。
  • 确认超级管理员使用 admin 角色判断;详情字段由页面按主要业务和审计字段定义。
  • 补充确认:新建规则必须指定 deptId,页面暂不提供新建全局规则入口。超级管理员厂区选择使用 factoryList 返回的全部数据并展开。前端 API 封装只保留一层 /gd_dataserver 前缀之后的业务路径。

积分规则页面开发完成

  • 新增 src/api/points/rule.js,封装规则分页、厂区列表、新增、详情、启停和删除接口。
  • 完成积分管理页面:四个 Tab(后三个暂禁用)、积分规则卡片、超级管理员厂区筛选和新建入口、等级分组/档位排序、分页、详情弹窗、Switch 启停、删除二次确认。
  • 新增规则校验 deptId/hazardLevel/hazardCategory/points 必填,默认 enabled=1,档位按当前等级已有最大字母自动生成,priority 可修改;页面暂不提供新建全局规则入口。
  • “保存为新版本”“V4历史月份试算”暂以提示按钮展示,不调用接口。
  • ESLint 检查通过;生产构建通过,仅有既有资源体积和 Browserslist warning。