Cheng Zhou
|
360a2ba2b1
|
添加前端设计技能配置
|
2026-06-17 17:26:22 +08:00 |
|
Cheng Zhou
|
e507ab98cb
|
增强开发部署构建配置
|
2026-06-17 17:23:13 +08:00 |
|
Cheng Zhou
|
9b2b8e90f6
|
压缩项目总览展示密度
|
2026-06-17 17:22:53 +08:00 |
|
Cheng Zhou
|
53249daf8d
|
优化顶栏导航与登录请求体验
|
2026-06-17 17:22:22 +08:00 |
|
Cheng Zhou
|
061792c73f
|
完善权限监控与安全中心
|
2026-06-17 17:21:48 +08:00 |
|
Cheng Zhou
|
1886765db8
|
拆分系统监测模块并统一运维化文案
|
2026-06-11 11:06:59 +08:00 |
|
Cheng Zhou
|
b7484c8e01
|
优化个人中心与界面交互
|
2026-06-11 09:09:17 +08:00 |
|
Cheng Zhou
|
84e55af8fe
|
优化后台界面与无操作退出体验
|
2026-06-10 15:20:06 +08:00 |
|
Cheng Zhou
|
ea3f19e241
|
完善审计日志展示与导出权限
|
2026-06-10 10:20:04 +08:00 |
|
Cheng Zhou
|
1fef12cd86
|
fix(faq): persist active defaults for medical consults
|
2026-06-09 09:01:34 +08:00 |
|
Cheng Zhou
|
d472b8410e
|
fix(faq): repair category schema and icons
|
2026-06-08 13:38:09 +08:00 |
|
Cheng Zhou
|
30e2398400
|
fix(router): check system permissions against target project
|
2026-06-08 11:08:23 +08:00 |
|
Cheng Zhou
|
8cd8c38900
|
feat(ia): polish project operation workspaces
|
2026-06-08 11:06:07 +08:00 |
|
Cheng Zhou
|
834b4f1d48
|
feat(documents): refresh detail pages and attachment cards
|
2026-06-08 11:03:34 +08:00 |
|
Cheng Zhou
|
a3f6a04f35
|
feat(subjects): add visit drawer and editable screening dates
|
2026-06-08 11:01:32 +08:00 |
|
Cheng Zhou
|
e5ed18c3cd
|
feat(faq): refine category icons and project faq flows
|
2026-06-08 10:59:32 +08:00 |
|
Cheng Zhou
|
f6e5a4c744
|
feat: enable dev frontend hot reload
|
2026-06-04 16:57:24 +08:00 |
|
Cheng Zhou
|
e78bb04c4b
|
修正项目访问与角色排序体验
- 登录成功后按用户恢复上次项目,管理员优先选择启用项目\n- 项目详情路由增加 setup_config:read 权限校验,未授权时回到可访问页面\n- 项目管理操作按当前项目行角色读取权限,避免误用首个角色权限\n- 角色模板排序中固定 PM 优先,保持角色列表、生效管理和权限编辑器顺序一致\n- 补充登录、路由、项目管理和角色排序相关测试
|
2026-06-04 16:31:56 +08:00 |
|
Cheng Zhou
|
0b3a4d4d31
|
规范审计日志目标名称展示
- 药品运输审计日志写入运单号、批号或中心名称作为可读目标名\n- FAQ 分类审计日志写入分类名称,删除时提前保留展示名称\n- 前端审计归一化隐藏 UUID-only 目标名,并清理旧文本中的 UUID 标识\n- 新增审计归一化测试覆盖 FAQ 分类和药品运输记录
|
2026-06-04 16:30:54 +08:00 |
|
Cheng Zhou
|
4ea0e88c98
|
优化中心联系人展示名称解析
- 新增中心联系人展示名解析服务,支持从逗号分隔用户 ID 解析姓名\n- 中心列表接口返回 contact_display,避免前端依赖项目成员权限才能展示联系人姓名\n- 中心管理和立项会议授权页面优先使用后端联系人展示名\n- 补充联系人解析服务测试和立项会议授权页面展示顺序测试
|
2026-06-04 16:30:17 +08:00 |
|
Cheng Zhou
|
d6452e3f9d
|
完善项目权限前置依赖保存校验
- 以接口权限定义中的 prerequisite_permissions 作为前置依赖单一事实源,生成运行时前置权限映射\n- 保存项目角色权限前预检缺失前置权限与受影响下游权限,未确认时返回 409 调整详情\n- 确认保存时自动合并补齐前置权限与取消下游权限,并提供有效权限矩阵读取接口\n- 前端角色权限编辑改为保存时执行依赖校验,弹窗展示需补充前置权限和受影响下游权限\n- 新增编辑权限取消按钮,清理权限选择即时确认弹窗残留\n- 补充后端接口测试、前端权限编辑测试与优化设计文档
|
2026-06-04 16:29:44 +08:00 |
|
Cheng Zhou
|
02f2c6660b
|
补充权限与物资实现计划
1、记录项目权限一致性实施计划,明确前后端权限矩阵以接口权限为准。
2、列出快捷入口、参与者操作、路由权限和权限契约测试的实施任务。
3、记录物资设备详情页实施计划,覆盖路由、详情页和列表导航入口。
4、保留验证步骤与约束说明,便于后续按计划复查实现范围。
|
2026-06-04 11:13:28 +08:00 |
|
Cheng Zhou
|
41968384b5
|
完善后台管理与测试支撑
1、为后台用户列表增加关键词和状态筛选,后端同步支持过滤与总数统计。
2、创建用户时要求填写初始密码,并补充前端校验和自动填充隔离。
3、优化项目管理列表角色展示、项目详情抽屉脏数据保护和审计详情抽屉关闭体验。
4、清理旧费用附件关联、统一测试模型注册,并更新迁移端点和注册筛选测试。
|
2026-06-04 11:12:40 +08:00 |
|
Cheng Zhou
|
90ca061db8
|
优化文档管理与导航体验
1、为文档增加编辑接口和前端编辑抽屉,文档列表与详情页统一按创建、更新、删除权限展示操作。
2、将文档版本上传和分发改为抽屉交互,并在详情页补充版本删除权限检查。
3、增强全局面包屑上下文和详情页标题同步,避免详情页重复或缺失导航信息。
4、按项目权限过滤快捷入口、首页费用指标和 eTMF 新建入口,并补充对应前端测试。
|
2026-06-04 11:11:28 +08:00 |
|
Cheng Zhou
|
6e8494abd5
|
统一业务页面权限与抽屉编辑
1、将 FAQ 分类和问题维护改为抽屉交互,并按分类、问题、回复的细粒度权限控制入口。
2、将注意事项、可行性和伦理记录接入详情页抽屉编辑,创建时支持先保存主记录再上传附件。
3、将参与者基础信息编辑改为抽屉,详情页按可读权限显示病史、访视、AE 和 PD 标签页。
4、补充业务页面权限一致性测试,覆盖停用中心、无权限入口和面包屑上下文。
|
2026-06-04 11:10:20 +08:00 |
|
Cheng Zhou
|
6a2e43f829
|
抽屉化物资与启动授权流程
1、将药物发货新建和编辑从独立页面迁移到抽屉,详情页支持权限控制和停用中心只读状态。
2、补充药物发货状态字段校验,统一 PENDING、IN_TRANSIT、SIGNED、EXCEPTION 状态及演示数据。
3、为物资设备增加详情页和编辑抽屉,复用通用附件上传并按项目权限控制操作入口。
4、将启动会和培训授权编辑迁移到抽屉,详情页按中心过滤培训记录并移除旧独立编辑路由。
|
2026-06-04 11:08:43 +08:00 |
|
Cheng Zhou
|
720c98765f
|
迁移合同费用通用附件
1、删除旧费用附件 API、CRUD、模型和专用前端面板,统一改用通用附件能力。
2、调整合同费用接口为 study_id 语义,并补充合同、凭证、发票等附件类型的权限映射。
3、将合同费用新建和编辑改为抽屉流程,详情页与列表页复用同一编辑组件。
4、补充数据库迁移、附件列表、合同费用抽屉和权限场景测试,覆盖旧权限移除与新流程。
|
2026-06-04 11:07:13 +08:00 |
|
Cheng Zhou
|
ab4f0d93ed
|
统一项目权限读取模型
1、合并列表与详情读取权限,统一使用 subjects:read、project_members:read、monitoring_issues:read 等业务读取 key。
2、增加历史读取权限 key 的兼容映射,确保存量项目权限覆盖值不会丢失。
3、同步前端权限工具、路由权限与权限管理页面,避免继续引用已合并的旧权限 key。
4、补充项目角色启停保护与抽屉未保存变更守卫,防止停用 PM 或仍有关联成员的角色。
|
2026-06-04 11:06:03 +08:00 |
|
Cheng Zhou
|
44d69c2d7b
|
清理全局角色残留并修复项目权限判断
|
2026-05-29 10:20:42 +08:00 |
|
Cheng Zhou
|
63457aab11
|
支持开发环境局域网登录测试
|
2026-05-29 09:39:18 +08:00 |
|
Cheng Zhou
|
c9b677e96a
|
收紧分支环境安装流程
|
2026-05-28 10:57:49 +08:00 |
|
Cheng Zhou
|
8611bd66f8
|
补齐业务路由与页面权限控制
|
2026-05-28 10:56:28 +08:00 |
|
Cheng Zhou
|
fa961f1391
|
新增电子试验主文件目录与文件归档
|
2026-05-28 10:54:47 +08:00 |
|
Cheng Zhou
|
31fcb7e6f2
|
按业务模块拆分附件权限
|
2026-05-28 10:53:00 +08:00 |
|
Cheng Zhou
|
d2b41ae454
|
将知识库笔记迁移为注意事项
|
2026-05-28 10:52:05 +08:00 |
|
Cheng Zhou
|
8da7fc715c
|
整合合同费用并移除旧财务合同
|
2026-05-28 10:49:08 +08:00 |
|
Cheng Zhou
|
2c85742040
|
统一项目角色与接口权限配置
|
2026-05-28 10:48:33 +08:00 |
|
Cheng Zhou
|
6d1c98bcae
|
合并相同属地的IP统计
|
2026-05-26 15:19:19 +08:00 |
|
Cheng Zhou
|
c909fc9387
|
优化前后端权限一致性
|
2026-05-26 14:53:17 +08:00 |
|
Cheng Zhou
|
41bd423be0
|
统一项目角色展示与预设文案
|
2026-05-26 14:46:01 +08:00 |
|
Cheng Zhou
|
3c168565ce
|
移除QA预设角色并收紧角色模板编辑
|
2026-05-26 11:32:14 +08:00 |
|
Cheng Zhou
|
6c2f61eebd
|
chore: clean legacy setup artifacts
|
2026-05-25 14:35:24 +08:00 |
|
Cheng Zhou
|
934d114a29
|
feat(perm/frontend): PM 视角的权限管理界面与个人有效权限接入
- store/study 与 router 改为读取 /api-permissions/me 拉取当前用户在
当前项目的有效权限,菜单与路由守卫据此判定,并在 PM 项目缺省时
主动 ensureDefaultPmStudy。
- api/projectPermissions 暴露 fetchMyApiEndpointPermissions,并允许
调用方关闭统一错误提示,便于在批量项目权限拉取场景下静默失败。
- 项目管理:Projects 页根据每个项目的有效权限决定项目入口的可点击
状态,缺权限时禁用项目名跳转;ProjectDetail 据 setup_config 写权限
渲染保存/回填/清空/发布按钮,并在无读取权限时提示并退出页面。
- 权限管理:PermissionManagement 切换为按角色提交,Admin 视角才能
编辑 PM 行;按系统模块美化系统级权限展示并标注 PM 可访问项;项目
成员表的角色下拉受 PM 等级约束,自定义角色入口下线。
- 监控:PermissionMonitoring/PermissionAccessLogs 增加 isAdmin 与
showSecurityLog 入参,仅 ADMIN 才能看到底层安全日志与统计。
- ApiEndpointPermissions 表格根据当前用户角色禁用不可写行,避免
误操作 PM 行;MODULE_LABELS 增加 setup_config 的中文展示。
- 测试同步覆盖以上行为:新版 router/Layout/Projects/PermissionManagement
/PermissionAccessLogs/PermissionMonitoring/PermissionIpLocations 等
组件均补足检测,并按需为相关组件提供 pinia + localStorage stub。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-05-25 12:38:54 +08:00 |
|
Cheng Zhou
|
747dd55225
|
feat(perm): 项目 PM 共管接口权限与监控并细化 PM 写权限边界
- deps 新增 list_active_pm_study_ids、is_active_project_pm 与
require_admin_or_any_project_pm 依赖,用于把 PM 项目范围带进鉴权与
监控。get_cra_site_scope 内部延后导入 site CRUD,避免循环依赖。
- system_permissions API 改用 PM/ADMIN 双角色入口,permissions/monitoring
系统级权限新增 PM 配额,并细化访问日志、告警、监控指标的可见范围。
- members API 调整:项目 PM 仅可管理低于 PM 的项目角色,禁止互相
改写或授予 PM。
- api_permissions API 增加 GET /api-permissions/me,返回当前用户在该
项目的有效权限矩阵;保存权限矩阵时校验 PM 行为不被篡改。
- core/api_permissions:新增立项配置接口键、PM 默认拥有的监控/权限
系统级条目,并在权限元信息中标注 PM 共享角色。
- core/project_permissions:role_has_api_permission 命中默认角色矩阵;
replace_api_endpoint_permissions 改为部分更新且永不持久化 ADMIN/PM。
- studies setup-config 各端点改用接口级权限装饰器,与新的 setup_config
权限键对齐。permission_monitor 新增 get_metrics 摘要供 PM 视图调用。
- 测试:新增 test_admin_pm_permissions 覆盖 PM 系统级权限、监控范围和
成员管理边界;conftest 兼容 SA_UUID 列;权限相关用例同步移除已失效
的 module_permission 链路。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-05-25 12:38:07 +08:00 |
|
Cheng Zhou
|
dd2973c429
|
test(register): 校验注册请求不再接收角色字段
- test_registration 改用全模型 metadata 创建表并注入自定义 GUID 类型,
以便 StudyMember 等关联表在 SQLite 测试库中正常工作。
- 注册请求负载移除 role 字段,新增断言验证用户默认角色为 PV 且不再
生成 study_members 关联;新增 schema 级用例确认 role 不在
UserRegisterRequest 模型字段中。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-05-25 12:37:26 +08:00 |
|
Cheng Zhou
|
a2add43fa5
|
feat(subject): 参与者状态依赖筛选日期并支持后续编辑
- 未填写筛选日期的参与者不再默认进入 SCREENING,状态显示为占位符。
- SubjectUpdate 不再开放 status 入参,改由后端依据日期推导,并新增
screening_date 字段允许 PM/CRA 后续补录筛选日期。
- 参与者管理页与详情页同步:详情页支持编辑筛选日期,列表页与详情页
在没有筛选日期时显示占位符而非旧 enum 值。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-05-25 12:36:33 +08:00 |
|
Cheng Zhou
|
f40e979c53
|
refactor(db): 抽出 GUID 类型并兼容 SQLite 的 JSONB 字段
- base_class.py 内置 GUID(TypeDecorator),PostgreSQL 走原生 UUID,
SQLite 走 CHAR(36),UUID 在绑定/读取时统一转换。
- study_setup_config 与 study_setup_config_version 改用 JSONB().with_variant
以便测试库使用 JSON 字段,生产仍保留 JSONB。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-05-25 12:36:02 +08:00 |
|
Cheng Zhou
|
ffcf217142
|
chore: 移除已生成的角色 UAT 文档并加入忽略规则
将 docs/guides/role-uat 与 output/doc/role-uat 加入 .gitignore,
避免重复提交由脚本生成的角色 UAT 测试手册和导出文档。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-05-25 12:35:39 +08:00 |
|
Cheng Zhou
|
fce671d7e0
|
docs: add role UAT test manuals
|
2026-05-21 17:25:25 +08:00 |
|
Cheng Zhou
|
78247a8149
|
Remove non-admin workbench
|
2026-05-21 15:48:19 +08:00 |
|