/**
 * 商品订单模块共用常量
 *
 * 处方类型/订单状态等 Tag 映射此前散落在 index.vue 模板的 if-else 链里，
 * 漏掉了特色方(0)，且列表/卡片/导出各处无法复用，统一收敛到这里。
 */
export interface TagMeta {
  /** 显示文案 */
  label: string;
  /** antd Tag color */
  color: string;
}

/**
 * 处方类型（prescription_type）全量映射
 * 对齐后端 ProductTypeEnum：含不参与开方筛选的特色方(0)与历史遗留值(4=西药)
 */
export const PRESCRIPTION_TYPE_MAP: Record<number, TagMeta> = {
  0: { label: '特色方', color: 'gold' },
  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）映射，与列表原 if-else 链颜色语义一致 */
export const ORDER_STATUS_MAP: Record<number, TagMeta> = {
  0: { label: '待支付', color: 'red' },
  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: 'green' },
  8: { label: '拒绝退款', color: '#B22222' },
  9: { label: '已取消', color: 'gray' },
};

/** 订单类型（order_type）映射：非 1 的订单不展示处方类型 Tag */
export const ORDER_TYPE_MAP: Record<number, TagMeta> = {
  1: { label: '处方订单', color: 'yellow' },
  2: { label: '预约购药订单', color: 'yellow' },
  3: { label: '商城处方订单', color: 'yellow' },
};

/** 就诊来源（is_online）映射，0/其他值视为线下就诊 */
export const IS_ONLINE_MAP: Record<number, TagMeta> = {
  1: { label: '在线问诊', color: 'blue' },
  2: { label: '在线复诊（诊所）', color: 'green' },
  3: { label: '在线复诊（药店）', color: 'green' },
};

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