Integrate SBAS workflows and redesign task center

This commit is contained in:
2026-06-13 13:10:12 +08:00
parent b931e8db53
commit 58a87706ef
275 changed files with 18750 additions and 42524 deletions
+1 -1
View File
@@ -127,7 +127,7 @@ export const LEFT_GROUP_SECTIONS = {
{
key: 'psinsar',
label: '时序InSAR',
tabs: ['psinsar_results', 'psinsar_analysis'],
tabs: ['psinsar_analysis'],
},
],
ai_analysis: [
+76
View File
@@ -0,0 +1,76 @@
const TASK_UI_POLICIES = {
SCAN_DATA: { label: '同步源数据', featureScope: 'data_monitor' },
SCAN_DINSAR: { label: '扫描 D-InSAR 结果', featureScope: 'dinsar_products' },
DINSAR_RESULT_SCAN: { label: 'D-InSAR 结果扫描', featureScope: 'dinsar_products' },
AI_TRAIN: { label: '训练 AI 模型', featureScope: 'ai' },
AI_PREDICT: { label: '全量质量评估', featureScope: 'ai' },
AI_ANALYZE: { label: 'AI 智能诊断', featureScope: 'ai' },
AI_WARMUP: { label: 'AI 模型预热', featureScope: 'ai' },
COPY_DATA: { label: '数据分发拷贝', featureScope: 'data_monitor' },
SCAN_HAZARD: { label: '灾害点同步', featureScope: 'hazard' },
UNPACK_ARCHIVES: { label: 'LT-1 解包', featureScope: 'data_monitor' },
UNPACK_SENTINEL1: { label: 'Sentinel-1 解包', featureScope: 'data_monitor' },
GF3_UNPACK: { label: 'GF3 解包', featureScope: 'data_monitor' },
GF3_BATCH_PROCESS: { label: 'GF3 预处理', featureScope: 'data_monitor' },
GF3_SARSCAPE_PRODUCE: { label: 'GF3 SARscape 生产', featureScope: 'data_monitor' },
GF3_SARSCAPE_SYNC: { label: 'GF3 SARscape 入库', featureScope: 'data_monitor' },
GF3_SARSCAPE_CLEAN: { label: 'GF3 中间清理', featureScope: 'data_monitor' },
SCAN_ASSET_INVENTORY: { label: '资产库存扫描', featureScope: 'asset_inventory' },
IDL_IMPORT: { label: 'ENVI 数据导入', featureScope: 'dinsar_production' },
IDL_DINSAR: { label: 'ENVI D-InSAR 生产', featureScope: 'dinsar_production' },
IDL_RUN_DINSAR: { label: 'ENVI D-InSAR 生产', featureScope: 'dinsar_production' },
ISCE2_RUN: { label: 'ISCE2 D-InSAR 生产', featureScope: 'dinsar_production' },
PYINT_RUN: { label: 'PyINT D-InSAR 生产', featureScope: 'dinsar_production' },
LANDSAR_RUN: { label: 'LandSAR D-InSAR 生产', featureScope: 'dinsar_production' },
SBAS_GAMMA_WORKFLOW: { label: 'Gamma SBAS 工作流', featureScope: 'sbas_insar' },
SBAS_LANDSAR_WORKFLOW: { label: 'LandSAR SBAS 工作流', featureScope: 'sbas_insar' },
SBAS_COREGISTRATION: { label: 'SBAS 配准', featureScope: 'sbas_insar' },
SBAS_RDC_DEM: { label: 'SBAS RDC DEM', featureScope: 'sbas_insar' },
SBAS_INTERFEROGRAMS: { label: 'SBAS 干涉图', featureScope: 'sbas_insar' },
SBAS_IPTA_TIMESERIES: { label: 'SBAS IPTA 时序', featureScope: 'sbas_insar' },
REBUILD_SBAS_INSAR_CATALOG: { label: 'SBAS 结果目录重建', featureScope: 'sbas_products' },
};
const PREFIX_POLICIES = [
{ prefix: 'WATER_GEOCODE_', label: '水体地理编码', featureScope: 'water' },
{ prefix: 'WATER_DETECT_', label: '水体检测', featureScope: 'water' },
{ prefix: 'WATER_FLOOD_', label: '洪涝检测', featureScope: 'water' },
{ prefix: 'FLOOD_SCENE_PREPROCESS_', label: '洪涝场景预处理', featureScope: 'flood' },
{ prefix: 'FLOOD_WATER_EXTRACTION_', label: '洪涝水体提取', featureScope: 'flood' },
{ prefix: 'FLOOD_DETECTION_', label: '洪涝检测', featureScope: 'flood' },
{ prefix: 'GF3_PROCESS_', label: 'GF3 场景处理', featureScope: 'water' },
];
export function getTaskUiPolicy(taskType) {
const normalized = String(taskType || '').trim().toUpperCase();
if (!normalized) {
return {
taskType: '',
label: '后台任务',
featureScope: 'unknown',
globalVisible: true,
globalBlocking: false,
localBlocking: true,
};
}
const exact = TASK_UI_POLICIES[normalized];
const prefix = PREFIX_POLICIES.find((item) => normalized.startsWith(item.prefix));
const policy = exact || prefix || {};
return {
taskType: normalized,
label: policy.label || normalized,
featureScope: policy.featureScope || 'unknown',
globalVisible: policy.globalVisible ?? true,
globalBlocking: policy.globalBlocking ?? false,
localBlocking: policy.localBlocking ?? true,
};
}
export function isTaskGloballyBlocking(taskType) {
return !!getTaskUiPolicy(taskType).globalBlocking;
}
export function getTaskTypeLabel(taskType) {
return getTaskUiPolicy(taskType).label;
}