@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.
- package/bundles/hmcts-ccpay-web-component.umd.js +1743 -511
- package/bundles/hmcts-ccpay-web-component.umd.js.map +1 -1
- package/bundles/hmcts-ccpay-web-component.umd.min.js +1 -1
- package/bundles/hmcts-ccpay-web-component.umd.min.js.map +1 -1
- package/esm2015/hmcts-ccpay-web-component.js +35 -32
- package/esm2015/lib/components/add-remission/add-remission.component.js +473 -116
- package/esm2015/lib/components/case-transactions/case-transactions.component.js +25 -14
- package/esm2015/lib/components/contact-details/contact-details.component.js +315 -0
- package/esm2015/lib/components/fee-summary/fee-summary.component.js +14 -9
- package/esm2015/lib/components/notification-preview/notification-preview.component.js +59 -0
- package/esm2015/lib/components/payment-view/payment-view.component.js +133 -75
- package/esm2015/lib/components/pba-payment/pba-payment.component.js +2 -1
- package/esm2015/lib/components/process-refund/process-refund.component.js +146 -41
- package/esm2015/lib/components/refund-list/refund-list.component.js +3 -3
- package/esm2015/lib/components/refund-status/refund-status.component.js +174 -38
- package/esm2015/lib/components/reports/reports.component.js +4 -1
- package/esm2015/lib/components/service-request/service-request.component.js +160 -102
- package/esm2015/lib/components/table/table.component.js +7 -4
- package/esm2015/lib/components/unprocessed-payments/unprocessed-payments.component.js +3 -3
- package/esm2015/lib/interfaces/IFee.js +1 -1
- package/esm2015/lib/interfaces/INotificationPreview.js +2 -0
- package/esm2015/lib/interfaces/IPayment.js +1 -1
- package/esm2015/lib/interfaces/IPutNotificationRequest.js +11 -0
- package/esm2015/lib/interfaces/IRefundContactDetails.js +2 -0
- package/esm2015/lib/interfaces/IRefundFee.js +2 -0
- package/esm2015/lib/interfaces/IRefundList.js +1 -1
- package/esm2015/lib/interfaces/IRefundsNotifications.js +2 -0
- package/esm2015/lib/interfaces/IRemission.js +1 -1
- package/esm2015/lib/interfaces/IResubmitRefundRequest.js +4 -2
- package/esm2015/lib/interfaces/NotificationPreviewRequest.js +37 -0
- package/esm2015/lib/interfaces/PostIssueRefundRetroRemission.js +3 -2
- package/esm2015/lib/interfaces/PostRefundRetroRemission.js +6 -2
- package/esm2015/lib/payment-lib.component.js +8 -2
- package/esm2015/lib/payment-lib.module.js +6 -2
- package/esm2015/lib/payment-lib.service.js +7 -1
- package/esm2015/lib/services/notification/notification.service.js +70 -0
- package/esm2015/lib/services/payment-view/payment-view.service.js +15 -7
- package/esm2015/lib/services/refunds/refunds.service.js +4 -1
- package/esm2015/lib/services/shared/httpclient/webcomponent.http.client.js +1 -1
- package/esm2015/lib/services/xl-file/xl-file.service.js +15 -15
- package/fesm2015/hmcts-ccpay-web-component.js +1689 -456
- package/fesm2015/hmcts-ccpay-web-component.js.map +1 -1
- package/hmcts-ccpay-web-component.d.ts +34 -31
- package/hmcts-ccpay-web-component.d.ts.map +1 -1
- package/hmcts-ccpay-web-component.metadata.json +1 -1
- package/lib/components/add-remission/add-remission.component.d.ts +55 -4
- package/lib/components/add-remission/add-remission.component.d.ts.map +1 -1
- package/lib/components/case-transactions/case-transactions.component.d.ts +2 -1
- package/lib/components/case-transactions/case-transactions.component.d.ts.map +1 -1
- package/lib/components/contact-details/contact-details.component.css.shim.ngstyle.d.ts.map +1 -0
- package/lib/components/contact-details/contact-details.component.d.ts +50 -0
- package/lib/components/contact-details/contact-details.component.d.ts.map +1 -0
- package/lib/components/contact-details/contact-details.component.ngfactory.d.ts.map +1 -0
- package/lib/components/fee-summary/fee-summary.component.d.ts.map +1 -1
- package/lib/components/notification-preview/notification-preview.component.d.ts +32 -0
- package/lib/components/notification-preview/notification-preview.component.d.ts.map +1 -0
- package/lib/components/notification-preview/notification-preview.component.ngfactory.d.ts.map +1 -0
- package/lib/components/notification-preview/notification-preview.component.scss.shim.ngstyle.d.ts.map +1 -0
- package/lib/components/payment-view/payment-view.component.d.ts +31 -7
- package/lib/components/payment-view/payment-view.component.d.ts.map +1 -1
- package/lib/components/payment-view/payment-view.component.scss.shim.ngstyle.d.ts.map +1 -0
- package/lib/components/pba-payment/pba-payment.component.d.ts.map +1 -1
- package/lib/components/process-refund/process-refund.component.d.ts +18 -1
- package/lib/components/process-refund/process-refund.component.d.ts.map +1 -1
- package/lib/components/refund-list/refund-list.component.d.ts.map +1 -1
- package/lib/components/refund-status/refund-status.component.d.ts +45 -7
- package/lib/components/refund-status/refund-status.component.d.ts.map +1 -1
- package/lib/components/reports/reports.component.d.ts.map +1 -1
- package/lib/components/service-request/service-request.component.d.ts +35 -9
- package/lib/components/service-request/service-request.component.d.ts.map +1 -1
- package/lib/components/service-request/service-request.component.scss.shim.ngstyle.d.ts.map +1 -0
- package/lib/components/table/table.component.d.ts +1 -0
- package/lib/components/table/table.component.d.ts.map +1 -1
- package/lib/interfaces/IFee.d.ts +6 -0
- package/lib/interfaces/IFee.d.ts.map +1 -1
- package/lib/interfaces/INotificationPreview.d.ts +28 -0
- package/lib/interfaces/INotificationPreview.d.ts.map +1 -0
- package/lib/interfaces/IPayment.d.ts +3 -0
- package/lib/interfaces/IPayment.d.ts.map +1 -1
- package/lib/interfaces/IPutNotificationRequest.d.ts +7 -0
- package/lib/interfaces/IPutNotificationRequest.d.ts.map +1 -0
- package/lib/interfaces/IRefundContactDetails.d.ts +10 -0
- package/lib/interfaces/IRefundContactDetails.d.ts.map +1 -0
- package/lib/interfaces/IRefundFee.d.ts +8 -0
- package/lib/interfaces/IRefundFee.d.ts.map +1 -0
- package/lib/interfaces/IRefundList.d.ts +5 -0
- package/lib/interfaces/IRefundList.d.ts.map +1 -1
- package/lib/interfaces/IRefundsNotifications.d.ts +17 -0
- package/lib/interfaces/IRefundsNotifications.d.ts.map +1 -0
- package/lib/interfaces/IRemission.d.ts +3 -0
- package/lib/interfaces/IRemission.d.ts.map +1 -1
- package/lib/interfaces/IResubmitRefundRequest.d.ts +5 -1
- package/lib/interfaces/IResubmitRefundRequest.d.ts.map +1 -1
- package/lib/interfaces/NotificationPreviewRequest.d.ts +25 -0
- package/lib/interfaces/NotificationPreviewRequest.d.ts.map +1 -0
- package/lib/interfaces/PostIssueRefundRetroRemission.d.ts +3 -1
- package/lib/interfaces/PostIssueRefundRetroRemission.d.ts.map +1 -1
- package/lib/interfaces/PostRefundRetroRemission.d.ts +7 -1
- package/lib/interfaces/PostRefundRetroRemission.d.ts.map +1 -1
- package/lib/payment-lib.component.d.ts +2 -0
- package/lib/payment-lib.component.d.ts.map +1 -1
- package/lib/payment-lib.module.d.ts.map +1 -1
- package/lib/payment-lib.module.ngfactory.d.ts.map +1 -1
- package/lib/payment-lib.service.d.ts +3 -0
- package/lib/payment-lib.service.d.ts.map +1 -1
- package/lib/services/notification/notification.service.d.ts +19 -0
- package/lib/services/notification/notification.service.d.ts.map +1 -0
- package/lib/services/notification/notification.service.ngfactory.d.ts.map +1 -0
- package/lib/services/payment-view/payment-view.service.d.ts +1 -1
- package/lib/services/payment-view/payment-view.service.d.ts.map +1 -1
- package/lib/services/refunds/refunds.service.d.ts +2 -0
- package/lib/services/refunds/refunds.service.d.ts.map +1 -1
- package/lib/services/shared/httpclient/webcomponent.http.client.d.ts.map +1 -1
- package/lib/services/xl-file/xl-file.service.d.ts.map +1 -1
- package/package.json +1 -1
- package/lib/components/payment-view/payment-view.component.css.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/service-request/service-request.component.css.shim.ngstyle.d.ts.map +0 -1
|
@@ -37,6 +37,12 @@ class PaymentLibService {
|
|
|
37
37
|
getRefundsApiRootUrl() {
|
|
38
38
|
return this.REFUNDS_API_ROOT;
|
|
39
39
|
}
|
|
40
|
+
setNoticationApiRootUrl(notificationapiRoot) {
|
|
41
|
+
this.NOTIFICATION_API_ROOT = notificationapiRoot;
|
|
42
|
+
}
|
|
43
|
+
getNoticationApiRootUrl() {
|
|
44
|
+
return this.NOTIFICATION_API_ROOT;
|
|
45
|
+
}
|
|
40
46
|
setCardPaymentReturnUrl(cardPaymentReturnUrl) {
|
|
41
47
|
this.CARDPAYMENTRETURNURL = cardPaymentReturnUrl;
|
|
42
48
|
}
|
|
@@ -209,6 +215,7 @@ class PaymentLibComponent {
|
|
|
209
215
|
this.cd = cd;
|
|
210
216
|
this.OrderslistService = OrderslistService;
|
|
211
217
|
this.unProcessedPaymentServiceId = null;
|
|
218
|
+
this.isFromPayBubble = false;
|
|
212
219
|
this.unProcessedPayment = null;
|
|
213
220
|
this.orderFeesTotal = 0.00;
|
|
214
221
|
this.orderRemissionTotal = 0.00;
|
|
@@ -222,6 +229,7 @@ class PaymentLibComponent {
|
|
|
222
229
|
this.paymentLibService.setApiRootUrl(this.API_ROOT);
|
|
223
230
|
this.paymentLibService.setBulkScanApiRootUrl(this.BULKSCAN_API_ROOT);
|
|
224
231
|
this.paymentLibService.setRefundndsApiRootUrl(this.REFUNDS_API_ROOT);
|
|
232
|
+
this.paymentLibService.setNoticationApiRootUrl(this.NOTIFICATION_API_ROOT);
|
|
225
233
|
this.paymentLibService.setCardPaymentReturnUrl(this.CARDPAYMENTRETURNURL);
|
|
226
234
|
if (this.LOGGEDINUSERROLES.length > 0) {
|
|
227
235
|
this.OrderslistService.setUserRolesList(this.LOGGEDINUSERROLES);
|
|
@@ -248,6 +256,9 @@ class PaymentLibComponent {
|
|
|
248
256
|
if (this.isTakePayment) {
|
|
249
257
|
this.TAKEPAYMENT = true;
|
|
250
258
|
}
|
|
259
|
+
if (this.API_ROOT == 'api/payment-history') {
|
|
260
|
+
this.isFromPayBubble = true;
|
|
261
|
+
}
|
|
251
262
|
}
|
|
252
263
|
}
|
|
253
264
|
PaymentLibComponent.decorators = [
|
|
@@ -272,7 +283,7 @@ PaymentLibComponent.decorators = [
|
|
|
272
283
|
<ccpay-pba-payment *ngIf="viewName === 'pba-payment'"
|
|
273
284
|
[pbaPayOrderRef]="pbaPayOrderRef"
|
|
274
285
|
></ccpay-pba-payment>
|
|
275
|
-
<ccpay-case-transactions [isTakePayment]="isTakePayment" [LOGGEDINUSERROLES]="LOGGEDINUSERROLES" *ngIf="viewName === 'case-transactions'"></ccpay-case-transactions>
|
|
286
|
+
<ccpay-case-transactions [isTakePayment]="isTakePayment" [isFromServiceRequestPage]="isFromServiceRequestPage" [LOGGEDINUSERROLES]="LOGGEDINUSERROLES" *ngIf="viewName === 'case-transactions'"></ccpay-case-transactions>
|
|
276
287
|
<app-mark-unidentified-payment *ngIf="viewName === 'unidentifiedPage'"
|
|
277
288
|
[caseType]="CASETYPE"></app-mark-unidentified-payment>
|
|
278
289
|
<app-mark-unsolicited-payment *ngIf="viewName === 'unsolicitedPage'"
|
|
@@ -302,6 +313,7 @@ PaymentLibComponent.propDecorators = {
|
|
|
302
313
|
API_ROOT: [{ type: Input, args: ['API_ROOT',] }],
|
|
303
314
|
BULKSCAN_API_ROOT: [{ type: Input, args: ['BULKSCAN_API_ROOT',] }],
|
|
304
315
|
REFUNDS_API_ROOT: [{ type: Input, args: ['REFUNDS_API_ROOT',] }],
|
|
316
|
+
NOTIFICATION_API_ROOT: [{ type: Input, args: ['NOTIFICATION_API_ROOT',] }],
|
|
305
317
|
CARDPAYMENTRETURNURL: [{ type: Input, args: ['CARDPAYMENTRETURNURL',] }],
|
|
306
318
|
CCD_CASE_NUMBER: [{ type: Input, args: ['CCD_CASE_NUMBER',] }],
|
|
307
319
|
EXC_REFERENCE: [{ type: Input, args: ['EXC_REFERENCE',] }],
|
|
@@ -557,12 +569,20 @@ class PaymentViewService {
|
|
|
557
569
|
}
|
|
558
570
|
getPaymentDetails(paymentReference, paymentMethod) {
|
|
559
571
|
this.logger.info('Payment-view-service getPaymentDetails for: ', paymentReference);
|
|
560
|
-
|
|
561
|
-
`${this.paymentLibService.API_ROOT}/
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
572
|
+
if (paymentMethod == undefined || paymentMethod == null) {
|
|
573
|
+
return this.http.get(`${this.paymentLibService.API_ROOT}/payments/${paymentReference}`, {
|
|
574
|
+
withCredentials: true
|
|
575
|
+
})
|
|
576
|
+
.pipe(catchError(this.errorHandlerService.handleError));
|
|
577
|
+
}
|
|
578
|
+
else {
|
|
579
|
+
return this.http.get(paymentMethod === 'card' || paymentMethod === 'cash' || paymentMethod === 'cheque' || paymentMethod === 'postal order' ?
|
|
580
|
+
`${this.paymentLibService.API_ROOT}/card-payments/${paymentReference}` :
|
|
581
|
+
`${this.paymentLibService.API_ROOT}/credit-account-payments/${paymentReference}`, {
|
|
582
|
+
withCredentials: true
|
|
583
|
+
})
|
|
584
|
+
.pipe(catchError(this.errorHandlerService.handleError));
|
|
585
|
+
}
|
|
566
586
|
}
|
|
567
587
|
getPaymentGroupDetails(paymentGroupReference) {
|
|
568
588
|
this.logger.info('Payment-view-service getPaymentGroupDetails for: ', paymentGroupReference);
|
|
@@ -677,10 +697,81 @@ PaymentViewService.ctorParameters = () => [
|
|
|
677
697
|
{ type: PaymentLibService }
|
|
678
698
|
];
|
|
679
699
|
|
|
700
|
+
class NotificationService {
|
|
701
|
+
constructor(http, https, errorHandlerService, paymentLibService) {
|
|
702
|
+
this.http = http;
|
|
703
|
+
this.https = https;
|
|
704
|
+
this.errorHandlerService = errorHandlerService;
|
|
705
|
+
this.paymentLibService = paymentLibService;
|
|
706
|
+
}
|
|
707
|
+
getRefundNotification(reference) {
|
|
708
|
+
return this.http.get(`${this.paymentLibService.NOTIFICATION_API_ROOT}/${reference}`, {
|
|
709
|
+
withCredentials: true
|
|
710
|
+
})
|
|
711
|
+
.pipe(catchError(this.errorHandlerService.handleError));
|
|
712
|
+
}
|
|
713
|
+
getAddressByPostcode(postcode) {
|
|
714
|
+
return this.http.get(`${this.paymentLibService.NOTIFICATION_API_ROOT}/postcode-lookup/${postcode}`, {
|
|
715
|
+
withCredentials: true
|
|
716
|
+
})
|
|
717
|
+
.pipe(catchError(this.errorHandlerService.handleError));
|
|
718
|
+
}
|
|
719
|
+
getNotificationPreview(body) {
|
|
720
|
+
return this.https.post(`${this.paymentLibService.NOTIFICATION_API_ROOT}/doc-preview`, body).pipe(catchError(this.errorHandlerService.handleError));
|
|
721
|
+
}
|
|
722
|
+
getNotificationInstructionType(paymentChannel, paymentMethod) {
|
|
723
|
+
if (paymentChannel === 'bulk scan' && paymentMethod === 'postal order') {
|
|
724
|
+
return 'RefundWhenContacted';
|
|
725
|
+
}
|
|
726
|
+
else if (paymentChannel === 'bulk scan' && paymentMethod === 'cash') {
|
|
727
|
+
return 'RefundWhenContacted';
|
|
728
|
+
}
|
|
729
|
+
else if (paymentChannel === 'online' && paymentMethod === 'card') {
|
|
730
|
+
return 'SendRefund';
|
|
731
|
+
}
|
|
732
|
+
else if (paymentChannel === 'telephony' && paymentMethod === 'card') {
|
|
733
|
+
return 'SendRefund';
|
|
734
|
+
}
|
|
735
|
+
else if (paymentChannel === 'online' && paymentMethod === 'payment by account') {
|
|
736
|
+
return 'SendRefund';
|
|
737
|
+
}
|
|
738
|
+
else if (paymentChannel === 'bulk scan' && paymentMethod === 'cheque') {
|
|
739
|
+
return 'SendRefund';
|
|
740
|
+
}
|
|
741
|
+
else {
|
|
742
|
+
return 'Template';
|
|
743
|
+
}
|
|
744
|
+
}
|
|
745
|
+
}
|
|
746
|
+
NotificationService.ɵprov = i0.ɵɵdefineInjectable({ factory: function NotificationService_Factory() { return new NotificationService(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(WebComponentHttpClient), i0.ɵɵinject(ErrorHandlerService), i0.ɵɵinject(PaymentLibService)); }, token: NotificationService, providedIn: "root" });
|
|
747
|
+
NotificationService.decorators = [
|
|
748
|
+
{ type: Injectable, args: [{
|
|
749
|
+
providedIn: 'root'
|
|
750
|
+
},] }
|
|
751
|
+
];
|
|
752
|
+
NotificationService.ctorParameters = () => [
|
|
753
|
+
{ type: HttpClient },
|
|
754
|
+
{ type: WebComponentHttpClient },
|
|
755
|
+
{ type: ErrorHandlerService },
|
|
756
|
+
{ type: PaymentLibService }
|
|
757
|
+
];
|
|
758
|
+
|
|
759
|
+
class PostRefundRetroRemission {
|
|
760
|
+
constructor(contact_details, fees, payment_reference, refund_reason, total_refund_amount, is_over_payment) {
|
|
761
|
+
this.contact_details = contact_details;
|
|
762
|
+
this.fees = fees;
|
|
763
|
+
this.payment_reference = payment_reference;
|
|
764
|
+
this.refund_reason = refund_reason;
|
|
765
|
+
this.total_refund_amount = total_refund_amount;
|
|
766
|
+
this.is_over_payment = is_over_payment === 'op';
|
|
767
|
+
}
|
|
768
|
+
}
|
|
769
|
+
|
|
680
770
|
const BS_ENABLE_FLAG$4 = 'bulk-scan-enabling-fe';
|
|
681
771
|
class PaymentViewComponent {
|
|
682
|
-
constructor(paymentViewService, paymentLibComponent, cd, OrderslistService) {
|
|
772
|
+
constructor(paymentViewService, notificationService, paymentLibComponent, cd, OrderslistService) {
|
|
683
773
|
this.paymentViewService = paymentViewService;
|
|
774
|
+
this.notificationService = notificationService;
|
|
684
775
|
this.paymentLibComponent = paymentLibComponent;
|
|
685
776
|
this.cd = cd;
|
|
686
777
|
this.OrderslistService = OrderslistService;
|
|
@@ -690,16 +781,7 @@ class PaymentViewComponent {
|
|
|
690
781
|
this.allowedRolesToAccessRefund = ['payments-refund-approver', 'payments-refund'];
|
|
691
782
|
this.remissions = [];
|
|
692
783
|
this.allPaymentsFailure = [];
|
|
693
|
-
this.
|
|
694
|
-
return this.allowedRolesToAccessRefund.some(role => this.LOGGEDINUSERROLES.indexOf(role) !== -1);
|
|
695
|
-
};
|
|
696
|
-
this.allowFurtherAccessAfter4Days = (payment) => {
|
|
697
|
-
if (payment !== null && payment !== undefined) {
|
|
698
|
-
let tmp4DayAgo = new Date();
|
|
699
|
-
tmp4DayAgo.setDate(tmp4DayAgo.getDate() - 4);
|
|
700
|
-
return tmp4DayAgo >= new Date(payment.date_created);
|
|
701
|
-
}
|
|
702
|
-
};
|
|
784
|
+
this.isContinueBtnDisabled = true;
|
|
703
785
|
}
|
|
704
786
|
ngAfterContentChecked() {
|
|
705
787
|
this.cd.detectChanges();
|
|
@@ -727,6 +809,7 @@ class PaymentViewComponent {
|
|
|
727
809
|
}
|
|
728
810
|
});
|
|
729
811
|
paymentGroup.fees = fees;
|
|
812
|
+
this.paymentFees = fees;
|
|
730
813
|
this.paymentGroup = paymentGroup;
|
|
731
814
|
this.paymentGroup.payments = this.paymentGroup.payments.filter(paymentGroupObj => paymentGroupObj['reference'].includes(this.paymentLibComponent.paymentReference));
|
|
732
815
|
const paymentAllocation = this.paymentGroup.payments[0].payment_allocation;
|
|
@@ -757,6 +840,13 @@ class PaymentViewComponent {
|
|
|
757
840
|
goToPaymentList() {
|
|
758
841
|
this.paymentLibComponent.viewName = 'payment-list';
|
|
759
842
|
}
|
|
843
|
+
getOverPaymentValue() {
|
|
844
|
+
let feesOverPayment = 0;
|
|
845
|
+
this.paymentGroup.fees.forEach(fee => {
|
|
846
|
+
feesOverPayment += fee.over_payment;
|
|
847
|
+
});
|
|
848
|
+
return feesOverPayment > 0 ? feesOverPayment : this.paymentGroup.payments[0].over_payment;
|
|
849
|
+
}
|
|
760
850
|
goToServiceRequestPage() {
|
|
761
851
|
this.paymentLibComponent.viewName = 'case-transactions';
|
|
762
852
|
this.paymentLibComponent.TAKEPAYMENT = false;
|
|
@@ -786,7 +876,7 @@ class PaymentViewComponent {
|
|
|
786
876
|
}
|
|
787
877
|
}
|
|
788
878
|
addRemission(fee) {
|
|
789
|
-
if (this.
|
|
879
|
+
if (this.chkIsAddRemissionBtnEnable(fee)) {
|
|
790
880
|
this.feeId = fee;
|
|
791
881
|
this.paymentViewService.getApportionPaymentDetails(this.paymentGroup.payments[0].reference).subscribe(paymentGroup => {
|
|
792
882
|
this.paymentGroup = paymentGroup;
|
|
@@ -807,46 +897,71 @@ class PaymentViewComponent {
|
|
|
807
897
|
}
|
|
808
898
|
return false;
|
|
809
899
|
}
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
this.isRefundRemissionBtnEnable = true;
|
|
830
|
-
}
|
|
831
|
-
});
|
|
832
|
-
if (this.isRefundRemissionBtnEnable) {
|
|
833
|
-
return true;
|
|
834
|
-
}
|
|
835
|
-
else {
|
|
836
|
-
return false;
|
|
900
|
+
processRefund() {
|
|
901
|
+
this.isConfirmationBtnDisabled = true;
|
|
902
|
+
this.errorMessage = '';
|
|
903
|
+
const obj = this.paymentGroup.fees[0];
|
|
904
|
+
this.fees = [{ id: obj.id,
|
|
905
|
+
code: obj.code,
|
|
906
|
+
version: obj.version,
|
|
907
|
+
apportion_amount: obj.apportion_amount,
|
|
908
|
+
calculated_amount: obj.calculated_amount,
|
|
909
|
+
updated_volume: obj.updated_volume ? obj.updated_volume : obj.volume,
|
|
910
|
+
volume: obj.volume,
|
|
911
|
+
refund_amount: this.getOverPaymentValue() }];
|
|
912
|
+
const requestBody = new PostRefundRetroRemission(this.contactDetailsObj, this.fees, this.paymentGroup.payments[0].reference, 'RR037', this.getOverPaymentValue(), 'op');
|
|
913
|
+
this.paymentViewService.postRefundsReason(requestBody).subscribe(response => {
|
|
914
|
+
if (JSON.parse(response)) {
|
|
915
|
+
this.viewCompStatus = '';
|
|
916
|
+
this.viewStatus = 'refundconfirmationpage';
|
|
917
|
+
this.refundReference = JSON.parse(response).refund_reference;
|
|
918
|
+
this.refundAmount = JSON.parse(response).refund_amount;
|
|
837
919
|
}
|
|
838
|
-
|
|
920
|
+
}, (error) => {
|
|
921
|
+
this.errorMessage = error;
|
|
922
|
+
this.isConfirmationBtnDisabled = false;
|
|
923
|
+
this.cd.detectChanges();
|
|
924
|
+
});
|
|
925
|
+
}
|
|
926
|
+
gotoAddressPage(note) {
|
|
927
|
+
if (note) {
|
|
928
|
+
this.notification = { contact_details: note, notification_type: note.notification_type };
|
|
839
929
|
}
|
|
930
|
+
this.errorMessage = '';
|
|
931
|
+
this.viewCompStatus = 'overPaymentAddressCapture';
|
|
932
|
+
}
|
|
933
|
+
addRefundForRemission(payment, remission, fees) {
|
|
934
|
+
//if(!this.chkIsIssueRefundBtnEnable(payment)) {
|
|
935
|
+
this.paymentViewService.getApportionPaymentDetails(payment.reference).subscribe(paymentGroup => {
|
|
936
|
+
this.paymentGroup = paymentGroup;
|
|
937
|
+
this.paymentGroup.payments = this.paymentGroup.payments.filter(paymentGroupObj => paymentGroupObj['reference'].includes(payment.reference));
|
|
938
|
+
this.payment = this.paymentGroup.payments[0];
|
|
939
|
+
this.remissions = remission;
|
|
940
|
+
this.remissionFeeAmt = fees.filter(data => data.code === this.remissions['fee_code'])[0].net_amount;
|
|
941
|
+
this.viewStatus = 'addrefundforremission';
|
|
942
|
+
// const paymentAllocation = this.paymentGroup.payments[0].payment_allocation;
|
|
943
|
+
// this.isStatusAllocated = paymentAllocation.length > 0 && paymentAllocation[0].allocation_status === 'Allocated' || paymentAllocation.length === 0;
|
|
944
|
+
}, (error) => this.errorMessage = error);
|
|
945
|
+
//}
|
|
946
|
+
}
|
|
947
|
+
goToPaymentViewComponent() {
|
|
948
|
+
this.viewCompStatus = '';
|
|
949
|
+
this.viewStatus = 'paymentview';
|
|
840
950
|
}
|
|
841
951
|
issueRefund(paymentgrp) {
|
|
842
952
|
if (paymentgrp !== null && paymentgrp !== undefined) {
|
|
843
|
-
if (this.
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
953
|
+
if (this.chkIsIssueRefundBtnEnable(paymentgrp.payments[0])) {
|
|
954
|
+
if (paymentgrp.payments[0].over_payment > 0) {
|
|
955
|
+
this.viewCompStatus = 'overpayment';
|
|
956
|
+
}
|
|
957
|
+
else {
|
|
958
|
+
this.paymentGroup = paymentgrp;
|
|
959
|
+
this.viewStatus = 'issuerefund';
|
|
960
|
+
this.isRefundRemission = true;
|
|
961
|
+
this.paymentLibComponent.isFromPaymentDetailPage = true;
|
|
962
|
+
this.isFromPaymentDetailPage = true;
|
|
963
|
+
this.isFromServiceRequestPage = false;
|
|
964
|
+
}
|
|
850
965
|
}
|
|
851
966
|
}
|
|
852
967
|
}
|
|
@@ -860,44 +975,60 @@ class PaymentViewComponent {
|
|
|
860
975
|
}
|
|
861
976
|
return null;
|
|
862
977
|
}
|
|
863
|
-
|
|
864
|
-
if (
|
|
865
|
-
payment.
|
|
866
|
-
this.isIssueRefunfBtnEnable = true;
|
|
867
|
-
}
|
|
868
|
-
if (this.isIssueRefunfBtnEnable) {
|
|
869
|
-
return true;
|
|
978
|
+
chkIsIssueRefundBtnEnable(payment) {
|
|
979
|
+
if (payment !== null && payment !== undefined) {
|
|
980
|
+
return payment.issue_refund && payment.refund_enable;
|
|
870
981
|
}
|
|
871
982
|
else {
|
|
872
983
|
return false;
|
|
873
984
|
}
|
|
874
|
-
;
|
|
875
985
|
}
|
|
876
|
-
|
|
877
|
-
if (
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
}
|
|
986
|
+
chkIsAddRefundBtnEnable(remission) {
|
|
987
|
+
if (remission !== null && remission !== undefined) {
|
|
988
|
+
return remission.add_refund;
|
|
989
|
+
}
|
|
990
|
+
else {
|
|
882
991
|
return false;
|
|
883
992
|
}
|
|
884
993
|
}
|
|
885
|
-
|
|
886
|
-
if (
|
|
887
|
-
|
|
888
|
-
for (const remission of this.paymentGroup.remissions) {
|
|
889
|
-
if (remission.fee_code === feeCode) {
|
|
890
|
-
return false;
|
|
891
|
-
}
|
|
892
|
-
}
|
|
893
|
-
return true;
|
|
894
|
-
}
|
|
895
|
-
return true;
|
|
994
|
+
chkIsAddRemissionBtnEnable(fee) {
|
|
995
|
+
if (fee !== null && fee !== undefined) {
|
|
996
|
+
return fee.add_remission && fee.remission_enable;
|
|
896
997
|
}
|
|
897
998
|
else {
|
|
898
999
|
return false;
|
|
899
1000
|
}
|
|
900
1001
|
}
|
|
1002
|
+
selectPymentOption(paymentType) {
|
|
1003
|
+
this.paymentType = paymentType;
|
|
1004
|
+
this.isContinueBtnDisabled = false;
|
|
1005
|
+
}
|
|
1006
|
+
continuePayment(paymentgrp) {
|
|
1007
|
+
if (this.paymentType === 'op') {
|
|
1008
|
+
this.isFullyRefund = false;
|
|
1009
|
+
this.viewCompStatus = 'overPaymentAddressCapture';
|
|
1010
|
+
}
|
|
1011
|
+
else if (this.paymentType === 'fp') {
|
|
1012
|
+
this.isFullyRefund = true;
|
|
1013
|
+
this.paymentGroup = paymentgrp;
|
|
1014
|
+
this.viewStatus = 'issuerefund';
|
|
1015
|
+
this.viewCompStatus = "";
|
|
1016
|
+
this.isRefundRemission = true;
|
|
1017
|
+
this.paymentLibComponent.isFromPaymentDetailPage = true;
|
|
1018
|
+
this.isFromPaymentDetailPage = true;
|
|
1019
|
+
this.isFromServiceRequestPage = this.paymentLibComponent.isFromServiceRequestPage;
|
|
1020
|
+
}
|
|
1021
|
+
}
|
|
1022
|
+
gotoPaymentSelectPage(event) {
|
|
1023
|
+
event.preventDefault();
|
|
1024
|
+
this.viewCompStatus = 'overpayment';
|
|
1025
|
+
}
|
|
1026
|
+
getContactDetails(obj) {
|
|
1027
|
+
this.contactDetailsObj = obj;
|
|
1028
|
+
this.notificationPreview = false;
|
|
1029
|
+
this.getTemplateInstructionType(this.paymentGroup.payments[0]);
|
|
1030
|
+
this.viewCompStatus = 'overpaymentcheckandanswer';
|
|
1031
|
+
}
|
|
901
1032
|
resetOrderData() {
|
|
902
1033
|
this.OrderslistService.setOrderRef(null);
|
|
903
1034
|
this.OrderslistService.setorderCCDEvent(null);
|
|
@@ -916,16 +1047,31 @@ class PaymentViewComponent {
|
|
|
916
1047
|
event.preventDefault();
|
|
917
1048
|
this.viewStatus = 'paymentview';
|
|
918
1049
|
}
|
|
1050
|
+
getTemplateInstructionType(payment) {
|
|
1051
|
+
if (payment == undefined || payment == null) {
|
|
1052
|
+
this.templateInstructionType = 'Template';
|
|
1053
|
+
}
|
|
1054
|
+
else {
|
|
1055
|
+
this.templateInstructionType = this.notificationService.getNotificationInstructionType(payment.channel, payment.method);
|
|
1056
|
+
}
|
|
1057
|
+
}
|
|
1058
|
+
showNotificationPreview() {
|
|
1059
|
+
this.notificationPreview = true;
|
|
1060
|
+
}
|
|
1061
|
+
hideNotificationPreview() {
|
|
1062
|
+
this.notificationPreview = false;
|
|
1063
|
+
}
|
|
919
1064
|
}
|
|
920
1065
|
PaymentViewComponent.decorators = [
|
|
921
1066
|
{ type: Component, args: [{
|
|
922
1067
|
selector: 'ccpay-payment-view',
|
|
923
|
-
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",
|
|
924
|
-
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-
|
|
1068
|
+
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()}} {{contactDetailsObj?.city?.trim()}} {{contactDetailsObj?.county?.trim()}} {{contactDetailsObj?.country?.trim()}} {{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",
|
|
1069
|
+
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}"]
|
|
925
1070
|
},] }
|
|
926
1071
|
];
|
|
927
1072
|
PaymentViewComponent.ctorParameters = () => [
|
|
928
1073
|
{ type: PaymentViewService },
|
|
1074
|
+
{ type: NotificationService },
|
|
929
1075
|
{ type: PaymentLibComponent },
|
|
930
1076
|
{ type: ChangeDetectorRef },
|
|
931
1077
|
{ type: OrderslistService }
|
|
@@ -1007,6 +1153,9 @@ class RefundsService {
|
|
|
1007
1153
|
postIssueRefund(body) {
|
|
1008
1154
|
return this.https.post(`${this.paymentLibService.REFUNDS_API_ROOT}/refund`, body).pipe(catchError(this.errorHandlerService.handleError));
|
|
1009
1155
|
}
|
|
1156
|
+
putResendOrEdit(body, refundRef, notificationType) {
|
|
1157
|
+
return this.https.put(`${this.paymentLibService.REFUNDS_API_ROOT}/resend/notification/${refundRef}?notificationType=${notificationType}`, body).pipe(catchError(this.errorHandlerService.handleError));
|
|
1158
|
+
}
|
|
1010
1159
|
patchResubmitRefund(body, refund_reference) {
|
|
1011
1160
|
// const opts = this.addHeaders({});
|
|
1012
1161
|
return this.https.patch(`${this.paymentLibService.REFUNDS_API_ROOT}/resubmit/${refund_reference}`, body).pipe(catchError(this.errorHandlerService.handleError));
|
|
@@ -1051,10 +1200,12 @@ RefundsService.ctorParameters = () => [
|
|
|
1051
1200
|
];
|
|
1052
1201
|
|
|
1053
1202
|
class ProcessRefundComponent {
|
|
1054
|
-
constructor(RefundsService, formBuilder, OrderslistService, paymentLibComponent, router, activeRoute) {
|
|
1203
|
+
constructor(RefundsService, paymentViewService, formBuilder, OrderslistService, notificationService, paymentLibComponent, router, activeRoute) {
|
|
1055
1204
|
this.RefundsService = RefundsService;
|
|
1205
|
+
this.paymentViewService = paymentViewService;
|
|
1056
1206
|
this.formBuilder = formBuilder;
|
|
1057
1207
|
this.OrderslistService = OrderslistService;
|
|
1208
|
+
this.notificationService = notificationService;
|
|
1058
1209
|
this.paymentLibComponent = paymentLibComponent;
|
|
1059
1210
|
this.router = router;
|
|
1060
1211
|
this.activeRoute = activeRoute;
|
|
@@ -1075,7 +1226,9 @@ class ProcessRefundComponent {
|
|
|
1075
1226
|
this.isReasonEmpty = false;
|
|
1076
1227
|
this.isReasonInvalid = false;
|
|
1077
1228
|
this.successMsg = null;
|
|
1229
|
+
this.cpoDetails = null;
|
|
1078
1230
|
this.isConfirmButtondisabled = true;
|
|
1231
|
+
this.notificationPreview = false;
|
|
1079
1232
|
}
|
|
1080
1233
|
ngOnInit() {
|
|
1081
1234
|
this.viewStatus = 'RefundProcess';
|
|
@@ -1107,6 +1260,13 @@ class ProcessRefundComponent {
|
|
|
1107
1260
|
if ((typeof this.paymentLibComponent.TAKEPAYMENT === 'string' && this.paymentLibComponent.TAKEPAYMENT === 'false') || (typeof this.paymentLibComponent.TAKEPAYMENT === 'boolean' && !this.paymentLibComponent.TAKEPAYMENT)) {
|
|
1108
1261
|
this.isFromRefundListPage = true;
|
|
1109
1262
|
}
|
|
1263
|
+
this.paymentViewService.getPartyDetails(this.ccdCaseNumber).subscribe(response => {
|
|
1264
|
+
this.cpoDetails = JSON.parse(response).content[0];
|
|
1265
|
+
}, (error) => {
|
|
1266
|
+
this.errorMessage = error.replace(/"/g, "");
|
|
1267
|
+
this.isCPODown = true;
|
|
1268
|
+
});
|
|
1269
|
+
this.getTemplateInstructionType(this.paymentObj, this.refundlistsource.payment_reference);
|
|
1110
1270
|
}
|
|
1111
1271
|
checkRefundActions(code) {
|
|
1112
1272
|
this.refundActionsHasError = false;
|
|
@@ -1143,6 +1303,9 @@ class ProcessRefundComponent {
|
|
|
1143
1303
|
this.isOtherClicked = false;
|
|
1144
1304
|
}
|
|
1145
1305
|
}
|
|
1306
|
+
getNotificationPreviewObj(notificationPreviewObj) {
|
|
1307
|
+
this.notificationPreviewObj = notificationPreviewObj;
|
|
1308
|
+
}
|
|
1146
1309
|
processRefundSubmit() {
|
|
1147
1310
|
let processRefundRequest;
|
|
1148
1311
|
let status;
|
|
@@ -1156,24 +1319,102 @@ class ProcessRefundComponent {
|
|
|
1156
1319
|
|| (controls.refundActionField.value == 'Return to caseworker' && controls.sendMeBackField.valid))) {
|
|
1157
1320
|
if (controls.refundActionField.value === 'Approve') {
|
|
1158
1321
|
status = 'APPROVE';
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
|
|
1162
|
-
|
|
1322
|
+
if (this.notificationPreviewObj) {
|
|
1323
|
+
processRefundRequest = {
|
|
1324
|
+
code: '',
|
|
1325
|
+
reason: '',
|
|
1326
|
+
template_preview: {
|
|
1327
|
+
body: this.notificationPreviewObj.body,
|
|
1328
|
+
from: {
|
|
1329
|
+
from_email_address: this.notificationPreviewObj.from.from_email_address,
|
|
1330
|
+
from_mail_address: {
|
|
1331
|
+
address_line: this.notificationPreviewObj.from.from_mail_address.address_line,
|
|
1332
|
+
city: this.notificationPreviewObj.from.from_mail_address.city,
|
|
1333
|
+
country: this.notificationPreviewObj.from.from_mail_address.country,
|
|
1334
|
+
county: this.notificationPreviewObj.from.from_mail_address.county,
|
|
1335
|
+
postal_code: this.notificationPreviewObj.from.from_mail_address.postal_code
|
|
1336
|
+
}
|
|
1337
|
+
},
|
|
1338
|
+
html: this.notificationPreviewObj.html,
|
|
1339
|
+
id: this.notificationPreviewObj.template_id,
|
|
1340
|
+
subject: this.notificationPreviewObj.subject,
|
|
1341
|
+
template_type: this.notificationPreviewObj.template_type,
|
|
1342
|
+
version: 0
|
|
1343
|
+
}
|
|
1344
|
+
};
|
|
1345
|
+
}
|
|
1346
|
+
else {
|
|
1347
|
+
processRefundRequest = {
|
|
1348
|
+
code: '',
|
|
1349
|
+
reason: ''
|
|
1350
|
+
};
|
|
1351
|
+
}
|
|
1163
1352
|
}
|
|
1164
1353
|
else if (controls.refundActionField.value === 'Reject') {
|
|
1165
1354
|
status = 'REJECT';
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1355
|
+
if (this.notificationPreviewObj) {
|
|
1356
|
+
processRefundRequest = {
|
|
1357
|
+
code: controls.refundRejectReasonField.value ? controls.refundRejectReasonField.value : '',
|
|
1358
|
+
reason: controls.refundRejectReasonField.value == 'RE005' ? controls.enterReasonField.value : '',
|
|
1359
|
+
template_preview: {
|
|
1360
|
+
body: this.notificationPreviewObj.body,
|
|
1361
|
+
from: {
|
|
1362
|
+
from_email_address: this.notificationPreviewObj.from.from_email_address,
|
|
1363
|
+
from_mail_address: {
|
|
1364
|
+
address_line: this.notificationPreviewObj.from.from_mail_address.address_line,
|
|
1365
|
+
city: this.notificationPreviewObj.from.from_mail_address.city,
|
|
1366
|
+
country: this.notificationPreviewObj.from.from_mail_address.country,
|
|
1367
|
+
county: this.notificationPreviewObj.from.from_mail_address.county,
|
|
1368
|
+
postal_code: this.notificationPreviewObj.from.from_mail_address.postal_code
|
|
1369
|
+
}
|
|
1370
|
+
},
|
|
1371
|
+
html: this.notificationPreviewObj.html,
|
|
1372
|
+
id: this.notificationPreviewObj.template_id,
|
|
1373
|
+
subject: this.notificationPreviewObj.subject,
|
|
1374
|
+
template_type: this.notificationPreviewObj.template_type,
|
|
1375
|
+
version: 0
|
|
1376
|
+
}
|
|
1377
|
+
};
|
|
1378
|
+
}
|
|
1379
|
+
else {
|
|
1380
|
+
processRefundRequest = {
|
|
1381
|
+
code: controls.refundRejectReasonField.value ? controls.refundRejectReasonField.value : '',
|
|
1382
|
+
reason: controls.refundRejectReasonField.value == 'RE005' ? controls.enterReasonField.value : ''
|
|
1383
|
+
};
|
|
1384
|
+
}
|
|
1170
1385
|
}
|
|
1171
1386
|
else if (controls.refundActionField.value === 'Return to caseworker') {
|
|
1172
1387
|
status = 'SENDBACK';
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
|
|
1388
|
+
if (this.notificationPreviewObj) {
|
|
1389
|
+
processRefundRequest = {
|
|
1390
|
+
code: '',
|
|
1391
|
+
reason: controls.sendMeBackField.value,
|
|
1392
|
+
template_preview: {
|
|
1393
|
+
body: this.notificationPreviewObj.body,
|
|
1394
|
+
from: {
|
|
1395
|
+
from_email_address: this.notificationPreviewObj.from.from_email_address,
|
|
1396
|
+
from_mail_address: {
|
|
1397
|
+
address_line: this.notificationPreviewObj.from.from_mail_address.address_line,
|
|
1398
|
+
city: this.notificationPreviewObj.from.from_mail_address.city,
|
|
1399
|
+
country: this.notificationPreviewObj.from.from_mail_address.country,
|
|
1400
|
+
county: this.notificationPreviewObj.from.from_mail_address.county,
|
|
1401
|
+
postal_code: this.notificationPreviewObj.from.from_mail_address.postal_code
|
|
1402
|
+
}
|
|
1403
|
+
},
|
|
1404
|
+
html: this.notificationPreviewObj.html,
|
|
1405
|
+
id: this.notificationPreviewObj.template_id,
|
|
1406
|
+
subject: this.notificationPreviewObj.subject,
|
|
1407
|
+
template_type: this.notificationPreviewObj.template_type,
|
|
1408
|
+
version: 0
|
|
1409
|
+
}
|
|
1410
|
+
};
|
|
1411
|
+
}
|
|
1412
|
+
else {
|
|
1413
|
+
processRefundRequest = {
|
|
1414
|
+
code: '',
|
|
1415
|
+
reason: controls.sendMeBackField.value
|
|
1416
|
+
};
|
|
1417
|
+
}
|
|
1177
1418
|
}
|
|
1178
1419
|
this.RefundsService.patchRefundActions(processRefundRequest, this.refundReference, status).subscribe(response => {
|
|
1179
1420
|
this.isSuccesspageEnable = true;
|
|
@@ -1271,30 +1512,13 @@ class ProcessRefundComponent {
|
|
|
1271
1512
|
this.loadRefundListPage();
|
|
1272
1513
|
}
|
|
1273
1514
|
}
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
// this.paymentLibComponent.ISBSENABLE = result[0] ? result[0].enable : false;
|
|
1282
|
-
// },
|
|
1283
|
-
// err => {
|
|
1284
|
-
// this.paymentLibComponent.ISBSENABLE = false;
|
|
1285
|
-
// }
|
|
1286
|
-
// );
|
|
1287
|
-
// let partUrl = `selectedOption=${this.paymentLibComponent.SELECTED_OPTION}`;
|
|
1288
|
-
// partUrl += this.bsPaymentDcnNumber ? `&dcn=${this.bsPaymentDcnNumber}` : '';
|
|
1289
|
-
// partUrl += this.paymentLibComponent.ISBSENABLE ? '&isBulkScanning=Enable' : '&isBulkScanning=Disable';
|
|
1290
|
-
// partUrl += this.paymentLibComponent.ISTURNOFF ? '&isTurnOff=Enable' : '&isTurnOff=Disable';
|
|
1291
|
-
// partUrl += this.paymentLibComponent.ISSFENABLE ? '&isStFixEnable=Enable' : '&isStFixEnable=Disable';
|
|
1292
|
-
// partUrl += `&caseType=${this.paymentLibComponent.CASETYPE}`;
|
|
1293
|
-
// partUrl += this.isNewPcipalOff ? '&isNewPcipalOff=Enable' : '&isNewPcipalOff=Disable';
|
|
1294
|
-
// partUrl += this.isOldPcipalOff ? '&isOldPcipalOff=Enable' : '&isOldPcipalOff=Disable';
|
|
1295
|
-
// let url = `/payment-history/${this.ccdCaseNumber}?view=case-transactions&takePayment=true&${partUrl}`;
|
|
1296
|
-
// this.router.navigateByUrl(url);
|
|
1297
|
-
// }
|
|
1515
|
+
loadCaseTransactionPage() {
|
|
1516
|
+
this.OrderslistService.setnavigationPage('casetransactions');
|
|
1517
|
+
this.OrderslistService.setisFromServiceRequestPage(false);
|
|
1518
|
+
this.paymentLibComponent.viewName = 'case-transactions';
|
|
1519
|
+
this.paymentLibComponent.ISBSENABLE = true;
|
|
1520
|
+
this.paymentLibComponent.isRefundStatusView = false;
|
|
1521
|
+
}
|
|
1298
1522
|
resetForm(vals, field) {
|
|
1299
1523
|
if (field === 'action' || field === 'all') {
|
|
1300
1524
|
this.refundActionsHasError = vals[0];
|
|
@@ -1314,20 +1538,48 @@ class ProcessRefundComponent {
|
|
|
1314
1538
|
}
|
|
1315
1539
|
}
|
|
1316
1540
|
goToCaseReview() {
|
|
1317
|
-
|
|
1541
|
+
const isPayBubble = this.paymentLibComponent.isFromPayBubble;
|
|
1542
|
+
if (isPayBubble) {
|
|
1543
|
+
this.loadCaseTransactionPage();
|
|
1544
|
+
}
|
|
1545
|
+
else {
|
|
1546
|
+
this.router.navigate([`/cases/case-details/${this.ccdCaseNumber}`], { relativeTo: this.activeRoute });
|
|
1547
|
+
}
|
|
1548
|
+
}
|
|
1549
|
+
getTemplateInstructionType(payment, paymentReference) {
|
|
1550
|
+
if (payment == undefined || payment == null || payment.reference != paymentReference) {
|
|
1551
|
+
this.paymentViewService.getPaymentDetails(paymentReference).subscribe(payment => {
|
|
1552
|
+
this.paymentObj = payment;
|
|
1553
|
+
this.paymentObj.reference = paymentReference;
|
|
1554
|
+
this.templateInstructionType = this.notificationService.getNotificationInstructionType(this.paymentObj.channel, this.paymentObj.method);
|
|
1555
|
+
}, (error) => {
|
|
1556
|
+
this.templateInstructionType = 'Template';
|
|
1557
|
+
});
|
|
1558
|
+
}
|
|
1559
|
+
else {
|
|
1560
|
+
this.templateInstructionType = this.notificationService.getNotificationInstructionType(payment.channel, payment.method);
|
|
1561
|
+
}
|
|
1562
|
+
}
|
|
1563
|
+
showNotificationPreview() {
|
|
1564
|
+
this.notificationPreview = true;
|
|
1565
|
+
}
|
|
1566
|
+
hideNotificationPreview() {
|
|
1567
|
+
this.notificationPreview = false;
|
|
1318
1568
|
}
|
|
1319
1569
|
}
|
|
1320
1570
|
ProcessRefundComponent.decorators = [
|
|
1321
1571
|
{ type: Component, args: [{
|
|
1322
1572
|
selector: 'ccpay-process-refund',
|
|
1323
|
-
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",
|
|
1324
|
-
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{
|
|
1573
|
+
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",
|
|
1574
|
+
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%}"]
|
|
1325
1575
|
},] }
|
|
1326
1576
|
];
|
|
1327
1577
|
ProcessRefundComponent.ctorParameters = () => [
|
|
1328
1578
|
{ type: RefundsService },
|
|
1579
|
+
{ type: PaymentViewService },
|
|
1329
1580
|
{ type: FormBuilder },
|
|
1330
1581
|
{ type: OrderslistService },
|
|
1582
|
+
{ type: NotificationService },
|
|
1331
1583
|
{ type: PaymentLibComponent },
|
|
1332
1584
|
{ type: Router },
|
|
1333
1585
|
{ type: ActivatedRoute }
|
|
@@ -1342,10 +1594,10 @@ class RefundListComponent {
|
|
|
1342
1594
|
this.refundService = refundService;
|
|
1343
1595
|
this.submittedRefundList = [];
|
|
1344
1596
|
this.rejectedRefundList = [];
|
|
1597
|
+
// approvalStatus = 'Sent for approval';
|
|
1598
|
+
// rejectStatus = 'Update required';
|
|
1345
1599
|
this.approvalStatus = 'Sent for approval';
|
|
1346
1600
|
this.rejectStatus = 'Update required';
|
|
1347
|
-
// approvalStatus = 'sent for approval';
|
|
1348
|
-
// rejectStatus = 'sent back';
|
|
1349
1601
|
this.errorMessage = null;
|
|
1350
1602
|
this.isAuthorized = true;
|
|
1351
1603
|
}
|
|
@@ -1512,41 +1764,352 @@ StatusHistoryComponent.propDecorators = {
|
|
|
1512
1764
|
isTakePayment: [{ type: Input }]
|
|
1513
1765
|
};
|
|
1514
1766
|
|
|
1515
|
-
class
|
|
1516
|
-
constructor() {
|
|
1517
|
-
|
|
1767
|
+
class ContactDetailsComponent {
|
|
1768
|
+
constructor(formBuilder, notificationService, paymentLibComponent) {
|
|
1769
|
+
this.formBuilder = formBuilder;
|
|
1770
|
+
this.notificationService = notificationService;
|
|
1771
|
+
this.paymentLibComponent = paymentLibComponent;
|
|
1772
|
+
this.assignContactDetails = new EventEmitter();
|
|
1773
|
+
this.assignContactDetailsInFefundsList = new EventEmitter();
|
|
1774
|
+
this.redirectToIssueRefund = new EventEmitter();
|
|
1775
|
+
this.pageTitle = 'Payment status history';
|
|
1776
|
+
this.isEmailSAddressClicked = true;
|
|
1777
|
+
this.isShowPickAddress = false;
|
|
1778
|
+
this.isPostcodeClicked = false;
|
|
1779
|
+
this.isManualAddressClicked = false;
|
|
1780
|
+
this.addressPostcodeList = [];
|
|
1781
|
+
this.isAddressBoxEmpty = false;
|
|
1782
|
+
this.isEmailEmpty = false;
|
|
1783
|
+
this.emailHasError = false;
|
|
1784
|
+
this.isPostcodeEmpty = false;
|
|
1785
|
+
this.postcodeHasError = false;
|
|
1786
|
+
this.isaddressLine1Empty = false;
|
|
1787
|
+
this.addressLine1HasError = false;
|
|
1788
|
+
this.addressLine2HasError = false;
|
|
1789
|
+
this.isTownOrCityEmpty = false;
|
|
1790
|
+
this.townOrCityHasError = false;
|
|
1791
|
+
this.isCountyEmpty = false;
|
|
1792
|
+
this.countyHasError = false;
|
|
1793
|
+
this.isMPostcodeEmpty = false;
|
|
1794
|
+
this.mpostcodeHasError = false;
|
|
1795
|
+
this.isCountryEmpty = false;
|
|
1518
1796
|
}
|
|
1519
|
-
|
|
1520
|
-
|
|
1521
|
-
|
|
1522
|
-
|
|
1523
|
-
|
|
1524
|
-
|
|
1525
|
-
|
|
1526
|
-
|
|
1527
|
-
|
|
1528
|
-
|
|
1529
|
-
|
|
1530
|
-
}
|
|
1531
|
-
|
|
1532
|
-
|
|
1533
|
-
|
|
1534
|
-
|
|
1535
|
-
|
|
1536
|
-
|
|
1537
|
-
|
|
1538
|
-
|
|
1539
|
-
|
|
1540
|
-
|
|
1541
|
-
|
|
1797
|
+
ngOnInit() {
|
|
1798
|
+
this.resetForm([false, false, false, false, false, false, false, false, false, false, false, false, false, false], 'all');
|
|
1799
|
+
this.emailAddressForm = this.formBuilder.group({
|
|
1800
|
+
email: new FormControl('', Validators.compose([
|
|
1801
|
+
Validators.required,
|
|
1802
|
+
Validators.pattern('.+@+.+\\.+.+')
|
|
1803
|
+
]))
|
|
1804
|
+
});
|
|
1805
|
+
this.postCodeForm = this.formBuilder.group({
|
|
1806
|
+
postcode: new FormControl('', Validators.compose([
|
|
1807
|
+
Validators.required,
|
|
1808
|
+
Validators.pattern('^([A-Za-z]{1,2}[0-9]{1,2}[A-Za-z]{0,1} ?[0-9][A-Za-z]{2})')
|
|
1809
|
+
]))
|
|
1810
|
+
});
|
|
1811
|
+
this.manualAddressForm = this.formBuilder.group({
|
|
1812
|
+
addressl1: new FormControl('', Validators.compose([
|
|
1813
|
+
Validators.required,
|
|
1814
|
+
Validators.pattern('^[a-zA-Z0-9\\s,\'-]*$')
|
|
1815
|
+
])),
|
|
1816
|
+
addressl2: new FormControl('', Validators.compose([
|
|
1817
|
+
Validators.pattern('^[a-zA-Z0-9\\s,\'-]*$')
|
|
1818
|
+
])),
|
|
1819
|
+
townorcity: new FormControl('', Validators.compose([
|
|
1820
|
+
Validators.required,
|
|
1821
|
+
Validators.pattern('^[a-zA-Z0-9\\s,\'-]*$')
|
|
1822
|
+
])),
|
|
1823
|
+
county: new FormControl('', Validators.compose([
|
|
1824
|
+
Validators.pattern('^[a-zA-Z0-9\\s,\'-]*$')
|
|
1825
|
+
])),
|
|
1826
|
+
mpostcode: new FormControl('', Validators.compose([
|
|
1827
|
+
Validators.required,
|
|
1828
|
+
Validators.pattern('^([A-Za-z]{1,2}[0-9]{1,2}[A-Za-z]{0,1} ?[0-9][A-Za-z]{2})')
|
|
1829
|
+
])),
|
|
1830
|
+
country: new FormControl('', Validators.compose([
|
|
1831
|
+
Validators.required
|
|
1832
|
+
]))
|
|
1833
|
+
});
|
|
1834
|
+
if (this.addressObj !== undefined && this.addressObj !== '') {
|
|
1835
|
+
this.setEditDetails();
|
|
1836
|
+
}
|
|
1837
|
+
if (this.isEditOperationInRefundList === undefined) {
|
|
1838
|
+
this.isEditOperationInRefundList = false;
|
|
1839
|
+
}
|
|
1840
|
+
}
|
|
1841
|
+
setEditDetails() {
|
|
1842
|
+
if (this.addressObj.notification_type === 'EMAIL') {
|
|
1843
|
+
this.isEmailSAddressClicked = true;
|
|
1844
|
+
this.isPostcodeClicked = false;
|
|
1845
|
+
this.isManualAddressClicked = false;
|
|
1846
|
+
this.emailAddressForm.setValue({ email: this.addressObj.contact_details.email });
|
|
1847
|
+
}
|
|
1848
|
+
else if (this.addressObj.notification_type === 'LETTER') {
|
|
1849
|
+
this.isEmailSAddressClicked = false;
|
|
1850
|
+
this.isPostcodeClicked = true;
|
|
1851
|
+
this.isManualAddressClicked = true;
|
|
1852
|
+
this.manualAddressForm.patchValue({
|
|
1853
|
+
addressl1: this.addressObj.contact_details.address_line,
|
|
1854
|
+
townorcity: this.addressObj.contact_details.city,
|
|
1855
|
+
county: this.addressObj.contact_details.county,
|
|
1856
|
+
country: this.addressObj.contact_details.country,
|
|
1857
|
+
mpostcode: this.addressObj.contact_details.postal_code
|
|
1858
|
+
});
|
|
1542
1859
|
}
|
|
1543
1860
|
}
|
|
1544
|
-
|
|
1545
|
-
|
|
1546
|
-
|
|
1547
|
-
|
|
1548
|
-
|
|
1549
|
-
|
|
1861
|
+
selectContactOption(type, isLinkedClied) {
|
|
1862
|
+
this.resetForm([false, false, false, false, false, false, false, false, false, false, false, false, false, false, false], 'all');
|
|
1863
|
+
if (type === 'Email' && isLinkedClied === 'false') {
|
|
1864
|
+
this.isEmailSAddressClicked = true;
|
|
1865
|
+
this.isPostcodeClicked = false;
|
|
1866
|
+
this.isManualAddressClicked = false;
|
|
1867
|
+
}
|
|
1868
|
+
else if (type === 'Postcode' && isLinkedClied === 'false') {
|
|
1869
|
+
this.isEmailSAddressClicked = false;
|
|
1870
|
+
this.isPostcodeClicked = true;
|
|
1871
|
+
this.isManualAddressClicked = false;
|
|
1872
|
+
}
|
|
1873
|
+
else if (type === 'Postcode' && isLinkedClied === 'true') {
|
|
1874
|
+
this.isEmailSAddressClicked = false;
|
|
1875
|
+
this.isPostcodeClicked = true;
|
|
1876
|
+
this.isManualAddressClicked = true;
|
|
1877
|
+
}
|
|
1878
|
+
}
|
|
1879
|
+
finalFormSubmit() {
|
|
1880
|
+
this.resetForm([false, false, false, false, false, false, false, false, false, false, false, false, false, false, false], 'all');
|
|
1881
|
+
if (this.isEmailSAddressClicked) {
|
|
1882
|
+
const emailField = this.emailAddressForm.controls.email;
|
|
1883
|
+
if (this.emailAddressForm.valid) {
|
|
1884
|
+
if (!this.isEditOperationInRefundList) {
|
|
1885
|
+
this.assignContactDetails.emit({
|
|
1886
|
+
email: emailField.value,
|
|
1887
|
+
notification_type: 'EMAIL'
|
|
1888
|
+
});
|
|
1889
|
+
}
|
|
1890
|
+
else {
|
|
1891
|
+
this.assignContactDetailsInFefundsList.emit({
|
|
1892
|
+
email: emailField.value,
|
|
1893
|
+
notification_type: 'EMAIL'
|
|
1894
|
+
});
|
|
1895
|
+
}
|
|
1896
|
+
}
|
|
1897
|
+
else {
|
|
1898
|
+
if (emailField.value == '') {
|
|
1899
|
+
this.resetForm([true, false, false, false, false, false, false, false, false, false, false, false, false, false], 'email');
|
|
1900
|
+
}
|
|
1901
|
+
if (emailField.value != '' && emailField.invalid) {
|
|
1902
|
+
this.resetForm([false, true, false, false, false, false, false, false, false, false, false, false, false, false], 'email');
|
|
1903
|
+
}
|
|
1904
|
+
}
|
|
1905
|
+
}
|
|
1906
|
+
else if (this.isPostcodeClicked && !this.isManualAddressClicked) {
|
|
1907
|
+
this.postcodeValidation('FS');
|
|
1908
|
+
}
|
|
1909
|
+
else if (this.isPostcodeClicked && this.isManualAddressClicked) {
|
|
1910
|
+
const fieldCtrls = this.manualAddressForm.controls;
|
|
1911
|
+
if (this.manualAddressForm.valid) {
|
|
1912
|
+
if (!this.isEditOperationInRefundList) {
|
|
1913
|
+
this.assignContactDetails.emit({
|
|
1914
|
+
address_line: fieldCtrls.addressl1.value + ' ' + fieldCtrls.addressl2.value,
|
|
1915
|
+
city: fieldCtrls.townorcity.value,
|
|
1916
|
+
county: fieldCtrls.county.value,
|
|
1917
|
+
postal_code: fieldCtrls.mpostcode.value,
|
|
1918
|
+
country: fieldCtrls.country.value,
|
|
1919
|
+
notification_type: 'LETTER'
|
|
1920
|
+
});
|
|
1921
|
+
}
|
|
1922
|
+
else {
|
|
1923
|
+
this.assignContactDetailsInFefundsList.emit({
|
|
1924
|
+
address_line: fieldCtrls.addressl1.value + ' ' + fieldCtrls.addressl2.value,
|
|
1925
|
+
city: fieldCtrls.townorcity.value,
|
|
1926
|
+
county: fieldCtrls.county.value,
|
|
1927
|
+
postal_code: fieldCtrls.mpostcode.value,
|
|
1928
|
+
country: fieldCtrls.country.value,
|
|
1929
|
+
notification_type: 'LETTER'
|
|
1930
|
+
});
|
|
1931
|
+
}
|
|
1932
|
+
}
|
|
1933
|
+
else {
|
|
1934
|
+
if (fieldCtrls.addressl1.value == '') {
|
|
1935
|
+
this.resetForm([false, false, false, false, true, false, false, false, false, false, false, false, false, false], 'address1');
|
|
1936
|
+
}
|
|
1937
|
+
if (fieldCtrls.addressl1.value != '' && fieldCtrls.addressl1.invalid) {
|
|
1938
|
+
this.resetForm([false, false, false, false, false, true, false, false, false, false, false, false, false, false], 'address1');
|
|
1939
|
+
}
|
|
1940
|
+
if (fieldCtrls.addressl2.value != '' && fieldCtrls.addressl2.invalid) {
|
|
1941
|
+
this.resetForm([false, false, false, false, false, false, true, false, false, false, false, false, false, false], 'address2');
|
|
1942
|
+
}
|
|
1943
|
+
if (fieldCtrls.townorcity.value == '') {
|
|
1944
|
+
this.resetForm([false, false, false, false, false, false, false, true, false, false, false, false, false, false], 'town');
|
|
1945
|
+
}
|
|
1946
|
+
if (fieldCtrls.townorcity.value != '' && fieldCtrls.townorcity.invalid) {
|
|
1947
|
+
this.resetForm([false, false, false, false, false, false, false, false, true, false, false, false, false, false], 'town');
|
|
1948
|
+
}
|
|
1949
|
+
if (fieldCtrls.county.value == '') {
|
|
1950
|
+
this.resetForm([false, false, false, false, false, false, false, false, false, true, false, false, false, false], 'county');
|
|
1951
|
+
}
|
|
1952
|
+
if (fieldCtrls.county.value != '' && fieldCtrls.county.invalid) {
|
|
1953
|
+
this.resetForm([false, false, false, false, false, false, false, false, false, false, true, false, false, false], 'county');
|
|
1954
|
+
}
|
|
1955
|
+
if (fieldCtrls.mpostcode.value == '') {
|
|
1956
|
+
this.resetForm([false, false, false, false, false, false, false, false, false, false, false, true, false, false], 'mpostcode');
|
|
1957
|
+
}
|
|
1958
|
+
if (fieldCtrls.mpostcode.value != '' && fieldCtrls.mpostcode.invalid) {
|
|
1959
|
+
this.resetForm([false, false, false, false, false, false, false, false, false, false, false, false, true, false], 'mpostcode');
|
|
1960
|
+
}
|
|
1961
|
+
if (fieldCtrls.country.value == '') {
|
|
1962
|
+
this.resetForm([false, false, false, false, false, false, false, false, false, false, false, false, false, true], 'country');
|
|
1963
|
+
}
|
|
1964
|
+
}
|
|
1965
|
+
}
|
|
1966
|
+
}
|
|
1967
|
+
postcodeValidation(str) {
|
|
1968
|
+
this.resetForm([false, false, false, false, false, false, false, false, false, false, false, false, false, false, false], 'all');
|
|
1969
|
+
const postcodeField = this.postCodeForm.controls.postcode;
|
|
1970
|
+
if (this.postCodeForm.valid) {
|
|
1971
|
+
if (str === 'FA') {
|
|
1972
|
+
this.notificationService.getAddressByPostcode(postcodeField.value).subscribe(refundsNotification => {
|
|
1973
|
+
this.addressPostcodeList = refundsNotification['results'];
|
|
1974
|
+
this.isShowPickAddress = refundsNotification['header'].totalresults > 0;
|
|
1975
|
+
if (!this.isShowPickAddress) {
|
|
1976
|
+
this.resetForm([false, false, false, true, false, false, false, false, false, false, false, false, false], 'postcode');
|
|
1977
|
+
}
|
|
1978
|
+
}),
|
|
1979
|
+
(error) => {
|
|
1980
|
+
this.isShowPickAddress = false;
|
|
1981
|
+
this.errorMessage = error.replace(/"/g, "");
|
|
1982
|
+
};
|
|
1983
|
+
}
|
|
1984
|
+
else if (str === 'FS') {
|
|
1985
|
+
if (this.postcodeAddress !== undefined && this.postcodeAddress) {
|
|
1986
|
+
this.isAddressBoxEmpty = false;
|
|
1987
|
+
let addressLine = "";
|
|
1988
|
+
let addressArray = this.postcodeAddress.ADDRESS.split(",");
|
|
1989
|
+
for (let i = 0; i < addressArray.length - 2; i++) {
|
|
1990
|
+
addressLine += addressArray[i];
|
|
1991
|
+
}
|
|
1992
|
+
const addressObject = {
|
|
1993
|
+
address_line: addressLine,
|
|
1994
|
+
city: this.postcodeAddress.POST_TOWN,
|
|
1995
|
+
county: this.postcodeAddress.LOCAL_CUSTODIAN_CODE_DESCRIPTION,
|
|
1996
|
+
postal_code: this.postcodeAddress.POSTCODE,
|
|
1997
|
+
country: 'United Kingdom',
|
|
1998
|
+
notification_type: 'LETTER'
|
|
1999
|
+
};
|
|
2000
|
+
if (!this.isEditOperationInRefundList) {
|
|
2001
|
+
this.assignContactDetails.emit(addressObject);
|
|
2002
|
+
}
|
|
2003
|
+
else {
|
|
2004
|
+
this.assignContactDetailsInFefundsList.emit(addressObject);
|
|
2005
|
+
}
|
|
2006
|
+
}
|
|
2007
|
+
else {
|
|
2008
|
+
this.isAddressBoxEmpty = true;
|
|
2009
|
+
}
|
|
2010
|
+
}
|
|
2011
|
+
}
|
|
2012
|
+
else {
|
|
2013
|
+
if (postcodeField.value == '') {
|
|
2014
|
+
this.resetForm([false, false, true, false, false, false, false, false, false, false, false, false, false], 'postcode');
|
|
2015
|
+
}
|
|
2016
|
+
if (postcodeField.value != '' && postcodeField.invalid) {
|
|
2017
|
+
this.resetForm([false, false, false, true, false, false, false, false, false, false, false, false, false], 'postcode');
|
|
2018
|
+
}
|
|
2019
|
+
}
|
|
2020
|
+
}
|
|
2021
|
+
redirection(event) {
|
|
2022
|
+
this.redirectToIssueRefund.emit(event);
|
|
2023
|
+
}
|
|
2024
|
+
resetForm(val, field) {
|
|
2025
|
+
if (field === 'email' || field === 'all') {
|
|
2026
|
+
this.isEmailEmpty = val[0];
|
|
2027
|
+
this.emailHasError = val[1];
|
|
2028
|
+
}
|
|
2029
|
+
if (field === 'postcode' || field === 'all') {
|
|
2030
|
+
this.isPostcodeEmpty = val[2];
|
|
2031
|
+
this.postcodeHasError = val[3];
|
|
2032
|
+
}
|
|
2033
|
+
if (field === 'address1' || field === 'all') {
|
|
2034
|
+
this.isaddressLine1Empty = val[4];
|
|
2035
|
+
this.addressLine1HasError = val[5];
|
|
2036
|
+
}
|
|
2037
|
+
if (field === 'address2' || field === 'all') {
|
|
2038
|
+
this.addressLine2HasError = val[6];
|
|
2039
|
+
}
|
|
2040
|
+
if (field === 'town' || field === 'all') {
|
|
2041
|
+
this.isTownOrCityEmpty = val[7];
|
|
2042
|
+
this.townOrCityHasError = val[8];
|
|
2043
|
+
}
|
|
2044
|
+
if (field === 'county' || field === 'all') {
|
|
2045
|
+
this.isCountyEmpty = val[9];
|
|
2046
|
+
this.countyHasError = val[10];
|
|
2047
|
+
}
|
|
2048
|
+
if (field === 'mpostcode' || field === 'all') {
|
|
2049
|
+
this.isMPostcodeEmpty = val[11];
|
|
2050
|
+
this.mpostcodeHasError = val[12];
|
|
2051
|
+
}
|
|
2052
|
+
if (field === 'country' || field === 'all') {
|
|
2053
|
+
this.isCountryEmpty = val[13];
|
|
2054
|
+
}
|
|
2055
|
+
}
|
|
2056
|
+
}
|
|
2057
|
+
ContactDetailsComponent.decorators = [
|
|
2058
|
+
{ type: Component, args: [{
|
|
2059
|
+
selector: 'ccpay-contact-details',
|
|
2060
|
+
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 \n<button type=\"submit\" class=\"button govuk-button govuk-font19px\" (click)=\"finalFormSubmit()\">\n Continue\n</button>\n</div>",
|
|
2061
|
+
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}"]
|
|
2062
|
+
},] }
|
|
2063
|
+
];
|
|
2064
|
+
ContactDetailsComponent.ctorParameters = () => [
|
|
2065
|
+
{ type: FormBuilder },
|
|
2066
|
+
{ type: NotificationService },
|
|
2067
|
+
{ type: PaymentLibComponent }
|
|
2068
|
+
];
|
|
2069
|
+
ContactDetailsComponent.propDecorators = {
|
|
2070
|
+
isEditOperation: [{ type: Input, args: ['isEditOperation',] }],
|
|
2071
|
+
isEditOperationInRefundList: [{ type: Input, args: ['isEditOperationInRefundList',] }],
|
|
2072
|
+
addressObj: [{ type: Input, args: ['addressObj',] }],
|
|
2073
|
+
assignContactDetails: [{ type: Output }],
|
|
2074
|
+
assignContactDetailsInFefundsList: [{ type: Output }],
|
|
2075
|
+
redirectToIssueRefund: [{ type: Output }]
|
|
2076
|
+
};
|
|
2077
|
+
|
|
2078
|
+
class PbaDetailsComponent {
|
|
2079
|
+
constructor() { }
|
|
2080
|
+
ngOnInit() {
|
|
2081
|
+
}
|
|
2082
|
+
}
|
|
2083
|
+
PbaDetailsComponent.decorators = [
|
|
2084
|
+
{ type: Component, args: [{
|
|
2085
|
+
selector: 'ccpay-pba-details',
|
|
2086
|
+
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",
|
|
2087
|
+
styles: [".capitalize:first-letter{text-transform:uppercase}.tb-col-w{width:330px}"]
|
|
2088
|
+
},] }
|
|
2089
|
+
];
|
|
2090
|
+
PbaDetailsComponent.ctorParameters = () => [];
|
|
2091
|
+
PbaDetailsComponent.propDecorators = {
|
|
2092
|
+
payment: [{ type: Input }]
|
|
2093
|
+
};
|
|
2094
|
+
|
|
2095
|
+
let isDebugMode = false;
|
|
2096
|
+
const noop = () => undefined;
|
|
2097
|
+
const ɵ0 = noop;
|
|
2098
|
+
class ConsoleLoggerService {
|
|
2099
|
+
get info() {
|
|
2100
|
+
if (isDebugMode) {
|
|
2101
|
+
return console.info.bind(console);
|
|
2102
|
+
}
|
|
2103
|
+
else {
|
|
2104
|
+
return noop;
|
|
2105
|
+
}
|
|
2106
|
+
}
|
|
2107
|
+
get warn() {
|
|
2108
|
+
if (isDebugMode) {
|
|
2109
|
+
return console.warn.bind(console);
|
|
2110
|
+
}
|
|
2111
|
+
else {
|
|
2112
|
+
return noop;
|
|
1550
2113
|
}
|
|
1551
2114
|
}
|
|
1552
2115
|
get error() {
|
|
@@ -1699,6 +2262,7 @@ class CaseTransactionsComponent {
|
|
|
1699
2262
|
this.viewStatus = 'main';
|
|
1700
2263
|
this.isRemoveBtnDisabled = false;
|
|
1701
2264
|
this.clAmountDue = 0;
|
|
2265
|
+
this.overPaymentAmount = 0;
|
|
1702
2266
|
this.isFeeRecordsExist = false;
|
|
1703
2267
|
this.isGrpOutstandingAmtPositive = false;
|
|
1704
2268
|
//Order changes
|
|
@@ -1761,6 +2325,7 @@ class CaseTransactionsComponent {
|
|
|
1761
2325
|
}
|
|
1762
2326
|
else {
|
|
1763
2327
|
this.serviceRequestValue = 'false';
|
|
2328
|
+
this.paymentLibComponent.isFromServiceRequestPage = false;
|
|
1764
2329
|
}
|
|
1765
2330
|
this.isBulkScanEnable = this.paymentLibComponent.ISBSENABLE;
|
|
1766
2331
|
this.dcnNumber = this.paymentLibComponent.DCN_NUMBER;
|
|
@@ -1887,6 +2452,7 @@ class CaseTransactionsComponent {
|
|
|
1887
2452
|
if (paymentGroup.fees) {
|
|
1888
2453
|
paymentGroup.fees.forEach(fee => {
|
|
1889
2454
|
this.orderFeesTotal = this.orderFeesTotal + fee.calculated_amount;
|
|
2455
|
+
this.overPaymentAmount = this.overPaymentAmount + fee.over_payment;
|
|
1890
2456
|
});
|
|
1891
2457
|
}
|
|
1892
2458
|
if (paymentGroup.remissions) {
|
|
@@ -1895,7 +2461,11 @@ class CaseTransactionsComponent {
|
|
|
1895
2461
|
});
|
|
1896
2462
|
}
|
|
1897
2463
|
if (paymentGroup.payments) {
|
|
2464
|
+
const isFeeOverPaymentExist = this.overPaymentAmount === 0;
|
|
1898
2465
|
paymentGroup.payments.forEach(payment => {
|
|
2466
|
+
if (isFeeOverPaymentExist) {
|
|
2467
|
+
this.overPaymentAmount = this.overPaymentAmount + payment.over_payment;
|
|
2468
|
+
}
|
|
1899
2469
|
if (payment.status.toUpperCase() === 'SUCCESS') {
|
|
1900
2470
|
this.orderTotalPayments = this.orderTotalPayments + payment.amount;
|
|
1901
2471
|
}
|
|
@@ -2195,14 +2765,13 @@ class CaseTransactionsComponent {
|
|
|
2195
2765
|
}
|
|
2196
2766
|
}
|
|
2197
2767
|
addRefundForRemission(payment, remission, fees) {
|
|
2198
|
-
this.
|
|
2199
|
-
this.payment = payment;
|
|
2200
|
-
this.paymentViewService.getApportionPaymentDetails(this.payment.reference).subscribe(paymentGroup => {
|
|
2768
|
+
this.paymentViewService.getApportionPaymentDetails(payment.reference).subscribe(paymentGroup => {
|
|
2201
2769
|
this.paymentGroup = paymentGroup;
|
|
2202
|
-
this.paymentGroup.payments =
|
|
2770
|
+
this.paymentGroup.payments = paymentGroup.payments.filter(paymentGroupObj => paymentGroupObj.reference === payment.reference);
|
|
2203
2771
|
this.payment = this.paymentGroup.payments[0];
|
|
2204
2772
|
this.remissions = remission;
|
|
2205
2773
|
this.remissionFeeAmt = fees.filter(data => data.code === this.remissions['fee_code'])[0].net_amount;
|
|
2774
|
+
this.viewStatus = 'addrefundforremission';
|
|
2206
2775
|
// const paymentAllocation = this.paymentGroup.payments[0].payment_allocation;
|
|
2207
2776
|
// this.isStatusAllocated = paymentAllocation.length > 0 && paymentAllocation[0].allocation_status === 'Allocated' || paymentAllocation.length === 0;
|
|
2208
2777
|
}, (error) => this.errorMessage = error);
|
|
@@ -2328,17 +2897,21 @@ class CaseTransactionsComponent {
|
|
|
2328
2897
|
}
|
|
2329
2898
|
}
|
|
2330
2899
|
chkIssueRefundBtnEnable(payment) {
|
|
2331
|
-
if (
|
|
2332
|
-
payment.
|
|
2333
|
-
this.isIssueRefunfBtnEnable = true;
|
|
2334
|
-
}
|
|
2335
|
-
if (this.isIssueRefunfBtnEnable) {
|
|
2336
|
-
return true;
|
|
2900
|
+
if (payment !== null && payment !== undefined) {
|
|
2901
|
+
return payment.issue_refund && payment.refund_enable;
|
|
2337
2902
|
}
|
|
2338
2903
|
else {
|
|
2339
2904
|
return false;
|
|
2340
2905
|
}
|
|
2341
|
-
|
|
2906
|
+
// if (this.check4AllowedRoles2AccessRefund() && this.allowFurtherAccessAfter4Days(payment) &&
|
|
2907
|
+
// payment.method === 'payment by account' && payment.status.toLocaleLowerCase() === 'success') {
|
|
2908
|
+
// this.isIssueRefunfBtnEnable = true;
|
|
2909
|
+
// }
|
|
2910
|
+
// if (this.isIssueRefunfBtnEnable) {
|
|
2911
|
+
// return true;
|
|
2912
|
+
// } else {
|
|
2913
|
+
// return false;
|
|
2914
|
+
// };
|
|
2342
2915
|
}
|
|
2343
2916
|
chkIsRefundRemissionBtnEnable() {
|
|
2344
2917
|
if (this.orderDetail !== null && this.orderDetail !== undefined) {
|
|
@@ -2369,7 +2942,7 @@ class CaseTransactionsComponent {
|
|
|
2369
2942
|
CaseTransactionsComponent.decorators = [
|
|
2370
2943
|
{ type: Component, args: [{
|
|
2371
2944
|
selector: 'ccpay-case-transactions',
|
|
2372
|
-
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",
|
|
2945
|
+
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",
|
|
2373
2946
|
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}"]
|
|
2374
2947
|
},] }
|
|
2375
2948
|
];
|
|
@@ -2383,7 +2956,8 @@ CaseTransactionsComponent.ctorParameters = () => [
|
|
|
2383
2956
|
];
|
|
2384
2957
|
CaseTransactionsComponent.propDecorators = {
|
|
2385
2958
|
LOGGEDINUSERROLES: [{ type: Input, args: ['LOGGEDINUSERROLES',] }],
|
|
2386
|
-
isTakePayment: [{ type: Input }]
|
|
2959
|
+
isTakePayment: [{ type: Input }],
|
|
2960
|
+
isFromServiceRequestPage: [{ type: Input }]
|
|
2387
2961
|
};
|
|
2388
2962
|
|
|
2389
2963
|
class PaymentToPayhubRequest {
|
|
@@ -2495,15 +3069,20 @@ class FeeSummaryComponent {
|
|
|
2495
3069
|
if (fee.calculated_amount === 0) {
|
|
2496
3070
|
this.isFeeAmountZero = true;
|
|
2497
3071
|
}
|
|
2498
|
-
|
|
2499
|
-
|
|
2500
|
-
|
|
2501
|
-
|
|
2502
|
-
|
|
3072
|
+
if (paymentGroup.remissions) {
|
|
3073
|
+
this.isRemissionsMatch = false;
|
|
3074
|
+
paymentGroup.remissions.forEach(rem => {
|
|
3075
|
+
if (rem.fee_code === fee.code) {
|
|
3076
|
+
this.isRemissionsMatch = true;
|
|
3077
|
+
fee['remissions'] = rem;
|
|
3078
|
+
fees.push(fee);
|
|
3079
|
+
}
|
|
3080
|
+
});
|
|
3081
|
+
if (!this.isRemissionsMatch) {
|
|
2503
3082
|
fees.push(fee);
|
|
2504
3083
|
}
|
|
2505
|
-
}
|
|
2506
|
-
|
|
3084
|
+
}
|
|
3085
|
+
else {
|
|
2507
3086
|
fees.push(fee);
|
|
2508
3087
|
}
|
|
2509
3088
|
});
|
|
@@ -2597,7 +3176,7 @@ class FeeSummaryComponent {
|
|
|
2597
3176
|
FeeSummaryComponent.decorators = [
|
|
2598
3177
|
{ type: Component, args: [{
|
|
2599
3178
|
selector: 'ccpay-fee-summary',
|
|
2600
|
-
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",
|
|
3179
|
+
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",
|
|
2601
3180
|
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}"]
|
|
2602
3181
|
},] }
|
|
2603
3182
|
];
|
|
@@ -3229,11 +3808,11 @@ class UnprocessedPaymentsComponent {
|
|
|
3229
3808
|
if (this.isUnprocessedRecordSelected && this.isExceptionCase) {
|
|
3230
3809
|
this.isMarkAsUnidentifiedbtnEnabled = true;
|
|
3231
3810
|
}
|
|
3232
|
-
else if (this.isUnprocessedRecordSelected && !this.isExceptionCase && !this.FEE_RECORDS_EXISTS) {
|
|
3811
|
+
else if (this.isUnprocessedRecordSelected && !this.isExceptionCase && this.FEE_RECORDS_EXISTS !== null && !this.FEE_RECORDS_EXISTS) {
|
|
3233
3812
|
this.isAllocateToExistingFeebtnEnabled = false;
|
|
3234
3813
|
this.isAllocatedToNewFeebtnEnabled = true;
|
|
3235
3814
|
}
|
|
3236
|
-
else if (this.isUnprocessedRecordSelected && !this.isExceptionCase && this.FEE_RECORDS_EXISTS) {
|
|
3815
|
+
else if (this.isUnprocessedRecordSelected && !this.isExceptionCase && (this.FEE_RECORDS_EXISTS === null || this.FEE_RECORDS_EXISTS)) {
|
|
3237
3816
|
if (!this.ISTURNOFF) {
|
|
3238
3817
|
this.isAllocateToExistingFeebtnEnabled = true;
|
|
3239
3818
|
this.isAllocatedToNewFeebtnEnabled = false;
|
|
@@ -3719,25 +4298,21 @@ class AddRetroRemissionRequest {
|
|
|
3719
4298
|
}
|
|
3720
4299
|
}
|
|
3721
4300
|
|
|
3722
|
-
class PostRefundRetroRemission {
|
|
3723
|
-
constructor(payment_reference, refund_reason) {
|
|
3724
|
-
this.payment_reference = payment_reference;
|
|
3725
|
-
this.refund_reason = refund_reason;
|
|
3726
|
-
}
|
|
3727
|
-
}
|
|
3728
|
-
|
|
3729
4301
|
class PostIssueRefundRetroRemission {
|
|
3730
|
-
constructor(remissionReference) {
|
|
4302
|
+
constructor(remissionReference, contactDeatils) {
|
|
3731
4303
|
this.remissionReference = remissionReference;
|
|
4304
|
+
this.contact_details = contactDeatils;
|
|
3732
4305
|
}
|
|
3733
4306
|
}
|
|
3734
4307
|
|
|
3735
4308
|
const BS_ENABLE_FLAG$1 = 'bulk-scan-enabling-fe';
|
|
4309
|
+
const resolvedPromise = Promise.resolve(null);
|
|
3736
4310
|
class AddRemissionComponent {
|
|
3737
|
-
constructor(formBuilder, router, paymentViewService, paymentLibComponent, refundService, cd, OrderslistService) {
|
|
4311
|
+
constructor(formBuilder, router, paymentViewService, notificationService, paymentLibComponent, refundService, cd, OrderslistService) {
|
|
3738
4312
|
this.formBuilder = formBuilder;
|
|
3739
4313
|
this.router = router;
|
|
3740
4314
|
this.paymentViewService = paymentViewService;
|
|
4315
|
+
this.notificationService = notificationService;
|
|
3741
4316
|
this.paymentLibComponent = paymentLibComponent;
|
|
3742
4317
|
this.refundService = refundService;
|
|
3743
4318
|
this.cd = cd;
|
|
@@ -3746,6 +4321,7 @@ class AddRemissionComponent {
|
|
|
3746
4321
|
//@Output() refundListReason: EventEmitter<any> = new EventEmitter({reason:string, code:string});
|
|
3747
4322
|
this.refundListReason = new EventEmitter();
|
|
3748
4323
|
this.refundListAmount = new EventEmitter();
|
|
4324
|
+
this.refundFees = new EventEmitter();
|
|
3749
4325
|
this.refund = {
|
|
3750
4326
|
reason: {
|
|
3751
4327
|
duplicate: 'Duplicate payment',
|
|
@@ -3774,8 +4350,12 @@ class AddRemissionComponent {
|
|
|
3774
4350
|
this.isRemissionApplied = false;
|
|
3775
4351
|
// refundReasons: any[] = [];
|
|
3776
4352
|
this.commonRefundReasons = [];
|
|
4353
|
+
this.class = '';
|
|
4354
|
+
this.errorMsg = new Array();
|
|
3777
4355
|
}
|
|
3778
4356
|
ngOnInit() {
|
|
4357
|
+
this.errorMessage = '';
|
|
4358
|
+
this.errorMsg = [];
|
|
3779
4359
|
this.default = 'Select a different reason';
|
|
3780
4360
|
this.pattern1 = '^([a-zA-Z0-9]{3})-([a-zA-Z0-9]{3})-([a-zA-Z0-9]{3})$';
|
|
3781
4361
|
this.pattern2 = '^([A-Za-z]{2}[0-9]{2})-([0-9]{6})$';
|
|
@@ -3788,6 +4368,7 @@ class AddRemissionComponent {
|
|
|
3788
4368
|
this.amount = (this.fee.volume * this.fee.calculated_amount);
|
|
3789
4369
|
}
|
|
3790
4370
|
if (this.payment) {
|
|
4371
|
+
this.paymentReference = this.payment.reference;
|
|
3791
4372
|
this.remessionPayment = this.payment;
|
|
3792
4373
|
if (this.payment.status === 'Success') {
|
|
3793
4374
|
this.isPaymentSuccess = true;
|
|
@@ -3806,26 +4387,156 @@ class AddRemissionComponent {
|
|
|
3806
4387
|
])),
|
|
3807
4388
|
refundReason: new FormControl('', Validators.compose([Validators.required])),
|
|
3808
4389
|
refundDDReason: new FormControl('', Validators.compose([Validators.required])),
|
|
3809
|
-
reason: new FormControl()
|
|
4390
|
+
reason: new FormControl(),
|
|
4391
|
+
feeAmount: new FormControl(),
|
|
4392
|
+
feesList: this.formBuilder.array([])
|
|
3810
4393
|
});
|
|
3811
4394
|
const remissionctrls = this.remissionForm.controls;
|
|
3812
4395
|
remissionctrls['refundDDReason'].setValue('Select a different reason', { onlySelf: true });
|
|
4396
|
+
if (this.refundPaymentReference !== undefined && this.refundPaymentReference.length > 0) {
|
|
4397
|
+
this.paymentReference = this.refundPaymentReference;
|
|
4398
|
+
}
|
|
4399
|
+
else {
|
|
4400
|
+
this.paymentReference = (this.payment !== undefined) ? this.payment.reference : '';
|
|
4401
|
+
}
|
|
4402
|
+
if (this.isFromServiceRequestPage) {
|
|
4403
|
+
this.paymentViewService.getApportionPaymentDetails(this.paymentReference).subscribe(paymentGroup => {
|
|
4404
|
+
let fees = [];
|
|
4405
|
+
paymentGroup.fees.forEach(fee => {
|
|
4406
|
+
this.isRemissionsMatch = false;
|
|
4407
|
+
paymentGroup.remissions.forEach(rem => {
|
|
4408
|
+
if (rem.fee_code === fee.code) {
|
|
4409
|
+
this.isRemissionsMatch = true;
|
|
4410
|
+
fee['remissions'] = rem;
|
|
4411
|
+
fees.push(fee);
|
|
4412
|
+
}
|
|
4413
|
+
});
|
|
4414
|
+
if (!this.isRemissionsMatch) {
|
|
4415
|
+
fees.push(fee);
|
|
4416
|
+
}
|
|
4417
|
+
});
|
|
4418
|
+
paymentGroup.fees = fees;
|
|
4419
|
+
this.paymentFees = fees;
|
|
4420
|
+
this.fees = fees;
|
|
4421
|
+
this.paymentGroup = paymentGroup;
|
|
4422
|
+
this.paymentGroup.payments = this.paymentGroup.payments.filter(paymentGroupObj => paymentGroupObj['reference'].includes(this.paymentLibComponent.paymentReference));
|
|
4423
|
+
// const paymentAllocation = this.paymentGroup.payments[0].payment_allocation;
|
|
4424
|
+
// this.isStatusAllocated = paymentAllocation.length > 0 && paymentAllocation[0].allocation_status === 'Allocated' || paymentAllocation.length === 0;
|
|
4425
|
+
this.refundFeesList();
|
|
4426
|
+
}, (error) => this.errorMessage = error);
|
|
4427
|
+
}
|
|
4428
|
+
if (this.fees && this.viewCompStatus === 'issuerefund') {
|
|
4429
|
+
this.refundFeesList();
|
|
4430
|
+
}
|
|
3813
4431
|
if (this.viewCompStatus === '') {
|
|
3814
4432
|
this.viewStatus = 'main';
|
|
3815
4433
|
}
|
|
3816
|
-
if (this.viewCompStatus === '
|
|
4434
|
+
if (this.viewCompStatus === 'issuerefundpage1') {
|
|
3817
4435
|
this.refundService.getRefundReasons().subscribe(refundReasons => {
|
|
3818
4436
|
this.refundReasons = refundReasons.filter((data) => data.recently_used === false);
|
|
3819
|
-
this.refundReasons = this.refundReasons.filter((data) => data.name !== 'Retrospective remission');
|
|
4437
|
+
this.refundReasons = this.refundReasons.filter((data) => data.name !== 'Retrospective remission' && data.name !== 'Overpayment');
|
|
3820
4438
|
this.cd.detectChanges();
|
|
3821
4439
|
this.commonRefundReasons = refundReasons.filter((data) => data.recently_used === true);
|
|
3822
4440
|
this.commonRefundReasons.sort((a, b) => a.toString().localeCompare(b));
|
|
3823
4441
|
this.cd.detectChanges();
|
|
3824
4442
|
});
|
|
4443
|
+
this.refundReason = this.changeRefundReason;
|
|
3825
4444
|
}
|
|
3826
4445
|
if (this.viewCompStatus === 'processretroremissonpage' && this.isFromRefundListPage) {
|
|
3827
4446
|
this.viewStatus = 'processretroremissonpage';
|
|
3828
4447
|
}
|
|
4448
|
+
if (this.orderDetail !== undefined) {
|
|
4449
|
+
this.paymentViewService.getApportionPaymentDetails(this.orderDetail[0].payments[0].reference).subscribe(paymentGroup => {
|
|
4450
|
+
this.fees = paymentGroup.fees;
|
|
4451
|
+
this.paymentReference = paymentGroup.payments[0].reference;
|
|
4452
|
+
}, (error) => this.errorMessage = error);
|
|
4453
|
+
}
|
|
4454
|
+
}
|
|
4455
|
+
goToPaymentViewComponent() {
|
|
4456
|
+
this.paymentLibComponent.paymentMethod = this.payment.method;
|
|
4457
|
+
this.paymentLibComponent.paymentGroupReference = this.paymentGroupRef;
|
|
4458
|
+
this.paymentLibComponent.paymentReference = this.paymentReference;
|
|
4459
|
+
//this.PaymentViewComponent.viewCompStatus = 'overpayment';
|
|
4460
|
+
this.paymentLibComponent.viewName = 'payment-view';
|
|
4461
|
+
}
|
|
4462
|
+
refundFeesList() {
|
|
4463
|
+
const creds = this.remissionForm.controls.feesList;
|
|
4464
|
+
// if(creds.controls.length > 0) {
|
|
4465
|
+
for (var i = 0; i < this.fees.length; i++) {
|
|
4466
|
+
creds.push(this.formBuilder.group({
|
|
4467
|
+
id: this.fees[i].id,
|
|
4468
|
+
code: this.fees[i].code,
|
|
4469
|
+
volume: this.fees[i].volume,
|
|
4470
|
+
calculated_amount: this.fees[i].calculated_amount,
|
|
4471
|
+
apportion_amount: this.fees[i].apportion_amount,
|
|
4472
|
+
ccd_case_number: this.fees[i].ccd_case_number,
|
|
4473
|
+
description: this.fees[i].description,
|
|
4474
|
+
net_amount: this.fees[i].net_amount,
|
|
4475
|
+
version: this.fees[i].version,
|
|
4476
|
+
refund_amount: [''],
|
|
4477
|
+
selected: [''],
|
|
4478
|
+
updated_volume: this.fees[i].volume
|
|
4479
|
+
}));
|
|
4480
|
+
}
|
|
4481
|
+
this.cd.detectChanges();
|
|
4482
|
+
//}
|
|
4483
|
+
}
|
|
4484
|
+
get feesList() {
|
|
4485
|
+
const dd = this.remissionForm.get('feesList');
|
|
4486
|
+
return this.remissionForm.get('feesList');
|
|
4487
|
+
}
|
|
4488
|
+
noneSelected() {
|
|
4489
|
+
if (this.isFullyRefund) {
|
|
4490
|
+
return false;
|
|
4491
|
+
}
|
|
4492
|
+
else {
|
|
4493
|
+
if (!this.feesList.controls.some(item => item.get('selected').value === true)) {
|
|
4494
|
+
this.errorMsg = [];
|
|
4495
|
+
[].forEach.call(document.querySelectorAll('input'), function (el) {
|
|
4496
|
+
el.classList.remove('inline-error-class');
|
|
4497
|
+
});
|
|
4498
|
+
}
|
|
4499
|
+
return !this.feesList.controls.some(item => item.get('selected').value === true);
|
|
4500
|
+
}
|
|
4501
|
+
}
|
|
4502
|
+
check_en(i, v1, AppAmt, Volume) {
|
|
4503
|
+
const ele = document.getElementById(v1);
|
|
4504
|
+
const formArray = this.remissionForm.controls.feesList;
|
|
4505
|
+
if (ele.checked) {
|
|
4506
|
+
formArray.at(i).get('refund_amount').setValue(AppAmt);
|
|
4507
|
+
formArray.at(i).get('volume').setValue(Volume);
|
|
4508
|
+
formArray.at(i).get('selected').setValue(true);
|
|
4509
|
+
formArray.at(i).get('updated_volume').setValue(Volume);
|
|
4510
|
+
document.getElementById('feeAmount_' + v1).value = AppAmt;
|
|
4511
|
+
document.getElementById('feeAmount_' + v1).removeAttribute("disabled");
|
|
4512
|
+
if (Volume === 1) {
|
|
4513
|
+
document.getElementById('VolumeUpdated_' + v1).value = Volume;
|
|
4514
|
+
}
|
|
4515
|
+
else {
|
|
4516
|
+
document.getElementById('feeVolumeUpdated_' + v1).value = Volume;
|
|
4517
|
+
}
|
|
4518
|
+
if (document.getElementById('feeVolumeUpdated_' + v1) !== null) {
|
|
4519
|
+
document.getElementById('feeAmount_' + v1).removeAttribute("disabled");
|
|
4520
|
+
document.getElementById('feeVolumeUpdated_' + v1).removeAttribute("disabled");
|
|
4521
|
+
}
|
|
4522
|
+
this.cd.detectChanges();
|
|
4523
|
+
}
|
|
4524
|
+
else {
|
|
4525
|
+
this.errorMsg = [];
|
|
4526
|
+
document.getElementById('feeAmount_' + v1).setAttribute("disabled", "true");
|
|
4527
|
+
this.remissionForm.value.feesList[i]["refund_amount"] = '';
|
|
4528
|
+
this.remissionForm.value.feesList[i]["volume"] = '';
|
|
4529
|
+
this.remissionForm.value.feesList[i]["selected"] = false;
|
|
4530
|
+
document.getElementById('feeAmount_' + v1).value = '';
|
|
4531
|
+
if (Volume > 1) {
|
|
4532
|
+
this.remissionForm.value.feesList[i]["volume"] = '';
|
|
4533
|
+
document.getElementById('feeVolumeUpdated_' + v1).value = '';
|
|
4534
|
+
}
|
|
4535
|
+
if (document.getElementById('feeVolumeUpdated_' + v1) !== null) {
|
|
4536
|
+
document.getElementById('feeVolumeUpdated_' + v1).removeAttribute("disabled");
|
|
4537
|
+
}
|
|
4538
|
+
this.cd.detectChanges();
|
|
4539
|
+
}
|
|
3829
4540
|
}
|
|
3830
4541
|
addRemission() {
|
|
3831
4542
|
this.resetRemissionForm([false, false, false, false, false, false], 'All');
|
|
@@ -3899,6 +4610,8 @@ class AddRemissionComponent {
|
|
|
3899
4610
|
// Add retro remission changes
|
|
3900
4611
|
addRemissionCode() {
|
|
3901
4612
|
this.errorMessage = false;
|
|
4613
|
+
// this.isFromCheckAnsPage = true;
|
|
4614
|
+
this.errorMsg = [];
|
|
3902
4615
|
this.viewStatus = '';
|
|
3903
4616
|
this.isRefundRemission = false;
|
|
3904
4617
|
this.resetRemissionForm([false, false, false, false, false, false], 'All');
|
|
@@ -3908,8 +4621,14 @@ class AddRemissionComponent {
|
|
|
3908
4621
|
this.remissionForm.controls['refundDDReason'].setErrors(null);
|
|
3909
4622
|
this.remissionForm.controls['amount'].setErrors(null);
|
|
3910
4623
|
if (this.remissionForm.dirty && this.remissionForm.valid) {
|
|
3911
|
-
this.
|
|
3912
|
-
|
|
4624
|
+
if (!this.isFromCheckAnsPage) {
|
|
4625
|
+
this.viewCompStatus = '';
|
|
4626
|
+
this.viewStatus = "processretroremissonpage";
|
|
4627
|
+
}
|
|
4628
|
+
else {
|
|
4629
|
+
this.viewCompStatus = '';
|
|
4630
|
+
this.viewStatus = 'checkretroremissionpage';
|
|
4631
|
+
}
|
|
3913
4632
|
}
|
|
3914
4633
|
else {
|
|
3915
4634
|
if (remissionctrls['remissionCode'].value == '') {
|
|
@@ -3934,8 +4653,9 @@ class AddRemissionComponent {
|
|
|
3934
4653
|
}
|
|
3935
4654
|
gotoAddRetroRemissionCodePage() {
|
|
3936
4655
|
this.errorMessage = false;
|
|
4656
|
+
this.isFromCheckAnsPage = false;
|
|
4657
|
+
this.errorMsg = [];
|
|
3937
4658
|
if (this.isRefundRemission) {
|
|
3938
|
-
this.paymentLibComponent.iscancelClicked = true;
|
|
3939
4659
|
this.refundListAmount.emit();
|
|
3940
4660
|
this.paymentLibComponent.isFromRefundStatusPage = true;
|
|
3941
4661
|
return;
|
|
@@ -3951,6 +4671,7 @@ class AddRemissionComponent {
|
|
|
3951
4671
|
this.viewCompStatus = "addremission";
|
|
3952
4672
|
this.isRefundRemission = true;
|
|
3953
4673
|
this.errorMessage = '';
|
|
4674
|
+
this.errorMsg = [];
|
|
3954
4675
|
if (this.isFromPaymentDetailPage) {
|
|
3955
4676
|
this.paymentLibComponent.viewName = 'payment-view';
|
|
3956
4677
|
}
|
|
@@ -3991,11 +4712,30 @@ class AddRemissionComponent {
|
|
|
3991
4712
|
//}
|
|
3992
4713
|
}
|
|
3993
4714
|
}
|
|
4715
|
+
gotoAmountRetroRemission() {
|
|
4716
|
+
this.isFromCheckAnsPage = false;
|
|
4717
|
+
this.viewStatus = 'processretroremissonpage';
|
|
4718
|
+
this.viewCompStatus = '';
|
|
4719
|
+
// this.isRefundRemission = true;
|
|
4720
|
+
this.errorMessage = '';
|
|
4721
|
+
}
|
|
3994
4722
|
gotoProcessRetroRemissionPage() {
|
|
4723
|
+
this.isFromCheckAnsPage = true;
|
|
3995
4724
|
this.viewStatus = '';
|
|
3996
4725
|
this.viewCompStatus = 'addremission';
|
|
3997
4726
|
this.isRefundRemission = true;
|
|
3998
4727
|
this.errorMessage = '';
|
|
4728
|
+
this.errorMsg = [];
|
|
4729
|
+
}
|
|
4730
|
+
gotoProcessRetroRemission(note) {
|
|
4731
|
+
if (note) {
|
|
4732
|
+
this.notification = { contact_details: note, notification_type: note.notification_type };
|
|
4733
|
+
}
|
|
4734
|
+
this.isFromCheckAnsPage = true;
|
|
4735
|
+
this.viewStatus = 'remissionAddressPage';
|
|
4736
|
+
this.viewCompStatus = '';
|
|
4737
|
+
this.isRefundRemission = true;
|
|
4738
|
+
this.errorMessage = '';
|
|
3999
4739
|
}
|
|
4000
4740
|
confirmRetroRemission() {
|
|
4001
4741
|
if (!this.isConfirmationBtnDisabled) {
|
|
@@ -4018,6 +4758,7 @@ class AddRemissionComponent {
|
|
|
4018
4758
|
}
|
|
4019
4759
|
processRefund() {
|
|
4020
4760
|
this.errorMessage = '';
|
|
4761
|
+
this.errorMsg = [];
|
|
4021
4762
|
this.isConfirmationBtnDisabled = true;
|
|
4022
4763
|
if (this.isRefundRemission) {
|
|
4023
4764
|
this.retroRemission = true;
|
|
@@ -4025,7 +4766,7 @@ class AddRemissionComponent {
|
|
|
4025
4766
|
if (this.remissionReference === undefined || this.remissionReference === '') {
|
|
4026
4767
|
this.remissionReference = this.remission.remission_reference;
|
|
4027
4768
|
}
|
|
4028
|
-
const requestBody = new PostIssueRefundRetroRemission(this.remissionReference);
|
|
4769
|
+
const requestBody = new PostIssueRefundRetroRemission(this.remissionReference, this.contactDetailsObj);
|
|
4029
4770
|
this.paymentViewService.postRefundRetroRemission(requestBody).subscribe(response => {
|
|
4030
4771
|
if (JSON.parse(response)) {
|
|
4031
4772
|
this.viewCompStatus = '';
|
|
@@ -4044,7 +4785,9 @@ class AddRemissionComponent {
|
|
|
4044
4785
|
if (this.paymentLibComponent.REFUNDLIST === "true") {
|
|
4045
4786
|
this.isFromRefundListPage = true;
|
|
4046
4787
|
}
|
|
4788
|
+
this.totalRefundAmount = this.remissionForm.value.feesList.reduce((a, c) => a + c.refund_amount * c.selected, 0);
|
|
4047
4789
|
this.errorMessage = '';
|
|
4790
|
+
this.errorMsg = [];
|
|
4048
4791
|
this.refundReason = this.remissionForm.controls['refundReason'].value === null ? this.remissionForm.controls['refundDDReason'].value : this.remissionForm.controls['refundReason'].value;
|
|
4049
4792
|
if (!this.refundReason || this.refundReason === 'Select a different reason') {
|
|
4050
4793
|
this.refundHasError = true;
|
|
@@ -4060,19 +4803,35 @@ class AddRemissionComponent {
|
|
|
4060
4803
|
this.refundListReason.emit({ reason: this.displayRefundReason, code: this.refundReason });
|
|
4061
4804
|
}
|
|
4062
4805
|
else {
|
|
4806
|
+
if (this.isFromCheckAnsPage) {
|
|
4807
|
+
this.totalRefundAmount = this.remissionForm.value.feesList.reduce((a, c) => a + c.refund_amount * c.selected, 0);
|
|
4808
|
+
this.isFromCheckAnsPage = false;
|
|
4809
|
+
this.viewStatus = 'checkissuerefundpage';
|
|
4810
|
+
this.viewCompStatus = '';
|
|
4811
|
+
this.notificationPreview = false;
|
|
4812
|
+
return;
|
|
4813
|
+
}
|
|
4063
4814
|
this.viewCompStatus = '';
|
|
4064
|
-
this.viewStatus = '
|
|
4815
|
+
this.viewStatus = 'contactDetailsPage';
|
|
4065
4816
|
}
|
|
4066
4817
|
}
|
|
4067
4818
|
else {
|
|
4068
4819
|
this.displayRefundReason = this.selectedRefundReason;
|
|
4820
|
+
if (this.isFromCheckAnsPage) {
|
|
4821
|
+
this.totalRefundAmount = this.remissionForm.value.feesList.reduce((a, c) => a + c.refund_amount * c.selected, 0);
|
|
4822
|
+
this.isFromCheckAnsPage = false;
|
|
4823
|
+
this.viewStatus = 'checkissuerefundpage';
|
|
4824
|
+
this.viewCompStatus = '';
|
|
4825
|
+
this.notificationPreview = false;
|
|
4826
|
+
return;
|
|
4827
|
+
}
|
|
4069
4828
|
if (this.isFromRefundListPage) {
|
|
4070
4829
|
this.paymentLibComponent.isFromRefundStatusPage = true;
|
|
4071
4830
|
this.refundListReason.emit({ reason: this.selectedRefundReason, code: this.refundReason });
|
|
4072
4831
|
}
|
|
4073
4832
|
else {
|
|
4074
4833
|
this.viewCompStatus = '';
|
|
4075
|
-
this.viewStatus = '
|
|
4834
|
+
this.viewStatus = 'contactDetailsPage';
|
|
4076
4835
|
}
|
|
4077
4836
|
}
|
|
4078
4837
|
}
|
|
@@ -4082,25 +4841,172 @@ class AddRemissionComponent {
|
|
|
4082
4841
|
this.viewStatus = '';
|
|
4083
4842
|
this.isRefundRemission = true;
|
|
4084
4843
|
this.errorMessage = false;
|
|
4844
|
+
this.errorMsg = [];
|
|
4085
4845
|
this.refundHasError = false;
|
|
4086
4846
|
this.isReasonEmpty = false;
|
|
4087
4847
|
}
|
|
4848
|
+
gotoIssuePage(isFullyRefund) {
|
|
4849
|
+
if (isFullyRefund) {
|
|
4850
|
+
this.viewCompStatus = 'issuerefundpage1';
|
|
4851
|
+
this.getRefundReasons();
|
|
4852
|
+
}
|
|
4853
|
+
else {
|
|
4854
|
+
[].forEach.call(document.querySelectorAll('input'), function (el) {
|
|
4855
|
+
el.classList.remove('inline-error-class');
|
|
4856
|
+
});
|
|
4857
|
+
var checkboxs = document.getElementsByTagName('input');
|
|
4858
|
+
this.errorMessage = '';
|
|
4859
|
+
this.totalRefundAmount = 0;
|
|
4860
|
+
this.errorMsg = [];
|
|
4861
|
+
for (var j = 0; j < checkboxs.length; j++) {
|
|
4862
|
+
if (checkboxs[j].checked) {
|
|
4863
|
+
this.fullRefund = false;
|
|
4864
|
+
let quantity = +document.getElementById('feeVolume_' + checkboxs[j].value).value;
|
|
4865
|
+
let amountToRefund = +document.getElementById('feeAmount_' + checkboxs[j].value).value;
|
|
4866
|
+
let apportionAmount = +document.getElementById('feeApportionAmount_' + checkboxs[j].value).value;
|
|
4867
|
+
let calculatedAmount = +document.getElementById('calculatedAmount_' + checkboxs[j].value).value;
|
|
4868
|
+
if (amountToRefund === apportionAmount) {
|
|
4869
|
+
this.fullRefund = true;
|
|
4870
|
+
}
|
|
4871
|
+
if (amountToRefund === 0) {
|
|
4872
|
+
this.elementId = 'feeAmount_' + checkboxs[j].value;
|
|
4873
|
+
this.errorMsg.push('You need to enter a refund amount');
|
|
4874
|
+
this.getErrorClass(this.elementId);
|
|
4875
|
+
}
|
|
4876
|
+
if (quantity === 1) {
|
|
4877
|
+
if (amountToRefund > 0 && amountToRefund > apportionAmount) {
|
|
4878
|
+
this.elementId = 'feeAmount_' + checkboxs[j].value;
|
|
4879
|
+
this.errorMsg.push('The amount you want to refund is more than the amount paid');
|
|
4880
|
+
this.getErrorClass(this.elementId);
|
|
4881
|
+
}
|
|
4882
|
+
}
|
|
4883
|
+
if (quantity > 1) {
|
|
4884
|
+
this.quantityUpdated = +document.getElementById('feeVolumeUpdated_' + checkboxs[j].value).value;
|
|
4885
|
+
if (this.quantityUpdated === 0) {
|
|
4886
|
+
this.elementId = 'feeVolumeUpdated_' + checkboxs[j].value;
|
|
4887
|
+
this.errorMsg.push('You need to enter quantity');
|
|
4888
|
+
this.getErrorClass(this.elementId);
|
|
4889
|
+
}
|
|
4890
|
+
if (this.fullRefund && quantity !== this.quantityUpdated) {
|
|
4891
|
+
this.elementId = 'feeVolumeUpdated_' + checkboxs[j].value;
|
|
4892
|
+
this.errorMsg.push('The quantity you want to refund should be maximun available quantity');
|
|
4893
|
+
this.getErrorClass(this.elementId);
|
|
4894
|
+
}
|
|
4895
|
+
if (!this.fullRefund && this.quantityUpdated > 0 && amountToRefund > 0) {
|
|
4896
|
+
this.refundAmtForFeeVolumes = +document.getElementById('feeVOl_' + checkboxs[j].value).innerText;
|
|
4897
|
+
this.allowedRefundAmount = this.quantityUpdated * this.refundAmtForFeeVolumes;
|
|
4898
|
+
if (this.allowedRefundAmount !== amountToRefund) {
|
|
4899
|
+
this.elementId = 'feeAmount_' + checkboxs[j].value;
|
|
4900
|
+
this.errorMsg.push('The Amount to Refund should be equal to the product of Fee Amount and quantity');
|
|
4901
|
+
this.getErrorClass(this.elementId);
|
|
4902
|
+
}
|
|
4903
|
+
}
|
|
4904
|
+
if (!this.fullRefund && amountToRefund > apportionAmount) {
|
|
4905
|
+
this.elementId = 'feeAmount_' + checkboxs[j].value;
|
|
4906
|
+
this.errorMsg.push('The amount you want to refund is more than the amount paid');
|
|
4907
|
+
this.getErrorClass(this.elementId);
|
|
4908
|
+
}
|
|
4909
|
+
if (!this.fullRefund && this.quantityUpdated > 0 && this.quantityUpdated > quantity) {
|
|
4910
|
+
this.elementId = 'feeVolumeUpdated_' + checkboxs[j].value;
|
|
4911
|
+
this.errorMsg.push('The quantity you want to refund is more than the available quantity');
|
|
4912
|
+
this.getErrorClass(this.elementId);
|
|
4913
|
+
}
|
|
4914
|
+
}
|
|
4915
|
+
//this.remissionForm.value.feesList.find(id=>id=checkboxs[j].value)['refund_amount'] = apportionAmount;
|
|
4916
|
+
}
|
|
4917
|
+
}
|
|
4918
|
+
if (this.errorMsg.length === 0) {
|
|
4919
|
+
if (this.isFromCheckAnsPage) {
|
|
4920
|
+
this.isFromCheckAnsPage = false;
|
|
4921
|
+
this.totalRefundAmount = this.remissionForm.value.feesList.reduce((a, c) => a + c.refund_amount * c.selected, 0);
|
|
4922
|
+
this.fees = this.remissionForm.value.feesList.filter(value => value.selected === true);
|
|
4923
|
+
this.viewStatus = 'checkissuerefundpage';
|
|
4924
|
+
this.viewCompStatus = '';
|
|
4925
|
+
this.notificationPreview = false;
|
|
4926
|
+
return;
|
|
4927
|
+
}
|
|
4928
|
+
else if (this.isFromRefundStatusPage) {
|
|
4929
|
+
var remissionctrls = this.remissionForm.controls;
|
|
4930
|
+
this.totalRefundAmount = this.remissionForm.value.feesList.reduce((a, c) => a + c.refund_amount * c.selected, 0);
|
|
4931
|
+
this.refundListAmount.emit(this.totalRefundAmount.toString());
|
|
4932
|
+
this.fees = this.remissionForm.value.feesList.filter(value => value.selected === true);
|
|
4933
|
+
this.refundFees.emit(this.fees);
|
|
4934
|
+
return;
|
|
4935
|
+
}
|
|
4936
|
+
this.viewCompStatus = 'issuerefundpage1';
|
|
4937
|
+
this.getRefundReasons();
|
|
4938
|
+
}
|
|
4939
|
+
}
|
|
4940
|
+
}
|
|
4941
|
+
calAmtToRefund(value, amount, volume, i) {
|
|
4942
|
+
const volumeFee = amount / volume;
|
|
4943
|
+
const amtToRefund = value * volumeFee;
|
|
4944
|
+
const formArray = this.remissionForm.controls.feesList;
|
|
4945
|
+
formArray.at(i).get('refund_amount').setValue(amtToRefund);
|
|
4946
|
+
// formArray.at(i).get('volume').setValue(value);
|
|
4947
|
+
// (<HTMLInputElement>document.getElementById('feeAmount_'+i)).value = +amtToRefund;
|
|
4948
|
+
// const formControl = this.remissionForm.controls.feesList['volume'].at(i);
|
|
4949
|
+
// formControl.setValue(value);
|
|
4950
|
+
}
|
|
4951
|
+
gotoContactDetailsPage(note) {
|
|
4952
|
+
if (note) {
|
|
4953
|
+
this.notification = { contact_details: note, notification_type: note.notification_type };
|
|
4954
|
+
}
|
|
4955
|
+
this.errorMessage = '';
|
|
4956
|
+
this.viewCompStatus = '';
|
|
4957
|
+
this.viewStatus = 'contactDetailsPage';
|
|
4958
|
+
this.isRefundRemission = true;
|
|
4959
|
+
this.errorMessage = false;
|
|
4960
|
+
}
|
|
4961
|
+
getRefundReasons() {
|
|
4962
|
+
if (this.viewCompStatus === 'issuerefundpage1') {
|
|
4963
|
+
this.refundService.getRefundReasons().subscribe(refundReasons => {
|
|
4964
|
+
this.refundReasons = refundReasons.filter((data) => data.recently_used === false);
|
|
4965
|
+
this.refundReasons = this.refundReasons.filter((data) => data.name !== 'Retrospective remission');
|
|
4966
|
+
this.cd.detectChanges();
|
|
4967
|
+
this.commonRefundReasons = refundReasons.filter((data) => data.recently_used === true);
|
|
4968
|
+
this.commonRefundReasons.sort((a, b) => a.toString().localeCompare(b));
|
|
4969
|
+
this.cd.detectChanges();
|
|
4970
|
+
});
|
|
4971
|
+
}
|
|
4972
|
+
}
|
|
4973
|
+
getErrorClass(elementId) {
|
|
4974
|
+
if (this.errorMsg.length > 0) {
|
|
4975
|
+
const ele = document.getElementById(elementId);
|
|
4976
|
+
ele.classList.add('inline-error-class');
|
|
4977
|
+
}
|
|
4978
|
+
}
|
|
4088
4979
|
changeIssueRefundReason() {
|
|
4089
|
-
|
|
4980
|
+
this.isFromCheckAnsPage = true;
|
|
4090
4981
|
this.errorMessage = '';
|
|
4982
|
+
this.errorMsg = [];
|
|
4091
4983
|
this.refundHasError = false;
|
|
4092
4984
|
this.isReasonEmpty = false;
|
|
4093
|
-
this.viewCompStatus = '
|
|
4985
|
+
this.viewCompStatus = 'issuerefundpage1';
|
|
4094
4986
|
this.viewStatus = '';
|
|
4095
4987
|
this.isRefundRemission = true;
|
|
4096
4988
|
}
|
|
4097
|
-
confirmIssueRefund() {
|
|
4989
|
+
confirmIssueRefund(isFullyRefund) {
|
|
4098
4990
|
this.isConfirmationBtnDisabled = true;
|
|
4099
4991
|
this.errorMessage = '';
|
|
4992
|
+
this.errorMsg = [];
|
|
4100
4993
|
if (this.isRefundRemission) {
|
|
4101
4994
|
this.retroRemission = true;
|
|
4102
4995
|
}
|
|
4103
|
-
|
|
4996
|
+
if (isFullyRefund) {
|
|
4997
|
+
this.totalRefundAmount = this.payment.amount;
|
|
4998
|
+
}
|
|
4999
|
+
if (!isFullyRefund) {
|
|
5000
|
+
this.fees = this.remissionForm.value.feesList.filter(value => value.selected === true);
|
|
5001
|
+
}
|
|
5002
|
+
this.fees = this.fees.map(obj => ({ id: obj.id,
|
|
5003
|
+
code: obj.code,
|
|
5004
|
+
version: obj.version,
|
|
5005
|
+
apportion_amount: obj.apportion_amount,
|
|
5006
|
+
calculated_amount: obj.calculated_amount,
|
|
5007
|
+
updated_volume: obj.updated_volume ? obj.updated_volume : obj.volume,
|
|
5008
|
+
refund_amount: obj.refund_amount ? obj.refund_amount : this.totalRefundAmount }));
|
|
5009
|
+
const requestBody = new PostRefundRetroRemission(this.contactDetailsObj, this.fees, this.payment.reference, this.refundReason, this.totalRefundAmount, 'op');
|
|
4104
5010
|
this.paymentViewService.postRefundsReason(requestBody).subscribe(response => {
|
|
4105
5011
|
if (JSON.parse(response)) {
|
|
4106
5012
|
this.viewCompStatus = '';
|
|
@@ -4116,43 +5022,52 @@ class AddRemissionComponent {
|
|
|
4116
5022
|
this.cd.detectChanges();
|
|
4117
5023
|
});
|
|
4118
5024
|
}
|
|
4119
|
-
|
|
4120
|
-
|
|
4121
|
-
this.
|
|
4122
|
-
this.errorMessage = '';
|
|
4123
|
-
if (this.isRefundRemission) {
|
|
4124
|
-
this.retroRemission = true;
|
|
4125
|
-
}
|
|
4126
|
-
const requestBody = new PostRefundRetroRemission(this.payment.reference, 'RR004-Retrospective remission');
|
|
4127
|
-
this.paymentViewService.postRefundsReason(requestBody).subscribe(response => {
|
|
4128
|
-
if (JSON.parse(response)) {
|
|
4129
|
-
this.viewCompStatus = '';
|
|
4130
|
-
this.viewStatus = 'retrorefundconfirmationpage';
|
|
4131
|
-
this.refundReference = JSON.parse(response).refund_reference;
|
|
4132
|
-
if (JSON.parse(response).refund_amount) {
|
|
4133
|
-
this.refundAmount = JSON.parse(response).refund_amount;
|
|
4134
|
-
}
|
|
4135
|
-
}
|
|
4136
|
-
}, (error) => {
|
|
4137
|
-
this.errorMessage = error;
|
|
4138
|
-
this.isConfirmationBtnDisabled = false;
|
|
4139
|
-
});
|
|
5025
|
+
gotoRefundReasonPage() {
|
|
5026
|
+
this.viewStatus = '';
|
|
5027
|
+
this.viewCompStatus = 'issuerefundpage1';
|
|
4140
5028
|
}
|
|
5029
|
+
// Retro Refund
|
|
5030
|
+
// confirmRetroRefund() {
|
|
5031
|
+
// this.isConfirmationBtnDisabled = true;
|
|
5032
|
+
// this.errorMessage = '';
|
|
5033
|
+
// this.errorMsg = [];
|
|
5034
|
+
// if( this.isRefundRemission) {
|
|
5035
|
+
// this.retroRemission = true;
|
|
5036
|
+
// }
|
|
5037
|
+
// const requestBody = new PostRefundRetroRemission(this.payment.reference,'RR004-Retrospective remission', this.contactDetailsObj);
|
|
5038
|
+
// this.paymentViewService.postRefundsReason(requestBody).subscribe(
|
|
5039
|
+
// response => {
|
|
5040
|
+
// if (JSON.parse(response)) {
|
|
5041
|
+
// this.viewCompStatus = '';
|
|
5042
|
+
// this.viewStatus = 'retrorefundconfirmationpage';
|
|
5043
|
+
// this.refundReference =JSON.parse(response).refund_reference;
|
|
5044
|
+
// if(JSON.parse(response).refund_amount) {
|
|
5045
|
+
// this.refundAmount = JSON.parse(response).refund_amount;
|
|
5046
|
+
// }
|
|
5047
|
+
// }
|
|
5048
|
+
// },
|
|
5049
|
+
// (error: any) => {
|
|
5050
|
+
// this.errorMessage = error;
|
|
5051
|
+
// this.isConfirmationBtnDisabled = false;
|
|
5052
|
+
// });
|
|
5053
|
+
// }
|
|
4141
5054
|
selectRadioButton(key, value) {
|
|
4142
|
-
localStorage.setItem("myradio",
|
|
5055
|
+
localStorage.setItem("myradio", value);
|
|
4143
5056
|
const remissionctrls = this.remissionForm.controls;
|
|
4144
5057
|
remissionctrls['refundDDReason'].setValue('Select a different reason', { onlySelf: true });
|
|
4145
5058
|
remissionctrls['reason'].reset();
|
|
4146
5059
|
this.isRefundReasonsSelected = true;
|
|
4147
5060
|
this.errorMessage = false;
|
|
5061
|
+
this.errorMsg = [];
|
|
4148
5062
|
this.isReasonEmpty = false;
|
|
4149
5063
|
this.showReasonText = false;
|
|
4150
5064
|
this.refundHasError = false;
|
|
4151
|
-
this.selectedRefundReason =
|
|
5065
|
+
this.selectedRefundReason = value;
|
|
5066
|
+
this.selectedRefundReasonCode = key;
|
|
4152
5067
|
if (this.selectedRefundReason.includes('Other')) {
|
|
4153
5068
|
this.showReasonText = true;
|
|
4154
5069
|
this.refundHasError = false;
|
|
4155
|
-
this.refundReason =
|
|
5070
|
+
this.refundReason = value;
|
|
4156
5071
|
}
|
|
4157
5072
|
}
|
|
4158
5073
|
selectchange(args) {
|
|
@@ -4163,6 +5078,7 @@ class AddRemissionComponent {
|
|
|
4163
5078
|
this.showReasonText = false;
|
|
4164
5079
|
this.refundHasError = false;
|
|
4165
5080
|
this.selectedRefundReason = args.target.options[args.target.options.selectedIndex].id;
|
|
5081
|
+
this.selectedRefundReasonCode = args.target.options[args.target.options.selectedIndex].value;
|
|
4166
5082
|
this.reasonLength = (29 - this.selectedRefundReason.split('- ')[1].length);
|
|
4167
5083
|
if (this.selectedRefundReason.includes('Other')) {
|
|
4168
5084
|
this.showReasonText = true;
|
|
@@ -4170,9 +5086,42 @@ class AddRemissionComponent {
|
|
|
4170
5086
|
this.refundReason = args.target.options[args.target.options.selectedIndex].id;
|
|
4171
5087
|
}
|
|
4172
5088
|
}
|
|
5089
|
+
getContactDetails(obj, type) {
|
|
5090
|
+
this.contactDetailsObj = obj;
|
|
5091
|
+
this.viewCompStatus = '';
|
|
5092
|
+
this.notificationPreview = false;
|
|
5093
|
+
if (type == 'checkaddRefundpage') {
|
|
5094
|
+
this.getTemplateInstructionType(this.remessionPayment.reference, this.remessionPayment);
|
|
5095
|
+
}
|
|
5096
|
+
else if (type == 'checkissuerefundpage') {
|
|
5097
|
+
this.getTemplateInstructionType(this.payment.reference, this.payment);
|
|
5098
|
+
}
|
|
5099
|
+
else if (type == 'addrefundcheckandanswer') {
|
|
5100
|
+
this.getTemplateInstructionType(this.paymentReference, this.paymentObj);
|
|
5101
|
+
}
|
|
5102
|
+
this.viewStatus = type;
|
|
5103
|
+
}
|
|
5104
|
+
gotoPartialFeeRefundScreen() {
|
|
5105
|
+
if (this.isFromRefundStatusPage) {
|
|
5106
|
+
var remissionctrls = this.remissionForm.controls;
|
|
5107
|
+
this.refundListReason.emit({ reason: this.displayRefundReason, code: this.refundReason });
|
|
5108
|
+
return;
|
|
5109
|
+
}
|
|
5110
|
+
this.refundHasError = false;
|
|
5111
|
+
this.viewCompStatus = 'issuerefund';
|
|
5112
|
+
this.viewStatus = '';
|
|
5113
|
+
}
|
|
4173
5114
|
gotoServiceRequestPage(event) {
|
|
4174
5115
|
this.errorMessage = '';
|
|
5116
|
+
this.errorMsg = [];
|
|
5117
|
+
this.isFromCheckAnsPage = false;
|
|
4175
5118
|
event.preventDefault();
|
|
5119
|
+
if (this.isFromRefundStatusPage) {
|
|
5120
|
+
var remissionctrls = this.remissionForm.controls;
|
|
5121
|
+
this.totalRefundAmount = 0;
|
|
5122
|
+
this.refundListAmount.emit(this.totalRefundAmount.toString());
|
|
5123
|
+
return;
|
|
5124
|
+
}
|
|
4176
5125
|
if (this.isFromServiceRequestPage && !this.isFromPaymentDetailPage) {
|
|
4177
5126
|
this.viewStatus = 'order-full-view';
|
|
4178
5127
|
this.viewCompStatus = '';
|
|
@@ -4203,68 +5152,29 @@ class AddRemissionComponent {
|
|
|
4203
5152
|
}
|
|
4204
5153
|
this.viewCompStatus = '';
|
|
4205
5154
|
}
|
|
4206
|
-
|
|
4207
|
-
|
|
4208
|
-
|
|
4209
|
-
|
|
4210
|
-
|
|
4211
|
-
|
|
4212
|
-
|
|
4213
|
-
|
|
4214
|
-
|
|
4215
|
-
|
|
4216
|
-
|
|
4217
|
-
|
|
4218
|
-
|
|
4219
|
-
|
|
4220
|
-
|
|
4221
|
-
|
|
4222
|
-
|
|
4223
|
-
|
|
4224
|
-
// if(this.payment) {
|
|
4225
|
-
// this.OrderslistService.setpaymentPageView({method: this.payment.method,payment_group_reference: this.paymentGroupRef, reference:this.payment.reference});
|
|
4226
|
-
// }
|
|
4227
|
-
// if (this.isFromServiceRequestPage) {
|
|
4228
|
-
// this.OrderslistService.setnavigationPage('servicerequestpage');
|
|
4229
|
-
// } else {
|
|
4230
|
-
// this.OrderslistService.setnavigationPage('paymentdetailspage');
|
|
4231
|
-
// }
|
|
4232
|
-
// this.errorMessage = '';
|
|
4233
|
-
// this.paymentLibComponent.viewName = 'case-transactions';
|
|
4234
|
-
// // this.paymentLibComponent.TAKEPAYMENT = true;
|
|
4235
|
-
// this.paymentLibComponent.ISTURNOFF = this.isTurnOff;
|
|
4236
|
-
// this.paymentLibComponent.isFromServiceRequestPage = true;
|
|
4237
|
-
// this.paymentLibComponent.ISBSENABLE = true;
|
|
4238
|
-
// let partUrl = this.bsPaymentDcnNumber ? `&dcn=${this.bsPaymentDcnNumber}` : '';
|
|
4239
|
-
// partUrl += this.paymentLibComponent.ISBSENABLE ? '&isBulkScanning=Enable' : '&isBulkScanning=Disable';
|
|
4240
|
-
// partUrl += this.paymentLibComponent.ISTURNOFF ? '&isTurnOff=Enable' : '&isTurnOff=Disable';
|
|
4241
|
-
// partUrl += this.isStrategicFixEnable ? '&isStFixEnable=Enable' : '&isStFixEnable=Disable';
|
|
4242
|
-
// partUrl += `&caseType=${this.caseType}`;
|
|
4243
|
-
// if(this.isFromPaymentDetailPage) {
|
|
4244
|
-
// partUrl += this.paymentLibComponent.isFromPaymentDetailPage
|
|
4245
|
-
// }
|
|
4246
|
-
// if(!this.paymentLibComponent.TAKEPAYMENT) {
|
|
4247
|
-
// this.paymentLibComponent.TAKEPAYMENT = undefined;
|
|
4248
|
-
// }
|
|
4249
|
-
// if ( this.paymentLibComponent.SERVICEREQUEST) {
|
|
4250
|
-
// const url = `/payment-history/${this.ccdCaseNumber}?view=case-transactions&selectedOption=${this.option}${partUrl}`;
|
|
4251
|
-
// this.router.routeReuseStrategy.shouldReuseRoute = () => false;
|
|
4252
|
-
// this.router.onSameUrlNavigation = 'reload';
|
|
4253
|
-
// this.router.navigateByUrl(url);
|
|
4254
|
-
// } else {
|
|
4255
|
-
// const url = `/payment-history/${this.ccdCaseNumber}?view=case-transactions&takePayment=${this.paymentLibComponent.TAKEPAYMENT}&selectedOption=${this.option}${partUrl}`;
|
|
4256
|
-
// this.router.routeReuseStrategy.shouldReuseRoute = () => false;
|
|
4257
|
-
// this.router.onSameUrlNavigation = 'reload';
|
|
4258
|
-
// this.router.navigateByUrl(url);
|
|
4259
|
-
// }
|
|
4260
|
-
// } else {
|
|
4261
|
-
// this.paymentLibComponent.viewName === 'refundstatuslist';
|
|
4262
|
-
// this.paymentLibComponent.isFromRefundStatusPage = true;
|
|
4263
|
-
// }
|
|
5155
|
+
}
|
|
5156
|
+
gotoAddressPage(note) {
|
|
5157
|
+
if (note) {
|
|
5158
|
+
this.notification = { contact_details: note, notification_type: note.notification_type };
|
|
5159
|
+
}
|
|
5160
|
+
this.errorMessage = '';
|
|
5161
|
+
this.viewCompStatus = 'addrefundforremission';
|
|
5162
|
+
this.viewStatus = '';
|
|
5163
|
+
this.isRefundRemission = true;
|
|
5164
|
+
this.errorMessage = false;
|
|
5165
|
+
}
|
|
5166
|
+
gotoRemissionSuccess(event) {
|
|
5167
|
+
event.preventDefault();
|
|
5168
|
+
this.errorMessage = '';
|
|
5169
|
+
this.viewCompStatus = '';
|
|
5170
|
+
this.viewStatus = 'retroremissionconfirmationpage';
|
|
5171
|
+
this.isRefundRemission = true;
|
|
5172
|
+
this.errorMessage = false;
|
|
4264
5173
|
}
|
|
4265
5174
|
gotoCasetransationPage() {
|
|
4266
5175
|
this.OrderslistService.setnavigationPage('casetransactions');
|
|
4267
5176
|
this.errorMessage = '';
|
|
5177
|
+
this.errorMsg = [];
|
|
4268
5178
|
this.paymentLibComponent.viewName = 'case-transactions';
|
|
4269
5179
|
this.paymentLibComponent.VIEW = 'case-transactions';
|
|
4270
5180
|
this.paymentLibComponent.ISTURNOFF = this.isTurnOff;
|
|
@@ -4282,28 +5192,14 @@ class AddRemissionComponent {
|
|
|
4282
5192
|
}
|
|
4283
5193
|
gotoCasetransationPageCancelBtnClicked(event) {
|
|
4284
5194
|
event.preventDefault();
|
|
4285
|
-
|
|
5195
|
+
this.errorMsg = [];
|
|
5196
|
+
if (this.paymentLibComponent.isFromServiceRequestPage !== undefined && !this.paymentLibComponent.isFromServiceRequestPage) {
|
|
4286
5197
|
this.OrderslistService.setnavigationPage('casetransactions');
|
|
4287
5198
|
this.OrderslistService.setisFromServiceRequestPage(false);
|
|
4288
5199
|
this.paymentLibComponent.VIEW = 'case-transactions';
|
|
4289
5200
|
this.paymentLibComponent.viewName = 'case-transactions';
|
|
4290
5201
|
this.paymentLibComponent.ISBSENABLE = true;
|
|
4291
5202
|
this.paymentLibComponent.isRefundStatusView = false;
|
|
4292
|
-
// this.OrderslistService.setnavigationPage('casetransactions');
|
|
4293
|
-
// this.OrderslistService.setisFromServiceRequestPage(false);
|
|
4294
|
-
// this.paymentLibComponent.VIEW ='case-transactions';
|
|
4295
|
-
// this.paymentLibComponent.viewName = 'case-transactions';
|
|
4296
|
-
// this.paymentLibComponent.ISBSENABLE = true;
|
|
4297
|
-
// this.paymentLibComponent.isRefundStatusView = false;
|
|
4298
|
-
// this.resetOrderData(); let partUrl = this.bsPaymentDcnNumber ? `&dcn=${this.bsPaymentDcnNumber}` : '';
|
|
4299
|
-
// partUrl += this.paymentLibComponent.ISBSENABLE ? '&isBulkScanning=Enable' : '&isBulkScanning=Disable';
|
|
4300
|
-
// partUrl += this.paymentLibComponent.ISTURNOFF ? '&isTurnOff=Enable' : '&isTurnOff=Disable';
|
|
4301
|
-
// partUrl += this.isStrategicFixEnable ? '&isStFixEnable=Enable' : '&isStFixEnable=Disable';
|
|
4302
|
-
// partUrl += `&caseType=${this.caseType}`;
|
|
4303
|
-
// const url = `/payment-history/${this.ccdCaseNumber}?view=case-transactions&takePayment=${this.paymentLibComponent.TAKEPAYMENT}&selectedOption=${this.option}${partUrl}`;
|
|
4304
|
-
// this.router.routeReuseStrategy.shouldReuseRoute = () => false;
|
|
4305
|
-
// this.router.onSameUrlNavigation = 'reload';
|
|
4306
|
-
// this.router.navigateByUrl(url);
|
|
4307
5203
|
}
|
|
4308
5204
|
else {
|
|
4309
5205
|
if (this.paymentLibComponent.REFUNDLIST) {
|
|
@@ -4353,24 +5249,50 @@ class AddRemissionComponent {
|
|
|
4353
5249
|
this.OrderslistService.setorderRemissionTotal(null);
|
|
4354
5250
|
this.OrderslistService.setorderFeesTotal(null);
|
|
4355
5251
|
}
|
|
5252
|
+
changeRefundAmount() {
|
|
5253
|
+
this.isFromCheckAnsPage = true;
|
|
5254
|
+
this.viewCompStatus = 'issuerefund';
|
|
5255
|
+
this.viewStatus = '';
|
|
5256
|
+
}
|
|
4356
5257
|
getFormattedCurrency(currency) {
|
|
4357
5258
|
if (currency.toString().includes(".")) {
|
|
4358
5259
|
return currency;
|
|
4359
5260
|
}
|
|
4360
5261
|
return currency.toString().concat(".00");
|
|
4361
5262
|
}
|
|
5263
|
+
showNotificationPreview() {
|
|
5264
|
+
this.notificationPreview = true;
|
|
5265
|
+
}
|
|
5266
|
+
hideNotificationPreview() {
|
|
5267
|
+
this.notificationPreview = false;
|
|
5268
|
+
}
|
|
5269
|
+
getTemplateInstructionType(paymentReference, payment) {
|
|
5270
|
+
if (payment == undefined || payment == null || payment.reference != paymentReference) {
|
|
5271
|
+
this.paymentViewService.getPaymentDetails(paymentReference).subscribe(payment => {
|
|
5272
|
+
this.paymentObj = payment;
|
|
5273
|
+
this.paymentObj.reference = paymentReference;
|
|
5274
|
+
this.templateInstructionType = this.notificationService.getNotificationInstructionType(this.paymentObj.channel, this.paymentObj.method);
|
|
5275
|
+
}, (error) => {
|
|
5276
|
+
this.templateInstructionType = 'Template';
|
|
5277
|
+
});
|
|
5278
|
+
}
|
|
5279
|
+
else {
|
|
5280
|
+
this.templateInstructionType = this.notificationService.getNotificationInstructionType(payment.channel, payment.method);
|
|
5281
|
+
}
|
|
5282
|
+
}
|
|
4362
5283
|
}
|
|
4363
5284
|
AddRemissionComponent.decorators = [
|
|
4364
5285
|
{ type: Component, args: [{
|
|
4365
5286
|
selector: 'ccpay-add-remission',
|
|
4366
|
-
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",
|
|
4367
|
-
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 .
|
|
5287
|
+
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()}} {{contactDetailsObj?.city?.trim()}} {{contactDetailsObj?.county?.trim()}} {{contactDetailsObj?.country?.trim()}} {{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()}} {{contactDetailsObj?.city?.trim()}} {{contactDetailsObj?.county?.trim()}} {{contactDetailsObj?.country?.trim()}} {{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()}} {{contactDetailsObj?.city?.trim()}} {{contactDetailsObj?.county?.trim()}} {{contactDetailsObj?.country?.trim()}} {{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>",
|
|
5288
|
+
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}"]
|
|
4368
5289
|
},] }
|
|
4369
5290
|
];
|
|
4370
5291
|
AddRemissionComponent.ctorParameters = () => [
|
|
4371
5292
|
{ type: FormBuilder },
|
|
4372
5293
|
{ type: Router },
|
|
4373
5294
|
{ type: PaymentViewService },
|
|
5295
|
+
{ type: NotificationService },
|
|
4374
5296
|
{ type: PaymentLibComponent },
|
|
4375
5297
|
{ type: RefundsService },
|
|
4376
5298
|
{ type: ChangeDetectorRef },
|
|
@@ -4378,6 +5300,7 @@ AddRemissionComponent.ctorParameters = () => [
|
|
|
4378
5300
|
];
|
|
4379
5301
|
AddRemissionComponent.propDecorators = {
|
|
4380
5302
|
fee: [{ type: Input }],
|
|
5303
|
+
fees: [{ type: Input }],
|
|
4381
5304
|
payment: [{ type: Input }],
|
|
4382
5305
|
remission: [{ type: Input }],
|
|
4383
5306
|
ccdCaseNumber: [{ type: Input }],
|
|
@@ -4391,7 +5314,12 @@ AddRemissionComponent.propDecorators = {
|
|
|
4391
5314
|
isFromRefundListPage: [{ type: Input }],
|
|
4392
5315
|
isFromPaymentDetailPage: [{ type: Input }],
|
|
4393
5316
|
isFromServiceRequestPage: [{ type: Input }],
|
|
5317
|
+
isFullyRefund: [{ type: Input, args: ['isFullyRefund',] }],
|
|
4394
5318
|
feeamount: [{ type: Input }],
|
|
5319
|
+
refundPaymentReference: [{ type: Input }],
|
|
5320
|
+
isFromRefundStatusPage: [{ type: Input }],
|
|
5321
|
+
changeRefundReason: [{ type: Input }],
|
|
5322
|
+
isServiceRequest: [{ type: Input, args: ["isServiceRequest",] }],
|
|
4395
5323
|
LOGGEDINUSERROLES: [{ type: Input, args: ['LOGGEDINUSERROLES',] }],
|
|
4396
5324
|
orderDetail: [{ type: Input, args: ['orderDetail',] }],
|
|
4397
5325
|
orderRef: [{ type: Input, args: ['orderRef',] }],
|
|
@@ -4405,7 +5333,8 @@ AddRemissionComponent.propDecorators = {
|
|
|
4405
5333
|
orderRemissionTotal: [{ type: Input, args: ['orderRemissionTotal',] }],
|
|
4406
5334
|
cancelRemission: [{ type: Output }],
|
|
4407
5335
|
refundListReason: [{ type: Output }],
|
|
4408
|
-
refundListAmount: [{ type: Output }]
|
|
5336
|
+
refundListAmount: [{ type: Output }],
|
|
5337
|
+
refundFees: [{ type: Output }]
|
|
4409
5338
|
};
|
|
4410
5339
|
|
|
4411
5340
|
class CcdHyphensPipe {
|
|
@@ -4479,7 +5408,6 @@ class XlFileService {
|
|
|
4479
5408
|
exportAsExcelFile(json, excelFileName) {
|
|
4480
5409
|
let worksheet;
|
|
4481
5410
|
let workbook;
|
|
4482
|
-
console.log(excelFileName);
|
|
4483
5411
|
if (excelFileName.match('Data_Loss') !== null) {
|
|
4484
5412
|
worksheet = XLSX.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'] });
|
|
4485
5413
|
worksheet = this.setDataLossReportHeaders(worksheet);
|
|
@@ -4496,7 +5424,7 @@ class XlFileService {
|
|
|
4496
5424
|
worksheet = this.autoFitColumns(worksheet, json);
|
|
4497
5425
|
}
|
|
4498
5426
|
else if (excelFileName.match('Payment failure') !== null) {
|
|
4499
|
-
worksheet = XLSX.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'] });
|
|
5427
|
+
worksheet = XLSX.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'] });
|
|
4500
5428
|
worksheet = this.setPaymentFailureReportHeaders(worksheet);
|
|
4501
5429
|
worksheet = this.autoFitColumns(worksheet, json);
|
|
4502
5430
|
}
|
|
@@ -4580,18 +5508,19 @@ class XlFileService {
|
|
|
4580
5508
|
setPaymentFailureReportHeaders(worksheet) {
|
|
4581
5509
|
worksheet.A1.v = "Payment reference";
|
|
4582
5510
|
worksheet.B1.v = "CCD reference";
|
|
4583
|
-
worksheet.C1.v = "
|
|
4584
|
-
worksheet.D1.v = "
|
|
4585
|
-
worksheet.E1.v = "
|
|
4586
|
-
worksheet.F1.v = "Failure
|
|
4587
|
-
worksheet.G1.v = "
|
|
4588
|
-
worksheet.H1.v = "
|
|
4589
|
-
worksheet.I1.v = "Event
|
|
4590
|
-
worksheet.J1.v = "
|
|
4591
|
-
worksheet.K1.v = "Representment
|
|
4592
|
-
worksheet.L1.v = "
|
|
4593
|
-
worksheet.M1.v = "Refund
|
|
4594
|
-
worksheet.N1.v = "Refund
|
|
5511
|
+
worksheet.C1.v = "Document Control Number";
|
|
5512
|
+
worksheet.D1.v = "OrgID";
|
|
5513
|
+
worksheet.E1.v = "Service name";
|
|
5514
|
+
worksheet.F1.v = "Failure reference";
|
|
5515
|
+
worksheet.G1.v = "Failure reason";
|
|
5516
|
+
worksheet.H1.v = "Disputed amount";
|
|
5517
|
+
worksheet.I1.v = "Event name";
|
|
5518
|
+
worksheet.J1.v = "Event date";
|
|
5519
|
+
worksheet.K1.v = "Representment status";
|
|
5520
|
+
worksheet.L1.v = "Representment date";
|
|
5521
|
+
worksheet.M1.v = "Refund reference";
|
|
5522
|
+
worksheet.N1.v = "Refund amount";
|
|
5523
|
+
worksheet.O1.v = "Refund date";
|
|
4595
5524
|
return worksheet;
|
|
4596
5525
|
}
|
|
4597
5526
|
setShortFallReportHeaders(worksheet) {
|
|
@@ -4748,6 +5677,9 @@ class ReportsComponent {
|
|
|
4748
5677
|
if (res['data'][i]['refund_date'] === undefined) {
|
|
4749
5678
|
res['data'][i]['refund_date'] = 'N/A';
|
|
4750
5679
|
}
|
|
5680
|
+
if (res['data'][i]['document_control_number'] === undefined) {
|
|
5681
|
+
res['data'][i]['document_control_number'] = 'N/A';
|
|
5682
|
+
}
|
|
4751
5683
|
}
|
|
4752
5684
|
}
|
|
4753
5685
|
this.isDownLoadButtondisabled = false;
|
|
@@ -4914,8 +5846,11 @@ class TableComponent {
|
|
|
4914
5846
|
if (this.refundList !== undefined) {
|
|
4915
5847
|
this.userLst = this.refundList.reduce((r, { user_full_name }) => (r[user_full_name] = '', r), {});
|
|
4916
5848
|
this.userLst = Object.keys(this.userLst);
|
|
5849
|
+
this.userLst.sort((a, b) => a.toString().localeCompare(b));
|
|
5850
|
+
this.serviceLst = this.refundList.reduce((r, { service_type }) => (r[service_type] = '', r), {});
|
|
5851
|
+
this.serviceLst = Object.keys(this.serviceLst);
|
|
5852
|
+
this.serviceLst.sort((a, b) => a.toString().localeCompare(b));
|
|
4917
5853
|
}
|
|
4918
|
-
this.userLst.sort((a, b) => a.toString().localeCompare(b));
|
|
4919
5854
|
}
|
|
4920
5855
|
/**
|
|
4921
5856
|
* Set the paginator and sort after the view init since this component will
|
|
@@ -4960,8 +5895,8 @@ class TableComponent {
|
|
|
4960
5895
|
TableComponent.decorators = [
|
|
4961
5896
|
{ type: Component, args: [{
|
|
4962
5897
|
selector: 'ccpay-table',
|
|
4963
|
-
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\"
|
|
4964
|
-
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}"]
|
|
5898
|
+
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> <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",
|
|
5899
|
+
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}"]
|
|
4965
5900
|
},] }
|
|
4966
5901
|
];
|
|
4967
5902
|
TableComponent.ctorParameters = () => [
|
|
@@ -4979,27 +5914,38 @@ TableComponent.propDecorators = {
|
|
|
4979
5914
|
sort: [{ type: ViewChild, args: [MatSort,] }]
|
|
4980
5915
|
};
|
|
4981
5916
|
|
|
5917
|
+
class IPutNotificationRequest {
|
|
5918
|
+
constructor(contactDetails, notificationType) {
|
|
5919
|
+
if (notificationType === 'EMAIL') {
|
|
5920
|
+
this.recipient_email_address = contactDetails;
|
|
5921
|
+
}
|
|
5922
|
+
else if (notificationType === 'LETTER') {
|
|
5923
|
+
this.recipient_postal_address = contactDetails;
|
|
5924
|
+
}
|
|
5925
|
+
}
|
|
5926
|
+
}
|
|
5927
|
+
|
|
4982
5928
|
class IResubmitRefundRequest {
|
|
4983
|
-
constructor(refund_reason, amount) {
|
|
5929
|
+
constructor(refund_reason, amount, contact_details, refund_fees) {
|
|
4984
5930
|
this.refund_reason = refund_reason;
|
|
4985
5931
|
this.amount = amount;
|
|
5932
|
+
this.contact_details = contact_details;
|
|
5933
|
+
this.refund_fees = refund_fees;
|
|
4986
5934
|
}
|
|
4987
5935
|
}
|
|
4988
5936
|
|
|
4989
5937
|
class RefundStatusComponent {
|
|
4990
|
-
constructor(formBuilder, refundService,
|
|
5938
|
+
constructor(formBuilder, refundService, notificationService, paymentLibComponent, OrderslistService, paymentViewService) {
|
|
4991
5939
|
this.formBuilder = formBuilder;
|
|
4992
5940
|
this.refundService = refundService;
|
|
5941
|
+
this.notificationService = notificationService;
|
|
4993
5942
|
this.paymentLibComponent = paymentLibComponent;
|
|
4994
|
-
this.paymentViewService = paymentViewService;
|
|
4995
|
-
this.router = router;
|
|
4996
5943
|
this.OrderslistService = OrderslistService;
|
|
5944
|
+
this.paymentViewService = paymentViewService;
|
|
4997
5945
|
this.LOGGEDINUSERROLES = [];
|
|
4998
5946
|
this.rejectedRefundList = [];
|
|
4999
5947
|
this.approvalStatus = 'Sent for approval';
|
|
5000
5948
|
this.rejectStatus = 'Update required';
|
|
5001
|
-
// approvalStatus = 'sent for approval';
|
|
5002
|
-
// rejectStatus = 'sent back';
|
|
5003
5949
|
this.errorMessage = null;
|
|
5004
5950
|
this.refundButtonState = '';
|
|
5005
5951
|
this.isAmountEmpty = false;
|
|
@@ -5008,19 +5954,22 @@ class RefundStatusComponent {
|
|
|
5008
5954
|
this.isRemissionLessThanFeeError = false;
|
|
5009
5955
|
this.refundHasError = false;
|
|
5010
5956
|
this.refundReasons = [];
|
|
5957
|
+
this.isResendOperationSuccess = false;
|
|
5958
|
+
this.isEditDetailsClicked = false;
|
|
5959
|
+
this.isEditAddressDeatilsClicked = false;
|
|
5011
5960
|
this.isRefundBtnDisabled = true;
|
|
5012
5961
|
this.isFromPayBubble = false;
|
|
5013
5962
|
this.isLastUpdatedByCurrentUser = true;
|
|
5014
5963
|
this.isProcessRefund = false;
|
|
5964
|
+
this.notificationSentViewIndex = -1;
|
|
5965
|
+
this.notificationPreview = false;
|
|
5966
|
+
this.notificationSentView = false;
|
|
5967
|
+
this.allowedRolesToAccessRefund = ['payments-refund-approver', 'payments-refund', 'payments'];
|
|
5015
5968
|
}
|
|
5016
5969
|
ngOnInit() {
|
|
5017
|
-
// if (this.check4AllowedRoles2AccessRefund()) {
|
|
5018
5970
|
this.resetRemissionForm([false, false, false, false], 'All');
|
|
5019
5971
|
this.bsPaymentDcnNumber = this.paymentLibComponent.bspaymentdcn;
|
|
5020
5972
|
this.isCallFromRefundList = this.paymentLibComponent.isCallFromRefundList;
|
|
5021
|
-
// if(this.paymentLibComponent.isFromRefundStatusPage) {
|
|
5022
|
-
// this.viewName = 'reviewandsubmitview';
|
|
5023
|
-
// }
|
|
5024
5973
|
if (this.API_ROOT == 'api/payment-history') {
|
|
5025
5974
|
this.isFromPayBubble = true;
|
|
5026
5975
|
}
|
|
@@ -5031,17 +5980,12 @@ class RefundStatusComponent {
|
|
|
5031
5980
|
}
|
|
5032
5981
|
else {
|
|
5033
5982
|
this.viewName = 'refundstatuslist';
|
|
5034
|
-
|
|
5035
|
-
this.
|
|
5036
|
-
|
|
5037
|
-
|
|
5038
|
-
(
|
|
5039
|
-
|
|
5040
|
-
};
|
|
5041
|
-
}
|
|
5042
|
-
else {
|
|
5043
|
-
this.rejectedRefundList = [];
|
|
5044
|
-
}
|
|
5983
|
+
this.refundService.getRefundStatusList(this.ccdCaseNumber).subscribe(refundList => {
|
|
5984
|
+
this.rejectedRefundList = refundList['refund_list'];
|
|
5985
|
+
}),
|
|
5986
|
+
(error) => {
|
|
5987
|
+
this.errorMessage = error.replace(/"/g, "");
|
|
5988
|
+
};
|
|
5045
5989
|
}
|
|
5046
5990
|
this.refundStatusForm = this.formBuilder.group({
|
|
5047
5991
|
amount: new FormControl('', Validators.compose([
|
|
@@ -5052,6 +5996,7 @@ class RefundStatusComponent {
|
|
|
5052
5996
|
reason: new FormControl()
|
|
5053
5997
|
});
|
|
5054
5998
|
if (this.refundlist !== undefined) {
|
|
5999
|
+
this.getRefundsNotification();
|
|
5055
6000
|
this.getRefundsStatusHistoryList();
|
|
5056
6001
|
if (this.LOGGEDINUSERROLES.some(i => i.includes('payments-refund-approver'))) {
|
|
5057
6002
|
this.isProcessRefund = true;
|
|
@@ -5063,7 +6008,6 @@ class RefundStatusComponent {
|
|
|
5063
6008
|
this.refundButtonState = this.refundlist.refund_status.name;
|
|
5064
6009
|
}
|
|
5065
6010
|
}
|
|
5066
|
-
//}
|
|
5067
6011
|
}
|
|
5068
6012
|
getRefundsStatusHistoryList() {
|
|
5069
6013
|
if (this.refundlist !== undefined) {
|
|
@@ -5076,6 +6020,14 @@ class RefundStatusComponent {
|
|
|
5076
6020
|
};
|
|
5077
6021
|
}
|
|
5078
6022
|
}
|
|
6023
|
+
getRefundsNotification() {
|
|
6024
|
+
this.notificationService.getRefundNotification(this.refundlist.refund_reference).subscribe(refundsNotification => {
|
|
6025
|
+
this.notificationList = refundsNotification['notifications'];
|
|
6026
|
+
}),
|
|
6027
|
+
(error) => {
|
|
6028
|
+
this.errorMessage = error.replace(/"/g, "");
|
|
6029
|
+
};
|
|
6030
|
+
}
|
|
5079
6031
|
goToRefundView(refundlist, navigationpage) {
|
|
5080
6032
|
this.OrderslistService.setRefundView(refundlist);
|
|
5081
6033
|
this.OrderslistService.setCCDCaseNumber(this.ccdCaseNumber);
|
|
@@ -5108,6 +6060,7 @@ class RefundStatusComponent {
|
|
|
5108
6060
|
}
|
|
5109
6061
|
gotoReviewAndReSubmitPage() {
|
|
5110
6062
|
this.viewName = 'reviewandsubmitview';
|
|
6063
|
+
this.getTemplateInstructionType(this.paymentObj, this.refundlist.payment_reference);
|
|
5111
6064
|
this.oldRefundReason = this.refundlist.reason;
|
|
5112
6065
|
this.changedAmount = this.refundlist.amount;
|
|
5113
6066
|
this.refundreason = this.refundStatusHistories.filter(data => data.status.toLowerCase() === 'update required')[0].notes;
|
|
@@ -5115,13 +6068,14 @@ class RefundStatusComponent {
|
|
|
5115
6068
|
this.refundReasons = refundReasons;
|
|
5116
6069
|
});
|
|
5117
6070
|
}
|
|
5118
|
-
gotoRefundReasonPage() {
|
|
6071
|
+
gotoRefundReasonPage(refundReason) {
|
|
5119
6072
|
this.isRefundBtnDisabled = false;
|
|
5120
6073
|
this.paymentLibComponent.REFUNDLIST = "true";
|
|
5121
6074
|
this.paymentLibComponent.isFromRefundStatusPage = true;
|
|
5122
6075
|
this.ccdCaseNumber = this.paymentLibComponent.CCD_CASE_NUMBER;
|
|
5123
6076
|
this.errorMessage = false;
|
|
5124
|
-
this.
|
|
6077
|
+
this.changeRefundReason = refundReason;
|
|
6078
|
+
this.viewName = 'issuerefundpage1';
|
|
5125
6079
|
}
|
|
5126
6080
|
gotoAmountPage() {
|
|
5127
6081
|
this.errorMessage = false;
|
|
@@ -5129,7 +6083,12 @@ class RefundStatusComponent {
|
|
|
5129
6083
|
this.isRefundBtnDisabled = false;
|
|
5130
6084
|
this.ccdCaseNumber = this.paymentLibComponent.CCD_CASE_NUMBER;
|
|
5131
6085
|
this.paymentLibComponent.isFromRefundStatusPage = true;
|
|
5132
|
-
this.
|
|
6086
|
+
if (this.refundlist.reason == 'Retrospective remission') {
|
|
6087
|
+
this.viewName = 'processretroremissonpage';
|
|
6088
|
+
}
|
|
6089
|
+
else {
|
|
6090
|
+
this.viewName = 'issuerefund';
|
|
6091
|
+
}
|
|
5133
6092
|
}
|
|
5134
6093
|
goToReviewAndSubmitView() {
|
|
5135
6094
|
const remissionctrls = this.refundStatusForm.controls;
|
|
@@ -5175,12 +6134,17 @@ class RefundStatusComponent {
|
|
|
5175
6134
|
}
|
|
5176
6135
|
getRefundListReason(refundListReason) {
|
|
5177
6136
|
if (this.paymentLibComponent.isFromRefundStatusPage && !this.paymentLibComponent.iscancelClicked) {
|
|
5178
|
-
|
|
5179
|
-
|
|
6137
|
+
if (refundListReason.reason != undefined && refundListReason.reason != null && refundListReason.reason != this.refundlist.reason) {
|
|
6138
|
+
this.refundlist.reason = refundListReason.reason;
|
|
6139
|
+
this.refundlist.reason_code = refundListReason.code.split('-')[0].trim();
|
|
6140
|
+
this.refundlist.code = refundListReason.code;
|
|
6141
|
+
this.refundCode = refundListReason.code;
|
|
6142
|
+
}
|
|
5180
6143
|
}
|
|
5181
6144
|
else {
|
|
5182
6145
|
this.isRefundBtnDisabled = true;
|
|
5183
6146
|
}
|
|
6147
|
+
this.notificationPreview = false;
|
|
5184
6148
|
this.viewName = 'reviewandsubmitview';
|
|
5185
6149
|
this.paymentLibComponent.CCD_CASE_NUMBER = this.ccdCaseNumber;
|
|
5186
6150
|
}
|
|
@@ -5194,14 +6158,32 @@ class RefundStatusComponent {
|
|
|
5194
6158
|
else {
|
|
5195
6159
|
this.isRefundBtnDisabled = true;
|
|
5196
6160
|
}
|
|
6161
|
+
this.notificationPreview = false;
|
|
5197
6162
|
this.viewName = 'reviewandsubmitview';
|
|
5198
6163
|
this.paymentLibComponent.CCD_CASE_NUMBER = this.ccdCaseNumber;
|
|
5199
6164
|
}
|
|
6165
|
+
getRefundFees(fees) {
|
|
6166
|
+
this.fees = fees;
|
|
6167
|
+
this.refundFees = this.fees.map(obj => ({
|
|
6168
|
+
fee_id: obj.id,
|
|
6169
|
+
code: obj.code,
|
|
6170
|
+
version: obj.version,
|
|
6171
|
+
volume: obj.updated_volume ? obj.updated_volume : obj.volume,
|
|
6172
|
+
refund_amount: obj.refund_amount
|
|
6173
|
+
}));
|
|
6174
|
+
}
|
|
5200
6175
|
gotoReviewRefundConfirmationPage() {
|
|
5201
|
-
if (this.oldRefundReason === this.refundlist.reason) {
|
|
5202
|
-
|
|
6176
|
+
// if (this.oldRefundReason === this.refundlist.reason) {
|
|
6177
|
+
// this.refundCode = '';
|
|
6178
|
+
// }
|
|
6179
|
+
if (this.refundFees === undefined) {
|
|
6180
|
+
this.refundFees = this.refundlist['refund_fees'];
|
|
6181
|
+
}
|
|
6182
|
+
if (this.refundlist.reason == 'Retrospective remission') {
|
|
6183
|
+
this.refundFees[0].refund_amount = this.changedAmount;
|
|
5203
6184
|
}
|
|
5204
|
-
|
|
6185
|
+
this.refundCode = this.refundlist.code;
|
|
6186
|
+
const resubmitRequest = new IResubmitRefundRequest(this.refundCode, this.changedAmount, this.refundlist.contact_details, this.refundFees);
|
|
5205
6187
|
this.refundService.patchResubmitRefund(resubmitRequest, this.refundlist.refund_reference).subscribe(response => {
|
|
5206
6188
|
if (JSON.parse(response)) {
|
|
5207
6189
|
this.refundReference = JSON.parse(response).refund_reference;
|
|
@@ -5212,40 +6194,143 @@ class RefundStatusComponent {
|
|
|
5212
6194
|
this.errorMessage = error.replace(/"/g, "");
|
|
5213
6195
|
});
|
|
5214
6196
|
}
|
|
6197
|
+
gotoEditAddressDetails(note) {
|
|
6198
|
+
this.notification = note;
|
|
6199
|
+
this.isEditDetailsClicked = true;
|
|
6200
|
+
this.viewName = 'refundEditView';
|
|
6201
|
+
}
|
|
6202
|
+
getContactDetails(obj) {
|
|
6203
|
+
this.addressDetails = obj;
|
|
6204
|
+
this.getTemplateInstructionType(this.paymentObj, this.refundlist.payment_reference);
|
|
6205
|
+
this.notificationPreview = false;
|
|
6206
|
+
this.viewName = 'revieweditdetailsconfirmationpage';
|
|
6207
|
+
}
|
|
6208
|
+
getContactDetailsForRefundList(obj) {
|
|
6209
|
+
this.refundlist.contact_details = obj;
|
|
6210
|
+
this.getTemplateInstructionType(this.paymentObj, this.refundlist.payment_reference);
|
|
6211
|
+
this.notificationPreview = false;
|
|
6212
|
+
this.isEditDetailsClicked = false;
|
|
6213
|
+
this.isRefundBtnDisabled = false;
|
|
6214
|
+
this.viewName = 'reviewandsubmitview';
|
|
6215
|
+
}
|
|
6216
|
+
gotoEditDetailsPage(note, view) {
|
|
6217
|
+
if (note) {
|
|
6218
|
+
this.notification = { contact_details: note, notification_type: note.notification_type };
|
|
6219
|
+
}
|
|
6220
|
+
this.isEditDetailsClicked = true;
|
|
6221
|
+
this.viewName = view;
|
|
6222
|
+
}
|
|
6223
|
+
submitEditDetail() {
|
|
6224
|
+
this.isResendOperationSuccess = false;
|
|
6225
|
+
const contactDetails = this.addressDetails.notification_type === 'EMAIL' ? this.addressDetails.email :
|
|
6226
|
+
{
|
|
6227
|
+
address_line: this.addressDetails.address_line,
|
|
6228
|
+
city: this.addressDetails.city,
|
|
6229
|
+
county: this.addressDetails.county,
|
|
6230
|
+
country: this.addressDetails.country,
|
|
6231
|
+
postal_code: this.addressDetails.postal_code,
|
|
6232
|
+
};
|
|
6233
|
+
const resendRequest = new IPutNotificationRequest(contactDetails, this.addressDetails.notification_type);
|
|
6234
|
+
this.refundService.putResendOrEdit(resendRequest, this.refundlist.refund_reference, this.addressDetails.notification_type).subscribe((response) => {
|
|
6235
|
+
this.isResendOperationSuccess = response;
|
|
6236
|
+
}, (error) => {
|
|
6237
|
+
this.isResendOperationSuccess = false;
|
|
6238
|
+
this.errorMessage = error.replace(/"/g, "");
|
|
6239
|
+
});
|
|
6240
|
+
}
|
|
6241
|
+
putResend(notification) {
|
|
6242
|
+
this.isResendOperationSuccess = false;
|
|
6243
|
+
const contactDetails = notification.notification_type === 'EMAIL' ? notification.contact_details.email :
|
|
6244
|
+
{
|
|
6245
|
+
address_line: notification.contact_details.address_line,
|
|
6246
|
+
city: notification.contact_details.city,
|
|
6247
|
+
county: notification.contact_details.county,
|
|
6248
|
+
country: notification.contact_details.country,
|
|
6249
|
+
postal_code: notification.contact_details.postal_code,
|
|
6250
|
+
};
|
|
6251
|
+
const resendRequest = new IPutNotificationRequest(contactDetails, notification.notification_type);
|
|
6252
|
+
this.refundService.putResendOrEdit(resendRequest, this.refundlist.refund_reference, notification.notification_type).subscribe((response) => {
|
|
6253
|
+
this.isResendOperationSuccess = response;
|
|
6254
|
+
}, (error) => {
|
|
6255
|
+
this.isResendOperationSuccess = false;
|
|
6256
|
+
this.errorMessage = error.replace(/"/g, "");
|
|
6257
|
+
});
|
|
6258
|
+
}
|
|
6259
|
+
gotoRefundViewPageCancelBtnClicked(event) {
|
|
6260
|
+
event.preventDefault();
|
|
6261
|
+
this.isEditDetailsClicked = false;
|
|
6262
|
+
this.viewName = 'refundview';
|
|
6263
|
+
}
|
|
6264
|
+
gotoRefundReviewAndSubmitViewPageCancelBtnClicked(event) {
|
|
6265
|
+
event.preventDefault();
|
|
6266
|
+
this.isEditDetailsClicked = false;
|
|
6267
|
+
this.viewName = 'reviewandsubmitview';
|
|
6268
|
+
}
|
|
5215
6269
|
goToRefundProcessComponent(refundReference, refundList) {
|
|
5216
6270
|
this.paymentLibComponent.refundlistsource = refundList;
|
|
5217
6271
|
this.paymentLibComponent.refundReference = refundReference;
|
|
6272
|
+
this.paymentLibComponent.isFromPayBubble = true;
|
|
5218
6273
|
this.paymentLibComponent.viewName = 'process-refund';
|
|
5219
6274
|
}
|
|
6275
|
+
getTemplateInstructionType(payment, paymentReference) {
|
|
6276
|
+
if (payment == undefined || payment == null || payment.reference != paymentReference) {
|
|
6277
|
+
this.paymentViewService.getPaymentDetails(paymentReference).subscribe(payment => {
|
|
6278
|
+
this.paymentObj = payment;
|
|
6279
|
+
this.paymentObj.reference = paymentReference;
|
|
6280
|
+
this.templateInstructionType = this.notificationService.getNotificationInstructionType(this.paymentObj.channel, this.paymentObj.method);
|
|
6281
|
+
}, (error) => {
|
|
6282
|
+
this.templateInstructionType = 'Template';
|
|
6283
|
+
});
|
|
6284
|
+
}
|
|
6285
|
+
else {
|
|
6286
|
+
this.templateInstructionType = this.notificationService.getNotificationInstructionType(payment.channel, payment.method);
|
|
6287
|
+
}
|
|
6288
|
+
}
|
|
6289
|
+
showNotificationPreview() {
|
|
6290
|
+
this.notificationPreview = true;
|
|
6291
|
+
}
|
|
6292
|
+
hideNotificationPreview() {
|
|
6293
|
+
this.notificationPreview = false;
|
|
6294
|
+
}
|
|
6295
|
+
showNotificationSentView(index) {
|
|
6296
|
+
this.notificationSentViewIndex = index;
|
|
6297
|
+
this.notificationSentView = true;
|
|
6298
|
+
}
|
|
6299
|
+
hideNotificationSentView() {
|
|
6300
|
+
this.notificationSentViewIndex = -1;
|
|
6301
|
+
this.notificationSentView = false;
|
|
6302
|
+
}
|
|
5220
6303
|
}
|
|
5221
6304
|
RefundStatusComponent.decorators = [
|
|
5222
6305
|
{ type: Component, args: [{
|
|
5223
6306
|
selector: 'ccpay-refund-status',
|
|
5224
|
-
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",
|
|
5225
|
-
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}"]
|
|
6307
|
+
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> | <a href=\"Javascript:void(0);\" (click)=\"gotoEditAddressDetails(notification)\">Edit details</a> | <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",
|
|
6308
|
+
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}"]
|
|
5226
6309
|
},] }
|
|
5227
6310
|
];
|
|
5228
6311
|
RefundStatusComponent.ctorParameters = () => [
|
|
5229
6312
|
{ type: FormBuilder },
|
|
5230
6313
|
{ type: RefundsService },
|
|
6314
|
+
{ type: NotificationService },
|
|
5231
6315
|
{ type: PaymentLibComponent },
|
|
5232
|
-
{ type:
|
|
5233
|
-
{ type:
|
|
5234
|
-
{ type: OrderslistService }
|
|
6316
|
+
{ type: OrderslistService },
|
|
6317
|
+
{ type: PaymentViewService }
|
|
5235
6318
|
];
|
|
5236
6319
|
RefundStatusComponent.propDecorators = {
|
|
5237
6320
|
LOGGEDINUSERROLES: [{ type: Input, args: ['LOGGEDINUSERROLES',] }],
|
|
5238
6321
|
API_ROOT: [{ type: Input, args: ['API_ROOT',] }],
|
|
5239
6322
|
ccdCaseNumber: [{ type: Input }],
|
|
5240
6323
|
isTurnOff: [{ type: Input }],
|
|
5241
|
-
|
|
6324
|
+
orderParty: [{ type: Input }]
|
|
5242
6325
|
};
|
|
5243
6326
|
|
|
5244
6327
|
class ServiceRequestComponent {
|
|
5245
|
-
constructor(paymentLibComponent, paymentViewService, OrderslistService, router) {
|
|
6328
|
+
constructor(paymentLibComponent, paymentViewService, OrderslistService, notificationService, cd, router) {
|
|
5246
6329
|
this.paymentLibComponent = paymentLibComponent;
|
|
5247
6330
|
this.paymentViewService = paymentViewService;
|
|
5248
6331
|
this.OrderslistService = OrderslistService;
|
|
6332
|
+
this.notificationService = notificationService;
|
|
6333
|
+
this.cd = cd;
|
|
5249
6334
|
this.router = router;
|
|
5250
6335
|
this.goToServiceRquestComponent = new EventEmitter();
|
|
5251
6336
|
this.paymentGroups = [];
|
|
@@ -5253,7 +6338,6 @@ class ServiceRequestComponent {
|
|
|
5253
6338
|
this.nonPayments = [];
|
|
5254
6339
|
this.allPayments = [];
|
|
5255
6340
|
this.remissions = [];
|
|
5256
|
-
this.fees = [];
|
|
5257
6341
|
this.isRefundRemission = true;
|
|
5258
6342
|
this.isAddFeeBtnEnabled = true;
|
|
5259
6343
|
this.isExceptionRecord = false;
|
|
@@ -5273,18 +6357,11 @@ class ServiceRequestComponent {
|
|
|
5273
6357
|
this.isAddRemissionBtnEnabled = false;
|
|
5274
6358
|
this.isRefundRemissionBtnEnable = false;
|
|
5275
6359
|
this.allowedRolesToAccessRefund = ['payments-refund-approver', 'payments-refund'];
|
|
5276
|
-
this.
|
|
5277
|
-
return this.allowedRolesToAccessRefund.some(role => this.LOGGEDINUSERROLES.indexOf(role) !== -1);
|
|
5278
|
-
};
|
|
5279
|
-
this.allowFurtherAccessAfter4Days = (payment) => {
|
|
5280
|
-
if (payment !== null && payment !== undefined) {
|
|
5281
|
-
let tmp4DayAgo = new Date();
|
|
5282
|
-
tmp4DayAgo.setDate(tmp4DayAgo.getDate() - 4);
|
|
5283
|
-
return tmp4DayAgo >= new Date(payment.date_created);
|
|
5284
|
-
}
|
|
5285
|
-
};
|
|
6360
|
+
this.isContinueBtnDisabled = true;
|
|
5286
6361
|
}
|
|
5287
6362
|
ngOnInit() {
|
|
6363
|
+
this.isTurnOff = this.paymentLibComponent.ISTURNOFF;
|
|
6364
|
+
this.isServiceRequest = 'false';
|
|
5288
6365
|
if (this.viewStatus === undefined) {
|
|
5289
6366
|
this.viewStatus = this.paymentLibComponent.viewName;
|
|
5290
6367
|
}
|
|
@@ -5300,9 +6377,9 @@ class ServiceRequestComponent {
|
|
|
5300
6377
|
this.OrderslistService.getoorderTotalPaymentss().subscribe((data) => this.orderTotalPayments = data);
|
|
5301
6378
|
}
|
|
5302
6379
|
}
|
|
5303
|
-
|
|
5304
|
-
|
|
5305
|
-
|
|
6380
|
+
if (this.paymentLibComponent.isFromServiceRequestPage && this.paymentLibComponent.TAKEPAYMENT) {
|
|
6381
|
+
this.isServiceRequest = 'false';
|
|
6382
|
+
}
|
|
5306
6383
|
}
|
|
5307
6384
|
goToServiceRequestPage() {
|
|
5308
6385
|
this.goToServiceRquestComponent.emit();
|
|
@@ -5317,7 +6394,7 @@ class ServiceRequestComponent {
|
|
|
5317
6394
|
if (this.takePayment) {
|
|
5318
6395
|
this.paymentLibComponent.isTakePayment = this.takePayment;
|
|
5319
6396
|
}
|
|
5320
|
-
this.paymentLibComponent.SERVICEREQUEST = "true";
|
|
6397
|
+
//this.paymentLibComponent.SERVICEREQUEST = "true";
|
|
5321
6398
|
this.paymentLibComponent.isFromServiceRequestPage = false;
|
|
5322
6399
|
if (this.isServiceRequest !== 'false') {
|
|
5323
6400
|
this.paymentLibComponent.isFromServiceRequestPage = true;
|
|
@@ -5338,44 +6415,8 @@ class ServiceRequestComponent {
|
|
|
5338
6415
|
this.router.onSameUrlNavigation = 'reload';
|
|
5339
6416
|
this.router.navigateByUrl(url);
|
|
5340
6417
|
}
|
|
5341
|
-
chkForAddRemission(feeCode) {
|
|
5342
|
-
if (this.chkForPBAPayment() && this.check4AllowedRoles2AccessRefund()) {
|
|
5343
|
-
if (this.orderDetail[0]['remissions'].length > 0) {
|
|
5344
|
-
for (const remission of this.orderDetail[0]['remissions']) {
|
|
5345
|
-
if (remission.fee_code === feeCode) {
|
|
5346
|
-
return false;
|
|
5347
|
-
}
|
|
5348
|
-
}
|
|
5349
|
-
}
|
|
5350
|
-
return true;
|
|
5351
|
-
}
|
|
5352
|
-
else {
|
|
5353
|
-
return false;
|
|
5354
|
-
}
|
|
5355
|
-
}
|
|
5356
|
-
chkForPBAPayment() {
|
|
5357
|
-
if (this.orderDetail !== null && this.orderDetail !== undefined) {
|
|
5358
|
-
this.orderDetail.forEach(orderDetail => {
|
|
5359
|
-
if (orderDetail.payments) {
|
|
5360
|
-
orderDetail.payments.forEach(payment => {
|
|
5361
|
-
if (payment.method.toLocaleLowerCase() === 'payment by account' && this.allowFurtherAccessAfter4Days(payment)) {
|
|
5362
|
-
this.paymentLibComponent.paymentReference = payment.reference;
|
|
5363
|
-
this.isPBA = true;
|
|
5364
|
-
}
|
|
5365
|
-
});
|
|
5366
|
-
}
|
|
5367
|
-
});
|
|
5368
|
-
if (this.isPBA) {
|
|
5369
|
-
return true;
|
|
5370
|
-
}
|
|
5371
|
-
else {
|
|
5372
|
-
return false;
|
|
5373
|
-
}
|
|
5374
|
-
;
|
|
5375
|
-
}
|
|
5376
|
-
}
|
|
5377
6418
|
addRemission(fee) {
|
|
5378
|
-
if (this.
|
|
6419
|
+
if (this.chkIsAddRemissionBtnEnable(fee)) {
|
|
5379
6420
|
this.feeId = fee;
|
|
5380
6421
|
this.viewStatus = 'addremission';
|
|
5381
6422
|
this.payment = this.orderDetail[0].payments[0];
|
|
@@ -5383,20 +6424,20 @@ class ServiceRequestComponent {
|
|
|
5383
6424
|
this.paymentGroup = paymentGroup;
|
|
5384
6425
|
this.paymentGroup.payments = this.paymentGroup.payments.filter(paymentGroupObj => paymentGroupObj['reference'].includes(this.paymentLibComponent.paymentReference));
|
|
5385
6426
|
this.payment = this.paymentGroup.payments[0];
|
|
5386
|
-
//
|
|
5387
|
-
//
|
|
6427
|
+
// const paymentAllocation = this.paymentGroup.payments[0].payment_allocation;
|
|
6428
|
+
// this.isStatusAllocated = paymentAllocation.length > 0 && paymentAllocation[0].allocation_status === 'Allocated' || paymentAllocation.length === 0;
|
|
5388
6429
|
}, (error) => this.errorMessage = error.replace(/"/g, ""));
|
|
5389
6430
|
}
|
|
5390
6431
|
}
|
|
5391
6432
|
addRefundForRemission(payment, remission, fees) {
|
|
5392
|
-
this.
|
|
5393
|
-
this.payment
|
|
5394
|
-
this.paymentViewService.getApportionPaymentDetails(this.payment.reference).subscribe(paymentGroup => {
|
|
6433
|
+
this.paymentLibComponent.isFromServiceRequestPage = true;
|
|
6434
|
+
this.paymentViewService.getApportionPaymentDetails(payment.reference).subscribe(paymentGroup => {
|
|
5395
6435
|
this.paymentGroup = paymentGroup;
|
|
5396
|
-
this.paymentGroup.payments = this.paymentGroup.payments.filter(paymentGroupObj => paymentGroupObj
|
|
6436
|
+
this.paymentGroup.payments = this.paymentGroup.payments.filter(paymentGroupObj => paymentGroupObj.reference === payment.reference);
|
|
5397
6437
|
this.payment = this.paymentGroup.payments[0];
|
|
5398
6438
|
this.remissions = remission;
|
|
5399
6439
|
this.remissionFeeAmt = fees.filter(data => data.code === this.remissions['fee_code'])[0].net_amount;
|
|
6440
|
+
this.viewStatus = 'addrefundforremission';
|
|
5400
6441
|
// const paymentAllocation = this.paymentGroup.payments[0].payment_allocation;
|
|
5401
6442
|
// this.isStatusAllocated = paymentAllocation.length > 0 && paymentAllocation[0].allocation_status === 'Allocated' || paymentAllocation.length === 0;
|
|
5402
6443
|
}, (error) => this.errorMessage = error);
|
|
@@ -5413,47 +6454,26 @@ class ServiceRequestComponent {
|
|
|
5413
6454
|
this.isRemoveBtnDisabled = false;
|
|
5414
6455
|
});
|
|
5415
6456
|
}
|
|
5416
|
-
chkIssueRefundBtnEnable(payment) {
|
|
5417
|
-
if (this.check4AllowedRoles2AccessRefund() && this.allowFurtherAccessAfter4Days(payment) &&
|
|
5418
|
-
payment.method === 'payment by account' && payment.status.toLocaleLowerCase() === 'success') {
|
|
5419
|
-
this.isIssueRefunfBtnEnable = true;
|
|
5420
|
-
}
|
|
5421
|
-
if (this.isIssueRefunfBtnEnable) {
|
|
5422
|
-
return true;
|
|
5423
|
-
}
|
|
5424
|
-
else {
|
|
5425
|
-
return false;
|
|
5426
|
-
}
|
|
5427
|
-
;
|
|
5428
|
-
}
|
|
5429
|
-
chkIsRefundRemissionBtnEnable() {
|
|
5430
|
-
if (this.orderDetail !== null && this.orderDetail !== undefined) {
|
|
5431
|
-
this.paymentLibComponent.isFromServiceRequestPage = true;
|
|
5432
|
-
this.orderDetail.forEach(orderDetail => {
|
|
5433
|
-
if (orderDetail.payments) {
|
|
5434
|
-
orderDetail.payments.forEach(payment => {
|
|
5435
|
-
if (payment.method.toLocaleLowerCase() === 'payment by account' && payment.status.toLocaleLowerCase() === 'success' && this.allowFurtherAccessAfter4Days(payment)) {
|
|
5436
|
-
this.isRefundRemissionBtnEnable = true;
|
|
5437
|
-
}
|
|
5438
|
-
});
|
|
5439
|
-
}
|
|
5440
|
-
});
|
|
5441
|
-
if (this.isRefundRemissionBtnEnable) {
|
|
5442
|
-
return true;
|
|
5443
|
-
}
|
|
5444
|
-
else {
|
|
5445
|
-
return false;
|
|
5446
|
-
}
|
|
5447
|
-
;
|
|
5448
|
-
}
|
|
5449
|
-
}
|
|
5450
6457
|
issueRefund(payment) {
|
|
5451
6458
|
if (payment !== null && payment !== undefined) {
|
|
5452
|
-
if (this.
|
|
5453
|
-
this.
|
|
5454
|
-
|
|
5455
|
-
|
|
5456
|
-
|
|
6459
|
+
if (this.chkIsIssueRefundBtnEnable(payment)) {
|
|
6460
|
+
this.paymentViewService.getApportionPaymentDetails(payment.reference).subscribe(paymentGroup => {
|
|
6461
|
+
paymentGroup.payments = paymentGroup.payments.filter(paymentGroupObj => paymentGroupObj['reference'].includes(payment.reference));
|
|
6462
|
+
if (payment.over_payment > 0) {
|
|
6463
|
+
this.viewStatus = '';
|
|
6464
|
+
this.payment = payment;
|
|
6465
|
+
this.paymentGroupList = paymentGroup;
|
|
6466
|
+
this.viewCompStatus = 'overpayment';
|
|
6467
|
+
}
|
|
6468
|
+
else {
|
|
6469
|
+
this.viewStatus = 'issuerefund';
|
|
6470
|
+
this.viewCompStatus = '';
|
|
6471
|
+
this.paymentFees = paymentGroup.fees;
|
|
6472
|
+
this.payment = payment;
|
|
6473
|
+
this.paymentLibComponent.isFromServiceRequestPage = true;
|
|
6474
|
+
this.isRefundRemission = true;
|
|
6475
|
+
}
|
|
6476
|
+
}, (error) => this.errorMessage = error);
|
|
5457
6477
|
}
|
|
5458
6478
|
}
|
|
5459
6479
|
}
|
|
@@ -5475,6 +6495,30 @@ class ServiceRequestComponent {
|
|
|
5475
6495
|
this.OrderslistService.setorderFeesTotal(this.orderFeesTotal);
|
|
5476
6496
|
this.viewStatus = 'payment-view';
|
|
5477
6497
|
}
|
|
6498
|
+
chkIsIssueRefundBtnEnable(payment) {
|
|
6499
|
+
if (payment !== null && payment !== undefined) {
|
|
6500
|
+
return payment.issue_refund && payment.refund_enable;
|
|
6501
|
+
}
|
|
6502
|
+
else {
|
|
6503
|
+
return false;
|
|
6504
|
+
}
|
|
6505
|
+
}
|
|
6506
|
+
chkIsAddRefundBtnEnable(remission) {
|
|
6507
|
+
if (remission !== null && remission !== undefined) {
|
|
6508
|
+
return remission.add_refund;
|
|
6509
|
+
}
|
|
6510
|
+
else {
|
|
6511
|
+
return false;
|
|
6512
|
+
}
|
|
6513
|
+
}
|
|
6514
|
+
chkIsAddRemissionBtnEnable(fee) {
|
|
6515
|
+
if (fee !== null && fee !== undefined) {
|
|
6516
|
+
return fee.add_remission && fee.remission_enable;
|
|
6517
|
+
}
|
|
6518
|
+
else {
|
|
6519
|
+
return false;
|
|
6520
|
+
}
|
|
6521
|
+
}
|
|
5478
6522
|
resetOrderData() {
|
|
5479
6523
|
this.OrderslistService.setOrderRef(null);
|
|
5480
6524
|
this.OrderslistService.setorderCCDEvent(null);
|
|
@@ -5485,18 +6529,112 @@ class ServiceRequestComponent {
|
|
|
5485
6529
|
this.OrderslistService.setorderRemissionTotal(null);
|
|
5486
6530
|
this.OrderslistService.setorderFeesTotal(null);
|
|
5487
6531
|
}
|
|
6532
|
+
selectPymentOption(paymentType) {
|
|
6533
|
+
this.paymentType = paymentType;
|
|
6534
|
+
this.isContinueBtnDisabled = false;
|
|
6535
|
+
}
|
|
6536
|
+
goToPaymentViewComp() {
|
|
6537
|
+
this.viewCompStatus = '';
|
|
6538
|
+
this.viewStatus = 'paymentview';
|
|
6539
|
+
}
|
|
6540
|
+
continuePayment(paymentgrp) {
|
|
6541
|
+
if (this.paymentType === 'op') {
|
|
6542
|
+
this.isFullyRefund = false;
|
|
6543
|
+
this.viewStatus = '';
|
|
6544
|
+
this.viewCompStatus = 'overPaymentAddressCapture';
|
|
6545
|
+
}
|
|
6546
|
+
else if (this.paymentType === 'fp') {
|
|
6547
|
+
this.isFullyRefund = true;
|
|
6548
|
+
this.paymentGroupList = paymentgrp;
|
|
6549
|
+
this.viewStatus = 'issuerefund';
|
|
6550
|
+
this.viewCompStatus = "";
|
|
6551
|
+
this.isRefundRemission = true;
|
|
6552
|
+
this.paymentLibComponent.isFromPaymentDetailPage = true;
|
|
6553
|
+
this.isFromPaymentDetailPage = true;
|
|
6554
|
+
this.isFromServiceRequestPage = this.paymentLibComponent.isFromServiceRequestPage;
|
|
6555
|
+
}
|
|
6556
|
+
}
|
|
6557
|
+
getContactDetails(obj) {
|
|
6558
|
+
this.contactDetailsObj = obj;
|
|
6559
|
+
this.viewStatus = '';
|
|
6560
|
+
this.viewCompStatus = 'overpaymentcheckandanswer';
|
|
6561
|
+
this.getTemplateInstructionType(this.paymentGroupList.payments[0]);
|
|
6562
|
+
this.notificationPreview = false;
|
|
6563
|
+
}
|
|
6564
|
+
gotoPaymentSelectPage(event) {
|
|
6565
|
+
event.preventDefault();
|
|
6566
|
+
this.viewStatus = '';
|
|
6567
|
+
this.viewCompStatus = 'overpayment';
|
|
6568
|
+
}
|
|
6569
|
+
gotoAddressPage(note) {
|
|
6570
|
+
if (note) {
|
|
6571
|
+
this.notification = { contact_details: note, notification_type: note.notification_type };
|
|
6572
|
+
}
|
|
6573
|
+
this.errorMessage = '';
|
|
6574
|
+
this.viewStatus = '';
|
|
6575
|
+
this.viewCompStatus = 'overPaymentAddressCapture';
|
|
6576
|
+
}
|
|
6577
|
+
processRefund() {
|
|
6578
|
+
this.isConfirmationBtnDisabled = true;
|
|
6579
|
+
this.errorMessage = '';
|
|
6580
|
+
const obj = this.paymentGroupList.fees[0];
|
|
6581
|
+
this.fees = [{ id: obj.id,
|
|
6582
|
+
code: obj.code,
|
|
6583
|
+
version: obj.version,
|
|
6584
|
+
apportion_amount: obj.apportion_amount,
|
|
6585
|
+
calculated_amount: obj.calculated_amount,
|
|
6586
|
+
updated_volume: obj.updated_volume ? obj.updated_volume : obj.volume,
|
|
6587
|
+
volume: obj.volume,
|
|
6588
|
+
refund_amount: this.getOverPaymentValue() }];
|
|
6589
|
+
const requestBody = new PostRefundRetroRemission(this.contactDetailsObj, this.fees, this.paymentGroupList.payments[0].reference, 'RR037', this.getOverPaymentValue(), 'op');
|
|
6590
|
+
this.paymentViewService.postRefundsReason(requestBody).subscribe(response => {
|
|
6591
|
+
if (JSON.parse(response)) {
|
|
6592
|
+
this.viewCompStatus = '';
|
|
6593
|
+
this.viewStatus = 'refundconfirmationpage';
|
|
6594
|
+
this.refundReference = JSON.parse(response).refund_reference;
|
|
6595
|
+
this.refundAmount = JSON.parse(response).refund_amount;
|
|
6596
|
+
}
|
|
6597
|
+
}, (error) => {
|
|
6598
|
+
this.errorMessage = error;
|
|
6599
|
+
this.isConfirmationBtnDisabled = false;
|
|
6600
|
+
this.cd.detectChanges();
|
|
6601
|
+
});
|
|
6602
|
+
}
|
|
6603
|
+
getOverPaymentValue() {
|
|
6604
|
+
let feesOverPayment = 0;
|
|
6605
|
+
this.paymentGroupList.fees.forEach(fee => {
|
|
6606
|
+
feesOverPayment += fee.over_payment;
|
|
6607
|
+
});
|
|
6608
|
+
return feesOverPayment > 0 ? feesOverPayment : this.paymentGroupList.payments[0].over_payment;
|
|
6609
|
+
}
|
|
6610
|
+
getTemplateInstructionType(payment) {
|
|
6611
|
+
if (payment == undefined || payment == null) {
|
|
6612
|
+
this.templateInstructionType = 'Template';
|
|
6613
|
+
}
|
|
6614
|
+
else {
|
|
6615
|
+
this.templateInstructionType = this.notificationService.getNotificationInstructionType(payment.channel, payment.method);
|
|
6616
|
+
}
|
|
6617
|
+
}
|
|
6618
|
+
showNotificationPreview() {
|
|
6619
|
+
this.notificationPreview = true;
|
|
6620
|
+
}
|
|
6621
|
+
hideNotificationPreview() {
|
|
6622
|
+
this.notificationPreview = false;
|
|
6623
|
+
}
|
|
5488
6624
|
}
|
|
5489
6625
|
ServiceRequestComponent.decorators = [
|
|
5490
6626
|
{ type: Component, args: [{
|
|
5491
6627
|
selector: 'ccpay-service-request',
|
|
5492
|
-
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",
|
|
5493
|
-
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%}"]
|
|
6628
|
+
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()}} {{contactDetailsObj?.city?.trim()}} {{contactDetailsObj?.county?.trim()}} {{contactDetailsObj?.country?.trim()}} {{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",
|
|
6629
|
+
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}"]
|
|
5494
6630
|
},] }
|
|
5495
6631
|
];
|
|
5496
6632
|
ServiceRequestComponent.ctorParameters = () => [
|
|
5497
6633
|
{ type: PaymentLibComponent },
|
|
5498
6634
|
{ type: PaymentViewService },
|
|
5499
6635
|
{ type: OrderslistService },
|
|
6636
|
+
{ type: NotificationService },
|
|
6637
|
+
{ type: ChangeDetectorRef },
|
|
5500
6638
|
{ type: Router }
|
|
5501
6639
|
];
|
|
5502
6640
|
ServiceRequestComponent.propDecorators = {
|
|
@@ -5511,6 +6649,7 @@ ServiceRequestComponent.propDecorators = {
|
|
|
5511
6649
|
orderFeesTotal: [{ type: Input, args: ['orderFeesTotal',] }],
|
|
5512
6650
|
orderTotalPayments: [{ type: Input, args: ['orderTotalPayments',] }],
|
|
5513
6651
|
orderRemissionTotal: [{ type: Input, args: ['orderRemissionTotal',] }],
|
|
6652
|
+
paymentGroupList: [{ type: Input, args: ['paymentGroupList',] }],
|
|
5514
6653
|
takePayment: [{ type: Input, args: ['takePayment',] }],
|
|
5515
6654
|
ccdCaseNumber: [{ type: Input, args: ['ccdCaseNumber',] }],
|
|
5516
6655
|
isServiceRequest: [{ type: Input, args: ["isServiceRequest",] }],
|
|
@@ -5589,6 +6728,7 @@ class PbaPaymentComponent {
|
|
|
5589
6728
|
this.isPBAAccountNotExist = false;
|
|
5590
6729
|
this.isPBAServerError = false;
|
|
5591
6730
|
this.isPBAAccountPaymentSuccess = false;
|
|
6731
|
+
this.isContinueButtondisabled = true;
|
|
5592
6732
|
if (this.pbaAccountList.indexOf(this.selectedPbaAccount) !== -1) {
|
|
5593
6733
|
const requestBody = new IserviceRequestPbaPayment(this.selectedPbaAccount, this.pbaPayOrderRef.orderTotalFees, this.pbaAccountRef, this.orgName);
|
|
5594
6734
|
this.paymentViewService.postPBAaccountPayment(this.pbaPayOrderRef.orderRefId, requestBody)
|
|
@@ -5671,6 +6811,97 @@ PbaPaymentComponent.propDecorators = {
|
|
|
5671
6811
|
pbaPayOrderRef: [{ type: Input }]
|
|
5672
6812
|
};
|
|
5673
6813
|
|
|
6814
|
+
class NotificationPreviewRequest {
|
|
6815
|
+
constructor(payment, contactDetails, refund_reason, refund_amount, refund_reference, payment_reference) {
|
|
6816
|
+
if (contactDetails !== undefined && contactDetails !== null) {
|
|
6817
|
+
this.notification_type = contactDetails.notification_type.toUpperCase();
|
|
6818
|
+
}
|
|
6819
|
+
if (payment !== undefined && payment !== null) {
|
|
6820
|
+
this.payment_reference = payment.reference;
|
|
6821
|
+
this.payment_method = payment.method;
|
|
6822
|
+
this.payment_channel = payment.channel;
|
|
6823
|
+
this.service_name = payment.service_name;
|
|
6824
|
+
}
|
|
6825
|
+
else {
|
|
6826
|
+
this.payment_reference = payment_reference;
|
|
6827
|
+
}
|
|
6828
|
+
this.personalisation = {
|
|
6829
|
+
ccd_case_number: (payment !== undefined && payment !== null) ? payment.ccd_case_number : '',
|
|
6830
|
+
refund_reason: refund_reason,
|
|
6831
|
+
refund_amount: refund_amount,
|
|
6832
|
+
refund_reference: refund_reference
|
|
6833
|
+
};
|
|
6834
|
+
if (this.notification_type === "EMAIL") {
|
|
6835
|
+
this.recipient_email_address = contactDetails.email;
|
|
6836
|
+
this.recipient_postal_address = null;
|
|
6837
|
+
}
|
|
6838
|
+
else if (this.notification_type === "LETTER") {
|
|
6839
|
+
this.recipient_postal_address = {
|
|
6840
|
+
address_line: contactDetails.address_line,
|
|
6841
|
+
city: contactDetails.city,
|
|
6842
|
+
county: contactDetails.county,
|
|
6843
|
+
country: contactDetails.country,
|
|
6844
|
+
postal_code: contactDetails.postal_code
|
|
6845
|
+
};
|
|
6846
|
+
this.recipient_email_address = null;
|
|
6847
|
+
}
|
|
6848
|
+
}
|
|
6849
|
+
}
|
|
6850
|
+
|
|
6851
|
+
class NotificationPreviewComponent {
|
|
6852
|
+
constructor(errorHandlerService, notificationService) {
|
|
6853
|
+
this.errorHandlerService = errorHandlerService;
|
|
6854
|
+
this.notificationService = notificationService;
|
|
6855
|
+
this.notificationPreviewEvent = new EventEmitter();
|
|
6856
|
+
this.today = Date.now();
|
|
6857
|
+
this.errorMessage = this.errorHandlerService.getServerErrorMessage(false, false, '');
|
|
6858
|
+
}
|
|
6859
|
+
ngOnInit() {
|
|
6860
|
+
if (this.previewJourney != undefined && this.previewJourney != null && this.previewJourney === 'Notifications sent') {
|
|
6861
|
+
this.notification = this.notificationSent;
|
|
6862
|
+
if (this.notification != undefined && this.notification != null && this.notification.template_type === 'letter') {
|
|
6863
|
+
this.notification.body = this.notification.body.replace(/\r\n/g, '<br/>');
|
|
6864
|
+
}
|
|
6865
|
+
}
|
|
6866
|
+
else {
|
|
6867
|
+
const notficationPreviewRequestBody = new NotificationPreviewRequest(this.payment, this.contactDetails, this.refundReason, this.refundAmount, this.refundReference, this.paymentReference);
|
|
6868
|
+
this.notificationService.getNotificationPreview(notficationPreviewRequestBody).subscribe(res => {
|
|
6869
|
+
this.errorMessage = this.errorHandlerService.getServerErrorMessage(false, false, '');
|
|
6870
|
+
this.notification = JSON.parse(res);
|
|
6871
|
+
if (this.notification != undefined && this.notification != null && this.notification.template_type === 'letter') {
|
|
6872
|
+
this.notification.body = this.notification.body.replace(/\r\n/g, '<br/>');
|
|
6873
|
+
}
|
|
6874
|
+
}, (error) => {
|
|
6875
|
+
this.errorMessage = this.errorHandlerService.getServerErrorMessage(true, false, '');
|
|
6876
|
+
console.log(this.errorMessage);
|
|
6877
|
+
});
|
|
6878
|
+
this.notificationPreviewEvent.emit(this.notification);
|
|
6879
|
+
}
|
|
6880
|
+
}
|
|
6881
|
+
}
|
|
6882
|
+
NotificationPreviewComponent.decorators = [
|
|
6883
|
+
{ type: Component, args: [{
|
|
6884
|
+
selector: 'app-notification-preview',
|
|
6885
|
+
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",
|
|
6886
|
+
styles: [".right{float:right}.letter-row-border{border-bottom:none}"]
|
|
6887
|
+
},] }
|
|
6888
|
+
];
|
|
6889
|
+
NotificationPreviewComponent.ctorParameters = () => [
|
|
6890
|
+
{ type: ErrorHandlerService },
|
|
6891
|
+
{ type: NotificationService }
|
|
6892
|
+
];
|
|
6893
|
+
NotificationPreviewComponent.propDecorators = {
|
|
6894
|
+
payment: [{ type: Input }],
|
|
6895
|
+
contactDetails: [{ type: Input }],
|
|
6896
|
+
refundReason: [{ type: Input }],
|
|
6897
|
+
refundAmount: [{ type: Input }],
|
|
6898
|
+
paymentReference: [{ type: Input }],
|
|
6899
|
+
refundReference: [{ type: Input }],
|
|
6900
|
+
previewJourney: [{ type: Input }],
|
|
6901
|
+
notificationSent: [{ type: Input }],
|
|
6902
|
+
notificationPreviewEvent: [{ type: Output }]
|
|
6903
|
+
};
|
|
6904
|
+
|
|
5674
6905
|
class PaymentLibModule {
|
|
5675
6906
|
}
|
|
5676
6907
|
PaymentLibModule.decorators = [
|
|
@@ -5691,6 +6922,7 @@ PaymentLibModule.decorators = [
|
|
|
5691
6922
|
PaymentListComponent,
|
|
5692
6923
|
PaymentViewComponent,
|
|
5693
6924
|
PbaPaymentComponent,
|
|
6925
|
+
ContactDetailsComponent,
|
|
5694
6926
|
ProcessRefundComponent,
|
|
5695
6927
|
RefundListComponent,
|
|
5696
6928
|
CardDetailsComponent,
|
|
@@ -5713,7 +6945,8 @@ PaymentLibModule.decorators = [
|
|
|
5713
6945
|
ErrorBannerComponent,
|
|
5714
6946
|
TableComponent,
|
|
5715
6947
|
RefundStatusComponent,
|
|
5716
|
-
ServiceRequestComponent
|
|
6948
|
+
ServiceRequestComponent,
|
|
6949
|
+
NotificationPreviewComponent
|
|
5717
6950
|
],
|
|
5718
6951
|
exports: [PaymentLibComponent],
|
|
5719
6952
|
providers: [
|
|
@@ -5732,5 +6965,5 @@ PaymentLibModule.decorators = [
|
|
|
5732
6965
|
* Generated bundle index. Do not edit.
|
|
5733
6966
|
*/
|
|
5734
6967
|
|
|
5735
|
-
export { PaymentLibComponent, PaymentLibModule, PaymentLibService, OrderslistService as ɵa, PaymentListComponent as ɵb,
|
|
6968
|
+
export { PaymentLibComponent, PaymentLibModule, PaymentLibService, OrderslistService as ɵa, PaymentListComponent as ɵb, PbaDetailsComponent as ɵba, CaseTransactionsComponent as ɵbb, FeeSummaryComponent as ɵbc, AddRemissionComponent as ɵbd, CcdHyphensPipe as ɵbe, CapitalizePipe as ɵbf, keyValuePipe as ɵbg, SanitizeHtmlPipe as ɵbh, ReportsComponent as ɵbi, XlFileService as ɵbj, ErrorBannerComponent as ɵbk, TableComponent as ɵbl, RefundStatusComponent as ɵbm, ServiceRequestComponent as ɵbn, NotificationPreviewComponent as ɵbo, ConsoleLoggerService as ɵbp, PaymentListService as ɵc, LoggerService as ɵd, ErrorHandlerService as ɵe, PaymentViewComponent as ɵf, PaymentViewService as ɵg, WebComponentHttpClient as ɵh, NotificationService as ɵi, PbaPaymentComponent as ɵj, ContactDetailsComponent as ɵk, ProcessRefundComponent as ɵl, RefundsService as ɵm, RefundListComponent as ɵn, CardDetailsComponent as ɵo, CardDetailsService as ɵp, PageNotFoundComponent as ɵq, StatusHistoryComponent as ɵr, StatusHistoryService as ɵs, MarkUnidentifiedPaymentComponent as ɵt, BulkScaningPaymentService as ɵu, MarkUnsolicitedPaymentComponent as ɵv, UnprocessedPaymentsComponent as ɵw, ProcessedPaymentsComponent as ɵx, AllocatePaymentsComponent as ɵy, CaseTransactionsService as ɵz };
|
|
5736
6969
|
//# sourceMappingURL=hmcts-ccpay-web-component.js.map
|