Browse Source

切换体位后,图像控件选择性显示曝光图或者体位示意图

sw 1 week ago
parent
commit
3042b29676
1 changed files with 28 additions and 1 deletions
  1. 28 1
      src/pages/view/components/ImageControl.tsx

+ 28 - 1
src/pages/view/components/ImageControl.tsx

@@ -1,10 +1,37 @@
 import StackViewer from './viewers/stack.image.viewer';
 import StackViewer from './viewers/stack.image.viewer';
+import { useSelector } from 'react-redux';
+import { RootState } from '@/states/store';
+import { getViewIconUrl, getExposedImageUrl } from '@/API/bodyPosition';
+import { Image } from 'antd';
 
 
 const ImageControl = () => {
 const ImageControl = () => {
+  const selectedBodyPosition = useSelector(
+    (state: RootState) => state.bodyPositionList.selectedBodyPosition
+  );
+
+  const isExposed =
+    selectedBodyPosition &&
+    selectedBodyPosition.dview &&
+    selectedBodyPosition.dview.expose_status === 'Exposed';
+  console.log('isExposed:', isExposed);
+  const imageUrl = selectedBodyPosition
+    ? isExposed
+      ? getExposedImageUrl(selectedBodyPosition.sop_instance_uid)
+      : getViewIconUrl(selectedBodyPosition.body_position_image)
+    : '';
+
   return (
   return (
     <div className="image-control">
     <div className="image-control">
       <div style={{ width: '800px', height: '600px' }}>
       <div style={{ width: '800px', height: '600px' }}>
-        <StackViewer imageIndex={30} />
+        {isExposed ? (
+          <StackViewer imageIndex={30} />
+        ) : (
+          <Image
+            src={imageUrl}
+            alt="Body Position"
+            style={{ width: '100%', height: '100%' }}
+          />
+        )}
         {/* 第10张图和第30张图明显不同,可以用于测试,看效果*/}
         {/* 第10张图和第30张图明显不同,可以用于测试,看效果*/}
       </div>
       </div>
     </div>
     </div>