@things-factory/operato-wms 3.7.12 → 3.8.0
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/adjustment/transfer-inventory.js +364 -158
- package/client/pages/bulk-operation/bulk-operation.js +316 -0
- package/client/pages/bulk-operation/validate-ro-popup.js +445 -0
- package/client/pages/components/select-product-popup.js +10 -1
- package/client/pages/constants/inventory.js +1 -0
- package/client/pages/constants/location.js +33 -6
- package/client/pages/constants/worksheet.js +2 -2
- package/client/pages/inbound/inbound-worksheet.js +81 -15
- package/client/pages/inbound/putaway-product.js +60 -8
- package/client/pages/inbound/putaway-worksheet-generate-popup.js +29 -5
- package/client/pages/inbound/unload-product.js +80 -19
- package/client/pages/inbound/worksheet-putaway-return.js +22 -5
- package/client/pages/inbound/worksheet-putaway.js +21 -8
- package/client/pages/inbound/worksheet-unloading-return.js +22 -5
- package/client/pages/inbound/worksheet-unloading.js +8 -0
- package/client/pages/inventory/inventory-adjustment-approval.js +18 -8
- package/client/pages/inventory/inventory-adjustment.js +91 -76
- package/client/pages/inventory/inventory-by-product-detail.js +1 -1
- package/client/pages/inventory/inventory-by-product.js +9 -1
- package/client/pages/inventory/inventory-history-by-pallet.js +10 -1
- package/client/pages/inventory/inventory-history.js +12 -2
- package/client/pages/inventory/onhand-inventory.js +12 -3
- package/client/pages/inventory-check/create-cycle-count.js +12 -6
- package/client/pages/inventory-check/cycle-count-report.js +8 -0
- package/client/pages/inventory-check/worksheet-cycle-count.js +14 -0
- package/client/pages/master/location-list.js +58 -17
- package/client/pages/order/arrival-notice/arrival-notice-detail.js +134 -115
- package/client/pages/order/arrival-notice/arrival-notice-list.js +87 -6
- package/client/pages/order/arrival-notice/arrival-notice-requests.js +83 -6
- package/client/pages/order/arrival-notice/assign-buffer-location.js +8 -1
- package/client/pages/order/arrival-notice/check-arrived-notice.js +9 -1
- package/client/pages/order/arrival-notice/create-arrival-notice.js +30 -2
- package/client/pages/order/arrival-notice/duplicate-arrival-notice.js +290 -25
- package/client/pages/order/arrival-notice/edit-product-popup.js +36 -5
- package/client/pages/order/arrival-notice/receive-arrival-notice.js +8 -1
- package/client/pages/order/release-order/b2b/b2b-order-requests.js +7 -7
- package/client/pages/order/release-order/b2c/b2c-order-requests.js +65 -5
- package/client/pages/order/release-order/create-release-order.js +24 -1
- package/client/pages/order/release-order/receive-release-order-request.js +8 -0
- package/client/pages/order/release-order/release-extra-product-popup.js +12 -4
- package/client/pages/order/release-order/release-order-detail.js +9 -1
- package/client/pages/order/return-order/check-return-order.js +9 -1
- package/client/pages/order/return-order/create-return-order.js +14 -2
- package/client/pages/order/return-order/receive-return-order-requests.js +9 -1
- package/client/pages/order/return-order/return-order-detail.js +15 -6
- package/client/pages/order/return-order/return-order-inventory-popup.js +7 -0
- package/client/pages/order/transport-order/delivery-order-list.js +4 -1
- package/client/pages/outbound/inventory-assign-popup.js +11 -2
- package/client/pages/outbound/inventory-auto-assign-popup.js +9 -0
- package/client/pages/outbound/merged-outbound-worksheet.js +9 -5
- package/client/pages/outbound/picking-product.js +202 -162
- package/client/pages/outbound/picking-replacement-popup.js +2 -2
- package/client/pages/outbound/single-outbound-worksheet.js +47 -1
- package/client/pages/outbound/worksheet-loading.js +22 -5
- package/client/pages/outbound/worksheet-packing.js +8 -0
- package/client/pages/outbound/worksheet-picking.js +29 -5
- package/client/pages/outbound/worksheet-return.js +9 -1
- package/client/pages/outbound/worksheet-sorting.js +9 -1
- package/client/pages/report/custom-elccl/elccl-inventory-report.js +31 -30
- package/client/pages/report/custom-elccl/elccl-inventory-summary-report.js +23 -26
- package/client/pages/report/inventory-pallet-storage-report.js +11 -10
- package/client/pages/report/inventory-report.js +41 -43
- package/client/pages/report/inventory-summary-report.js +25 -28
- package/client/route.js +5 -0
- package/dist-server/graphql/resolvers/custom/elccl/elccl-inventory-history-report.js +1 -1
- package/dist-server/graphql/resolvers/custom/elccl/elccl-inventory-history-report.js.map +1 -1
- package/dist-server/graphql/resolvers/custom/elccl/elccl-inventory-history-summary-report.js +1 -1
- package/dist-server/graphql/resolvers/index.js +3 -1
- package/dist-server/graphql/resolvers/index.js.map +1 -1
- package/dist-server/graphql/resolvers/shipping-provider/index.js +6 -0
- package/dist-server/graphql/resolvers/shipping-provider/index.js.map +1 -0
- package/dist-server/graphql/resolvers/shipping-provider/shipping-providers.js +20 -0
- package/dist-server/graphql/resolvers/shipping-provider/shipping-providers.js.map +1 -0
- package/dist-server/graphql/types/custom/elccl/elccl-inventory-report.js +1 -1
- package/dist-server/graphql/types/index.js +5 -2
- package/dist-server/graphql/types/index.js.map +1 -1
- package/dist-server/graphql/types/shipping-provider/index.js +10 -0
- package/dist-server/graphql/types/shipping-provider/index.js.map +1 -0
- package/dist-server/graphql/types/shipping-provider/shipping-provider-list.js +13 -0
- package/dist-server/graphql/types/shipping-provider/shipping-provider-list.js.map +1 -0
- package/dist-server/graphql/types/shipping-provider/shipping-provider.js +13 -0
- package/dist-server/graphql/types/shipping-provider/shipping-provider.js.map +1 -0
- package/package.json +37 -37
- package/server/graphql/resolvers/custom/elccl/elccl-inventory-history-report.ts +4 -2
- package/server/graphql/resolvers/custom/elccl/elccl-inventory-history-summary-report.ts +1 -1
- package/server/graphql/resolvers/index.ts +3 -1
- package/server/graphql/resolvers/shipping-provider/index.ts +5 -0
- package/server/graphql/resolvers/shipping-provider/shipping-providers.ts +20 -0
- package/server/graphql/types/custom/elccl/elccl-inventory-report.ts +1 -1
- package/server/graphql/types/index.ts +5 -2
- package/server/graphql/types/shipping-provider/index.ts +8 -0
- package/server/graphql/types/shipping-provider/shipping-provider-list.ts +7 -0
- package/server/graphql/types/shipping-provider/shipping-provider.ts +7 -0
- package/things-factory.config.js +6 -0
- package/translations/en.json +27 -0
- package/translations/ko.json +84 -36
- package/translations/ms.json +85 -37
- package/translations/zh.json +98 -51
|
@@ -400,6 +400,12 @@ class ReceiveReleaseOrderRequest extends connect(store)(localize(i18next)(PageVi
|
|
|
400
400
|
header: i18next.t('field.product'),
|
|
401
401
|
width: 150
|
|
402
402
|
},
|
|
403
|
+
{
|
|
404
|
+
type: 'string',
|
|
405
|
+
name: 'productBrand',
|
|
406
|
+
header: i18next.t('field.brand'),
|
|
407
|
+
width: 100
|
|
408
|
+
},
|
|
403
409
|
{
|
|
404
410
|
type: 'string',
|
|
405
411
|
name: 'packingType',
|
|
@@ -595,6 +601,7 @@ class ReceiveReleaseOrderRequest extends connect(store)(localize(i18next)(PageVi
|
|
|
595
601
|
product {
|
|
596
602
|
id
|
|
597
603
|
sku
|
|
604
|
+
brand
|
|
598
605
|
name
|
|
599
606
|
description
|
|
600
607
|
}
|
|
@@ -652,6 +659,7 @@ class ReceiveReleaseOrderRequest extends connect(store)(localize(i18next)(PageVi
|
|
|
652
659
|
return {
|
|
653
660
|
...inventoryInfo,
|
|
654
661
|
productSKU: inventoryInfo?.product?.sku || '',
|
|
662
|
+
productBrand: inventoryInfo?.product?.brand || '',
|
|
655
663
|
qty: inventoryInfo.qty + inventoryInfo.releaseQty,
|
|
656
664
|
remainUomValue: `${inventoryInfo.uomValue + inventoryInfo.releaseUomValue} ${inventoryInfo.uom}`,
|
|
657
665
|
releaseUomValue: inventoryInfo.releaseUomValue + ' ' + inventoryInfo.uom,
|
|
@@ -620,9 +620,17 @@ export class ReleaseExtraProductPopup extends localize(i18next)(LitElement) {
|
|
|
620
620
|
}
|
|
621
621
|
|
|
622
622
|
if (columnName === 'releaseQty') {
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
623
|
+
if (afterValue - originQty <= originAddableQty) {
|
|
624
|
+
releaseQty = afterValue || 0
|
|
625
|
+
} else {
|
|
626
|
+
releaseQty = originQty
|
|
627
|
+
}
|
|
628
|
+
} else if (columnName === 'releaseUomValue') {
|
|
629
|
+
if (afterValue - originUom <= originAddableUom) {
|
|
630
|
+
releaseQty = Math.round(afterValue / packageUom)
|
|
631
|
+
} else {
|
|
632
|
+
releaseQty = Math.round(originUom / packageUom)
|
|
633
|
+
}
|
|
626
634
|
}
|
|
627
635
|
|
|
628
636
|
roundedUom = releaseQty * packageUom
|
|
@@ -718,7 +726,7 @@ export class ReleaseExtraProductPopup extends localize(i18next)(LitElement) {
|
|
|
718
726
|
if (beforeValue) {
|
|
719
727
|
event.detail.after[event.detail.column.name] = beforeValue
|
|
720
728
|
} else {
|
|
721
|
-
|
|
729
|
+
event.detail.after[event.detail.column.name] = 0
|
|
722
730
|
}
|
|
723
731
|
this._showToast(e)
|
|
724
732
|
}
|
|
@@ -527,6 +527,12 @@ class ReleaseOrderDetail extends connect(store)(localize(i18next)(PageView)) {
|
|
|
527
527
|
header: i18next.t('field.product'),
|
|
528
528
|
width: 150
|
|
529
529
|
},
|
|
530
|
+
{
|
|
531
|
+
type: 'string',
|
|
532
|
+
name: 'productBrand',
|
|
533
|
+
header: i18next.t('field.brand'),
|
|
534
|
+
width: 100
|
|
535
|
+
},
|
|
530
536
|
{
|
|
531
537
|
type: 'string',
|
|
532
538
|
name: 'packingType',
|
|
@@ -724,6 +730,7 @@ class ReleaseOrderDetail extends connect(store)(localize(i18next)(PageView)) {
|
|
|
724
730
|
product {
|
|
725
731
|
id
|
|
726
732
|
sku
|
|
733
|
+
brand
|
|
727
734
|
name
|
|
728
735
|
description
|
|
729
736
|
}
|
|
@@ -789,6 +796,7 @@ class ReleaseOrderDetail extends connect(store)(localize(i18next)(PageView)) {
|
|
|
789
796
|
return {
|
|
790
797
|
...inventoryInfo,
|
|
791
798
|
productSKU: inventoryInfo?.product?.sku || '',
|
|
799
|
+
productBrand: inventoryInfo?.product?.brand || '',
|
|
792
800
|
inventory: {
|
|
793
801
|
id: inventoryInfo.id,
|
|
794
802
|
name: inventoryInfo.name,
|
|
@@ -1178,7 +1186,7 @@ class ReleaseOrderDetail extends connect(store)(localize(i18next)(PageView)) {
|
|
|
1178
1186
|
_serializeForm(form) {
|
|
1179
1187
|
let obj = {}
|
|
1180
1188
|
Array.from(form.querySelectorAll('input, select')).forEach(field => {
|
|
1181
|
-
if (!field.hasAttribute('hidden')
|
|
1189
|
+
if (!field.hasAttribute('hidden')) {
|
|
1182
1190
|
obj[field.name] = field.type === 'checkbox' ? field.checked : field.value
|
|
1183
1191
|
}
|
|
1184
1192
|
})
|
|
@@ -271,6 +271,12 @@ class CheckReturnOrder extends connect(store)(localize(i18next)(PageView)) {
|
|
|
271
271
|
header: i18next.t('field.product'),
|
|
272
272
|
width: 150
|
|
273
273
|
},
|
|
274
|
+
{
|
|
275
|
+
type: 'string',
|
|
276
|
+
name: 'brand',
|
|
277
|
+
header: i18next.t('field.brand'),
|
|
278
|
+
width: 150
|
|
279
|
+
},
|
|
274
280
|
{
|
|
275
281
|
type: 'string',
|
|
276
282
|
name: 'packingType',
|
|
@@ -343,6 +349,7 @@ class CheckReturnOrder extends connect(store)(localize(i18next)(PageView)) {
|
|
|
343
349
|
name
|
|
344
350
|
description
|
|
345
351
|
sku
|
|
352
|
+
brand
|
|
346
353
|
}
|
|
347
354
|
productName
|
|
348
355
|
packingType
|
|
@@ -376,7 +383,8 @@ class CheckReturnOrder extends connect(store)(localize(i18next)(PageView)) {
|
|
|
376
383
|
records: orderInventories.map(orderInventory => {
|
|
377
384
|
return {
|
|
378
385
|
...orderInventory,
|
|
379
|
-
sku: orderInventory.product.sku
|
|
386
|
+
sku: orderInventory.product.sku,
|
|
387
|
+
brand: orderInventory.product.brand
|
|
380
388
|
}
|
|
381
389
|
})
|
|
382
390
|
}
|
|
@@ -411,6 +411,11 @@ class CreateReturnOrder extends localize(i18next)(PageView) {
|
|
|
411
411
|
width: 280,
|
|
412
412
|
ignoreCondition: true
|
|
413
413
|
},
|
|
414
|
+
{
|
|
415
|
+
name: 'productBrand',
|
|
416
|
+
header: i18next.t('field.brand'),
|
|
417
|
+
ignoreCondition: true
|
|
418
|
+
},
|
|
414
419
|
{
|
|
415
420
|
name: 'packingType',
|
|
416
421
|
header: i18next.t('field.packing_type'),
|
|
@@ -437,6 +442,7 @@ class CreateReturnOrder extends localize(i18next)(PageView) {
|
|
|
437
442
|
'releaseGoodName',
|
|
438
443
|
'batchId',
|
|
439
444
|
'productName',
|
|
445
|
+
'productBrand',
|
|
440
446
|
'packingType',
|
|
441
447
|
'packingSize',
|
|
442
448
|
'releaseQty',
|
|
@@ -459,6 +465,12 @@ class CreateReturnOrder extends localize(i18next)(PageView) {
|
|
|
459
465
|
header: i18next.t('field.product_name'),
|
|
460
466
|
width: 150
|
|
461
467
|
},
|
|
468
|
+
{
|
|
469
|
+
type: 'string',
|
|
470
|
+
name: 'productBrand',
|
|
471
|
+
header: i18next.t('field.brand'),
|
|
472
|
+
width: 150
|
|
473
|
+
},
|
|
462
474
|
{
|
|
463
475
|
type: 'string',
|
|
464
476
|
name: 'batchId',
|
|
@@ -632,7 +644,7 @@ class CreateReturnOrder extends localize(i18next)(PageView) {
|
|
|
632
644
|
if (releaseQty === undefined) throw new Error(i18next.t('text.there_is_no_selected_items'))
|
|
633
645
|
if (returnQty > releaseQty) {
|
|
634
646
|
throw new Error(i18next.t('text.available_quantity_insufficient'))
|
|
635
|
-
} else if (
|
|
647
|
+
} else if (returnQty <= 0 || isNaN(returnQty)) {
|
|
636
648
|
throw new Error(i18next.t('text.invalid_quantity_input'))
|
|
637
649
|
}
|
|
638
650
|
}
|
|
@@ -754,7 +766,7 @@ class CreateReturnOrder extends localize(i18next)(PageView) {
|
|
|
754
766
|
let returnOrder = this._serializeForm(this.returnOrderForm)
|
|
755
767
|
delete returnOrder.warehouseTransport
|
|
756
768
|
returnOrder.orderInventories = this._getOrderInventories()
|
|
757
|
-
returnOrder.ownTransport = this._ownTransport
|
|
769
|
+
returnOrder.ownTransport = this._ownTransport
|
|
758
770
|
const attachments = this._document?.files ? this._document.files : undefined
|
|
759
771
|
const response = await client.mutate({
|
|
760
772
|
mutation: gql`
|
|
@@ -277,6 +277,12 @@ class ReceiveReturnOrderRequests extends connect(store)(localize(i18next)(PageVi
|
|
|
277
277
|
header: i18next.t('field.product'),
|
|
278
278
|
width: 150
|
|
279
279
|
},
|
|
280
|
+
{
|
|
281
|
+
type: 'string',
|
|
282
|
+
name: 'brand',
|
|
283
|
+
header: i18next.t('field.brand'),
|
|
284
|
+
width: 150
|
|
285
|
+
},
|
|
280
286
|
{
|
|
281
287
|
type: 'string',
|
|
282
288
|
name: 'packingType',
|
|
@@ -349,6 +355,7 @@ class ReceiveReturnOrderRequests extends connect(store)(localize(i18next)(PageVi
|
|
|
349
355
|
name
|
|
350
356
|
description
|
|
351
357
|
sku
|
|
358
|
+
brand
|
|
352
359
|
}
|
|
353
360
|
productName
|
|
354
361
|
packingType
|
|
@@ -381,7 +388,8 @@ class ReceiveReturnOrderRequests extends connect(store)(localize(i18next)(PageVi
|
|
|
381
388
|
records: orderInventories.map(orderInventory => {
|
|
382
389
|
return {
|
|
383
390
|
...orderInventory,
|
|
384
|
-
sku: orderInventory.product.sku
|
|
391
|
+
sku: orderInventory.product.sku,
|
|
392
|
+
brand: orderInventory.product.brand
|
|
385
393
|
}
|
|
386
394
|
})
|
|
387
395
|
}
|
|
@@ -227,11 +227,12 @@ class ReturnOrderDetail extends connect(store)(localize(i18next)(PageView)) {
|
|
|
227
227
|
]
|
|
228
228
|
if (this._status === ORDER_STATUS.PENDING.value) {
|
|
229
229
|
actions.push(
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
230
|
+
// Issue with deletion, temporarily disable this feature
|
|
231
|
+
// {
|
|
232
|
+
// title: i18next.t('button.delete'),
|
|
233
|
+
// action: this._deleteReturnOrder.bind(this),
|
|
234
|
+
// ...CommonButtonStyles.delete
|
|
235
|
+
// },
|
|
235
236
|
{
|
|
236
237
|
title: i18next.t('button.confirm'),
|
|
237
238
|
action: this._confirmReturnOrder.bind(this),
|
|
@@ -312,6 +313,12 @@ class ReturnOrderDetail extends connect(store)(localize(i18next)(PageView)) {
|
|
|
312
313
|
header: i18next.t('field.product'),
|
|
313
314
|
width: 150
|
|
314
315
|
},
|
|
316
|
+
{
|
|
317
|
+
type: 'string',
|
|
318
|
+
name: 'brand',
|
|
319
|
+
header: i18next.t('field.brand'),
|
|
320
|
+
width: 150
|
|
321
|
+
},
|
|
315
322
|
{
|
|
316
323
|
type: 'string',
|
|
317
324
|
name: 'packingType',
|
|
@@ -384,6 +391,7 @@ class ReturnOrderDetail extends connect(store)(localize(i18next)(PageView)) {
|
|
|
384
391
|
name
|
|
385
392
|
description
|
|
386
393
|
sku
|
|
394
|
+
brand
|
|
387
395
|
}
|
|
388
396
|
productName
|
|
389
397
|
packingType
|
|
@@ -417,7 +425,8 @@ class ReturnOrderDetail extends connect(store)(localize(i18next)(PageView)) {
|
|
|
417
425
|
records: orderInventories.map(orderInventory => {
|
|
418
426
|
return {
|
|
419
427
|
...orderInventory,
|
|
420
|
-
sku: orderInventory.product.sku
|
|
428
|
+
sku: orderInventory.product.sku,
|
|
429
|
+
brand: orderInventory.product.brand
|
|
421
430
|
}
|
|
422
431
|
})
|
|
423
432
|
}
|
|
@@ -154,6 +154,12 @@ class ReturnOrderInventoryPopup extends localize(i18next)(LitElement) {
|
|
|
154
154
|
header: i18next.t('field.product_name'),
|
|
155
155
|
width: 220
|
|
156
156
|
},
|
|
157
|
+
{
|
|
158
|
+
type: 'string',
|
|
159
|
+
name: 'productBrand',
|
|
160
|
+
header: i18next.t('field.brand'),
|
|
161
|
+
width: 120
|
|
162
|
+
},
|
|
157
163
|
{
|
|
158
164
|
type: 'code',
|
|
159
165
|
name: 'packingType',
|
|
@@ -233,6 +239,7 @@ class ReturnOrderInventoryPopup extends localize(i18next)(LitElement) {
|
|
|
233
239
|
id
|
|
234
240
|
}
|
|
235
241
|
productName
|
|
242
|
+
productBrand
|
|
236
243
|
packingType
|
|
237
244
|
packingSize
|
|
238
245
|
releaseUomValueWithUom
|
|
@@ -432,7 +432,7 @@ class DeliveryOrderList extends localize(i18next)(PageView) {
|
|
|
432
432
|
return {
|
|
433
433
|
id: item.id,
|
|
434
434
|
...this._columns
|
|
435
|
-
.filter(column => column.type !== 'gutter' && column.
|
|
435
|
+
.filter(column => column.type !== 'gutter' && column.imex !== undefined)
|
|
436
436
|
.reduce((record, column) => {
|
|
437
437
|
record[column.imex.key] = column.imex.key
|
|
438
438
|
.split('.')
|
|
@@ -440,6 +440,9 @@ class DeliveryOrderList extends localize(i18next)(PageView) {
|
|
|
440
440
|
if (column.type === 'datetime') {
|
|
441
441
|
record[column.imex.key] = new Date(parseInt(record[column.imex.key])).toLocaleString()
|
|
442
442
|
}
|
|
443
|
+
if (record[column.imex.key] === 'Invalid Date') {
|
|
444
|
+
record[column.imex.key] = ''
|
|
445
|
+
}
|
|
443
446
|
return record
|
|
444
447
|
}, {})
|
|
445
448
|
}
|
|
@@ -21,6 +21,7 @@ class InventoryAssignPopup extends localize(i18next)(LitElement) {
|
|
|
21
21
|
productId: String,
|
|
22
22
|
productName: String,
|
|
23
23
|
productSku: String,
|
|
24
|
+
productBrand: String,
|
|
24
25
|
bizplaceId: String,
|
|
25
26
|
packingType: String,
|
|
26
27
|
uom: String,
|
|
@@ -147,6 +148,7 @@ class InventoryAssignPopup extends localize(i18next)(LitElement) {
|
|
|
147
148
|
'picked',
|
|
148
149
|
'palletId',
|
|
149
150
|
'productSku',
|
|
151
|
+
'productBrand',
|
|
150
152
|
'product',
|
|
151
153
|
'location',
|
|
152
154
|
'pickedQty',
|
|
@@ -191,6 +193,12 @@ class InventoryAssignPopup extends localize(i18next)(LitElement) {
|
|
|
191
193
|
header: i18next.t('field.product'),
|
|
192
194
|
width: 250
|
|
193
195
|
},
|
|
196
|
+
{
|
|
197
|
+
type: 'string',
|
|
198
|
+
name: 'productBrand',
|
|
199
|
+
header: i18next.t('field.brand'),
|
|
200
|
+
width: 130
|
|
201
|
+
},
|
|
194
202
|
{
|
|
195
203
|
type: 'object',
|
|
196
204
|
name: 'location',
|
|
@@ -256,7 +264,7 @@ class InventoryAssignPopup extends localize(i18next)(LitElement) {
|
|
|
256
264
|
$packingSize: Float!
|
|
257
265
|
$uom: String!
|
|
258
266
|
$pickingStrategy: String!
|
|
259
|
-
$locationSortingRules: [Sorting]
|
|
267
|
+
$locationSortingRules: [Sorting!]!
|
|
260
268
|
) {
|
|
261
269
|
inventoriesByStrategy(
|
|
262
270
|
worksheetId: $worksheetId
|
|
@@ -267,7 +275,6 @@ class InventoryAssignPopup extends localize(i18next)(LitElement) {
|
|
|
267
275
|
packingType: $packingType
|
|
268
276
|
packingSize: $packingSize
|
|
269
277
|
uom: $uom
|
|
270
|
-
|
|
271
278
|
pickingStrategy: $pickingStrategy
|
|
272
279
|
locationSortingRules: $locationSortingRules
|
|
273
280
|
) {
|
|
@@ -280,6 +287,7 @@ class InventoryAssignPopup extends localize(i18next)(LitElement) {
|
|
|
280
287
|
name
|
|
281
288
|
description
|
|
282
289
|
sku
|
|
290
|
+
brand
|
|
283
291
|
}
|
|
284
292
|
location {
|
|
285
293
|
name
|
|
@@ -316,6 +324,7 @@ class InventoryAssignPopup extends localize(i18next)(LitElement) {
|
|
|
316
324
|
...item,
|
|
317
325
|
...item.location,
|
|
318
326
|
productSku: item.product.sku,
|
|
327
|
+
productBrand: item.product.brand,
|
|
319
328
|
availableUomValue: item.uomValue + ' ' + item.uom
|
|
320
329
|
}
|
|
321
330
|
}),
|
|
@@ -138,6 +138,12 @@ class InventoryAutoAssignPopup extends localize(i18next)(LitElement) {
|
|
|
138
138
|
header: i18next.t('field.product'),
|
|
139
139
|
width: 150
|
|
140
140
|
},
|
|
141
|
+
{
|
|
142
|
+
type: 'string',
|
|
143
|
+
name: 'productBrand',
|
|
144
|
+
header: i18next.t('field.brand'),
|
|
145
|
+
width: 100
|
|
146
|
+
},
|
|
141
147
|
{
|
|
142
148
|
type: 'string',
|
|
143
149
|
name: 'packingType',
|
|
@@ -234,6 +240,7 @@ class InventoryAutoAssignPopup extends localize(i18next)(LitElement) {
|
|
|
234
240
|
async fetchInventoriesByStrategy({ batchId, product, packingType, packingSize, uom }, pickingStrategy, bizplaceId) {
|
|
235
241
|
const productName = product.name
|
|
236
242
|
const productSku = product.sku
|
|
243
|
+
const productBrand = product.brand
|
|
237
244
|
const response = await client.query({
|
|
238
245
|
query: gql`
|
|
239
246
|
query inventoriesByStrategy(
|
|
@@ -268,6 +275,7 @@ class InventoryAutoAssignPopup extends localize(i18next)(LitElement) {
|
|
|
268
275
|
name
|
|
269
276
|
description
|
|
270
277
|
sku
|
|
278
|
+
brand
|
|
271
279
|
}
|
|
272
280
|
}
|
|
273
281
|
}
|
|
@@ -292,6 +300,7 @@ class InventoryAutoAssignPopup extends localize(i18next)(LitElement) {
|
|
|
292
300
|
...item,
|
|
293
301
|
...item.location,
|
|
294
302
|
productSku: item.product.sku,
|
|
303
|
+
productBrand: item.product.brand,
|
|
295
304
|
releaseUomValue: item.uomValue + ' ' + item.uom
|
|
296
305
|
}
|
|
297
306
|
})
|
|
@@ -229,7 +229,7 @@ class MergedOutboundWorksheet extends localize(i18next)(PageView) {
|
|
|
229
229
|
type: 'datetime',
|
|
230
230
|
name: 'createdAt',
|
|
231
231
|
header: i18next.t('field.created_at'),
|
|
232
|
-
imex: { header: i18next.t('field.created_at'), key: 'createdAt', width: 30, type: '
|
|
232
|
+
imex: { header: i18next.t('field.created_at'), key: 'createdAt', width: 30, type: 'string' },
|
|
233
233
|
sortable: true,
|
|
234
234
|
width: 160
|
|
235
235
|
},
|
|
@@ -237,7 +237,7 @@ class MergedOutboundWorksheet extends localize(i18next)(PageView) {
|
|
|
237
237
|
type: 'datetime',
|
|
238
238
|
name: 'startedAt',
|
|
239
239
|
header: i18next.t('field.started_at'),
|
|
240
|
-
imex: { header: i18next.t('field.started_at'), key: 'startedAt', width: 30, type: '
|
|
240
|
+
imex: { header: i18next.t('field.started_at'), key: 'startedAt', width: 30, type: 'string' },
|
|
241
241
|
sortable: true,
|
|
242
242
|
width: 160
|
|
243
243
|
},
|
|
@@ -245,7 +245,7 @@ class MergedOutboundWorksheet extends localize(i18next)(PageView) {
|
|
|
245
245
|
type: 'datetime',
|
|
246
246
|
name: 'endedAt',
|
|
247
247
|
header: i18next.t('field.ended_at'),
|
|
248
|
-
imex: { header: i18next.t('field.ended_at'), key: 'endedAt', width: 30, type: '
|
|
248
|
+
imex: { header: i18next.t('field.ended_at'), key: 'endedAt', width: 30, type: 'string' },
|
|
249
249
|
sortable: true,
|
|
250
250
|
width: 160
|
|
251
251
|
},
|
|
@@ -413,7 +413,7 @@ class MergedOutboundWorksheet extends localize(i18next)(PageView) {
|
|
|
413
413
|
}
|
|
414
414
|
|
|
415
415
|
var headerSetting = this.dataGrist._config.columns
|
|
416
|
-
.filter(column => column.type !== 'gutter' && column.
|
|
416
|
+
.filter(column => column.type !== 'gutter' && column.imex !== undefined)
|
|
417
417
|
.map(column => {
|
|
418
418
|
return column.imex
|
|
419
419
|
})
|
|
@@ -422,7 +422,7 @@ class MergedOutboundWorksheet extends localize(i18next)(PageView) {
|
|
|
422
422
|
return {
|
|
423
423
|
id: item.id,
|
|
424
424
|
...this._columns
|
|
425
|
-
.filter(column => column.type !== 'gutter' && column.
|
|
425
|
+
.filter(column => column.type !== 'gutter' && column.imex !== undefined)
|
|
426
426
|
.reduce((record, column) => {
|
|
427
427
|
record[column.imex.key] = column.imex.key
|
|
428
428
|
.split('.')
|
|
@@ -430,10 +430,14 @@ class MergedOutboundWorksheet extends localize(i18next)(PageView) {
|
|
|
430
430
|
if (column.type === 'datetime') {
|
|
431
431
|
record[column.imex.key] = new Date(parseInt(record[column.imex.key])).toLocaleString()
|
|
432
432
|
}
|
|
433
|
+
if (record[column.imex.key] === 'Invalid Date') {
|
|
434
|
+
record[column.imex.key] = ''
|
|
435
|
+
}
|
|
433
436
|
return record
|
|
434
437
|
}, {})
|
|
435
438
|
}
|
|
436
439
|
})
|
|
440
|
+
|
|
437
441
|
return { header: headerSetting, data: data }
|
|
438
442
|
}
|
|
439
443
|
}
|