|
@@ -30,6 +30,7 @@ export type LocationKey =
|
|
|
export interface DataState {
|
|
export interface DataState {
|
|
|
hasSelection?: boolean; // 任务清单/历史清单
|
|
hasSelection?: boolean; // 任务清单/历史清单
|
|
|
hasExposedImage?: boolean; // 检查/处理
|
|
hasExposedImage?: boolean; // 检查/处理
|
|
|
|
|
+ hasImage?: boolean; // 是否有实际图像
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// 权限表:Record<location, Record<button, boolean>>
|
|
// 权限表:Record<location, Record<button, boolean>>
|
|
@@ -168,15 +169,16 @@ export function getBtnAvailability(
|
|
|
): Record<BtnKey, boolean> {
|
|
): Record<BtnKey, boolean> {
|
|
|
const row = { ...PERMISSION_MAP[location] }; // 先拷贝一份
|
|
const row = { ...PERMISSION_MAP[location] }; // 先拷贝一份
|
|
|
|
|
|
|
|
- // 1. worklist / historylist 根据 hasSelection 开关 exam/process/print
|
|
|
|
|
|
|
+ // 1. worklist / historylist 根据 hasSelection 开关 exam/process,根据 hasSelection && hasImage 开关 print
|
|
|
if (location === 'worklist' || location === 'historylist') {
|
|
if (location === 'worklist' || location === 'historylist') {
|
|
|
const ok = Boolean(dataState.hasSelection);
|
|
const ok = Boolean(dataState.hasSelection);
|
|
|
|
|
+ const printOk = Boolean(dataState.hasSelection && dataState.hasImage);
|
|
|
console.log(
|
|
console.log(
|
|
|
- `当前是 ${location} 页面,hasSelection=${dataState.hasSelection},exam/process/print 可用性=${ok}`
|
|
|
|
|
|
|
+ `当前是 ${location} 页面,hasSelection=${dataState.hasSelection},hasImage=${dataState.hasImage},exam/process 可用性=${ok},print 可用性=${printOk}`
|
|
|
);
|
|
);
|
|
|
row.exam = ok;
|
|
row.exam = ok;
|
|
|
row.process = ok;
|
|
row.process = ok;
|
|
|
- row.print = ok;
|
|
|
|
|
|
|
+ row.print = printOk;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// 2. exam / process 根据 hasExposedImage 开关 process/print
|
|
// 2. exam / process 根据 hasExposedImage 开关 process/print
|