From 871c8c021b1489e8958b5e484d87c59905747f08 Mon Sep 17 00:00:00 2001 From: ouyangxq <775153912@qq.com> Date: Sat, 10 Oct 2026 11:43:49 +0800 Subject: [PATCH] feat(appointments): show pickup appointments with source scope warnings --- .../AppointmentCalendarPanel.vue | 14 +++++--- .../AppointmentCalendarView.test.ts | 35 +++++++++++++++--- .../AppointmentCalendarView.vue | 36 ++++++++++++++++--- .../appointment-calendar/PROTOTYPE_MATRIX.md | 3 +- src/modules/appointment-calendar/api.ts | 23 ++++++++++++ 5 files changed, 97 insertions(+), 14 deletions(-) diff --git a/src/modules/appointment-calendar/AppointmentCalendarPanel.vue b/src/modules/appointment-calendar/AppointmentCalendarPanel.vue index f7ae284b..3c5b269f 100644 --- a/src/modules/appointment-calendar/AppointmentCalendarPanel.vue +++ b/src/modules/appointment-calendar/AppointmentCalendarPanel.vue @@ -8,13 +8,14 @@ export interface CalendarEvent { key: string date: string time: string - type: 'arrival' | 'delivery' + type: 'arrival' | 'delivery' | 'pickup' title: string subtitle?: string fields: Array<{ label: string; value?: string | null }> inboundCodes?: Array canEdit?: boolean canDelete?: boolean + sourcePath?: string } const props = withDefaults(defineProps<{ @@ -29,6 +30,7 @@ const emit = defineEmits<{ create: [date: string] edit: [event: CalendarEvent] delete: [event: CalendarEvent] + open: [event: CalendarEvent] }>() const selectedDate = ref(props.initialDate || dateKey(new Date())) const mode = ref('month') @@ -45,6 +47,7 @@ const grouped = computed(() => { }) const selectedEvents = computed(() => grouped.value.get(selectedDate.value) || []) const weekdays = ['周一', '周二', '周三', '周四', '周五', '周六', '周日'] +const eventTypeLabels = { arrival: '船舶到港', delivery: '预约送仓', pickup: '预约提柜' } const heading = computed(() => mode.value === 'month' ? `${selectedDate.value.slice(0, 4)}年${Number(selectedDate.value.slice(5, 7))}月` : `${dates.value[0]} — ${addDays(calendarRange(selectedDate.value, mode.value).to, -1)}`) @@ -69,7 +72,7 @@ defineExpose({ selectedDate, mode })
预约日历 - 船舶到港预约送仓 + 船舶到港预约送仓预约提柜
+ 新增预约 @@ -103,11 +106,12 @@ defineExpose({ selectedDate, mode })

{{ incomplete ? '部分来源未加载,请重试后确认当天安排' : '当天暂无到港或送仓预约' }}

-
{{ event.type === 'arrival' ? '船舶到港' : '预约送仓' }}{{ event.time || '—' }}
+
{{ eventTypeLabels[event.type] }}{{ event.time || '—' }}

{{ event.title }}

{{ event.subtitle }}

{{ field.label }}
{{ field.value || '—' }}
-