@7365admin1/layer-common 3.1.4-staging.50 → 3.1.4-staging.52
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/components/EntryPassInformation.vue +4 -4
- package/components/HidAccessLogDashboard.vue +53 -8
- package/components/HidIntercomManagement.vue +621 -174
- package/components/HidQrCodeConfiguration.vue +742 -94
- package/components/HidServiceSettingsPanel.vue +20 -1
- package/components/HidUserEnrollment.vue +2 -0
- package/components/QrTemplate/CreditCardLandscape.vue +19 -12
- package/components/QrTemplate/PrintDialog.vue +209 -196
- package/components/VisitorForm.vue +201 -78
- package/components/VisitorManagement.vue +3 -2
- package/composables/useHidAmico.ts +66 -0
- package/composables/useHidNavigation.ts +0 -7
- package/composables/useSipWebPhone.ts +236 -0
- package/composables/useWebUsb.ts +127 -37
- package/package.json +2 -1
- package/plugins/secure-member.client.ts +21 -56
- package/types/site.d.ts +65 -0
- package/components/HidIdentityMapping.vue +0 -975
- package/pages/[org]/[site]/access-mgmt/identity-mapping/index.vue +0 -23
|
@@ -12,7 +12,8 @@
|
|
|
12
12
|
<v-col cols="12" md="4" class="d-flex justify-md-end">
|
|
13
13
|
<v-switch
|
|
14
14
|
v-model="hidEnabled"
|
|
15
|
-
|
|
15
|
+
class="hid-service-switch"
|
|
16
|
+
color="success"
|
|
16
17
|
hide-details
|
|
17
18
|
inset
|
|
18
19
|
:loading="isSaving"
|
|
@@ -148,3 +149,21 @@ function goToHidReaders() {
|
|
|
148
149
|
});
|
|
149
150
|
}
|
|
150
151
|
</script>
|
|
152
|
+
|
|
153
|
+
<style scoped>
|
|
154
|
+
.hid-service-switch :deep(.v-switch__track) {
|
|
155
|
+
background-color: #8b9297;
|
|
156
|
+
opacity: 1;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
.hid-service-switch :deep(.v-selection-control--dirty .v-switch__track) {
|
|
160
|
+
background-color: #2eaf55 !important;
|
|
161
|
+
color: #2eaf55 !important;
|
|
162
|
+
opacity: 1;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
.hid-service-switch :deep(.v-switch__thumb) {
|
|
166
|
+
background-color: #fff !important;
|
|
167
|
+
color: #fff !important;
|
|
168
|
+
}
|
|
169
|
+
</style>
|
|
@@ -381,6 +381,7 @@ async function loadUsers() {
|
|
|
381
381
|
const identities = identityResponse?.items ?? identityResponse?.data?.items ?? identityResponse?.data?.identities ?? [];
|
|
382
382
|
const adminRoleIds = getAdministratorRoleUserIds(roleResponse);
|
|
383
383
|
const readerUsers = normalizeHidUsers(readerResponse).filter((user) => {
|
|
384
|
+
if (Number(user.userTypeId) === 1) return false;
|
|
384
385
|
if (!isAdministratorIdentity()) return true;
|
|
385
386
|
const hidUserId = toHidNumericId(user.hidUserId);
|
|
386
387
|
return Boolean(hidUserId && adminRoleIds.has(hidUserId));
|
|
@@ -882,6 +883,7 @@ function normalizeHidUsers(response: Record<string, any>) {
|
|
|
882
883
|
hidUserId: String(user.id || ""),
|
|
883
884
|
rawHidUserId: user.id,
|
|
884
885
|
registration: user.registration,
|
|
886
|
+
userTypeId: user.user_type_id,
|
|
885
887
|
cardNo: user.card_value || user.cardNo || "",
|
|
886
888
|
name: user.name,
|
|
887
889
|
metadata: {
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
|
|
34
34
|
<qrcode-vue
|
|
35
35
|
v-if="templateQrCode.CCFrontQREnabled"
|
|
36
|
-
:value="
|
|
36
|
+
:value="getPassNumberValue(card.number)"
|
|
37
37
|
:size="templateQrCode.CCFrontQRCodeSize"
|
|
38
38
|
level="H"
|
|
39
39
|
:style="{
|
|
@@ -53,9 +53,7 @@
|
|
|
53
53
|
}"
|
|
54
54
|
class="position-absolute text-center"
|
|
55
55
|
>
|
|
56
|
-
Pass Number: {{
|
|
57
|
-
+printRangeStart + +card.number - 1
|
|
58
|
-
}}
|
|
56
|
+
Pass Number: {{ getPassNumberValue(card.number) }}
|
|
59
57
|
</div>
|
|
60
58
|
</v-card>
|
|
61
59
|
|
|
@@ -74,7 +72,7 @@
|
|
|
74
72
|
|
|
75
73
|
<qrcode-vue
|
|
76
74
|
v-if="templateQrCode.CCBackQREnabled"
|
|
77
|
-
:value="
|
|
75
|
+
:value="getPassNumberValue(card.number)"
|
|
78
76
|
:size="templateQrCode.CCBackQRCodeSize"
|
|
79
77
|
level="H"
|
|
80
78
|
:style="{
|
|
@@ -93,9 +91,7 @@
|
|
|
93
91
|
}"
|
|
94
92
|
class="position-absolute text-center"
|
|
95
93
|
>
|
|
96
|
-
Pass Number: {{
|
|
97
|
-
+printRangeStart + +card.number - 1
|
|
98
|
-
}}
|
|
94
|
+
Pass Number: {{ getPassNumberValue(card.number) }}
|
|
99
95
|
</div>
|
|
100
96
|
</v-card>
|
|
101
97
|
</v-col>
|
|
@@ -113,11 +109,22 @@ const props = defineProps({
|
|
|
113
109
|
paginatedCardData: Array,
|
|
114
110
|
templateQrCode: Object,
|
|
115
111
|
prefix: String,
|
|
116
|
-
printRangeStart: Number,
|
|
117
|
-
});
|
|
118
|
-
onMounted(() => {
|
|
119
|
-
console.log("templateQrCode 11", props.templateQrCode.CCOrientation);
|
|
112
|
+
printRangeStart: [String, Number],
|
|
120
113
|
});
|
|
114
|
+
|
|
115
|
+
const getPassNumberValue = (position) => {
|
|
116
|
+
const rawStartValue = `${props.printRangeStart ?? ""}`.trim();
|
|
117
|
+
const startMatch = rawStartValue.match(/(\d+)$/);
|
|
118
|
+
const startValue = startMatch?.[1] ?? "0";
|
|
119
|
+
const startNumber = Number(startValue);
|
|
120
|
+
const sequenceNumber = startNumber + Number(position) - 1;
|
|
121
|
+
const cleanPrefix = `${props.prefix ?? ""}`.replace(/\d+$/, "");
|
|
122
|
+
const width = startValue.length;
|
|
123
|
+
const formattedSequence =
|
|
124
|
+
width > 0 ? `${sequenceNumber}`.padStart(width, "0") : `${sequenceNumber}`;
|
|
125
|
+
|
|
126
|
+
return `${cleanPrefix}${formattedSequence}`;
|
|
127
|
+
};
|
|
121
128
|
</script>
|
|
122
129
|
|
|
123
130
|
<style scoped>
|