1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- import { createSlice, PayloadAction } from '@reduxjs/toolkit';
- import { RootState } from '../store';
- import { setSelectedBodyPosition } from './bodyPositionListSlice';
- interface BodyPositionDetailState {
- view_name: string;
- view_description: string;
- view_icon_name: string;
- patient_name: string;
- patient_id: string;
- registration_number: string;
- study_description: string;
- body_position_image: string;
- collimator_length: string | number;
- collimator_width: string | number;
- sid: string;
- // 🆕 添加以下字段
- expose_status: string; // 'Exposed' | 'Unexposed'
- sop_instance_uid: string; // 用于获取缩略图 URL
- // Add other relevant fields as needed
- }
- const initialState: BodyPositionDetailState = {
- view_name: '',
- view_description: '',
- view_icon_name: '',
- patient_name: '',
- patient_id: '',
- registration_number: '',
- study_description: '',
- body_position_image: '',
- collimator_length: '',
- collimator_width: '',
- sid: '',
- // 🆕 添加初始值
- expose_status: 'Unexposed',
- sop_instance_uid: '',
- // Initialize other fields as needed
- };
- const bodyPositionDetailSlice = createSlice({
- name: 'bodyPositionDetail',
- initialState,
- reducers: {
- setBodyPositionDetail: (
- state,
- action: PayloadAction<BodyPositionDetailState>
- ) => {
- return {
- ...state,
- ...action.payload,
- };
- },
- },
- extraReducers: (builder) => {
- builder.addCase(setSelectedBodyPosition, (state, action) => {
- const selectedBodyPosition = action.payload;
- if (selectedBodyPosition) {
- return {
- ...state,
- view_name: selectedBodyPosition.view_name,
- view_description: selectedBodyPosition.view_description,
- view_icon_name: selectedBodyPosition.view_icon_name,
- patient_name: selectedBodyPosition.patient_name,
- patient_id: selectedBodyPosition.patient_id,
- registration_number: selectedBodyPosition.registration_number,
- study_description: selectedBodyPosition.study_description,
- body_position_image: selectedBodyPosition.body_position_image,
- collimator_length: selectedBodyPosition.collimator_length,
- collimator_width: selectedBodyPosition.collimator_width,
- sid: selectedBodyPosition.sid,
- // 🆕 添加字段映射
- expose_status: selectedBodyPosition.dview.expose_status,
- sop_instance_uid: selectedBodyPosition.sop_instance_uid,
- };
- }
- return state;
- });
- },
- });
- export const { setBodyPositionDetail } = bodyPositionDetailSlice.actions;
- export default bodyPositionDetailSlice.reducer;
|