|
|
@@ -6,28 +6,42 @@ import {
|
|
|
lockWorkInWorklistThunk,
|
|
|
fetchWorkThunk,
|
|
|
} from '@/states/patient/worklist/slices/workSlice';
|
|
|
-import { deleteWorkThunk as deleteWorkThunkFromHistory, lockWorkInhistorylistThunk } from '@/states/patient/worklist/slices/history';
|
|
|
+import {
|
|
|
+ deleteWorkThunk as deleteWorkThunkFromHistory,
|
|
|
+ lockWorkInhistorylistThunk,
|
|
|
+} from '@/states/patient/worklist/slices/history';
|
|
|
import { switchToSendPanel } from '@/states/patient/worklist/slices/historyPanelSwitchSlice';
|
|
|
import { FormattedMessage } from 'react-intl';
|
|
|
import { AppDispatch, RootState, useAppSelector } from '@/states/store';
|
|
|
import Icon from '@/components/Icon';
|
|
|
import DiagnosticReport from '../DiagnosticReport';
|
|
|
import { Popup } from 'antd-mobile';
|
|
|
-import { setVisible } from '@/states/patient/DiagnosticReport/slice';
|
|
|
+import { setVisible, setReport } from '@/states/patient/DiagnosticReport/slice';
|
|
|
import EditTaskModal from './EditTaskModal';
|
|
|
import { openEditModal } from '@/states/patient/edit/editFormSlice';
|
|
|
import DiagnosticReportBatchDownloadModal from '@/components/DiagnosticReportBatchDownloadModal';
|
|
|
import { setModalVisible } from '@/states/patient/DiagnosticReport/diagnosticReportBatchDownloadSlice';
|
|
|
import { setBusinessFlow } from '@/states/BusinessFlowSlice';
|
|
|
-import { setSourceTask, setRegisterInfo } from '@/states/patient/reregister/reregisterSlice';
|
|
|
+import {
|
|
|
+ setSourceTask,
|
|
|
+ setRegisterInfo,
|
|
|
+} from '@/states/patient/reregister/reregisterSlice';
|
|
|
import { mapTaskToRegisterInfo } from '@/domain/patient/taskToRegister';
|
|
|
import { showNotImplemented } from '@/utils/notificationHelper';
|
|
|
-import { syncRis, RisSyncRequest, saveRisBatch } from '@/API/patient/risActions';
|
|
|
+import {
|
|
|
+ syncRis,
|
|
|
+ RisSyncRequest,
|
|
|
+ saveRisBatch,
|
|
|
+} from '@/API/patient/risActions';
|
|
|
import { fetchBinThunk } from '@/states/patient/bin/slices/binSlice';
|
|
|
-import { setPage, setPageSize } from '@/states/patient/worklist/slices/searchSlice';
|
|
|
+import {
|
|
|
+ setPage,
|
|
|
+ setPageSize,
|
|
|
+} from '@/states/patient/worklist/slices/searchSlice';
|
|
|
import { WorkFilter } from '@/states/patient/worklist/types/workfilter';
|
|
|
import { BinFilter } from '@/states/patient/bin/types/binFilter';
|
|
|
import { theme } from 'antd';
|
|
|
+import { fetchDiagnosisReportContent } from '@/API/patient/DiagnosisReportActions';
|
|
|
const { useToken } = theme;
|
|
|
|
|
|
interface ActionButtonProps {
|
|
|
@@ -61,7 +75,7 @@ const ActionButton: React.FC<ActionButtonProps> = ({
|
|
|
|
|
|
const ActionPanel: React.FC = () => {
|
|
|
const dispatch = useDispatch<AppDispatch>();
|
|
|
-
|
|
|
+
|
|
|
// RIS同步loading状态
|
|
|
const [risSyncing, setRisSyncing] = useState(false);
|
|
|
// RIS保存本地loading状态
|
|
|
@@ -70,7 +84,7 @@ const ActionPanel: React.FC = () => {
|
|
|
const workSelectedIds = useSelector(
|
|
|
(state: RootState) => state.workSelection.selectedIds
|
|
|
);
|
|
|
- const workSelectedSecondaryIdsIds = useSelector(
|
|
|
+ const workSelectedSecondaryIdsIds = useSelector(
|
|
|
(state: RootState) => state.workSelection.selectedSecondaryIds
|
|
|
);
|
|
|
const historySelectedIds = useSelector(
|
|
|
@@ -90,7 +104,9 @@ const ActionPanel: React.FC = () => {
|
|
|
(state: RootState) => state.historyEntities.data
|
|
|
);
|
|
|
const searchState = useSelector((state: RootState) => state.search);
|
|
|
- const productName = useSelector((state: RootState) => state.product.productName);
|
|
|
+ const productName = useSelector(
|
|
|
+ (state: RootState) => state.product.productName
|
|
|
+ );
|
|
|
|
|
|
const getSelectedWorkIds = () => {
|
|
|
const selectedIds =
|
|
|
@@ -140,10 +156,10 @@ const ActionPanel: React.FC = () => {
|
|
|
cancelText: '取消',
|
|
|
okButtonProps: {
|
|
|
danger: true,
|
|
|
- 'data-testid': 'modal-confirm-delete'
|
|
|
+ 'data-testid': 'modal-confirm-delete',
|
|
|
},
|
|
|
cancelButtonProps: {
|
|
|
- 'data-testid': 'modal-cancel-delete'
|
|
|
+ 'data-testid': 'modal-cancel-delete',
|
|
|
},
|
|
|
centered: true,
|
|
|
onOk: () => {
|
|
|
@@ -157,7 +173,7 @@ const ActionPanel: React.FC = () => {
|
|
|
dispatch(switchToSendPanel());
|
|
|
};
|
|
|
|
|
|
- const handleShowReport = () => {
|
|
|
+ const handleShowReport = async () => {
|
|
|
const selectedIds = getSelectedWorkIds();
|
|
|
|
|
|
if (selectedIds.length === 0) {
|
|
|
@@ -176,13 +192,19 @@ const ActionPanel: React.FC = () => {
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- dispatch(setVisible({ visible: true, work: selectedWork }));
|
|
|
+ const reportRes = await fetchDiagnosisReportContent(selectedIds[0]);
|
|
|
+ if (reportRes?.code === '0x000000') {
|
|
|
+ dispatch(setReport(reportRes?.data)); // 报告接口数据
|
|
|
+ dispatch(setVisible({ visible: true, work: selectedWork })); //
|
|
|
+ } else {
|
|
|
+ message.error(reportRes?.description || '获取报告失败');
|
|
|
+ }
|
|
|
};
|
|
|
|
|
|
const getWorksFromWorklistOrHistory = () => {
|
|
|
return currentKey === 'worklist' ? workEntities : workEntitiesFromHistory;
|
|
|
};
|
|
|
-
|
|
|
+
|
|
|
const handleEdit = () => {
|
|
|
const selectedIds = getSelectedWorkIds();
|
|
|
|
|
|
@@ -204,43 +226,43 @@ const ActionPanel: React.FC = () => {
|
|
|
dispatch(openEditModal(task));
|
|
|
}
|
|
|
};
|
|
|
-
|
|
|
+
|
|
|
const handleReRegister = async () => {
|
|
|
const selectedIds = getSelectedWorkIds();
|
|
|
-
|
|
|
+
|
|
|
// 验证选择
|
|
|
if (selectedIds.length === 0) {
|
|
|
message.warning('请先选择要重新注册的项目');
|
|
|
return;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
if (selectedIds.length > 1) {
|
|
|
message.warning('只能重新注册一个项目');
|
|
|
return;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
const works = getWorksFromWorklistOrHistory();
|
|
|
const task = works.find((item) => item.StudyID === selectedIds[0]);
|
|
|
-
|
|
|
+
|
|
|
// 验证任务数据
|
|
|
if (!task) {
|
|
|
message.error('找不到选中的任务数据');
|
|
|
return;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
// 验证必要字段
|
|
|
if (!task.PatientName || !task.PatientID) {
|
|
|
message.error('任务数据不完整,缺少必要信息');
|
|
|
return;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
try {
|
|
|
// 设置源任务数据
|
|
|
await dispatch(setSourceTask(task));
|
|
|
-
|
|
|
+
|
|
|
// 将Task数据映射为RegisterInfo
|
|
|
const registerInfo = mapTaskToRegisterInfo(task);
|
|
|
- console.log(`study转换后的注册信息:${JSON.stringify(registerInfo)}`)
|
|
|
+ console.log(`study转换后的注册信息:${JSON.stringify(registerInfo)}`);
|
|
|
// 验证映射后的数据
|
|
|
if (!registerInfo.patient_name || !registerInfo.patient_id) {
|
|
|
throw new Error('数据映射失败,缺少必要信息');
|
|
|
@@ -251,11 +273,12 @@ const ActionPanel: React.FC = () => {
|
|
|
console.log(`开始切换到注册页面`);
|
|
|
// 切换到注册页面
|
|
|
await dispatch(setBusinessFlow('register'));
|
|
|
-
|
|
|
+
|
|
|
message.success('已切换到注册页面,表单已预填充');
|
|
|
} catch (error) {
|
|
|
console.error('ReRegister error:', error);
|
|
|
- const errorMessage = error instanceof Error ? error.message : '重新注册失败,请重试';
|
|
|
+ const errorMessage =
|
|
|
+ error instanceof Error ? error.message : '重新注册失败,请重试';
|
|
|
message.error(`重新注册失败: ${errorMessage}`);
|
|
|
}
|
|
|
};
|
|
|
@@ -287,24 +310,28 @@ const ActionPanel: React.FC = () => {
|
|
|
};
|
|
|
|
|
|
// RIS同步成功弹框
|
|
|
- const showSyncSuccessModal = useCallback((count: number, onOk: () => void) => {
|
|
|
- Modal.success({
|
|
|
- title: '🎉 RIS同步成功',
|
|
|
- content: (
|
|
|
- <div style={{ padding: '16px 0' }}>
|
|
|
- <p style={{ fontSize: '16px', margin: '8px 0' }}>
|
|
|
- 共同步 <strong style={{ color: '#52c41a' }}>{count}</strong> 条数据
|
|
|
- </p>
|
|
|
- <p style={{ color: '#666', margin: '8px 0' }}>
|
|
|
- 系统将自动刷新列表显示最新数据
|
|
|
- </p>
|
|
|
- </div>
|
|
|
- ),
|
|
|
- okText: '确定',
|
|
|
- centered: true,
|
|
|
- onOk: onOk
|
|
|
- });
|
|
|
- }, []);
|
|
|
+ const showSyncSuccessModal = useCallback(
|
|
|
+ (count: number, onOk: () => void) => {
|
|
|
+ Modal.success({
|
|
|
+ title: '🎉 RIS同步成功',
|
|
|
+ content: (
|
|
|
+ <div style={{ padding: '16px 0' }}>
|
|
|
+ <p style={{ fontSize: '16px', margin: '8px 0' }}>
|
|
|
+ 共同步 <strong style={{ color: '#52c41a' }}>{count}</strong>{' '}
|
|
|
+ 条数据
|
|
|
+ </p>
|
|
|
+ <p style={{ color: '#666', margin: '8px 0' }}>
|
|
|
+ 系统将自动刷新列表显示最新数据
|
|
|
+ </p>
|
|
|
+ </div>
|
|
|
+ ),
|
|
|
+ okText: '确定',
|
|
|
+ centered: true,
|
|
|
+ onOk: onOk,
|
|
|
+ });
|
|
|
+ },
|
|
|
+ []
|
|
|
+ );
|
|
|
|
|
|
// RIS同步失败弹框
|
|
|
const showSyncErrorModal = useCallback((errorMessage: string) => {
|
|
|
@@ -319,7 +346,7 @@ const ActionPanel: React.FC = () => {
|
|
|
</div>
|
|
|
),
|
|
|
okText: '确定',
|
|
|
- centered: true
|
|
|
+ centered: true,
|
|
|
});
|
|
|
}, []);
|
|
|
|
|
|
@@ -341,22 +368,27 @@ const ActionPanel: React.FC = () => {
|
|
|
// 根据当前页面类型调用相应的搜索
|
|
|
if (currentKey === 'bin') {
|
|
|
// 回收站搜索
|
|
|
- dispatch(fetchBinThunk({
|
|
|
- page: 1,
|
|
|
- pageSize: 10,
|
|
|
- filters: commonFilters as BinFilter,
|
|
|
- }));
|
|
|
+ dispatch(
|
|
|
+ fetchBinThunk({
|
|
|
+ page: 1,
|
|
|
+ pageSize: 10,
|
|
|
+ filters: commonFilters as BinFilter,
|
|
|
+ })
|
|
|
+ );
|
|
|
} else {
|
|
|
// worklist/history 搜索
|
|
|
- const status = currentKey === 'worklist' ? 'Arrived,InProgress' : 'Completed';
|
|
|
- dispatch(fetchWorkThunk({
|
|
|
- page: 1,
|
|
|
- pageSize: 10,
|
|
|
- filters: {
|
|
|
- ...commonFilters,
|
|
|
- status: status,
|
|
|
- } as WorkFilter,
|
|
|
- }));
|
|
|
+ const status =
|
|
|
+ currentKey === 'worklist' ? 'Arrived,InProgress' : 'Completed';
|
|
|
+ dispatch(
|
|
|
+ fetchWorkThunk({
|
|
|
+ page: 1,
|
|
|
+ pageSize: 10,
|
|
|
+ filters: {
|
|
|
+ ...commonFilters,
|
|
|
+ status: status,
|
|
|
+ } as WorkFilter,
|
|
|
+ })
|
|
|
+ );
|
|
|
}
|
|
|
}, [dispatch, currentKey, searchState]);
|
|
|
|
|
|
@@ -364,32 +396,32 @@ const ActionPanel: React.FC = () => {
|
|
|
const handleRisSync = useCallback(async () => {
|
|
|
try {
|
|
|
setRisSyncing(true);
|
|
|
-
|
|
|
+
|
|
|
// 构建同步参数
|
|
|
const syncParams: RisSyncRequest = {
|
|
|
start_time: searchState.start_time,
|
|
|
end_time: searchState.end_time,
|
|
|
id: searchState.id || undefined,
|
|
|
name: searchState.name || undefined,
|
|
|
- acc_no: searchState.acc_no || undefined
|
|
|
+ acc_no: searchState.acc_no || undefined,
|
|
|
};
|
|
|
|
|
|
console.log('RIS同步参数:', syncParams);
|
|
|
|
|
|
// 调用RIS同步API
|
|
|
const result = await syncRis(syncParams);
|
|
|
-
|
|
|
+
|
|
|
console.log('RIS同步结果:', result);
|
|
|
-
|
|
|
+
|
|
|
// 显示成功弹框
|
|
|
showSyncSuccessModal(result.data.count, () => {
|
|
|
// 自动触发搜索
|
|
|
triggerSearch();
|
|
|
});
|
|
|
-
|
|
|
} catch (error) {
|
|
|
console.error('RIS同步失败:', error);
|
|
|
- const errorMessage = error instanceof Error ? error.message : '同步过程中发生未知错误';
|
|
|
+ const errorMessage =
|
|
|
+ error instanceof Error ? error.message : '同步过程中发生未知错误';
|
|
|
showSyncErrorModal(errorMessage);
|
|
|
} finally {
|
|
|
setRisSyncing(false);
|
|
|
@@ -404,32 +436,36 @@ const ActionPanel: React.FC = () => {
|
|
|
if (selectedIds.length === 0) return [];
|
|
|
|
|
|
return workEntities
|
|
|
- .filter(work => selectedIds.includes(work.entry_id??''))
|
|
|
- .map(work => work.entry_id!);
|
|
|
+ .filter((work) => selectedIds.includes(work.entry_id ?? ''))
|
|
|
+ .map((work) => work.entry_id!);
|
|
|
}, [currentKey, workSelectedSecondaryIdsIds, workEntities]);
|
|
|
|
|
|
// RIS保存成功弹框
|
|
|
- const showSaveSuccessModal = useCallback((count: number) => {
|
|
|
- Modal.success({
|
|
|
- title: '🎉 保存成功',
|
|
|
- content: (
|
|
|
- <div style={{ padding: '16px 0' }}>
|
|
|
- <p style={{ fontSize: '16px', margin: '8px 0' }}>
|
|
|
- 成功保存 <strong style={{ color: '#52c41a' }}>{count}</strong> 条RIS数据到本地
|
|
|
- </p>
|
|
|
- <p style={{ color: '#666', margin: '8px 0' }}>
|
|
|
- 系统将自动刷新列表显示最新数据
|
|
|
- </p>
|
|
|
- </div>
|
|
|
- ),
|
|
|
- okText: '确定',
|
|
|
- centered: true,
|
|
|
- afterClose: () => {
|
|
|
- // 弹框自动消失后执行列表刷新
|
|
|
- triggerSearch();
|
|
|
- }
|
|
|
- });
|
|
|
- }, [triggerSearch]);
|
|
|
+ const showSaveSuccessModal = useCallback(
|
|
|
+ (count: number) => {
|
|
|
+ Modal.success({
|
|
|
+ title: '🎉 保存成功',
|
|
|
+ content: (
|
|
|
+ <div style={{ padding: '16px 0' }}>
|
|
|
+ <p style={{ fontSize: '16px', margin: '8px 0' }}>
|
|
|
+ 成功保存 <strong style={{ color: '#52c41a' }}>{count}</strong>{' '}
|
|
|
+ 条RIS数据到本地
|
|
|
+ </p>
|
|
|
+ <p style={{ color: '#666', margin: '8px 0' }}>
|
|
|
+ 系统将自动刷新列表显示最新数据
|
|
|
+ </p>
|
|
|
+ </div>
|
|
|
+ ),
|
|
|
+ okText: '确定',
|
|
|
+ centered: true,
|
|
|
+ afterClose: () => {
|
|
|
+ // 弹框自动消失后执行列表刷新
|
|
|
+ triggerSearch();
|
|
|
+ },
|
|
|
+ });
|
|
|
+ },
|
|
|
+ [triggerSearch]
|
|
|
+ );
|
|
|
|
|
|
// RIS保存本地处理函数
|
|
|
const handleRisSave = useCallback(async () => {
|
|
|
@@ -452,10 +488,10 @@ const ActionPanel: React.FC = () => {
|
|
|
|
|
|
// 显示成功弹框(暂逝后自动刷新)
|
|
|
showSaveSuccessModal(entryIds.length);
|
|
|
-
|
|
|
} catch (error) {
|
|
|
console.error('RIS保存本地失败:', error);
|
|
|
- const errorMessage = error instanceof Error ? error.message : '保存过程中发生未知错误';
|
|
|
+ const errorMessage =
|
|
|
+ error instanceof Error ? error.message : '保存过程中发生未知错误';
|
|
|
Modal.error({
|
|
|
title: '❌ 保存失败',
|
|
|
content: (
|
|
|
@@ -467,7 +503,7 @@ const ActionPanel: React.FC = () => {
|
|
|
</div>
|
|
|
),
|
|
|
okText: '确定',
|
|
|
- centered: true
|
|
|
+ centered: true,
|
|
|
});
|
|
|
} finally {
|
|
|
setRisSaving(false);
|
|
|
@@ -485,8 +521,8 @@ const ActionPanel: React.FC = () => {
|
|
|
theme={themeType}
|
|
|
size="2x"
|
|
|
state="normal"
|
|
|
- /*控制svg图标的大小,暂时使用这种fontSize方式 */
|
|
|
- style={{fontSize: '48px'}}
|
|
|
+ /*控制svg图标的大小,暂时使用这种fontSize方式 */
|
|
|
+ style={{ fontSize: '48px' }}
|
|
|
/*控制svg图标的颜色,和主题相关 ,拼接成tailwindcss class*/
|
|
|
className={`text-[${useToken().token.colorPrimary}]`}
|
|
|
/>
|
|
|
@@ -510,15 +546,23 @@ const ActionPanel: React.FC = () => {
|
|
|
size="2x"
|
|
|
state="normal"
|
|
|
/*控制svg图标的大小,暂时使用这种fontSize方式 */
|
|
|
- style={{fontSize: '48px'}}
|
|
|
+ style={{ fontSize: '48px' }}
|
|
|
/*控制svg图标的颜色,和主题相关 ,拼接成tailwindcss class*/
|
|
|
className={`text-[${useToken().token.colorPrimary}]`}
|
|
|
/>
|
|
|
}
|
|
|
tooltip={
|
|
|
<FormattedMessage
|
|
|
- id={productName === 'VETDROS' ? 'animal.actionPanel.editPatient' : 'actionPanel.editPatient'}
|
|
|
- defaultMessage={productName === 'VETDROS' ? 'animal.actionPanel.editPatient' : 'actionPanel.editPatient'}
|
|
|
+ id={
|
|
|
+ productName === 'VETDROS'
|
|
|
+ ? 'animal.actionPanel.editPatient'
|
|
|
+ : 'actionPanel.editPatient'
|
|
|
+ }
|
|
|
+ defaultMessage={
|
|
|
+ productName === 'VETDROS'
|
|
|
+ ? 'animal.actionPanel.editPatient'
|
|
|
+ : 'actionPanel.editPatient'
|
|
|
+ }
|
|
|
/>
|
|
|
}
|
|
|
onClick={handleEdit}
|
|
|
@@ -533,7 +577,7 @@ const ActionPanel: React.FC = () => {
|
|
|
size="2x"
|
|
|
state="normal"
|
|
|
/*控制svg图标的大小,暂时使用这种fontSize方式 */
|
|
|
- style={{fontSize: '48px'}}
|
|
|
+ style={{ fontSize: '48px' }}
|
|
|
/*控制svg图标的颜色,和主题相关 ,拼接成tailwindcss class*/
|
|
|
className={`text-[${useToken().token.colorPrimary}]`}
|
|
|
/>
|
|
|
@@ -546,32 +590,34 @@ const ActionPanel: React.FC = () => {
|
|
|
}
|
|
|
onClick={handleLock}
|
|
|
/>
|
|
|
- {currentKey === 'worklist' && (<ActionButton
|
|
|
- icon={
|
|
|
- <Icon
|
|
|
- module="module-patient"
|
|
|
- name="RIS"
|
|
|
- userId="base"
|
|
|
- theme={themeType}
|
|
|
- size="2x"
|
|
|
- state="normal"
|
|
|
- /*控制svg图标的大小,暂时使用这种fontSize方式 */
|
|
|
- style={{fontSize: '48px'}}
|
|
|
- /*控制svg图标的颜色,和主题相关 ,拼接成tailwindcss class*/
|
|
|
- className={`text-[${useToken().token.colorPrimary}]`}
|
|
|
- />
|
|
|
- }
|
|
|
- tooltip={
|
|
|
- <FormattedMessage
|
|
|
- id="actionPanel.risSync"
|
|
|
- defaultMessage="RIS同步"
|
|
|
- />
|
|
|
- }
|
|
|
- onClick={handleRisSync}
|
|
|
- loading={risSyncing}
|
|
|
- disabled={risSyncing}
|
|
|
- data-testid="ris-sync-button"
|
|
|
- />)}
|
|
|
+ {currentKey === 'worklist' && (
|
|
|
+ <ActionButton
|
|
|
+ icon={
|
|
|
+ <Icon
|
|
|
+ module="module-patient"
|
|
|
+ name="RIS"
|
|
|
+ userId="base"
|
|
|
+ theme={themeType}
|
|
|
+ size="2x"
|
|
|
+ state="normal"
|
|
|
+ /*控制svg图标的大小,暂时使用这种fontSize方式 */
|
|
|
+ style={{ fontSize: '48px' }}
|
|
|
+ /*控制svg图标的颜色,和主题相关 ,拼接成tailwindcss class*/
|
|
|
+ className={`text-[${useToken().token.colorPrimary}]`}
|
|
|
+ />
|
|
|
+ }
|
|
|
+ tooltip={
|
|
|
+ <FormattedMessage
|
|
|
+ id="actionPanel.risSync"
|
|
|
+ defaultMessage="RIS同步"
|
|
|
+ />
|
|
|
+ }
|
|
|
+ onClick={handleRisSync}
|
|
|
+ loading={risSyncing}
|
|
|
+ disabled={risSyncing}
|
|
|
+ data-testid="ris-sync-button"
|
|
|
+ />
|
|
|
+ )}
|
|
|
{currentKey === 'worklist' && (
|
|
|
<ActionButton
|
|
|
icon={
|
|
|
@@ -583,7 +629,7 @@ const ActionPanel: React.FC = () => {
|
|
|
size="2x"
|
|
|
state="normal"
|
|
|
/*控制svg图标的大小,暂时使用这种fontSize方式 */
|
|
|
- style={{fontSize: '48px'}}
|
|
|
+ style={{ fontSize: '48px' }}
|
|
|
/*控制svg图标的颜色,和主题相关 ,拼接成tailwindcss class*/
|
|
|
className={`text-[${useToken().token.colorPrimary}]`}
|
|
|
/>
|
|
|
@@ -601,29 +647,30 @@ const ActionPanel: React.FC = () => {
|
|
|
/>
|
|
|
)}
|
|
|
{currentKey === 'historylist' && (
|
|
|
- <ActionButton
|
|
|
- icon={
|
|
|
- <Icon
|
|
|
- module="module-patient"
|
|
|
- name="ReRegister"
|
|
|
- userId="base"
|
|
|
- theme={themeType}
|
|
|
- size="2x"
|
|
|
- state="normal"
|
|
|
- /*控制svg图标的大小,暂时使用这种fontSize方式 */
|
|
|
- style={{fontSize: '48px'}}
|
|
|
- /*控制svg图标的颜色,和主题相关 ,拼接成tailwindcss class*/
|
|
|
- className={`text-[${useToken().token.colorPrimary}]`}
|
|
|
- />
|
|
|
- }
|
|
|
- tooltip={
|
|
|
- <FormattedMessage
|
|
|
- id="actionPanel.reRegister"
|
|
|
- defaultMessage="actionPanel.reRegister"
|
|
|
- />
|
|
|
- }
|
|
|
- onClick={handleReRegister}
|
|
|
- />)}
|
|
|
+ <ActionButton
|
|
|
+ icon={
|
|
|
+ <Icon
|
|
|
+ module="module-patient"
|
|
|
+ name="ReRegister"
|
|
|
+ userId="base"
|
|
|
+ theme={themeType}
|
|
|
+ size="2x"
|
|
|
+ state="normal"
|
|
|
+ /*控制svg图标的大小,暂时使用这种fontSize方式 */
|
|
|
+ style={{ fontSize: '48px' }}
|
|
|
+ /*控制svg图标的颜色,和主题相关 ,拼接成tailwindcss class*/
|
|
|
+ className={`text-[${useToken().token.colorPrimary}]`}
|
|
|
+ />
|
|
|
+ }
|
|
|
+ tooltip={
|
|
|
+ <FormattedMessage
|
|
|
+ id="actionPanel.reRegister"
|
|
|
+ defaultMessage="actionPanel.reRegister"
|
|
|
+ />
|
|
|
+ }
|
|
|
+ onClick={handleReRegister}
|
|
|
+ />
|
|
|
+ )}
|
|
|
{currentKey === 'historylist' && (
|
|
|
<ActionButton
|
|
|
icon={
|
|
|
@@ -635,7 +682,7 @@ const ActionPanel: React.FC = () => {
|
|
|
size="2x"
|
|
|
state="normal"
|
|
|
/*控制svg图标的大小,暂时使用这种fontSize方式 */
|
|
|
- style={{fontSize: '48px'}}
|
|
|
+ style={{ fontSize: '48px' }}
|
|
|
/*控制svg图标的颜色,和主题相关 ,拼接成tailwindcss class*/
|
|
|
className={`text-[${useToken().token.colorPrimary}]`}
|
|
|
/>
|
|
|
@@ -651,7 +698,6 @@ const ActionPanel: React.FC = () => {
|
|
|
/>
|
|
|
)}
|
|
|
|
|
|
-
|
|
|
<ActionButton
|
|
|
icon={
|
|
|
<Icon
|
|
|
@@ -662,7 +708,7 @@ const ActionPanel: React.FC = () => {
|
|
|
size="2x"
|
|
|
state="normal"
|
|
|
/*控制svg图标的大小,暂时使用这种fontSize方式 */
|
|
|
- style={{fontSize: '48px'}}
|
|
|
+ style={{ fontSize: '48px' }}
|
|
|
/*控制svg图标的颜色,和主题相关 ,拼接成tailwindcss class*/
|
|
|
className={`text-[${useToken().token.colorPrimary}]`}
|
|
|
/>
|
|
|
@@ -686,7 +732,7 @@ const ActionPanel: React.FC = () => {
|
|
|
size="2x"
|
|
|
state="normal"
|
|
|
/*控制svg图标的大小,暂时使用这种fontSize方式 */
|
|
|
- style={{fontSize: '48px'}}
|
|
|
+ style={{ fontSize: '48px' }}
|
|
|
/*控制svg图标的颜色,和主题相关 ,拼接成tailwindcss class*/
|
|
|
className={`text-[${useToken().token.colorPrimary}]`}
|
|
|
/>
|
|
|
@@ -710,7 +756,7 @@ const ActionPanel: React.FC = () => {
|
|
|
size="2x"
|
|
|
state="normal"
|
|
|
/*控制svg图标的大小,暂时使用这种fontSize方式 */
|
|
|
- style={{fontSize: '48px'}}
|
|
|
+ style={{ fontSize: '48px' }}
|
|
|
/*控制svg图标的颜色,和主题相关 ,拼接成tailwindcss class*/
|
|
|
className={`text-[${useToken().token.colorPrimary}]`}
|
|
|
/>
|
|
|
@@ -774,7 +820,7 @@ const ActionPanel: React.FC = () => {
|
|
|
size="2x"
|
|
|
state="normal"
|
|
|
/*控制svg图标的大小,暂时使用这种fontSize方式 */
|
|
|
- style={{fontSize: '48px'}}
|
|
|
+ style={{ fontSize: '48px' }}
|
|
|
/*控制svg图标的颜色,和主题相关 ,拼接成tailwindcss class*/
|
|
|
className={`text-[${useToken().token.colorPrimary}]`}
|
|
|
/>
|