Browse Source

向后端注册患者信息时,给view部分添加procedure_id

dengdx 2 months ago
parent
commit
0ad2b57964

+ 1 - 0
src/API/patient/viewActions.ts

@@ -24,6 +24,7 @@ export interface View {
   is_enabled: boolean;
   is_enabled: boolean;
   product: string;
   product: string;
   is_pre_install: boolean;
   is_pre_install: boolean;
+  procedure_id?: string;
 }
 }
 
 
 interface FetchViewsResponse {
 interface FetchViewsResponse {

+ 4 - 2
src/API/patient/workActions.ts

@@ -37,7 +37,7 @@ interface Series {
   images: Image[];
   images: Image[];
 }
 }
 
 
-interface Work {
+export interface RegisterInfo {
   accession_number: string;
   accession_number: string;
   patient_id: string;
   patient_id: string;
   patient_name: string;
   patient_name: string;
@@ -114,7 +114,9 @@ interface RegisterWorkResponse {
   };
   };
 }
 }
 
 
-const registerWork = async (work: Work): Promise<RegisterWorkResponse> => {
+const registerWork = async (
+  work: RegisterInfo
+): Promise<RegisterWorkResponse> => {
   console.log('Work object:', JSON.stringify(work, null, 2));
   console.log('Work object:', JSON.stringify(work, null, 2));
 
 
   const response = await axios.post('/dr/api/v1/auth/study', work, {
   const response = await axios.post('/dr/api/v1/auth/study', work, {

+ 4 - 4
src/pages/patient/register.tsx

@@ -4,7 +4,7 @@ import { FormattedMessage } from 'react-intl';
 import BasicInfoForm from './components/register.form';
 import BasicInfoForm from './components/register.form';
 import SelectedProtocolList from './components/register.selected.view.list';
 import SelectedProtocolList from './components/register.selected.view.list';
 import RegisterAvailableList from './components/register.available.list';
 import RegisterAvailableList from './components/register.available.list';
-import { registerWork } from '@/API/patient/workActions';
+import { RegisterInfo, registerWork } from '@/API/patient/workActions';
 import useRegisterState from '@/hooks/useRegisterState';
 import useRegisterState from '@/hooks/useRegisterState';
 
 
 const { useBreakpoint } = Grid;
 const { useBreakpoint } = Grid;
@@ -17,17 +17,17 @@ const RegisterPage: React.FC = () => {
 
 
   const handleRegister = async () => {
   const handleRegister = async () => {
     try {
     try {
-      const work = {
+      const registerInfo: RegisterInfo = {
         ...form.getFieldsValue(),
         ...form.getFieldsValue(),
         patient_type: currentPatientType?.patient_type_id,
         patient_type: currentPatientType?.patient_type_id,
         modality: 'dx',
         modality: 'dx',
         study_type: 'Normal',
         study_type: 'Normal',
         views: selectedViews.map((view) => ({
         views: selectedViews.map((view) => ({
           view_id: view.view_id,
           view_id: view.view_id,
-          procedure_id: 'aaa',
+          procedure_id: view.procedure_id,
         })),
         })),
       };
       };
-      const response = await registerWork(work);
+      const response = await registerWork(registerInfo);
       console.log('Work registered successfully:', response);
       console.log('Work registered successfully:', response);
     } catch (error) {
     } catch (error) {
       console.error('Error registering work:', error);
       console.error('Error registering work:', error);

+ 7 - 1
src/states/patient/viewSelection/index.ts

@@ -207,10 +207,16 @@ const viewSelectionSlice = createSlice({
         console.log('Fetching views by procedure ID: pending');
         console.log('Fetching views by procedure ID: pending');
       })
       })
       .addCase(fetchViewsByProcedureId.fulfilled, (state, action) => {
       .addCase(fetchViewsByProcedureId.fulfilled, (state, action) => {
-        state.selectedViews = [...state.selectedViews, ...action.payload];
+        const procedureId = action.meta.arg;
+        const views = action.payload.map((view) => ({
+          ...view,
+          procedure_id: procedureId,
+        }));
+        state.selectedViews = [...state.selectedViews, ...views];
         console.log(
         console.log(
           `Fetching views by procedure ID: fulfilled ${JSON.stringify(state.availableViews)}`
           `Fetching views by procedure ID: fulfilled ${JSON.stringify(state.availableViews)}`
         );
         );
+        console.log(`Procedure ID: ${procedureId}`);
       })
       })
 
 
       .addCase(fetchViewsByProcedureId.rejected, (state, action) => {
       .addCase(fetchViewsByProcedureId.rejected, (state, action) => {