|
@@ -1,44 +1,30 @@
|
|
|
import ViewerContainer from './ViewerContainer';
|
|
|
import { useSelector } from 'react-redux';
|
|
|
import { RootState } from '@/states/store';
|
|
|
-import {
|
|
|
- getViewIconUrl,
|
|
|
- getExposedImageUrl,
|
|
|
- getDcmImageUrl,
|
|
|
-} from '@/API/bodyPosition';
|
|
|
-import { Image } from 'antd';
|
|
|
+import { getDcmImageUrl } from '@/API/bodyPosition';
|
|
|
+// import { Image } from 'antd';
|
|
|
|
|
|
const ImageControl = () => {
|
|
|
- const selectedBodyPosition = useSelector(
|
|
|
- (state: RootState) => state.bodyPositionList.selectedBodyPosition
|
|
|
+ const bodyPositionList = useSelector(
|
|
|
+ (state: RootState) => state.bodyPositionList.bodyPositions
|
|
|
);
|
|
|
+ // const selectedBodyPosition = useSelector(
|
|
|
+ // (state: RootState) => state.bodyPositionList.selectedBodyPosition
|
|
|
+ // );
|
|
|
+
|
|
|
+ const exposedBodyPositions = bodyPositionList.filter(
|
|
|
+ (position) => position.dview && position.dview.expose_status === 'Exposed'
|
|
|
+ );
|
|
|
+
|
|
|
+ const dcmUrls: string[] = exposedBodyPositions.map((position) =>
|
|
|
+ getDcmImageUrl(position.sop_instance_uid)
|
|
|
+ );
|
|
|
+
|
|
|
+ console.log(`[ImageControl] dcmUrls:`, dcmUrls);
|
|
|
|
|
|
- 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)
|
|
|
- : '';
|
|
|
- const dcmUrls: string[] = [];
|
|
|
- if (isExposed) {
|
|
|
- dcmUrls.push(getDcmImageUrl(selectedBodyPosition.sop_instance_uid));
|
|
|
- console.log(`[ImageControl] dcmUrls:`, dcmUrls);
|
|
|
- }
|
|
|
return (
|
|
|
- <div className="h-full w-full">
|
|
|
- {isExposed ? (
|
|
|
- <ViewerContainer imageUrls={dcmUrls} />
|
|
|
- ) : (
|
|
|
- <Image
|
|
|
- src={imageUrl}
|
|
|
- alt="Body Position"
|
|
|
- style={{ width: '100%', height: '100%' }}
|
|
|
- />
|
|
|
- )}
|
|
|
+ <div className="h-full w-full" data-testid="viewer-container">
|
|
|
+ <ViewerContainer imageUrls={dcmUrls} />
|
|
|
{/* 第10张图和第30张图明显不同,可以用于测试,看效果*/}
|
|
|
</div>
|
|
|
);
|