zzw
5 小时以前 82d07d97089bfe91a369d7bddd4ec09245e45923
requirement/½»½ÓÎļþ_2026.10.3.md
@@ -627,7 +627,6 @@
- å®Œå·¥æŸ¥é˜…当前只展示已有 `T_COMPLETION_INFO` å®Œå·¥å¡«æŠ¥è®°å½•的派工单,并且接口未分页。
- æœ¬è½®ä»£ç ã€éœ€æ±‚文件和交接记录一并提交并推送公司 Git ä»“库 `main` åˆ†æ”¯ã€‚
- `.codex-run`、Office é”æ–‡ä»¶åŠ `emergency-repair-web/public/新建 æ–‡æœ¬æ–‡æ¡£.txt` ä»ä¸ºæœ¬åœ°ä¸´æ—¶æ–‡ä»¶ï¼Œä¸åº”提交。
## åäº”、2026-10-06 è”调收尾(需求 21 æƒé™è®¾ç½®èŒƒå›´åˆ‡æ¢ï¼‰
| åºå· | éœ€æ±‚补充 | çŠ¶æ€ | å®žçŽ°ä¸ŽéªŒè¯ |
@@ -651,3 +650,143 @@
- å½“前运行:前端 `http://localhost:8082`;后端 `http://127.0.0.1:8091`;DM8 `127.0.0.1:5236`;Edge CDP `9222`。登录 `admin / admin123`。
- æœ¬è½®ä»£ç ã€éœ€æ±‚文件和交接记录一并提交并推送公司 Git ä»“库 `main` åˆ†æ”¯ã€‚
- `.codex-run`、Office é”æ–‡ä»¶åŠ `emergency-repair-web/public/新建 æ–‡æœ¬æ–‡æ¡£.txt` ä»ä¸ºæœ¬åœ°ä¸´æ—¶æ–‡ä»¶ï¼Œä¸åº”提交。
## åå…­ã€2026-10-06 è”调收尾(需求 26 æ—¥å¿—日期范围分隔符)
| åºå· | éœ€æ±‚ | çŠ¶æ€ | å®žçŽ°ä¸ŽéªŒè¯ |
| --- | --- | --- | --- |
| 26 | æ—¥å¿—管理的日期组件两个日期中间的“至”显示不完整 | å·²å®Œæˆ | ç™»å½•日志、操作日志、错误日志的 `.el-range-separator` å›ºå®šä¸º `18px` å¹¶å±…中,三个页面实际宽度、`clientWidth`、`scrollWidth` å‡ä¸º `18px` |
### 16.1 ä¸»è¦å˜æ›´æ–‡ä»¶
- `emergency-repair-web/src/views/system/LoginLogManage.vue`
- `emergency-repair-web/src/views/system/OperationLogManage.vue`
- `emergency-repair-web/src/views/system/ErrorLogManage.vue`
- `requirement/改进20261003.txt`(补充需求 26)
### 16.2 éªŒè¯ç»“æžœ
- å‰ç«¯ `npm run build` é€šè¿‡ï¼Œä»…有既有包体积告警。
- `node .codex-run/verify-req26.js` é€šè¿‡ï¼šä¸‰ä¸ªæ—¥å¿—页面均显示“至”,无裁切,无网络异常。
- æˆªå›¾ï¼š`.codex-run/login-log-date-separator.png`、`.codex-run/operation-log-date-separator.png`、`.codex-run/error-log-date-separator.png`。
### 16.3 æŽ¥æ‰‹æ³¨æ„
- å½“前运行:前端 `http://localhost:8082`;后端 `http://127.0.0.1:8091`;DM8 `127.0.0.1:5236`;Edge CDP `9222`。登录 `admin / admin123`。
- æœ¬è½®ä»£ç ã€éœ€æ±‚文件和交接记录一并提交并推送公司 Git ä»“库 `main` åˆ†æ”¯ã€‚
- `.codex-run`、Office é”æ–‡ä»¶åŠ `emergency-repair-web/public/新建 æ–‡æœ¬æ–‡æ¡£.txt` ä»ä¸ºæœ¬åœ°ä¸´æ—¶æ–‡ä»¶ï¼Œä¸åº”提交。
## åä¸ƒã€2026-10-06 è”调收尾(需求 27 è®¾å¤‡é€‰æ‹©èŒƒå›´ï¼‰
| åºå· | éœ€æ±‚ | çŠ¶æ€ | å®žçŽ°ä¸ŽéªŒè¯ |
| --- | --- | --- | --- |
| 27 | æ–°å¢žæ•…障选择 `rk_X号` åŽï¼Œè®¾å¤‡é€‰æ‹©å™¨åº”只显示所选 `side` èŠ‚ç‚¹çš„ä¸‹çº§ | å·²å®Œæˆ | åŽç«¯åªè¿”回所选 `side` èŠ‚ç‚¹ä½œä¸ºæ ¹ï¼›å‰ç«¯è‡ªåŠ¨å±•å¼€è¯¥æ ¹èŠ‚ç‚¹å¹¶ç»§ç»­æ‡’åŠ è½½ä¸‹çº§ï¼ŒæŽ¥å£ä¸Žæµè§ˆå™¨éªŒè¯é€šè¿‡ |
### 17.1 ä¸»è¦å˜æ›´æ–‡ä»¶
- `emergency-repair-server/src/main/java/com/emergencyrepair/system/service/SystemService.java`
- `emergency-repair-web/src/components/ProductTreePicker.vue`
- `requirement/改进20261003.txt`(补充需求 27)
### 17.2 éªŒè¯ç»“æžœ
- åŽç«¯ `mvn -B -DskipTests compile`、`mvn -B -DskipTests package` é€šè¿‡ï¼›å‰ç«¯ `npm run build` é€šè¿‡ï¼Œä»…有既有包体积告警。
- `GET /api/system/tree/product/side-roots?xNo=203` åªè¿”回对应的 `side` æ ¹èŠ‚ç‚¹ï¼›`201 / 203 / 301 / æµ‹è¯•T` å‡åˆ†åˆ«éªŒè¯é€šè¿‡ã€‚
- `node .codex-run/verify-req27.js` é€šè¿‡ï¼šæ ¹èŠ‚ç‚¹æ–‡æœ¬ä»…ä¸º `203`,自动展开 1 ä¸ªæ ¹èŠ‚ç‚¹ï¼Œæ˜¾ç¤ºä¸‹çº§ç³»ç»ŸèŠ‚ç‚¹ï¼Œæ— ç½‘ç»œå¼‚å¸¸ã€‚
- è¯·æ±‚链路确认:`side-roots?xNo=203` åŽè¯·æ±‚ `children?parentId=1280000000000009729`。截图:`.codex-run/req27-side-tree.png`。
### 17.3 æŽ¥æ‰‹æ³¨æ„
- å½“前运行:前端 `http://localhost:8082`,PID `138164`;后端 `http://127.0.0.1:8091`,PID `148268`;DM8 `127.0.0.1:5236`;Edge CDP `9222`。登录 `admin / admin123`。
- éœ€æ±‚ 26 å·²æäº¤å¹¶æŽ¨é€ï¼Œæäº¤ `f651ad5`;需求 27 å·²æäº¤å¹¶æŽ¨é€ï¼Œæäº¤ `f9114ff`(`fix: limit equipment picker to selected X number`)。
- æœ¬è½®ä»£ç ã€éœ€æ±‚文件和交接记录一并提交并推送公司 Git ä»“库 `main` åˆ†æ”¯ã€‚
- `.codex-run`、Office é”æ–‡ä»¶åŠ `emergency-repair-web/public/新建 æ–‡æœ¬æ–‡æ¡£.txt` ä»ä¸ºæœ¬åœ°ä¸´æ—¶æ–‡ä»¶ï¼Œä¸åº”提交。
## åå…«ã€2026-10-06 è”调修复(菜单名称被启动初始化覆盖)
| é—®é¢˜ | çŠ¶æ€ | å®žçŽ°ä¸ŽéªŒè¯ |
| --- | --- | --- |
| ç³»ç»Ÿé…ç½®ä¸‹â€œäº§å“ç»“构树管理”手工改为“产品结构树”后,后端重启又加回“管理” | å·²ä¿®å¤ | `DataInitializer.ensureMenu()` ä¸å†è¦†ç›–已存在菜单名称;新建菜单默认名称改为“产品结构树”;改名后重启新 jar åç§°ä¿æŒä¸å˜ |
### 18.1 ä¸»è¦å˜æ›´æ–‡ä»¶
- `emergency-repair-server/src/main/java/com/emergencyrepair/bootstrap/DataInitializer.java`
### 18.2 éªŒè¯ç»“æžœ
- åŽç«¯ `mvn -B -DskipTests compile`、`mvn -B -DskipTests package` é€šè¿‡ã€‚
- èœå•记录 `id=2101493905517301763`、`url=/system/product-tree` æ”¹åä¸ºâ€œäº§å“ç»“构树”后,新 jar é‡å¯å¹¶å†æ¬¡æŸ¥è¯¢ï¼Œåç§°ä»ä¸ºâ€œäº§å“ç»“构树”。
- å½“前后端 PID `151580`,监听 `http://127.0.0.1:8091`;前端仍监听 `http://localhost:8082`。
## åä¹ã€2026-10-07 æ¸…空故障及完工业务数据
| æ“ä½œ | ç»“æžœ |
| --- | --- |
| æ¸…空故障、派工单、完工处理及完工信息数据 | `T_FAULT`、`T_WORK_ORDER`、`T_COMPLETION_INFO`、`T_ACCEPTANCE` å››è¡¨å‡ä»ŽåŽŸæ•°é‡æ¸…ä¸º `0` |
| é˜²æ­¢é‡å¯å›žå¡«æ¼”示数据 | æ–°å¢ž `app.seed-demo-data=false`,默认不再执行 `seedBusinessData()` |
### 19.1 ä¸»è¦å˜æ›´æ–‡ä»¶
- `emergency-repair-server/src/main/java/com/emergencyrepair/bootstrap/DataInitializer.java`
- `emergency-repair-server/src/main/resources/application.yml`
### 19.2 éªŒè¯ç»“æžœ
- æ¸…空前:故障 `23`、派工单 `8`、完工信息 `6`、验收 `6`;清空后均 `0`。
- åŽç«¯ `mvn -B -DskipTests clean package` é€šè¿‡ï¼›æ–° jar é‡å¯åŽå››è¡¨ä»å‡ä¸º `0`。
- å½“前后端 PID `21528`,监听 `8091`;前端 PID `57312`,监听 `8082`;后端错误日志为空。
## äºŒåã€2026-10-07 è”调收尾(需求 28-30)
| åºå· | éœ€æ±‚ | çŠ¶æ€ | å®žçŽ°ä¸ŽéªŒè¯ |
| --- | --- | --- | --- |
| 28 | ç»„织机构增加扩展属性设置,设置部门负责rk_T | å·²å®Œæˆ | ç»„织机构列表增加“扩展属性”按钮和弹窗,从产品结构树 `side` èŠ‚ç‚¹ä¸­å•é€‰ `rk_X号`,保存到 `LX.T_SYS_DEPT_EXT`,不修改外部 `SYS_DEPT` |
| 29 | ç”¨æˆ·ç®¡ç†å¢žåŠ æ‰©å±•å±žæ€§è®¾ç½® | å·²å®Œæˆ | åˆ—表展开显示工程专业、rk_T队专业、负责rk_T三列,最后操作列提供“编辑属性”;可保存到 `LX.T_SYS_USER_EXT`,不修改外部 `SYS_USER`;rk_TD专业与现有 `teamMajor` ä¸ºåŒä¸€å­—段 |
| 30 | æ–°å¢žæ•…障默认值 | å·²å®Œæˆ | ä¸ŠæŠ¥å•位取登录用户单位,负责人取登录用户,`rk_X号`只取部门扩展属性,工程专业和rk_T队专业取用户扩展属性;未配置时留空,不再取列表第一项 |
### 20.1 ç¡®è®¤å£å¾„
- éœ€æ±‚ 30 ç¼–号正确;新增故障里的“责任”就是“负责人”。
- éƒ¨é—¨æ‰©å±•属性“负责rk_T”就是 `rk_X号`,单选;新增故障的 `rk_X号` åªä»¥éƒ¨é—¨è®¾ç½®ä¸ºå‡†ï¼Œå³ä½¿ç”¨æˆ·ä¹Ÿè®¾ç½®äº†â€œè´Ÿè´£rk_T”也不参与该默认值。
- `rk_TD专业`就是现有页面里的“rk_T队专业”,后续暂统一沿用现有显示,字段为 `teamMajor`。
- å¤–部 `CSICZB_ZB.SYS_DEPT`、`CSICZB_ZB.SYS_USER` ç”±å…¶ä»–系统维护,扩展属性均存本地扩展表。
### 20.2 æŽ¥å£ä¸Žæ•°æ®è¡¨
- `LX.T_SYS_DEPT_EXT`:`DEPT_ID`、`RESPONSIBLE_X_NO`、审计字段。
- `LX.T_SYS_USER_EXT`:`USER_ID`、`ENGINEERING_MAJOR`、`TEAM_MAJOR`、`RESPONSIBLE_X_NO`、审计字段。
- `GET/PUT /api/system/depts/{deptId}/ext`:查询、保存部门扩展属性。
- `GET/PUT /api/system/users/{userId}/ext`:查询、保存用户扩展属性。
- `/api/auth/login`、`/api/auth/me`返回用户、部门和专业扩展信息,供新增故障默认值使用。
- æ–°å¢žæŒ‰é’®æƒé™ `system:organization:ext`、`system:users:ext`。
### 20.3 ä¸»è¦å˜æ›´æ–‡ä»¶
- `emergency-repair-server/src/main/java/com/emergencyrepair/auth/AuthController.java`
- `emergency-repair-server/src/main/java/com/emergencyrepair/bootstrap/DatabaseBootstrap.java`
- `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/ButtonPermissionCatalog.java`
- `emergency-repair-server/src/main/java/com/emergencyrepair/system/service/SystemService.java`
- `emergency-repair-web/src/views/Login.vue`
- `emergency-repair-web/src/views/fault/FaultReport.vue`
- `emergency-repair-web/src/views/system/OrganizationManage.vue`
- `emergency-repair-web/src/views/system/UserManage.vue`
- `requirement/改进20261003.txt`、`HANDOFF.md`(补充需求 28-30 å’Œäº¤æŽ¥è®°å½•)
### 20.4 éªŒè¯ç»“æžœ
- åŽç«¯ `mvn -B -DskipTests clean package` é€šè¿‡ï¼›å‰ç«¯ `npm run build` é€šè¿‡ï¼Œä»…有既有包体积告警。
- `node .codex-run/verify-req28-30.js` è¿”回 `pass: true`。
- éƒ¨é—¨ `sy区域` è®¾ç½® `rk_X号=201`;用户 `yszl` è®¾ç½®å·¥ç¨‹ä¸“业 `动力专业`、rk_T队专业 `液压专业`、负责 `202`。
- æ–°å¢žæ•…障默认值实测:上报单位 `sy区域`、负责人 `助理用户(演示)`、`rk_X号=201`、rk_T队专业 `液压专业`、工程专业 `动力专业`。
- ç”¨æˆ·ç®¡ç†é¡µé¢å®žæµ‹å±•开三列,表头顺序为工程专业、rk_T队专业、负责rk_T、状态、操作,最后操作列每行显示“编辑属性”。
- æˆªå›¾ï¼š`.codex-run/req28-org-ext.png`、`.codex-run/req29-user-ext.png`、`.codex-run/req30-fault-defaults.png`。
- éªŒè¯åŽå·²æ¸…空临时扩展属性,查询确认 `configured=false` ä¸”字段为空。
### 20.5 æŽ¥æ‰‹æ³¨æ„
- å½“前后端 PID `56124`,监听 `http://127.0.0.1:8091`;前端 PID `57312`,监听 `http://localhost:8082`;DM8 `127.0.0.1:5236`;Edge CDP `9222`。登录 `admin / admin123`。
- å¼€å‘环境敏感词会把 `rk_T` æ˜¾ç¤ºæˆâ€œæ¢¯â€ï¼Œæˆªå›¾ä¸­çš„“负责梯”对应代码/后端字段 `rk_T`。
- `.codex-run`、Office é”æ–‡ä»¶åŠ `emergency-repair-web/public/新建 æ–‡æœ¬æ–‡æ¡£.txt` ä»ä¸ºæœ¬åœ°ä¸´æ—¶æ–‡ä»¶ï¼Œä¸åº”提交。
- æœ¬è½®ä»£ç ã€éœ€æ±‚文件和交接记录一并提交并推送公司 Git ä»“库 `main` åˆ†æ”¯ã€‚