LP1952931 ASN Receiving UI
authorBill Erickson <berickxx@gmail.com>
Thu, 9 Dec 2021 18:07:49 +0000 (13:07 -0500)
committerBill Erickson <berickxx@gmail.com>
Fri, 11 Mar 2022 17:04:29 +0000 (12:04 -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/nav.component.html

index a46928f..11d13e6 100644 (file)
   </div>
 </div>
 
+<!--
 <hr class="mt-2 mb-2"/>
+-->
 
-<div class="row border rounded mt-1" *ngFor="let container of containers">
-  <div class="col-lg-12 d-flex pt-2 pb-2">
-    <label for="container-code" i18n>Container Code: </label>
-    <div class="ml-1 pr-1 border-right" id="container-code">{{container.container_code()}}</div>
-
-    <label class="ml-2" for="container-provider" i18n>Provider: </label>
-    <div class="ml-1 pr-1 border-right">{{container.provider().name()}}</div>
-
-    <label class="ml-2" for="container-provider" i18n>Receive Date: </label>
-    <div class="ml-1 pr-1 border-right">{{container.recv_date() | date:'short'}}</div>
-
-    <label class="ml-2" for="container-provider" i18n>Lading #: </label>
-    <div class="ml-1 pr-1 border-right">{{container.lading_number()}}</div>
+<!-- TODO Unlikely, but technically possible for multiple containers
+across different vendors to match a container code. 
+<div *ngFor="let container of containers">
+...
+</div>
+-->
 
-    <label class="ml-2" for="container-provider" i18n>Notes: </label>
-    <div class="ml-1">{{container.note()}}</div>
+<div *ngIf="container" class="mt-3 mb-3 p-1 shadow-sm common-form striped-odd">
+  <div class="row">
+    <div class="col-lg-2">
+      <label for="container-code" i18n>Container Code: </label>
+    </div>
+    <div class="col-lg-2">
+      <div id="container-code">{{container.container_code()}}</div>
+    </div>
+    <div class="col-lg-2">
+      <label for="container-provider" i18n>Provider: </label>
+    </div>
+    <div class="col-lg-2">
+      <div>
+        <a target="_blank"
+          id="container-provider"
+          routerLink="/staff/acq/provider/{{container.provider().id()}}/details">
+          {{container.provider().name()}} ({{container.provider().code()}})
+        </a>
+      </div>
+    </div>
+    <div class="col-lg-2">
+      <label for="entry-count" i18n>Entry Count: </label>
+    </div>
+    <div class="col-lg-2">
+      <div id="entry-count">{{entries.length}}</div>
+    </div>
+  </div>
+  <div class="row">
+    <div class="col-lg-2">
+      <label for="container-lading-number" i18n>Lading #: </label>
+    </div>
+    <div class="col-lg-2">
+      <div id="container-lading-number">{{container.lading_number()}}</div>
+    </div>
+    <div class="col-lg-2">
+      <label for="container-recv-date" i18n>Receive Date: </label>
+    </div>
+    <div class="col-lg-2">
+      <div id="container-recv-date">{{container.recv_date() | date:'short'}}</div>
+    </div>
+  </div>
+  <div class="row">
+    <div class="col-lg-2">
+      <label for="container-note" i18n>Notes: </label>
+    </div>
+    <div class="col-lg-4">
+      <div class="ml-1">{{container.note()}}</div>
+    </div>
   </div>
 </div>
 
+<!--
 <hr class="mt-2 mb-2"/>
+-->
+
+<ng-template #titleTmpl let-row="row">
+  <a target="_blank" 
+    fragment="{{row.lineitem.id()}}"
+    routerLink="/staff/acq/po/{{row.lineitem.purchase_order().id()}}">
+    {{row.title}}
+  </a>
+</ng-template>
+<ng-template #liIdTmpl let-row="row">
+  <a target="_blank" 
+    fragment="{{row.lineitem.id()}}"
+    routerLink="/staff/acq/po/{{row.lineitem.purchase_order().id()}}">
+    {{row.lineitem.id()}}
+  </a>
+</ng-template>
+
 
 <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" path="lineitem.id"></eg-grid-column>
-  <eg-grid-column i18n-label label="Title" path="title"></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="Title" name="title" flex="4" 
+    [cellTemplate]="titleTmpl"></eg-grid-column>
   <eg-grid-column i18n-label label="ISBN" path="isbn"></eg-grid-column>
   <eg-grid-column i18n-label label="ISSN" path="issn" [hidden]="true"></eg-grid-column>
   <eg-grid-column i18n-label label="UPC" path="upc" [hidden]="true"></eg-grid-column>
-  <eg-grid-column i18n-label label="Shipped" path="entry.item_count"></eg-grid-column>
+  <eg-grid-column i18n-label label="Ordered" path="lineitem.order_summary.item_count"></eg-grid-column>
+  <eg-grid-column i18n-label label="In Shipment" path="entry.item_count"></eg-grid-column>
   <eg-grid-column i18n-label label="Received" path="lineitem.order_summary.recv_count"></eg-grid-column>
   <eg-grid-column i18n-label label="Invoiced" path="lineitem.order_summary.invoice_count"></eg-grid-column>
   <eg-grid-column i18n-label label="Canceled" path="lineitem.order_summary.cancel_count"></eg-grid-column>
index a1ab910..0c90165 100644 (file)
             <span i18n>Claim-Ready Items</span>
           </a>
           <a class="dropdown-item"
+            routerLink="/staff/acq/asn/receive">
+            <span class="material-icons" aria-hidden="true">archive</span>
+            <span i18n>Receive Shipment</span>
+          </a>
+          <a class="dropdown-item"
             routerLink="/staff/acq/search/invoices">
             <span class="material-icons" aria-hidden="true">attach_money</span>
             <span i18n>Invoices</span>