<ng-template #liIdTmpl let-row="row">
<a target="_blank"
fragment="{{row.lineitem.id()}}"
- routerLink="/staff/acq/po/{{row.lineitem.purchase_order().id()}}">
+ routerLink="/staff/acq/po/{{row.lineitem.purchase_order().id()}}/lineitem/{{row.lineitem.id()}}">
{{row.lineitem.id()}}
</a>
</ng-template>
</ng-template>
<div class="row" *ngIf="receiving">
- <div class="col-lg-8 offset-lg-2">
+ <div class="col-lg-10 offset-lg-1">
<div class="card">
<div class="card-header" i18n>Receiving Items <span *ngIf="dryRun"> (Dry Run)</span></div>
<div class="card-body">
</li>
<li class="list-group-item d-flex font-weight-bold">
+ <div class="flex-3" i18n>Title</div>
<div class="flex-1" i18n>Lineitem</div>
<div class="flex-1" i18n>Notified</div>
<div class="flex-1" i18n>Received</div>
</li>
<li class="list-group-item d-flex" *ngFor="let li of receiveResponse.lineitems">
+ <div class="flex-3">
+ <a routerLink="/staff/catalog/record/{{liCache[li.id].lineitem.eg_bib_id()}}"
+ target="_blank">{{liCache[li.id].title}}</a>
+ </div>
<div class="flex-1">
<a routerLink="/staff/acq/po/{{li.po}}/lineitem/{{li.id}}/items"
target="_blank">#{{li.id}}</a>
dryRun = true;
receiveOnScan = false;
notFound = false;
+ liCache: {[id: number]: any} = {};
// Technically possible for one container code to match across providers.
container: IdlObject;
gridifyEntry(entry: IdlObject): any {
const li = entry.lineitem();
const sum = li.order_summary();
- return {
+ const display = {
entry: entry,
lineitem: li,
title: this.li.getFirstAttributeValue(li, 'title'),
sum.recv_count() + sum.cancel_count()
)
};
+
+ this.liCache[li.id()] = display;
+
+ return display;
}
findContainer() {
this.container = null;
this.containers = [];
this.entries = [];
+ this.liCache = {};
this.pcrud.search('acqsn',
{container_code: this.barcode},