@things-factory/operato-wms 4.3.767 → 4.3.770
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/client/pages/bulk-operation/validate-gan-popup.js +2 -2
- package/client/pages/components/list-view/product-list-view.js +28 -3
- package/client/pages/components/mobile-condition-of-goods-listing.js +342 -0
- package/client/pages/components/unloading-worksheet-information-popup.js +299 -0
- package/client/pages/constants/order.js +7 -0
- package/client/pages/inbound/condition-of-goods-popup.js +646 -0
- package/client/pages/inbound/putaway/putaway-product.js +35 -6
- package/client/pages/inbound/unload-product-landing-page.js +282 -0
- package/client/pages/inbound/unload-product.js +707 -175
- package/client/pages/inbound/unloaded-inventories-popup.js +3 -0
- package/client/pages/inventory/inventory-adjustment-approval.js +28 -1
- package/client/pages/inventory/inventory-adjustment.js +77 -44
- package/client/pages/inventory/inventory-by-product-detail.js +15 -0
- package/client/pages/inventory/inventory-history.js +18 -0
- package/client/pages/inventory/onhand-inventory.js +14 -0
- package/client/pages/order/arrival-notice/create-arrival-notice.js +209 -206
- package/client/pages/order/arrival-notice/duplicate-arrival-notice.js +132 -129
- package/client/pages/order/arrival-notice/edit-product-popup.js +97 -92
- package/client/pages/order/release-order/b2b/b2b-order-list.js +99 -0
- package/client/pages/order/release-order/packing-label-history-popup.js +378 -0
- package/client/pages/order/release-order/preview-print-packing-list.js +533 -0
- package/client/pages/order/release-order/print-quantity-popup.js +118 -0
- package/client/pages/outbound/loading-v2/loading-execution-base.js +29 -0
- package/client/pages/outbound/loading-v2/loading-execution.js +579 -2
- package/client/pages/outbound/loading-v2/loading-package-info-popup.js +182 -0
- package/client/pages/outbound/loading-v2/loading.js +18 -0
- package/client/pages/report/inbound-order-details-report.js +26 -1
- package/client/route.js +17 -0
- package/dist-server/graphql/resolvers/outbound/find-loadable-release-good-by-bin.js +9 -1
- package/dist-server/graphql/resolvers/outbound/find-loadable-release-good-by-bin.js.map +1 -1
- package/dist-server/graphql/resolvers/outbound/loading-worksheet-v2.js +11 -5
- package/dist-server/graphql/resolvers/outbound/loading-worksheet-v2.js.map +1 -1
- package/dist-server/graphql/resolvers/reports/inbound-order-details-report.js +2 -1
- package/dist-server/graphql/resolvers/reports/inbound-order-details-report.js.map +1 -1
- package/dist-server/graphql/types/reports/inbound-order-details-report.js +1 -0
- package/dist-server/graphql/types/reports/inbound-order-details-report.js.map +1 -1
- package/package.json +15 -15
- package/server/graphql/resolvers/outbound/find-loadable-release-good-by-bin.ts +9 -1
- package/server/graphql/resolvers/outbound/loading-worksheet-v2.ts +13 -1
- package/server/graphql/resolvers/reports/inbound-order-details-report.ts +2 -1
- package/server/graphql/types/reports/inbound-order-details-report.ts +1 -0
- package/things-factory.config.js +8 -0
- package/translations/en.json +45 -1
- package/translations/ko.json +40 -0
- package/translations/ms.json +40 -0
- package/translations/zh.json +40 -0
|
@@ -29,6 +29,8 @@ class UnloadedInventoriesPopup extends connect(store)(localize(i18next)(LitEleme
|
|
|
29
29
|
flex-direction: column;
|
|
30
30
|
flex: 1;
|
|
31
31
|
overflow-y: auto;
|
|
32
|
+
--grid-record-odd-background-color: var(--theme-white-color);
|
|
33
|
+
--data-list-background-color: var(--theme-white-color);
|
|
32
34
|
}
|
|
33
35
|
:host {
|
|
34
36
|
padding: 10px;
|
|
@@ -36,6 +38,7 @@ class UnloadedInventoriesPopup extends connect(store)(localize(i18next)(LitEleme
|
|
|
36
38
|
flex-direction: column;
|
|
37
39
|
overflow-x: overlay;
|
|
38
40
|
background-color: var(--main-section-background-color);
|
|
41
|
+
--data-list-label-text-transform: capitalize;
|
|
39
42
|
}
|
|
40
43
|
`
|
|
41
44
|
]
|
|
@@ -8,6 +8,7 @@ import { connect } from 'pwa-helpers/connect-mixin'
|
|
|
8
8
|
|
|
9
9
|
import { getCodeByName } from '@things-factory/code-base'
|
|
10
10
|
import { i18next, localize } from '@things-factory/i18n-base'
|
|
11
|
+
import { CONDITION_OF_GOODS } from '../constants'
|
|
11
12
|
import { client, PageView, store, gqlContext } from '@things-factory/shell'
|
|
12
13
|
import { CommonButtonStyles, ScrollbarStyles } from '@things-factory/styles'
|
|
13
14
|
import { isMobileDevice } from '@things-factory/utils'
|
|
@@ -147,6 +148,7 @@ class InventoryAdjustmentApproval extends connect(store)(localize(i18next)(PageV
|
|
|
147
148
|
{ column: 'qty', name: 'Quantity' },
|
|
148
149
|
{ column: 'uom', name: 'Uom' },
|
|
149
150
|
{ column: 'uomValue', name: 'UomValue' },
|
|
151
|
+
{ column: 'conditionOfGoods', name: 'Inventory Quality' },
|
|
150
152
|
{ column: 'expirationDate', name: 'Exp. Date' },
|
|
151
153
|
{ column: 'manufactureDate', name: 'Mfg. Date' },
|
|
152
154
|
{ column: 'unitCost', name: 'Unit Cost' },
|
|
@@ -198,10 +200,18 @@ class InventoryAdjustmentApproval extends connect(store)(localize(i18next)(PageV
|
|
|
198
200
|
if (compareData == null) {
|
|
199
201
|
this._compareColumn.map(item => {
|
|
200
202
|
if (record[item.column]) {
|
|
203
|
+
let updateVal =
|
|
204
|
+
typeof record[item.column] === 'object' ? record[item.column].name : record[item.column]
|
|
205
|
+
|
|
206
|
+
// Translate conditionOfGoods value
|
|
207
|
+
if (item.column === 'conditionOfGoods' && updateVal) {
|
|
208
|
+
updateVal = this._getConditionOfGoodsLabel(updateVal)
|
|
209
|
+
}
|
|
210
|
+
|
|
201
211
|
recordDiff.push({
|
|
202
212
|
column: item.name,
|
|
203
213
|
current: '[N/A]',
|
|
204
|
-
update:
|
|
214
|
+
update: updateVal
|
|
205
215
|
})
|
|
206
216
|
}
|
|
207
217
|
})
|
|
@@ -220,6 +230,16 @@ class InventoryAdjustmentApproval extends connect(store)(localize(i18next)(PageV
|
|
|
220
230
|
updatedVal = record[item.column]?.name || record[item.column] || '[N/A]'
|
|
221
231
|
}
|
|
222
232
|
|
|
233
|
+
// Translate conditionOfGoods values
|
|
234
|
+
if (item.column === 'conditionOfGoods') {
|
|
235
|
+
if (currentVal && currentVal !== '[N/A]') {
|
|
236
|
+
currentVal = this._getConditionOfGoodsLabel(currentVal)
|
|
237
|
+
}
|
|
238
|
+
if (updatedVal && updatedVal !== '[N/A]') {
|
|
239
|
+
updatedVal = this._getConditionOfGoodsLabel(updatedVal)
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
|
|
223
243
|
recordDiff.push({
|
|
224
244
|
column: item.name,
|
|
225
245
|
current: currentVal || '[N/A]',
|
|
@@ -446,6 +466,7 @@ class InventoryAdjustmentApproval extends connect(store)(localize(i18next)(PageV
|
|
|
446
466
|
unitCost
|
|
447
467
|
adjustmentCode
|
|
448
468
|
adjustmentNote
|
|
469
|
+
conditionOfGoods
|
|
449
470
|
sku
|
|
450
471
|
bizplace {
|
|
451
472
|
id
|
|
@@ -496,6 +517,7 @@ class InventoryAdjustmentApproval extends connect(store)(localize(i18next)(PageV
|
|
|
496
517
|
unitCost
|
|
497
518
|
adjustmentCode
|
|
498
519
|
adjustmentNote
|
|
520
|
+
conditionOfGoods
|
|
499
521
|
}
|
|
500
522
|
lastInventoryHistory {
|
|
501
523
|
batchId
|
|
@@ -762,6 +784,11 @@ class InventoryAdjustmentApproval extends connect(store)(localize(i18next)(PageV
|
|
|
762
784
|
_getDateString(date) {
|
|
763
785
|
return `${date.getDate()} ${date.toLocaleString('default', { month: 'short' })} ${date.getFullYear()}`
|
|
764
786
|
}
|
|
787
|
+
|
|
788
|
+
_getConditionOfGoodsLabel(value) {
|
|
789
|
+
const condition = Object.values(CONDITION_OF_GOODS).find(c => c.value === value)
|
|
790
|
+
return condition ? i18next.t(`label.${condition.name}`) : value || ''
|
|
791
|
+
}
|
|
765
792
|
}
|
|
766
793
|
|
|
767
794
|
window.customElements.define('inventory-adjustment-approval', InventoryAdjustmentApproval)
|
|
@@ -22,6 +22,7 @@ import { fetchPageSettings } from '../../util/index'
|
|
|
22
22
|
import {
|
|
23
23
|
ADJUSTMENT_CODE,
|
|
24
24
|
CARTON_LABEL_SETTING_KEY,
|
|
25
|
+
CONDITION_OF_GOODS,
|
|
25
26
|
INVENTORY_ITEM_CHANGE_TYPE,
|
|
26
27
|
PALLET_LABEL_SETTING_KEY
|
|
27
28
|
} from '../constants'
|
|
@@ -85,7 +86,8 @@ const INVENTORY_PATCH_KEYS = new Set([
|
|
|
85
86
|
'cuFlag',
|
|
86
87
|
'transferQty',
|
|
87
88
|
'transferUomValue',
|
|
88
|
-
'obsolete'
|
|
89
|
+
'obsolete',
|
|
90
|
+
'conditionOfGoods'
|
|
89
91
|
])
|
|
90
92
|
|
|
91
93
|
const toCamelKey = key =>
|
|
@@ -649,6 +651,32 @@ class InventoryAdjustment extends connect(store)(localize(i18next)(PageView)) {
|
|
|
649
651
|
sortable: true,
|
|
650
652
|
width: 120
|
|
651
653
|
},
|
|
654
|
+
{
|
|
655
|
+
type: 'select',
|
|
656
|
+
name: 'conditionOfGoods',
|
|
657
|
+
header: i18next.t('field.inventory_quality'),
|
|
658
|
+
record: {
|
|
659
|
+
editable: true,
|
|
660
|
+
options: [
|
|
661
|
+
{ display: '', value: '' },
|
|
662
|
+
...Object.values(CONDITION_OF_GOODS).map(c => ({
|
|
663
|
+
display: i18next.t(`label.${c.name}`),
|
|
664
|
+
value: c.value
|
|
665
|
+
}))
|
|
666
|
+
]
|
|
667
|
+
},
|
|
668
|
+
imex: {
|
|
669
|
+
header: i18next.t('field.inventory_quality'),
|
|
670
|
+
key: 'conditionOfGoods',
|
|
671
|
+
width: 20,
|
|
672
|
+
type: 'array',
|
|
673
|
+
arrData: Object.values(CONDITION_OF_GOODS).map(c => {
|
|
674
|
+
return { name: c.value }
|
|
675
|
+
})
|
|
676
|
+
},
|
|
677
|
+
sortable: true,
|
|
678
|
+
width: 120
|
|
679
|
+
},
|
|
652
680
|
{
|
|
653
681
|
type: 'boolean',
|
|
654
682
|
name: 'obsolete',
|
|
@@ -849,6 +877,7 @@ class InventoryAdjustment extends connect(store)(localize(i18next)(PageView)) {
|
|
|
849
877
|
arrivalNoticeNo
|
|
850
878
|
adjustmentCode
|
|
851
879
|
adjustmentNote
|
|
880
|
+
conditionOfGoods
|
|
852
881
|
}
|
|
853
882
|
total
|
|
854
883
|
}
|
|
@@ -881,6 +910,7 @@ class InventoryAdjustment extends connect(store)(localize(i18next)(PageView)) {
|
|
|
881
910
|
adjustmentNote
|
|
882
911
|
serialNumbers
|
|
883
912
|
obsolete
|
|
913
|
+
conditionOfGoods
|
|
884
914
|
refOrderId
|
|
885
915
|
arrivalNoticeRefNo
|
|
886
916
|
partnerDomain {
|
|
@@ -1220,6 +1250,9 @@ class InventoryAdjustment extends connect(store)(localize(i18next)(PageView)) {
|
|
|
1220
1250
|
row.transferQty = toFloatOrUndefined(row.transferQty)
|
|
1221
1251
|
row.transferUomValue = toFloatOrUndefined(row.transferUomValue)
|
|
1222
1252
|
|
|
1253
|
+
if (row?.batchId) row.batchId = row.batchId.trim()
|
|
1254
|
+
if (row?.batchIdRef) row.batchIdRef = row.batchIdRef.trim()
|
|
1255
|
+
|
|
1223
1256
|
if (row?.inventoryItemChanges) {
|
|
1224
1257
|
row.inventoryItemChangesJson = row.inventoryItemChanges
|
|
1225
1258
|
delete row.inventoryItemChanges
|
|
@@ -1423,9 +1456,9 @@ class InventoryAdjustment extends connect(store)(localize(i18next)(PageView)) {
|
|
|
1423
1456
|
<import-pop-up
|
|
1424
1457
|
.records=${records}
|
|
1425
1458
|
.config=${{
|
|
1426
|
-
|
|
1427
|
-
|
|
1428
|
-
|
|
1459
|
+
rows: this.config.rows,
|
|
1460
|
+
columns: columns
|
|
1461
|
+
}}
|
|
1429
1462
|
.importHandler="${this.importHandler.bind(this)}"
|
|
1430
1463
|
@field-change="${this.fieldChange.bind(this)}"
|
|
1431
1464
|
></import-pop-up>
|
|
@@ -1604,15 +1637,15 @@ class InventoryAdjustment extends connect(store)(localize(i18next)(PageView)) {
|
|
|
1604
1637
|
.title="${i18next.t('title.inventory_remark')}"
|
|
1605
1638
|
.value="${record.remark}"
|
|
1606
1639
|
@submit="${async e => {
|
|
1607
|
-
|
|
1640
|
+
await this.updateRemark(record.id, e.detail.value)
|
|
1608
1641
|
|
|
1609
|
-
|
|
1610
|
-
|
|
1611
|
-
|
|
1612
|
-
|
|
1613
|
-
|
|
1614
|
-
|
|
1615
|
-
|
|
1642
|
+
this.dataGrist._data = {
|
|
1643
|
+
records: this.dataGrist._data.records.map(updateRecord => {
|
|
1644
|
+
if (updateRecord.id === record.id) updateRecord.remark = e.detail.value
|
|
1645
|
+
return updateRecord
|
|
1646
|
+
})
|
|
1647
|
+
}
|
|
1648
|
+
}}"
|
|
1616
1649
|
></popup-note>
|
|
1617
1650
|
`,
|
|
1618
1651
|
{
|
|
@@ -1626,13 +1659,13 @@ class InventoryAdjustment extends connect(store)(localize(i18next)(PageView)) {
|
|
|
1626
1659
|
openSerialNumberPopup(inventory, rowIndex, records) {
|
|
1627
1660
|
const removable =
|
|
1628
1661
|
inventory?.product?.isRequireSerialNumberScanningOutbound &&
|
|
1629
|
-
|
|
1662
|
+
inventory?.product?.isRequireSerialNumberScanningInbound
|
|
1630
1663
|
? true
|
|
1631
1664
|
: false
|
|
1632
1665
|
|
|
1633
1666
|
const updatable =
|
|
1634
1667
|
inventory?.product?.isRequireSerialNumberScanningOutbound &&
|
|
1635
|
-
|
|
1668
|
+
inventory?.product?.isRequireSerialNumberScanningInbound
|
|
1636
1669
|
? true
|
|
1637
1670
|
: false
|
|
1638
1671
|
|
|
@@ -1645,43 +1678,43 @@ class InventoryAdjustment extends connect(store)(localize(i18next)(PageView)) {
|
|
|
1645
1678
|
.enableRemove=${removable}
|
|
1646
1679
|
.enableUpdateBtn=${updatable}
|
|
1647
1680
|
@confirm-serial-number-list="${e => {
|
|
1648
|
-
|
|
1649
|
-
|
|
1650
|
-
|
|
1651
|
-
|
|
1652
|
-
|
|
1681
|
+
let totalSerialNumber = 0
|
|
1682
|
+
let newRecords = []
|
|
1683
|
+
for (let i = 0; i < e.detail.inventoryItemChanges.length; i++) {
|
|
1684
|
+
let inventoryItemChange = e.detail.inventoryItemChanges[i]
|
|
1685
|
+
newRecords.push(inventoryItemChange)
|
|
1653
1686
|
|
|
1654
|
-
|
|
1687
|
+
if (inventoryItemChange.type == INVENTORY_ITEM_CHANGE_TYPE.NEW.value) totalSerialNumber++
|
|
1655
1688
|
|
|
1656
|
-
|
|
1657
|
-
|
|
1689
|
+
if (inventoryItemChange.type == INVENTORY_ITEM_CHANGE_TYPE.REMOVED.value) totalSerialNumber--
|
|
1690
|
+
}
|
|
1658
1691
|
|
|
1659
|
-
|
|
1660
|
-
|
|
1692
|
+
let inventoryItemChangesJson = JSON.stringify(newRecords)
|
|
1693
|
+
let currentInventoryItemCount = records[rowIndex]?.inventoryItemCount || 0
|
|
1661
1694
|
|
|
1662
|
-
|
|
1663
|
-
|
|
1664
|
-
|
|
1665
|
-
|
|
1666
|
-
|
|
1667
|
-
|
|
1668
|
-
|
|
1669
|
-
|
|
1670
|
-
|
|
1671
|
-
|
|
1672
|
-
|
|
1673
|
-
|
|
1674
|
-
|
|
1675
|
-
}
|
|
1695
|
+
this.dataGrist.dirtyData.records[rowIndex].inventoryItemChanges = inventoryItemChangesJson
|
|
1696
|
+
this.dataGrist.dirtyData.records[rowIndex].inventoryItemCount =
|
|
1697
|
+
currentInventoryItemCount + totalSerialNumber
|
|
1698
|
+
if (!this.dataGrist?.dirtyData?.records[rowIndex]?.__dirtyfields__) {
|
|
1699
|
+
this.dataGrist.dirtyData.records[rowIndex].__dirtyfields__ = {
|
|
1700
|
+
inventoryItemChanges: { before: '', after: inventoryItemChangesJson }
|
|
1701
|
+
}
|
|
1702
|
+
} else {
|
|
1703
|
+
this.dataGrist.dirtyData.records[rowIndex].__dirtyfields__ = {
|
|
1704
|
+
...this.dataGrist.dirtyData.records[rowIndex].__dirtyfields__,
|
|
1705
|
+
inventoryItemChanges: {
|
|
1706
|
+
before: '',
|
|
1707
|
+
after: inventoryItemChangesJson
|
|
1676
1708
|
}
|
|
1677
1709
|
}
|
|
1678
|
-
|
|
1710
|
+
}
|
|
1711
|
+
this.dataGrist.dirtyData.records[rowIndex].__dirty__ = 'M'
|
|
1679
1712
|
|
|
1680
|
-
|
|
1681
|
-
|
|
1682
|
-
|
|
1683
|
-
|
|
1684
|
-
|
|
1713
|
+
if (records[rowIndex]) {
|
|
1714
|
+
records[rowIndex].inventoryItemChanges = inventoryItemChangesJson
|
|
1715
|
+
records[rowIndex].inventoryItemCount = currentInventoryItemCount + totalSerialNumber
|
|
1716
|
+
}
|
|
1717
|
+
}}"
|
|
1685
1718
|
></serial-number-list-popup>
|
|
1686
1719
|
`,
|
|
1687
1720
|
{
|
|
@@ -5,6 +5,7 @@ import './inventory-history-by-pallet'
|
|
|
5
5
|
import gql from 'graphql-tag'
|
|
6
6
|
import { css, html, LitElement } from 'lit-element'
|
|
7
7
|
|
|
8
|
+
import { CONDITION_OF_GOODS } from '../constants'
|
|
8
9
|
import { i18next, localize } from '@things-factory/i18n-base'
|
|
9
10
|
import { openPopup } from '@things-factory/layout-base'
|
|
10
11
|
import { client } from '@things-factory/shell'
|
|
@@ -148,6 +149,19 @@ class InventoryByProductDetail extends localize(i18next)(LitElement) {
|
|
|
148
149
|
sortable: true,
|
|
149
150
|
width: 200
|
|
150
151
|
},
|
|
152
|
+
{
|
|
153
|
+
type: 'string',
|
|
154
|
+
name: 'conditionOfGoods',
|
|
155
|
+
header: i18next.t('field.inventory_quality'),
|
|
156
|
+
sortable: true,
|
|
157
|
+
width: 120,
|
|
158
|
+
record: {
|
|
159
|
+
renderer: (value, column, record, rowIndex, field) => {
|
|
160
|
+
const condition = Object.values(CONDITION_OF_GOODS).find(c => c.value === value)
|
|
161
|
+
return condition ? i18next.t(`label.${condition.name}`) : value || ''
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
},
|
|
151
165
|
{
|
|
152
166
|
type: 'number',
|
|
153
167
|
name: 'lockedQty',
|
|
@@ -229,6 +243,7 @@ class InventoryByProductDetail extends localize(i18next)(LitElement) {
|
|
|
229
243
|
name
|
|
230
244
|
description
|
|
231
245
|
}
|
|
246
|
+
conditionOfGoods
|
|
232
247
|
uom
|
|
233
248
|
lockedQty
|
|
234
249
|
qty
|
|
@@ -9,6 +9,8 @@ import { client, PageView } from '@things-factory/shell'
|
|
|
9
9
|
import { ScrollbarStyles } from '@things-factory/styles'
|
|
10
10
|
import { isMobileDevice } from '@things-factory/utils'
|
|
11
11
|
|
|
12
|
+
import { CONDITION_OF_GOODS } from '../constants/order'
|
|
13
|
+
|
|
12
14
|
class InventoryHistory extends localize(i18next)(PageView) {
|
|
13
15
|
static get styles() {
|
|
14
16
|
return [
|
|
@@ -311,6 +313,19 @@ class InventoryHistory extends localize(i18next)(PageView) {
|
|
|
311
313
|
sortable: true,
|
|
312
314
|
width: 150
|
|
313
315
|
},
|
|
316
|
+
{
|
|
317
|
+
type: 'string',
|
|
318
|
+
name: 'conditionOfGoods',
|
|
319
|
+
header: i18next.t('field.inventory_quality'),
|
|
320
|
+
sortable: true,
|
|
321
|
+
width: 150,
|
|
322
|
+
record: {
|
|
323
|
+
renderer: (value, column, record, rowIndex, field) => {
|
|
324
|
+
const condition = Object.values(CONDITION_OF_GOODS).find(c => c.value === value)
|
|
325
|
+
return condition ? i18next.t(`label.${condition.name}`) : value || ''
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
},
|
|
314
329
|
{
|
|
315
330
|
type: 'string',
|
|
316
331
|
name: 'batchIdRef',
|
|
@@ -497,6 +512,7 @@ class InventoryHistory extends localize(i18next)(PageView) {
|
|
|
497
512
|
name
|
|
498
513
|
description
|
|
499
514
|
}
|
|
515
|
+
conditionOfGoods
|
|
500
516
|
status
|
|
501
517
|
transactionType
|
|
502
518
|
createdAt
|
|
@@ -591,6 +607,7 @@ class InventoryHistory extends localize(i18next)(PageView) {
|
|
|
591
607
|
zone
|
|
592
608
|
orderNo
|
|
593
609
|
refNo
|
|
610
|
+
conditionOfGoods
|
|
594
611
|
status
|
|
595
612
|
transactionType
|
|
596
613
|
bizplace
|
|
@@ -678,6 +695,7 @@ class InventoryHistory extends localize(i18next)(PageView) {
|
|
|
678
695
|
{ header: i18next.t('field.uom_value'), key: 'uomValue', width: 75, type: 'number' },
|
|
679
696
|
{ header: i18next.t('field.uom'), key: 'uom', width: 75, type: 'string' },
|
|
680
697
|
{ header: i18next.t('field.location'), key: 'location', width: 75, type: 'string' },
|
|
698
|
+
{ header: i18next.t('field.inventory_quality'), key: 'conditionOfGoods', width: 75, type: 'string' },
|
|
681
699
|
{ header: i18next.t('field.batch_id'), key: 'batchId', width: 75, type: 'string' },
|
|
682
700
|
{ header: i18next.t('field.batch_no_ref'), key: 'batchIdRef', width: 75, type: 'string' },
|
|
683
701
|
{ header: i18next.t('field.order_no'), key: 'orderNo', width: 75, type: 'string' },
|
|
@@ -6,6 +6,7 @@ import { css, html } from 'lit-element'
|
|
|
6
6
|
import { connect } from 'pwa-helpers/connect-mixin'
|
|
7
7
|
|
|
8
8
|
import { getCodeByName } from '@things-factory/code-base'
|
|
9
|
+
import { CONDITION_OF_GOODS } from '../constants'
|
|
9
10
|
import { i18next, localize } from '@things-factory/i18n-base'
|
|
10
11
|
import { client, PageView, store } from '@things-factory/shell'
|
|
11
12
|
import { ScrollbarStyles } from '@things-factory/styles'
|
|
@@ -264,6 +265,18 @@ class OnhandInventory extends connect(store)(localize(i18next)(PageView)) {
|
|
|
264
265
|
sortable: true,
|
|
265
266
|
width: 80
|
|
266
267
|
},
|
|
268
|
+
{
|
|
269
|
+
type: 'string',
|
|
270
|
+
name: 'conditionOfGoods',
|
|
271
|
+
header: i18next.t('field.inventory_quality'),
|
|
272
|
+
width: 120,
|
|
273
|
+
record: {
|
|
274
|
+
renderer: (value, column, record, rowIndex, field) => {
|
|
275
|
+
const condition = Object.values(CONDITION_OF_GOODS).find(c => c.value === value)
|
|
276
|
+
return condition ? i18next.t(`label.${condition.name}`) : value || ''
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
},
|
|
267
280
|
{
|
|
268
281
|
type: 'string',
|
|
269
282
|
name: 'condition',
|
|
@@ -531,6 +544,7 @@ class OnhandInventory extends connect(store)(localize(i18next)(PageView)) {
|
|
|
531
544
|
manufactureDate
|
|
532
545
|
remark
|
|
533
546
|
unitCost
|
|
547
|
+
conditionOfGoods
|
|
534
548
|
adjustmentNote
|
|
535
549
|
condition
|
|
536
550
|
}
|