zzw
昨天 943b68c17b27f3b0f9973533f832c48dd6afbb6f
requirement/½»½ÓÎļþ_2026.10.3.md
@@ -8,10 +8,10 @@
- åŽŸå§‹éœ€æ±‚æ–‡ä»¶ï¼š`requirement/改进20261003.txt`
- äº¤æŽ¥æ•´ç†æ—¶é—´ï¼š2026-10-04
- æœ¬è½®å·¥ä½œæ—¥æœŸï¼š2026-10-03
- æäº¤çŠ¶æ€ï¼šéœ€æ±‚ 11、12、17-19 å·²å®Œæˆå¹¶å®Œæˆæµè§ˆå™¨ã€æŽ¥å£åŠç«¯åˆ°ç«¯è”调,本轮代码与本文档将统一提交并推送 `main` åˆ†æ”¯ã€‚
- æäº¤çŠ¶æ€ï¼šéœ€æ±‚ 11、12、17-19 å·²å®Œæˆå¹¶å®Œæˆæµè§ˆå™¨ã€æŽ¥å£åŠç«¯åˆ°ç«¯è”调,本轮代码已提交并推送 `main` åˆ†æ”¯ï¼Œæäº¤ `757dcb3`;交接文件回填提交记录。
- æ³¨æ„äº‹é¡¹ï¼š`requirement/改进20261003.txt` æ˜¯ç”¨æˆ·åŽŸå§‹éœ€æ±‚è®°å½•ï¼Œæœ¬æ¬¡æœªä¿®æ”¹ã€‚
> 2026-10-04 æ›´æ–°ï¼šéœ€æ±‚ 11、12、17-19 å·²å®Œæˆå¹¶å®Œæˆæµè§ˆå™¨ã€æŽ¥å£åŠç«¯åˆ°ç«¯è”调;本轮代码与交接文档将统一提交并推送 `main` åˆ†æ”¯ã€‚`DEPT_NAME` åŒ¹é…ç­‰å‰©ä½™é£Žé™©è§ç¬¬åä¸€èŠ‚ã€‚
> 2026-10-04 æ›´æ–°ï¼šéœ€æ±‚ 11、12、17-19 å·²å®Œæˆå¹¶å®Œæˆæµè§ˆå™¨ã€æŽ¥å£åŠç«¯åˆ°ç«¯è”调;本轮代码已提交并推送 `main` åˆ†æ”¯ï¼Œæäº¤ `757dcb3`。`DEPT_NAME` åŒ¹é…ç­‰å‰©ä½™é£Žé™©è§ç¬¬åä¸€èŠ‚ã€‚
## ä¸€ã€éœ€æ±‚完成情况
@@ -504,3 +504,76 @@
- éžç®¡ç†å‘˜å®Œå·¥å¡«æŠ¥çš„单位匹配目前按 `DEPT_NAME`,不是 `DEPT_ID`;若出现同名部门,应改为 ID ç²¾ç¡®åŒ¹é…ã€‚
- åŽ†å²æ¼”ç¤ºæ´¾å·¥å•å¯èƒ½ä»ä¿å­˜æ—§ `T_CONTRACTOR` åç§°ï¼Œéžç®¡ç†å‘˜ cj ç”¨æˆ·å¯èƒ½çœ‹ä¸åˆ°ï¼›`admin` ä¸å—单位过滤影响。
- `.codex-run`、Office é”æ–‡ä»¶ä»¥åŠ `emergency-repair-web/public/新建 æ–‡æœ¬æ–‡æ¡£.txt` æ˜¯æœ¬åœ°è”调或临时文件,不应提交。
## åäºŒã€2026-10-06 è”调收尾(需求 20)
| åºå· | éœ€æ±‚ | çŠ¶æ€ | å®žçŽ°ä¸ŽéªŒè¯ |
| --- | --- | --- | --- |
| 20 | èœå•权限管理取消租户权限,仅保留角色权限;权限复选框反显 | å·²å®Œæˆ | æƒé™æ ‘保留菜单和按钮节点;角色切换后正常反显,接口仅处理 `roleId` / `roleMenuIds` |
### 12.1 ä¸»è¦å˜æ›´æ–‡ä»¶
后端:
- `emergency-repair-server/src/main/java/com/emergencyrepair/business/dto/Requests.java`
- `emergency-repair-server/src/main/java/com/emergencyrepair/system/controller/SystemController.java`
- `emergency-repair-server/src/main/java/com/emergencyrepair/system/service/SystemService.java`
前端:
- `emergency-repair-web/src/views/system/MenuPermission.vue`
### 12.2 éªŒè¯ç»“æžœ
- åŽç«¯ `mvn -B -DskipTests compile` é€šè¿‡ï¼›å‰ç«¯ `npm run build` é€šè¿‡ã€‚
- `GET /api/system/menu-permissions?roleId=2106221661022490625` è¿”回字符串型 `roleMenuIds` å…± 14 æ¡ï¼Œé¿å…æµè§ˆå™¨è§£æžé›ªèб ID æ—¶ä¸¢å¤±ç²¾åº¦ã€‚
- `node .codex-run/verify-menu-permission.js` è¾“出 `hasTenantPanel: false`、`buttonNodeCount: 76`、`checkedMatchesSaved: true`、`hasError: false`。
- é¡µé¢ä¿ç•™æŒ‰é’®èŠ‚ç‚¹ï¼Œè§’è‰²åˆ‡æ¢åŽæƒé™æ ‘å¤é€‰æ¡†åæ˜¾æ­£å¸¸ï¼›æˆªå›¾ `.codex-run/menu-permission-verified.png`。
### 12.3 æŽ¥æ‰‹æ³¨æ„
- æœ¬è½®ä»£ç ä¸Žäº¤æŽ¥è®°å½•一并提交并推送公司 Git ä»“库 `main` åˆ†æ”¯ã€‚
- `.codex-run`、Office é”æ–‡ä»¶åŠ `emergency-repair-web/public/新建 æ–‡æœ¬æ–‡æ¡£.txt` ä»ä¸ºæœ¬åœ°ä¸´æ—¶æ–‡ä»¶ï¼Œä¸åº”提交。
## åä¸‰ã€2026-10-06 è”调收尾(需求 21-22)
| åºå· | éœ€æ±‚ | çŠ¶æ€ | å®žçŽ°ä¸ŽéªŒè¯ |
| --- | --- | --- | --- |
| 21 | èœå•权限管理改为角色管理的“权限设置”入口 | å·²å®Œæˆ | åˆ é™¤ç‹¬ç«‹èœå•、路由和页面;角色列表新增“权限设置”,弹窗保留菜单及按钮节点并正常反显 |
| 22 | ç³»ç»Ÿç®¡ç†æ–°å¢žäºŒçº§èœå•组,新增错误日志 | å·²å®Œæˆ | æ–°å¢žâ€œç³»ç»Ÿé…ç½® / æƒé™é…ç½® / æ—¥å¿—管理”目录并迁移菜单;错误日志记录非业务异常,支持筛选、分页和堆栈详情 |
### 13.1 ä¸»è¦å˜æ›´æ–‡ä»¶
后端:
- `emergency-repair-server/src/main/java/com/emergencyrepair/system/entity/SysErrorLog.java`
- `emergency-repair-server/src/main/java/com/emergencyrepair/system/mapper/SysErrorLogMapper.java`
- `emergency-repair-server/src/main/java/com/emergencyrepair/system/log/ErrorLogRecorder.java`
- `emergency-repair-server/src/main/java/com/emergencyrepair/common/GlobalExceptionHandler.java`
- `emergency-repair-server/src/main/java/com/emergencyrepair/bootstrap/DataInitializer.java`
- `emergency-repair-server/src/main/java/com/emergencyrepair/bootstrap/DatabaseBootstrap.java`
- `emergency-repair-server/src/main/java/com/emergencyrepair/system/controller/SystemController.java`
- `emergency-repair-server/src/main/java/com/emergencyrepair/system/service/SystemService.java`
- `emergency-repair-server/src/main/java/com/emergencyrepair/system/service/ButtonPermissionCatalog.java`
前端:
- `emergency-repair-web/src/views/system/RoleManage.vue`
- `emergency-repair-web/src/views/system/RolePermissionDialog.vue`
- `emergency-repair-web/src/views/system/ErrorLogManage.vue`
- `emergency-repair-web/src/views/system/MenuManage.vue`
- `emergency-repair-web/src/router/index.js`
- åˆ é™¤ `emergency-repair-web/src/views/system/MenuPermission.vue`
### 13.2 éªŒè¯ç»“æžœ
- åŽç«¯ `mvn -B -DskipTests clean package` é€šè¿‡ï¼›å‰ç«¯ `npm run build` é€šè¿‡ï¼Œä»…有既有包体积告警。
- `node .codex-run/verify-req21-22.js` é€šè¿‡ï¼šäºŒçº§ç›®å½•和错误日志菜单显示正常,旧“菜单权限管理”不存在;角色权限弹窗按钮节点数 78,权限反显正常。
- é”™è¯¯æ—¥å¿—列表、异常类型筛选和堆栈详情页面验证通过;人为触发非法接口参数后成功落库,临时验证记录已清理。
- æˆªå›¾ï¼š`.codex-run/role-permission-dialog-verified.png`、`.codex-run/error-log-verified.png`。
### 13.3 æŽ¥æ‰‹æ³¨æ„
- é”™è¯¯æ—¥å¿—目前覆盖进入 Spring MVC å…¨å±€å¼‚常处理的异常;启动阶段异常、异步线程异常若绕过该处理器,暂不会自动记录。
- æœ¬è½®ä»£ç ä¸Žäº¤æŽ¥è®°å½•一并提交并推送公司 Git ä»“库 `main` åˆ†æ”¯ã€‚
- `.codex-run`、Office é”æ–‡ä»¶åŠ `emergency-repair-web/public/新建 æ–‡æœ¬æ–‡æ¡£.txt` ä»ä¸ºæœ¬åœ°ä¸´æ—¶æ–‡ä»¶ï¼Œä¸åº”提交。