@@ -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+
150159const 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