Bladeren bron

fix (1.30.2 -> 1.30.3): 解决了从检查和处理不能进入打印的问题

- 在BasicLayout.tsx中为exam和process页面添加打印按钮切换逻辑

改动文件:
- src/layouts/BasicLayout.tsx
dengdx 2 weken geleden
bovenliggende
commit
6f2ed4d0c5
3 gewijzigde bestanden met toevoegingen van 49 en 23 verwijderingen
  1. 20 0
      CHANGELOG.md
  2. 1 1
      package.json
  3. 28 22
      src/layouts/BasicLayout.tsx

+ 20 - 0
CHANGELOG.md

@@ -2,6 +2,26 @@
 
 本项目的所有重要变更都将记录在此文件中。
 
+## [1.30.3] - 2025-12-26 15:11
+
+### 修复 (Fixed)
+- **修复从检查和处理不能进入打印的问题** - 解决从检查和处理页面无法切换到打印界面的问题
+  - 在 BasicLayout.tsx 的 handleMenuClick 函数中为 'exam' 和 'process' 页面添加打印按钮切换逻辑
+  - 当 currentKey 为 'exam' 或 'process' 时,调用 dispatch(setBusinessFlow(key)) 进行页面切换
+  - 确保从检查和处理页面点击打印按钮能正确跳转到打印界面
+
+**核心改进:**
+- 用户体验提升:检查和处理页面现在支持打印功能切换
+- 代码一致性:统一了不同页面的打印按钮处理逻辑
+- 功能完整性:修复了页面切换逻辑的缺失问题
+
+**改动文件:**
+- src/layouts/BasicLayout.tsx
+- CHANGELOG.md
+- package.json (版本更新: 1.30.2 -> 1.30.3)
+
+---
+
 ## [1.30.2] - 2025-12-26 14:19
 
 ### 修复 (Fixed)

+ 1 - 1
package.json

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

+ 28 - 22
src/layouts/BasicLayout.tsx

@@ -76,28 +76,34 @@ const BasicLayout: React.FC<BasicLayoutProps> = () => {
   const handleMenuClick = async (key: string) => {
     // 特殊处理打印按钮
     if (key === 'print') {
-      // 获取当前选中的记录
-      const state = store.getState();
-      const selectedIds =
-        currentKey === 'historylist'
-          ? state.historySelection.selectedIds
-          : currentKey === 'worklist'
-            ? state.workSelection.selectedIds
-            : [];
+      if (currentKey === 'worklist' || currentKey === 'historylist') {
+        // 获取当前选中的记录
+        const state = store.getState();
+        const selectedIds =
+          currentKey === 'historylist'
+            ? state.historySelection.selectedIds
+            : currentKey === 'worklist'
+              ? state.workSelection.selectedIds
+              : [];
 
-      if (selectedIds.length === 0) {
-        message.warning('请先选择要打印的项目');
-        return;
-      }
+        if (selectedIds.length === 0) {
+          message.warning('请先选择要打印的项目');
+          return;
+        }
 
-      try {
-        // 调用 selectedWorksToPrint 加载数据并跳转
-        await selectedWorksToPrint(selectedIds, currentKey as 'worklist' | 'historylist');
-      } catch (error) {
-        console.error('[BusinessZone] Print error:', error);
-        message.error('加载打印数据失败,请重试');
+        try {
+          // 调用 selectedWorksToPrint 加载数据并跳转
+          await selectedWorksToPrint(selectedIds, currentKey as 'worklist' | 'historylist');
+        } catch (error) {
+          console.error('[BusinessZone] Print error:', error);
+          message.error('加载打印数据失败,请重试');
+        }
+      } else if(currentKey === 'exam' || currentKey === 'process') {
+        // 其他按钮直接切换页面
+        dispatch(setBusinessFlow(key));
       }
-    } else {
+    }
+    else {
       // 其他按钮直接切换页面
       dispatch(setBusinessFlow(key));
     }
@@ -135,9 +141,9 @@ const BasicLayout: React.FC<BasicLayoutProps> = () => {
           >
             {/* 品牌区域 */}
             <Col xl={4} lg={4} md={5} sm={0} xs={0} className="h-full">
-              <img 
-                src={logo} 
-                alt="Logo" 
+              <img
+                src={logo}
+                alt="Logo"
                 className="h-full w-auto object-contain"
               />
             </Col>