fix(imports): 修复 AI 导入向导多工作表与表头误判
- AI resolve 生成向导时按阶段携带全部 sheetNames,不再只取第一张表 - ImportStageRequest 支持 sheets 数组并兼容旧 sheet;手动重传同步修复 - headerMatches 收窄为单向包含,避免宿舍号被原/新宿舍号反向匹配 - suggestStep 增加入住/换宿显式表头信号,修复入住表误判为换宿 - 预检与预览按工作表逐表解析列映射,兼容异构表头 - 修复预检卡生成向导成功后按钮未复位 loading 的问题 - 补充 mapping/预检/run/ai-chat 多工作表测试
This commit is contained in:
@@ -146,6 +146,7 @@ export const ImportPreflightCard: React.FC<ImportPreflightCardProps> = ({
|
||||
});
|
||||
} catch (resolveError) {
|
||||
setError(resolveError instanceof Error ? resolveError.message : '导入向导生成失败');
|
||||
} finally {
|
||||
setSubmitting(false);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -259,7 +259,7 @@ export const ImportWizardModal: React.FC<ImportWizardModalProps> = ({
|
||||
try {
|
||||
const detail = await createImportRun(file, {
|
||||
source: 'manual',
|
||||
stages: [{ stepKey: activeStepKey, sheet: sheetSelection[activeStepKey]?.[0] }],
|
||||
stages: [{ stepKey: activeStepKey, sheets: sheetSelection[activeStepKey] ?? [] }],
|
||||
mapping: { [activeStepKey]: mappingDraft[activeStepKey] ?? {} },
|
||||
});
|
||||
await loadRun(detail.id);
|
||||
|
||||
@@ -47,7 +47,10 @@ export interface ImportRunDetail {
|
||||
|
||||
export interface ImportStageRequest {
|
||||
stepKey: ImportStepKey;
|
||||
/** 兼容旧调用:单个工作表名。 */
|
||||
sheet?: string;
|
||||
/** 一个阶段可包含多张工作表;与 sheet 二选一(sheets 优先)。 */
|
||||
sheets?: string[];
|
||||
headerRow?: number;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user