提交图
100 次代码提交
作者 SHA1 备注 提交日期
wangsli b089a65fa9 docs(P20T2-5): 差旅对公支付边界事件矩阵收口 2026-03-11 06:41:11 +08:00
wangsli 2553955f28 feat(P20T2-4): 差旅支付轨道卡片与发票绑定前端交互 2026-03-11 06:41:11 +08:00
wangsli dc74d9e53f feat(P20T2-1,P20T2-2,P20T2-3): 卡授权/交易/支付标记/发票绑定/ERP出站后端 2026-03-11 06:41:11 +08:00
wangsli 539c2cc4dd feat(P20T2-0): 差旅对公支付执行合同建档 2026-03-11 06:41:10 +08:00
wangsli e7c30ce5a6 docs(P20T1-5): 差旅边界事件矩阵与校验器收口 2026-03-10 19:58:46 +08:00
wangsli 6d13047dcb feat(P20T1-4): 差旅前端入口与审批移动端联动 2026-03-10 19:58:46 +08:00
wangsli 7b78945112 feat(P20T1-1,P20T1-2,P20T1-3): 差旅模型、申请/订单接口与工作流分支 2026-03-10 19:58:46 +08:00
wangsli 427ae2db53 feat(P20T1-0): 差旅申请受理执行合同建档 2026-03-10 19:58:46 +08:00
wangsli efe33b3add docs(P19AI1-4,P19AI1-5): 收口AI-1文档矩阵与执行合同 2026-03-10 14:20:59 +08:00
wangsli 67237badf1 feat(P19AI1-3): 前端AI智能建议卡片挂件注入报销/采购/资产详情 2026-03-10 14:20:59 +08:00
wangsli 6f534e9a3c feat(P19AI1-1,P19AI1-2): 实现AI建议引擎与权限门禁后端 2026-03-10 14:20:59 +08:00
wangsli fdf3c43244 docs(P19MCP1): 落地MCP只读工具链基准与校验脚本 2026-03-10 14:20:59 +08:00
wangsli f5f40f7673 docs(R10): 刷新后置流路线图并建档阶段 P19-P21 执行合同 2026-03-09 21:17:42 +08:00
wangsli 38543021b3 Merge branch 'feature/p19-erp-3-asset-ledger-summary' into main 2026-03-09 11:15:21 +08:00
wangsli 9bcd30965f docs/test(P19ERP3-5,P19ERP3-6): 收口资产ERP文档矩阵与回归脚本 2026-03-09 11:15:21 +08:00
wangsli 07fac7d2d2 feat(P19ERP3-3,P19ERP3-4): 新增资产ERP轨道接口与前端卡片挂件 2026-03-09 11:15:21 +08:00
wangsli 0168ebfe2e feat(P19ERP3-1,P19ERP3-2): 实现资产ERP摘要服务与建卡/流转出站联动 2026-03-09 11:15:21 +08:00
wangsli 7613d7d912 feat(P19ERP3-0): 资产ERP财务台账执行合同建档 2026-03-09 11:15:21 +08:00
wangsli 4a92045006 Merge branch 'feature/p19-erp-2-procurement-commitment-archive' into main 2026-03-08 23:58:25 +08:00
wangsli 7fccfc0a4c docs/test(P19ERP2-5,P19ERP2-6): 收口采购ERP文档矩阵与回归 2026-03-08 23:50:26 +08:00
wangsli 69c831d578 feat(P19ERP2-3,P19ERP2-4): 新增采购ERP轨道接口与详情挂件 2026-03-08 23:50:11 +08:00
wangsli 486660df06 feat(P19ERP2-1,P19ERP2-2): 实现采购ERP凭证与摘要出站服务 2026-03-08 23:50:02 +08:00
wangsli 8f4a50cdd7 docs(P19ERP2-0): 建档采购ERP出站执行合同 2026-03-08 22:47:41 +08:00
wangsli f407c01484 docs/test(P19ERP1-5,P19ERP1-6): 收口ERP文档矩阵与回归 2026-03-08 16:29:16 +08:00
wangsli 855bcdffeb feat(P19ERP1-3,P19ERP1-4): 实现ERP凭证导出与管理入口 2026-03-08 16:29:05 +08:00
wangsli a1b1d7cfc9 feat(P19ERP1-1,P19ERP1-2): 新增ERP主数据同步模型与服务 2026-03-08 16:28:56 +08:00
wangsli b45b8f2945 docs(P19ERP1-0): 建档ERP主数据与凭证桥接执行合同 2026-03-08 15:33:56 +08:00
wangsli cf6754819c docs/test(P19IM1-5,P19IM1-6): 收口IM协同文档矩阵与回归 2026-03-08 13:14:30 +08:00
wangsli faff86c947 feat(P19IM1-3,P19IM1-4): 接入业务事件与通知渠道后台 2026-03-08 13:14:22 +08:00
wangsli f6d9f23553 feat(P19IM1-1,P19IM1-2): 新增通知渠道配置与Outbox派发 2026-03-08 13:14:04 +08:00
wangsli 43a0af0803 docs(P19IM1-0): 建档IM协同适配执行合同 2026-03-08 12:18:36 +08:00
wangsli 12a6ee5267 docs/test(P19-5,P19-6): 收口P19矩阵文档与校验 2026-03-07 23:24:38 +08:00
wangsli c9b75f0757 docs(P19-1,P19-2,P19-3,P19-4): 冻结事件清单与集成边界 2026-03-07 23:23:34 +08:00
wangsli c69ea538df docs(P19-0): 建档集成准备执行合同 2026-03-07 23:22:20 +08:00
wangsli b165fae7bf docs/test(P18B-5,P18B-6): 收口资产盘点矩阵文档与回归 2026-03-07 23:21:00 +08:00
wangsli 94cb0fdf23 feat(P18B-3,P18B-4): 实现资产盘点页面与流转前端入口 2026-03-07 23:20:43 +08:00
wangsli 946a357f8b feat(P18B-1,P18B-2): 新增资产流转模型与受控接口 2026-03-07 23:20:34 +08:00
wangsli 1b2527eee0 docs(P18B-0): 建档资产流转盘点执行合同 2026-03-07 22:34:49 +08:00
wangsli 865acb63aa docs/test(P18A-5,P18A-6): 收口资产矩阵文档与回归 2026-03-07 22:33:17 +08:00
wangsli 447ffa66d2 feat(P18A-3,P18A-4): 实现资产台账接口与页面入口 2026-03-07 22:33:10 +08:00
wangsli 2a34e7832a feat(P18A-1,P18A-2): 新增资产模型权限与默认分类 2026-03-07 22:33:02 +08:00
wangsli 1701c67eef docs(P18A-0): 建档固资台账核心执行合同 2026-03-07 22:04:40 +08:00
wangsli 221cf08503 docs/test(P17B-5,P17B-6): 收口采购矩阵文档与回归 2026-03-07 22:01:19 +08:00
wangsli 408186644c feat(P17B-3,P17B-4): 增加采购归档前端与审批链路E2E 2026-03-07 22:01:06 +08:00
wangsli 033cfd6833 feat(P17B-1,P17B-2): 补齐采购预算闭环与归档模型接口 2026-03-07 22:00:50 +08:00
wangsli 019423776e docs(P17B-0): 建档采购预算闭环执行合同 2026-03-07 21:02:14 +08:00
wangsli 25aef578fc docs/test(P17A-5,P17A-6): 收口采购文档矩阵与回归 2026-03-07 20:59:49 +08:00
wangsli 7f1c3e842d feat(P17A-3,P17A-4): 实现采购申请接口附件与前端入口 2026-03-07 20:59:42 +08:00
wangsli 1cd4290b4d feat(P17A-1,P17A-2): 新增采购模型权限与系统种子 2026-03-07 20:59:28 +08:00
wangsli 9de1169d78 docs(P17A-0): 建档轻采购核心执行合同 2026-03-07 20:12:39 +08:00
wangsli 411a0395ab docs(R9-0,R9-3,G2-5,G2-6): 收口路线合同与状态矩阵 2026-03-07 19:00:12 +08:00
wangsli 0259aa45c3 feat(G2-4): 升级预算页为多作用域模式 2026-03-07 18:59:58 +08:00
wangsli 52558f22c3 feat(G2-1,G2-2,G2-3): 扩展预算编号与工作流跨域桥接 2026-03-07 18:59:44 +08:00
wangsli 09b6f4fbb0 feat(P16C-4,P16C-6): 完成供应商主数据前端与矩阵收口 2026-03-07 17:44:55 +08:00
wangsli aafa911ee7 feat(P16C-1,P16C-3): 完成供应商主数据后端与种子 2026-03-07 17:39:49 +08:00
wangsli 195f46a2e3 feat(G1,P16A,P16B): 收口主数据核心与节假日日历增强 2026-03-07 17:29:03 +08:00
wangsli 32a3d3724d docs(R6,R7,R8): 冻结P16-P18蓝图合同 2026-03-07 08:18:35 +08:00
wangsli 4ba311199d feat(P15B-1,P15B-6): 完成请假V1闭环 2026-03-07 08:11:24 +08:00
wangsli 03c5a78485 feat(P15A-1,P15A-5): 解耦请假审批权限 2026-03-07 07:15:33 +08:00
wangsli 637fd24d8e docs(P15A-0,P15B-0,R0): 修正P15合同并建档P15-P18路线图 2026-03-06 23:25:26 +08:00
wangsli d8fff0ba21 chore(P14-8): 完成运营化与验收收口 2026-03-06 23:24:16 +08:00
wangsli b50b084100 refactor(ui): [UI8] 补齐全局异常卡片边距并统一剩余下拉表单样式 2026-03-06 11:18:57 +08:00
wangsli 3883f14a48 refactor(ui): [UI8] 彻底移除遗留Card并补充下拉框中文化 2026-03-06 10:09:18 +08:00
wangsli 5a6a6f67c9 docs: 归档UI阶段7执行完毕的CSV合同与任务状态 2026-03-06 09:54:34 +08:00
wangsli fe55848f75 refactor(ui): 深度翻新仪表盘与边缘配置页的骨架与组件 2026-03-06 09:54:14 +08:00
wangsli 73b51ac068 fix(ui): [UI7-2] 统一全局 Design Tokens,移除冗余字体,修复异常色值引用 2026-03-06 09:48:37 +08:00
wangsli 62fd2a5398 refactor(ui): [UI7-1] 为其余配置与边缘页面应用新版空壳布局 2026-03-06 09:48:11 +08:00
wangsli c632648e16 refactor(ui): [UI7-1] 深度翻新报销、发票与用户管理等核心视窗 2026-03-06 09:48:11 +08:00
wangsli 61180e2b3b feat(ui): [UI7-1] 构建通用原子UI组件与业务Hooks 2026-03-06 09:48:11 +08:00
wangsli 9c48c8d3bc feat(ui): [UI7-1] 重构主布局AppShell与导航层 2026-03-06 09:48:11 +08:00
wangsli 94d9bbe0b1 chore(ui): [UI7-1] 更新依赖与Tailwind设计系统配置 2026-03-06 09:48:11 +08:00
wangsli 74854d507c style(css): 优化表头中文字体可读性并添加下拉框通用类 2026-03-05 18:38:56 +08:00
wangsli dc0feb60b2 refactor(ui): 提取表单原生组件公共样式并修复面板边距bug 2026-03-05 18:38:56 +08:00
wangsli 1412fead5d feat: 完成P13治理收尾并创建P14执行合同(Issue: P13-1,P13-2,P13-3,P13-4,P13-5,P13-6,P13-7,P13-8,P14-0) 2026-02-13 00:25:04 +08:00
wangsli 3b221a2202 feat(P11-P12): 落地治理开关与移动端MVP(G0-G6/H1/M1-M4)
- 新增 Feature Flag 模型、评估服务与管理 API(erp_sync/invoice_verification)\n- 完成 ERP 与验真灰度收口(路由/服务/作业统一判定)\n- 补齐 pay 与手动 sync 的 department_id 灰度上下文\n- 增加管理后台开关页、PWA 基础设施与移动拍照/审批页面\n- 增加回归脚本、安全基线与压测脚本,更新文档与执行合同\n\nIssue: G0,G1,G2,G3,G4,G5,G6,H1,M1,M2,M3,M4
2026-02-11 20:33:30 +08:00
wangsli 3813d1955e docs: 完成治理文档与执行合同收口(A1-A2,R1-R2,S1-S2,P9A1-P9D1) 2026-02-10 11:29:20 +08:00
wangsli 4e5a7793fe feat: 完成P6-P8前端能力闭环(V3,D2,D3,B3) 2026-02-10 11:28:51 +08:00
wangsli 6bc09f557b feat: 完成P6-P8后端能力与P9路由重构(V1-V2,D1,D3,B1-B2,B4,I1-I4,P9A2-P9A3) 2026-02-10 11:28:28 +08:00
wangsli bec21e1b38 feat: 完成P10生产硬化与矩阵收口(P10E1-P10G1) 2026-02-10 11:25:18 +08:00
wangsli 1b6e801b12 文档: 完成 architecture.md P5 现状更新,修正可观测性栈定位 2026-02-09 22:31:01 +08:00
wangsli 70f4d729f0 feat(server): 工作流扩展 leave 实体骨架(F24)
- workflow_instances 解耦 reimbursement FK:新增 reimbursement_id/leave_request_id + 回填迁移
- 新增 leave_requests 表与 /api/leave-requests 最小链路(create/submit)
- workflow approve/reject/return 支持 leave 状态更新;transfer 非报销任务禁用
- seed-config 增加 leave workflow definition;更新 v3 CSV 状态推进
2026-02-09 21:24:53 +08:00
wangsli 3cc3013d5a feat(server): OIDC 登录支持(F23)
- 引入 openid-client,新增 /api/auth/oidc/login + /api/auth/oidc/callback
- 通过 email 绑定既有员工账号,保留密码登录 fallback
- OIDC 状态存 cookie(HMAC) + PKCE + SameSite=lax 防 CSRF
- 更新 env/README 与 v3 CSV 状态推进
2026-02-09 21:01:36 +08:00
wangsli 1855a82011 feat(server): 敏感字段加密与脱敏(F25)
- 新增敏感字段加密服务(AES-256-GCM,FIELD_ENCRYPTION_KEY)
- users 详情返回银行卡/身份证脱敏字段;新增 /users/:id/sensitive 特权明文接口并写审计
- 权限新增 system.users_sensitive(hr/admin)
- 更新 env/README 与 v3 CSV 状态推进
2026-02-09 20:51:34 +08:00
wangsli c791e67b20 feat(server): MinIO/S3 对象存储兼容(F21)
- 新增 storage 抽象:local 与 s3: 前缀兼容(不改 schema)
- invoice-pool 上传/预览/ocr 读取适配 S3/MinIO
- trialrun compose 增加 minio profile + env 示例与 runbook 指引
- 更新 README 与 v3 CSV 状态推进
2026-02-09 20:42:53 +08:00
wangsli 6ecebf8ad6 feat(server): /metrics 可观测与日志上下文(F22)
- 新增 Prometheus 指标端点 /metrics(HTTP + DB + 作业统计)
- request.log 绑定 requestId/actorId,避免日志难追踪
- cron/pg-boss 作业增加 metrics 计数(runs/processed)
- 更新 env/runbook/README 与 v3 CSV 状态推进
2026-02-09 20:30:41 +08:00
wangsli 55924c8ff8 feat: Worker 进程拆分(F20)
- 新增 worker 进程入口(npm run worker)只跑作业不监听端口
- trialrun compose 增加 worker profile(server 可 JOBS_ENABLED=false)
- 更新 runbook/.env.example/README 说明与 v3 CSV 状态推进
2026-02-09 20:22:33 +08:00
wangsli dff1aabc26 feat(server): 完成 F19~F19d pg-boss 作业系统迁移\n\n- 引入 pg-boss(JOB_DRIVER=pgboss)并保留 cron 回滚\n- OCR/委派回收/超期归档改由 pg-boss schedule + work 执行\n- OCR_PROVIDER=off 自动 unschedule ocr.tick\n- 更新 trialrun env/compose/runbook 与 README,并推进 CSV 状态为 DONE 2026-02-09 20:05:01 +08:00
wangsli f233a0d5bc feat: 完成 F17 报表导出(CSV/XLSX)\n\n- 后端新增 /api/exports/* 导出接口(含权限与审计记录)\n- CSV 采用流式生成,XLSX 使用 exceljs\n- 前端在报销/票据/审计页加入导出入口(下载 Blob)\n- 更新 P5 蓝图 v3 中 F17 状态为 DONE 2026-02-09 19:35:51 +08:00
wangsli 2c58061ec7 feat: 完成 F18 审批规则维护(API+前端)\n\n- 新增 /api/approval-rules 管理接口(system.settings)并写审计\n- 前端新增审批规则页与菜单入口(system.settings)\n- 更新 P5 蓝图 v3 中 F18 状态为 DONE 2026-02-09 19:20:53 +08:00
wangsli 38b66b01a6 feat(server): 完成 F15 邮件通知(SMTP/Nodemailer)\n\n- 新增 email 服务(EMAIL_ENABLED + SMTP_* 配置)\n- 待办/审批/付款/密码重置触发可选邮件,失败降级不阻塞\n- 更新 server/README 邮件配置说明,并推进 CSV 状态为 DONE 2026-02-09 19:07:32 +08:00
wangsli c9ac18e2e2 feat(client): 完成 F34 票据中心增强\n\n- 补齐人工修正/手工归档/解绑/重试 OCR/判重例外等入口\n- 补充 data-testid 并与后端错误码映射保持一致\n- 更新 P5 蓝图 v3 中 F34 状态为 DONE 2026-02-09 18:55:46 +08:00
wangsli 00f23678ea chore(issues): 更新P5蓝图v3状态(F33)
- F33 标记 DONE(行政代提交/代上传入口验证通过)
2026-02-09 18:32:50 +08:00
wangsli b341e2fa63 feat(client): 行政代提交/代上传 owner 选择入口(F33)
- 报销创建支持选择 ownerEmployeeId(delegation-grants received)
- 票据上传支持 owner_employee_id(delegation-grants received)
- 保持普通员工流程不变,权限不足由后端阻断
2026-02-09 18:32:38 +08:00
wangsli 504ff02dd5 chore(issues): 更新P5蓝图v3状态(F32)
- F32 标记 DONE(部门管理与员工创建增强验证通过)
2026-02-09 18:24:25 +08:00
wangsli efa4a3d3f6 feat(client): 部门管理与员工创建增强(F32)
- 新增部门管理页:列表/创建/归档
- 用户创建支持选择部门与直属上级
- 补齐 departments/employees API 封装与导航入口
2026-02-09 18:24:07 +08:00
wangsli 1a5d3b1d52 chore(issues): 更新P5蓝图v3状态(F35,F38)
- F35/F38 标记 DONE(错误文案与改密守卫联动验证通过)
2026-02-09 18:16:32 +08:00
wangsli 2566289d37 feat(client): 首次登录改密守卫与错误文案(F35,F38)
- 登录响应支持 mustChangePassword 并强制跳转改密页
- 新增改密页面与全局路由守卫
- 完善 AUTH_002/SYS_429/VALID_00x 等错误提示
2026-02-09 18:16:22 +08:00
wangsli 7d50a85412 chore(issues): 更新P5蓝图v3状态(F16)
- F16 标记 DONE(通知中心与未读角标联动验证通过)
2026-02-09 18:01:39 +08:00
wangsli 273caf10a9 feat(client): 通知中心与未读角标(F16)
- Topbar 增加通知铃铛与未读数
- 新增 /notifications 列表页,支持筛选与标记已读
- 为 workflow/reimbursement/auth 通知提供跳转入口
2026-02-09 18:01:27 +08:00
wangsli 589a248cc3 chore(issues): 更新P5蓝图v3状态(F6)
- F6 标记 DONE(报销明细编辑器联动验证通过)
2026-02-09 17:55:24 +08:00