feat(admin): Add user management and upgrade to module permission system
Features - User Management (Phase 4.1): - Database: Add user_modules table for fine-grained module permissions - Database: Add 4 user permissions (view/create/edit/delete) to role_permissions - Backend: UserService (780 lines) - CRUD with tenant isolation - Backend: UserController + UserRoutes (648 lines) - 13 API endpoints - Backend: Batch import users from Excel - Frontend: UserListPage (412 lines) - list/filter/search/pagination - Frontend: UserFormPage (341 lines) - create/edit with module config - Frontend: UserDetailPage (393 lines) - details/tenant/module management - Frontend: 3 modal components (592 lines) - import/assign/configure - API: GET/POST/PUT/DELETE /api/admin/users/* endpoints Architecture Upgrade - Module Permission System: - Backend: Add getUserModules() method in auth.service - Backend: Login API returns modules array in user object - Frontend: AuthContext adds hasModule() method - Frontend: Navigation filters modules based on user.modules - Frontend: RouteGuard checks requiredModule instead of requiredVersion - Frontend: Remove deprecated version-based permission system - UX: Only show accessible modules in navigation (clean UI) - UX: Smart redirect after login (avoid 403 for regular users) Fixes: - Fix UTF-8 encoding corruption in ~100 docs files - Fix pageSize type conversion in userService (String to Number) - Fix authUser undefined error in TopNavigation - Fix login redirect logic with role-based access check - Update Git commit guidelines v1.2 with UTF-8 safety rules Database Changes: - CREATE TABLE user_modules (user_id, tenant_id, module_code, is_enabled) - ADD UNIQUE CONSTRAINT (user_id, tenant_id, module_code) - INSERT 4 permissions + role assignments - UPDATE PUBLIC tenant with 8 module subscriptions Technical: - Backend: 5 new files (~2400 lines) - Frontend: 10 new files (~2500 lines) - Docs: 1 development record + 2 status updates + 1 guideline update - Total: ~4900 lines of code Status: User management 100% complete, module permission system operational
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
# Tool B 瘚讛<EFBFBD><EFBFBD>冽<EFBFBD>霂閗恣<EFBFBD>?
|
||||
# Tool B 浏览器测试计划
|
||||
|
||||
**日期**: 2025-12-03
|
||||
**瘚贝<EFBFBD>鈭箏<EFBFBD>**: 撘<EFBFBD><EFBFBD>穃𣪧<EFBFBD>?
|
||||
**测试人员**: 开发团队
|
||||
**测试范围**: Tool B(病历结构化机器人)完整流程
|
||||
**测试环境**:
|
||||
- 前端: http://localhost:5173
|
||||
@@ -11,132 +11,132 @@
|
||||
|
||||
## 📋 测试清单
|
||||
|
||||
### 銝<EFBFBD><EFBFBD><EFBFBD><EFBFBD>蝵格辺隞?
|
||||
- [ ] <EFBFBD>滨垢<EFBFBD>滚𦛚撌脣鍳<EFBFBD>剁<EFBFBD>`npm run dev` in frontend-v2嚗?
|
||||
- [ ] <EFBFBD>𡒊垢<EFBFBD>滚𦛚撌脣鍳<EFBFBD>剁<EFBFBD>`npm run dev` in backend嚗?
|
||||
- [ ] <EFBFBD>唳旿摨枏歇<EFBFBD>臬𢆡嚗㇊ostgreSQL嚗?
|
||||
- [ ] 瘚讛<EFBFBD><EFBFBD>典歇<EFBFBD>枏<EFBFBD>嚗<EFBFBD>綫<EFBFBD>𤦊hrome/Edge嚗?
|
||||
### 一、前置条件
|
||||
- [ ] 前端服务已启动(`npm run dev` in frontend-v2)
|
||||
- [ ] 后端服务已启动(`npm run dev` in backend)
|
||||
- [ ] 数据库已启动(PostgreSQL)
|
||||
- [ ] 浏览器已打开(推荐Chrome/Edge)
|
||||
|
||||
---
|
||||
|
||||
### 鈭䎚<EFBFBD><EFBFBD>tep 1嚗𡁏<EFBFBD>隞嗡<EFBFBD>隡牐<EFBFBD><EFBFBD>亙熒璉<EFBFBD><EFBFBD>?
|
||||
### 二、Step 1:文件上传与健康检查
|
||||
|
||||
#### 瘚贝<EFBFBD><EFBFBD>?.1嚗𡁻△<EFBFBD>Z挪<EFBFBD>?
|
||||
#### 测试点1.1:页面访问
|
||||
- [ ] 访问 `http://localhost:5173/data-cleaning/tool-b`
|
||||
- [ ] 憿菟𢒰<EFBFBD>賣迤撣詨<EFBFBD>頧?
|
||||
- [ ] 页面能正常加载
|
||||
- [ ] 顶部显示"病历结构化机器人"
|
||||
- [ ] 甇仿炊<EFBFBD><EFBFBD>內<EFBFBD>冽遬蝷?1. <20>匧<EFBFBD>銝𦒘<E98A9D>璉<EFBFBD>"擃䀝漁
|
||||
- [ ] <EFBFBD>峕芋<EFBFBD>𧢲<EFBFBD>霂<EFBFBD>遬蝷綽<EFBFBD>DeepSeek-V3 & Qwen-Max嚗?
|
||||
- [ ] 步骤指示器显示"1. 选列与体检"高亮
|
||||
- [ ] 双模型标识显示(DeepSeek-V3 & Qwen-Max)
|
||||
|
||||
#### 瘚贝<EFBFBD><EFBFBD>?.2嚗𡁏<EFBFBD>隞嗡<EFBFBD>隡?
|
||||
- [ ] <EFBFBD>见<EFBFBD><EFBFBD>𡁶瑪颲寞<EFBFBD><EFBFBD><EFBFBD><EFBFBD>隡惩躹<EFBFBD>?
|
||||
- [ ] <EFBFBD>孵稬<EFBFBD>質圻<EFBFBD>烐<EFBFBD>隞園<EFBFBD>㗇𥋘撖寡<EFBFBD>獢?
|
||||
#### 测试点1.2:文件上传
|
||||
- [ ] 看到虚线边框的上传区域
|
||||
- [ ] 点击能触发文件选择对话框
|
||||
- [ ] 选择Excel文件后能显示文件信息
|
||||
- <EFBFBD><EFBFBD>辣<EFBFBD>齿遬蝷箸迤蝖?
|
||||
- 文件名显示正确
|
||||
- 文件大小显示
|
||||
- 行数显示
|
||||
- [ ] "更换文件"按钮可用
|
||||
|
||||
#### 瘚贝<EFBFBD><EFBFBD>?.3嚗𡁜<EFBFBD><EFBFBD>㗇𥋘
|
||||
- [ ] 銝𧢲<EFBFBD>獢<EFBFBD>遬蝷?銝芷<E98A9D>厰★嚗?
|
||||
#### 测试点1.3:列选择
|
||||
- [ ] 下拉框显示3个选项:
|
||||
- 出院小结 (Summary_Text)
|
||||
- 病理报告 (Pathology)
|
||||
- <EFBFBD>躰秤蝷箄<EFBFBD>嚗𡁶<EFBFBD>鈭截D<EFBFBD>?
|
||||
- [ ] <EFBFBD>㗇𥋘<EFBFBD>堒<EFBFBD>閫血<EFBFBD><EFBFBD>亙熒璉<EFBFBD><EFBFBD>?
|
||||
- 错误示范:病人ID列
|
||||
- [ ] 选择列后触发健康检查
|
||||
|
||||
#### 瘚贝<EFBFBD><EFBFBD>?.4嚗𡁜<EFBFBD>摨瑟<EFBFBD><EFBFBD>?
|
||||
#### 测试点1.4:健康检查
|
||||
- [ ] 选择"病理报告"
|
||||
- <EFBFBD>曄內Loading<EFBFBD>嗆<EFBFBD><EFBFBD><EFBFBD><EFBFBD>贝蓮<EFBFBD>暹<EFBFBD>嚗?
|
||||
- 显示Loading状态(旋转图标)
|
||||
- 1秒后显示绿色成功卡片
|
||||
- 显示"健康度优秀,预计消耗约 450.0k Token"
|
||||
- <EFBFBD>曄內蝏蠘恣靽⊥<EFBFBD>嚗<EFBFBD>像<EFBFBD><EFBFBD><EFBFBD>蝚艾<EFBFBD><EFBFBD>征<EFBFBD>潛<EFBFBD><EFBFBD><EFBFBD><EFBFBD>霈﹗oken嚗?
|
||||
- [ ] <EFBFBD>㗇𥋘"<22><>犖ID<49>?
|
||||
- 显示统计信息(平均字符、空值率、预计Token)
|
||||
- [ ] 选择"病人ID列"
|
||||
- 显示红色警告卡片
|
||||
- <EFBFBD>曄內"蝛箏<E89D9B>潛<EFBFBD>餈<EFBFBD><E9A488>嚗?5.0%嚗㚁<E59A97>霂亙<E99C82>銝漤<E98A9D><E6BCA4><EFBFBD><EFBFBD>𣂼<EFBFBD>"
|
||||
- "銝衤<EFBFBD>甇?<3F>厰僼蝳<E583BC>鍂
|
||||
- 显示"空值率过高(85.0%),该列不适合提取"
|
||||
- "下一步"按钮禁用
|
||||
|
||||
#### 瘚贝<EFBFBD><EFBFBD>?.5嚗𡁜紡<EFBFBD>?
|
||||
- [ ] <EFBFBD>亙熒璉<EFBFBD><EFBFBD>仿<EFBFBD>朞<EFBFBD><EFBFBD>𠬍<EFBFBD>"銝衤<E98A9D>甇?<3F>厰僼<E58EB0>舐鍂
|
||||
- [ ] <EFBFBD>孵稬"銝衤<E98A9D>甇?餈𥕦<E9A488>Step 2
|
||||
#### 测试点1.5:导航
|
||||
- [ ] 健康检查通过后,"下一步"按钮可用
|
||||
- [ ] 点击"下一步"进入Step 2
|
||||
|
||||
**憸<EFBFBD><EFBFBD>蝏𤘪<EFBFBD>**: <EFBFBD><EFBFBD><EFBFBD>匧<EFBFBD><EFBFBD>賣迤撣賂<EFBFBD>UI瘚<EFBFBD><EFBFBD>嚗峕<EFBFBD><EFBFBD>批<EFBFBD><EFBFBD>圈<EFBFBD>霂?
|
||||
**预期结果**: 所有功能正常,UI流畅,无控制台错误
|
||||
|
||||
---
|
||||
|
||||
### 銝剹<EFBFBD><EFBFBD>tep 2嚗𡁏惣<EFBFBD>賣芋<EFBFBD>輸<EFBFBD>蝵?
|
||||
### 三、Step 2:智能模板配置
|
||||
|
||||
#### 瘚贝<EFBFBD><EFBFBD>?.1嚗𡁻△<EFBFBD>Y𠶖<EFBFBD>?
|
||||
- [ ] 甇仿炊<EFBFBD><EFBFBD>內<EFBFBD>冽遬蝷?2. <20>箄<EFBFBD>璅∠<E79285>"擃䀝漁
|
||||
#### 测试点2.1:页面状态
|
||||
- [ ] 步骤指示器显示"2. 智能模版"高亮
|
||||
- [ ] Step 1指示器显示为完成状态(绿色勾)
|
||||
- [ ] 憿菟𢒰<EFBFBD>曄內蝝怨𠧧<EFBFBD>峕艶<EFBFBD><EFBFBD><EFBFBD>蝵桀躹<EFBFBD>?
|
||||
- [ ] 页面显示紫色背景的配置区域
|
||||
|
||||
#### 瘚贝<EFBFBD><EFBFBD>?.2嚗𡁶𪆴<EFBFBD><EFBFBD>掩<EFBFBD>钅<EFBFBD>㗇𥋘
|
||||
#### 测试点2.2:疾病类型选择
|
||||
- [ ] 下拉框默认选中"肺癌 (Lung Cancer)"
|
||||
- [ ] <EFBFBD><EFBFBD>揢<EFBFBD>?蝟硋倏<E7A18B>?(Diabetes)"
|
||||
- [ ] <EFBFBD><EFBFBD>揢<EFBFBD>?擃䁅<E69383><E48185>?(Hypertension)"
|
||||
- [ ] <EFBFBD><EFBFBD>揢<EFBFBD>𤾸<EFBFBD>畾萄<EFBFBD>銵冽凒<EFBFBD>?
|
||||
- [ ] 切换到"糖尿病 (Diabetes)"
|
||||
- [ ] 切换到"高血压 (Hypertension)"
|
||||
- [ ] 切换后字段列表更新
|
||||
|
||||
#### 瘚贝<EFBFBD><EFBFBD>?.3嚗𡁏𥁒<EFBFBD>羓掩<EFBFBD>钅<EFBFBD>㗇𥋘
|
||||
#### 测试点2.3:报告类型选择
|
||||
- [ ] 下拉框默认选中"病理报告 (Pathology)"
|
||||
- [ ] <EFBFBD><EFBFBD>揢<EFBFBD>?<3F>仿堺霈啣<E99C88> (Admission Note)"
|
||||
- [ ] <EFBFBD><EFBFBD>揢<EFBFBD>𤾸<EFBFBD>畾萄<EFBFBD>銵冽凒<EFBFBD>?
|
||||
- [ ] 切换到"入院记录 (Admission Note)"
|
||||
- [ ] 切换后字段列表更新
|
||||
|
||||
#### 瘚贝<EFBFBD><EFBFBD>?.4嚗𡁜<EFBFBD>畾萄<EFBFBD>銵?
|
||||
#### 测试点2.4:字段列表
|
||||
- [ ] 左侧显示字段列表
|
||||
- [ ] 肺癌病理报告显示5个字段:
|
||||
- 病理类型
|
||||
- 分化程度
|
||||
- 肿瘤大小
|
||||
- 瘛见毀蝏栞蓮蝘?
|
||||
- 淋巴结转移
|
||||
- 免疫组化
|
||||
- [ ] 瘥譍葵摮埈挾<EFBFBD>曄內<EFBFBD>滨妍<EFBFBD>峕<EFBFBD>餈?
|
||||
- [ ] 摮埈挾<EFBFBD>臭誑蝻𤥁<EFBFBD>嚗<EFBFBD><EFBFBD><EFBFBD>餉<EFBFBD><EFBFBD>交<EFBFBD>靽格㺿嚗?
|
||||
- [ ] 每个字段显示名称和描述
|
||||
- [ ] 字段可以编辑(点击输入框修改)
|
||||
|
||||
#### 瘚贝<EFBFBD><EFBFBD>?.5嚗𡁜<EFBFBD>畾菜<EFBFBD>雿?
|
||||
#### 测试点2.5:字段操作
|
||||
- [ ] 点击"添加字段"按钮
|
||||
- <EFBFBD>啣<EFBFBD>銝<EFBFBD>銵?<3F>啣<EFBFBD>畾?/ <20>讛膩..."
|
||||
- <EFBFBD>臭誑蝻𤥁<EFBFBD><EFBFBD>啣<EFBFBD>畾?
|
||||
- [ ] <EFBFBD>孵稬<EFBFBD>𣳇膄<EFBFBD>厰僼嚗<EFBFBD><EFBFBD><EFBFBD>暹▲<EFBFBD>暹<EFBFBD>嚗?
|
||||
- 摮埈挾鋡怠<EFBFBD><EFBFBD>?
|
||||
- [ ] <EFBFBD>𣳇膄<EFBFBD><EFBFBD><EFBFBD>匧<EFBFBD>畾?
|
||||
- <EFBFBD>曄內"霂琿<E99C82>㗇𥋘璅⊥踎<E28AA5>𡝗溶<F0A19D97>惩<EFBFBD>畾?
|
||||
- "撘<EFBFBD>憪𧢲<EFBFBD><EFBFBD>?<3F>厰僼蝳<E583BC>鍂
|
||||
- 新增一行"新字段 / 描述..."
|
||||
- 可以编辑新字段
|
||||
- [ ] 点击删除按钮(垃圾桶图标)
|
||||
- 字段被删除
|
||||
- [ ] 删除所有字段
|
||||
- 显示"请选择模板或添加字段"
|
||||
- "开始提取"按钮禁用
|
||||
|
||||
#### 瘚贝<EFBFBD><EFBFBD>?.6嚗䥪rompt憸<EFBFBD><EFBFBD>
|
||||
- [ ] <EFBFBD>喃儒<EFBFBD>曄內瘛梯𠧧隞<EFBFBD><EFBFBD>蝻𤥁<EFBFBD><EFBFBD>?
|
||||
#### 测试点2.6:Prompt预览
|
||||
- [ ] 右侧显示深色代码编辑器
|
||||
- [ ] 显示"System Prompt Preview"标题
|
||||
- [ ] Prompt内容实时更新(根据字段变化)
|
||||
- [ ] 隞<EFBFBD><EFBFBD>擃䀝漁<EFBFBD>曄內嚗<EFBFBD>換<EFBFBD>?<3F>肽𠧧/蝏輯𠧧嚗?
|
||||
- [ ] <EFBFBD>曄內JSON<EFBFBD>澆<EFBFBD><EFBFBD><EFBFBD><EFBFBD>畾萄<EFBFBD>銋?
|
||||
- [ ] 代码高亮显示(紫色/蓝色/绿色)
|
||||
- [ ] 显示JSON格式的字段定义
|
||||
|
||||
#### 瘚贝<EFBFBD><EFBFBD>?.7嚗𡁜紡<EFBFBD>?
|
||||
- [ ] <EFBFBD>孵稬"銝𠹺<E98A9D>甇?餈𥪜<E9A488>Step 1
|
||||
- [ ] <EFBFBD>孵稬"撘<>憪𧢲<E686AA><F0A7A2B2>?餈𥕦<E9A488>Step 3
|
||||
#### 测试点2.7:导航
|
||||
- [ ] 点击"上一步"返回Step 1
|
||||
- [ ] 点击"开始提取"进入Step 3
|
||||
|
||||
**预期结果**: 模板配置流畅,Prompt实时预览,无错误
|
||||
|
||||
---
|
||||
|
||||
### <EFBFBD>䜘<EFBFBD><EFBFBD>tep 3嚗𡁜<EFBFBD><EFBFBD>脫<EFBFBD><EFBFBD>𤥁<EFBFBD>摨?
|
||||
### 四、Step 3:双盲提取进度
|
||||
|
||||
#### 瘚贝<EFBFBD><EFBFBD>?.1嚗𡁻△<EFBFBD>Y𠶖<EFBFBD>?
|
||||
- [ ] 甇仿炊<EFBFBD><EFBFBD>內<EFBFBD>冽遬蝷?3. <20>𣬚𤩅<F0A3AC9A>𣂼<EFBFBD>"擃䀝漁
|
||||
- [ ] Step 1<EFBFBD>?<3F>曄內銝箏<E98A9D><E7AE8F>鞟𠶖<E99E9F>?
|
||||
#### 测试点3.1:页面状态
|
||||
- [ ] 步骤指示器显示"3. 双盲提取"高亮
|
||||
- [ ] Step 1和2显示为完成状态
|
||||
- [ ] 页面居中显示进度动画
|
||||
|
||||
#### 瘚贝<EFBFBD><EFBFBD>?.2嚗𡁜𢆡<EFBFBD>餅<EFBFBD><EFBFBD>?
|
||||
- [ ] <EFBFBD>曄內<EFBFBD>贝蓮<EFBFBD><EFBFBD><EFBFBD><EFBFBD>荔<EFBFBD>蝝怨𠧧颲寞<EFBFBD>嚗?
|
||||
#### 测试点3.2:动画效果
|
||||
- [ ] 显示旋转的圆环(紫色边框)
|
||||
- [ ] 内部显示2个圆点(蓝色和橙色)
|
||||
- [ ] <EFBFBD><EFBFBD><EFBFBD><EFBFBD>匧撕頝喳𢆡<EFBFBD>?
|
||||
- [ ] <EFBFBD><EFBFBD><EFBFBD><EFBFBD>曄內"<22>𣬚𤩅<F0A3AC9A>𣂼<EFBFBD>鈭文<E988AD>撉諹<E69289>銝?.."
|
||||
- [ ] 圆点有弹跳动画
|
||||
- [ ] 标题显示"双盲提取交叉验证中..."
|
||||
|
||||
#### 瘚贝<EFBFBD><EFBFBD>?.3嚗朞<EFBFBD>摨行辺
|
||||
- [ ] 餈𥕦漲<EFBFBD>∩<EFBFBD>0%撘<>憪?
|
||||
- [ ] 餈𥕦漲<EFBFBD>∪像皛穃<EFBFBD><EFBFBD>?
|
||||
- [ ] 餈𥕦漲<EFBFBD>∟噢<EFBFBD>?00%
|
||||
#### 测试点3.3:进度条
|
||||
- [ ] 进度条从0%开始
|
||||
- [ ] 进度条平滑增长
|
||||
- [ ] 进度条达到100%
|
||||
|
||||
#### 瘚贝<EFBFBD><EFBFBD>?.4嚗𡁏𠯫敹𡑒<EFBFBD><EFBFBD>?
|
||||
- [ ] <EFBFBD>曄內<EFBFBD>亙<EFBFBD><EFBFBD>X踎嚗ìlate<EFBFBD>峕艶嚗?
|
||||
#### 测试点3.4:日志输出
|
||||
- [ ] 显示日志面板(slate背景)
|
||||
- [ ] 日志按时间顺序输出:
|
||||
- "初始化双模型引擎 (DeepSeek-V3 & Qwen-Max)..."
|
||||
- "PII 脱敏完成..."
|
||||
@@ -144,10 +144,10 @@
|
||||
- "Qwen: 提取进度 XX%"
|
||||
- "正在进行交叉验证 (Cross-Validation)..."
|
||||
- [ ] 日志有时间戳
|
||||
- [ ] <EFBFBD>亙<EFBFBD><EFBFBD>匧<EFBFBD><EFBFBD><EFBFBD>緾<EFBFBD>?
|
||||
- [ ] 日志有光标闪烁
|
||||
|
||||
#### 瘚贝<EFBFBD><EFBFBD>?.5嚗朞䌊<EFBFBD>刻歲頧?
|
||||
- [ ] 餈𥕦漲颲曉<EFBFBD>100%<25>𡒊<EFBFBD>敺?.8蝘?
|
||||
#### 测试点3.5:自动跳转
|
||||
- [ ] 进度达到100%后等待0.8秒
|
||||
- [ ] 自动跳转到Step 4
|
||||
|
||||
**预期结果**: 进度动画流畅,日志输出正常,自动跳转
|
||||
@@ -156,165 +156,165 @@
|
||||
|
||||
### 五、Step 4:冲突验证工作台(核心功能)
|
||||
|
||||
#### 瘚贝<EFBFBD><EFBFBD>?.1嚗𡁻△<EFBFBD>Y𠶖<EFBFBD>?
|
||||
- [ ] 甇仿炊<EFBFBD><EFBFBD>內<EFBFBD>冽遬蝷?4. 鈭文<E988AD>撉諹<E69289>"擃䀝漁
|
||||
- [ ] 憿園<EFBFBD><EFBFBD>曄內<EFBFBD>峕芋<EFBFBD>𧢲<EFBFBD>霂<EFBFBD><EFBFBD>DeepSeek<EFBFBD>肽𠧧 / Qwen璈躰𠧧嚗?
|
||||
#### 测试点4.1:页面状态
|
||||
- [ ] 步骤指示器显示"4. 交叉验证"高亮
|
||||
- [ ] 顶部显示双模型标识(DeepSeek蓝色 / Qwen橙色)
|
||||
- [ ] 显示统计信息
|
||||
- <EFBFBD>餅㺭<EFBFBD>? 3
|
||||
- 总数据: 3
|
||||
- X 条冲突待裁决(应该是2条)
|
||||
|
||||
#### 瘚贝<EFBFBD><EFBFBD>?.2嚗𡁜極<EFBFBD>瑟<EFBFBD>
|
||||
#### 测试点4.2:工具栏
|
||||
- [ ] 显示"导出当前结果"按钮
|
||||
- [ ] <EFBFBD>曄內"摰峕<E691B0>撟嗅<E6929F>摨?<3F>厰僼
|
||||
- [ ] 显示"完成并入库"按钮
|
||||
- [ ] 冲突计数实时更新
|
||||
- [ ] 敶𤘪<EFBFBD><EFBFBD>匧<EFBFBD>蝒<EFBFBD>圾<EFBFBD>喳<EFBFBD>嚗峕遬蝷?<3F><><EFBFBD>匧<EFBFBD>蝒<EFBFBD>歇閫<E6AD87><E996AB>"嚗<>遛<EFBFBD>莎<EFBFBD>
|
||||
- [ ] 当所有冲突解决后,显示"所有冲突已解决"(绿色)
|
||||
|
||||
#### 瘚贝<EFBFBD><EFBFBD>?.3嚗𡁏㺭<EFBFBD>桃<EFBFBD><EFBFBD>?
|
||||
#### 测试点4.3:数据网格
|
||||
- [ ] 显示表格布局
|
||||
- [ ] 銵典仍<EFBFBD><EFBFBD>鉄嚗? / <20><><EFBFBD><EFBFBD>䁅<EFBFBD> / <20><><EFBFBD>蝐餃<E89D90> / <20><><EFBFBD>蝔见漲 / <20>輻𠈔憭批<E686AD> / 瘛见毀蝏栞蓮蝘?/ <20>滨𢥫蝏<F0A2A5AB><E89D8F> / <20>嗆<EFBFBD>?
|
||||
- [ ] <EFBFBD>曄內3銵峕㺭<EFBFBD>?
|
||||
- [ ] 銵<EFBFBD>噡<EFBFBD>曄內甇<EFBFBD>&嚗?, 2, 3嚗?
|
||||
- [ ] 表头包含:# / 原文摘要 / 病理类型 / 分化程度 / 肿瘤大小 / 淋巴结转移 / 免疫组化 / 状态
|
||||
- [ ] 显示3行数据
|
||||
- [ ] 行号显示正确(1, 2, 3)
|
||||
|
||||
#### 瘚贝<EFBFBD><EFBFBD>?.4嚗𡁏㺭<EFBFBD>株<EFBFBD>1嚗<EFBFBD><EFBFBD><EFBFBD>脩<EFBFBD>嚗?
|
||||
- [ ] <EFBFBD><EFBFBD><EFBFBD><EFBFBD>䁅<EFBFBD><EFBFBD>曄內"<22><><EFBFBD>霂𦠜鱏嚗?<3F>唾<EFBFBD>銝𠰴蠏)瘚豢隋<E8B1A2>扯<EFBFBD><E689AF>?.."
|
||||
- [ ] <EFBFBD><EFBFBD><EFBFBD>蝐餃<EFBFBD>嚗𡁏遬蝷箏<EFBFBD>銝<EFBFBD><EFBFBD>?瘚豢隋<E8B1A2>扯<EFBFBD><E689AF>?嚗<><E59A97><EFBFBD>湛<EFBFBD>
|
||||
- [ ] <EFBFBD><EFBFBD><EFBFBD>蝔见漲嚗𡁏遬蝷?銝芣<E98A9D><E88AA3>?
|
||||
- DS<EFBFBD>厰僼嚗?<3F>芣<EFBFBD><E88AA3>?嚗<><E59A97><EFBFBD>脰器獢<E599A8><E78DA2>
|
||||
- QW<EFBFBD>厰僼嚗?銝剖<E98A9D><E58996>?嚗<><E59A97><EFBFBD>脰器獢<E599A8><E78DA2>
|
||||
- <EFBFBD>峕艶銝箸<EFBFBD><EFBFBD>莎<EFBFBD><EFBFBD>脩<EFBFBD><EFBFBD><EFBFBD><EFBFBD>嚗?
|
||||
- [ ] <EFBFBD>輻𠈔憭批<EFBFBD>嚗𡁏遬蝷?銝芣<E98A9D><E88AA3>殷<EFBFBD><E6AEB7>脩<EFBFBD>嚗?
|
||||
- [ ] 瘛见毀蝏栞蓮蝘鳴<EFBFBD><EFBFBD>曄內2銝芣<EFBFBD><EFBFBD>殷<EFBFBD><EFBFBD>脩<EFBFBD>嚗?
|
||||
- [ ] <EFBFBD>滨𢥫蝏<EFBFBD><EFBFBD>嚗𡁏遬蝷?銝芣<E98A9D><E88AA3>殷<EFBFBD><E6AEB7>脩<EFBFBD>嚗?
|
||||
- [ ] <EFBFBD>嗆<EFBFBD><EFBFBD><EFBFBD><EFBFBD>曄內"敺<><E695BA><EFBFBD>?嚗<><E59A97><EFBFBD>脣噬蝡𩤃<E89DA1>pulse<73>函𤫇嚗?
|
||||
#### 测试点4.4:数据行1(有冲突)
|
||||
- [ ] 原文摘要显示"病理诊断:(右肺上叶)浸润性腺癌..."
|
||||
- [ ] 病理类型:显示单一值"浸润性腺癌"(一致)
|
||||
- [ ] 分化程度:显示2个按钮
|
||||
- DS按钮:"未提及"(蓝色边框)
|
||||
- QW按钮:"中分化"(橙色边框)
|
||||
- 背景为橙色(冲突标识)
|
||||
- [ ] 肿瘤大小:显示2个按钮(冲突)
|
||||
- [ ] 淋巴结转移:显示2个按钮(冲突)
|
||||
- [ ] 免疫组化:显示2个按钮(冲突)
|
||||
- [ ] 状态:显示"待裁决"(橙色徽章,pulse动画)
|
||||
|
||||
#### 瘚贝<EFBFBD><EFBFBD>?.5嚗𡁏㺭<EFBFBD>株<EFBFBD>2嚗<EFBFBD><EFBFBD><EFBFBD>脩<EFBFBD>嚗?
|
||||
#### 测试点4.5:数据行2(无冲突)
|
||||
- [ ] 原文摘要显示"送检(左肺下叶)组织..."
|
||||
- [ ] 所有字段显示单一值(绿色勾)
|
||||
- [ ] 状态:显示"通过"(绿色徽章)
|
||||
|
||||
#### 瘚贝<EFBFBD><EFBFBD>?.6嚗𡁏㺭<EFBFBD>株<EFBFBD>3嚗<EFBFBD><EFBFBD><EFBFBD>脩<EFBFBD>嚗?
|
||||
#### 测试点4.6:数据行3(有冲突)
|
||||
- [ ] 原文摘要显示"右肺中叶穿刺活检..."
|
||||
- [ ] <EFBFBD>滨𢥫蝏<EFBFBD><EFBFBD>摮埈挾<EFBFBD>匧<EFBFBD>蝒?
|
||||
- [ ] <EFBFBD>嗆<EFBFBD><EFBFBD><EFBFBD><EFBFBD>曄內"敺<><E695BA><EFBFBD>?
|
||||
- [ ] 免疫组化字段有冲突
|
||||
- [ ] 状态:显示"待裁决"
|
||||
|
||||
#### 瘚贝<EFBFBD><EFBFBD>?.7嚗𡁜<EFBFBD>蝒<EFBFBD><EFBFBD>蝥?
|
||||
- [ ] <EFBFBD>孵稬銵?<3F>?<3F><><EFBFBD>蝔见漲" DS<EFBFBD>厰僼
|
||||
- <EFBFBD>訫<EFBFBD><EFBFBD>澆<EFBFBD>銝箏歇閫<EFBFBD><EFBFBD><EFBFBD>嗆<EFBFBD>?
|
||||
- <EFBFBD>曄內"<22>芣<EFBFBD><E88AA3>?嚗<><E59A97><EFBFBD>脩<EFBFBD><E884A9>厰僼嚗?
|
||||
#### 测试点4.7:冲突采纳
|
||||
- [ ] 点击行1的"分化程度" DS按钮
|
||||
- 单元格变为已解决状态
|
||||
- 显示"未提及"(无冲突按钮)
|
||||
- 悬停显示重置按钮
|
||||
- [ ] <EFBFBD>孵稬銵?<3F>?<3F>輻𠈔憭批<E686AD>" QW<EFBFBD>厰僼
|
||||
- <EFBFBD>訫<EFBFBD><EFBFBD>澆<EFBFBD>銝箏歇閫<EFBFBD><EFBFBD><EFBFBD>嗆<EFBFBD>?
|
||||
- [ ] 点击行1的"肿瘤大小" QW按钮
|
||||
- 单元格变为已解决状态
|
||||
- 显示"3.2*2.5*2.0cm"
|
||||
- [ ] 靘脲活閫<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>匧<EFBFBD>蝒?
|
||||
- [ ] 依次解决所有冲突
|
||||
- 冲突计数减少
|
||||
- 銵𣬚𠶖<EFBFBD><EFBFBD><EFBFBD>銝?<3F>朞<EFBFBD>"
|
||||
- 行状态变为"通过"
|
||||
- 所有冲突解决后显示"所有冲突已解决"
|
||||
|
||||
#### 瘚贝<EFBFBD><EFBFBD>?.8嚗帋儒颲寞<EFBFBD>
|
||||
- [ ] <EFBFBD>孵稬隞餅<EFBFBD>銵?
|
||||
- <EFBFBD>喃儒皛穃枂靘扯器<EFBFBD>?
|
||||
- 靘扯器<EFBFBD>𤩺遬蝷?<3F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>霂行<E99C82>"
|
||||
#### 测试点4.8:侧边栏
|
||||
- [ ] 点击任意行
|
||||
- 右侧滑出侧边栏
|
||||
- 侧边栏显示"病历原文详情"
|
||||
- 显示Row ID
|
||||
- <EFBFBD>曄內摰峕㟲<EFBFBD><EFBFBD><EFBFBD>嚗<EFBFBD><EFBFBD><EFBFBD>䁅<EFBFBD>嚗?
|
||||
- 显示完整原文(非摘要)
|
||||
- [ ] 原文显示格式正确(字体、行距)
|
||||
- [ ] 摨閖<EFBFBD><EFBFBD>曄內"敹恍<E695B9>笔紡<E7AC94>?<3F><>倌
|
||||
- [ ] 底部显示"快速导航"标签
|
||||
- 冲突字段显示橙色
|
||||
- 撌脰圾<EFBFBD>喳<EFBFBD>畾菜遬蝷箇蒾<EFBFBD>?
|
||||
- [ ] <EFBFBD>孵稬X<EFBFBD>厰僼<EFBFBD>喲𡡒靘扯器<EFBFBD>?
|
||||
- 靘扯器<EFBFBD>𤩺<EFBFBD><EFBFBD>?
|
||||
- [ ] <EFBFBD>孵稬銵冽聢<EFBFBD>嗡<EFBFBD>銵?
|
||||
- 靘扯器<EFBFBD>誩<EFBFBD>摰寞凒<EFBFBD>?
|
||||
- 已解决字段显示白色
|
||||
- [ ] 点击X按钮关闭侧边栏
|
||||
- 侧边栏滑出
|
||||
- [ ] 点击表格其他行
|
||||
- 侧边栏内容更新
|
||||
|
||||
#### 瘚贝<EFBFBD><EFBFBD>?.9嚗帋漱鈭雴<EFBFBD>撉?
|
||||
- [ ] 曌䭾<EFBFBD><EFBFBD>砍<EFBFBD>銵屸<EFBFBD>鈭殷<EFBFBD>bg-slate-50嚗?
|
||||
- [ ] <EFBFBD>劐葉銵屸<EFBFBD>鈭殷<EFBFBD>bg-purple-50/50嚗?
|
||||
#### 测试点4.9:交互体验
|
||||
- [ ] 鼠标悬停行高亮(bg-slate-50)
|
||||
- [ ] 选中行高亮(bg-purple-50/50)
|
||||
- [ ] 冲突按钮hover效果(边框加深)
|
||||
- [ ] 銵冽聢<EFBFBD>舀<EFBFBD><EFBFBD>?
|
||||
- [ ] 靘扯器<EFBFBD>誩𢆡<EFBFBD>餅<EFBFBD><EFBFBD><EFBFBD><EFBFBD>300ms transition嚗?
|
||||
- [ ] 表格可滚动
|
||||
- [ ] 侧边栏动画流畅(300ms transition)
|
||||
|
||||
#### 瘚贝<EFBFBD><EFBFBD>?.10嚗𡁜紡<EFBFBD>?
|
||||
- [ ] <EFBFBD>孵稬"摰峕<E691B0>撟嗅<E6929F>摨?餈𥕦<E9A488>Step 5
|
||||
#### 测试点4.10:导航
|
||||
- [ ] 点击"完成并入库"进入Step 5
|
||||
|
||||
**憸<EFBFBD><EFBFBD>蝏𤘪<EFBFBD>**: 撉諹<EFBFBD>撌乩<EFBFBD><EFBFBD>啣<EFBFBD><EFBFBD>賢<EFBFBD><EFBFBD>湛<EFBFBD>鈭支<EFBFBD>瘚<EFBFBD><EFBFBD>嚗<EFBFBD><EFBFBD>蝒<EFBFBD><EFBFBD><EFBFBD>單迤撣?
|
||||
**预期结果**: 验证工作台功能完整,交互流畅,冲突裁决正常
|
||||
|
||||
---
|
||||
|
||||
### <EFBFBD>准<EFBFBD><EFBFBD>tep 5嚗𡁶<EFBFBD><EFBFBD>𨅯<EFBFBD>蝷?
|
||||
### 六、Step 5:结果展示
|
||||
|
||||
#### 瘚贝<EFBFBD><EFBFBD>?.1嚗𡁻△<EFBFBD>Y𠶖<EFBFBD>?
|
||||
- [ ] 甇仿炊<EFBFBD><EFBFBD>內<EFBFBD>冽遬蝷?5. 摰峕<E691B0>"擃䀝漁
|
||||
- [ ] <EFBFBD><EFBFBD><EFBFBD>㗇郊撉斗遬蝷箔蛹摰峕<EFBFBD><EFBFBD>嗆<EFBFBD>?
|
||||
#### 测试点5.1:页面状态
|
||||
- [ ] 步骤指示器显示"5. 完成"高亮
|
||||
- [ ] 所有步骤显示为完成状态
|
||||
- [ ] 页面居中显示
|
||||
|
||||
#### 瘚贝<EFBFBD><EFBFBD>?.2嚗𡁏<EFBFBD><EFBFBD>笔㦛<EFBFBD>?
|
||||
#### 测试点5.2:成功图标
|
||||
- [ ] 显示绿色圆形背景
|
||||
- [ ] <EFBFBD><EFBFBD><EFBFBD><EFBFBD>曄內蝏輯𠧧<EFBFBD>曉㦛<EFBFBD>?
|
||||
- [ ] <EFBFBD><EFBFBD><EFBFBD><EFBFBD>曄內"蝏𤘪<E89D8F><F0A498AA>硋<EFBFBD><E7A18B><EFBFBD><EFBFBD><EFBFBD>?
|
||||
- [ ] 内部显示绿色勾图标
|
||||
- [ ] 标题显示"结构化处理完成"
|
||||
|
||||
#### 瘚贝<EFBFBD><EFBFBD>?.3嚗𡁶<EFBFBD>霈∩縑<EFBFBD>?
|
||||
#### 测试点5.3:统计信息
|
||||
- [ ] 显示处理总结文案
|
||||
- "双模型交叉验证已完成"
|
||||
- "鈭箏極鋆<EFBFBD><EFBFBD>靽格迤鈭?X <20>∪<EFBFBD>蝒<EFBFBD>㺭<EFBFBD>?
|
||||
- "人工裁决修正了 X 条冲突数据"
|
||||
- "最终数据集包含 3 条高质量记录"
|
||||
|
||||
#### 瘚贝<EFBFBD><EFBFBD>?.4嚗𡁶<EFBFBD>霈∪㨃<EFBFBD>?
|
||||
- [ ] 撌虫儒<EFBFBD>∠<EFBFBD>嚗𡁻<EFBFBD>蝘<EFBFBD><EFBFBD><EFBFBD>?
|
||||
#### 测试点5.4:统计卡片
|
||||
- [ ] 左侧卡片:隐私安全
|
||||
- 显示盾牌图标
|
||||
- <EFBFBD>曄內"PII 撌脰<EFBFBD><EFBFBD>?
|
||||
- [ ] <EFBFBD>喃儒<EFBFBD>∠<EFBFBD>嚗関oken 瘨<EFBFBD><EFBFBD>?
|
||||
- 显示"PII 已脱敏"
|
||||
- [ ] 右侧卡片:Token 消耗
|
||||
- 显示闪电图标
|
||||
- 显示"~450k Tokens"
|
||||
|
||||
#### 瘚贝<EFBFBD><EFBFBD>?.5嚗𡁏<EFBFBD>雿𨀣<EFBFBD><EFBFBD>?
|
||||
#### 测试点5.5:操作按钮
|
||||
- [ ] "下载结果 Excel"按钮
|
||||
- <EFBFBD>質𠧧<EFBFBD>峕艶嚗𣬚<EFBFBD><EFBFBD>脰器獢?
|
||||
- 白色背景,灰色边框
|
||||
- Hover效果正常
|
||||
- [ ] "去编辑器清洗"按钮
|
||||
- 绿色背景
|
||||
- <EFBFBD>厰狍敶?
|
||||
- 有阴影
|
||||
- Hover效果正常
|
||||
|
||||
**憸<EFBFBD><EFBFBD>蝏𤘪<EFBFBD>**: 蝏𤘪<EFBFBD>憿菜遬蝷箸迤撣賂<EFBFBD>蝏蠘恣<EFBFBD><EFBFBD>&嚗峕<EFBFBD><EFBFBD>桀虾<EFBFBD>?
|
||||
**预期结果**: 结果页显示正常,统计准确,按钮可用
|
||||
|
||||
---
|
||||
|
||||
## 🐛 Bug追踪
|
||||
|
||||
### <EFBFBD>𤑳緵<EFBFBD><EFBFBD>䔮憸?
|
||||
| # | 銝仿<EFBFBD><EFBFBD>?| 雿滨蔭 | <20>讛膩 | <20>嗆<EFBFBD>?|
|
||||
### 发现的问题
|
||||
| # | 严重性 | 位置 | 描述 | 状态 |
|
||||
|---|--------|------|------|------|
|
||||
| 1 | | | | <EFBFBD>?|
|
||||
| 2 | | | | <EFBFBD>?|
|
||||
| 3 | | | | <EFBFBD>?|
|
||||
| 1 | | | | ⏳ |
|
||||
| 2 | | | | ⏳ |
|
||||
| 3 | | | | ⏳ |
|
||||
|
||||
---
|
||||
|
||||
## 📊 测试结果
|
||||
|
||||
### <EFBFBD>蠘<EFBFBD>摰峕㟲<EFBFBD>?
|
||||
- [ ] Step 1: <EFBFBD><EFBFBD>辣銝𠹺<EFBFBD>銝𤾸<EFBFBD>摨瑟<EFBFBD><EFBFBD>?- ___%
|
||||
### 功能完整性
|
||||
- [ ] Step 1: 文件上传与健康检查 - ___%
|
||||
- [ ] Step 2: 智能模板配置 - ___%
|
||||
- [ ] Step 3: 双盲提取进度 - ___%
|
||||
- [ ] Step 4: <EFBFBD>脩<EFBFBD>撉諹<EFBFBD>撌乩<EFBFBD><EFBFBD>?- ___%
|
||||
- [ ] Step 4: 冲突验证工作台 - ___%
|
||||
- [ ] Step 5: 结果展示 - ___%
|
||||
|
||||
### 综合评分
|
||||
- **<EFBFBD>蠘<EFBFBD>摰峕㟲<EFBFBD>?*: ___/100
|
||||
- **UI蝢舘<EFBFBD>摨?*: ___/100
|
||||
- **鈭支<EFBFBD>瘚<EFBFBD><EFBFBD>摨?*: ___/100
|
||||
- **功能完整性**: ___/100
|
||||
- **UI美观度**: ___/100
|
||||
- **交互流畅度**: ___/100
|
||||
- **代码质量**: ___/100
|
||||
|
||||
### <EFBFBD><EFBFBD>蝏<EFBFBD><EFBFBD>霈?
|
||||
- [ ] <EFBFBD>?<3F>朞<EFBFBD> - <20>臭誑<E887AD>𣂷漱Git
|
||||
- [ ] <EFBFBD>𩤃<EFBFBD> <20>朞<EFBFBD>雿<EFBFBD><E99BBF>撠誯䔮憸?- 霈啣<E99C88><E595A3>桅<EFBFBD><E6A185>擧<EFBFBD>鈭?
|
||||
- [ ] <EFBFBD>?銝漤<E98A9D>朞<EFBFBD> - <20><>閬<EFBFBD>耨憭滚<E686AD><E6BB9A>齿<EFBFBD>
|
||||
### 最终结论
|
||||
- [ ] ✅ 通过 - 可以提交Git
|
||||
- [ ] ⚠️ 通过但有小问题 - 记录问题后提交
|
||||
- [ ] ❌ 不通过 - 需要修复后重测
|
||||
|
||||
---
|
||||
|
||||
## 📝 测试记录
|
||||
|
||||
### 测试环境
|
||||
- 瘚讛<EFBFBD><EFBFBD>? _______________
|
||||
- 浏览器: _______________
|
||||
- 操作系统: _______________
|
||||
- 前端版本: _______________
|
||||
- 后端版本: _______________
|
||||
@@ -323,7 +323,7 @@
|
||||
|
||||
### 测试备注
|
||||
```
|
||||
嚗<EFBFBD>窈<EFBFBD>刻<EFBFBD><EFBFBD>諹扇敶閙<EFBFBD>霂閗<EFBFBD>蝔衤葉<EFBFBD><EFBFBD>遙雿訫<EFBFBD><EFBFBD>啜<EFBFBD><EFBFBD>遣霈格<EFBFBD><EFBFBD>桅<EFBFBD>嚗?
|
||||
(请在这里记录测试过程中的任何发现、建议或问题)
|
||||
|
||||
|
||||
|
||||
@@ -387,6 +387,5 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user