|
|
@@ -23,6 +23,7 @@ import {
|
|
|
fetchTaskList,
|
|
|
lockStudy,
|
|
|
} from '../../../../API/patient/workActions';
|
|
|
+import { editTaskThunk } from '../../edit/editFormSlice';
|
|
|
import store from '@/states/store';
|
|
|
import { EntitiesState } from '@/states/list_template/type.model';
|
|
|
|
|
|
@@ -141,10 +142,43 @@ const {
|
|
|
page_size: 10,
|
|
|
} satisfies WorkFilter,
|
|
|
{
|
|
|
- lock: {
|
|
|
- thunk: lockWorkInhistorylistThunk,
|
|
|
- handlers: createLockHandlers(),
|
|
|
+ lock: {
|
|
|
+ thunk: lockWorkInhistorylistThunk,
|
|
|
+ handlers: createLockHandlers(),
|
|
|
+ },
|
|
|
+ // 监听 editFormSlice 的编辑 thunk
|
|
|
+ editFromEditForm: {
|
|
|
+ thunk: editTaskThunk,
|
|
|
+ handlers: {
|
|
|
+ fulfilled: (
|
|
|
+ state: Draft<EntitiesState<work | workAnimal>>,
|
|
|
+ action: PayloadAction<any>
|
|
|
+ ) => {
|
|
|
+ const { studyId, result } = action.payload;
|
|
|
+ console.log(`historylist 监听到编辑成功,更新列表数据,studyId: ${studyId}`);
|
|
|
+ const item = state.data.find((item) => item.StudyID === studyId);
|
|
|
+ if (item && result.code === '0x000000') {
|
|
|
+ // 更新列表中的项目数据
|
|
|
+ const updatedData = result.data;
|
|
|
+ item.PatientName = updatedData.patient_name;
|
|
|
+ item.PatientID = updatedData.patient_id;
|
|
|
+ item.PatientSex = updatedData.patient_sex;
|
|
|
+ item.PatientAge = updatedData.patient_age;
|
|
|
+ item.PatientSize = updatedData.patient_size;
|
|
|
+ item.AccessionNumber = updatedData.accession_number;
|
|
|
+ item.OperatorID = updatedData.operator_name;
|
|
|
+ // 根据产品类型更新特定字段
|
|
|
+ if ('owner_name' in item) {
|
|
|
+ (item as any).owner_name = (updatedData as any).owner_name;
|
|
|
+ (item as any).chip_number = (updatedData as any).chip_number;
|
|
|
+ (item as any).variety = (updatedData as any).variety;
|
|
|
+ (item as any).is_anaesthesia = (updatedData as any).is_anaesthesia;
|
|
|
+ (item as any).is_sedation = (updatedData as any).is_sedation;
|
|
|
+ }
|
|
|
+ }
|
|
|
},
|
|
|
+ },
|
|
|
+ },
|
|
|
}
|
|
|
);
|
|
|
|