瀏覽代碼

fix (1.49.5 -> 1.49.6): 修复注册成功后未清理已选择视图列表的问题

- 在 executeRegisterLogic 中添加注册成功后的状态清理逻辑
- 清理表单数据和已选择的视图列表,确保每次注册后可以开始新的流程

改动文件:
- src/domain/patient/registerLogic.ts
- src/pages/patient/register.tsx
- package.json
- CHANGELOG.md
dengdx 1 周之前
父節點
當前提交
96ccfc9573
共有 4 個文件被更改,包括 22 次插入5 次删除
  1. 10 0
      CHANGELOG.md
  2. 1 1
      package.json
  3. 6 1
      src/domain/patient/registerLogic.ts
  4. 5 3
      src/pages/patient/register.tsx

+ 10 - 0
CHANGELOG.md

@@ -2,6 +2,16 @@
 
 本项目的所有重要变更都将记录在此文件中。
 
+## [1.49.6] - 2026-01-05 19:22
+
+### 修复 (Fixed)
+
+- **修复注册成功后未清理已选择视图列表的问题** - 在executeRegisterLogic中添加注册成功后的状态清理逻辑,确保每次注册后可以开始新的流程
+
+**改动文件:**
+- src/domain/patient/registerLogic.ts
+- src/pages/patient/register.tsx
+
 ## [1.49.5] - 2026-01-05 18:32
 
 ### 修复 (Fixed)

+ 1 - 1
package.json

@@ -1,6 +1,6 @@
 {
   "name": "zsis",
-  "version": "1.49.5",
+  "version": "1.49.6",
   "private": true,
   "description": "医学成像系统",
   "main": "main.js",

+ 6 - 1
src/domain/patient/registerLogic.ts

@@ -13,6 +13,9 @@ import { omitHumanSchemaMap } from '@/domain/humanSpecificInfo';
 import { RootState } from '@/states/store';
 import { View } from '@/API/patient/viewActions';
 import { checkPatientDuplicate } from './duplicateCheck';
+import { clearSelectedViews } from '@/states/patient/viewSelection';
+import storeOfRoot from '@/states/store';
+import { clearFormData } from '@/states/patient/register/formSlice';
 
 dayjs.extend(utc);
 
@@ -105,7 +108,9 @@ export async function executeRegisterLogic(store: {
       message.error(`注册失败: ${response.description}`);
       return { success: false, views: [] };
     }
-
+    //注册成功,清理
+    storeOfRoot.dispatch(clearFormData());
+    storeOfRoot.dispatch(clearSelectedViews());
     console.log('Work registered successfully:', response);
     message.info('Work registered successfully');
 

+ 5 - 3
src/pages/patient/register.tsx

@@ -99,14 +99,16 @@ const RegisterPage: React.FC = () => {
     data?: RegisterWorkResponseData;
     views?: View[];
   }> => {
-    const result = await executeRegisterLogic({ getState: () => store.getState() });
+    const result = await executeRegisterLogic({
+      getState: () => store.getState()
+    });
     if (result.success) {
       // 清理时机1:注册成功后清理表单
       // 1. 清理 Redux formSlice
-      dispatch(clearFormData());
+      // dispatch(clearFormData()); //放到 executeRegisterLogic 中处理
       // 2. 清理 Ant Design Form
       form.resetFields();
-      // 3. selectedViews 会在 Redux 中自动清空(已在 viewSelectionSlice 中实现)
+      // 3. selectedViews 已在 executeRegisterLogic 中自动清空
       console.log('注册成功,表单已清空,可以开始新的注册');
     }