@things-factory/product-ui 5.0.0-alpha.3 → 5.0.0-alpha.32

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.
@@ -0,0 +1,24 @@
1
+ import { i18next } from '@things-factory/i18n-base'
2
+
3
+ export const PICKING_STRATEGIES = [
4
+ {
5
+ name: i18next.t('label.fifo'),
6
+ value: 'FIFO'
7
+ },
8
+ {
9
+ name: i18next.t('label.fefo'),
10
+ value: 'FEFO'
11
+ },
12
+ {
13
+ name: i18next.t('label.fmfo'),
14
+ value: 'FMFO'
15
+ },
16
+ {
17
+ name: i18next.t('label.lifo'),
18
+ value: 'LIFO'
19
+ },
20
+ {
21
+ name: i18next.t('label.location'),
22
+ value: 'LOCATION'
23
+ }
24
+ ]
@@ -2,16 +2,17 @@ import '@things-factory/form-ui'
2
2
  import '@things-factory/grist-ui'
3
3
  import './product-details-popup'
4
4
 
5
- import gql from 'graphql-tag'
5
+ import { CommonButtonStyles, ScrollbarStyles } from '@things-factory/styles'
6
+ import { CustomAlert, PageView, client, gqlContext } from '@things-factory/shell'
6
7
  import { css, html } from 'lit'
8
+ import { i18next, localize } from '@things-factory/i18n-base'
7
9
 
10
+ import { PICKING_STRATEGIES } from './constants/picking-strategy'
8
11
  import { getCodeByName } from '@things-factory/code-base'
9
- import { i18next, localize } from '@things-factory/i18n-base'
12
+ import gql from 'graphql-tag'
13
+ import { isMobileDevice } from '@things-factory/utils'
10
14
  import { openImportPopUp } from '@things-factory/import-ui'
11
15
  import { openPopup } from '@things-factory/layout-base'
12
- import { client, CustomAlert, gqlContext, PageView } from '@things-factory/shell'
13
- import { CommonButtonStyles, ScrollbarStyles } from '@things-factory/styles'
14
- import { isMobileDevice } from '@things-factory/utils'
15
16
 
16
17
  class ProductList extends localize(i18next)(PageView) {
17
18
  static get properties() {
@@ -364,8 +365,16 @@ class ProductList extends localize(i18next)(PageView) {
364
365
  },
365
366
  {
366
367
  type: 'boolean',
367
- name: 'isRequireSerialNumberScanning',
368
- header: i18next.t('field.require_serial_number_scanning'),
368
+ name: 'isRequireSerialNumberScanningInbound',
369
+ header: i18next.t('field.require_serial_number_scanning_inbound'),
370
+ record: { editable: true, align: 'center' },
371
+ sortable: true,
372
+ width: 120
373
+ },
374
+ {
375
+ type: 'boolean',
376
+ name: 'isRequireSerialNumberScanningOutbound',
377
+ header: i18next.t('field.require_serial_number_scanning_outbound'),
369
378
  record: { editable: true, align: 'center' },
370
379
  sortable: true,
371
380
  width: 120
@@ -638,6 +647,22 @@ class ProductList extends localize(i18next)(PageView) {
638
647
  header: `${i18next.t('field.aux_value')} 5`,
639
648
  width: 100
640
649
  },
650
+ {
651
+ type: 'select',
652
+ name: 'pickingStrategy',
653
+ record: {
654
+ editable: true,
655
+ options: PICKING_STRATEGIES.map(strategy => strategy.value)
656
+ },
657
+ imex: {
658
+ header: `${i18next.t('field.picking_strategy')}`,
659
+ key: 'pickingStrategy',
660
+ width: 20,
661
+ type: 'string'
662
+ },
663
+ header: `${i18next.t('field.picking_strategy')}`,
664
+ width: 100
665
+ },
641
666
  {
642
667
  type: 'object',
643
668
  name: 'updater',
@@ -695,6 +720,8 @@ class ProductList extends localize(i18next)(PageView) {
695
720
  expirationPeriod
696
721
  isRequiredCheckExpiry
697
722
  isRequireSerialNumberScanning
723
+ isRequireSerialNumberScanningInbound
724
+ isRequireSerialNumberScanningOutbound
698
725
  weightUnit
699
726
  nettWeight
700
727
  grossWeight
@@ -729,6 +756,7 @@ class ProductList extends localize(i18next)(PageView) {
729
756
  brand
730
757
  subBrand
731
758
  gtin
759
+ pickingStrategy
732
760
  updater {
733
761
  name
734
762
  description
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@things-factory/product-ui",
3
- "version": "5.0.0-alpha.3",
3
+ "version": "5.0.0-alpha.32",
4
4
  "main": "dist-server/index.js",
5
5
  "browser": "client/index.js",
6
6
  "things-factory": true,
@@ -24,13 +24,13 @@
24
24
  "migration:create": "node ../../node_modules/typeorm/cli.js migration:create -d ./server/migrations"
25
25
  },
26
26
  "dependencies": {
27
- "@things-factory/form-ui": "^5.0.0-alpha.3",
28
- "@things-factory/grist-ui": "^5.0.0-alpha.3",
29
- "@things-factory/i18n-base": "^5.0.0-alpha.3",
30
- "@things-factory/import-ui": "^5.0.0-alpha.3",
31
- "@things-factory/layout-base": "^5.0.0-alpha.3",
32
- "@things-factory/product-base": "^5.0.0-alpha.3",
33
- "@things-factory/shell": "^5.0.0-alpha.3"
27
+ "@things-factory/form-ui": "^5.0.0-alpha.32",
28
+ "@things-factory/grist-ui": "^5.0.0-alpha.32",
29
+ "@things-factory/i18n-base": "^5.0.0-alpha.32",
30
+ "@things-factory/import-ui": "^5.0.0-alpha.32",
31
+ "@things-factory/layout-base": "^5.0.0-alpha.32",
32
+ "@things-factory/product-base": "^5.0.0-alpha.32",
33
+ "@things-factory/shell": "^5.0.0-alpha.32"
34
34
  },
35
- "gitHead": "0584a36ba889ff0b426cc87c0d9c8f14ffa2f677"
35
+ "gitHead": "c29fd7ecf652108bc3a333a6e0a766c11e1ea9f0"
36
36
  }
@@ -2,6 +2,7 @@
2
2
  "button.add_new_product": "add new product",
3
3
  "button.back": "back",
4
4
  "button.cancel": "cancel",
5
+ "button.check_missing_x": "check missing {state.x}",
5
6
  "button.delete": "delete",
6
7
  "button.link_product": "link product",
7
8
  "button.restore": "restore",
@@ -40,10 +41,13 @@
40
41
  "field.nett_weight": "nett weight",
41
42
  "field.packing_size": "packing size",
42
43
  "field.packing_type": "packing type",
44
+ "field.picking_strategy": "picking strategy",
43
45
  "field.product_info": "product info",
44
46
  "field.product_ref": "product ref",
45
47
  "field.product_set_info": "product set info",
46
48
  "field.ref_code": "ref code",
49
+ "field.require_serial_number_scanning_inbound": "require serial number scanning inbound",
50
+ "field.require_serial_number_scanning_outbound": "require serial number scanning outbound",
47
51
  "field.require_serial_number_scanning": "require serial number scanning",
48
52
  "field.required_checking_expiry": "required checking expiry",
49
53
  "field.sku": "SKU",
@@ -58,10 +62,14 @@
58
62
  "field.weight_unit": "weight unit",
59
63
  "field.weight": "weight",
60
64
  "field.width": "width",
65
+ "label.fefo": "FEFO",
66
+ "label.fmfo": "FMFO",
67
+ "label.fifo": "FIFO",
68
+ "label.lifo": "LIFO",
69
+ "label.location": "location",
61
70
  "text.data_import_successfully": "data import successfully",
62
71
  "text.data_restore_successfully": "data restore successfully",
63
72
  "text.invalid_bundle_qty_for_item_number": "invalid bundle qty for item number",
64
- "button.check_missing_x": "check missing {state.x}",
65
73
  "text.invalid_qty_for_item_number_x": "invalid qty for item #{state.x}",
66
74
  "text.there_is_nothing_to_restore": "there is nothing to restore",
67
75
  "title.combination_sets": "combination sets",
@@ -1,17 +1,11 @@
1
1
  {
2
- "field.require_serial_number_scanning": "[ko]require serial number scanning",
3
- "field.packing_size": "[ko]packing size",
4
- "field.deleted": "[ko]deleted",
5
- "button.restore": "[ko]restore",
6
- "text.there_is_nothing_to_restore": "[ko]there is nothing to restore",
7
- "text.data_restore_successfully": "[ko]data restore successfully",
8
- "text.invalid_bundle_qty_for_item_number": "[ko] invalid bundle qty for item number",
9
- "text.invalid_qty_for_item_number_x": "[ko] invalid qty for item #{state.x}",
2
+ "field.picking_strategy": "[ko]picking strategy",
10
3
  "button.add_new_product": "[ko]add new product",
11
4
  "button.back": "[ko]back",
12
5
  "button.cancel": "[ko]cancel",
13
6
  "button.delete": "[ko]delete",
14
7
  "button.link_product": "[ko]link product",
8
+ "button.restore": "[ko]restore",
15
9
  "button.save": "[ko]save",
16
10
  "button.sync_data": "[ko]sync data",
17
11
  "field.aux_unit": "[ko]aux unit",
@@ -19,7 +13,7 @@
19
13
  "field.brand_sku": "[ko]brand sku",
20
14
  "field.buffer_qty": "[ko]buffer qty",
21
15
  "field.case_depth": "[ko]case depth",
22
- "field.case_gross_weight": "c[ko]ase gross weight",
16
+ "field.case_gross_weight": "[ko]case gross weight",
23
17
  "field.case_gtin": "[ko]case GTIN",
24
18
  "field.case_height": "[ko]case height",
25
19
  "field.case_volume": "[ko]case volume",
@@ -29,13 +23,13 @@
29
23
  "field.child_product_ref": "[ko]child product ref",
30
24
  "field.child_qty": "[ko]child qty",
31
25
  "field.cogs_account_code": "[ko]COGS account code",
32
- "field.combination": "[ko] combination",
26
+ "field.combination": "[ko]combination",
27
+ "field.deleted": "[ko]deleted",
33
28
  "field.density": "[ko]density",
34
29
  "field.depth": "[ko]depth",
35
30
  "field.description": "[ko]description",
36
31
  "field.expiration_period": "[ko]expiration Period",
37
32
  "field.gross_weight": "g[ko]ross weight",
38
- "field.nett_weight": "n[ko]ett weight",
39
33
  "field.gtin": "[ko]GTIN",
40
34
  "field.height": "[ko]height",
41
35
  "field.inventory_account_code": "[ko]inventory account code",
@@ -44,12 +38,17 @@
44
38
  "field.min_qty": "[ko]min qty",
45
39
  "field.movement": "[ko]movement",
46
40
  "field.name": "[ko]name",
41
+ "field.nett_weight": "n[ko]ett weight",
42
+ "field.packing_size": "[ko]packing size",
47
43
  "field.packing_type": "[ko]packing type",
48
44
  "field.product_info": "[ko]product info",
49
45
  "field.product_ref": "[ko]product ref",
50
46
  "field.product_set_info": "[ko]product set info",
51
- "field.ref_code": "[ko] ref code",
47
+ "field.ref_code": "[ko]ref code",
48
+ "field.require_serial_number_scanning": "[ko]require serial number scanning",
52
49
  "field.required_checking_expiry": "[ko]required checking expiry",
50
+ "field.require_serial_number_scanning_inbound": "[ko] require serial number scanning inbound",
51
+ "field.require_serial_number_scanning_outbound": "[ko] require serial number scanning outbound",
53
52
  "field.sku": "[ko]SKU",
54
53
  "field.sub_brand": "[ko]sub brand",
55
54
  "field.threshold_qty": "[ko]threshold qty",
@@ -62,11 +61,20 @@
62
61
  "field.weight_unit": "[ko]weight unit",
63
62
  "field.weight": "[ko]weight",
64
63
  "field.width": "[ko]width",
65
- "title.linked_products": "[ko] linked products",
64
+ "label.fefo": "[ko]FEFO",
65
+ "label.fmfo": "[ko]FMFO",
66
+ "label.fifo": "[ko]FIFO",
67
+ "label.lifo": "[ko]LIFO",
68
+ "label.location": "[ko]location",
69
+ "text.data_restore_successfully": "[ko]data restore successfully",
70
+ "text.invalid_bundle_qty_for_item_number": "[ko]invalid bundle qty for item number",
71
+ "text.invalid_qty_for_item_number_x": "[ko]invalid qty for item #{state.x}",
72
+ "text.there_is_nothing_to_restore": "[ko]there is nothing to restore",
73
+ "title.combination_sets": "[ko]combination sets",
74
+ "title.combination": "[ko]combination",
75
+ "title.linked_products": "[ko]linked products",
66
76
  "title.product_bundle_setting": "[ko]product bundle setting",
67
77
  "title.product_bundle": "[ko]product bundle",
68
78
  "title.product_set": "[ko]product set",
69
- "title.product": "[ko]product",
70
- "title.combination": "[ko] combination",
71
- "title.combination_sets": "[ko] combination sets"
79
+ "title.product": "[ko]product"
72
80
  }
@@ -1,17 +1,11 @@
1
1
  {
2
- "field.require_serial_number_scanning": "[ms]require serial number scanning",
3
- "field.packing_size": "[ms]packing size",
4
- "field.deleted": "[ms]deleted",
5
- "button.restore": "[ms]restore",
6
- "text.there_is_nothing_to_restore": "[ms]there is nothing to restore",
7
- "text.data_restore_successfully": "[ms]data restore successfully",
8
- "text.invalid_bundle_qty_for_item_number": "[ms] invalid bundle qty for item number",
9
- "text.invalid_qty_for_item_number_x": "[ms] invalid qty for item #{state.x}",
2
+ "field.picking_strategy": "[ms]picking strategy",
10
3
  "button.add_new_product": "[ms]add new product",
11
4
  "button.back": "[ms]back",
12
5
  "button.cancel": "[ms]cancel",
13
6
  "button.delete": "[ms]delete",
14
7
  "button.link_product": "[ms]link product",
8
+ "button.restore": "[ms]restore",
15
9
  "button.save": "[ms]save",
16
10
  "button.sync_data": "[ms]sync data",
17
11
  "field.aux_unit": "[ms]aux unit",
@@ -30,12 +24,12 @@
30
24
  "field.child_qty": "[ms]child qty",
31
25
  "field.cogs_account_code": "[ms]COGS account code",
32
26
  "field.combination": "[ms] combination",
27
+ "field.deleted": "[ms]deleted",
33
28
  "field.density": "[ms]density",
34
29
  "field.depth": "[ms]depth",
35
30
  "field.description": "[ms]description",
36
31
  "field.expiration_period": "[ms]expiration Period",
37
32
  "field.gross_weight": "g[ms]ross weight",
38
- "field.nett_weight": "n[ms]ett weight",
39
33
  "field.gtin": "[ms]GTIN",
40
34
  "field.height": "[ms]height",
41
35
  "field.inventory_account_code": "[ms]inventory account code",
@@ -44,12 +38,17 @@
44
38
  "field.min_qty": "[ms]min qty",
45
39
  "field.movement": "[ms]movement",
46
40
  "field.name": "[ms]name",
41
+ "field.nett_weight": "n[ms]ett weight",
42
+ "field.packing_size": "[ms]packing size",
47
43
  "field.packing_type": "[ms]packing type",
48
44
  "field.product_info": "[ms]product info",
49
45
  "field.product_ref": "[ms]product ref",
50
46
  "field.product_set_info": "[ms]product set info",
51
47
  "field.ref_code": "[ms]ref code",
48
+ "field.require_serial_number_scanning": "[ms]require serial number scanning",
52
49
  "field.required_checking_expiry": "[ms]required checking expiry",
50
+ "field.require_serial_number_scanning_inbound": "[ms]require serial number scanning inbound",
51
+ "field.require_serial_number_scanning_outbound": "[ms]require serial number scanning outbound",
53
52
  "field.sku": "[ms]SKU",
54
53
  "field.sub_brand": "[ms]sub brand",
55
54
  "field.threshold_qty": "[ms]threshold qty",
@@ -62,11 +61,20 @@
62
61
  "field.weight_unit": "[ms]weight unit",
63
62
  "field.weight": "[ms]weight",
64
63
  "field.width": "[ms]width",
64
+ "label.fefo": "[ms]FEFO",
65
+ "label.fmfo": "[ms]FMFO",
66
+ "label.fifo": "[ms]FIFO",
67
+ "label.lifo": "[ms]LIFO",
68
+ "label.location": "[ms]location",
69
+ "text.data_restore_successfully": "[ms]data restore successfully",
70
+ "text.invalid_bundle_qty_for_item_number": "[ms] invalid bundle qty for item number",
71
+ "text.invalid_qty_for_item_number_x": "[ms] invalid qty for item #{state.x}",
72
+ "text.there_is_nothing_to_restore": "[ms]there is nothing to restore",
73
+ "title.combination_sets": "[ms] combination sets",
74
+ "title.combination": "[ms] combination",
65
75
  "title.linked_products": "[ms] linked products",
66
76
  "title.product_bundle_setting": "[ms]product bundle setting",
67
77
  "title.product_bundle": "[ms]product bundle",
68
78
  "title.product_set": "[ms]product set",
69
- "title.product": "[ms]product",
70
- "title.combination": "[ms] combination",
71
- "title.combination_sets": "[ms] combination sets"
79
+ "title.product": "[ms]product"
72
80
  }
@@ -1,21 +1,13 @@
1
1
  {
2
- "field.require_serial_number_scanning": "[zh]require serial number scanning",
3
- "button.restore": "[zh]restore",
4
- "text.there_is_nothing_to_restore": "[zh]there is nothing to restore",
5
- "text.data_restore_successfully": "[zh]data restore successfully",
6
- "text.invalid_bundle_qty_for_item_number": "[zh] invalid bundle qty for item number",
7
- "text.invalid_qty_for_item_number_x": "[zh] invalid qty for item #{state.x}",
8
-
2
+ "field.picking_strategy": "[zh]picking strategy",
9
3
  "button.add_new_product": "[zh]add new product",
10
4
  "button.back": "[zh]back",
11
5
  "button.cancel": "[zh]cancel",
12
6
  "button.delete": "[zh]delete",
13
7
  "button.link_product": "[zh]link product",
8
+ "button.restore": "[zh]restore",
14
9
  "button.save": "[zh]save",
15
10
  "button.sync_data": "[zh]sync data",
16
-
17
- "field.packing_size": "[zh]packing size",
18
- "field.deleted": "[zh]deleted",
19
11
  "field.aux_unit": "[zh]aux unit",
20
12
  "field.aux_value": "[zh]aux value",
21
13
  "field.brand_sku": "[zh]brand sku",
@@ -32,12 +24,12 @@
32
24
  "field.child_qty": "[zh]child qty",
33
25
  "field.cogs_account_code": "[zh]COGS account code",
34
26
  "field.combination": "[zh] combination",
27
+ "field.deleted": "[zh]deleted",
35
28
  "field.density": "[zh]density",
36
29
  "field.depth": "[zh]depth",
37
30
  "field.description": "[zh]description",
38
31
  "field.expiration_period": "[zh]expiration Period",
39
32
  "field.gross_weight": "[zh]gross weight",
40
- "field.nett_weight": "[zh]nett weight",
41
33
  "field.gtin": "[zh]GTIN",
42
34
  "field.height": "[zh]height",
43
35
  "field.inventory_account_code": "[zh]inventory account code",
@@ -46,12 +38,17 @@
46
38
  "field.min_qty": "[zh]min qty",
47
39
  "field.movement": "[zh]movement",
48
40
  "field.name": "[zh]name",
41
+ "field.nett_weight": "[zh]nett weight",
42
+ "field.packing_size": "[zh]packing size",
49
43
  "field.packing_type": "[zh]packing type",
50
44
  "field.product_info": "[zh]product info",
51
45
  "field.product_ref": "[zh]product ref",
52
46
  "field.product_set_info": "[zh]product set info",
53
47
  "field.ref_code": "[zh]ref code",
48
+ "field.require_serial_number_scanning": "[zh]require serial number scanning",
54
49
  "field.required_checking_expiry": "[zh]required checking expiry",
50
+ "field.require_serial_number_scanning_inbound": "[zh]require serial number scanning inbound",
51
+ "field.require_serial_number_scanning_outbound": "[zh]require serial number scanning outbound",
55
52
  "field.sku": "[zh]SKU",
56
53
  "field.sub_brand": "[zh]sub brand",
57
54
  "field.threshold_qty": "[zh]threshold qty",
@@ -64,11 +61,20 @@
64
61
  "field.weight_unit": "[zh]weight unit",
65
62
  "field.weight": "[zh]weight",
66
63
  "field.width": "[zh]width",
64
+ "label.fefo": "[ms]FEFO",
65
+ "label.fmfo": "[ms]FMFO",
66
+ "label.fifo": "[ms]FIFO",
67
+ "label.lifo": "[ms]LIFO",
68
+ "label.location": "[ms]location",
69
+ "text.data_restore_successfully": "[zh]data restore successfully",
70
+ "text.invalid_bundle_qty_for_item_number": "[zh] invalid bundle qty for item number",
71
+ "text.invalid_qty_for_item_number_x": "[zh] invalid qty for item #{state.x}",
72
+ "text.there_is_nothing_to_restore": "[zh]there is nothing to restore",
73
+ "title.combination_sets": "[zh] combination sets",
74
+ "title.combination": "[zh] combination",
67
75
  "title.linked_products": "[zh] linked products",
68
76
  "title.product_bundle_setting": "[zh]product bundle setting",
69
77
  "title.product_bundle": "[zh]product bundle",
70
78
  "title.product_set": "[zh]product set",
71
- "title.product": "[zh]product",
72
- "title.combination": "[zh] combination",
73
- "title.combination_sets": "[zh] combination sets"
79
+ "title.product": "[zh]product"
74
80
  }