LP1952931 ASN Receiving UI
authorBill Erickson <berickxx@gmail.com>
Thu, 9 Dec 2021 20:17:59 +0000 (15:17 -0500)
committerBill Erickson <berickxx@gmail.com>
Tue, 4 Jan 2022 16:00:35 +0000 (11:00 -0500)
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Open-ILS/src/eg2/src/app/staff/acq/asn/receive.component.html
Open-ILS/src/eg2/src/app/staff/acq/asn/receive.component.ts

index 11d13e6..b66d5c5 100644 (file)
@@ -50,7 +50,7 @@ across different vendors to match a container code.
       </div>
     </div>
     <div class="col-lg-2">
-      <label for="entry-count" i18n>Entry Count: </label>
+      <label for="entry-count" i18n>Affected Lineitems: </label>
     </div>
     <div class="col-lg-2">
       <div id="entry-count">{{entries.length}}</div>
@@ -69,6 +69,12 @@ across different vendors to match a container code.
     <div class="col-lg-2">
       <div id="container-recv-date">{{container.recv_date() | date:'short'}}</div>
     </div>
+    <div class="col-lg-2">
+      <label for="entry-count" i18n>Affected Items: </label>
+    </div>
+    <div class="col-lg-2">
+      <div id="entry-count">{{affectedItemsCount()}}</div>
+    </div>
   </div>
   <div class="row">
     <div class="col-lg-2">
@@ -98,13 +104,25 @@ across different vendors to match a container code.
     {{row.lineitem.id()}}
   </a>
 </ng-template>
+<ng-template #poNameTmpl let-row="row">
+  <a target="_blank" 
+    routerLink="/staff/acq/po/{{row.lineitem.purchase_order().id()}}">
+    {{row.lineitem.purchase_order().name()}}
+  </a>
+</ng-template>
+
+<eg-grid #grid [dataSource]="gridDataSource" 
+  pageSize="50" (onRowActivate)="openLi($event)">
 
+  <eg-grid-toolbar-button i18n-label label="Receive All Items"
+    (onClick)="receiveAllItems()"></eg-grid-toolbar-button> 
 
-<eg-grid #grid [dataSource]="gridDataSource" (onRowActivate)="openLi($event)">
   <eg-grid-column i18n-label label="Entry ID" path="entry.id" 
     [index]="true" [hidden]="true"></eg-grid-column>
   <eg-grid-column i18n-label label="Lineitem ID" name="lineitem_id" 
     [cellTemplate]="liIdTmpl"></eg-grid-column>
+  <eg-grid-column i18n-label label="Purchase Order" name="po_name" 
+    [cellTemplate]="poNameTmpl"></eg-grid-column>
   <eg-grid-column i18n-label label="Title" name="title" flex="4" 
     [cellTemplate]="titleTmpl"></eg-grid-column>
   <eg-grid-column i18n-label label="ISBN" path="isbn"></eg-grid-column>
index f8bd153..a4d29a5 100644 (file)
@@ -120,5 +120,16 @@ export class AsnReceiveComponent implements OnInit {
 
         window.open(url);
     }
+
+    affectedItemsCount(): number {
+        if (this.entries.length === 0) { return 0; }
+        return this.entries
+            .map(e => e.item_count())
+            .reduce((pv, cv) => pv + (cv || 0));
+    }
+
+    receiveAllItems() {
+        alert('TODO');
+    }
 }