视觉依据:Web P01/P02/P09及Fresh Mint色值,移动品牌绿#0a9f6d。Figma已核查可编辑文本/框架/组件实例,未用整页图片代替;检查截图并修正横向容器高度,字体为Inter及Noto Sans SC中文回退,业务实现继续沿用系统字体栈。此为原型视觉检查,不代表业务功能验收。
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
目标与已确认边界
按项目组、项目统计细胞存储、科研捐赠、中试服务、基础实验。用户于本会话确认继续第一期方案。
项目组包含名称、负责人、成员、区域、医院、启停状态。区域医院仅为信息记录,不影响存储/捐赠业务选择、默认值、校验或权限。沿用现有业务权限和流程。
第一期范围
不包括项目预算、绩效分成、金额分摊、移动项目管理入口及服务启停。
设计建议(原型确认前不实施)
订单只保存project_id,项目归属一个组。普通成员选参与组的启用项目,代录权限单独校验;项目组身份不扩大业务查看权限。
项目产生业务后不直接换组。人员调组不搬动历史订单。已停用项目可回显,已有单据编辑无关字段时保留归属。历史数据可为空,新增必填在各入口同步后启用。
细胞存储覆盖预签约→协议;存储/捐赠互转继承归属。中试和基础实验在申请单关联,基础实验课题名称独立保留。关联链路的归属纠正统一审计,具体联动范围在实现规格明确。
统计正式存储协议、捐赠主单、中试申请、基础实验申请,预签约另列;展示按创建日期筛选的当前状态分布,不提供历史状态快照或跨业务去重总数。
验收条件
当前阶段
基线V2.0=e9df9d65,工作区干净且远端同步。Agent测试。
已创建Figma原型文件,待制作与用户确认:https://www.figma.com/design/wOQLDAhr1gdlQEXnVaFO9S
视觉依据:Web Fresh Mint,system/unit列表、protocol/ProtocolFormDialog表单;移动沿用market现有表单与移动规范。
第一期可编辑 Figma 原型 v1 已准备,共 12 个页面/状态画板,待用户确认后进入 OpenSpec 规格与实现。
视觉依据:Web P01/P02/P09及Fresh Mint色值,移动品牌绿#0a9f6d。Figma已核查可编辑文本/框架/组件实例,未用整页图片代替;检查截图并修正横向容器高度,字体为Inter及Noto Sans SC中文回退,业务实现继续沿用系统字体栈。此为原型视觉检查,不代表业务功能验收。
原型明确区域医院仅资料记录,订单项目归属不改变原有业务区域医院;普通成员无自动扩大数据权限。关联链路归属变更候选方案为预览受影响单据并统一更正,全部引用须有权操作后才提交;待原型确认后细化规范。
当前分支codex/issue-13-project-statistics;基线e9df9d65e1524df3f58a82b9ef2eb212bcdd762f;worktree=/Users/wuzilong/.codex/worktrees/issue-13-project-statistics/zkxw。业务代码尚未修改;未执行业务测试或构建,未启停任何服务。原V2.0工作区保持干净。本阶段等待原型确认,不把超时作为用户批准。
用户已在当前会话明确选择“采用原型 v1,继续开发”,并补充“样式要参考其他界面的样式进行开发”。实施以现有同端组件和规范为样式依据,Figma确认布局与交互;不另造主题。开始OpenSpec规格与实现,默认Agent测试。
已按用户授权将服务切到任务 worktree,提交 0bddf38e52c97ee67c5e1134a6b5ba2c5911846c,分支 codex/issue-13-project-statistics。
真实 HTTP/MySQL 62 项断言通过;迁移首次新增、旧版兼容修正及重复执行通过。浏览器验证项目组和项目创建、Web与移动订单项目保存/回显、统计钻取、归属预览调整与审计;移动浏览器 375/414 尺寸验证通过。修复权限按钮不展示、明细弹窗筛选样式丢失、MySQL排序规则不兼容;定向测试与Web生产构建通过,独立审查无P1/P2。
用户于2026-11-02回复无真机调试环境,先保留任务版本供后续验收。微信真机WebView联动、集成候选验证、合并及环境恢复未完成。PR #14保持草稿、工单#13开放,不合并V2.0。任务服务、隔离库、worktree和environment资源保留。后续恢复需取得真机证据后再继续集成;不要连接原业务数据库自动迁移。
后续菜单调整已完成:用户要求新增“项目”大菜单,与市场、生产、质检平级,四项为项目组管理、项目管理、业务统计、历史归属维护。前后端菜单树、旧地址重定向和增量SQL已同步。两个合成租户重复迁移通过,保留叶子ID与角色授权,仅补新祖先,不影响移动根或市场-only角色。后端17项、Web5项测试、定向ESLint、Web构建通过,浏览器确认导航层级与旧地址跳转,独立审查无P1/P2。最新菜单截图 project-top-menu-qa.jpg。
列表样式反馈已处理:四个主列表及业务明细、关联预览、归属审计均补序号,分页按页码连续编号;业务统计、历史归属维护和明细弹窗检索按钮按全局样式右对齐。浏览器逐页/弹窗核验、Web5项测试、定向ESLint、生产构建和独立审查通过。截图 project-lists-polish-qa.jpg;真机待验收状态不变。
所属项目权限已独立:默认仅本人作为项目组负责人/有效成员所在组(多组并集);跨组需 project:project:all,角色配置入口为“项目 → 全部项目”,不自动授予现有角色。归属维护权限、普通管理员和单独项目负责人不能越过组范围;super_admin沿用系统全权限语义但限认证租户。后端同时限制候选、历史筛选及写入,原业务数据权限/历史回显/转换继承保留。为防止自行授予all,同步严格校验系统用户/角色/职位/菜单变更及质检金额专用角色授权的权限、目标租户和关联ID;角色菜单保存补齐祖先且拒绝断链/循环。升级需执行2026-11-02-project_all_permission.sql,并核对配置人员原有system:*:list权限。
追加验证:121项相关自动测试通过(含先失败后修复的越权回归);隔离MySQL/HTTP41项检查通过,3租户重复权限种子不自动授权,5类主单及移动创建越权拒绝,同会话授权/撤权生效,8条自行授权入口被拒绝。浏览器确认单独勾选全部项目并自动补祖先,截图project-all-permission-qa.jpg;最终测试成员恢复为组内范围。独立复审无P1/P2。字段一致性仍5项既有警告。本轮无前端源码变更,不重复构建;微信真机、集成验证及合并继续待办。