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

ScreenAction Icons to Enable
Refund Screenforfeit, forfeitConfirm, forfeitInitiate, forfeitReinstate
Reconciliation Screenforfeit 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

1. refund_screen.js

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.


2. Optional: Icon Mapping in CommonCls

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 data
    • detail: '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 updated actionIcons list.
  • Add new clickCode mappings to respective screen configs when introducing new icons.