/**
 * Excel 列配置
 * 用于映射 Excel 中的数据以及生成模板文件
 */
export interface ExcelColumnConfig {
  /**
   * Excel 中的列名（支持多个，按顺序匹配）
   * 例如：["物料编号", "partNumber", "商品编号"]
   */
  sourceKey: string | string[];

  /**
   * 模板表头显示文本
   * 如果不设置，默认使用 sourceKey 的第一个值
   */
  header?: string;

  /**
   * 模板列宽（字符数）
   * 默认 20
   */
  width?: number;

  /**
   * 默认值
   */
  defaultValue?: any;

  /**
   * 转换方法
   * @param val 原值
   * @returns 转换后的值
   */
  transform?: (val: any) => any;
}

/**
 * 映射配置表 目标 key -> 规则
 */
export type FieldMappingConfig = Record<string, ExcelColumnConfig>;

/**
 * 明细数据加载配置
 */
export interface DetailLoadConfig {
  /**
   * 加载明细的接口地址
   */
  url: string;

  /**
   * 参数名，如 'orderId'、'id'
   */
  paramName: string;

  /**
   * 响应数据路径，如 'data'、'data.items'
   * 默认 'data'
   */
  dataPath?: string;
}
