17 lines
757 B
TypeScript
17 lines
757 B
TypeScript
import type { PartnerSettlementPreviewDto } from '@dukang/shared-types';
|
|
|
|
export function formatBillPeriod(start?: string | null, end?: string | null) {
|
|
const s = String(start || '').slice(0, 10);
|
|
const e = String(end || '').slice(0, 10);
|
|
if (!s) return '—';
|
|
if (!e || e === s) return s;
|
|
return `${s} ~ ${e}`;
|
|
}
|
|
|
|
export function formatIssueLabel(preview: Pick<PartnerSettlementPreviewDto, 'nextIssueAt' | 'cycleLabel'> | null) {
|
|
if (!preview?.nextIssueAt) return preview?.cycleLabel || '每周一 08:00 出账';
|
|
const ymd = new Date(preview.nextIssueAt).toLocaleDateString('sv-SE', { timeZone: 'Asia/Shanghai' });
|
|
if (!ymd || ymd === 'Invalid Date') return preview.cycleLabel || '每周一 08:00 出账';
|
|
return `${ymd} 08:00 出账`;
|
|
}
|