@things-factory/operato-wms 4.3.686 → 4.3.689

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.
@@ -476,7 +476,8 @@ class DraftReleaseGoodList extends localize(i18next)(PageView) {
476
476
  )
477
477
  throw new Error(i18next.t('text.please_select_a_valid_draft_order_to_generate_release_order'))
478
478
 
479
- let selectedOrders = selectedGristData
479
+ // Sort by createdAt ASC to ensure orders that came in first get converted first
480
+ let selectedOrders = selectedGristData.sort((a, b) => new Date(a.createdAt) - new Date(b.createdAt))
480
481
  orderIds = selectedOrders.map(record => ({ id: record.id, releaseType: 'release' }))
481
482
 
482
483
  let result = await CustomAlert({
@@ -284,6 +284,13 @@ class DraftReleaseGoodPopup extends localize(i18next)(LitElement) {
284
284
  return
285
285
  }
286
286
 
287
+ // Sort by createdAt ASC to ensure orders that came in first get converted first
288
+ selectedGristData.sort((a, b) => {
289
+ const orderA = this.draftOrder.find(order => order.id === a.valueInfo)
290
+ const orderB = this.draftOrder.find(order => order.id === b.valueInfo)
291
+ return new Date(orderA?.createdAt) - new Date(orderB?.createdAt)
292
+ })
293
+
287
294
  const filterSelectedData = selectedGristData.map(item => {
288
295
  return {
289
296
  id: item.valueInfo ? item.valueInfo : '',
@@ -1,5 +1,6 @@
1
1
  import '@things-factory/form-ui'
2
2
  import '@things-factory/grist-ui'
3
+ import '@things-factory/worksheet-ui'
3
4
  import '../batch-picking-popup'
4
5
  import '../../../outbound/generate-worksheet-popup'
5
6
  import '../../../outbound/select-operator-popup'
@@ -9,7 +10,7 @@ import { css, html } from 'lit-element'
9
10
 
10
11
  import { getCodeByName } from '@things-factory/code-base'
11
12
  import { i18next, localize } from '@things-factory/i18n-base'
12
- import { openPopup } from '@things-factory/layout-base'
13
+ import { openPopup, openOverlay } from '@things-factory/layout-base'
13
14
  import { client, navigate, PageView } from '@things-factory/shell'
14
15
  import { CommonButtonStyles, ScrollbarStyles } from '@things-factory/styles'
15
16
  import { isMobileDevice, sleep } from '@things-factory/utils'
@@ -52,7 +53,8 @@ class B2bOrderList extends localize(i18next)(PageView) {
52
53
  _routeId: Boolean,
53
54
  vasStatus: String,
54
55
  isUserBelongsDomain: Boolean,
55
- _enableZonePicking: Boolean
56
+ _enableZonePicking: Boolean,
57
+ _betaSetting: Boolean
56
58
  }
57
59
  }
58
60
 
@@ -72,11 +74,19 @@ class B2bOrderList extends localize(i18next)(PageView) {
72
74
  var actions = []
73
75
 
74
76
  if (this.isUserBelongsDomain) {
75
- actions.push({
76
- title: i18next.t('button.generate_worksheet'),
77
- action: this._openGenerateWorksheetPopup.bind(this),
78
- ...CommonButtonStyles.activate
79
- })
77
+ if (this._betaSetting) {
78
+ actions.push({
79
+ title: i18next.t('button.generate_worksheet'),
80
+ action: this._openWorksheetOverlay.bind(this),
81
+ ...CommonButtonStyles.activate
82
+ })
83
+ } else {
84
+ actions.push({
85
+ title: i18next.t('button.generate_worksheet'),
86
+ action: this._openGenerateWorksheetPopup.bind(this),
87
+ ...CommonButtonStyles.activate
88
+ })
89
+ }
80
90
  }
81
91
 
82
92
  if (this._enableZonePicking) {
@@ -149,6 +159,7 @@ class B2bOrderList extends localize(i18next)(PageView) {
149
159
  const _excludedVasStatus = ['DONE', 'CHANGES', 'NEW', 'REMOVED']
150
160
  const _orderVasStatus = Object.values(ORDER_VAS_STATUS).filter(status => !_excludedVasStatus.includes(status.value))
151
161
  this._enableZonePicking = await fetchSettingRule('enable-zone-picking')
162
+ this._betaSetting = await fetchSettingRule('enable-beta-feature')
152
163
 
153
164
  this._searchFields = [
154
165
  {
@@ -724,6 +735,17 @@ class B2bOrderList extends localize(i18next)(PageView) {
724
735
  }
725
736
  }
726
737
 
738
+ _openWorksheetOverlay() {
739
+ // Load smart-batch-picking setting and expose globally for overlay to pass to popup
740
+ fetchSettingRule('smart-batch-picking').then(val => {
741
+ window.__SMART_BATCH_PICKING__ = String(val).toLowerCase() === 'true'
742
+ window.__WORKSHEET_TYPE__ = 'b2b'
743
+ openOverlay('context-toolbar-overlay', {
744
+ template: html` <worksheet-overlay-template></worksheet-overlay-template> `
745
+ })
746
+ })
747
+ }
748
+
727
749
  _compareValues(key, order = 'asc') {
728
750
  return function innerSort(a, b) {
729
751
  if (!a.hasOwnProperty(key) || !b.hasOwnProperty(key)) {
@@ -1,5 +1,6 @@
1
1
  import '@things-factory/form-ui'
2
2
  import '@things-factory/grist-ui'
3
+ import '@things-factory/worksheet-ui'
3
4
  import '../batch-picking-popup'
4
5
  import '../print-airway-bill-popup'
5
6
  import '../../../outbound/generate-worksheet-popup'
@@ -12,7 +13,7 @@ import { GhostPrint } from '@operato/ghost-print'
12
13
  import { DirectPrinter } from '@things-factory/barcode-base'
13
14
  import { getCodeByName } from '@things-factory/code-base'
14
15
  import { i18next, localize } from '@things-factory/i18n-base'
15
- import { openPopup } from '@things-factory/layout-base'
16
+ import { openPopup, openOverlay } from '@things-factory/layout-base'
16
17
  import { client, navigate, PageView, store } from '@things-factory/shell'
17
18
  import { CommonButtonStyles, ScrollbarStyles } from '@things-factory/styles'
18
19
  import { isMobileDevice, sleep } from '@things-factory/utils'
@@ -55,7 +56,8 @@ class B2cOrderRequests extends connect(store)(localize(i18next)(PageView)) {
55
56
  _internalizedAWBLabel: Object,
56
57
  _searchFields: Array,
57
58
  config: Object,
58
- data: Object
59
+ data: Object,
60
+ _betaSetting: Boolean
59
61
  }
60
62
  }
61
63
 
@@ -90,7 +92,7 @@ class B2cOrderRequests extends connect(store)(localize(i18next)(PageView)) {
90
92
  },
91
93
  {
92
94
  title: i18next.t('button.generate_worksheet'),
93
- action: this._openGenerateWorksheetPopup.bind(this),
95
+ action: this._betaSetting ? this._openWorksheetOverlay.bind(this) : this._openGenerateWorksheetPopup.bind(this),
94
96
  ...CommonButtonStyles.activate
95
97
  }
96
98
  ]
@@ -153,6 +155,7 @@ class B2cOrderRequests extends connect(store)(localize(i18next)(PageView)) {
153
155
  const _orderStatus = await getCodeByName('RO_REQUESTS_STATUS')
154
156
  const _partners = await this._fetchPartners()
155
157
  const _shippingProviders = await this._fetchShippingProviders()
158
+ this._betaSetting = await fetchSettingRule('enable-beta-feature')
156
159
 
157
160
  this._searchFields = [
158
161
  {
@@ -891,6 +894,17 @@ class B2cOrderRequests extends connect(store)(localize(i18next)(PageView)) {
891
894
  return this.config.columns
892
895
  }
893
896
 
897
+ _openWorksheetOverlay() {
898
+ // Load smart-batch-picking setting and expose globally for overlay to pass to popup
899
+ fetchSettingRule('smart-batch-picking').then(val => {
900
+ window.__SMART_BATCH_PICKING__ = String(val).toLowerCase() === 'true'
901
+ window.__WORKSHEET_TYPE__ = 'b2c'
902
+ openOverlay('context-toolbar-overlay', {
903
+ template: html` <worksheet-overlay-template></worksheet-overlay-template> `
904
+ })
905
+ })
906
+ }
907
+
894
908
  _showToast({ type, message }) {
895
909
  document.dispatchEvent(
896
910
  new CustomEvent('notify', {
package/client/route.js CHANGED
@@ -110,10 +110,6 @@ export default function route(page) {
110
110
  case 'b2c_order_requests':
111
111
  import('./pages/order/release-order/b2c/b2c-order-requests')
112
112
  return page
113
- //to be removed
114
- // case 'receive_release_order_request':
115
- // import('./pages/order/release-order/receive-release-order-request')
116
- // return page
117
113
 
118
114
  case 'rejected_release_order':
119
115
  import('./pages/order/release-order/rejected-release-order')
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@things-factory/operato-wms",
3
- "version": "4.3.686",
3
+ "version": "4.3.689",
4
4
  "main": "dist-server/index.js",
5
5
  "browser": "client/index.js",
6
6
  "things-factory": true,
@@ -62,60 +62,61 @@
62
62
  "@operato/scene-tab": "^0.1.8",
63
63
  "@operato/scene-table": "^0.1.8",
64
64
  "@operato/scene-wheel-sorter": "^0.1.8",
65
- "@things-factory/apptool-ui": "^4.3.675",
66
- "@things-factory/attachment-ui": "^4.3.677",
67
- "@things-factory/auth-ui": "^4.3.677",
68
- "@things-factory/barcode-ui": "^4.3.675",
69
- "@things-factory/biz-ui": "^4.3.677",
70
- "@things-factory/board-service": "^4.3.677",
71
- "@things-factory/board-ui": "^4.3.677",
72
- "@things-factory/code-ui": "^4.3.677",
73
- "@things-factory/context-ui": "^4.3.675",
74
- "@things-factory/export-ui": "^4.3.675",
75
- "@things-factory/export-ui-csv": "^4.3.675",
76
- "@things-factory/export-ui-excel": "^4.3.675",
77
- "@things-factory/fav-base": "^4.3.677",
78
- "@things-factory/form-ui": "^4.3.675",
79
- "@things-factory/geography": "^4.3.677",
80
- "@things-factory/grist-ui": "^4.3.675",
81
- "@things-factory/help": "^4.3.675",
82
- "@things-factory/i18n-base": "^4.3.675",
83
- "@things-factory/id-rule-base": "^4.3.677",
84
- "@things-factory/import-ui": "^4.3.675",
85
- "@things-factory/import-ui-excel": "^4.3.675",
86
- "@things-factory/menu-ui": "^4.3.677",
87
- "@things-factory/more-ui": "^4.3.675",
88
- "@things-factory/notification": "^4.3.677",
65
+ "@things-factory/apptool-ui": "^4.3.689",
66
+ "@things-factory/attachment-ui": "^4.3.689",
67
+ "@things-factory/auth-ui": "^4.3.689",
68
+ "@things-factory/barcode-ui": "^4.3.689",
69
+ "@things-factory/biz-ui": "^4.3.689",
70
+ "@things-factory/board-service": "^4.3.689",
71
+ "@things-factory/board-ui": "^4.3.689",
72
+ "@things-factory/code-ui": "^4.3.689",
73
+ "@things-factory/context-ui": "^4.3.689",
74
+ "@things-factory/export-ui": "^4.3.689",
75
+ "@things-factory/export-ui-csv": "^4.3.689",
76
+ "@things-factory/export-ui-excel": "^4.3.689",
77
+ "@things-factory/fav-base": "^4.3.689",
78
+ "@things-factory/form-ui": "^4.3.689",
79
+ "@things-factory/geography": "^4.3.689",
80
+ "@things-factory/grist-ui": "^4.3.689",
81
+ "@things-factory/help": "^4.3.689",
82
+ "@things-factory/i18n-base": "^4.3.689",
83
+ "@things-factory/id-rule-base": "^4.3.689",
84
+ "@things-factory/import-ui": "^4.3.689",
85
+ "@things-factory/import-ui-excel": "^4.3.689",
86
+ "@things-factory/menu-ui": "^4.3.689",
87
+ "@things-factory/more-ui": "^4.3.689",
88
+ "@things-factory/notification": "^4.3.689",
89
89
  "@things-factory/pdf": "^4.3.591",
90
- "@things-factory/print-proxy-service": "^4.3.675",
91
- "@things-factory/print-ui": "^4.3.675",
92
- "@things-factory/product-base": "^4.3.677",
93
- "@things-factory/resource-ui": "^4.3.677",
94
- "@things-factory/sales-ui": "^4.3.686",
90
+ "@things-factory/print-proxy-service": "^4.3.689",
91
+ "@things-factory/print-ui": "^4.3.689",
92
+ "@things-factory/product-base": "^4.3.689",
93
+ "@things-factory/resource-ui": "^4.3.689",
94
+ "@things-factory/sales-ui": "^4.3.689",
95
95
  "@things-factory/scene-data-transform": "^4.3.591",
96
96
  "@things-factory/scene-excel": "^4.3.591",
97
97
  "@things-factory/scene-firebase": "^4.3.591",
98
98
  "@things-factory/scene-form": "^4.3.591",
99
99
  "@things-factory/scene-google-map": "^4.3.591",
100
100
  "@things-factory/scene-graphql": "^4.3.591",
101
- "@things-factory/scene-label": "^4.3.675",
101
+ "@things-factory/scene-label": "^4.3.689",
102
102
  "@things-factory/scene-marker": "^4.3.591",
103
103
  "@things-factory/scene-mqtt": "^4.3.591",
104
104
  "@things-factory/scene-restful": "^4.3.591",
105
105
  "@things-factory/scene-visualizer": "^4.3.591",
106
- "@things-factory/setting-ui": "^4.3.677",
107
- "@things-factory/system-ui": "^4.3.675",
108
- "@things-factory/transport-base": "^4.3.677",
109
- "@things-factory/tutorial-ui": "^4.3.677",
110
- "@things-factory/warehouse-base": "^4.3.686",
111
- "@things-factory/worksheet-base": "^4.3.686"
106
+ "@things-factory/setting-ui": "^4.3.689",
107
+ "@things-factory/system-ui": "^4.3.689",
108
+ "@things-factory/transport-base": "^4.3.689",
109
+ "@things-factory/tutorial-ui": "^4.3.689",
110
+ "@things-factory/warehouse-base": "^4.3.689",
111
+ "@things-factory/worksheet-base": "^4.3.689"
112
112
  },
113
113
  "devDependencies": {
114
114
  "@things-factory/builder": "^4.3.591",
115
+ "@things-factory/worksheet-ui": "^4.3.689",
115
116
  "cypress": "^9.4.1",
116
117
  "cypress-file-upload": "^5.0.8",
117
118
  "cypress-localstorage-commands": "^1.6.1",
118
119
  "eslint-plugin-cypress": "^2.12.1"
119
120
  },
120
- "gitHead": "795278611fdd4d691df37b86c2075b5b01439d06"
121
+ "gitHead": "3379d11426347a6e344d8d116081c4910c39d7b2"
121
122
  }