@hmcts/ccpay-web-component 5.2.7-beta02 → 5.2.7-beta04
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 +1773 -538
- 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 +31 -24
- 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 -10
- 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 +1718 -482
- 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);
|
|
@@ -592,9 +612,6 @@ class PaymentViewService {
|
|
|
592
612
|
let randomKey = 'idam-key-' + Math.random().toString().split('.').join('-');
|
|
593
613
|
body['idempotency_key'] = randomKey;
|
|
594
614
|
const url = `${this.paymentLibService.API_ROOT}/service-request/${serviceRef}/pba-payments`;
|
|
595
|
-
setTimeout(() => {
|
|
596
|
-
console.log('Good Night!');
|
|
597
|
-
}, 4000);
|
|
598
615
|
return this.https.post(url, body);
|
|
599
616
|
}
|
|
600
617
|
postBSPayments(body) {
|
|
@@ -677,10 +694,81 @@ PaymentViewService.ctorParameters = () => [
|
|
|
677
694
|
{ type: PaymentLibService }
|
|
678
695
|
];
|
|
679
696
|
|
|
697
|
+
class NotificationService {
|
|
698
|
+
constructor(http, https, errorHandlerService, paymentLibService) {
|
|
699
|
+
this.http = http;
|
|
700
|
+
this.https = https;
|
|
701
|
+
this.errorHandlerService = errorHandlerService;
|
|
702
|
+
this.paymentLibService = paymentLibService;
|
|
703
|
+
}
|
|
704
|
+
getRefundNotification(reference) {
|
|
705
|
+
return this.http.get(`${this.paymentLibService.NOTIFICATION_API_ROOT}/${reference}`, {
|
|
706
|
+
withCredentials: true
|
|
707
|
+
})
|
|
708
|
+
.pipe(catchError(this.errorHandlerService.handleError));
|
|
709
|
+
}
|
|
710
|
+
getAddressByPostcode(postcode) {
|
|
711
|
+
return this.http.get(`${this.paymentLibService.NOTIFICATION_API_ROOT}/postcode-lookup/${postcode}`, {
|
|
712
|
+
withCredentials: true
|
|
713
|
+
})
|
|
714
|
+
.pipe(catchError(this.errorHandlerService.handleError));
|
|
715
|
+
}
|
|
716
|
+
getNotificationPreview(body) {
|
|
717
|
+
return this.https.post(`${this.paymentLibService.NOTIFICATION_API_ROOT}/doc-preview`, body).pipe(catchError(this.errorHandlerService.handleError));
|
|
718
|
+
}
|
|
719
|
+
getNotificationInstructionType(paymentChannel, paymentMethod) {
|
|
720
|
+
if (paymentChannel === 'bulk scan' && paymentMethod === 'postal order') {
|
|
721
|
+
return 'RefundWhenContacted';
|
|
722
|
+
}
|
|
723
|
+
else if (paymentChannel === 'bulk scan' && paymentMethod === 'cash') {
|
|
724
|
+
return 'RefundWhenContacted';
|
|
725
|
+
}
|
|
726
|
+
else if (paymentChannel === 'online' && paymentMethod === 'card') {
|
|
727
|
+
return 'SendRefund';
|
|
728
|
+
}
|
|
729
|
+
else if (paymentChannel === 'telephony' && paymentMethod === 'card') {
|
|
730
|
+
return 'SendRefund';
|
|
731
|
+
}
|
|
732
|
+
else if (paymentChannel === 'online' && paymentMethod === 'payment by account') {
|
|
733
|
+
return 'SendRefund';
|
|
734
|
+
}
|
|
735
|
+
else if (paymentChannel === 'bulk scan' && paymentMethod === 'cheque') {
|
|
736
|
+
return 'SendRefund';
|
|
737
|
+
}
|
|
738
|
+
else {
|
|
739
|
+
return 'Template';
|
|
740
|
+
}
|
|
741
|
+
}
|
|
742
|
+
}
|
|
743
|
+
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" });
|
|
744
|
+
NotificationService.decorators = [
|
|
745
|
+
{ type: Injectable, args: [{
|
|
746
|
+
providedIn: 'root'
|
|
747
|
+
},] }
|
|
748
|
+
];
|
|
749
|
+
NotificationService.ctorParameters = () => [
|
|
750
|
+
{ type: HttpClient },
|
|
751
|
+
{ type: WebComponentHttpClient },
|
|
752
|
+
{ type: ErrorHandlerService },
|
|
753
|
+
{ type: PaymentLibService }
|
|
754
|
+
];
|
|
755
|
+
|
|
756
|
+
class PostRefundRetroRemission {
|
|
757
|
+
constructor(contact_details, fees, payment_reference, refund_reason, total_refund_amount, is_over_payment) {
|
|
758
|
+
this.contact_details = contact_details;
|
|
759
|
+
this.fees = fees;
|
|
760
|
+
this.payment_reference = payment_reference;
|
|
761
|
+
this.refund_reason = refund_reason;
|
|
762
|
+
this.total_refund_amount = total_refund_amount;
|
|
763
|
+
this.is_over_payment = is_over_payment === 'op';
|
|
764
|
+
}
|
|
765
|
+
}
|
|
766
|
+
|
|
680
767
|
const BS_ENABLE_FLAG$4 = 'bulk-scan-enabling-fe';
|
|
681
768
|
class PaymentViewComponent {
|
|
682
|
-
constructor(paymentViewService, paymentLibComponent, cd, OrderslistService) {
|
|
769
|
+
constructor(paymentViewService, notificationService, paymentLibComponent, cd, OrderslistService) {
|
|
683
770
|
this.paymentViewService = paymentViewService;
|
|
771
|
+
this.notificationService = notificationService;
|
|
684
772
|
this.paymentLibComponent = paymentLibComponent;
|
|
685
773
|
this.cd = cd;
|
|
686
774
|
this.OrderslistService = OrderslistService;
|
|
@@ -690,16 +778,7 @@ class PaymentViewComponent {
|
|
|
690
778
|
this.allowedRolesToAccessRefund = ['payments-refund-approver', 'payments-refund'];
|
|
691
779
|
this.remissions = [];
|
|
692
780
|
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
|
-
};
|
|
781
|
+
this.isContinueBtnDisabled = true;
|
|
703
782
|
}
|
|
704
783
|
ngAfterContentChecked() {
|
|
705
784
|
this.cd.detectChanges();
|
|
@@ -727,6 +806,7 @@ class PaymentViewComponent {
|
|
|
727
806
|
}
|
|
728
807
|
});
|
|
729
808
|
paymentGroup.fees = fees;
|
|
809
|
+
this.paymentFees = fees;
|
|
730
810
|
this.paymentGroup = paymentGroup;
|
|
731
811
|
this.paymentGroup.payments = this.paymentGroup.payments.filter(paymentGroupObj => paymentGroupObj['reference'].includes(this.paymentLibComponent.paymentReference));
|
|
732
812
|
const paymentAllocation = this.paymentGroup.payments[0].payment_allocation;
|
|
@@ -757,6 +837,13 @@ class PaymentViewComponent {
|
|
|
757
837
|
goToPaymentList() {
|
|
758
838
|
this.paymentLibComponent.viewName = 'payment-list';
|
|
759
839
|
}
|
|
840
|
+
getOverPaymentValue() {
|
|
841
|
+
let feesOverPayment = 0;
|
|
842
|
+
this.paymentGroup.fees.forEach(fee => {
|
|
843
|
+
feesOverPayment += fee.over_payment;
|
|
844
|
+
});
|
|
845
|
+
return feesOverPayment > 0 ? feesOverPayment : this.paymentGroup.payments[0].over_payment;
|
|
846
|
+
}
|
|
760
847
|
goToServiceRequestPage() {
|
|
761
848
|
this.paymentLibComponent.viewName = 'case-transactions';
|
|
762
849
|
this.paymentLibComponent.TAKEPAYMENT = false;
|
|
@@ -786,7 +873,7 @@ class PaymentViewComponent {
|
|
|
786
873
|
}
|
|
787
874
|
}
|
|
788
875
|
addRemission(fee) {
|
|
789
|
-
if (this.
|
|
876
|
+
if (this.chkIsAddRemissionBtnEnable(fee)) {
|
|
790
877
|
this.feeId = fee;
|
|
791
878
|
this.paymentViewService.getApportionPaymentDetails(this.paymentGroup.payments[0].reference).subscribe(paymentGroup => {
|
|
792
879
|
this.paymentGroup = paymentGroup;
|
|
@@ -807,46 +894,71 @@ class PaymentViewComponent {
|
|
|
807
894
|
}
|
|
808
895
|
return false;
|
|
809
896
|
}
|
|
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;
|
|
897
|
+
processRefund() {
|
|
898
|
+
this.isConfirmationBtnDisabled = true;
|
|
899
|
+
this.errorMessage = '';
|
|
900
|
+
const obj = this.paymentGroup.fees[0];
|
|
901
|
+
this.fees = [{ id: obj.id,
|
|
902
|
+
code: obj.code,
|
|
903
|
+
version: obj.version,
|
|
904
|
+
apportion_amount: obj.apportion_amount,
|
|
905
|
+
calculated_amount: obj.calculated_amount,
|
|
906
|
+
updated_volume: obj.updated_volume ? obj.updated_volume : obj.volume,
|
|
907
|
+
volume: obj.volume,
|
|
908
|
+
refund_amount: this.getOverPaymentValue() }];
|
|
909
|
+
const requestBody = new PostRefundRetroRemission(this.contactDetailsObj, this.fees, this.paymentGroup.payments[0].reference, 'RR037', this.getOverPaymentValue(), 'op');
|
|
910
|
+
this.paymentViewService.postRefundsReason(requestBody).subscribe(response => {
|
|
911
|
+
if (JSON.parse(response)) {
|
|
912
|
+
this.viewCompStatus = '';
|
|
913
|
+
this.viewStatus = 'refundconfirmationpage';
|
|
914
|
+
this.refundReference = JSON.parse(response).refund_reference;
|
|
915
|
+
this.refundAmount = JSON.parse(response).refund_amount;
|
|
837
916
|
}
|
|
838
|
-
|
|
917
|
+
}, (error) => {
|
|
918
|
+
this.errorMessage = error;
|
|
919
|
+
this.isConfirmationBtnDisabled = false;
|
|
920
|
+
this.cd.detectChanges();
|
|
921
|
+
});
|
|
922
|
+
}
|
|
923
|
+
gotoAddressPage(note) {
|
|
924
|
+
if (note) {
|
|
925
|
+
this.notification = { contact_details: note, notification_type: note.notification_type };
|
|
839
926
|
}
|
|
927
|
+
this.errorMessage = '';
|
|
928
|
+
this.viewCompStatus = 'overPaymentAddressCapture';
|
|
929
|
+
}
|
|
930
|
+
addRefundForRemission(payment, remission, fees) {
|
|
931
|
+
//if(!this.chkIsIssueRefundBtnEnable(payment)) {
|
|
932
|
+
this.paymentViewService.getApportionPaymentDetails(payment.reference).subscribe(paymentGroup => {
|
|
933
|
+
this.paymentGroup = paymentGroup;
|
|
934
|
+
this.paymentGroup.payments = this.paymentGroup.payments.filter(paymentGroupObj => paymentGroupObj['reference'].includes(payment.reference));
|
|
935
|
+
this.payment = this.paymentGroup.payments[0];
|
|
936
|
+
this.remissions = remission;
|
|
937
|
+
this.remissionFeeAmt = fees.filter(data => data.code === this.remissions['fee_code'])[0].net_amount;
|
|
938
|
+
this.viewStatus = 'addrefundforremission';
|
|
939
|
+
// const paymentAllocation = this.paymentGroup.payments[0].payment_allocation;
|
|
940
|
+
// this.isStatusAllocated = paymentAllocation.length > 0 && paymentAllocation[0].allocation_status === 'Allocated' || paymentAllocation.length === 0;
|
|
941
|
+
}, (error) => this.errorMessage = error);
|
|
942
|
+
//}
|
|
943
|
+
}
|
|
944
|
+
goToPaymentViewComponent() {
|
|
945
|
+
this.viewCompStatus = '';
|
|
946
|
+
this.viewStatus = 'paymentview';
|
|
840
947
|
}
|
|
841
948
|
issueRefund(paymentgrp) {
|
|
842
949
|
if (paymentgrp !== null && paymentgrp !== undefined) {
|
|
843
|
-
if (this.
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
950
|
+
if (this.chkIsIssueRefundBtnEnable(paymentgrp.payments[0])) {
|
|
951
|
+
if (paymentgrp.payments[0].over_payment > 0) {
|
|
952
|
+
this.viewCompStatus = 'overpayment';
|
|
953
|
+
}
|
|
954
|
+
else {
|
|
955
|
+
this.paymentGroup = paymentgrp;
|
|
956
|
+
this.viewStatus = 'issuerefund';
|
|
957
|
+
this.isRefundRemission = true;
|
|
958
|
+
this.paymentLibComponent.isFromPaymentDetailPage = true;
|
|
959
|
+
this.isFromPaymentDetailPage = true;
|
|
960
|
+
this.isFromServiceRequestPage = false;
|
|
961
|
+
}
|
|
850
962
|
}
|
|
851
963
|
}
|
|
852
964
|
}
|
|
@@ -860,44 +972,60 @@ class PaymentViewComponent {
|
|
|
860
972
|
}
|
|
861
973
|
return null;
|
|
862
974
|
}
|
|
863
|
-
|
|
864
|
-
if (
|
|
865
|
-
payment.
|
|
866
|
-
this.isIssueRefunfBtnEnable = true;
|
|
867
|
-
}
|
|
868
|
-
if (this.isIssueRefunfBtnEnable) {
|
|
869
|
-
return true;
|
|
975
|
+
chkIsIssueRefundBtnEnable(payment) {
|
|
976
|
+
if (payment !== null && payment !== undefined) {
|
|
977
|
+
return payment.issue_refund && payment.refund_enable;
|
|
870
978
|
}
|
|
871
979
|
else {
|
|
872
980
|
return false;
|
|
873
981
|
}
|
|
874
|
-
;
|
|
875
982
|
}
|
|
876
|
-
|
|
877
|
-
if (
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
}
|
|
983
|
+
chkIsAddRefundBtnEnable(remission) {
|
|
984
|
+
if (remission !== null && remission !== undefined) {
|
|
985
|
+
return remission.add_refund;
|
|
986
|
+
}
|
|
987
|
+
else {
|
|
882
988
|
return false;
|
|
883
989
|
}
|
|
884
990
|
}
|
|
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;
|
|
991
|
+
chkIsAddRemissionBtnEnable(fee) {
|
|
992
|
+
if (fee !== null && fee !== undefined) {
|
|
993
|
+
return fee.add_remission && fee.remission_enable;
|
|
896
994
|
}
|
|
897
995
|
else {
|
|
898
996
|
return false;
|
|
899
997
|
}
|
|
900
998
|
}
|
|
999
|
+
selectPymentOption(paymentType) {
|
|
1000
|
+
this.paymentType = paymentType;
|
|
1001
|
+
this.isContinueBtnDisabled = false;
|
|
1002
|
+
}
|
|
1003
|
+
continuePayment(paymentgrp) {
|
|
1004
|
+
if (this.paymentType === 'op') {
|
|
1005
|
+
this.isFullyRefund = false;
|
|
1006
|
+
this.viewCompStatus = 'overPaymentAddressCapture';
|
|
1007
|
+
}
|
|
1008
|
+
else if (this.paymentType === 'fp') {
|
|
1009
|
+
this.isFullyRefund = true;
|
|
1010
|
+
this.paymentGroup = paymentgrp;
|
|
1011
|
+
this.viewStatus = 'issuerefund';
|
|
1012
|
+
this.viewCompStatus = "";
|
|
1013
|
+
this.isRefundRemission = true;
|
|
1014
|
+
this.paymentLibComponent.isFromPaymentDetailPage = true;
|
|
1015
|
+
this.isFromPaymentDetailPage = true;
|
|
1016
|
+
this.isFromServiceRequestPage = this.paymentLibComponent.isFromServiceRequestPage;
|
|
1017
|
+
}
|
|
1018
|
+
}
|
|
1019
|
+
gotoPaymentSelectPage(event) {
|
|
1020
|
+
event.preventDefault();
|
|
1021
|
+
this.viewCompStatus = 'overpayment';
|
|
1022
|
+
}
|
|
1023
|
+
getContactDetails(obj) {
|
|
1024
|
+
this.contactDetailsObj = obj;
|
|
1025
|
+
this.notificationPreview = false;
|
|
1026
|
+
this.getTemplateInstructionType(this.paymentGroup.payments[0]);
|
|
1027
|
+
this.viewCompStatus = 'overpaymentcheckandanswer';
|
|
1028
|
+
}
|
|
901
1029
|
resetOrderData() {
|
|
902
1030
|
this.OrderslistService.setOrderRef(null);
|
|
903
1031
|
this.OrderslistService.setorderCCDEvent(null);
|
|
@@ -916,16 +1044,31 @@ class PaymentViewComponent {
|
|
|
916
1044
|
event.preventDefault();
|
|
917
1045
|
this.viewStatus = 'paymentview';
|
|
918
1046
|
}
|
|
1047
|
+
getTemplateInstructionType(payment) {
|
|
1048
|
+
if (payment == undefined || payment == null) {
|
|
1049
|
+
this.templateInstructionType = 'Template';
|
|
1050
|
+
}
|
|
1051
|
+
else {
|
|
1052
|
+
this.templateInstructionType = this.notificationService.getNotificationInstructionType(payment.channel, payment.method);
|
|
1053
|
+
}
|
|
1054
|
+
}
|
|
1055
|
+
showNotificationPreview() {
|
|
1056
|
+
this.notificationPreview = true;
|
|
1057
|
+
}
|
|
1058
|
+
hideNotificationPreview() {
|
|
1059
|
+
this.notificationPreview = false;
|
|
1060
|
+
}
|
|
919
1061
|
}
|
|
920
1062
|
PaymentViewComponent.decorators = [
|
|
921
1063
|
{ type: Component, args: [{
|
|
922
1064
|
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-
|
|
1065
|
+
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",
|
|
1066
|
+
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
1067
|
},] }
|
|
926
1068
|
];
|
|
927
1069
|
PaymentViewComponent.ctorParameters = () => [
|
|
928
1070
|
{ type: PaymentViewService },
|
|
1071
|
+
{ type: NotificationService },
|
|
929
1072
|
{ type: PaymentLibComponent },
|
|
930
1073
|
{ type: ChangeDetectorRef },
|
|
931
1074
|
{ type: OrderslistService }
|
|
@@ -1007,6 +1150,9 @@ class RefundsService {
|
|
|
1007
1150
|
postIssueRefund(body) {
|
|
1008
1151
|
return this.https.post(`${this.paymentLibService.REFUNDS_API_ROOT}/refund`, body).pipe(catchError(this.errorHandlerService.handleError));
|
|
1009
1152
|
}
|
|
1153
|
+
putResendOrEdit(body, refundRef, notificationType) {
|
|
1154
|
+
return this.https.put(`${this.paymentLibService.REFUNDS_API_ROOT}/resend/notification/${refundRef}?notificationType=${notificationType}`, body).pipe(catchError(this.errorHandlerService.handleError));
|
|
1155
|
+
}
|
|
1010
1156
|
patchResubmitRefund(body, refund_reference) {
|
|
1011
1157
|
// const opts = this.addHeaders({});
|
|
1012
1158
|
return this.https.patch(`${this.paymentLibService.REFUNDS_API_ROOT}/resubmit/${refund_reference}`, body).pipe(catchError(this.errorHandlerService.handleError));
|
|
@@ -1051,10 +1197,12 @@ RefundsService.ctorParameters = () => [
|
|
|
1051
1197
|
];
|
|
1052
1198
|
|
|
1053
1199
|
class ProcessRefundComponent {
|
|
1054
|
-
constructor(RefundsService, formBuilder, OrderslistService, paymentLibComponent, router, activeRoute) {
|
|
1200
|
+
constructor(RefundsService, paymentViewService, formBuilder, OrderslistService, notificationService, paymentLibComponent, router, activeRoute) {
|
|
1055
1201
|
this.RefundsService = RefundsService;
|
|
1202
|
+
this.paymentViewService = paymentViewService;
|
|
1056
1203
|
this.formBuilder = formBuilder;
|
|
1057
1204
|
this.OrderslistService = OrderslistService;
|
|
1205
|
+
this.notificationService = notificationService;
|
|
1058
1206
|
this.paymentLibComponent = paymentLibComponent;
|
|
1059
1207
|
this.router = router;
|
|
1060
1208
|
this.activeRoute = activeRoute;
|
|
@@ -1075,7 +1223,9 @@ class ProcessRefundComponent {
|
|
|
1075
1223
|
this.isReasonEmpty = false;
|
|
1076
1224
|
this.isReasonInvalid = false;
|
|
1077
1225
|
this.successMsg = null;
|
|
1226
|
+
this.cpoDetails = null;
|
|
1078
1227
|
this.isConfirmButtondisabled = true;
|
|
1228
|
+
this.notificationPreview = false;
|
|
1079
1229
|
}
|
|
1080
1230
|
ngOnInit() {
|
|
1081
1231
|
this.viewStatus = 'RefundProcess';
|
|
@@ -1107,6 +1257,13 @@ class ProcessRefundComponent {
|
|
|
1107
1257
|
if ((typeof this.paymentLibComponent.TAKEPAYMENT === 'string' && this.paymentLibComponent.TAKEPAYMENT === 'false') || (typeof this.paymentLibComponent.TAKEPAYMENT === 'boolean' && !this.paymentLibComponent.TAKEPAYMENT)) {
|
|
1108
1258
|
this.isFromRefundListPage = true;
|
|
1109
1259
|
}
|
|
1260
|
+
this.paymentViewService.getPartyDetails(this.ccdCaseNumber).subscribe(response => {
|
|
1261
|
+
this.cpoDetails = JSON.parse(response).content[0];
|
|
1262
|
+
}, (error) => {
|
|
1263
|
+
this.errorMessage = error.replace(/"/g, "");
|
|
1264
|
+
this.isCPODown = true;
|
|
1265
|
+
});
|
|
1266
|
+
this.getTemplateInstructionType(this.paymentObj, this.refundlistsource.payment_reference);
|
|
1110
1267
|
}
|
|
1111
1268
|
checkRefundActions(code) {
|
|
1112
1269
|
this.refundActionsHasError = false;
|
|
@@ -1143,6 +1300,9 @@ class ProcessRefundComponent {
|
|
|
1143
1300
|
this.isOtherClicked = false;
|
|
1144
1301
|
}
|
|
1145
1302
|
}
|
|
1303
|
+
getNotificationPreviewObj(notificationPreviewObj) {
|
|
1304
|
+
this.notificationPreviewObj = notificationPreviewObj;
|
|
1305
|
+
}
|
|
1146
1306
|
processRefundSubmit() {
|
|
1147
1307
|
let processRefundRequest;
|
|
1148
1308
|
let status;
|
|
@@ -1156,24 +1316,102 @@ class ProcessRefundComponent {
|
|
|
1156
1316
|
|| (controls.refundActionField.value == 'Return to caseworker' && controls.sendMeBackField.valid))) {
|
|
1157
1317
|
if (controls.refundActionField.value === 'Approve') {
|
|
1158
1318
|
status = 'APPROVE';
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
|
|
1162
|
-
|
|
1319
|
+
if (this.notificationPreviewObj) {
|
|
1320
|
+
processRefundRequest = {
|
|
1321
|
+
code: '',
|
|
1322
|
+
reason: '',
|
|
1323
|
+
template_preview: {
|
|
1324
|
+
body: this.notificationPreviewObj.body,
|
|
1325
|
+
from: {
|
|
1326
|
+
from_email_address: this.notificationPreviewObj.from.from_email_address,
|
|
1327
|
+
from_mail_address: {
|
|
1328
|
+
address_line: this.notificationPreviewObj.from.from_mail_address.address_line,
|
|
1329
|
+
city: this.notificationPreviewObj.from.from_mail_address.city,
|
|
1330
|
+
country: this.notificationPreviewObj.from.from_mail_address.country,
|
|
1331
|
+
county: this.notificationPreviewObj.from.from_mail_address.county,
|
|
1332
|
+
postal_code: this.notificationPreviewObj.from.from_mail_address.postal_code
|
|
1333
|
+
}
|
|
1334
|
+
},
|
|
1335
|
+
html: this.notificationPreviewObj.html,
|
|
1336
|
+
id: this.notificationPreviewObj.template_id,
|
|
1337
|
+
subject: this.notificationPreviewObj.subject,
|
|
1338
|
+
template_type: this.notificationPreviewObj.template_type,
|
|
1339
|
+
version: 0
|
|
1340
|
+
}
|
|
1341
|
+
};
|
|
1342
|
+
}
|
|
1343
|
+
else {
|
|
1344
|
+
processRefundRequest = {
|
|
1345
|
+
code: '',
|
|
1346
|
+
reason: ''
|
|
1347
|
+
};
|
|
1348
|
+
}
|
|
1163
1349
|
}
|
|
1164
1350
|
else if (controls.refundActionField.value === 'Reject') {
|
|
1165
1351
|
status = 'REJECT';
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1352
|
+
if (this.notificationPreviewObj) {
|
|
1353
|
+
processRefundRequest = {
|
|
1354
|
+
code: controls.refundRejectReasonField.value ? controls.refundRejectReasonField.value : '',
|
|
1355
|
+
reason: controls.refundRejectReasonField.value == 'RE005' ? controls.enterReasonField.value : '',
|
|
1356
|
+
template_preview: {
|
|
1357
|
+
body: this.notificationPreviewObj.body,
|
|
1358
|
+
from: {
|
|
1359
|
+
from_email_address: this.notificationPreviewObj.from.from_email_address,
|
|
1360
|
+
from_mail_address: {
|
|
1361
|
+
address_line: this.notificationPreviewObj.from.from_mail_address.address_line,
|
|
1362
|
+
city: this.notificationPreviewObj.from.from_mail_address.city,
|
|
1363
|
+
country: this.notificationPreviewObj.from.from_mail_address.country,
|
|
1364
|
+
county: this.notificationPreviewObj.from.from_mail_address.county,
|
|
1365
|
+
postal_code: this.notificationPreviewObj.from.from_mail_address.postal_code
|
|
1366
|
+
}
|
|
1367
|
+
},
|
|
1368
|
+
html: this.notificationPreviewObj.html,
|
|
1369
|
+
id: this.notificationPreviewObj.template_id,
|
|
1370
|
+
subject: this.notificationPreviewObj.subject,
|
|
1371
|
+
template_type: this.notificationPreviewObj.template_type,
|
|
1372
|
+
version: 0
|
|
1373
|
+
}
|
|
1374
|
+
};
|
|
1375
|
+
}
|
|
1376
|
+
else {
|
|
1377
|
+
processRefundRequest = {
|
|
1378
|
+
code: controls.refundRejectReasonField.value ? controls.refundRejectReasonField.value : '',
|
|
1379
|
+
reason: controls.refundRejectReasonField.value == 'RE005' ? controls.enterReasonField.value : ''
|
|
1380
|
+
};
|
|
1381
|
+
}
|
|
1170
1382
|
}
|
|
1171
1383
|
else if (controls.refundActionField.value === 'Return to caseworker') {
|
|
1172
1384
|
status = 'SENDBACK';
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
|
|
1385
|
+
if (this.notificationPreviewObj) {
|
|
1386
|
+
processRefundRequest = {
|
|
1387
|
+
code: '',
|
|
1388
|
+
reason: controls.sendMeBackField.value,
|
|
1389
|
+
template_preview: {
|
|
1390
|
+
body: this.notificationPreviewObj.body,
|
|
1391
|
+
from: {
|
|
1392
|
+
from_email_address: this.notificationPreviewObj.from.from_email_address,
|
|
1393
|
+
from_mail_address: {
|
|
1394
|
+
address_line: this.notificationPreviewObj.from.from_mail_address.address_line,
|
|
1395
|
+
city: this.notificationPreviewObj.from.from_mail_address.city,
|
|
1396
|
+
country: this.notificationPreviewObj.from.from_mail_address.country,
|
|
1397
|
+
county: this.notificationPreviewObj.from.from_mail_address.county,
|
|
1398
|
+
postal_code: this.notificationPreviewObj.from.from_mail_address.postal_code
|
|
1399
|
+
}
|
|
1400
|
+
},
|
|
1401
|
+
html: this.notificationPreviewObj.html,
|
|
1402
|
+
id: this.notificationPreviewObj.template_id,
|
|
1403
|
+
subject: this.notificationPreviewObj.subject,
|
|
1404
|
+
template_type: this.notificationPreviewObj.template_type,
|
|
1405
|
+
version: 0
|
|
1406
|
+
}
|
|
1407
|
+
};
|
|
1408
|
+
}
|
|
1409
|
+
else {
|
|
1410
|
+
processRefundRequest = {
|
|
1411
|
+
code: '',
|
|
1412
|
+
reason: controls.sendMeBackField.value
|
|
1413
|
+
};
|
|
1414
|
+
}
|
|
1177
1415
|
}
|
|
1178
1416
|
this.RefundsService.patchRefundActions(processRefundRequest, this.refundReference, status).subscribe(response => {
|
|
1179
1417
|
this.isSuccesspageEnable = true;
|
|
@@ -1271,30 +1509,13 @@ class ProcessRefundComponent {
|
|
|
1271
1509
|
this.loadRefundListPage();
|
|
1272
1510
|
}
|
|
1273
1511
|
}
|
|
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
|
-
// }
|
|
1512
|
+
loadCaseTransactionPage() {
|
|
1513
|
+
this.OrderslistService.setnavigationPage('casetransactions');
|
|
1514
|
+
this.OrderslistService.setisFromServiceRequestPage(false);
|
|
1515
|
+
this.paymentLibComponent.viewName = 'case-transactions';
|
|
1516
|
+
this.paymentLibComponent.ISBSENABLE = true;
|
|
1517
|
+
this.paymentLibComponent.isRefundStatusView = false;
|
|
1518
|
+
}
|
|
1298
1519
|
resetForm(vals, field) {
|
|
1299
1520
|
if (field === 'action' || field === 'all') {
|
|
1300
1521
|
this.refundActionsHasError = vals[0];
|
|
@@ -1314,20 +1535,48 @@ class ProcessRefundComponent {
|
|
|
1314
1535
|
}
|
|
1315
1536
|
}
|
|
1316
1537
|
goToCaseReview() {
|
|
1317
|
-
|
|
1538
|
+
const isPayBubble = this.paymentLibComponent.isFromPayBubble;
|
|
1539
|
+
if (isPayBubble) {
|
|
1540
|
+
this.loadCaseTransactionPage();
|
|
1541
|
+
}
|
|
1542
|
+
else {
|
|
1543
|
+
this.router.navigate([`/cases/case-details/${this.ccdCaseNumber}`], { relativeTo: this.activeRoute });
|
|
1544
|
+
}
|
|
1545
|
+
}
|
|
1546
|
+
getTemplateInstructionType(payment, paymentReference) {
|
|
1547
|
+
if (payment == undefined || payment == null || payment.reference != paymentReference) {
|
|
1548
|
+
this.paymentViewService.getPaymentDetails(paymentReference).subscribe(payment => {
|
|
1549
|
+
this.paymentObj = payment;
|
|
1550
|
+
this.paymentObj.reference = paymentReference;
|
|
1551
|
+
this.templateInstructionType = this.notificationService.getNotificationInstructionType(this.paymentObj.channel, this.paymentObj.method);
|
|
1552
|
+
}, (error) => {
|
|
1553
|
+
this.templateInstructionType = 'Template';
|
|
1554
|
+
});
|
|
1555
|
+
}
|
|
1556
|
+
else {
|
|
1557
|
+
this.templateInstructionType = this.notificationService.getNotificationInstructionType(payment.channel, payment.method);
|
|
1558
|
+
}
|
|
1559
|
+
}
|
|
1560
|
+
showNotificationPreview() {
|
|
1561
|
+
this.notificationPreview = true;
|
|
1562
|
+
}
|
|
1563
|
+
hideNotificationPreview() {
|
|
1564
|
+
this.notificationPreview = false;
|
|
1318
1565
|
}
|
|
1319
1566
|
}
|
|
1320
1567
|
ProcessRefundComponent.decorators = [
|
|
1321
1568
|
{ type: Component, args: [{
|
|
1322
1569
|
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{
|
|
1570
|
+
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",
|
|
1571
|
+
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
1572
|
},] }
|
|
1326
1573
|
];
|
|
1327
1574
|
ProcessRefundComponent.ctorParameters = () => [
|
|
1328
1575
|
{ type: RefundsService },
|
|
1576
|
+
{ type: PaymentViewService },
|
|
1329
1577
|
{ type: FormBuilder },
|
|
1330
1578
|
{ type: OrderslistService },
|
|
1579
|
+
{ type: NotificationService },
|
|
1331
1580
|
{ type: PaymentLibComponent },
|
|
1332
1581
|
{ type: Router },
|
|
1333
1582
|
{ type: ActivatedRoute }
|
|
@@ -1342,10 +1591,10 @@ class RefundListComponent {
|
|
|
1342
1591
|
this.refundService = refundService;
|
|
1343
1592
|
this.submittedRefundList = [];
|
|
1344
1593
|
this.rejectedRefundList = [];
|
|
1594
|
+
// approvalStatus = 'Sent for approval';
|
|
1595
|
+
// rejectStatus = 'Update required';
|
|
1345
1596
|
this.approvalStatus = 'Sent for approval';
|
|
1346
1597
|
this.rejectStatus = 'Update required';
|
|
1347
|
-
// approvalStatus = 'sent for approval';
|
|
1348
|
-
// rejectStatus = 'sent back';
|
|
1349
1598
|
this.errorMessage = null;
|
|
1350
1599
|
this.isAuthorized = true;
|
|
1351
1600
|
}
|
|
@@ -1512,41 +1761,352 @@ StatusHistoryComponent.propDecorators = {
|
|
|
1512
1761
|
isTakePayment: [{ type: Input }]
|
|
1513
1762
|
};
|
|
1514
1763
|
|
|
1515
|
-
class
|
|
1516
|
-
constructor() {
|
|
1517
|
-
|
|
1764
|
+
class ContactDetailsComponent {
|
|
1765
|
+
constructor(formBuilder, notificationService, paymentLibComponent) {
|
|
1766
|
+
this.formBuilder = formBuilder;
|
|
1767
|
+
this.notificationService = notificationService;
|
|
1768
|
+
this.paymentLibComponent = paymentLibComponent;
|
|
1769
|
+
this.assignContactDetails = new EventEmitter();
|
|
1770
|
+
this.assignContactDetailsInFefundsList = new EventEmitter();
|
|
1771
|
+
this.redirectToIssueRefund = new EventEmitter();
|
|
1772
|
+
this.pageTitle = 'Payment status history';
|
|
1773
|
+
this.isEmailSAddressClicked = true;
|
|
1774
|
+
this.isShowPickAddress = false;
|
|
1775
|
+
this.isPostcodeClicked = false;
|
|
1776
|
+
this.isManualAddressClicked = false;
|
|
1777
|
+
this.addressPostcodeList = [];
|
|
1778
|
+
this.isAddressBoxEmpty = false;
|
|
1779
|
+
this.isEmailEmpty = false;
|
|
1780
|
+
this.emailHasError = false;
|
|
1781
|
+
this.isPostcodeEmpty = false;
|
|
1782
|
+
this.postcodeHasError = false;
|
|
1783
|
+
this.isaddressLine1Empty = false;
|
|
1784
|
+
this.addressLine1HasError = false;
|
|
1785
|
+
this.addressLine2HasError = false;
|
|
1786
|
+
this.isTownOrCityEmpty = false;
|
|
1787
|
+
this.townOrCityHasError = false;
|
|
1788
|
+
this.isCountyEmpty = false;
|
|
1789
|
+
this.countyHasError = false;
|
|
1790
|
+
this.isMPostcodeEmpty = false;
|
|
1791
|
+
this.mpostcodeHasError = false;
|
|
1792
|
+
this.isCountryEmpty = false;
|
|
1518
1793
|
}
|
|
1519
|
-
|
|
1520
|
-
|
|
1521
|
-
|
|
1522
|
-
|
|
1523
|
-
|
|
1524
|
-
|
|
1525
|
-
|
|
1526
|
-
|
|
1527
|
-
|
|
1528
|
-
|
|
1529
|
-
|
|
1530
|
-
}
|
|
1531
|
-
|
|
1532
|
-
|
|
1533
|
-
|
|
1534
|
-
|
|
1535
|
-
|
|
1536
|
-
|
|
1537
|
-
|
|
1538
|
-
|
|
1539
|
-
|
|
1540
|
-
|
|
1541
|
-
|
|
1794
|
+
ngOnInit() {
|
|
1795
|
+
this.resetForm([false, false, false, false, false, false, false, false, false, false, false, false, false, false], 'all');
|
|
1796
|
+
this.emailAddressForm = this.formBuilder.group({
|
|
1797
|
+
email: new FormControl('', Validators.compose([
|
|
1798
|
+
Validators.required,
|
|
1799
|
+
Validators.pattern('.+@+.+\\.+.+')
|
|
1800
|
+
]))
|
|
1801
|
+
});
|
|
1802
|
+
this.postCodeForm = this.formBuilder.group({
|
|
1803
|
+
postcode: new FormControl('', Validators.compose([
|
|
1804
|
+
Validators.required,
|
|
1805
|
+
Validators.pattern('^([A-Za-z]{1,2}[0-9]{1,2}[A-Za-z]{0,1} ?[0-9][A-Za-z]{2})')
|
|
1806
|
+
]))
|
|
1807
|
+
});
|
|
1808
|
+
this.manualAddressForm = this.formBuilder.group({
|
|
1809
|
+
addressl1: new FormControl('', Validators.compose([
|
|
1810
|
+
Validators.required,
|
|
1811
|
+
Validators.pattern('^[a-zA-Z0-9\\s,\'-]*$')
|
|
1812
|
+
])),
|
|
1813
|
+
addressl2: new FormControl('', Validators.compose([
|
|
1814
|
+
Validators.pattern('^[a-zA-Z0-9\\s,\'-]*$')
|
|
1815
|
+
])),
|
|
1816
|
+
townorcity: new FormControl('', Validators.compose([
|
|
1817
|
+
Validators.required,
|
|
1818
|
+
Validators.pattern('^[a-zA-Z0-9\\s,\'-]*$')
|
|
1819
|
+
])),
|
|
1820
|
+
county: new FormControl('', Validators.compose([
|
|
1821
|
+
Validators.pattern('^[a-zA-Z0-9\\s,\'-]*$')
|
|
1822
|
+
])),
|
|
1823
|
+
mpostcode: new FormControl('', Validators.compose([
|
|
1824
|
+
Validators.required,
|
|
1825
|
+
Validators.pattern('^([A-Za-z]{1,2}[0-9]{1,2}[A-Za-z]{0,1} ?[0-9][A-Za-z]{2})')
|
|
1826
|
+
])),
|
|
1827
|
+
country: new FormControl('', Validators.compose([
|
|
1828
|
+
Validators.required
|
|
1829
|
+
]))
|
|
1830
|
+
});
|
|
1831
|
+
if (this.addressObj !== undefined && this.addressObj !== '') {
|
|
1832
|
+
this.setEditDetails();
|
|
1833
|
+
}
|
|
1834
|
+
if (this.isEditOperationInRefundList === undefined) {
|
|
1835
|
+
this.isEditOperationInRefundList = false;
|
|
1836
|
+
}
|
|
1837
|
+
}
|
|
1838
|
+
setEditDetails() {
|
|
1839
|
+
if (this.addressObj.notification_type === 'EMAIL') {
|
|
1840
|
+
this.isEmailSAddressClicked = true;
|
|
1841
|
+
this.isPostcodeClicked = false;
|
|
1842
|
+
this.isManualAddressClicked = false;
|
|
1843
|
+
this.emailAddressForm.setValue({ email: this.addressObj.contact_details.email });
|
|
1844
|
+
}
|
|
1845
|
+
else if (this.addressObj.notification_type === 'LETTER') {
|
|
1846
|
+
this.isEmailSAddressClicked = false;
|
|
1847
|
+
this.isPostcodeClicked = true;
|
|
1848
|
+
this.isManualAddressClicked = true;
|
|
1849
|
+
this.manualAddressForm.patchValue({
|
|
1850
|
+
addressl1: this.addressObj.contact_details.address_line,
|
|
1851
|
+
townorcity: this.addressObj.contact_details.city,
|
|
1852
|
+
county: this.addressObj.contact_details.county,
|
|
1853
|
+
country: this.addressObj.contact_details.country,
|
|
1854
|
+
mpostcode: this.addressObj.contact_details.postal_code
|
|
1855
|
+
});
|
|
1542
1856
|
}
|
|
1543
1857
|
}
|
|
1544
|
-
|
|
1545
|
-
|
|
1546
|
-
|
|
1547
|
-
|
|
1548
|
-
|
|
1549
|
-
|
|
1858
|
+
selectContactOption(type, isLinkedClied) {
|
|
1859
|
+
this.resetForm([false, false, false, false, false, false, false, false, false, false, false, false, false, false, false], 'all');
|
|
1860
|
+
if (type === 'Email' && isLinkedClied === 'false') {
|
|
1861
|
+
this.isEmailSAddressClicked = true;
|
|
1862
|
+
this.isPostcodeClicked = false;
|
|
1863
|
+
this.isManualAddressClicked = false;
|
|
1864
|
+
}
|
|
1865
|
+
else if (type === 'Postcode' && isLinkedClied === 'false') {
|
|
1866
|
+
this.isEmailSAddressClicked = false;
|
|
1867
|
+
this.isPostcodeClicked = true;
|
|
1868
|
+
this.isManualAddressClicked = false;
|
|
1869
|
+
}
|
|
1870
|
+
else if (type === 'Postcode' && isLinkedClied === 'true') {
|
|
1871
|
+
this.isEmailSAddressClicked = false;
|
|
1872
|
+
this.isPostcodeClicked = true;
|
|
1873
|
+
this.isManualAddressClicked = true;
|
|
1874
|
+
}
|
|
1875
|
+
}
|
|
1876
|
+
finalFormSubmit() {
|
|
1877
|
+
this.resetForm([false, false, false, false, false, false, false, false, false, false, false, false, false, false, false], 'all');
|
|
1878
|
+
if (this.isEmailSAddressClicked) {
|
|
1879
|
+
const emailField = this.emailAddressForm.controls.email;
|
|
1880
|
+
if (this.emailAddressForm.valid) {
|
|
1881
|
+
if (!this.isEditOperationInRefundList) {
|
|
1882
|
+
this.assignContactDetails.emit({
|
|
1883
|
+
email: emailField.value,
|
|
1884
|
+
notification_type: 'EMAIL'
|
|
1885
|
+
});
|
|
1886
|
+
}
|
|
1887
|
+
else {
|
|
1888
|
+
this.assignContactDetailsInFefundsList.emit({
|
|
1889
|
+
email: emailField.value,
|
|
1890
|
+
notification_type: 'EMAIL'
|
|
1891
|
+
});
|
|
1892
|
+
}
|
|
1893
|
+
}
|
|
1894
|
+
else {
|
|
1895
|
+
if (emailField.value == '') {
|
|
1896
|
+
this.resetForm([true, false, false, false, false, false, false, false, false, false, false, false, false, false], 'email');
|
|
1897
|
+
}
|
|
1898
|
+
if (emailField.value != '' && emailField.invalid) {
|
|
1899
|
+
this.resetForm([false, true, false, false, false, false, false, false, false, false, false, false, false, false], 'email');
|
|
1900
|
+
}
|
|
1901
|
+
}
|
|
1902
|
+
}
|
|
1903
|
+
else if (this.isPostcodeClicked && !this.isManualAddressClicked) {
|
|
1904
|
+
this.postcodeValidation('FS');
|
|
1905
|
+
}
|
|
1906
|
+
else if (this.isPostcodeClicked && this.isManualAddressClicked) {
|
|
1907
|
+
const fieldCtrls = this.manualAddressForm.controls;
|
|
1908
|
+
if (this.manualAddressForm.valid) {
|
|
1909
|
+
if (!this.isEditOperationInRefundList) {
|
|
1910
|
+
this.assignContactDetails.emit({
|
|
1911
|
+
address_line: fieldCtrls.addressl1.value + ' ' + fieldCtrls.addressl2.value,
|
|
1912
|
+
city: fieldCtrls.townorcity.value,
|
|
1913
|
+
county: fieldCtrls.county.value,
|
|
1914
|
+
postal_code: fieldCtrls.mpostcode.value,
|
|
1915
|
+
country: fieldCtrls.country.value,
|
|
1916
|
+
notification_type: 'LETTER'
|
|
1917
|
+
});
|
|
1918
|
+
}
|
|
1919
|
+
else {
|
|
1920
|
+
this.assignContactDetailsInFefundsList.emit({
|
|
1921
|
+
address_line: fieldCtrls.addressl1.value + ' ' + fieldCtrls.addressl2.value,
|
|
1922
|
+
city: fieldCtrls.townorcity.value,
|
|
1923
|
+
county: fieldCtrls.county.value,
|
|
1924
|
+
postal_code: fieldCtrls.mpostcode.value,
|
|
1925
|
+
country: fieldCtrls.country.value,
|
|
1926
|
+
notification_type: 'LETTER'
|
|
1927
|
+
});
|
|
1928
|
+
}
|
|
1929
|
+
}
|
|
1930
|
+
else {
|
|
1931
|
+
if (fieldCtrls.addressl1.value == '') {
|
|
1932
|
+
this.resetForm([false, false, false, false, true, false, false, false, false, false, false, false, false, false], 'address1');
|
|
1933
|
+
}
|
|
1934
|
+
if (fieldCtrls.addressl1.value != '' && fieldCtrls.addressl1.invalid) {
|
|
1935
|
+
this.resetForm([false, false, false, false, false, true, false, false, false, false, false, false, false, false], 'address1');
|
|
1936
|
+
}
|
|
1937
|
+
if (fieldCtrls.addressl2.value != '' && fieldCtrls.addressl2.invalid) {
|
|
1938
|
+
this.resetForm([false, false, false, false, false, false, true, false, false, false, false, false, false, false], 'address2');
|
|
1939
|
+
}
|
|
1940
|
+
if (fieldCtrls.townorcity.value == '') {
|
|
1941
|
+
this.resetForm([false, false, false, false, false, false, false, true, false, false, false, false, false, false], 'town');
|
|
1942
|
+
}
|
|
1943
|
+
if (fieldCtrls.townorcity.value != '' && fieldCtrls.townorcity.invalid) {
|
|
1944
|
+
this.resetForm([false, false, false, false, false, false, false, false, true, false, false, false, false, false], 'town');
|
|
1945
|
+
}
|
|
1946
|
+
if (fieldCtrls.county.value == '') {
|
|
1947
|
+
this.resetForm([false, false, false, false, false, false, false, false, false, true, false, false, false, false], 'county');
|
|
1948
|
+
}
|
|
1949
|
+
if (fieldCtrls.county.value != '' && fieldCtrls.county.invalid) {
|
|
1950
|
+
this.resetForm([false, false, false, false, false, false, false, false, false, false, true, false, false, false], 'county');
|
|
1951
|
+
}
|
|
1952
|
+
if (fieldCtrls.mpostcode.value == '') {
|
|
1953
|
+
this.resetForm([false, false, false, false, false, false, false, false, false, false, false, true, false, false], 'mpostcode');
|
|
1954
|
+
}
|
|
1955
|
+
if (fieldCtrls.mpostcode.value != '' && fieldCtrls.mpostcode.invalid) {
|
|
1956
|
+
this.resetForm([false, false, false, false, false, false, false, false, false, false, false, false, true, false], 'mpostcode');
|
|
1957
|
+
}
|
|
1958
|
+
if (fieldCtrls.country.value == '') {
|
|
1959
|
+
this.resetForm([false, false, false, false, false, false, false, false, false, false, false, false, false, true], 'country');
|
|
1960
|
+
}
|
|
1961
|
+
}
|
|
1962
|
+
}
|
|
1963
|
+
}
|
|
1964
|
+
postcodeValidation(str) {
|
|
1965
|
+
this.resetForm([false, false, false, false, false, false, false, false, false, false, false, false, false, false, false], 'all');
|
|
1966
|
+
const postcodeField = this.postCodeForm.controls.postcode;
|
|
1967
|
+
if (this.postCodeForm.valid) {
|
|
1968
|
+
if (str === 'FA') {
|
|
1969
|
+
this.notificationService.getAddressByPostcode(postcodeField.value).subscribe(refundsNotification => {
|
|
1970
|
+
this.addressPostcodeList = refundsNotification['results'];
|
|
1971
|
+
this.isShowPickAddress = refundsNotification['header'].totalresults > 0;
|
|
1972
|
+
if (!this.isShowPickAddress) {
|
|
1973
|
+
this.resetForm([false, false, false, true, false, false, false, false, false, false, false, false, false], 'postcode');
|
|
1974
|
+
}
|
|
1975
|
+
}),
|
|
1976
|
+
(error) => {
|
|
1977
|
+
this.isShowPickAddress = false;
|
|
1978
|
+
this.errorMessage = error.replace(/"/g, "");
|
|
1979
|
+
};
|
|
1980
|
+
}
|
|
1981
|
+
else if (str === 'FS') {
|
|
1982
|
+
if (this.postcodeAddress !== undefined && this.postcodeAddress) {
|
|
1983
|
+
this.isAddressBoxEmpty = false;
|
|
1984
|
+
let addressLine = "";
|
|
1985
|
+
let addressArray = this.postcodeAddress.ADDRESS.split(",");
|
|
1986
|
+
for (let i = 0; i < addressArray.length - 2; i++) {
|
|
1987
|
+
addressLine += addressArray[i];
|
|
1988
|
+
}
|
|
1989
|
+
const addressObject = {
|
|
1990
|
+
address_line: addressLine,
|
|
1991
|
+
city: this.postcodeAddress.POST_TOWN,
|
|
1992
|
+
county: this.postcodeAddress.LOCAL_CUSTODIAN_CODE_DESCRIPTION,
|
|
1993
|
+
postal_code: this.postcodeAddress.POSTCODE,
|
|
1994
|
+
country: 'United Kingdom',
|
|
1995
|
+
notification_type: 'LETTER'
|
|
1996
|
+
};
|
|
1997
|
+
if (!this.isEditOperationInRefundList) {
|
|
1998
|
+
this.assignContactDetails.emit(addressObject);
|
|
1999
|
+
}
|
|
2000
|
+
else {
|
|
2001
|
+
this.assignContactDetailsInFefundsList.emit(addressObject);
|
|
2002
|
+
}
|
|
2003
|
+
}
|
|
2004
|
+
else {
|
|
2005
|
+
this.isAddressBoxEmpty = true;
|
|
2006
|
+
}
|
|
2007
|
+
}
|
|
2008
|
+
}
|
|
2009
|
+
else {
|
|
2010
|
+
if (postcodeField.value == '') {
|
|
2011
|
+
this.resetForm([false, false, true, false, false, false, false, false, false, false, false, false, false], 'postcode');
|
|
2012
|
+
}
|
|
2013
|
+
if (postcodeField.value != '' && postcodeField.invalid) {
|
|
2014
|
+
this.resetForm([false, false, false, true, false, false, false, false, false, false, false, false, false], 'postcode');
|
|
2015
|
+
}
|
|
2016
|
+
}
|
|
2017
|
+
}
|
|
2018
|
+
redirection(event) {
|
|
2019
|
+
this.redirectToIssueRefund.emit(event);
|
|
2020
|
+
}
|
|
2021
|
+
resetForm(val, field) {
|
|
2022
|
+
if (field === 'email' || field === 'all') {
|
|
2023
|
+
this.isEmailEmpty = val[0];
|
|
2024
|
+
this.emailHasError = val[1];
|
|
2025
|
+
}
|
|
2026
|
+
if (field === 'postcode' || field === 'all') {
|
|
2027
|
+
this.isPostcodeEmpty = val[2];
|
|
2028
|
+
this.postcodeHasError = val[3];
|
|
2029
|
+
}
|
|
2030
|
+
if (field === 'address1' || field === 'all') {
|
|
2031
|
+
this.isaddressLine1Empty = val[4];
|
|
2032
|
+
this.addressLine1HasError = val[5];
|
|
2033
|
+
}
|
|
2034
|
+
if (field === 'address2' || field === 'all') {
|
|
2035
|
+
this.addressLine2HasError = val[6];
|
|
2036
|
+
}
|
|
2037
|
+
if (field === 'town' || field === 'all') {
|
|
2038
|
+
this.isTownOrCityEmpty = val[7];
|
|
2039
|
+
this.townOrCityHasError = val[8];
|
|
2040
|
+
}
|
|
2041
|
+
if (field === 'county' || field === 'all') {
|
|
2042
|
+
this.isCountyEmpty = val[9];
|
|
2043
|
+
this.countyHasError = val[10];
|
|
2044
|
+
}
|
|
2045
|
+
if (field === 'mpostcode' || field === 'all') {
|
|
2046
|
+
this.isMPostcodeEmpty = val[11];
|
|
2047
|
+
this.mpostcodeHasError = val[12];
|
|
2048
|
+
}
|
|
2049
|
+
if (field === 'country' || field === 'all') {
|
|
2050
|
+
this.isCountryEmpty = val[13];
|
|
2051
|
+
}
|
|
2052
|
+
}
|
|
2053
|
+
}
|
|
2054
|
+
ContactDetailsComponent.decorators = [
|
|
2055
|
+
{ type: Component, args: [{
|
|
2056
|
+
selector: 'ccpay-contact-details',
|
|
2057
|
+
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>",
|
|
2058
|
+
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}"]
|
|
2059
|
+
},] }
|
|
2060
|
+
];
|
|
2061
|
+
ContactDetailsComponent.ctorParameters = () => [
|
|
2062
|
+
{ type: FormBuilder },
|
|
2063
|
+
{ type: NotificationService },
|
|
2064
|
+
{ type: PaymentLibComponent }
|
|
2065
|
+
];
|
|
2066
|
+
ContactDetailsComponent.propDecorators = {
|
|
2067
|
+
isEditOperation: [{ type: Input, args: ['isEditOperation',] }],
|
|
2068
|
+
isEditOperationInRefundList: [{ type: Input, args: ['isEditOperationInRefundList',] }],
|
|
2069
|
+
addressObj: [{ type: Input, args: ['addressObj',] }],
|
|
2070
|
+
assignContactDetails: [{ type: Output }],
|
|
2071
|
+
assignContactDetailsInFefundsList: [{ type: Output }],
|
|
2072
|
+
redirectToIssueRefund: [{ type: Output }]
|
|
2073
|
+
};
|
|
2074
|
+
|
|
2075
|
+
class PbaDetailsComponent {
|
|
2076
|
+
constructor() { }
|
|
2077
|
+
ngOnInit() {
|
|
2078
|
+
}
|
|
2079
|
+
}
|
|
2080
|
+
PbaDetailsComponent.decorators = [
|
|
2081
|
+
{ type: Component, args: [{
|
|
2082
|
+
selector: 'ccpay-pba-details',
|
|
2083
|
+
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",
|
|
2084
|
+
styles: [".capitalize:first-letter{text-transform:uppercase}.tb-col-w{width:330px}"]
|
|
2085
|
+
},] }
|
|
2086
|
+
];
|
|
2087
|
+
PbaDetailsComponent.ctorParameters = () => [];
|
|
2088
|
+
PbaDetailsComponent.propDecorators = {
|
|
2089
|
+
payment: [{ type: Input }]
|
|
2090
|
+
};
|
|
2091
|
+
|
|
2092
|
+
let isDebugMode = false;
|
|
2093
|
+
const noop = () => undefined;
|
|
2094
|
+
const ɵ0 = noop;
|
|
2095
|
+
class ConsoleLoggerService {
|
|
2096
|
+
get info() {
|
|
2097
|
+
if (isDebugMode) {
|
|
2098
|
+
return console.info.bind(console);
|
|
2099
|
+
}
|
|
2100
|
+
else {
|
|
2101
|
+
return noop;
|
|
2102
|
+
}
|
|
2103
|
+
}
|
|
2104
|
+
get warn() {
|
|
2105
|
+
if (isDebugMode) {
|
|
2106
|
+
return console.warn.bind(console);
|
|
2107
|
+
}
|
|
2108
|
+
else {
|
|
2109
|
+
return noop;
|
|
1550
2110
|
}
|
|
1551
2111
|
}
|
|
1552
2112
|
get error() {
|
|
@@ -1699,6 +2259,7 @@ class CaseTransactionsComponent {
|
|
|
1699
2259
|
this.viewStatus = 'main';
|
|
1700
2260
|
this.isRemoveBtnDisabled = false;
|
|
1701
2261
|
this.clAmountDue = 0;
|
|
2262
|
+
this.overPaymentAmount = 0;
|
|
1702
2263
|
this.isFeeRecordsExist = false;
|
|
1703
2264
|
this.isGrpOutstandingAmtPositive = false;
|
|
1704
2265
|
//Order changes
|
|
@@ -1761,6 +2322,7 @@ class CaseTransactionsComponent {
|
|
|
1761
2322
|
}
|
|
1762
2323
|
else {
|
|
1763
2324
|
this.serviceRequestValue = 'false';
|
|
2325
|
+
this.paymentLibComponent.isFromServiceRequestPage = false;
|
|
1764
2326
|
}
|
|
1765
2327
|
this.isBulkScanEnable = this.paymentLibComponent.ISBSENABLE;
|
|
1766
2328
|
this.dcnNumber = this.paymentLibComponent.DCN_NUMBER;
|
|
@@ -1887,6 +2449,7 @@ class CaseTransactionsComponent {
|
|
|
1887
2449
|
if (paymentGroup.fees) {
|
|
1888
2450
|
paymentGroup.fees.forEach(fee => {
|
|
1889
2451
|
this.orderFeesTotal = this.orderFeesTotal + fee.calculated_amount;
|
|
2452
|
+
this.overPaymentAmount = this.overPaymentAmount + fee.over_payment;
|
|
1890
2453
|
});
|
|
1891
2454
|
}
|
|
1892
2455
|
if (paymentGroup.remissions) {
|
|
@@ -1895,7 +2458,11 @@ class CaseTransactionsComponent {
|
|
|
1895
2458
|
});
|
|
1896
2459
|
}
|
|
1897
2460
|
if (paymentGroup.payments) {
|
|
2461
|
+
const isFeeOverPaymentExist = this.overPaymentAmount === 0;
|
|
1898
2462
|
paymentGroup.payments.forEach(payment => {
|
|
2463
|
+
if (isFeeOverPaymentExist) {
|
|
2464
|
+
this.overPaymentAmount = this.overPaymentAmount + payment.over_payment;
|
|
2465
|
+
}
|
|
1899
2466
|
if (payment.status.toUpperCase() === 'SUCCESS') {
|
|
1900
2467
|
this.orderTotalPayments = this.orderTotalPayments + payment.amount;
|
|
1901
2468
|
}
|
|
@@ -2195,14 +2762,13 @@ class CaseTransactionsComponent {
|
|
|
2195
2762
|
}
|
|
2196
2763
|
}
|
|
2197
2764
|
addRefundForRemission(payment, remission, fees) {
|
|
2198
|
-
this.
|
|
2199
|
-
this.payment = payment;
|
|
2200
|
-
this.paymentViewService.getApportionPaymentDetails(this.payment.reference).subscribe(paymentGroup => {
|
|
2765
|
+
this.paymentViewService.getApportionPaymentDetails(payment.reference).subscribe(paymentGroup => {
|
|
2201
2766
|
this.paymentGroup = paymentGroup;
|
|
2202
|
-
this.paymentGroup.payments =
|
|
2767
|
+
this.paymentGroup.payments = paymentGroup.payments.filter(paymentGroupObj => paymentGroupObj.reference === payment.reference);
|
|
2203
2768
|
this.payment = this.paymentGroup.payments[0];
|
|
2204
2769
|
this.remissions = remission;
|
|
2205
2770
|
this.remissionFeeAmt = fees.filter(data => data.code === this.remissions['fee_code'])[0].net_amount;
|
|
2771
|
+
this.viewStatus = 'addrefundforremission';
|
|
2206
2772
|
// const paymentAllocation = this.paymentGroup.payments[0].payment_allocation;
|
|
2207
2773
|
// this.isStatusAllocated = paymentAllocation.length > 0 && paymentAllocation[0].allocation_status === 'Allocated' || paymentAllocation.length === 0;
|
|
2208
2774
|
}, (error) => this.errorMessage = error);
|
|
@@ -2328,17 +2894,21 @@ class CaseTransactionsComponent {
|
|
|
2328
2894
|
}
|
|
2329
2895
|
}
|
|
2330
2896
|
chkIssueRefundBtnEnable(payment) {
|
|
2331
|
-
if (
|
|
2332
|
-
payment.
|
|
2333
|
-
this.isIssueRefunfBtnEnable = true;
|
|
2334
|
-
}
|
|
2335
|
-
if (this.isIssueRefunfBtnEnable) {
|
|
2336
|
-
return true;
|
|
2897
|
+
if (payment !== null && payment !== undefined) {
|
|
2898
|
+
return payment.issue_refund && payment.refund_enable;
|
|
2337
2899
|
}
|
|
2338
2900
|
else {
|
|
2339
2901
|
return false;
|
|
2340
2902
|
}
|
|
2341
|
-
|
|
2903
|
+
// if (this.check4AllowedRoles2AccessRefund() && this.allowFurtherAccessAfter4Days(payment) &&
|
|
2904
|
+
// payment.method === 'payment by account' && payment.status.toLocaleLowerCase() === 'success') {
|
|
2905
|
+
// this.isIssueRefunfBtnEnable = true;
|
|
2906
|
+
// }
|
|
2907
|
+
// if (this.isIssueRefunfBtnEnable) {
|
|
2908
|
+
// return true;
|
|
2909
|
+
// } else {
|
|
2910
|
+
// return false;
|
|
2911
|
+
// };
|
|
2342
2912
|
}
|
|
2343
2913
|
chkIsRefundRemissionBtnEnable() {
|
|
2344
2914
|
if (this.orderDetail !== null && this.orderDetail !== undefined) {
|
|
@@ -2369,7 +2939,7 @@ class CaseTransactionsComponent {
|
|
|
2369
2939
|
CaseTransactionsComponent.decorators = [
|
|
2370
2940
|
{ type: Component, args: [{
|
|
2371
2941
|
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",
|
|
2942
|
+
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
2943
|
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
2944
|
},] }
|
|
2375
2945
|
];
|
|
@@ -2383,7 +2953,8 @@ CaseTransactionsComponent.ctorParameters = () => [
|
|
|
2383
2953
|
];
|
|
2384
2954
|
CaseTransactionsComponent.propDecorators = {
|
|
2385
2955
|
LOGGEDINUSERROLES: [{ type: Input, args: ['LOGGEDINUSERROLES',] }],
|
|
2386
|
-
isTakePayment: [{ type: Input }]
|
|
2956
|
+
isTakePayment: [{ type: Input }],
|
|
2957
|
+
isFromServiceRequestPage: [{ type: Input }]
|
|
2387
2958
|
};
|
|
2388
2959
|
|
|
2389
2960
|
class PaymentToPayhubRequest {
|
|
@@ -2495,15 +3066,20 @@ class FeeSummaryComponent {
|
|
|
2495
3066
|
if (fee.calculated_amount === 0) {
|
|
2496
3067
|
this.isFeeAmountZero = true;
|
|
2497
3068
|
}
|
|
2498
|
-
|
|
2499
|
-
|
|
2500
|
-
|
|
2501
|
-
|
|
2502
|
-
|
|
3069
|
+
if (paymentGroup.remissions) {
|
|
3070
|
+
this.isRemissionsMatch = false;
|
|
3071
|
+
paymentGroup.remissions.forEach(rem => {
|
|
3072
|
+
if (rem.fee_code === fee.code) {
|
|
3073
|
+
this.isRemissionsMatch = true;
|
|
3074
|
+
fee['remissions'] = rem;
|
|
3075
|
+
fees.push(fee);
|
|
3076
|
+
}
|
|
3077
|
+
});
|
|
3078
|
+
if (!this.isRemissionsMatch) {
|
|
2503
3079
|
fees.push(fee);
|
|
2504
3080
|
}
|
|
2505
|
-
}
|
|
2506
|
-
|
|
3081
|
+
}
|
|
3082
|
+
else {
|
|
2507
3083
|
fees.push(fee);
|
|
2508
3084
|
}
|
|
2509
3085
|
});
|
|
@@ -2597,7 +3173,7 @@ class FeeSummaryComponent {
|
|
|
2597
3173
|
FeeSummaryComponent.decorators = [
|
|
2598
3174
|
{ type: Component, args: [{
|
|
2599
3175
|
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",
|
|
3176
|
+
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
3177
|
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
3178
|
},] }
|
|
2603
3179
|
];
|
|
@@ -3229,11 +3805,11 @@ class UnprocessedPaymentsComponent {
|
|
|
3229
3805
|
if (this.isUnprocessedRecordSelected && this.isExceptionCase) {
|
|
3230
3806
|
this.isMarkAsUnidentifiedbtnEnabled = true;
|
|
3231
3807
|
}
|
|
3232
|
-
else if (this.isUnprocessedRecordSelected && !this.isExceptionCase && !this.FEE_RECORDS_EXISTS) {
|
|
3808
|
+
else if (this.isUnprocessedRecordSelected && !this.isExceptionCase && this.FEE_RECORDS_EXISTS !== null && !this.FEE_RECORDS_EXISTS) {
|
|
3233
3809
|
this.isAllocateToExistingFeebtnEnabled = false;
|
|
3234
3810
|
this.isAllocatedToNewFeebtnEnabled = true;
|
|
3235
3811
|
}
|
|
3236
|
-
else if (this.isUnprocessedRecordSelected && !this.isExceptionCase && this.FEE_RECORDS_EXISTS) {
|
|
3812
|
+
else if (this.isUnprocessedRecordSelected && !this.isExceptionCase && (this.FEE_RECORDS_EXISTS === null || this.FEE_RECORDS_EXISTS)) {
|
|
3237
3813
|
if (!this.ISTURNOFF) {
|
|
3238
3814
|
this.isAllocateToExistingFeebtnEnabled = true;
|
|
3239
3815
|
this.isAllocatedToNewFeebtnEnabled = false;
|
|
@@ -3719,25 +4295,21 @@ class AddRetroRemissionRequest {
|
|
|
3719
4295
|
}
|
|
3720
4296
|
}
|
|
3721
4297
|
|
|
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
4298
|
class PostIssueRefundRetroRemission {
|
|
3730
|
-
constructor(remissionReference) {
|
|
4299
|
+
constructor(remissionReference, contactDeatils) {
|
|
3731
4300
|
this.remissionReference = remissionReference;
|
|
4301
|
+
this.contact_details = contactDeatils;
|
|
3732
4302
|
}
|
|
3733
4303
|
}
|
|
3734
4304
|
|
|
3735
4305
|
const BS_ENABLE_FLAG$1 = 'bulk-scan-enabling-fe';
|
|
4306
|
+
const resolvedPromise = Promise.resolve(null);
|
|
3736
4307
|
class AddRemissionComponent {
|
|
3737
|
-
constructor(formBuilder, router, paymentViewService, paymentLibComponent, refundService, cd, OrderslistService) {
|
|
4308
|
+
constructor(formBuilder, router, paymentViewService, notificationService, paymentLibComponent, refundService, cd, OrderslistService) {
|
|
3738
4309
|
this.formBuilder = formBuilder;
|
|
3739
4310
|
this.router = router;
|
|
3740
4311
|
this.paymentViewService = paymentViewService;
|
|
4312
|
+
this.notificationService = notificationService;
|
|
3741
4313
|
this.paymentLibComponent = paymentLibComponent;
|
|
3742
4314
|
this.refundService = refundService;
|
|
3743
4315
|
this.cd = cd;
|
|
@@ -3746,6 +4318,7 @@ class AddRemissionComponent {
|
|
|
3746
4318
|
//@Output() refundListReason: EventEmitter<any> = new EventEmitter({reason:string, code:string});
|
|
3747
4319
|
this.refundListReason = new EventEmitter();
|
|
3748
4320
|
this.refundListAmount = new EventEmitter();
|
|
4321
|
+
this.refundFees = new EventEmitter();
|
|
3749
4322
|
this.refund = {
|
|
3750
4323
|
reason: {
|
|
3751
4324
|
duplicate: 'Duplicate payment',
|
|
@@ -3774,8 +4347,12 @@ class AddRemissionComponent {
|
|
|
3774
4347
|
this.isRemissionApplied = false;
|
|
3775
4348
|
// refundReasons: any[] = [];
|
|
3776
4349
|
this.commonRefundReasons = [];
|
|
4350
|
+
this.class = '';
|
|
4351
|
+
this.errorMsg = new Array();
|
|
3777
4352
|
}
|
|
3778
4353
|
ngOnInit() {
|
|
4354
|
+
this.errorMessage = '';
|
|
4355
|
+
this.errorMsg = [];
|
|
3779
4356
|
this.default = 'Select a different reason';
|
|
3780
4357
|
this.pattern1 = '^([a-zA-Z0-9]{3})-([a-zA-Z0-9]{3})-([a-zA-Z0-9]{3})$';
|
|
3781
4358
|
this.pattern2 = '^([A-Za-z]{2}[0-9]{2})-([0-9]{6})$';
|
|
@@ -3788,6 +4365,7 @@ class AddRemissionComponent {
|
|
|
3788
4365
|
this.amount = (this.fee.volume * this.fee.calculated_amount);
|
|
3789
4366
|
}
|
|
3790
4367
|
if (this.payment) {
|
|
4368
|
+
this.paymentReference = this.payment.reference;
|
|
3791
4369
|
this.remessionPayment = this.payment;
|
|
3792
4370
|
if (this.payment.status === 'Success') {
|
|
3793
4371
|
this.isPaymentSuccess = true;
|
|
@@ -3806,26 +4384,156 @@ class AddRemissionComponent {
|
|
|
3806
4384
|
])),
|
|
3807
4385
|
refundReason: new FormControl('', Validators.compose([Validators.required])),
|
|
3808
4386
|
refundDDReason: new FormControl('', Validators.compose([Validators.required])),
|
|
3809
|
-
reason: new FormControl()
|
|
4387
|
+
reason: new FormControl(),
|
|
4388
|
+
feeAmount: new FormControl(),
|
|
4389
|
+
feesList: this.formBuilder.array([])
|
|
3810
4390
|
});
|
|
3811
4391
|
const remissionctrls = this.remissionForm.controls;
|
|
3812
4392
|
remissionctrls['refundDDReason'].setValue('Select a different reason', { onlySelf: true });
|
|
4393
|
+
if (this.refundPaymentReference !== undefined && this.refundPaymentReference.length > 0) {
|
|
4394
|
+
this.paymentReference = this.refundPaymentReference;
|
|
4395
|
+
}
|
|
4396
|
+
else {
|
|
4397
|
+
this.paymentReference = (this.payment !== undefined) ? this.payment.reference : '';
|
|
4398
|
+
}
|
|
4399
|
+
if (this.isFromServiceRequestPage) {
|
|
4400
|
+
this.paymentViewService.getApportionPaymentDetails(this.paymentReference).subscribe(paymentGroup => {
|
|
4401
|
+
let fees = [];
|
|
4402
|
+
paymentGroup.fees.forEach(fee => {
|
|
4403
|
+
this.isRemissionsMatch = false;
|
|
4404
|
+
paymentGroup.remissions.forEach(rem => {
|
|
4405
|
+
if (rem.fee_code === fee.code) {
|
|
4406
|
+
this.isRemissionsMatch = true;
|
|
4407
|
+
fee['remissions'] = rem;
|
|
4408
|
+
fees.push(fee);
|
|
4409
|
+
}
|
|
4410
|
+
});
|
|
4411
|
+
if (!this.isRemissionsMatch) {
|
|
4412
|
+
fees.push(fee);
|
|
4413
|
+
}
|
|
4414
|
+
});
|
|
4415
|
+
paymentGroup.fees = fees;
|
|
4416
|
+
this.paymentFees = fees;
|
|
4417
|
+
this.fees = fees;
|
|
4418
|
+
this.paymentGroup = paymentGroup;
|
|
4419
|
+
this.paymentGroup.payments = this.paymentGroup.payments.filter(paymentGroupObj => paymentGroupObj['reference'].includes(this.paymentLibComponent.paymentReference));
|
|
4420
|
+
// const paymentAllocation = this.paymentGroup.payments[0].payment_allocation;
|
|
4421
|
+
// this.isStatusAllocated = paymentAllocation.length > 0 && paymentAllocation[0].allocation_status === 'Allocated' || paymentAllocation.length === 0;
|
|
4422
|
+
this.refundFeesList();
|
|
4423
|
+
}, (error) => this.errorMessage = error);
|
|
4424
|
+
}
|
|
4425
|
+
if (this.fees && this.viewCompStatus === 'issuerefund') {
|
|
4426
|
+
this.refundFeesList();
|
|
4427
|
+
}
|
|
3813
4428
|
if (this.viewCompStatus === '') {
|
|
3814
4429
|
this.viewStatus = 'main';
|
|
3815
4430
|
}
|
|
3816
|
-
if (this.viewCompStatus === '
|
|
4431
|
+
if (this.viewCompStatus === 'issuerefundpage1') {
|
|
3817
4432
|
this.refundService.getRefundReasons().subscribe(refundReasons => {
|
|
3818
4433
|
this.refundReasons = refundReasons.filter((data) => data.recently_used === false);
|
|
3819
|
-
this.refundReasons = this.refundReasons.filter((data) => data.name !== 'Retrospective remission');
|
|
4434
|
+
this.refundReasons = this.refundReasons.filter((data) => data.name !== 'Retrospective remission' && data.name !== 'Overpayment');
|
|
3820
4435
|
this.cd.detectChanges();
|
|
3821
4436
|
this.commonRefundReasons = refundReasons.filter((data) => data.recently_used === true);
|
|
3822
4437
|
this.commonRefundReasons.sort((a, b) => a.toString().localeCompare(b));
|
|
3823
4438
|
this.cd.detectChanges();
|
|
3824
4439
|
});
|
|
4440
|
+
this.refundReason = this.changeRefundReason;
|
|
3825
4441
|
}
|
|
3826
4442
|
if (this.viewCompStatus === 'processretroremissonpage' && this.isFromRefundListPage) {
|
|
3827
4443
|
this.viewStatus = 'processretroremissonpage';
|
|
3828
4444
|
}
|
|
4445
|
+
if (this.orderDetail !== undefined) {
|
|
4446
|
+
this.paymentViewService.getApportionPaymentDetails(this.orderDetail[0].payments[0].reference).subscribe(paymentGroup => {
|
|
4447
|
+
this.fees = paymentGroup.fees;
|
|
4448
|
+
this.paymentReference = paymentGroup.payments[0].reference;
|
|
4449
|
+
}, (error) => this.errorMessage = error);
|
|
4450
|
+
}
|
|
4451
|
+
}
|
|
4452
|
+
goToPaymentViewComponent() {
|
|
4453
|
+
this.paymentLibComponent.paymentMethod = this.payment.method;
|
|
4454
|
+
this.paymentLibComponent.paymentGroupReference = this.paymentGroupRef;
|
|
4455
|
+
this.paymentLibComponent.paymentReference = this.paymentReference;
|
|
4456
|
+
//this.PaymentViewComponent.viewCompStatus = 'overpayment';
|
|
4457
|
+
this.paymentLibComponent.viewName = 'payment-view';
|
|
4458
|
+
}
|
|
4459
|
+
refundFeesList() {
|
|
4460
|
+
const creds = this.remissionForm.controls.feesList;
|
|
4461
|
+
// if(creds.controls.length > 0) {
|
|
4462
|
+
for (var i = 0; i < this.fees.length; i++) {
|
|
4463
|
+
creds.push(this.formBuilder.group({
|
|
4464
|
+
id: this.fees[i].id,
|
|
4465
|
+
code: this.fees[i].code,
|
|
4466
|
+
volume: this.fees[i].volume,
|
|
4467
|
+
calculated_amount: this.fees[i].calculated_amount,
|
|
4468
|
+
apportion_amount: this.fees[i].apportion_amount,
|
|
4469
|
+
ccd_case_number: this.fees[i].ccd_case_number,
|
|
4470
|
+
description: this.fees[i].description,
|
|
4471
|
+
net_amount: this.fees[i].net_amount,
|
|
4472
|
+
version: this.fees[i].version,
|
|
4473
|
+
refund_amount: [''],
|
|
4474
|
+
selected: [''],
|
|
4475
|
+
updated_volume: this.fees[i].volume
|
|
4476
|
+
}));
|
|
4477
|
+
}
|
|
4478
|
+
this.cd.detectChanges();
|
|
4479
|
+
//}
|
|
4480
|
+
}
|
|
4481
|
+
get feesList() {
|
|
4482
|
+
const dd = this.remissionForm.get('feesList');
|
|
4483
|
+
return this.remissionForm.get('feesList');
|
|
4484
|
+
}
|
|
4485
|
+
noneSelected() {
|
|
4486
|
+
if (this.isFullyRefund) {
|
|
4487
|
+
return false;
|
|
4488
|
+
}
|
|
4489
|
+
else {
|
|
4490
|
+
if (!this.feesList.controls.some(item => item.get('selected').value === true)) {
|
|
4491
|
+
this.errorMsg = [];
|
|
4492
|
+
[].forEach.call(document.querySelectorAll('input'), function (el) {
|
|
4493
|
+
el.classList.remove('inline-error-class');
|
|
4494
|
+
});
|
|
4495
|
+
}
|
|
4496
|
+
return !this.feesList.controls.some(item => item.get('selected').value === true);
|
|
4497
|
+
}
|
|
4498
|
+
}
|
|
4499
|
+
check_en(i, v1, AppAmt, Volume) {
|
|
4500
|
+
const ele = document.getElementById(v1);
|
|
4501
|
+
const formArray = this.remissionForm.controls.feesList;
|
|
4502
|
+
if (ele.checked) {
|
|
4503
|
+
formArray.at(i).get('refund_amount').setValue(AppAmt);
|
|
4504
|
+
formArray.at(i).get('volume').setValue(Volume);
|
|
4505
|
+
formArray.at(i).get('selected').setValue(true);
|
|
4506
|
+
formArray.at(i).get('updated_volume').setValue(Volume);
|
|
4507
|
+
document.getElementById('feeAmount_' + v1).value = AppAmt;
|
|
4508
|
+
document.getElementById('feeAmount_' + v1).removeAttribute("disabled");
|
|
4509
|
+
if (Volume === 1) {
|
|
4510
|
+
document.getElementById('VolumeUpdated_' + v1).value = Volume;
|
|
4511
|
+
}
|
|
4512
|
+
else {
|
|
4513
|
+
document.getElementById('feeVolumeUpdated_' + v1).value = Volume;
|
|
4514
|
+
}
|
|
4515
|
+
if (document.getElementById('feeVolumeUpdated_' + v1) !== null) {
|
|
4516
|
+
document.getElementById('feeAmount_' + v1).removeAttribute("disabled");
|
|
4517
|
+
document.getElementById('feeVolumeUpdated_' + v1).removeAttribute("disabled");
|
|
4518
|
+
}
|
|
4519
|
+
this.cd.detectChanges();
|
|
4520
|
+
}
|
|
4521
|
+
else {
|
|
4522
|
+
this.errorMsg = [];
|
|
4523
|
+
document.getElementById('feeAmount_' + v1).setAttribute("disabled", "true");
|
|
4524
|
+
this.remissionForm.value.feesList[i]["refund_amount"] = '';
|
|
4525
|
+
this.remissionForm.value.feesList[i]["volume"] = '';
|
|
4526
|
+
this.remissionForm.value.feesList[i]["selected"] = false;
|
|
4527
|
+
document.getElementById('feeAmount_' + v1).value = '';
|
|
4528
|
+
if (Volume > 1) {
|
|
4529
|
+
this.remissionForm.value.feesList[i]["volume"] = '';
|
|
4530
|
+
document.getElementById('feeVolumeUpdated_' + v1).value = '';
|
|
4531
|
+
}
|
|
4532
|
+
if (document.getElementById('feeVolumeUpdated_' + v1) !== null) {
|
|
4533
|
+
document.getElementById('feeVolumeUpdated_' + v1).removeAttribute("disabled");
|
|
4534
|
+
}
|
|
4535
|
+
this.cd.detectChanges();
|
|
4536
|
+
}
|
|
3829
4537
|
}
|
|
3830
4538
|
addRemission() {
|
|
3831
4539
|
this.resetRemissionForm([false, false, false, false, false, false], 'All');
|
|
@@ -3899,6 +4607,8 @@ class AddRemissionComponent {
|
|
|
3899
4607
|
// Add retro remission changes
|
|
3900
4608
|
addRemissionCode() {
|
|
3901
4609
|
this.errorMessage = false;
|
|
4610
|
+
// this.isFromCheckAnsPage = true;
|
|
4611
|
+
this.errorMsg = [];
|
|
3902
4612
|
this.viewStatus = '';
|
|
3903
4613
|
this.isRefundRemission = false;
|
|
3904
4614
|
this.resetRemissionForm([false, false, false, false, false, false], 'All');
|
|
@@ -3908,8 +4618,14 @@ class AddRemissionComponent {
|
|
|
3908
4618
|
this.remissionForm.controls['refundDDReason'].setErrors(null);
|
|
3909
4619
|
this.remissionForm.controls['amount'].setErrors(null);
|
|
3910
4620
|
if (this.remissionForm.dirty && this.remissionForm.valid) {
|
|
3911
|
-
this.
|
|
3912
|
-
|
|
4621
|
+
if (!this.isFromCheckAnsPage) {
|
|
4622
|
+
this.viewCompStatus = '';
|
|
4623
|
+
this.viewStatus = "processretroremissonpage";
|
|
4624
|
+
}
|
|
4625
|
+
else {
|
|
4626
|
+
this.viewCompStatus = '';
|
|
4627
|
+
this.viewStatus = 'checkretroremissionpage';
|
|
4628
|
+
}
|
|
3913
4629
|
}
|
|
3914
4630
|
else {
|
|
3915
4631
|
if (remissionctrls['remissionCode'].value == '') {
|
|
@@ -3934,8 +4650,9 @@ class AddRemissionComponent {
|
|
|
3934
4650
|
}
|
|
3935
4651
|
gotoAddRetroRemissionCodePage() {
|
|
3936
4652
|
this.errorMessage = false;
|
|
4653
|
+
this.isFromCheckAnsPage = false;
|
|
4654
|
+
this.errorMsg = [];
|
|
3937
4655
|
if (this.isRefundRemission) {
|
|
3938
|
-
this.paymentLibComponent.iscancelClicked = true;
|
|
3939
4656
|
this.refundListAmount.emit();
|
|
3940
4657
|
this.paymentLibComponent.isFromRefundStatusPage = true;
|
|
3941
4658
|
return;
|
|
@@ -3951,6 +4668,7 @@ class AddRemissionComponent {
|
|
|
3951
4668
|
this.viewCompStatus = "addremission";
|
|
3952
4669
|
this.isRefundRemission = true;
|
|
3953
4670
|
this.errorMessage = '';
|
|
4671
|
+
this.errorMsg = [];
|
|
3954
4672
|
if (this.isFromPaymentDetailPage) {
|
|
3955
4673
|
this.paymentLibComponent.viewName = 'payment-view';
|
|
3956
4674
|
}
|
|
@@ -3991,11 +4709,30 @@ class AddRemissionComponent {
|
|
|
3991
4709
|
//}
|
|
3992
4710
|
}
|
|
3993
4711
|
}
|
|
4712
|
+
gotoAmountRetroRemission() {
|
|
4713
|
+
this.isFromCheckAnsPage = false;
|
|
4714
|
+
this.viewStatus = 'processretroremissonpage';
|
|
4715
|
+
this.viewCompStatus = '';
|
|
4716
|
+
// this.isRefundRemission = true;
|
|
4717
|
+
this.errorMessage = '';
|
|
4718
|
+
}
|
|
3994
4719
|
gotoProcessRetroRemissionPage() {
|
|
4720
|
+
this.isFromCheckAnsPage = true;
|
|
3995
4721
|
this.viewStatus = '';
|
|
3996
4722
|
this.viewCompStatus = 'addremission';
|
|
3997
4723
|
this.isRefundRemission = true;
|
|
3998
4724
|
this.errorMessage = '';
|
|
4725
|
+
this.errorMsg = [];
|
|
4726
|
+
}
|
|
4727
|
+
gotoProcessRetroRemission(note) {
|
|
4728
|
+
if (note) {
|
|
4729
|
+
this.notification = { contact_details: note, notification_type: note.notification_type };
|
|
4730
|
+
}
|
|
4731
|
+
this.isFromCheckAnsPage = true;
|
|
4732
|
+
this.viewStatus = 'remissionAddressPage';
|
|
4733
|
+
this.viewCompStatus = '';
|
|
4734
|
+
this.isRefundRemission = true;
|
|
4735
|
+
this.errorMessage = '';
|
|
3999
4736
|
}
|
|
4000
4737
|
confirmRetroRemission() {
|
|
4001
4738
|
if (!this.isConfirmationBtnDisabled) {
|
|
@@ -4018,6 +4755,7 @@ class AddRemissionComponent {
|
|
|
4018
4755
|
}
|
|
4019
4756
|
processRefund() {
|
|
4020
4757
|
this.errorMessage = '';
|
|
4758
|
+
this.errorMsg = [];
|
|
4021
4759
|
this.isConfirmationBtnDisabled = true;
|
|
4022
4760
|
if (this.isRefundRemission) {
|
|
4023
4761
|
this.retroRemission = true;
|
|
@@ -4025,7 +4763,7 @@ class AddRemissionComponent {
|
|
|
4025
4763
|
if (this.remissionReference === undefined || this.remissionReference === '') {
|
|
4026
4764
|
this.remissionReference = this.remission.remission_reference;
|
|
4027
4765
|
}
|
|
4028
|
-
const requestBody = new PostIssueRefundRetroRemission(this.remissionReference);
|
|
4766
|
+
const requestBody = new PostIssueRefundRetroRemission(this.remissionReference, this.contactDetailsObj);
|
|
4029
4767
|
this.paymentViewService.postRefundRetroRemission(requestBody).subscribe(response => {
|
|
4030
4768
|
if (JSON.parse(response)) {
|
|
4031
4769
|
this.viewCompStatus = '';
|
|
@@ -4044,7 +4782,9 @@ class AddRemissionComponent {
|
|
|
4044
4782
|
if (this.paymentLibComponent.REFUNDLIST === "true") {
|
|
4045
4783
|
this.isFromRefundListPage = true;
|
|
4046
4784
|
}
|
|
4785
|
+
this.totalRefundAmount = this.remissionForm.value.feesList.reduce((a, c) => a + c.refund_amount * c.selected, 0);
|
|
4047
4786
|
this.errorMessage = '';
|
|
4787
|
+
this.errorMsg = [];
|
|
4048
4788
|
this.refundReason = this.remissionForm.controls['refundReason'].value === null ? this.remissionForm.controls['refundDDReason'].value : this.remissionForm.controls['refundReason'].value;
|
|
4049
4789
|
if (!this.refundReason || this.refundReason === 'Select a different reason') {
|
|
4050
4790
|
this.refundHasError = true;
|
|
@@ -4060,19 +4800,35 @@ class AddRemissionComponent {
|
|
|
4060
4800
|
this.refundListReason.emit({ reason: this.displayRefundReason, code: this.refundReason });
|
|
4061
4801
|
}
|
|
4062
4802
|
else {
|
|
4803
|
+
if (this.isFromCheckAnsPage) {
|
|
4804
|
+
this.totalRefundAmount = this.remissionForm.value.feesList.reduce((a, c) => a + c.refund_amount * c.selected, 0);
|
|
4805
|
+
this.isFromCheckAnsPage = false;
|
|
4806
|
+
this.viewStatus = 'checkissuerefundpage';
|
|
4807
|
+
this.viewCompStatus = '';
|
|
4808
|
+
this.notificationPreview = false;
|
|
4809
|
+
return;
|
|
4810
|
+
}
|
|
4063
4811
|
this.viewCompStatus = '';
|
|
4064
|
-
this.viewStatus = '
|
|
4812
|
+
this.viewStatus = 'contactDetailsPage';
|
|
4065
4813
|
}
|
|
4066
4814
|
}
|
|
4067
4815
|
else {
|
|
4068
4816
|
this.displayRefundReason = this.selectedRefundReason;
|
|
4817
|
+
if (this.isFromCheckAnsPage) {
|
|
4818
|
+
this.totalRefundAmount = this.remissionForm.value.feesList.reduce((a, c) => a + c.refund_amount * c.selected, 0);
|
|
4819
|
+
this.isFromCheckAnsPage = false;
|
|
4820
|
+
this.viewStatus = 'checkissuerefundpage';
|
|
4821
|
+
this.viewCompStatus = '';
|
|
4822
|
+
this.notificationPreview = false;
|
|
4823
|
+
return;
|
|
4824
|
+
}
|
|
4069
4825
|
if (this.isFromRefundListPage) {
|
|
4070
4826
|
this.paymentLibComponent.isFromRefundStatusPage = true;
|
|
4071
4827
|
this.refundListReason.emit({ reason: this.selectedRefundReason, code: this.refundReason });
|
|
4072
4828
|
}
|
|
4073
4829
|
else {
|
|
4074
4830
|
this.viewCompStatus = '';
|
|
4075
|
-
this.viewStatus = '
|
|
4831
|
+
this.viewStatus = 'contactDetailsPage';
|
|
4076
4832
|
}
|
|
4077
4833
|
}
|
|
4078
4834
|
}
|
|
@@ -4082,25 +4838,172 @@ class AddRemissionComponent {
|
|
|
4082
4838
|
this.viewStatus = '';
|
|
4083
4839
|
this.isRefundRemission = true;
|
|
4084
4840
|
this.errorMessage = false;
|
|
4841
|
+
this.errorMsg = [];
|
|
4085
4842
|
this.refundHasError = false;
|
|
4086
4843
|
this.isReasonEmpty = false;
|
|
4087
4844
|
}
|
|
4845
|
+
gotoIssuePage(isFullyRefund) {
|
|
4846
|
+
if (isFullyRefund) {
|
|
4847
|
+
this.viewCompStatus = 'issuerefundpage1';
|
|
4848
|
+
this.getRefundReasons();
|
|
4849
|
+
}
|
|
4850
|
+
else {
|
|
4851
|
+
[].forEach.call(document.querySelectorAll('input'), function (el) {
|
|
4852
|
+
el.classList.remove('inline-error-class');
|
|
4853
|
+
});
|
|
4854
|
+
var checkboxs = document.getElementsByTagName('input');
|
|
4855
|
+
this.errorMessage = '';
|
|
4856
|
+
this.totalRefundAmount = 0;
|
|
4857
|
+
this.errorMsg = [];
|
|
4858
|
+
for (var j = 0; j < checkboxs.length; j++) {
|
|
4859
|
+
if (checkboxs[j].checked) {
|
|
4860
|
+
this.fullRefund = false;
|
|
4861
|
+
let quantity = +document.getElementById('feeVolume_' + checkboxs[j].value).value;
|
|
4862
|
+
let amountToRefund = +document.getElementById('feeAmount_' + checkboxs[j].value).value;
|
|
4863
|
+
let apportionAmount = +document.getElementById('feeApportionAmount_' + checkboxs[j].value).value;
|
|
4864
|
+
let calculatedAmount = +document.getElementById('calculatedAmount_' + checkboxs[j].value).value;
|
|
4865
|
+
if (amountToRefund === apportionAmount) {
|
|
4866
|
+
this.fullRefund = true;
|
|
4867
|
+
}
|
|
4868
|
+
if (amountToRefund === 0) {
|
|
4869
|
+
this.elementId = 'feeAmount_' + checkboxs[j].value;
|
|
4870
|
+
this.errorMsg.push('You need to enter a refund amount');
|
|
4871
|
+
this.getErrorClass(this.elementId);
|
|
4872
|
+
}
|
|
4873
|
+
if (quantity === 1) {
|
|
4874
|
+
if (amountToRefund > 0 && amountToRefund > apportionAmount) {
|
|
4875
|
+
this.elementId = 'feeAmount_' + checkboxs[j].value;
|
|
4876
|
+
this.errorMsg.push('The amount you want to refund is more than the amount paid');
|
|
4877
|
+
this.getErrorClass(this.elementId);
|
|
4878
|
+
}
|
|
4879
|
+
}
|
|
4880
|
+
if (quantity > 1) {
|
|
4881
|
+
this.quantityUpdated = +document.getElementById('feeVolumeUpdated_' + checkboxs[j].value).value;
|
|
4882
|
+
if (this.quantityUpdated === 0) {
|
|
4883
|
+
this.elementId = 'feeVolumeUpdated_' + checkboxs[j].value;
|
|
4884
|
+
this.errorMsg.push('You need to enter quantity');
|
|
4885
|
+
this.getErrorClass(this.elementId);
|
|
4886
|
+
}
|
|
4887
|
+
if (this.fullRefund && quantity !== this.quantityUpdated) {
|
|
4888
|
+
this.elementId = 'feeVolumeUpdated_' + checkboxs[j].value;
|
|
4889
|
+
this.errorMsg.push('The quantity you want to refund should be maximun available quantity');
|
|
4890
|
+
this.getErrorClass(this.elementId);
|
|
4891
|
+
}
|
|
4892
|
+
if (!this.fullRefund && this.quantityUpdated > 0 && amountToRefund > 0) {
|
|
4893
|
+
this.refundAmtForFeeVolumes = +document.getElementById('feeVOl_' + checkboxs[j].value).innerText;
|
|
4894
|
+
this.allowedRefundAmount = this.quantityUpdated * this.refundAmtForFeeVolumes;
|
|
4895
|
+
if (this.allowedRefundAmount !== amountToRefund) {
|
|
4896
|
+
this.elementId = 'feeAmount_' + checkboxs[j].value;
|
|
4897
|
+
this.errorMsg.push('The Amount to Refund should be equal to the product of Fee Amount and quantity');
|
|
4898
|
+
this.getErrorClass(this.elementId);
|
|
4899
|
+
}
|
|
4900
|
+
}
|
|
4901
|
+
if (!this.fullRefund && amountToRefund > apportionAmount) {
|
|
4902
|
+
this.elementId = 'feeAmount_' + checkboxs[j].value;
|
|
4903
|
+
this.errorMsg.push('The amount you want to refund is more than the amount paid');
|
|
4904
|
+
this.getErrorClass(this.elementId);
|
|
4905
|
+
}
|
|
4906
|
+
if (!this.fullRefund && this.quantityUpdated > 0 && this.quantityUpdated > quantity) {
|
|
4907
|
+
this.elementId = 'feeVolumeUpdated_' + checkboxs[j].value;
|
|
4908
|
+
this.errorMsg.push('The quantity you want to refund is more than the available quantity');
|
|
4909
|
+
this.getErrorClass(this.elementId);
|
|
4910
|
+
}
|
|
4911
|
+
}
|
|
4912
|
+
//this.remissionForm.value.feesList.find(id=>id=checkboxs[j].value)['refund_amount'] = apportionAmount;
|
|
4913
|
+
}
|
|
4914
|
+
}
|
|
4915
|
+
if (this.errorMsg.length === 0) {
|
|
4916
|
+
if (this.isFromCheckAnsPage) {
|
|
4917
|
+
this.isFromCheckAnsPage = false;
|
|
4918
|
+
this.totalRefundAmount = this.remissionForm.value.feesList.reduce((a, c) => a + c.refund_amount * c.selected, 0);
|
|
4919
|
+
this.fees = this.remissionForm.value.feesList.filter(value => value.selected === true);
|
|
4920
|
+
this.viewStatus = 'checkissuerefundpage';
|
|
4921
|
+
this.viewCompStatus = '';
|
|
4922
|
+
this.notificationPreview = false;
|
|
4923
|
+
return;
|
|
4924
|
+
}
|
|
4925
|
+
else if (this.isFromRefundStatusPage) {
|
|
4926
|
+
var remissionctrls = this.remissionForm.controls;
|
|
4927
|
+
this.totalRefundAmount = this.remissionForm.value.feesList.reduce((a, c) => a + c.refund_amount * c.selected, 0);
|
|
4928
|
+
this.refundListAmount.emit(this.totalRefundAmount.toString());
|
|
4929
|
+
this.fees = this.remissionForm.value.feesList.filter(value => value.selected === true);
|
|
4930
|
+
this.refundFees.emit(this.fees);
|
|
4931
|
+
return;
|
|
4932
|
+
}
|
|
4933
|
+
this.viewCompStatus = 'issuerefundpage1';
|
|
4934
|
+
this.getRefundReasons();
|
|
4935
|
+
}
|
|
4936
|
+
}
|
|
4937
|
+
}
|
|
4938
|
+
calAmtToRefund(value, amount, volume, i) {
|
|
4939
|
+
const volumeFee = amount / volume;
|
|
4940
|
+
const amtToRefund = value * volumeFee;
|
|
4941
|
+
const formArray = this.remissionForm.controls.feesList;
|
|
4942
|
+
formArray.at(i).get('refund_amount').setValue(amtToRefund);
|
|
4943
|
+
// formArray.at(i).get('volume').setValue(value);
|
|
4944
|
+
// (<HTMLInputElement>document.getElementById('feeAmount_'+i)).value = +amtToRefund;
|
|
4945
|
+
// const formControl = this.remissionForm.controls.feesList['volume'].at(i);
|
|
4946
|
+
// formControl.setValue(value);
|
|
4947
|
+
}
|
|
4948
|
+
gotoContactDetailsPage(note) {
|
|
4949
|
+
if (note) {
|
|
4950
|
+
this.notification = { contact_details: note, notification_type: note.notification_type };
|
|
4951
|
+
}
|
|
4952
|
+
this.errorMessage = '';
|
|
4953
|
+
this.viewCompStatus = '';
|
|
4954
|
+
this.viewStatus = 'contactDetailsPage';
|
|
4955
|
+
this.isRefundRemission = true;
|
|
4956
|
+
this.errorMessage = false;
|
|
4957
|
+
}
|
|
4958
|
+
getRefundReasons() {
|
|
4959
|
+
if (this.viewCompStatus === 'issuerefundpage1') {
|
|
4960
|
+
this.refundService.getRefundReasons().subscribe(refundReasons => {
|
|
4961
|
+
this.refundReasons = refundReasons.filter((data) => data.recently_used === false);
|
|
4962
|
+
this.refundReasons = this.refundReasons.filter((data) => data.name !== 'Retrospective remission');
|
|
4963
|
+
this.cd.detectChanges();
|
|
4964
|
+
this.commonRefundReasons = refundReasons.filter((data) => data.recently_used === true);
|
|
4965
|
+
this.commonRefundReasons.sort((a, b) => a.toString().localeCompare(b));
|
|
4966
|
+
this.cd.detectChanges();
|
|
4967
|
+
});
|
|
4968
|
+
}
|
|
4969
|
+
}
|
|
4970
|
+
getErrorClass(elementId) {
|
|
4971
|
+
if (this.errorMsg.length > 0) {
|
|
4972
|
+
const ele = document.getElementById(elementId);
|
|
4973
|
+
ele.classList.add('inline-error-class');
|
|
4974
|
+
}
|
|
4975
|
+
}
|
|
4088
4976
|
changeIssueRefundReason() {
|
|
4089
|
-
|
|
4977
|
+
this.isFromCheckAnsPage = true;
|
|
4090
4978
|
this.errorMessage = '';
|
|
4979
|
+
this.errorMsg = [];
|
|
4091
4980
|
this.refundHasError = false;
|
|
4092
4981
|
this.isReasonEmpty = false;
|
|
4093
|
-
this.viewCompStatus = '
|
|
4982
|
+
this.viewCompStatus = 'issuerefundpage1';
|
|
4094
4983
|
this.viewStatus = '';
|
|
4095
4984
|
this.isRefundRemission = true;
|
|
4096
4985
|
}
|
|
4097
|
-
confirmIssueRefund() {
|
|
4986
|
+
confirmIssueRefund(isFullyRefund) {
|
|
4098
4987
|
this.isConfirmationBtnDisabled = true;
|
|
4099
4988
|
this.errorMessage = '';
|
|
4989
|
+
this.errorMsg = [];
|
|
4100
4990
|
if (this.isRefundRemission) {
|
|
4101
4991
|
this.retroRemission = true;
|
|
4102
4992
|
}
|
|
4103
|
-
|
|
4993
|
+
if (isFullyRefund) {
|
|
4994
|
+
this.totalRefundAmount = this.payment.amount;
|
|
4995
|
+
}
|
|
4996
|
+
if (!isFullyRefund) {
|
|
4997
|
+
this.fees = this.remissionForm.value.feesList.filter(value => value.selected === true);
|
|
4998
|
+
}
|
|
4999
|
+
this.fees = this.fees.map(obj => ({ id: obj.id,
|
|
5000
|
+
code: obj.code,
|
|
5001
|
+
version: obj.version,
|
|
5002
|
+
apportion_amount: obj.apportion_amount,
|
|
5003
|
+
calculated_amount: obj.calculated_amount,
|
|
5004
|
+
updated_volume: obj.updated_volume ? obj.updated_volume : obj.volume,
|
|
5005
|
+
refund_amount: obj.refund_amount ? obj.refund_amount : this.totalRefundAmount }));
|
|
5006
|
+
const requestBody = new PostRefundRetroRemission(this.contactDetailsObj, this.fees, this.payment.reference, this.refundReason, this.totalRefundAmount, 'op');
|
|
4104
5007
|
this.paymentViewService.postRefundsReason(requestBody).subscribe(response => {
|
|
4105
5008
|
if (JSON.parse(response)) {
|
|
4106
5009
|
this.viewCompStatus = '';
|
|
@@ -4116,43 +5019,52 @@ class AddRemissionComponent {
|
|
|
4116
5019
|
this.cd.detectChanges();
|
|
4117
5020
|
});
|
|
4118
5021
|
}
|
|
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
|
-
});
|
|
5022
|
+
gotoRefundReasonPage() {
|
|
5023
|
+
this.viewStatus = '';
|
|
5024
|
+
this.viewCompStatus = 'issuerefundpage1';
|
|
4140
5025
|
}
|
|
5026
|
+
// Retro Refund
|
|
5027
|
+
// confirmRetroRefund() {
|
|
5028
|
+
// this.isConfirmationBtnDisabled = true;
|
|
5029
|
+
// this.errorMessage = '';
|
|
5030
|
+
// this.errorMsg = [];
|
|
5031
|
+
// if( this.isRefundRemission) {
|
|
5032
|
+
// this.retroRemission = true;
|
|
5033
|
+
// }
|
|
5034
|
+
// const requestBody = new PostRefundRetroRemission(this.payment.reference,'RR004-Retrospective remission', this.contactDetailsObj);
|
|
5035
|
+
// this.paymentViewService.postRefundsReason(requestBody).subscribe(
|
|
5036
|
+
// response => {
|
|
5037
|
+
// if (JSON.parse(response)) {
|
|
5038
|
+
// this.viewCompStatus = '';
|
|
5039
|
+
// this.viewStatus = 'retrorefundconfirmationpage';
|
|
5040
|
+
// this.refundReference =JSON.parse(response).refund_reference;
|
|
5041
|
+
// if(JSON.parse(response).refund_amount) {
|
|
5042
|
+
// this.refundAmount = JSON.parse(response).refund_amount;
|
|
5043
|
+
// }
|
|
5044
|
+
// }
|
|
5045
|
+
// },
|
|
5046
|
+
// (error: any) => {
|
|
5047
|
+
// this.errorMessage = error;
|
|
5048
|
+
// this.isConfirmationBtnDisabled = false;
|
|
5049
|
+
// });
|
|
5050
|
+
// }
|
|
4141
5051
|
selectRadioButton(key, value) {
|
|
4142
|
-
localStorage.setItem("myradio",
|
|
5052
|
+
localStorage.setItem("myradio", value);
|
|
4143
5053
|
const remissionctrls = this.remissionForm.controls;
|
|
4144
5054
|
remissionctrls['refundDDReason'].setValue('Select a different reason', { onlySelf: true });
|
|
4145
5055
|
remissionctrls['reason'].reset();
|
|
4146
5056
|
this.isRefundReasonsSelected = true;
|
|
4147
5057
|
this.errorMessage = false;
|
|
5058
|
+
this.errorMsg = [];
|
|
4148
5059
|
this.isReasonEmpty = false;
|
|
4149
5060
|
this.showReasonText = false;
|
|
4150
5061
|
this.refundHasError = false;
|
|
4151
|
-
this.selectedRefundReason =
|
|
5062
|
+
this.selectedRefundReason = value;
|
|
5063
|
+
this.selectedRefundReasonCode = key;
|
|
4152
5064
|
if (this.selectedRefundReason.includes('Other')) {
|
|
4153
5065
|
this.showReasonText = true;
|
|
4154
5066
|
this.refundHasError = false;
|
|
4155
|
-
this.refundReason =
|
|
5067
|
+
this.refundReason = value;
|
|
4156
5068
|
}
|
|
4157
5069
|
}
|
|
4158
5070
|
selectchange(args) {
|
|
@@ -4163,6 +5075,7 @@ class AddRemissionComponent {
|
|
|
4163
5075
|
this.showReasonText = false;
|
|
4164
5076
|
this.refundHasError = false;
|
|
4165
5077
|
this.selectedRefundReason = args.target.options[args.target.options.selectedIndex].id;
|
|
5078
|
+
this.selectedRefundReasonCode = args.target.options[args.target.options.selectedIndex].value;
|
|
4166
5079
|
this.reasonLength = (29 - this.selectedRefundReason.split('- ')[1].length);
|
|
4167
5080
|
if (this.selectedRefundReason.includes('Other')) {
|
|
4168
5081
|
this.showReasonText = true;
|
|
@@ -4170,9 +5083,42 @@ class AddRemissionComponent {
|
|
|
4170
5083
|
this.refundReason = args.target.options[args.target.options.selectedIndex].id;
|
|
4171
5084
|
}
|
|
4172
5085
|
}
|
|
5086
|
+
getContactDetails(obj, type) {
|
|
5087
|
+
this.contactDetailsObj = obj;
|
|
5088
|
+
this.viewCompStatus = '';
|
|
5089
|
+
this.notificationPreview = false;
|
|
5090
|
+
if (type == 'checkaddRefundpage') {
|
|
5091
|
+
this.getTemplateInstructionType(this.remessionPayment.reference, this.remessionPayment);
|
|
5092
|
+
}
|
|
5093
|
+
else if (type == 'checkissuerefundpage') {
|
|
5094
|
+
this.getTemplateInstructionType(this.payment.reference, this.payment);
|
|
5095
|
+
}
|
|
5096
|
+
else if (type == 'addrefundcheckandanswer') {
|
|
5097
|
+
this.getTemplateInstructionType(this.paymentReference, this.paymentObj);
|
|
5098
|
+
}
|
|
5099
|
+
this.viewStatus = type;
|
|
5100
|
+
}
|
|
5101
|
+
gotoPartialFeeRefundScreen() {
|
|
5102
|
+
if (this.isFromRefundStatusPage) {
|
|
5103
|
+
var remissionctrls = this.remissionForm.controls;
|
|
5104
|
+
this.refundListReason.emit({ reason: this.displayRefundReason, code: this.refundReason });
|
|
5105
|
+
return;
|
|
5106
|
+
}
|
|
5107
|
+
this.refundHasError = false;
|
|
5108
|
+
this.viewCompStatus = 'issuerefund';
|
|
5109
|
+
this.viewStatus = '';
|
|
5110
|
+
}
|
|
4173
5111
|
gotoServiceRequestPage(event) {
|
|
4174
5112
|
this.errorMessage = '';
|
|
5113
|
+
this.errorMsg = [];
|
|
5114
|
+
this.isFromCheckAnsPage = false;
|
|
4175
5115
|
event.preventDefault();
|
|
5116
|
+
if (this.isFromRefundStatusPage) {
|
|
5117
|
+
var remissionctrls = this.remissionForm.controls;
|
|
5118
|
+
this.totalRefundAmount = 0;
|
|
5119
|
+
this.refundListAmount.emit(this.totalRefundAmount.toString());
|
|
5120
|
+
return;
|
|
5121
|
+
}
|
|
4176
5122
|
if (this.isFromServiceRequestPage && !this.isFromPaymentDetailPage) {
|
|
4177
5123
|
this.viewStatus = 'order-full-view';
|
|
4178
5124
|
this.viewCompStatus = '';
|
|
@@ -4203,68 +5149,29 @@ class AddRemissionComponent {
|
|
|
4203
5149
|
}
|
|
4204
5150
|
this.viewCompStatus = '';
|
|
4205
5151
|
}
|
|
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
|
-
// }
|
|
5152
|
+
}
|
|
5153
|
+
gotoAddressPage(note) {
|
|
5154
|
+
if (note) {
|
|
5155
|
+
this.notification = { contact_details: note, notification_type: note.notification_type };
|
|
5156
|
+
}
|
|
5157
|
+
this.errorMessage = '';
|
|
5158
|
+
this.viewCompStatus = 'addrefundforremission';
|
|
5159
|
+
this.viewStatus = '';
|
|
5160
|
+
this.isRefundRemission = true;
|
|
5161
|
+
this.errorMessage = false;
|
|
5162
|
+
}
|
|
5163
|
+
gotoRemissionSuccess(event) {
|
|
5164
|
+
event.preventDefault();
|
|
5165
|
+
this.errorMessage = '';
|
|
5166
|
+
this.viewCompStatus = '';
|
|
5167
|
+
this.viewStatus = 'retroremissionconfirmationpage';
|
|
5168
|
+
this.isRefundRemission = true;
|
|
5169
|
+
this.errorMessage = false;
|
|
4264
5170
|
}
|
|
4265
5171
|
gotoCasetransationPage() {
|
|
4266
5172
|
this.OrderslistService.setnavigationPage('casetransactions');
|
|
4267
5173
|
this.errorMessage = '';
|
|
5174
|
+
this.errorMsg = [];
|
|
4268
5175
|
this.paymentLibComponent.viewName = 'case-transactions';
|
|
4269
5176
|
this.paymentLibComponent.VIEW = 'case-transactions';
|
|
4270
5177
|
this.paymentLibComponent.ISTURNOFF = this.isTurnOff;
|
|
@@ -4282,28 +5189,14 @@ class AddRemissionComponent {
|
|
|
4282
5189
|
}
|
|
4283
5190
|
gotoCasetransationPageCancelBtnClicked(event) {
|
|
4284
5191
|
event.preventDefault();
|
|
4285
|
-
|
|
5192
|
+
this.errorMsg = [];
|
|
5193
|
+
if (this.paymentLibComponent.isFromServiceRequestPage !== undefined && !this.paymentLibComponent.isFromServiceRequestPage) {
|
|
4286
5194
|
this.OrderslistService.setnavigationPage('casetransactions');
|
|
4287
5195
|
this.OrderslistService.setisFromServiceRequestPage(false);
|
|
4288
5196
|
this.paymentLibComponent.VIEW = 'case-transactions';
|
|
4289
5197
|
this.paymentLibComponent.viewName = 'case-transactions';
|
|
4290
5198
|
this.paymentLibComponent.ISBSENABLE = true;
|
|
4291
5199
|
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
5200
|
}
|
|
4308
5201
|
else {
|
|
4309
5202
|
if (this.paymentLibComponent.REFUNDLIST) {
|
|
@@ -4353,24 +5246,50 @@ class AddRemissionComponent {
|
|
|
4353
5246
|
this.OrderslistService.setorderRemissionTotal(null);
|
|
4354
5247
|
this.OrderslistService.setorderFeesTotal(null);
|
|
4355
5248
|
}
|
|
5249
|
+
changeRefundAmount() {
|
|
5250
|
+
this.isFromCheckAnsPage = true;
|
|
5251
|
+
this.viewCompStatus = 'issuerefund';
|
|
5252
|
+
this.viewStatus = '';
|
|
5253
|
+
}
|
|
4356
5254
|
getFormattedCurrency(currency) {
|
|
4357
5255
|
if (currency.toString().includes(".")) {
|
|
4358
5256
|
return currency;
|
|
4359
5257
|
}
|
|
4360
5258
|
return currency.toString().concat(".00");
|
|
4361
5259
|
}
|
|
5260
|
+
showNotificationPreview() {
|
|
5261
|
+
this.notificationPreview = true;
|
|
5262
|
+
}
|
|
5263
|
+
hideNotificationPreview() {
|
|
5264
|
+
this.notificationPreview = false;
|
|
5265
|
+
}
|
|
5266
|
+
getTemplateInstructionType(paymentReference, payment) {
|
|
5267
|
+
if (payment == undefined || payment == null || payment.reference != paymentReference) {
|
|
5268
|
+
this.paymentViewService.getPaymentDetails(paymentReference).subscribe(payment => {
|
|
5269
|
+
this.paymentObj = payment;
|
|
5270
|
+
this.paymentObj.reference = paymentReference;
|
|
5271
|
+
this.templateInstructionType = this.notificationService.getNotificationInstructionType(this.paymentObj.channel, this.paymentObj.method);
|
|
5272
|
+
}, (error) => {
|
|
5273
|
+
this.templateInstructionType = 'Template';
|
|
5274
|
+
});
|
|
5275
|
+
}
|
|
5276
|
+
else {
|
|
5277
|
+
this.templateInstructionType = this.notificationService.getNotificationInstructionType(payment.channel, payment.method);
|
|
5278
|
+
}
|
|
5279
|
+
}
|
|
4362
5280
|
}
|
|
4363
5281
|
AddRemissionComponent.decorators = [
|
|
4364
5282
|
{ type: Component, args: [{
|
|
4365
5283
|
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 .
|
|
5284
|
+
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>",
|
|
5285
|
+
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
5286
|
},] }
|
|
4369
5287
|
];
|
|
4370
5288
|
AddRemissionComponent.ctorParameters = () => [
|
|
4371
5289
|
{ type: FormBuilder },
|
|
4372
5290
|
{ type: Router },
|
|
4373
5291
|
{ type: PaymentViewService },
|
|
5292
|
+
{ type: NotificationService },
|
|
4374
5293
|
{ type: PaymentLibComponent },
|
|
4375
5294
|
{ type: RefundsService },
|
|
4376
5295
|
{ type: ChangeDetectorRef },
|
|
@@ -4378,6 +5297,7 @@ AddRemissionComponent.ctorParameters = () => [
|
|
|
4378
5297
|
];
|
|
4379
5298
|
AddRemissionComponent.propDecorators = {
|
|
4380
5299
|
fee: [{ type: Input }],
|
|
5300
|
+
fees: [{ type: Input }],
|
|
4381
5301
|
payment: [{ type: Input }],
|
|
4382
5302
|
remission: [{ type: Input }],
|
|
4383
5303
|
ccdCaseNumber: [{ type: Input }],
|
|
@@ -4391,7 +5311,12 @@ AddRemissionComponent.propDecorators = {
|
|
|
4391
5311
|
isFromRefundListPage: [{ type: Input }],
|
|
4392
5312
|
isFromPaymentDetailPage: [{ type: Input }],
|
|
4393
5313
|
isFromServiceRequestPage: [{ type: Input }],
|
|
5314
|
+
isFullyRefund: [{ type: Input, args: ['isFullyRefund',] }],
|
|
4394
5315
|
feeamount: [{ type: Input }],
|
|
5316
|
+
refundPaymentReference: [{ type: Input }],
|
|
5317
|
+
isFromRefundStatusPage: [{ type: Input }],
|
|
5318
|
+
changeRefundReason: [{ type: Input }],
|
|
5319
|
+
isServiceRequest: [{ type: Input, args: ["isServiceRequest",] }],
|
|
4395
5320
|
LOGGEDINUSERROLES: [{ type: Input, args: ['LOGGEDINUSERROLES',] }],
|
|
4396
5321
|
orderDetail: [{ type: Input, args: ['orderDetail',] }],
|
|
4397
5322
|
orderRef: [{ type: Input, args: ['orderRef',] }],
|
|
@@ -4405,7 +5330,8 @@ AddRemissionComponent.propDecorators = {
|
|
|
4405
5330
|
orderRemissionTotal: [{ type: Input, args: ['orderRemissionTotal',] }],
|
|
4406
5331
|
cancelRemission: [{ type: Output }],
|
|
4407
5332
|
refundListReason: [{ type: Output }],
|
|
4408
|
-
refundListAmount: [{ type: Output }]
|
|
5333
|
+
refundListAmount: [{ type: Output }],
|
|
5334
|
+
refundFees: [{ type: Output }]
|
|
4409
5335
|
};
|
|
4410
5336
|
|
|
4411
5337
|
class CcdHyphensPipe {
|
|
@@ -4479,7 +5405,6 @@ class XlFileService {
|
|
|
4479
5405
|
exportAsExcelFile(json, excelFileName) {
|
|
4480
5406
|
let worksheet;
|
|
4481
5407
|
let workbook;
|
|
4482
|
-
console.log(excelFileName);
|
|
4483
5408
|
if (excelFileName.match('Data_Loss') !== null) {
|
|
4484
5409
|
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
5410
|
worksheet = this.setDataLossReportHeaders(worksheet);
|
|
@@ -4496,7 +5421,7 @@ class XlFileService {
|
|
|
4496
5421
|
worksheet = this.autoFitColumns(worksheet, json);
|
|
4497
5422
|
}
|
|
4498
5423
|
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'] });
|
|
5424
|
+
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
5425
|
worksheet = this.setPaymentFailureReportHeaders(worksheet);
|
|
4501
5426
|
worksheet = this.autoFitColumns(worksheet, json);
|
|
4502
5427
|
}
|
|
@@ -4580,18 +5505,19 @@ class XlFileService {
|
|
|
4580
5505
|
setPaymentFailureReportHeaders(worksheet) {
|
|
4581
5506
|
worksheet.A1.v = "Payment reference";
|
|
4582
5507
|
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
|
|
5508
|
+
worksheet.C1.v = "Document Control Number";
|
|
5509
|
+
worksheet.D1.v = "OrgID";
|
|
5510
|
+
worksheet.E1.v = "Service name";
|
|
5511
|
+
worksheet.F1.v = "Failure reference";
|
|
5512
|
+
worksheet.G1.v = "Failure reason";
|
|
5513
|
+
worksheet.H1.v = "Disputed amount";
|
|
5514
|
+
worksheet.I1.v = "Event name";
|
|
5515
|
+
worksheet.J1.v = "Event date";
|
|
5516
|
+
worksheet.K1.v = "Representment status";
|
|
5517
|
+
worksheet.L1.v = "Representment date";
|
|
5518
|
+
worksheet.M1.v = "Refund reference";
|
|
5519
|
+
worksheet.N1.v = "Refund amount";
|
|
5520
|
+
worksheet.O1.v = "Refund date";
|
|
4595
5521
|
return worksheet;
|
|
4596
5522
|
}
|
|
4597
5523
|
setShortFallReportHeaders(worksheet) {
|
|
@@ -4748,6 +5674,9 @@ class ReportsComponent {
|
|
|
4748
5674
|
if (res['data'][i]['refund_date'] === undefined) {
|
|
4749
5675
|
res['data'][i]['refund_date'] = 'N/A';
|
|
4750
5676
|
}
|
|
5677
|
+
if (res['data'][i]['document_control_number'] === undefined) {
|
|
5678
|
+
res['data'][i]['document_control_number'] = 'N/A';
|
|
5679
|
+
}
|
|
4751
5680
|
}
|
|
4752
5681
|
}
|
|
4753
5682
|
this.isDownLoadButtondisabled = false;
|
|
@@ -4914,8 +5843,11 @@ class TableComponent {
|
|
|
4914
5843
|
if (this.refundList !== undefined) {
|
|
4915
5844
|
this.userLst = this.refundList.reduce((r, { user_full_name }) => (r[user_full_name] = '', r), {});
|
|
4916
5845
|
this.userLst = Object.keys(this.userLst);
|
|
5846
|
+
this.userLst.sort((a, b) => a.toString().localeCompare(b));
|
|
5847
|
+
this.serviceLst = this.refundList.reduce((r, { service_type }) => (r[service_type] = '', r), {});
|
|
5848
|
+
this.serviceLst = Object.keys(this.serviceLst);
|
|
5849
|
+
this.serviceLst.sort((a, b) => a.toString().localeCompare(b));
|
|
4917
5850
|
}
|
|
4918
|
-
this.userLst.sort((a, b) => a.toString().localeCompare(b));
|
|
4919
5851
|
}
|
|
4920
5852
|
/**
|
|
4921
5853
|
* Set the paginator and sort after the view init since this component will
|
|
@@ -4960,8 +5892,8 @@ class TableComponent {
|
|
|
4960
5892
|
TableComponent.decorators = [
|
|
4961
5893
|
{ type: Component, args: [{
|
|
4962
5894
|
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}"]
|
|
5895
|
+
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",
|
|
5896
|
+
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
5897
|
},] }
|
|
4966
5898
|
];
|
|
4967
5899
|
TableComponent.ctorParameters = () => [
|
|
@@ -4979,27 +5911,38 @@ TableComponent.propDecorators = {
|
|
|
4979
5911
|
sort: [{ type: ViewChild, args: [MatSort,] }]
|
|
4980
5912
|
};
|
|
4981
5913
|
|
|
5914
|
+
class IPutNotificationRequest {
|
|
5915
|
+
constructor(contactDetails, notificationType) {
|
|
5916
|
+
if (notificationType === 'EMAIL') {
|
|
5917
|
+
this.recipient_email_address = contactDetails;
|
|
5918
|
+
}
|
|
5919
|
+
else if (notificationType === 'LETTER') {
|
|
5920
|
+
this.recipient_postal_address = contactDetails;
|
|
5921
|
+
}
|
|
5922
|
+
}
|
|
5923
|
+
}
|
|
5924
|
+
|
|
4982
5925
|
class IResubmitRefundRequest {
|
|
4983
|
-
constructor(refund_reason, amount) {
|
|
5926
|
+
constructor(refund_reason, amount, contact_details, refund_fees) {
|
|
4984
5927
|
this.refund_reason = refund_reason;
|
|
4985
5928
|
this.amount = amount;
|
|
5929
|
+
this.contact_details = contact_details;
|
|
5930
|
+
this.refund_fees = refund_fees;
|
|
4986
5931
|
}
|
|
4987
5932
|
}
|
|
4988
5933
|
|
|
4989
5934
|
class RefundStatusComponent {
|
|
4990
|
-
constructor(formBuilder, refundService,
|
|
5935
|
+
constructor(formBuilder, refundService, notificationService, paymentLibComponent, OrderslistService, paymentViewService) {
|
|
4991
5936
|
this.formBuilder = formBuilder;
|
|
4992
5937
|
this.refundService = refundService;
|
|
5938
|
+
this.notificationService = notificationService;
|
|
4993
5939
|
this.paymentLibComponent = paymentLibComponent;
|
|
4994
|
-
this.paymentViewService = paymentViewService;
|
|
4995
|
-
this.router = router;
|
|
4996
5940
|
this.OrderslistService = OrderslistService;
|
|
5941
|
+
this.paymentViewService = paymentViewService;
|
|
4997
5942
|
this.LOGGEDINUSERROLES = [];
|
|
4998
5943
|
this.rejectedRefundList = [];
|
|
4999
5944
|
this.approvalStatus = 'Sent for approval';
|
|
5000
5945
|
this.rejectStatus = 'Update required';
|
|
5001
|
-
// approvalStatus = 'sent for approval';
|
|
5002
|
-
// rejectStatus = 'sent back';
|
|
5003
5946
|
this.errorMessage = null;
|
|
5004
5947
|
this.refundButtonState = '';
|
|
5005
5948
|
this.isAmountEmpty = false;
|
|
@@ -5008,19 +5951,22 @@ class RefundStatusComponent {
|
|
|
5008
5951
|
this.isRemissionLessThanFeeError = false;
|
|
5009
5952
|
this.refundHasError = false;
|
|
5010
5953
|
this.refundReasons = [];
|
|
5954
|
+
this.isResendOperationSuccess = false;
|
|
5955
|
+
this.isEditDetailsClicked = false;
|
|
5956
|
+
this.isEditAddressDeatilsClicked = false;
|
|
5011
5957
|
this.isRefundBtnDisabled = true;
|
|
5012
5958
|
this.isFromPayBubble = false;
|
|
5013
5959
|
this.isLastUpdatedByCurrentUser = true;
|
|
5014
5960
|
this.isProcessRefund = false;
|
|
5961
|
+
this.notificationSentViewIndex = -1;
|
|
5962
|
+
this.notificationPreview = false;
|
|
5963
|
+
this.notificationSentView = false;
|
|
5964
|
+
this.allowedRolesToAccessRefund = ['payments-refund-approver', 'payments-refund', 'payments'];
|
|
5015
5965
|
}
|
|
5016
5966
|
ngOnInit() {
|
|
5017
|
-
// if (this.check4AllowedRoles2AccessRefund()) {
|
|
5018
5967
|
this.resetRemissionForm([false, false, false, false], 'All');
|
|
5019
5968
|
this.bsPaymentDcnNumber = this.paymentLibComponent.bspaymentdcn;
|
|
5020
5969
|
this.isCallFromRefundList = this.paymentLibComponent.isCallFromRefundList;
|
|
5021
|
-
// if(this.paymentLibComponent.isFromRefundStatusPage) {
|
|
5022
|
-
// this.viewName = 'reviewandsubmitview';
|
|
5023
|
-
// }
|
|
5024
5970
|
if (this.API_ROOT == 'api/payment-history') {
|
|
5025
5971
|
this.isFromPayBubble = true;
|
|
5026
5972
|
}
|
|
@@ -5031,17 +5977,12 @@ class RefundStatusComponent {
|
|
|
5031
5977
|
}
|
|
5032
5978
|
else {
|
|
5033
5979
|
this.viewName = 'refundstatuslist';
|
|
5034
|
-
|
|
5035
|
-
this.
|
|
5036
|
-
|
|
5037
|
-
|
|
5038
|
-
(
|
|
5039
|
-
|
|
5040
|
-
};
|
|
5041
|
-
}
|
|
5042
|
-
else {
|
|
5043
|
-
this.rejectedRefundList = [];
|
|
5044
|
-
}
|
|
5980
|
+
this.refundService.getRefundStatusList(this.ccdCaseNumber).subscribe(refundList => {
|
|
5981
|
+
this.rejectedRefundList = refundList['refund_list'];
|
|
5982
|
+
}),
|
|
5983
|
+
(error) => {
|
|
5984
|
+
this.errorMessage = error.replace(/"/g, "");
|
|
5985
|
+
};
|
|
5045
5986
|
}
|
|
5046
5987
|
this.refundStatusForm = this.formBuilder.group({
|
|
5047
5988
|
amount: new FormControl('', Validators.compose([
|
|
@@ -5052,6 +5993,7 @@ class RefundStatusComponent {
|
|
|
5052
5993
|
reason: new FormControl()
|
|
5053
5994
|
});
|
|
5054
5995
|
if (this.refundlist !== undefined) {
|
|
5996
|
+
this.getRefundsNotification();
|
|
5055
5997
|
this.getRefundsStatusHistoryList();
|
|
5056
5998
|
if (this.LOGGEDINUSERROLES.some(i => i.includes('payments-refund-approver'))) {
|
|
5057
5999
|
this.isProcessRefund = true;
|
|
@@ -5063,7 +6005,6 @@ class RefundStatusComponent {
|
|
|
5063
6005
|
this.refundButtonState = this.refundlist.refund_status.name;
|
|
5064
6006
|
}
|
|
5065
6007
|
}
|
|
5066
|
-
//}
|
|
5067
6008
|
}
|
|
5068
6009
|
getRefundsStatusHistoryList() {
|
|
5069
6010
|
if (this.refundlist !== undefined) {
|
|
@@ -5076,6 +6017,14 @@ class RefundStatusComponent {
|
|
|
5076
6017
|
};
|
|
5077
6018
|
}
|
|
5078
6019
|
}
|
|
6020
|
+
getRefundsNotification() {
|
|
6021
|
+
this.notificationService.getRefundNotification(this.refundlist.refund_reference).subscribe(refundsNotification => {
|
|
6022
|
+
this.notificationList = refundsNotification['notifications'];
|
|
6023
|
+
}),
|
|
6024
|
+
(error) => {
|
|
6025
|
+
this.errorMessage = error.replace(/"/g, "");
|
|
6026
|
+
};
|
|
6027
|
+
}
|
|
5079
6028
|
goToRefundView(refundlist, navigationpage) {
|
|
5080
6029
|
this.OrderslistService.setRefundView(refundlist);
|
|
5081
6030
|
this.OrderslistService.setCCDCaseNumber(this.ccdCaseNumber);
|
|
@@ -5108,6 +6057,7 @@ class RefundStatusComponent {
|
|
|
5108
6057
|
}
|
|
5109
6058
|
gotoReviewAndReSubmitPage() {
|
|
5110
6059
|
this.viewName = 'reviewandsubmitview';
|
|
6060
|
+
this.getTemplateInstructionType(this.paymentObj, this.refundlist.payment_reference);
|
|
5111
6061
|
this.oldRefundReason = this.refundlist.reason;
|
|
5112
6062
|
this.changedAmount = this.refundlist.amount;
|
|
5113
6063
|
this.refundreason = this.refundStatusHistories.filter(data => data.status.toLowerCase() === 'update required')[0].notes;
|
|
@@ -5115,13 +6065,14 @@ class RefundStatusComponent {
|
|
|
5115
6065
|
this.refundReasons = refundReasons;
|
|
5116
6066
|
});
|
|
5117
6067
|
}
|
|
5118
|
-
gotoRefundReasonPage() {
|
|
6068
|
+
gotoRefundReasonPage(refundReason) {
|
|
5119
6069
|
this.isRefundBtnDisabled = false;
|
|
5120
6070
|
this.paymentLibComponent.REFUNDLIST = "true";
|
|
5121
6071
|
this.paymentLibComponent.isFromRefundStatusPage = true;
|
|
5122
6072
|
this.ccdCaseNumber = this.paymentLibComponent.CCD_CASE_NUMBER;
|
|
5123
6073
|
this.errorMessage = false;
|
|
5124
|
-
this.
|
|
6074
|
+
this.changeRefundReason = refundReason;
|
|
6075
|
+
this.viewName = 'issuerefundpage1';
|
|
5125
6076
|
}
|
|
5126
6077
|
gotoAmountPage() {
|
|
5127
6078
|
this.errorMessage = false;
|
|
@@ -5129,7 +6080,12 @@ class RefundStatusComponent {
|
|
|
5129
6080
|
this.isRefundBtnDisabled = false;
|
|
5130
6081
|
this.ccdCaseNumber = this.paymentLibComponent.CCD_CASE_NUMBER;
|
|
5131
6082
|
this.paymentLibComponent.isFromRefundStatusPage = true;
|
|
5132
|
-
this.
|
|
6083
|
+
if (this.refundlist.reason == 'Retrospective remission') {
|
|
6084
|
+
this.viewName = 'processretroremissonpage';
|
|
6085
|
+
}
|
|
6086
|
+
else {
|
|
6087
|
+
this.viewName = 'issuerefund';
|
|
6088
|
+
}
|
|
5133
6089
|
}
|
|
5134
6090
|
goToReviewAndSubmitView() {
|
|
5135
6091
|
const remissionctrls = this.refundStatusForm.controls;
|
|
@@ -5175,12 +6131,17 @@ class RefundStatusComponent {
|
|
|
5175
6131
|
}
|
|
5176
6132
|
getRefundListReason(refundListReason) {
|
|
5177
6133
|
if (this.paymentLibComponent.isFromRefundStatusPage && !this.paymentLibComponent.iscancelClicked) {
|
|
5178
|
-
|
|
5179
|
-
|
|
6134
|
+
if (refundListReason.reason != undefined && refundListReason.reason != null && refundListReason.reason != this.refundlist.reason) {
|
|
6135
|
+
this.refundlist.reason = refundListReason.reason;
|
|
6136
|
+
this.refundlist.reason_code = refundListReason.code.split('-')[0].trim();
|
|
6137
|
+
this.refundlist.code = refundListReason.code;
|
|
6138
|
+
this.refundCode = refundListReason.code;
|
|
6139
|
+
}
|
|
5180
6140
|
}
|
|
5181
6141
|
else {
|
|
5182
6142
|
this.isRefundBtnDisabled = true;
|
|
5183
6143
|
}
|
|
6144
|
+
this.notificationPreview = false;
|
|
5184
6145
|
this.viewName = 'reviewandsubmitview';
|
|
5185
6146
|
this.paymentLibComponent.CCD_CASE_NUMBER = this.ccdCaseNumber;
|
|
5186
6147
|
}
|
|
@@ -5194,14 +6155,32 @@ class RefundStatusComponent {
|
|
|
5194
6155
|
else {
|
|
5195
6156
|
this.isRefundBtnDisabled = true;
|
|
5196
6157
|
}
|
|
6158
|
+
this.notificationPreview = false;
|
|
5197
6159
|
this.viewName = 'reviewandsubmitview';
|
|
5198
6160
|
this.paymentLibComponent.CCD_CASE_NUMBER = this.ccdCaseNumber;
|
|
5199
6161
|
}
|
|
6162
|
+
getRefundFees(fees) {
|
|
6163
|
+
this.fees = fees;
|
|
6164
|
+
this.refundFees = this.fees.map(obj => ({
|
|
6165
|
+
fee_id: obj.id,
|
|
6166
|
+
code: obj.code,
|
|
6167
|
+
version: obj.version,
|
|
6168
|
+
volume: obj.updated_volume ? obj.updated_volume : obj.volume,
|
|
6169
|
+
refund_amount: obj.refund_amount
|
|
6170
|
+
}));
|
|
6171
|
+
}
|
|
5200
6172
|
gotoReviewRefundConfirmationPage() {
|
|
5201
|
-
if (this.oldRefundReason === this.refundlist.reason) {
|
|
5202
|
-
|
|
6173
|
+
// if (this.oldRefundReason === this.refundlist.reason) {
|
|
6174
|
+
// this.refundCode = '';
|
|
6175
|
+
// }
|
|
6176
|
+
if (this.refundFees === undefined) {
|
|
6177
|
+
this.refundFees = this.refundlist['refund_fees'];
|
|
6178
|
+
}
|
|
6179
|
+
if (this.refundlist.reason == 'Retrospective remission') {
|
|
6180
|
+
this.refundFees[0].refund_amount = this.changedAmount;
|
|
5203
6181
|
}
|
|
5204
|
-
|
|
6182
|
+
this.refundCode = this.refundlist.code;
|
|
6183
|
+
const resubmitRequest = new IResubmitRefundRequest(this.refundCode, this.changedAmount, this.refundlist.contact_details, this.refundFees);
|
|
5205
6184
|
this.refundService.patchResubmitRefund(resubmitRequest, this.refundlist.refund_reference).subscribe(response => {
|
|
5206
6185
|
if (JSON.parse(response)) {
|
|
5207
6186
|
this.refundReference = JSON.parse(response).refund_reference;
|
|
@@ -5212,40 +6191,143 @@ class RefundStatusComponent {
|
|
|
5212
6191
|
this.errorMessage = error.replace(/"/g, "");
|
|
5213
6192
|
});
|
|
5214
6193
|
}
|
|
6194
|
+
gotoEditAddressDetails(note) {
|
|
6195
|
+
this.notification = note;
|
|
6196
|
+
this.isEditDetailsClicked = true;
|
|
6197
|
+
this.viewName = 'refundEditView';
|
|
6198
|
+
}
|
|
6199
|
+
getContactDetails(obj) {
|
|
6200
|
+
this.addressDetails = obj;
|
|
6201
|
+
this.getTemplateInstructionType(this.paymentObj, this.refundlist.payment_reference);
|
|
6202
|
+
this.notificationPreview = false;
|
|
6203
|
+
this.viewName = 'revieweditdetailsconfirmationpage';
|
|
6204
|
+
}
|
|
6205
|
+
getContactDetailsForRefundList(obj) {
|
|
6206
|
+
this.refundlist.contact_details = obj;
|
|
6207
|
+
this.getTemplateInstructionType(this.paymentObj, this.refundlist.payment_reference);
|
|
6208
|
+
this.notificationPreview = false;
|
|
6209
|
+
this.isEditDetailsClicked = false;
|
|
6210
|
+
this.isRefundBtnDisabled = false;
|
|
6211
|
+
this.viewName = 'reviewandsubmitview';
|
|
6212
|
+
}
|
|
6213
|
+
gotoEditDetailsPage(note, view) {
|
|
6214
|
+
if (note) {
|
|
6215
|
+
this.notification = { contact_details: note, notification_type: note.notification_type };
|
|
6216
|
+
}
|
|
6217
|
+
this.isEditDetailsClicked = true;
|
|
6218
|
+
this.viewName = view;
|
|
6219
|
+
}
|
|
6220
|
+
submitEditDetail() {
|
|
6221
|
+
this.isResendOperationSuccess = false;
|
|
6222
|
+
const contactDetails = this.addressDetails.notification_type === 'EMAIL' ? this.addressDetails.email :
|
|
6223
|
+
{
|
|
6224
|
+
address_line: this.addressDetails.address_line,
|
|
6225
|
+
city: this.addressDetails.city,
|
|
6226
|
+
county: this.addressDetails.county,
|
|
6227
|
+
country: this.addressDetails.country,
|
|
6228
|
+
postal_code: this.addressDetails.postal_code,
|
|
6229
|
+
};
|
|
6230
|
+
const resendRequest = new IPutNotificationRequest(contactDetails, this.addressDetails.notification_type);
|
|
6231
|
+
this.refundService.putResendOrEdit(resendRequest, this.refundlist.refund_reference, this.addressDetails.notification_type).subscribe((response) => {
|
|
6232
|
+
this.isResendOperationSuccess = response;
|
|
6233
|
+
}, (error) => {
|
|
6234
|
+
this.isResendOperationSuccess = false;
|
|
6235
|
+
this.errorMessage = error.replace(/"/g, "");
|
|
6236
|
+
});
|
|
6237
|
+
}
|
|
6238
|
+
putResend(notification) {
|
|
6239
|
+
this.isResendOperationSuccess = false;
|
|
6240
|
+
const contactDetails = notification.notification_type === 'EMAIL' ? notification.contact_details.email :
|
|
6241
|
+
{
|
|
6242
|
+
address_line: notification.contact_details.address_line,
|
|
6243
|
+
city: notification.contact_details.city,
|
|
6244
|
+
county: notification.contact_details.county,
|
|
6245
|
+
country: notification.contact_details.country,
|
|
6246
|
+
postal_code: notification.contact_details.postal_code,
|
|
6247
|
+
};
|
|
6248
|
+
const resendRequest = new IPutNotificationRequest(contactDetails, notification.notification_type);
|
|
6249
|
+
this.refundService.putResendOrEdit(resendRequest, this.refundlist.refund_reference, notification.notification_type).subscribe((response) => {
|
|
6250
|
+
this.isResendOperationSuccess = response;
|
|
6251
|
+
}, (error) => {
|
|
6252
|
+
this.isResendOperationSuccess = false;
|
|
6253
|
+
this.errorMessage = error.replace(/"/g, "");
|
|
6254
|
+
});
|
|
6255
|
+
}
|
|
6256
|
+
gotoRefundViewPageCancelBtnClicked(event) {
|
|
6257
|
+
event.preventDefault();
|
|
6258
|
+
this.isEditDetailsClicked = false;
|
|
6259
|
+
this.viewName = 'refundview';
|
|
6260
|
+
}
|
|
6261
|
+
gotoRefundReviewAndSubmitViewPageCancelBtnClicked(event) {
|
|
6262
|
+
event.preventDefault();
|
|
6263
|
+
this.isEditDetailsClicked = false;
|
|
6264
|
+
this.viewName = 'reviewandsubmitview';
|
|
6265
|
+
}
|
|
5215
6266
|
goToRefundProcessComponent(refundReference, refundList) {
|
|
5216
6267
|
this.paymentLibComponent.refundlistsource = refundList;
|
|
5217
6268
|
this.paymentLibComponent.refundReference = refundReference;
|
|
6269
|
+
this.paymentLibComponent.isFromPayBubble = true;
|
|
5218
6270
|
this.paymentLibComponent.viewName = 'process-refund';
|
|
5219
6271
|
}
|
|
6272
|
+
getTemplateInstructionType(payment, paymentReference) {
|
|
6273
|
+
if (payment == undefined || payment == null || payment.reference != paymentReference) {
|
|
6274
|
+
this.paymentViewService.getPaymentDetails(paymentReference).subscribe(payment => {
|
|
6275
|
+
this.paymentObj = payment;
|
|
6276
|
+
this.paymentObj.reference = paymentReference;
|
|
6277
|
+
this.templateInstructionType = this.notificationService.getNotificationInstructionType(this.paymentObj.channel, this.paymentObj.method);
|
|
6278
|
+
}, (error) => {
|
|
6279
|
+
this.templateInstructionType = 'Template';
|
|
6280
|
+
});
|
|
6281
|
+
}
|
|
6282
|
+
else {
|
|
6283
|
+
this.templateInstructionType = this.notificationService.getNotificationInstructionType(payment.channel, payment.method);
|
|
6284
|
+
}
|
|
6285
|
+
}
|
|
6286
|
+
showNotificationPreview() {
|
|
6287
|
+
this.notificationPreview = true;
|
|
6288
|
+
}
|
|
6289
|
+
hideNotificationPreview() {
|
|
6290
|
+
this.notificationPreview = false;
|
|
6291
|
+
}
|
|
6292
|
+
showNotificationSentView(index) {
|
|
6293
|
+
this.notificationSentViewIndex = index;
|
|
6294
|
+
this.notificationSentView = true;
|
|
6295
|
+
}
|
|
6296
|
+
hideNotificationSentView() {
|
|
6297
|
+
this.notificationSentViewIndex = -1;
|
|
6298
|
+
this.notificationSentView = false;
|
|
6299
|
+
}
|
|
5220
6300
|
}
|
|
5221
6301
|
RefundStatusComponent.decorators = [
|
|
5222
6302
|
{ type: Component, args: [{
|
|
5223
6303
|
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}"]
|
|
6304
|
+
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",
|
|
6305
|
+
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
6306
|
},] }
|
|
5227
6307
|
];
|
|
5228
6308
|
RefundStatusComponent.ctorParameters = () => [
|
|
5229
6309
|
{ type: FormBuilder },
|
|
5230
6310
|
{ type: RefundsService },
|
|
6311
|
+
{ type: NotificationService },
|
|
5231
6312
|
{ type: PaymentLibComponent },
|
|
5232
|
-
{ type:
|
|
5233
|
-
{ type:
|
|
5234
|
-
{ type: OrderslistService }
|
|
6313
|
+
{ type: OrderslistService },
|
|
6314
|
+
{ type: PaymentViewService }
|
|
5235
6315
|
];
|
|
5236
6316
|
RefundStatusComponent.propDecorators = {
|
|
5237
6317
|
LOGGEDINUSERROLES: [{ type: Input, args: ['LOGGEDINUSERROLES',] }],
|
|
5238
6318
|
API_ROOT: [{ type: Input, args: ['API_ROOT',] }],
|
|
5239
6319
|
ccdCaseNumber: [{ type: Input }],
|
|
5240
6320
|
isTurnOff: [{ type: Input }],
|
|
5241
|
-
|
|
6321
|
+
orderParty: [{ type: Input }]
|
|
5242
6322
|
};
|
|
5243
6323
|
|
|
5244
6324
|
class ServiceRequestComponent {
|
|
5245
|
-
constructor(paymentLibComponent, paymentViewService, OrderslistService, router) {
|
|
6325
|
+
constructor(paymentLibComponent, paymentViewService, OrderslistService, notificationService, cd, router) {
|
|
5246
6326
|
this.paymentLibComponent = paymentLibComponent;
|
|
5247
6327
|
this.paymentViewService = paymentViewService;
|
|
5248
6328
|
this.OrderslistService = OrderslistService;
|
|
6329
|
+
this.notificationService = notificationService;
|
|
6330
|
+
this.cd = cd;
|
|
5249
6331
|
this.router = router;
|
|
5250
6332
|
this.goToServiceRquestComponent = new EventEmitter();
|
|
5251
6333
|
this.paymentGroups = [];
|
|
@@ -5253,7 +6335,6 @@ class ServiceRequestComponent {
|
|
|
5253
6335
|
this.nonPayments = [];
|
|
5254
6336
|
this.allPayments = [];
|
|
5255
6337
|
this.remissions = [];
|
|
5256
|
-
this.fees = [];
|
|
5257
6338
|
this.isRefundRemission = true;
|
|
5258
6339
|
this.isAddFeeBtnEnabled = true;
|
|
5259
6340
|
this.isExceptionRecord = false;
|
|
@@ -5273,18 +6354,11 @@ class ServiceRequestComponent {
|
|
|
5273
6354
|
this.isAddRemissionBtnEnabled = false;
|
|
5274
6355
|
this.isRefundRemissionBtnEnable = false;
|
|
5275
6356
|
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
|
-
};
|
|
6357
|
+
this.isContinueBtnDisabled = true;
|
|
5286
6358
|
}
|
|
5287
6359
|
ngOnInit() {
|
|
6360
|
+
this.isTurnOff = this.paymentLibComponent.ISTURNOFF;
|
|
6361
|
+
this.isServiceRequest = 'false';
|
|
5288
6362
|
if (this.viewStatus === undefined) {
|
|
5289
6363
|
this.viewStatus = this.paymentLibComponent.viewName;
|
|
5290
6364
|
}
|
|
@@ -5300,9 +6374,9 @@ class ServiceRequestComponent {
|
|
|
5300
6374
|
this.OrderslistService.getoorderTotalPaymentss().subscribe((data) => this.orderTotalPayments = data);
|
|
5301
6375
|
}
|
|
5302
6376
|
}
|
|
5303
|
-
|
|
5304
|
-
|
|
5305
|
-
|
|
6377
|
+
if (this.paymentLibComponent.isFromServiceRequestPage && this.paymentLibComponent.TAKEPAYMENT) {
|
|
6378
|
+
this.isServiceRequest = 'false';
|
|
6379
|
+
}
|
|
5306
6380
|
}
|
|
5307
6381
|
goToServiceRequestPage() {
|
|
5308
6382
|
this.goToServiceRquestComponent.emit();
|
|
@@ -5317,7 +6391,7 @@ class ServiceRequestComponent {
|
|
|
5317
6391
|
if (this.takePayment) {
|
|
5318
6392
|
this.paymentLibComponent.isTakePayment = this.takePayment;
|
|
5319
6393
|
}
|
|
5320
|
-
this.paymentLibComponent.SERVICEREQUEST = "true";
|
|
6394
|
+
//this.paymentLibComponent.SERVICEREQUEST = "true";
|
|
5321
6395
|
this.paymentLibComponent.isFromServiceRequestPage = false;
|
|
5322
6396
|
if (this.isServiceRequest !== 'false') {
|
|
5323
6397
|
this.paymentLibComponent.isFromServiceRequestPage = true;
|
|
@@ -5338,44 +6412,8 @@ class ServiceRequestComponent {
|
|
|
5338
6412
|
this.router.onSameUrlNavigation = 'reload';
|
|
5339
6413
|
this.router.navigateByUrl(url);
|
|
5340
6414
|
}
|
|
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
6415
|
addRemission(fee) {
|
|
5378
|
-
if (this.
|
|
6416
|
+
if (this.chkIsAddRemissionBtnEnable(fee)) {
|
|
5379
6417
|
this.feeId = fee;
|
|
5380
6418
|
this.viewStatus = 'addremission';
|
|
5381
6419
|
this.payment = this.orderDetail[0].payments[0];
|
|
@@ -5383,20 +6421,20 @@ class ServiceRequestComponent {
|
|
|
5383
6421
|
this.paymentGroup = paymentGroup;
|
|
5384
6422
|
this.paymentGroup.payments = this.paymentGroup.payments.filter(paymentGroupObj => paymentGroupObj['reference'].includes(this.paymentLibComponent.paymentReference));
|
|
5385
6423
|
this.payment = this.paymentGroup.payments[0];
|
|
5386
|
-
//
|
|
5387
|
-
//
|
|
6424
|
+
// const paymentAllocation = this.paymentGroup.payments[0].payment_allocation;
|
|
6425
|
+
// this.isStatusAllocated = paymentAllocation.length > 0 && paymentAllocation[0].allocation_status === 'Allocated' || paymentAllocation.length === 0;
|
|
5388
6426
|
}, (error) => this.errorMessage = error.replace(/"/g, ""));
|
|
5389
6427
|
}
|
|
5390
6428
|
}
|
|
5391
6429
|
addRefundForRemission(payment, remission, fees) {
|
|
5392
|
-
this.
|
|
5393
|
-
this.payment
|
|
5394
|
-
this.paymentViewService.getApportionPaymentDetails(this.payment.reference).subscribe(paymentGroup => {
|
|
6430
|
+
this.paymentLibComponent.isFromServiceRequestPage = true;
|
|
6431
|
+
this.paymentViewService.getApportionPaymentDetails(payment.reference).subscribe(paymentGroup => {
|
|
5395
6432
|
this.paymentGroup = paymentGroup;
|
|
5396
|
-
this.paymentGroup.payments = this.paymentGroup.payments.filter(paymentGroupObj => paymentGroupObj
|
|
6433
|
+
this.paymentGroup.payments = this.paymentGroup.payments.filter(paymentGroupObj => paymentGroupObj.reference === payment.reference);
|
|
5397
6434
|
this.payment = this.paymentGroup.payments[0];
|
|
5398
6435
|
this.remissions = remission;
|
|
5399
6436
|
this.remissionFeeAmt = fees.filter(data => data.code === this.remissions['fee_code'])[0].net_amount;
|
|
6437
|
+
this.viewStatus = 'addrefundforremission';
|
|
5400
6438
|
// const paymentAllocation = this.paymentGroup.payments[0].payment_allocation;
|
|
5401
6439
|
// this.isStatusAllocated = paymentAllocation.length > 0 && paymentAllocation[0].allocation_status === 'Allocated' || paymentAllocation.length === 0;
|
|
5402
6440
|
}, (error) => this.errorMessage = error);
|
|
@@ -5413,47 +6451,26 @@ class ServiceRequestComponent {
|
|
|
5413
6451
|
this.isRemoveBtnDisabled = false;
|
|
5414
6452
|
});
|
|
5415
6453
|
}
|
|
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
6454
|
issueRefund(payment) {
|
|
5451
6455
|
if (payment !== null && payment !== undefined) {
|
|
5452
|
-
if (this.
|
|
5453
|
-
this.
|
|
5454
|
-
|
|
5455
|
-
|
|
5456
|
-
|
|
6456
|
+
if (this.chkIsIssueRefundBtnEnable(payment)) {
|
|
6457
|
+
this.paymentViewService.getApportionPaymentDetails(payment.reference).subscribe(paymentGroup => {
|
|
6458
|
+
paymentGroup.payments = paymentGroup.payments.filter(paymentGroupObj => paymentGroupObj['reference'].includes(payment.reference));
|
|
6459
|
+
if (payment.over_payment > 0) {
|
|
6460
|
+
this.viewStatus = '';
|
|
6461
|
+
this.payment = payment;
|
|
6462
|
+
this.paymentGroupList = paymentGroup;
|
|
6463
|
+
this.viewCompStatus = 'overpayment';
|
|
6464
|
+
}
|
|
6465
|
+
else {
|
|
6466
|
+
this.viewStatus = 'issuerefund';
|
|
6467
|
+
this.viewCompStatus = '';
|
|
6468
|
+
this.paymentFees = paymentGroup.fees;
|
|
6469
|
+
this.payment = payment;
|
|
6470
|
+
this.paymentLibComponent.isFromServiceRequestPage = true;
|
|
6471
|
+
this.isRefundRemission = true;
|
|
6472
|
+
}
|
|
6473
|
+
}, (error) => this.errorMessage = error);
|
|
5457
6474
|
}
|
|
5458
6475
|
}
|
|
5459
6476
|
}
|
|
@@ -5475,6 +6492,30 @@ class ServiceRequestComponent {
|
|
|
5475
6492
|
this.OrderslistService.setorderFeesTotal(this.orderFeesTotal);
|
|
5476
6493
|
this.viewStatus = 'payment-view';
|
|
5477
6494
|
}
|
|
6495
|
+
chkIsIssueRefundBtnEnable(payment) {
|
|
6496
|
+
if (payment !== null && payment !== undefined) {
|
|
6497
|
+
return payment.issue_refund && payment.refund_enable;
|
|
6498
|
+
}
|
|
6499
|
+
else {
|
|
6500
|
+
return false;
|
|
6501
|
+
}
|
|
6502
|
+
}
|
|
6503
|
+
chkIsAddRefundBtnEnable(remission) {
|
|
6504
|
+
if (remission !== null && remission !== undefined) {
|
|
6505
|
+
return remission.add_refund;
|
|
6506
|
+
}
|
|
6507
|
+
else {
|
|
6508
|
+
return false;
|
|
6509
|
+
}
|
|
6510
|
+
}
|
|
6511
|
+
chkIsAddRemissionBtnEnable(fee) {
|
|
6512
|
+
if (fee !== null && fee !== undefined) {
|
|
6513
|
+
return fee.add_remission && fee.remission_enable;
|
|
6514
|
+
}
|
|
6515
|
+
else {
|
|
6516
|
+
return false;
|
|
6517
|
+
}
|
|
6518
|
+
}
|
|
5478
6519
|
resetOrderData() {
|
|
5479
6520
|
this.OrderslistService.setOrderRef(null);
|
|
5480
6521
|
this.OrderslistService.setorderCCDEvent(null);
|
|
@@ -5485,18 +6526,112 @@ class ServiceRequestComponent {
|
|
|
5485
6526
|
this.OrderslistService.setorderRemissionTotal(null);
|
|
5486
6527
|
this.OrderslistService.setorderFeesTotal(null);
|
|
5487
6528
|
}
|
|
6529
|
+
selectPymentOption(paymentType) {
|
|
6530
|
+
this.paymentType = paymentType;
|
|
6531
|
+
this.isContinueBtnDisabled = false;
|
|
6532
|
+
}
|
|
6533
|
+
goToPaymentViewComp() {
|
|
6534
|
+
this.viewCompStatus = '';
|
|
6535
|
+
this.viewStatus = 'paymentview';
|
|
6536
|
+
}
|
|
6537
|
+
continuePayment(paymentgrp) {
|
|
6538
|
+
if (this.paymentType === 'op') {
|
|
6539
|
+
this.isFullyRefund = false;
|
|
6540
|
+
this.viewStatus = '';
|
|
6541
|
+
this.viewCompStatus = 'overPaymentAddressCapture';
|
|
6542
|
+
}
|
|
6543
|
+
else if (this.paymentType === 'fp') {
|
|
6544
|
+
this.isFullyRefund = true;
|
|
6545
|
+
this.paymentGroupList = paymentgrp;
|
|
6546
|
+
this.viewStatus = 'issuerefund';
|
|
6547
|
+
this.viewCompStatus = "";
|
|
6548
|
+
this.isRefundRemission = true;
|
|
6549
|
+
this.paymentLibComponent.isFromPaymentDetailPage = true;
|
|
6550
|
+
this.isFromPaymentDetailPage = true;
|
|
6551
|
+
this.isFromServiceRequestPage = this.paymentLibComponent.isFromServiceRequestPage;
|
|
6552
|
+
}
|
|
6553
|
+
}
|
|
6554
|
+
getContactDetails(obj) {
|
|
6555
|
+
this.contactDetailsObj = obj;
|
|
6556
|
+
this.viewStatus = '';
|
|
6557
|
+
this.viewCompStatus = 'overpaymentcheckandanswer';
|
|
6558
|
+
this.getTemplateInstructionType(this.paymentGroupList.payments[0]);
|
|
6559
|
+
this.notificationPreview = false;
|
|
6560
|
+
}
|
|
6561
|
+
gotoPaymentSelectPage(event) {
|
|
6562
|
+
event.preventDefault();
|
|
6563
|
+
this.viewStatus = '';
|
|
6564
|
+
this.viewCompStatus = 'overpayment';
|
|
6565
|
+
}
|
|
6566
|
+
gotoAddressPage(note) {
|
|
6567
|
+
if (note) {
|
|
6568
|
+
this.notification = { contact_details: note, notification_type: note.notification_type };
|
|
6569
|
+
}
|
|
6570
|
+
this.errorMessage = '';
|
|
6571
|
+
this.viewStatus = '';
|
|
6572
|
+
this.viewCompStatus = 'overPaymentAddressCapture';
|
|
6573
|
+
}
|
|
6574
|
+
processRefund() {
|
|
6575
|
+
this.isConfirmationBtnDisabled = true;
|
|
6576
|
+
this.errorMessage = '';
|
|
6577
|
+
const obj = this.paymentGroupList.fees[0];
|
|
6578
|
+
this.fees = [{ id: obj.id,
|
|
6579
|
+
code: obj.code,
|
|
6580
|
+
version: obj.version,
|
|
6581
|
+
apportion_amount: obj.apportion_amount,
|
|
6582
|
+
calculated_amount: obj.calculated_amount,
|
|
6583
|
+
updated_volume: obj.updated_volume ? obj.updated_volume : obj.volume,
|
|
6584
|
+
volume: obj.volume,
|
|
6585
|
+
refund_amount: this.getOverPaymentValue() }];
|
|
6586
|
+
const requestBody = new PostRefundRetroRemission(this.contactDetailsObj, this.fees, this.paymentGroupList.payments[0].reference, 'RR037', this.getOverPaymentValue(), 'op');
|
|
6587
|
+
this.paymentViewService.postRefundsReason(requestBody).subscribe(response => {
|
|
6588
|
+
if (JSON.parse(response)) {
|
|
6589
|
+
this.viewCompStatus = '';
|
|
6590
|
+
this.viewStatus = 'refundconfirmationpage';
|
|
6591
|
+
this.refundReference = JSON.parse(response).refund_reference;
|
|
6592
|
+
this.refundAmount = JSON.parse(response).refund_amount;
|
|
6593
|
+
}
|
|
6594
|
+
}, (error) => {
|
|
6595
|
+
this.errorMessage = error;
|
|
6596
|
+
this.isConfirmationBtnDisabled = false;
|
|
6597
|
+
this.cd.detectChanges();
|
|
6598
|
+
});
|
|
6599
|
+
}
|
|
6600
|
+
getOverPaymentValue() {
|
|
6601
|
+
let feesOverPayment = 0;
|
|
6602
|
+
this.paymentGroupList.fees.forEach(fee => {
|
|
6603
|
+
feesOverPayment += fee.over_payment;
|
|
6604
|
+
});
|
|
6605
|
+
return feesOverPayment > 0 ? feesOverPayment : this.paymentGroupList.payments[0].over_payment;
|
|
6606
|
+
}
|
|
6607
|
+
getTemplateInstructionType(payment) {
|
|
6608
|
+
if (payment == undefined || payment == null) {
|
|
6609
|
+
this.templateInstructionType = 'Template';
|
|
6610
|
+
}
|
|
6611
|
+
else {
|
|
6612
|
+
this.templateInstructionType = this.notificationService.getNotificationInstructionType(payment.channel, payment.method);
|
|
6613
|
+
}
|
|
6614
|
+
}
|
|
6615
|
+
showNotificationPreview() {
|
|
6616
|
+
this.notificationPreview = true;
|
|
6617
|
+
}
|
|
6618
|
+
hideNotificationPreview() {
|
|
6619
|
+
this.notificationPreview = false;
|
|
6620
|
+
}
|
|
5488
6621
|
}
|
|
5489
6622
|
ServiceRequestComponent.decorators = [
|
|
5490
6623
|
{ type: Component, args: [{
|
|
5491
6624
|
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%}"]
|
|
6625
|
+
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",
|
|
6626
|
+
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
6627
|
},] }
|
|
5495
6628
|
];
|
|
5496
6629
|
ServiceRequestComponent.ctorParameters = () => [
|
|
5497
6630
|
{ type: PaymentLibComponent },
|
|
5498
6631
|
{ type: PaymentViewService },
|
|
5499
6632
|
{ type: OrderslistService },
|
|
6633
|
+
{ type: NotificationService },
|
|
6634
|
+
{ type: ChangeDetectorRef },
|
|
5500
6635
|
{ type: Router }
|
|
5501
6636
|
];
|
|
5502
6637
|
ServiceRequestComponent.propDecorators = {
|
|
@@ -5511,6 +6646,7 @@ ServiceRequestComponent.propDecorators = {
|
|
|
5511
6646
|
orderFeesTotal: [{ type: Input, args: ['orderFeesTotal',] }],
|
|
5512
6647
|
orderTotalPayments: [{ type: Input, args: ['orderTotalPayments',] }],
|
|
5513
6648
|
orderRemissionTotal: [{ type: Input, args: ['orderRemissionTotal',] }],
|
|
6649
|
+
paymentGroupList: [{ type: Input, args: ['paymentGroupList',] }],
|
|
5514
6650
|
takePayment: [{ type: Input, args: ['takePayment',] }],
|
|
5515
6651
|
ccdCaseNumber: [{ type: Input, args: ['ccdCaseNumber',] }],
|
|
5516
6652
|
isServiceRequest: [{ type: Input, args: ["isServiceRequest",] }],
|
|
@@ -5589,31 +6725,38 @@ class PbaPaymentComponent {
|
|
|
5589
6725
|
this.isPBAAccountNotExist = false;
|
|
5590
6726
|
this.isPBAServerError = false;
|
|
5591
6727
|
this.isPBAAccountPaymentSuccess = false;
|
|
6728
|
+
this.isContinueButtondisabled = true;
|
|
5592
6729
|
if (this.pbaAccountList.indexOf(this.selectedPbaAccount) !== -1) {
|
|
5593
6730
|
const requestBody = new IserviceRequestPbaPayment(this.selectedPbaAccount, this.pbaPayOrderRef.orderTotalFees, this.pbaAccountRef, this.orgName);
|
|
5594
|
-
|
|
5595
|
-
|
|
5596
|
-
|
|
5597
|
-
|
|
5598
|
-
|
|
5599
|
-
|
|
5600
|
-
|
|
5601
|
-
|
|
5602
|
-
|
|
5603
|
-
|
|
5604
|
-
|
|
5605
|
-
this.
|
|
5606
|
-
}
|
|
5607
|
-
|
|
5608
|
-
|
|
5609
|
-
|
|
5610
|
-
|
|
5611
|
-
|
|
5612
|
-
|
|
5613
|
-
|
|
5614
|
-
|
|
5615
|
-
|
|
5616
|
-
|
|
6731
|
+
console.log('antes!');
|
|
6732
|
+
setTimeout(() => {
|
|
6733
|
+
console.log('primero!');
|
|
6734
|
+
this.paymentViewService.postPBAaccountPayment(this.pbaPayOrderRef.orderRefId, requestBody)
|
|
6735
|
+
.subscribe(r => {
|
|
6736
|
+
try {
|
|
6737
|
+
this.pbaAccountrPaymentResult = JSON.parse(r);
|
|
6738
|
+
}
|
|
6739
|
+
catch (e) {
|
|
6740
|
+
this.pbaAccountrPaymentResult = r;
|
|
6741
|
+
}
|
|
6742
|
+
this.isPBAAccountPaymentSuccess = true;
|
|
6743
|
+
}, e => {
|
|
6744
|
+
if (e.status == '402') {
|
|
6745
|
+
this.isInSufficiantFund = true;
|
|
6746
|
+
}
|
|
6747
|
+
else if (e.status == '410') {
|
|
6748
|
+
this.isPBAAccountNotExist = true;
|
|
6749
|
+
}
|
|
6750
|
+
else if (e.status == '412') {
|
|
6751
|
+
this.isPBAAccountHold = true;
|
|
6752
|
+
}
|
|
6753
|
+
else {
|
|
6754
|
+
this.isPBAServerError = true;
|
|
6755
|
+
}
|
|
6756
|
+
});
|
|
6757
|
+
console.log('despues!');
|
|
6758
|
+
}, 5000);
|
|
6759
|
+
console.log('No te espero!');
|
|
5617
6760
|
}
|
|
5618
6761
|
else {
|
|
5619
6762
|
this.isPBAServerError = true;
|
|
@@ -5671,6 +6814,97 @@ PbaPaymentComponent.propDecorators = {
|
|
|
5671
6814
|
pbaPayOrderRef: [{ type: Input }]
|
|
5672
6815
|
};
|
|
5673
6816
|
|
|
6817
|
+
class NotificationPreviewRequest {
|
|
6818
|
+
constructor(payment, contactDetails, refund_reason, refund_amount, refund_reference, payment_reference) {
|
|
6819
|
+
if (contactDetails !== undefined && contactDetails !== null) {
|
|
6820
|
+
this.notification_type = contactDetails.notification_type.toUpperCase();
|
|
6821
|
+
}
|
|
6822
|
+
if (payment !== undefined && payment !== null) {
|
|
6823
|
+
this.payment_reference = payment.reference;
|
|
6824
|
+
this.payment_method = payment.method;
|
|
6825
|
+
this.payment_channel = payment.channel;
|
|
6826
|
+
this.service_name = payment.service_name;
|
|
6827
|
+
}
|
|
6828
|
+
else {
|
|
6829
|
+
this.payment_reference = payment_reference;
|
|
6830
|
+
}
|
|
6831
|
+
this.personalisation = {
|
|
6832
|
+
ccd_case_number: (payment !== undefined && payment !== null) ? payment.ccd_case_number : '',
|
|
6833
|
+
refund_reason: refund_reason,
|
|
6834
|
+
refund_amount: refund_amount,
|
|
6835
|
+
refund_reference: refund_reference
|
|
6836
|
+
};
|
|
6837
|
+
if (this.notification_type === "EMAIL") {
|
|
6838
|
+
this.recipient_email_address = contactDetails.email;
|
|
6839
|
+
this.recipient_postal_address = null;
|
|
6840
|
+
}
|
|
6841
|
+
else if (this.notification_type === "LETTER") {
|
|
6842
|
+
this.recipient_postal_address = {
|
|
6843
|
+
address_line: contactDetails.address_line,
|
|
6844
|
+
city: contactDetails.city,
|
|
6845
|
+
county: contactDetails.county,
|
|
6846
|
+
country: contactDetails.country,
|
|
6847
|
+
postal_code: contactDetails.postal_code
|
|
6848
|
+
};
|
|
6849
|
+
this.recipient_email_address = null;
|
|
6850
|
+
}
|
|
6851
|
+
}
|
|
6852
|
+
}
|
|
6853
|
+
|
|
6854
|
+
class NotificationPreviewComponent {
|
|
6855
|
+
constructor(errorHandlerService, notificationService) {
|
|
6856
|
+
this.errorHandlerService = errorHandlerService;
|
|
6857
|
+
this.notificationService = notificationService;
|
|
6858
|
+
this.notificationPreviewEvent = new EventEmitter();
|
|
6859
|
+
this.today = Date.now();
|
|
6860
|
+
this.errorMessage = this.errorHandlerService.getServerErrorMessage(false, false, '');
|
|
6861
|
+
}
|
|
6862
|
+
ngOnInit() {
|
|
6863
|
+
if (this.previewJourney != undefined && this.previewJourney != null && this.previewJourney === 'Notifications sent') {
|
|
6864
|
+
this.notification = this.notificationSent;
|
|
6865
|
+
if (this.notification != undefined && this.notification != null && this.notification.template_type === 'letter') {
|
|
6866
|
+
this.notification.body = this.notification.body.replace(/\r\n/g, '<br/>');
|
|
6867
|
+
}
|
|
6868
|
+
}
|
|
6869
|
+
else {
|
|
6870
|
+
const notficationPreviewRequestBody = new NotificationPreviewRequest(this.payment, this.contactDetails, this.refundReason, this.refundAmount, this.refundReference, this.paymentReference);
|
|
6871
|
+
this.notificationService.getNotificationPreview(notficationPreviewRequestBody).subscribe(res => {
|
|
6872
|
+
this.errorMessage = this.errorHandlerService.getServerErrorMessage(false, false, '');
|
|
6873
|
+
this.notification = JSON.parse(res);
|
|
6874
|
+
if (this.notification != undefined && this.notification != null && this.notification.template_type === 'letter') {
|
|
6875
|
+
this.notification.body = this.notification.body.replace(/\r\n/g, '<br/>');
|
|
6876
|
+
}
|
|
6877
|
+
}, (error) => {
|
|
6878
|
+
this.errorMessage = this.errorHandlerService.getServerErrorMessage(true, false, '');
|
|
6879
|
+
console.log(this.errorMessage);
|
|
6880
|
+
});
|
|
6881
|
+
this.notificationPreviewEvent.emit(this.notification);
|
|
6882
|
+
}
|
|
6883
|
+
}
|
|
6884
|
+
}
|
|
6885
|
+
NotificationPreviewComponent.decorators = [
|
|
6886
|
+
{ type: Component, args: [{
|
|
6887
|
+
selector: 'app-notification-preview',
|
|
6888
|
+
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",
|
|
6889
|
+
styles: [".right{float:right}.letter-row-border{border-bottom:none}"]
|
|
6890
|
+
},] }
|
|
6891
|
+
];
|
|
6892
|
+
NotificationPreviewComponent.ctorParameters = () => [
|
|
6893
|
+
{ type: ErrorHandlerService },
|
|
6894
|
+
{ type: NotificationService }
|
|
6895
|
+
];
|
|
6896
|
+
NotificationPreviewComponent.propDecorators = {
|
|
6897
|
+
payment: [{ type: Input }],
|
|
6898
|
+
contactDetails: [{ type: Input }],
|
|
6899
|
+
refundReason: [{ type: Input }],
|
|
6900
|
+
refundAmount: [{ type: Input }],
|
|
6901
|
+
paymentReference: [{ type: Input }],
|
|
6902
|
+
refundReference: [{ type: Input }],
|
|
6903
|
+
previewJourney: [{ type: Input }],
|
|
6904
|
+
notificationSent: [{ type: Input }],
|
|
6905
|
+
notificationPreviewEvent: [{ type: Output }]
|
|
6906
|
+
};
|
|
6907
|
+
|
|
5674
6908
|
class PaymentLibModule {
|
|
5675
6909
|
}
|
|
5676
6910
|
PaymentLibModule.decorators = [
|
|
@@ -5691,6 +6925,7 @@ PaymentLibModule.decorators = [
|
|
|
5691
6925
|
PaymentListComponent,
|
|
5692
6926
|
PaymentViewComponent,
|
|
5693
6927
|
PbaPaymentComponent,
|
|
6928
|
+
ContactDetailsComponent,
|
|
5694
6929
|
ProcessRefundComponent,
|
|
5695
6930
|
RefundListComponent,
|
|
5696
6931
|
CardDetailsComponent,
|
|
@@ -5713,7 +6948,8 @@ PaymentLibModule.decorators = [
|
|
|
5713
6948
|
ErrorBannerComponent,
|
|
5714
6949
|
TableComponent,
|
|
5715
6950
|
RefundStatusComponent,
|
|
5716
|
-
ServiceRequestComponent
|
|
6951
|
+
ServiceRequestComponent,
|
|
6952
|
+
NotificationPreviewComponent
|
|
5717
6953
|
],
|
|
5718
6954
|
exports: [PaymentLibComponent],
|
|
5719
6955
|
providers: [
|
|
@@ -5732,5 +6968,5 @@ PaymentLibModule.decorators = [
|
|
|
5732
6968
|
* Generated bundle index. Do not edit.
|
|
5733
6969
|
*/
|
|
5734
6970
|
|
|
5735
|
-
export { PaymentLibComponent, PaymentLibModule, PaymentLibService, OrderslistService as ɵa, PaymentListComponent as ɵb,
|
|
6971
|
+
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
6972
|
//# sourceMappingURL=hmcts-ccpay-web-component.js.map
|