Skip to content

Commit 1840e3f

Browse files
committed
Request Entitlement: For bank level show list plus Request
1 parent df62d85 commit 1840e3f

1 file changed

Lines changed: 47 additions & 3 deletions

File tree

src/components/Preview.vue

Lines changed: 47 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,15 @@ const hasEntitlement = (roleName: string, bankId: string = '', requiresBankId: b
147147
}
148148
}
149149
150+
const getEntitlementBankIds = (roleName: string): string[] => {
151+
if (!userEntitlements.value || userEntitlements.value.length === 0) {
152+
return []
153+
}
154+
return userEntitlements.value
155+
.filter(e => e.role_name === roleName && e.bank_id)
156+
.map(e => e.bank_id)
157+
}
158+
150159
const setType = (method) => {
151160
switch (method) {
152161
case 'POST': {
@@ -722,8 +731,20 @@ const onError = (error) => {
722731
<div class="role-header">
723732
<div class="role-name-section">
724733
<p>{{ role.role }}</p>
734+
<!-- Show existing bank IDs for bank-level roles -->
735+
<div v-if="role.requires_bank_id && getEntitlementBankIds(role.role).length > 0" class="existing-entitlements">
736+
<span class="entitlement-label">You have this at:</span>
737+
<span
738+
v-for="bankId in getEntitlementBankIds(role.role)"
739+
:key="bankId"
740+
class="bank-id-badge"
741+
>
742+
{{ bankId }}
743+
</span>
744+
</div>
745+
<!-- Always show input for bank-level roles when logged in -->
725746
<el-form-item
726-
v-show="isUserLogon && role.requires_bank_id && !hasEntitlement(role.role, roleForm[`bankId${role.role}${idx}`], role.requires_bank_id)"
747+
v-show="isUserLogon && role.requires_bank_id"
727748
:prop="`bankId${role.role}${idx}`"
728749
class="role-bank-id-input"
729750
>
@@ -734,15 +755,18 @@ const onError = (error) => {
734755
/>
735756
</el-form-item>
736757
</div>
758+
<!-- Show "You have this Entitlement" only for system-wide roles -->
737759
<span
738-
v-if="hasEntitlement(role.role, roleForm[`bankId${role.role}${idx}`], role.requires_bank_id)"
760+
v-if="!role.requires_bank_id && hasEntitlement(role.role, '', role.requires_bank_id)"
739761
class="entitlement-owned-text"
740762
>
741763
You have this Entitlement
742764
</span>
765+
<!-- For bank-level roles, always show Request button when logged in -->
766+
<!-- For system-wide roles, only show if they don't have it -->
743767
<el-button
744768
class="role-request-button"
745-
v-show="isUserLogon && !hasEntitlement(role.role, roleForm[`bankId${role.role}${idx}`], role.requires_bank_id)"
769+
v-show="isUserLogon && (role.requires_bank_id || !hasEntitlement(role.role, '', role.requires_bank_id))"
746770
@click="submit(roleFormRef, () => submitSingleEntitlement(role, idx))"
747771
size="small"
748772
>Request</el-button
@@ -973,6 +997,26 @@ li:last-child {
973997
font-weight: 500;
974998
font-size: 14px;
975999
}
1000+
.existing-entitlements {
1001+
display: flex;
1002+
align-items: center;
1003+
gap: 8px;
1004+
flex-wrap: wrap;
1005+
}
1006+
.entitlement-label {
1007+
color: #67c23a;
1008+
font-weight: 500;
1009+
font-size: 13px;
1010+
}
1011+
.bank-id-badge {
1012+
background-color: rgba(103, 194, 58, 0.2);
1013+
color: #67c23a;
1014+
padding: 2px 10px;
1015+
border-radius: 12px;
1016+
font-size: 12px;
1017+
font-weight: 500;
1018+
border: 1px solid rgba(103, 194, 58, 0.3);
1019+
}
9761020
9771021
#conector-method-link {
9781022
color: white !important;

0 commit comments

Comments
 (0)