|
|
@@ -8,14 +8,13 @@ import { OperationsService } from '../operations.service';
|
|
|
const localDateKey=(value:Date):string=>`${value.getFullYear()}-${String(value.getMonth()+1).padStart(2,'0')}-${String(value.getDate()).padStart(2,'0')}`;
|
|
|
|
|
|
type SearchField='member'|'course'|'coach';
|
|
|
-export type ScheduleStatusTone='status-upcoming'|'status-live'|'status-coach-ended'|'status-confirmed'|'status-completed'|'status-overdue'|'status-overdue-incomplete'|'status-cancelled'|'status-neutral';
|
|
|
+export type ScheduleStatusTone='status-upcoming'|'status-live'|'status-coach-ended'|'status-confirmed'|'status-completed'|'status-overdue'|'status-cancelled'|'status-neutral';
|
|
|
const scheduleStatusLabels:Partial<Record<number,string>>={0:'待开始',10:'上课中',11:'陪练已结束',20:'学员已确认',30:'已完课'};
|
|
|
|
|
|
export function scheduleStatusTone(item:Pick<ScheduleAppointment,'cancelled'|'statusCode'|'endsAt'>,now=Date.now()):ScheduleStatusTone{
|
|
|
if(item.cancelled)return 'status-cancelled';
|
|
|
const endTime=Date.parse(item.endsAt);
|
|
|
- if(item.statusCode===0&&Number.isFinite(endTime)&&endTime<now)return 'status-overdue';
|
|
|
- if(item.statusCode===10&&Number.isFinite(endTime)&&endTime<now)return 'status-overdue-incomplete';
|
|
|
+ if((item.statusCode===0||item.statusCode===10)&&Number.isFinite(endTime)&&endTime<now)return 'status-overdue';
|
|
|
if(item.statusCode===0)return 'status-upcoming';
|
|
|
if(item.statusCode===10)return 'status-live';
|
|
|
if(item.statusCode===11)return 'status-coach-ended';
|
|
|
@@ -27,8 +26,7 @@ export function scheduleStatusTone(item:Pick<ScheduleAppointment,'cancelled'|'st
|
|
|
export function scheduleStatusLabel(item:Pick<ScheduleAppointment,'cancelled'|'statusCode'|'statusLabel'|'endsAt'>,now=Date.now()):string{
|
|
|
const tone=scheduleStatusTone(item,now);
|
|
|
if(tone==='status-cancelled')return '已取消';
|
|
|
- if(tone==='status-overdue')return '逾期未上课';
|
|
|
- if(tone==='status-overdue-incomplete')return '逾期未完课';
|
|
|
+ if(tone==='status-overdue')return '逾期未完成';
|
|
|
return scheduleStatusLabels[item.statusCode]||item.statusLabel||`状态 ${item.statusCode}`;
|
|
|
}
|
|
|
|