@things-factory/operato-wms 3.7.6 → 3.7.10

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.
Files changed (27) hide show
  1. package/client/pages/components/select-product-popup.js +5 -1
  2. package/client/pages/constants/order.js +10 -0
  3. package/client/pages/inventory-check/inspecting-product.js +9 -8
  4. package/client/pages/manifest/create-loading-manifest.js +314 -0
  5. package/client/pages/manifest/dispatcher-verification-popup.js +86 -0
  6. package/client/pages/manifest/loading-manifest-detail.js +345 -0
  7. package/client/pages/manifest/loading-manifest-list.js +305 -0
  8. package/client/pages/order/goods-received-note/received-note-list.js +138 -6
  9. package/client/pages/order/release-order/b2b/b2b-order-list.js +1 -1
  10. package/client/pages/order/release-order/b2b/b2b-order-requests.js +1 -1
  11. package/client/pages/order/release-order/b2c/b2c-order-requests.js +111 -14
  12. package/client/pages/order/reverse-kitting-order/reverse-kitting-order-detail.js +115 -50
  13. package/client/pages/order/reverse-kitting-order/reverse-kitting-order-list.js +1 -6
  14. package/client/pages/order/reverse-kitting-order/reverse-kitting-pallet-label-popup.js +239 -0
  15. package/client/pages/order/transport-order/delivery-order-list.js +47 -3
  16. package/client/pages/outbound/picking-product.js +200 -66
  17. package/client/pages/outbound/serial-number-popup.js +280 -0
  18. package/client/pages/vas/reverse-kitting/execute-reverse-kitting.js +32 -12
  19. package/client/pages/vas/reverse-kitting/popup-combination-sets.js +106 -10
  20. package/client/pages/vas/reverse-kitting/popup-reverse-kitting-template.js +130 -19
  21. package/client/route.js +12 -0
  22. package/package.json +10 -10
  23. package/things-factory.config.js +12 -0
  24. package/translations/en.json +42 -6
  25. package/translations/ko.json +35 -1
  26. package/translations/ms.json +36 -1
  27. package/translations/zh.json +35 -1
@@ -7,7 +7,7 @@ import { css, html, LitElement } from 'lit-element'
7
7
  import { MultiColumnFormStyles } from '@things-factory/form-ui'
8
8
  import { i18next, localize } from '@things-factory/i18n-base'
9
9
  import { openPopup } from '@things-factory/layout-base'
10
- import { client } from '@things-factory/shell'
10
+ import { client, CustomAlert } from '@things-factory/shell'
11
11
  import { isMobileDevice } from '@things-factory/utils'
12
12
 
13
13
  class PopupReverseKittingTemplate extends localize(i18next)(LitElement) {
@@ -20,8 +20,11 @@ class PopupReverseKittingTemplate extends localize(i18next)(LitElement) {
20
20
  actualQty: Number,
21
21
  incompleteLocationName: Boolean,
22
22
  locations: Array,
23
+ _selectedInventory: Object,
23
24
  reverseKittingInventoriesConfig: Object,
24
- _reverseKittingInventories: Array
25
+ _reverseKittingInventories: Array,
26
+ _palletId: String,
27
+ _locationCode: String
25
28
  }
26
29
  }
27
30
 
@@ -62,11 +65,8 @@ class PopupReverseKittingTemplate extends localize(i18next)(LitElement) {
62
65
  color: var(--grist-title-icon-color);
63
66
  }
64
67
  .button-container {
65
- padding: var(--button-container-padding);
66
- margin: var(--button-container-margin);
67
- text-align: var(--button-container-align);
68
- background-color: var(--button-container-background);
69
- height: var(--button-container-height);
68
+ padding: 10px 0 12px 0;
69
+ text-align: center;
70
70
  }
71
71
  `
72
72
  ]
@@ -99,13 +99,23 @@ class PopupReverseKittingTemplate extends localize(i18next)(LitElement) {
99
99
  <legend>${this.productSku} [ ${this.actualQty} / ${this.qty} ]</legend>
100
100
 
101
101
  <label>${i18next.t('label.lot_id')}</label>
102
- <barcode-scanable-input name="palletId" without-enter custom-input></barcode-scanable-input>
102
+ <barcode-scanable-input
103
+ name="palletId"
104
+ value="${this._palletId}"
105
+ without-enter
106
+ custom-input
107
+ ></barcode-scanable-input>
103
108
 
104
109
  <label>${i18next.t('label.qty')}</label>
105
- <input name="qty" type="number" min="1" />
110
+ <input name="qty" type="number" value="" min="1" />
106
111
 
107
112
  <label>${i18next.t('label.location')}</label>
108
- <barcode-scanable-input name="locationCode" without-enter custom-input></barcode-scanable-input>
113
+ <barcode-scanable-input
114
+ name="locationCode"
115
+ value="${this._locationCode}"
116
+ without-enter
117
+ custom-input
118
+ ></barcode-scanable-input>
109
119
  </fieldset>
110
120
  </form>
111
121
 
@@ -118,12 +128,32 @@ class PopupReverseKittingTemplate extends localize(i18next)(LitElement) {
118
128
  .config=${this.reverseKittingInventoriesConfig}
119
129
  .data=${this._reverseKittingInventories}
120
130
  ></data-grist>
121
- </div>`
122
- : ''}
131
+ </div>
132
+ <div class="button-container">
133
+ <mwc-button
134
+ raised
135
+ @click=${this._confirmInventory.bind(this)}
136
+ label="${i18next.t('button.confirm')}"
137
+ ></mwc-button>
138
+ <mwc-button
139
+ raised
140
+ @click=${this._undoInventory.bind(this)}
141
+ label="${i18next.t('button.undo')}"
142
+ ></mwc-button>
143
+ </div> `
144
+ : html`<div class="button-container">
145
+ <mwc-button
146
+ raised
147
+ @click=${this._confirmInventory.bind(this)}
148
+ label="${i18next.t('button.confirm')}"
149
+ ></mwc-button>
150
+ </div> `}
123
151
  `
124
152
  }
125
153
 
126
154
  async firstUpdated() {
155
+ this._palletId = ''
156
+ this._locationCode = ''
127
157
  this.productSku = this.data.productSku
128
158
  this.qty = this.data.qty
129
159
  this.actualQty = this.data.actualQty
@@ -133,7 +163,10 @@ class PopupReverseKittingTemplate extends localize(i18next)(LitElement) {
133
163
  appendable: false,
134
164
  handlers: {
135
165
  click: (columns, data, column, record, rowIndex) => {
136
- return
166
+ this._selectedInventory = record
167
+ this._palletId = record.palletId
168
+ this._locationCode = record.locationCode
169
+ this._fillUpForm(this.inputForm, record)
137
170
  }
138
171
  }
139
172
  },
@@ -202,8 +235,11 @@ class PopupReverseKittingTemplate extends localize(i18next)(LitElement) {
202
235
  async _fetchInventories() {
203
236
  const response = await client.query({
204
237
  query: gql`
205
- query reverseKittingInventories($orderReverseKittingName: String!) {
206
- reverseKittingInventories(orderReverseKittingName: $orderReverseKittingName) {
238
+ query reverseKittingInventories($orderReverseKittingName: String!, $productDetailId: String) {
239
+ reverseKittingInventories(
240
+ orderReverseKittingName: $orderReverseKittingName
241
+ productDetailId: $productDetailId
242
+ ) {
207
243
  batchId
208
244
  packingType
209
245
  bizplace {
@@ -218,6 +254,11 @@ class PopupReverseKittingTemplate extends localize(i18next)(LitElement) {
218
254
  qty
219
255
  expirationDate
220
256
  status
257
+ location {
258
+ id
259
+ name
260
+ description
261
+ }
221
262
  product {
222
263
  id
223
264
  name
@@ -227,7 +268,7 @@ class PopupReverseKittingTemplate extends localize(i18next)(LitElement) {
227
268
  }
228
269
  }
229
270
  `,
230
- variables: { orderReverseKittingName: this.orderReverseKittingName }
271
+ variables: { orderReverseKittingName: this.orderReverseKittingName, productDetailId: this.data.productDetailId }
231
272
  })
232
273
 
233
274
  if (!response.errors) {
@@ -237,15 +278,24 @@ class PopupReverseKittingTemplate extends localize(i18next)(LitElement) {
237
278
  return {
238
279
  ...reverseKittingInventory,
239
280
  sku: reverseKittingInventory.product.sku,
240
- packingTypeSize: `${reverseKittingInventory.packingType}(${reverseKittingInventory.packingSize})`
281
+ packingTypeSize: `${reverseKittingInventory.packingType}(${reverseKittingInventory.packingSize})`,
282
+ locationCode: reverseKittingInventory.location.name
241
283
  }
242
284
  }) || []
243
285
  }
286
+
287
+ let totalActualQty = 0
288
+ response.data.reverseKittingInventories.forEach(inventory => {
289
+ totalActualQty += inventory.qty
290
+ })
291
+
292
+ this.actualQty = totalActualQty
244
293
  }
245
294
  }
246
295
 
247
296
  async _executeReverseKitting(e) {
248
297
  if (e.keyCode === 13) {
298
+ e.preventDefault()
249
299
  try {
250
300
  await this._validateReverseKitting()
251
301
  if (!this.incompleteLocationName) {
@@ -266,8 +316,8 @@ class PopupReverseKittingTemplate extends localize(i18next)(LitElement) {
266
316
  }
267
317
  })
268
318
  if (!response.errors) {
269
- this.dispatchEvent(new CustomEvent('updated'))
270
- history.back()
319
+ this._clearView()
320
+ await this._fetchInventories()
271
321
  }
272
322
  } else {
273
323
  this._openSelectLocationPopup()
@@ -278,6 +328,46 @@ class PopupReverseKittingTemplate extends localize(i18next)(LitElement) {
278
328
  }
279
329
  }
280
330
 
331
+ async _undoInventory() {
332
+ try {
333
+ this._validateSelectedInventory()
334
+ const result = await CustomAlert({
335
+ title: i18next.t('title.are_you_sure'),
336
+ text: i18next.t('text.undo_x', { state: { x: this._palletId } }),
337
+ confirmButton: { text: i18next.t('button.confirm') },
338
+ cancelButton: { text: i18next.t('button.cancel') }
339
+ })
340
+
341
+ if (!result.value) {
342
+ return
343
+ }
344
+
345
+ let response = await client.mutate({
346
+ mutation: gql`
347
+ mutation undoReverseKittingInventory($orderReverseKittingName: String!, $palletId: String!) {
348
+ undoReverseKittingInventory(orderReverseKittingName: $orderReverseKittingName, palletId: $palletId)
349
+ }
350
+ `,
351
+ variables: {
352
+ orderReverseKittingName: this.orderReverseKittingName,
353
+ palletId: this._palletId.trim()
354
+ }
355
+ })
356
+
357
+ if (!response.errors) {
358
+ this._clearView()
359
+ await this._fetchInventories()
360
+ }
361
+ } catch (e) {
362
+ this._showToast(e)
363
+ }
364
+ }
365
+
366
+ _confirmInventory() {
367
+ this.dispatchEvent(new CustomEvent('updated', { detail: {} }))
368
+ history.back()
369
+ }
370
+
281
371
  _fillUpForm(form, data) {
282
372
  for (let key in data) {
283
373
  Array.from(form.querySelectorAll('input')).forEach(field => {
@@ -299,12 +389,25 @@ class PopupReverseKittingTemplate extends localize(i18next)(LitElement) {
299
389
  }
300
390
  }
301
391
 
392
+ _clearView() {
393
+ this.inputForm.reset()
394
+ this._palletId = ''
395
+ this._locationCode = ''
396
+ }
397
+
302
398
  async _validateReverseKitting() {
303
399
  if (!this.palletInput.value) {
304
400
  this._focusOnPalletInput()
305
401
  throw new Error(i18next.t('text.lot_id_is_empty'))
306
402
  }
307
403
 
404
+ if (!this.qtyInput.value) {
405
+ this._focusOnQtyInput()
406
+ throw new Error(i18next.t('text.qty_is_empty'))
407
+ } else {
408
+ if (!this.qtyInput.checkValidity()) throw new Error(i18next.t('text.qty_invalid'))
409
+ }
410
+
308
411
  // 4. location code existing
309
412
  if (!this.locationInput.value) {
310
413
  this._focusOnLocationInput()
@@ -327,6 +430,10 @@ class PopupReverseKittingTemplate extends localize(i18next)(LitElement) {
327
430
  }
328
431
  }
329
432
 
433
+ _validateSelectedInventory() {
434
+ if (!this._selectedInventory) throw new Error(i18next.t('text.target_does_not_selected'))
435
+ }
436
+
330
437
  async _fetchLocations(zone, row, column) {
331
438
  const filters = [
332
439
  {
@@ -420,6 +527,10 @@ class PopupReverseKittingTemplate extends localize(i18next)(LitElement) {
420
527
  setTimeout(() => this.palletInput.focus(), 100)
421
528
  }
422
529
 
530
+ _focusOnQtyInput() {
531
+ setTimeout(() => this.qtyInput.focus(), 100)
532
+ }
533
+
423
534
  _focusOnLocationInput() {
424
535
  setTimeout(() => this.locationInput.focus(), 100)
425
536
  }
package/client/route.js CHANGED
@@ -212,6 +212,18 @@ export default function route(page) {
212
212
  import('./pages/order/release-order/bulk-print-packing-list')
213
213
  return page
214
214
 
215
+ case 'create_loading_manifest':
216
+ import('./pages/manifest/create-loading-manifest')
217
+ return page
218
+
219
+ case 'loading_manifest_list':
220
+ import('./pages/manifest/loading-manifest-list')
221
+ return page
222
+
223
+ case 'loading_manifest_detail':
224
+ import('./pages/manifest/loading-manifest-detail')
225
+ return page
226
+
215
227
  /**
216
228
  * GRN Menus Section
217
229
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@things-factory/operato-wms",
3
- "version": "3.7.6",
3
+ "version": "3.7.10",
4
4
  "main": "dist-server/index.js",
5
5
  "browser": "client/index.js",
6
6
  "things-factory": true,
@@ -44,8 +44,8 @@
44
44
  "@operato/ghost-print": "0.1.14",
45
45
  "@things-factory/apptool-ui": "^3.7.5",
46
46
  "@things-factory/attachment-ui": "^3.7.5",
47
- "@things-factory/auth-ui": "^3.7.5",
48
- "@things-factory/barcode-ui": "^3.7.6",
47
+ "@things-factory/auth-ui": "^3.7.7",
48
+ "@things-factory/barcode-ui": "^3.7.7",
49
49
  "@things-factory/biz-ui": "^3.7.5",
50
50
  "@things-factory/board-service": "^3.7.5",
51
51
  "@things-factory/board-ui": "^3.7.5",
@@ -69,9 +69,9 @@
69
69
  "@things-factory/print-proxy-service": "^3.7.5",
70
70
  "@things-factory/print-service": "^3.7.5",
71
71
  "@things-factory/print-ui": "^3.7.5",
72
- "@things-factory/product-base": "^3.7.5",
73
- "@things-factory/resource-ui": "^3.7.5",
74
- "@things-factory/sales-ui": "^3.7.6",
72
+ "@things-factory/product-base": "^3.7.8",
73
+ "@things-factory/resource-ui": "^3.7.7",
74
+ "@things-factory/sales-ui": "^3.7.10",
75
75
  "@things-factory/scene-chartjs": "^3.7.5",
76
76
  "@things-factory/scene-clock": "^3.7.5",
77
77
  "@things-factory/scene-clone": "^3.7.5",
@@ -85,7 +85,7 @@
85
85
  "@things-factory/scene-graphql": "^3.7.5",
86
86
  "@things-factory/scene-half-roundrect": "^3.7.5",
87
87
  "@things-factory/scene-indoor-map": "^3.7.5",
88
- "@things-factory/scene-label": "^3.7.6",
88
+ "@things-factory/scene-label": "^3.7.7",
89
89
  "@things-factory/scene-legend": "^3.7.5",
90
90
  "@things-factory/scene-marker": "^3.7.5",
91
91
  "@things-factory/scene-mqtt": "^3.7.5",
@@ -102,11 +102,11 @@
102
102
  "@things-factory/system-ui": "^3.7.5",
103
103
  "@things-factory/transport-base": "^3.7.5",
104
104
  "@things-factory/tutorial-ui": "^3.7.5",
105
- "@things-factory/warehouse-base": "^3.7.6",
106
- "@things-factory/worksheet-base": "^3.7.6"
105
+ "@things-factory/warehouse-base": "^3.7.10",
106
+ "@things-factory/worksheet-base": "^3.7.10"
107
107
  },
108
108
  "devDependencies": {
109
109
  "@things-factory/builder": "^3.7.5"
110
110
  },
111
- "gitHead": "d9d72c07fc3b01af2ede46808ec0aced3241ed51"
111
+ "gitHead": "dc4aa344ee524651b4e633c3647c85c8daad8eb6"
112
112
  }
@@ -211,6 +211,18 @@ export default {
211
211
  tagname: 'bulk-print-packing-list',
212
212
  page: 'bulk_print_packing_list'
213
213
  },
214
+ {
215
+ tagname: 'create-loading-manifest',
216
+ page: 'create_loading_manifest'
217
+ },
218
+ {
219
+ tagname: 'loading-manifest-list',
220
+ page: 'loading_manifest_list'
221
+ },
222
+ {
223
+ tagname: 'loading-manifest-detail',
224
+ page: 'loading_manifest_detail'
225
+ },
214
226
  /**
215
227
  * Billing Menus Section
216
228
  */
@@ -93,9 +93,9 @@
93
93
  "delivery_order_form_invalid": "delivery order form invalid",
94
94
  "field.accepted_at": "accepted at",
95
95
  "field.accepted_by": "accepted by",
96
- "field.actual_qty": "actual qty",
97
96
  "field.actual_pack_qty": "actual pack qty",
98
97
  "field.actual_pallet_qty": "actual pallet qty",
98
+ "field.actual_qty": "actual qty",
99
99
  "field.actual_unpack_qty": "actual unpack qty",
100
100
  "field.addable_qty": "addable qty",
101
101
  "field.addable_uom_value": "addable uom value",
@@ -191,10 +191,12 @@
191
191
  "field.delivery_date": "delivery date",
192
192
  "field.delivery_order": "delivery order",
193
193
  "field.delivery_summary": "delivery summary",
194
+ "field.delivery_to": "delivery to",
194
195
  "field.delivery": "delivery",
195
196
  "field.density": "density",
196
197
  "field.depth": "depth",
197
198
  "field.description": "description",
199
+ "field.dispatch_at": "dispatch at",
198
200
  "field.do_delivery_date": "DO delivery date",
199
201
  "field.do_no": "DO No.",
200
202
  "field.do_ref_no": "do ref no",
@@ -275,6 +277,7 @@
275
277
  "field.lot_id": "lot id",
276
278
  "field.low_on_stock": "low on stock",
277
279
  "field.main_bizplace": "main customer",
280
+ "field.manifest_no": "manifest no",
278
281
  "field.manufacture_year": "manufacture year",
279
282
  "field.marketplace_order_status": "marketplace order status",
280
283
  "field.max_qty": "max qty",
@@ -286,6 +289,7 @@
286
289
  "field.need_fleet": "need fleet",
287
290
  "field.need_transport": "need transport",
288
291
  "field.nett_weight": "nett weight",
292
+ "field.no_of_items": "no of items",
289
293
  "field.non_tally": "non tally",
290
294
  "field.number_of_column": "number of column",
291
295
  "field.number_of_depth": "number of depth",
@@ -387,6 +391,7 @@
387
391
  "field.replenishment_order_no": "replenishment order no",
388
392
  "field.request_date": "request date",
389
393
  "field.require_packing": "require packing",
394
+ "field.require_serial_number_scanning": "require serial number scanning",
390
395
  "field.reserve_qty": "reserve qty",
391
396
  "field.reserve_uom_value": "reserve uom value",
392
397
  "field.resource_name": "resource name",
@@ -411,6 +416,7 @@
411
416
  "field.self_collect_summary": "self collect summary",
412
417
  "field.self_collect": "self collect",
413
418
  "field.seq": "seq",
419
+ "field.serial_number": "serial number",
414
420
  "field.service": "service",
415
421
  "field.services": "services",
416
422
  "field.set": "set",
@@ -462,6 +468,7 @@
462
468
  "field.total_uom": "total uom",
463
469
  "field.total_volume": "total volume",
464
470
  "field.total": "total",
471
+ "field.tracking_no": "tracking no",
465
472
  "field.transaction_type": "transaction type",
466
473
  "field.transaction": "transaction",
467
474
  "field.transport_driver": "transport driver",
@@ -554,6 +561,7 @@
554
561
  "label.case_sensitive": "case sensitive",
555
562
  "label.charges": "charges",
556
563
  "label.claim": "claim",
564
+ "label.closed": "closed",
557
565
  "label.co_no": "CO number",
558
566
  "label.collection_date_time": "collection date time",
559
567
  "label.collection_date": "collection date",
@@ -609,6 +617,10 @@
609
617
  "label.diesel_cash": "diesel cash",
610
618
  "label.diesel_fc": "diesel fc",
611
619
  "label.diff_batch_id": "different batch no",
620
+ "label.dispatch_at": "dispatch at",
621
+ "label.dispatch_time": "dispatch time",
622
+ "label.dispatcher_identity": "dispatcher identity",
623
+ "label.dispatcher_name": "dispatcher name",
612
624
  "label.do_no": "DO No.",
613
625
  "label.document": "document",
614
626
  "label.domain": "domain",
@@ -675,6 +687,7 @@
675
687
  "label.new_lot_id": "new lot id",
676
688
  "label.no_of_random_item": "no of random item",
677
689
  "label.not_tally": "not tally",
690
+ "label.open": "open",
678
691
  "label.options": "options",
679
692
  "label.order_name": "order name",
680
693
  "label.order_no": "order no",
@@ -692,6 +705,7 @@
692
705
  "label.order_status_inspecting": "inspecting",
693
706
  "label.order_status_intransit": "intransit",
694
707
  "label.order_status_loading": "loading",
708
+ "label.order_status_packing": "packing",
695
709
  "label.order_status_partial_return": "partial return",
696
710
  "label.order_status_pending_approval": "pending approval",
697
711
  "label.order_status_pending_cancel": "pending cancel",
@@ -736,6 +750,7 @@
736
750
  "label.pending_adjustment": "pending adjustment",
737
751
  "label.pending_approval": "pending approval",
738
752
  "label.pending_process": "pending process",
753
+ "label.pending_receive": "pending receive",
739
754
  "label.pending": "pending",
740
755
  "label.phone_no": "phone no",
741
756
  "label.picked_qty": "picked qty",
@@ -800,11 +815,14 @@
800
815
  "label.rule_field": "rule field",
801
816
  "label.scan_product_barcode": "scan product barcode",
802
817
  "label.scan_task_no": "scan task no",
818
+ "label.scan_tracking_no": "scan tracking no",
803
819
  "label.search_type": "search type",
804
820
  "label.select_by_pallet": "select by pallet",
805
821
  "label.select_by_product": "select by product",
806
822
  "label.select_file": "select file",
807
823
  "label.sent": "sent",
824
+ "label.serial_number_list": "serial number list",
825
+ "label.serial_number": "serial number",
808
826
  "label.setting": "setting",
809
827
  "label.shelf_extension": "shelf extension",
810
828
  "label.shelf": "shelf",
@@ -816,6 +834,7 @@
816
834
  "label.shipping_provider": "shipping provider",
817
835
  "label.single_picking": "single picking",
818
836
  "label.sku": "sku",
837
+ "label.sorting": "sorting",
819
838
  "label.special_vas": "special vas",
820
839
  "label.staging_area": "staging area",
821
840
  "label.started_at": "started at",
@@ -851,6 +870,7 @@
851
870
  "label.total_opening_balance": "total opening balance",
852
871
  "label.total_pack_qty": "total pack qty",
853
872
  "label.total_pallet_qty": "total pallet qty",
873
+ "label.total_tracking_no": "total tracking no",
854
874
  "label.total_uom_value": "total uom value",
855
875
  "label.total": "total",
856
876
  "label.tracking_no": "tracking no",
@@ -958,7 +978,6 @@
958
978
  "text.confirm": "confirm",
959
979
  "text.container_no_is_empty": "container no is empty",
960
980
  "text.container_size_is_empty": "container size is empty",
961
- "text.create": "create",
962
981
  "text.create_arrival_notice": "create arrival notice",
963
982
  "text.create_batch_picking": "create batch picking",
964
983
  "text.create_collection_order": "create collection order",
@@ -970,6 +989,7 @@
970
989
  "text.create_return_order": "create return order",
971
990
  "text.create_reverse_kitting_order": "create reverse kitting order",
972
991
  "text.create_vas_order": "create vas order",
992
+ "text.create": "create",
973
993
  "text.creating_cycle_count_worksheet": "creating cycle count worksheet",
974
994
  "text.creating_release_order_is_required": "creating release order is required",
975
995
  "text.current_order_complete_sorting": "current order complete sorting",
@@ -1008,6 +1028,7 @@
1008
1028
  "text.edit_add_order_product": "edit add order product",
1009
1029
  "text.edited_batch_no_have_been_processed": "edited batch no have been processed",
1010
1030
  "text.empty_product_barcode": "empty product barcode",
1031
+ "text.empty_serial_number": "empty serial number",
1011
1032
  "text.empty_value_in_add_product_list": "empty value in add product list",
1012
1033
  "text.empty_value_in_list": "empty value in list",
1013
1034
  "text.enter_qty": "enter qty",
@@ -1078,6 +1099,9 @@
1078
1099
  "text.logistics_has_been_initialised": "logistics has been initialised",
1079
1100
  "text.lot_id_is_duplicated": "lot id is duplicated",
1080
1101
  "text.lot_id_is_empty": "lot id is empty",
1102
+ "text.manifest_has_been_dispatched_and_closed": "manifest has been dispatched and closed",
1103
+ "text.manifest_has_been_generated": "manifest has been generated",
1104
+ "text.manifest_items_is_empty": "manifest items is empty",
1081
1105
  "text.missing_zone_name": "missing zone name",
1082
1106
  "text.new_batch_id_is_empty": "new batch no is empty",
1083
1107
  "text.no_changes_to_be_submitted": "no changes to be submitted",
@@ -1089,6 +1113,7 @@
1089
1113
  "text.no_matching_product_found": "no matching product found",
1090
1114
  "text.no_product_barcode_detected": "no product barcode detected",
1091
1115
  "text.no_products": "no products",
1116
+ "text.no_serial_number_selected": "no serial number selected",
1092
1117
  "text.not_found_in_putaway_list": "not found in putaway list",
1093
1118
  "text.offline": "offline",
1094
1119
  "text.online": "online",
@@ -1109,6 +1134,7 @@
1109
1134
  "text.pickup_info_is_not_completed": "pickup info is not completed",
1110
1135
  "text.please_check_your_setting": "please check your setting",
1111
1136
  "text.please_check_your_vas_target": "please check your vas target",
1137
+ "text.please_key_in_new_serial_number": "please key in new serial number",
1112
1138
  "text.please_select_a_company": "please select a company",
1113
1139
  "text.please_select_a_driver": "please select a driver",
1114
1140
  "text.please_select_a_truck": "select a truck",
@@ -1122,6 +1148,7 @@
1122
1148
  "text.please_wait": "please wait",
1123
1149
  "text.preunload_has_completed": "preunload has been completed",
1124
1150
  "text.previous_picking_is_still_executing_please_wait": "Previous picking is still executing. Please wait",
1151
+ "text.previous_scan_is_executing": "previous scan is executing",
1125
1152
  "text.print_1_label_for_item_with_non_specified_print_qty": "print 1 label for item with non-specified print qty",
1126
1153
  "text.print_qty_is_empty": "print qty is empty",
1127
1154
  "text.printing": "printing",
@@ -1158,7 +1185,6 @@
1158
1185
  "text.remark_is_empty": "remark is empty",
1159
1186
  "text.remark_updated": "remark updated",
1160
1187
  "text.replacement_pallet_not_match_criteria": "replacement pallet not match criteria",
1161
- "text.previous_scan_is_executing": "previous scan is executing",
1162
1188
  "text.return_order_confirmed": "return order confirmed",
1163
1189
  "text.return_order_created": "return order created",
1164
1190
  "text.return_order_form_invalid": "return order form invalid",
@@ -1168,12 +1194,12 @@
1168
1194
  "text.return_order_rejected": "return order rejected",
1169
1195
  "text.return": "return",
1170
1196
  "text.reverse_kitting_completed": "reverse kitting completed",
1171
- "text.reverse_kitting_order": "reverse kitting order",
1172
1197
  "text.reverse_kitting_order_activated": "reverse kitting order activated",
1173
1198
  "text.reverse_kitting_order_cancelled": "reverse kitting order cancelled",
1174
1199
  "text.reverse_kitting_order_confirmed": "reverse kitting order confirmed",
1175
1200
  "text.reverse_kitting_order_created": "reverse kitting order created",
1176
1201
  "text.reverse_kitting_order_deleted": "reverse kitting order deleted",
1202
+ "text.reverse_kitting_order": "reverse kitting order",
1177
1203
  "text.scan_product_barcode": "scan product barcode",
1178
1204
  "text.select_a_delivery_type": "select a delivery type",
1179
1205
  "text.select_a_logistics_type": "select a logistics type",
@@ -1226,6 +1252,7 @@
1226
1252
  "text.this_is_cross_docking": "this is cross docking",
1227
1253
  "text.to_date_is_empty": "to date is empty",
1228
1254
  "text.to_lot_id_is_empty": "to lot id is empty",
1255
+ "text.tracking_no_already_exist_in_manifest_list": "tracking no already exist in manifest list",
1229
1256
  "text.transfer_inventory_to_different_location": "transfer inventory to different location",
1230
1257
  "text.transfer_location_completed": "transfer location completed",
1231
1258
  "text.undo_inventory": "undo inventory",
@@ -1235,6 +1262,7 @@
1235
1262
  "text.undo_repalletizing": "undo repalletizing",
1236
1263
  "text.undo_unloading": "undo unloading",
1237
1264
  "text.undo_vas": "undo vas",
1265
+ "text.undo_x": "undo {state.x}",
1238
1266
  "text.unloading_completed": "unloading completed",
1239
1267
  "text.unpack_qty_is_empty": "unpack qty is empty",
1240
1268
  "text.unpack_uom_value_is_empty": "unpack uom value is empty",
@@ -1292,8 +1320,8 @@
1292
1320
  "title.claim_chit_details": "claim chit details",
1293
1321
  "title.claim_chit": "claim chit",
1294
1322
  "title.code_management": "code management",
1295
- "title.combination": "combination",
1296
1323
  "title.combination_sets": "combination sets",
1324
+ "title.combination": "combination",
1297
1325
  "title.company": "company",
1298
1326
  "title.completed_delivery_order": "completed delivery order",
1299
1327
  "title.completed": "completed",
@@ -1305,6 +1333,7 @@
1305
1333
  "title.create_claim_chit": "create claim chit",
1306
1334
  "title.create_cycle_count": "create cycle count",
1307
1335
  "title.create_delivery_order": "create delivery order",
1336
+ "title.create_loading_manifest": "create loading manifest",
1308
1337
  "title.create_release_order": "create release order",
1309
1338
  "title.create_return_order": "create return order",
1310
1339
  "title.create_template": "create template",
@@ -1323,6 +1352,7 @@
1323
1352
  "title.delivery_order_summary": "delivery order summary",
1324
1353
  "title.delivery_order": "delivery order",
1325
1354
  "title.delivery_orders": "delivery orders",
1355
+ "title.dispatcher_verification": "dispatcher verification",
1326
1356
  "title.document_template_management": "document template management",
1327
1357
  "title.edit_add_order_product": "edit/add order product",
1328
1358
  "title.edit_delivery_note": "edit delivery note",
@@ -1394,6 +1424,10 @@
1394
1424
  "title.location": "location",
1395
1425
  "title.lot_information": "lot information",
1396
1426
  "title.lot_label": "lot label",
1427
+ "title.manifest_items": "manifest items",
1428
+ "title.manifest_list": "manifest list",
1429
+ "title.manifest_no": "manifest no",
1430
+ "title.manifest": "manifest",
1397
1431
  "title.menu_management": "menu management",
1398
1432
  "title.menu": "menu",
1399
1433
  "title.merged_outbound_worksheet": "merged outbound worksheet",
@@ -1477,10 +1511,10 @@
1477
1511
  "title.return_orders": "return orders",
1478
1512
  "title.return_product_list": "return product list",
1479
1513
  "title.reusable_pallet": "plastic pallet",
1480
- "title.reverse_kitting": "reverse kitting",
1481
1514
  "title.reverse_kitting_no": "reverse kitting no",
1482
1515
  "title.reverse_kitting_order_detail": "reverse kitting order detail",
1483
1516
  "title.reverse_kitting_orders": "reverse kitting orders",
1517
+ "title.reverse_kitting": "reverse kitting",
1484
1518
  "title.role": "role",
1485
1519
  "title.same_pallet_is_found": "same pallet is found",
1486
1520
  "title.scan_area": "scan area",
@@ -1494,6 +1528,8 @@
1494
1528
  "title.select_product_batch": "select product batch",
1495
1529
  "title.select_truck": "select truck",
1496
1530
  "title.select_warehouse": "select warehouse",
1531
+ "title.serial_number_list": "serial number list",
1532
+ "title.serial_number": "serial number",
1497
1533
  "title.setting": "setting",
1498
1534
  "title.shipping_information": "shipping information",
1499
1535
  "title.shipping_order": "shipping order",