@7365admin1/layer-common 3.0.8 → 3.0.9
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/DashboardMain.vue +1894 -844
- package/components/EntryPassInformation.vue +60 -0
- package/components/HidAccessLogDashboard.vue +1691 -0
- package/components/HidEnabledGate.vue +51 -0
- package/components/HidIdentityMapping.vue +975 -0
- package/components/HidQrCodeConfiguration.vue +618 -0
- package/components/HidReaderForm.vue +246 -0
- package/components/HidReaderManagement.vue +1233 -0
- package/components/HidServiceSettingsPanel.vue +150 -0
- package/components/HidUserEnrollment.vue +1274 -0
- package/components/Layout/NavigationDrawer.vue +31 -1
- package/components/NavigationItem.vue +11 -4
- package/components/SiteSettings.vue +24 -1
- package/components/VisitorForm.vue +195 -4
- package/components/VisitorFormSelection.vue +12 -2
- package/composables/useDashboard.ts +29 -2
- package/composables/useHidAmico.ts +152 -0
- package/composables/useHidNavigation.ts +106 -0
- package/composables/useMember.ts +7 -1
- package/composables/useOptionalServices.ts +118 -0
- package/composables/useSiteSettings.ts +1 -1
- package/composables/useUser.ts +1 -2
- package/nuxt.config.ts +1 -1
- package/package.json +2 -1
- package/pages/[org]/[site]/access-mgmt/access-logs/index.vue +21 -0
- package/pages/[org]/[site]/access-mgmt/administrator/index.vue +21 -0
- package/pages/[org]/[site]/access-mgmt/hid-readers/index.vue +21 -0
- package/pages/[org]/[site]/access-mgmt/hid-users/index.vue +21 -0
- package/pages/[org]/[site]/access-mgmt/identity-mapping/index.vue +21 -0
- package/types/local.d.ts +2 -1
|
@@ -31,6 +31,19 @@
|
|
|
31
31
|
<span class="text-subtitle-2 font-weight-bold">NFC</span>
|
|
32
32
|
</v-card>
|
|
33
33
|
</v-col>
|
|
34
|
+
<v-col v-if="hidQrCodeEnabled">
|
|
35
|
+
<v-card
|
|
36
|
+
:variant="passType === 'HID_QR' ? 'tonal' : 'outlined'"
|
|
37
|
+
:color="passType === 'HID_QR' ? 'primary' : undefined"
|
|
38
|
+
class="pa-3 d-flex flex-column align-center ga-2 cursor-pointer position-relative"
|
|
39
|
+
rounded="lg"
|
|
40
|
+
@click="passType = passType === 'HID_QR' ? null : 'HID_QR'"
|
|
41
|
+
>
|
|
42
|
+
<v-icon v-if="passType === 'HID_QR'" size="18" color="primary" class="selected-check">mdi-check-circle</v-icon>
|
|
43
|
+
<v-icon size="32">mdi-qrcode-scan</v-icon>
|
|
44
|
+
<span class="text-subtitle-2 font-weight-bold">HID QR Code</span>
|
|
45
|
+
</v-card>
|
|
46
|
+
</v-col>
|
|
34
47
|
</v-row>
|
|
35
48
|
|
|
36
49
|
<!-- QR Pass section -->
|
|
@@ -133,6 +146,29 @@
|
|
|
133
146
|
Ready to scan NFC cards. Please scan a card with your barcode scanner.
|
|
134
147
|
</v-alert>
|
|
135
148
|
</template>
|
|
149
|
+
|
|
150
|
+
<template v-if="passType === 'HID_QR'">
|
|
151
|
+
<v-alert
|
|
152
|
+
v-if="!hidQrPrinterConfigured"
|
|
153
|
+
type="warning"
|
|
154
|
+
variant="tonal"
|
|
155
|
+
density="compact"
|
|
156
|
+
class="mt-3"
|
|
157
|
+
icon="mdi-printer-alert"
|
|
158
|
+
>
|
|
159
|
+
No printer is configured on HID settings. QR Pass may not print.
|
|
160
|
+
</v-alert>
|
|
161
|
+
<v-alert
|
|
162
|
+
v-else
|
|
163
|
+
type="info"
|
|
164
|
+
variant="tonal"
|
|
165
|
+
density="compact"
|
|
166
|
+
class="mt-3"
|
|
167
|
+
icon="mdi-qrcode-scan"
|
|
168
|
+
>
|
|
169
|
+
HID QR Code will be generated and printed when you continue.
|
|
170
|
+
</v-alert>
|
|
171
|
+
</template>
|
|
136
172
|
</template>
|
|
137
173
|
<v-divider class="mt-6" />
|
|
138
174
|
|
|
@@ -217,6 +253,18 @@ const props = defineProps({
|
|
|
217
253
|
type: String as PropType<string | null>,
|
|
218
254
|
default: null,
|
|
219
255
|
},
|
|
256
|
+
visitorType: {
|
|
257
|
+
type: String as PropType<TVisitorType | null>,
|
|
258
|
+
default: null,
|
|
259
|
+
},
|
|
260
|
+
hidQrCodeEnabled: {
|
|
261
|
+
type: Boolean,
|
|
262
|
+
default: false,
|
|
263
|
+
},
|
|
264
|
+
hidQrPrinterConfigured: {
|
|
265
|
+
type: Boolean,
|
|
266
|
+
default: false,
|
|
267
|
+
},
|
|
220
268
|
});
|
|
221
269
|
|
|
222
270
|
const emit = defineEmits(["update:modelValue", "update:quantity", "update:cards"]);
|
|
@@ -224,6 +272,9 @@ const emit = defineEmits(["update:modelValue", "update:quantity", "update:cards"
|
|
|
224
272
|
const { getAvailableContractorCards, generateQrVms } = useAccessManagement();
|
|
225
273
|
|
|
226
274
|
const nfcEnabled = computed(() => props.settings?.data?.settings?.nfcPass ?? false);
|
|
275
|
+
const hidQrCodeEnabled = computed(() => {
|
|
276
|
+
return props.hidQrCodeEnabled && ["guest", "contractor", "walk-in"].includes(String(props.visitorType || ""));
|
|
277
|
+
});
|
|
227
278
|
const printer = computed(() => props.settings?.data?.settings?.printer ?? { vendorId: null, productId: null });
|
|
228
279
|
const hasPrinter = computed(() => !!printer.value.vendorId && !!printer.value.productId);
|
|
229
280
|
|
|
@@ -457,6 +508,15 @@ watch(
|
|
|
457
508
|
}
|
|
458
509
|
);
|
|
459
510
|
|
|
511
|
+
watch(
|
|
512
|
+
() => props.hidQrCodeEnabled,
|
|
513
|
+
(enabled) => {
|
|
514
|
+
if (!enabled && passType.value === "HID_QR") {
|
|
515
|
+
passType.value = null;
|
|
516
|
+
}
|
|
517
|
+
},
|
|
518
|
+
);
|
|
519
|
+
|
|
460
520
|
onUnmounted(() => {
|
|
461
521
|
window.removeEventListener("keydown", handleBarcodeInput);
|
|
462
522
|
if (barcodeTimeout.value) clearTimeout(barcodeTimeout.value);
|