2 <eg-acq-cancel-dialog #cancelDialog></eg-acq-cancel-dialog>
3 <eg-progress-dialog #progressDialog></eg-progress-dialog>
5 <div *ngIf="po()" class="p-1 border border-secondary rounded">
11 <div class="col-lg-3 d-flex">
12 <div class="flex-2" i18n>PO ID:</div>
13 <div class="flex-3">{{poId}}</div>
15 <div class="col-lg-9 d-flex">
16 <div class="flex-1" i18n>PO Name:</div>
18 <ng-container *ngIf="editPoName">
19 <input id='pl-name-input' type="text" class="form-control"
20 [(ngModel)]="newPoName" (keyup.enter)="toggleNameEdit(true)"
21 (blur)="toggleNameEdit()"/>
23 <ng-container *ngIf="!editPoName">
24 <a (click)="toggleNameEdit()" href='javascript:;'
25 class='font-weight-bold'>{{po().name()}}</a>
32 <div class="col-lg-3 d-flex">
33 <div class="flex-2" i18n>Lineitems:</div>
34 <div class="flex-3">{{po().lineitem_count()}}</div>
36 <div class="col-lg-9 d-flex">
37 <div class="flex-1" i18n>Provider:</div>
39 <a routerLink="/staff/acq/provider/{{po().provider().id()}}/details">
40 {{po().provider().name()}}
46 <div class="col-lg-3 d-flex">
47 <div class="flex-2" i18n>Activated:</div>
49 <span *ngIf="po().order_date()">{{po().order_date() | date:'short'}}</span>
50 <span *ngIf="!po().order_date()" i18n>N/A</span>
53 <div class="col-lg-9 d-flex">
54 <div class="flex-1" i18n>Status:</div>
56 <div class="w-50" *ngIf="canActivate === null">
57 <eg-progress-inline></eg-progress-inline>
60 <span *ngIf="po().state() == 'on-order'" i18n>On Order</span>
61 <ng-container *ngIf="canActivate">
62 <span *ngIf="!activationEvent" i18n>Pending / Activatable</span>
63 <span *ngIf="activationEvent" i18n>
64 Activation Error: {{activationEvent.textcode}} {{activationEvent.desc}}
69 <ng-container *ngIf="po().cancel_reason()">
70 <span class="text-danger" i18n>
71 {{po().cancel_reason().label()}} => {{po().cancel_reason().description()}}
75 <!-- activation blocks -->
76 <div class="text-danger" *ngFor="let evt of activationBlocks">
78 *ngIf="evt.textcode == 'ACQ_FUND_EXCEEDS_STOP_PERCENT'; else fundWarn">
80 Fund exceeds stop percent:
81 {{evt.payload.fund.code()}} ({{evt.payload.fund.year()}}).
84 <ng-template #fundWarn>
86 *ngIf="evt.textcode == 'ACQ_FUND_EXCEEDS_WARN_PERCENT'; else noPrice">
88 Fund exceeds warning percent:
89 {{evt.payload.fund.code()}} ({{evt.payload.fund.year()}}).
93 <ng-template #noPrice>
95 *ngIf="evt.textcode == 'ACQ_LINEITEM_NO_PRICE'; else noCopies">
96 <span i18n>One or more lineitems have no price.</span>
99 <ng-template #noCopies>
101 *ngIf="evt.textcode == 'ACQ_LINEITEM_NO_COPIES'; else otherBlock">
102 <span i18n>One or more lineitems have no items attached.</span>
105 <ng-template #otherBlock>
106 <span i18n>{{evt.textcode}} : {{evt.desc}}</span>
112 <hr class="p-0 m-0 mt-1"/>
113 <div class="row mt-1">
114 <div class="col-lg-12">
115 <a class="" href="javascript:;" (click)="showNotes=!showNotes"
116 i18n>Notes ({{po().notes().length}})</a>
117 <span class="pl-2 pr-2" i18n> | </span>
118 <a [queryParams]="{f: 'acqpo:id', val1: poId}"
119 routerLink="/staff/acq/search/invoices" i18n>Invoices ({{invoiceCount}})</a>
120 <span class="pl-2 pr-2" i18n> | </span>
121 <a href="/eg/acq/invoice/view?create=1&attach_po={{poId}}"
122 i18n>Create Invoice</a>
123 <span class="pl-2 pr-2" i18n> | </span>
124 <a routerLink="./edi" i18n>EDI Messages ({{ediMessageCount}})</a>
125 <span class="pl-2 pr-2" i18n> | </span>
126 <a routerLink="./history" i18n>History</a>
127 <span class="pl-2 pr-2" i18n> | </span>
128 <a routerLink="./printer" i18n>Print</a>
129 <ng-container *ngIf="po().state() == 'on-order' || po().state() == 'pending'">
130 <span class="pl-2 pr-2" i18n> | </span>
131 <a (click)="cancelPo()" href="javascript:;" i18n>Cancel Order</a>
133 <ng-container *ngIf="canActivate === true">
134 <span class="pl-2 pr-2" i18n> | </span>
135 <a (click)="activatePo()" href="javascript:;" i18n>Activate Order</a>
140 <div class="col-lg-3">
142 <div class="col-lg-8" i18n>Estimated Amount:</div>
143 <div class="col-lg-4">{{po().amount_estimated() | currency}}</div>
146 <div class="col-lg-8" i18n>Encumbered Amount:</div>
147 <div class="col-lg-4">{{po().amount_encumbered() | currency}}</div>
150 <div class="col-lg-8" i18n>Spent Amount:</div>
151 <div class="col-lg-4">{{po().amount_spent() | currency}}</div>
154 <div class="col-lg-8" i18n>Prepayment Required?</div>
155 <div class="col-lg-4">
156 <eg-bool [value]="po().provider().prepayment_required()"></eg-bool>
161 <div class="row" *ngIf="showNotes">
162 <div class="col-lg-10 offset-lg-1 p-2 mt-2 shadow">
163 <eg-po-notes [po]="po()" (closeRequested)="showNotes = false">