Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | 2x | @if (requisition) {
<div class="section">
<div class="row pb-3">
<div class="col-12 col-sm-6">
<dl class="row dl-horizontal dl-separator">
<dt class="col-6">{{ 'approval.detailspage.order.request_id' | translate }}</dt>
<dd class="col-6">{{ requisition.requisitionNo || requisition.recurringOrderDocumentNo }}</dd>
@if (requisition.approval?.statusCode === 'APPROVED') {
<dt class="col-6">
<span aria-hidden="true">{{
'approval.detailspage.order_reference_id.label' | translate : { recurring: !requisition.requisitionNo }
}}</span>
<span class="visually-hidden">{{
'approval.detailspage.order_reference_id.title' | translate : { recurring: !requisition.requisitionNo }
}}</span>
</dt>
<dd class="col-6">
@if (view === 'buyer') {
<a [routerLink]="[requisition.orderNo ? '/account/orders/' : '/account/recurring-orders/', requisition.id]">
{{ requisition.orderNo || requisition.recurringOrderDocumentNo }}
</a>
} @else {
{{ requisition.orderNo || requisition.recurringOrderDocumentNo }}
}
</dd>
}
<dt class="col-6">{{ 'approval.detailspage.order_date.label' | translate }}</dt>
<dd class="col-6">{{ requisition.creationDate | ishDate }}</dd>
@if (requisition.costCenter) {
<dt class="col-6">{{ 'approval.detailspage.cost_center.label' | translate }}</dt>
<dd class="col-6">{{ requisition.costCenter }} {{ costCenterName }}</dd>
} @if (view === 'buyer') { @if (requisition.approval?.statusCode !== 'PENDING') {
<dt class="col-6">{{ 'approval.detailspage.approver.label' | translate : { '0': customerApproverCount } }}</dt>
<dd class="col-6">
@for (approver of uniqueApprovers; track approver.email; let i = $index) { @if (i > 0) {, }{{
approver.firstName
}}
{{ approver.lastName }}
}
</dd>
} @else {
<!-- prettier-ignore -->
<dt class="col-6">{{ 'approval.detailspage.buyer.approver.label' | translate: { '0': customerApproverCount } }}</dt>
<dd class="col-6">
@for (approver of requisition.approval?.customerApproval?.approvers; track approver.email; let i = $index) {
@if (i > 0) {, }{{ approver.firstName }} {{ approver.lastName }}} @if
(requisition.approval?.customerApproval?.statusCode === 'APPROVED') {
<i class="bi bi-check-lg text-success ps-3"></i>
}
</dd>
} @if ( requisition.approval?.costCenterApproval?.approvers?.length && requisition.approval?.statusCode ===
'PENDING' ) {
<dt class="col-6">{{ 'approval.detailspage.costcenter.approver.label' | translate }}</dt>
<dd class="col-6">
{{ requisition.approval?.costCenterApproval?.approvers[0].firstName }}
{{ requisition.approval?.costCenterApproval?.approvers[0].lastName }}
@if (requisition.approval?.costCenterApproval?.statusCode === 'APPROVED') {
<i class="bi bi-check-lg text-success ps-2"></i>
}
</dd>
} } @if (view === 'approver') {
<dt class="col-6">{{ 'approval.detailspage.buyer.label' | translate }}</dt>
<dd class="col-6">{{ requisition.user?.firstName }} {{ requisition.user?.lastName }}</dd>
} @if (requisition.approval?.statusCode !== 'PENDING') { @if (requisition.approval?.statusCode === 'APPROVED') {
<dt class="col-6">{{ 'approval.detailspage.approval_date.label' | translate }}</dt>
} @else {
<dt class="col-6">{{ 'approval.detailspage.rejection_date.label' | translate }}</dt>
}
<dd class="col-6">{{ requisition.approval.approvalDate | ishDate }}</dd>
}
<dt class="col-6">{{ 'approval.detailspage.order_total.label' | translate }}</dt>
<dd class="col-6">{{ requisition.totals?.total | ishPrice : 'gross' }}</dd>
<dt class="col-6">{{ 'approval.detailspage.approval_status.label' | translate }}</dt>
<dd class="col-6">
<span
class="border border-secondary badge bg-secondary text-capitalize"
[ngClass]="{
'border-warning bg-warning text-dark': requisition.approval.statusCode === 'PENDING',
'border-success bg-success': requisition.approval.statusCode === 'APPROVED',
'border-danger bg-danger': requisition.approval.statusCode === 'REJECTED'
}"
>
@if (!requisition.systemRejected) {
{{ requisition.approval.status }}
} @else {
{{ 'approval.detailspage.approval_status.system_rejected.status' | translate }}
}
</span>
</dd>
@if (requisition.approval.approvalComment || requisition.systemRejected) {
<dt class="col-6 mt-3">{{ 'approval.detailspage.comment.label' | translate }}</dt>
<dd class="col-6 mt-3">
@if (requisition.systemRejected) {
<p>
{{ 'approval.detailspage.approval_status.system_rejected.comment' | translate }}
@if (requisition.systemRejectErrors?.length) {
{{
'approval.detailspage.approval_status.system_rejected.reasons.comment'
| translate : { '0': requisition.systemRejectErrors.length }
}}
}
</p>
@if (requisition.systemRejectErrors?.length) {
<ul>
@for (err of requisition.systemRejectErrors; track err) {
<li>{{ err }}</li>
}
</ul>
} }
{{ requisition.approval.approvalComment }}
</dd>
}
</dl>
</div>
<div class="col-12 col-sm-6">
<ish-basket-custom-fields-view [data]="requisition" />
</div>
</div>
</div>
}
|