styling: appointment
This commit is contained in:
@@ -10,7 +10,7 @@
|
|||||||
</v-card>
|
</v-card>
|
||||||
|
|
||||||
<!-- 活動分類選擇 -->
|
<!-- 活動分類選擇 -->
|
||||||
<v-tabs v-model="filterTab" class="mb-4 bg-white rounded-lg elevation-1" color="primary" grow>
|
<v-tabs v-model="filterTab" class="mb-4 bg-white rounded-xl elevation-1" color="primary" grow>
|
||||||
<v-tab value="all">全部活動</v-tab>
|
<v-tab value="all">全部活動</v-tab>
|
||||||
<v-tab value="registered">我的報名</v-tab>
|
<v-tab value="registered">我的報名</v-tab>
|
||||||
</v-tabs>
|
</v-tabs>
|
||||||
@@ -18,22 +18,22 @@
|
|||||||
<!-- 活動列表 -->
|
<!-- 活動列表 -->
|
||||||
<div v-if="filteredAppointments.length === 0" class="text-center py-12">
|
<div v-if="filteredAppointments.length === 0" class="text-center py-12">
|
||||||
<v-icon class="mb-3" color="grey-lighten-1" icon="mdi-calendar-blank" size="64" />
|
<v-icon class="mb-3" color="grey-lighten-1" icon="mdi-calendar-blank" size="64" />
|
||||||
<div class="text-subtitle-1 text-grey font-weight-bold">目前沒有相關活動</div>
|
<div class="text-title-small text-grey font-weight-bold">目前沒有相關活動</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<v-row v-else>
|
<v-row v-else>
|
||||||
<v-col v-for="apt in filteredAppointments" :key="apt.id" class="mb-4" cols="12">
|
<v-col v-for="apt in filteredAppointments" :key="apt.id" class="mb-4" cols="12">
|
||||||
<v-card class="rounded-xl elevation-3 border-accent-light" color="surface">
|
<v-card class="rounded-xl elevation-3" color="surface">
|
||||||
<!-- 卡片頂部狀態條 -->
|
<!-- 卡片頂部狀態條 -->
|
||||||
<v-card-item class="bg-teal-lighten-5 py-2">
|
<v-card-item class="bg-teal-lighten-5 py-4">
|
||||||
<div class="d-flex justify-space-between align-center">
|
<div class="d-flex justify-space-between align-center">
|
||||||
<span class="text-caption font-weight-bold text-primary">
|
<span class="text-title-medium font-weight-bold text-primary">
|
||||||
<v-icon class="mr-1" icon="mdi-office-building" size="14" />
|
<v-icon class="mr-1" icon="mdi-office-building" size="14" />
|
||||||
{{ apt.organizer }}
|
{{ apt.organizer }}
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
<v-chip
|
<v-chip
|
||||||
class="font-weight-black text-caption"
|
class="font-weight-black text-title-small"
|
||||||
:color="getStatusColor(apt.status)"
|
:color="getStatusColor(apt.status)"
|
||||||
size="small"
|
size="small"
|
||||||
variant="flat"
|
variant="flat"
|
||||||
@@ -43,27 +43,27 @@
|
|||||||
</div>
|
</div>
|
||||||
</v-card-item>
|
</v-card-item>
|
||||||
|
|
||||||
<v-card-text class="pt-4 px-4 pb-2">
|
<v-card-text>
|
||||||
<h2 class="text-subtitle-1 font-weight-bold text-grey-darken-4 mb-3">
|
<h2 class="text-title-large font-weight-bold text-grey-darken-4 mb-4">
|
||||||
{{ apt.title }}
|
{{ apt.title }}
|
||||||
</h2>
|
</h2>
|
||||||
|
|
||||||
<div class="d-flex align-start mb-2">
|
<div class="d-flex align-start mb-2">
|
||||||
<v-icon class="mr-2 mt-0.5" color="primary" icon="mdi-calendar-clock" size="18" />
|
<v-icon class="mr-2" color="primary" icon="mdi-calendar-clock" size="18" />
|
||||||
|
|
||||||
<div class="text-body-2 text-grey-darken-3">
|
<div class="text-body-2 text-grey-darken-3">
|
||||||
<span class="font-weight-bold">{{ apt.date }}</span>
|
<span class="font-weight-bold">{{ apt.date }}</span>
|
||||||
<span class="ml-2 text-grey">{{ apt.time }}</span>
|
<span class="ml-4 text-grey-darken-1">{{ apt.time }}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="d-flex align-start mb-2">
|
<!-- <div class="d-flex align-start mb-2">
|
||||||
<v-icon class="mr-2 mt-0.5" color="primary" icon="mdi-map-marker" size="18" />
|
<v-icon class="mr-2 mt-0.5" color="primary" icon="mdi-map-marker" size="18" />
|
||||||
<div class="text-body-2 text-grey-darken-3">{{ apt.location }}</div>
|
<div class="text-body-2 text-grey-darken-3">{{ apt.location }}</div>
|
||||||
</div>
|
</div> -->
|
||||||
|
|
||||||
<div class="d-flex align-start mb-3">
|
<div class="d-flex align-start mb-3">
|
||||||
<v-icon class="mr-2 mt-0.5" color="primary" icon="mdi-human-capacity" size="18" />
|
<v-icon class="mr-2" color="primary" icon="mdi-human-queue" size="18" />
|
||||||
|
|
||||||
<div class="text-body-2 text-grey-darken-3">
|
<div class="text-body-2 text-grey-darken-3">
|
||||||
剩餘名額:<span
|
剩餘名額:<span
|
||||||
@@ -77,7 +77,7 @@
|
|||||||
<v-divider class="my-2" />
|
<v-divider class="my-2" />
|
||||||
|
|
||||||
<!-- 量測項目標籤 -->
|
<!-- 量測項目標籤 -->
|
||||||
<div class="mb-2">
|
<!-- <div class="mb-2">
|
||||||
<div class="text-caption font-weight-bold text-grey mb-1">量測項目:</div>
|
<div class="text-caption font-weight-bold text-grey mb-1">量測項目:</div>
|
||||||
|
|
||||||
<div class="d-flex flex-wrap gap-1">
|
<div class="d-flex flex-wrap gap-1">
|
||||||
@@ -92,7 +92,7 @@
|
|||||||
{{ item }}
|
{{ item }}
|
||||||
</v-chip>
|
</v-chip>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div> -->
|
||||||
</v-card-text>
|
</v-card-text>
|
||||||
|
|
||||||
<!-- 卡片按鈕操作 -->
|
<!-- 卡片按鈕操作 -->
|
||||||
@@ -119,7 +119,6 @@
|
|||||||
block
|
block
|
||||||
class="rounded-lg text-white font-weight-bold"
|
class="rounded-lg text-white font-weight-bold"
|
||||||
color="primary"
|
color="primary"
|
||||||
prepend-icon="mdi-qrcode"
|
|
||||||
variant="flat"
|
variant="flat"
|
||||||
@click="showCheckinQRCode(apt)"
|
@click="showCheckinQRCode(apt)"
|
||||||
>
|
>
|
||||||
@@ -191,7 +190,7 @@
|
|||||||
variant="tonal"
|
variant="tonal"
|
||||||
@click="simulateOnSiteCheckin"
|
@click="simulateOnSiteCheckin"
|
||||||
>
|
>
|
||||||
模擬現場人員掃描 (立刻報到)
|
已由現場人員掃描報到
|
||||||
</v-btn>
|
</v-btn>
|
||||||
</v-card-text>
|
</v-card-text>
|
||||||
|
|
||||||
@@ -292,5 +291,4 @@ function simulateOnSiteCheckin () {
|
|||||||
height: 244px;
|
height: 244px;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
Reference in New Issue
Block a user