overview
BPO Screen - Forfeit Action Icons Integration
๐ Branch
- Branch Name:
e39_bpo
Bpo Module KT
โ Feature Summary
๐ฏ Goal
Enable support for forfeit
-related action icons in:
- Refund Screen: Multiple forfeit operations
- Reconciliation Screen: Basic forfeit operation only
๐ Screens & Action Icons
Screen | Action Icons to Enable |
---|---|
Refund Screen | forfeit , forfeitConfirm , forfeitInitiate , forfeitReinstate |
Reconciliation Screen | forfeit only |
๐ Backend API
- API Name:
getBPODataById
- Endpoint:
BPOAPP/api/getDetailByIds
- Purpose: Returns row data along with action icon metadata under
actionIcons
Example API Response (Partial):
"actionIcons": [
{
"clickCode": "forfeitInitiate",
"name": "Forfeit Initiate",
"tooltip": "Forfeit Initiate",
"link": "",
"alertMsg": "Are you sure you want to initiate Refund EMD of {vendorName}",
"pkiAuthReq": "N",
"id": "Forfeit Initiate"
},
{
"clickCode": "forfeitConfirm",
"name": "Forfeit Confirm",
"tooltip": "Forfeit Confirm",
"link": "",
"alertMsg": "Are you sure you want to initiate Refund EMD of {vendorName}",
"pkiAuthReq": "N",
"id": "Forfeit Confirm"
},
{
"clickCode": "forfeitReinitiate",
"name": "Forfeit Reinitiate",
"tooltip": "Forfeit Reinitiate",
"link": "",
"alertMsg": "Are you sure you want to initiate Refund EMD of {vendorName}",
"pkiAuthReq": "N",
"id": "Forfeit Reinitiate"
},
{
"clickCode": "forfeitReinstate",
"name": "Forfeit Reinstate",
"tooltip": "Forfeit Reinstate",
"link": "",
"pkiAuthReq": "N"
}
]
โ๏ธ Frontend Configuration
refund_screen.js
1. icons: {
forfeit: {
isModel: true,
modelTypes: ['remarks', 'confirm'],
apiName: 'performAction',
postMethod: 'formatAndUpdateData',
minRemarksLength: 50,
maxRemarksLength: 250
},
forfeitConfirm: {
isModel: true,
modelTypes: ['confirm'],
apiName: 'performAction',
postMethod: 'formatAndUpdateData'
},
forfeitInitiate: {
isModel: true,
modelTypes: ['remarks', 'confirm'],
apiName: 'performAction',
postMethod: 'formatAndUpdateData',
minRemarksLength: 50,
maxRemarksLength: 250
},
forfeitReinstate: {
isModel: true,
modelTypes: ['remarks'],
apiName: 'performAction',
postMethod: 'formatAndUpdateData',
minRemarksLength: 50,
maxRemarksLength: 250
}
}
Reconciliation screen only includes the
forfeit
entry.
CommonCls
2. Optional: Icon Mapping in icons: {
'Forfeit Confirm' : 'FORFEIT_CONFIRM',
'Forfeit Initiate' : 'FORFEIT_INITIATE',
'Forfeit Reinstate' : 'FORFEIT_REINSTATE',
'Forfeit' : 'FORFEIT_INITIATE'
},
iconIds: {
'Forfeit Confirm' : 'forfeitConfirm',
'Forfeit Initiate' : 'forfeitInitiate',
'Forfeit Reinstate' : 'forfeitReinstate',
'Forfeit' : 'forfeit'
}
๐ Show All Popup
- In Refund Screen, show-all popup will filter and display based on:
detail: 'refund'
for refund datadetail: 'payment'
for payment data
๐ Notes
- The forfeit icon visibility and behavior is driven by API, not hardcoded.
- Remarks and confirmation modals are triggered automatically based on configuration.
postMethod: formatAndUpdateData
ensures row updates are reflected in real-time.
๐งช QA Checklist
- Refund screen shows all four icons per API response
- Reconciliation screen only shows
forfeit
- Clicking any icon triggers required modal(s)
- Remarks length validation enforced
- API actions succeed and update the view
๐งฐ Maintainers
- Ensure
BPOAPP/api/getDetailByIds
continues to return updatedactionIcons
list. - Add new
clickCode
mappings to respective screen configs when introducing new icons.