/**
 * 处方订单模块字典常量
 * 列表 Tag 槽与卡片视图共用同一份映射，避免两处渲染语义漂移
 */
export interface TagMeta {
  color: string;
  label: string;
}

/** 处方类型映射（与列表 #status 槽第一行渲染语义一致） */
export const PRESCRIPTION_ORDER_TYPE_MAP: Record<number, TagMeta> = {
  1: { label: '中药', color: 'orange' },
  2: { label: '商品【西药】', color: 'blue' },
  3: { label: '商品【保健食品】', color: 'purple' },
  4: { label: '已退款', color: 'green' },
  5: { label: '产品服务包', color: 'pink' },
  6: { label: '非药品', color: 'cyan' },
  7: { label: '医疗器械', color: 'geekblue' },
};

/** 审核状态映射（status：0待审核 1已通过 2已拒绝 3/4无需审核） */
export const PRESCRIPTION_STATUS_MAP: Record<number, TagMeta> = {
  0: { label: '待审核', color: 'red' },
  1: { label: '已通过', color: 'green' },
  2: { label: '已拒绝', color: 'red' },
  3: { label: '无需审核', color: 'purple' },
  4: { label: '无需审核', color: 'green' },
};

/**
 * 处方来源映射
 * is_online 由挂号 type 经 RegisterTypeEnum::getIsOnlineByType 映射：
 * 1=在线问诊 2=诊所在线复诊 3=药店在线复诊 0=线下
 * （老页面漏了 3，药店复诊被误显示为线下，这里补全）
 */
export const PRESCRIPTION_IS_ONLINE_MAP: Record<number, TagMeta> = {
  1: { label: '在线问诊', color: 'blue' },
  2: { label: '在线复诊（诊所）', color: 'green' },
  3: { label: '在线复诊（药店）', color: 'green' },
};

/** 来源兜底：线下就诊 */
export const PRESCRIPTION_IS_ONLINE_FALLBACK: TagMeta = {
  label: '线下就诊',
  color: 'default',
};

/** 搜索下拉：处方来源选项 */
export const PRESCRIPTION_IS_ONLINE_OPTIONS = [
  { label: '在线问诊', value: 1 },
  { label: '在线复诊（诊所）', value: 2 },
  { label: '在线复诊（药店）', value: 3 },
  { label: '线下就诊', value: 0 },
];
