export type PartnerStoreAuditStatus = 'PENDING' | 'APPROVED' | 'REJECTED' | string; export function storeAuditLabel(auditStatus?: string | null): string { const s = String(auditStatus || 'APPROVED').toUpperCase(); if (s === 'PENDING') return '待审核'; if (s === 'REJECTED') return '审核驳回'; if (s === 'APPROVED') return '审核通过'; return auditStatus || '—'; } export function storeAuditPillClass(auditStatus?: string | null): string { const s = String(auditStatus || 'APPROVED').toUpperCase(); if (s === 'PENDING') return 'partner-status-pill--paused'; if (s === 'REJECTED') return 'partner-status-pill--closed'; return 'partner-status-pill--open'; } export type StoreStatusValue = 'OPEN' | 'PAUSED' | 'CLOSED'; export function storeStatusLabel(status: string): string { const s = String(status).toUpperCase(); if (s === 'OPEN') return '营业中'; if (s === 'PAUSED') return '临时闭店'; if (s === 'CLOSED') return '永久闭店'; return status; } /** 列表右上角统一状态:审核未通过优先于营业状态 */ export function storeListBadge(store: { status?: unknown; auditStatus?: unknown; }): { label: string; pillClass: string } { const audit = String(store.auditStatus || 'APPROVED').toUpperCase(); if (audit === 'PENDING') { return { label: '待审核', pillClass: storeAuditPillClass('PENDING') }; } if (audit === 'REJECTED') { return { label: '审核驳回', pillClass: storeAuditPillClass('REJECTED') }; } const status = String(store.status || '').toUpperCase(); return { label: storeStatusLabel(status), pillClass: storeStatusPillClass(status) }; } export function storeStatusPillClass(status: string): string { const s = String(status).toUpperCase(); if (s === 'OPEN') return 'partner-status-pill--open'; if (s === 'PAUSED') return 'partner-status-pill--paused'; return 'partner-status-pill--closed'; } export function canPartnerOpenStore(auditStatus?: string | null): boolean { return String(auditStatus || '').toUpperCase() === 'APPROVED'; }