瀏覽代碼

feat: implement column config for history table

Modified files:
- src/config/tableColumns/adapters/LocalColumnConfigAdapter.ts
- src/pages/patient/HistoryList.tsx
sw 4 天之前
父節點
當前提交
10065f0f41
共有 2 個文件被更改,包括 47 次插入1 次删除
  1. 29 0
      src/config/tableColumns/adapters/LocalColumnConfigAdapter.ts
  2. 18 1
      src/pages/patient/HistoryList.tsx

+ 29 - 0
src/config/tableColumns/adapters/LocalColumnConfigAdapter.ts

@@ -78,6 +78,35 @@ export class LocalColumnConfigAdapter implements IColumnConfigProvider {
             { key: 'PatientID', visible: false, order: 100 },
             { key: 'AccessionNumber', visible: false, order: 101 },
             { key: 'Modality', visible: false, order: 102 },
+            { key: 'StudyInstanceUID', visible: false, order: 100 },
+            { key: 'SpecificCharacterSet', visible: false, order: 101 },
+            { key: 'DisplayPatientName', visible: false, order: 102 },
+            { key: 'PatientSize', visible: false, order: 103 },
+            { key: 'AdmittingTime', visible: false, order: 104 },
+            { key: 'RegSource', visible: false, order: 105 },
+            { key: 'RequestedProcedureID', visible: false, order: 106 },
+            { key: 'PerformedProtocolCodeValue', visible: false, order: 107 },
+            { key: 'PerformedProtocolCodeMeaning', visible: false, order: 108 },
+            { key: 'PerformedProcedureStepID', visible: false, order: 109 },
+            { key: 'StudyDescription', visible: false, order: 110 },
+            {
+              key: 'ScheduledProcedureStepStartDate',
+              visible: false,
+              order: 111,
+            },
+            { key: 'StudyLock', visible: true, order: 112 },
+            { key: 'OperatorID', visible: false, order: 113 },
+            { key: 'Views', visible: false, order: 114 },
+            { key: 'Thickness', visible: false, order: 115 },
+            { key: 'PatientType', visible: false, order: 116 },
+            { key: 'StudyType', visible: false, order: 117 },
+            { key: 'QRCode', visible: false, order: 118 },
+            { key: 'IsEdited', visible: false, order: 120 },
+            { key: 'WorkRef', visible: false, order: 121 },
+            { key: 'IsAppended', visible: false, order: 122 },
+            { key: 'CreationTime', visible: false, order: 123 },
+            { key: 'MappedStatus', visible: false, order: 124 },
+            { key: 'IsDelete', visible: false, order: 125 },
           ],
           version: '1.0.0',
         },

+ 18 - 1
src/pages/patient/HistoryList.tsx

@@ -18,6 +18,7 @@ import GenericPagination from '../../components/GenericPagination';
 import { RootState, AppDispatch } from '../../states/store';
 import { Task } from '@/domain/work';
 import worklistToExam from '../../domain/patient/worklistToExam';
+import { ColumnConfig, columnConfigService } from '@/config/tableColumns';
 
 const { useBreakpoint } = Grid;
 
@@ -40,7 +41,21 @@ const HistorylistPage: React.FC = () => {
   const currentPanel = useSelector(
     (state: RootState) => state.historyPanelSwitch.currentPanel
   );
-
+   const [columnConfig, setColumnConfig] = useState<ColumnConfig[]>([]);
+  // 获取和应用列配置
+  useEffect(() => {
+    columnConfigService
+      .getColumnConfig('history')
+      .then((config) => {
+        setColumnConfig(config.columns);
+        console.log(`成功为history设置列的配置信息`);
+      })
+      .catch((error) => {
+        console.error('Failed to load history column config:', error);
+        // 失败时使用空配置,表格会显示所有列
+        setColumnConfig([]);
+      });
+  }, []);
   // 同步分页状态到过滤器
   useEffect(() => {
     console.log('[historylist] Syncing pagination to filters:', {
@@ -89,6 +104,7 @@ const HistorylistPage: React.FC = () => {
         <>
           <div className="flex-1 overflow-auto">
             <WorklistTable
+              columnConfig={columnConfig}
               worklistData={historylistData}
               filters={filters}
               page={page}
@@ -139,6 +155,7 @@ const HistorylistPage: React.FC = () => {
             <div className="flex-1 flex flex-col">
               <div className="flex-1 overflow-auto">
                 <WorklistTable
+                columnConfig={columnConfig}
                   worklistData={historylistData}
                   filters={filters}
                   page={page}