@things-factory/operato-wms 5.0.13 → 6.0.0-alpha.1
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/bulk-operation.js +96 -8
- package/client/pages/bulk-operation/validate-gan-popup.js +37 -27
- package/client/pages/bulk-operation/validate-ro-popup.js +40 -0
- package/client/pages/components/select-inventory-popup.js +633 -0
- package/client/pages/constants/order.js +2 -1
- package/client/pages/inbound/pallet-label-popup.js +2 -0
- package/client/pages/inbound/select-product-batch.js +7 -1
- package/client/pages/inbound/undo-unload-popup.js +37 -21
- package/client/pages/inbound/unload-product.js +147 -59
- package/client/pages/inbound/worksheet-putaway.js +1 -1
- package/client/pages/inbound/worksheet-unloading.js +11 -7
- package/client/pages/inventory/inventory-adjustment.js +261 -238
- package/client/pages/inventory/inventory-by-product-detail.js +99 -92
- package/client/pages/inventory/inventory-by-product.js +170 -68
- package/client/pages/inventory/onhand-inventory.js +10 -12
- package/client/pages/inventory/serial-number-list-popup.js +36 -5
- package/client/pages/inventory-check/inspecting-product.js +1 -1
- package/client/pages/manifest/create-loading-manifest.js +47 -22
- package/client/pages/manifest/dispatcher-verification-popup.js +24 -13
- package/client/pages/manifest/loading-manifest-detail.js +311 -46
- package/client/pages/manifest/loading-manifest-list.js +86 -13
- package/client/pages/order/arrival-notice/arrival-notice-detail.js +305 -52
- package/client/pages/order/arrival-notice/arrival-notice-list.js +20 -1
- package/client/pages/order/arrival-notice/create-arrival-notice.js +2 -2
- package/client/pages/order/goods-received-note/received-note-detail.js +187 -15
- package/client/pages/order/release-order/b2b/b2b-order-list.js +76 -80
- package/client/pages/order/release-order/b2c/b2c-order-requests.js +148 -123
- package/client/pages/order/release-order/batch-picking-popup.js +11 -0
- package/client/pages/order/release-order/create-release-order.js +762 -250
- package/client/pages/order/release-order/release-extra-product-popup.js +10 -3
- package/client/pages/order/release-order/release-order-detail.js +897 -215
- package/client/pages/order/transport-order/delivery-note-popup.js +1050 -107
- package/client/pages/order/transport-order/print-delivery-note.js +214 -33
- package/client/pages/order/transport-order/upload-delivery-note.js +6 -4
- package/client/pages/order/transport-order/view-delivery-note.js +0 -1
- package/client/pages/outbound/generate-worksheet-popup.js +374 -0
- package/client/pages/outbound/inventory-reassign-popup.js +1097 -0
- package/client/pages/outbound/loading-product.js +88 -78
- package/client/pages/outbound/merged-outbound-worksheet.js +1 -1
- package/client/pages/outbound/packing-product.js +193 -82
- package/client/pages/outbound/packing-worksheet-list.js +10 -9
- package/client/pages/outbound/picking-product.js +979 -905
- package/client/pages/outbound/route-label-popup.js +283 -191
- package/client/pages/outbound/serial-number-popup.js +1 -0
- package/client/pages/outbound/sorting-product.js +12 -12
- package/client/pages/outbound/worksheet-batch-picking.js +39 -5
- package/client/pages/outbound/worksheet-packing.js +17 -4
- package/client/pages/outbound/worksheet-picking.js +45 -6
- package/client/pages/report/inbound-serial-number-report.js +86 -9
- package/client/pages/report/inventory-report.js +10 -0
- package/client/pages/report/inventory-summary-report.js +28 -19
- package/client/pages/report/outbound-order-details-report.js +204 -43
- package/client/pages/report/outbound-serial-number-report.js +87 -9
- package/client/pages/report/release-inventory-report.js +503 -0
- package/client/route.js +5 -0
- package/client/util/index.js +2 -0
- package/client/util/page-settings.js +43 -0
- package/client/util/toast.js +10 -0
- package/dist-server/graphql/resolvers/board-setting/board-settings.js +3 -3
- package/dist-server/graphql/resolvers/board-setting/board-settings.js.map +1 -1
- package/dist-server/graphql/resolvers/custom/elccl/elccl-daily-collection-report.js +2 -2
- package/dist-server/graphql/resolvers/custom/elccl/elccl-daily-collection-report.js.map +1 -1
- package/dist-server/graphql/resolvers/custom/elccl/elccl-daily-order-inventory-report.js +1 -1
- package/dist-server/graphql/resolvers/custom/elccl/elccl-daily-order-inventory-report.js.map +1 -1
- package/dist-server/graphql/resolvers/custom/elccl/elccl-inventory-history-pallet-detail-report.js +2 -2
- package/dist-server/graphql/resolvers/custom/elccl/elccl-inventory-history-pallet-detail-report.js.map +1 -1
- package/dist-server/graphql/resolvers/custom/elccl/elccl-inventory-history-report.js +9 -10
- 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 +2 -2
- package/dist-server/graphql/resolvers/custom/elccl/elccl-inventory-history-summary-report.js.map +1 -1
- package/dist-server/graphql/resolvers/custom/elccl/elccl-onhand-inventory-counter.js +6 -4
- package/dist-server/graphql/resolvers/custom/elccl/elccl-onhand-inventory-counter.js.map +1 -1
- package/dist-server/graphql/resolvers/custom/kimeda/kimeda-onhand-inventory-counter.js +6 -4
- package/dist-server/graphql/resolvers/custom/kimeda/kimeda-onhand-inventory-counter.js.map +1 -1
- package/dist-server/graphql/resolvers/dashboard/arrival-notices-by-status.js +21 -10
- package/dist-server/graphql/resolvers/dashboard/arrival-notices-by-status.js.map +1 -1
- package/dist-server/graphql/resolvers/dashboard/collection-orders-by-status.js +1 -2
- package/dist-server/graphql/resolvers/dashboard/collection-orders-by-status.js.map +1 -1
- package/dist-server/graphql/resolvers/dashboard/delivery-orders-by-status.js +1 -2
- package/dist-server/graphql/resolvers/dashboard/delivery-orders-by-status.js.map +1 -1
- package/dist-server/graphql/resolvers/dashboard/index.js +2 -1
- package/dist-server/graphql/resolvers/dashboard/index.js.map +1 -1
- package/dist-server/graphql/resolvers/dashboard/inventory-expiry-monitor.js +17 -1
- package/dist-server/graphql/resolvers/dashboard/inventory-expiry-monitor.js.map +1 -1
- package/dist-server/graphql/resolvers/dashboard/outbound-order-by-status.js +113 -75
- package/dist-server/graphql/resolvers/dashboard/outbound-order-by-status.js.map +1 -1
- package/dist-server/graphql/resolvers/dashboard/release-goods-by-status.js +21 -10
- package/dist-server/graphql/resolvers/dashboard/release-goods-by-status.js.map +1 -1
- package/dist-server/graphql/resolvers/dashboard/unit-inbounded-outbounded.js +56 -0
- package/dist-server/graphql/resolvers/dashboard/unit-inbounded-outbounded.js.map +1 -0
- package/dist-server/graphql/resolvers/index.js +5 -4
- package/dist-server/graphql/resolvers/index.js.map +1 -1
- package/dist-server/graphql/resolvers/inventory-comparison/inventory-comparison-list.js.map +1 -1
- package/dist-server/graphql/resolvers/opa-menu/opa-menus.js +8 -7
- package/dist-server/graphql/resolvers/opa-menu/opa-menus.js.map +1 -1
- package/dist-server/graphql/resolvers/{extra → other}/add-release-good-products.js +59 -8
- package/dist-server/graphql/resolvers/other/add-release-good-products.js.map +1 -0
- package/dist-server/graphql/resolvers/{extra → other}/index.js +3 -1
- package/dist-server/graphql/resolvers/other/index.js.map +1 -0
- package/dist-server/graphql/resolvers/other/page-settings.js +87 -0
- package/dist-server/graphql/resolvers/other/page-settings.js.map +1 -0
- package/dist-server/graphql/resolvers/reports/costing-report.js +4 -4
- package/dist-server/graphql/resolvers/reports/costing-report.js.map +1 -1
- package/dist-server/graphql/resolvers/reports/inbound-order-details-report.js +3 -3
- package/dist-server/graphql/resolvers/reports/inbound-order-details-report.js.map +1 -1
- package/dist-server/graphql/resolvers/reports/inbound-serial-number-report.js +36 -7
- package/dist-server/graphql/resolvers/reports/inbound-serial-number-report.js.map +1 -1
- package/dist-server/graphql/resolvers/reports/index.js +2 -1
- package/dist-server/graphql/resolvers/reports/index.js.map +1 -1
- package/dist-server/graphql/resolvers/reports/outbound-order-details-report.js +69 -30
- package/dist-server/graphql/resolvers/reports/outbound-order-details-report.js.map +1 -1
- package/dist-server/graphql/resolvers/reports/outbound-serial-number-report.js +36 -11
- package/dist-server/graphql/resolvers/reports/outbound-serial-number-report.js.map +1 -1
- package/dist-server/graphql/resolvers/reports/product-label-report.js +3 -3
- package/dist-server/graphql/resolvers/reports/product-label-report.js.map +1 -1
- package/dist-server/graphql/resolvers/reports/release-inventory-report.js +180 -0
- package/dist-server/graphql/resolvers/reports/release-inventory-report.js.map +1 -0
- package/dist-server/graphql/resolvers/shipping-provider/shipping-providers.js +2 -2
- package/dist-server/graphql/resolvers/shipping-provider/shipping-providers.js.map +1 -1
- package/dist-server/graphql/resolvers/warehouse-inventory-adjustment/warehouse-intentory-adjustment.js +1 -1
- package/dist-server/graphql/resolvers/warehouse-inventory-adjustment/warehouse-intentory-adjustment.js.map +1 -1
- package/dist-server/graphql/types/dashboard/index.js +1 -0
- package/dist-server/graphql/types/dashboard/index.js.map +1 -1
- package/dist-server/graphql/types/index.js +7 -2
- package/dist-server/graphql/types/index.js.map +1 -1
- package/dist-server/graphql/types/other/index.js +19 -0
- package/dist-server/graphql/types/other/index.js.map +1 -0
- package/dist-server/graphql/types/other/page-setting.js +34 -0
- package/dist-server/graphql/types/other/page-setting.js.map +1 -0
- package/dist-server/graphql/types/reports/index.js +6 -1
- package/dist-server/graphql/types/reports/index.js.map +1 -1
- package/dist-server/graphql/types/reports/outbound-order-details-report.js +17 -1
- package/dist-server/graphql/types/reports/outbound-order-details-report.js.map +1 -1
- package/dist-server/graphql/types/reports/release-inventory-report-list.js +12 -0
- package/dist-server/graphql/types/reports/release-inventory-report-list.js.map +1 -0
- package/dist-server/graphql/types/reports/release-inventory-report.js +27 -0
- package/dist-server/graphql/types/reports/release-inventory-report.js.map +1 -0
- package/dist-server/migrations/1568858861188-SeedSetting.js +5 -6
- package/dist-server/migrations/1568858861188-SeedSetting.js.map +1 -1
- package/dist-server/migrations/1623308919899-SeedLocationRecommendSetting.js +1 -1
- package/dist-server/migrations/1623308919899-SeedLocationRecommendSetting.js.map +1 -1
- package/dist-server/migrations/1623381200659-SeedStoringRule.js +1 -1
- package/dist-server/migrations/1623381200659-SeedStoringRule.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/dist-server/utils/report-query-util.js +5 -2
- package/dist-server/utils/report-query-util.js.map +1 -1
- package/helps/release-note.ko.md +8 -20
- package/helps/release-note.md +8 -20
- package/helps/release-note.ms.md +8 -20
- package/helps/release-note.zh.md +8 -20
- package/package.json +42 -42
- package/server/graphql/resolvers/board-setting/board-settings.ts +4 -6
- package/server/graphql/resolvers/custom/elccl/elccl-daily-collection-report.ts +4 -5
- package/server/graphql/resolvers/custom/elccl/elccl-daily-order-inventory-report.ts +9 -10
- package/server/graphql/resolvers/custom/elccl/elccl-inventory-history-pallet-detail-report.ts +4 -5
- package/server/graphql/resolvers/custom/elccl/elccl-inventory-history-report.ts +17 -19
- package/server/graphql/resolvers/custom/elccl/elccl-inventory-history-summary-report.ts +10 -8
- package/server/graphql/resolvers/custom/elccl/elccl-onhand-inventory-counter.ts +9 -9
- package/server/graphql/resolvers/custom/kimeda/kimeda-onhand-inventory-counter.ts +9 -9
- package/server/graphql/resolvers/dashboard/arrival-notices-by-status.ts +23 -14
- package/server/graphql/resolvers/dashboard/collection-orders-by-status.ts +4 -5
- package/server/graphql/resolvers/dashboard/delivery-orders-by-status.ts +4 -5
- package/server/graphql/resolvers/dashboard/index.ts +3 -1
- package/server/graphql/resolvers/dashboard/inventory-expiry-monitor.ts +18 -6
- package/server/graphql/resolvers/dashboard/outbound-order-by-status.ts +114 -81
- package/server/graphql/resolvers/dashboard/release-goods-by-status.ts +23 -14
- package/server/graphql/resolvers/dashboard/unit-inbounded-outbounded.ts +61 -0
- package/server/graphql/resolvers/index.ts +5 -4
- package/server/graphql/resolvers/inventory-comparison/inventory-comparison-list.ts +11 -9
- package/server/graphql/resolvers/opa-menu/opa-menus.ts +7 -6
- package/server/graphql/resolvers/{extra → other}/add-release-good-products.ts +73 -12
- package/server/graphql/resolvers/other/index.ts +10 -0
- package/server/graphql/resolvers/other/page-settings.ts +105 -0
- package/server/graphql/resolvers/reports/costing-report.ts +8 -10
- package/server/graphql/resolvers/reports/inbound-order-details-report.ts +7 -9
- package/server/graphql/resolvers/reports/inbound-serial-number-report.ts +41 -13
- package/server/graphql/resolvers/reports/index.ts +3 -1
- package/server/graphql/resolvers/reports/outbound-order-details-report.ts +76 -38
- package/server/graphql/resolvers/reports/outbound-serial-number-report.ts +42 -18
- package/server/graphql/resolvers/reports/product-label-report.ts +4 -6
- package/server/graphql/resolvers/reports/release-inventory-report.ts +201 -0
- package/server/graphql/resolvers/shipping-provider/shipping-providers.ts +3 -5
- package/server/graphql/resolvers/warehouse-inventory-adjustment/warehouse-intentory-adjustment.ts +10 -10
- package/server/graphql/types/dashboard/index.ts +1 -0
- package/server/graphql/types/index.ts +8 -2
- package/server/graphql/types/other/index.ts +19 -0
- package/server/graphql/types/other/page-setting.ts +33 -0
- package/server/graphql/types/reports/index.ts +6 -1
- package/server/graphql/types/reports/outbound-order-details-report.ts +17 -1
- package/server/graphql/types/reports/release-inventory-report-list.ts +8 -0
- package/server/graphql/types/reports/release-inventory-report.ts +23 -0
- package/server/migrations/1568858861188-SeedSetting.ts +4 -4
- package/server/migrations/1623308919899-SeedLocationRecommendSetting.ts +3 -2
- package/server/migrations/1623381200659-SeedStoringRule.ts +3 -2
- package/server/utils/report-query-util.ts +5 -2
- package/things-factory.config.js +4 -0
- package/translations/en.json +148 -27
- package/translations/ko.json +185 -105
- package/translations/ms.json +183 -98
- package/translations/zh.json +197 -112
- package/dist-server/graphql/resolvers/extra/add-release-good-products.js.map +0 -1
- package/dist-server/graphql/resolvers/extra/index.js.map +0 -1
- package/dist-server/graphql/types/extra/index.js +0 -11
- package/dist-server/graphql/types/extra/index.js.map +0 -1
- package/server/graphql/resolvers/extra/index.ts +0 -5
- package/server/graphql/types/extra/index.ts +0 -7
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import '@things-factory/form-ui'
|
|
2
2
|
import '@things-factory/grist-ui'
|
|
3
3
|
import '../batch-picking-popup'
|
|
4
|
+
import '../../../outbound/generate-worksheet-popup'
|
|
4
5
|
|
|
5
6
|
import gql from 'graphql-tag'
|
|
6
7
|
import { css, html } from 'lit-element'
|
|
@@ -13,7 +14,7 @@ import { i18next, localize } from '@things-factory/i18n-base'
|
|
|
13
14
|
import { openPopup } from '@things-factory/layout-base'
|
|
14
15
|
import { client, CustomAlert, navigate, PageView, store } from '@things-factory/shell'
|
|
15
16
|
import { CommonButtonStyles, ScrollbarStyles } from '@things-factory/styles'
|
|
16
|
-
import { isMobileDevice } from '@things-factory/utils'
|
|
17
|
+
import { isMobileDevice, sleep } from '@things-factory/utils'
|
|
17
18
|
|
|
18
19
|
import { fetchSettingRule } from '../../../../fetch-setting-value'
|
|
19
20
|
import { INTENALIZED_AWB_SETTING_KEY, ORDER_STATUS } from '../../../constants'
|
|
@@ -84,14 +85,9 @@ class B2cOrderRequests extends connect(store)(localize(i18next)(PageView)) {
|
|
|
84
85
|
action: this._generatePackingList.bind(this),
|
|
85
86
|
...CommonButtonStyles.label
|
|
86
87
|
},
|
|
87
|
-
{
|
|
88
|
-
title: i18next.t('button.batch_picking'),
|
|
89
|
-
action: this._openBatchPickingPopup.bind(this),
|
|
90
|
-
...CommonButtonStyles.activate
|
|
91
|
-
},
|
|
92
88
|
{
|
|
93
89
|
title: i18next.t('button.generate_worksheet'),
|
|
94
|
-
action: this.
|
|
90
|
+
action: this._openGenerateWorksheetPopup.bind(this),
|
|
95
91
|
...CommonButtonStyles.activate
|
|
96
92
|
}
|
|
97
93
|
]
|
|
@@ -131,7 +127,7 @@ class B2cOrderRequests extends connect(store)(localize(i18next)(PageView)) {
|
|
|
131
127
|
|
|
132
128
|
this._searchFields = [
|
|
133
129
|
{
|
|
134
|
-
label: i18next.t('field.
|
|
130
|
+
label: i18next.t('field.order_info'),
|
|
135
131
|
name: 'name',
|
|
136
132
|
type: 'text',
|
|
137
133
|
props: { searchOper: 'i_like' }
|
|
@@ -159,40 +155,26 @@ class B2cOrderRequests extends connect(store)(localize(i18next)(PageView)) {
|
|
|
159
155
|
type: 'select',
|
|
160
156
|
options: [
|
|
161
157
|
{ value: '' },
|
|
162
|
-
..._orderStatus
|
|
163
|
-
|
|
164
|
-
|
|
158
|
+
..._orderStatus
|
|
159
|
+
.filter(res => {
|
|
160
|
+
return res.name !== 'LOADING'
|
|
161
|
+
})
|
|
162
|
+
.map(status => {
|
|
163
|
+
return { name: i18next.t(`label.${status.description}`), value: status.name }
|
|
164
|
+
})
|
|
165
165
|
],
|
|
166
166
|
props: { searchOper: 'eq' }
|
|
167
167
|
},
|
|
168
|
-
{
|
|
169
|
-
label: i18next.t('field.ref_no'),
|
|
170
|
-
name: 'refNo',
|
|
171
|
-
type: 'text',
|
|
172
|
-
props: { searchOper: 'i_like' }
|
|
173
|
-
},
|
|
174
|
-
{
|
|
175
|
-
label: i18next.t('field.ref_no_2'),
|
|
176
|
-
name: 'refNo2',
|
|
177
|
-
type: 'text',
|
|
178
|
-
props: { searchOper: 'i_like' }
|
|
179
|
-
},
|
|
180
|
-
{
|
|
181
|
-
label: i18next.t('field.ref_no_3'),
|
|
182
|
-
name: 'refNo3',
|
|
183
|
-
type: 'text',
|
|
184
|
-
props: { searchOper: 'i_like' }
|
|
185
|
-
},
|
|
186
168
|
{
|
|
187
169
|
label: i18next.t('field.from'),
|
|
188
170
|
name: 'fromDate',
|
|
189
171
|
type: 'date',
|
|
190
172
|
props: {
|
|
191
|
-
searchOper: '
|
|
173
|
+
searchOper: 'gte'
|
|
192
174
|
},
|
|
193
175
|
value: (() => {
|
|
194
176
|
let date = new Date()
|
|
195
|
-
date.setMonth(date.getMonth() -
|
|
177
|
+
date.setMonth(date.getMonth() - 1)
|
|
196
178
|
return date.toISOString().split('T')[0]
|
|
197
179
|
})(),
|
|
198
180
|
handlers: { change: this._modifyDateRange.bind(this) }
|
|
@@ -202,10 +184,15 @@ class B2cOrderRequests extends connect(store)(localize(i18next)(PageView)) {
|
|
|
202
184
|
name: 'toDate',
|
|
203
185
|
type: 'date',
|
|
204
186
|
props: {
|
|
205
|
-
searchOper: '
|
|
187
|
+
searchOper: 'lte',
|
|
206
188
|
min: (() => {
|
|
207
189
|
let date = new Date()
|
|
208
|
-
date.setMonth(date.getMonth() -
|
|
190
|
+
date.setMonth(date.getMonth() - 1)
|
|
191
|
+
return date.toISOString().split('T')[0]
|
|
192
|
+
})(),
|
|
193
|
+
max: (() => {
|
|
194
|
+
let date = new Date()
|
|
195
|
+
date.setDate(date.getDate())
|
|
209
196
|
return date.toISOString().split('T')[0]
|
|
210
197
|
})()
|
|
211
198
|
},
|
|
@@ -238,7 +225,7 @@ class B2cOrderRequests extends connect(store)(localize(i18next)(PageView)) {
|
|
|
238
225
|
options: [{ value: '' }, { name: 'Single Item', value: 1 }, { name: 'Multiple Item', value: 2 }]
|
|
239
226
|
},
|
|
240
227
|
{
|
|
241
|
-
label: i18next.t('field.
|
|
228
|
+
label: i18next.t('field.product_info'),
|
|
242
229
|
name: 'sku',
|
|
243
230
|
type: 'text',
|
|
244
231
|
props: { searchOper: 'i_like' }
|
|
@@ -249,6 +236,13 @@ class B2cOrderRequests extends connect(store)(localize(i18next)(PageView)) {
|
|
|
249
236
|
type: 'checkbox',
|
|
250
237
|
props: { searchOper: 'eq' },
|
|
251
238
|
attrs: ['indeterminate']
|
|
239
|
+
},
|
|
240
|
+
{
|
|
241
|
+
label: i18next.t('field.manifested'),
|
|
242
|
+
name: 'manifested',
|
|
243
|
+
type: 'checkbox',
|
|
244
|
+
props: { searchOper: 'eq' },
|
|
245
|
+
attrs: ['indeterminate']
|
|
252
246
|
}
|
|
253
247
|
]
|
|
254
248
|
|
|
@@ -344,6 +338,7 @@ class B2cOrderRequests extends connect(store)(localize(i18next)(PageView)) {
|
|
|
344
338
|
type: 'string',
|
|
345
339
|
name: 'postalCode',
|
|
346
340
|
header: i18next.t('field.postal_code'),
|
|
341
|
+
imex: { header: i18next.t('field.postal_code'), key: 'postalCode', width: 25, type: 'string' },
|
|
347
342
|
sortable: true,
|
|
348
343
|
width: 100
|
|
349
344
|
},
|
|
@@ -351,6 +346,7 @@ class B2cOrderRequests extends connect(store)(localize(i18next)(PageView)) {
|
|
|
351
346
|
type: 'string',
|
|
352
347
|
name: 'transporter',
|
|
353
348
|
header: i18next.t('field.transporter'),
|
|
349
|
+
imex: { header: i18next.t('field.transporter'), key: 'transporter', width: 25, type: 'string' },
|
|
354
350
|
sortable: true,
|
|
355
351
|
width: 120
|
|
356
352
|
},
|
|
@@ -366,7 +362,7 @@ class B2cOrderRequests extends connect(store)(localize(i18next)(PageView)) {
|
|
|
366
362
|
type: 'string',
|
|
367
363
|
name: 'status',
|
|
368
364
|
header: i18next.t('field.status'),
|
|
369
|
-
imex: { header: i18next.t('field.
|
|
365
|
+
imex: { header: i18next.t('field.status'), key: 'status', width: 25, type: 'string' },
|
|
370
366
|
sortable: true,
|
|
371
367
|
width: 120
|
|
372
368
|
},
|
|
@@ -378,6 +374,14 @@ class B2cOrderRequests extends connect(store)(localize(i18next)(PageView)) {
|
|
|
378
374
|
sortable: true,
|
|
379
375
|
width: 120
|
|
380
376
|
},
|
|
377
|
+
{
|
|
378
|
+
type: 'datetime',
|
|
379
|
+
name: 'acceptedAt',
|
|
380
|
+
header: i18next.t('field.accepted_at'),
|
|
381
|
+
imex: { header: i18next.t('field.accepted_at'), key: 'acceptedAt', width: 25, type: 'datetime' },
|
|
382
|
+
sortable: true,
|
|
383
|
+
width: 160
|
|
384
|
+
},
|
|
381
385
|
{
|
|
382
386
|
type: 'datetime',
|
|
383
387
|
name: 'updatedAt',
|
|
@@ -393,6 +397,86 @@ class B2cOrderRequests extends connect(store)(localize(i18next)(PageView)) {
|
|
|
393
397
|
imex: { header: i18next.t('field.accepted_by'), key: 'acceptedBy.name', width: 25, type: 'string' },
|
|
394
398
|
sortable: true,
|
|
395
399
|
width: 200
|
|
400
|
+
},
|
|
401
|
+
{
|
|
402
|
+
type: 'object',
|
|
403
|
+
name: 'updater',
|
|
404
|
+
header: i18next.t('field.updated_by'),
|
|
405
|
+
imex: { header: i18next.t('field.updated_by'), key: 'updater.name', width: 25, type: 'string' },
|
|
406
|
+
sortable: true,
|
|
407
|
+
width: 200
|
|
408
|
+
},
|
|
409
|
+
{
|
|
410
|
+
type: 'string',
|
|
411
|
+
name: 'attentionTo',
|
|
412
|
+
header: i18next.t('field.receiver_name'),
|
|
413
|
+
imex: { header: i18next.t('field.receiver_name'), key: 'attentionTo', width: 25, type: 'string' },
|
|
414
|
+
width: 200,
|
|
415
|
+
hidden: true
|
|
416
|
+
},
|
|
417
|
+
{
|
|
418
|
+
type: 'string',
|
|
419
|
+
name: 'attentionCompany',
|
|
420
|
+
header: i18next.t('field.receiver_company'),
|
|
421
|
+
imex: { header: i18next.t('field.receiver_company'), key: 'attentionCompany', width: 25, type: 'string' },
|
|
422
|
+
width: 200,
|
|
423
|
+
hidden: true
|
|
424
|
+
},
|
|
425
|
+
{
|
|
426
|
+
type: 'string',
|
|
427
|
+
name: 'deliveryAddress1',
|
|
428
|
+
header: i18next.t('field.delivery_address'),
|
|
429
|
+
imex: { header: i18next.t('field.delivery_address'), key: 'deliveryAddress1', width: 75, type: 'string' },
|
|
430
|
+
width: 200,
|
|
431
|
+
hidden: true
|
|
432
|
+
},
|
|
433
|
+
{
|
|
434
|
+
type: 'string',
|
|
435
|
+
name: 'city',
|
|
436
|
+
header: i18next.t('field.city'),
|
|
437
|
+
imex: { header: i18next.t('field.city'), key: 'city', width: 25, type: 'string' },
|
|
438
|
+
width: 200,
|
|
439
|
+
hidden: true
|
|
440
|
+
},
|
|
441
|
+
{
|
|
442
|
+
type: 'string',
|
|
443
|
+
name: 'state',
|
|
444
|
+
header: i18next.t('field.state'),
|
|
445
|
+
imex: { header: i18next.t('field.state'), key: 'state', width: 25, type: 'string' },
|
|
446
|
+
width: 200,
|
|
447
|
+
hidden: true
|
|
448
|
+
},
|
|
449
|
+
{
|
|
450
|
+
type: 'string',
|
|
451
|
+
name: 'country',
|
|
452
|
+
header: i18next.t('field.country'),
|
|
453
|
+
imex: { header: i18next.t('field.country'), key: 'country', width: 20, type: 'string' },
|
|
454
|
+
width: 200,
|
|
455
|
+
hidden: true
|
|
456
|
+
},
|
|
457
|
+
{
|
|
458
|
+
type: 'string',
|
|
459
|
+
name: 'phone1',
|
|
460
|
+
header: `${i18next.t('field.contact')} 1`,
|
|
461
|
+
imex: { header: `${i18next.t('field.contact')} 1`, key: 'phone1', width: 25, type: 'string' },
|
|
462
|
+
width: 200,
|
|
463
|
+
hidden: true
|
|
464
|
+
},
|
|
465
|
+
{
|
|
466
|
+
type: 'string',
|
|
467
|
+
name: 'phone2',
|
|
468
|
+
header: `${i18next.t('field.contact')} 2`,
|
|
469
|
+
imex: { header: `${i18next.t('field.contact')} 2`, key: 'phone2', width: 25, type: 'string' },
|
|
470
|
+
width: 200,
|
|
471
|
+
hidden: true
|
|
472
|
+
},
|
|
473
|
+
{
|
|
474
|
+
type: 'string',
|
|
475
|
+
name: 'email',
|
|
476
|
+
header: i18next.t('field.email'),
|
|
477
|
+
imex: { header: i18next.t('field.email'), key: 'email', width: 25, type: 'string' },
|
|
478
|
+
width: 200,
|
|
479
|
+
hidden: true
|
|
396
480
|
}
|
|
397
481
|
]
|
|
398
482
|
}
|
|
@@ -406,6 +490,10 @@ class B2cOrderRequests extends connect(store)(localize(i18next)(PageView)) {
|
|
|
406
490
|
return this.shadowRoot.querySelector('data-grist')
|
|
407
491
|
}
|
|
408
492
|
|
|
493
|
+
get _toDateInput() {
|
|
494
|
+
return this.searchForm.shadowRoot.querySelector('input[name=toDate]')
|
|
495
|
+
}
|
|
496
|
+
|
|
409
497
|
async fetchHandler({ page, limit, sorters = [] }) {
|
|
410
498
|
const response = await client.query({
|
|
411
499
|
query: gql`
|
|
@@ -414,7 +502,6 @@ class B2cOrderRequests extends connect(store)(localize(i18next)(PageView)) {
|
|
|
414
502
|
items {
|
|
415
503
|
id
|
|
416
504
|
trackingNo
|
|
417
|
-
attentionTo
|
|
418
505
|
deliveryAddress1
|
|
419
506
|
deliveryAddress2
|
|
420
507
|
deliveryAddress3
|
|
@@ -428,6 +515,7 @@ class B2cOrderRequests extends connect(store)(localize(i18next)(PageView)) {
|
|
|
428
515
|
country
|
|
429
516
|
phone1
|
|
430
517
|
phone2
|
|
518
|
+
email
|
|
431
519
|
postalCode
|
|
432
520
|
marketplaceOrderStatus
|
|
433
521
|
transporter
|
|
@@ -446,11 +534,17 @@ class B2cOrderRequests extends connect(store)(localize(i18next)(PageView)) {
|
|
|
446
534
|
noOfItems
|
|
447
535
|
createdAt
|
|
448
536
|
updatedAt
|
|
537
|
+
acceptedAt
|
|
449
538
|
acceptedBy {
|
|
450
539
|
id
|
|
451
540
|
name
|
|
452
541
|
description
|
|
453
542
|
}
|
|
543
|
+
updater {
|
|
544
|
+
id
|
|
545
|
+
name
|
|
546
|
+
description
|
|
547
|
+
}
|
|
454
548
|
airwayBill
|
|
455
549
|
trackingNo
|
|
456
550
|
}
|
|
@@ -548,24 +642,6 @@ class B2cOrderRequests extends connect(store)(localize(i18next)(PageView)) {
|
|
|
548
642
|
}
|
|
549
643
|
}
|
|
550
644
|
|
|
551
|
-
_openBatchPickingPopup() {
|
|
552
|
-
openPopup(
|
|
553
|
-
html`
|
|
554
|
-
<batch-picking-popup
|
|
555
|
-
@generated="${() => {
|
|
556
|
-
navigate('merged_outbound_worksheets')
|
|
557
|
-
this._showToast({ message: i18next.t('text.worksheet_has_been_generated') })
|
|
558
|
-
}}"
|
|
559
|
-
></batch-picking-popup>
|
|
560
|
-
`,
|
|
561
|
-
{
|
|
562
|
-
backdrop: true,
|
|
563
|
-
size: 'large',
|
|
564
|
-
title: i18next.t('title.generate_batch_picking')
|
|
565
|
-
}
|
|
566
|
-
)
|
|
567
|
-
}
|
|
568
|
-
|
|
569
645
|
async _printInvoices() {
|
|
570
646
|
try {
|
|
571
647
|
if (this.dataGrist.selected && this.dataGrist.selected.length > 0) {
|
|
@@ -709,82 +785,25 @@ class B2cOrderRequests extends connect(store)(localize(i18next)(PageView)) {
|
|
|
709
785
|
)
|
|
710
786
|
}
|
|
711
787
|
|
|
712
|
-
async
|
|
713
|
-
try {
|
|
714
|
-
let data = []
|
|
715
|
-
|
|
716
|
-
var headerSetting = [
|
|
717
|
-
{ header: i18next.t('field.ro'), key: 'name', width: 25, type: 'string' },
|
|
718
|
-
{ header: i18next.t('field.company'), key: 'bizplaceName', width: 25, type: 'string' },
|
|
719
|
-
{ header: i18next.t('field.ref_no'), key: 'refNo', width: 25, type: 'string' },
|
|
720
|
-
{ header: i18next.t('field.ref_no_2'), key: 'refNo2', width: 25, type: 'string' },
|
|
721
|
-
{ header: i18next.t('field.release_date'), key: 'releaseDate', width: 30, type: 'date' },
|
|
722
|
-
{ header: i18next.t('field.postal_code'), key: 'postalCode', width: 30, type: 'string' },
|
|
723
|
-
{
|
|
724
|
-
header: i18next.t('field.marketplace_order_status'),
|
|
725
|
-
key: 'marketplaceOrderStatus',
|
|
726
|
-
width: 30,
|
|
727
|
-
type: 'string'
|
|
728
|
-
},
|
|
729
|
-
{ header: i18next.t('field.warehouse_status'), key: 'status', width: 30, type: 'string' },
|
|
730
|
-
{ header: i18next.t('field.transporter'), key: 'transporter', width: 30, type: 'string' },
|
|
731
|
-
{ header: i18next.t('field.delivery_address'), key: 'deliveryAddress1', width: 30, type: 'string' },
|
|
732
|
-
{ header: i18next.t('field.attention_to'), key: 'attentionTo', width: 30, type: 'string' },
|
|
733
|
-
{ header: i18next.t('field.phone'), key: 'phone1', width: 30, type: 'string' }
|
|
734
|
-
]
|
|
735
|
-
|
|
736
|
-
if (this.dataGrist.selected && this.dataGrist.selected.length > 0) {
|
|
737
|
-
data = this.dataGrist.selected
|
|
738
|
-
} else {
|
|
739
|
-
const bizplaceFilters = (await this.searchForm.getQueryFilters()).filter(x => x.name === 'bizplaceId')
|
|
740
|
-
if (bizplaceFilters.length == 0) {
|
|
741
|
-
throw new Error(`Please select a customer for export.`)
|
|
742
|
-
}
|
|
743
|
-
data = await this.fetchHandler({ page: 1, limit: 9999999 })
|
|
744
|
-
}
|
|
745
|
-
|
|
746
|
-
return { header: headerSetting, data }
|
|
747
|
-
} catch (e) {
|
|
748
|
-
this._showToast(e)
|
|
749
|
-
}
|
|
750
|
-
}
|
|
751
|
-
|
|
752
|
-
async _generatePickingWorksheet() {
|
|
788
|
+
async _openGenerateWorksheetPopup() {
|
|
753
789
|
try {
|
|
754
|
-
let releaseGoodNos = []
|
|
755
790
|
if (this.dataGrist.selected.length <= 0)
|
|
756
791
|
throw new Error(i18next.t('text.please_select_one_or_more_order_to_generate_worksheet'))
|
|
757
792
|
|
|
793
|
+
let releaseGoodNos = []
|
|
794
|
+
|
|
758
795
|
let readyToPick = this.dataGrist.selected.filter(itm => itm.status === ORDER_STATUS.PENDING_WORKSHEET.value)
|
|
759
796
|
releaseGoodNos = readyToPick.map(record => record.name)
|
|
760
797
|
|
|
761
798
|
if (releaseGoodNos.length <= 0)
|
|
762
|
-
throw new Error(i18next.t('text.selected_release_order(s)
|
|
763
|
-
|
|
764
|
-
let result = await CustomAlert({
|
|
765
|
-
title: i18next.t('title.are_you_sure'),
|
|
766
|
-
text: i18next.t('text.generate_worksheet'),
|
|
767
|
-
confirmButton: { text: i18next.t('button.submit') },
|
|
768
|
-
cancelButton: { text: i18next.t('button.cancel') }
|
|
769
|
-
})
|
|
770
|
-
|
|
771
|
-
if (!result.value) return
|
|
799
|
+
throw new Error(i18next.t('text.selected_release_order(s)_is_not_in_pending_worksheet_status'))
|
|
772
800
|
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
`,
|
|
779
|
-
variables: {
|
|
780
|
-
releaseGoodNos
|
|
781
|
-
}
|
|
801
|
+
await sleep(1010)
|
|
802
|
+
openPopup(html` <generate-worksheet-popup .gristData=${this.dataGrist}></generate-worksheet-popup> `, {
|
|
803
|
+
backdrop: true,
|
|
804
|
+
size: 'medium',
|
|
805
|
+
title: i18next.t('title.generate_picking_worksheet')
|
|
782
806
|
})
|
|
783
|
-
|
|
784
|
-
if (!response.errors) {
|
|
785
|
-
navigate('single_outbound_worksheets')
|
|
786
|
-
this._showToast({ message: i18next.t('text.worksheet(s)_has_been_generated') })
|
|
787
|
-
}
|
|
788
807
|
} catch (e) {
|
|
789
808
|
this._showToast(e)
|
|
790
809
|
}
|
|
@@ -812,15 +831,21 @@ class B2cOrderRequests extends connect(store)(localize(i18next)(PageView)) {
|
|
|
812
831
|
_modifyDateRange(e) {
|
|
813
832
|
const fromDate = e.currentTarget.value
|
|
814
833
|
|
|
815
|
-
if (this._toDateInput
|
|
834
|
+
if (this._toDateInput?.value < fromDate) this._toDateInput.value = fromDate
|
|
816
835
|
|
|
817
836
|
let min = new Date(fromDate)
|
|
818
837
|
let today = new Date()
|
|
838
|
+
let oneMonthRange = new Date(fromDate)
|
|
839
|
+
oneMonthRange.setMonth(oneMonthRange.getMonth() + 1)
|
|
840
|
+
oneMonthRange = oneMonthRange.toISOString().split('T')[0]
|
|
841
|
+
|
|
819
842
|
today.setHours(0, 0, 0, 0)
|
|
820
843
|
|
|
821
844
|
min = min.toISOString().split('T')[0]
|
|
822
845
|
|
|
823
846
|
this._toDateInput.min = min
|
|
847
|
+
this._toDateInput.value = oneMonthRange
|
|
848
|
+
this._toDateInput.max = oneMonthRange
|
|
824
849
|
}
|
|
825
850
|
|
|
826
851
|
_exportableData() {
|
|
@@ -832,7 +857,7 @@ class B2cOrderRequests extends connect(store)(localize(i18next)(PageView)) {
|
|
|
832
857
|
}
|
|
833
858
|
|
|
834
859
|
var headerSetting = this.dataGrist._config.columns
|
|
835
|
-
.filter(column => column.type !== 'gutter' && column.record !== undefined && column.imex !== undefined)
|
|
860
|
+
.filter(column => column.type !== 'gutter' /* && column.record !== undefined */ && column.imex !== undefined)
|
|
836
861
|
.map(column => {
|
|
837
862
|
return column.imex
|
|
838
863
|
})
|
|
@@ -841,7 +866,7 @@ class B2cOrderRequests extends connect(store)(localize(i18next)(PageView)) {
|
|
|
841
866
|
return {
|
|
842
867
|
id: item.id,
|
|
843
868
|
...this._columns
|
|
844
|
-
.filter(column => column.type !== 'gutter' && column.record !== undefined && column.imex !== undefined)
|
|
869
|
+
.filter(column => column.type !== 'gutter' /* && column.record !== undefined */ && column.imex !== undefined)
|
|
845
870
|
.reduce((record, column) => {
|
|
846
871
|
record[column.imex.key] = column.imex.key
|
|
847
872
|
.split('.')
|
|
@@ -312,6 +312,7 @@ class BatchPickingPopup extends localize(i18next)(LitElement) {
|
|
|
312
312
|
name
|
|
313
313
|
description
|
|
314
314
|
}
|
|
315
|
+
recall
|
|
315
316
|
}
|
|
316
317
|
total
|
|
317
318
|
}
|
|
@@ -369,7 +370,17 @@ class BatchPickingPopup extends localize(i18next)(LitElement) {
|
|
|
369
370
|
|
|
370
371
|
async generateBatchPicking() {
|
|
371
372
|
try {
|
|
373
|
+
const data = this.releaseOrderGrist
|
|
372
374
|
if (this.releaseOrderGrist.selected.length < 2) throw new Error('Minimum of 2 orders required for batch picking')
|
|
375
|
+
|
|
376
|
+
let uniqueWS = this.releaseOrderGrist.selected.filter(
|
|
377
|
+
res => res.recall !== this.releaseOrderGrist.selected[0].recall
|
|
378
|
+
)
|
|
379
|
+
|
|
380
|
+
if (uniqueWS.length > 0) {
|
|
381
|
+
throw new Error("Recall Release Order can't be generated together with Normal Release Order")
|
|
382
|
+
}
|
|
383
|
+
|
|
373
384
|
let result = await CustomAlert({
|
|
374
385
|
title: i18next.t('title.are_you_sure'),
|
|
375
386
|
text: i18next.t('text.create_batch_picking'),
|