@7365admin1/layer-common 3.0.28 → 3.0.29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/components/AccessCardDetailsDialog.vue +24 -11
- package/components/AccessCardPreviewDialog.vue +1 -0
- package/components/VehicleForm.vue +570 -285
- package/components/VisitorForm.vue +201 -79
- package/components/VisitorManagement.vue +43 -11
- package/composables/useAccessManagement.ts +1 -1
- package/composables/useVisitor.ts +34 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -60,19 +60,31 @@
|
|
|
60
60
|
</div>
|
|
61
61
|
</div>
|
|
62
62
|
|
|
63
|
-
|
|
63
|
+
<div v-if="details.userType">
|
|
64
|
+
<div class="text-caption text-grey">User Type</div>
|
|
65
|
+
<div class="text-body-2 font-weight-medium">{{ details.userType }}</div>
|
|
66
|
+
</div>
|
|
67
|
+
|
|
68
|
+
<!-- Visitor / Resident Credentials -->
|
|
64
69
|
<template v-if="details.userCred">
|
|
65
70
|
<v-divider />
|
|
66
|
-
<div class="text-caption font-weight-bold text-grey-darken-2 text-uppercase">
|
|
71
|
+
<div class="text-caption font-weight-bold text-grey-darken-2 text-uppercase">
|
|
72
|
+
{{ details.userType ?? "Visitor Information" }}
|
|
73
|
+
</div>
|
|
74
|
+
|
|
75
|
+
<div v-if="details.userCred.email">
|
|
76
|
+
<div class="text-caption text-grey">Email</div>
|
|
77
|
+
<div class="text-body-2 font-weight-medium">{{ details.userCred.email }}</div>
|
|
78
|
+
</div>
|
|
67
79
|
|
|
68
|
-
<div>
|
|
80
|
+
<div v-if="details.userCred.nric">
|
|
69
81
|
<div class="text-caption text-grey">NRIC</div>
|
|
70
|
-
<div class="text-body-2 font-weight-medium">{{ details.userCred.nric
|
|
82
|
+
<div class="text-body-2 font-weight-medium">{{ details.userCred.nric }}</div>
|
|
71
83
|
</div>
|
|
72
84
|
|
|
73
|
-
<div>
|
|
85
|
+
<div v-if="details.userCred.contact">
|
|
74
86
|
<div class="text-caption text-grey">Contact</div>
|
|
75
|
-
<div class="text-body-2 font-weight-medium">{{ details.userCred.contact
|
|
87
|
+
<div class="text-body-2 font-weight-medium">{{ details.userCred.contact }}</div>
|
|
76
88
|
</div>
|
|
77
89
|
|
|
78
90
|
<div v-if="details.userCred.company">
|
|
@@ -125,7 +137,7 @@
|
|
|
125
137
|
<div class="d-flex flex-column align-center" style="width: 20px; flex-shrink: 0;">
|
|
126
138
|
<div
|
|
127
139
|
class="timeline-dot rounded-circle mt-1"
|
|
128
|
-
:class="entry.visitorId ? 'bg-blue' : 'bg-orange'"
|
|
140
|
+
:class="(entry.type === 'assigned' || entry.visitorId) ? 'bg-blue' : 'bg-orange'"
|
|
129
141
|
/>
|
|
130
142
|
<div
|
|
131
143
|
v-if="idx < sortedHistory.length - 1"
|
|
@@ -139,20 +151,21 @@
|
|
|
139
151
|
<v-chip
|
|
140
152
|
size="x-small"
|
|
141
153
|
variant="tonal"
|
|
142
|
-
:color="entry.visitorId ? 'blue' : 'orange'"
|
|
143
|
-
:prepend-icon="entry.visitorId ? 'mdi-account-arrow-right' : 'mdi-arrow-u-left-top'"
|
|
154
|
+
:color="(entry.type === 'assigned' || entry.visitorId) ? 'blue' : 'orange'"
|
|
155
|
+
:prepend-icon="(entry.type === 'assigned' || entry.visitorId) ? 'mdi-account-arrow-right' : 'mdi-arrow-u-left-top'"
|
|
144
156
|
>
|
|
145
|
-
{{ entry.visitorId ? "Assigned" : "Returned" }}
|
|
157
|
+
{{ (entry.type === 'assigned' || entry.visitorId) ? "Assigned" : "Returned" }}
|
|
146
158
|
</v-chip>
|
|
147
159
|
<span class="text-caption text-grey">{{ formatDate(entry.createdAt) }}</span>
|
|
148
160
|
</div>
|
|
149
161
|
|
|
150
162
|
<!-- Assignment entry -->
|
|
151
|
-
<template v-if="entry.visitorId">
|
|
163
|
+
<template v-if="entry.type === 'assigned' || entry.visitorId">
|
|
152
164
|
<div class="text-body-2 font-weight-medium">{{ entry.name ?? "N/A" }}</div>
|
|
153
165
|
<div class="text-caption text-grey-darken-1">
|
|
154
166
|
<span v-if="entry.nric">NRIC: {{ entry.nric }}</span>
|
|
155
167
|
<span v-if="entry.contact" class="ml-2">· {{ entry.contact }}</span>
|
|
168
|
+
<span v-if="entry.email && !entry.nric && !entry.contact">{{ entry.email }}</span>
|
|
156
169
|
</div>
|
|
157
170
|
<div class="text-caption text-grey-darken-1">
|
|
158
171
|
<span v-if="entry.company">{{ entry.company }}</span>
|