@hmcts/ccpay-web-component 5.2.7-beta02 → 5.2.7-beta03

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.
Files changed (117) hide show
  1. package/bundles/hmcts-ccpay-web-component.umd.js +1743 -511
  2. package/bundles/hmcts-ccpay-web-component.umd.js.map +1 -1
  3. package/bundles/hmcts-ccpay-web-component.umd.min.js +1 -1
  4. package/bundles/hmcts-ccpay-web-component.umd.min.js.map +1 -1
  5. package/esm2015/hmcts-ccpay-web-component.js +35 -32
  6. package/esm2015/lib/components/add-remission/add-remission.component.js +473 -116
  7. package/esm2015/lib/components/case-transactions/case-transactions.component.js +25 -14
  8. package/esm2015/lib/components/contact-details/contact-details.component.js +315 -0
  9. package/esm2015/lib/components/fee-summary/fee-summary.component.js +14 -9
  10. package/esm2015/lib/components/notification-preview/notification-preview.component.js +59 -0
  11. package/esm2015/lib/components/payment-view/payment-view.component.js +133 -75
  12. package/esm2015/lib/components/pba-payment/pba-payment.component.js +2 -1
  13. package/esm2015/lib/components/process-refund/process-refund.component.js +146 -41
  14. package/esm2015/lib/components/refund-list/refund-list.component.js +3 -3
  15. package/esm2015/lib/components/refund-status/refund-status.component.js +174 -38
  16. package/esm2015/lib/components/reports/reports.component.js +4 -1
  17. package/esm2015/lib/components/service-request/service-request.component.js +160 -102
  18. package/esm2015/lib/components/table/table.component.js +7 -4
  19. package/esm2015/lib/components/unprocessed-payments/unprocessed-payments.component.js +3 -3
  20. package/esm2015/lib/interfaces/IFee.js +1 -1
  21. package/esm2015/lib/interfaces/INotificationPreview.js +2 -0
  22. package/esm2015/lib/interfaces/IPayment.js +1 -1
  23. package/esm2015/lib/interfaces/IPutNotificationRequest.js +11 -0
  24. package/esm2015/lib/interfaces/IRefundContactDetails.js +2 -0
  25. package/esm2015/lib/interfaces/IRefundFee.js +2 -0
  26. package/esm2015/lib/interfaces/IRefundList.js +1 -1
  27. package/esm2015/lib/interfaces/IRefundsNotifications.js +2 -0
  28. package/esm2015/lib/interfaces/IRemission.js +1 -1
  29. package/esm2015/lib/interfaces/IResubmitRefundRequest.js +4 -2
  30. package/esm2015/lib/interfaces/NotificationPreviewRequest.js +37 -0
  31. package/esm2015/lib/interfaces/PostIssueRefundRetroRemission.js +3 -2
  32. package/esm2015/lib/interfaces/PostRefundRetroRemission.js +6 -2
  33. package/esm2015/lib/payment-lib.component.js +8 -2
  34. package/esm2015/lib/payment-lib.module.js +6 -2
  35. package/esm2015/lib/payment-lib.service.js +7 -1
  36. package/esm2015/lib/services/notification/notification.service.js +70 -0
  37. package/esm2015/lib/services/payment-view/payment-view.service.js +15 -7
  38. package/esm2015/lib/services/refunds/refunds.service.js +4 -1
  39. package/esm2015/lib/services/shared/httpclient/webcomponent.http.client.js +1 -1
  40. package/esm2015/lib/services/xl-file/xl-file.service.js +15 -15
  41. package/fesm2015/hmcts-ccpay-web-component.js +1689 -456
  42. package/fesm2015/hmcts-ccpay-web-component.js.map +1 -1
  43. package/hmcts-ccpay-web-component.d.ts +34 -31
  44. package/hmcts-ccpay-web-component.d.ts.map +1 -1
  45. package/hmcts-ccpay-web-component.metadata.json +1 -1
  46. package/lib/components/add-remission/add-remission.component.d.ts +55 -4
  47. package/lib/components/add-remission/add-remission.component.d.ts.map +1 -1
  48. package/lib/components/case-transactions/case-transactions.component.d.ts +2 -1
  49. package/lib/components/case-transactions/case-transactions.component.d.ts.map +1 -1
  50. package/lib/components/contact-details/contact-details.component.css.shim.ngstyle.d.ts.map +1 -0
  51. package/lib/components/contact-details/contact-details.component.d.ts +50 -0
  52. package/lib/components/contact-details/contact-details.component.d.ts.map +1 -0
  53. package/lib/components/contact-details/contact-details.component.ngfactory.d.ts.map +1 -0
  54. package/lib/components/fee-summary/fee-summary.component.d.ts.map +1 -1
  55. package/lib/components/notification-preview/notification-preview.component.d.ts +32 -0
  56. package/lib/components/notification-preview/notification-preview.component.d.ts.map +1 -0
  57. package/lib/components/notification-preview/notification-preview.component.ngfactory.d.ts.map +1 -0
  58. package/lib/components/notification-preview/notification-preview.component.scss.shim.ngstyle.d.ts.map +1 -0
  59. package/lib/components/payment-view/payment-view.component.d.ts +31 -7
  60. package/lib/components/payment-view/payment-view.component.d.ts.map +1 -1
  61. package/lib/components/payment-view/payment-view.component.scss.shim.ngstyle.d.ts.map +1 -0
  62. package/lib/components/pba-payment/pba-payment.component.d.ts.map +1 -1
  63. package/lib/components/process-refund/process-refund.component.d.ts +18 -1
  64. package/lib/components/process-refund/process-refund.component.d.ts.map +1 -1
  65. package/lib/components/refund-list/refund-list.component.d.ts.map +1 -1
  66. package/lib/components/refund-status/refund-status.component.d.ts +45 -7
  67. package/lib/components/refund-status/refund-status.component.d.ts.map +1 -1
  68. package/lib/components/reports/reports.component.d.ts.map +1 -1
  69. package/lib/components/service-request/service-request.component.d.ts +35 -9
  70. package/lib/components/service-request/service-request.component.d.ts.map +1 -1
  71. package/lib/components/service-request/service-request.component.scss.shim.ngstyle.d.ts.map +1 -0
  72. package/lib/components/table/table.component.d.ts +1 -0
  73. package/lib/components/table/table.component.d.ts.map +1 -1
  74. package/lib/interfaces/IFee.d.ts +6 -0
  75. package/lib/interfaces/IFee.d.ts.map +1 -1
  76. package/lib/interfaces/INotificationPreview.d.ts +28 -0
  77. package/lib/interfaces/INotificationPreview.d.ts.map +1 -0
  78. package/lib/interfaces/IPayment.d.ts +3 -0
  79. package/lib/interfaces/IPayment.d.ts.map +1 -1
  80. package/lib/interfaces/IPutNotificationRequest.d.ts +7 -0
  81. package/lib/interfaces/IPutNotificationRequest.d.ts.map +1 -0
  82. package/lib/interfaces/IRefundContactDetails.d.ts +10 -0
  83. package/lib/interfaces/IRefundContactDetails.d.ts.map +1 -0
  84. package/lib/interfaces/IRefundFee.d.ts +8 -0
  85. package/lib/interfaces/IRefundFee.d.ts.map +1 -0
  86. package/lib/interfaces/IRefundList.d.ts +5 -0
  87. package/lib/interfaces/IRefundList.d.ts.map +1 -1
  88. package/lib/interfaces/IRefundsNotifications.d.ts +17 -0
  89. package/lib/interfaces/IRefundsNotifications.d.ts.map +1 -0
  90. package/lib/interfaces/IRemission.d.ts +3 -0
  91. package/lib/interfaces/IRemission.d.ts.map +1 -1
  92. package/lib/interfaces/IResubmitRefundRequest.d.ts +5 -1
  93. package/lib/interfaces/IResubmitRefundRequest.d.ts.map +1 -1
  94. package/lib/interfaces/NotificationPreviewRequest.d.ts +25 -0
  95. package/lib/interfaces/NotificationPreviewRequest.d.ts.map +1 -0
  96. package/lib/interfaces/PostIssueRefundRetroRemission.d.ts +3 -1
  97. package/lib/interfaces/PostIssueRefundRetroRemission.d.ts.map +1 -1
  98. package/lib/interfaces/PostRefundRetroRemission.d.ts +7 -1
  99. package/lib/interfaces/PostRefundRetroRemission.d.ts.map +1 -1
  100. package/lib/payment-lib.component.d.ts +2 -0
  101. package/lib/payment-lib.component.d.ts.map +1 -1
  102. package/lib/payment-lib.module.d.ts.map +1 -1
  103. package/lib/payment-lib.module.ngfactory.d.ts.map +1 -1
  104. package/lib/payment-lib.service.d.ts +3 -0
  105. package/lib/payment-lib.service.d.ts.map +1 -1
  106. package/lib/services/notification/notification.service.d.ts +19 -0
  107. package/lib/services/notification/notification.service.d.ts.map +1 -0
  108. package/lib/services/notification/notification.service.ngfactory.d.ts.map +1 -0
  109. package/lib/services/payment-view/payment-view.service.d.ts +1 -1
  110. package/lib/services/payment-view/payment-view.service.d.ts.map +1 -1
  111. package/lib/services/refunds/refunds.service.d.ts +2 -0
  112. package/lib/services/refunds/refunds.service.d.ts.map +1 -1
  113. package/lib/services/shared/httpclient/webcomponent.http.client.d.ts.map +1 -1
  114. package/lib/services/xl-file/xl-file.service.d.ts.map +1 -1
  115. package/package.json +1 -1
  116. package/lib/components/payment-view/payment-view.component.css.shim.ngstyle.d.ts.map +0 -1
  117. package/lib/components/service-request/service-request.component.css.shim.ngstyle.d.ts.map +0 -1
@@ -49,6 +49,12 @@
49
49
  PaymentLibService.prototype.getRefundsApiRootUrl = function () {
50
50
  return this.REFUNDS_API_ROOT;
51
51
  };
52
+ PaymentLibService.prototype.setNoticationApiRootUrl = function (notificationapiRoot) {
53
+ this.NOTIFICATION_API_ROOT = notificationapiRoot;
54
+ };
55
+ PaymentLibService.prototype.getNoticationApiRootUrl = function () {
56
+ return this.NOTIFICATION_API_ROOT;
57
+ };
52
58
  PaymentLibService.prototype.setCardPaymentReturnUrl = function (cardPaymentReturnUrl) {
53
59
  this.CARDPAYMENTRETURNURL = cardPaymentReturnUrl;
54
60
  };
@@ -223,6 +229,7 @@
223
229
  this.cd = cd;
224
230
  this.OrderslistService = OrderslistService;
225
231
  this.unProcessedPaymentServiceId = null;
232
+ this.isFromPayBubble = false;
226
233
  this.unProcessedPayment = null;
227
234
  this.orderFeesTotal = 0.00;
228
235
  this.orderRemissionTotal = 0.00;
@@ -236,6 +243,7 @@
236
243
  this.paymentLibService.setApiRootUrl(this.API_ROOT);
237
244
  this.paymentLibService.setBulkScanApiRootUrl(this.BULKSCAN_API_ROOT);
238
245
  this.paymentLibService.setRefundndsApiRootUrl(this.REFUNDS_API_ROOT);
246
+ this.paymentLibService.setNoticationApiRootUrl(this.NOTIFICATION_API_ROOT);
239
247
  this.paymentLibService.setCardPaymentReturnUrl(this.CARDPAYMENTRETURNURL);
240
248
  if (this.LOGGEDINUSERROLES.length > 0) {
241
249
  this.OrderslistService.setUserRolesList(this.LOGGEDINUSERROLES);
@@ -262,13 +270,16 @@
262
270
  if (this.isTakePayment) {
263
271
  this.TAKEPAYMENT = true;
264
272
  }
273
+ if (this.API_ROOT == 'api/payment-history') {
274
+ this.isFromPayBubble = true;
275
+ }
265
276
  };
266
277
  return PaymentLibComponent;
267
278
  }());
268
279
  PaymentLibComponent.decorators = [
269
280
  { type: i0.Component, args: [{
270
281
  selector: 'ccpay-payment-lib',
271
- template: "\n <ccpay-refund-list [USERID]=\"USERID\" [LOGGEDINUSERROLES]=\"LOGGEDINUSERROLES\" [LOGGEDINUSEREMAIL]=\"LOGGEDINUSEREMAIL\" *ngIf=\"viewName === 'refund-list'\"></ccpay-refund-list>\n <ccpay-payment-list *ngIf=\"viewName === 'payment-list'\"></ccpay-payment-list>\n <ccpay-refund-status\n [LOGGEDINUSERROLES]=\"LOGGEDINUSERROLES\"\n [API_ROOT]=\"API_ROOT\"\n *ngIf=\"viewName === 'refundstatuslist'\"> </ccpay-refund-status >\n <ccpay-payment-view [LOGGEDINUSERROLES]=\"LOGGEDINUSERROLES\" *ngIf=\"viewName === 'payment-view'\"\n [isTurnOff]=\"ISTURNOFF\" [isTakePayment]=\"TAKEPAYMENT\" [caseType]=\"CASETYPE\"\n [ISPAYMENTSTATUSENABLED] = \"ISPAYMENTSTATUSENABLED\"\n ></ccpay-payment-view>\n\n <ccpay-process-refund *ngIf=\"viewName === 'process-refund'\"\n [refundReference]=\"refundReference\"\n [refundlistsource]=\"refundlistsource\"\n ></ccpay-process-refund>\n <ccpay-pba-payment *ngIf=\"viewName === 'pba-payment'\"\n [pbaPayOrderRef]=\"pbaPayOrderRef\"\n ></ccpay-pba-payment>\n <ccpay-case-transactions [isTakePayment]=\"isTakePayment\" [LOGGEDINUSERROLES]=\"LOGGEDINUSERROLES\" *ngIf=\"viewName === 'case-transactions'\"></ccpay-case-transactions>\n <app-mark-unidentified-payment *ngIf=\"viewName === 'unidentifiedPage'\"\n [caseType]=\"CASETYPE\"></app-mark-unidentified-payment>\n <app-mark-unsolicited-payment *ngIf=\"viewName === 'unsolicitedPage'\"\n [caseType]=\"CASETYPE\"></app-mark-unsolicited-payment>\n <app-allocate-payments *ngIf=\"viewName === 'allocate-payments'\"\n [isTurnOff]=\"ISTURNOFF\"\n [caseType]=\"CASETYPE\"\n ></app-allocate-payments>\n <ccpay-fee-summary *ngIf=\"viewName === 'fee-summary'\"\n [ccdCaseNumber]=\"CCD_CASE_NUMBER\"\n [paymentGroupRef]=\"paymentGroupReference\"\n [isTurnOff]=\"ISTURNOFF\"\n [caseType]=\"CASETYPE\"\n ></ccpay-fee-summary>\n <ccpay-reports *ngIf=\"viewName === 'reports'\"\n [ISPAYMENTSTATUSENABLED] = \"ISPAYMENTSTATUSENABLED\"\n ></ccpay-reports>\n "
282
+ template: "\n <ccpay-refund-list [USERID]=\"USERID\" [LOGGEDINUSERROLES]=\"LOGGEDINUSERROLES\" [LOGGEDINUSEREMAIL]=\"LOGGEDINUSEREMAIL\" *ngIf=\"viewName === 'refund-list'\"></ccpay-refund-list>\n <ccpay-payment-list *ngIf=\"viewName === 'payment-list'\"></ccpay-payment-list>\n <ccpay-refund-status\n [LOGGEDINUSERROLES]=\"LOGGEDINUSERROLES\"\n [API_ROOT]=\"API_ROOT\"\n *ngIf=\"viewName === 'refundstatuslist'\"> </ccpay-refund-status >\n <ccpay-payment-view [LOGGEDINUSERROLES]=\"LOGGEDINUSERROLES\" *ngIf=\"viewName === 'payment-view'\"\n [isTurnOff]=\"ISTURNOFF\" [isTakePayment]=\"TAKEPAYMENT\" [caseType]=\"CASETYPE\"\n [ISPAYMENTSTATUSENABLED] = \"ISPAYMENTSTATUSENABLED\"\n ></ccpay-payment-view>\n\n <ccpay-process-refund *ngIf=\"viewName === 'process-refund'\"\n [refundReference]=\"refundReference\"\n [refundlistsource]=\"refundlistsource\"\n ></ccpay-process-refund>\n <ccpay-pba-payment *ngIf=\"viewName === 'pba-payment'\"\n [pbaPayOrderRef]=\"pbaPayOrderRef\"\n ></ccpay-pba-payment>\n <ccpay-case-transactions [isTakePayment]=\"isTakePayment\" [isFromServiceRequestPage]=\"isFromServiceRequestPage\" [LOGGEDINUSERROLES]=\"LOGGEDINUSERROLES\" *ngIf=\"viewName === 'case-transactions'\"></ccpay-case-transactions>\n <app-mark-unidentified-payment *ngIf=\"viewName === 'unidentifiedPage'\"\n [caseType]=\"CASETYPE\"></app-mark-unidentified-payment>\n <app-mark-unsolicited-payment *ngIf=\"viewName === 'unsolicitedPage'\"\n [caseType]=\"CASETYPE\"></app-mark-unsolicited-payment>\n <app-allocate-payments *ngIf=\"viewName === 'allocate-payments'\"\n [isTurnOff]=\"ISTURNOFF\"\n [caseType]=\"CASETYPE\"\n ></app-allocate-payments>\n <ccpay-fee-summary *ngIf=\"viewName === 'fee-summary'\"\n [ccdCaseNumber]=\"CCD_CASE_NUMBER\"\n [paymentGroupRef]=\"paymentGroupReference\"\n [isTurnOff]=\"ISTURNOFF\"\n [caseType]=\"CASETYPE\"\n ></ccpay-fee-summary>\n <ccpay-reports *ngIf=\"viewName === 'reports'\"\n [ISPAYMENTSTATUSENABLED] = \"ISPAYMENTSTATUSENABLED\"\n ></ccpay-reports>\n "
272
283
  },] }
273
284
  ];
274
285
  PaymentLibComponent.ctorParameters = function () { return [
@@ -280,6 +291,7 @@
280
291
  API_ROOT: [{ type: i0.Input, args: ['API_ROOT',] }],
281
292
  BULKSCAN_API_ROOT: [{ type: i0.Input, args: ['BULKSCAN_API_ROOT',] }],
282
293
  REFUNDS_API_ROOT: [{ type: i0.Input, args: ['REFUNDS_API_ROOT',] }],
294
+ NOTIFICATION_API_ROOT: [{ type: i0.Input, args: ['NOTIFICATION_API_ROOT',] }],
283
295
  CARDPAYMENTRETURNURL: [{ type: i0.Input, args: ['CARDPAYMENTRETURNURL',] }],
284
296
  CCD_CASE_NUMBER: [{ type: i0.Input, args: ['CCD_CASE_NUMBER',] }],
285
297
  EXC_REFERENCE: [{ type: i0.Input, args: ['EXC_REFERENCE',] }],
@@ -876,12 +888,20 @@
876
888
  }
877
889
  PaymentViewService.prototype.getPaymentDetails = function (paymentReference, paymentMethod) {
878
890
  this.logger.info('Payment-view-service getPaymentDetails for: ', paymentReference);
879
- return this.http.get(paymentMethod === 'card' || paymentMethod === 'cash' || paymentMethod === 'cheque' || paymentMethod === 'postal order' ?
880
- this.paymentLibService.API_ROOT + "/card-payments/" + paymentReference :
881
- this.paymentLibService.API_ROOT + "/credit-account-payments/" + paymentReference, {
882
- withCredentials: true
883
- })
884
- .pipe(operators.catchError(this.errorHandlerService.handleError));
891
+ if (paymentMethod == undefined || paymentMethod == null) {
892
+ return this.http.get(this.paymentLibService.API_ROOT + "/payments/" + paymentReference, {
893
+ withCredentials: true
894
+ })
895
+ .pipe(operators.catchError(this.errorHandlerService.handleError));
896
+ }
897
+ else {
898
+ return this.http.get(paymentMethod === 'card' || paymentMethod === 'cash' || paymentMethod === 'cheque' || paymentMethod === 'postal order' ?
899
+ this.paymentLibService.API_ROOT + "/card-payments/" + paymentReference :
900
+ this.paymentLibService.API_ROOT + "/credit-account-payments/" + paymentReference, {
901
+ withCredentials: true
902
+ })
903
+ .pipe(operators.catchError(this.errorHandlerService.handleError));
904
+ }
885
905
  };
886
906
  PaymentViewService.prototype.getPaymentGroupDetails = function (paymentGroupReference) {
887
907
  this.logger.info('Payment-view-service getPaymentGroupDetails for: ', paymentGroupReference);
@@ -997,11 +1017,83 @@
997
1017
  { type: PaymentLibService }
998
1018
  ]; };
999
1019
 
1020
+ var NotificationService = /** @class */ (function () {
1021
+ function NotificationService(http, https, errorHandlerService, paymentLibService) {
1022
+ this.http = http;
1023
+ this.https = https;
1024
+ this.errorHandlerService = errorHandlerService;
1025
+ this.paymentLibService = paymentLibService;
1026
+ }
1027
+ NotificationService.prototype.getRefundNotification = function (reference) {
1028
+ return this.http.get(this.paymentLibService.NOTIFICATION_API_ROOT + "/" + reference, {
1029
+ withCredentials: true
1030
+ })
1031
+ .pipe(operators.catchError(this.errorHandlerService.handleError));
1032
+ };
1033
+ NotificationService.prototype.getAddressByPostcode = function (postcode) {
1034
+ return this.http.get(this.paymentLibService.NOTIFICATION_API_ROOT + "/postcode-lookup/" + postcode, {
1035
+ withCredentials: true
1036
+ })
1037
+ .pipe(operators.catchError(this.errorHandlerService.handleError));
1038
+ };
1039
+ NotificationService.prototype.getNotificationPreview = function (body) {
1040
+ return this.https.post(this.paymentLibService.NOTIFICATION_API_ROOT + "/doc-preview", body).pipe(operators.catchError(this.errorHandlerService.handleError));
1041
+ };
1042
+ NotificationService.prototype.getNotificationInstructionType = function (paymentChannel, paymentMethod) {
1043
+ if (paymentChannel === 'bulk scan' && paymentMethod === 'postal order') {
1044
+ return 'RefundWhenContacted';
1045
+ }
1046
+ else if (paymentChannel === 'bulk scan' && paymentMethod === 'cash') {
1047
+ return 'RefundWhenContacted';
1048
+ }
1049
+ else if (paymentChannel === 'online' && paymentMethod === 'card') {
1050
+ return 'SendRefund';
1051
+ }
1052
+ else if (paymentChannel === 'telephony' && paymentMethod === 'card') {
1053
+ return 'SendRefund';
1054
+ }
1055
+ else if (paymentChannel === 'online' && paymentMethod === 'payment by account') {
1056
+ return 'SendRefund';
1057
+ }
1058
+ else if (paymentChannel === 'bulk scan' && paymentMethod === 'cheque') {
1059
+ return 'SendRefund';
1060
+ }
1061
+ else {
1062
+ return 'Template';
1063
+ }
1064
+ };
1065
+ return NotificationService;
1066
+ }());
1067
+ NotificationService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function NotificationService_Factory() { return new NotificationService(i0__namespace.ɵɵinject(i1__namespace.HttpClient), i0__namespace.ɵɵinject(WebComponentHttpClient), i0__namespace.ɵɵinject(ErrorHandlerService), i0__namespace.ɵɵinject(PaymentLibService)); }, token: NotificationService, providedIn: "root" });
1068
+ NotificationService.decorators = [
1069
+ { type: i0.Injectable, args: [{
1070
+ providedIn: 'root'
1071
+ },] }
1072
+ ];
1073
+ NotificationService.ctorParameters = function () { return [
1074
+ { type: i1.HttpClient },
1075
+ { type: WebComponentHttpClient },
1076
+ { type: ErrorHandlerService },
1077
+ { type: PaymentLibService }
1078
+ ]; };
1079
+
1080
+ var PostRefundRetroRemission = /** @class */ (function () {
1081
+ function PostRefundRetroRemission(contact_details, fees, payment_reference, refund_reason, total_refund_amount, is_over_payment) {
1082
+ this.contact_details = contact_details;
1083
+ this.fees = fees;
1084
+ this.payment_reference = payment_reference;
1085
+ this.refund_reason = refund_reason;
1086
+ this.total_refund_amount = total_refund_amount;
1087
+ this.is_over_payment = is_over_payment === 'op';
1088
+ }
1089
+ return PostRefundRetroRemission;
1090
+ }());
1091
+
1000
1092
  var BS_ENABLE_FLAG$4 = 'bulk-scan-enabling-fe';
1001
1093
  var PaymentViewComponent = /** @class */ (function () {
1002
- function PaymentViewComponent(paymentViewService, paymentLibComponent, cd, OrderslistService) {
1003
- var _this = this;
1094
+ function PaymentViewComponent(paymentViewService, notificationService, paymentLibComponent, cd, OrderslistService) {
1004
1095
  this.paymentViewService = paymentViewService;
1096
+ this.notificationService = notificationService;
1005
1097
  this.paymentLibComponent = paymentLibComponent;
1006
1098
  this.cd = cd;
1007
1099
  this.OrderslistService = OrderslistService;
@@ -1011,16 +1103,7 @@
1011
1103
  this.allowedRolesToAccessRefund = ['payments-refund-approver', 'payments-refund'];
1012
1104
  this.remissions = [];
1013
1105
  this.allPaymentsFailure = [];
1014
- this.check4AllowedRoles2AccessRefund = function () {
1015
- return _this.allowedRolesToAccessRefund.some(function (role) { return _this.LOGGEDINUSERROLES.indexOf(role) !== -1; });
1016
- };
1017
- this.allowFurtherAccessAfter4Days = function (payment) {
1018
- if (payment !== null && payment !== undefined) {
1019
- var tmp4DayAgo = new Date();
1020
- tmp4DayAgo.setDate(tmp4DayAgo.getDate() - 4);
1021
- return tmp4DayAgo >= new Date(payment.date_created);
1022
- }
1023
- };
1106
+ this.isContinueBtnDisabled = true;
1024
1107
  }
1025
1108
  PaymentViewComponent.prototype.ngAfterContentChecked = function () {
1026
1109
  this.cd.detectChanges();
@@ -1049,6 +1132,7 @@
1049
1132
  }
1050
1133
  });
1051
1134
  paymentGroup.fees = fees;
1135
+ _this.paymentFees = fees;
1052
1136
  _this.paymentGroup = paymentGroup;
1053
1137
  _this.paymentGroup.payments = _this.paymentGroup.payments.filter(function (paymentGroupObj) { return paymentGroupObj['reference'].includes(_this.paymentLibComponent.paymentReference); });
1054
1138
  var paymentAllocation = _this.paymentGroup.payments[0].payment_allocation;
@@ -1087,6 +1171,13 @@
1087
1171
  PaymentViewComponent.prototype.goToPaymentList = function () {
1088
1172
  this.paymentLibComponent.viewName = 'payment-list';
1089
1173
  };
1174
+ PaymentViewComponent.prototype.getOverPaymentValue = function () {
1175
+ var feesOverPayment = 0;
1176
+ this.paymentGroup.fees.forEach(function (fee) {
1177
+ feesOverPayment += fee.over_payment;
1178
+ });
1179
+ return feesOverPayment > 0 ? feesOverPayment : this.paymentGroup.payments[0].over_payment;
1180
+ };
1090
1181
  PaymentViewComponent.prototype.goToServiceRequestPage = function () {
1091
1182
  this.paymentLibComponent.viewName = 'case-transactions';
1092
1183
  this.paymentLibComponent.TAKEPAYMENT = false;
@@ -1118,7 +1209,7 @@
1118
1209
  };
1119
1210
  PaymentViewComponent.prototype.addRemission = function (fee) {
1120
1211
  var _this = this;
1121
- if (this.chkForAddRemission(fee.code)) {
1212
+ if (this.chkIsAddRemissionBtnEnable(fee)) {
1122
1213
  this.feeId = fee;
1123
1214
  this.paymentViewService.getApportionPaymentDetails(this.paymentGroup.payments[0].reference).subscribe(function (paymentGroup) {
1124
1215
  _this.paymentGroup = paymentGroup;
@@ -1139,48 +1230,73 @@
1139
1230
  }
1140
1231
  return false;
1141
1232
  };
1142
- PaymentViewComponent.prototype.addRefundForRemission = function (payment, remission, fees) {
1233
+ PaymentViewComponent.prototype.processRefund = function () {
1143
1234
  var _this = this;
1144
- if (this.chkIsRefundRemissionBtnEnable()) {
1145
- this.payment = payment;
1146
- this.paymentViewService.getApportionPaymentDetails(this.payment.reference).subscribe(function (paymentGroup) {
1147
- _this.paymentGroup = paymentGroup;
1148
- _this.paymentGroup.payments = _this.paymentGroup.payments.filter(function (paymentGroupObj) { return paymentGroupObj['reference'].includes(_this.payment.reference); });
1149
- _this.payment = _this.paymentGroup.payments[0];
1150
- _this.remissions = remission;
1151
- _this.remissionFeeAmt = fees.filter(function (data) { return data.code === _this.remissions['fee_code']; })[0].net_amount;
1152
- _this.viewStatus = 'addrefundforremission';
1153
- // const paymentAllocation = this.paymentGroup.payments[0].payment_allocation;
1154
- // this.isStatusAllocated = paymentAllocation.length > 0 && paymentAllocation[0].allocation_status === 'Allocated' || paymentAllocation.length === 0;
1155
- }, function (error) { return _this.errorMessage = error; });
1235
+ this.isConfirmationBtnDisabled = true;
1236
+ this.errorMessage = '';
1237
+ var obj = this.paymentGroup.fees[0];
1238
+ this.fees = [{ id: obj.id,
1239
+ code: obj.code,
1240
+ version: obj.version,
1241
+ apportion_amount: obj.apportion_amount,
1242
+ calculated_amount: obj.calculated_amount,
1243
+ updated_volume: obj.updated_volume ? obj.updated_volume : obj.volume,
1244
+ volume: obj.volume,
1245
+ refund_amount: this.getOverPaymentValue() }];
1246
+ var requestBody = new PostRefundRetroRemission(this.contactDetailsObj, this.fees, this.paymentGroup.payments[0].reference, 'RR037', this.getOverPaymentValue(), 'op');
1247
+ this.paymentViewService.postRefundsReason(requestBody).subscribe(function (response) {
1248
+ if (JSON.parse(response)) {
1249
+ _this.viewCompStatus = '';
1250
+ _this.viewStatus = 'refundconfirmationpage';
1251
+ _this.refundReference = JSON.parse(response).refund_reference;
1252
+ _this.refundAmount = JSON.parse(response).refund_amount;
1253
+ }
1254
+ }, function (error) {
1255
+ _this.errorMessage = error;
1256
+ _this.isConfirmationBtnDisabled = false;
1257
+ _this.cd.detectChanges();
1258
+ });
1259
+ };
1260
+ PaymentViewComponent.prototype.gotoAddressPage = function (note) {
1261
+ if (note) {
1262
+ this.notification = { contact_details: note, notification_type: note.notification_type };
1156
1263
  }
1264
+ this.errorMessage = '';
1265
+ this.viewCompStatus = 'overPaymentAddressCapture';
1157
1266
  };
1158
- PaymentViewComponent.prototype.chkIsRefundRemissionBtnEnable = function () {
1267
+ PaymentViewComponent.prototype.addRefundForRemission = function (payment, remission, fees) {
1159
1268
  var _this = this;
1160
- if (this.paymentGroup !== null && this.paymentGroup !== undefined) {
1161
- this.paymentGroup.payments.forEach(function (payment) {
1162
- if (payment.method.toLocaleLowerCase() === 'payment by account' && payment.status.toLocaleLowerCase() === 'success' && _this.allowFurtherAccessAfter4Days(payment)) {
1163
- _this.isRefundRemissionBtnEnable = true;
1164
- }
1165
- });
1166
- if (this.isRefundRemissionBtnEnable) {
1167
- return true;
1168
- }
1169
- else {
1170
- return false;
1171
- }
1172
- ;
1173
- }
1269
+ //if(!this.chkIsIssueRefundBtnEnable(payment)) {
1270
+ this.paymentViewService.getApportionPaymentDetails(payment.reference).subscribe(function (paymentGroup) {
1271
+ _this.paymentGroup = paymentGroup;
1272
+ _this.paymentGroup.payments = _this.paymentGroup.payments.filter(function (paymentGroupObj) { return paymentGroupObj['reference'].includes(payment.reference); });
1273
+ _this.payment = _this.paymentGroup.payments[0];
1274
+ _this.remissions = remission;
1275
+ _this.remissionFeeAmt = fees.filter(function (data) { return data.code === _this.remissions['fee_code']; })[0].net_amount;
1276
+ _this.viewStatus = 'addrefundforremission';
1277
+ // const paymentAllocation = this.paymentGroup.payments[0].payment_allocation;
1278
+ // this.isStatusAllocated = paymentAllocation.length > 0 && paymentAllocation[0].allocation_status === 'Allocated' || paymentAllocation.length === 0;
1279
+ }, function (error) { return _this.errorMessage = error; });
1280
+ //}
1281
+ };
1282
+ PaymentViewComponent.prototype.goToPaymentViewComponent = function () {
1283
+ this.viewCompStatus = '';
1284
+ this.viewStatus = 'paymentview';
1174
1285
  };
1175
1286
  PaymentViewComponent.prototype.issueRefund = function (paymentgrp) {
1176
1287
  if (paymentgrp !== null && paymentgrp !== undefined) {
1177
- if (this.chkIssueRefundBtnEnable(paymentgrp.payments[0])) {
1178
- this.paymentGroup = paymentgrp;
1179
- this.viewStatus = 'issuerefund';
1180
- this.isRefundRemission = true;
1181
- this.paymentLibComponent.isFromPaymentDetailPage = true;
1182
- this.isFromPaymentDetailPage = true;
1183
- this.isFromServiceRequestPage = this.paymentLibComponent.isFromServiceRequestPage;
1288
+ if (this.chkIsIssueRefundBtnEnable(paymentgrp.payments[0])) {
1289
+ if (paymentgrp.payments[0].over_payment > 0) {
1290
+ this.viewCompStatus = 'overpayment';
1291
+ }
1292
+ else {
1293
+ this.paymentGroup = paymentgrp;
1294
+ this.viewStatus = 'issuerefund';
1295
+ this.isRefundRemission = true;
1296
+ this.paymentLibComponent.isFromPaymentDetailPage = true;
1297
+ this.isFromPaymentDetailPage = true;
1298
+ this.isFromServiceRequestPage = false;
1299
+ }
1184
1300
  }
1185
1301
  }
1186
1302
  };
@@ -1205,55 +1321,60 @@
1205
1321
  }
1206
1322
  return null;
1207
1323
  };
1208
- PaymentViewComponent.prototype.chkIssueRefundBtnEnable = function (payment) {
1209
- if (this.check4AllowedRoles2AccessRefund() && this.allowFurtherAccessAfter4Days(payment) &&
1210
- payment.method === 'payment by account' && payment.status.toLocaleLowerCase() === 'success') {
1211
- this.isIssueRefunfBtnEnable = true;
1212
- }
1213
- if (this.isIssueRefunfBtnEnable) {
1214
- return true;
1324
+ PaymentViewComponent.prototype.chkIsIssueRefundBtnEnable = function (payment) {
1325
+ if (payment !== null && payment !== undefined) {
1326
+ return payment.issue_refund && payment.refund_enable;
1215
1327
  }
1216
1328
  else {
1217
1329
  return false;
1218
1330
  }
1219
- ;
1220
1331
  };
1221
- PaymentViewComponent.prototype.chkForPBAPayment = function () {
1222
- if (this.paymentGroup !== null && this.paymentGroup !== undefined) {
1223
- var payment = this.paymentGroup.payments[0];
1224
- if (payment.method.toLocaleLowerCase() === 'payment by account' && this.allowFurtherAccessAfter4Days(payment)) {
1225
- return true;
1226
- }
1332
+ PaymentViewComponent.prototype.chkIsAddRefundBtnEnable = function (remission) {
1333
+ if (remission !== null && remission !== undefined) {
1334
+ return remission.add_refund;
1335
+ }
1336
+ else {
1227
1337
  return false;
1228
1338
  }
1229
1339
  };
1230
- PaymentViewComponent.prototype.chkForAddRemission = function (feeCode) {
1231
- var e_2, _a;
1232
- if (this.chkForPBAPayment() && this.check4AllowedRoles2AccessRefund() && this.allowFurtherAccessAfter4Days(this.paymentGroup.payments[0])) {
1233
- if (this.paymentGroup.remissions && this.paymentGroup.remissions.length > 0) {
1234
- try {
1235
- for (var _b = __values(this.paymentGroup.remissions), _c = _b.next(); !_c.done; _c = _b.next()) {
1236
- var remission = _c.value;
1237
- if (remission.fee_code === feeCode) {
1238
- return false;
1239
- }
1240
- }
1241
- }
1242
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
1243
- finally {
1244
- try {
1245
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
1246
- }
1247
- finally { if (e_2) throw e_2.error; }
1248
- }
1249
- return true;
1250
- }
1251
- return true;
1340
+ PaymentViewComponent.prototype.chkIsAddRemissionBtnEnable = function (fee) {
1341
+ if (fee !== null && fee !== undefined) {
1342
+ return fee.add_remission && fee.remission_enable;
1252
1343
  }
1253
1344
  else {
1254
1345
  return false;
1255
1346
  }
1256
1347
  };
1348
+ PaymentViewComponent.prototype.selectPymentOption = function (paymentType) {
1349
+ this.paymentType = paymentType;
1350
+ this.isContinueBtnDisabled = false;
1351
+ };
1352
+ PaymentViewComponent.prototype.continuePayment = function (paymentgrp) {
1353
+ if (this.paymentType === 'op') {
1354
+ this.isFullyRefund = false;
1355
+ this.viewCompStatus = 'overPaymentAddressCapture';
1356
+ }
1357
+ else if (this.paymentType === 'fp') {
1358
+ this.isFullyRefund = true;
1359
+ this.paymentGroup = paymentgrp;
1360
+ this.viewStatus = 'issuerefund';
1361
+ this.viewCompStatus = "";
1362
+ this.isRefundRemission = true;
1363
+ this.paymentLibComponent.isFromPaymentDetailPage = true;
1364
+ this.isFromPaymentDetailPage = true;
1365
+ this.isFromServiceRequestPage = this.paymentLibComponent.isFromServiceRequestPage;
1366
+ }
1367
+ };
1368
+ PaymentViewComponent.prototype.gotoPaymentSelectPage = function (event) {
1369
+ event.preventDefault();
1370
+ this.viewCompStatus = 'overpayment';
1371
+ };
1372
+ PaymentViewComponent.prototype.getContactDetails = function (obj) {
1373
+ this.contactDetailsObj = obj;
1374
+ this.notificationPreview = false;
1375
+ this.getTemplateInstructionType(this.paymentGroup.payments[0]);
1376
+ this.viewCompStatus = 'overpaymentcheckandanswer';
1377
+ };
1257
1378
  PaymentViewComponent.prototype.resetOrderData = function () {
1258
1379
  this.OrderslistService.setOrderRef(null);
1259
1380
  this.OrderslistService.setorderCCDEvent(null);
@@ -1272,17 +1393,32 @@
1272
1393
  event.preventDefault();
1273
1394
  this.viewStatus = 'paymentview';
1274
1395
  };
1396
+ PaymentViewComponent.prototype.getTemplateInstructionType = function (payment) {
1397
+ if (payment == undefined || payment == null) {
1398
+ this.templateInstructionType = 'Template';
1399
+ }
1400
+ else {
1401
+ this.templateInstructionType = this.notificationService.getNotificationInstructionType(payment.channel, payment.method);
1402
+ }
1403
+ };
1404
+ PaymentViewComponent.prototype.showNotificationPreview = function () {
1405
+ this.notificationPreview = true;
1406
+ };
1407
+ PaymentViewComponent.prototype.hideNotificationPreview = function () {
1408
+ this.notificationPreview = false;
1409
+ };
1275
1410
  return PaymentViewComponent;
1276
1411
  }());
1277
1412
  PaymentViewComponent.decorators = [
1278
1413
  { type: i0.Component, args: [{
1279
1414
  selector: 'ccpay-payment-view',
1280
- template: "\n<ng-container *ngIf=\"viewStatus === 'paymentview'\">\n<div class=\"govuk-width-container\">\n\n <div class=\"govuk-breadcrumbs\">\n <ol class=\"govuk-breadcrumbs__list\">\n <li class=\"govuk-breadcrumbs__list-item\">\n <a href=\"javascript:void(0)\" (click)=\"goToCaseTransationPage($event)\" class=\"govuk-back-link\">Back</a>\n </li>\n </ol>\n </div>\n\n <main class=\"govuk-main-wrapper govuk-!-padding-top-0\" id=\"main-content\" role=\"main\">\n\n <div *ngIf=\"errorMessage\">\n <div class=\"error-summary\" role=\"group\" aria-labelledby=\"failure-error-summary-heading\" tabindex=\"-1\">\n <h2 class=\"heading-medium error-summary-heading\" id=\"failure-error-summary-heading\">\n Payment details could not be retrieved\n </h2>\n <div class=\"govuk-error-summary__body\">\n {{ errorMessage }}\n </div>\n </div>\n </div>\n\n <div class=\"payment-view-alignment\" *ngIf=\"!errorMessage && paymentGroup?.payments[0]\">\n\n <input #myInput type='hidden' class='iFrameDrivenImageValue' value='PAYMENTDETAILS'>\n <div class=\"govuk-grid-row\">\n <div class=\"column\">\n <h1 class=\"heading-large govuk-!-margin-top-0\">Payment details</h1>\n </div>\n </div>\n <table>\n <tbody>\n\n <tr class=\"section\">\n <td class=\"bold tb-col-w\">Service request reference</td>\n <td class=\"tb-col-w\">{{ serviceReference }}</td>\n </tr>\n <tr class=\"section\">\n <td class=\"bold tb-col-w\">Payment reference</td>\n <td class=\"tb-col-w\">{{ paymentGroup?.payments[0]?.reference }}</td>\n </tr>\n <tr class=\"section\">\n <td class=\"bold tb-col-w\">Payment amount</td>\n <td class=\"tb-col-w\">\u00A3{{ paymentGroup?.payments[0]?.amount | number:'.2' }}</td>\n </tr>\n <tr class=\"section\" *ngIf=\"paymentGroup?.payments[0] && paymentGroup?.payments[0]?.document_control_number && !paymentGroup?.payments[0]?.external_reference\">\n <td class=\"bold tb-col-w\">Payment asset number(DCN)</td>\n <td class=\"tb-col-w\">{{ paymentGroup?.payments[0]?.document_control_number }}</td>\n </tr>\n <tr class=\"section\" *ngIf=\"paymentGroup?.payments[0] && paymentGroup?.payments[0]?.document_control_number && !paymentGroup?.payments[0]?.external_reference\">\n <td class=\"bold tb-col-w\">Banked date</td>\n <td class=\"tb-col-w\">{{ paymentGroup?.payments[0]?.banked_date | date:'dd MMM yyyy' }}</td>\n </tr>\n <tr class=\"section\" *ngIf=\"paymentGroup?.payments[0] && paymentGroup?.payments[0]?.external_reference\">\n <td class=\"bold tb-col-w\">GovPay Transaction ID</td>\n <td class=\"tb-col-w\">{{ paymentGroup?.payments[0]?.external_reference }}</td>\n </tr>\n <tr class=\"section\" >\n <td class=\"bold tb-col-w\">Payment method</td>\n <td class=\"tb-col-w text-transform\">{{ paymentGroup?.payments[0]?.method }}</td>\n </tr>\n <tr class=\"section\" *ngIf=\"paymentGroup?.payments[0]?.method === 'payment by account'\" >\n <td class=\"bold tb-col-w\">Type</td>\n <td class=\"tb-col-w\" *ngIf=\"paymentGroup?.payments[0]?.method !== 'card'\">Credit</td>\n <td class=\"tb-col-w\" *ngIf=\"paymentGroup?.payments[0]?.method === 'card'\">Card</td>\n </tr>\n <tr class=\"section\">\n <td class=\"bold tb-col-w\">Channel</td>\n <td class=\"tb-col-w text-transform\">{{ paymentGroup?.payments[0]?.channel }}</td>\n </tr>\n <!-- <tr class=\"section\">\n <td class=\"bold tb-col-w\">Method</td>\n <td *ngIf=\"paymentGroup?.payments[0]?.method !== 'card'\">{{ paymentGroup?.payments[0]?.method }}</td>\n <td *ngIf=\"paymentGroup?.payments[0]?.method === 'card'\">CARD</td>\n </tr> -->\n <!-- <tr class=\"section\" *ngIf=\"paymentGroup?.payments[0]?.channel !== 'telephony'\">\n <td class=\"bold tb-col-w\">Status</td>\n <td>{{ paymentGroup?.payments[0]?.status }}</td>\n </tr> -->\n <tr class=\"section\" *ngIf=\"paymentGroup?.payments[0]?.payment_allocation[0] !== undefined\">\n <td class=\"bold tb-col-w\">Allocaton status</td>\n <td class=\"tb-col-w\">{{ paymentGroup?.payments[0]?.payment_allocation[0]?.allocation_status }}</td>\n </tr>\n\n <tr *ngIf=\"paymentGroup?.payments[0].organisation_name\">\n <td class=\"bold tb-col-w\">PBA account name</td>\n <td class=\"tb-col-w\">{{ paymentGroup?.payments[0]?.organisation_name }}</td>\n </tr>\n\n <tr *ngIf=\"paymentGroup?.payments[0].account_number\">\n <td class=\"bold tb-col-w\">PBA number</td>\n <td class=\"tb-col-w\">{{ paymentGroup?.payments[0]?.account_number }}</td>\n </tr>\n\n <tr *ngIf=\"paymentGroup?.payments[0].customer_reference\">\n <td class=\"bold tb-col-w\">Customer internal reference</td>\n <td class=\"tb-col-w\">{{ paymentGroup?.payments[0]?.customer_reference }}</td>\n </tr>\n\n </tbody>\n </table>\n\n <div>\n <!-- Status histories -->\n <ccpay-payment-statuses *ngIf=\"isStatusAllocated\" [isTakePayment]=\"isTakePayment\"></ccpay-payment-statuses>\n </div>\n <div class=\"remission\">\n <button [disabled]=\"!chkIssueRefundBtnEnable(paymentGroup?.payments[0])\" (click)=\"issueRefund(paymentGroup)\" class=\"govuk-button govuk-button--secondary\">Issue refund</button>\n </div>\n<div *ngIf=\"ISPAYMENTSTATUSENABLED\">\n <div class=\"column\">\n <h2 class=\"heading-medium\">Disputed payment history</h2>\n </div>\n \n <div>\n <table>\n <thead>\n <tr>\n <th>Status</th>\n <th>Amount</th>\n <th>Date</th>\n <th>Payment reference</th>\n <th>Event</th>\n <th></th>\n </tr>\n </thead> \n <tbody *ngIf=\"!errorMsg && allPaymentsFailure.length > 0\">\n <tr *ngFor=\"let payment of allPaymentsFailure\">\n <td>{{ payment.status | capitalize }}</td>\n <td>\u00A3{{ payment.disputed_amount | number:'.2' }}</td>\n <td>{{(payment.representment_date ? payment.representment_date : payment.failure_event_date_time) | date:'dd MMM yyyy'}}</td>\n <td>{{ payment.payment_reference }}</td>\n <td >{{ payment.failure_type }}</td>\n <td>\n \n <a href=\"javascript:void(0)\" (click)=\"goToPaymentFailuePage(payment)\">Show detail</a>\n\n </td>\n </tr>\n </tbody>\n <tbody *ngIf=\"errorMsg || allPaymentsFailure.length === 0\">\n <tr>\n <td colspan=\"6\"> No disputed payment history available. </td>\n </tr>\n </tbody>\n </table>\n </div>\n <br/>\n <br/>\n </div>\n \n <div *ngIf=\"checkForFees(paymentGroup)\">\n <div *ngIf=\"paymentGroup.fees.length > 0\">\n <div class=\"column\">\n <br/>\n <br/>\n <h2 class=\"heading-large\">Fee and remission details</h2>\n\n </div>\n </div>\n\n <div *ngFor=\"let fee of paymentGroup.fees\">\n <table class=\"table\">\n <tbody>\n <tr class=\"section\">\n <td class=\"bold tb-col-w\">Description</td>\n <td class=\"tb-col-w\">Application for {{ fee.description }}</td>\n </tr>\n <tr class=\"section\">\n <td class=\"bold tb-col-w\">Fee code</td>\n <td class=\"tb-col-w\">{{ fee?.code }}</td>\n </tr>\n <tr class=\"section\">\n <td class=\"bold tb-col-w\" [ngClass]=\"{'tr-border': !fee.apportion_amount && !fee.remissions && !isTurnOff }\">Fee amount</td>\n <td [ngClass]=\"{'tr-border': !fee.apportion_amount && !fee.remissions && !isTurnOff}\">\u00A3{{ fee?.calculated_amount | number:'.2' }}</td>\n </tr>\n\n <tr *ngIf=\"fee.apportion_amount\">\n <td class=\"bold tb-col-w tr-border\" [ngClass]=\"{'tr-border': !fee.remissions}\">Allocated amount</td>\n <td [ngClass]=\"{'tr-border': !fee.remissions}\">\u00A3{{ fee?.apportion_amount | number:'.2' }}</td>\n </tr>\n\n </tbody>\n </table>\n <button [disabled]=\"!chkForAddRemission(fee.code)\" (click)=\"addRemission(fee)\" class=\"govuk-button govuk-button--secondary\"> Add remission</button>\n </div>\n\n <!-- remissions -->\n <div class=\"order-class\">\n <div class=\"column\">\n <table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header col-24 whitespace-inherit\" scope=\"col\">Help with fees or remission code</td>\n <td class=\"govuk-table__header col-27 whitespace-inherit\" scope=\"col\">Reference</td>\n <td class=\"govuk-table__header whitespace-inherit\" scope=\"col\">Fee</td>\n <td class=\"govuk-table__header whitespace-inherit\" scope=\"col\">Amount</td>\n <td class=\"govuk-table__header whitespace-inherit refundBtn\" scope=\"col\"></td>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\" *ngFor=\"let remission of paymentGroup.remissions\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell whitespace-inherit\">{{ remission?.hwf_reference }}</td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{ remission?.remission_reference }}</td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{ remission?.fee_code }}</td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{ remission?.hwf_amount | currency:'GBP':'symbol-narrow':'1.2-2'}}</td>\n <td class=\"govuk-table__cell refundBtn whitespace-inherit\" >\n <button [disabled]=\"!chkIsRefundRemissionBtnEnable()\" (click)=\"addRefundForRemission(paymentGroup.payments[0],remission,paymentGroup.fees)\" class=\"govuk-button govuk-button--secondary\"> Add refund</button>\n </td>\n </tr>\n </tbody>\n\n\n </table>\n </div></div>\n\n <div *ngIf=\"paymentGroup.remissions?.length === 0\">\n <span class=\"mar-17\" >No help with fees or remissions.</span>\n </div>\n\n </div>\n </div>\n </main>\n</div>\n\n</ng-container>\n<ng-container *ngIf=\"viewStatus === 'addremission' && feeId\">\n<ccpay-add-remission\n[isTurnOff]=\"isTurnOff\"\n[isStrategicFixEnable]=\"isStrategicFixEnable\"\n[viewCompStatus]= \"viewStatus\"\n[fee]=\"feeId\"\n[payment] = \"payment\"\n[orderStatus] =\"paymentGroup.payments[0].status\"\n[paidAmount]= \"paymentGroup.payments[0].amount\"\n[isRefundRemission]=\"isRefundRemission\"\n[caseType]=\"caseType\"\n[paymentGroupRef]=\"paymentGroup.payment_group_reference\"\n[isFromPaymentDetailPage] = \"true\"\n[ccdCaseNumber]=\"ccdCaseNumber\"\n[orderFeesTotal] = \"orderFeesTotal\"\n[orderTotalPayments] = \"orderTotalPayments\"\n[orderRemissionTotal] = \"orderRemissionTotal\"\n[orderRef] = \"orderRef\"\n[orderCreated] = \"orderCreated\"\n[orderParty] = \"orderParty\"\n[orderCCDEvent] = \"orderCCDEvent\"\n[orderDetail] = \"orderDetail\"\n[LOGGEDINUSERROLES] = \"LOGGEDINUSERROLES\"></ccpay-add-remission>\n</ng-container>\n\n<ng-container *ngIf=\"viewStatus === 'addrefundforremission' && payment\">\n\n<ccpay-add-remission\n[isTurnOff]=\"isTurnOff\"\n[isStrategicFixEnable]=\"isStrategicFixEnable\"\n[viewCompStatus]= \"viewStatus\"\n[payment]=\"payment\"\n[orderStatus] =\"orderStatus\"\n[paidAmount]= \"orderTotalPayments\"\n[isRefundRemission]=\"isRefundRemission\"\n[caseType]=\"caseType\"\n[feeamount]=\"remissionFeeAmt\"\n[remission] = \"remissions\"\n[isFromServiceRequestPage]=\"false\"\n[paymentGroupRef]=\"paymentGroup.payment_group_reference\"\n[ccdCaseNumber]=\"ccdCaseNumber\"\n[orderFeesTotal] = \"orderFeesTotal\"\n[orderTotalPayments] = \"orderTotalPayments\"\n[orderRemissionTotal] = \"orderRemissionTotal\"\n[orderRef] = \"orderRef\"\n[orderCreated] = \"orderCreated\"\n[orderParty] = \"orderParty\"\n[orderCCDEvent] = \"orderCCDEvent\"\n[orderDetail] = \"orderDetail\"\n[LOGGEDINUSERROLES] = \"LOGGEDINUSERROLES\"></ccpay-add-remission>\n</ng-container>\n\n<ng-container *ngIf=\"viewStatus === 'issuerefund'\">\n <ccpay-add-remission\n [isTurnOff]=\"isTurnOff\"\n [isStrategicFixEnable]=\"isStrategicFixEnable\"\n [payment] = 'paymentGroup.payments[0]'\n [viewCompStatus]= \"viewStatus\"\n [orderStatus] =\"paymentGroup.payments[0].status\"\n [paidAmount]= \"paymentGroup.payments[0].amount\"\n [isRefundRemission]=\"isRefundRemission\"\n [caseType]=\"caseType\"\n [isFromServiceRequestPage]=\"isFromServiceRequestPage\"\n [isFromPaymentDetailPage] = \"isFromPaymentDetailPage\"\n [paymentGroupRef]=\"paymentGroup.payment_group_reference\"\n [ccdCaseNumber]=\"ccdCaseNumber\"\n [orderFeesTotal] = \"orderFeesTotal\"\n [orderTotalPayments] = \"orderTotalPayments\"\n [orderRemissionTotal] = \"orderRemissionTotal\"\n [orderRef] = \"orderRef\"\n [orderCreated] = \"orderCreated\"\n [orderParty] = \"orderParty\"\n [orderCCDEvent] = \"orderCCDEvent\"\n [orderDetail] = \"orderDetail\"\n [LOGGEDINUSERROLES] = \"LOGGEDINUSERROLES\">\n ></ccpay-add-remission>\n</ng-container>\n<ng-container *ngIf=\"viewStatus === 'order-full-view'\">\n <ccpay-service-request\n [viewStatus] = \"viewStatus\"\n [orderRef] = \"orderRef\"\n [orderStatus] = \"orderStatus\"\n [orderCreated] = \"orderCreated\"\n [orderParty] = \"orderParty\"\n [orderCCDEvent] = \"orderCCDEvent\"\n [orderDetail] = \"orderDetail\"\n [LOGGEDINUSERROLES] = \"LOGGEDINUSERROLES\"\n [takePayment] = \"isTakePayment\"\n [ccdCaseNumber] = \"ccdCaseNumber\"\n [orderFeesTotal] = \"orderFeesTotal\"\n [orderTotalPayments] = \"orderTotalPayments\"\n [orderRemissionTotal] = \"orderRemissionTotal\"\n [isServiceRequest] = \"isServiceRequest\"\n (goToServiceRquestComponent) = \"goToServiceRequestPage()\"\n>\n</ccpay-service-request>\n\n</ng-container>\n\n<ng-container *ngIf=\"viewStatus === 'payment-failure'\">\n <div class=\"payment-failure-alignment\">\n <div class=\"govuk-breadcrumbs\">\n <ol class=\"govuk-breadcrumbs__list\">\n <li class=\"govuk-breadcrumbs__list-item\">\n <a href=\"javascript:void(0)\" (click)=\"goBackToPaymentView($event)\" class=\"govuk-back-link\">Back</a>\n </li>\n </ol>\n </div>\n <div class=\"govuk-grid-row\">\n <div class=\"column\">\n <h1 class=\"heading-large govuk-!-margin-top-0\">Failure event details</h1>\n </div>\n </div>\n <table>\n <tbody>\n\n <tr class=\"section\">\n <td class=\"bold\">Failure reference</td>\n <td>\t{{selectedPaymentsStatus.failure_reference}}</td>\n </tr>\n <tr class=\"section\">\n <td class=\"bold\">Failure reason</td>\n <td>\t{{selectedPaymentsStatus.failure_reason}}</td>\n </tr>\n <tr class=\"section\">\n <td class=\"bold\">Payment reference</td>\n <td>{{ selectedPaymentsStatus.payment_reference }}</td>\n </tr>\n <tr class=\"section\">\n <td class=\"bold\">Payment amount</td>\n <td> \u00A3{{ paymentGroup?.payments[0]?.amount | number:'.2' }}</td>\n\n </tr>\n <tr class=\"section\">\n <td class=\"bold\">Disputed amount</td>\n <td>\t\u00A3{{selectedPaymentsStatus.disputed_amount | number:'.2'}}</td>\n </tr>\n <tr class=\"section\">\n <td class=\"bold\">Additional information</td>\n <td>\t{{selectedPaymentsStatus.additional_reference }}</td>\n </tr>\n <tr class=\"section\">\n <td class=\"bold\">Failure type</td>\n <td>\t{{ selectedPaymentsStatus.failure_type }}</td>\n </tr>\n <tr class=\"section\">\n <td class=\"bold\">Failure event date and time</td>\n <td> {{ selectedPaymentsStatus.failure_event_date_time | date:'dd MMM yyyy HH:mm:ss' }}</td>\n </tr>\n <tr class=\"section\" *ngIf=\"selectedPaymentsStatus.has_amount_debited\">\n <td class=\"bold\">Has disputed amount debited</td>\n <td>\t{{selectedPaymentsStatus.has_amount_debited}}</td>\n </tr>\n <tr class=\"section\" *ngIf=\"selectedPaymentsStatus.representment_status\">\n <td class=\"bold\">Status following representation of payment</td>\n <td>\t{{(selectedPaymentsStatus.representment_status === 'Yes' || selectedPaymentsStatus.representment_status === 'yes') ? 'Success' : 'Failure'}}</td>\n </tr>\n <tr class=\"section\" *ngIf=\"selectedPaymentsStatus.representment_date\">\n <td class=\"bold\">Date payment represented</td>\n <td>\t{{selectedPaymentsStatus.representment_date | date:'dd MMM yyyy HH:mm:ss'}}</td>\n </tr>\n </tbody>\n </table>\n\n <div>\n </div>\n </div>\n</ng-container>\n",
1281
- styles: [".tb-col-w{width:330px}.tr-border{border-bottom:2px solid}.payment-view-alignment{margin-left:30px}.govuk-button{font-size:19px;float:left;margin-top:2em}.remission{margin-bottom:7em}.govuk-error-summary__title{font-size:24px!important}.govuk-table__cell,.govuk-table__header{padding:0;line-height:1.3;vertical-align:middle}.govuk-table__row{line-height:1.3}.govuk-table__cell:last-child{text-align:right}.text-transform:first-letter{text-transform:capitalize}.govuk-link{cursor:pointer}.mar-17{font-size:19px!important}.payment-failure-alignment{margin-bottom:50px!important;margin-left:15px!important}"]
1415
+ template: "<div class=\"payment-view-section\">\n<ng-container *ngIf=\"viewStatus === 'paymentview' && viewCompStatus !== 'overpayment' && viewCompStatus !== 'overPaymentAddressCapture' && viewCompStatus !== 'overpaymentcheckandanswer'\">\n<div class=\"govuk-width-container\">\n\n <div class=\"govuk-breadcrumbs\">\n <ol class=\"govuk-breadcrumbs__list\">\n <li class=\"govuk-breadcrumbs__list-item\">\n <a href=\"javascript:void(0)\" (click)=\"goToCaseTransationPage($event)\" class=\"govuk-back-link\">Back</a>\n </li>\n </ol>\n </div>\n\n <main class=\"govuk-main-wrapper govuk-!-padding-top-0\" id=\"main-content\" role=\"main\">\n\n <div *ngIf=\"errorMessage\">\n <div class=\"error-summary\" role=\"group\" aria-labelledby=\"failure-error-summary-heading\" tabindex=\"-1\">\n <h2 class=\"heading-medium error-summary-heading\" id=\"failure-error-summary-heading\">\n Payment details could not be retrieved\n </h2>\n <div class=\"govuk-error-summary__body\">\n {{ errorMessage }}\n </div>\n </div>\n </div>\n\n <div class=\"payment-view-alignment\" *ngIf=\"!errorMessage && paymentGroup?.payments[0]\">\n\n <input #myInput type='hidden' class='iFrameDrivenImageValue' value='PAYMENTDETAILS'>\n <div class=\"govuk-grid-row\">\n <div class=\"column\">\n <h1 class=\"heading-large govuk-!-margin-top-0\">Payment details</h1>\n </div>\n </div>\n <table>\n <tbody>\n\n <tr class=\"section\">\n <td class=\"bold tb-col-w\">Service request reference</td>\n <td class=\"tb-col-w\">{{ serviceReference }}</td>\n </tr>\n <tr class=\"section\">\n <td class=\"bold tb-col-w\">Payment reference</td>\n <td class=\"tb-col-w\">{{ paymentGroup?.payments[0]?.reference }}</td>\n </tr>\n <tr class=\"section\">\n <td class=\"bold tb-col-w\">Payment amount</td>\n <td class=\"tb-col-w\">\u00A3{{ paymentGroup?.payments[0]?.amount | number:'.2' }}</td>\n </tr>\n <tr class=\"section\" *ngIf=\"paymentGroup?.payments[0]?.over_payment > 0\">\n <td class=\"bold tb-col-w\">Over payment</td>\n <td class=\"tb-col-w\">\u00A3{{ getOverPaymentValue() | number:'.2' }}</td>\n </tr>\n <tr class=\"section\" *ngIf=\"paymentGroup?.payments[0] && paymentGroup?.payments[0]?.document_control_number && !paymentGroup?.payments[0]?.external_reference\">\n <td class=\"bold tb-col-w\">Payment asset number(DCN)</td>\n <td class=\"tb-col-w\">{{ paymentGroup?.payments[0]?.document_control_number }}</td>\n </tr>\n <tr class=\"section\" *ngIf=\"paymentGroup?.payments[0] && paymentGroup?.payments[0]?.document_control_number && !paymentGroup?.payments[0]?.external_reference\">\n <td class=\"bold tb-col-w\">Banked date</td>\n <td class=\"tb-col-w\">{{ paymentGroup?.payments[0]?.banked_date | date:'dd MMM yyyy' }}</td>\n </tr>\n <tr class=\"section\" *ngIf=\"paymentGroup?.payments[0] && paymentGroup?.payments[0]?.external_reference\">\n <td class=\"bold tb-col-w\">GovPay Transaction ID</td>\n <td class=\"tb-col-w\">{{ paymentGroup?.payments[0]?.external_reference }}</td>\n </tr>\n <tr class=\"section\" >\n <td class=\"bold tb-col-w\">Payment method</td>\n <td class=\"tb-col-w text-transform\">{{ paymentGroup?.payments[0]?.method }}</td>\n </tr>\n <tr class=\"section\" *ngIf=\"paymentGroup?.payments[0]?.method === 'payment by account'\" >\n <td class=\"bold tb-col-w\">Type</td>\n <td class=\"tb-col-w\" *ngIf=\"paymentGroup?.payments[0]?.method !== 'card'\">Credit</td>\n <td class=\"tb-col-w\" *ngIf=\"paymentGroup?.payments[0]?.method === 'card'\">Card</td>\n </tr>\n <tr class=\"section\">\n <td class=\"bold tb-col-w\">Channel</td>\n <td class=\"tb-col-w text-transform\">{{ paymentGroup?.payments[0]?.channel }}</td>\n </tr>\n <!-- <tr class=\"section\">\n <td class=\"bold tb-col-w\">Method</td>\n <td *ngIf=\"paymentGroup?.payments[0]?.method !== 'card'\">{{ paymentGroup?.payments[0]?.method }}</td>\n <td *ngIf=\"paymentGroup?.payments[0]?.method === 'card'\">CARD</td>\n </tr> -->\n <!-- <tr class=\"section\" *ngIf=\"paymentGroup?.payments[0]?.channel !== 'telephony'\">\n <td class=\"bold tb-col-w\">Status</td>\n <td>{{ paymentGroup?.payments[0]?.status }}</td>\n </tr> -->\n <tr class=\"section\" *ngIf=\"paymentGroup?.payments[0]?.payment_allocation[0] !== undefined\">\n <td class=\"bold tb-col-w\">Allocaton status</td>\n <td class=\"tb-col-w\">{{ paymentGroup?.payments[0]?.payment_allocation[0]?.allocation_status }}</td>\n </tr>\n\n <tr *ngIf=\"paymentGroup?.payments[0].organisation_name\">\n <td class=\"bold tb-col-w\">PBA account name</td>\n <td class=\"tb-col-w\">{{ paymentGroup?.payments[0]?.organisation_name }}</td>\n </tr>\n\n <tr *ngIf=\"paymentGroup?.payments[0].account_number\">\n <td class=\"bold tb-col-w\">PBA number</td>\n <td class=\"tb-col-w\">{{ paymentGroup?.payments[0]?.account_number }}</td>\n </tr>\n\n <tr *ngIf=\"paymentGroup?.payments[0].customer_reference\">\n <td class=\"bold tb-col-w\">Customer internal reference</td>\n <td class=\"tb-col-w\">{{ paymentGroup?.payments[0]?.customer_reference }}</td>\n </tr>\n\n </tbody>\n </table>\n\n <div>\n <!-- Status histories -->\n <ccpay-payment-statuses *ngIf=\"isStatusAllocated\" [isTakePayment]=\"isTakePayment\"></ccpay-payment-statuses>\n </div>\n <div class=\"remission\">\n <button [disabled]=\"!chkIsIssueRefundBtnEnable(paymentGroup?.payments[0])\" (click)=\"issueRefund(paymentGroup)\" class=\"govuk-button govuk-button--secondary\">Issue refund</button>\n </div>\n<div *ngIf=\"ISPAYMENTSTATUSENABLED\">\n <div class=\"column\">\n <h2 class=\"heading-medium\">Disputed payment history</h2>\n </div>\n \n <div>\n <table>\n <thead>\n <tr>\n <th>Status</th>\n <th>Amount</th>\n <th>Date</th>\n <th>Payment reference</th>\n <th>Event</th>\n <th></th>\n </tr>\n </thead> \n <tbody *ngIf=\"!errorMsg && allPaymentsFailure.length > 0\">\n <tr *ngFor=\"let payment of allPaymentsFailure\">\n <td>{{ payment.status | capitalize }}</td>\n <td>\u00A3{{ payment.disputed_amount | number:'.2' }}</td>\n <td>{{(payment.representment_date ? payment.representment_date : payment.failure_event_date_time) | date:'dd MMM yyyy'}}</td>\n <td>{{ payment.payment_reference }}</td>\n <td >{{ payment.failure_type }}</td>\n <td>\n \n <a href=\"javascript:void(0)\" (click)=\"goToPaymentFailuePage(payment)\">Show detail</a>\n\n </td>\n </tr>\n </tbody>\n <tbody *ngIf=\"errorMsg || allPaymentsFailure.length === 0\">\n <tr>\n <td colspan=\"6\"> No disputed payment history available. </td>\n </tr>\n </tbody>\n </table>\n </div>\n <br/>\n <br/>\n </div>\n \n <div *ngIf=\"checkForFees(paymentGroup)\">\n <div *ngIf=\"paymentGroup.fees.length > 0\">\n <div class=\"column\">\n <br/>\n <br/>\n <h2 class=\"heading-large\">Fee and remission details</h2>\n\n </div>\n </div>\n\n <div *ngFor=\"let fee of paymentGroup.fees\">\n <table class=\"table\">\n <tbody>\n <tr class=\"section\">\n <td class=\"bold tb-col-w\">Description</td>\n <td class=\"tb-col-w\">Application for {{ fee.description }}</td>\n </tr>\n <tr class=\"section\">\n <td class=\"bold tb-col-w\">Fee code</td>\n <td class=\"tb-col-w\">{{ fee?.code }}</td>\n </tr>\n <tr class=\"section\">\n <td class=\"bold tb-col-w\" [ngClass]=\"{'tr-border': !fee.apportion_amount && !fee.remissions && !isTurnOff }\">Fee amount</td>\n <td [ngClass]=\"{'tr-border': !fee.apportion_amount && !fee.remissions && !isTurnOff}\">\u00A3{{ fee?.calculated_amount | number:'.2' }}</td>\n </tr>\n\n <tr *ngIf=\"fee.apportion_amount\">\n <td class=\"bold tb-col-w tr-border\" [ngClass]=\"{'tr-border': !fee.remissions}\">Allocated amount</td>\n <td [ngClass]=\"{'tr-border': !fee.remissions}\">\u00A3{{ fee?.apportion_amount | number:'.2' }}</td>\n </tr>\n\n </tbody>\n </table>\n <button [disabled]=\"!chkIsAddRemissionBtnEnable(fee)\" (click)=\"addRemission(fee)\" class=\"govuk-button govuk-button--secondary\"> Add remission</button>\n </div>\n\n <!-- remissions -->\n <div class=\"order-class\">\n <div class=\"column\">\n <table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header col-24 whitespace-inherit\" scope=\"col\">Help with fees or remission code</td>\n <td class=\"govuk-table__header col-27 whitespace-inherit\" scope=\"col\">Reference</td>\n <td class=\"govuk-table__header whitespace-inherit\" scope=\"col\">Fee</td>\n <td class=\"govuk-table__header whitespace-inherit\" scope=\"col\">Amount</td>\n <td class=\"govuk-table__header whitespace-inherit refundBtn\" scope=\"col\"></td>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\" *ngFor=\"let remission of paymentGroup.remissions\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell whitespace-inherit\">{{ remission?.hwf_reference }}</td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{ remission?.remission_reference }}</td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{ remission?.fee_code }}</td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{ remission?.hwf_amount | currency:'GBP':'symbol-narrow':'1.2-2'}}</td>\n <td class=\"govuk-table__cell refundBtn whitespace-inherit\" >\n <button [disabled]=\"!chkIsAddRefundBtnEnable(remission)\" (click)=\"addRefundForRemission(paymentGroup.payments[0],remission,paymentGroup.fees)\" class=\"govuk-button govuk-button--secondary\"> Add refund</button>\n </td>\n </tr>\n </tbody>\n\n\n </table>\n </div></div>\n\n <div *ngIf=\"paymentGroup.remissions?.length === 0\">\n <span class=\"mar-17\" >No help with fees or remissions.</span>\n </div>\n\n </div>\n </div>\n </main>\n</div>\n\n</ng-container>\n<ng-container *ngIf=\"viewStatus === 'addremission' && feeId && viewCompStatus !== 'overpayment' && viewCompStatus !== 'overPaymentAddressCapture' && viewCompStatus !== 'overpaymentcheckandanswer'\">\n<ccpay-add-remission \n[isTurnOff]=\"isTurnOff\"\n[isStrategicFixEnable]=\"isStrategicFixEnable\"\n[viewCompStatus]= \"viewStatus\"\n[fee]=\"feeId\"\n[payment] = \"payment\"\n[orderStatus] =\"paymentGroup.payments[0].status\"\n[paidAmount]= \"paymentGroup.payments[0].amount\"\n[isRefundRemission]=\"isRefundRemission\"\n[caseType]=\"caseType\"\n[paymentGroupRef]=\"paymentGroup.payment_group_reference\"\n[isFromPaymentDetailPage] = \"true\"\n[ccdCaseNumber]=\"ccdCaseNumber\"\n[orderFeesTotal] = \"orderFeesTotal\"\n[orderTotalPayments] = \"orderTotalPayments\"\n[orderRemissionTotal] = \"orderRemissionTotal\"\n[orderRef] = \"orderRef\"\n[orderCreated] = \"orderCreated\"\n[orderParty] = \"orderParty\"\n[orderCCDEvent] = \"orderCCDEvent\"\n[orderDetail] = \"orderDetail\"\n[LOGGEDINUSERROLES] = \"LOGGEDINUSERROLES\"></ccpay-add-remission>\n</ng-container>\n\n<ng-container *ngIf=\"viewStatus === 'addrefundforremission' && payment && viewCompStatus !== 'overpayment' && viewCompStatus !== 'overPaymentAddressCapture' && viewCompStatus !== 'overpaymentcheckandanswer'\">\n\n<ccpay-add-remission\n[isTurnOff]=\"isTurnOff\"\n[isStrategicFixEnable]=\"isStrategicFixEnable\"\n[viewCompStatus]= \"viewStatus\"\n[payment]=\"payment\"\n[orderStatus] =\"orderStatus\"\n[paidAmount]= \"orderTotalPayments\"\n[isRefundRemission]=\"isRefundRemission\"\n[caseType]=\"caseType\"\n[feeamount]=\"remissionFeeAmt\"\n[remission] = \"remissions\"\n[isFromServiceRequestPage]=\"false\"\n[paymentGroupRef]=\"paymentGroup.payment_group_reference\"\n[ccdCaseNumber]=\"ccdCaseNumber\"\n[orderFeesTotal] = \"orderFeesTotal\"\n[orderTotalPayments] = \"orderTotalPayments\"\n[orderRemissionTotal] = \"orderRemissionTotal\"\n[orderRef] = \"orderRef\"\n[orderCreated] = \"orderCreated\"\n[orderParty] = \"orderParty\"\n[orderCCDEvent] = \"orderCCDEvent\"\n[orderDetail] = \"orderDetail\"\n[LOGGEDINUSERROLES] = \"LOGGEDINUSERROLES\"></ccpay-add-remission>\n</ng-container>\n\n<ng-container *ngIf=\"viewStatus === 'issuerefund' && viewCompStatus !== 'overpayment' && viewCompStatus !== 'overPaymentAddressCapture' && viewCompStatus !== 'overpaymentcheckandanswer'\">\n <ccpay-add-remission \n [isTurnOff]=\"isTurnOff\"\n [isStrategicFixEnable]=\"isStrategicFixEnable\"\n [payment] = 'paymentGroup.payments[0]'\n [viewCompStatus]= \"viewStatus\"\n [orderStatus] =\"paymentGroup.payments[0].status\"\n [paidAmount]= \"paymentGroup.payments[0].amount\"\n [isRefundRemission]=\"isRefundRemission\"\n [caseType]=\"caseType\"\n [isFromServiceRequestPage]=\"isFromServiceRequestPage\"\n [isFromPaymentDetailPage] = \"isFromPaymentDetailPage\"\n [paymentGroupRef]=\"paymentGroup.payment_group_reference\"\n [ccdCaseNumber]=\"ccdCaseNumber\"\n [orderFeesTotal] = \"orderFeesTotal\"\n [orderTotalPayments] = \"orderTotalPayments\"\n [orderRemissionTotal] = \"orderRemissionTotal\"\n [orderRef] = \"orderRef\"\n [orderCreated] = \"orderCreated\"\n [orderParty] = \"orderParty\"\n [orderCCDEvent] = \"orderCCDEvent\"\n [orderDetail] = \"orderDetail\"\n [fees] =\"paymentFees\"\n [isFullyRefund] = \"isFullyRefund\"\n [LOGGEDINUSERROLES] = \"LOGGEDINUSERROLES\">\n \n ></ccpay-add-remission>\n</ng-container>\n<ng-container *ngIf=\"viewStatus === 'order-full-view' && viewCompStatus !== 'overpayment' && viewCompStatus !== 'overPaymentAddressCapture' && viewCompStatus !== 'overpaymentcheckandanswer'\">\n <ccpay-service-request\n [viewStatus] = \"viewStatus\"\n [orderRef] = \"orderRef\"\n [orderStatus] = \"orderStatus\"\n [orderCreated] = \"orderCreated\"\n [orderParty] = \"orderParty\"\n [orderCCDEvent] = \"orderCCDEvent\"\n [orderDetail] = \"orderDetail\"\n [LOGGEDINUSERROLES] = \"LOGGEDINUSERROLES\"\n [takePayment] = \"isTakePayment\"\n [ccdCaseNumber] = \"ccdCaseNumber\"\n [orderFeesTotal] = \"orderFeesTotal\"\n [orderTotalPayments] = \"orderTotalPayments\"\n [orderRemissionTotal] = \"orderRemissionTotal\"\n [isServiceRequest] = \"isServiceRequest\"\n (goToServiceRquestComponent) = \"goToServiceRequestPage()\"\n>\n</ccpay-service-request>\n\n</ng-container>\n</div>\n<div class=\"over-payment\">\n<ng-container *ngIf=\"viewCompStatus === 'overpayment'\">\n <input #myInput type='hidden' id='iFrameDrivenImageValue' value='OVERPAYMENTPAGE'> \n <h1 class=\"heading-large\">Issue refund</h1>\n <h1 class=\"heading-medium\">Case reference: {{ccdCaseNumber | ccdHyphens }}</h1>\n <span id=\"how-contacted-conditional-hint govuk-font19px\" class=\"form-hint\">\n Payment reference: {{paymentGroup?.payments[0]?.reference}}\n </span>\n<div class=\"govuk-form-group\">\n <fieldset class=\"govuk-fieldset\">\n <legend class=\"govuk-fieldset__legend govuk-fieldset__legend--l\">\n <h1 class=\"heading-medium\">Select payment to refund</h1>\n </legend>\n <div class=\"govuk-radios\" data-module=\"govuk-radios\">\n <div class=\"govuk-radios__item\">\n <input class=\"govuk-radios__input\" id=\"over-payment\" name=\"over-payment\" type=\"radio\" (click)=\"selectPymentOption('op')\" value=\"op\">\n <label class=\"govuk-label govuk-radios__label govuk-font19px\" for=\"where-do-you-live\">\n Over payment \u00A3{{getOverPaymentValue() | number:'.2'}}\n </label>\n </div>\n <div class=\"govuk-radios__item\">\n <input class=\"govuk-radios__input\" id=\"full-payment\" name=\"over-payment\" type=\"radio\" (click)=\"selectPymentOption('fp')\" value=\"fp\">\n <label class=\"govuk-label govuk-radios__label govuk-font19px\" for=\"where-do-you-live-2\">\n Full payment \u00A3{{paymentGroup?.payments[0]?.amount | number:'.2'}}\n </label>\n </div>\n </div>\n <button class=\"govuk-button govuk-button--secondary over-payment-alignment govuk-font19px\"\n (click)=\"goToPaymentViewComponent()\"> Previous</button>\n <button \n (click)=\"continuePayment(paymentGroup)\"\n [disabled]=\"isContinueBtnDisabled\"\n [ngClass]='isContinueBtnDisabled ? \"button button--disabled govuk-!-margin-right-1 govuk-font19px\" : \"button govuk-!-margin-right-1 govuk-font19px\"'\n class=\"govuk-button\"> Continue</button>\n </fieldset>\n</div>\n</ng-container>\n\n<ng-container *ngIf=\"viewCompStatus === 'overPaymentAddressCapture'\">\n <input #myInput type='hidden' id='iFrameDrivenImageValue' value='OVERPAYMENTADDRESSCAPTUREPAGE'> \n <h1 class=\"govuk-heading-l\">Issue refund</h1>\n <h2 class=\"govuk-heading-m govuk-font19px\">Case reference: {{ccdCaseNumber | ccdHyphens }}</h2>\n <span id=\"how-contacted-conditional-hint\" class=\"govuk-hint govuk-font19px\">\n Payment reference: {{paymentGroup?.payments[0]?.reference}}\n </span>\n<ccpay-contact-details \n[addressObj] = notification\n(assignContactDetails)=\"getContactDetails($event)\"\n(redirectToIssueRefund)=\"gotoPaymentSelectPage($event)\" ></ccpay-contact-details>\n<p>\n <a (click)=\"goToCaseTransationPage($event)\" class=\"govuk-link\" data-module=\"govuk-button\">\n Cancel\n </a>\n</p>\n</ng-container>\n\n<ng-container *ngIf=\"viewCompStatus === 'overpaymentcheckandanswer'\">\n <input #myInput type='hidden' id='iFrameDrivenImageValue' value='ADDREFUNDFORREMISSION'> \n <div class=\"govuk-warning-text\">\n \n <h1 class=\"heading-large\"> Check your answers</h1>\n </div>\n <table class=\"govuk-table\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Payment reference</td>\n <td class=\"govuk-table__cell\"> {{paymentGroup.payments[0].reference}} </td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Payment amount</td>\n <td class=\"govuk-table__cell\">{{paymentGroup.payments[0].amount | currency:'GBP':'symbol-narrow':'1.2-2'}}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Fee amount</td>\n <td class=\"govuk-table__cell\">{{paymentGroup?.fees[0]?.net_amount | currency:'GBP':'symbol-narrow':'1.2-2'}}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Refund amount</td>\n <td class=\"govuk-table__cell\">{{getOverPaymentValue() | currency:'GBP':'symbol-narrow':'1.2-2'}}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Refund reason</td>\n <td class=\"govuk-table__cell\">Over payment</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Send to</td>\n <td class=\"govuk-table__cell\">{{orderParty}}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Send via</td>\n <td class=\"govuk-table__cell whitespace-inherit\">\n <div *ngIf=\"contactDetailsObj?.notification_type === 'EMAIL'\" class=\"contactDetails-width\">\n <strong>Email</strong>\n <br/>\n {{contactDetailsObj?.email?.trim()}}\n </div>\n <div *ngIf=\"contactDetailsObj?.notification_type === 'LETTER'\" class=\"contactDetails-width\">\n <strong>Post</strong>\n <br/>\n {{contactDetailsObj?.address_line?.trim()}}&nbsp;{{contactDetailsObj?.city?.trim()}}&nbsp;{{contactDetailsObj?.county?.trim()}}&nbsp;{{contactDetailsObj?.country?.trim()}}&nbsp;{{contactDetailsObj?.postal_code?.trim()}}\n </div>\n <a (click)=\"gotoAddressPage(contactDetailsObj)\" class=\"govuk-link right\" >Change</a>\n </td>\n </tr>\n\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Notification</td>\n <td class=\"govuk-table__cell\">{{templateInstructionType}}\n <a *ngIf=\"!notificationPreview\" href=\"Javascript:void(0)\" class=\"govuk-link right\" (click)=\"showNotificationPreview()\">\n Preview\n </a>\n <a *ngIf=\"notificationPreview\" href=\"Javascript:void(0)\" class=\"govuk-link right\" (click)=\"hideNotificationPreview()\">\n Hide Preview\n </a>\n </td>\n </tr>\n </table>\n\n <app-notification-preview *ngIf=\"notificationPreview\" \n [payment]=\"paymentGroup.payments[0]\" \n [contactDetails]=\"contactDetailsObj\"\n [refundReason]=\"'RR037'\"\n [refundAmount]=\"getOverPaymentValue()\"></app-notification-preview>\n\n <button type=\"submit\" class=\"button govuk-button--secondary over-payment-alignment govuk-font19px\" (click)=\"gotoAddressPage(contactDetailsObj)\">Previous</button>\n <button type=\"submit\"\n [ngClass]='isContinueBtnDisabled ? \"button button--disabled govuk-!-margin-right-1 govuk-font19px\" : \"button govuk-!-margin-right-1 govuk-font19px\"'\n (click)=\"processRefund()\">\n Submit refund\n </button>\n <p>\n <a href=\"javascript:void(0)\" (click)=\"goToCaseTransationPage($event)\" class=\"govuk-link govuk-font19px\" data-module=\"govuk-button\">\n Cancel\n </a>\n </p>\n\n</ng-container>\n<ng-container *ngIf=\"viewStatus === 'refundconfirmationpage' && viewCompStatus !== 'overpayment' && viewCompStatus !== 'overPaymentAddressCapture' && viewCompStatus !== 'overpaymentcheckandanswer'\">\n <input #myInput type='hidden' id='iFrameDrivenImageValue' value='RETROREMISSIONREFUNDCONFIRMATIONPAGE'> \n <div class=\"govuk-grid-row pagesize\">\n <div >\n <div class=\"govuk-panel govuk-panel--confirmation\">\n <h1 class=\"govuk-panel__title\">\n Refund submitted\n </h1>\n \n <div class=\"govuk-panel__body\">\n <p class=\"govuk-body white\"><strong>Refund reference: {{refundReference}}</strong></p>\n </div>\n \n </div>\n <h2 class=\"govuk-heading-l\">What happens next</h2>\n <p class=\"govuk-body\">\n A refund request for {{refundAmount | currency:'GBP':'symbol-narrow':'1.2-2' }} has been created and will be passed to a team leader to approve.\n </p>\n <p class=\"govuk-body\">\n <a href=\"javascript:void(0)\" (click)=\"goToCaseTransationPage($event)\" class=\"govuk-link pointer\" data-module=\"govuk-button\">\n Return to case\n </a>\n </p>\n </div>\n </div>\n\n</ng-container>\n</div>\n\n<ng-container *ngIf=\"viewStatus === 'payment-failure'\">\n <div class=\"payment-failure-alignment\">\n <div class=\"govuk-breadcrumbs\">\n <ol class=\"govuk-breadcrumbs__list\">\n <li class=\"govuk-breadcrumbs__list-item\">\n <a href=\"javascript:void(0)\" (click)=\"goBackToPaymentView($event)\" class=\"govuk-back-link\">Back</a>\n </li>\n </ol>\n </div>\n <div class=\"govuk-grid-row\">\n <div class=\"column\">\n <h1 class=\"heading-large govuk-!-margin-top-0\">Failure event details</h1>\n </div>\n </div>\n <table>\n <tbody>\n\n <tr class=\"section\">\n <td class=\"bold\">Failure reference</td>\n <td>\t{{selectedPaymentsStatus.failure_reference}}</td>\n </tr>\n <tr class=\"section\">\n <td class=\"bold\">Failure reason</td>\n <td>\t{{selectedPaymentsStatus.failure_reason}}</td>\n </tr>\n <tr class=\"section\">\n <td class=\"bold\">Payment reference</td>\n <td>{{ selectedPaymentsStatus.payment_reference }}</td>\n </tr>\n <tr class=\"section\">\n <td class=\"bold\">Payment amount</td>\n <td> \u00A3{{ paymentGroup?.payments[0]?.amount | number:'.2' }}</td>\n\n </tr>\n <tr class=\"section\">\n <td class=\"bold\">Disputed amount</td>\n <td>\t\u00A3{{selectedPaymentsStatus.disputed_amount | number:'.2'}}</td>\n </tr>\n <tr class=\"section\">\n <td class=\"bold\">Additional information</td>\n <td>\t{{selectedPaymentsStatus.additional_reference }}</td>\n </tr>\n <tr class=\"section\">\n <td class=\"bold\">Failure type</td>\n <td>\t{{ selectedPaymentsStatus.failure_type }}</td>\n </tr>\n <tr class=\"section\">\n <td class=\"bold\">Failure event date and time</td>\n <td> {{ selectedPaymentsStatus.failure_event_date_time | date:'dd MMM yyyy HH:mm:ss' }}</td>\n </tr>\n <tr class=\"section\" *ngIf=\"selectedPaymentsStatus.has_amount_debited\">\n <td class=\"bold\">Has disputed amount debited</td>\n <td>\t{{selectedPaymentsStatus.has_amount_debited}}</td>\n </tr>\n <tr class=\"section\" *ngIf=\"selectedPaymentsStatus.representment_status\">\n <td class=\"bold\">Status following representation of payment</td>\n <td>\t{{(selectedPaymentsStatus.representment_status === 'Yes' || selectedPaymentsStatus.representment_status === 'yes') ? 'Success' : 'Failure'}}</td>\n </tr>\n <tr class=\"section\" *ngIf=\"selectedPaymentsStatus.representment_date\">\n <td class=\"bold\">Date payment represented</td>\n <td>\t{{selectedPaymentsStatus.representment_date | date:'dd MMM yyyy HH:mm:ss'}}</td>\n </tr>\n </tbody>\n </table>\n\n <div>\n </div>\n </div>\n</ng-container>\n",
1416
+ styles: [".payment-view-section .tb-col-w{width:330px}.payment-view-section .tr-border{border-bottom:2px solid}.payment-view-section .payment-view-alignment{margin-left:30px}.payment-view-section .govuk-button{font-size:19px;float:left;margin-top:2em}.payment-view-section .remission{margin-bottom:7em}.payment-view-section .govuk-error-summary__title{font-size:24px!important}.payment-view-section .govuk-table__cell,.payment-view-section .govuk-table__header{padding:0;line-height:1.3;vertical-align:middle}.payment-view-section .govuk-table__row{line-height:1.3}.payment-view-section .govuk-table__cell:last-child{text-align:right}.payment-view-section .text-transform:first-letter{text-transform:capitalize}.payment-view-section .govuk-link{cursor:pointer}.payment-view-section .mar-17{font-size:19px!important}.over-payment .pagesize{margin:2em;width:97%}.over-payment .contactDetails-width{width:70%}.over-payment .margin-top10px{margin-top:20px}.over-payment .govuk-font19px{font-size:19px!important}.over-payment .margin-top--size{margin-top:-30px}.over-payment .over-payment-alignment{margin-right:10px}.over-payment .govuk-button{font-size:19px;float:left;margin-top:2em}.over-payment td.govuk-table__cell{width:50%}.over-payment .govuk-label--s,.over-payment .govuk-warning-text__text,.over-payment .hmcts-currency-input__symbol{font-size:19px;font-weight:400}.over-payment .inline-error-class{outline:3px solid #a71414;outline-offset:0;border-color:#a71414}.over-payment .inline-error-message{color:#a71414;border-color:#a71414;font-weight:700;margin-top:10px;font-size:20px}.over-payment .govuk-button-group{padding-top:2em}.over-payment .heading-medium{margin-top:.875em}.over-payment .heading-large{margin-top:.25em}.over-payment .govuk-panel--confirmation{color:#fff;background:#00703c}.over-payment .govuk-panel__title{font-size:5rem}.over-payment .govuk-body,.over-payment .govuk-body-m{font-size:2.1875rem}.over-payment .govuk-link{cursor:pointer}.over-payment .govuk-radios__conditional{padding-top:12px!important}.over-payment .right{float:right;cursor:pointer}.over-payment .radio{float:right}.over-payment .white{color:#fff}.whitespace-inherit{white-space:inherit!important}"]
1282
1417
  },] }
1283
1418
  ];
1284
1419
  PaymentViewComponent.ctorParameters = function () { return [
1285
1420
  { type: PaymentViewService },
1421
+ { type: NotificationService },
1286
1422
  { type: PaymentLibComponent },
1287
1423
  { type: i0.ChangeDetectorRef },
1288
1424
  { type: OrderslistService }
@@ -1364,6 +1500,9 @@
1364
1500
  RefundsService.prototype.postIssueRefund = function (body) {
1365
1501
  return this.https.post(this.paymentLibService.REFUNDS_API_ROOT + "/refund", body).pipe(operators.catchError(this.errorHandlerService.handleError));
1366
1502
  };
1503
+ RefundsService.prototype.putResendOrEdit = function (body, refundRef, notificationType) {
1504
+ return this.https.put(this.paymentLibService.REFUNDS_API_ROOT + "/resend/notification/" + refundRef + "?notificationType=" + notificationType, body).pipe(operators.catchError(this.errorHandlerService.handleError));
1505
+ };
1367
1506
  RefundsService.prototype.patchResubmitRefund = function (body, refund_reference) {
1368
1507
  // const opts = this.addHeaders({});
1369
1508
  return this.https.patch(this.paymentLibService.REFUNDS_API_ROOT + "/resubmit/" + refund_reference, body).pipe(operators.catchError(this.errorHandlerService.handleError));
@@ -1409,10 +1548,12 @@
1409
1548
  ]; };
1410
1549
 
1411
1550
  var ProcessRefundComponent = /** @class */ (function () {
1412
- function ProcessRefundComponent(RefundsService, formBuilder, OrderslistService, paymentLibComponent, router, activeRoute) {
1551
+ function ProcessRefundComponent(RefundsService, paymentViewService, formBuilder, OrderslistService, notificationService, paymentLibComponent, router, activeRoute) {
1413
1552
  this.RefundsService = RefundsService;
1553
+ this.paymentViewService = paymentViewService;
1414
1554
  this.formBuilder = formBuilder;
1415
1555
  this.OrderslistService = OrderslistService;
1556
+ this.notificationService = notificationService;
1416
1557
  this.paymentLibComponent = paymentLibComponent;
1417
1558
  this.router = router;
1418
1559
  this.activeRoute = activeRoute;
@@ -1433,7 +1574,9 @@
1433
1574
  this.isReasonEmpty = false;
1434
1575
  this.isReasonInvalid = false;
1435
1576
  this.successMsg = null;
1577
+ this.cpoDetails = null;
1436
1578
  this.isConfirmButtondisabled = true;
1579
+ this.notificationPreview = false;
1437
1580
  }
1438
1581
  ProcessRefundComponent.prototype.ngOnInit = function () {
1439
1582
  var _this = this;
@@ -1466,6 +1609,13 @@
1466
1609
  if ((typeof this.paymentLibComponent.TAKEPAYMENT === 'string' && this.paymentLibComponent.TAKEPAYMENT === 'false') || (typeof this.paymentLibComponent.TAKEPAYMENT === 'boolean' && !this.paymentLibComponent.TAKEPAYMENT)) {
1467
1610
  this.isFromRefundListPage = true;
1468
1611
  }
1612
+ this.paymentViewService.getPartyDetails(this.ccdCaseNumber).subscribe(function (response) {
1613
+ _this.cpoDetails = JSON.parse(response).content[0];
1614
+ }, function (error) {
1615
+ _this.errorMessage = error.replace(/"/g, "");
1616
+ _this.isCPODown = true;
1617
+ });
1618
+ this.getTemplateInstructionType(this.paymentObj, this.refundlistsource.payment_reference);
1469
1619
  };
1470
1620
  ProcessRefundComponent.prototype.checkRefundActions = function (code) {
1471
1621
  var _this = this;
@@ -1503,6 +1653,9 @@
1503
1653
  this.isOtherClicked = false;
1504
1654
  }
1505
1655
  };
1656
+ ProcessRefundComponent.prototype.getNotificationPreviewObj = function (notificationPreviewObj) {
1657
+ this.notificationPreviewObj = notificationPreviewObj;
1658
+ };
1506
1659
  ProcessRefundComponent.prototype.processRefundSubmit = function () {
1507
1660
  var _this = this;
1508
1661
  var processRefundRequest;
@@ -1517,24 +1670,102 @@
1517
1670
  || (controls.refundActionField.value == 'Return to caseworker' && controls.sendMeBackField.valid))) {
1518
1671
  if (controls.refundActionField.value === 'Approve') {
1519
1672
  status = 'APPROVE';
1520
- processRefundRequest = {
1521
- code: '',
1522
- reason: ''
1523
- };
1673
+ if (this.notificationPreviewObj) {
1674
+ processRefundRequest = {
1675
+ code: '',
1676
+ reason: '',
1677
+ template_preview: {
1678
+ body: this.notificationPreviewObj.body,
1679
+ from: {
1680
+ from_email_address: this.notificationPreviewObj.from.from_email_address,
1681
+ from_mail_address: {
1682
+ address_line: this.notificationPreviewObj.from.from_mail_address.address_line,
1683
+ city: this.notificationPreviewObj.from.from_mail_address.city,
1684
+ country: this.notificationPreviewObj.from.from_mail_address.country,
1685
+ county: this.notificationPreviewObj.from.from_mail_address.county,
1686
+ postal_code: this.notificationPreviewObj.from.from_mail_address.postal_code
1687
+ }
1688
+ },
1689
+ html: this.notificationPreviewObj.html,
1690
+ id: this.notificationPreviewObj.template_id,
1691
+ subject: this.notificationPreviewObj.subject,
1692
+ template_type: this.notificationPreviewObj.template_type,
1693
+ version: 0
1694
+ }
1695
+ };
1696
+ }
1697
+ else {
1698
+ processRefundRequest = {
1699
+ code: '',
1700
+ reason: ''
1701
+ };
1702
+ }
1524
1703
  }
1525
1704
  else if (controls.refundActionField.value === 'Reject') {
1526
1705
  status = 'REJECT';
1527
- processRefundRequest = {
1528
- code: controls.refundRejectReasonField.value ? controls.refundRejectReasonField.value : '',
1529
- reason: controls.refundRejectReasonField.value == 'RE005' ? controls.enterReasonField.value : ''
1530
- };
1706
+ if (this.notificationPreviewObj) {
1707
+ processRefundRequest = {
1708
+ code: controls.refundRejectReasonField.value ? controls.refundRejectReasonField.value : '',
1709
+ reason: controls.refundRejectReasonField.value == 'RE005' ? controls.enterReasonField.value : '',
1710
+ template_preview: {
1711
+ body: this.notificationPreviewObj.body,
1712
+ from: {
1713
+ from_email_address: this.notificationPreviewObj.from.from_email_address,
1714
+ from_mail_address: {
1715
+ address_line: this.notificationPreviewObj.from.from_mail_address.address_line,
1716
+ city: this.notificationPreviewObj.from.from_mail_address.city,
1717
+ country: this.notificationPreviewObj.from.from_mail_address.country,
1718
+ county: this.notificationPreviewObj.from.from_mail_address.county,
1719
+ postal_code: this.notificationPreviewObj.from.from_mail_address.postal_code
1720
+ }
1721
+ },
1722
+ html: this.notificationPreviewObj.html,
1723
+ id: this.notificationPreviewObj.template_id,
1724
+ subject: this.notificationPreviewObj.subject,
1725
+ template_type: this.notificationPreviewObj.template_type,
1726
+ version: 0
1727
+ }
1728
+ };
1729
+ }
1730
+ else {
1731
+ processRefundRequest = {
1732
+ code: controls.refundRejectReasonField.value ? controls.refundRejectReasonField.value : '',
1733
+ reason: controls.refundRejectReasonField.value == 'RE005' ? controls.enterReasonField.value : ''
1734
+ };
1735
+ }
1531
1736
  }
1532
1737
  else if (controls.refundActionField.value === 'Return to caseworker') {
1533
1738
  status = 'SENDBACK';
1534
- processRefundRequest = {
1535
- code: '',
1536
- reason: controls.sendMeBackField.value
1537
- };
1739
+ if (this.notificationPreviewObj) {
1740
+ processRefundRequest = {
1741
+ code: '',
1742
+ reason: controls.sendMeBackField.value,
1743
+ template_preview: {
1744
+ body: this.notificationPreviewObj.body,
1745
+ from: {
1746
+ from_email_address: this.notificationPreviewObj.from.from_email_address,
1747
+ from_mail_address: {
1748
+ address_line: this.notificationPreviewObj.from.from_mail_address.address_line,
1749
+ city: this.notificationPreviewObj.from.from_mail_address.city,
1750
+ country: this.notificationPreviewObj.from.from_mail_address.country,
1751
+ county: this.notificationPreviewObj.from.from_mail_address.county,
1752
+ postal_code: this.notificationPreviewObj.from.from_mail_address.postal_code
1753
+ }
1754
+ },
1755
+ html: this.notificationPreviewObj.html,
1756
+ id: this.notificationPreviewObj.template_id,
1757
+ subject: this.notificationPreviewObj.subject,
1758
+ template_type: this.notificationPreviewObj.template_type,
1759
+ version: 0
1760
+ }
1761
+ };
1762
+ }
1763
+ else {
1764
+ processRefundRequest = {
1765
+ code: '',
1766
+ reason: controls.sendMeBackField.value
1767
+ };
1768
+ }
1538
1769
  }
1539
1770
  this.RefundsService.patchRefundActions(processRefundRequest, this.refundReference, status).subscribe(function (response) {
1540
1771
  _this.isSuccesspageEnable = true;
@@ -1633,30 +1864,13 @@
1633
1864
  this.loadRefundListPage();
1634
1865
  }
1635
1866
  };
1636
- // loadCaseTransactionPage() {
1637
- // this.paymentLibComponent.isRefundStatusView = false;
1638
- // this.paymentLibCo}mponent.TAKEPAYMENT = true;
1639
- // this.paymentLibComponent.viewName = 'case-transactions';
1640
- // this.paymentViewService.getBSfeature().subscribe(
1641
- // features => {
1642
- // let result = JSON.parse(features).filter(feature => feature.uid === BS_ENABLE_FLAG);
1643
- // this.paymentLibComponent.ISBSENABLE = result[0] ? result[0].enable : false;
1644
- // },
1645
- // err => {
1646
- // this.paymentLibComponent.ISBSENABLE = false;
1647
- // }
1648
- // );
1649
- // let partUrl = `selectedOption=${this.paymentLibComponent.SELECTED_OPTION}`;
1650
- // partUrl += this.bsPaymentDcnNumber ? `&dcn=${this.bsPaymentDcnNumber}` : '';
1651
- // partUrl += this.paymentLibComponent.ISBSENABLE ? '&isBulkScanning=Enable' : '&isBulkScanning=Disable';
1652
- // partUrl += this.paymentLibComponent.ISTURNOFF ? '&isTurnOff=Enable' : '&isTurnOff=Disable';
1653
- // partUrl += this.paymentLibComponent.ISSFENABLE ? '&isStFixEnable=Enable' : '&isStFixEnable=Disable';
1654
- // partUrl += `&caseType=${this.paymentLibComponent.CASETYPE}`;
1655
- // partUrl += this.isNewPcipalOff ? '&isNewPcipalOff=Enable' : '&isNewPcipalOff=Disable';
1656
- // partUrl += this.isOldPcipalOff ? '&isOldPcipalOff=Enable' : '&isOldPcipalOff=Disable';
1657
- // let url = `/payment-history/${this.ccdCaseNumber}?view=case-transactions&takePayment=true&${partUrl}`;
1658
- // this.router.navigateByUrl(url);
1659
- // }
1867
+ ProcessRefundComponent.prototype.loadCaseTransactionPage = function () {
1868
+ this.OrderslistService.setnavigationPage('casetransactions');
1869
+ this.OrderslistService.setisFromServiceRequestPage(false);
1870
+ this.paymentLibComponent.viewName = 'case-transactions';
1871
+ this.paymentLibComponent.ISBSENABLE = true;
1872
+ this.paymentLibComponent.isRefundStatusView = false;
1873
+ };
1660
1874
  ProcessRefundComponent.prototype.resetForm = function (vals, field) {
1661
1875
  if (field === 'action' || field === 'all') {
1662
1876
  this.refundActionsHasError = vals[0];
@@ -1676,21 +1890,50 @@
1676
1890
  }
1677
1891
  };
1678
1892
  ProcessRefundComponent.prototype.goToCaseReview = function () {
1679
- this.router.navigate(["/cases/case-details/" + this.ccdCaseNumber], { relativeTo: this.activeRoute });
1893
+ var isPayBubble = this.paymentLibComponent.isFromPayBubble;
1894
+ if (isPayBubble) {
1895
+ this.loadCaseTransactionPage();
1896
+ }
1897
+ else {
1898
+ this.router.navigate(["/cases/case-details/" + this.ccdCaseNumber], { relativeTo: this.activeRoute });
1899
+ }
1900
+ };
1901
+ ProcessRefundComponent.prototype.getTemplateInstructionType = function (payment, paymentReference) {
1902
+ var _this = this;
1903
+ if (payment == undefined || payment == null || payment.reference != paymentReference) {
1904
+ this.paymentViewService.getPaymentDetails(paymentReference).subscribe(function (payment) {
1905
+ _this.paymentObj = payment;
1906
+ _this.paymentObj.reference = paymentReference;
1907
+ _this.templateInstructionType = _this.notificationService.getNotificationInstructionType(_this.paymentObj.channel, _this.paymentObj.method);
1908
+ }, function (error) {
1909
+ _this.templateInstructionType = 'Template';
1910
+ });
1911
+ }
1912
+ else {
1913
+ this.templateInstructionType = this.notificationService.getNotificationInstructionType(payment.channel, payment.method);
1914
+ }
1915
+ };
1916
+ ProcessRefundComponent.prototype.showNotificationPreview = function () {
1917
+ this.notificationPreview = true;
1918
+ };
1919
+ ProcessRefundComponent.prototype.hideNotificationPreview = function () {
1920
+ this.notificationPreview = false;
1680
1921
  };
1681
1922
  return ProcessRefundComponent;
1682
1923
  }());
1683
1924
  ProcessRefundComponent.decorators = [
1684
1925
  { type: i0.Component, args: [{
1685
1926
  selector: 'ccpay-process-refund',
1686
- template: "<ng-container *ngIf=\"viewStatus === 'RefundProcess'\">\n<div class=\"govuk-width-container\">\n\n <main class=\"govuk-main-wrapper govuk-!-padding-top-0\" [ngClass]=\"{'govuk-radios__conditional--hidden': isSuccesspageEnable}\" id=\"main-content\" role=\"main\">\n <div *ngIf=\"errorMessage.showError\">\n <div class=\"error-summary\" role=\"group\" aria-labelledby=\"failure-error-summary-heading\" tabindex=\"-1\">\n <h2 class=\"heading-medium error-summary-heading\" id=\"failure-error-summary-heading\">\n {{errorMessage.title}}\n </h2>\n <div class=\"govuk-error-summary__body process-refund-font\">\n {{errorMessage.body}}\n </div>\n </div>\n </div>\n\n <div class=\"payment-view-alignment\">\n\n <div class=\"govuk-grid-row\">\n <div class=\"column\">\n <h1 class=\"heading-large govuk-!-margin-top-0\">Review refund details</h1>\n </div>\n </div>\n <table>\n <tbody>\n\n <tr class=\"section\">\n <td class=\"bold tb-col-w\">Payment to be refunded</td>\n <td>\t{{refundlistsource?.refund_reference}} ({{refundlistsource.amount | currency :'GBP':'symbol':'1.2-2' }})</td>\n </tr>\n <tr class=\"section\">\n <td class=\"bold tb-col-w\">Reason for refund</td>\n <td>\t{{refundlistsource?.reason}}</td>\n </tr>\n <tr class=\"section\">\n <td class=\"bold tb-col-w\">Amount to be refunded</td>\n <td>{{refundlistsource?.amount | currency :'GBP':'symbol':'1.2-2' }}</td>\n </tr>\n <tr class=\"section\">\n <td class=\"bold tb-col-w\">Submitted by</td>\n <td>{{refundlistsource?.user_full_name}}</td>\n\n </tr>\n <tr class=\"section\">\n <td class=\"bold tb-col-w\">Date submitted</td>\n <td>\t{{refundlistsource?.date_created | date:'d MMMM yyyy' }}</td>\n </tr>\n\n </tbody>\n </table>\n\n <div>\n </div>\n </div>\n <div class=\"process-refund__panel\">\n <form [formGroup]=\"processRefundForm\" novalidate>\n <div class=\"\">\n <fieldset class=\"govuk-fieldset\" aria-describedby=\"sign-in-hint\">\n <legend class=\"govuk-fieldset__legend govuk-fieldset__legend--l\">\n <h1 class=\"heading-large\">\n What do you want to do with this refund?\n </h1>\n </legend>\n <div class=\"govuk-radios\" [ngClass]=\"{'form-group-error': refundActionsHasError}\">\n <p class=\"inline-error-message\"\n *ngIf=\"refundActionsHasError\">\n <span *ngIf=\"refundActionsHasError\">Please select an action</span>\n </p>\n <div class=\"govuk-radios__item\" *ngFor=\"let refundAction of refundActionList; let i = index;\">\n <input class=\"govuk-radios__input\" \n id=\"refundAction-{{i}}\" \n name=\"refundActionField\"\n type=\"radio\"\n formControlName=\"refundActionField\"\n (click)=\"checkRefundActions(refundAction.code)\"\n value=\"{{refundAction.code}}\">\n <label class=\"govuk-label govuk-radios__label process-refund-font\" for=\"refundAction-{{i}}\">\n {{refundAction.code}}\n </label>\n <div id=\"sign-in-item-hint\" class=\"govuk-hint govuk-radios__hint process-refund-font\">\n {{refundAction.label}}\n </div>\n </div>\n <div class=\"govuk-radios__conditional\" [ngClass]=\"{'govuk-radios__conditional--hidden': !isSendMeBackClicked}\">\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label process-refund-font\" for=\"contact-by-text\">\n Add a reason\n </label>\n <p class=\"inline-error-message\"\n *ngIf=\"isReasonFieldEmpty || isReasonFieldInvalid || reasonFieldMinHasError || reasonFieldMaxHasError\">\n <span *ngIf=\"isReasonFieldEmpty\">Add a reason</span>\n <span *ngIf=\"isReasonFieldInvalid\">Add a valid reason</span>\n <span *ngIf=\"reasonFieldMinHasError\">Reason should be at least 3 characters.</span>\n <span *ngIf=\"reasonFieldMaxHasError\">Reason should be 255 characters or under.</span>\n </p>\n <textarea class=\"govuk-textarea govuk-!-width-one-third reason-font\"\n [ngClass]=\"{'inline-error-class': isReasonFieldEmpty || isReasonFieldInvalid || reasonFieldMinHasError || reasonFieldMaxHasError}\"\n id=\"sendmeback\"\n name=\"sendMeBackField\" \n formControlName=\"sendMeBackField\"\n rows=\"5\"></textarea>\n \n </div>\n\n </div>\n \n </div>\n \n </fieldset>\n </div>\n\n <div [ngClass]=\"{'govuk-radios__conditional--hidden': !isRejectClicked}\">\n <fieldset class=\"govuk-fieldset\">\n <legend class=\"govuk-fieldset__legend govuk-fieldset__legend--l\">\n <h2 class=\"heading-medium\">\n Why are you rejecting this refund?\n </h2>\n </legend>\n <div class=\"govuk-radios\" [ngClass]=\"{'form-group-error': refundRejectReasonHasError}\">\n <p class=\"inline-error-message\"\n *ngIf=\"refundRejectReasonHasError\">\n <span *ngIf=\"refundRejectReasonHasError\">Please select a reject reason</span>\n </p>\n <div class=\"govuk-radios__item\" *ngFor=\"let refundRejectReason of refundRejectReasonList; let j = index;\">\n <input class=\"govuk-radios__input\" \n id=\"refundRejectReason-{{j}}\"\n formControlName=\"refundRejectReasonField\"\n name=\"refundRejectReasonField\"\n (click)=\"checkRefundActions(refundRejectReason.code)\"\n type=\"radio\" value=\"{{refundRejectReason.code}}\">\n <label class=\"govuk-label govuk-radios__label process-refund-font\" for=\"refundRejectReason-{{j}}\">\n {{refundRejectReason.name}}\n </label>\n </div>\n </div>\n <div class=\"govuk-radios__conditional\" [ngClass]=\"{'govuk-radios__conditional--hidden': !isOtherClicked}\" id=\"conditional-contact-3\">\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label process-refund-font \" for=\"contact-by-text\">\n Enter reason\n </label>\n <p class=\"inline-error-message\" *ngIf=\"isReasonEmpty || isReasonInvalid\">\n <span *ngIf=\"isReasonEmpty\">Enter reason.</span>\n <span *ngIf=\"isReasonInvalid\">Enter a valid reason</span>\n </p>\n <input class=\"govuk-input govuk-!-width-one-third reason-font\" id=\"otherReason\" \n [ngClass]=\"{'inline-error-class': isReasonEmpty || isReasonInvalid}\"\n formControlName=\"enterReasonField\" name=\"enterReasonField\" type=\"text\"></div>\n \n </div>\n \n </fieldset>\n </div>\n\n <div class=\"govuk-button-group\">\n <button (click)=\"redirecttoRefundListPage()\" class=\"govuk-button govuk-button--secondary marginright\"> Previous</button>\n <button (click)=\"processRefundSubmit()\" class=\"govuk-button button\"\n data-module=\"govuk-button\">\n Submit \n </button>\n <br/><br/>\n </div>\n \n <div *ngIf=\"!isFromRefundListPage\" class=\"govuk-button-group margin\">\n\n <p><a (click)=\"loadRefundsHomePage()\" class=\"govuk-link pointer\" data-module=\"govuk-button\">Cancel</a></p>\n</div>\n</form>\n </div>\n \n\n </main>\n \n <main class=\"govuk-main-wrapper govuk-main-wrapper--l success-page-padding--top25\" [ngClass]=\"{'govuk-radios__conditional--hidden': !isSuccesspageEnable}\" id=\"main-content\" role=\"main\" >\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-panel govuk-panel-refund--confirmation\">\n <h1 class=\"heading-xlarge\">\n {{successMsg}}\n </h1>\n </div>\n <p class=\"govuk-body process-refund-font\">\n <a (click) = \"goToCaseReview()\" class=\"govuk-link pointer\">Return to case</a>\n </p>\n </div>\n </main>\n</div>\n</ng-container>\n\n",
1687
- styles: [".tb-col-w{width:330px}.tr-border{border-bottom:2px solid}.payment-view-alignment{margin-left:30px}.govuk-button{float:left!important;font-size:19px;margin-top:2em!important}.remission{margin-bottom:7em}.process-refund-font{font-size:19px!important}.govuk-radios__conditional--hidden{display:none}.inline-error-message{color:#c11717;font-weight:700;margin-top:10px;border-color:#c11717}.inline-error-class{outline:3px solid #c11717;outline-offset:0;border-color:#c11717}.form-group-error{border-left:5px solid #c11717;padding-left:15px}.govuk-panel-refund--confirmation{color:#fff;background:#00703c}.process-refund__panel{display:flex;flex-direction:column;margin-left:25px;margin-top:30px}.button-margin--left25{margin-left:25px}.success-page-padding--top25{padding-top:25px}.margin{margin-top:5em}.marginright{margin-right:1.5em}.govuk-textarea{line-height:2.25}.reason-font{font-size:19px!important}.pointer{cursor:pointer}"]
1927
+ template: "<ng-container *ngIf=\"viewStatus === 'RefundProcess'\">\n<div class=\"govuk-width-container\">\n\n <main class=\"govuk-main-wrapper govuk-!-padding-top-0\" [ngClass]=\"{'govuk-radios__conditional--hidden': isSuccesspageEnable}\" id=\"main-content\" role=\"main\">\n <div *ngIf=\"errorMessage.showError\">\n <div class=\"error-summary\" role=\"group\" aria-labelledby=\"failure-error-summary-heading\" tabindex=\"-1\">\n <h2 class=\"heading-medium error-summary-heading\" id=\"failure-error-summary-heading\">\n {{errorMessage.title}}\n </h2>\n <div class=\"govuk-error-summary__body process-refund-font\">\n {{errorMessage.body}}\n </div>\n </div>\n </div>\n\n <div class=\"payment-view-alignment\">\n\n <div class=\"govuk-grid-row\">\n <div class=\"column\">\n <h1 class=\"heading-large govuk-!-margin-top-0\">Review refund details</h1>\n </div>\n </div>\n <table>\n <tbody>\n\n <tr class=\"section\">\n <td class=\"bold tb-col-w\">Payment to be refunded</td>\n <td colspan=\"2\">{{refundlistsource?.refund_reference}} ({{refundlistsource.amount | currency :'GBP':'symbol':'1.2-2' }})</td>\n </tr>\n <tr class=\"section\">\n <td class=\"bold tb-col-w\">Reason for refund</td>\n <td colspan=\"2\">{{refundlistsource?.reason?.trim()}}</td>\n </tr>\n <tr class=\"section\">\n <td class=\"bold tb-col-w\">Amount to be refunded</td>\n <td colspan=\"2\">{{refundlistsource?.amount | currency :'GBP':'symbol':'1.2-2' }}</td>\n </tr>\n <tr class=\"section\">\n <td class=\"bold tb-col-w\">Sent to</td>\n <td colspan=\"2\">{{cpoDetails?.responsibleParty}}</td>\n </tr>\n <tr class=\"section\">\n <td class=\"bold tb-col-w\">Sent via</td>\n <td colspan=\"2\">\n <div *ngIf=\"refundlistsource?.contact_details?.notification_type === 'EMAIL'\" class=\"contactDetails-width font-size-19px\">\n <strong>Email</strong>\n <br/>\n {{refundlistsource?.contact_details?.email?.trim()}}\n </div>\n <div *ngIf=\"refundlistsource?.contact_details?.notification_type === 'LETTER'\" class=\"contactDetails-width font-size-19px\">\n <strong>Post</strong>\n <br/>\n {{refundlistsource?.contact_details?.address_line?.trim()}} {{refundlistsource?.contact_details?.city?.trim()}} {{refundlistsource?.contact_details?.county?.trim()}} {{refundlistsource?.contact_details?.country?.trim()}} {{refundlistsource?.contact_details?.postal_code?.trim()}}\n </div> \n </td>\n </tr>\n <tr class=\"section\">\n <td class=\"bold tb-col-w\">Submitted by</td>\n <td colspan=\"2\">{{refundlistsource?.user_full_name}}</td>\n\n </tr>\n <tr class=\"section\">\n <td class=\"bold tb-col-w\">Date submitted</td>\n <td colspan=\"2\">{{refundlistsource?.date_created | date:'d MMMM yyyy' }}</td>\n </tr>\n <tr class=\"section\">\n <td class=\"bold tb-col-w\">Notification</td>\n <td>{{templateInstructionType}}</td>\n <td>\n <a *ngIf=\"!notificationPreview\" href=\"Javascript:void(0)\" class=\"govuk-link pointer right\" (click)=\"showNotificationPreview()\">\n Preview\n </a>\n <a *ngIf=\"notificationPreview\" href=\"Javascript:void(0)\" class=\"govuk-link pointer right\" (click)=\"hideNotificationPreview()\">\n Hide Preview\n </a>\n </td>\n\n </tr>\n\n </tbody>\n </table>\n\n <app-notification-preview *ngIf=\"notificationPreview\" [paymentReference]=\"refundlistsource?.payment_reference\"\n [payment]=\"paymentObj\"\n [contactDetails]=\"refundlistsource?.contact_details\"\n [refundReason]=\"refundlistsource?.reason_code\" [refundAmount]=\"refundlistsource?.amount\"\n [refundReference]=\"refundlistsource?.refund_reference\"\n (notificationPreviewEvent) = \"getNotificationPreviewObj($event)\">\n </app-notification-preview>\n\n <div>\n </div>\n </div>\n <div class=\"process-refund__panel\">\n <form [formGroup]=\"processRefundForm\" novalidate>\n <div class=\"\">\n <fieldset class=\"govuk-fieldset\" aria-describedby=\"sign-in-hint\">\n <legend class=\"govuk-fieldset__legend govuk-fieldset__legend--l\">\n <h1 class=\"heading-large\">\n What do you want to do with this refund?\n </h1>\n </legend>\n <div class=\"govuk-radios\" [ngClass]=\"{'form-group-error': refundActionsHasError}\">\n <p class=\"inline-error-message\"\n *ngIf=\"refundActionsHasError\">\n <span *ngIf=\"refundActionsHasError\">Please select an action</span>\n </p>\n <div class=\"govuk-radios__item\" *ngFor=\"let refundAction of refundActionList; let i = index;\">\n <input class=\"govuk-radios__input\" \n id=\"refundAction-{{i}}\" \n name=\"refundActionField\"\n type=\"radio\"\n formControlName=\"refundActionField\"\n (click)=\"checkRefundActions(refundAction.code)\"\n value=\"{{refundAction.code}}\">\n <label class=\"govuk-label govuk-radios__label process-refund-font\" for=\"refundAction-{{i}}\">\n {{refundAction.code}}\n </label>\n <div id=\"sign-in-item-hint\" class=\"govuk-hint govuk-radios__hint process-refund-font\">\n {{refundAction.label}}\n </div>\n </div>\n <div class=\"govuk-radios__conditional\" [ngClass]=\"{'govuk-radios__conditional--hidden': !isSendMeBackClicked}\">\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label process-refund-font\" for=\"contact-by-text\">\n Add a reason\n </label>\n <p class=\"inline-error-message\"\n *ngIf=\"isReasonFieldEmpty || isReasonFieldInvalid || reasonFieldMinHasError || reasonFieldMaxHasError\">\n <span *ngIf=\"isReasonFieldEmpty\">Add a reason</span>\n <span *ngIf=\"isReasonFieldInvalid\">Add a valid reason</span>\n <span *ngIf=\"reasonFieldMinHasError\">Reason should be at least 3 characters.</span>\n <span *ngIf=\"reasonFieldMaxHasError\">Reason should be 255 characters or under.</span>\n </p>\n <textarea class=\"govuk-textarea govuk-!-width-one-third reason-font\"\n [ngClass]=\"{'inline-error-class': isReasonFieldEmpty || isReasonFieldInvalid || reasonFieldMinHasError || reasonFieldMaxHasError}\"\n id=\"sendmeback\"\n name=\"sendMeBackField\" \n formControlName=\"sendMeBackField\"\n rows=\"5\"></textarea>\n \n </div>\n\n </div>\n \n </div>\n \n </fieldset>\n </div>\n\n <div [ngClass]=\"{'govuk-radios__conditional--hidden': !isRejectClicked}\">\n <fieldset class=\"govuk-fieldset\">\n <legend class=\"govuk-fieldset__legend govuk-fieldset__legend--l\">\n <h2 class=\"heading-medium\">\n Why are you rejecting this refund?\n </h2>\n </legend>\n <div class=\"govuk-radios\" [ngClass]=\"{'form-group-error': refundRejectReasonHasError}\">\n <p class=\"inline-error-message\"\n *ngIf=\"refundRejectReasonHasError\">\n <span *ngIf=\"refundRejectReasonHasError\">Please select a reject reason</span>\n </p>\n <div class=\"govuk-radios__item\" *ngFor=\"let refundRejectReason of refundRejectReasonList; let j = index;\">\n <input class=\"govuk-radios__input\" \n id=\"refundRejectReason-{{j}}\"\n formControlName=\"refundRejectReasonField\"\n name=\"refundRejectReasonField\"\n (click)=\"checkRefundActions(refundRejectReason.code)\"\n type=\"radio\" value=\"{{refundRejectReason.code}}\">\n <label class=\"govuk-label govuk-radios__label process-refund-font\" for=\"refundRejectReason-{{j}}\">\n {{refundRejectReason.name}}\n </label>\n </div>\n </div>\n <div class=\"govuk-radios__conditional\" [ngClass]=\"{'govuk-radios__conditional--hidden': !isOtherClicked}\" id=\"conditional-contact-3\">\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label process-refund-font \" for=\"contact-by-text\">\n Enter reason\n </label>\n <p class=\"inline-error-message\" *ngIf=\"isReasonEmpty || isReasonInvalid\">\n <span *ngIf=\"isReasonEmpty\">Enter reason.</span>\n <span *ngIf=\"isReasonInvalid\">Enter a valid reason</span>\n </p>\n <input class=\"govuk-input govuk-!-width-one-third reason-font\" id=\"otherReason\" \n [ngClass]=\"{'inline-error-class': isReasonEmpty || isReasonInvalid}\"\n formControlName=\"enterReasonField\" name=\"enterReasonField\" type=\"text\"></div>\n \n </div>\n \n </fieldset>\n </div>\n\n <div class=\"govuk-button-group\">\n <button (click)=\"redirecttoRefundListPage()\" class=\"govuk-button govuk-button--secondary marginright\"> Previous</button>\n <button (click)=\"processRefundSubmit()\" class=\"govuk-button button\"\n data-module=\"govuk-button\">\n Submit \n </button>\n <br/><br/>\n </div>\n \n <div *ngIf=\"!isFromRefundListPage\" class=\"govuk-button-group margin\">\n\n <p><a (click)=\"loadRefundsHomePage()\" class=\"govuk-link pointer\" data-module=\"govuk-button\">Cancel</a></p>\n</div>\n</form>\n </div>\n \n\n </main>\n \n <main class=\"govuk-main-wrapper govuk-main-wrapper--l success-page-padding--top25\" [ngClass]=\"{'govuk-radios__conditional--hidden': !isSuccesspageEnable}\" id=\"main-content\" role=\"main\" >\n <div class=\"govuk-grid-row pagesize\">\n <div class=\"govuk-panel govuk-panel-refund--confirmation\">\n <h1 class=\"heading-xlarge\">\n {{successMsg}}\n </h1>\n </div>\n <p class=\"govuk-body process-refund-font\">\n <a href=\"Javascript:void(0)\" (click)=\"goToCaseReview()\" class=\"govuk-link pointer\">Return to case</a>\n </p>\n </div>\n </main>\n</div>\n</ng-container>\n\n",
1928
+ styles: [".tb-col-w{width:330px}.tr-border{border-bottom:2px solid}.payment-view-alignment{margin-left:30px}.govuk-button{float:left!important;font-size:19px;margin-top:2em!important}.remission{margin-bottom:7em}.process-refund-font{font-size:19px!important}.govuk-radios__conditional--hidden{display:none}.inline-error-message{color:#c11717;font-weight:700;margin-top:10px;border-color:#c11717}.inline-error-class{outline:3px solid #c11717;outline-offset:0;border-color:#c11717}.form-group-error{border-left:5px solid #c11717;padding-left:15px}.govuk-panel-refund--confirmation{color:#fff;background:#00703c}.process-refund__panel{margin-left:25px;margin-top:30px}.button-margin--left25{margin-left:25px}.success-page-padding--top25{padding-top:25px}.margin{margin-top:5em}.marginright{margin-right:1.5em}.govuk-textarea{line-height:2.25}.reason-font{font-size:19px!important}.pointer{cursor:pointer}.right{float:right}.pagesize{margin:2em;width:97%}"]
1688
1929
  },] }
1689
1930
  ];
1690
1931
  ProcessRefundComponent.ctorParameters = function () { return [
1691
1932
  { type: RefundsService },
1933
+ { type: PaymentViewService },
1692
1934
  { type: forms.FormBuilder },
1693
1935
  { type: OrderslistService },
1936
+ { type: NotificationService },
1694
1937
  { type: PaymentLibComponent },
1695
1938
  { type: router.Router },
1696
1939
  { type: router.ActivatedRoute }
@@ -1705,10 +1948,10 @@
1705
1948
  this.refundService = refundService;
1706
1949
  this.submittedRefundList = [];
1707
1950
  this.rejectedRefundList = [];
1951
+ // approvalStatus = 'Sent for approval';
1952
+ // rejectStatus = 'Update required';
1708
1953
  this.approvalStatus = 'Sent for approval';
1709
1954
  this.rejectStatus = 'Update required';
1710
- // approvalStatus = 'sent for approval';
1711
- // rejectStatus = 'sent back';
1712
1955
  this.errorMessage = null;
1713
1956
  this.isAuthorized = true;
1714
1957
  }
@@ -1888,37 +2131,350 @@
1888
2131
  isTakePayment: [{ type: i0.Input }]
1889
2132
  };
1890
2133
 
1891
- var PbaDetailsComponent = /** @class */ (function () {
1892
- function PbaDetailsComponent() {
2134
+ var ContactDetailsComponent = /** @class */ (function () {
2135
+ function ContactDetailsComponent(formBuilder, notificationService, paymentLibComponent) {
2136
+ this.formBuilder = formBuilder;
2137
+ this.notificationService = notificationService;
2138
+ this.paymentLibComponent = paymentLibComponent;
2139
+ this.assignContactDetails = new i0.EventEmitter();
2140
+ this.assignContactDetailsInFefundsList = new i0.EventEmitter();
2141
+ this.redirectToIssueRefund = new i0.EventEmitter();
2142
+ this.pageTitle = 'Payment status history';
2143
+ this.isEmailSAddressClicked = true;
2144
+ this.isShowPickAddress = false;
2145
+ this.isPostcodeClicked = false;
2146
+ this.isManualAddressClicked = false;
2147
+ this.addressPostcodeList = [];
2148
+ this.isAddressBoxEmpty = false;
2149
+ this.isEmailEmpty = false;
2150
+ this.emailHasError = false;
2151
+ this.isPostcodeEmpty = false;
2152
+ this.postcodeHasError = false;
2153
+ this.isaddressLine1Empty = false;
2154
+ this.addressLine1HasError = false;
2155
+ this.addressLine2HasError = false;
2156
+ this.isTownOrCityEmpty = false;
2157
+ this.townOrCityHasError = false;
2158
+ this.isCountyEmpty = false;
2159
+ this.countyHasError = false;
2160
+ this.isMPostcodeEmpty = false;
2161
+ this.mpostcodeHasError = false;
2162
+ this.isCountryEmpty = false;
1893
2163
  }
1894
- PbaDetailsComponent.prototype.ngOnInit = function () {
2164
+ ContactDetailsComponent.prototype.ngOnInit = function () {
2165
+ this.resetForm([false, false, false, false, false, false, false, false, false, false, false, false, false, false], 'all');
2166
+ this.emailAddressForm = this.formBuilder.group({
2167
+ email: new forms.FormControl('', forms.Validators.compose([
2168
+ forms.Validators.required,
2169
+ forms.Validators.pattern('.+@+.+\\.+.+')
2170
+ ]))
2171
+ });
2172
+ this.postCodeForm = this.formBuilder.group({
2173
+ postcode: new forms.FormControl('', forms.Validators.compose([
2174
+ forms.Validators.required,
2175
+ forms.Validators.pattern('^([A-Za-z]{1,2}[0-9]{1,2}[A-Za-z]{0,1} ?[0-9][A-Za-z]{2})')
2176
+ ]))
2177
+ });
2178
+ this.manualAddressForm = this.formBuilder.group({
2179
+ addressl1: new forms.FormControl('', forms.Validators.compose([
2180
+ forms.Validators.required,
2181
+ forms.Validators.pattern('^[a-zA-Z0-9\\s,\'-]*$')
2182
+ ])),
2183
+ addressl2: new forms.FormControl('', forms.Validators.compose([
2184
+ forms.Validators.pattern('^[a-zA-Z0-9\\s,\'-]*$')
2185
+ ])),
2186
+ townorcity: new forms.FormControl('', forms.Validators.compose([
2187
+ forms.Validators.required,
2188
+ forms.Validators.pattern('^[a-zA-Z0-9\\s,\'-]*$')
2189
+ ])),
2190
+ county: new forms.FormControl('', forms.Validators.compose([
2191
+ forms.Validators.pattern('^[a-zA-Z0-9\\s,\'-]*$')
2192
+ ])),
2193
+ mpostcode: new forms.FormControl('', forms.Validators.compose([
2194
+ forms.Validators.required,
2195
+ forms.Validators.pattern('^([A-Za-z]{1,2}[0-9]{1,2}[A-Za-z]{0,1} ?[0-9][A-Za-z]{2})')
2196
+ ])),
2197
+ country: new forms.FormControl('', forms.Validators.compose([
2198
+ forms.Validators.required
2199
+ ]))
2200
+ });
2201
+ if (this.addressObj !== undefined && this.addressObj !== '') {
2202
+ this.setEditDetails();
2203
+ }
2204
+ if (this.isEditOperationInRefundList === undefined) {
2205
+ this.isEditOperationInRefundList = false;
2206
+ }
2207
+ };
2208
+ ContactDetailsComponent.prototype.setEditDetails = function () {
2209
+ if (this.addressObj.notification_type === 'EMAIL') {
2210
+ this.isEmailSAddressClicked = true;
2211
+ this.isPostcodeClicked = false;
2212
+ this.isManualAddressClicked = false;
2213
+ this.emailAddressForm.setValue({ email: this.addressObj.contact_details.email });
2214
+ }
2215
+ else if (this.addressObj.notification_type === 'LETTER') {
2216
+ this.isEmailSAddressClicked = false;
2217
+ this.isPostcodeClicked = true;
2218
+ this.isManualAddressClicked = true;
2219
+ this.manualAddressForm.patchValue({
2220
+ addressl1: this.addressObj.contact_details.address_line,
2221
+ townorcity: this.addressObj.contact_details.city,
2222
+ county: this.addressObj.contact_details.county,
2223
+ country: this.addressObj.contact_details.country,
2224
+ mpostcode: this.addressObj.contact_details.postal_code
2225
+ });
2226
+ }
1895
2227
  };
1896
- return PbaDetailsComponent;
1897
- }());
1898
- PbaDetailsComponent.decorators = [
1899
- { type: i0.Component, args: [{
1900
- selector: 'ccpay-pba-details',
1901
- template: "\n <h2 class=\"heading-large\">Payment method</h2>\n <table>\n <tbody>\n <tr>\n <td class=\"bold tb-col-w\">Method</td>\n <td class=\"capitalize\">{{ payment.method | lowercase}}</td>\n </tr>\n <tr>\n <td class=\"bold tb-col-w\">Type</td>\n <td>Credit</td>\n </tr>\n <tr *ngIf=\"payment.organisation_name\">\n <td class=\"bold tb-col-w\">PBA account name</td>\n <td>{{ payment.organisation_name }}</td>\n </tr>\n <tr *ngIf=\"payment.account_number\">\n <td class=\"bold tb-col-w\">PBA number</td>\n <td>{{ payment.account_number }}</td>\n </tr>\n <tr *ngIf=\"payment.customer_reference\">\n <td class=\"bold tb-col-w\">Customer internal reference</td>\n <td>{{ payment.customer_reference }}</td>\n </tr>\n </tbody>\n </table>\n",
1902
- styles: [".capitalize:first-letter{text-transform:uppercase}.tb-col-w{width:330px}"]
1903
- },] }
1904
- ];
1905
- PbaDetailsComponent.ctorParameters = function () { return []; };
1906
- PbaDetailsComponent.propDecorators = {
1907
- payment: [{ type: i0.Input }]
1908
- };
1909
-
1910
- var isDebugMode = false;
1911
- var noop = function () { return undefined; };
1912
- var ɵ0 = noop;
1913
- var ConsoleLoggerService = /** @class */ (function () {
1914
- function ConsoleLoggerService() {
1915
- }
1916
- Object.defineProperty(ConsoleLoggerService.prototype, "info", {
1917
- get: function () {
1918
- if (isDebugMode) {
1919
- return console.info.bind(console);
1920
- }
1921
- else {
2228
+ ContactDetailsComponent.prototype.selectContactOption = function (type, isLinkedClied) {
2229
+ this.resetForm([false, false, false, false, false, false, false, false, false, false, false, false, false, false, false], 'all');
2230
+ if (type === 'Email' && isLinkedClied === 'false') {
2231
+ this.isEmailSAddressClicked = true;
2232
+ this.isPostcodeClicked = false;
2233
+ this.isManualAddressClicked = false;
2234
+ }
2235
+ else if (type === 'Postcode' && isLinkedClied === 'false') {
2236
+ this.isEmailSAddressClicked = false;
2237
+ this.isPostcodeClicked = true;
2238
+ this.isManualAddressClicked = false;
2239
+ }
2240
+ else if (type === 'Postcode' && isLinkedClied === 'true') {
2241
+ this.isEmailSAddressClicked = false;
2242
+ this.isPostcodeClicked = true;
2243
+ this.isManualAddressClicked = true;
2244
+ }
2245
+ };
2246
+ ContactDetailsComponent.prototype.finalFormSubmit = function () {
2247
+ this.resetForm([false, false, false, false, false, false, false, false, false, false, false, false, false, false, false], 'all');
2248
+ if (this.isEmailSAddressClicked) {
2249
+ var emailField = this.emailAddressForm.controls.email;
2250
+ if (this.emailAddressForm.valid) {
2251
+ if (!this.isEditOperationInRefundList) {
2252
+ this.assignContactDetails.emit({
2253
+ email: emailField.value,
2254
+ notification_type: 'EMAIL'
2255
+ });
2256
+ }
2257
+ else {
2258
+ this.assignContactDetailsInFefundsList.emit({
2259
+ email: emailField.value,
2260
+ notification_type: 'EMAIL'
2261
+ });
2262
+ }
2263
+ }
2264
+ else {
2265
+ if (emailField.value == '') {
2266
+ this.resetForm([true, false, false, false, false, false, false, false, false, false, false, false, false, false], 'email');
2267
+ }
2268
+ if (emailField.value != '' && emailField.invalid) {
2269
+ this.resetForm([false, true, false, false, false, false, false, false, false, false, false, false, false, false], 'email');
2270
+ }
2271
+ }
2272
+ }
2273
+ else if (this.isPostcodeClicked && !this.isManualAddressClicked) {
2274
+ this.postcodeValidation('FS');
2275
+ }
2276
+ else if (this.isPostcodeClicked && this.isManualAddressClicked) {
2277
+ var fieldCtrls = this.manualAddressForm.controls;
2278
+ if (this.manualAddressForm.valid) {
2279
+ if (!this.isEditOperationInRefundList) {
2280
+ this.assignContactDetails.emit({
2281
+ address_line: fieldCtrls.addressl1.value + ' ' + fieldCtrls.addressl2.value,
2282
+ city: fieldCtrls.townorcity.value,
2283
+ county: fieldCtrls.county.value,
2284
+ postal_code: fieldCtrls.mpostcode.value,
2285
+ country: fieldCtrls.country.value,
2286
+ notification_type: 'LETTER'
2287
+ });
2288
+ }
2289
+ else {
2290
+ this.assignContactDetailsInFefundsList.emit({
2291
+ address_line: fieldCtrls.addressl1.value + ' ' + fieldCtrls.addressl2.value,
2292
+ city: fieldCtrls.townorcity.value,
2293
+ county: fieldCtrls.county.value,
2294
+ postal_code: fieldCtrls.mpostcode.value,
2295
+ country: fieldCtrls.country.value,
2296
+ notification_type: 'LETTER'
2297
+ });
2298
+ }
2299
+ }
2300
+ else {
2301
+ if (fieldCtrls.addressl1.value == '') {
2302
+ this.resetForm([false, false, false, false, true, false, false, false, false, false, false, false, false, false], 'address1');
2303
+ }
2304
+ if (fieldCtrls.addressl1.value != '' && fieldCtrls.addressl1.invalid) {
2305
+ this.resetForm([false, false, false, false, false, true, false, false, false, false, false, false, false, false], 'address1');
2306
+ }
2307
+ if (fieldCtrls.addressl2.value != '' && fieldCtrls.addressl2.invalid) {
2308
+ this.resetForm([false, false, false, false, false, false, true, false, false, false, false, false, false, false], 'address2');
2309
+ }
2310
+ if (fieldCtrls.townorcity.value == '') {
2311
+ this.resetForm([false, false, false, false, false, false, false, true, false, false, false, false, false, false], 'town');
2312
+ }
2313
+ if (fieldCtrls.townorcity.value != '' && fieldCtrls.townorcity.invalid) {
2314
+ this.resetForm([false, false, false, false, false, false, false, false, true, false, false, false, false, false], 'town');
2315
+ }
2316
+ if (fieldCtrls.county.value == '') {
2317
+ this.resetForm([false, false, false, false, false, false, false, false, false, true, false, false, false, false], 'county');
2318
+ }
2319
+ if (fieldCtrls.county.value != '' && fieldCtrls.county.invalid) {
2320
+ this.resetForm([false, false, false, false, false, false, false, false, false, false, true, false, false, false], 'county');
2321
+ }
2322
+ if (fieldCtrls.mpostcode.value == '') {
2323
+ this.resetForm([false, false, false, false, false, false, false, false, false, false, false, true, false, false], 'mpostcode');
2324
+ }
2325
+ if (fieldCtrls.mpostcode.value != '' && fieldCtrls.mpostcode.invalid) {
2326
+ this.resetForm([false, false, false, false, false, false, false, false, false, false, false, false, true, false], 'mpostcode');
2327
+ }
2328
+ if (fieldCtrls.country.value == '') {
2329
+ this.resetForm([false, false, false, false, false, false, false, false, false, false, false, false, false, true], 'country');
2330
+ }
2331
+ }
2332
+ }
2333
+ };
2334
+ ContactDetailsComponent.prototype.postcodeValidation = function (str) {
2335
+ var _this = this;
2336
+ this.resetForm([false, false, false, false, false, false, false, false, false, false, false, false, false, false, false], 'all');
2337
+ var postcodeField = this.postCodeForm.controls.postcode;
2338
+ if (this.postCodeForm.valid) {
2339
+ if (str === 'FA') {
2340
+ this.notificationService.getAddressByPostcode(postcodeField.value).subscribe(function (refundsNotification) {
2341
+ _this.addressPostcodeList = refundsNotification['results'];
2342
+ _this.isShowPickAddress = refundsNotification['header'].totalresults > 0;
2343
+ if (!_this.isShowPickAddress) {
2344
+ _this.resetForm([false, false, false, true, false, false, false, false, false, false, false, false, false], 'postcode');
2345
+ }
2346
+ }),
2347
+ function (error) {
2348
+ _this.isShowPickAddress = false;
2349
+ _this.errorMessage = error.replace(/"/g, "");
2350
+ };
2351
+ }
2352
+ else if (str === 'FS') {
2353
+ if (this.postcodeAddress !== undefined && this.postcodeAddress) {
2354
+ this.isAddressBoxEmpty = false;
2355
+ var addressLine = "";
2356
+ var addressArray = this.postcodeAddress.ADDRESS.split(",");
2357
+ for (var i = 0; i < addressArray.length - 2; i++) {
2358
+ addressLine += addressArray[i];
2359
+ }
2360
+ var addressObject = {
2361
+ address_line: addressLine,
2362
+ city: this.postcodeAddress.POST_TOWN,
2363
+ county: this.postcodeAddress.LOCAL_CUSTODIAN_CODE_DESCRIPTION,
2364
+ postal_code: this.postcodeAddress.POSTCODE,
2365
+ country: 'United Kingdom',
2366
+ notification_type: 'LETTER'
2367
+ };
2368
+ if (!this.isEditOperationInRefundList) {
2369
+ this.assignContactDetails.emit(addressObject);
2370
+ }
2371
+ else {
2372
+ this.assignContactDetailsInFefundsList.emit(addressObject);
2373
+ }
2374
+ }
2375
+ else {
2376
+ this.isAddressBoxEmpty = true;
2377
+ }
2378
+ }
2379
+ }
2380
+ else {
2381
+ if (postcodeField.value == '') {
2382
+ this.resetForm([false, false, true, false, false, false, false, false, false, false, false, false, false], 'postcode');
2383
+ }
2384
+ if (postcodeField.value != '' && postcodeField.invalid) {
2385
+ this.resetForm([false, false, false, true, false, false, false, false, false, false, false, false, false], 'postcode');
2386
+ }
2387
+ }
2388
+ };
2389
+ ContactDetailsComponent.prototype.redirection = function (event) {
2390
+ this.redirectToIssueRefund.emit(event);
2391
+ };
2392
+ ContactDetailsComponent.prototype.resetForm = function (val, field) {
2393
+ if (field === 'email' || field === 'all') {
2394
+ this.isEmailEmpty = val[0];
2395
+ this.emailHasError = val[1];
2396
+ }
2397
+ if (field === 'postcode' || field === 'all') {
2398
+ this.isPostcodeEmpty = val[2];
2399
+ this.postcodeHasError = val[3];
2400
+ }
2401
+ if (field === 'address1' || field === 'all') {
2402
+ this.isaddressLine1Empty = val[4];
2403
+ this.addressLine1HasError = val[5];
2404
+ }
2405
+ if (field === 'address2' || field === 'all') {
2406
+ this.addressLine2HasError = val[6];
2407
+ }
2408
+ if (field === 'town' || field === 'all') {
2409
+ this.isTownOrCityEmpty = val[7];
2410
+ this.townOrCityHasError = val[8];
2411
+ }
2412
+ if (field === 'county' || field === 'all') {
2413
+ this.isCountyEmpty = val[9];
2414
+ this.countyHasError = val[10];
2415
+ }
2416
+ if (field === 'mpostcode' || field === 'all') {
2417
+ this.isMPostcodeEmpty = val[11];
2418
+ this.mpostcodeHasError = val[12];
2419
+ }
2420
+ if (field === 'country' || field === 'all') {
2421
+ this.isCountryEmpty = val[13];
2422
+ }
2423
+ };
2424
+ return ContactDetailsComponent;
2425
+ }());
2426
+ ContactDetailsComponent.decorators = [
2427
+ { type: i0.Component, args: [{
2428
+ selector: 'ccpay-contact-details',
2429
+ template: "<fieldset class=\"govuk-fieldset contact-details--size\">\n <hr class=\"govuk-section-break govuk-section-break--m govuk-section-break--visible\">\n <div class=\"govuk-form-group\">\n <legend class=\"govuk-fieldset__legend govuk-fieldset__legend--s govuk-font19px\">\n {{ isEditOperation ? 'Edit contact information' : 'Contact information' }}\n </legend>\n <div id=\"contact-hint\" class=\"govuk-hint govuk-font19px\">\n Notifications will be sent via email or post when this refund is issued or rejected. You can only choose one option.\n </div>\n <div class=\"govuk-form-group\">\n <fieldset class=\"govuk-fieldset\">\n <div class=\"govuk-radios govuk-radios--conditional\" data-module=\"govuk-radios\">\n <div class=\"govuk-radios__item\">\n <input class=\"govuk-radios__input\" id=\"contact\" name=\"contact\" (click)=\"selectContactOption('Email', 'false')\" type=\"radio\" value=\"email\" [checked]=\"isEmailSAddressClicked\" aria-controls=\"conditional-contact\" aria-expanded=\"true\">\n <label class=\"govuk-label govuk-radios__label govuk-font19px\" for=\"contact\">\n Email\n </label>\n </div>\n <div class=\"govuk-radios__conditional\" id=\"conditional-contact-email\" *ngIf=\"isEmailSAddressClicked\">\n <form [formGroup]=\"emailAddressForm\" novalidate>\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label \" for=\"email\">\n <span class=\"govuk-hint govuk-font19px\">Information about this refund will be sent to this email address.</span>\n </label>\n\n <div id=\"email-hint\" class=\"govuk-hint\">\n </div>\n <input class=\"govuk-input govuk-font19px\" id=\"email\" name=\"\" type=\"email\" [ngClass]=\"{ 'inline-error-class': isEmailEmpty || emailHasError }\" value=\"{{addressObj?.contact_details?.email}}\" formControlName=\"email\" aria-describedby=\"email-hint\">\n <p class=\"inline-error-message\" *ngIf=\"isEmailEmpty || emailHasError\">\n <span *ngIf=\"isEmailEmpty\">Enter a email address.</span>\n <span *ngIf=\"emailHasError\">Enter a valid email address.</span>\n </p>\n </div>\n </form>\n </div>\n <div class=\"govuk-radios__item\">\n <input class=\"govuk-radios__input\" id=\"contact-2\" name=\"contact\" (click)=\"selectContactOption('Postcode', 'false')\" type=\"radio\" [checked]=\"isPostcodeClicked\" value=\"post\" aria-controls=\"conditional-contact-2\" aria-expanded=\"false\">\n <label class=\"govuk-label govuk-radios__label govuk-font19px\" for=\"contact-2\">\n Post\n </label>\n </div>\n <div class=\"govuk-radios__conditional\" id=\"conditional-contact-postcode\" *ngIf=\"isPostcodeClicked && !isManualAddressClicked\">\n <form [formGroup]=\"postCodeForm\" novalidate>\n <label class=\"govuk-label govuk-font19px\" for=\"address-postcode\">\n <span class=\"govuk-hint govuk-font19px\">Information about this refund will be sent to this address.</span>Postcode\n </label>\n <div class=\"postcode-align-css\">\n <div class=\"govuk-form-group govuk-margin-right-10px\">\n <input class=\"govuk-input govuk-input--width-10\" id=\"address-postcode\" name=\"address-postcode\" [ngClass]=\"{ 'inline-error-class': isPostcodeEmpty || postcodeHasError }\" formControlName=\"postcode\" type=\"text\" autocomplete=\"postal-code\">\n <p class=\"inline-error-message\" *ngIf=\"isPostcodeEmpty || postcodeHasError\">\n <span *ngIf=\"isPostcodeEmpty\">Enter a postcode.</span>\n <span *ngIf=\"postcodeHasError\">Enter a valid postcode.</span>\n </p>\n </div>\n <div class=\"govuk-button-group\">\n <button class=\"govuk-button govuk-button--secondary govuk-font19px\" (click)=\"postcodeValidation('FA')\" data-module=\"govuk-button\">\n Find address\n </button>\n </div>\n </div>\n </form>\n <div class=\"govuk-form-group govuk-margin-btm-20px\" *ngIf=\"isShowPickAddress\">\n <label class=\"govuk-label govuk-font19px\" for=\"country\">\n Pick an address\n </label>\n <select class=\"govuk-select govuk-font19px\" [(ngModel)]=\"postcodeAddress\" id=\"postcodeAddress\" [ngClass]=\"{ 'inline-error-class': isAddressBoxEmpty }\" name=\"postcodeAddress\">\n <option *ngFor=\"let address of addressPostcodeList;\" [ngValue]=\"address.DPA\" > {{address.DPA.ADDRESS}}</option>\n </select> \n <p class=\"inline-error-message\" *ngIf=\"isAddressBoxEmpty\">\n <span *ngIf=\"isAddressBoxEmpty\">Please select an address.</span>\n </p>\n </div>\n <details class=\"govuk-details\" data-module=\"govuk-details\">\n <summary class=\"govuk-details__summary\">\n <span class=\"govuk-details__summary-text govuk-font19px\">\n <a href=\"Javascript:void(0);\" (click)=\"selectContactOption('Postcode', 'true')\"> Enter address manually</a>\n </span>\n </summary>\n </details>\n </div>\n <div class=\"govuk-radios__conditional\" id=\"conditional-contact-manual\" *ngIf=\"isPostcodeClicked && isManualAddressClicked\">\n <form [formGroup]=\"manualAddressForm\" novalidate>\n\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label govuk-font19px\" for=\"address-line-1\">\n <span class=\"govuk-hint govuk-font19px\">Information about this refund will be sent to this address.</span>Building and street <span class=\"govuk-visually-hidden\">line 1 of 2</span>\n </label>\n <input class=\"govuk-input govuk-font19px\" id=\"address-line-1\" name=\"address-line-1\" [ngClass]=\"{ 'inline-error-class': isaddressLine1Empty || addressLine1HasError }\" value=\"{{addressObj?.contact_details?.address_line}}\" formControlName=\"addressl1\" type=\"text\" autocomplete=\"address-line1\">\n <p class=\"inline-error-message\" *ngIf=\"isaddressLine1Empty || addressLine1HasError\">\n <span *ngIf=\"isaddressLine1Empty\">Enter a Building and street.</span>\n <span *ngIf=\"addressLine1HasError\">Enter a valid Building and street.</span>\n </p> \n </div>\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label\" for=\"address-line-2\">\n <span class=\"govuk-visually-hidden govuk-font19px\">Building and street line 2 of 2</span>\n </label>\n <input class=\"govuk-input govuk-font19px\" id=\"address-line-2\" name=\"address-line-2\" [ngClass]=\"{ 'inline-error-class': addressLine2HasError}\" formControlName=\"addressl2\" type=\"text\" autocomplete=\"address-line2\">\n <p class=\"inline-error-message\" *ngIf=\"addressLine2HasError\">\n <span *ngIf=\"addressLine2HasError\">Enter a valid Building and street line 2 of 2.</span>\n </p> \n </div>\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label govuk-font19px\" for=\"address-town\">\n Town or city\n </label>\n <input class=\"govuk-input govuk-!-width-two-thirds govuk-font19px\" id=\"address-town\" name=\"address-town\" [ngClass]=\"{ 'inline-error-class': isTownOrCityEmpty || townOrCityHasError}\" value=\"{{addressObj?.contact_details?.city}}\" formControlName=\"townorcity\" type=\"text\" autocomplete=\"address-level2\">\n <p class=\"inline-error-message\" *ngIf=\"isTownOrCityEmpty || townOrCityHasError\">\n <span *ngIf=\"isTownOrCityEmpty\">Enter a town or city.</span>\n <span *ngIf=\"townOrCityHasError\">Enter a town or city.</span>\n </p> \n </div>\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label govuk-font19px\" for=\"address-county\">\n County\n </label>\n <input class=\"govuk-input govuk-!-width-two-thirds govuk-font19px\" id=\"address-county\" [ngClass]=\"{ 'inline-error-class': isCountyEmpty || countyHasError}\" value=\"{{addressObj?.contact_details?.county}}\" formControlName=\"county\" name=\"address-county\" type=\"text\">\n <p class=\"inline-error-message\" *ngIf=\"isCountyEmpty || countyHasError\">\n <span *ngIf=\"isCountyEmpty\">Enter a County.</span>\n <span *ngIf=\"countyHasError\">Enter a valid County.</span>\n </p> \n </div>\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label govuk-font19px\" for=\"address-postcode\">\n Postcode\n </label>\n <input class=\"govuk-input govuk-input--width-10 govuk-font19px\" id=\"address-postcode\" formControlName=\"mpostcode\" name=\"address-postcode\" [ngClass]=\"{ 'inline-error-class': isMPostcodeEmpty || mpostcodeHasError}\" value=\"{{addressObj?.contact_details?.postal_code}}\" type=\"text\" autocomplete=\"postal-code\">\n <p class=\"inline-error-message\" *ngIf=\"isMPostcodeEmpty || mpostcodeHasError\">\n <span *ngIf=\"isMPostcodeEmpty\">Enter a postcode.</span>\n <span *ngIf=\"mpostcodeHasError\">Enter a valid postcode.</span>\n </p> \n </div>\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label govuk-font19px\" for=\"country\">\n Country\n </label>\n <select class=\"govuk-select govuk-font19px\" id=\"country\" name=\"country\" [ngClass]=\"{'inline-error-class': isCountryEmpty}\" formControlName=\"country\">\n <option value=\"\" selected=\"selected\">Please select</option>\n <option value=\"United Kingdom\" selected=\"{{ addressObj?.contact_details?.country ? 'selected' : '' }}\">United Kingdom</option>\n </select>\n <p class=\"inline-error-message\" *ngIf=\"isCountryEmpty\">\n <span *ngIf=\"isCountryEmpty\">Select a Country.</span>\n </p> \n </div>\n </form>\n </div>\n </div>\n </fieldset>\n </div>\n <!---FORM--->\n </div>\n\n<hr class=\"govuk-section-break govuk-section-break--m govuk-section-break--visible\">\n</fieldset>\n<div class=\"govuk-button-group\">\n<button type=\"submit\" class=\"button govuk-button--secondary govuk-font19px\" (click)=\"redirection($event)\"> Previous </button>\n&nbsp;\n<button type=\"submit\" class=\"button govuk-button govuk-font19px\" (click)=\"finalFormSubmit()\">\n Continue\n</button>\n</div>",
2430
+ styles: [".govuk-font19px{font-size:19px}.inline-error-class{outline:3px solid #a71414;outline-offset:0}.inline-error-message{color:#a71414;font-weight:700;margin-top:10px}.contact-details--size{width:50%}.postcode-align-css{display:flex;flex-direction:row}.govuk-margin-right-10px{margin-right:10px}.govuk-margin-btm-20px{margin-bottom:20px!important}"]
2431
+ },] }
2432
+ ];
2433
+ ContactDetailsComponent.ctorParameters = function () { return [
2434
+ { type: forms.FormBuilder },
2435
+ { type: NotificationService },
2436
+ { type: PaymentLibComponent }
2437
+ ]; };
2438
+ ContactDetailsComponent.propDecorators = {
2439
+ isEditOperation: [{ type: i0.Input, args: ['isEditOperation',] }],
2440
+ isEditOperationInRefundList: [{ type: i0.Input, args: ['isEditOperationInRefundList',] }],
2441
+ addressObj: [{ type: i0.Input, args: ['addressObj',] }],
2442
+ assignContactDetails: [{ type: i0.Output }],
2443
+ assignContactDetailsInFefundsList: [{ type: i0.Output }],
2444
+ redirectToIssueRefund: [{ type: i0.Output }]
2445
+ };
2446
+
2447
+ var PbaDetailsComponent = /** @class */ (function () {
2448
+ function PbaDetailsComponent() {
2449
+ }
2450
+ PbaDetailsComponent.prototype.ngOnInit = function () {
2451
+ };
2452
+ return PbaDetailsComponent;
2453
+ }());
2454
+ PbaDetailsComponent.decorators = [
2455
+ { type: i0.Component, args: [{
2456
+ selector: 'ccpay-pba-details',
2457
+ template: "\n <h2 class=\"heading-large\">Payment method</h2>\n <table>\n <tbody>\n <tr>\n <td class=\"bold tb-col-w\">Method</td>\n <td class=\"capitalize\">{{ payment.method | lowercase}}</td>\n </tr>\n <tr>\n <td class=\"bold tb-col-w\">Type</td>\n <td>Credit</td>\n </tr>\n <tr *ngIf=\"payment.organisation_name\">\n <td class=\"bold tb-col-w\">PBA account name</td>\n <td>{{ payment.organisation_name }}</td>\n </tr>\n <tr *ngIf=\"payment.account_number\">\n <td class=\"bold tb-col-w\">PBA number</td>\n <td>{{ payment.account_number }}</td>\n </tr>\n <tr *ngIf=\"payment.customer_reference\">\n <td class=\"bold tb-col-w\">Customer internal reference</td>\n <td>{{ payment.customer_reference }}</td>\n </tr>\n </tbody>\n </table>\n",
2458
+ styles: [".capitalize:first-letter{text-transform:uppercase}.tb-col-w{width:330px}"]
2459
+ },] }
2460
+ ];
2461
+ PbaDetailsComponent.ctorParameters = function () { return []; };
2462
+ PbaDetailsComponent.propDecorators = {
2463
+ payment: [{ type: i0.Input }]
2464
+ };
2465
+
2466
+ var isDebugMode = false;
2467
+ var noop = function () { return undefined; };
2468
+ var ɵ0 = noop;
2469
+ var ConsoleLoggerService = /** @class */ (function () {
2470
+ function ConsoleLoggerService() {
2471
+ }
2472
+ Object.defineProperty(ConsoleLoggerService.prototype, "info", {
2473
+ get: function () {
2474
+ if (isDebugMode) {
2475
+ return console.info.bind(console);
2476
+ }
2477
+ else {
1922
2478
  return noop;
1923
2479
  }
1924
2480
  },
@@ -2095,6 +2651,7 @@
2095
2651
  this.viewStatus = 'main';
2096
2652
  this.isRemoveBtnDisabled = false;
2097
2653
  this.clAmountDue = 0;
2654
+ this.overPaymentAmount = 0;
2098
2655
  this.isFeeRecordsExist = false;
2099
2656
  this.isGrpOutstandingAmtPositive = false;
2100
2657
  //Order changes
@@ -2158,6 +2715,7 @@
2158
2715
  }
2159
2716
  else {
2160
2717
  this.serviceRequestValue = 'false';
2718
+ this.paymentLibComponent.isFromServiceRequestPage = false;
2161
2719
  }
2162
2720
  this.isBulkScanEnable = this.paymentLibComponent.ISBSENABLE;
2163
2721
  this.dcnNumber = this.paymentLibComponent.DCN_NUMBER;
@@ -2286,6 +2844,7 @@
2286
2844
  if (paymentGroup.fees) {
2287
2845
  paymentGroup.fees.forEach(function (fee) {
2288
2846
  _this.orderFeesTotal = _this.orderFeesTotal + fee.calculated_amount;
2847
+ _this.overPaymentAmount = _this.overPaymentAmount + fee.over_payment;
2289
2848
  });
2290
2849
  }
2291
2850
  if (paymentGroup.remissions) {
@@ -2294,7 +2853,11 @@
2294
2853
  });
2295
2854
  }
2296
2855
  if (paymentGroup.payments) {
2856
+ var isFeeOverPaymentExist_1 = _this.overPaymentAmount === 0;
2297
2857
  paymentGroup.payments.forEach(function (payment) {
2858
+ if (isFeeOverPaymentExist_1) {
2859
+ _this.overPaymentAmount = _this.overPaymentAmount + payment.over_payment;
2860
+ }
2298
2861
  if (payment.status.toUpperCase() === 'SUCCESS') {
2299
2862
  _this.orderTotalPayments = _this.orderTotalPayments + payment.amount;
2300
2863
  }
@@ -2599,14 +3162,13 @@
2599
3162
  };
2600
3163
  CaseTransactionsComponent.prototype.addRefundForRemission = function (payment, remission, fees) {
2601
3164
  var _this = this;
2602
- this.viewStatus = 'addrefundforremission';
2603
- this.payment = payment;
2604
- this.paymentViewService.getApportionPaymentDetails(this.payment.reference).subscribe(function (paymentGroup) {
3165
+ this.paymentViewService.getApportionPaymentDetails(payment.reference).subscribe(function (paymentGroup) {
2605
3166
  _this.paymentGroup = paymentGroup;
2606
- _this.paymentGroup.payments = _this.paymentGroup.payments.filter(function (paymentGroupObj) { return paymentGroupObj['reference'].includes(_this.payment.reference); });
3167
+ _this.paymentGroup.payments = paymentGroup.payments.filter(function (paymentGroupObj) { return paymentGroupObj.reference === payment.reference; });
2607
3168
  _this.payment = _this.paymentGroup.payments[0];
2608
3169
  _this.remissions = remission;
2609
3170
  _this.remissionFeeAmt = fees.filter(function (data) { return data.code === _this.remissions['fee_code']; })[0].net_amount;
3171
+ _this.viewStatus = 'addrefundforremission';
2610
3172
  // const paymentAllocation = this.paymentGroup.payments[0].payment_allocation;
2611
3173
  // this.isStatusAllocated = paymentAllocation.length > 0 && paymentAllocation[0].allocation_status === 'Allocated' || paymentAllocation.length === 0;
2612
3174
  }, function (error) { return _this.errorMessage = error; });
@@ -2745,17 +3307,21 @@
2745
3307
  }
2746
3308
  };
2747
3309
  CaseTransactionsComponent.prototype.chkIssueRefundBtnEnable = function (payment) {
2748
- if (this.check4AllowedRoles2AccessRefund() && this.allowFurtherAccessAfter4Days(payment) &&
2749
- payment.method === 'payment by account' && payment.status.toLocaleLowerCase() === 'success') {
2750
- this.isIssueRefunfBtnEnable = true;
2751
- }
2752
- if (this.isIssueRefunfBtnEnable) {
2753
- return true;
3310
+ if (payment !== null && payment !== undefined) {
3311
+ return payment.issue_refund && payment.refund_enable;
2754
3312
  }
2755
3313
  else {
2756
3314
  return false;
2757
3315
  }
2758
- ;
3316
+ // if (this.check4AllowedRoles2AccessRefund() && this.allowFurtherAccessAfter4Days(payment) &&
3317
+ // payment.method === 'payment by account' && payment.status.toLocaleLowerCase() === 'success') {
3318
+ // this.isIssueRefunfBtnEnable = true;
3319
+ // }
3320
+ // if (this.isIssueRefunfBtnEnable) {
3321
+ // return true;
3322
+ // } else {
3323
+ // return false;
3324
+ // };
2759
3325
  };
2760
3326
  CaseTransactionsComponent.prototype.chkIsRefundRemissionBtnEnable = function () {
2761
3327
  var _this = this;
@@ -2788,7 +3354,7 @@
2788
3354
  CaseTransactionsComponent.decorators = [
2789
3355
  { type: i0.Component, args: [{
2790
3356
  selector: 'ccpay-case-transactions',
2791
- template: "<div class=\"govuk-width-container\">\n\n <main class=\"govuk-main-wrapper\">\n <ng-container *ngIf=\"viewStatus === 'main1'\">\n <div *ngIf=\"viewStatus === 'main1'&& !isTurnOff && takePayment\">\n <div *ngIf=\"takePayment\" class=\"govuk-grid-row\">\n\n <div class=\"govuk-grid-column-two-thirds\">\n <h1 class=\"govuk-heading-xl\">Case transactions</h1>\n </div>\n </div>\n\n <div *ngIf=\"takePayment\" class=\"govuk-grid-row\">\n <div *ngIf='!isExceptionRecord' class=\"govuk-grid-column-two-thirds govuk-!-padding-bottom-6 govuk-!-padding-top-6\">\n <h3 class=\"heading-medium\">CCD reference:</h3>\n <span> {{ ccdCaseNumber | ccdHyphens }}</span>\n </div>\n\n <div *ngIf='isExceptionRecord' class=\"govuk-grid-column-two-thirds govuk-!-padding-bottom-6 govuk-!-padding-top-6\">\n <h3 class=\"heading-medium\">Exception reference:</h3>\n <span> {{ ccdCaseNumber | ccdHyphens }}</span>\n </div>\n <div class=\"govuk-grid-column-full govuk-!-padding-bottom-3\">\n <hr class=\"govuk-section-break govuk-section-break--visible\">\n <table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header\" scope=\"col\">Total payments</td>\n <td class=\"govuk-table__header\" scope=\"col\">Total remissions</td>\n <td class=\"govuk-table__header\" scope=\"col\">Amount due</td>\n <td class=\"govuk-table__header govuk-table__header--custom\" scope=\"col\" *ngIf=\"isBulkScanEnable\">Unallocated payments</td>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\">\n <tr class=\"totalpayments govuk-table__row\">\n <td class=\"govuk-table__cell summary-table-font\">{{ totalPayments | currency :'GBP':'symbol':'1.2-2' }}</td>\n <td class=\"govuk-table__cell summary-table-font\">{{ totalRemissions | currency :'GBP':'symbol':'1.2-2' }}</td>\n <td class=\"govuk-table__cell summary-table-font\">{{ clAmountDue | currency :'GBP':'symbol':'1.2-2'}}</td>\n <td class=\"govuk-table__cell case-transaction__color summary-table-font\" *ngIf=\"isBulkScanEnable\">{{unprocessedRecordCount}}</td>\n </tr>\n </tbody>\n </table>\n </div>\n\n <div class=\"govuk-grid-column-two-thirds\" *ngIf=\"takePayment\">\n <button type=\"submit\" (click)=\"redirectToFeeSearchPage($event)\"\n [disabled]=\"!isAddFeeBtnEnabled\"\n [ngClass]='!isAddFeeBtnEnabled ? \"govuk-button govuk-button--secondary govuk-button--disabled govuk-!-margin-right-1\" : \"govuk-button govuk-button--secondary govuk-!-margin-right-1\"'>\n Take telephony payment\n </button>\n </div>\n\n </div>\n <div class=\"govuk-grid-row\">\n\n </div>\n <div *ngIf=\"takePayment\" class=\" govuk-!-margin-top-9\">\n\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-full\">\n <h3 class=\"heading-medium\">Fees</h3>\n </div>\n <div class=\"govuk-grid-column-full\">\n <table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header\" scope=\"col\">Code</td>\n <td class=\"govuk-table__header\" scope=\"col\">Description</td>\n <td class=\"govuk-table__header\" scope=\"col\">Volume</td>\n <td class=\"govuk-table__header\" scope=\"col\">Fee amount</td>\n <td class=\"govuk-table__header\" scope=\"col\">Calculated amount</td>\n <td class=\"govuk-table__header\" scope=\"col\">Amount due</td>\n <td class=\"govuk-table__header\" scope=\"col\">Action</td>\n\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\" *ngFor=\"let paymentGroup of paymentGroups;\">\n <tr class=\"govuk-table__row\" *ngFor=\"let fee of paymentGroup.fees; let i = index;\">\n <td class=\"govuk-table__cell\">\t{{fee.code}} </td>\n <td class=\"govuk-table__cell\">{{fee.description}}</td>\n <td class=\"govuk-table__cell\">{{fee.volume? fee.volume : '-'}}</td>\n <td class=\"govuk-table__cell\">{{ fee.net_amount | currency:'GBP':'symbol-narrow':'1.2-2' }}</td>\n <td class=\"govuk-table__cell\">{{fee.calculated_amount | currency:'GBP':'symbol-narrow':'1.2-2' }}</td>\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\" [attr.rowspan]=\"paymentGroup.fees.length\" *ngIf=\"paymentGroup.old && i==0\"> {{getGroupOutstandingAmount(paymentGroup)| currency:'GBP':'symbol-narrow':'1.2-2'}}* </td>\n <td class=\"govuk-table__cell\" *ngIf=\"!paymentGroup.old\"> {{calculateAmountDue(fee) | currency:'GBP':'symbol-narrow':'1.2-2'}} </td>\n <td class=\"govuk-table__cell\" *ngIf=\"!paymentGroup.old\">\n <a (click)=\"confirmRemoveFee(fee.id)\" [ngClass]='!isCheckAmountdueExist(fee.amount_due) || fee.remissions ? \"disable-link\" : \"\"'>Remove</a>\n </td>\n <td class=\"govuk-table__cell\" *ngIf=\"paymentGroup.old\">\n <a (click)=\"confirmRemoveFee(fee.id)\" [ngClass]='paymentGroup.payments?.length > 0 || paymentGroup.remissions?.length > 0 ? \"disable-link\" : \"\"'>Remove</a>\n </td>\n </tr>\n </tbody>\n <tbody class=\"govuk-table__body\" *ngIf=\"paymentGroups?.length === 0\">\n <tr class=\"govuk-table__row\" >\n <td class=\"govuk-table__cell\" colspan=\"7\">No fees recorded</td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n <div class=\"hmcts-banner\" *ngIf=\"isHistoricGroupAvailable\">\n <svg class=\"hmcts-banner__icon\" fill=\"currentColor\" role=\"presentation\" focusable=\"false\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 25 25\" height=\"25\" width=\"25\">\n <path d=\"M13.7,18.5h-2.4v-2.4h2.4V18.5z M12.5,13.7c-0.7,0-1.2-0.5-1.2-1.2V7.7c0-0.7,0.5-1.2,1.2-1.2s1.2,0.5,1.2,1.2v4.8\n C13.7,13.2,13.2,13.7,12.5,13.7z M12.5,0.5c-6.6,0-12,5.4-12,12s5.4,12,12,12s12-5.4,12-12S19.1,0.5,12.5,0.5z\"></path>\n </svg>\n <div class=\"hmcts-banner__message\">\n <span class=\"hmcts-banner__assistive\">information</span>\n * These fees have already been processed offline. Check the notes in CCD for more information.\n </div>\n </div>\n <div class=\"panel panel-no--style\" *ngIf=\"allPayments?.length > 0 || remissions?.length > 0\">\n <!-- payments -->\n <h3 class=\"heading-medium\">Payments</h3>\n <table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header col-28\" scope=\"col\">Payment reference</td>\n <td class=\"govuk-table__header\" scope=\"col\">Date created</td>\n <td class=\"govuk-table__header\" scope=\"col\">Channel</td>\n <td class=\"govuk-table__header\" scope=\"col\">Method</td>\n <td class=\"govuk-table__header col-15\" scope=\"col\">Amount</td>\n <td class=\"govuk-table__header\" scope=\"col\">Allocation status</td>\n <td class=\"govuk-table__header\" scope=\"col\">Payment status</td>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\" *ngIf=\"allPayments?.length > 0\">\n <tr class=\"govuk-table__row\" *ngFor=\"let payment of allPayments\">\n <td class=\"govuk-table__cell whitespace-inherit\">\n <a href=\"javascript:void(0)\" (click)=\"goToPayementView(payment.paymentGroupReference, payment.reference, payment.method)\">{{ payment.reference }}</a>\n </td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{ payment.date_created | date:'dd MMM yyyy' }}</td>\n <td class=\"channel govuk-table__cell whitespace-inherit\">{{ payment.channel | lowercase }}</td>\n <td class=\"govuk-table__cell capitalize whitespace-inherit\">{{ payment.method | lowercase}}</td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{ payment.amount | currency:'GBP':'symbol-narrow':'1.2-2' }}</td>\n <td class=\"govuk-table__cell whitespace-inherit\"> {{getAllocationStatus(payment)}}</td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{ payment.status }}</td>\n </tr>\n </tbody>\n <tbody class=\"govuk-table__body\" *ngIf=\"allPayments?.length === 0\">\n <td class=\"govuk-table__cell\" colspan=\"7\">No payments recorded</td>\n </tbody>\n </table>\n\n <!-- remissions -->\n <h3 class=\"heading-medium\">Remissions</h3>\n <table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header\" scope=\"col\">Remission reference</td>\n <td class=\"govuk-table__header\" scope=\"col\">Date created</td>\n <td class=\"govuk-table__header\" scope=\"col\">Remission code</td>\n <td class=\"govuk-table__header\" scope=\"col\">Fee code</td>\n <td class=\"govuk-table__header\" scope=\"col\">Remission amount</td>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\" *ngIf=\"remissions?.length > 0\">\n <tr class=\"govuk-table__row\" *ngFor=\"let remission of remissions\">\n <td class=\"govuk-table__cell whitespace-inherit\">{{ remission.remission_reference }}</td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{ remission.date_created | date:'dd MMM yyyy' }}</td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{ remission.hwf_reference }}</td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{ remission.fee_code }}</td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{ remission.hwf_amount | currency:'GBP':'symbol-narrow':'1.2-2'}}</td>\n </tr>\n </tbody>\n <tbody class=\"govuk-table__body\" *ngIf=\"remissions?.length === 0\">\n <td class=\"govuk-table__cell\" colspan=\"5\">No remissions recorded</td>\n </tbody>\n </table>\n </div>\n </div>\n </div>\n\n <div *ngIf=\"takePayment && isTurnOff\">\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-two-thirds\">\n <h1 class=\"govuk-heading-xl\">Case transactions</h1>\n </div>\n\n <div class=\"govuk-grid-column-one-third\" align=\"right\" >\n <a [ngClass]=\"{ 'disable': !isAddFeeBtnEnabled} \" (click)=\"redirectToFeeSearchPage($event)\" class=\"button\">Add a new fee</a>\n </div>\n </div>\n\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-two-thirds govuk-!-padding-bottom-6\">\n <h3 class=\"heading-medium\">CCD reference:</h3>\n <span> {{ ccdCaseNumber | ccdHyphens }}</span>\n </div>\n\n <div class=\"govuk-grid-column-full govuk-!-padding-bottom-3\">\n <hr class=\"govuk-section-break govuk-section-break--visible\">\n <table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header\" scope=\"col\">Total payments</td>\n <td class=\"govuk-table__header\" scope=\"col\">Total remissions</td>\n <td class=\"govuk-table__header\" scope=\"col\">Amount due</td>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\">\n <tr class=\"totalpayments govuk-table__row\">\n <td class=\"govuk-table__cell\">{{ totalPayments | currency :'GBP':'symbol':'1.2-2' }}</td>\n <td class=\"govuk-table__cell\">{{ totalRemissions | currency :'GBP':'symbol':'1.2-2' }}</td>\n <td class=\"govuk-table__cell\">{{ (totalFees - totalRemissions) - totalPayments | currency :'GBP':'symbol':'1.2-2'}}</td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n\n\n <!-- No fees start -->\n <div *ngIf=\"paymentGroups?.length === 0\">\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-full\">\n <span class=\"heading-small\">Existing fees</span>\n </div>\n\n <div class=\"govuk-grid-column-full\">\n <table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header\" scope=\"col\">Code</td>\n <td class=\"govuk-table__header\" scope=\"col\">Description</td>\n <td class=\"govuk-table__header\" scope=\"col\">Volume</td>\n <td class=\"govuk-table__header\" scope=\"col\">Fee amount</td>\n <td class=\"govuk-table__header\" scope=\"col\">Calculated amount</td>\n <td class=\"govuk-table__header\" scope=\"col\">Group amount outstanding</td>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell\" colspan=\"6\">No fees recorded</td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n </div>\n\n <!-- No fees end -->\n\n <div *ngFor=\"let paymentGroup of paymentGroups\">\n\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-full govuk-grid-column-full--gr\">\n <span class=\"heading-medium\">Group reference: {{paymentGroup.payment_group_reference}}</span>\n </div>\n </div>\n <div class=\"govuk-grid-row\">\n\n <!--New Code start-->\n\n <div class=\"govuk-grid-column-full\">\n <span class=\"heading-small\">Exisiting fees</span>\n </div>\n <div class=feeclass>\n <table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header\" scope=\"col\">Code</td>\n <td class=\"govuk-table__header\" scope=\"col\">Description</td>\n <td class=\"govuk-table__header\" scope=\"col\">Volume</td>\n <td class=\"govuk-table__header\" scope=\"col\">Fee amount</td>\n <td class=\"govuk-table__header\" scope=\"col\">Calculated amount</td>\n <td class=\"groupamount govuk-table__header\" scope=\"col\">Group amount outstanding</td>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\" >\n <tr class=\"govuk-table__row\" *ngFor=\"let fee of paymentGroup.fees; let i = index;\">\n <td class=\"govuk-table__cell govuk-table__cell--col1\">{{fee.code}}</td>\n <td class=\"govuk-table__cell govuk-table__cell--col2\"> {{fee.description}} </td>\n <td class=\"govuk-table__cell govuk-table__cell--col3 align-center\"> {{fee.volume? fee.volume : '-'}} </td>\n <td class=\"govuk-table__cell govuk-table__cell--col4\"> {{ fee.net_amount | currency:'GBP':'symbol-narrow':'1.2-2' }} </td>\n <td class=\"govuk-table__cell govuk-table__cell--col5\"> {{fee.calculated_amount | currency:'GBP':'symbol-narrow':'1.2-2' }} </td>\n <td class=\"govuk-table__cell govuk-table__cell--col6 govuk-table__custom--col6\" [attr.rowspan]=\"paymentGroup.fees.length\" *ngIf=\"i==0\">\n {{getGroupOutstandingAmount(paymentGroup) | currency:'GBP':'symbol-narrow':'1.2-2' }} </td>\n </tr>\n </tbody>\n <tbody class=\"govuk-table__body\" *ngIf=\"paymentGroup.fees.length==0\">\n <td class=\"govuk-table__cell\" colspan=\"6\">No payments recorded</td>\n </tbody>\n </table>\n </div>\n </div>\n <div class=\"govuk-inset-text govuk-inset-text__no-border\" *ngIf=\"paymentGroup.payments || paymentGroup.remissions\">\n <details>\n <summary class=\"govuk-hidetext\">\n <span class=\"summary\">Allocated payments and remissions</span>\n </summary>\n\n <div class=\"panel panel-border-narrow\">\n <!-- payments -->\n <span class=\"heading-medium\">Payments</span>\n <table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header\" scope=\"col\">Payment reference</td>\n <td class=\"govuk-table__header\" scope=\"col\">Date created</td>\n <td class=\"govuk-table__header\" scope=\"col\">Channel</td>\n <td class=\"govuk-table__header\" scope=\"col\">Method</td>\n <td class=\"govuk-table__header\" scope=\"col\">Amount</td>\n <td class=\"govuk-table__header\" scope=\"col\">Allocation status</td>\n <td class=\"govuk-table__header\" scope=\"col\">Status</td>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\" *ngIf=\"paymentGroup.payments?.length > 0\">\n <tr class=\"govuk-table__row\" *ngFor=\"let payment of paymentGroup.payments\">\n <td class=\"govuk-table__cell whitespace-inherit\">\n <a href=\"javascript:void(0)\" (click)=\"goToPayementView(paymentGroup.payment_group_reference, payment.reference, payment.method)\">{{ payment.reference }}</a>\n </td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{ payment.date_created | date:'dd MMM yyyy' }}</td>\n <td class=\"channel govuk-table__cell whitespace-inherit\">{{ payment.channel | lowercase }}</td>\n <td class=\"govuk-table__cell capitalize whitespace-inherit\">{{ payment.method | lowercase}}</td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{ payment.amount }}</td>\n <td class=\"govuk-table__cell whitespace-inherit\"> {{getAllocationStatus(payment)}}</td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{ payment.status }}</td>\n </tr>\n </tbody>\n <tbody class=\"govuk-table__body\" *ngIf=\"paymentGroup.payments?.length === 0\">\n <td class=\"govuk-table__cell\" colspan=\"6\">No payments recorded</td>\n </tbody>\n </table>\n\n <!-- remissions -->\n <span class=\"heading-medium\">Remissions</span>\n <table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header\" scope=\"col\">Remission reference</td>\n <td class=\"govuk-table__header\" scope=\"col\">Date created</td>\n <td class=\"govuk-table__header\" scope=\"col\">Remission code</td>\n <td class=\"govuk-table__header\" scope=\"col\">Fee applied against</td>\n <td class=\"govuk-table__header\" scope=\"col\">Remission amount</td>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\" *ngIf=\"paymentGroup.remissions?.length > 0\">\n <tr class=\"govuk-table__row\" *ngFor=\"let remission of paymentGroup.remissions\">\n <td class=\"govuk-table__cell whitespace-inherit\">{{ remission.remission_reference }}</td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{ remission.date_created | date:'dd MMM' }}</td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{ remission.hwf_reference }}</td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{ remission.fee_code }}</td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{ remission.hwf_amount }}</td>\n </tr>\n </tbody>\n <tbody class=\"govuk-table__body\" *ngIf=\"paymentGroup.remissions?.length === 0\">\n <td class=\"govuk-table__cell\" colspan=\"5\">No remissions recorded</td>\n </tbody>\n </table>\n </div>\n </details>\n\n\n <div *ngIf=\"takePayment\">\n <button type=\"submit\" (click)=\"loadFeeSummaryPage(paymentGroup)\"\n [disabled]=\"(getGroupOutstandingAmount(paymentGroup) <= 0 || isUnprocessedRecordSelected)\"\n [ngClass]='(getGroupOutstandingAmount(paymentGroup) <= 0 || isUnprocessedRecordSelected) ? \"govuk-button govuk-button--secondary govuk-button--disabled govuk-!-margin-right-1\" : \"govuk-button govuk-button--secondary govuk-!-margin-right-1\"'>\n Add telephone payment\n </button>\n </div>\n </div>\n </div>\n <ccpay-app-unprocessed-payments\n *ngIf=\"isBulkScanEnable\"\n [IS_BUTTON_ENABLE]=\"takePayment\"\n [LEVEL]=\"5\"\n [PAYMENTSLENGTH]=\"allPayments?.length\"\n [PAYMENTREF]=\"paymentRef\"\n [ISTURNOFF]=\"isTurnOff\"\n [ISSFENABLE]=\"isStrategicFixEnable\"\n [FEE_RECORDS_EXISTS]=\"isFeeRecordsExist\"\n (getUnprocessedFeeCount) = \"getUnprocessedFeeCount($event)\"\n [IS_OS_AMT_AVAILABLE]=\"isGrpOutstandingAmtPositive\"\n (selectedUnprocessedFeeEvent) = \"selectedUnprocessedFeeEvent($event)\">\n </ccpay-app-unprocessed-payments>\n <div class=\"govuk-grid-row govuk-grid__surplus-payments\" *ngIf=\"totalRefundAmount > 0 && takePayment\">\n <div class=\"govuk-grid-column-full govuk-grid__surplus-payments-col1\">\n <h3 class=\"heading-medium\">Surplus payments</h3>\n </div>\n <div class=\"govuk-grid-column-full\">\n Total surplus payments received: {{totalRefundAmount | currency :'GBP':'symbol':'1.2-2'}}\n </div>\n </div>\n </div>\n\n <div *ngIf=\"takePayment\">\n <ccpay-app-unprocessed-payments\n *ngIf=\"isBulkScanEnable && !takePayment\"\n [IS_BUTTON_ENABLE]=\"takePayment\"\n [LEVEL]=\"1\"\n [ISTURNOFF]=\"isTurnOff\"\n [ISSFENABLE]=\"isStrategicFixEnable\"\n [FEE_RECORDS_EXISTS]=\"isFeeRecordsExist\"\n [IS_OS_AMT_AVAILABLE]=\"isGrpOutstandingAmtPositive\"\n (getUnprocessedFeeCount) = \"getUnprocessedFeeCount($event)\"\n [PAYMENTSLENGTH]=\"allPayments?.length\"\n [PAYMENTREF]=\"paymentRef\"\n (selectedUnprocessedFeeEvent) = \"selectedUnprocessedFeeEvent($event)\">\n </ccpay-app-unprocessed-payments>\n </div>\n\n <div *ngIf=\"!takePayment\" class=\"govuk-grid-row govuk-grid__surplus-payments\">\n\n <div class=\"govuk-grid-column-full\">\n\n <span class=\"heading-medium\">Payments</span>\n <table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header col-13\" scope=\"col\">Status</td>\n <td class=\"govuk-table__header col-10\" scope=\"col\">Amount</td>\n <td class=\"govuk-table__header col-14\" scope=\"col\">Date allocated</td>\n <td class=\"govuk-table__header col-20\" scope=\"col\">Request reference</td>\n <td class=\"govuk-table__header col-9\" scope=\"col\"></td>\n <td class=\"govuk-table__header\" scope=\"col\"></td>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\" *ngIf=\"allPayments?.length > 0\">\n <tr class=\"govuk-table__row\" *ngFor=\"let payment of allPayments\">\n <td class=\"govuk-table__cell col-13 whitespace-inherit\">{{ payment.status }}</td>\n <td class=\"govuk-table__cell col-10 whitespace-inherit\">{{ payment.amount | currency :'GBP':'symbol':'1.2-2' }}</td>\n <td class=\"govuk-table__cell col-17 whitespace-inherit\">{{ payment.date_created | date:'dd MMM yyyy HH:mm:ss' }}</td>\n <td class=\"govuk-table__cell col-24 whitespace-inherit\">{{ payment.paymentGroupReference }}</td>\n <td class=\"govuk-table__cell col-13 whitespace-inherit\"></td>\n <td class=\"govuk-table__cell whitespace-inherit\">\n <a href=\"javascript:void(0)\" (click)=\"goToPayementView(payment.paymentGroupReference, payment.reference, payment.method)\">Review</a>\n </td>\n </tr>\n </tbody>\n\n </table>\n <ccpay-app-unprocessed-payments class=\"govuk-table\"\n *ngIf=\"isBulkScanEnable && !takePayment\"\n [IS_BUTTON_ENABLE]=\"takePayment\"\n [LEVEL]=\"2\"\n [ISTURNOFF]=\"isTurnOff\"\n [ISSFENABLE]=\"isStrategicFixEnable\"\n [FEE_RECORDS_EXISTS]=\"isFeeRecordsExist\"\n [IS_OS_AMT_AVAILABLE]=\"isGrpOutstandingAmtPositive\"\n [PAYMENTSLENGTH]=\"allPayments?.length\"\n [PAYMENTREF]=\"paymentRef\"\n (getUnprocessedFeeCount) = \"getUnprocessedFeeCount($event)\"\n (selectedUnprocessedFeeEvent) = \"selectedUnprocessedFeeEvent($event)\">\n </ccpay-app-unprocessed-payments>\n </div>\n </div>\n </ng-container>\n\n<!--Order Case Transactions Page-->\n <ng-container *ngIf=\"viewStatus === 'main' && !isTurnOff && takePayment\">\n <div>\n\n <div>\n <h1 class=\"govuk-grid-column-two-thirds govuk-heading-l govuk-!-margin-top-0\">Case transactions</h1>\n <ng-container *ngIf='!isExceptionRecord' class=\" govuk-!-margin-bottom-6 alignself\">\n <b> Case reference: </b>{{ ccdCaseNumber | ccdHyphens }}\n </ng-container>\n <ng-container *ngIf='isExceptionRecord' class=\"govuk-!-margin-bottom-3 col-55 alignself\" >\n <b> Exception reference:</b>{{ ccdCaseNumber | ccdHyphens }}\n </ng-container>\n <div>\n <table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header col-25\" scope=\"col\">Total payments</td>\n <td class=\"govuk-table__header govuk-table__header--custom col-25\" scope=\"col\" *ngIf=\"isBulkScanEnable\">Unallocated payments</td>\n <td class=\"govuk-table__header col-25\" scope=\"col\">Total remissions</td>\n <td class=\"govuk-table__header col-25\" scope=\"col\">Amount due</td>\n\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\">\n <tr class=\"totalpayments govuk-table__row\">\n <td class=\"govuk-table__cell summary-table-font\">{{ totalPayments | currency :'GBP':'symbol':'1.2-2' }}</td>\n <td class=\"govuk-table__cell case-transaction__color summary-table-font\" *ngIf=\"isBulkScanEnable\">{{unprocessedRecordCount}}</td>\n\n <td class=\"govuk-table__cell summary-table-font\">{{ totalRemissions | currency :'GBP':'symbol':'1.2-2' }}</td>\n <td class=\"govuk-table__cell summary-table-font\">{{ clAmountDue | currency :'GBP':'symbol':'1.2-2'}}</td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n <input #myInput type='hidden' class='iFrameDrivenImageValue' value='ORDERIDDETAILS'>\n\n <!--Payment Request-->\n <div class=\"paymentrequest\">\n <span class=\"heading-medium\">Service requests</span>\n <ng-container>\n <table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header col-14\" scope=\"col\">Status</td>\n <td class=\"govuk-table__header col-10\" scope=\"col\">Amount</td>\n <td class=\"govuk-table__header col-18\" scope=\"col\">Party</td>\n <td class=\"govuk-table__header col-21\" scope=\"col\">Request reference</td>\n <td class=\"govuk-table__header col-9\" scope=\"col\"></td>\n <td class=\"govuk-table__header col\" scope=\"col\"></td>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\" *ngIf=\"orderLevelFees?.length > 0\">\n <tr *ngFor=\"let orderRef of orderLevelFees;let i = index;\">\n <td class=\"govuk-table__cell whitespace-inherit\">{{orderRef.orderStatus}}</td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{ orderRef.orderTotalFees | currency :'GBP':'symbol':'1.2-2' }}</td>\n <td *ngIf=\"cpoDetails !== null\" class=\"govuk-table__cell whitespace-inherit\">{{cpoDetails['responsibleParty']}}</td>\n <td *ngIf=\"cpoDetails === null\" class=\"govuk-table__cell whitespace-inherit\"></td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{orderRef.orderRefId}}</td>\n <td class=\"govuk-table__cell\">\n <a href=\"javascript:void(0)\" (click)=\"goToOrderViewDetailSection(orderRef)\">Review</a>\n </td>\n <td class=\"alignright\">\n\n <button type=\"submit\" (click)=\"redirectToOrderFeeSearchPage($event,orderRef)\"\n [disabled]=\"!orderRef.orderAddBtnEnable\"\n [ngClass]='!orderRef.orderAddBtnEnable ? \"govuk-button govuk-button--secondary govuk-button--disabled govuk-!-margin-right-1\" : \"govuk-button govuk-button--secondary govuk-!-margin-right-1\"'>\n Take telephony payment\n </button></td>\n </tr>\n </tbody>\n <tbody class=\"govuk-table__body alignleft\" *ngIf=\"orderLevelFees?.length === 0\">\n <td colspan=\"6\">No service requests on this case.</td>\n </tbody>\n </table>\n </ng-container>\n <!-- <ng-container *ngIf=\"orderLevelFees?.length === 0\">\n <br/>No service requests on this case.<br/>\n </ng-container> -->\n <span>\n <br/>\n <a (click)=\"redirectToFeeSearchPage($event)\"\n [class.disable-link]=\"!isAddFeeBtnEnabled\">Create service request and pay</a><br/>\n </span>\n </div>\n <div>\n <span class=\"heading-medium\"><br/>Payments</span>\n <ccpay-app-unprocessed-payments\n *ngIf=\"isBulkScanEnable\"\n [IS_BUTTON_ENABLE]=\"takePayment\"\n [LEVEL]=\"3\"\n [PAYMENTSLENGTH]=\"allPayments?.length\"\n [ISTURNOFF]=\"isTurnOff\"\n [ISSFENABLE]=\"isStrategicFixEnable\"\n [PAYMENTREF]=\"paymentRef\"\n [FEE_RECORDS_EXISTS]=\"isFeeRecordsExist\"\n (getUnprocessedFeeCount) = \"getUnprocessedFeeCount($event)\"\n [IS_OS_AMT_AVAILABLE]=\"isGrpOutstandingAmtPositive\"\n (selectedUnprocessedFeeEvent) = \"selectedUnprocessedFeeEvent($event)\">\n </ccpay-app-unprocessed-payments>\n\n <ng-container>\n <table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n </thead>\n <tbody class=\"govuk-table__body\" *ngIf=\"allPayments?.length > 0\">\n <tr class=\"govuk-table__row\" *ngFor=\"let payment of allPayments\">\n <td class=\"govuk-table__cell col-14 whitespace-inherit\">{{ payment.status }}</td>\n <td class=\"govuk-table__cell col-10 whitespace-inherit\">{{ payment.amount | currency :'GBP':'symbol':'1.2-2' }}</td>\n <td class=\"govuk-table__cell col-17 whitespace-inherit\">{{ payment.date_created | date:'dd MMM yyyy' }}</td>\n <td class=\"govuk-table__cell col-24 whitespace-inherit\">{{ payment.paymentGroupReference }}</td>\n <td class=\"govuk-table__cell col-13 whitespace-inherit\"></td>\n <td class=\"govuk-table__cell whitespace-inherit\">\n <a href=\"javascript:void(0)\" (click)=\"goToPayementView(payment.paymentGroupReference, payment.reference, payment.method)\">Review</a>\n </td>\n </tr>\n </tbody>\n\n <tbody class=\"govuk-table__body\" *ngIf=\"allPayments?.length === 0 && unprocessedRecordCount <= 0\">\n <td colspan=\"6\">No payments recorded</td>\n </tbody>\n </table>\n\n </ng-container>\n\n </div>\n <div *ngIf=\"!check4AllowedRoles2AccessPBApayment()\">\n <span class=\"heading-medium\"><br/>Refunds</span>\n <ccpay-refund-status\n [ccdCaseNumber]=\"ccdCaseNumber\"\n [isTurnOff]=\"isTurnOff\"\n [LOGGEDINUSERROLES]=\"LOGGEDINUSERROLES\" \n [isEliginbleToAccess] = check4AllowedRoles2AccessRefund()\n ></ccpay-refund-status>\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"!takePayment && viewStatus === 'main'\">\n <div class=\"govuk-grid-column-full\" [ngClass]='serviceRequestValue!== \"false\" ? \"govuk-margin-btm-20px\" : \"\"'>\n <!-- <span *ngIf=\"serviceRequestValue === 'false'\" class=\"heading-medium\">Service requests</span> -->\n <ng-container *ngIf=\"!(orderLevelFees?.length === 0 && !isAnyFeeGroupAvilable) && serviceRequestValue !== 'false' \">\n <table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header col-14\" scope=\"col\">Status</td>\n <td class=\"govuk-table__header col-18\" scope=\"col\">Amount</td>\n <td class=\"govuk-table__header col-18\" scope=\"col\">Party</td>\n <td class=\"govuk-table__header col-24\" scope=\"col\">Request reference\t</td>\n <td class=\"govuk-table__header col-9\" scope=\"col\"></td>\n <td class=\"govuk-table__header\" scope=\"col\"></td>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\" *ngIf=\"orderLevelFees?.length > 0\">\n <tr class=\"govuk-table__row\" *ngFor=\"let orderRef of orderLevelFees;let i = index;\">\n <td class=\"govuk-table__cell whitespace-inherit\">{{orderRef.orderStatus}}</td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{orderRef.orderTotalFees | currency :'GBP':'symbol':'1.2-2'}}</td>\n <td *ngIf=\"cpoDetails !== null\" class=\"govuk-table__cell whitespace-inherit\">{{cpoDetails['responsibleParty']}}</td>\n <td *ngIf=\"cpoDetails === null\" class=\"govuk-table__cell whitespace-inherit\"></td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{orderRef.orderRefId}}</td>\n <td class=\"govuk-table__cell of-visible\"> <a href=\"javascript:void(0)\" (click)=\"loadPBAAccountPage(orderRef)\" *ngIf=\"serviceRequestValue !== 'false' && check4AllowedRoles2AccessPBApayment() && orderRef.orderStatus === 'Not paid'\"> Pay now</a></td>\n <td class=\"govuk-table__cell\">\n <a href=\"javascript:void(0)\" (click)=\"goToOrderViewDetailSection(orderRef)\">Review</a>\n </td>\n </tr>\n </tbody>\n <tbody class=\"govuk-table__body\" *ngIf=\"orderLevelFees?.length === 0 && serviceRequestValue === 'false'\">\n <tr class=\"govuk-table__row\" >\n <td class=\"alignleft\" colspan=\"7\">No service requests on this case.</td>\n </tr>\n </tbody>\n </table>\n </ng-container>\n <ng-container *ngIf=\"orderLevelFees?.length === 0 && serviceRequestValue !== 'false' && !isAnyFeeGroupAvilable\">\n <h1 class=\"govuk-heading-l govuk-heading-lw\">If you are expecting to pay and are not able to see a service request,</h1>\n <p>please refresh and try in some time.</p>\n </ng-container>\n\n <!-- </div> -->\n\n </div>\n\n <div class=\"govuk-grid-column-full\">\n <div *ngIf=\"serviceRequestValue === 'false'\">\n <span class=\"heading-medium\"><br/>Payments</span>\n <ng-container >\n <table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header col-14\" scope=\"col\">Status</td>\n <td class=\"govuk-table__header col-10\" scope=\"col\">Amount</td>\n <td class=\"govuk-table__header col-17\" scope=\"col\">Date</td>\n <td class=\"govuk-table__header col-24\" scope=\"col\">Payment reference</td>\n <td class=\"govuk-table__header col-13\" scope=\"col\"></td>\n <td class=\"govuk-table__header\" scope=\"col\"></td>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\" *ngIf=\"allPayments?.length > 0\">\n <tr class=\"govuk-table__row\" *ngFor=\"let payment of allPayments\">\n <td class=\"govuk-table__cell whitespace-inherit\">{{ payment.status }}</td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{ payment.amount | currency :'GBP':'symbol':'1.2-2' }}</td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{ payment.date_created | date:'dd MMM yyyy' }}</td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{ payment?.reference }}</td>\n <td class=\"govuk-table__cell whitespace-inherit\"></td>\n <td class=\"govuk-table__cell whitespace-inherit\">\n <a href=\"javascript:void(0)\" (click)=\"goToPayementView(payment.paymentGroupReference, payment.reference, payment.method)\">Review</a>\n </td>\n </tr>\n </tbody>\n\n <tbody class=\"govuk-table__body\" *ngIf=\"allPayments?.length === 0\">\n <td colspan=\"6\">No payments recorded</td>\n </tbody>\n </table>\n <ccpay-app-unprocessed-payments class=\"govuk-table\"\n *ngIf=\"isBulkScanEnable && !takePayment\"\n [IS_BUTTON_ENABLE]=\"takePayment\"\n [LEVEL]=\"4\"\n [ISTURNOFF]=\"isTurnOff\"\n [ISSFENABLE]=\"isStrategicFixEnable\"\n [PAYMENTSLENGTH]=\"allPayments?.length\"\n [PAYMENTREF]=\"paymentRef\"\n (getUnprocessedFeeCount) = \"getUnprocessedFeeCount($event)\"\n [FEE_RECORDS_EXISTS]=\"isAnyFeeGroupAvilable\"\n [IS_OS_AMT_AVAILABLE]=\"isGrpOutstandingAmtPositive\"\n (selectedUnprocessedFeeEvent) = \"selectedUnprocessedFeeEvent($event)\">\n </ccpay-app-unprocessed-payments>\n </ng-container>\n\n </div>\n </div>\n <div class=\"govuk-grid-column-full\" *ngIf=\"!check4AllowedRoles2AccessPBApayment()\">\n <span class=\"heading-medium\"><br/>Refunds</span>\n <ccpay-refund-status \n [ccdCaseNumber]=\"ccdCaseNumber\"\n [isEliginbleToAccess] = check4AllowedRoles2AccessRefund()\n ></ccpay-refund-status>\n </div>\n\n </ng-container>\n\n\n<input #myInput type='hidden' class='iFrameDrivenImageValue' value='FEEREMOVALCONFIRMATION_2'>\n\n<!-- Order Full View Details-->\n<ng-container *ngIf=\"viewStatus === 'order-full-view'\">\n <ccpay-service-request\n [viewStatus] = \"viewStatus\"\n [orderRef] = \"orderRef\"\n [orderStatus] = \"orderStatus\"\n [orderCreated] = \"orderCreated\"\n [orderParty] = \"orderParty\"\n [orderCCDEvent] = \"orderCCDEvent\"\n [orderDetail] = \"orderDetail\"\n [LOGGEDINUSERROLES] = \"LOGGEDINUSERROLES\"\n [ccdCaseNumber] = \"ccdCaseNumber\"\n [orderFeesTotal] = \"orderFeesTotal\"\n [orderTotalPayments] = \"orderTotalPayments\"\n [orderRemissionTotal] = \"orderRemissionTotal\"\n [isServiceRequest] = \"serviceRequestValue\"\n (goToServiceRquestComponent) = \"goToServiceRequestPage()\"\n ></ccpay-service-request>\n\n</ng-container>\n<ccpay-add-remission *ngIf=\"viewStatus === 'addremission' && feeId\"\n[isTurnOff]=\"isTurnOff\"\n[isStrategicFixEnable]=\"isStrategicFixEnable\"\n[viewCompStatus]= \"viewStatus\"\n[fee]=\"feeId\"\n[orderStatus] =\"orderStatus\"\n[paidAmount]= \"orderTotalPayments\"\n[isRefundRemission]=\"isRefundRemission\"\n[caseType]=\"caseType\"\n[paymentGroupRef]=\"orderRef\"\n[isFromServiceRequestPage] = \"true\"\n[payment] = \"payment\"\n[ccdCaseNumber]=\"ccdCaseNumber\"></ccpay-add-remission>\n\n<ccpay-add-remission *ngIf=\"viewStatus === 'issuerefund' && payment\"\n[isTurnOff]=\"isTurnOff\"\n[isStrategicFixEnable]=\"isStrategicFixEnable\"\n[viewCompStatus]= \"viewStatus\"\n[isFromServiceRequestPage] = \"true\"\n[payment]=\"payment\"\n[orderStatus] =\"orderStatus\"\n[paidAmount]= \"orderTotalPayments\"\n[isRefundRemission]=\"isRefundRemission\"\n[caseType]=\"caseType\"\n[paymentGroupRef]=\"orderRef\"\n[ccdCaseNumber]=\"ccdCaseNumber\"></ccpay-add-remission>\n\n<ccpay-add-remission *ngIf=\"viewStatus === 'addrefundforremission' && payment\"\n[isTurnOff]=\"isTurnOff\"\n[isStrategicFixEnable]=\"isStrategicFixEnable\"\n[viewCompStatus]= \"viewStatus\"\n[payment]=\"payment\"\n[orderStatus] =\"orderStatus\"\n[paidAmount]= \"orderTotalPayments\"\n[isRefundRemission]=\"isRefundRemission\"\n[caseType]=\"caseType\"\n[feeamount]=\"remissionFeeAmt\"\n[remission] = \"remissions\"\n[isFromServiceRequestPage]=\"true\"\n[ccdCaseNumber]=\"ccdCaseNumber\"></ccpay-add-remission>\n\n<ng-container *ngIf=\"viewStatus === 'feeRemovalConfirmation'\">\n <div class=\"govuk-warning-text\">\n <span class=\"govuk-warning-text__icon\" aria-hidden=\"true\">!</span>\n <strong class=\"govuk-warning-text__text\">\n <span class=\"govuk-warning-text__assistive\">Warning</span>\n Are you sure you want to delete this fee?\n </strong>\n </div>\n <div class=\"govuk-button-grb\">\n <form novalidate>\n <button type=\"submit\" class=\"button govuk-button--secondary\" (click)=\"cancelRemoval()\">\n Cancel\n </button>\n <button type=\"submit\" class=\"button\"\n [disabled]=\"isRemoveBtnDisabled\"\n [ngClass]='isRemoveBtnDisabled ? \"button button--disabled govuk-!-margin-right-1\" : \"button govuk-!-margin-right-1\"'\n (click)=\"removeFee(feeId)\">\n Remove\n </button>\n </form>\n </div>\n</ng-container>\n\n</main>\n</div>\n",
3357
+ template: "<div class=\"govuk-width-container\">\n\n <main class=\"govuk-main-wrapper\">\n <ng-container *ngIf=\"viewStatus === 'main1'\">\n <div *ngIf=\"viewStatus === 'main1'&& !isTurnOff && takePayment\">\n <div *ngIf=\"takePayment\" class=\"govuk-grid-row\">\n\n <div class=\"govuk-grid-column-two-thirds\">\n <h1 class=\"govuk-heading-xl\">Case transactions</h1>\n </div>\n </div>\n\n <div *ngIf=\"takePayment\" class=\"govuk-grid-row\">\n <div *ngIf='!isExceptionRecord' class=\"govuk-grid-column-two-thirds govuk-!-padding-bottom-6 govuk-!-padding-top-6\">\n <h3 class=\"heading-medium\">CCD reference:</h3>\n <span> {{ ccdCaseNumber | ccdHyphens }}</span>\n </div>\n\n <div *ngIf='isExceptionRecord' class=\"govuk-grid-column-two-thirds govuk-!-padding-bottom-6 govuk-!-padding-top-6\">\n <h3 class=\"heading-medium\">Exception reference:</h3>\n <span> {{ ccdCaseNumber | ccdHyphens }}</span>\n </div>\n <div class=\"govuk-grid-column-full govuk-!-padding-bottom-3\">\n <hr class=\"govuk-section-break govuk-section-break--visible\">\n <table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header\" scope=\"col\">Total payments</td>\n <td class=\"govuk-table__header\" scope=\"col\">Total remissions</td>\n <td class=\"govuk-table__header\" scope=\"col\">Amount due</td>\n <td class=\"govuk-table__header govuk-table__header--custom\" scope=\"col\" *ngIf=\"isBulkScanEnable\">Unallocated payments</td>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\">\n <tr class=\"totalpayments govuk-table__row\">\n <td class=\"govuk-table__cell summary-table-font\">{{ totalPayments | currency :'GBP':'symbol':'1.2-2' }}</td>\n <td class=\"govuk-table__cell summary-table-font\">{{ totalRemissions | currency :'GBP':'symbol':'1.2-2' }}</td>\n <td class=\"govuk-table__cell summary-table-font\">{{ clAmountDue | currency :'GBP':'symbol':'1.2-2'}}</td>\n <td class=\"govuk-table__cell case-transaction__color summary-table-font\" *ngIf=\"isBulkScanEnable\">{{unprocessedRecordCount}}</td>\n </tr>\n </tbody>\n </table>\n </div>\n\n <div class=\"govuk-grid-column-two-thirds\" *ngIf=\"takePayment\">\n <button type=\"submit\" (click)=\"redirectToFeeSearchPage($event)\"\n [disabled]=\"!isAddFeeBtnEnabled\"\n [ngClass]='!isAddFeeBtnEnabled ? \"govuk-button govuk-button--secondary govuk-button--disabled govuk-!-margin-right-1\" : \"govuk-button govuk-button--secondary govuk-!-margin-right-1\"'>\n Take telephony payment\n </button>\n </div>\n\n </div>\n <div class=\"govuk-grid-row\">\n\n </div>\n <div *ngIf=\"takePayment\" class=\" govuk-!-margin-top-9\">\n\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-full\">\n <h3 class=\"heading-medium\">Fees</h3>\n </div>\n <div class=\"govuk-grid-column-full\">\n <table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header\" scope=\"col\">Code</td>\n <td class=\"govuk-table__header\" scope=\"col\">Description</td>\n <td class=\"govuk-table__header\" scope=\"col\">Volume</td>\n <td class=\"govuk-table__header\" scope=\"col\">Fee amount</td>\n <td class=\"govuk-table__header\" scope=\"col\">Calculated amount</td>\n <td class=\"govuk-table__header\" scope=\"col\">Amount due</td>\n <td class=\"govuk-table__header\" scope=\"col\">Action</td>\n\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\" *ngFor=\"let paymentGroup of paymentGroups;\">\n <tr class=\"govuk-table__row\" *ngFor=\"let fee of paymentGroup.fees; let i = index;\">\n <td class=\"govuk-table__cell\">\t{{fee.code}} </td>\n <td class=\"govuk-table__cell\">{{fee.description}}</td>\n <td class=\"govuk-table__cell\">{{fee.volume? fee.volume : '-'}}</td>\n <td class=\"govuk-table__cell\">{{ fee.net_amount | currency:'GBP':'symbol-narrow':'1.2-2' }}</td>\n <td class=\"govuk-table__cell\">{{fee.calculated_amount | currency:'GBP':'symbol-narrow':'1.2-2' }}</td>\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\" [attr.rowspan]=\"paymentGroup.fees.length\" *ngIf=\"paymentGroup.old && i==0\"> {{getGroupOutstandingAmount(paymentGroup)| currency:'GBP':'symbol-narrow':'1.2-2'}}* </td>\n <td class=\"govuk-table__cell\" *ngIf=\"!paymentGroup.old\"> {{calculateAmountDue(fee) | currency:'GBP':'symbol-narrow':'1.2-2'}} </td>\n <td class=\"govuk-table__cell\" *ngIf=\"!paymentGroup.old\">\n <a (click)=\"confirmRemoveFee(fee.id)\" [ngClass]='!isCheckAmountdueExist(fee.amount_due) || fee.remissions ? \"disable-link\" : \"\"'>Remove</a>\n </td>\n <td class=\"govuk-table__cell\" *ngIf=\"paymentGroup.old\">\n <a (click)=\"confirmRemoveFee(fee.id)\" [ngClass]='paymentGroup.payments?.length > 0 || paymentGroup.remissions?.length > 0 ? \"disable-link\" : \"\"'>Remove</a>\n </td>\n </tr>\n </tbody>\n <tbody class=\"govuk-table__body\" *ngIf=\"paymentGroups?.length === 0\">\n <tr class=\"govuk-table__row\" >\n <td class=\"govuk-table__cell\" colspan=\"7\">No fees recorded</td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n <div class=\"hmcts-banner\" *ngIf=\"isHistoricGroupAvailable\">\n <svg class=\"hmcts-banner__icon\" fill=\"currentColor\" role=\"presentation\" focusable=\"false\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 25 25\" height=\"25\" width=\"25\">\n <path d=\"M13.7,18.5h-2.4v-2.4h2.4V18.5z M12.5,13.7c-0.7,0-1.2-0.5-1.2-1.2V7.7c0-0.7,0.5-1.2,1.2-1.2s1.2,0.5,1.2,1.2v4.8\n C13.7,13.2,13.2,13.7,12.5,13.7z M12.5,0.5c-6.6,0-12,5.4-12,12s5.4,12,12,12s12-5.4,12-12S19.1,0.5,12.5,0.5z\"></path>\n </svg>\n <div class=\"hmcts-banner__message\">\n <span class=\"hmcts-banner__assistive\">information</span>\n * These fees have already been processed offline. Check the notes in CCD for more information.\n </div>\n </div>\n <div class=\"panel panel-no--style\" *ngIf=\"allPayments?.length > 0 || remissions?.length > 0\">\n <!-- payments -->\n <h3 class=\"heading-medium\">Payments</h3>\n <table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header col-28\" scope=\"col\">Payment reference</td>\n <td class=\"govuk-table__header\" scope=\"col\">Date created</td>\n <td class=\"govuk-table__header\" scope=\"col\">Channel</td>\n <td class=\"govuk-table__header\" scope=\"col\">Method</td>\n <td class=\"govuk-table__header col-15\" scope=\"col\">Amount</td>\n <td class=\"govuk-table__header\" scope=\"col\">Allocation status</td>\n <td class=\"govuk-table__header\" scope=\"col\">Payment status</td>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\" *ngIf=\"allPayments?.length > 0\">\n <tr class=\"govuk-table__row\" *ngFor=\"let payment of allPayments\">\n <td class=\"govuk-table__cell whitespace-inherit\">\n <a href=\"javascript:void(0)\" (click)=\"goToPayementView(payment.paymentGroupReference, payment.reference, payment.method)\">{{ payment.reference }}</a>\n </td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{ payment.date_created | date:'dd MMM yyyy' }}</td>\n <td class=\"channel govuk-table__cell whitespace-inherit\">{{ payment.channel | lowercase }}</td>\n <td class=\"govuk-table__cell capitalize whitespace-inherit\">{{ payment.method | lowercase}}</td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{ payment.amount | currency:'GBP':'symbol-narrow':'1.2-2' }}</td>\n <td class=\"govuk-table__cell whitespace-inherit\"> {{getAllocationStatus(payment)}}</td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{ payment.status }}</td>\n </tr>\n </tbody>\n <tbody class=\"govuk-table__body\" *ngIf=\"allPayments?.length === 0\">\n <td class=\"govuk-table__cell\" colspan=\"7\">No payments recorded</td>\n </tbody>\n </table>\n\n <!-- remissions -->\n <h3 class=\"heading-medium\">Remissions</h3>\n <table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header\" scope=\"col\">Remission reference</td>\n <td class=\"govuk-table__header\" scope=\"col\">Date created</td>\n <td class=\"govuk-table__header\" scope=\"col\">Remission code</td>\n <td class=\"govuk-table__header\" scope=\"col\">Fee code</td>\n <td class=\"govuk-table__header\" scope=\"col\">Remission amount</td>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\" *ngIf=\"remissions?.length > 0\">\n <tr class=\"govuk-table__row\" *ngFor=\"let remission of remissions\">\n <td class=\"govuk-table__cell whitespace-inherit\">{{ remission.remission_reference }}</td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{ remission.date_created | date:'dd MMM yyyy' }}</td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{ remission.hwf_reference }}</td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{ remission.fee_code }}</td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{ remission.hwf_amount | currency:'GBP':'symbol-narrow':'1.2-2'}}</td>\n </tr>\n </tbody>\n <tbody class=\"govuk-table__body\" *ngIf=\"remissions?.length === 0\">\n <td class=\"govuk-table__cell\" colspan=\"5\">No remissions recorded</td>\n </tbody>\n </table>\n </div>\n </div>\n </div>\n\n <div *ngIf=\"takePayment && isTurnOff\">\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-two-thirds\">\n <h1 class=\"govuk-heading-xl\">Case transactions</h1>\n </div>\n\n <div class=\"govuk-grid-column-one-third\" align=\"right\" >\n <a [ngClass]=\"{ 'disable': !isAddFeeBtnEnabled} \" (click)=\"redirectToFeeSearchPage($event)\" class=\"button\">Add a new fee</a>\n </div>\n </div>\n\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-two-thirds govuk-!-padding-bottom-6\">\n <h3 class=\"heading-medium\">CCD reference:</h3>\n <span> {{ ccdCaseNumber | ccdHyphens }}</span>\n </div>\n\n <div class=\"govuk-grid-column-full govuk-!-padding-bottom-3\">\n <hr class=\"govuk-section-break govuk-section-break--visible\">\n <table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header\" scope=\"col\">Total payments</td>\n <td class=\"govuk-table__header\" scope=\"col\">Total remissions</td>\n <td class=\"govuk-table__header\" scope=\"col\">Amount due</td>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\">\n <tr class=\"totalpayments govuk-table__row\">\n <td class=\"govuk-table__cell\">{{ totalPayments | currency :'GBP':'symbol':'1.2-2' }}</td>\n <td class=\"govuk-table__cell\">{{ totalRemissions | currency :'GBP':'symbol':'1.2-2' }}</td>\n <td class=\"govuk-table__cell\">{{ (totalFees - totalRemissions) - totalPayments | currency :'GBP':'symbol':'1.2-2'}}</td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n\n\n <!-- No fees start -->\n <div *ngIf=\"paymentGroups?.length === 0\">\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-full\">\n <span class=\"heading-small\">Existing fees</span>\n </div>\n\n <div class=\"govuk-grid-column-full\">\n <table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header\" scope=\"col\">Code</td>\n <td class=\"govuk-table__header\" scope=\"col\">Description</td>\n <td class=\"govuk-table__header\" scope=\"col\">Volume</td>\n <td class=\"govuk-table__header\" scope=\"col\">Fee amount</td>\n <td class=\"govuk-table__header\" scope=\"col\">Calculated amount</td>\n <td class=\"govuk-table__header\" scope=\"col\">Group amount outstanding</td>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell\" colspan=\"6\">No fees recorded</td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n </div>\n\n <!-- No fees end -->\n\n <div *ngFor=\"let paymentGroup of paymentGroups\">\n\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-full govuk-grid-column-full--gr\">\n <span class=\"heading-medium\">Group reference: {{paymentGroup.payment_group_reference}}</span>\n </div>\n </div>\n <div class=\"govuk-grid-row\">\n\n <!--New Code start-->\n\n <div class=\"govuk-grid-column-full\">\n <span class=\"heading-small\">Exisiting fees</span>\n </div>\n <div class=feeclass>\n <table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header\" scope=\"col\">Code</td>\n <td class=\"govuk-table__header\" scope=\"col\">Description</td>\n <td class=\"govuk-table__header\" scope=\"col\">Volume</td>\n <td class=\"govuk-table__header\" scope=\"col\">Fee amount</td>\n <td class=\"govuk-table__header\" scope=\"col\">Calculated amount</td>\n <td class=\"groupamount govuk-table__header\" scope=\"col\">Group amount outstanding</td>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\" >\n <tr class=\"govuk-table__row\" *ngFor=\"let fee of paymentGroup.fees; let i = index;\">\n <td class=\"govuk-table__cell govuk-table__cell--col1\">{{fee.code}}</td>\n <td class=\"govuk-table__cell govuk-table__cell--col2\"> {{fee.description}} </td>\n <td class=\"govuk-table__cell govuk-table__cell--col3 align-center\"> {{fee.volume? fee.volume : '-'}} </td>\n <td class=\"govuk-table__cell govuk-table__cell--col4\"> {{ fee.net_amount | currency:'GBP':'symbol-narrow':'1.2-2' }} </td>\n <td class=\"govuk-table__cell govuk-table__cell--col5\"> {{fee.calculated_amount | currency:'GBP':'symbol-narrow':'1.2-2' }} </td>\n <td class=\"govuk-table__cell govuk-table__cell--col6 govuk-table__custom--col6\" [attr.rowspan]=\"paymentGroup.fees.length\" *ngIf=\"i==0\">\n {{getGroupOutstandingAmount(paymentGroup) | currency:'GBP':'symbol-narrow':'1.2-2' }} </td>\n </tr>\n </tbody>\n <tbody class=\"govuk-table__body\" *ngIf=\"paymentGroup.fees.length==0\">\n <td class=\"govuk-table__cell\" colspan=\"6\">No payments recorded</td>\n </tbody>\n </table>\n </div>\n </div>\n <div class=\"govuk-inset-text govuk-inset-text__no-border\" *ngIf=\"paymentGroup.payments || paymentGroup.remissions\">\n <details>\n <summary class=\"govuk-hidetext\">\n <span class=\"summary\">Allocated payments and remissions</span>\n </summary>\n\n <div class=\"panel panel-border-narrow\">\n <!-- payments -->\n <span class=\"heading-medium\">Payments</span>\n <table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header\" scope=\"col\">Payment reference</td>\n <td class=\"govuk-table__header\" scope=\"col\">Date created</td>\n <td class=\"govuk-table__header\" scope=\"col\">Channel</td>\n <td class=\"govuk-table__header\" scope=\"col\">Method</td>\n <td class=\"govuk-table__header\" scope=\"col\">Amount</td>\n <td class=\"govuk-table__header\" scope=\"col\">Allocation status</td>\n <td class=\"govuk-table__header\" scope=\"col\">Status</td>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\" *ngIf=\"paymentGroup.payments?.length > 0\">\n <tr class=\"govuk-table__row\" *ngFor=\"let payment of paymentGroup.payments\">\n <td class=\"govuk-table__cell whitespace-inherit\">\n <a href=\"javascript:void(0)\" (click)=\"goToPayementView(paymentGroup.payment_group_reference, payment.reference, payment.method)\">{{ payment.reference }}</a>\n </td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{ payment.date_created | date:'dd MMM yyyy' }}</td>\n <td class=\"channel govuk-table__cell whitespace-inherit\">{{ payment.channel | lowercase }}</td>\n <td class=\"govuk-table__cell capitalize whitespace-inherit\">{{ payment.method | lowercase}}</td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{ payment.amount }}</td>\n <td class=\"govuk-table__cell whitespace-inherit\"> {{getAllocationStatus(payment)}}</td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{ payment.status }}</td>\n </tr>\n </tbody>\n <tbody class=\"govuk-table__body\" *ngIf=\"paymentGroup.payments?.length === 0\">\n <td class=\"govuk-table__cell\" colspan=\"6\">No payments recorded</td>\n </tbody>\n </table>\n\n <!-- remissions -->\n <span class=\"heading-medium\">Remissions</span>\n <table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header\" scope=\"col\">Remission reference</td>\n <td class=\"govuk-table__header\" scope=\"col\">Date created</td>\n <td class=\"govuk-table__header\" scope=\"col\">Remission code</td>\n <td class=\"govuk-table__header\" scope=\"col\">Fee applied against</td>\n <td class=\"govuk-table__header\" scope=\"col\">Remission amount</td>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\" *ngIf=\"paymentGroup.remissions?.length > 0\">\n <tr class=\"govuk-table__row\" *ngFor=\"let remission of paymentGroup.remissions\">\n <td class=\"govuk-table__cell whitespace-inherit\">{{ remission.remission_reference }}</td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{ remission.date_created | date:'dd MMM' }}</td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{ remission.hwf_reference }}</td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{ remission.fee_code }}</td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{ remission.hwf_amount }}</td>\n </tr>\n </tbody>\n <tbody class=\"govuk-table__body\" *ngIf=\"paymentGroup.remissions?.length === 0\">\n <td class=\"govuk-table__cell\" colspan=\"5\">No remissions recorded</td>\n </tbody>\n </table>\n </div>\n </details>\n\n\n <div *ngIf=\"takePayment\">\n <button type=\"submit\" (click)=\"loadFeeSummaryPage(paymentGroup)\"\n [disabled]=\"(getGroupOutstandingAmount(paymentGroup) <= 0 || isUnprocessedRecordSelected)\"\n [ngClass]='(getGroupOutstandingAmount(paymentGroup) <= 0 || isUnprocessedRecordSelected) ? \"govuk-button govuk-button--secondary govuk-button--disabled govuk-!-margin-right-1\" : \"govuk-button govuk-button--secondary govuk-!-margin-right-1\"'>\n Add telephone payment\n </button>\n </div>\n </div>\n </div>\n <ccpay-app-unprocessed-payments\n *ngIf=\"isBulkScanEnable\"\n [IS_BUTTON_ENABLE]=\"takePayment\"\n [LEVEL]=\"5\"\n [PAYMENTSLENGTH]=\"allPayments?.length\"\n [PAYMENTREF]=\"paymentRef\"\n [ISTURNOFF]=\"isTurnOff\"\n [ISSFENABLE]=\"isStrategicFixEnable\"\n [FEE_RECORDS_EXISTS]=\"isFeeRecordsExist\"\n (getUnprocessedFeeCount) = \"getUnprocessedFeeCount($event)\"\n [IS_OS_AMT_AVAILABLE]=\"isGrpOutstandingAmtPositive\"\n (selectedUnprocessedFeeEvent) = \"selectedUnprocessedFeeEvent($event)\">\n </ccpay-app-unprocessed-payments>\n <div class=\"govuk-grid-row govuk-grid__surplus-payments\" *ngIf=\"totalRefundAmount > 0 && takePayment\">\n <div class=\"govuk-grid-column-full govuk-grid__surplus-payments-col1\">\n <h3 class=\"heading-medium\">Surplus payments</h3>\n </div>\n <div class=\"govuk-grid-column-full\">\n Total surplus payments received: {{totalRefundAmount | currency :'GBP':'symbol':'1.2-2'}}\n </div>\n </div>\n </div>\n\n <div *ngIf=\"takePayment\">\n <ccpay-app-unprocessed-payments\n *ngIf=\"isBulkScanEnable && !takePayment\"\n [IS_BUTTON_ENABLE]=\"takePayment\"\n [LEVEL]=\"1\"\n [ISTURNOFF]=\"isTurnOff\"\n [ISSFENABLE]=\"isStrategicFixEnable\"\n [FEE_RECORDS_EXISTS]=\"isFeeRecordsExist\"\n [IS_OS_AMT_AVAILABLE]=\"isGrpOutstandingAmtPositive\"\n (getUnprocessedFeeCount) = \"getUnprocessedFeeCount($event)\"\n [PAYMENTSLENGTH]=\"allPayments?.length\"\n [PAYMENTREF]=\"paymentRef\"\n (selectedUnprocessedFeeEvent) = \"selectedUnprocessedFeeEvent($event)\">\n </ccpay-app-unprocessed-payments>\n </div>\n\n <div *ngIf=\"!takePayment\" class=\"govuk-grid-row govuk-grid__surplus-payments\">\n\n <div class=\"govuk-grid-column-full\">\n\n <span class=\"heading-medium\">Payments</span>\n <table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header col-13\" scope=\"col\">Status</td>\n <td class=\"govuk-table__header col-10\" scope=\"col\">Amount</td>\n <td class=\"govuk-table__header col-14\" scope=\"col\">Date allocated</td>\n <td class=\"govuk-table__header col-20\" scope=\"col\">Request reference</td>\n <td class=\"govuk-table__header col-9\" scope=\"col\"></td>\n <td class=\"govuk-table__header\" scope=\"col\"></td>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\" *ngIf=\"allPayments?.length > 0\">\n <tr class=\"govuk-table__row\" *ngFor=\"let payment of allPayments\">\n <td class=\"govuk-table__cell col-13 whitespace-inherit\">{{ payment.status }}</td>\n <td class=\"govuk-table__cell col-10 whitespace-inherit\">{{ payment.amount | currency :'GBP':'symbol':'1.2-2' }}</td>\n <td class=\"govuk-table__cell col-17 whitespace-inherit\">{{ payment.date_created | date:'dd MMM yyyy HH:mm:ss' }}</td>\n <td class=\"govuk-table__cell col-24 whitespace-inherit\">{{ payment.paymentGroupReference }}</td>\n <td class=\"govuk-table__cell col-13 whitespace-inherit\"></td>\n <td class=\"govuk-table__cell whitespace-inherit\">\n <a href=\"javascript:void(0)\" (click)=\"goToPayementView(payment.paymentGroupReference, payment.reference, payment.method)\">Review</a>\n </td>\n </tr>\n </tbody>\n\n </table>\n <ccpay-app-unprocessed-payments class=\"govuk-table\"\n *ngIf=\"isBulkScanEnable && !takePayment\"\n [IS_BUTTON_ENABLE]=\"takePayment\"\n [LEVEL]=\"2\"\n [ISTURNOFF]=\"isTurnOff\"\n [ISSFENABLE]=\"isStrategicFixEnable\"\n [FEE_RECORDS_EXISTS]=\"isFeeRecordsExist\"\n [IS_OS_AMT_AVAILABLE]=\"isGrpOutstandingAmtPositive\"\n [PAYMENTSLENGTH]=\"allPayments?.length\"\n [PAYMENTREF]=\"paymentRef\"\n (getUnprocessedFeeCount) = \"getUnprocessedFeeCount($event)\"\n (selectedUnprocessedFeeEvent) = \"selectedUnprocessedFeeEvent($event)\">\n </ccpay-app-unprocessed-payments>\n </div>\n </div>\n </ng-container>\n\n<!--Order Case Transactions Page-->\n <ng-container *ngIf=\"viewStatus === 'main' && !isTurnOff && takePayment\">\n <div>\n\n <div>\n <h1 class=\"govuk-grid-column-two-thirds govuk-heading-l govuk-!-margin-top-0\">Case transactions</h1>\n <ng-container *ngIf='!isExceptionRecord' class=\" govuk-!-margin-bottom-6 alignself\">\n <b> Case reference: </b>{{ ccdCaseNumber | ccdHyphens }}\n </ng-container>\n <ng-container *ngIf='isExceptionRecord' class=\"govuk-!-margin-bottom-3 col-55 alignself\" >\n <b> Exception reference:</b>{{ ccdCaseNumber | ccdHyphens }}\n </ng-container>\n <div>\n <table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header col-25\" scope=\"col\">Total payments</td>\n <td class=\"govuk-table__header govuk-table__header--custom col-25\" scope=\"col\" *ngIf=\"isBulkScanEnable\">Unallocated payments</td>\n <td class=\"govuk-table__header col-25\" scope=\"col\">Total remissions</td>\n <td class=\"govuk-table__header col-20\" scope=\"col\">Amount due</td>\n <td class=\"govuk-table__header col-20\" scope=\"col\">Over payment</td>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\">\n <tr class=\"totalpayments govuk-table__row\">\n <td class=\"govuk-table__cell summary-table-font\">{{ totalPayments | currency :'GBP':'symbol':'1.2-2' }}</td>\n <td class=\"govuk-table__cell case-transaction__color summary-table-font\" *ngIf=\"isBulkScanEnable\">{{unprocessedRecordCount}}</td>\n\n <td class=\"govuk-table__cell summary-table-font\">{{ totalRemissions | currency :'GBP':'symbol':'1.2-2' }}</td>\n <td class=\"govuk-table__cell summary-table-font\">{{ clAmountDue | currency :'GBP':'symbol':'1.2-2'}}</td>\n <td class=\"govuk-table__cell summary-table-font\">{{ overPaymentAmount | currency :'GBP':'symbol':'1.2-2'}}</td>\n\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n <input #myInput type='hidden' class='iFrameDrivenImageValue' value='ORDERIDDETAILS'>\n\n <!--Payment Request-->\n <div class=\"paymentrequest\">\n <span class=\"heading-medium\">Service requests</span>\n <ng-container>\n <table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header col-14\" scope=\"col\">Status</td>\n <td class=\"govuk-table__header col-10\" scope=\"col\">Amount</td>\n <td class=\"govuk-table__header col-18\" scope=\"col\">Party</td>\n <td class=\"govuk-table__header col-21\" scope=\"col\">Request reference</td>\n <td class=\"govuk-table__header col-9\" scope=\"col\"></td>\n <td class=\"govuk-table__header col\" scope=\"col\"></td>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\" *ngIf=\"orderLevelFees?.length > 0\">\n <tr *ngFor=\"let orderRef of orderLevelFees;let i = index;\">\n <td class=\"govuk-table__cell whitespace-inherit\">{{orderRef.orderStatus}}</td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{ orderRef.orderTotalFees | currency :'GBP':'symbol':'1.2-2' }}</td>\n <td *ngIf=\"cpoDetails !== null\" class=\"govuk-table__cell whitespace-inherit\">{{cpoDetails['responsibleParty']}}</td>\n <td *ngIf=\"cpoDetails === null\" class=\"govuk-table__cell whitespace-inherit\"></td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{orderRef.orderRefId}}</td>\n <td class=\"govuk-table__cell\">\n <a href=\"javascript:void(0)\" (click)=\"goToOrderViewDetailSection(orderRef)\">Review</a>\n </td>\n <td class=\"alignright\">\n\n <button type=\"submit\" (click)=\"redirectToOrderFeeSearchPage($event,orderRef)\"\n [disabled]=\"!orderRef.orderAddBtnEnable\"\n [ngClass]='!orderRef.orderAddBtnEnable ? \"govuk-button govuk-button--secondary govuk-button--disabled govuk-!-margin-right-1\" : \"govuk-button govuk-button--secondary govuk-!-margin-right-1\"'>\n Take telephony payment\n </button></td>\n </tr>\n </tbody>\n <tbody class=\"govuk-table__body alignleft\" *ngIf=\"orderLevelFees?.length === 0\">\n <td colspan=\"6\">No service requests on this case.</td>\n </tbody>\n </table>\n </ng-container>\n <!-- <ng-container *ngIf=\"orderLevelFees?.length === 0\">\n <br/>No service requests on this case.<br/>\n </ng-container> -->\n <span>\n <br/>\n <a (click)=\"redirectToFeeSearchPage($event)\"\n [class.disable-link]=\"!isAddFeeBtnEnabled\">Create service request and pay</a><br/>\n </span>\n </div>\n <div>\n <span class=\"heading-medium\"><br/>Payments</span>\n <ccpay-app-unprocessed-payments\n *ngIf=\"isBulkScanEnable\"\n [IS_BUTTON_ENABLE]=\"takePayment\"\n [LEVEL]=\"3\"\n [PAYMENTSLENGTH]=\"allPayments?.length\"\n [ISTURNOFF]=\"isTurnOff\"\n [ISSFENABLE]=\"isStrategicFixEnable\"\n [PAYMENTREF]=\"paymentRef\"\n [FEE_RECORDS_EXISTS]=\"isFeeRecordsExist\"\n (getUnprocessedFeeCount) = \"getUnprocessedFeeCount($event)\"\n [IS_OS_AMT_AVAILABLE]=\"isGrpOutstandingAmtPositive\"\n (selectedUnprocessedFeeEvent) = \"selectedUnprocessedFeeEvent($event)\">\n </ccpay-app-unprocessed-payments>\n\n <ng-container>\n <table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n </thead>\n <tbody class=\"govuk-table__body\" *ngIf=\"allPayments?.length > 0\">\n <tr class=\"govuk-table__row\" *ngFor=\"let payment of allPayments\">\n <td class=\"govuk-table__cell col-14 whitespace-inherit\">{{ payment.status }}</td>\n <td class=\"govuk-table__cell col-10 whitespace-inherit\">{{ payment.amount | currency :'GBP':'symbol':'1.2-2' }}</td>\n <td class=\"govuk-table__cell col-17 whitespace-inherit\">{{ payment.date_created | date:'dd MMM yyyy' }}</td>\n <td class=\"govuk-table__cell col-24 whitespace-inherit\">{{ payment.paymentGroupReference }}</td>\n <td class=\"govuk-table__cell col-13 whitespace-inherit\"></td>\n <td class=\"govuk-table__cell whitespace-inherit\">\n <a href=\"javascript:void(0)\" (click)=\"goToPayementView(payment.paymentGroupReference, payment.reference, payment.method)\">Review</a>\n </td>\n </tr>\n </tbody>\n\n <tbody class=\"govuk-table__body\" *ngIf=\"allPayments?.length === 0 && unprocessedRecordCount <= 0\">\n <td colspan=\"6\">No payments recorded</td>\n </tbody>\n </table>\n\n </ng-container>\n\n </div>\n <div *ngIf=\"!check4AllowedRoles2AccessPBApayment()\">\n <span class=\"heading-medium\"><br/>Refunds</span>\n <ccpay-refund-status\n [ccdCaseNumber]=\"ccdCaseNumber\"\n [isTurnOff]=\"isTurnOff\"\n [orderParty]=\"orderParty\"\n [LOGGEDINUSERROLES]=\"LOGGEDINUSERROLES\" \n ></ccpay-refund-status>\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"!takePayment && viewStatus === 'main'\">\n <div class=\"govuk-grid-column-full\" [ngClass]='serviceRequestValue!== \"false\" ? \"govuk-margin-btm-20px\" : \"\"'>\n <!-- <span *ngIf=\"serviceRequestValue === 'false'\" class=\"heading-medium\">Service requests</span> -->\n <ng-container *ngIf=\"!(orderLevelFees?.length === 0 && !isAnyFeeGroupAvilable) && serviceRequestValue !== 'false' \">\n <table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header col-14\" scope=\"col\">Status</td>\n <td class=\"govuk-table__header col-18\" scope=\"col\">Amount</td>\n <td class=\"govuk-table__header col-18\" scope=\"col\">Party</td>\n <td class=\"govuk-table__header col-24\" scope=\"col\">Request reference\t</td>\n <td class=\"govuk-table__header col-9\" scope=\"col\"></td>\n <td class=\"govuk-table__header\" scope=\"col\"></td>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\" *ngIf=\"orderLevelFees?.length > 0\">\n <tr class=\"govuk-table__row\" *ngFor=\"let orderRef of orderLevelFees;let i = index;\">\n <td class=\"govuk-table__cell whitespace-inherit\">{{orderRef.orderStatus}}</td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{orderRef.orderTotalFees | currency :'GBP':'symbol':'1.2-2'}}</td>\n <td *ngIf=\"cpoDetails !== null\" class=\"govuk-table__cell whitespace-inherit\">{{cpoDetails['responsibleParty']}}</td>\n <td *ngIf=\"cpoDetails === null\" class=\"govuk-table__cell whitespace-inherit\"></td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{orderRef.orderRefId}}</td>\n <td class=\"govuk-table__cell of-visible\"> <a href=\"javascript:void(0)\" (click)=\"loadPBAAccountPage(orderRef)\" *ngIf=\"serviceRequestValue !== 'false' && check4AllowedRoles2AccessPBApayment() && orderRef.orderStatus === 'Not paid'\"> Pay now</a></td>\n <td class=\"govuk-table__cell\">\n <a href=\"javascript:void(0)\" (click)=\"goToOrderViewDetailSection(orderRef)\">Review</a>\n </td>\n </tr>\n </tbody>\n <tbody class=\"govuk-table__body\" *ngIf=\"orderLevelFees?.length === 0 && serviceRequestValue === 'false'\">\n <tr class=\"govuk-table__row\" >\n <td class=\"alignleft\" colspan=\"7\">No service requests on this case.</td>\n </tr>\n </tbody>\n </table>\n </ng-container>\n <ng-container *ngIf=\"orderLevelFees?.length === 0 && serviceRequestValue !== 'false' && !isAnyFeeGroupAvilable\">\n <h1 class=\"govuk-heading-l govuk-heading-lw\">If you are expecting to pay and are not able to see a service request,</h1>\n <p>please refresh and try in some time.</p>\n </ng-container>\n\n <!-- </div> -->\n\n </div>\n\n <div class=\"govuk-grid-column-full\">\n <div *ngIf=\"serviceRequestValue === 'false'\">\n <span class=\"heading-medium\"><br/>Payments</span>\n <ng-container >\n <table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header col-14\" scope=\"col\">Status</td>\n <td class=\"govuk-table__header col-10\" scope=\"col\">Amount</td>\n <td class=\"govuk-table__header col-17\" scope=\"col\">Date</td>\n <td class=\"govuk-table__header col-24\" scope=\"col\">Payment reference</td>\n <td class=\"govuk-table__header col-13\" scope=\"col\"></td>\n <td class=\"govuk-table__header\" scope=\"col\"></td>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\" *ngIf=\"allPayments?.length > 0\">\n <tr class=\"govuk-table__row\" *ngFor=\"let payment of allPayments\">\n <td class=\"govuk-table__cell whitespace-inherit\">{{ payment.status }}</td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{ payment.amount | currency :'GBP':'symbol':'1.2-2' }}</td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{ payment.date_created | date:'dd MMM yyyy' }}</td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{ payment?.reference }}</td>\n <td class=\"govuk-table__cell whitespace-inherit\"></td>\n <td class=\"govuk-table__cell whitespace-inherit\">\n <a href=\"javascript:void(0)\" (click)=\"goToPayementView(payment.paymentGroupReference, payment.reference, payment.method)\">Review</a>\n </td>\n </tr>\n </tbody>\n\n <tbody class=\"govuk-table__body\" *ngIf=\"allPayments?.length === 0\">\n <td colspan=\"6\">No payments recorded</td>\n </tbody>\n </table>\n <ccpay-app-unprocessed-payments class=\"govuk-table\"\n *ngIf=\"isBulkScanEnable && !takePayment\"\n [IS_BUTTON_ENABLE]=\"takePayment\"\n [LEVEL]=\"4\"\n [ISTURNOFF]=\"isTurnOff\"\n [ISSFENABLE]=\"isStrategicFixEnable\"\n [PAYMENTSLENGTH]=\"allPayments?.length\"\n [PAYMENTREF]=\"paymentRef\"\n (getUnprocessedFeeCount) = \"getUnprocessedFeeCount($event)\"\n [FEE_RECORDS_EXISTS]=\"isAnyFeeGroupAvilable\"\n [IS_OS_AMT_AVAILABLE]=\"isGrpOutstandingAmtPositive\"\n (selectedUnprocessedFeeEvent) = \"selectedUnprocessedFeeEvent($event)\">\n </ccpay-app-unprocessed-payments>\n </ng-container>\n\n </div>\n </div>\n <div class=\"govuk-grid-column-full\" *ngIf=\"!check4AllowedRoles2AccessPBApayment()\">\n <span class=\"heading-medium\"><br/>Refunds</span>\n <ccpay-refund-status \n [ccdCaseNumber]=\"ccdCaseNumber\"\n [orderParty] =\"orderParty\"\n ></ccpay-refund-status>\n </div>\n\n </ng-container>\n\n\n<input #myInput type='hidden' class='iFrameDrivenImageValue' value='FEEREMOVALCONFIRMATION_2'>\n\n<!-- Order Full View Details-->\n<ng-container *ngIf=\"viewStatus === 'order-full-view'\">\n <ccpay-service-request\n [viewStatus] = \"viewStatus\"\n [orderRef] = \"orderRef\"\n [orderStatus] = \"orderStatus\"\n [orderCreated] = \"orderCreated\"\n [orderParty] = \"orderParty\"\n [orderCCDEvent] = \"orderCCDEvent\"\n [orderDetail] = \"orderDetail\"\n [paymentGroupList] = \"paymentGroups\"\n [LOGGEDINUSERROLES] = \"LOGGEDINUSERROLES\"\n [ccdCaseNumber] = \"ccdCaseNumber\"\n [orderFeesTotal] = \"orderFeesTotal\"\n [orderTotalPayments] = \"orderTotalPayments\"\n [orderRemissionTotal] = \"orderRemissionTotal\"\n [isServiceRequest] = \"serviceRequestValue\"\n (goToServiceRquestComponent) = \"goToServiceRequestPage()\"\n ></ccpay-service-request>\n\n</ng-container>\n<ccpay-add-remission *ngIf=\"viewStatus === 'addremission' && feeId\"\n[isTurnOff]=\"isTurnOff\"\n[isStrategicFixEnable]=\"isStrategicFixEnable\"\n[viewCompStatus]= \"viewStatus\"\n[fee]=\"feeId\"\n[orderStatus] =\"orderStatus\"\n[paidAmount]= \"orderTotalPayments\"\n[isRefundRemission]=\"isRefundRemission\"\n[caseType]=\"caseType\"\n[paymentGroupRef]=\"orderRef\"\n[isFromServiceRequestPage] = \"true\"\n[payment] = \"payment\"\n[ccdCaseNumber]=\"ccdCaseNumber\"></ccpay-add-remission>\n\n<ccpay-add-remission *ngIf=\"viewStatus === 'issuerefund' && payment\"\n[isTurnOff]=\"isTurnOff\"\n[isStrategicFixEnable]=\"isStrategicFixEnable\"\n[viewCompStatus]= \"viewStatus\"\n[isFromServiceRequestPage] = \"true\"\n[payment]=\"payment\"\n[orderStatus] =\"orderStatus\"\n[paidAmount]= \"orderTotalPayments\"\n[isRefundRemission]=\"isRefundRemission\"\n[caseType]=\"caseType\"\n[paymentGroupRef]=\"orderRef\"\n[ccdCaseNumber]=\"ccdCaseNumber\"></ccpay-add-remission>\n<ccpay-add-remission *ngIf=\"viewStatus === 'addrefundforremission' && payment\"\n[isTurnOff]=\"isTurnOff\"\n[isStrategicFixEnable]=\"isStrategicFixEnable\"\n[viewCompStatus]= \"viewStatus\"\n[payment]=\"payment\"\n[orderStatus] =\"orderStatus\"\n[paidAmount]= \"orderTotalPayments\"\n[isRefundRemission]=\"isRefundRemission\"\n[caseType]=\"caseType\"\n[feeamount]=\"remissionFeeAmt\"\n[remission] = \"remissions\"\n[isFromServiceRequestPage]=\"true\"\n[ccdCaseNumber]=\"ccdCaseNumber\"></ccpay-add-remission>\n\n<ng-container *ngIf=\"viewStatus === 'feeRemovalConfirmation'\">\n <div class=\"govuk-warning-text\">\n <span class=\"govuk-warning-text__icon\" aria-hidden=\"true\">!</span>\n <strong class=\"govuk-warning-text__text\">\n <span class=\"govuk-warning-text__assistive\">Warning</span>\n Are you sure you want to delete this fee?\n </strong>\n </div>\n <div class=\"govuk-button-grb\">\n <form novalidate>\n <button type=\"submit\" class=\"button govuk-button--secondary\" (click)=\"cancelRemoval()\">\n Cancel\n </button>\n <button type=\"submit\" class=\"button\"\n [disabled]=\"isRemoveBtnDisabled\"\n [ngClass]='isRemoveBtnDisabled ? \"button button--disabled govuk-!-margin-right-1\" : \"button govuk-!-margin-right-1\"'\n (click)=\"removeFee(feeId)\">\n Remove\n </button>\n </form>\n </div>\n</ng-container>\n</main>\n</div>\n",
2792
3358
  styles: [".govuk-grid-column-full--gr{position:relative;margin-bottom:10px}.disable{text-decoration:none;cursor:default;color:#fff;background-color:grey;pointer-events:none}.govuk-grid__surplus-payments{margin:20px 0}.govuk-grid__surplus-payments>.govuk-grid-column-full{padding:0}.govuk-grid__surplus-payments-col1{margin-bottom:10px}.govuk-inset-text__no-border{border-left:0}.govuk-hidetext{font-size:22px;padding-bottom:10px}.lowercase{text-transform:lowercase}.channel:first-letter{text-transform:uppercase}.govuk-heading-xl{font-size:48px;margin-bottom:1px}.govuk-section-break--visible{border-bottom:2px solid #000}.totalpayments.govuk-table__row{border-bottom:2px solid #000!important}.govuk-inset-text{margin-left:1em}.govuk-button{font-size:19px;margin-bottom:0!important}.govuk-table__cell.govuk-table__cell--col6.govuk-table__custom--col6,.groupamount.govuk-table__header{text-align:right}.feeclass{padding-left:.7em}.align-center{text-align:center}details summary{display:list-item}.case-transaction__color{color:#a71414;font-weight:700;text-align:center}.capitalize:first-letter{text-transform:uppercase}.govuk-inset-text__no-left-margin{margin-left:0;padding-left:0}.whitespace-inherit{white-space:inherit!important}.govuk-section-records-break{margin:10px;border-bottom:2px solid #000!important}.exisitng-fees{margin-left:12px}.add-telephony-payment{margin-top:-2em;margin-left:-2em}.govuk-table__header--custom{text-align:center}.disable-link{cursor:default;pointer-events:none;color:#8e8c8c}.panel-no--style{border-left-style:none}.col-28{width:28%!important}.col-8{width:8%!important}.col-60{width:60%!important}.col-32{width:32%!important}.col-34{width:34%!important}.col-15{width:15%!important;padding-right:0!important;padding-left:0!important}.col-16{width:16%!important}.col-14{width:14%!important}.col-17{width:17%!important}.col-12{width:12%!important}.col-9{width:9%!important}.col-10{width:10%!important}.col-11{width:11%!important}.col-13{width:13%!important}.col-21{width:21%!important}.col-20{width:20%!important}.col-24{width:24%!important}.govuk-table__cell,.govuk-table__header{padding:10px 10px 10px 0}.col-27{width:27%!important}td{white-space:nowrap;overflow:hidden!important}.col-19{width:19%!important}.col-18,.col-19{padding-left:0!important}.col-18{width:18%!important;padding-right:0!important}.col-37{width:37%!important}.col-55{width:55%!important}.govuk-table{margin-bottom:1px}.hmcts-banner>.hmcts-banner__message{font-size:19px;line-height:1.25}.summary-table-font{font-size:36px}.order-class{padding-top:3em}.govuk-table__cell:last-child,.govuk-table__header:last-child{text-align:right}.govuk-grid-column-two-thirds{width:64%!important;padding:0!important}.govuk-heading-l{font-size:36px;margin-bottom:10px}.govuk-heading-lw{width:70%}.paymentrequest{margin-top:1em}.mar-17{margin-left:17px}.col-61{width:61px!important;padding:0!important}.error{width:960px;margin:auto}.summarypage{padding-left:36em;margin-top:2em}.summarypagealign{width:100%;text-align:right;margin-top:2em}.govuk-inset-text{font-size:2.1875rem}table{table-layout:fixed;width:100%}td,th{word-wrap:break-word}.totalPay{padding-right:14px;float:right;margin-top:2em}.govuk-back-link{font-size:1.5rem!important}.totalfees{float:right;margin-top:2em}.refundBtn{text-align:right;width:18%}.col-25{width:25%!important}.of-visible{overflow:visible!important}.col-51{width:51%!important}.alignright{text-align:right}.alignleft{text-align:left}.alignself{align-self:flex-end}.maxwidth{width:100%}.govuk-padding-btm{padding-bottom:50px}.govuk-margin-btm-20px{margin-bottom:20px}"]
2793
3359
  },] }
2794
3360
  ];
@@ -2802,7 +3368,8 @@
2802
3368
  ]; };
2803
3369
  CaseTransactionsComponent.propDecorators = {
2804
3370
  LOGGEDINUSERROLES: [{ type: i0.Input, args: ['LOGGEDINUSERROLES',] }],
2805
- isTakePayment: [{ type: i0.Input }]
3371
+ isTakePayment: [{ type: i0.Input }],
3372
+ isFromServiceRequestPage: [{ type: i0.Input }]
2806
3373
  };
2807
3374
 
2808
3375
  var PaymentToPayhubRequest = /** @class */ (function () {
@@ -2930,15 +3497,20 @@
2930
3497
  if (fee.calculated_amount === 0) {
2931
3498
  _this.isFeeAmountZero = true;
2932
3499
  }
2933
- _this.isRemissionsMatch = false;
2934
- paymentGroup.remissions.forEach(function (rem) {
2935
- if (rem.fee_code === fee.code) {
2936
- _this.isRemissionsMatch = true;
2937
- fee['remissions'] = rem;
3500
+ if (paymentGroup.remissions) {
3501
+ _this.isRemissionsMatch = false;
3502
+ paymentGroup.remissions.forEach(function (rem) {
3503
+ if (rem.fee_code === fee.code) {
3504
+ _this.isRemissionsMatch = true;
3505
+ fee['remissions'] = rem;
3506
+ fees.push(fee);
3507
+ }
3508
+ });
3509
+ if (!_this.isRemissionsMatch) {
2938
3510
  fees.push(fee);
2939
3511
  }
2940
- });
2941
- if (!_this.isRemissionsMatch) {
3512
+ }
3513
+ else {
2942
3514
  fees.push(fee);
2943
3515
  }
2944
3516
  });
@@ -3036,7 +3608,7 @@
3036
3608
  FeeSummaryComponent.decorators = [
3037
3609
  { type: i0.Component, args: [{
3038
3610
  selector: 'ccpay-fee-summary',
3039
- template: "\n<div class=\"govuk-breadcrumbs\" *ngIf=\"isBackButtonEnable\">\n <ol class=\"govuk-breadcrumbs__list\">\n <li class=\"govuk-breadcrumbs__list-item\" *ngIf=\"!isTurnOff\">\n <a (click)=\"loadCaseTransactionPage()\" class=\"govuk-back-link govuk-label\">Back</a>\n </li>\n <li class=\"govuk-breadcrumbs__list-item\" *ngIf=\"isTurnOff\">\n <a (click)=\"redirectToFeeSearchPage($event,'summary')\" class=\"govuk-back-link govuk-label\">Back</a>\n </li>\n </ol>\n</div>\n<div class=\"fee-summary\" *ngIf=\"viewStatus === 'main'\">\n <main class=\"govuk-main-wrapper\">\n <input #myInput type='hidden' class='iFrameDrivenImageValue' value='FEESUMMARY'>\n <div class=\"summaryheader\">\n <h1 class=\"heading-large govuk-!-margin-top-3 govuk-!-margin-bottom-4\">Summary </h1>\n <p class=\"govuk-!-margin-top-5 caseref\">Case reference:{{ccdCaseNumber | ccdHyphens}}</p>\n </div>\n\n <!-- <div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-two-thirds\">\n <h1 class=\"heading-xlarge\">Fee Summary</h1>\n </div>\n\n\n \u00A0<div\u00A0class=\"govuk-grid-column-one-third\"\u00A0align=\"right\">\n \u00A0\u00A0\u00A0\u00A0\u00A0\u00A0<button\u00A0 *ngIf=\"!isTurnOff\" (click)=\"redirectToFeeSearchPage($event,'summary')\"\n \u00A0\u00A0\u00A0\u00A0\u00A0\u00A0[disabled]=\"isPaymentExist\"\n \u00A0\u00A0\u00A0\u00A0\u00A0\u00A0[ngClass]='isPaymentExist ?\u00A0\"button\u00A0button--disabled govuk-!-margin-right-1\"\u00A0:\u00A0\"button govuk-!-margin-right-1\"'>\n Add a new fee\n </button>\n\n <a *ngIf=\"isTurnOff\" (click)=\"redirectToFeeSearchPage($event,'summary')\" class=\"button\">Add a new fee</a>\n </div>\n </div> -->\n\n\n <div *ngIf=\"errorMessage\">\n <div class=\"error-summary\" role=\"group\" aria-labelledby=\"failure-error-summary-heading\" tabindex=\"-1\">\n <h2 class=\"heading-medium error-summary-heading\" id=\"failure-error-summary-heading\">\n Payment Group details could not be retrieved\n </h2>\n <div class=\"govuk-error-summary__body\">\n {{ errorMessage }}\n </div>\n </div>\n </div>\n\n <!-- <table class=\"govuk-table\" *ngIf=\"!errorMessage && paymentGroup\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <th class=\"govuk-table__header govuk-!-font-weight-bold\" scope=\"col\">Fee Code</th>\n <th class=\"govuk-table__header govuk-!-font-weight-bold\" scope=\"col\">Fee description</th>\n <th class=\"govuk-table__header govuk-!-font-weight-bold\" scope=\"col\">Remission code</th>\n <th class=\"govuk-table__header govuk-!-font-weight-bold\" scope=\"col\"></th>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\" *ngIf=\"paymentGroup.fees\">\n <tr class=\"govuk-table__row\" *ngFor=\"let fee of paymentGroup.fees; let i = index;\">\n <td class=\"govuk-table__cell\">{{ fee.code }}</td>\n <td class=\"govuk-table__cell\">{{ fee.description }}</td>\n <td class=\"govuk-table__cell\">{{ getRemissionByFeeCode(fee.code)?.hwf_reference }}</td>\n <td class=\"govuk-table__cell grey-text\">\n <table class=\"govuk-table\">\n <tr class=\"govuk-table__row\">\n <td class=\"no-border grey-text subcolumn-1\">Fee amount:</td>\n <td class=\"no-border subcolumn-2\">{{ fee.fee_amount | currency:'GBP':'symbol-narrow':'1.2-2' }}</td>\n <td class=\"no-border subcolumn-3\" *ngIf=\"!isTurnOff\">\n <a (click)=\"confirmRemoveFee(fee.id)\" [ngClass]='isPaymentExist || fee.remissions ? \"disable-link\" : \"\"'>remove fee</a>\n </td>\n <td class=\"no-border subcolumn-3\" *ngIf=\"isTurnOff\">\n <a (click)=\"confirmRemoveFee(fee.id)\">remove fee</a>\n </td>\n </tr>\n <tr class=\"govuk-table__row\" *ngIf=\"fee.volume && fee.volume > 0\">\n <td class=\"no-border grey-text subcolumn-1\">Volume:</td>\n <td class=\"no-border subcolumn-2\">{{ fee.volume }}</td>\n <td class=\"no-border subcolumn-3\"></td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"no-border grey-text subcolumn-1\">Fee total:</td>\n <td class=\"no-border subcolumn-2\">{{ fee.calculated_amount | currency:'GBP':'symbol-narrow':'1.2-2' }}</td>\n <td class=\"no-border subcolumn-3\"></td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"no-border grey-text subcolumn-1\">Remission amount:</td>\n <td class=\"no-border subcolumn-2\">{{ getRemissionByFeeCode(fee.code)?.hwf_amount? ( getRemissionByFeeCode(fee.code)?.hwf_amount | currency:'GBP':'symbol-narrow':'1.2-2') : '-' }}</td>\n <td class=\"no-border subcolumn-3\" *ngIf=\"!isTurnOff\">\n <a (click)=\"addRemission(fee)\" *ngIf=\"(getRemissionByFeeCode(fee.code)?.hwf_amount === 0 || !getRemissionByFeeCode(fee.code)?.hwf_amount) && !isPaymentExist\">\n Deduct remission\n </a>\n </td>\n <td class=\"no-border subcolumn-3\" *ngIf=\"isTurnOff\">\n <a (click)=\"addRemission(fee)\" *ngIf=\"getRemissionByFeeCode(fee.code)?.hwf_amount === 0 || !getRemissionByFeeCode(fee.code)?.hwf_amount\">\n Deduct remission\n </a>\n </td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"no-border grey-text subcolumn-1\">Total after remission:</td>\n <td class=\"no-border subcolumn-2\">{{ fee.net_amount | currency:'GBP':'symbol-narrow':'1.2-2' }}</td>\n <td class=\"no-border subcolumn-3\"></td>\n </tr>\n </table>\n </td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"no-border\"></td>\n <td class=\"no-border\"></td>\n <td class=\"no-border\"></td>\n <td class=\"no-border\">\n <table class=\"govuk-table\">\n <tr class=\"govuk-table__row\">\n <td class=\"no-border govuk-!-font-weight-bold subcolumn-1\">Total payment</td>\n <td class=\"no-border subcolumn-2\">{{ totalAfterRemission - outStandingAmount | currency:'GBP':'symbol-narrow':'1.2-2'}}</td>\n <td class=\"no-border subcolumn-3\"></td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"no-border govuk-!-font-weight-bold subcolumn-1\">Total outstanding amount</td>\n <td class=\"no-border subcolumn-2\">{{ outStandingAmount | currency:'GBP':'symbol-narrow':'1.2-2'}}</td>\n <td class=\"no-border subcolumn-3\"></td>\n </tr>\n </table>\n </td>\n </tr>\n <tr class=\"govuk-table__row\" *ngIf=\"!bsPaymentDcnNumber && isOldPcipalOff && isNewPcipalOff\">\n <td class=\"no-border\"></td>\n <td class=\"no-border\"></td>\n <td class=\"no-border\"></td>\n <td class=\"no-border\">\n <div class=\"govuk-form-group govuk-form-group--mg\">\n <fieldset class=\"govuk-fieldset\">\n <legend class=\"govuk-fieldset__legend govuk-fieldset__legend--m\">\n <span class=\"govuk-fieldset__heading govuk-fieldset__heading--fz\">\n Which system are you using to take the payment?\n </span>\n </legend>\n <div class=\"govuk-radios govuk-radios--small\">\n <div class=\"govuk-radios__item\">\n <input id=\"changed-name\" class=\"govuk-radios__input\" [(ngModel)]=\"platForm\" type=\"radio\" aria-label=\"8x8\" value=\"8x8\">\n <label class=\"govuk-label govuk-radios__label\" for=\"changed-name\">\n 8x8\n </label>\n </div>\n <div class=\"govuk-radios__item\">\n <input id=\"changed-name-2\" class=\"govuk-radios__input\" [(ngModel)]=\"platForm\" type=\"radio\" aria-label=\"Antenna\" value=\"Antenna\">\n <label class=\"govuk-label govuk-radios__label\" for=\"changed-name-2\">\n Antenna\n </label>\n </div>\n </div>\n </fieldset>\n </div>\n </td>\n </tr>\n </tbody>\n <tr class=\"govuk-table__row\">\n <td class=\"no-border\"></td>\n <td class=\"no-border\"></td>\n <td class=\"no-border\"></td>\n <td class=\"no-border\">\n <table class=\"govuk-table\">\n <tr class=\"govuk-table__row\">\n <td class=\"no-border subcolumn-2\">\n <button *ngIf=\"!bsPaymentDcnNumber\" type=\"submit\" (click)=\"takePayment()\"\n [disabled]=\"totalFee <= 0 || !platForm || isConfirmationBtnDisabled\"\n [ngClass]='totalFee <= 0 || !platForm || isConfirmationBtnDisabled? \"button button--disabled govuk-!-margin-right-1\" : \"button govuk-!-margin-right-1\"'>\n Take payment\n </button>\n <button *ngIf=\"bsPaymentDcnNumber\" type=\"button\" (click)=\"goToAllocatePage(outStandingAmount, isFeeAmountZero)\" class=\"button govuk-!-margin-right-1\">\n <span *ngIf=\"outStandingAmount > 0 || (isFeeAmountZero && outStandingAmount === 0)\">\n Allocate payment\n </span>\n <span *ngIf=\"outStandingAmount < 0 || (!isFeeAmountZero && outStandingAmount === 0)\">\n Continue\n </span>\n </button>\n </td>\n </tr>\n </table>\n </td>\n </tr>\n </tbody>\n </table> -->\n\n <div class=\"govuk-!-margin-top-3\">\n <table class=\"govuk-table govuk-!-margin-bottom-2\" *ngIf=\"!errorMessage && paymentGroup\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <th class=\"govuk-table__header\" scope=\"col\" class=\"class600\">Description</th>\n <th class=\"govuk-table__header\" scope=\"col\" class=\"class60\">Quantity</th>\n <th class=\"govuk-table__header\" scope=\"col\" class=\"class80\"></th>\n <th class=\"govuk-table__header\" scope=\"col\" class=\"class100\">Amount</th>\n </tr>\n </thead>\n\n <tbody class=\"govuk-table__body\" *ngIf=\"paymentGroup.fees\">\n <tr class=\"govuk-table__row\" *ngFor=\"let fee of paymentGroup.fees; let i = index;\">\n <td class=\"govuk-table__cell\">{{ fee.description }}\n\n <span class=\"no-border\" *ngIf=\"(isPaymentExist || (getRemissionByFeeCode(fee.code)?.hwf_amount === 0 || !getRemissionByFeeCode(fee.code)?.hwf_amount)) && !isTurnOff\">\n\n\n <a (click)=\"confirmRemoveFee(fee.id)\" *ngIf=\"(!isPaymentExist || !fee.remissions)\" [ngClass]='isPaymentExist || fee.remissions? \"disable-link\" : \"\"'> <br>Remove</a>\n </span>\n\n <span class=\"no-border\" *ngIf=\"(!isPaymentExist || (getRemissionByFeeCode(fee.code)?.hwf_amount === 0 || !getRemissionByFeeCode(fee.code)?.hwf_amount)) && isTurnOff \">\n <a (click)=\"confirmRemoveFee(fee.id)\">Remove</a>\n </span>\n\n <a (click)=\"addRemission(fee)\" class=\"remissionActive\" *ngIf=\"(getRemissionByFeeCode(fee.code)?.hwf_amount === 0 || !getRemissionByFeeCode(fee.code)?.hwf_amount) && !isPaymentExist && !isTurnOff\">\n Add help with fees or remission\n </a>\n <a (click)=\"addRemission(fee)\" class=\"remissionActive\" *ngIf=\"(getRemissionByFeeCode(fee.code)?.hwf_amount === 0 || !getRemissionByFeeCode(fee.code)?.hwf_amount) && isTurnOff\">\n Add help with fees or remission\n </a>\n <span *ngIf = \"getRemissionByFeeCode(fee.code)?.hwf_amount > 0\">\n <br>\n <div class=\"govuk-table__cell_border\" *ngIf = \"getRemissionByFeeCode(fee.code)?.hwf_amount > 0\">Remission,{{ getRemissionByFeeCode(fee.code)?.hwf_reference }}</div>\n </span>\n </td>\n\n <td class=\"govuk-table__cell\" *ngIf=\"fee.volume && fee.volume > 0\">\n {{ fee.volume }}\n <span *ngIf = \"getRemissionByFeeCode(fee.code)?.hwf_amount > 0\">\n <br>\n <div class=\"govuk-table__cell_border\">1</div>\n </span>\n </td>\n\n <td class=\"govuk-table__cell alignright\">\n <br>\n <div *ngIf = \"getRemissionByFeeCode(fee.code)?.hwf_amount > 0\" class=\"govuk-table__cell_border\"> <br><br></div>\n </td>\n <td class=\"govuk-table__cell alignright\" >\n {{ fee.calculated_amount | currency:'GBP':'symbol-narrow':'1.2-2' }}\n <span *ngIf = \"getRemissionByFeeCode(fee.code)?.hwf_amount > 0\">\n <br>\n <div class=\"govuk-table__cell_rmborder alignright\">\n -{{ getRemissionByFeeCode(fee.code)?.hwf_amount? ( getRemissionByFeeCode(fee.code)?.hwf_amount | currency:'GBP':'symbol-narrow':'1.2-2') : '-' }}\n </div>\n </span>\n </td>\n\n\n </tr>\n <!-- <tr>\n <td *ngIf = \"getRemissionByFeeCode(fee.code)?.hwf_amount > 0\">\n <br>\n <div class=\"govuk-table__cell_border\" *ngIf = \"getRemissionByFeeCode(fee.code)?.hwf_amount > 0\">Remission,{{ getRemissionByFeeCode(fee.code)?.hwf_reference }}</div>\n </td>\n <td *ngIf = \"getRemissionByFeeCode(fee.code)?.hwf_amount ===''\">\n <div class=\"govuk-table__cell_border\"></div>\n </td>\n <td *ngIf = \"getRemissionByFeeCode(fee.code)?.hwf_amount === ''\">\n <br>\n <div class=\"govuk-table__cell_border\" *ngIf = \"getRemissionByFeeCode(fee.code)?.hwf_amount === ''\"></div>\n </td>\n <td>\n <br>\n <div class=\"govuk-table__cell_border\" style=\"text-align: right;\">\n -{{ getRemissionByFeeCode(fee.code)?.hwf_amount? ( getRemissionByFeeCode(fee.code)?.hwf_amount | currency:'GBP':'symbol-narrow':'1.2-2') : '-' }}\n </div>\n </td>\n </tr> -->\n </tbody>\n </table>\n </div>\n <div class=\"addfee\">\n <button *ngIf=\"!isTurnOff\" (click)=\"redirectToFeeSearchPage($event,'summary')\"\n [disabled]=\"isPaymentExist\"\n [ngClass]='isPaymentExist ? \"govuk-button govuk-button--secondary button--disabled\" : \"govuk-button govuk-button--secondary\"'>\n Add fee\n </button>\n <a *ngIf=\"isTurnOff\" (click)=\"redirectToFeeSearchPage($event,'summary')\" class=\"govuk-button govuk-button--secondary\">Add a new fee</a>\n <div class=\"feeAddButton\">\n <p class=\"paddigleft govuk-!-margin-top-2\">Total to pay: {{ outStandingAmount | currency:'GBP':'symbol-narrow':'1.2-2'}}</p>\n </div>\n </div>\n<!--\n <div class=\"govuk-form-group govuk-form-group--mg\" *ngIf=\"!bsPaymentDcnNumber\">\n <label class=\"govuk-label custom-govuk-label govuk-fieldset__heading--fz\" for=\"responsibleOffice\">\n <strong>What service is this fee for?</strong>\n </label>\n <select class=\"govuk-select govuk-select--custom\" id=\"responsibleOffice\" [(ngModel)]=\"service\" name=\"responsibleOffice\">\n <option value=\"\" selected='selected'>Please select</option>\n <option value=\"AA07\">Divorce</option>\n <option value=\"AA09\">Financial Remedy</option>\n <option value=\"AA08\">Probate</option>\n </select>\n </div> -->\n\n <div>\n <button *ngIf=\"!bsPaymentDcnNumber\" type=\"submit\" (click)=\"takePayment()\"\n [disabled]=\"totalFee <= 0 || isConfirmationBtnDisabled\"\n [ngClass]='totalFee <= 0 || !platForm || !service || isConfirmationBtnDisabled? \"button button--disabled govuk-!-margin-right-1\" : \"button govuk-!-margin-right-1\"'>\n Take payment\n </button>\n <button *ngIf=\"bsPaymentDcnNumber\" type=\"button\" (click)=\"goToAllocatePage(outStandingAmount, isFeeAmountZero)\" class=\"button govuk-!-margin-right-1\">\n <span *ngIf=\"outStandingAmount > 0 || (isFeeAmountZero && outStandingAmount === 0)\">\n Allocate payment\n </span>\n <span *ngIf=\"outStandingAmount < 0 || (!isFeeAmountZero && outStandingAmount === 0)\">\n Continue\n </span>\n </button>\n </div>\n\n</main>\n</div>\n\n <ng-container *ngIf=\"viewStatus === 'feeRemovalConfirmation'\">\n <input #myInput type='hidden' class='iFrameDrivenImageValue' value='FEEREMOVALCONFIRMATION_1'>\n <div class=\"govuk-warning-text\">\n <span class=\"govuk-warning-text__icon\" aria-hidden=\"true\">!</span>\n <strong class=\"govuk-warning-text__text\">\n <span class=\"govuk-warning-text__assistive\">Warning</span>\n Are you sure you want to delete this fee?\n </strong>\n </div>\n <div class=\"govuk-button-grb\">\n <form novalidate>\n <button type=\"submit\" class=\"button govuk-button--secondary\" (click)=\"cancelRemission()\">\n Cancel\n </button>\n <button type=\"submit\" class=\"button\"\n *ngIf =\"!isRemoveBtnDisabled\"\n [ngClass]='isRemoveBtnDisabled ? \"button button--disabled govuk-!-margin-right-1\" : \"button govuk-!-margin-right-1\"'\n (click)=\"removeFee(currentFee)\">\n Remove\n </button>\n </form>\n </div>\n </ng-container>\n<ccpay-add-remission *ngIf=\"viewStatus === 'add_remission' && currentFee\"\n [isTurnOff]=\"isTurnOff\"\n [isStrategicFixEnable]=\"isStrategicFixEnable\"\n [fee]=\"currentFee\"\n [caseType]=\"caseType\"\n [ccdCaseNumber]=\"ccdCaseNumber\"\n [paymentGroupRef]=\"paymentGroupRef\"\n (cancelRemission)=\"cancelRemission()\"></ccpay-add-remission>\n <input *ngIf=\"viewStatus === 'payhub_view' && payhubHtml\" #myInput type='hidden' class='iFrameDrivenImageValue' value='PCIPAL'>\n",
3611
+ template: "\n<div class=\"govuk-breadcrumbs\" *ngIf=\"isBackButtonEnable\">\n <ol class=\"govuk-breadcrumbs__list\">\n <li class=\"govuk-breadcrumbs__list-item\" *ngIf=\"!isTurnOff\">\n <a (click)=\"loadCaseTransactionPage()\" class=\"govuk-back-link govuk-label\">Back</a>\n </li>\n <li class=\"govuk-breadcrumbs__list-item\" *ngIf=\"isTurnOff\">\n <a (click)=\"redirectToFeeSearchPage($event,'summary')\" class=\"govuk-back-link govuk-label\">Back</a>\n </li>\n </ol>\n</div>\n<div class=\"fee-summary\" *ngIf=\"viewStatus === 'main'\">\n <main class=\"govuk-main-wrapper\">\n <input #myInput type='hidden' class='iFrameDrivenImageValue' value='FEESUMMARY'>\n <div class=\"summaryheader\">\n <h1 class=\"heading-large govuk-!-margin-top-3 govuk-!-margin-bottom-4\">Summary </h1>\n <p class=\"govuk-!-margin-top-5 caseref\">Case reference:{{ccdCaseNumber | ccdHyphens}}</p>\n </div>\n\n <!-- <div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-two-thirds\">\n <h1 class=\"heading-xlarge\">Fee Summary</h1>\n </div>\n\n\n \u00A0<div\u00A0class=\"govuk-grid-column-one-third\"\u00A0align=\"right\">\n \u00A0\u00A0\u00A0\u00A0\u00A0\u00A0<button\u00A0 *ngIf=\"!isTurnOff\" (click)=\"redirectToFeeSearchPage($event,'summary')\"\n \u00A0\u00A0\u00A0\u00A0\u00A0\u00A0[disabled]=\"isPaymentExist\"\n \u00A0\u00A0\u00A0\u00A0\u00A0\u00A0[ngClass]='isPaymentExist ?\u00A0\"button\u00A0button--disabled govuk-!-margin-right-1\"\u00A0:\u00A0\"button govuk-!-margin-right-1\"'>\n Add a new fee\n </button>\n\n <a *ngIf=\"isTurnOff\" (click)=\"redirectToFeeSearchPage($event,'summary')\" class=\"button\">Add a new fee</a>\n </div>\n </div> -->\n\n\n <div *ngIf=\"errorMessage\">\n <div class=\"error-summary\" role=\"group\" aria-labelledby=\"failure-error-summary-heading\" tabindex=\"-1\">\n <h2 class=\"heading-medium error-summary-heading\" id=\"failure-error-summary-heading\">\n Payment Group details could not be retrieved\n </h2>\n <div class=\"govuk-error-summary__body\">\n {{ errorMessage }}\n </div>\n </div>\n </div>\n\n <div class=\"govuk-!-margin-top-3\">\n <table class=\"govuk-table govuk-!-margin-bottom-2\" *ngIf=\"!errorMessage && paymentGroup\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <th class=\"govuk-table__header\" scope=\"col\" class=\"class600\">Description</th>\n <th class=\"govuk-table__header\" scope=\"col\" class=\"class60\">Quantity</th>\n <th class=\"govuk-table__header\" scope=\"col\" class=\"class80\"></th>\n <th class=\"govuk-table__header\" scope=\"col\" class=\"class100\">Amount</th>\n </tr>\n </thead>\n\n <tbody class=\"govuk-table__body\" *ngIf=\"paymentGroup.fees\">\n <tr class=\"govuk-table__row\" *ngFor=\"let fee of paymentGroup.fees; let i = index;\">\n <td class=\"govuk-table__cell\">{{ fee.description }}\n\n <span class=\"no-border\" *ngIf=\"(isPaymentExist || (getRemissionByFeeCode(fee.code)?.hwf_amount === 0 || !getRemissionByFeeCode(fee.code)?.hwf_amount)) && !isTurnOff\">\n\n\n <a (click)=\"confirmRemoveFee(fee.id)\" *ngIf=\"(!isPaymentExist || !fee.remissions)\" [ngClass]='isPaymentExist || fee.remissions? \"disable-link\" : \"\"'> <br>Remove</a>\n </span>\n\n <span class=\"no-border\" *ngIf=\"(!isPaymentExist || (getRemissionByFeeCode(fee.code)?.hwf_amount === 0 || !getRemissionByFeeCode(fee.code)?.hwf_amount)) && isTurnOff \">\n <a (click)=\"confirmRemoveFee(fee.id)\">Remove</a>\n </span>\n\n <a (click)=\"addRemission(fee)\" class=\"remissionActive\" *ngIf=\"(getRemissionByFeeCode(fee.code)?.hwf_amount === 0 || !getRemissionByFeeCode(fee.code)?.hwf_amount) && !isPaymentExist && !isTurnOff\">\n Add help with fees or remission\n </a>\n <a (click)=\"addRemission(fee)\" class=\"remissionActive\" *ngIf=\"(getRemissionByFeeCode(fee.code)?.hwf_amount === 0 || !getRemissionByFeeCode(fee.code)?.hwf_amount) && isTurnOff\">\n Add help with fees or remission\n </a>\n <span *ngIf = \"getRemissionByFeeCode(fee.code)?.hwf_amount > 0\">\n <br>\n <div class=\"govuk-table__cell_border\" *ngIf = \"getRemissionByFeeCode(fee.code)?.hwf_amount > 0\">Remission,{{ getRemissionByFeeCode(fee.code)?.hwf_reference }}</div>\n </span>\n </td>\n\n <td class=\"govuk-table__cell\" *ngIf=\"fee.volume && fee.volume > 0\">\n {{ fee.volume }}\n <span *ngIf = \"getRemissionByFeeCode(fee.code)?.hwf_amount > 0\">\n <br>\n <div class=\"govuk-table__cell_border\">1</div>\n </span>\n </td>\n\n <td class=\"govuk-table__cell alignright\">\n <br>\n <div *ngIf = \"getRemissionByFeeCode(fee.code)?.hwf_amount > 0\" class=\"govuk-table__cell_border\"> <br><br></div>\n </td>\n <td class=\"govuk-table__cell alignright\" >\n {{ fee.calculated_amount | currency:'GBP':'symbol-narrow':'1.2-2' }}\n <span *ngIf = \"getRemissionByFeeCode(fee.code)?.hwf_amount > 0\">\n <br>\n <div class=\"govuk-table__cell_rmborder alignright\">\n -{{ getRemissionByFeeCode(fee.code)?.hwf_amount? ( getRemissionByFeeCode(fee.code)?.hwf_amount | currency:'GBP':'symbol-narrow':'1.2-2') : '-' }}\n </div>\n </span>\n </td>\n\n\n </tr>\n <!-- <tr>\n <td *ngIf = \"getRemissionByFeeCode(fee.code)?.hwf_amount > 0\">\n <br>\n <div class=\"govuk-table__cell_border\" *ngIf = \"getRemissionByFeeCode(fee.code)?.hwf_amount > 0\">Remission,{{ getRemissionByFeeCode(fee.code)?.hwf_reference }}</div>\n </td>\n <td *ngIf = \"getRemissionByFeeCode(fee.code)?.hwf_amount ===''\">\n <div class=\"govuk-table__cell_border\"></div>\n </td>\n <td *ngIf = \"getRemissionByFeeCode(fee.code)?.hwf_amount === ''\">\n <br>\n <div class=\"govuk-table__cell_border\" *ngIf = \"getRemissionByFeeCode(fee.code)?.hwf_amount === ''\"></div>\n </td>\n <td>\n <br>\n <div class=\"govuk-table__cell_border\" style=\"text-align: right;\">\n -{{ getRemissionByFeeCode(fee.code)?.hwf_amount? ( getRemissionByFeeCode(fee.code)?.hwf_amount | currency:'GBP':'symbol-narrow':'1.2-2') : '-' }}\n </div>\n </td>\n </tr> -->\n </tbody>\n </table>\n </div>\n <div class=\"addfee\">\n <button *ngIf=\"!isTurnOff\" (click)=\"redirectToFeeSearchPage($event,'summary')\"\n [disabled]=\"isPaymentExist\"\n [ngClass]='isPaymentExist ? \"govuk-button govuk-button--secondary button--disabled\" : \"govuk-button govuk-button--secondary\"'>\n Add fee\n </button>\n <a *ngIf=\"isTurnOff\" (click)=\"redirectToFeeSearchPage($event,'summary')\" class=\"govuk-button govuk-button--secondary\">Add a new fee</a>\n <div class=\"feeAddButton\">\n <p class=\"paddigleft govuk-!-margin-top-2\">Total to pay: {{ outStandingAmount | currency:'GBP':'symbol-narrow':'1.2-2'}}</p>\n </div>\n </div>\n<!--\n <div class=\"govuk-form-group govuk-form-group--mg\" *ngIf=\"!bsPaymentDcnNumber\">\n <label class=\"govuk-label custom-govuk-label govuk-fieldset__heading--fz\" for=\"responsibleOffice\">\n <strong>What service is this fee for?</strong>\n </label>\n <select class=\"govuk-select govuk-select--custom\" id=\"responsibleOffice\" [(ngModel)]=\"service\" name=\"responsibleOffice\">\n <option value=\"\" selected='selected'>Please select</option>\n <option value=\"AA07\">Divorce</option>\n <option value=\"AA09\">Financial Remedy</option>\n <option value=\"AA08\">Probate</option>\n </select>\n </div> -->\n\n <div>\n <button *ngIf=\"!bsPaymentDcnNumber\" type=\"submit\" (click)=\"takePayment()\"\n [disabled]=\"totalFee <= 0 || isConfirmationBtnDisabled\"\n [ngClass]='totalFee <= 0 || !platForm || !service || isConfirmationBtnDisabled? \"button button--disabled govuk-!-margin-right-1\" : \"button govuk-!-margin-right-1\"'>\n Take payment\n </button>\n <button *ngIf=\"bsPaymentDcnNumber\" type=\"button\" (click)=\"goToAllocatePage(outStandingAmount, isFeeAmountZero)\" class=\"button govuk-!-margin-right-1\">\n <span *ngIf=\"outStandingAmount > 0 || (isFeeAmountZero && outStandingAmount === 0)\">\n Allocate payment\n </span>\n <span *ngIf=\"outStandingAmount < 0 || (!isFeeAmountZero && outStandingAmount === 0)\">\n Continue\n </span>\n </button>\n </div>\n\n</main>\n</div>\n\n <ng-container *ngIf=\"viewStatus === 'feeRemovalConfirmation'\">\n <input #myInput type='hidden' class='iFrameDrivenImageValue' value='FEEREMOVALCONFIRMATION_1'>\n <div class=\"govuk-warning-text\">\n <span class=\"govuk-warning-text__icon\" aria-hidden=\"true\">!</span>\n <strong class=\"govuk-warning-text__text\">\n <span class=\"govuk-warning-text__assistive\">Warning</span>\n Are you sure you want to delete this fee?\n </strong>\n </div>\n <div class=\"govuk-button-grb\">\n <form novalidate>\n <button type=\"submit\" class=\"button govuk-button--secondary\" (click)=\"cancelRemission()\">\n Cancel\n </button>\n <button type=\"submit\" class=\"button\"\n *ngIf =\"!isRemoveBtnDisabled\"\n [ngClass]='isRemoveBtnDisabled ? \"button button--disabled govuk-!-margin-right-1\" : \"button govuk-!-margin-right-1\"'\n (click)=\"removeFee(currentFee)\">\n Remove\n </button>\n </form>\n </div>\n </ng-container>\n<ccpay-add-remission *ngIf=\"viewStatus === 'add_remission' && currentFee\"\n [isTurnOff]=\"isTurnOff\"\n [isStrategicFixEnable]=\"isStrategicFixEnable\"\n [fee]=\"currentFee\"\n [caseType]=\"caseType\"\n [ccdCaseNumber]=\"ccdCaseNumber\"\n [paymentGroupRef]=\"paymentGroupRef\"\n (cancelRemission)=\"cancelRemission()\"></ccpay-add-remission>\n <input *ngIf=\"viewStatus === 'payhub_view' && payhubHtml\" #myInput type='hidden' class='iFrameDrivenImageValue' value='PCIPAL'>\n",
3040
3612
  styles: [".fee-summary .grey-text{color:#6b7376;font-weight:500}.fee-summary .govuk-table{margin-bottom:0}.fee-summary .no-border{border:none}.fee-summary table td,.fee-summary table th{font-size:19px;vertical-align:top}.fee-summary table td .no-padding,.fee-summary table th .no-padding{padding:0}.fee-summary table td .subcolumn-1,.fee-summary table th .subcolumn-1{width:45%}.fee-summary table td .subcolumn-2,.fee-summary table th .subcolumn-2{width:25%;text-align:right}.fee-summary table td .subcolumn-3,.fee-summary table th .subcolumn-3{width:30%;text-align:center}table th{font-weight:700}.govuk-button-grb{padding-bottom:20px}.govuk-button-grb .govuk-button--secondary{background-color:#dee0e2;box-shadow:0 2px 0 #858688;color:#0b0c0c;margin-right:10px}.govuk-form-group--mg{margin-top:10px!important}.govuk-fieldset__heading--fz{font-size:16px}.remissionDisable{color:grey;cursor:default}.heading-xlarge{margin:0 0 14px -20px}.govuk-select--custom{width:50%}.disable-link{cursor:default;pointer-events:none;color:#8e8c8c}.govuk-table__cell_border,.govuk-table__header{padding:10px 0 0;border-top:1px solid #bfc1c3;text-align:left}.govuk-table__cell,.govuk-table__header{padding:10px 0}.govuk-table__cell_rmborder,.govuk-table__header{padding:10px 0 0;border-top:1px solid #bfc1c3;text-align:left}.govuk-table__fessheader{font-weight:700}.govuk-button{font-size:19px}.feeAddButton{padding-left:65rem}.remissionActive{padding-left:10px}.paddigleft{padding-left:2em}.govuk-back-link{font-size:1.5rem!important}.govuk-warning-text__text{font-size:19px}.summaryheader{display:flex;flex-direction:row;justify-content:space-between;width:960px}.class600{width:600px}.class60{width:60px}.class80{width:80px;text-align:right}.class100{width:100px}.alignright,.class100{text-align:right}.caseref{align-self:flex-end}.addfee{display:flex;flex-direction:row}"]
3041
3613
  },] }
3042
3614
  ];
@@ -3682,11 +4254,11 @@
3682
4254
  if (this.isUnprocessedRecordSelected && this.isExceptionCase) {
3683
4255
  this.isMarkAsUnidentifiedbtnEnabled = true;
3684
4256
  }
3685
- else if (this.isUnprocessedRecordSelected && !this.isExceptionCase && !this.FEE_RECORDS_EXISTS) {
4257
+ else if (this.isUnprocessedRecordSelected && !this.isExceptionCase && this.FEE_RECORDS_EXISTS !== null && !this.FEE_RECORDS_EXISTS) {
3686
4258
  this.isAllocateToExistingFeebtnEnabled = false;
3687
4259
  this.isAllocatedToNewFeebtnEnabled = true;
3688
4260
  }
3689
- else if (this.isUnprocessedRecordSelected && !this.isExceptionCase && this.FEE_RECORDS_EXISTS) {
4261
+ else if (this.isUnprocessedRecordSelected && !this.isExceptionCase && (this.FEE_RECORDS_EXISTS === null || this.FEE_RECORDS_EXISTS)) {
3690
4262
  if (!this.ISTURNOFF) {
3691
4263
  this.isAllocateToExistingFeebtnEnabled = true;
3692
4264
  this.isAllocatedToNewFeebtnEnabled = false;
@@ -4182,27 +4754,22 @@
4182
4754
  return AddRetroRemissionRequest;
4183
4755
  }());
4184
4756
 
4185
- var PostRefundRetroRemission = /** @class */ (function () {
4186
- function PostRefundRetroRemission(payment_reference, refund_reason) {
4187
- this.payment_reference = payment_reference;
4188
- this.refund_reason = refund_reason;
4189
- }
4190
- return PostRefundRetroRemission;
4191
- }());
4192
-
4193
4757
  var PostIssueRefundRetroRemission = /** @class */ (function () {
4194
- function PostIssueRefundRetroRemission(remissionReference) {
4758
+ function PostIssueRefundRetroRemission(remissionReference, contactDeatils) {
4195
4759
  this.remissionReference = remissionReference;
4760
+ this.contact_details = contactDeatils;
4196
4761
  }
4197
4762
  return PostIssueRefundRetroRemission;
4198
4763
  }());
4199
4764
 
4200
4765
  var BS_ENABLE_FLAG$1 = 'bulk-scan-enabling-fe';
4766
+ var resolvedPromise = Promise.resolve(null);
4201
4767
  var AddRemissionComponent = /** @class */ (function () {
4202
- function AddRemissionComponent(formBuilder, router, paymentViewService, paymentLibComponent, refundService, cd, OrderslistService) {
4768
+ function AddRemissionComponent(formBuilder, router, paymentViewService, notificationService, paymentLibComponent, refundService, cd, OrderslistService) {
4203
4769
  this.formBuilder = formBuilder;
4204
4770
  this.router = router;
4205
4771
  this.paymentViewService = paymentViewService;
4772
+ this.notificationService = notificationService;
4206
4773
  this.paymentLibComponent = paymentLibComponent;
4207
4774
  this.refundService = refundService;
4208
4775
  this.cd = cd;
@@ -4211,6 +4778,7 @@
4211
4778
  //@Output() refundListReason: EventEmitter<any> = new EventEmitter({reason:string, code:string});
4212
4779
  this.refundListReason = new i0.EventEmitter();
4213
4780
  this.refundListAmount = new i0.EventEmitter();
4781
+ this.refundFees = new i0.EventEmitter();
4214
4782
  this.refund = {
4215
4783
  reason: {
4216
4784
  duplicate: 'Duplicate payment',
@@ -4239,9 +4807,13 @@
4239
4807
  this.isRemissionApplied = false;
4240
4808
  // refundReasons: any[] = [];
4241
4809
  this.commonRefundReasons = [];
4810
+ this.class = '';
4811
+ this.errorMsg = new Array();
4242
4812
  }
4243
4813
  AddRemissionComponent.prototype.ngOnInit = function () {
4244
4814
  var _this = this;
4815
+ this.errorMessage = '';
4816
+ this.errorMsg = [];
4245
4817
  this.default = 'Select a different reason';
4246
4818
  this.pattern1 = '^([a-zA-Z0-9]{3})-([a-zA-Z0-9]{3})-([a-zA-Z0-9]{3})$';
4247
4819
  this.pattern2 = '^([A-Za-z]{2}[0-9]{2})-([0-9]{6})$';
@@ -4254,6 +4826,7 @@
4254
4826
  this.amount = (this.fee.volume * this.fee.calculated_amount);
4255
4827
  }
4256
4828
  if (this.payment) {
4829
+ this.paymentReference = this.payment.reference;
4257
4830
  this.remessionPayment = this.payment;
4258
4831
  if (this.payment.status === 'Success') {
4259
4832
  this.isPaymentSuccess = true;
@@ -4272,26 +4845,160 @@
4272
4845
  ])),
4273
4846
  refundReason: new forms.FormControl('', forms.Validators.compose([forms.Validators.required])),
4274
4847
  refundDDReason: new forms.FormControl('', forms.Validators.compose([forms.Validators.required])),
4275
- reason: new forms.FormControl()
4848
+ reason: new forms.FormControl(),
4849
+ feeAmount: new forms.FormControl(),
4850
+ feesList: this.formBuilder.array([])
4276
4851
  });
4277
4852
  var remissionctrls = this.remissionForm.controls;
4278
4853
  remissionctrls['refundDDReason'].setValue('Select a different reason', { onlySelf: true });
4854
+ if (this.refundPaymentReference !== undefined && this.refundPaymentReference.length > 0) {
4855
+ this.paymentReference = this.refundPaymentReference;
4856
+ }
4857
+ else {
4858
+ this.paymentReference = (this.payment !== undefined) ? this.payment.reference : '';
4859
+ }
4860
+ if (this.isFromServiceRequestPage) {
4861
+ this.paymentViewService.getApportionPaymentDetails(this.paymentReference).subscribe(function (paymentGroup) {
4862
+ var fees = [];
4863
+ paymentGroup.fees.forEach(function (fee) {
4864
+ _this.isRemissionsMatch = false;
4865
+ paymentGroup.remissions.forEach(function (rem) {
4866
+ if (rem.fee_code === fee.code) {
4867
+ _this.isRemissionsMatch = true;
4868
+ fee['remissions'] = rem;
4869
+ fees.push(fee);
4870
+ }
4871
+ });
4872
+ if (!_this.isRemissionsMatch) {
4873
+ fees.push(fee);
4874
+ }
4875
+ });
4876
+ paymentGroup.fees = fees;
4877
+ _this.paymentFees = fees;
4878
+ _this.fees = fees;
4879
+ _this.paymentGroup = paymentGroup;
4880
+ _this.paymentGroup.payments = _this.paymentGroup.payments.filter(function (paymentGroupObj) { return paymentGroupObj['reference'].includes(_this.paymentLibComponent.paymentReference); });
4881
+ // const paymentAllocation = this.paymentGroup.payments[0].payment_allocation;
4882
+ // this.isStatusAllocated = paymentAllocation.length > 0 && paymentAllocation[0].allocation_status === 'Allocated' || paymentAllocation.length === 0;
4883
+ _this.refundFeesList();
4884
+ }, function (error) { return _this.errorMessage = error; });
4885
+ }
4886
+ if (this.fees && this.viewCompStatus === 'issuerefund') {
4887
+ this.refundFeesList();
4888
+ }
4279
4889
  if (this.viewCompStatus === '') {
4280
4890
  this.viewStatus = 'main';
4281
4891
  }
4282
- if (this.viewCompStatus === 'issuerefund') {
4892
+ if (this.viewCompStatus === 'issuerefundpage1') {
4283
4893
  this.refundService.getRefundReasons().subscribe(function (refundReasons) {
4284
4894
  _this.refundReasons = refundReasons.filter(function (data) { return data.recently_used === false; });
4285
- _this.refundReasons = _this.refundReasons.filter(function (data) { return data.name !== 'Retrospective remission'; });
4895
+ _this.refundReasons = _this.refundReasons.filter(function (data) { return data.name !== 'Retrospective remission' && data.name !== 'Overpayment'; });
4286
4896
  _this.cd.detectChanges();
4287
4897
  _this.commonRefundReasons = refundReasons.filter(function (data) { return data.recently_used === true; });
4288
4898
  _this.commonRefundReasons.sort(function (a, b) { return a.toString().localeCompare(b); });
4289
4899
  _this.cd.detectChanges();
4290
4900
  });
4901
+ this.refundReason = this.changeRefundReason;
4291
4902
  }
4292
4903
  if (this.viewCompStatus === 'processretroremissonpage' && this.isFromRefundListPage) {
4293
4904
  this.viewStatus = 'processretroremissonpage';
4294
4905
  }
4906
+ if (this.orderDetail !== undefined) {
4907
+ this.paymentViewService.getApportionPaymentDetails(this.orderDetail[0].payments[0].reference).subscribe(function (paymentGroup) {
4908
+ _this.fees = paymentGroup.fees;
4909
+ _this.paymentReference = paymentGroup.payments[0].reference;
4910
+ }, function (error) { return _this.errorMessage = error; });
4911
+ }
4912
+ };
4913
+ AddRemissionComponent.prototype.goToPaymentViewComponent = function () {
4914
+ this.paymentLibComponent.paymentMethod = this.payment.method;
4915
+ this.paymentLibComponent.paymentGroupReference = this.paymentGroupRef;
4916
+ this.paymentLibComponent.paymentReference = this.paymentReference;
4917
+ //this.PaymentViewComponent.viewCompStatus = 'overpayment';
4918
+ this.paymentLibComponent.viewName = 'payment-view';
4919
+ };
4920
+ AddRemissionComponent.prototype.refundFeesList = function () {
4921
+ var creds = this.remissionForm.controls.feesList;
4922
+ // if(creds.controls.length > 0) {
4923
+ for (var i = 0; i < this.fees.length; i++) {
4924
+ creds.push(this.formBuilder.group({
4925
+ id: this.fees[i].id,
4926
+ code: this.fees[i].code,
4927
+ volume: this.fees[i].volume,
4928
+ calculated_amount: this.fees[i].calculated_amount,
4929
+ apportion_amount: this.fees[i].apportion_amount,
4930
+ ccd_case_number: this.fees[i].ccd_case_number,
4931
+ description: this.fees[i].description,
4932
+ net_amount: this.fees[i].net_amount,
4933
+ version: this.fees[i].version,
4934
+ refund_amount: [''],
4935
+ selected: [''],
4936
+ updated_volume: this.fees[i].volume
4937
+ }));
4938
+ }
4939
+ this.cd.detectChanges();
4940
+ //}
4941
+ };
4942
+ Object.defineProperty(AddRemissionComponent.prototype, "feesList", {
4943
+ get: function () {
4944
+ var dd = this.remissionForm.get('feesList');
4945
+ return this.remissionForm.get('feesList');
4946
+ },
4947
+ enumerable: false,
4948
+ configurable: true
4949
+ });
4950
+ AddRemissionComponent.prototype.noneSelected = function () {
4951
+ if (this.isFullyRefund) {
4952
+ return false;
4953
+ }
4954
+ else {
4955
+ if (!this.feesList.controls.some(function (item) { return item.get('selected').value === true; })) {
4956
+ this.errorMsg = [];
4957
+ [].forEach.call(document.querySelectorAll('input'), function (el) {
4958
+ el.classList.remove('inline-error-class');
4959
+ });
4960
+ }
4961
+ return !this.feesList.controls.some(function (item) { return item.get('selected').value === true; });
4962
+ }
4963
+ };
4964
+ AddRemissionComponent.prototype.check_en = function (i, v1, AppAmt, Volume) {
4965
+ var ele = document.getElementById(v1);
4966
+ var formArray = this.remissionForm.controls.feesList;
4967
+ if (ele.checked) {
4968
+ formArray.at(i).get('refund_amount').setValue(AppAmt);
4969
+ formArray.at(i).get('volume').setValue(Volume);
4970
+ formArray.at(i).get('selected').setValue(true);
4971
+ formArray.at(i).get('updated_volume').setValue(Volume);
4972
+ document.getElementById('feeAmount_' + v1).value = AppAmt;
4973
+ document.getElementById('feeAmount_' + v1).removeAttribute("disabled");
4974
+ if (Volume === 1) {
4975
+ document.getElementById('VolumeUpdated_' + v1).value = Volume;
4976
+ }
4977
+ else {
4978
+ document.getElementById('feeVolumeUpdated_' + v1).value = Volume;
4979
+ }
4980
+ if (document.getElementById('feeVolumeUpdated_' + v1) !== null) {
4981
+ document.getElementById('feeAmount_' + v1).removeAttribute("disabled");
4982
+ document.getElementById('feeVolumeUpdated_' + v1).removeAttribute("disabled");
4983
+ }
4984
+ this.cd.detectChanges();
4985
+ }
4986
+ else {
4987
+ this.errorMsg = [];
4988
+ document.getElementById('feeAmount_' + v1).setAttribute("disabled", "true");
4989
+ this.remissionForm.value.feesList[i]["refund_amount"] = '';
4990
+ this.remissionForm.value.feesList[i]["volume"] = '';
4991
+ this.remissionForm.value.feesList[i]["selected"] = false;
4992
+ document.getElementById('feeAmount_' + v1).value = '';
4993
+ if (Volume > 1) {
4994
+ this.remissionForm.value.feesList[i]["volume"] = '';
4995
+ document.getElementById('feeVolumeUpdated_' + v1).value = '';
4996
+ }
4997
+ if (document.getElementById('feeVolumeUpdated_' + v1) !== null) {
4998
+ document.getElementById('feeVolumeUpdated_' + v1).removeAttribute("disabled");
4999
+ }
5000
+ this.cd.detectChanges();
5001
+ }
4295
5002
  };
4296
5003
  AddRemissionComponent.prototype.addRemission = function () {
4297
5004
  this.resetRemissionForm([false, false, false, false, false, false], 'All');
@@ -4366,6 +5073,8 @@
4366
5073
  // Add retro remission changes
4367
5074
  AddRemissionComponent.prototype.addRemissionCode = function () {
4368
5075
  this.errorMessage = false;
5076
+ // this.isFromCheckAnsPage = true;
5077
+ this.errorMsg = [];
4369
5078
  this.viewStatus = '';
4370
5079
  this.isRefundRemission = false;
4371
5080
  this.resetRemissionForm([false, false, false, false, false, false], 'All');
@@ -4375,8 +5084,14 @@
4375
5084
  this.remissionForm.controls['refundDDReason'].setErrors(null);
4376
5085
  this.remissionForm.controls['amount'].setErrors(null);
4377
5086
  if (this.remissionForm.dirty && this.remissionForm.valid) {
4378
- this.viewCompStatus = '';
4379
- this.viewStatus = "processretroremissonpage";
5087
+ if (!this.isFromCheckAnsPage) {
5088
+ this.viewCompStatus = '';
5089
+ this.viewStatus = "processretroremissonpage";
5090
+ }
5091
+ else {
5092
+ this.viewCompStatus = '';
5093
+ this.viewStatus = 'checkretroremissionpage';
5094
+ }
4380
5095
  }
4381
5096
  else {
4382
5097
  if (remissionctrls['remissionCode'].value == '') {
@@ -4401,8 +5116,9 @@
4401
5116
  };
4402
5117
  AddRemissionComponent.prototype.gotoAddRetroRemissionCodePage = function () {
4403
5118
  this.errorMessage = false;
5119
+ this.isFromCheckAnsPage = false;
5120
+ this.errorMsg = [];
4404
5121
  if (this.isRefundRemission) {
4405
- this.paymentLibComponent.iscancelClicked = true;
4406
5122
  this.refundListAmount.emit();
4407
5123
  this.paymentLibComponent.isFromRefundStatusPage = true;
4408
5124
  return;
@@ -4418,6 +5134,7 @@
4418
5134
  this.viewCompStatus = "addremission";
4419
5135
  this.isRefundRemission = true;
4420
5136
  this.errorMessage = '';
5137
+ this.errorMsg = [];
4421
5138
  if (this.isFromPaymentDetailPage) {
4422
5139
  this.paymentLibComponent.viewName = 'payment-view';
4423
5140
  }
@@ -4458,11 +5175,30 @@
4458
5175
  //}
4459
5176
  }
4460
5177
  };
5178
+ AddRemissionComponent.prototype.gotoAmountRetroRemission = function () {
5179
+ this.isFromCheckAnsPage = false;
5180
+ this.viewStatus = 'processretroremissonpage';
5181
+ this.viewCompStatus = '';
5182
+ // this.isRefundRemission = true;
5183
+ this.errorMessage = '';
5184
+ };
4461
5185
  AddRemissionComponent.prototype.gotoProcessRetroRemissionPage = function () {
5186
+ this.isFromCheckAnsPage = true;
4462
5187
  this.viewStatus = '';
4463
5188
  this.viewCompStatus = 'addremission';
4464
5189
  this.isRefundRemission = true;
4465
5190
  this.errorMessage = '';
5191
+ this.errorMsg = [];
5192
+ };
5193
+ AddRemissionComponent.prototype.gotoProcessRetroRemission = function (note) {
5194
+ if (note) {
5195
+ this.notification = { contact_details: note, notification_type: note.notification_type };
5196
+ }
5197
+ this.isFromCheckAnsPage = true;
5198
+ this.viewStatus = 'remissionAddressPage';
5199
+ this.viewCompStatus = '';
5200
+ this.isRefundRemission = true;
5201
+ this.errorMessage = '';
4466
5202
  };
4467
5203
  AddRemissionComponent.prototype.confirmRetroRemission = function () {
4468
5204
  var _this = this;
@@ -4487,6 +5223,7 @@
4487
5223
  AddRemissionComponent.prototype.processRefund = function () {
4488
5224
  var _this = this;
4489
5225
  this.errorMessage = '';
5226
+ this.errorMsg = [];
4490
5227
  this.isConfirmationBtnDisabled = true;
4491
5228
  if (this.isRefundRemission) {
4492
5229
  this.retroRemission = true;
@@ -4494,7 +5231,7 @@
4494
5231
  if (this.remissionReference === undefined || this.remissionReference === '') {
4495
5232
  this.remissionReference = this.remission.remission_reference;
4496
5233
  }
4497
- var requestBody = new PostIssueRefundRetroRemission(this.remissionReference);
5234
+ var requestBody = new PostIssueRefundRetroRemission(this.remissionReference, this.contactDetailsObj);
4498
5235
  this.paymentViewService.postRefundRetroRemission(requestBody).subscribe(function (response) {
4499
5236
  if (JSON.parse(response)) {
4500
5237
  _this.viewCompStatus = '';
@@ -4513,7 +5250,9 @@
4513
5250
  if (this.paymentLibComponent.REFUNDLIST === "true") {
4514
5251
  this.isFromRefundListPage = true;
4515
5252
  }
5253
+ this.totalRefundAmount = this.remissionForm.value.feesList.reduce(function (a, c) { return a + c.refund_amount * c.selected; }, 0);
4516
5254
  this.errorMessage = '';
5255
+ this.errorMsg = [];
4517
5256
  this.refundReason = this.remissionForm.controls['refundReason'].value === null ? this.remissionForm.controls['refundDDReason'].value : this.remissionForm.controls['refundReason'].value;
4518
5257
  if (!this.refundReason || this.refundReason === 'Select a different reason') {
4519
5258
  this.refundHasError = true;
@@ -4529,19 +5268,35 @@
4529
5268
  this.refundListReason.emit({ reason: this.displayRefundReason, code: this.refundReason });
4530
5269
  }
4531
5270
  else {
5271
+ if (this.isFromCheckAnsPage) {
5272
+ this.totalRefundAmount = this.remissionForm.value.feesList.reduce(function (a, c) { return a + c.refund_amount * c.selected; }, 0);
5273
+ this.isFromCheckAnsPage = false;
5274
+ this.viewStatus = 'checkissuerefundpage';
5275
+ this.viewCompStatus = '';
5276
+ this.notificationPreview = false;
5277
+ return;
5278
+ }
4532
5279
  this.viewCompStatus = '';
4533
- this.viewStatus = 'checkissuerefundpage';
5280
+ this.viewStatus = 'contactDetailsPage';
4534
5281
  }
4535
5282
  }
4536
5283
  else {
4537
5284
  this.displayRefundReason = this.selectedRefundReason;
5285
+ if (this.isFromCheckAnsPage) {
5286
+ this.totalRefundAmount = this.remissionForm.value.feesList.reduce(function (a, c) { return a + c.refund_amount * c.selected; }, 0);
5287
+ this.isFromCheckAnsPage = false;
5288
+ this.viewStatus = 'checkissuerefundpage';
5289
+ this.viewCompStatus = '';
5290
+ this.notificationPreview = false;
5291
+ return;
5292
+ }
4538
5293
  if (this.isFromRefundListPage) {
4539
5294
  this.paymentLibComponent.isFromRefundStatusPage = true;
4540
5295
  this.refundListReason.emit({ reason: this.selectedRefundReason, code: this.refundReason });
4541
5296
  }
4542
5297
  else {
4543
5298
  this.viewCompStatus = '';
4544
- this.viewStatus = 'checkissuerefundpage';
5299
+ this.viewStatus = 'contactDetailsPage';
4545
5300
  }
4546
5301
  }
4547
5302
  };
@@ -4551,26 +5306,174 @@
4551
5306
  this.viewStatus = '';
4552
5307
  this.isRefundRemission = true;
4553
5308
  this.errorMessage = false;
5309
+ this.errorMsg = [];
4554
5310
  this.refundHasError = false;
4555
5311
  this.isReasonEmpty = false;
4556
5312
  };
5313
+ AddRemissionComponent.prototype.gotoIssuePage = function (isFullyRefund) {
5314
+ if (isFullyRefund) {
5315
+ this.viewCompStatus = 'issuerefundpage1';
5316
+ this.getRefundReasons();
5317
+ }
5318
+ else {
5319
+ [].forEach.call(document.querySelectorAll('input'), function (el) {
5320
+ el.classList.remove('inline-error-class');
5321
+ });
5322
+ var checkboxs = document.getElementsByTagName('input');
5323
+ this.errorMessage = '';
5324
+ this.totalRefundAmount = 0;
5325
+ this.errorMsg = [];
5326
+ for (var j = 0; j < checkboxs.length; j++) {
5327
+ if (checkboxs[j].checked) {
5328
+ this.fullRefund = false;
5329
+ var quantity = +document.getElementById('feeVolume_' + checkboxs[j].value).value;
5330
+ var amountToRefund = +document.getElementById('feeAmount_' + checkboxs[j].value).value;
5331
+ var apportionAmount = +document.getElementById('feeApportionAmount_' + checkboxs[j].value).value;
5332
+ var calculatedAmount = +document.getElementById('calculatedAmount_' + checkboxs[j].value).value;
5333
+ if (amountToRefund === apportionAmount) {
5334
+ this.fullRefund = true;
5335
+ }
5336
+ if (amountToRefund === 0) {
5337
+ this.elementId = 'feeAmount_' + checkboxs[j].value;
5338
+ this.errorMsg.push('You need to enter a refund amount');
5339
+ this.getErrorClass(this.elementId);
5340
+ }
5341
+ if (quantity === 1) {
5342
+ if (amountToRefund > 0 && amountToRefund > apportionAmount) {
5343
+ this.elementId = 'feeAmount_' + checkboxs[j].value;
5344
+ this.errorMsg.push('The amount you want to refund is more than the amount paid');
5345
+ this.getErrorClass(this.elementId);
5346
+ }
5347
+ }
5348
+ if (quantity > 1) {
5349
+ this.quantityUpdated = +document.getElementById('feeVolumeUpdated_' + checkboxs[j].value).value;
5350
+ if (this.quantityUpdated === 0) {
5351
+ this.elementId = 'feeVolumeUpdated_' + checkboxs[j].value;
5352
+ this.errorMsg.push('You need to enter quantity');
5353
+ this.getErrorClass(this.elementId);
5354
+ }
5355
+ if (this.fullRefund && quantity !== this.quantityUpdated) {
5356
+ this.elementId = 'feeVolumeUpdated_' + checkboxs[j].value;
5357
+ this.errorMsg.push('The quantity you want to refund should be maximun available quantity');
5358
+ this.getErrorClass(this.elementId);
5359
+ }
5360
+ if (!this.fullRefund && this.quantityUpdated > 0 && amountToRefund > 0) {
5361
+ this.refundAmtForFeeVolumes = +document.getElementById('feeVOl_' + checkboxs[j].value).innerText;
5362
+ this.allowedRefundAmount = this.quantityUpdated * this.refundAmtForFeeVolumes;
5363
+ if (this.allowedRefundAmount !== amountToRefund) {
5364
+ this.elementId = 'feeAmount_' + checkboxs[j].value;
5365
+ this.errorMsg.push('The Amount to Refund should be equal to the product of Fee Amount and quantity');
5366
+ this.getErrorClass(this.elementId);
5367
+ }
5368
+ }
5369
+ if (!this.fullRefund && amountToRefund > apportionAmount) {
5370
+ this.elementId = 'feeAmount_' + checkboxs[j].value;
5371
+ this.errorMsg.push('The amount you want to refund is more than the amount paid');
5372
+ this.getErrorClass(this.elementId);
5373
+ }
5374
+ if (!this.fullRefund && this.quantityUpdated > 0 && this.quantityUpdated > quantity) {
5375
+ this.elementId = 'feeVolumeUpdated_' + checkboxs[j].value;
5376
+ this.errorMsg.push('The quantity you want to refund is more than the available quantity');
5377
+ this.getErrorClass(this.elementId);
5378
+ }
5379
+ }
5380
+ //this.remissionForm.value.feesList.find(id=>id=checkboxs[j].value)['refund_amount'] = apportionAmount;
5381
+ }
5382
+ }
5383
+ if (this.errorMsg.length === 0) {
5384
+ if (this.isFromCheckAnsPage) {
5385
+ this.isFromCheckAnsPage = false;
5386
+ this.totalRefundAmount = this.remissionForm.value.feesList.reduce(function (a, c) { return a + c.refund_amount * c.selected; }, 0);
5387
+ this.fees = this.remissionForm.value.feesList.filter(function (value) { return value.selected === true; });
5388
+ this.viewStatus = 'checkissuerefundpage';
5389
+ this.viewCompStatus = '';
5390
+ this.notificationPreview = false;
5391
+ return;
5392
+ }
5393
+ else if (this.isFromRefundStatusPage) {
5394
+ var remissionctrls = this.remissionForm.controls;
5395
+ this.totalRefundAmount = this.remissionForm.value.feesList.reduce(function (a, c) { return a + c.refund_amount * c.selected; }, 0);
5396
+ this.refundListAmount.emit(this.totalRefundAmount.toString());
5397
+ this.fees = this.remissionForm.value.feesList.filter(function (value) { return value.selected === true; });
5398
+ this.refundFees.emit(this.fees);
5399
+ return;
5400
+ }
5401
+ this.viewCompStatus = 'issuerefundpage1';
5402
+ this.getRefundReasons();
5403
+ }
5404
+ }
5405
+ };
5406
+ AddRemissionComponent.prototype.calAmtToRefund = function (value, amount, volume, i) {
5407
+ var volumeFee = amount / volume;
5408
+ var amtToRefund = value * volumeFee;
5409
+ var formArray = this.remissionForm.controls.feesList;
5410
+ formArray.at(i).get('refund_amount').setValue(amtToRefund);
5411
+ // formArray.at(i).get('volume').setValue(value);
5412
+ // (<HTMLInputElement>document.getElementById('feeAmount_'+i)).value = +amtToRefund;
5413
+ // const formControl = this.remissionForm.controls.feesList['volume'].at(i);
5414
+ // formControl.setValue(value);
5415
+ };
5416
+ AddRemissionComponent.prototype.gotoContactDetailsPage = function (note) {
5417
+ if (note) {
5418
+ this.notification = { contact_details: note, notification_type: note.notification_type };
5419
+ }
5420
+ this.errorMessage = '';
5421
+ this.viewCompStatus = '';
5422
+ this.viewStatus = 'contactDetailsPage';
5423
+ this.isRefundRemission = true;
5424
+ this.errorMessage = false;
5425
+ };
5426
+ AddRemissionComponent.prototype.getRefundReasons = function () {
5427
+ var _this = this;
5428
+ if (this.viewCompStatus === 'issuerefundpage1') {
5429
+ this.refundService.getRefundReasons().subscribe(function (refundReasons) {
5430
+ _this.refundReasons = refundReasons.filter(function (data) { return data.recently_used === false; });
5431
+ _this.refundReasons = _this.refundReasons.filter(function (data) { return data.name !== 'Retrospective remission'; });
5432
+ _this.cd.detectChanges();
5433
+ _this.commonRefundReasons = refundReasons.filter(function (data) { return data.recently_used === true; });
5434
+ _this.commonRefundReasons.sort(function (a, b) { return a.toString().localeCompare(b); });
5435
+ _this.cd.detectChanges();
5436
+ });
5437
+ }
5438
+ };
5439
+ AddRemissionComponent.prototype.getErrorClass = function (elementId) {
5440
+ if (this.errorMsg.length > 0) {
5441
+ var ele = document.getElementById(elementId);
5442
+ ele.classList.add('inline-error-class');
5443
+ }
5444
+ };
4557
5445
  AddRemissionComponent.prototype.changeIssueRefundReason = function () {
4558
- // this.remissionForm.controls['refundReason'].setValue('Duplicate payment');
5446
+ this.isFromCheckAnsPage = true;
4559
5447
  this.errorMessage = '';
5448
+ this.errorMsg = [];
4560
5449
  this.refundHasError = false;
4561
5450
  this.isReasonEmpty = false;
4562
- this.viewCompStatus = 'issuerefund';
5451
+ this.viewCompStatus = 'issuerefundpage1';
4563
5452
  this.viewStatus = '';
4564
5453
  this.isRefundRemission = true;
4565
5454
  };
4566
- AddRemissionComponent.prototype.confirmIssueRefund = function () {
5455
+ AddRemissionComponent.prototype.confirmIssueRefund = function (isFullyRefund) {
4567
5456
  var _this = this;
4568
5457
  this.isConfirmationBtnDisabled = true;
4569
5458
  this.errorMessage = '';
5459
+ this.errorMsg = [];
4570
5460
  if (this.isRefundRemission) {
4571
5461
  this.retroRemission = true;
4572
5462
  }
4573
- var requestBody = new PostRefundRetroRemission(this.payment.reference, this.refundReason);
5463
+ if (isFullyRefund) {
5464
+ this.totalRefundAmount = this.payment.amount;
5465
+ }
5466
+ if (!isFullyRefund) {
5467
+ this.fees = this.remissionForm.value.feesList.filter(function (value) { return value.selected === true; });
5468
+ }
5469
+ this.fees = this.fees.map(function (obj) { return ({ id: obj.id,
5470
+ code: obj.code,
5471
+ version: obj.version,
5472
+ apportion_amount: obj.apportion_amount,
5473
+ calculated_amount: obj.calculated_amount,
5474
+ updated_volume: obj.updated_volume ? obj.updated_volume : obj.volume,
5475
+ refund_amount: obj.refund_amount ? obj.refund_amount : _this.totalRefundAmount }); });
5476
+ var requestBody = new PostRefundRetroRemission(this.contactDetailsObj, this.fees, this.payment.reference, this.refundReason, this.totalRefundAmount, 'op');
4574
5477
  this.paymentViewService.postRefundsReason(requestBody).subscribe(function (response) {
4575
5478
  if (JSON.parse(response)) {
4576
5479
  _this.viewCompStatus = '';
@@ -4586,44 +5489,52 @@
4586
5489
  _this.cd.detectChanges();
4587
5490
  });
4588
5491
  };
4589
- // Retro Refund
4590
- AddRemissionComponent.prototype.confirmRetroRefund = function () {
4591
- var _this = this;
4592
- this.isConfirmationBtnDisabled = true;
4593
- this.errorMessage = '';
4594
- if (this.isRefundRemission) {
4595
- this.retroRemission = true;
4596
- }
4597
- var requestBody = new PostRefundRetroRemission(this.payment.reference, 'RR004-Retrospective remission');
4598
- this.paymentViewService.postRefundsReason(requestBody).subscribe(function (response) {
4599
- if (JSON.parse(response)) {
4600
- _this.viewCompStatus = '';
4601
- _this.viewStatus = 'retrorefundconfirmationpage';
4602
- _this.refundReference = JSON.parse(response).refund_reference;
4603
- if (JSON.parse(response).refund_amount) {
4604
- _this.refundAmount = JSON.parse(response).refund_amount;
4605
- }
4606
- }
4607
- }, function (error) {
4608
- _this.errorMessage = error;
4609
- _this.isConfirmationBtnDisabled = false;
4610
- });
5492
+ AddRemissionComponent.prototype.gotoRefundReasonPage = function () {
5493
+ this.viewStatus = '';
5494
+ this.viewCompStatus = 'issuerefundpage1';
4611
5495
  };
5496
+ // Retro Refund
5497
+ // confirmRetroRefund() {
5498
+ // this.isConfirmationBtnDisabled = true;
5499
+ // this.errorMessage = '';
5500
+ // this.errorMsg = [];
5501
+ // if( this.isRefundRemission) {
5502
+ // this.retroRemission = true;
5503
+ // }
5504
+ // const requestBody = new PostRefundRetroRemission(this.payment.reference,'RR004-Retrospective remission', this.contactDetailsObj);
5505
+ // this.paymentViewService.postRefundsReason(requestBody).subscribe(
5506
+ // response => {
5507
+ // if (JSON.parse(response)) {
5508
+ // this.viewCompStatus = '';
5509
+ // this.viewStatus = 'retrorefundconfirmationpage';
5510
+ // this.refundReference =JSON.parse(response).refund_reference;
5511
+ // if(JSON.parse(response).refund_amount) {
5512
+ // this.refundAmount = JSON.parse(response).refund_amount;
5513
+ // }
5514
+ // }
5515
+ // },
5516
+ // (error: any) => {
5517
+ // this.errorMessage = error;
5518
+ // this.isConfirmationBtnDisabled = false;
5519
+ // });
5520
+ // }
4612
5521
  AddRemissionComponent.prototype.selectRadioButton = function (key, value) {
4613
- localStorage.setItem("myradio", key);
5522
+ localStorage.setItem("myradio", value);
4614
5523
  var remissionctrls = this.remissionForm.controls;
4615
5524
  remissionctrls['refundDDReason'].setValue('Select a different reason', { onlySelf: true });
4616
5525
  remissionctrls['reason'].reset();
4617
5526
  this.isRefundReasonsSelected = true;
4618
5527
  this.errorMessage = false;
5528
+ this.errorMsg = [];
4619
5529
  this.isReasonEmpty = false;
4620
5530
  this.showReasonText = false;
4621
5531
  this.refundHasError = false;
4622
- this.selectedRefundReason = key;
5532
+ this.selectedRefundReason = value;
5533
+ this.selectedRefundReasonCode = key;
4623
5534
  if (this.selectedRefundReason.includes('Other')) {
4624
5535
  this.showReasonText = true;
4625
5536
  this.refundHasError = false;
4626
- this.refundReason = key;
5537
+ this.refundReason = value;
4627
5538
  }
4628
5539
  };
4629
5540
  AddRemissionComponent.prototype.selectchange = function (args) {
@@ -4634,6 +5545,7 @@
4634
5545
  this.showReasonText = false;
4635
5546
  this.refundHasError = false;
4636
5547
  this.selectedRefundReason = args.target.options[args.target.options.selectedIndex].id;
5548
+ this.selectedRefundReasonCode = args.target.options[args.target.options.selectedIndex].value;
4637
5549
  this.reasonLength = (29 - this.selectedRefundReason.split('- ')[1].length);
4638
5550
  if (this.selectedRefundReason.includes('Other')) {
4639
5551
  this.showReasonText = true;
@@ -4641,10 +5553,43 @@
4641
5553
  this.refundReason = args.target.options[args.target.options.selectedIndex].id;
4642
5554
  }
4643
5555
  };
5556
+ AddRemissionComponent.prototype.getContactDetails = function (obj, type) {
5557
+ this.contactDetailsObj = obj;
5558
+ this.viewCompStatus = '';
5559
+ this.notificationPreview = false;
5560
+ if (type == 'checkaddRefundpage') {
5561
+ this.getTemplateInstructionType(this.remessionPayment.reference, this.remessionPayment);
5562
+ }
5563
+ else if (type == 'checkissuerefundpage') {
5564
+ this.getTemplateInstructionType(this.payment.reference, this.payment);
5565
+ }
5566
+ else if (type == 'addrefundcheckandanswer') {
5567
+ this.getTemplateInstructionType(this.paymentReference, this.paymentObj);
5568
+ }
5569
+ this.viewStatus = type;
5570
+ };
5571
+ AddRemissionComponent.prototype.gotoPartialFeeRefundScreen = function () {
5572
+ if (this.isFromRefundStatusPage) {
5573
+ var remissionctrls = this.remissionForm.controls;
5574
+ this.refundListReason.emit({ reason: this.displayRefundReason, code: this.refundReason });
5575
+ return;
5576
+ }
5577
+ this.refundHasError = false;
5578
+ this.viewCompStatus = 'issuerefund';
5579
+ this.viewStatus = '';
5580
+ };
4644
5581
  AddRemissionComponent.prototype.gotoServiceRequestPage = function (event) {
4645
5582
  var _this = this;
4646
5583
  this.errorMessage = '';
5584
+ this.errorMsg = [];
5585
+ this.isFromCheckAnsPage = false;
4647
5586
  event.preventDefault();
5587
+ if (this.isFromRefundStatusPage) {
5588
+ var remissionctrls = this.remissionForm.controls;
5589
+ this.totalRefundAmount = 0;
5590
+ this.refundListAmount.emit(this.totalRefundAmount.toString());
5591
+ return;
5592
+ }
4648
5593
  if (this.isFromServiceRequestPage && !this.isFromPaymentDetailPage) {
4649
5594
  this.viewStatus = 'order-full-view';
4650
5595
  this.viewCompStatus = '';
@@ -4675,68 +5620,29 @@
4675
5620
  }
4676
5621
  this.viewCompStatus = '';
4677
5622
  }
4678
- // if (this.paymentLibComponent.TAKEPAYMENT === undefined && this.paymentLibComponent.SERVICEREQUEST === undefined) {
4679
- // this.paymentLibComponent.SERVICEREQUEST = 'false';
4680
- // this.paymentLibComponent.TAKEPAYMENT = false;
4681
- // }
4682
- // if (this.isFromServiceRequestPage) {
4683
- // //this.paymentLibComponent.TAKEPAYMENT = false;
4684
- // this.paymentLibComponent.isFromRefundStatusPage = false;
4685
- // this.viewStatus = 'main'
4686
- // this.paymentLibComponent.viewName = 'case-transactions';
4687
- // this.OrderslistService.setisFromServiceRequestPage(true);
4688
- // this.OrderslistService.setnavigationPage('servicerequestpage');
4689
- // }
4690
- // if ( this.isFromRefundListPage ) {
4691
- // this.paymentLibComponent.iscancelClicked = true;
4692
- // this.refundListReason.emit({reason: this.selectedRefundReason, code: this.refundReason});
4693
- // this.paymentLibComponent.isFromRefundStatusPage = true;
4694
- // }
4695
- // if(!this.paymentLibComponent.isFromRefundStatusPage) {
4696
- // if(this.payment) {
4697
- // this.OrderslistService.setpaymentPageView({method: this.payment.method,payment_group_reference: this.paymentGroupRef, reference:this.payment.reference});
4698
- // }
4699
- // if (this.isFromServiceRequestPage) {
4700
- // this.OrderslistService.setnavigationPage('servicerequestpage');
4701
- // } else {
4702
- // this.OrderslistService.setnavigationPage('paymentdetailspage');
4703
- // }
4704
- // this.errorMessage = '';
4705
- // this.paymentLibComponent.viewName = 'case-transactions';
4706
- // // this.paymentLibComponent.TAKEPAYMENT = true;
4707
- // this.paymentLibComponent.ISTURNOFF = this.isTurnOff;
4708
- // this.paymentLibComponent.isFromServiceRequestPage = true;
4709
- // this.paymentLibComponent.ISBSENABLE = true;
4710
- // let partUrl = this.bsPaymentDcnNumber ? `&dcn=${this.bsPaymentDcnNumber}` : '';
4711
- // partUrl += this.paymentLibComponent.ISBSENABLE ? '&isBulkScanning=Enable' : '&isBulkScanning=Disable';
4712
- // partUrl += this.paymentLibComponent.ISTURNOFF ? '&isTurnOff=Enable' : '&isTurnOff=Disable';
4713
- // partUrl += this.isStrategicFixEnable ? '&isStFixEnable=Enable' : '&isStFixEnable=Disable';
4714
- // partUrl += `&caseType=${this.caseType}`;
4715
- // if(this.isFromPaymentDetailPage) {
4716
- // partUrl += this.paymentLibComponent.isFromPaymentDetailPage
4717
- // }
4718
- // if(!this.paymentLibComponent.TAKEPAYMENT) {
4719
- // this.paymentLibComponent.TAKEPAYMENT = undefined;
4720
- // }
4721
- // if ( this.paymentLibComponent.SERVICEREQUEST) {
4722
- // const url = `/payment-history/${this.ccdCaseNumber}?view=case-transactions&selectedOption=${this.option}${partUrl}`;
4723
- // this.router.routeReuseStrategy.shouldReuseRoute = () => false;
4724
- // this.router.onSameUrlNavigation = 'reload';
4725
- // this.router.navigateByUrl(url);
4726
- // } else {
4727
- // const url = `/payment-history/${this.ccdCaseNumber}?view=case-transactions&takePayment=${this.paymentLibComponent.TAKEPAYMENT}&selectedOption=${this.option}${partUrl}`;
4728
- // this.router.routeReuseStrategy.shouldReuseRoute = () => false;
4729
- // this.router.onSameUrlNavigation = 'reload';
4730
- // this.router.navigateByUrl(url);
4731
- // }
4732
- // } else {
4733
- // this.paymentLibComponent.viewName === 'refundstatuslist';
4734
- // this.paymentLibComponent.isFromRefundStatusPage = true;
4735
- // }
5623
+ };
5624
+ AddRemissionComponent.prototype.gotoAddressPage = function (note) {
5625
+ if (note) {
5626
+ this.notification = { contact_details: note, notification_type: note.notification_type };
5627
+ }
5628
+ this.errorMessage = '';
5629
+ this.viewCompStatus = 'addrefundforremission';
5630
+ this.viewStatus = '';
5631
+ this.isRefundRemission = true;
5632
+ this.errorMessage = false;
5633
+ };
5634
+ AddRemissionComponent.prototype.gotoRemissionSuccess = function (event) {
5635
+ event.preventDefault();
5636
+ this.errorMessage = '';
5637
+ this.viewCompStatus = '';
5638
+ this.viewStatus = 'retroremissionconfirmationpage';
5639
+ this.isRefundRemission = true;
5640
+ this.errorMessage = false;
4736
5641
  };
4737
5642
  AddRemissionComponent.prototype.gotoCasetransationPage = function () {
4738
5643
  this.OrderslistService.setnavigationPage('casetransactions');
4739
5644
  this.errorMessage = '';
5645
+ this.errorMsg = [];
4740
5646
  this.paymentLibComponent.viewName = 'case-transactions';
4741
5647
  this.paymentLibComponent.VIEW = 'case-transactions';
4742
5648
  this.paymentLibComponent.ISTURNOFF = this.isTurnOff;
@@ -4754,28 +5660,14 @@
4754
5660
  };
4755
5661
  AddRemissionComponent.prototype.gotoCasetransationPageCancelBtnClicked = function (event) {
4756
5662
  event.preventDefault();
4757
- if (!this.paymentLibComponent.isFromServiceRequestPage) {
5663
+ this.errorMsg = [];
5664
+ if (this.paymentLibComponent.isFromServiceRequestPage !== undefined && !this.paymentLibComponent.isFromServiceRequestPage) {
4758
5665
  this.OrderslistService.setnavigationPage('casetransactions');
4759
5666
  this.OrderslistService.setisFromServiceRequestPage(false);
4760
5667
  this.paymentLibComponent.VIEW = 'case-transactions';
4761
5668
  this.paymentLibComponent.viewName = 'case-transactions';
4762
5669
  this.paymentLibComponent.ISBSENABLE = true;
4763
5670
  this.paymentLibComponent.isRefundStatusView = false;
4764
- // this.OrderslistService.setnavigationPage('casetransactions');
4765
- // this.OrderslistService.setisFromServiceRequestPage(false);
4766
- // this.paymentLibComponent.VIEW ='case-transactions';
4767
- // this.paymentLibComponent.viewName = 'case-transactions';
4768
- // this.paymentLibComponent.ISBSENABLE = true;
4769
- // this.paymentLibComponent.isRefundStatusView = false;
4770
- // this.resetOrderData(); let partUrl = this.bsPaymentDcnNumber ? `&dcn=${this.bsPaymentDcnNumber}` : '';
4771
- // partUrl += this.paymentLibComponent.ISBSENABLE ? '&isBulkScanning=Enable' : '&isBulkScanning=Disable';
4772
- // partUrl += this.paymentLibComponent.ISTURNOFF ? '&isTurnOff=Enable' : '&isTurnOff=Disable';
4773
- // partUrl += this.isStrategicFixEnable ? '&isStFixEnable=Enable' : '&isStFixEnable=Disable';
4774
- // partUrl += `&caseType=${this.caseType}`;
4775
- // const url = `/payment-history/${this.ccdCaseNumber}?view=case-transactions&takePayment=${this.paymentLibComponent.TAKEPAYMENT}&selectedOption=${this.option}${partUrl}`;
4776
- // this.router.routeReuseStrategy.shouldReuseRoute = () => false;
4777
- // this.router.onSameUrlNavigation = 'reload';
4778
- // this.router.navigateByUrl(url);
4779
5671
  }
4780
5672
  else {
4781
5673
  if (this.paymentLibComponent.REFUNDLIST) {
@@ -4825,25 +5717,52 @@
4825
5717
  this.OrderslistService.setorderRemissionTotal(null);
4826
5718
  this.OrderslistService.setorderFeesTotal(null);
4827
5719
  };
5720
+ AddRemissionComponent.prototype.changeRefundAmount = function () {
5721
+ this.isFromCheckAnsPage = true;
5722
+ this.viewCompStatus = 'issuerefund';
5723
+ this.viewStatus = '';
5724
+ };
4828
5725
  AddRemissionComponent.prototype.getFormattedCurrency = function (currency) {
4829
5726
  if (currency.toString().includes(".")) {
4830
5727
  return currency;
4831
5728
  }
4832
5729
  return currency.toString().concat(".00");
4833
5730
  };
5731
+ AddRemissionComponent.prototype.showNotificationPreview = function () {
5732
+ this.notificationPreview = true;
5733
+ };
5734
+ AddRemissionComponent.prototype.hideNotificationPreview = function () {
5735
+ this.notificationPreview = false;
5736
+ };
5737
+ AddRemissionComponent.prototype.getTemplateInstructionType = function (paymentReference, payment) {
5738
+ var _this = this;
5739
+ if (payment == undefined || payment == null || payment.reference != paymentReference) {
5740
+ this.paymentViewService.getPaymentDetails(paymentReference).subscribe(function (payment) {
5741
+ _this.paymentObj = payment;
5742
+ _this.paymentObj.reference = paymentReference;
5743
+ _this.templateInstructionType = _this.notificationService.getNotificationInstructionType(_this.paymentObj.channel, _this.paymentObj.method);
5744
+ }, function (error) {
5745
+ _this.templateInstructionType = 'Template';
5746
+ });
5747
+ }
5748
+ else {
5749
+ this.templateInstructionType = this.notificationService.getNotificationInstructionType(payment.channel, payment.method);
5750
+ }
5751
+ };
4834
5752
  return AddRemissionComponent;
4835
5753
  }());
4836
5754
  AddRemissionComponent.decorators = [
4837
5755
  { type: i0.Component, args: [{
4838
5756
  selector: 'ccpay-add-remission',
4839
- template: "<div class=\"add-remission pagesize\">\n <div *ngIf=\"errorMessage\">\n <div class=\"error-summary\" role=\"group\" aria-labelledby=\"failure-error-summary-heading\" tabindex=\"-1\">\n <h2 class=\"heading-medium error-summary-heading\" id=\"failure-error-summary-heading\">\n Error in processing the request\n </h2>\n <div class=\"govuk-error-summary__body\">\n {{ errorMessage }}\n </div>\n </div>\n </div>\n\n <ng-container *ngIf=\"viewStatus === 'main' && !isRefundRemission \">\n <input #myInput type='hidden' class='iFrameDrivenImageValue' value='ADDREMISSION'>\n <h1 class=\"heading-large\">Add remission </h1>\n <form novalidate>\n <div class=\"govuk-form-group\">\n <form [formGroup]=\"remissionForm\" novalidate>\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label govuk-label--s\" for=\"remission-code\">\n Add remission to {{ fee?.code }}: {{ fee?.description }}\n <span class=\"form-hint\">Enter remission for reference. For example: HWF-A1B-23C OR PA21-123456</span>\n </label>\n <input [ngClass]=\"{'inline-error-class': isRemissionCodeEmpty || remissionCodeHasError}\" class=\"govuk-input govuk-input--width-20 govuk-!-margin-right-1\" id=\"remissionCode\" aria-label=\"remissionCode\" name=\"remissionCode\" type=\"text\" formControlName=\"remissionCode\">\n <p class=\"inline-error-message\" *ngIf=\"isRemissionCodeEmpty || remissionCodeHasError\">\n <span *ngIf=\"isRemissionCodeEmpty\">Enter a remission code</span>\n <span *ngIf=\"remissionCodeHasError\">Enter a vaild remission code</span>\n </p>\n </div>\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label govuk-label--s\" for=\"amount\">\n How much does the applicant need to pay?\n </label>\n\n <div id=\"amount-currency\" class=\"govuk-visually-hidden\">in pounds</div>\n <div class=\"hmcts-currency-input\">\n <div class=\"hmcts-currency-input__symbol\" aria-hidden=\"true\">\u00A3</div>\n <input class=\"govuk-input govuk-input--width-10\" [ngClass]=\"{'inline-error-class': isAmountEmpty || amountHasError || isRemissionLessThanFeeError}\" id=\"amount\" aria-label=\"amount\" name=\"amount\" type=\"text\" aria-describedby=\"amount-currency\" formControlName=\"amount\">\n <p class=\"inline-error-message\" *ngIf=\"isAmountEmpty || amountHasError || isRemissionLessThanFeeError\">\n <span *ngIf=\"isAmountEmpty\">Enter a amount</span>\n <span *ngIf=\"amountHasError\">Enter a vaild amount</span>\n <span *ngIf=\"isRemissionLessThanFeeError\">The remission amount must be less than the total fee</span>\n </p>\n </div>\n </div>\n </form>\n <button class=\"button\" type=\"submit\" (click)=\"addRemission()\">\n Submit\n </button>\n </div>\n </form>\n </ng-container>\n\n <ng-container *ngIf=\"viewStatus === 'confirmation'\">\n <input #myInput type='hidden' class='iFrameDrivenImageValue' value='ADDREMISSIONCONFIRMATION'>\n <div class=\"govuk-warning-text\">\n <span class=\"govuk-warning-text__icon\" aria-hidden=\"true\">!</span>\n <strong class=\"govuk-warning-text__text\">\n <span class=\"govuk-warning-text__assistive\">Warning</span>\n Are you sure you want to add remission to this fee?\n </strong>\n </div>\n <table class=\"govuk-table\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Remission code:</td>\n <td class=\"govuk-table__cell\">{{ remissionForm.controls.remissionCode.value }}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Fee code:</td>\n <td class=\"govuk-table__cell\">{{ fee.code }}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Fee description:</td>\n <td class=\"govuk-table__cell\">{{ fee.description }}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Amount the applicant must pay:</td>\n <td class=\"govuk-table__cell\">{{ remissionForm.controls.amount.value | currency:'GBP':'symbol-narrow':'1.2-2' }}</td>\n </tr>\n </table>\n\n <button type=\"submit\" class=\"button govuk-button--secondary\" (click)=\"cancelRemission.emit()\">\n Cancel\n </button>\n <button type=\"submit\"\n [disabled]=\"isConfirmationBtnDisabled\"\n [ngClass]='isConfirmationBtnDisabled ? \"button button--disabled govuk-!-margin-right-1\" : \"button govuk-!-margin-right-1\"'\n (click)=\"confirmRemission()\">\n Confirm\n </button>\n\n </ng-container>\n\n <!-- Add retro remission changes-->\n\n <ng-container *ngIf=\"viewCompStatus === 'addremission'\">\n <input #myInput type='hidden' class='iFrameDrivenImageValue' value='PROCESSADDRETROREMISSIONPAGE'>\n <h1 class=\"heading-large\">Process remission</h1>\n <h1 class=\"heading-medium\">#{{ccdCaseNumber | ccdHyphens}}</h1>\n <h1 class=\"heading-large\">Enter help with fees or remission reference</h1>\n <form novalidate>\n <div class=\"govuk-form-group\">\n <form [formGroup]=\"remissionForm\" novalidate>\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label govuk-label--s\" for=\"remission-code\">\n <span class=\"form-hint\">For example: HWF-A1B-23C OR PA21-123456</span>\n </label>\n <p class=\"inline-error-message\" *ngIf=\"isRemissionCodeEmpty || remissionCodeHasError\">\n <span *ngIf=\"isRemissionCodeEmpty\">Enter a remission code</span>\n <span *ngIf=\"remissionCodeHasError\">Enter a vaild remission code</span>\n </p>\n <input [ngClass]=\"{'inline-error-class': isRemissionCodeEmpty || remissionCodeHasError}\" class=\"govuk-input govuk-input--width-20 govuk-!-margin-right-1\" id=\"remissionCode\" aria-label=\"remissionCode\" name=\"remissionCode\" type=\"text\" formControlName=\"remissionCode\">\n\n </div>\n\n </form>\n <div class=\"govuk-button-group\">\n <button (click)=\"gotoServiceRequestPage($event)\" class=\"govuk-button govuk-button--secondary\"> Previous</button>\n <button (click)=\"addRemissionCode()\" class=\"govuk-button\"> Continue</button>\n </div>\n <p><a href=\"javascript:void(0)\" (click)=\"gotoCasetransationPageCancelBtnClicked($event)\" class=\"govuk-link pointer\" data-module=\"govuk-button\">Cancel</a></p>\n </div>\n </form>\n\n </ng-container>\n\n <ng-container *ngIf=\"viewStatus === 'processretroremissonpage'\" >\n <input #myInput type='hidden' class='iFrameDrivenImageValue' value='PROCESSRETROREMISSIONPAGE'>\n <h1 class=\"heading-large\">Process remission</h1>\n <h1 class=\"heading-medium\">#{{ccdCaseNumber | ccdHyphens }}</h1>\n <div class=\"govuk-form-group\">\n <form novalidate>\n <div class=\"govuk-form-group\">\n <form [formGroup]=\"remissionForm\" novalidate>\n <fieldset class=\"govuk-fieldset\">\n <legend class=\"govuk-fieldset__legend govuk-fieldset__legend--m\">\n <h1 *ngIf=\"remessionPayment?.status === 'Success' || isFromRefundListPage\" class=\"heading-medium\">\n Enter the amount to be refunded\n </h1>\n <h1 *ngIf=\"remessionPayment?.status !== 'Success' && !isFromRefundListPage\" class=\"heading-medium\">\n Enter the remission amount\n </h1>\n <h1 *ngIf=\"remessionPayment?.status === 'undefined'\" class=\"heading-medium\">\n Enter the amount\n </h1>\n </legend>\n <div id=\"amount-currency\" class=\"govuk-visually-hidden\">in pounds</div>\n <p class=\"inline-error-message\" *ngIf=\"isAmountEmpty || amountHasError || isRemissionLessThanFeeError\">\n <span *ngIf=\"isAmountEmpty\">Enter a amount</span>\n <span *ngIf=\"amountHasError\">Enter a vaild amount</span>\n <span *ngIf=\"isRemissionLessThanFeeError\">You cannot add a remission that's more than the fee amount.</span>\n </p>\n <div class=\"hmcts-currency-input\">\n\n <div class=\"hmcts-currency-input__symbol\" aria-hidden=\"true\">\u00A3</div>\n <input class=\"govuk-input govuk-input--width-10\" [ngClass]=\"{'inline-error-class': isAmountEmpty || amountHasError || isRemissionLessThanFeeError}\" id=\"amount\" aria-label=\"amount\" name=\"amount\" type=\"number\" aria-describedby=\"amount-currency\" formControlName=\"amount\">\n\n\n </div>\n </fieldset>\n </form>\n\n <div class=\"govuk-button-group\">\n <button (click)=\"gotoAddRetroRemissionCodePage()\" class=\"govuk-button govuk-button--secondary\"> Previous</button>\n <button (click)=\"gotoCheckRetroRemissionPage(payment)\" class=\"govuk-button\"> Continue</button>\n\n </div>\n <p>\n <a href=\"javascript:void(0)\" (click)=\"gotoCasetransationPageCancelBtnClicked($event)\" class=\"govuk-link\" data-module=\"govuk-button\">Cancel</a>\n </p>\n </div>\n\n </form>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"viewStatus === 'checkretroremissionpage'\">\n <input #myInput type='hidden' class='iFrameDrivenImageValue' value='CHECKRETROREMISSIONCONFIRMATION'>\n <div class=\"govuk-warning-text\">\n <h1 class=\"heading-large\"> Check your answers</h1>\n </div>\n <table class=\"govuk-table\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Payment reference</td>\n <td class=\"govuk-table__cell\">{{remessionPayment ? remessionPayment.reference: ' '}}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Payment amount</td>\n <td class=\"govuk-table__cell\">\u00A3{{ remessionPayment ? getFormattedCurrency(remessionPayment.amount): ' ' | currency :'GBP':'symbol':'1.2-2'}} </td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Payment status</td>\n <td class=\"govuk-table__cell\">{{remessionPayment ? remessionPayment.status: ''}}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Fee</td>\n <td class=\"govuk-table__cell\">{{ fee.code }} - {{ fee.description }} ({{ fee.calculated_amount/fee.volume| currency:'GBP':'symbol-narrow':'1.2-2' }}) </td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Help with fees or remission reference</td>\n <td class=\"govuk-table__cell\"> {{ remissionForm.controls.remissionCode.value }}\n <a (click)=\"gotoProcessRetroRemissionPage()\" class=\"govuk-link right\" >Change</a>\n </td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td *ngIf=\"remessionPayment.status === 'Success'\" class=\"govuk-table__cell govuk-!-font-weight-bold\">Refund amount</td>\n <td *ngIf=\"remessionPayment.status !== 'Success'\" class=\"govuk-table__cell govuk-!-font-weight-bold\">Remission amount</td>\n <td class=\"govuk-table__cell\">{{remissionForm.controls.amount.value | currency:'GBP':'symbol-narrow':'1.2-2' }}\n <a (click)=\"addRemissionCode()\" class=\"govuk-link right\" >Change</a>\n </td>\n </tr>\n </table>\n\n <button type=\"submit\" class=\"button govuk-button--secondary\" (click)=\"addRemissionCode()\">Previous</button>\n <button type=\"submit\" [disabled]=\"isConfirmationBtnDisabled\" [ngClass]='isConfirmationBtnDisabled ? \"button button--disabled govuk-!-margin-right-1\" : \"button govuk-!-margin-right-1\"' (click)=\"confirmRetroRemission()\"> Add remission </button>\n <p> <a href=\"javascript:void(0)\" (click)=\"gotoCasetransationPageCancelBtnClicked($event)\" class=\"govuk-link\" data-module=\"govuk-button\"> Cancel</a> </p>\n\n </ng-container>\n\n <ng-container *ngIf=\"viewStatus === 'retroremissionconfirmationpage'\">\n <input #myInput type='hidden' class='iFrameDrivenImageValue' value='RETROREMISSIONCONFIRMATIONPAGE'>\n <div class=\"govuk-grid-row\">\n <div >\n <div class=\"govuk-panel govuk-panel--confirmation\">\n <h1 class=\"govuk-panel__title\">\n Remission added\n </h1>\n <div *ngIf=\"remessionPayment.status === 'Success'\" class=\"govuk-panel__body\">\n <p class=\"govuk-body white\"><strong>The amount to be refunded should be {{remissionForm.controls.amount.value | currency:'GBP':'symbol-narrow':'1.2-2' }}</strong></p>\n\n </div>\n </div>\n <div *ngIf=\"remessionPayment.status === 'Success'\" >\n <button type=\"submit\" [disabled]=\"!isRemissionApplied\" [ngClass]='isConfirmationBtnDisabled ? \"button button--disabled govuk-!-margin-right-1\" : \"button govuk-!-margin-right-1\"' (click)=\"processRefund()\">Submit refund </button>\n </div>\n <p class=\"govuk-body\">\n <a href=\"javascript:void(0)\" (click)=\"gotoCasetransationPageCancelBtnClicked($event)\" class=\"govuk-link pointer\" data-module=\"govuk-button\">\n Return to case\n </a>\n </p>\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"viewStatus === 'refundconfirmationpage'\">\n <input #myInput type='hidden' class='iFrameDrivenImageValue' value='RETROREMISSIONREFUNDCONFIRMATIONPAGE'>\n <div class=\"govuk-grid-row\">\n <div >\n <div class=\"govuk-panel govuk-panel--confirmation\">\n <h1 class=\"govuk-panel__title\">\n Refund submitted\n </h1>\n\n <div class=\"govuk-panel__body\">\n <p class=\"govuk-body white\"><strong>Refund reference: {{refundReference}}</strong></p>\n </div>\n\n </div>\n <div *ngIf=\"isPaymentSuccess\">\n <h2 class=\"govuk-heading-l\">What happens next</h2>\n <p class=\"govuk-body\">\n A refund request for {{refundAmount | currency:'GBP':'symbol-narrow':'1.2-2' }} has been created and will be passed to a team leader to approve.\n </p>\n </div>\n <p class=\"govuk-body\">\n <a href=\"javascript:void(0)\" (click)=\"gotoCasetransationPageCancelBtnClicked($event)\" class=\"govuk-link pointer\" data-module=\"govuk-button\">\n Return to case\n </a>\n </p>\n </div>\n </div>\n\n </ng-container>\n\n <!-- Issue Refund Section -->\n\n <ng-container *ngIf=\"viewCompStatus === 'issuerefund' && isRefundRemission\">\n <input #myInput type='hidden' class='iFrameDrivenImageValue' value='ISSUEREFUNDPAGE'>\n <h1 class=\"heading-large\">Process refund</h1>\n <h1 class=\"heading-medium\">#{{ccdCaseNumber | ccdHyphens }}</h1>\n <h1 class=\"heading-large\">Why are you making this refund?\n </h1>\n\n\n <div class=\"govuk-form-group\">\n <form novalidate>\n <div class=\"govuk-form-group\">\n <form [formGroup]=\"remissionForm\" novalidate>\n <fieldset class=\"govuk-fieldset\" aria-describedby=\"how-contacted-conditional-hint\">\n\n <div\n [ngClass]=\"refundHasError ? 'govuk-radios govuk-radios--conditional form-group-error' : 'govuk-radios govuk-radios--conditional'\"\n data-module=\"govuk-radios\" >\n <p class=\"inline-error-message\" *ngIf=\"refundHasError\">\n <span *ngIf=\"refundHasError\">Select a reason why you\u2019re making this refund</span>\n </p>\n\n\n\n <div class = \"container-fluid\">\n <div class=\"row\">\n <div class=\"govuk-radios__item col-md-4\" *ngFor=\"let refund of commonRefundReasons; let i = index;\">\n <!-- <div *ngIf = \"{{refund.name}} !== 'Retrospective remission'\"> -->\n <input class=\"govuk-radios__input\" id=\"{{refund.name}}\" name=\"refundReason\" type=\"radio\"\n formControlName=\"refundReason\" value={{refund.code}}\n (change)=\"selectRadioButton(refund.name, refund.name)\">\n <label class=\"govuk-label--s govuk-radios__label govuk-font__custom\" for=\"how-contacted-conditional\">\n {{refund.name}}\n </label>\n\n <div class=\"govuk-radios__conditional\" *ngIf=\"isRefundReasonsSelected && showReasonText && selectedRefundReason === refund.name \" >\n <label class=\"govuk-label govuk-label--m\" for=\"{{refund.name}}\">\n Enter reason\n </label>\n <div [ngClass]=\"{'form-group-error': isReasonEmpty}\">\n <p class=\"inline-error-message\" *ngIf=\"isReasonEmpty\">\n <span *ngIf=\"isReasonEmpty\">Enter a reason why you\u2019re making this refund</span>\n </p>\n\n <input class=\"govuk-input govuk-input--width-10\" [ngClass]=\"{'inline-error-class': isReasonEmpty}\" id=\"reason\" aria-label=\"reason\" name=\"reason\" type=\"text\" aria-describedby=\"reason\" maxlength=\"30\" formControlName=\"reason\">\n </div>\n </div>\n <!-- </div> -->\n </div>\n </div>\n </div>\n <br/>\n <div>\n <select formControlName=\"refundDDReason\" class=\"govuk-select\" id=\"sort\" (change)=\"selectchange($event)\">\n <option selected='selected' [defaultSelected]=true [value]=\"default\" >{{default}}</option>\n <!-- <option value=\"\" selected='selected'>Select a different reason</option> -->\n <option *ngFor=\"let refund of refundReasons;\" id=\"{{refund.name}}\" value=\"{{refund.code}}\">{{refund.name}}</option>\n </select>\n\n </div>\n <br/>\n <div class=\"govuk-radios__conditional\" *ngIf=\"showReasonText && !isRefundReasonsSelected\" >\n <div [ngClass]=\"{'form-group-error': isReasonEmpty}\">\n <label class=\"govuk-label govuk-label--m\" for=\"amount\">\n Enter reason\n </label>\n <p class=\"inline-error-message\" *ngIf=\"isReasonEmpty\">\n <span *ngIf=\"isReasonEmpty\">Enter a reason why you\u2019re making this refund</span>\n </p>\n <input class=\"govuk-input govuk-input--width-10\" [ngClass]=\"{'inline-error-class': isReasonEmpty}\" id=\"reason\" aria-label=\"reason\" name=\"reason\" type=\"text\" aria-describedby=\"reason\" maxlength=\"{{reasonLength}}\" formControlName=\"reason\">\n </div>\n </div>\n\n\n </div>\n </fieldset>\n </form>\n </div>\n </form>\n </div>\n <div class=\"govuk-button-group\">\n <button (click)=\"gotoServiceRequestPage($event)\" class=\"govuk-button govuk-button--secondary\"> Previous</button>\n <button (click)=\"gotoIssueRefundConfirmation(payment)\" class=\"govuk-button\"> Continue</button>\n </div>\n <p>\n <a href=\"javascript:void(0)\" (click)=\"gotoCasetransationPageCancelBtnClicked($event)\" class=\"govuk-link\" data-module=\"govuk-button\">\n Cancel\n </a>\n </p>\n\n </ng-container>\n\n <ng-container *ngIf=\"viewStatus === 'checkissuerefundpage'\">\n <input #myInput type='hidden' class='iFrameDrivenImageValue' value='CHECKISSUEREFUNDPAGE'>\n <div class=\"govuk-warning-text\">\n\n <h1 class=\"heading-large\"> Check your answers</h1>\n </div>\n <table class=\"govuk-table\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Reason for refund</td>\n <td class=\"govuk-table__cell\"> {{ displayRefundReason }}\n <a (click)=\"changeIssueRefundReason()\" class=\"govuk-link right\" >Change</a>\n </td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Payment reference</td>\n <td class=\"govuk-table__cell\">{{this.payment.reference}}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Payment amount</td>\n <td class=\"govuk-table__cell\">{{this.payment.amount | currency:'GBP':'symbol-narrow':'1.2-2'}}</td>\n </tr>\n </table>\n <div class=\"govuk-button-group\">\n <button type=\"submit\" class=\"button govuk-button--secondary\" (click)=\"gotoIssueRefundPage()\"> Previous </button>\n <button type=\"submit\"\n [disabled]=\"isConfirmationBtnDisabled\"\n [ngClass]='isConfirmationBtnDisabled ? \"button button--disabled govuk-!-margin-right-1\" : \"button govuk-!-margin-right-1\"'\n (click)=\"confirmIssueRefund()\">\n Submit refund\n </button>\n </div>\n <p>\n <a (click)=\"gotoCasetransationPageCancelBtnClicked($event)\" class=\"govuk-link\" data-module=\"govuk-button\">\n Cancel\n </a>\n </p>\n\n </ng-container>\n\n <!--Retro Refund-->\n <ng-container *ngIf=\"viewCompStatus === 'addrefundforremission'\">\n <input #myInput type='hidden' class='iFrameDrivenImageValue' value='ADDREFUNDFORREMISSION'>\n <div class=\"govuk-warning-text\">\n\n <h1 class=\"heading-large\"> Check your answers</h1>\n </div>\n <table class=\"govuk-table\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Reason for refund</td>\n <td class=\"govuk-table__cell\"> Retrospective remission </td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Payment reference</td>\n <td class=\"govuk-table__cell\">{{this.payment.reference}}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Refund amount</td>\n <td class=\"govuk-table__cell\">{{this.remission.hwf_amount | currency:'GBP':'symbol-narrow':'1.2-2'}}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Fee code</td>\n <td class=\"govuk-table__cell\">{{this.remission.fee_code}}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Fee amount</td>\n <td class=\"govuk-table__cell\">{{feeamount | currency:'GBP':'symbol-narrow':'1.2-2'}}</td>\n </tr>\n </table>\n <div class=\"govuk-button-group\">\n <button type=\"submit\" class=\"button govuk-button--secondary\" (click)=\"gotoServiceRequestPage($event)\">Previous</button>\n <button type=\"submit\"\n [disabled]=\"isConfirmationBtnDisabled\"\n [ngClass]='isConfirmationBtnDisabled ? \"button button--disabled govuk-!-margin-right-1\" : \"button govuk-!-margin-right-1\"'\n (click)=\"processRefund()\">\n Submit refund\n </button>\n </div>\n <p>\n <a href=\"javascript:void(0)\" (click)=\"gotoCasetransationPageCancelBtnClicked($event)\" class=\"govuk-link\" data-module=\"govuk-button\">\n Cancel\n </a>\n </p>\n\n </ng-container>\n\n <ng-container *ngIf=\"viewStatus === 'retrorefundconfirmationpage'\">\n <div class=\"govuk-grid-row\">\n <div >\n <div class=\"govuk-panel govuk-panel--confirmation\">\n <h1 class=\"govuk-panel__title\">\n Refund submitted\n </h1>\n\n <div class=\"govuk-panel__body\">\n <p class=\"govuk-body white\"><strong>Refund reference: {{refundReference}}</strong></p>\n </div>\n\n </div>\n <div *ngIf=\"isPaymentSuccess\">\n <h2 class=\"govuk-heading-l\">What happens next</h2>\n <p class=\"govuk-body\">\n A refund request for {{ refundAmount| currency:'GBP':'symbol-narrow':'1.2-2'}} has been passed to a team leader to approve.\n </p>\n </div>\n <p class=\"govuk-body\">\n <a href=\"javascript:void(0)\" (click)=\"gotoCasetransationPageCancelBtnClicked($event)\" class=\"govuk-link pointer\" data-module=\"govuk-button\">\n Return to case\n </a>\n </p>\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"viewStatus === 'order-full-view'\">\n <ccpay-service-request\n [viewStatus] = \"viewStatus\"\n [orderRef] = \"orderRef\"\n [orderStatus] = \"orderStatus\"\n [orderCreated] = \"orderCreated\"\n [orderParty] = \"orderParty\"\n [orderCCDEvent] = \"orderCCDEvent\"\n [orderDetail] = \"orderDetail\"\n [LOGGEDINUSERROLES] = \"LOGGEDINUSERROLES\"\n [takePayment] = \"takePayment\"\n [ccdCaseNumber] = \"ccdCaseNumber\"\n [orderFeesTotal] = \"orderFeesTotal\"\n [orderTotalPayments] = \"orderTotalPayments\"\n [orderRemissionTotal] = \"orderRemissionTotal\">\n </ccpay-service-request>\n </ng-container>\n\n <ng-container *ngIf=\"viewStatus === 'payment-view'\">\n <ccpay-payment-view\n [LOGGEDINUSERROLES] = \"LOGGEDINUSERROLES\"\n [isTurnOff] = \"isTurnOff\"\n [isTakePayment] = \"takePayment\"\n [caseType] = \"caseType\"\n [orderRef] = \"orderRef\"\n [orderStatus] = \"orderStatus\"\n [orderCreated] = \"orderCreated\"\n [orderParty] = \"orderParty\"\n [orderCCDEvent] = \"orderCCDEvent\"\n [orderDetail] = \"orderDetail\"\n [orderFeesTotal] = \"orderFeesTotal\"\n [orderTotalPayments] = \"orderTotalPayments\"\n [orderRemissionTotal] = \"orderRemissionTotal\"\n >\n </ccpay-payment-view>\n </ng-container>\n\n</div>\n\n\n\n",
4840
- styles: [".add-remission .button{margin:20px 2px;padding:.5em;font-size:19px;font-weight:200}.add-remission td.govuk-table__cell{width:50%}.add-remission .govuk-button--secondary{background-color:#dee0e2;box-shadow:0 2px 0 #858688;color:#0b0c0c;margin-right:.5em}.add-remission .right{cursor:pointer}.add-remission .govuk-label--s,.add-remission .govuk-warning-text__text,.add-remission .hmcts-currency-input__symbol{font-size:19px;font-weight:400}.add-remission .inline-error-class{outline:3px solid #a71414;outline-offset:0;border-color:#a71414}.add-remission .inline-error-message{color:#a71414;border-color:#a71414;font-weight:700;margin-top:10px;font-size:20px}.add-remission .govuk-button,.add-remission .govuk-link{margin-right:1em;font-size:19px;font-weight:200}.add-remission .govuk-button-group{padding-top:2em}.add-remission .heading-medium{margin-top:.875em}.add-remission .heading-large{margin-top:.25em}.add-remission .govuk-panel--confirmation{color:#fff;background:#00703c}.add-remission .govuk-panel__title{font-size:5rem}.add-remission .govuk-body,.add-remission .govuk-body-m{font-size:2.1875rem}.add-remission .govuk-radios__item{clear:none!important;display:inline-block;width:45%!important}.add-remission .govuk-radios__conditional{padding-top:12px!important}.add-remission .radio,.add-remission .right{float:right}.govuk-input,.govuk-select{font-size:19px}.govuk-select{font-weight:400}.govuk-input--width-10{max-width:50ex}.govuk-label--m{font-size:19px;font-weight:400}.govuk-error-summary__body{font-size:19px!important}.govuk-error-summary__title{font-size:24px!important}.white{color:#fff}.pagesize{margin:2em;width:97%}.right{cursor:pointer}.form-hint{font-size:19px!important}"]
5757
+ template: "<div class=\"add-remission pagesize\">\n <div *ngIf=\"errorMessage\">\n <div class=\"error-summary\" role=\"group\" aria-labelledby=\"failure-error-summary-heading\" tabindex=\"-1\">\n <h2 class=\"heading-medium error-summary-heading\" id=\"failure-error-summary-heading\">\n Error in processing the request\n </h2>\n <div class=\"govuk-error-summary__body\">\n {{ errorMessage }}\n </div>\n </div>\n </div>\n <div *ngIf=\"errorMsg.length > 0\">\n <div class=\"error-summary\" role=\"group\" aria-labelledby=\"failure-error-summary-heading\" tabindex=\"-1\">\n <h2 class=\"heading-medium error-summary-heading\" id=\"failure-error-summary-heading\">\n Error in processing the request\n </h2>\n <div *ngFor=\"let err of errorMsg; let i = index\" class=\"govuk-error-summary__body\">\n \n <li>{{err}}</li>\n </div>\n </div>\n </div>\n\n<ng-container *ngIf=\"viewStatus === 'main' && !isRefundRemission \">\n <input #myInput type='hidden' id='iFrameDrivenImageValue' value='ADDREMISSION'>\n <h1 class=\"heading-large\">Add remission </h1>\n <form novalidate>\n <div class=\"govuk-form-group\">\n <form [formGroup]=\"remissionForm\" novalidate>\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label govuk-label--s\" for=\"remission-code\">\n Add remission to {{ fee?.code }}: {{ fee?.description }}\n <span class=\"form-hint\">Enter remission for reference. For example: HWF-A1B-23C OR PA21-123456</span>\n </label>\n <input [ngClass]=\"{'inline-error-class': isRemissionCodeEmpty || remissionCodeHasError}\" class=\"govuk-input govuk-input--width-20 govuk-!-margin-right-1\" id=\"remissionCode\" aria-label=\"remissionCode\" name=\"remissionCode\" type=\"text\" formControlName=\"remissionCode\">\n <p class=\"inline-error-message\" *ngIf=\"isRemissionCodeEmpty || remissionCodeHasError\">\n <span *ngIf=\"isRemissionCodeEmpty\">Enter a remission code</span>\n <span *ngIf=\"remissionCodeHasError\">Enter a vaild remission code</span>\n </p>\n </div>\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label govuk-label--s\" for=\"amount\">\n How much does the applicant need to pay?\n </label>\n\n <div id=\"amount-currency\" class=\"govuk-visually-hidden\">in pounds</div>\n <div class=\"hmcts-currency-input\">\n <div class=\"hmcts-currency-input__symbol\" aria-hidden=\"true\">\u00A3</div>\n <input class=\"govuk-input govuk-input--width-10\" [ngClass]=\"{'inline-error-class': isAmountEmpty || amountHasError || isRemissionLessThanFeeError}\" id=\"amount\" aria-label=\"amount\" name=\"amount\" type=\"text\" aria-describedby=\"amount-currency\" formControlName=\"amount\">\n <p class=\"inline-error-message\" *ngIf=\"isAmountEmpty || amountHasError || isRemissionLessThanFeeError\">\n <span *ngIf=\"isAmountEmpty\">Enter a amount</span>\n <span *ngIf=\"amountHasError\">Enter a vaild amount</span>\n <span *ngIf=\"isRemissionLessThanFeeError\">The remission amount must be less than the total fee</span>\n </p>\n </div>\n </div>\n </form>\n <button class=\"button\" type=\"submit\" (click)=\"addRemission()\">\n Submit\n </button>\n </div>\n </form>\n</ng-container>\n\n<ng-container *ngIf=\"viewStatus === 'confirmation'\">\n <input #myInput type='hidden' id='iFrameDrivenImageValue' value='ADDREMISSIONCONFIRMATION'> \n <div class=\"govuk-warning-text\">\n <span class=\"govuk-warning-text__icon\" aria-hidden=\"true\">!</span>\n <strong class=\"govuk-warning-text__text\">\n <span class=\"govuk-warning-text__assistive\">Warning</span>\n Are you sure you want to add remission to this fee?\n </strong>\n </div>\n <table class=\"govuk-table\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Remission code:</td>\n <td class=\"govuk-table__cell\">{{ remissionForm.controls.remissionCode.value }}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Fee code:</td>\n <td class=\"govuk-table__cell\">{{ fee.code }}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Fee description:</td>\n <td class=\"govuk-table__cell\">{{ fee.description }}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Amount the applicant must pay:</td>\n <td class=\"govuk-table__cell\">{{ remissionForm.controls.amount.value | currency:'GBP':'symbol-narrow':'1.2-2' }}</td>\n </tr>\n </table>\n\n <button type=\"submit\" class=\"button govuk-button--secondary\" (click)=\"cancelRemission.emit()\">\n Cancel\n </button>\n <button type=\"submit\"\n [disabled]=\"isConfirmationBtnDisabled\"\n [ngClass]='isConfirmationBtnDisabled ? \"button button--disabled govuk-!-margin-right-1\" : \"button govuk-!-margin-right-1\"'\n (click)=\"confirmRemission()\">\n Confirm\n </button>\n\n</ng-container>\n\n<!-- Add retro remission changes-->\n\n<ng-container *ngIf=\"viewCompStatus === 'addremission'\">\n <input #myInput type='hidden' id='iFrameDrivenImageValue' value='PROCESSADDRETROREMISSIONPAGE'> \n <h1 class=\"heading-large\">Process remission</h1>\n <h1 class=\"heading-medium\">#{{ccdCaseNumber | ccdHyphens}}</h1>\n <h1 class=\"heading-large\">Enter help with fees or remission reference</h1>\n <form novalidate>\n <div class=\"govuk-form-group\">\n <form [formGroup]=\"remissionForm\" novalidate>\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label govuk-label--s\" for=\"remission-code\">\n <span class=\"form-hint\">For example: HWF-A1B-23C OR PA21-123456</span>\n </label>\n <p class=\"inline-error-message\" *ngIf=\"isRemissionCodeEmpty || remissionCodeHasError\">\n <span *ngIf=\"isRemissionCodeEmpty\">Enter a remission code</span>\n <span *ngIf=\"remissionCodeHasError\">Enter a vaild remission code</span>\n </p>\n <input [ngClass]=\"{'inline-error-class': isRemissionCodeEmpty || remissionCodeHasError}\" class=\"govuk-input govuk-input--width-20 govuk-!-margin-right-1\" id=\"remissionCode\" aria-label=\"remissionCode\" name=\"remissionCode\" type=\"text\" formControlName=\"remissionCode\">\n \n </div>\n \n </form>\n <div class=\"govuk-button-group\">\n <button (click)=\"gotoServiceRequestPage($event)\" class=\"govuk-button govuk-button--secondary\"> Previous</button>\n <button (click)=\"addRemissionCode()\" class=\"govuk-button\"> Continue</button>\n </div>\n <p><a href=\"javascript:void(0)\" (click)=\"gotoCasetransationPageCancelBtnClicked($event)\" class=\"govuk-link pointer\" data-module=\"govuk-button\">Cancel</a></p>\n </div>\n </form>\n\n</ng-container>\n\n<ng-container *ngIf=\"viewStatus === 'processretroremissonpage'\" >\n <input #myInput type='hidden' id='iFrameDrivenImageValue' value='PROCESSRETROREMISSIONPAGE'> \n <h1 class=\"heading-large\">Process remission</h1>\n <h1 class=\"heading-medium\">#{{ccdCaseNumber | ccdHyphens }}</h1>\n <div class=\"govuk-form-group\">\n <form novalidate>\n <div class=\"govuk-form-group\">\n <form [formGroup]=\"remissionForm\" novalidate>\n <fieldset class=\"govuk-fieldset\">\n <legend class=\"govuk-fieldset__legend govuk-fieldset__legend--m\"> \n <h1 *ngIf=\"remessionPayment?.status === 'Success' || isFromRefundListPage\" class=\"heading-medium\">\n Enter the amount to be refunded\n </h1> \n <h1 *ngIf=\"remessionPayment?.status !== 'Success' && !isFromRefundListPage\" class=\"heading-medium\">\n Enter the remission amount\n </h1> \n <h1 *ngIf=\"remessionPayment?.status === 'undefined'\" class=\"heading-medium\">\n Enter the amount\n </h1> \n </legend>\n <div id=\"amount-currency\" class=\"govuk-visually-hidden\">in pounds</div>\n <p class=\"inline-error-message\" *ngIf=\"isAmountEmpty || amountHasError || isRemissionLessThanFeeError\">\n <span *ngIf=\"isAmountEmpty\">Enter a amount</span>\n <span *ngIf=\"amountHasError\">Enter a vaild amount</span>\n <span *ngIf=\"isRemissionLessThanFeeError\">You cannot add a remission that's more than the fee amount.</span>\n </p>\n <div class=\"hmcts-currency-input\">\n \n <div class=\"hmcts-currency-input__symbol\" aria-hidden=\"true\">\u00A3</div>\n <input class=\"govuk-input govuk-input--width-10\" [ngClass]=\"{'inline-error-class': isAmountEmpty || amountHasError || isRemissionLessThanFeeError}\" id=\"amount\" aria-label=\"amount\" name=\"amount\" type=\"number\" aria-describedby=\"amount-currency\" formControlName=\"amount\">\n \n \n </div>\n </fieldset>\n </form>\n \n <div class=\"govuk-button-group\">\n <button (click)=\"gotoAddRetroRemissionCodePage()\" class=\"govuk-button govuk-button--secondary\"> Previous</button>\n <button (click)=\"gotoCheckRetroRemissionPage(payment)\" class=\"govuk-button\"> Continue</button>\n \n </div>\n <p>\n <a href=\"javascript:void(0)\" (click)=\"gotoCasetransationPageCancelBtnClicked($event)\" class=\"govuk-link\" data-module=\"govuk-button\">Cancel</a>\n </p>\n </div>\n \n </form>\n </div>\n</ng-container>\n<ng-container *ngIf=\"viewStatus === 'checkretroremissionpage'\">\n <input #myInput type='hidden' id='iFrameDrivenImageValue' value='CHECKRETROREMISSIONCONFIRMATION'> \n <div class=\"govuk-warning-text\">\n <h1 class=\"heading-large\"> Check your answers</h1>\n </div>\n <table class=\"govuk-table\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Payment reference</td>\n <td class=\"govuk-table__cell\">{{remessionPayment ? remessionPayment.reference: ' '}}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Payment amount</td>\n <td class=\"govuk-table__cell\">\u00A3{{ remessionPayment ? getFormattedCurrency(remessionPayment.amount): ' ' | currency :'GBP':'symbol':'1.2-2'}} </td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Payment status</td>\n <td class=\"govuk-table__cell\">{{remessionPayment ? remessionPayment.status: ''}}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Fee</td>\n <td class=\"govuk-table__cell\">{{ fee.code }} - {{ fee.description }} </td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Fee amount</td>\n <td class=\"govuk-table__cell\">{{ fee.calculated_amount/fee.volume| currency:'GBP':'symbol-narrow':'1.2-2' }}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Help with fees or remission reference</td>\n <td class=\"govuk-table__cell\">{{ remissionForm.controls.remissionCode.value?.trim() }}\n <a (click)=\"gotoProcessRetroRemissionPage()\" class=\"govuk-link right\" >Change</a>\n </td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td *ngIf=\"remessionPayment.status === 'Success'\" class=\"govuk-table__cell govuk-!-font-weight-bold\">Refund amount</td>\n <td *ngIf=\"remessionPayment.status !== 'Success'\" class=\"govuk-table__cell govuk-!-font-weight-bold\">Remission amount</td>\n <td class=\"govuk-table__cell\">{{remissionForm.controls.amount.value | currency:'GBP':'symbol-narrow':'1.2-2' }}\n <a (click)=\"gotoAmountRetroRemission()\" class=\"govuk-link right\" >Change</a>\n </td>\n </tr>\n </table>\n\n <button type=\"submit\" class=\"button govuk-button--secondary\" (click)=\"gotoAmountRetroRemission()\">Previous</button>\n <button type=\"submit\" [disabled]=\"isConfirmationBtnDisabled\" [ngClass]='isConfirmationBtnDisabled ? \"button button--disabled govuk-!-margin-right-1\" : \"button govuk-!-margin-right-1\"' (click)=\"confirmRetroRemission()\"> Add remission </button>\n <p> <a href=\"javascript:void(0)\" (click)=\"gotoCasetransationPageCancelBtnClicked($event)\" class=\"govuk-link\" data-module=\"govuk-button\"> Cancel</a> </p>\n\n</ng-container>\n\n<ng-container *ngIf=\"viewStatus === 'retroremissionconfirmationpage'\">\n <input #myInput type='hidden' id='iFrameDrivenImageValue' value='RETROREMISSIONCONFIRMATIONPAGE'> \n <div class=\"govuk-grid-row\">\n <div >\n <div class=\"govuk-panel govuk-panel-border--confirmation\">\n <h1 class=\"govuk-panel__title\">\n Remission added\n </h1>\n <div *ngIf=\"remessionPayment.status === 'Success'\" class=\"govuk-panel__body\">\n <p class=\"govuk-body\"><strong>The amount to be refunded should be {{remissionForm.controls.amount.value | currency:'GBP':'symbol-narrow':'1.2-2' }}</strong></p>\n \n </div>\n </div>\n <div *ngIf=\"remessionPayment.status === 'Success'\" >\n <button type=\"submit\" [disabled]=\"!isRemissionApplied\" [ngClass]='isConfirmationBtnDisabled ? \"button button--disabled govuk-!-margin-right-1\" : \"button govuk-!-margin-right-1\"' (click)=\"gotoProcessRetroRemission()\">Continue </button>\n </div>\n <p class=\"govuk-body\">\n <a href=\"javascript:void(0)\" (click)=\"gotoCasetransationPageCancelBtnClicked($event)\" class=\"govuk-link pointer\" data-module=\"govuk-button\">\n Return to case\n </a>\n </p>\n </div>\n </div>\n</ng-container>\n\n\n<ng-container *ngIf=\"viewStatus === 'remissionAddressPage'\">\n <input #myInput type='hidden' id='iFrameDrivenImageValue' value='ADDRESSDETAILSRETROREMISSIONPAGE'> \n <h1 class=\"govuk-heading-l\">Process refund</h1>\n <h2 class=\"govuk-heading-m govuk-font19px\">Case reference: {{ccdCaseNumber | ccdHyphens }}</h2>\n <ccpay-contact-details\n [addressObj] = notification\n (assignContactDetails)=\"getContactDetails($event, 'checkaddRefundpage')\"\n (redirectToIssueRefund)=\"gotoRemissionSuccess($event)\" ></ccpay-contact-details>\n <p>\n <a (click)=\"gotoCasetransationPageCancelBtnClicked($event)\" class=\"govuk-link\" data-module=\"govuk-button\">\n Cancel\n </a>\n </p>\n\n</ng-container>\n\n<ng-container *ngIf=\"viewStatus === 'checkaddRefundpage'\">\n <input #myInput type='hidden' id='iFrameDrivenImageValue' value='CHECKRETROREMISSIONCONFIRMATION'> \n <div class=\"govuk-warning-text\">\n <h1 class=\"heading-large\"> Check your answers</h1>\n </div>\n <table class=\"govuk-table\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Payment reference</td>\n <td class=\"govuk-table__cell\">{{remessionPayment ? remessionPayment.reference: ' '}}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Payment amount</td>\n <td class=\"govuk-table__cell\">\u00A3{{ remessionPayment ? getFormattedCurrency(remessionPayment.amount): ' ' | currency :'GBP':'symbol':'1.2-2'}} </td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Payment status</td>\n <td class=\"govuk-table__cell\">{{remessionPayment ? remessionPayment.status: ''}}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Fee</td>\n <td class=\"govuk-table__cell\">{{ fee.code }} - {{ fee.description }} ({{ fee.calculated_amount/fee.volume| currency:'GBP':'symbol-narrow':'1.2-2' }}) </td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Help with fees or remission reference</td>\n <td class=\"govuk-table__cell\">{{ remissionForm.controls.remissionCode.value?.trim() }}\n </td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td *ngIf=\"remessionPayment.status === 'Success'\" class=\"govuk-table__cell govuk-!-font-weight-bold\">Refund amount</td>\n <td *ngIf=\"remessionPayment.status !== 'Success'\" class=\"govuk-table__cell govuk-!-font-weight-bold\">Remission amount</td>\n <td class=\"govuk-table__cell\">{{remissionForm.controls.amount.value | currency:'GBP':'symbol-narrow':'1.2-2' }}\n </td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Send to</td>\n <td class=\"govuk-table__cell\">{{orderParty}}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Send via</td>\n <td class=\"govuk-table__cell whitespace-inherit\">\n <div *ngIf=\"contactDetailsObj?.notification_type === 'EMAIL'\" class=\"contactDetails-width\">\n <strong>Email</strong>\n <br/>\n {{contactDetailsObj?.email?.trim()}}\n </div>\n <div *ngIf=\"contactDetailsObj?.notification_type === 'LETTER'\" class=\"contactDetails-width\">\n <strong>Post</strong>\n <br/>\n {{contactDetailsObj?.address_line?.trim()}}&nbsp;{{contactDetailsObj?.city?.trim()}}&nbsp;{{contactDetailsObj?.county?.trim()}}&nbsp;{{contactDetailsObj?.country?.trim()}}&nbsp;{{contactDetailsObj?.postal_code?.trim()}}\n </div>\n <a (click)=\"gotoProcessRetroRemission(contactDetailsObj)\" class=\"govuk-link right\" >Change</a>\n </td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Notification</td>\n <td class=\"govuk-table__cell\">{{templateInstructionType}}\n <a *ngIf=\"!notificationPreview\" href=\"Javascript:void(0)\" class=\"govuk-link right\" (click)=\"showNotificationPreview()\">\n Preview\n </a>\n <a *ngIf=\"notificationPreview\" href=\"Javascript:void(0)\" class=\"govuk-link right\" (click)=\"hideNotificationPreview()\">\n Hide Preview\n </a>\n </td>\n </tr>\n </table>\n\n <app-notification-preview *ngIf=\"notificationPreview\" \n [payment]=\"remessionPayment\" \n [contactDetails]=\"contactDetailsObj\"\n [refundReason]=\"'RR036'\"\n [refundAmount]=\"remissionForm.controls.amount.value\"></app-notification-preview>\n\n <button type=\"submit\" class=\"button govuk-button--secondary\" (click)=\"gotoProcessRetroRemission(contactDetailsObj)\">Previous</button>\n <button type=\"submit\" [disabled]=\"isConfirmationBtnDisabled\" [ngClass]='isConfirmationBtnDisabled ? \"button button--disabled govuk-!-margin-right-1\" : \"button govuk-!-margin-right-1\"' (click)=\"processRefund()\"> Submit refund </button>\n <p> <a href=\"javascript:void(0)\" (click)=\"gotoCasetransationPageCancelBtnClicked($event)\" class=\"govuk-link\" data-module=\"govuk-button\"> Cancel</a> </p>\n\n</ng-container>\n\n<ng-container *ngIf=\"viewStatus === 'refundconfirmationpage'\">\n <input #myInput type='hidden' id='iFrameDrivenImageValue' value='RETROREMISSIONREFUNDCONFIRMATIONPAGE'> \n <div class=\"govuk-grid-row\">\n <div >\n <div class=\"govuk-panel govuk-panel--confirmation\">\n <h1 class=\"govuk-panel__title\">\n Refund submitted\n </h1>\n\n <div class=\"govuk-panel__body\">\n <p class=\"govuk-body white\"><strong>Refund reference: {{refundReference}}</strong></p>\n </div>\n\n </div>\n <div *ngIf=\"isPaymentSuccess\">\n <h2 class=\"govuk-heading-l\">What happens next</h2>\n <p class=\"govuk-body\">\n A refund request for {{refundAmount | currency:'GBP':'symbol-narrow':'1.2-2' }} has been created and will be passed to a team leader to approve.\n </p>\n </div>\n <p class=\"govuk-body\">\n <a href=\"javascript:void(0)\" (click)=\"gotoCasetransationPageCancelBtnClicked($event)\" class=\"govuk-link pointer\" data-module=\"govuk-button\">\n Return to case\n </a>\n </p>\n </div>\n </div>\n \n</ng-container>\n\n<!-- Issue Refund Section -->\n<ng-container *ngIf=\"viewCompStatus === 'issuerefund' && isRefundRemission\">\n <div class=\"govuk-form-group\">\n <form [formGroup]=\"remissionForm\" novalidate>\n <h1 class=\"heading-large\">Process refund</h1>\n <h2 class=\"heading-medium\">Case reference:{{ccdCaseNumber | ccdHyphens }}</h2>\n <span id=\"how-contacted-conditional-hint\" class=\"form-hint govuk-font19px\">\n Payment reference: {{paymentReference}}\n </span>\n <h3 class=\"heading-small\">Select fees to be refunded</h3>\n <!--TABLE-->\n <div>\n <table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header col-1\" scope=\"col\">Select</td>\n <td class=\"govuk-table__header col-18\" scope=\"col\">Fee description</td>\n <td class=\"govuk-table__header col-6\" scope=\"col\">Fee amount</td>\n <td class=\"govuk-table__header col-6\" scope=\"col\">Total paid</td>\n <td class=\"govuk-table__header col-6\" scope=\"col\">Quantity</td>\n <td class=\"govuk-table__header col-8\" scope=\"col\">Amount to refund</td>\n <td class=\"govuk-table__header\" scope=\"col\"></td>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\" *ngIf=\"!isFullyRefund\">\n <tr class=\"govuk-table__row\" formArrayName=\"feesList\" *ngFor=\"let fee of feesList?.controls; let i = index\">\n <td class=\"govuk-table__cell\">\n <div [formGroupName]=\"i\" class=\"govuk-checkboxes govuk-checkboxes--large\" data-module=\"govuk-checkboxes\">\n <div class=\"govuk-checkboxes__item\">\n\n <input\n class=\"govuk-checkboxes__input\" \n (click)=\"check_en(i,fee.controls['id'].value,fee.controls['apportion_amount'].value,fee.controls['volume'].value)\" \n id=\"{{fee.controls['id'].value}}\" \n name=\"organisation\" \n type=\"checkbox\" \n value=\"{{fee.controls['id'].value}}\" \n formControlName=\"selected\" >\n <label class=\"govuk-label govuk-checkboxes__label\" for=\"{{fee.controls['id'].value}}\">\n <span style=\"display:none\">Select</span>\n </label>\n </div>\n </div>\n </td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{fee.controls['description'].value}} </td>\n <td class=\"govuk-table__cell whitespace-inherit left\" >\n <div type=\"hidden\" style=\"display:none;background-color:white;\" id=\"feeVOl_{{fee.controls['id'].value}}\">{{ fee.controls['calculated_amount'].value / fee.controls['volume'].value }}</div>\n {{ fee.controls['calculated_amount'].value / fee.controls['volume'].value | currency:'GBP':'symbol-narrow':'1.2-2' }}\n </td>\n <td class=\"govuk-table__cell whitespace-inherit left\" >{{ fee.controls['apportion_amount'].value | currency:'GBP':'symbol-narrow':'1.2-2'}} </td>\n <td class=\"govuk-table__cell whitespace-inherit left\" *ngIf=\"fee.controls['volume'].value >1\">\n <div [formGroupName]=\"i\">\n <input disabled=\"disabled\" class=\"govuk-input govuk-input--width-4 center\" id=\"feeVolumeUpdated_{{fee.controls['id'].value}}\" (keyup)=\"calAmtToRefund($event.target.value,fee.controls['calculated_amount'].value,fee.controls['volume'].value,i)\" value=\"{{fee.controls['updated_volume'].value}}\" name=\"feeVolumeUpdated_{{fee.controls['id'].value}}\" formControlName=\"updated_volume\" type=\"text\" >\n </div>\n </td>\n <td class=\"govuk-table__cell whitespace-inherit left\" *ngIf=\"fee.controls['volume'].value ===1\">\n <input disabled=\"disabled\" class=\"govuk-input govuk-input--width-4 center\" id=\"VolumeUpdated_{{fee.controls['id'].value}}\" name=\"VolumeUpdated_{{fee.controls['id'].value}}\" type=\"text\" value=\"{{fee.controls['volume'].value}}\">\n </td>\n <td class=\"govuk-table__cell whitespace-inherit center\" scope=\"row\">\n \n <div [formGroupName]=\"i\" class=\"hmcts-currency-input\">\n \n <div class=\"hmcts-currency-input__symbol\" aria-hidden=\"true\">\u00A3</div>\n <input disabled=\"disabled\" class=\"govuk-input govuk-input--width-10\" id=\"feeAmount_{{fee.controls['id'].value}}\" name=\"feeAmount_{{fee.controls['id'].value}}\" type=\"text\" aria-describedby=\"amount-currency \" pattern=\"[0-9]*\" formControlName=\"refund_amount\">\n <input id=\"feeVolume_{{fee.controls['id'].value}}\" name=\"feeVolume_{{fee.controls['id'].value}}\" value= \"{{fee.controls['volume'].value}}\" type=\"hidden\" formControlName=\"volume\">\n <input id=\"feeApportionAmount_{{fee.controls['id'].value}}\" name=\"feeApportionAmount_{{fee.controls['id'].value}}\" value= \"{{fee.controls['apportion_amount'].value}}\" type=\"hidden\" formControlName=\"apportion_amount\">\n <input id=\"calculatedAmount_{{fee.controls['id'].value}}\" name=\"calculatedAmount_{{fee.controls['id'].value}}\" value= \"{{fee.controls['calculated_amount'].value}}\" type=\"hidden\" formControlName=\"calculated_amount\">\n </div> \n \n </td>\n </tr>\n </tbody>\n <tbody class=\"govuk-table__body\" *ngIf=\"isFullyRefund\">\n <tr class=\"govuk-table__row\" *ngFor=\"let fee of fees; let i = index\">\n <td class=\"govuk-table__cell\">\n <div class=\"govuk-checkboxes govuk-checkboxes--large\" data-module=\"govuk-checkboxes\">\n <div class=\"govuk-checkboxes__item\">\n <input \n class=\"govuk-checkboxes__input\" \n \n id=\"{{fee.id}}\" \n name=\"organisation\" \n type=\"checkbox\" \n value=\"{{fee.id}}\"\n disabled=\"disabled\"\n [checked]=\"true\" >\n <label class=\"govuk-label govuk-checkboxes__label\" for=\"{{fee.id}}\">\n <span style=\"display:none\">Select</span>\n </label>\n </div>\n </div>\n </td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{fee.description}} </td>\n <td class=\"govuk-table__cell whitespace-inherit left\" >\n <div type=\"hidden\" style=\"display:none;background-color:white;\" id=\"feeVOl_{{fee.id}}\">{{ fee.calculated_amount / fee.volume }}</div>\n {{ fee.calculated_amount / fee.volume| currency:'GBP':'symbol-narrow':'1.2-2' }}\n </td>\n <td class=\"govuk-table__cell whitespace-inherit left\" >{{ payment.amount | currency:'GBP':'symbol-narrow':'1.2-2'}} </td>\n <td class=\"govuk-table__cell whitespace-inherit left\">\n <div >\n <input disabled=\"disabled\" class=\"govuk-input govuk-input--width-4 center\" id=\"feeVolumeUpdated_{{fee.id}}\" value=\"{{fee.volume}}\" name=\"feeVolumeUpdated_{{fee.id}}\" type=\"text\" >\n </div>\n </td>\n \n <td class=\"govuk-table__cell whitespace-inherit center\" scope=\"row\">\n \n <div class=\"hmcts-currency-input\">\n \n <div class=\"hmcts-currency-input__symbol\" aria-hidden=\"true\">\u00A3</div>\n <input disabled=\"disabled\" class=\"govuk-input govuk-input--width-10\" id=\"feeAmount_{{fee.id}}\" name=\"feeAmount_{{fee.id}}\" type=\"text\" aria-describedby=\"amount-currency \" value=\"{{ payment.amount | currency:'GBP':'symbol-narrow':'1.2-2'}}\" pattern=\"[0-9]*\" >\n </div> \n \n </td>\n </tr>\n </tbody>\n <tbody class=\"govuk-table__body\" *ngIf=\"fees?.length === 0\">\n <td class=\"govuk-table__cell\" colspan=\"6\">No fees recorded</td>\n </tbody>\n </table>\n </div>\n <div class=\"govuk-button-group\">\n\n \n <a (click)=\"gotoServiceRequestPage($event)\" *ngIf=\"!isFullyRefund\" draggable=\"false\" class=\"govuk-button govuk-button--secondary\" data-module=\"govuk-button\">\n Previous\n </a>\n <a (click)=\"goToPaymentViewComponent()\" *ngIf=\"isFullyRefund\" draggable=\"false\" class=\"govuk-button govuk-button--secondary\" data-module=\"govuk-button\">\n Previous\n </a>\n \n <button [disabled] = \"noneSelected()\" (click)=\"gotoIssuePage(isFullyRefund)\" class=\"govuk-button\">\n Continue\n </button>\n \n </div>\n <p>\n <a (click)=\"gotoCasetransationPageCancelBtnClicked($event)\" class=\"govuk-link\" data-module=\"govuk-button\">Cancel</a>\n </p>\n </form>\n </div>\n</ng-container>\n\n<ng-container *ngIf=\"viewCompStatus === 'issuerefundpage1' && isRefundRemission\">\n\n <input #myInput type='hidden' id='iFrameDrivenImageValue' value='ISSUEREFUNDPAGE'> \n <h1 class=\"heading-large\">Process refund</h1>\n <h1 class=\"heading-medium\">Case reference: {{ccdCaseNumber | ccdHyphens }}</h1>\n <span id=\"how-contacted-conditional-hint govuk-font19px\" *ngIf=\"payment\" class=\"form-hint\">\n Payment reference: {{paymentReference}}\n </span>\n <span id=\"how-contacted-conditional-hint govuk-font19px\" *ngIf=\"refundPaymentReference\" class=\"form-hint\">\n Payment reference: {{refundPaymentReference}}\n </span>\n <h1 class=\"heading-large\">Why are you making this refund?\n </h1>\n \n\n <div class=\"govuk-form-group\">\n <form novalidate>\n <div class=\"govuk-form-group\">\n <form [formGroup]=\"remissionForm\" novalidate>\n <fieldset class=\"govuk-fieldset\" aria-describedby=\"how-contacted-conditional-hint\">\n \n <div\n [ngClass]=\"refundHasError ? 'govuk-radios govuk-radios--conditional form-group-error' : 'govuk-radios govuk-radios--conditional'\"\n data-module=\"govuk-radios\" >\n <p class=\"inline-error-message\" *ngIf=\"refundHasError\">\n <span *ngIf=\"refundHasError\">Select a reason why you\u2019re making this refund</span>\n </p>\n\n \n\n <div class = \"container-fluid\">\n <div class=\"row\">\n <div class=\"govuk-radios__item col-md-4\" *ngFor=\"let refund of commonRefundReasons; let i = index;\">\n <!-- <div *ngIf = \"{{refund.name}} !== 'Retrospective remission'\"> -->\n <input class=\"govuk-radios__input\" id=\"{{refund.name}}\" name=\"refundReason\" type=\"radio\"\n formControlName=\"refundReason\" value={{refund.code}}\n (change)=\"selectRadioButton(refund.code, refund.name)\">\n <label class=\"govuk-label--s govuk-radios__label govuk-font__custom\" for=\"how-contacted-conditional\">\n {{refund.name}}\n </label>\n\n <div class=\"govuk-radios__conditional\" *ngIf=\"isRefundReasonsSelected && showReasonText && selectedRefundReason === refund.name \" >\n <label class=\"govuk-label govuk-label--m\" for=\"{{refund.name}}\">\n Enter reason\n </label>\n <div [ngClass]=\"{'form-group-error': isReasonEmpty}\">\n <p class=\"inline-error-message\" *ngIf=\"isReasonEmpty\">\n <span *ngIf=\"isReasonEmpty\">Enter a reason why you\u2019re making this refund</span>\n </p>\n \n <input class=\"govuk-input govuk-input--width-10\" [ngClass]=\"{'inline-error-class': isReasonEmpty}\" id=\"reason\" aria-label=\"reason\" name=\"reason\" type=\"text\" aria-describedby=\"reason\" maxlength=\"30\" formControlName=\"reason\">\n </div>\n </div>\n <!-- </div> -->\n </div>\n </div>\n </div>\n <br/>\n <div>\n <select formControlName=\"refundDDReason\" class=\"govuk-select\" id=\"sort\" (change)=\"selectchange($event)\">\n <option selected='selected' [defaultSelected]=true [value]=\"default\" >{{default}}</option> \n <!-- <option value=\"\" selected='selected'>Select a different reason</option> -->\n <option *ngFor=\"let refund of refundReasons;\" id=\"{{refund.name}}\" value=\"{{refund.code}}\">{{refund.name}}</option>\n </select>\n \n </div>\n <br/>\n <div class=\"govuk-radios__conditional\" *ngIf=\"showReasonText && !isRefundReasonsSelected\" >\n <div [ngClass]=\"{'form-group-error': isReasonEmpty}\">\n <label class=\"govuk-label govuk-label--m\" for=\"amount\">\n Enter reason\n </label>\n <p class=\"inline-error-message\" *ngIf=\"isReasonEmpty\">\n <span *ngIf=\"isReasonEmpty\">Enter a reason why you\u2019re making this refund</span>\n </p>\n <input class=\"govuk-input govuk-input--width-10\" [ngClass]=\"{'inline-error-class': isReasonEmpty}\" id=\"reason\" aria-label=\"reason\" name=\"reason\" type=\"text\" aria-describedby=\"reason\" maxlength=\"{{reasonLength}}\" formControlName=\"reason\">\n </div>\n </div>\n\n \n </div>\n </fieldset>\n </form>\n </div>\n </form>\n </div>\n <div class=\"govuk-button-group\">\n <button (click)=\"gotoPartialFeeRefundScreen()\" class=\"govuk-button govuk-button--secondary\"> Previous</button>\n <button (click)=\"gotoIssueRefundConfirmation(payment)\" class=\"govuk-button\"> Continue</button>\n </div>\n <p>\n <a href=\"javascript:void(0)\" (click)=\"gotoCasetransationPageCancelBtnClicked($event)\" class=\"govuk-link\" data-module=\"govuk-button\">\n Cancel\n </a>\n </p>\n \n</ng-container>\n<ng-container *ngIf=\"viewStatus === 'contactDetailsPage'\">\n <input #myInput type='hidden' id='iFrameDrivenImageValue' value='CAPTUREADDRESSDETAILSPAGE'> \n <h1 class=\"govuk-heading-l\">Process refund</h1>\n <h2 class=\"govuk-heading-m govuk-font19px\">Case reference: {{ccdCaseNumber | ccdHyphens }}</h2>\n <span id=\"how-contacted-conditional-hint\" class=\"govuk-hint govuk-font19px\">\n Payment reference: {{paymentReference}}\n </span>\n <ccpay-contact-details\n [addressObj] = notification\n (assignContactDetails)=\"getContactDetails($event, 'checkissuerefundpage')\"\n (redirectToIssueRefund)=\"gotoRefundReasonPage()\" ></ccpay-contact-details>\n <p>\n <a (click)=\"gotoCasetransationPageCancelBtnClicked($event)\" class=\"govuk-link\" data-module=\"govuk-button\">\n Cancel\n </a>\n </p>\n\n</ng-container>\n\n<ng-container *ngIf=\"viewStatus === 'checkissuerefundpage'\">\n <input #myInput type='hidden' id='iFrameDrivenImageValue' value='CHECKISSUEREFUNDPAGE'> \n <div class=\"govuk-warning-text\">\n \n <h1 class=\"heading-large\"> Check your answers</h1>\n </div>\n <table class=\"govuk-table\">\n \n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Payment reference</td>\n <td class=\"govuk-table__cell\">{{paymentReference}}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Payment amount</td>\n <td class=\"govuk-table__cell\">{{payment.amount | currency:'GBP':'symbol-narrow':'1.2-2'}}</td>\n </tr>\n <tr>\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Reason for refund</td>\n <td class=\"govuk-table__cell\">{{ displayRefundReason?.trim() }} \n <a (click)=\"changeIssueRefundReason()\" class=\"govuk-link right\" >Change</a>\n </td>\n </tr>\n <tr class=\"govuk-table__row\" *ngIf=\"!isFullyRefund\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Refund amount</td>\n <td class=\"govuk-table__cell\">{{totalRefundAmount | currency:'GBP':'symbol-narrow':'1.2-2'}}\n <a (click)=\"changeRefundAmount()\" class=\"govuk-link right\" >Change</a>\n </td>\n </tr>\n <tr class=\"govuk-table__row\" *ngIf=\"isFullyRefund\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Refund amount</td>\n <td class=\"govuk-table__cell\">{{payment.amount | currency:'GBP':'symbol-narrow':'1.2-2'}}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Send to</td>\n <td class=\"govuk-table__cell\">{{orderParty}}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Send via</td>\n <td class=\"govuk-table__cell whitespace-inherit\">\n <div *ngIf=\"contactDetailsObj?.notification_type === 'EMAIL'\" class=\"contactDetails-width\">\n <strong>Email</strong>\n <br/>\n {{contactDetailsObj?.email?.trim()}}\n </div>\n <div *ngIf=\"contactDetailsObj?.notification_type === 'LETTER'\" class=\"contactDetails-width\">\n <strong>Post</strong>\n <br/>\n {{contactDetailsObj?.address_line?.trim()}}&nbsp;{{contactDetailsObj?.city?.trim()}}&nbsp;{{contactDetailsObj?.county?.trim()}}&nbsp;{{contactDetailsObj?.country?.trim()}}&nbsp;{{contactDetailsObj?.postal_code?.trim()}}\n </div>\n <a (click)=\"gotoContactDetailsPage(contactDetailsObj)\" class=\"govuk-link right\" >Change</a>\n </td>\n </tr>\n\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Notification</td>\n <td class=\"govuk-table__cell\">{{templateInstructionType}}\n <a *ngIf=\"!notificationPreview\" href=\"Javascript:void(0)\" class=\"govuk-link right\" (click)=\"showNotificationPreview()\">\n Preview\n </a>\n <a *ngIf=\"notificationPreview\" href=\"Javascript:void(0)\" class=\"govuk-link right\" (click)=\"hideNotificationPreview()\">\n Hide Preview\n </a>\n </td>\n </tr>\n </table>\n\n <app-notification-preview *ngIf=\"notificationPreview\" \n [payment]=\"payment\" \n [contactDetails]=\"contactDetailsObj\"\n [refundReason]=\"selectedRefundReasonCode\"\n [refundAmount]=\"isFullyRefund ? payment.amount : totalRefundAmount\"></app-notification-preview>\n\n\n <div class=\"govuk-button-group\">\n <button type=\"submit\" class=\"button govuk-button--secondary\" (click)=\"gotoContactDetailsPage(contactDetailsObj)\"> Previous </button>\n <button type=\"submit\"\n [disabled]=\"isConfirmationBtnDisabled\"\n [ngClass]='isConfirmationBtnDisabled ? \"button button--disabled govuk-!-margin-right-1\" : \"button govuk-!-margin-right-1\"'\n (click)=\"confirmIssueRefund(isFullyRefund)\">\n Submit refund\n </button>\n </div>\n <p>\n <a (click)=\"gotoCasetransationPageCancelBtnClicked($event)\" class=\"govuk-link\" data-module=\"govuk-button\">\n Cancel\n </a>\n </p>\n\n</ng-container>\n\n<!--Retro Refund-->\n<ng-container *ngIf=\"viewCompStatus === 'addrefundforremission'\">\n <input #myInput type='hidden' id='iFrameDrivenImageValue' value='ADDRESSDETAILSRETROREMISSIONPAGE'> \n <h1 class=\"govuk-heading-l\">Process refund</h1>\n <h2 class=\"govuk-heading-m govuk-font19px\">Case reference: {{ccdCaseNumber | ccdHyphens }}</h2>\n <span id=\"how-contacted-conditional-hint\" class=\"govuk-hint govuk-font19px\">\n Payment reference: {{paymentReference}}\n </span>\n<ccpay-contact-details \n[addressObj] = notification\n(assignContactDetails)=\"getContactDetails($event, 'addrefundcheckandanswer')\"\n(redirectToIssueRefund)=\"gotoServiceRequestPage($event)\" ></ccpay-contact-details>\n<p>\n <a (click)=\"gotoCasetransationPageCancelBtnClicked($event)\" class=\"govuk-link\" data-module=\"govuk-button\">\n Cancel\n </a>\n</p>\n</ng-container>\n<ng-container *ngIf=\"viewStatus === 'addrefundcheckandanswer'\">\n <input #myInput type='hidden' id='iFrameDrivenImageValue' value='ADDREFUNDFORREMISSION'> \n <div class=\"govuk-warning-text\">\n \n <h1 class=\"heading-large\"> Check your answers</h1>\n </div>\n <table class=\"govuk-table\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Reason for refund</td>\n <td class=\"govuk-table__cell\">Retrospective remission</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Payment reference</td>\n <td class=\"govuk-table__cell\">{{paymentReference}}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Refund amount</td>\n <td class=\"govuk-table__cell\">{{remission.hwf_amount | currency:'GBP':'symbol-narrow':'1.2-2'}}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Fee code</td>\n <td class=\"govuk-table__cell\">{{remission.fee_code}}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Fee amount</td>\n <td class=\"govuk-table__cell\">{{feeamount | currency:'GBP':'symbol-narrow':'1.2-2'}}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Send to</td>\n <td class=\"govuk-table__cell\">{{orderParty}}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Send via</td>\n <td class=\"govuk-table__cell whitespace-inherit\">\n <div *ngIf=\"contactDetailsObj?.notification_type === 'EMAIL'\" class=\"contactDetails-width\">\n <strong>Email</strong>\n <br/>\n {{contactDetailsObj?.email?.trim()}}\n </div>\n <div *ngIf=\"contactDetailsObj?.notification_type === 'LETTER'\" class=\"contactDetails-width\">\n <strong>Post</strong>\n <br/>\n {{contactDetailsObj?.address_line?.trim()}}&nbsp;{{contactDetailsObj?.city?.trim()}}&nbsp;{{contactDetailsObj?.county?.trim()}}&nbsp;{{contactDetailsObj?.country?.trim()}}&nbsp;{{contactDetailsObj?.postal_code?.trim()}}\n </div>\n <a (click)=\"gotoAddressPage(contactDetailsObj)\" class=\"govuk-link right\" >Change</a>\n </td>\n </tr>\n\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Notification</td>\n <td class=\"govuk-table__cell\">{{templateInstructionType}}\n <a *ngIf=\"!notificationPreview\" href=\"Javascript:void(0)\" class=\"govuk-link right\" (click)=\"showNotificationPreview()\">\n Preview\n </a>\n <a *ngIf=\"notificationPreview\" href=\"Javascript:void(0)\" class=\"govuk-link right\" (click)=\"hideNotificationPreview()\">\n Hide Preview\n </a>\n </td>\n </tr>\n </table>\n\n <app-notification-preview *ngIf=\"notificationPreview\" \n [contactDetails]=\"contactDetailsObj\"\n [paymentReference]=\"paymentReference\"\n [payment]=\"paymentObj\"\n [refundReason]=\"'RR036'\"\n [refundAmount]=\"remission.hwf_amount\"></app-notification-preview>\n\n <div class=\"govuk-button-group\">\n <button type=\"submit\" class=\"button govuk-button--secondary\" (click)=\"gotoAddressPage(contactDetailsObj)\">Previous</button>\n <button type=\"submit\"\n [disabled]=\"isConfirmationBtnDisabled\"\n [ngClass]='isConfirmationBtnDisabled ? \"button button--disabled govuk-!-margin-right-1\" : \"button govuk-!-margin-right-1\"'\n (click)=\"processRefund()\">\n Submit refund\n </button>\n </div>\n <p>\n <a href=\"javascript:void(0)\" (click)=\"gotoCasetransationPageCancelBtnClicked($event)\" class=\"govuk-link\" data-module=\"govuk-button\">\n Cancel\n </a>\n </p>\n\n</ng-container>\n\n<ng-container *ngIf=\"viewStatus === 'retrorefundconfirmationpage'\">\n <div class=\"govuk-grid-row\">\n <div >\n <div class=\"govuk-panel govuk-panel--confirmation\">\n <h1 class=\"govuk-panel__title\">\n Refund submitted\n </h1>\n \n <div class=\"govuk-panel__body\">\n <p class=\"govuk-body white\"><strong>Refund reference: {{refundReference}}</strong></p>\n </div>\n \n </div>\n <div *ngIf=\"isPaymentSuccess\">\n <h2 class=\"govuk-heading-l\">What happens next</h2>\n <p class=\"govuk-body\">\n A refund request for {{ refundAmount| currency:'GBP':'symbol-narrow':'1.2-2'}} has been passed to a team leader to approve.\n </p>\n </div>\n <p class=\"govuk-body\">\n <a href=\"javascript:void(0)\" (click)=\"gotoCasetransationPageCancelBtnClicked($event)\" class=\"govuk-link pointer\" data-module=\"govuk-button\">\n Return to case\n </a>\n </p>\n </div>\n </div>\n</ng-container>\n\n<ng-container *ngIf=\"viewStatus === 'order-full-view'\">\n <ccpay-service-request\n [viewStatus] = \"viewStatus\"\n [orderRef] = \"orderRef\"\n [isServiceRequest]=\"isServiceRequest\"\n [orderStatus] = \"orderStatus\"\n [orderCreated] = \"orderCreated\"\n [orderParty] = \"orderParty\"\n [orderCCDEvent] = \"orderCCDEvent\"\n [orderDetail] = \"orderDetail\"\n [LOGGEDINUSERROLES] = \"LOGGEDINUSERROLES\"\n [takePayment] = \"takePayment\"\n [ccdCaseNumber] = \"ccdCaseNumber\"\n [orderFeesTotal] = \"orderFeesTotal\"\n [orderTotalPayments] = \"orderTotalPayments\"\n [orderRemissionTotal] = \"orderRemissionTotal\">\n</ccpay-service-request>\n</ng-container>\n\n<ng-container *ngIf=\"viewStatus === 'payment-view'\">\n <ccpay-payment-view \n [LOGGEDINUSERROLES] = \"LOGGEDINUSERROLES\"\n [isTurnOff] = \"isTurnOff\" \n [isTakePayment] = \"takePayment\" \n [caseType] = \"caseType\"\n [isServiceRequest]=\"isServiceRequest\"\n [orderRef] = \"orderRef\"\n [orderStatus] = \"orderStatus\"\n [orderCreated] = \"orderCreated\"\n [orderParty] = \"orderParty\"\n [orderCCDEvent] = \"orderCCDEvent\"\n [orderDetail] = \"orderDetail\"\n [orderFeesTotal] = \"orderFeesTotal\"\n [orderTotalPayments] = \"orderTotalPayments\"\n [orderRemissionTotal] = \"orderRemissionTotal\"\n >\n</ccpay-payment-view>\n</ng-container>\n\n</div>",
5758
+ styles: [".add-remission .button{margin:20px 2px;padding:.5em;font-size:19px;font-weight:200}.add-remission td.govuk-table__cell{width:50%}.add-remission .govuk-button--secondary{background-color:#dee0e2;box-shadow:0 2px 0 #858688;color:#0b0c0c;margin-right:.5em}.add-remission .govuk-label--s,.add-remission .govuk-warning-text__text,.add-remission .hmcts-currency-input__symbol{font-size:19px;font-weight:400}.add-remission .inline-error-class{outline:3px solid #a71414;outline-offset:0;border-color:#a71414}.add-remission .inline-error-message{color:#a71414;border-color:#a71414;font-weight:700;margin-top:10px;font-size:20px}.add-remission .govuk-button,.add-remission .govuk-link{margin-right:1em;font-size:19px;font-weight:200}.add-remission .govuk-button-group{padding-top:2em}.add-remission .heading-medium{margin-top:.875em}.add-remission .heading-large{margin-top:.25em}.add-remission .govuk-panel--confirmation{color:#fff;background:#00703c}.add-remission .govuk-panel__title{font-size:5rem}.add-remission .govuk-body,.add-remission .govuk-body-m{font-size:2.1875rem}.add-remission .govuk-radios__item{clear:none!important;display:inline-block;width:45%!important}.add-remission .govuk-radios__conditional{padding-top:12px!important}.add-remission .right{float:right;cursor:pointer}.add-remission .radio{float:right}.govuk-font19px,.govuk-input,.govuk-select{font-size:19px}.govuk-select{font-weight:400}.govuk-input--width-10{max-width:50ex}.govuk-label--m{font-size:19px;font-weight:400}.govuk-error-summary__body{font-size:19px!important}.govuk-error-summary__title{font-size:24px!important}.white{color:#fff}.pagesize{margin:2em;width:97%}.pointer{cursor:pointer}.col-18{min-width:18em}.col-6{min-width:6em}.col-8{min-width:8em}.col-1{min-width:1em}.col-25{width:25%!important}.col-24{width:24%!important}.left{text-align:left}.center{text-align:center}.col-60{width:60%;text-align:left}.margin-top--size{margin-top:-30px}.contactDetails-width{width:70%}.right{cursor:pointer}.form-hint{font-size:19px!important}.govuk-panel-border--confirmation{color:#0b0c0c;border:5px solid #00703c}.whitespace-inherit{white-space:inherit!important}.govuk-link{cursor:pointer}"]
4841
5759
  },] }
4842
5760
  ];
4843
5761
  AddRemissionComponent.ctorParameters = function () { return [
4844
5762
  { type: forms.FormBuilder },
4845
5763
  { type: router.Router },
4846
5764
  { type: PaymentViewService },
5765
+ { type: NotificationService },
4847
5766
  { type: PaymentLibComponent },
4848
5767
  { type: RefundsService },
4849
5768
  { type: i0.ChangeDetectorRef },
@@ -4851,6 +5770,7 @@
4851
5770
  ]; };
4852
5771
  AddRemissionComponent.propDecorators = {
4853
5772
  fee: [{ type: i0.Input }],
5773
+ fees: [{ type: i0.Input }],
4854
5774
  payment: [{ type: i0.Input }],
4855
5775
  remission: [{ type: i0.Input }],
4856
5776
  ccdCaseNumber: [{ type: i0.Input }],
@@ -4864,7 +5784,12 @@
4864
5784
  isFromRefundListPage: [{ type: i0.Input }],
4865
5785
  isFromPaymentDetailPage: [{ type: i0.Input }],
4866
5786
  isFromServiceRequestPage: [{ type: i0.Input }],
5787
+ isFullyRefund: [{ type: i0.Input, args: ['isFullyRefund',] }],
4867
5788
  feeamount: [{ type: i0.Input }],
5789
+ refundPaymentReference: [{ type: i0.Input }],
5790
+ isFromRefundStatusPage: [{ type: i0.Input }],
5791
+ changeRefundReason: [{ type: i0.Input }],
5792
+ isServiceRequest: [{ type: i0.Input, args: ["isServiceRequest",] }],
4868
5793
  LOGGEDINUSERROLES: [{ type: i0.Input, args: ['LOGGEDINUSERROLES',] }],
4869
5794
  orderDetail: [{ type: i0.Input, args: ['orderDetail',] }],
4870
5795
  orderRef: [{ type: i0.Input, args: ['orderRef',] }],
@@ -4878,7 +5803,8 @@
4878
5803
  orderRemissionTotal: [{ type: i0.Input, args: ['orderRemissionTotal',] }],
4879
5804
  cancelRemission: [{ type: i0.Output }],
4880
5805
  refundListReason: [{ type: i0.Output }],
4881
- refundListAmount: [{ type: i0.Output }]
5806
+ refundListAmount: [{ type: i0.Output }],
5807
+ refundFees: [{ type: i0.Output }]
4882
5808
  };
4883
5809
 
4884
5810
  var CcdHyphensPipe = /** @class */ (function () {
@@ -4960,7 +5886,6 @@
4960
5886
  XlFileService.prototype.exportAsExcelFile = function (json, excelFileName) {
4961
5887
  var worksheet;
4962
5888
  var workbook;
4963
- console.log(excelFileName);
4964
5889
  if (excelFileName.match('Data_Loss') !== null) {
4965
5890
  worksheet = XLSX__namespace.utils.json_to_sheet(json, { header: ['loss_resp', 'payment_asset_dcn', 'env_ref', 'env_item', 'resp_service_id', 'resp_service_name', 'date_banked', 'bgc_batch', 'payment_method', 'amount'] });
4966
5891
  worksheet = this.setDataLossReportHeaders(worksheet);
@@ -4977,7 +5902,7 @@
4977
5902
  worksheet = this.autoFitColumns(worksheet, json);
4978
5903
  }
4979
5904
  else if (excelFileName.match('Payment failure') !== null) {
4980
- worksheet = XLSX__namespace.utils.json_to_sheet(json, { header: ['payment_reference', 'ccd_reference', 'org_id', 'service_name', 'failure_reference', 'failure_reason', 'disputed_amount', 'event_name', 'event_date', 'representment_status', 'representment_date', 'refund_reference', 'refund_amount', 'refund_date'] });
5905
+ worksheet = XLSX__namespace.utils.json_to_sheet(json, { header: ['payment_reference', 'ccd_reference', 'document_control_number', 'org_id', 'service_name', 'failure_reference', 'failure_reason', 'disputed_amount', 'event_name', 'event_date', 'representment_status', 'representment_date', 'refund_reference', 'refund_amount', 'refund_date'] });
4981
5906
  worksheet = this.setPaymentFailureReportHeaders(worksheet);
4982
5907
  worksheet = this.autoFitColumns(worksheet, json);
4983
5908
  }
@@ -5061,18 +5986,19 @@
5061
5986
  XlFileService.prototype.setPaymentFailureReportHeaders = function (worksheet) {
5062
5987
  worksheet.A1.v = "Payment reference";
5063
5988
  worksheet.B1.v = "CCD reference";
5064
- worksheet.C1.v = "OrgID";
5065
- worksheet.D1.v = "Service name";
5066
- worksheet.E1.v = "Failure reference";
5067
- worksheet.F1.v = "Failure reason";
5068
- worksheet.G1.v = "Disputed amount";
5069
- worksheet.H1.v = "Event name";
5070
- worksheet.I1.v = "Event date";
5071
- worksheet.J1.v = "Representment status";
5072
- worksheet.K1.v = "Representment date";
5073
- worksheet.L1.v = "Refund reference";
5074
- worksheet.M1.v = "Refund amount";
5075
- worksheet.N1.v = "Refund date";
5989
+ worksheet.C1.v = "Document Control Number";
5990
+ worksheet.D1.v = "OrgID";
5991
+ worksheet.E1.v = "Service name";
5992
+ worksheet.F1.v = "Failure reference";
5993
+ worksheet.G1.v = "Failure reason";
5994
+ worksheet.H1.v = "Disputed amount";
5995
+ worksheet.I1.v = "Event name";
5996
+ worksheet.J1.v = "Event date";
5997
+ worksheet.K1.v = "Representment status";
5998
+ worksheet.L1.v = "Representment date";
5999
+ worksheet.M1.v = "Refund reference";
6000
+ worksheet.N1.v = "Refund amount";
6001
+ worksheet.O1.v = "Refund date";
5076
6002
  return worksheet;
5077
6003
  };
5078
6004
  XlFileService.prototype.setShortFallReportHeaders = function (worksheet) {
@@ -5231,6 +6157,9 @@
5231
6157
  if (res['data'][i]['refund_date'] === undefined) {
5232
6158
  res['data'][i]['refund_date'] = 'N/A';
5233
6159
  }
6160
+ if (res['data'][i]['document_control_number'] === undefined) {
6161
+ res['data'][i]['document_control_number'] = 'N/A';
6162
+ }
5234
6163
  }
5235
6164
  }
5236
6165
  _this.isDownLoadButtondisabled = false;
@@ -5403,8 +6332,14 @@
5403
6332
  return (r[user_full_name] = '', r);
5404
6333
  }, {});
5405
6334
  this.userLst = Object.keys(this.userLst);
6335
+ this.userLst.sort(function (a, b) { return a.toString().localeCompare(b); });
6336
+ this.serviceLst = this.refundList.reduce(function (r, _a) {
6337
+ var service_type = _a.service_type;
6338
+ return (r[service_type] = '', r);
6339
+ }, {});
6340
+ this.serviceLst = Object.keys(this.serviceLst);
6341
+ this.serviceLst.sort(function (a, b) { return a.toString().localeCompare(b); });
5406
6342
  }
5407
- this.userLst.sort(function (a, b) { return a.toString().localeCompare(b); });
5408
6343
  };
5409
6344
  /**
5410
6345
  * Set the paginator and sort after the view init since this component will
@@ -5450,8 +6385,8 @@
5450
6385
  TableComponent.decorators = [
5451
6386
  { type: i0.Component, args: [{
5452
6387
  selector: 'ccpay-table',
5453
- template: "<div class=\"add-remission\">\n <div *ngIf=\"errorMessage\">\n <div class=\"error-summary\" role=\"group\" aria-labelledby=\"failure-error-summary-heading\" tabindex=\"-1\">\n <h2 class=\"heading-medium error-summary-heading\" id=\"failure-error-summary-heading\">\n Error in processing the request\n </h2>\n <div class=\"govuk-error-summary__body\">\n {{ errorMessage }}\n </div>\n </div>\n </div>\n\n<div *ngIf=\"dataSource.data.length > 0\" class=\"govuk-form-group\" style=\"float: right\">\n <label class=\"govuk-label dropdpwn\" for=\"sort\" >\n Filter by caseworker:\n </label>\n <select class=\"govuk-select\" id=\"sort\" name=\"sort\" (change)=\"selectchange($event)\">\n <option value=\"\" selected='selected'>All caseworkers</option>\n <option *ngFor=\"let name of userLst;\" value=\"{{name}}\">{{name}}</option>\n </select>\n </div>\n \n<div *ngIf=\"dataSource.data.length > 0\" class=\"example-container\">\n\n <mat-table [dataSource]=\"dataSource\" matSort>\n\n <ng-container matColumnDef=\"ccd_case_number\">\n <mat-header-cell *matHeaderCellDef >Case reference </mat-header-cell>\n <mat-cell *matCellDef=\"let row\" class=\"whitespace-inherit\"> {{row.ccd_case_number | ccdHyphens }} </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"refund_reference\">\n <mat-header-cell *matHeaderCellDef > Refund reference </mat-header-cell>\n <mat-cell *matCellDef=\"let row\" class=\"whitespace-inherit\"> {{row.refund_reference}} </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"user_full_name\">\n <mat-header-cell *matHeaderCellDef > Submitted by </mat-header-cell>\n <mat-cell *matCellDef=\"let row\" [style.color]=\"row.color\" class=\"whitespace-inherit\"> {{row.user_full_name }} </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"date_created\">\n <mat-header-cell *matHeaderCellDef mat-sort-header> Date created </mat-header-cell>\n <mat-cell *matCellDef=\"let row\" class=\"whitespace-inherit\"> {{row.date_created | date:'d MMMM yyyy'}} </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"date_updated\">\n <mat-header-cell *matHeaderCellDef mat-sort-header> Last updated</mat-header-cell>\n <mat-cell *matCellDef=\"let row\" [style.color]=\"row.color\" class=\"whitespace-inherit\"> {{row.date_updated | date:'d MMMM yyyy'}} </mat-cell>\n </ng-container>\n\n <ng-container *ngIf=\"isApprovalFlow\" matColumnDef=\"Action\">\n <mat-header-cell *matHeaderCellDef> Action </mat-header-cell>\n <mat-cell *matCellDef=\"let row\" [style.color]=\"row.color\" > <a href=\"javascript:void(0)\" (click)=\"goToCaseReview(row.ccd_case_number, row)\">Review case</a>&nbsp;<a href=\"javascript:void(0)\" (click)=\"goToRefundProcessComponent(row.refund_reference, row)\">Process refund</a></mat-cell>\n </ng-container>\n \n <ng-container *ngIf=\"!isApprovalFlow\" matColumnDef=\"Action\">\n <mat-header-cell *matHeaderCellDef > Action </mat-header-cell>\n <mat-cell *matCellDef=\"let row\" [style.color]=\"row.color\"> <a href=\"javascript:void(0)\" (click)=\"goToRefundViewComponent(row.refund_reference, row)\">Review refund</a></mat-cell>\n </ng-container>\n\n <mat-header-row *matHeaderRowDef=\"displayedColumns\"></mat-header-row>\n <mat-row *matRowDef=\"let row; columns: displayedColumns;\">\n </mat-row>\n </mat-table>\n <mat-paginator [pageSizeOptions]=\"[5, 10, 25, 100]\"></mat-paginator>\n</div>\n\n<div class=\"govuk-label dropdpwn\" *ngIf=\"dataSource.data.length === 0\">No records to display</div>\n",
5454
- styles: [".mat-header-row{min-height:27px}.mat-cell{padding:0 10px 0 0;text-align:left;word-wrap:break-word;white-space:inherit!important;font-size:19px;line-height:25px;font-weight:400}.mat-cell,.mat-table{font-family:nta,Arial,sans-serif}.mat-table{color:#0b0c0c;display:table;-webkit-font-smoothing:antialiased;margin-bottom:1px;box-sizing:border-box;text-indent:0;border-spacing:0;border-collapse:collapse;font-size:1.1875rem;line-height:1.31578947;table-layout:fixed;width:102%}.mat-header-cell{text-align:left;font-weight:700;padding:10px 10px 10px 0;word-wrap:break-word;font-size:19px;line-height:25px;color:#0b0c0c;cursor:pointer;font-family:inherit}.dropdpwn{display:inline-block;margin-right:10px;font-size:19px}.mat-column-ccdCaseNumber{flex:3em}.mat-column-refundReference{flex:6em}.mat-column-reason{flex:2em}.govuk-select{font-size:19px;font-weight:400}.govuk-error-summary__title{font-size:24px!important}"]
6388
+ template: "<div class=\"add-remission\">\n <div *ngIf=\"errorMessage\">\n <div class=\"error-summary\" role=\"group\" aria-labelledby=\"failure-error-summary-heading\" tabindex=\"-1\">\n <h2 class=\"heading-medium error-summary-heading\" id=\"failure-error-summary-heading\">\n Error in processing the request\n </h2>\n <div class=\"govuk-error-summary__body\">\n {{ errorMessage }}\n </div>\n </div>\n </div>\n\n \n\n<div *ngIf=\"dataSource.data.length > 0\" class=\"govuk-form-group float-right\">\n <label class=\"govuk-label dropdpwn\" for=\"sort\" >\n Filter by caseworker:\n </label>\n <select class=\"govuk-select\" id=\"sort\" name=\"sort\" (change)=\"selectchange($event)\">\n <option value=\"\" selected='selected'>All caseworkers</option>\n <option *ngFor=\"let name of userLst;\" value=\"{{name}}\">{{name}}</option>\n </select>\n</div>\n\n <div *ngIf=\"dataSource.data.length > 0\" class=\"govuk-form-group float-right-padding\">\n <label class=\"govuk-label dropdpwn\" for=\"sort\" >\n Filter by service:\n </label>\n <select class=\"govuk-select\" id=\"sort\" name=\"sort\" (change)=\"selectchange($event)\">\n <option value=\"\" selected='selected'>All services</option>\n <option *ngFor=\"let name of serviceLst;\" value=\"{{name}}\">{{name}}</option>\n </select>\n </div>\n \n<div *ngIf=\"dataSource.data.length > 0\" class=\"example-container\">\n\n <mat-table [dataSource]=\"dataSource\" matSort>\n\n <ng-container matColumnDef=\"ccd_case_number\">\n <mat-header-cell *matHeaderCellDef >Case reference </mat-header-cell>\n <mat-cell *matCellDef=\"let row\" class=\"whitespace-inherit\"> {{row.ccd_case_number | ccdHyphens }} </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"refund_reference\">\n <mat-header-cell *matHeaderCellDef > Refund reference </mat-header-cell>\n <mat-cell *matCellDef=\"let row\" class=\"whitespace-inherit\"> {{row.refund_reference}} </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"user_full_name\">\n <mat-header-cell *matHeaderCellDef > Submitted by </mat-header-cell>\n <mat-cell *matCellDef=\"let row\" [style.color]=\"row.color\" class=\"whitespace-inherit\"> {{row.user_full_name }} </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"date_created\">\n <mat-header-cell *matHeaderCellDef mat-sort-header> Date created </mat-header-cell>\n <mat-cell *matCellDef=\"let row\" class=\"whitespace-inherit\"> {{row.date_created | date:'d MMMM yyyy'}} </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"date_updated\">\n <mat-header-cell *matHeaderCellDef mat-sort-header> Last updated</mat-header-cell>\n <mat-cell *matCellDef=\"let row\" [style.color]=\"row.color\" class=\"whitespace-inherit\"> {{row.date_updated | date:'d MMMM yyyy'}} </mat-cell>\n </ng-container>\n\n <ng-container *ngIf=\"isApprovalFlow\" matColumnDef=\"Action\">\n <mat-header-cell *matHeaderCellDef> Action </mat-header-cell>\n <mat-cell *matCellDef=\"let row\" [style.color]=\"row.color\" > <a href=\"javascript:void(0)\" (click)=\"goToCaseReview(row.ccd_case_number, row)\">Review case</a>&nbsp;<a href=\"javascript:void(0)\" (click)=\"goToRefundProcessComponent(row.refund_reference, row)\">Process refund</a></mat-cell>\n </ng-container>\n \n <ng-container *ngIf=\"!isApprovalFlow\" matColumnDef=\"Action\">\n <mat-header-cell *matHeaderCellDef > Action </mat-header-cell>\n <mat-cell *matCellDef=\"let row\" [style.color]=\"row.color\"> <a href=\"javascript:void(0)\" (click)=\"goToRefundViewComponent(row.refund_reference, row)\">Review refund</a></mat-cell>\n </ng-container>\n\n <mat-header-row *matHeaderRowDef=\"displayedColumns\"></mat-header-row>\n <mat-row *matRowDef=\"let row; columns: displayedColumns;\">\n </mat-row>\n </mat-table>\n <mat-paginator [pageSizeOptions]=\"[5, 10, 25, 100]\"></mat-paginator>\n</div>\n\n<div class=\"govuk-label dropdpwn\" *ngIf=\"dataSource.data.length === 0\">No records to display</div>\n",
6389
+ styles: [".mat-header-row{min-height:27px}.mat-cell{padding:0 10px 0 0;text-align:left;word-wrap:break-word;white-space:inherit!important;font-size:19px;line-height:25px;font-weight:400}.mat-cell,.mat-table{font-family:nta,Arial,sans-serif}.mat-table{color:#0b0c0c;display:table;-webkit-font-smoothing:antialiased;margin-bottom:1px;box-sizing:border-box;text-indent:0;border-spacing:0;border-collapse:collapse;font-size:1.1875rem;line-height:1.31578947;table-layout:fixed;width:102%}.mat-header-cell{text-align:left;font-weight:700;padding:10px 10px 10px 0;word-wrap:break-word;font-size:19px;line-height:25px;color:#0b0c0c;cursor:pointer;font-family:inherit}.dropdpwn{display:inline-block;margin-right:10px;font-size:19px}.mat-column-ccdCaseNumber{flex:3em}.mat-column-refundReference{flex:6em}.mat-column-reason{flex:2em}.govuk-select{font-size:19px;font-weight:400}.govuk-error-summary__title{font-size:24px!important}.float-right{float:right}.float-right-padding{float:right;padding-right:2em}.float-left-padding{padding-left:12em}"]
5455
6390
  },] }
5456
6391
  ];
5457
6392
  TableComponent.ctorParameters = function () { return [
@@ -5469,28 +6404,40 @@
5469
6404
  sort: [{ type: i0.ViewChild, args: [sort.MatSort,] }]
5470
6405
  };
5471
6406
 
6407
+ var IPutNotificationRequest = /** @class */ (function () {
6408
+ function IPutNotificationRequest(contactDetails, notificationType) {
6409
+ if (notificationType === 'EMAIL') {
6410
+ this.recipient_email_address = contactDetails;
6411
+ }
6412
+ else if (notificationType === 'LETTER') {
6413
+ this.recipient_postal_address = contactDetails;
6414
+ }
6415
+ }
6416
+ return IPutNotificationRequest;
6417
+ }());
6418
+
5472
6419
  var IResubmitRefundRequest = /** @class */ (function () {
5473
- function IResubmitRefundRequest(refund_reason, amount) {
6420
+ function IResubmitRefundRequest(refund_reason, amount, contact_details, refund_fees) {
5474
6421
  this.refund_reason = refund_reason;
5475
6422
  this.amount = amount;
6423
+ this.contact_details = contact_details;
6424
+ this.refund_fees = refund_fees;
5476
6425
  }
5477
6426
  return IResubmitRefundRequest;
5478
6427
  }());
5479
6428
 
5480
6429
  var RefundStatusComponent = /** @class */ (function () {
5481
- function RefundStatusComponent(formBuilder, refundService, paymentLibComponent, paymentViewService, router, OrderslistService) {
6430
+ function RefundStatusComponent(formBuilder, refundService, notificationService, paymentLibComponent, OrderslistService, paymentViewService) {
5482
6431
  this.formBuilder = formBuilder;
5483
6432
  this.refundService = refundService;
6433
+ this.notificationService = notificationService;
5484
6434
  this.paymentLibComponent = paymentLibComponent;
5485
- this.paymentViewService = paymentViewService;
5486
- this.router = router;
5487
6435
  this.OrderslistService = OrderslistService;
6436
+ this.paymentViewService = paymentViewService;
5488
6437
  this.LOGGEDINUSERROLES = [];
5489
6438
  this.rejectedRefundList = [];
5490
6439
  this.approvalStatus = 'Sent for approval';
5491
6440
  this.rejectStatus = 'Update required';
5492
- // approvalStatus = 'sent for approval';
5493
- // rejectStatus = 'sent back';
5494
6441
  this.errorMessage = null;
5495
6442
  this.refundButtonState = '';
5496
6443
  this.isAmountEmpty = false;
@@ -5499,20 +6446,23 @@
5499
6446
  this.isRemissionLessThanFeeError = false;
5500
6447
  this.refundHasError = false;
5501
6448
  this.refundReasons = [];
6449
+ this.isResendOperationSuccess = false;
6450
+ this.isEditDetailsClicked = false;
6451
+ this.isEditAddressDeatilsClicked = false;
5502
6452
  this.isRefundBtnDisabled = true;
5503
6453
  this.isFromPayBubble = false;
5504
6454
  this.isLastUpdatedByCurrentUser = true;
5505
6455
  this.isProcessRefund = false;
6456
+ this.notificationSentViewIndex = -1;
6457
+ this.notificationPreview = false;
6458
+ this.notificationSentView = false;
6459
+ this.allowedRolesToAccessRefund = ['payments-refund-approver', 'payments-refund', 'payments'];
5506
6460
  }
5507
6461
  RefundStatusComponent.prototype.ngOnInit = function () {
5508
6462
  var _this = this;
5509
- // if (this.check4AllowedRoles2AccessRefund()) {
5510
6463
  this.resetRemissionForm([false, false, false, false], 'All');
5511
6464
  this.bsPaymentDcnNumber = this.paymentLibComponent.bspaymentdcn;
5512
6465
  this.isCallFromRefundList = this.paymentLibComponent.isCallFromRefundList;
5513
- // if(this.paymentLibComponent.isFromRefundStatusPage) {
5514
- // this.viewName = 'reviewandsubmitview';
5515
- // }
5516
6466
  if (this.API_ROOT == 'api/payment-history') {
5517
6467
  this.isFromPayBubble = true;
5518
6468
  }
@@ -5523,17 +6473,12 @@
5523
6473
  }
5524
6474
  else {
5525
6475
  this.viewName = 'refundstatuslist';
5526
- if (this.isEliginbleToAccess) {
5527
- this.refundService.getRefundStatusList(this.ccdCaseNumber).subscribe(function (refundList) {
5528
- _this.rejectedRefundList = refundList['refund_list'];
5529
- }),
5530
- function (error) {
5531
- _this.errorMessage = error.replace(/"/g, "");
5532
- };
5533
- }
5534
- else {
5535
- this.rejectedRefundList = [];
5536
- }
6476
+ this.refundService.getRefundStatusList(this.ccdCaseNumber).subscribe(function (refundList) {
6477
+ _this.rejectedRefundList = refundList['refund_list'];
6478
+ }),
6479
+ function (error) {
6480
+ _this.errorMessage = error.replace(/"/g, "");
6481
+ };
5537
6482
  }
5538
6483
  this.refundStatusForm = this.formBuilder.group({
5539
6484
  amount: new forms.FormControl('', forms.Validators.compose([
@@ -5544,6 +6489,7 @@
5544
6489
  reason: new forms.FormControl()
5545
6490
  });
5546
6491
  if (this.refundlist !== undefined) {
6492
+ this.getRefundsNotification();
5547
6493
  this.getRefundsStatusHistoryList();
5548
6494
  if (this.LOGGEDINUSERROLES.some(function (i) { return i.includes('payments-refund-approver'); })) {
5549
6495
  this.isProcessRefund = true;
@@ -5555,7 +6501,6 @@
5555
6501
  this.refundButtonState = this.refundlist.refund_status.name;
5556
6502
  }
5557
6503
  }
5558
- //}
5559
6504
  };
5560
6505
  RefundStatusComponent.prototype.getRefundsStatusHistoryList = function () {
5561
6506
  var _this = this;
@@ -5569,6 +6514,15 @@
5569
6514
  };
5570
6515
  }
5571
6516
  };
6517
+ RefundStatusComponent.prototype.getRefundsNotification = function () {
6518
+ var _this = this;
6519
+ this.notificationService.getRefundNotification(this.refundlist.refund_reference).subscribe(function (refundsNotification) {
6520
+ _this.notificationList = refundsNotification['notifications'];
6521
+ }),
6522
+ function (error) {
6523
+ _this.errorMessage = error.replace(/"/g, "");
6524
+ };
6525
+ };
5572
6526
  RefundStatusComponent.prototype.goToRefundView = function (refundlist, navigationpage) {
5573
6527
  this.OrderslistService.setRefundView(refundlist);
5574
6528
  this.OrderslistService.setCCDCaseNumber(this.ccdCaseNumber);
@@ -5603,6 +6557,7 @@
5603
6557
  RefundStatusComponent.prototype.gotoReviewAndReSubmitPage = function () {
5604
6558
  var _this = this;
5605
6559
  this.viewName = 'reviewandsubmitview';
6560
+ this.getTemplateInstructionType(this.paymentObj, this.refundlist.payment_reference);
5606
6561
  this.oldRefundReason = this.refundlist.reason;
5607
6562
  this.changedAmount = this.refundlist.amount;
5608
6563
  this.refundreason = this.refundStatusHistories.filter(function (data) { return data.status.toLowerCase() === 'update required'; })[0].notes;
@@ -5610,13 +6565,14 @@
5610
6565
  _this.refundReasons = refundReasons;
5611
6566
  });
5612
6567
  };
5613
- RefundStatusComponent.prototype.gotoRefundReasonPage = function () {
6568
+ RefundStatusComponent.prototype.gotoRefundReasonPage = function (refundReason) {
5614
6569
  this.isRefundBtnDisabled = false;
5615
6570
  this.paymentLibComponent.REFUNDLIST = "true";
5616
6571
  this.paymentLibComponent.isFromRefundStatusPage = true;
5617
6572
  this.ccdCaseNumber = this.paymentLibComponent.CCD_CASE_NUMBER;
5618
6573
  this.errorMessage = false;
5619
- this.viewName = 'issuerefund';
6574
+ this.changeRefundReason = refundReason;
6575
+ this.viewName = 'issuerefundpage1';
5620
6576
  };
5621
6577
  RefundStatusComponent.prototype.gotoAmountPage = function () {
5622
6578
  this.errorMessage = false;
@@ -5624,7 +6580,12 @@
5624
6580
  this.isRefundBtnDisabled = false;
5625
6581
  this.ccdCaseNumber = this.paymentLibComponent.CCD_CASE_NUMBER;
5626
6582
  this.paymentLibComponent.isFromRefundStatusPage = true;
5627
- this.viewName = 'processretroremissonpage';
6583
+ if (this.refundlist.reason == 'Retrospective remission') {
6584
+ this.viewName = 'processretroremissonpage';
6585
+ }
6586
+ else {
6587
+ this.viewName = 'issuerefund';
6588
+ }
5628
6589
  };
5629
6590
  RefundStatusComponent.prototype.goToReviewAndSubmitView = function () {
5630
6591
  var remissionctrls = this.refundStatusForm.controls;
@@ -5670,12 +6631,17 @@
5670
6631
  };
5671
6632
  RefundStatusComponent.prototype.getRefundListReason = function (refundListReason) {
5672
6633
  if (this.paymentLibComponent.isFromRefundStatusPage && !this.paymentLibComponent.iscancelClicked) {
5673
- this.refundlist.reason = refundListReason.reason;
5674
- this.refundCode = refundListReason.code;
6634
+ if (refundListReason.reason != undefined && refundListReason.reason != null && refundListReason.reason != this.refundlist.reason) {
6635
+ this.refundlist.reason = refundListReason.reason;
6636
+ this.refundlist.reason_code = refundListReason.code.split('-')[0].trim();
6637
+ this.refundlist.code = refundListReason.code;
6638
+ this.refundCode = refundListReason.code;
6639
+ }
5675
6640
  }
5676
6641
  else {
5677
6642
  this.isRefundBtnDisabled = true;
5678
6643
  }
6644
+ this.notificationPreview = false;
5679
6645
  this.viewName = 'reviewandsubmitview';
5680
6646
  this.paymentLibComponent.CCD_CASE_NUMBER = this.ccdCaseNumber;
5681
6647
  };
@@ -5689,15 +6655,33 @@
5689
6655
  else {
5690
6656
  this.isRefundBtnDisabled = true;
5691
6657
  }
6658
+ this.notificationPreview = false;
5692
6659
  this.viewName = 'reviewandsubmitview';
5693
6660
  this.paymentLibComponent.CCD_CASE_NUMBER = this.ccdCaseNumber;
5694
6661
  };
6662
+ RefundStatusComponent.prototype.getRefundFees = function (fees) {
6663
+ this.fees = fees;
6664
+ this.refundFees = this.fees.map(function (obj) { return ({
6665
+ fee_id: obj.id,
6666
+ code: obj.code,
6667
+ version: obj.version,
6668
+ volume: obj.updated_volume ? obj.updated_volume : obj.volume,
6669
+ refund_amount: obj.refund_amount
6670
+ }); });
6671
+ };
5695
6672
  RefundStatusComponent.prototype.gotoReviewRefundConfirmationPage = function () {
5696
6673
  var _this = this;
5697
- if (this.oldRefundReason === this.refundlist.reason) {
5698
- this.refundCode = '';
6674
+ // if (this.oldRefundReason === this.refundlist.reason) {
6675
+ // this.refundCode = '';
6676
+ // }
6677
+ if (this.refundFees === undefined) {
6678
+ this.refundFees = this.refundlist['refund_fees'];
5699
6679
  }
5700
- var resubmitRequest = new IResubmitRefundRequest(this.refundCode, this.changedAmount);
6680
+ if (this.refundlist.reason == 'Retrospective remission') {
6681
+ this.refundFees[0].refund_amount = this.changedAmount;
6682
+ }
6683
+ this.refundCode = this.refundlist.code;
6684
+ var resubmitRequest = new IResubmitRefundRequest(this.refundCode, this.changedAmount, this.refundlist.contact_details, this.refundFees);
5701
6685
  this.refundService.patchResubmitRefund(resubmitRequest, this.refundlist.refund_reference).subscribe(function (response) {
5702
6686
  if (JSON.parse(response)) {
5703
6687
  _this.refundReference = JSON.parse(response).refund_reference;
@@ -5708,42 +6692,147 @@
5708
6692
  _this.errorMessage = error.replace(/"/g, "");
5709
6693
  });
5710
6694
  };
6695
+ RefundStatusComponent.prototype.gotoEditAddressDetails = function (note) {
6696
+ this.notification = note;
6697
+ this.isEditDetailsClicked = true;
6698
+ this.viewName = 'refundEditView';
6699
+ };
6700
+ RefundStatusComponent.prototype.getContactDetails = function (obj) {
6701
+ this.addressDetails = obj;
6702
+ this.getTemplateInstructionType(this.paymentObj, this.refundlist.payment_reference);
6703
+ this.notificationPreview = false;
6704
+ this.viewName = 'revieweditdetailsconfirmationpage';
6705
+ };
6706
+ RefundStatusComponent.prototype.getContactDetailsForRefundList = function (obj) {
6707
+ this.refundlist.contact_details = obj;
6708
+ this.getTemplateInstructionType(this.paymentObj, this.refundlist.payment_reference);
6709
+ this.notificationPreview = false;
6710
+ this.isEditDetailsClicked = false;
6711
+ this.isRefundBtnDisabled = false;
6712
+ this.viewName = 'reviewandsubmitview';
6713
+ };
6714
+ RefundStatusComponent.prototype.gotoEditDetailsPage = function (note, view) {
6715
+ if (note) {
6716
+ this.notification = { contact_details: note, notification_type: note.notification_type };
6717
+ }
6718
+ this.isEditDetailsClicked = true;
6719
+ this.viewName = view;
6720
+ };
6721
+ RefundStatusComponent.prototype.submitEditDetail = function () {
6722
+ var _this = this;
6723
+ this.isResendOperationSuccess = false;
6724
+ var contactDetails = this.addressDetails.notification_type === 'EMAIL' ? this.addressDetails.email :
6725
+ {
6726
+ address_line: this.addressDetails.address_line,
6727
+ city: this.addressDetails.city,
6728
+ county: this.addressDetails.county,
6729
+ country: this.addressDetails.country,
6730
+ postal_code: this.addressDetails.postal_code,
6731
+ };
6732
+ var resendRequest = new IPutNotificationRequest(contactDetails, this.addressDetails.notification_type);
6733
+ this.refundService.putResendOrEdit(resendRequest, this.refundlist.refund_reference, this.addressDetails.notification_type).subscribe(function (response) {
6734
+ _this.isResendOperationSuccess = response;
6735
+ }, function (error) {
6736
+ _this.isResendOperationSuccess = false;
6737
+ _this.errorMessage = error.replace(/"/g, "");
6738
+ });
6739
+ };
6740
+ RefundStatusComponent.prototype.putResend = function (notification) {
6741
+ var _this = this;
6742
+ this.isResendOperationSuccess = false;
6743
+ var contactDetails = notification.notification_type === 'EMAIL' ? notification.contact_details.email :
6744
+ {
6745
+ address_line: notification.contact_details.address_line,
6746
+ city: notification.contact_details.city,
6747
+ county: notification.contact_details.county,
6748
+ country: notification.contact_details.country,
6749
+ postal_code: notification.contact_details.postal_code,
6750
+ };
6751
+ var resendRequest = new IPutNotificationRequest(contactDetails, notification.notification_type);
6752
+ this.refundService.putResendOrEdit(resendRequest, this.refundlist.refund_reference, notification.notification_type).subscribe(function (response) {
6753
+ _this.isResendOperationSuccess = response;
6754
+ }, function (error) {
6755
+ _this.isResendOperationSuccess = false;
6756
+ _this.errorMessage = error.replace(/"/g, "");
6757
+ });
6758
+ };
6759
+ RefundStatusComponent.prototype.gotoRefundViewPageCancelBtnClicked = function (event) {
6760
+ event.preventDefault();
6761
+ this.isEditDetailsClicked = false;
6762
+ this.viewName = 'refundview';
6763
+ };
6764
+ RefundStatusComponent.prototype.gotoRefundReviewAndSubmitViewPageCancelBtnClicked = function (event) {
6765
+ event.preventDefault();
6766
+ this.isEditDetailsClicked = false;
6767
+ this.viewName = 'reviewandsubmitview';
6768
+ };
5711
6769
  RefundStatusComponent.prototype.goToRefundProcessComponent = function (refundReference, refundList) {
5712
6770
  this.paymentLibComponent.refundlistsource = refundList;
5713
6771
  this.paymentLibComponent.refundReference = refundReference;
6772
+ this.paymentLibComponent.isFromPayBubble = true;
5714
6773
  this.paymentLibComponent.viewName = 'process-refund';
5715
6774
  };
6775
+ RefundStatusComponent.prototype.getTemplateInstructionType = function (payment, paymentReference) {
6776
+ var _this = this;
6777
+ if (payment == undefined || payment == null || payment.reference != paymentReference) {
6778
+ this.paymentViewService.getPaymentDetails(paymentReference).subscribe(function (payment) {
6779
+ _this.paymentObj = payment;
6780
+ _this.paymentObj.reference = paymentReference;
6781
+ _this.templateInstructionType = _this.notificationService.getNotificationInstructionType(_this.paymentObj.channel, _this.paymentObj.method);
6782
+ }, function (error) {
6783
+ _this.templateInstructionType = 'Template';
6784
+ });
6785
+ }
6786
+ else {
6787
+ this.templateInstructionType = this.notificationService.getNotificationInstructionType(payment.channel, payment.method);
6788
+ }
6789
+ };
6790
+ RefundStatusComponent.prototype.showNotificationPreview = function () {
6791
+ this.notificationPreview = true;
6792
+ };
6793
+ RefundStatusComponent.prototype.hideNotificationPreview = function () {
6794
+ this.notificationPreview = false;
6795
+ };
6796
+ RefundStatusComponent.prototype.showNotificationSentView = function (index) {
6797
+ this.notificationSentViewIndex = index;
6798
+ this.notificationSentView = true;
6799
+ };
6800
+ RefundStatusComponent.prototype.hideNotificationSentView = function () {
6801
+ this.notificationSentViewIndex = -1;
6802
+ this.notificationSentView = false;
6803
+ };
5716
6804
  return RefundStatusComponent;
5717
6805
  }());
5718
6806
  RefundStatusComponent.decorators = [
5719
6807
  { type: i0.Component, args: [{
5720
6808
  selector: 'ccpay-refund-status',
5721
- template: "\n<div *ngIf=\"errorMessage\">\n <div class=\"error-summary\" role=\"group\" aria-labelledby=\"failure-error-summary-heading\" tabindex=\"-1\">\n <h2 class=\"heading-medium error-summary-heading\" id=\"failure-error-summary-heading\">\n Error in processing the request\n </h2>\n <div class=\"govuk-error-summary__body\">\n {{ errorMessage }}\n </div>\n </div>\n</div>\n<ng-container *ngIf=\"viewName==='refundstatuslist' && rejectedRefundList\">\n <!-- payments -->\n\n <table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header col-16\" scope=\"col\">Status</td>\n <td class=\"govuk-table__header col-11\" scope=\"col\">Amount</td>\n <td class=\"govuk-table__header col-18\" scope=\"col\">Date</td>\n <td class=\"govuk-table__header col-25\" scope=\"col\">Refund reference</td>\n <td class=\"govuk-table__header col-24 \" scope=\"col\">Reason</td>\n <td class=\"govuk-table__header\" scope=\"col\"></td>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\" *ngIf=\"rejectedRefundList?.length > 0\">\n <tr class=\"govuk-table__row\" *ngFor=\"let refundList of rejectedRefundList\">\n <td class=\"govuk-table__cell whitespace-inherit\">{{ refundList?.refund_status['name'] }}</td>\n <td class=\"channel govuk-table__cell whitespace-inherit\">\u00A3{{ refundList?.amount | number:'.2' }}</td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{ refundList?.date_updated | date:'dd MMM yyyy'}}\n </td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{ refundList?.refund_reference }}</td>\n <td class=\"govuk-table__cell whitespace-inherit\"> {{refundList?.reason}}</td>\n <td class=\"govuk-table__cell whitespace-inherit\">\n <a href=\"javascript:void(0)\" (click)=\"goToRefundView(refundList,'casetransactions')\">Review</a>\n </td>\n </tr>\n </tbody>\n <tbody class=\"govuk-table__body\" *ngIf=\"rejectedRefundList?.length === 0\">\n <td class=\"govuk-table__cell\" colspan=\"6\">No refunds recorded</td>\n </tbody>\n </table>\n</ng-container>\n\n<ng-container *ngIf=\"viewName==='refundview'\">\n <div class=\"govuk-breadcrumbs\">\n <ol class=\"govuk-breadcrumbs__list\">\n <li class=\"govuk-breadcrumbs__list-item\">\n <a href=\"javascript:void(0)\" (click)=\"loadRefundListPage()\" class=\"govuk-back-link govuk-label\">Back</a>\n </li>\n </ol>\n </div>\n <h2 class=\"govuk-heading-l\">Refund details</h2>\n <table>\n \n <tbody>\n <tr class=\"section\">\n <td class=\"bold tb-col-w\">Refund reference</td>\n <td>{{ refundlist?.refund_reference }}</td>\n </tr>\n <tr class=\"section\">\n <td class=\"bold tb-col-w\">Payment to be refunded</td>\n <td>{{refundlist?.payment_reference }}</td>\n </tr>\n <tr class=\"section\">\n <td class=\"bold tb-col-w\">Reason for refund</td>\n <td>{{ refundlist?.reason }}</td>\n </tr>\n <tr class=\"section\">\n <td class=\"bold tb-col-w\">Amount refunded</td>\n <td>\u00A3{{refundlist?.amount | number:'.2' }}</td>\n </tr>\n\n </tbody>\n </table>\n\n <!-- Status history -->\n <div>\n <br />\n <h2 class=\"govuk-heading-m\">Refund status history</h2>\n <div *ngIf=\"refundStatusHistories\">\n <table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header col-24 whitespace-inherit\" scope=\"col\">Status</td>\n <td class=\"govuk-table__header col-27 whitespace-inherit\" scope=\"col\">Date and time</td>\n <td class=\"govuk-table__header whitespace-inherit\" scope=\"col\">Users</td>\n <td class=\"govuk-table__header whitespace-inherit\" scope=\"col\">Notes</td>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\" *ngFor=\"let refundStatusHistory of refundStatusHistories;\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell whitespace-inherit\">{{refundStatusHistory.status}}</td>\n <td class=\"govuk-table__cell whitespace-inherit\">\n {{refundStatusHistory.date_created | date:'dd MMMM yyyy HH:mm:ss'}}\n </td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{refundStatusHistory.created_by}}</td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{refundStatusHistory.notes}}</td>\n </tr>\n </tbody>\n </table>\n </div>\n\n </div>\n\n <ng-container *ngIf=\"viewName === 'refundview' && !isFromPayBubble\">\n <div *ngIf=\"refundButtonState==='Update required'\">\n <!-- <div *ngIf=\"refundButtonState==='sent back'\"> -->\n <br />\n <button type=\"submit\" class=\"button govuk-button--secondary btnmargin\"\n (click)=\"gotoReviewAndReSubmitPage()\">Resubmit\n refund</button>\n </div>\n <div *ngIf=\"isProcessRefund && !isLastUpdatedByCurrentUser && refundButtonState==='Sent for approval'\" >\n <!-- <div *ngIf=\"isProcessRefund && !isLastUpdatedByCurrentUser && refundButtonState==='sent for approval'\"> -->\n <br />\n <button type=\"submit\" class=\"button govuk-button--secondary\"\n (click)=\"goToRefundProcessComponent(refundlist.refund_reference,refundlist)\">Process refund</button>\n </div>\n </ng-container>\n\n\n</ng-container>\n\n<ng-container *ngIf=\"viewName==='reviewandsubmitview'\">\n <!-- <div class=\"govuk-breadcrumbs\">\n <ol class=\"govuk-breadcrumbs__list\">\n <li class=\"govuk-breadcrumbs__list-item\">\n <a (click)=\"gotoReviewDetailsPage($event)\" class=\"govuk-back-link govuk-label\">Back</a>\n </li>\n </ol>\n </div> -->\n <div class=\"govuk-warning-text\">\n <h1 class=\"heading-large\">Review and resubmit refund</h1>\n </div>\n <table class=\"govuk-table\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Reason for rejection</td>\n <td class=\"govuk-table__cell\">{{refundreason}}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Refund reference</td>\n <td class=\"govuk-table__cell\">{{ refundlist?.refund_reference}} </td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Reason for refund</td>\n <td class=\"govuk-table__cell\"> {{ refundlist?.reason}}\n <a (click)=\"gotoRefundReasonPage()\" *ngIf=\"refundlist?.reason !== 'Retrospective remission'\"\n class=\"govuk-link right\">Change</a>\n </td>\n\n <!-- <td class=\"govuk-table__cell\">{{ refundlist?.reason }}</td>\n <a (click)=\"gotoRefundReasonPage()\" class=\"govuk-link right\">Change</a> -->\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Payment reference</td>\n <td class=\"govuk-table__cell\">{{ refundlist?.payment_reference}} </td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td *ngIf=\"refundlist?.reason === 'Retrospective remission'\" class=\"govuk-table__cell govuk-!-font-weight-bold\">Refund amount</td>\n <td *ngIf=\"refundlist?.reason !== 'Retrospective remission'\" class=\"govuk-table__cell govuk-!-font-weight-bold\">Payment amount</td>\n <td class=\"govuk-table__cell\"> \u00A3{{ changedAmount | number:'.2' }}\n <a (click)=\"gotoAmountPage()\" *ngIf=\"refundlist?.reason === 'Retrospective remission'\"\n class=\"govuk-link right\">Change</a>\n </td>\n\n </tr>\n </table>\n <div class=\"govuk-button-group\">\n <button (click)=\"gotoReviewDetailsPage($event)\" class=\"govuk-button govuk-button--secondary\"> Previous</button>\n <button [disabled]=\"isRefundBtnDisabled\" (click)=\"gotoReviewRefundConfirmationPage()\" class=\"govuk-button button\"\n data-module=\"govuk-button\">\n Submit refund\n </button>\n</div>\n<p><a href=\"javascript:void(0)\" (click)=\"loadRefundListPage()\" class=\"govuk-link\" data-module=\"govuk-button\">Cancel</a></p>\n <!-- <div class=\"govuk-button-group\">\n <button [disabled]=\"isRefundBtnDisabled\" (click)=\"gotoReviewRefundConfirmationPage()\" class=\"govuk-button button\"\n data-module=\"govuk-button\">\n Submit refund\n </button>\n </div> -->\n <!-- <p>\n <a (click)=\"loadRefundListPage()\" href=\"\" class=\"cancelbtn\">Cancel</a>\n </p> -->\n</ng-container>\n\n<ng-container *ngIf=\"viewName === 'issuerefund'\">\n <ccpay-add-remission [isFromRefundListPage]=\"true\" [viewCompStatus]=\"viewName\" [isRefundRemission]=\"true\"\n [ccdCaseNumber]=\"ccdCaseNumber\" (refundListReason)=\"getRefundListReason($event)\"></ccpay-add-remission>\n</ng-container>\n\n<ng-container *ngIf=\"viewName === 'processretroremissonpage'\">\n <ccpay-add-remission [isFromRefundListPage]=\"true\" [viewCompStatus]=\"viewName\" [isRefundRemission]=\"true\"\n [ccdCaseNumber]=\"ccdCaseNumber\" (refundListAmount)=\"getRefundAmount($event)\"></ccpay-add-remission>\n</ng-container>\n\n<ng-container *ngIf=\"viewName === 'reviewrefundconfirmationpage'\">\n <div class=\"govuk-grid-row pagesize\">\n <div>\n <div class=\"govuk-panel govuk-panel--confirmation\">\n <h1 class=\"govuk-panel__title\">\n Refund submitted\n </h1>\n\n <div class=\"govuk-panel__body\">\n <p class=\"govuk-body white\"><strong>Refund reference:{{refundReference}} </strong></p>\n </div>\n\n </div>\n\n <h2 class=\"govuk-heading-l\">What happens next</h2>\n <p class=\"govuk-body\">\n A refund request for {{refundAmount| currency:'GBP':'symbol-narrow':'1.2-2'}} has been created and will be passed to a team leader to approve.\n </p>\n\n <p class=\"govuk-body\">\n <a href=\"javascript:void(0)\" (click)=\"loadRefundListPage()\" class=\"govuk-link\">Return to case</a>\n </p>\n </div>\n </div>\n</ng-container>\n",
5722
- styles: [".right{float:right!important}.button{margin-bottom:3em;font-size:19px}.cancelbtn{font-size:19px;font-weight:400}.btnmargin{margin-bottom:2em}.govuk-button--secondary{background-color:#dee0e2;box-shadow:0 2px 0 #858688;color:#0b0c0c;margin-right:.5em}.govuk-label--s,.govuk-warning-text__text,.hmcts-currency-input__symbol{font-size:19px;font-weight:400}.inline-error-class{outline:3px solid #a71414;outline-offset:0}.inline-error-message{color:#a71414;font-weight:700;margin-top:10px;font-size:20px}.govuk-button,.govuk-link{margin-right:1em;font-size:19px;font-weight:200}.govuk-button-group{padding-top:2em}.heading-medium{margin-top:.875em}.heading-large{margin-top:.25em}.govuk-panel--confirmation{color:#fff;background:#00703c}.govuk-heading-l{font-size:36px}.govuk-heading-m{font-size:24px}.govuk-panel__title{font-size:5rem}.govuk-body,.govuk-body-m{font-size:2.1875rem}.govuk-input--width-10{max-width:36ex}.col-14{width:14%!important}.col-10{width:10%!important}.col-11{width:11%!important}.col-18{width:18%!important}.col-21{width:21%!important}.col-9{width:9%!important}.col-15{width:15%!important}.col-16{width:16%!important}.col-25{width:25%!important}.col-24{width:24%!important}.govuk-error-summary__title{font-size:24px!important}.govuk-error-summary__body{font-size:19px!important}.white{color:#fff}.pagesize{margin:2em;width:97%}.govuk-link{cursor:pointer}"]
6809
+ template: "\n<div *ngIf=\"errorMessage\">\n <div class=\"error-summary\" role=\"group\" aria-labelledby=\"failure-error-summary-heading\" tabindex=\"-1\">\n <h2 class=\"heading-medium error-summary-heading\" id=\"failure-error-summary-heading\">\n Error in processing the request\n </h2>\n <div class=\"govuk-error-summary__body\">\n {{ errorMessage }}\n </div>\n </div>\n</div>\n\n<ng-container *ngIf=\"viewName==='refundstatuslist' && rejectedRefundList && !isResendOperationSuccess && !isEditDetailsClicked\">\n <!-- payments -->\n\n <table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header col-16\" scope=\"col\">Status</td>\n <td class=\"govuk-table__header col-11\" scope=\"col\">Amount</td>\n <td class=\"govuk-table__header col-18\" scope=\"col\">Date</td>\n <td class=\"govuk-table__header col-25\" scope=\"col\">Refund reference</td>\n <td class=\"govuk-table__header col-24 \" scope=\"col\">Reason</td>\n <td class=\"govuk-table__header\" scope=\"col\"></td>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\" *ngIf=\"rejectedRefundList?.length > 0\">\n <tr class=\"govuk-table__row\" *ngFor=\"let refundList of rejectedRefundList\">\n <td class=\"govuk-table__cell whitespace-inherit\">{{ refundList?.refund_status['name'] }}</td>\n <td class=\"channel govuk-table__cell whitespace-inherit\">\u00A3{{ refundList?.amount | number:'.2' }}</td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{ refundList?.date_updated | date:'dd MMM yyyy'}}\n </td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{ refundList?.refund_reference }}</td>\n <td class=\"govuk-table__cell whitespace-inherit\"> {{refundList?.reason}}</td>\n <td class=\"govuk-table__cell whitespace-inherit\">\n <a href=\"javascript:void(0)\" (click)=\"goToRefundView(refundList,'casetransactions')\">Review</a>\n </td>\n </tr>\n </tbody>\n <tbody class=\"govuk-table__body\" *ngIf=\"rejectedRefundList?.length === 0\">\n <td class=\"govuk-table__cell\" colspan=\"6\">No refunds recorded</td>\n </tbody>\n </table>\n</ng-container>\n\n<ng-container *ngIf=\"viewName==='refundview' && !isResendOperationSuccess && !isEditDetailsClicked\">\n <div class=\"govuk-breadcrumbs\">\n <ol class=\"govuk-breadcrumbs__list\">\n <li class=\"govuk-breadcrumbs__list-item\">\n <a href=\"javascript:void(0)\" (click)=\"loadRefundListPage()\" class=\"govuk-back-link govuk-label\">Back</a>\n </li>\n </ol>\n </div>\n <h2 class=\"govuk-heading-l\">Refund details</h2>\n <table>\n \n <tbody>\n <tr class=\"section\">\n <td class=\"bold tb-col-w\">Refund reference</td>\n <td>{{ refundlist?.refund_reference }}</td>\n </tr>\n <tr class=\"section\">\n <td class=\"bold tb-col-w\">Payment to be refunded</td>\n <td>{{refundlist?.payment_reference }}</td>\n </tr>\n <tr class=\"section\">\n <td class=\"bold tb-col-w\">Reason for refund</td>\n <td>{{ refundlist?.reason }}</td>\n </tr>\n <tr class=\"section\">\n <td class=\"bold tb-col-w\">Amount refunded</td>\n <td>\u00A3{{refundlist?.amount | number:'.2' }}</td>\n </tr>\n\n </tbody>\n </table>\n\n\n <!-- Notification sent details -->\n <div>\n <br />\n <h2 class=\"govuk-heading-m\">Notifications sent</h2>\n <table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header col-24 whitespace-inherit\" scope=\"col\">Date and time</td>\n <td class=\"govuk-table__header col-27 whitespace-inherit\" scope=\"col\">Sent to</td>\n <td class=\"govuk-table__header whitespace-inherit\" scope=\"col\">Sent via</td>\n <td class=\"govuk-table__header whitespace-inherit\" scope=\"col\">Actions</td>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\" *ngIf=\"notificationList\">\n <ng-container *ngFor=\"let notification of notificationList; let i = index;\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell whitespace-inherit\">{{notification.date_created | date:'dd MMMM yyyy HH:mm:ss'}}</td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{orderParty}}</td>\n <td class=\"govuk-table__cell whitespace-inherit col-40\">\n <div *ngIf=\"notification?.notification_type === 'EMAIL'\">\n <strong>Email</strong><br>\n {{notification?.contact_details?.email?.trim()}}\n </div>\n <div *ngIf=\"notification?.notification_type === 'LETTER'\">\n <strong>Post</strong><br>\n {{notification?.contact_details?.address_line?.trim()}} {{notification?.contact_details?.city?.trim()}} {{notification?.contact_details?.county?.trim()}} {{notification?.contact_details?.country?.trim()}} {{notification?.contact_details?.postal_code?.trim()}}\n </div>\n </td>\n <td class=\"govuk-table__cell whitespace-inherit\" *ngIf=\"i === 0\"><a href=\"Javascript:void(0);\" (click)=\"putResend(notification)\">Resend</a>&nbsp;&nbsp;|&nbsp;&nbsp;<a href=\"Javascript:void(0);\" (click)=\"gotoEditAddressDetails(notification)\">Edit details</a>&nbsp;&nbsp;|&nbsp;&nbsp;<a *ngIf=\"!notificationSentView || i != notificationSentViewIndex\" href=\"Javascript:void(0);\" (click)=\"showNotificationSentView(i)\">View</a><a *ngIf=\"i === notificationSentViewIndex && notificationSentView\" href=\"Javascript:void(0);\" (click)=\"hideNotificationSentView()\">Hide</a></td>\n <td class=\"govuk-table__cell whitespace-inherit\" *ngIf=\"i > 0\"><a *ngIf=\"!notificationSentView || i != notificationSentViewIndex\" href=\"Javascript:void(0);\" (click)=\"showNotificationSentView(i)\">View</a><a *ngIf=\"i === notificationSentViewIndex && notificationSentView\" href=\"Javascript:void(0);\" (click)=\"hideNotificationSentView()\">Hide</a></td>\n </tr>\n <tr *ngIf=\"i === notificationSentViewIndex && notificationSentView\">\n <td class=\"govuk-table__cell\" colspan=\"4\">\n <app-notification-preview\n [previewJourney]=\"'Notifications sent'\" [notificationSent]=\"notification?.sent_notification\">\n </app-notification-preview>\n </td>\n </tr>\n </ng-container>\n\n </tbody>\n <tbody class=\"govuk-table__body\" *ngIf=\"!notificationList\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell whitespace-inherit\" colspan=\"4\">No record found ... </td>\n </tr>\n </tbody>\n </table> \n </div>\n <!-- Status history -->\n <div>\n <br />\n <h2 class=\"govuk-heading-m\">Refund status history</h2>\n <div *ngIf=\"refundStatusHistories\">\n <table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header col-24 whitespace-inherit\" scope=\"col\">Status</td>\n <td class=\"govuk-table__header col-27 whitespace-inherit\" scope=\"col\">Date and time</td>\n <td class=\"govuk-table__header whitespace-inherit\" scope=\"col\">Users</td>\n <td class=\"govuk-table__header whitespace-inherit\" scope=\"col\">Notes</td>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\" *ngFor=\"let refundStatusHistory of refundStatusHistories;\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell whitespace-inherit\">{{refundStatusHistory.status}}</td>\n <td class=\"govuk-table__cell whitespace-inherit\">\n {{refundStatusHistory.date_created | date:'dd MMMM yyyy HH:mm:ss'}}\n </td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{refundStatusHistory.created_by}}</td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{refundStatusHistory.notes}}</td>\n </tr>\n </tbody>\n </table>\n </div>\n\n </div>\n\n <ng-container *ngIf=\"viewName==='refundview' && !isFromPayBubble && !isResendOperationSuccess && !isEditDetailsClicked\">\n <div *ngIf=\"refundButtonState==='Update required'\" >\n <!-- <div *ngIf=\"refundButtonState==='sent back'\"> -->\n <br />\n <button type=\"submit\" class=\"button govuk-button--secondary btnmargin\"\n (click)=\"gotoReviewAndReSubmitPage()\">Change refund details</button>\n </div>\n <div *ngIf=\"isProcessRefund && !isLastUpdatedByCurrentUser && refundButtonState==='Sent for approval'\" >\n <!-- <div *ngIf=\"isProcessRefund && !isLastUpdatedByCurrentUser && refundButtonState==='sent for approval'\"> -->\n <br />\n <button type=\"submit\" class=\"button govuk-button--secondary\"\n (click)=\"goToRefundProcessComponent(refundlist.refund_reference,refundlist)\">Process refund</button>\n </div>\n </ng-container>\n\n\n</ng-container>\n\n<ng-container *ngIf=\"viewName==='reviewandsubmitview' && !isResendOperationSuccess && !isEditDetailsClicked\">\n <!-- <div class=\"govuk-breadcrumbs\">\n <ol class=\"govuk-breadcrumbs__list\">\n <li class=\"govuk-breadcrumbs__list-item\">\n <a (click)=\"gotoReviewDetailsPage($event)\" class=\"govuk-back-link govuk-label\">Back</a>\n </li>\n </ol>\n </div> -->\n <div class=\"govuk-warning-text\">\n <h1 class=\"heading-large\">Check your answers</h1>\n </div>\n <table class=\"govuk-table\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Payment reference</td>\n <td class=\"govuk-table__cell\">{{ refundlist?.payment_reference}} </td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Reason for return</td>\n <td class=\"govuk-table__cell\">{{refundreason}}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Refund reference</td>\n <td class=\"govuk-table__cell\">{{ refundlist?.refund_reference}} </td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Reason for refund</td>\n <td class=\"govuk-table__cell\">{{ refundlist?.reason?.trim()}}\n <a (click)=\"gotoRefundReasonPage(refundlist?.reason)\" *ngIf=\"refundlist?.reason !== 'Retrospective remission' && refundlist?.reason !== 'Overpayment'\"\n class=\"govuk-link right\">Change</a>\n </td>\n\n <!-- <td class=\"govuk-table__cell\">{{ refundlist?.reason }}</td>\n <a (click)=\"gotoRefundReasonPage()\" class=\"govuk-link right\">Change</a> -->\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Refund amount</td>\n <td class=\"govuk-table__cell\">\u00A3{{ changedAmount ? changedAmount : refundlist?.amount | number:'.2' }}\n <a (click)=\"gotoAmountPage()\" *ngIf=\"refundlist?.reason !== 'Overpayment'\"\n class=\"govuk-link right\">Change</a>\n </td>\n\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Send to</td>\n <td class=\"govuk-table__cell\">{{orderParty}} </td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Send via</td>\n <td class=\"govuk-table__cell whitespace-inherit\">\n <div *ngIf=\"refundlist?.contact_details?.notification_type === 'EMAIL'\" class=\"contactDetails-width font-size-19px\">\n <strong>Email</strong>\n <br/>\n {{refundlist?.contact_details?.email?.trim()}}\n </div>\n <div *ngIf=\"refundlist?.contact_details?.notification_type === 'LETTER'\" class=\"contactDetails-width font-size-19px\">\n <strong>Post</strong>\n <br/>\n {{refundlist?.contact_details?.address_line?.trim()}} {{refundlist?.contact_details?.city?.trim()}} {{refundlist?.contact_details?.county?.trim()}} {{refundlist?.contact_details?.country?.trim()}} {{refundlist?.contact_details?.postal_code?.trim()}}\n </div> \n <a class=\"govuk-link\" href=\"Javascript:void(0)\" *ngIf=\"refundlist?.contact_details !=null\" class=\"govuk-link right\" (click)=\"gotoEditDetailsPage(refundlist?.contact_details, 'reviewandsubmitEditview')\">\n Change\n </a>\n </td>\n </tr> \n\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Notification</td>\n <td class=\"govuk-table__cell\">{{templateInstructionType}} \n <a *ngIf=\"!notificationPreview\" href=\"Javascript:void(0)\" class=\"govuk-link right\" (click)=\"showNotificationPreview()\">\n Preview\n </a>\n <a *ngIf=\"notificationPreview\" href=\"Javascript:void(0)\" class=\"govuk-link right\" (click)=\"hideNotificationPreview()\">\n Hide Preview\n </a>\n </td>\n </tr>\n </table>\n <app-notification-preview *ngIf=\"notificationPreview\" \n [paymentReference]=\"refundlist?.payment_reference\"\n [payment]=\"paymentObj\" \n [contactDetails]=\"refundlist?.contact_details\"\n [refundReason]=\"refundlist?.reason_code\"\n [refundAmount]=\"changedAmount ? changedAmount : refundlist?.amount\"\n [refundReference]=\"refundlist?.refund_reference\"></app-notification-preview>\n\n <div class=\"govuk-button-group\">\n <button (click)=\"gotoReviewDetailsPage($event)\" class=\"govuk-button govuk-button--secondary\"> Previous</button>\n <button [disabled]=\"isRefundBtnDisabled\" (click)=\"gotoReviewRefundConfirmationPage()\" class=\"govuk-button button\"\n data-module=\"govuk-button\">\n Submit refund\n </button>\n</div>\n<p><a href=\"javascript:void(0)\" (click)=\"loadRefundListPage()\" class=\"govuk-link\" data-module=\"govuk-button\">Cancel</a></p>\n <!-- <div class=\"govuk-button-group\">\n <button [disabled]=\"isRefundBtnDisabled\" (click)=\"gotoReviewRefundConfirmationPage()\" class=\"govuk-button button\"\n data-module=\"govuk-button\">\n Submit refund\n </button>\n </div> -->\n <!-- <p>\n <a (click)=\"loadRefundListPage()\" href=\"\" class=\"cancelbtn\">Cancel</a>\n </p> -->\n</ng-container>\n\n<ng-container *ngIf=\"viewName === 'reviewandsubmitEditview' && isEditDetailsClicked\">\n <input #myInput type='hidden' id='iFrameDrivenImageValue' value='EDITDETAILSPAGE'> \n <h1 class=\"govuk-heading-l\">Edit contact details</h1>\n <h2 class=\"govuk-heading-m govuk-font19px\">Case reference: {{ccdCaseNumber | ccdHyphens }}</h2>\n <span class=\"govuk-hint font-size-19px\">\n Refund reference: {{ refundlist?.refund_reference}}\n </span>\n <ccpay-contact-details\n [isEditOperationInRefundList] = isEditDetailsClicked\n [addressObj] = notification\n (assignContactDetailsInFefundsList)=\"getContactDetailsForRefundList($event)\"\n (redirectToIssueRefund)=\"gotoRefundReviewAndSubmitViewPageCancelBtnClicked($event)\" ></ccpay-contact-details>\n <p>\n <a (click)=\"loadRefundListPage()\" class=\"govuk-link\" data-module=\"govuk-button\">\n Cancel\n </a>\n </p>\n\n</ng-container>\n\n<ng-container *ngIf=\"viewName === 'issuerefundpage1' && !isResendOperationSuccess && !isEditDetailsClicked\">\n <ccpay-add-remission [isFromRefundListPage]=\"true\" [viewCompStatus]=\"viewName\" [isRefundRemission]=\"true\" [isFromRefundStatusPage] = \"true\"\n [changeRefundReason]= \"changeRefundReason\" [ccdCaseNumber]=\"ccdCaseNumber\" (refundListReason)=\"getRefundListReason($event)\" [refundPaymentReference]= \"refundlist?.payment_reference\" ></ccpay-add-remission>\n</ng-container>\n\n<ng-container *ngIf=\"viewName === 'processretroremissonpage' && !isResendOperationSuccess && !isEditDetailsClicked\">\n <ccpay-add-remission [isFromRefundListPage]=\"true\" [viewCompStatus]=\"viewName\" [isRefundRemission]=\"true\"\n [ccdCaseNumber]=\"ccdCaseNumber\" [refundPaymentReference]= \"refundlist?.payment_reference\" (refundListAmount)=\"getRefundAmount($event)\"></ccpay-add-remission>\n</ng-container>\n\n<ng-container *ngIf=\"viewName === 'issuerefund' && !isResendOperationSuccess && !isEditDetailsClicked\">\n <ccpay-add-remission [isFromRefundListPage]=\"true\" [viewCompStatus]=\"viewName\" [isRefundRemission]=\"true\" [isFromServiceRequestPage] = \"true\"\n [ccdCaseNumber]=\"ccdCaseNumber\" [refundPaymentReference]= \"refundlist?.payment_reference\" [isFromRefundStatusPage]=\"true\" (refundListAmount)=\"getRefundAmount($event)\" (refundFees)=\"getRefundFees($event)\"></ccpay-add-remission>\n</ng-container>\n\n<ng-container *ngIf=\"viewName === 'reviewrefundconfirmationpage' && !isResendOperationSuccess && !isEditDetailsClicked\">\n <div class=\"govuk-grid-row pagesize\">\n <div>\n <div class=\"govuk-panel govuk-panel--confirmation\">\n <h1 class=\"govuk-panel__title\">\n Refund submitted\n </h1>\n\n <div class=\"govuk-panel__body\">\n <p class=\"govuk-body white\"><strong>Refund reference:{{refundReference}} </strong></p>\n </div>\n\n </div>\n\n <h2 class=\"govuk-heading-l\">What happens next</h2>\n <p class=\"govuk-body\">\n A refund request for {{refundAmount| currency:'GBP':'symbol-narrow':'1.2-2'}} has been created and will be passed to a team leader to approve.\n </p>\n\n <p class=\"govuk-body\">\n <a href=\"javascript:void(0)\" (click)=\"loadRefundListPage()\" class=\"govuk-link\">Return to case</a>\n </p>\n </div>\n </div>\n</ng-container>\n\n<ng-container *ngIf=\"isResendOperationSuccess\">\n <div class=\"govuk-grid-row pagesize\">\n <div>\n <div class=\"govuk-panel govuk-panel--confirmation\">\n <h1 class=\"govuk-panel__title\">\n Notification sent\n </h1>\n\n <div class=\"govuk-panel__body\">\n <p class=\"govuk-body white\"><strong>Refund reference: {{ refundlist?.refund_reference}} </strong></p>\n </div>\n\n </div>\n <p class=\"govuk-body\">\n <a href=\"javascript:void(0)\" (click)=\"loadRefundListPage()\" class=\"govuk-link\">Return to case</a>\n </p>\n </div>\n </div>\n</ng-container>\n<ng-container *ngIf=\"viewName === 'refundEditView' && isEditDetailsClicked\">\n <input #myInput type='hidden' id='iFrameDrivenImageValue' value='EDITDETAILSPAGE'> \n <h1 class=\"govuk-heading-l\">Edit contact details</h1>\n <h2 class=\"govuk-heading-m govuk-font19px\">Case reference: {{ccdCaseNumber | ccdHyphens }}</h2>\n <span class=\"govuk-hint font-size-19px\">\n Refund reference: {{ refundlist?.refund_reference}}\n </span>\n <ccpay-contact-details\n [isEditOperationInRefundList] = isEditDetailsClicked\n [addressObj] = notification\n (assignContactDetailsInFefundsList)=\"getContactDetails($event)\"\n (redirectToIssueRefund)=\"gotoRefundViewPageCancelBtnClicked($event)\" ></ccpay-contact-details>\n <p>\n <a (click)=\"loadRefundListPage()\" class=\"govuk-link\" data-module=\"govuk-button\">\n Cancel\n </a>\n </p>\n\n</ng-container>\n<ng-container *ngIf=\"viewName === 'revieweditdetailsconfirmationpage' && !isResendOperationSuccess && isEditDetailsClicked\">\n <input #myInput type='hidden' id='iFrameDrivenImageValue' value='EDITDETAILSCHECKANDANSWERPAGE'> \n <h1 class=\"govuk-heading-l\">Check your answers</h1>\n <dl class=\"govuk-summary-list\">\n <div class=\"govuk-summary-list__row font-size-19px\">\n <dt class=\"govuk-summary-list__key\">\n Refund reference\n </dt>\n <dd class=\"govuk-summary-list__value\">\n {{ refundlist?.refund_reference}}\n </dd>\n <span class=\"govuk-summary-list__actions\"></span> \n </div>\n <div class=\"govuk-summary-list__row font-size-19px\">\n <dt class=\"govuk-summary-list__key\">\n Send via\n <br/>\n </dt>\n <dd class=\"govuk-summary-list__value\">\n <div *ngIf=\"addressDetails?.notification_type === 'EMAIL'\" class=\"contactDetails-width font-size-19px\">\n <strong>Email</strong>\n <br/>\n {{addressDetails?.email?.trim()}}\n </div>\n <div *ngIf=\"addressDetails?.notification_type === 'LETTER'\" class=\"contactDetails-width font-size-19px\">\n <strong>Post</strong>\n <br/>\n {{addressDetails?.address_line?.trim()}} {{addressDetails?.city?.trim()}} {{addressDetails?.county?.trim()}} {{addressDetails?.country?.trim()}} {{addressDetails?.postal_code?.trim()}}\n </div> \n </dd>\n <dd class=\"govuk-summary-list__actions\">\n <a class=\"govuk-link\" href=\"Javascript:void(0)\" (click)=\"gotoEditDetailsPage(addressDetails, 'refundEditView')\">\n Change\n </a>\n </dd>\n </div>\n <div class=\"govuk-summary-list__row font-size-19px\">\n <dt class=\"govuk-summary-list__key\">\n Notification\n </dt>\n <dd class=\"govuk-summary-list__value\">\n {{templateInstructionType}} \n </dd>\n <span class=\"govuk-summary-list__actions\">\n <a *ngIf=\"!notificationPreview\" href=\"Javascript:void(0)\" class=\"govuk-link right\" (click)=\"showNotificationPreview()\">\n Preview\n </a>\n <a *ngIf=\"notificationPreview\" href=\"Javascript:void(0)\" class=\"govuk-link right\" (click)=\"hideNotificationPreview()\">\n Hide Preview\n </a>\n </span> \n </div>\n </dl>\n\n <app-notification-preview *ngIf=\"notificationPreview\" [paymentReference]=\"refundlist?.payment_reference\"\n [payment]=\"paymentObj\"\n [contactDetails]=\"addressDetails\"\n [refundReason]=\"refundlist?.reason_code\"\n [refundAmount]=\"refundlist?.amount\"\n [refundReference]=\"refundlist?.refund_reference\">\n </app-notification-preview>\n\n\n\n <div class=\"govuk-button-group\">\n <button (click)=\"gotoEditDetailsPage(addressDetails, 'refundEditView')\" class=\"govuk-button govuk-button--secondary\"> Previous</button>\n <button (click)=\"submitEditDetail()\" class=\"govuk-button button\"\n data-module=\"govuk-button\">\n Send notification\n </button>\n </div>\n <p>\n <a (click)=\"loadRefundListPage()\" class=\"govuk-link\" data-module=\"govuk-button\">\n Cancel\n </a>\n </p>\n\n</ng-container>\n",
6810
+ styles: [".right{float:right!important}.button{margin-bottom:3em;font-size:19px}.cancelbtn{font-size:19px;font-weight:400}.btnmargin{margin-bottom:2em}.govuk-button--secondary{background-color:#dee0e2;box-shadow:0 2px 0 #858688;color:#0b0c0c;margin-right:.5em}.govuk-label--s,.govuk-warning-text__text,.hmcts-currency-input__symbol{font-size:19px;font-weight:400}.inline-error-class{outline:3px solid #a71414;outline-offset:0}.inline-error-message{color:#a71414;font-weight:700;margin-top:10px;font-size:20px}.govuk-button,.govuk-link{margin-right:1em;font-size:19px;font-weight:200}.govuk-button-group{padding-top:2em}.heading-medium{margin-top:.875em}.heading-large{margin-top:.25em}.govuk-panel--confirmation{color:#fff;background:#00703c}.govuk-heading-l{font-size:36px}.govuk-heading-m{font-size:24px}.govuk-panel__title{font-size:5rem}.govuk-body,.govuk-body-m{font-size:2.1875rem}.govuk-input--width-10{max-width:36ex}.col-14{width:14%!important}.col-10{width:10%!important}.col-11{width:11%!important}.col-18{width:18%!important}.col-21{width:21%!important}.col-9{width:9%!important}.col-40{width:40%!important}.col-15{width:15%!important}.col-16{width:16%!important}.col-25{width:25%!important}.col-24{width:24%!important}.govuk-error-summary__title{font-size:24px!important}.govuk-error-summary__body{font-size:19px!important}.font-size-19px{font-size:19px}.white{color:#fff}.pagesize{margin:2em;width:97%}.govuk-link{cursor:pointer}.contactDetails-width{width:70%}.whitespace-inherit{white-space:inherit!important}"]
5723
6811
  },] }
5724
6812
  ];
5725
6813
  RefundStatusComponent.ctorParameters = function () { return [
5726
6814
  { type: forms.FormBuilder },
5727
6815
  { type: RefundsService },
6816
+ { type: NotificationService },
5728
6817
  { type: PaymentLibComponent },
5729
- { type: PaymentViewService },
5730
- { type: router.Router },
5731
- { type: OrderslistService }
6818
+ { type: OrderslistService },
6819
+ { type: PaymentViewService }
5732
6820
  ]; };
5733
6821
  RefundStatusComponent.propDecorators = {
5734
6822
  LOGGEDINUSERROLES: [{ type: i0.Input, args: ['LOGGEDINUSERROLES',] }],
5735
6823
  API_ROOT: [{ type: i0.Input, args: ['API_ROOT',] }],
5736
6824
  ccdCaseNumber: [{ type: i0.Input }],
5737
6825
  isTurnOff: [{ type: i0.Input }],
5738
- isEliginbleToAccess: [{ type: i0.Input }]
6826
+ orderParty: [{ type: i0.Input }]
5739
6827
  };
5740
6828
 
5741
6829
  var ServiceRequestComponent = /** @class */ (function () {
5742
- function ServiceRequestComponent(paymentLibComponent, paymentViewService, OrderslistService, router) {
5743
- var _this = this;
6830
+ function ServiceRequestComponent(paymentLibComponent, paymentViewService, OrderslistService, notificationService, cd, router) {
5744
6831
  this.paymentLibComponent = paymentLibComponent;
5745
6832
  this.paymentViewService = paymentViewService;
5746
6833
  this.OrderslistService = OrderslistService;
6834
+ this.notificationService = notificationService;
6835
+ this.cd = cd;
5747
6836
  this.router = router;
5748
6837
  this.goToServiceRquestComponent = new i0.EventEmitter();
5749
6838
  this.paymentGroups = [];
@@ -5751,7 +6840,6 @@
5751
6840
  this.nonPayments = [];
5752
6841
  this.allPayments = [];
5753
6842
  this.remissions = [];
5754
- this.fees = [];
5755
6843
  this.isRefundRemission = true;
5756
6844
  this.isAddFeeBtnEnabled = true;
5757
6845
  this.isExceptionRecord = false;
@@ -5771,19 +6859,12 @@
5771
6859
  this.isAddRemissionBtnEnabled = false;
5772
6860
  this.isRefundRemissionBtnEnable = false;
5773
6861
  this.allowedRolesToAccessRefund = ['payments-refund-approver', 'payments-refund'];
5774
- this.check4AllowedRoles2AccessRefund = function () {
5775
- return _this.allowedRolesToAccessRefund.some(function (role) { return _this.LOGGEDINUSERROLES.indexOf(role) !== -1; });
5776
- };
5777
- this.allowFurtherAccessAfter4Days = function (payment) {
5778
- if (payment !== null && payment !== undefined) {
5779
- var tmp4DayAgo = new Date();
5780
- tmp4DayAgo.setDate(tmp4DayAgo.getDate() - 4);
5781
- return tmp4DayAgo >= new Date(payment.date_created);
5782
- }
5783
- };
6862
+ this.isContinueBtnDisabled = true;
5784
6863
  }
5785
6864
  ServiceRequestComponent.prototype.ngOnInit = function () {
5786
6865
  var _this = this;
6866
+ this.isTurnOff = this.paymentLibComponent.ISTURNOFF;
6867
+ this.isServiceRequest = 'false';
5787
6868
  if (this.viewStatus === undefined) {
5788
6869
  this.viewStatus = this.paymentLibComponent.viewName;
5789
6870
  }
@@ -5799,9 +6880,9 @@
5799
6880
  this.OrderslistService.getoorderTotalPaymentss().subscribe(function (data) { return _this.orderTotalPayments = data; });
5800
6881
  }
5801
6882
  }
5802
- // if (this.takePayment) {
5803
- // this.paymentLibComponent.TAKEPAYMENT = this.takePayment;
5804
- // }
6883
+ if (this.paymentLibComponent.isFromServiceRequestPage && this.paymentLibComponent.TAKEPAYMENT) {
6884
+ this.isServiceRequest = 'false';
6885
+ }
5805
6886
  };
5806
6887
  ServiceRequestComponent.prototype.goToServiceRequestPage = function () {
5807
6888
  this.goToServiceRquestComponent.emit();
@@ -5816,7 +6897,7 @@
5816
6897
  if (this.takePayment) {
5817
6898
  this.paymentLibComponent.isTakePayment = this.takePayment;
5818
6899
  }
5819
- this.paymentLibComponent.SERVICEREQUEST = "true";
6900
+ //this.paymentLibComponent.SERVICEREQUEST = "true";
5820
6901
  this.paymentLibComponent.isFromServiceRequestPage = false;
5821
6902
  if (this.isServiceRequest !== 'false') {
5822
6903
  this.paymentLibComponent.isFromServiceRequestPage = true;
@@ -5837,57 +6918,9 @@
5837
6918
  this.router.onSameUrlNavigation = 'reload';
5838
6919
  this.router.navigateByUrl(url);
5839
6920
  };
5840
- ServiceRequestComponent.prototype.chkForAddRemission = function (feeCode) {
5841
- var e_1, _a;
5842
- if (this.chkForPBAPayment() && this.check4AllowedRoles2AccessRefund()) {
5843
- if (this.orderDetail[0]['remissions'].length > 0) {
5844
- try {
5845
- for (var _b = __values(this.orderDetail[0]['remissions']), _c = _b.next(); !_c.done; _c = _b.next()) {
5846
- var remission = _c.value;
5847
- if (remission.fee_code === feeCode) {
5848
- return false;
5849
- }
5850
- }
5851
- }
5852
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
5853
- finally {
5854
- try {
5855
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
5856
- }
5857
- finally { if (e_1) throw e_1.error; }
5858
- }
5859
- }
5860
- return true;
5861
- }
5862
- else {
5863
- return false;
5864
- }
5865
- };
5866
- ServiceRequestComponent.prototype.chkForPBAPayment = function () {
5867
- var _this = this;
5868
- if (this.orderDetail !== null && this.orderDetail !== undefined) {
5869
- this.orderDetail.forEach(function (orderDetail) {
5870
- if (orderDetail.payments) {
5871
- orderDetail.payments.forEach(function (payment) {
5872
- if (payment.method.toLocaleLowerCase() === 'payment by account' && _this.allowFurtherAccessAfter4Days(payment)) {
5873
- _this.paymentLibComponent.paymentReference = payment.reference;
5874
- _this.isPBA = true;
5875
- }
5876
- });
5877
- }
5878
- });
5879
- if (this.isPBA) {
5880
- return true;
5881
- }
5882
- else {
5883
- return false;
5884
- }
5885
- ;
5886
- }
5887
- };
5888
6921
  ServiceRequestComponent.prototype.addRemission = function (fee) {
5889
6922
  var _this = this;
5890
- if (this.chkForAddRemission(fee.code)) {
6923
+ if (this.chkIsAddRemissionBtnEnable(fee)) {
5891
6924
  this.feeId = fee;
5892
6925
  this.viewStatus = 'addremission';
5893
6926
  this.payment = this.orderDetail[0].payments[0];
@@ -5895,21 +6928,21 @@
5895
6928
  _this.paymentGroup = paymentGroup;
5896
6929
  _this.paymentGroup.payments = _this.paymentGroup.payments.filter(function (paymentGroupObj) { return paymentGroupObj['reference'].includes(_this.paymentLibComponent.paymentReference); });
5897
6930
  _this.payment = _this.paymentGroup.payments[0];
5898
- // const paymentAllocation = this.paymentGroup.payments[0].payment_allocation;
5899
- // this.isStatusAllocated = paymentAllocation.length > 0 && paymentAllocation[0].allocation_status === 'Allocated' || paymentAllocation.length === 0;
6931
+ // const paymentAllocation = this.paymentGroup.payments[0].payment_allocation;
6932
+ // this.isStatusAllocated = paymentAllocation.length > 0 && paymentAllocation[0].allocation_status === 'Allocated' || paymentAllocation.length === 0;
5900
6933
  }, function (error) { return _this.errorMessage = error.replace(/"/g, ""); });
5901
6934
  }
5902
6935
  };
5903
6936
  ServiceRequestComponent.prototype.addRefundForRemission = function (payment, remission, fees) {
5904
6937
  var _this = this;
5905
- this.viewStatus = 'addrefundforremission';
5906
- this.payment = payment;
5907
- this.paymentViewService.getApportionPaymentDetails(this.payment.reference).subscribe(function (paymentGroup) {
6938
+ this.paymentLibComponent.isFromServiceRequestPage = true;
6939
+ this.paymentViewService.getApportionPaymentDetails(payment.reference).subscribe(function (paymentGroup) {
5908
6940
  _this.paymentGroup = paymentGroup;
5909
- _this.paymentGroup.payments = _this.paymentGroup.payments.filter(function (paymentGroupObj) { return paymentGroupObj['reference'].includes(_this.payment.reference); });
6941
+ _this.paymentGroup.payments = _this.paymentGroup.payments.filter(function (paymentGroupObj) { return paymentGroupObj.reference === payment.reference; });
5910
6942
  _this.payment = _this.paymentGroup.payments[0];
5911
6943
  _this.remissions = remission;
5912
6944
  _this.remissionFeeAmt = fees.filter(function (data) { return data.code === _this.remissions['fee_code']; })[0].net_amount;
6945
+ _this.viewStatus = 'addrefundforremission';
5913
6946
  // const paymentAllocation = this.paymentGroup.payments[0].payment_allocation;
5914
6947
  // this.isStatusAllocated = paymentAllocation.length > 0 && paymentAllocation[0].allocation_status === 'Allocated' || paymentAllocation.length === 0;
5915
6948
  }, function (error) { return _this.errorMessage = error; });
@@ -5927,48 +6960,27 @@
5927
6960
  _this.isRemoveBtnDisabled = false;
5928
6961
  });
5929
6962
  };
5930
- ServiceRequestComponent.prototype.chkIssueRefundBtnEnable = function (payment) {
5931
- if (this.check4AllowedRoles2AccessRefund() && this.allowFurtherAccessAfter4Days(payment) &&
5932
- payment.method === 'payment by account' && payment.status.toLocaleLowerCase() === 'success') {
5933
- this.isIssueRefunfBtnEnable = true;
5934
- }
5935
- if (this.isIssueRefunfBtnEnable) {
5936
- return true;
5937
- }
5938
- else {
5939
- return false;
5940
- }
5941
- ;
5942
- };
5943
- ServiceRequestComponent.prototype.chkIsRefundRemissionBtnEnable = function () {
5944
- var _this = this;
5945
- if (this.orderDetail !== null && this.orderDetail !== undefined) {
5946
- this.paymentLibComponent.isFromServiceRequestPage = true;
5947
- this.orderDetail.forEach(function (orderDetail) {
5948
- if (orderDetail.payments) {
5949
- orderDetail.payments.forEach(function (payment) {
5950
- if (payment.method.toLocaleLowerCase() === 'payment by account' && payment.status.toLocaleLowerCase() === 'success' && _this.allowFurtherAccessAfter4Days(payment)) {
5951
- _this.isRefundRemissionBtnEnable = true;
5952
- }
5953
- });
5954
- }
5955
- });
5956
- if (this.isRefundRemissionBtnEnable) {
5957
- return true;
5958
- }
5959
- else {
5960
- return false;
5961
- }
5962
- ;
5963
- }
5964
- };
5965
6963
  ServiceRequestComponent.prototype.issueRefund = function (payment) {
6964
+ var _this = this;
5966
6965
  if (payment !== null && payment !== undefined) {
5967
- if (this.chkIssueRefundBtnEnable(payment)) {
5968
- this.viewStatus = 'issuerefund';
5969
- this.payment = payment;
5970
- this.paymentLibComponent.isFromServiceRequestPage = true;
5971
- this.isRefundRemission = true;
6966
+ if (this.chkIsIssueRefundBtnEnable(payment)) {
6967
+ this.paymentViewService.getApportionPaymentDetails(payment.reference).subscribe(function (paymentGroup) {
6968
+ paymentGroup.payments = paymentGroup.payments.filter(function (paymentGroupObj) { return paymentGroupObj['reference'].includes(payment.reference); });
6969
+ if (payment.over_payment > 0) {
6970
+ _this.viewStatus = '';
6971
+ _this.payment = payment;
6972
+ _this.paymentGroupList = paymentGroup;
6973
+ _this.viewCompStatus = 'overpayment';
6974
+ }
6975
+ else {
6976
+ _this.viewStatus = 'issuerefund';
6977
+ _this.viewCompStatus = '';
6978
+ _this.paymentFees = paymentGroup.fees;
6979
+ _this.payment = payment;
6980
+ _this.paymentLibComponent.isFromServiceRequestPage = true;
6981
+ _this.isRefundRemission = true;
6982
+ }
6983
+ }, function (error) { return _this.errorMessage = error; });
5972
6984
  }
5973
6985
  }
5974
6986
  };
@@ -5990,6 +7002,30 @@
5990
7002
  this.OrderslistService.setorderFeesTotal(this.orderFeesTotal);
5991
7003
  this.viewStatus = 'payment-view';
5992
7004
  };
7005
+ ServiceRequestComponent.prototype.chkIsIssueRefundBtnEnable = function (payment) {
7006
+ if (payment !== null && payment !== undefined) {
7007
+ return payment.issue_refund && payment.refund_enable;
7008
+ }
7009
+ else {
7010
+ return false;
7011
+ }
7012
+ };
7013
+ ServiceRequestComponent.prototype.chkIsAddRefundBtnEnable = function (remission) {
7014
+ if (remission !== null && remission !== undefined) {
7015
+ return remission.add_refund;
7016
+ }
7017
+ else {
7018
+ return false;
7019
+ }
7020
+ };
7021
+ ServiceRequestComponent.prototype.chkIsAddRemissionBtnEnable = function (fee) {
7022
+ if (fee !== null && fee !== undefined) {
7023
+ return fee.add_remission && fee.remission_enable;
7024
+ }
7025
+ else {
7026
+ return false;
7027
+ }
7028
+ };
5993
7029
  ServiceRequestComponent.prototype.resetOrderData = function () {
5994
7030
  this.OrderslistService.setOrderRef(null);
5995
7031
  this.OrderslistService.setorderCCDEvent(null);
@@ -6000,19 +7036,114 @@
6000
7036
  this.OrderslistService.setorderRemissionTotal(null);
6001
7037
  this.OrderslistService.setorderFeesTotal(null);
6002
7038
  };
7039
+ ServiceRequestComponent.prototype.selectPymentOption = function (paymentType) {
7040
+ this.paymentType = paymentType;
7041
+ this.isContinueBtnDisabled = false;
7042
+ };
7043
+ ServiceRequestComponent.prototype.goToPaymentViewComp = function () {
7044
+ this.viewCompStatus = '';
7045
+ this.viewStatus = 'paymentview';
7046
+ };
7047
+ ServiceRequestComponent.prototype.continuePayment = function (paymentgrp) {
7048
+ if (this.paymentType === 'op') {
7049
+ this.isFullyRefund = false;
7050
+ this.viewStatus = '';
7051
+ this.viewCompStatus = 'overPaymentAddressCapture';
7052
+ }
7053
+ else if (this.paymentType === 'fp') {
7054
+ this.isFullyRefund = true;
7055
+ this.paymentGroupList = paymentgrp;
7056
+ this.viewStatus = 'issuerefund';
7057
+ this.viewCompStatus = "";
7058
+ this.isRefundRemission = true;
7059
+ this.paymentLibComponent.isFromPaymentDetailPage = true;
7060
+ this.isFromPaymentDetailPage = true;
7061
+ this.isFromServiceRequestPage = this.paymentLibComponent.isFromServiceRequestPage;
7062
+ }
7063
+ };
7064
+ ServiceRequestComponent.prototype.getContactDetails = function (obj) {
7065
+ this.contactDetailsObj = obj;
7066
+ this.viewStatus = '';
7067
+ this.viewCompStatus = 'overpaymentcheckandanswer';
7068
+ this.getTemplateInstructionType(this.paymentGroupList.payments[0]);
7069
+ this.notificationPreview = false;
7070
+ };
7071
+ ServiceRequestComponent.prototype.gotoPaymentSelectPage = function (event) {
7072
+ event.preventDefault();
7073
+ this.viewStatus = '';
7074
+ this.viewCompStatus = 'overpayment';
7075
+ };
7076
+ ServiceRequestComponent.prototype.gotoAddressPage = function (note) {
7077
+ if (note) {
7078
+ this.notification = { contact_details: note, notification_type: note.notification_type };
7079
+ }
7080
+ this.errorMessage = '';
7081
+ this.viewStatus = '';
7082
+ this.viewCompStatus = 'overPaymentAddressCapture';
7083
+ };
7084
+ ServiceRequestComponent.prototype.processRefund = function () {
7085
+ var _this = this;
7086
+ this.isConfirmationBtnDisabled = true;
7087
+ this.errorMessage = '';
7088
+ var obj = this.paymentGroupList.fees[0];
7089
+ this.fees = [{ id: obj.id,
7090
+ code: obj.code,
7091
+ version: obj.version,
7092
+ apportion_amount: obj.apportion_amount,
7093
+ calculated_amount: obj.calculated_amount,
7094
+ updated_volume: obj.updated_volume ? obj.updated_volume : obj.volume,
7095
+ volume: obj.volume,
7096
+ refund_amount: this.getOverPaymentValue() }];
7097
+ var requestBody = new PostRefundRetroRemission(this.contactDetailsObj, this.fees, this.paymentGroupList.payments[0].reference, 'RR037', this.getOverPaymentValue(), 'op');
7098
+ this.paymentViewService.postRefundsReason(requestBody).subscribe(function (response) {
7099
+ if (JSON.parse(response)) {
7100
+ _this.viewCompStatus = '';
7101
+ _this.viewStatus = 'refundconfirmationpage';
7102
+ _this.refundReference = JSON.parse(response).refund_reference;
7103
+ _this.refundAmount = JSON.parse(response).refund_amount;
7104
+ }
7105
+ }, function (error) {
7106
+ _this.errorMessage = error;
7107
+ _this.isConfirmationBtnDisabled = false;
7108
+ _this.cd.detectChanges();
7109
+ });
7110
+ };
7111
+ ServiceRequestComponent.prototype.getOverPaymentValue = function () {
7112
+ var feesOverPayment = 0;
7113
+ this.paymentGroupList.fees.forEach(function (fee) {
7114
+ feesOverPayment += fee.over_payment;
7115
+ });
7116
+ return feesOverPayment > 0 ? feesOverPayment : this.paymentGroupList.payments[0].over_payment;
7117
+ };
7118
+ ServiceRequestComponent.prototype.getTemplateInstructionType = function (payment) {
7119
+ if (payment == undefined || payment == null) {
7120
+ this.templateInstructionType = 'Template';
7121
+ }
7122
+ else {
7123
+ this.templateInstructionType = this.notificationService.getNotificationInstructionType(payment.channel, payment.method);
7124
+ }
7125
+ };
7126
+ ServiceRequestComponent.prototype.showNotificationPreview = function () {
7127
+ this.notificationPreview = true;
7128
+ };
7129
+ ServiceRequestComponent.prototype.hideNotificationPreview = function () {
7130
+ this.notificationPreview = false;
7131
+ };
6003
7132
  return ServiceRequestComponent;
6004
7133
  }());
6005
7134
  ServiceRequestComponent.decorators = [
6006
7135
  { type: i0.Component, args: [{
6007
7136
  selector: 'ccpay-service-request',
6008
- template: "<!-- Order Full View Details-->\n<ng-container *ngIf=\"viewStatus === 'order-full-view'\">\n <div class=\"govuk-breadcrumbs\">\n <ol class=\"govuk-breadcrumbs__list\">\n <li class=\"govuk-breadcrumbs__list-item\" *ngIf=\"isServiceRequest === 'false'\">\n <a href=\"javascript:void(0)\" (click)=\"goToCaseTransationPage($event)\" class=\"govuk-back-link\">Back</a>\n </li>\n <li class=\"govuk-breadcrumbs__list-item\" *ngIf=\"isServiceRequest !== 'false'\">\n <a href=\"javascript:void(0)\" (click)=\"goToServiceRequestPage()\" id=\"bckLnksize\" class=\"govuk-back-link\">Back</a>\n </li>\n </ol>\n </div>\n <div class=\"govuk-grid-column-full\">\n <div class=\"column\">\n <h1 class=\"heading-large govuk-!-margin-top-0\">Service request</h1>\n </div>\n <table >\n <tbody>\n <tr class=\"section\">\n <td class=\"bold tb-col-w\">Service request reference</td>\n <td>{{orderRef}}</td>\n </tr>\n <tr class=\"section\">\n <td class=\"bold tb-col-w\">Status</td>\n <td>{{orderStatus}}</td>\n </tr>\n <tr class=\"section\">\n <td class=\"bold tb-col-w\">Date created</td>\n <td>{{orderCreated | date:'dd MMMM yyyy'}}</td>\n </tr>\n <tr class=\"section\">\n <td class=\"bold tb-col-w\">Party</td>\n <td>{{orderParty}}</td>\n </tr>\n <tr class=\"section\">\n <td class=\"bold tb-col-w\">CCD event</td>\n <td>{{orderCCDEvent}}</td>\n </tr>\n </tbody>\n </table>\n </div>\n\n <div class=\"govuk-grid-column-full order-class\">\n <div class=\"column\">\n <table class=\"govuk-table \">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header col-51\" scope=\"col\" *ngIf=\"isServiceRequest === 'false'\">Fee</td>\n <td class=\"govuk-table__header col-51\" scope=\"col\" colspan=\"2\" *ngIf=\"isServiceRequest !== 'false'\">Fee</td>\n <td class=\"govuk-table__header\" scope=\"col\">Amount</td>\n <td class=\"govuk-table__header\" scope=\"col\">Total</td>\n <td class=\"govuk-table__header\" scope=\"col\" *ngIf=\"isServiceRequest === 'false'\"></td>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\" *ngFor=\"let order of orderDetail;\">\n <tr class=\"govuk-table__row\" *ngFor=\"let fee of order.fees; let i = index;\">\n <td class=\"govuk-table__cell col-60 whitespace-inherit\" *ngIf=\"isServiceRequest === 'false'\">{{fee.description}}</td>\n <td class=\"govuk-table__cell col-60 whitespace-inherit\" colspan=\"2\" *ngIf=\"isServiceRequest !== 'false'\">{{fee.description}}</td>\n <td class=\"govuk-table__cell\">{{fee.volume? fee.volume : '-'}} X {{ fee.calculated_amount/fee.volume| currency:'GBP':'symbol-narrow':'1.2-2' }}</td>\n <td class=\"govuk-table__cell\">{{ fee?.net_amount | currency:'GBP':'symbol-narrow':'1.2-2' }}</td>\n <td class=\"govuk-table__cell alignright\" *ngIf=\"isServiceRequest === 'false'\">\n <button [disabled]=\"!chkForAddRemission(fee.code)\" (click)=\"addRemission(fee)\" class=\"govuk-button govuk-button--secondary\"> Add remission</button>\n </td>\n\n </tr>\n </tbody>\n <tbody class=\"govuk-table__body\" *ngFor=\"let order of orderDetail;\">\n <tr class=\"govuk-table__row\" *ngIf=\"order.fees?.length === 0\" >\n <td class=\"govuk-table__cell alignleft\" colspan=\"7\">No fees recorded</td>\n </tr>\n </tbody>\n </table>\n\n </div>\n <div class=\"maxwidth\">\n <p class=\"totalfees\">Total fees: {{orderFeesTotal | currency:'GBP':'symbol-narrow':'1.2-2' }}</p>\n </div>\n </div>\n <!-- remissions -->\n<ng-container *ngFor=\"let order of orderDetail;\" >\n <div class=\"govuk-grid-column-full order-class\" *ngIf=\"order.remissions\">\n <table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header col-24 whitespace-inherit\" scope=\"col\">Help with fees or remission code</td>\n <td class=\"govuk-table__header col-27 whitespace-inherit\" scope=\"col\">Reference</td>\n <td class=\"govuk-table__header whitespace-inherit\" scope=\"col\">Fee</td>\n <td class=\"govuk-table__header whitespace-inherit\" scope=\"col\">Amount</td>\n <td class=\"govuk-table__header whitespace-inherit refundBtn\" scope=\"col\"></td>\n </tr>\n </thead>\n <tbody *ngIf=\"order.remissions?.length > 0\" class=\"govuk-table__body\" >\n <tr class=\"govuk-table__row\" *ngFor=\"let remission of order.remissions\">\n <td class=\"govuk-table__cell whitespace-inherit\">{{ remission?.hwf_reference }}</td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{ remission?.remission_reference }}</td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{ remission?.fee_code }}</td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{ remission?.hwf_amount | currency:'GBP':'symbol-narrow':'1.2-2'}}</td>\n <td class=\"govuk-table__cell refundBtn whitespace-inherit\" >\n <button [disabled]=\"!chkIsRefundRemissionBtnEnable()\" (click)=\"addRefundForRemission(order.payments[0],remission,order.fees)\" class=\"govuk-button govuk-button--secondary\"> Add refund</button>\n </td>\n <!-- <td class=\"govuk-table__cell refundBtn whitespace-inherit\" >\n\n </td> -->\n </tr>\n </tbody>\n\n\n </table>\n <div *ngIf=\"order.remissions?.length === 0\">\n <span >No help with fees or remissions.</span>\n </div>\n <div class=\"summarypagealign\">\n <p>Total reductions: {{orderRemissionTotal | currency:'GBP':'symbol-narrow':'1.2-2' }}</p>\n </div>\n <div class=\"summarypagealign\">\n <p class=\"summarypage\">Total fees to pay: {{(orderFeesTotal - orderRemissionTotal) | currency:'GBP':'symbol-narrow':'1.2-2' }}</p>\n </div>\n </div>\n\n\n</ng-container>\n\n\n <!--Payments-->\n <ng-container *ngFor=\"let order of orderDetail;\" >\n <div class=\"govuk-grid-column-full\" *ngIf=\"order.payments\">\n <h3 class=\"heading-medium\">Payments</h3>\n <table class=\"govuk-table \">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header col-25\" scope=\"col\"></td>\n <td class=\"govuk-table__header\" scope=\"col\">Date created</td>\n <td class=\"govuk-table__header\" scope=\"col\">Amount</td>\n <td class=\"govuk-table__header\" scope=\"col\"></td>\n </tr>\n </thead>\n <tbody *ngIf=\"order.payments?.length > 0\" class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\" *ngFor=\"let payment of order.payments\">\n <td class=\"govuk-table__cell whitespace-inherit\">\n <a href=\"javascript:void(0)\" (click)=\"goToPayementView(payment.paymentGroupReference, payment.reference, payment.method)\">Review</a>\n </td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{ payment?.date_created | date:'dd MMM yyyy' }}</td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{ payment?.amount | currency:'GBP':'symbol-narrow':'1.2-2' }}</td>\n <td class=\"govuk-table__cell alignright\">\n <button [disabled] = \"!chkIssueRefundBtnEnable(payment)\" (click)=\"issueRefund(payment)\" class=\"govuk-button govuk-button--secondary\">Issue refund</button>\n </td>\n <!-- <td *ngIf=\"!chkIssueRefundBtnEnable(payment)\" class=\"govuk-table__cell\" style=\"text-align: right;\">\n </td> -->\n </tr>\n </tbody>\n </table>\n\n <div *ngIf=\"order.payments === undefined || order.payments === null\">\n <!-- <h3 class=\"heading-medium mar-17\">Payments</h3> -->\n <span class=\"mar-17\" >No Payments recorded</span>\n </div>\n</div>\n</ng-container>\n<div *ngIf=\"isServiceRequest === 'false'\">\n <div *ngIf=\"((orderFeesTotal - orderRemissionTotal)- orderTotalPayments) > 0\" >\n <p class=\"totalPay\">Total left to pay: <b>{{((orderFeesTotal - orderRemissionTotal)- orderTotalPayments )| currency:'GBP':'symbol-narrow':'1.2-2' }}</b> </p>\n </div>\n <div *ngIf=\"((orderFeesTotal - orderRemissionTotal)- orderTotalPayments) < 0\" >\n <p class=\"totalPay\">Total left to pay: <b>0</b> </p>\n </div>\n</div>\n</ng-container>\n<ccpay-add-remission *ngIf=\"viewStatus === 'addremission' && feeId\"\n[isTurnOff]=\"isTurnOff\"\n[isStrategicFixEnable]=\"isStrategicFixEnable\"\n[viewCompStatus]= \"viewStatus\"\n[fee]=\"feeId\"\n[orderStatus] =\"orderStatus\"\n[paidAmount]= \"orderTotalPayments\"\n[isRefundRemission]=\"isRefundRemission\"\n[caseType]=\"caseType\"\n[paymentGroupRef]=\"orderRef\"\n[isFromServiceRequestPage] = \"true\"\n[payment] = \"payment\"\n[ccdCaseNumber]=\"ccdCaseNumber\"\n[orderRef] = \"orderRef\"\n[orderStatus] = \"orderStatus\"\n[orderCreated] = \"orderCreated\"\n[orderParty] = \"orderParty\"\n[orderCCDEvent] = \"orderCCDEvent\"\n[orderDetail] = \"orderDetail\"\n[LOGGEDINUSERROLES] = \"LOGGEDINUSERROLES\"\n[takepayment] = \"takePayment\"\n[orderFeesTotal] = \"orderFeesTotal\"\n[orderTotalPayments] = \"orderTotalPayments\"\n[orderRemissionTotal] = \"orderRemissionTotal\"\n></ccpay-add-remission>\n\n<ccpay-add-remission *ngIf=\"viewStatus === 'issuerefund' && payment\"\n[isTurnOff]=\"isTurnOff\"\n[isStrategicFixEnable]=\"isStrategicFixEnable\"\n[viewCompStatus]= \"viewStatus\"\n[isFromServiceRequestPage] = \"true\"\n[payment]=\"payment\"\n[orderStatus] =\"orderStatus\"\n[paidAmount]= \"orderTotalPayments\"\n[isRefundRemission]=\"isRefundRemission\"\n[caseType]=\"caseType\"\n[paymentGroupRef]=\"orderRef\"\n[ccdCaseNumber]=\"ccdCaseNumber\"\n[orderRef] = \"orderRef\"\n[orderStatus] = \"orderStatus\"\n[orderCreated] = \"orderCreated\"\n[orderParty] = \"orderParty\"\n[orderCCDEvent] = \"orderCCDEvent\"\n[orderDetail] = \"orderDetail\"\n[LOGGEDINUSERROLES] = \"LOGGEDINUSERROLES\"\n[takepayment] = \"takePayment\"\n[orderFeesTotal] = \"orderFeesTotal\"\n[orderTotalPayments] = \"orderTotalPayments\"\n[orderRemissionTotal] = \"orderRemissionTotal\"></ccpay-add-remission>\n\n<ccpay-add-remission *ngIf=\"viewStatus === 'addrefundforremission' && payment\"\n[isTurnOff]=\"isTurnOff\"\n[isStrategicFixEnable]=\"isStrategicFixEnable\"\n[viewCompStatus]= \"viewStatus\"\n[payment]=\"payment\"\n[orderStatus] =\"orderStatus\"\n[paidAmount]= \"orderTotalPayments\"\n[isRefundRemission]=\"isRefundRemission\"\n[caseType]=\"caseType\"\n[feeamount]=\"remissionFeeAmt\"\n[remission] = \"remissions\"\n[isFromServiceRequestPage]=\"true\"\n[ccdCaseNumber]=\"ccdCaseNumber\"\n[orderRef] = \"orderRef\"\n[orderStatus] = \"orderStatus\"\n[orderCreated] = \"orderCreated\"\n[orderParty] = \"orderParty\"\n[orderCCDEvent] = \"orderCCDEvent\"\n[orderDetail] = \"orderDetail\"\n[LOGGEDINUSERROLES] = \"LOGGEDINUSERROLES\"\n[takepayment] = \"takePayment\"\n[orderFeesTotal] = \"orderFeesTotal\"\n[orderTotalPayments] = \"orderTotalPayments\"\n[orderRemissionTotal] = \"orderRemissionTotal\"></ccpay-add-remission>\n\n<ccpay-payment-view *ngIf=\"viewStatus === 'payment-view'\"\n[LOGGEDINUSERROLES] = \"LOGGEDINUSERROLES\"\n[isTurnOff] = \"isTurnOff\"\n[isTakePayment] = \"takePayment\"\n[caseType] = \"caseType\"\n[orderRef] = \"orderRef\"\n[orderStatus] = \"orderStatus\"\n[orderCreated] = \"orderCreated\"\n[orderParty] = \"orderParty\"\n[orderCCDEvent] = \"orderCCDEvent\"\n[orderDetail] = \"orderDetail\"\n[orderFeesTotal] = \"orderFeesTotal\"\n[orderTotalPayments] = \"orderTotalPayments\"\n[orderRemissionTotal] = \"orderRemissionTotal\"\n[isServiceRequest] = \"isServiceRequest\">\n</ccpay-payment-view>\n\n<ng-container *ngIf=\"viewStatus === 'feeRemovalConfirmation'\">\n<div class=\"govuk-warning-text\">\n <span class=\"govuk-warning-text__icon\" aria-hidden=\"true\">!</span>\n <strong class=\"govuk-warning-text__text\">\n <span class=\"govuk-warning-text__assistive\">Warning</span>\n Are you sure you want to delete this fee?\n </strong>\n</div>\n<div class=\"govuk-button-grb\">\n <form novalidate>\n <button type=\"submit\" class=\"button govuk-button--secondary\" (click)=\"cancelRemoval()\">\n Cancel\n </button>\n <button type=\"submit\" class=\"button\"\n [disabled]=\"isRemoveBtnDisabled\"\n [ngClass]='isRemoveBtnDisabled ? \"button button--disabled govuk-!-margin-right-1\" : \"button govuk-!-margin-right-1\"'\n (click)=\"removeFee(feeId)\">\n Remove\n </button>\n </form>\n</div>\n</ng-container>\n",
6009
- styles: [".govuk-grid-column-full--gr{position:relative;margin-bottom:10px}.disable{text-decoration:none;cursor:default;color:#fff;background-color:grey;pointer-events:none}.govuk-grid__surplus-payments{margin:20px 0}.govuk-grid__surplus-payments>.govuk-grid-column-full{padding:0}.govuk-grid__surplus-payments-col1{margin-bottom:10px}.govuk-inset-text__no-border{border-left:0}.govuk-hidetext{font-size:22px;padding-bottom:10px}.lowercase{text-transform:lowercase}.channel:first-letter{text-transform:uppercase}.govuk-heading-xl{font-size:48px;margin-bottom:1px}.govuk-section-break--visible{border-bottom:2px solid #000}.totalpayments.govuk-table__row{border-bottom:2px solid #000!important}.govuk-inset-text{margin-left:1em}.govuk-button{font-size:19px;margin-bottom:0!important}.govuk-table__cell.govuk-table__cell--col6.govuk-table__custom--col6,.groupamount.govuk-table__header{text-align:right}.feeclass{padding-left:.7em}.align-center{text-align:center}details summary{display:list-item}.case-transaction__color{color:#a71414;font-weight:700;text-align:center}.capitalize:first-letter{text-transform:uppercase}.govuk-inset-text__no-left-margin{margin-left:0;padding-left:0}.whitespace-inherit{white-space:inherit!important}.govuk-section-records-break{margin:10px;border-bottom:2px solid #000!important}.exisitng-fees{margin-left:12px}.add-telephony-payment{margin-top:-2em;margin-left:-2em}.govuk-table__header--custom{text-align:center}.disable-link{cursor:default;pointer-events:none;color:#8e8c8c}.panel-no--style{border-left-style:none}.col-28{width:28%!important}.col-8{width:8%!important}.col-60{width:60%!important}.col-32{width:32%!important}.col-34{width:34%!important}#bckLnksize{font-size:16px!important}.col-15{width:15%!important;padding-right:0!important;padding-left:0!important}.col-16{width:16%!important}.col-14{width:14%!important}.col-17{width:17%!important}.col-12{width:12%!important}.col-9{width:9%!important}.col-10{width:10%!important}.col-11{width:11%!important}.col-13{width:13%!important}.col-21{width:21%!important}.col-20{width:20%!important}.col-24{width:24%!important}.govuk-table__cell,.govuk-table__header{padding:10px 10px 10px 0}.col-27{width:27%!important}td{white-space:nowrap;overflow:hidden!important}.col-19{width:19%!important}.col-18,.col-19{padding-left:0!important}.col-18{width:18%!important;padding-right:0!important}.col-37{width:37%!important}.col-55{width:55%!important}.govuk-table{margin-bottom:1px}.hmcts-banner>.hmcts-banner__message{font-size:19px;line-height:1.25}.summary-table-font{font-size:36px}.order-class{padding-top:3em}.govuk-table__cell:last-child,.govuk-table__header:last-child{text-align:right}.govuk-grid-column-two-thirds{width:64%!important;padding:0!important}.govuk-heading-l{font-size:36px;margin-bottom:10px}.paymentrequest{margin-top:1em}.mar-17{margin-left:17px}.col-61{width:61px!important;padding:0!important}.error{width:960px;margin:auto}.summarypage{padding-left:36em;margin-top:2em}.summarypagealign{width:100%;text-align:right;margin-top:2em}.govuk-inset-text{font-size:2.1875rem}table{table-layout:fixed;width:100%}td,th{word-wrap:break-word}.totalPay{padding-right:14px;float:right;margin-top:2em}.govuk-back-link{font-size:1.5rem!important}.totalfees{float:right;margin-top:2em}.refundBtn{text-align:right;width:18%}.col-25{width:25%!important}.col-51{width:51%!important}.alignright{text-align:right}.alignleft{text-align:left}.alignself{align-self:flex-end}.maxwidth{width:100%}"]
7137
+ template: "<!-- Order Full View Details-->\n<ng-container *ngIf=\"viewStatus === 'order-full-view'\">\n <div class=\"govuk-breadcrumbs\">\n <ol class=\"govuk-breadcrumbs__list\">\n <li class=\"govuk-breadcrumbs__list-item\" *ngIf=\"isServiceRequest === 'false'\">\n <a href=\"javascript:void(0)\" (click)=\"goToCaseTransationPage($event)\" class=\"govuk-back-link\">Back</a>\n </li>\n <li class=\"govuk-breadcrumbs__list-item\" *ngIf=\"isServiceRequest !== 'false'\">\n <a href=\"javascript:void(0)\" (click)=\"goToServiceRequestPage()\" id=\"bckLnksize\" class=\"govuk-back-link\">Back</a>\n </li>\n </ol>\n </div>\n <div class=\"govuk-grid-column-full\">\n <div class=\"column\">\n <h1 class=\"heading-large govuk-!-margin-top-0\">Service request</h1>\n </div>\n <table >\n <tbody>\n <tr class=\"section\">\n <td class=\"bold tb-col-w\">Service request reference</td>\n <td>{{orderRef}}</td>\n </tr>\n <tr class=\"section\">\n <td class=\"bold tb-col-w\">Status</td>\n <td>{{orderStatus}}</td>\n </tr>\n <tr class=\"section\">\n <td class=\"bold tb-col-w\">Date created</td>\n <td>{{orderCreated | date:'dd MMMM yyyy'}}</td>\n </tr>\n <tr class=\"section\">\n <td class=\"bold tb-col-w\">Party</td>\n <td>{{orderParty}}</td>\n </tr>\n <tr class=\"section\">\n <td class=\"bold tb-col-w\">CCD event</td>\n <td>{{orderCCDEvent}}</td>\n </tr>\n </tbody>\n </table>\n </div>\n\n <div class=\"govuk-grid-column-full order-class\">\n <div class=\"column\">\n <table class=\"govuk-table \">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header col-51\" scope=\"col\" *ngIf=\"isServiceRequest === 'false'\">Fee</td>\n <td class=\"govuk-table__header col-51\" scope=\"col\" colspan=\"2\" *ngIf=\"isServiceRequest !== 'false'\">Fee</td>\n <td class=\"govuk-table__header\" scope=\"col\">Amount</td>\n <td class=\"govuk-table__header\" scope=\"col\">Total</td>\n <td class=\"govuk-table__header\" scope=\"col\" *ngIf=\"isServiceRequest === 'false'\"></td>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\" *ngFor=\"let order of orderDetail;\">\n <tr class=\"govuk-table__row\" *ngFor=\"let fee of order.fees; let i = index;\">\n <td class=\"govuk-table__cell col-60 whitespace-inherit\" *ngIf=\"isServiceRequest === 'false'\">{{fee.description}}</td>\n <td class=\"govuk-table__cell col-60 whitespace-inherit\" colspan=\"2\" *ngIf=\"isServiceRequest !== 'false'\">{{fee.description}}</td>\n <td class=\"govuk-table__cell\">{{fee.volume? fee.volume : '-'}} X {{ fee.calculated_amount/fee.volume| currency:'GBP':'symbol-narrow':'1.2-2' }}</td>\n <td class=\"govuk-table__cell\">{{ fee?.net_amount | currency:'GBP':'symbol-narrow':'1.2-2' }}</td>\n <td class=\"govuk-table__cell alignright\" *ngIf=\"isServiceRequest === 'false'\">\n <button [disabled]=\"!chkIsAddRemissionBtnEnable(fee)\" (click)=\"addRemission(fee)\" class=\"govuk-button govuk-button--secondary\"> Add remission</button>\n </td>\n\n </tr>\n </tbody>\n <tbody class=\"govuk-table__body\" *ngFor=\"let order of orderDetail;\">\n <tr class=\"govuk-table__row\" *ngIf=\"order.fees?.length === 0\" >\n <td class=\"govuk-table__cell alignleft\" colspan=\"7\">No fees recorded</td>\n </tr>\n </tbody>\n </table>\n\n </div>\n <div class=\"maxwidth\">\n <p class=\"totalfees\">Total fees: {{orderFeesTotal | currency:'GBP':'symbol-narrow':'1.2-2' }}</p>\n </div>\n </div>\n <!-- remissions -->\n<ng-container *ngFor=\"let order of orderDetail;\" >\n <div class=\"govuk-grid-column-full order-class\" *ngIf=\"order.remissions\">\n <table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header col-24 whitespace-inherit\" scope=\"col\">Help with fees or remission code</td>\n <td class=\"govuk-table__header col-27 whitespace-inherit\" scope=\"col\">Reference</td>\n <td class=\"govuk-table__header whitespace-inherit\" scope=\"col\">Fee</td>\n <td class=\"govuk-table__header whitespace-inherit\" scope=\"col\">Amount</td>\n <td class=\"govuk-table__header whitespace-inherit refundBtn\" scope=\"col\"></td>\n </tr>\n </thead>\n <tbody *ngIf=\"order.remissions?.length > 0\" class=\"govuk-table__body\" >\n <tr class=\"govuk-table__row\" *ngFor=\"let remission of order.remissions\">\n <td class=\"govuk-table__cell whitespace-inherit\">{{ remission?.hwf_reference }}</td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{ remission?.remission_reference }}</td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{ remission?.fee_code }}</td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{ remission?.hwf_amount | currency:'GBP':'symbol-narrow':'1.2-2'}}</td>\n <td class=\"govuk-table__cell refundBtn whitespace-inherit\" >\n <button [disabled]=\"!chkIsAddRefundBtnEnable(remission)\" (click)=\"addRefundForRemission(order.payments[0],remission,order.fees)\" class=\"govuk-button govuk-button--secondary\"> Add refund</button>\n </td>\n <!-- <td class=\"govuk-table__cell refundBtn whitespace-inherit\" >\n\n </td> -->\n </tr>\n </tbody>\n\n\n </table>\n <div *ngIf=\"order.remissions?.length === 0\">\n <span >No help with fees or remissions.</span>\n </div>\n <div class=\"summarypagealign\">\n <p>Total reductions: {{orderRemissionTotal | currency:'GBP':'symbol-narrow':'1.2-2' }}</p>\n </div>\n <div class=\"summarypagealign\">\n <p class=\"summarypage\">Total fees to pay: {{(orderFeesTotal - orderRemissionTotal) | currency:'GBP':'symbol-narrow':'1.2-2' }}</p>\n </div>\n </div>\n\n\n</ng-container>\n\n\n <!--Payments-->\n <ng-container *ngFor=\"let order of orderDetail;\" >\n <div class=\"govuk-grid-column-full\" *ngIf=\"order.payments\">\n <h3 class=\"heading-medium\">Payments</h3>\n <table class=\"govuk-table \">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header col-25\" scope=\"col\"></td>\n <td class=\"govuk-table__header\" scope=\"col\">Date created</td>\n <td class=\"govuk-table__header\" scope=\"col\">Amount</td>\n <td class=\"govuk-table__header\" scope=\"col\"></td>\n </tr>\n </thead>\n <tbody *ngIf=\"order.payments?.length > 0\" class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\" *ngFor=\"let payment of order.payments\">\n <td class=\"govuk-table__cell whitespace-inherit\">\n <a href=\"javascript:void(0)\" (click)=\"goToPayementView(payment.paymentGroupReference, payment.reference, payment.method)\">Review</a>\n </td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{ payment?.date_created | date:'dd MMM yyyy' }}</td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{ payment?.amount | currency:'GBP':'symbol-narrow':'1.2-2' }}</td>\n <td class=\"govuk-table__cell alignright\">\n <button [disabled]=\"!chkIsIssueRefundBtnEnable(payment)\" (click)=\"issueRefund(payment)\" class=\"govuk-button govuk-button--secondary\">Issue refund</button>\n </td>\n <!-- <td *ngIf=\"!chkIssueRefundBtnEnable(payment)\" class=\"govuk-table__cell\" style=\"text-align: right;\">\n </td> -->\n </tr>\n </tbody>\n </table>\n\n <div *ngIf=\"order.payments === undefined || order.payments === null\">\n <!-- <h3 class=\"heading-medium mar-17\">Payments</h3> -->\n <span class=\"mar-17\" >No Payments recorded</span>\n </div>\n</div>\n</ng-container>\n<div *ngIf=\"isServiceRequest === 'false'\">\n <div *ngIf=\"((orderFeesTotal - orderRemissionTotal)- orderTotalPayments) > 0\" >\n <p class=\"totalPay\">Total left to pay: <b>{{((orderFeesTotal - orderRemissionTotal)- orderTotalPayments )| currency:'GBP':'symbol-narrow':'1.2-2' }}</b> </p>\n </div>\n <div *ngIf=\"((orderFeesTotal - orderRemissionTotal)- orderTotalPayments) < 0\" >\n <p class=\"totalPay\">Total left to pay: <b>0</b> </p>\n </div>\n</div>\n</ng-container>\n<ccpay-add-remission *ngIf=\"viewStatus === 'addremission' && feeId\"\n[isTurnOff]=\"isTurnOff\"\n[isStrategicFixEnable]=\"isStrategicFixEnable\"\n[viewCompStatus]= \"viewStatus\"\n[fee]=\"feeId\"\n[orderStatus] =\"orderStatus\"\n[paidAmount]= \"orderTotalPayments\"\n[isRefundRemission]=\"isRefundRemission\"\n[caseType]=\"caseType\" \n[isServiceRequest] = \"isServiceRequest\"\n[paymentGroupRef]=\"orderRef\" \n[isFromServiceRequestPage] = \"true\"\n[payment] = \"payment\"\n[ccdCaseNumber]=\"ccdCaseNumber\"\n[orderRef] = \"orderRef\"\n[orderStatus] = \"orderStatus\"\n[orderCreated] = \"orderCreated\"\n[orderParty] = \"orderParty\"\n[orderCCDEvent] = \"orderCCDEvent\"\n[orderDetail] = \"orderDetail\"\n[LOGGEDINUSERROLES] = \"LOGGEDINUSERROLES\"\n[takepayment] = \"takePayment\"\n[orderFeesTotal] = \"orderFeesTotal\"\n[orderTotalPayments] = \"orderTotalPayments\"\n[orderRemissionTotal] = \"orderRemissionTotal\"\n></ccpay-add-remission>\n<ccpay-add-remission *ngIf=\"viewStatus === 'issuerefund' && payment\"\n[isTurnOff]=\"isTurnOff\"\n[isStrategicFixEnable]=\"isStrategicFixEnable\"\n[viewCompStatus]= \"viewStatus\"\n[isFromServiceRequestPage]=\"isFromServiceRequestPage\"\n[isFromPaymentDetailPage] = \"isFromPaymentDetailPage\"\n[payment]=\"payment\" \n[orderStatus] =\"orderStatus\"\n[paidAmount]= \"orderTotalPayments\"\n[isRefundRemission]=\"isRefundRemission\"\n[caseType]=\"caseType\"\n[paymentGroupRef]=\"orderRef\"\n[ccdCaseNumber]=\"ccdCaseNumber\"\n[orderRef] = \"orderRef\"\n[orderStatus] = \"orderStatus\"\n[orderCreated] = \"orderCreated\"\n[orderParty] = \"orderParty\"\n[orderCCDEvent] = \"orderCCDEvent\"\n[orderDetail] = \"orderDetail\"\n[isFullyRefund] = \"isFullyRefund\"\n[fees] = \"paymentFees\"\n[LOGGEDINUSERROLES] = \"LOGGEDINUSERROLES\"\n[isFromRefundListPage] = \"false\"\n[takepayment] = \"takePayment\"\n[orderFeesTotal] = \"orderFeesTotal\"\n[orderTotalPayments] = \"orderTotalPayments\"\n[orderRemissionTotal] = \"orderRemissionTotal\"></ccpay-add-remission>\n\n<ccpay-add-remission *ngIf=\"viewStatus === 'addrefundforremission' && payment\"\n[isTurnOff]=\"isTurnOff\"\n[isStrategicFixEnable]=\"isStrategicFixEnable\"\n[viewCompStatus]= \"viewStatus\"\n[payment]=\"payment\"\n[orderStatus] =\"orderStatus\"\n[paidAmount]= \"orderTotalPayments\"\n[isRefundRemission]=\"isRefundRemission\"\n[caseType]=\"caseType\"\n[feeamount]=\"remissionFeeAmt\"\n[remission] = \"remissions\"\n[isFromServiceRequestPage]=\"isServiceRequest\" \n[ccdCaseNumber]=\"ccdCaseNumber\"\n[orderRef] = \"orderRef\"\n[orderStatus] = \"orderStatus\"\n[orderCreated] = \"orderCreated\"\n[orderParty] = \"orderParty\"\n[orderCCDEvent] = \"orderCCDEvent\"\n[orderDetail] = \"orderDetail\"\n[LOGGEDINUSERROLES] = \"LOGGEDINUSERROLES\"\n[takepayment] = \"takePayment\"\n[orderFeesTotal] = \"orderFeesTotal\"\n[orderTotalPayments] = \"orderTotalPayments\"\n[orderRemissionTotal] = \"orderRemissionTotal\"></ccpay-add-remission>\n\n<ccpay-payment-view *ngIf=\"viewStatus === 'payment-view'\"\n[LOGGEDINUSERROLES] = \"LOGGEDINUSERROLES\"\n[isTurnOff] = \"isTurnOff\"\n[isTakePayment] = \"takePayment\"\n[caseType] = \"caseType\"\n[orderRef] = \"orderRef\"\n[orderStatus] = \"orderStatus\"\n[orderCreated] = \"orderCreated\"\n[orderParty] = \"orderParty\"\n[orderCCDEvent] = \"orderCCDEvent\"\n[orderDetail] = \"orderDetail\"\n[orderFeesTotal] = \"orderFeesTotal\"\n[orderTotalPayments] = \"orderTotalPayments\"\n[orderRemissionTotal] = \"orderRemissionTotal\"\n[isServiceRequest] = \"isServiceRequest\">\n</ccpay-payment-view>\n\n<ng-container *ngIf=\"viewStatus === 'feeRemovalConfirmation'\">\n<div class=\"govuk-warning-text\">\n <span class=\"govuk-warning-text__icon\" aria-hidden=\"true\">!</span>\n <strong class=\"govuk-warning-text__text\">\n <span class=\"govuk-warning-text__assistive\">Warning</span>\n Are you sure you want to delete this fee?\n </strong>\n</div>\n<div class=\"govuk-button-grb\">\n <form novalidate>\n <button type=\"submit\" class=\"button govuk-button--secondary\" (click)=\"cancelRemoval()\">\n Cancel\n </button>\n <button type=\"submit\" class=\"button\"\n [disabled]=\"isRemoveBtnDisabled\"\n [ngClass]='isRemoveBtnDisabled ? \"button button--disabled govuk-!-margin-right-1\" : \"button govuk-!-margin-right-1\"'\n (click)=\"removeFee(feeId)\">\n Remove\n </button>\n </form>\n</div>\n</ng-container>\n\n<div class=\"over-payment\">\n <ng-container *ngIf=\"viewCompStatus === 'overpayment'\">\n <input #myInput type='hidden' id='iFrameDrivenImageValue' value='OVERPAYMENTPAGE'> \n <h1 class=\"heading-large\">Issue refund</h1>\n <h1 class=\"heading-medium\">Case reference: {{ccdCaseNumber | ccdHyphens }}</h1>\n <span id=\"how-contacted-conditional-hint govuk-font19px\" class=\"form-hint\">\n Payment reference: {{paymentGroupList?.payments[0]?.reference}}\n </span>\n <div class=\"govuk-form-group\">\n <fieldset class=\"govuk-fieldset\">\n <legend class=\"govuk-fieldset__legend govuk-fieldset__legend--l\">\n <h1 class=\"heading-medium\">Select payment to refund</h1>\n </legend>\n <div class=\"govuk-radios\" data-module=\"govuk-radios\">\n <div class=\"govuk-radios__item\">\n <input class=\"govuk-radios__input\" id=\"over-payment\" name=\"over-payment\" type=\"radio\" (click)=\"selectPymentOption('op')\" value=\"op\">\n <label class=\"govuk-label govuk-radios__label govuk-font19px\" for=\"where-do-you-live\">\n Over payment \u00A3{{getOverPaymentValue() | number:'.2'}}\n </label>\n </div>\n <div class=\"govuk-radios__item\">\n <input class=\"govuk-radios__input\" id=\"full-payment\" name=\"over-payment\" type=\"radio\" (click)=\"selectPymentOption('fp')\" value=\"fp\">\n <label class=\"govuk-label govuk-radios__label govuk-font19px\" for=\"where-do-you-live-2\">\n Full payment \u00A3{{paymentGroupList?.payments[0]?.amount | number:'.2'}}\n </label>\n </div>\n </div>\n <button class=\"govuk-button govuk-button--secondary over-payment-alignment govuk-font19px\"\n (click)=\"goToPaymentViewComp()\"> Previous</button>\n <button \n (click)=\"continuePayment(paymentGroupList)\"\n [disabled]=\"isContinueBtnDisabled\"\n [ngClass]='isContinueBtnDisabled ? \"button button--disabled govuk-!-margin-right-1 govuk-font19px\" : \"button govuk-!-margin-right-1 govuk-font19px\"'\n class=\"govuk-button\"> Continue</button>\n </fieldset>\n </div>\n </ng-container>\n \n <ng-container *ngIf=\"viewCompStatus === 'overPaymentAddressCapture'\">\n <input #myInput type='hidden' id='iFrameDrivenImageValue' value='OVERPAYMENTADDRESSCAPTUREPAGE'> \n <h1 class=\"govuk-heading-l\">Issue refund</h1>\n <h2 class=\"govuk-heading-m govuk-font19px\">Case reference: {{ccdCaseNumber | ccdHyphens }}</h2>\n <span id=\"how-contacted-conditional-hint\" class=\"govuk-hint govuk-font19px\">\n Payment reference: {{paymentGroupList?.payments[0]?.reference}}\n </span>\n <ccpay-contact-details \n [addressObj] = notification\n (assignContactDetails)=\"getContactDetails($event)\"\n (redirectToIssueRefund)=\"gotoPaymentSelectPage($event)\" ></ccpay-contact-details>\n <p>\n <a (click)=\"goToCaseTransationPage($event)\" class=\"govuk-link\" data-module=\"govuk-button\">\n Cancel\n </a>\n </p>\n </ng-container>\n \n <ng-container *ngIf=\"viewCompStatus === 'overpaymentcheckandanswer'\">\n <input #myInput type='hidden' id='iFrameDrivenImageValue' value='ADDREFUNDFORREMISSION'> \n <div class=\"govuk-warning-text\">\n \n <h1 class=\"heading-large\"> Check your answers</h1>\n </div>\n <table class=\"govuk-table govuk-table-mb\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Payment reference</td>\n <td class=\"govuk-table__cell\">{{paymentGroupList.payments[0].reference}}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Payment amount</td>\n <td class=\"govuk-table__cell\">{{paymentGroupList.payments[0].amount | currency:'GBP':'symbol-narrow':'1.2-2'}}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Fee amount</td>\n <td class=\"govuk-table__cell\">{{paymentGroupList?.fees[0]?.net_amount | currency:'GBP':'symbol-narrow':'1.2-2'}}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Refund amount</td>\n <td class=\"govuk-table__cell\">{{getOverPaymentValue() | currency:'GBP':'symbol-narrow':'1.2-2'}}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Refund reason</td>\n <td class=\"govuk-table__cell\">Over payment</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Send to</td>\n <td class=\"govuk-table__cell\">{{orderParty}}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Send via</td>\n <td class=\"govuk-table__cell whitespace-inherit\">\n <div *ngIf=\"contactDetailsObj?.notification_type === 'EMAIL'\" class=\"contactDetails-width\">\n <strong>Email</strong>\n <br/>\n {{contactDetailsObj?.email?.trim()}}\n </div>\n <div *ngIf=\"contactDetailsObj?.notification_type === 'LETTER'\" class=\"contactDetails-width\">\n <strong>Post</strong>\n <br/>\n {{contactDetailsObj?.address_line?.trim()}}&nbsp;{{contactDetailsObj?.city?.trim()}}&nbsp;{{contactDetailsObj?.county?.trim()}}&nbsp;{{contactDetailsObj?.country?.trim()}}&nbsp;{{contactDetailsObj?.postal_code?.trim()}}\n </div>\n <a (click)=\"gotoAddressPage(contactDetailsObj)\" class=\"govuk-link right\" >Change</a>\n </td>\n </tr>\n\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Notification</td>\n <td class=\"govuk-table__cell\">{{templateInstructionType}}\n <a *ngIf=\"!notificationPreview\" href=\"Javascript:void(0)\" class=\"govuk-link right\" (click)=\"showNotificationPreview()\">\n Preview\n </a>\n <a *ngIf=\"notificationPreview\" href=\"Javascript:void(0)\" class=\"govuk-link right\" (click)=\"hideNotificationPreview()\">\n Hide Preview\n </a>\n </td>\n </tr>\n </table>\n\n <app-notification-preview *ngIf=\"notificationPreview\" \n [payment]=\"paymentGroupList.payments[0]\" \n [contactDetails]=\"contactDetailsObj\"\n [refundReason]=\"'RR037'\"\n [refundAmount]=\"getOverPaymentValue()\"></app-notification-preview>\n\n\n <button type=\"submit\" class=\"button govuk-button--secondary over-payment-alignment govuk-font19px\" (click)=\"gotoAddressPage(contactDetailsObj)\">Previous</button>\n <button type=\"submit\"\n [ngClass]='isContinueBtnDisabled ? \"button button--disabled govuk-!-margin-right-1 govuk-font19px\" : \"button govuk-!-margin-right-1 govuk-font19px\"'\n (click)=\"processRefund()\">\n Submit refund\n </button>\n <p>\n <a href=\"javascript:void(0)\" (click)=\"goToCaseTransationPage($event)\" class=\"govuk-link govuk-font19px\" data-module=\"govuk-button\">\n Cancel\n </a>\n </p>\n \n </ng-container>\n <ng-container *ngIf=\"viewStatus === 'refundconfirmationpage' && viewCompStatus !== 'overpayment' && viewCompStatus !== 'overPaymentAddressCapture' && viewCompStatus !== 'overpaymentcheckandanswer'\">\n <input #myInput type='hidden' id='iFrameDrivenImageValue' value='RETROREMISSIONREFUNDCONFIRMATIONPAGE'> \n <div class=\"govuk-grid-row pagesize\">\n <div >\n <div class=\"govuk-panel govuk-panel--confirmation\">\n <h1 class=\"govuk-panel__title\">\n Refund submitted\n </h1>\n \n <div class=\"govuk-panel__body\">\n <p class=\"govuk-body white\"><strong>Refund reference: {{refundReference}}</strong></p>\n </div>\n \n </div>\n <h2 class=\"govuk-heading-l\">What happens next</h2>\n <p class=\"govuk-body\">\n A refund request for {{refundAmount | currency:'GBP':'symbol-narrow':'1.2-2' }} has been created and will be passed to a team leader to approve.\n </p>\n <p class=\"govuk-body\">\n <a href=\"javascript:void(0)\" (click)=\"goToCaseTransationPage($event)\" class=\"govuk-link pointer\" data-module=\"govuk-button\">\n Return to case\n </a>\n </p>\n </div>\n </div>\n \n </ng-container>\n </div>\n",
7138
+ styles: [".govuk-grid-column-full--gr{position:relative;margin-bottom:10px}.disable{text-decoration:none;cursor:default;color:#fff;background-color:grey;pointer-events:none}.pagesize{margin:2em;width:97%}.govuk-grid__surplus-payments{margin:20px 0}.govuk-grid__surplus-payments>.govuk-grid-column-full{padding:0}.govuk-grid__surplus-payments-col1{margin-bottom:10px}.govuk-inset-text__no-border{border-left:0}.govuk-hidetext{font-size:22px;padding-bottom:10px}.lowercase{text-transform:lowercase}.channel:first-letter{text-transform:uppercase}.govuk-heading-xl{font-size:48px;margin-bottom:1px}.govuk-section-break--visible{border-bottom:2px solid #000}.totalpayments.govuk-table__row{border-bottom:2px solid #000!important}.govuk-inset-text{margin-left:1em}.govuk-button{font-size:19px;margin-bottom:0!important}.govuk-table__cell.govuk-table__cell--col6.govuk-table__custom--col6,.groupamount.govuk-table__header{text-align:right}.feeclass{padding-left:.7em}.align-center{text-align:center}details summary{display:list-item}.case-transaction__color{color:#a71414;font-weight:700;text-align:center}.capitalize:first-letter{text-transform:uppercase}.govuk-inset-text__no-left-margin{margin-left:0;padding-left:0}.whitespace-inherit{white-space:inherit!important}.govuk-section-records-break{margin:10px;border-bottom:2px solid #000!important}.exisitng-fees{margin-left:12px}.add-telephony-payment{margin-top:-2em;margin-left:-2em}.govuk-table__header--custom{text-align:center}.disable-link{cursor:default;pointer-events:none;color:#8e8c8c}.panel-no--style{border-left-style:none}.col-28{width:28%!important}.col-8{width:8%!important}.col-60{width:60%!important}.col-32{width:32%!important}.col-34{width:34%!important}#bckLnksize{font-size:16px!important}.col-15{width:15%!important;padding-right:0!important;padding-left:0!important}.col-16{width:16%!important}.col-14{width:14%!important}.col-17{width:17%!important}.col-12{width:12%!important}.col-9{width:9%!important}.col-10{width:10%!important}.col-11{width:11%!important}.col-13{width:13%!important}.col-21{width:21%!important}.col-20{width:20%!important}.col-24{width:24%!important}.govuk-table__cell,.govuk-table__header{padding:10px 10px 10px 0}.col-27{width:27%!important}td{white-space:nowrap;overflow:hidden!important}.col-19{width:19%!important}.col-18,.col-19{padding-left:0!important}.col-18{width:18%!important;padding-right:0!important}.col-37{width:37%!important}.col-55{width:55%!important}.govuk-table{margin-bottom:1px}.hmcts-banner>.hmcts-banner__message{font-size:19px;line-height:1.25}.summary-table-font{font-size:36px}.order-class{padding-top:3em}.govuk-table__cell:last-child,.govuk-table__header:last-child{text-align:right}.govuk-grid-column-two-thirds{width:64%!important;padding:0!important}.govuk-heading-l{font-size:36px;margin-bottom:10px}.paymentrequest{margin-top:1em}.mar-17{margin-left:17px}.col-61{width:61px!important;padding:0!important}.error{width:960px;margin:auto}.summarypage{padding-left:36em;margin-top:2em}.summarypagealign{width:100%;text-align:right;margin-top:2em}.govuk-inset-text{font-size:2.1875rem}table{table-layout:fixed;width:100%}td,th{word-wrap:break-word}.totalPay{padding-right:14px;float:right;margin-top:2em}.govuk-back-link{font-size:1.5rem!important}.totalfees{float:right;margin-top:2em}.refundBtn{text-align:right;width:18%}.col-25{width:25%!important}.col-51{width:51%!important}.alignright{text-align:right}.alignleft{text-align:left}.alignself{align-self:flex-end}.maxwidth{width:100%}.over-payment .govuk-table-mb{margin-bottom:20px}.over-payment .contactDetails-width{width:70%}.over-payment .margin-top10px{margin-top:20px}.over-payment .govuk-font19px{font-size:19px!important}.over-payment .margin-top--size{margin-top:-30px}.over-payment .over-payment-alignment{margin-right:10px}.over-payment .govuk-button{font-size:19px;float:left;margin-top:2em}.over-payment td.govuk-table__cell{width:50%;text-align:left}.over-payment .govuk-label--s,.over-payment .govuk-warning-text__text,.over-payment .hmcts-currency-input__symbol{font-size:19px;font-weight:400}.over-payment .inline-error-class{outline:3px solid #a71414;outline-offset:0;border-color:#a71414}.over-payment .inline-error-message{color:#a71414;border-color:#a71414;font-weight:700;margin-top:10px;font-size:20px}.over-payment .govuk-button-group{padding-top:2em}.over-payment .heading-medium{margin-top:.875em}.over-payment .heading-large{margin-top:.25em}.over-payment .govuk-panel--confirmation{color:#fff;background:#00703c}.over-payment .govuk-panel__title{font-size:5rem}.over-payment .govuk-body,.over-payment .govuk-body-m{font-size:2.1875rem}.over-payment .govuk-link{cursor:pointer}.over-payment .govuk-radios__conditional{padding-top:12px!important}.over-payment .right{float:right;cursor:pointer}.over-payment .radio{float:right}.over-payment .white{color:#fff}"]
6010
7139
  },] }
6011
7140
  ];
6012
7141
  ServiceRequestComponent.ctorParameters = function () { return [
6013
7142
  { type: PaymentLibComponent },
6014
7143
  { type: PaymentViewService },
6015
7144
  { type: OrderslistService },
7145
+ { type: NotificationService },
7146
+ { type: i0.ChangeDetectorRef },
6016
7147
  { type: router.Router }
6017
7148
  ]; };
6018
7149
  ServiceRequestComponent.propDecorators = {
@@ -6027,6 +7158,7 @@
6027
7158
  orderFeesTotal: [{ type: i0.Input, args: ['orderFeesTotal',] }],
6028
7159
  orderTotalPayments: [{ type: i0.Input, args: ['orderTotalPayments',] }],
6029
7160
  orderRemissionTotal: [{ type: i0.Input, args: ['orderRemissionTotal',] }],
7161
+ paymentGroupList: [{ type: i0.Input, args: ['paymentGroupList',] }],
6030
7162
  takePayment: [{ type: i0.Input, args: ['takePayment',] }],
6031
7163
  ccdCaseNumber: [{ type: i0.Input, args: ['ccdCaseNumber',] }],
6032
7164
  isServiceRequest: [{ type: i0.Input, args: ["isServiceRequest",] }],
@@ -6109,6 +7241,7 @@
6109
7241
  this.isPBAAccountNotExist = false;
6110
7242
  this.isPBAServerError = false;
6111
7243
  this.isPBAAccountPaymentSuccess = false;
7244
+ this.isContinueButtondisabled = true;
6112
7245
  if (this.pbaAccountList.indexOf(this.selectedPbaAccount) !== -1) {
6113
7246
  var requestBody = new IserviceRequestPbaPayment(this.selectedPbaAccount, this.pbaPayOrderRef.orderTotalFees, this.pbaAccountRef, this.orgName);
6114
7247
  this.paymentViewService.postPBAaccountPayment(this.pbaPayOrderRef.orderRefId, requestBody)
@@ -6193,6 +7326,100 @@
6193
7326
  pbaPayOrderRef: [{ type: i0.Input }]
6194
7327
  };
6195
7328
 
7329
+ var NotificationPreviewRequest = /** @class */ (function () {
7330
+ function NotificationPreviewRequest(payment, contactDetails, refund_reason, refund_amount, refund_reference, payment_reference) {
7331
+ if (contactDetails !== undefined && contactDetails !== null) {
7332
+ this.notification_type = contactDetails.notification_type.toUpperCase();
7333
+ }
7334
+ if (payment !== undefined && payment !== null) {
7335
+ this.payment_reference = payment.reference;
7336
+ this.payment_method = payment.method;
7337
+ this.payment_channel = payment.channel;
7338
+ this.service_name = payment.service_name;
7339
+ }
7340
+ else {
7341
+ this.payment_reference = payment_reference;
7342
+ }
7343
+ this.personalisation = {
7344
+ ccd_case_number: (payment !== undefined && payment !== null) ? payment.ccd_case_number : '',
7345
+ refund_reason: refund_reason,
7346
+ refund_amount: refund_amount,
7347
+ refund_reference: refund_reference
7348
+ };
7349
+ if (this.notification_type === "EMAIL") {
7350
+ this.recipient_email_address = contactDetails.email;
7351
+ this.recipient_postal_address = null;
7352
+ }
7353
+ else if (this.notification_type === "LETTER") {
7354
+ this.recipient_postal_address = {
7355
+ address_line: contactDetails.address_line,
7356
+ city: contactDetails.city,
7357
+ county: contactDetails.county,
7358
+ country: contactDetails.country,
7359
+ postal_code: contactDetails.postal_code
7360
+ };
7361
+ this.recipient_email_address = null;
7362
+ }
7363
+ }
7364
+ return NotificationPreviewRequest;
7365
+ }());
7366
+
7367
+ var NotificationPreviewComponent = /** @class */ (function () {
7368
+ function NotificationPreviewComponent(errorHandlerService, notificationService) {
7369
+ this.errorHandlerService = errorHandlerService;
7370
+ this.notificationService = notificationService;
7371
+ this.notificationPreviewEvent = new i0.EventEmitter();
7372
+ this.today = Date.now();
7373
+ this.errorMessage = this.errorHandlerService.getServerErrorMessage(false, false, '');
7374
+ }
7375
+ NotificationPreviewComponent.prototype.ngOnInit = function () {
7376
+ var _this = this;
7377
+ if (this.previewJourney != undefined && this.previewJourney != null && this.previewJourney === 'Notifications sent') {
7378
+ this.notification = this.notificationSent;
7379
+ if (this.notification != undefined && this.notification != null && this.notification.template_type === 'letter') {
7380
+ this.notification.body = this.notification.body.replace(/\r\n/g, '<br/>');
7381
+ }
7382
+ }
7383
+ else {
7384
+ var notficationPreviewRequestBody = new NotificationPreviewRequest(this.payment, this.contactDetails, this.refundReason, this.refundAmount, this.refundReference, this.paymentReference);
7385
+ this.notificationService.getNotificationPreview(notficationPreviewRequestBody).subscribe(function (res) {
7386
+ _this.errorMessage = _this.errorHandlerService.getServerErrorMessage(false, false, '');
7387
+ _this.notification = JSON.parse(res);
7388
+ if (_this.notification != undefined && _this.notification != null && _this.notification.template_type === 'letter') {
7389
+ _this.notification.body = _this.notification.body.replace(/\r\n/g, '<br/>');
7390
+ }
7391
+ }, function (error) {
7392
+ _this.errorMessage = _this.errorHandlerService.getServerErrorMessage(true, false, '');
7393
+ console.log(_this.errorMessage);
7394
+ });
7395
+ this.notificationPreviewEvent.emit(this.notification);
7396
+ }
7397
+ };
7398
+ return NotificationPreviewComponent;
7399
+ }());
7400
+ NotificationPreviewComponent.decorators = [
7401
+ { type: i0.Component, args: [{
7402
+ selector: 'app-notification-preview',
7403
+ template: "<div class=\"govuk-grid-column-full\">\n <table class=\"govuk-table\">\n <tbody class=\"govuk-table__body\">\n <ng-container *ngIf=\"notification?.template_type === 'email'\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell whitespace-inherit\"><span class=\"govuk-!-font-weight-bold\">From:</span>\n {{notification?.from?.from_email_address}}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell whitespace-inherit\"><span class=\"govuk-!-font-weight-bold\">To:</span>\n {{notification?.recipient_contact?.recipient_email_address}}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell whitespace-inherit\"><span class=\"govuk-!-font-weight-bold\">Subject:</span>\n {{notification?.subject}}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell whitespace-inherit\">\n <div [innerHTML]=\"notification?.html\"></div>\n </td>\n </tr>\n </ng-container>\n <ng-container *ngIf=\"notification?.template_type === 'letter'\">\n <tr class=\"govuk-table__row\">\n <td class=\"letter-row-border\">\n <ng-container *ngIf=\"notification?.recipient_contact?.recipient_mail_address?.address_line\">\n {{notification?.recipient_contact?.recipient_mail_address?.address_line}}<br /></ng-container>\n <ng-container *ngIf=\"notification?.recipient_contact?.recipient_mail_address?.city\">\n {{notification?.recipient_contact?.recipient_mail_address?.city}}<br /></ng-container>\n <ng-container *ngIf=\"notification?.recipient_contact?.recipient_mail_address?.county\">\n {{notification?.recipient_contact?.recipient_mail_address?.county}}<br /></ng-container>\n <ng-container *ngIf=\"notification?.recipient_contact?.recipient_mail_address?.country\">\n {{notification?.recipient_contact?.recipient_mail_address?.country}}<br /></ng-container>\n {{notification?.recipient_contact?.recipient_mail_address?.postal_code}}\n </td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"letter-row-border\">{{ today | date:'d MMMM y' }}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"letter-row-border\"><span class=\"govuk-!-font-weight-bold\">{{notification?.subject}}</span></td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell whitespace-inherit\">\n <div [innerHTML]=\"notification?.body\"></div>\n </td>\n </tr>\n </ng-container>\n \n </tbody>\n </table>\n</div>\n",
7404
+ styles: [".right{float:right}.letter-row-border{border-bottom:none}"]
7405
+ },] }
7406
+ ];
7407
+ NotificationPreviewComponent.ctorParameters = function () { return [
7408
+ { type: ErrorHandlerService },
7409
+ { type: NotificationService }
7410
+ ]; };
7411
+ NotificationPreviewComponent.propDecorators = {
7412
+ payment: [{ type: i0.Input }],
7413
+ contactDetails: [{ type: i0.Input }],
7414
+ refundReason: [{ type: i0.Input }],
7415
+ refundAmount: [{ type: i0.Input }],
7416
+ paymentReference: [{ type: i0.Input }],
7417
+ refundReference: [{ type: i0.Input }],
7418
+ previewJourney: [{ type: i0.Input }],
7419
+ notificationSent: [{ type: i0.Input }],
7420
+ notificationPreviewEvent: [{ type: i0.Output }]
7421
+ };
7422
+
6196
7423
  var PaymentLibModule = /** @class */ (function () {
6197
7424
  function PaymentLibModule() {
6198
7425
  }
@@ -6216,6 +7443,7 @@
6216
7443
  PaymentListComponent,
6217
7444
  PaymentViewComponent,
6218
7445
  PbaPaymentComponent,
7446
+ ContactDetailsComponent,
6219
7447
  ProcessRefundComponent,
6220
7448
  RefundListComponent,
6221
7449
  CardDetailsComponent,
@@ -6238,7 +7466,8 @@
6238
7466
  ErrorBannerComponent,
6239
7467
  TableComponent,
6240
7468
  RefundStatusComponent,
6241
- ServiceRequestComponent
7469
+ ServiceRequestComponent,
7470
+ NotificationPreviewComponent
6242
7471
  ],
6243
7472
  exports: [PaymentLibComponent],
6244
7473
  providers: [
@@ -6262,43 +7491,46 @@
6262
7491
  exports.PaymentLibService = PaymentLibService;
6263
7492
  exports["ɵa"] = OrderslistService;
6264
7493
  exports["ɵb"] = PaymentListComponent;
6265
- exports["ɵba"] = FeeSummaryComponent;
6266
- exports["ɵbb"] = AddRemissionComponent;
6267
- exports["ɵbc"] = CcdHyphensPipe;
6268
- exports["ɵbd"] = CapitalizePipe;
6269
- exports["ɵbe"] = keyValuePipe;
6270
- exports["ɵbf"] = SanitizeHtmlPipe;
6271
- exports["ɵbg"] = ReportsComponent;
6272
- exports["ɵbh"] = XlFileService;
6273
- exports["ɵbi"] = ErrorBannerComponent;
6274
- exports["ɵbj"] = TableComponent;
6275
- exports["ɵbk"] = RefundStatusComponent;
6276
- exports["ɵbl"] = ServiceRequestComponent;
6277
- exports["ɵbm"] = ConsoleLoggerService;
7494
+ exports["ɵba"] = PbaDetailsComponent;
7495
+ exports["ɵbb"] = CaseTransactionsComponent;
7496
+ exports["ɵbc"] = FeeSummaryComponent;
7497
+ exports["ɵbd"] = AddRemissionComponent;
7498
+ exports["ɵbe"] = CcdHyphensPipe;
7499
+ exports["ɵbf"] = CapitalizePipe;
7500
+ exports["ɵbg"] = keyValuePipe;
7501
+ exports["ɵbh"] = SanitizeHtmlPipe;
7502
+ exports["ɵbi"] = ReportsComponent;
7503
+ exports["ɵbj"] = XlFileService;
7504
+ exports["ɵbk"] = ErrorBannerComponent;
7505
+ exports["ɵbl"] = TableComponent;
7506
+ exports["ɵbm"] = RefundStatusComponent;
7507
+ exports["ɵbn"] = ServiceRequestComponent;
7508
+ exports["ɵbo"] = NotificationPreviewComponent;
7509
+ exports["ɵbp"] = ConsoleLoggerService;
6278
7510
  exports["ɵc"] = PaymentListService;
6279
7511
  exports["ɵd"] = LoggerService;
6280
7512
  exports["ɵe"] = ErrorHandlerService;
6281
7513
  exports["ɵf"] = PaymentViewComponent;
6282
7514
  exports["ɵg"] = PaymentViewService;
6283
7515
  exports["ɵh"] = WebComponentHttpClient;
6284
- exports["ɵi"] = PbaPaymentComponent;
6285
- exports["ɵj"] = ProcessRefundComponent;
6286
- exports["ɵk"] = RefundsService;
6287
- exports["ɵl"] = RefundListComponent;
6288
- exports["ɵm"] = CardDetailsComponent;
6289
- exports["ɵn"] = CardDetailsService;
6290
- exports["ɵo"] = PageNotFoundComponent;
6291
- exports["ɵp"] = StatusHistoryComponent;
6292
- exports["ɵq"] = StatusHistoryService;
6293
- exports["ɵr"] = MarkUnidentifiedPaymentComponent;
6294
- exports["ɵs"] = BulkScaningPaymentService;
6295
- exports["ɵt"] = MarkUnsolicitedPaymentComponent;
6296
- exports["ɵu"] = UnprocessedPaymentsComponent;
6297
- exports["ɵv"] = ProcessedPaymentsComponent;
6298
- exports["ɵw"] = AllocatePaymentsComponent;
6299
- exports["ɵx"] = CaseTransactionsService;
6300
- exports["ɵy"] = PbaDetailsComponent;
6301
- exports["ɵz"] = CaseTransactionsComponent;
7516
+ exports["ɵi"] = NotificationService;
7517
+ exports["ɵj"] = PbaPaymentComponent;
7518
+ exports["ɵk"] = ContactDetailsComponent;
7519
+ exports["ɵl"] = ProcessRefundComponent;
7520
+ exports["ɵm"] = RefundsService;
7521
+ exports["ɵn"] = RefundListComponent;
7522
+ exports["ɵo"] = CardDetailsComponent;
7523
+ exports["ɵp"] = CardDetailsService;
7524
+ exports["ɵq"] = PageNotFoundComponent;
7525
+ exports["ɵr"] = StatusHistoryComponent;
7526
+ exports["ɵs"] = StatusHistoryService;
7527
+ exports["ɵt"] = MarkUnidentifiedPaymentComponent;
7528
+ exports["ɵu"] = BulkScaningPaymentService;
7529
+ exports["ɵv"] = MarkUnsolicitedPaymentComponent;
7530
+ exports["ɵw"] = UnprocessedPaymentsComponent;
7531
+ exports["ɵx"] = ProcessedPaymentsComponent;
7532
+ exports["ɵy"] = AllocatePaymentsComponent;
7533
+ exports["ɵz"] = CaseTransactionsService;
6302
7534
 
6303
7535
  Object.defineProperty(exports, '__esModule', { value: true });
6304
7536