@things-factory/operato-wms 3.7.14 → 3.8.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/client/pages/adjustment/transfer-inventory.js +390 -158
- package/client/pages/bulk-operation/bulk-operation.js +316 -0
- package/client/pages/bulk-operation/validate-ro-popup.js +445 -0
- package/client/pages/components/select-product-popup.js +1 -1
- package/client/pages/constants/inventory.js +1 -0
- package/client/pages/constants/location.js +33 -6
- package/client/pages/constants/worksheet.js +2 -2
- package/client/pages/inbound/inbound-worksheet.js +81 -15
- package/client/pages/inbound/putaway-product.js +61 -9
- package/client/pages/inbound/putaway-worksheet-generate-popup.js +29 -5
- package/client/pages/inbound/unload-product.js +80 -19
- package/client/pages/inbound/worksheet-putaway-return.js +14 -5
- package/client/pages/inbound/worksheet-putaway.js +13 -8
- package/client/pages/inbound/worksheet-unloading-return.js +14 -5
- package/client/pages/inventory/inventory-adjustment-approval.js +15 -23
- package/client/pages/inventory/inventory-adjustment.js +83 -79
- package/client/pages/inventory/inventory-by-product-detail.js +1 -1
- package/client/pages/inventory/inventory-by-product.js +1 -1
- package/client/pages/inventory/inventory-history-by-pallet.js +1 -1
- package/client/pages/inventory/inventory-history.js +2 -2
- package/client/pages/inventory/onhand-inventory.js +1 -2
- package/client/pages/inventory-check/create-cycle-count.js +1 -6
- package/client/pages/master/location-list.js +58 -17
- package/client/pages/order/arrival-notice/arrival-notice-detail.js +15 -8
- package/client/pages/order/arrival-notice/arrival-notice-list.js +87 -6
- package/client/pages/order/arrival-notice/arrival-notice-requests.js +83 -6
- package/client/pages/order/arrival-notice/create-arrival-notice.js +23 -2
- package/client/pages/order/arrival-notice/duplicate-arrival-notice.js +290 -25
- package/client/pages/order/arrival-notice/edit-product-popup.js +36 -5
- package/client/pages/order/release-order/b2b/b2b-order-requests.js +7 -7
- package/client/pages/order/release-order/b2c/b2c-order-requests.js +65 -5
- package/client/pages/order/release-order/release-extra-product-popup.js +12 -4
- package/client/pages/order/release-order/release-order-detail.js +1 -1
- package/client/pages/order/return-order/create-return-order.js +1 -1
- package/client/pages/order/return-order/return-order-detail.js +6 -5
- package/client/pages/order/transport-order/delivery-order-list.js +4 -1
- package/client/pages/outbound/inventory-assign-popup.js +1 -1
- package/client/pages/outbound/merged-outbound-worksheet.js +9 -5
- package/client/pages/outbound/picking-product.js +202 -162
- package/client/pages/outbound/picking-replacement-popup.js +2 -2
- package/client/pages/outbound/single-outbound-worksheet.js +47 -1
- package/client/pages/outbound/worksheet-loading.js +14 -5
- package/client/pages/outbound/worksheet-picking.js +10 -5
- package/client/pages/report/custom-elccl/elccl-inventory-report.js +31 -30
- package/client/pages/report/custom-elccl/elccl-inventory-summary-report.js +23 -26
- package/client/pages/report/inventory-pallet-storage-report.js +11 -10
- package/client/pages/report/inventory-report.js +41 -43
- package/client/pages/report/inventory-summary-report.js +25 -28
- package/client/pages/vas/print-product-label.js +3 -1
- package/client/route.js +5 -0
- package/dist-server/graphql/resolvers/custom/elccl/elccl-inventory-history-report.js +1 -1
- package/dist-server/graphql/resolvers/custom/elccl/elccl-inventory-history-report.js.map +1 -1
- package/dist-server/graphql/resolvers/custom/elccl/elccl-inventory-history-summary-report.js +1 -1
- package/dist-server/graphql/resolvers/index.js +3 -1
- package/dist-server/graphql/resolvers/index.js.map +1 -1
- package/dist-server/graphql/resolvers/reports/product-label-report.js +1 -0
- package/dist-server/graphql/resolvers/reports/product-label-report.js.map +1 -1
- package/dist-server/graphql/resolvers/shipping-provider/index.js +6 -0
- package/dist-server/graphql/resolvers/shipping-provider/index.js.map +1 -0
- package/dist-server/graphql/resolvers/shipping-provider/shipping-providers.js +20 -0
- package/dist-server/graphql/resolvers/shipping-provider/shipping-providers.js.map +1 -0
- package/dist-server/graphql/types/custom/elccl/elccl-inventory-report.js +1 -1
- package/dist-server/graphql/types/index.js +5 -2
- package/dist-server/graphql/types/index.js.map +1 -1
- package/dist-server/graphql/types/shipping-provider/index.js +10 -0
- package/dist-server/graphql/types/shipping-provider/index.js.map +1 -0
- package/dist-server/graphql/types/shipping-provider/shipping-provider-list.js +13 -0
- package/dist-server/graphql/types/shipping-provider/shipping-provider-list.js.map +1 -0
- package/dist-server/graphql/types/shipping-provider/shipping-provider.js +13 -0
- package/dist-server/graphql/types/shipping-provider/shipping-provider.js.map +1 -0
- package/package.json +37 -37
- package/server/graphql/resolvers/custom/elccl/elccl-inventory-history-report.ts +4 -2
- package/server/graphql/resolvers/custom/elccl/elccl-inventory-history-summary-report.ts +1 -1
- package/server/graphql/resolvers/index.ts +3 -1
- package/server/graphql/resolvers/reports/product-label-report.ts +1 -0
- package/server/graphql/resolvers/shipping-provider/index.ts +5 -0
- package/server/graphql/resolvers/shipping-provider/shipping-providers.ts +20 -0
- package/server/graphql/types/custom/elccl/elccl-inventory-report.ts +1 -1
- package/server/graphql/types/index.ts +5 -2
- package/server/graphql/types/shipping-provider/index.ts +8 -0
- package/server/graphql/types/shipping-provider/shipping-provider-list.ts +7 -0
- package/server/graphql/types/shipping-provider/shipping-provider.ts +7 -0
- package/things-factory.config.js +6 -0
- package/translations/en.json +28 -0
- package/translations/ko.json +85 -36
- package/translations/ms.json +86 -37
- package/translations/zh.json +99 -51
|
@@ -361,10 +361,9 @@ class OnhandInventory extends connect(store)(localize(i18next)(PageView)) {
|
|
|
361
361
|
const expFilters = (await this.searchExpForm?.getQueryFilters()) || []
|
|
362
362
|
const response = await client.query({
|
|
363
363
|
query: gql`
|
|
364
|
-
query onhandInventories($filters: [Filter], $pagination: Pagination, $sortings: [Sorting]) {
|
|
364
|
+
query onhandInventories($filters: [Filter!], $pagination: Pagination, $sortings: [Sorting!]) {
|
|
365
365
|
onhandInventories(filters: $filters, pagination: $pagination, sortings: $sortings) {
|
|
366
366
|
items {
|
|
367
|
-
id
|
|
368
367
|
palletId
|
|
369
368
|
cartonId
|
|
370
369
|
batchId
|
|
@@ -16,11 +16,6 @@ import { isMobileDevice } from '@things-factory/utils'
|
|
|
16
16
|
import { fetchLocationSortingRule } from '../../fetch-location-sorting-rule'
|
|
17
17
|
import { LOCATION_SORTING_RULE } from '../constants'
|
|
18
18
|
|
|
19
|
-
// import { openPopup } from '@things-factory/layout-base'
|
|
20
|
-
// import { fetchLocationSortingRule } from '../../fetch-location-sorting-rule'
|
|
21
|
-
// import { INVENTORY_STATUS, LOCATION_SORTING_RULE } from '../constants'
|
|
22
|
-
// import { fetchSettingRule } from '../../../fetch-setting-value'
|
|
23
|
-
|
|
24
19
|
const _ = require('lodash')
|
|
25
20
|
|
|
26
21
|
class CreateCycleCount extends localize(i18next)(PageView) {
|
|
@@ -166,7 +161,7 @@ class CreateCycleCount extends localize(i18next)(PageView) {
|
|
|
166
161
|
basicArgs: {
|
|
167
162
|
filters: [
|
|
168
163
|
{ name: 'bizplace_id', operator: 'eq', value: this._bizplaceId },
|
|
169
|
-
{ name: '
|
|
164
|
+
{ name: 'hideBundle', operator: 'eq', value: true }
|
|
170
165
|
]
|
|
171
166
|
},
|
|
172
167
|
nameField: 'batchId',
|
|
@@ -1,18 +1,21 @@
|
|
|
1
|
-
import { DirectPrinter } from '@things-factory/barcode-base'
|
|
2
1
|
import '@things-factory/form-ui'
|
|
3
2
|
import '@things-factory/grist-ui'
|
|
4
|
-
import { i18next, localize } from '@things-factory/i18n-base'
|
|
5
3
|
import '@things-factory/import-ui'
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
|
|
9
|
-
import { gqlBuilder, isMobileDevice } from '@things-factory/utils'
|
|
4
|
+
import './generate-location-list'
|
|
5
|
+
import './print-location-label'
|
|
6
|
+
|
|
10
7
|
import gql from 'graphql-tag'
|
|
11
8
|
import { css, html } from 'lit-element'
|
|
12
9
|
import { connect } from 'pwa-helpers/connect-mixin'
|
|
13
|
-
|
|
14
|
-
import '
|
|
15
|
-
import '
|
|
10
|
+
|
|
11
|
+
import { DirectPrinter } from '@things-factory/barcode-base'
|
|
12
|
+
import { i18next, localize } from '@things-factory/i18n-base'
|
|
13
|
+
import { openPopup } from '@things-factory/layout-base'
|
|
14
|
+
import { client, CustomAlert, PageView, store } from '@things-factory/shell'
|
|
15
|
+
import { CommonButtonStyles, ScrollbarStyles } from '@things-factory/styles'
|
|
16
|
+
import { gqlBuilder, isMobileDevice } from '@things-factory/utils'
|
|
17
|
+
|
|
18
|
+
import { LOCATION_LABEL_SETTING_KEY, LOCATION_STATUS, LOCATION_TYPE } from '../constants'
|
|
16
19
|
|
|
17
20
|
class LocationList extends connect(store)(localize(i18next)(PageView)) {
|
|
18
21
|
static get styles() {
|
|
@@ -130,8 +133,19 @@ class LocationList extends connect(store)(localize(i18next)(PageView)) {
|
|
|
130
133
|
{
|
|
131
134
|
label: i18next.t('field.type'),
|
|
132
135
|
name: 'type',
|
|
133
|
-
type: '
|
|
134
|
-
|
|
136
|
+
type: 'select',
|
|
137
|
+
options: [
|
|
138
|
+
{ value: '' },
|
|
139
|
+
...Object.values(LOCATION_TYPE)
|
|
140
|
+
.map(type => {
|
|
141
|
+
return {
|
|
142
|
+
name: type.name,
|
|
143
|
+
value: type.value
|
|
144
|
+
}
|
|
145
|
+
})
|
|
146
|
+
.sort((a, b) => (a.name > b.name ? 1 : -1))
|
|
147
|
+
],
|
|
148
|
+
props: { searchOper: 'eq' }
|
|
135
149
|
},
|
|
136
150
|
{
|
|
137
151
|
label: i18next.t('field.zone'),
|
|
@@ -160,8 +174,19 @@ class LocationList extends connect(store)(localize(i18next)(PageView)) {
|
|
|
160
174
|
{
|
|
161
175
|
label: i18next.t('field.status'),
|
|
162
176
|
name: 'status',
|
|
163
|
-
type: '
|
|
164
|
-
|
|
177
|
+
type: 'select',
|
|
178
|
+
options: [
|
|
179
|
+
{ value: '' },
|
|
180
|
+
...Object.values(LOCATION_STATUS)
|
|
181
|
+
.map(status => {
|
|
182
|
+
return {
|
|
183
|
+
name: status.name,
|
|
184
|
+
value: status.value
|
|
185
|
+
}
|
|
186
|
+
})
|
|
187
|
+
.sort((a, b) => (a.name > b.name ? 1 : -1))
|
|
188
|
+
],
|
|
189
|
+
props: { searchOper: 'eq' }
|
|
165
190
|
}
|
|
166
191
|
]
|
|
167
192
|
|
|
@@ -185,10 +210,18 @@ class LocationList extends connect(store)(localize(i18next)(PageView)) {
|
|
|
185
210
|
width: 150
|
|
186
211
|
},
|
|
187
212
|
{
|
|
188
|
-
type: '
|
|
213
|
+
type: 'select',
|
|
189
214
|
name: 'type',
|
|
190
215
|
header: i18next.t('field.type'),
|
|
191
|
-
record: {
|
|
216
|
+
record: {
|
|
217
|
+
editable: true,
|
|
218
|
+
options: [
|
|
219
|
+
'',
|
|
220
|
+
...Object.values(LOCATION_TYPE)
|
|
221
|
+
.map(type => type.value)
|
|
222
|
+
.sort()
|
|
223
|
+
]
|
|
224
|
+
},
|
|
192
225
|
imex: { header: i18next.t('field.type'), key: 'type', width: 50, type: 'string' },
|
|
193
226
|
sortable: true,
|
|
194
227
|
width: 150
|
|
@@ -231,10 +264,18 @@ class LocationList extends connect(store)(localize(i18next)(PageView)) {
|
|
|
231
264
|
width: 80
|
|
232
265
|
},
|
|
233
266
|
{
|
|
234
|
-
type: '
|
|
267
|
+
type: 'select',
|
|
235
268
|
name: 'status',
|
|
236
269
|
header: i18next.t('field.status'),
|
|
237
|
-
record: {
|
|
270
|
+
record: {
|
|
271
|
+
editable: true,
|
|
272
|
+
options: [
|
|
273
|
+
'',
|
|
274
|
+
...Object.values(LOCATION_STATUS)
|
|
275
|
+
.map(status => status.value)
|
|
276
|
+
.sort()
|
|
277
|
+
]
|
|
278
|
+
},
|
|
238
279
|
imex: { header: i18next.t('field.status'), key: 'status', width: 50, type: 'string' },
|
|
239
280
|
sortable: true,
|
|
240
281
|
width: 80
|
|
@@ -1,15 +1,21 @@
|
|
|
1
|
-
import { MultiColumnFormStyles } from '@things-factory/form-ui'
|
|
2
1
|
import '@things-factory/grist-ui'
|
|
2
|
+
import '../../components/attachment-viewer'
|
|
3
|
+
import '../../components/vas-templates'
|
|
4
|
+
import './edit-product-popup'
|
|
5
|
+
import './proceed-edit-product-popup'
|
|
6
|
+
import './view-product-changes-popup'
|
|
7
|
+
|
|
8
|
+
import gql from 'graphql-tag'
|
|
9
|
+
import { css, html } from 'lit-element'
|
|
10
|
+
|
|
11
|
+
import { MultiColumnFormStyles } from '@things-factory/form-ui'
|
|
3
12
|
import { getRenderer } from '@things-factory/grist-ui'
|
|
4
13
|
import { i18next, localize } from '@things-factory/i18n-base'
|
|
5
14
|
import { openPopup } from '@things-factory/layout-base'
|
|
6
15
|
import { client, CustomAlert, navigate, PageView } from '@things-factory/shell'
|
|
7
16
|
import { CommonButtonStyles } from '@things-factory/styles'
|
|
8
17
|
import { isMobileDevice } from '@things-factory/utils'
|
|
9
|
-
|
|
10
|
-
import { css, html } from 'lit-element'
|
|
11
|
-
import '../../components/attachment-viewer'
|
|
12
|
-
import '../../components/vas-templates'
|
|
18
|
+
|
|
13
19
|
import {
|
|
14
20
|
ORDER_PRODUCT_STATUS,
|
|
15
21
|
ORDER_STATUS,
|
|
@@ -18,9 +24,6 @@ import {
|
|
|
18
24
|
VAS_ETC_TYPE,
|
|
19
25
|
VAS_PRODUCT_TYPE
|
|
20
26
|
} from '../../constants'
|
|
21
|
-
import './edit-product-popup'
|
|
22
|
-
import './proceed-edit-product-popup'
|
|
23
|
-
import './view-product-changes-popup'
|
|
24
27
|
|
|
25
28
|
class ArrivalNoticeDetail extends localize(i18next)(PageView) {
|
|
26
29
|
static get properties() {
|
|
@@ -927,6 +930,10 @@ class ArrivalNoticeDetail extends localize(i18next)(PageView) {
|
|
|
927
930
|
}
|
|
928
931
|
|
|
929
932
|
openEditProductPopup() {
|
|
933
|
+
this.productData.records = this.productData.records.filter(
|
|
934
|
+
orderProduct => orderProduct.status !== ORDER_PRODUCT_STATUS.UNLOADED.value
|
|
935
|
+
)
|
|
936
|
+
|
|
930
937
|
openPopup(
|
|
931
938
|
html`
|
|
932
939
|
<edit-product-popup
|
|
@@ -204,12 +204,29 @@ class ArrivalNoticeList extends localize(i18next)(PageView) {
|
|
|
204
204
|
]
|
|
205
205
|
|
|
206
206
|
this.config = {
|
|
207
|
-
list: {
|
|
207
|
+
list: {
|
|
208
|
+
fields: [
|
|
209
|
+
'name',
|
|
210
|
+
'bizplace',
|
|
211
|
+
'refNo',
|
|
212
|
+
'refNo2',
|
|
213
|
+
'refNo3',
|
|
214
|
+
'etaDate',
|
|
215
|
+
'container',
|
|
216
|
+
'importCargo',
|
|
217
|
+
'ownTransport',
|
|
218
|
+
'crossDocking',
|
|
219
|
+
'status',
|
|
220
|
+
'createdAt',
|
|
221
|
+
'updatedAt',
|
|
222
|
+
'creator'
|
|
223
|
+
]
|
|
224
|
+
},
|
|
208
225
|
rows: { appendable: false, selectable: { multiple: true } },
|
|
209
226
|
pagination: { limit: 100, pages: [20, 50, 100, 200, 500] },
|
|
210
227
|
columns: [
|
|
211
|
-
{ type: 'gutter', gutterName: 'dirty' },
|
|
212
228
|
{ type: 'gutter', gutterName: 'sequence' },
|
|
229
|
+
{ type: 'gutter', gutterName: 'row-selector', multiple: true },
|
|
213
230
|
{
|
|
214
231
|
type: 'gutter',
|
|
215
232
|
gutterName: 'button',
|
|
@@ -229,6 +246,7 @@ class ArrivalNoticeList extends localize(i18next)(PageView) {
|
|
|
229
246
|
type: 'string',
|
|
230
247
|
name: 'name',
|
|
231
248
|
header: i18next.t('field.gan'),
|
|
249
|
+
label: true,
|
|
232
250
|
sortable: true,
|
|
233
251
|
width: 180
|
|
234
252
|
},
|
|
@@ -236,6 +254,7 @@ class ArrivalNoticeList extends localize(i18next)(PageView) {
|
|
|
236
254
|
type: 'object',
|
|
237
255
|
name: 'bizplace',
|
|
238
256
|
header: i18next.t('field.company'),
|
|
257
|
+
label: true,
|
|
239
258
|
sortable: true,
|
|
240
259
|
width: 250
|
|
241
260
|
},
|
|
@@ -243,6 +262,7 @@ class ArrivalNoticeList extends localize(i18next)(PageView) {
|
|
|
243
262
|
type: 'string',
|
|
244
263
|
name: 'refNo',
|
|
245
264
|
header: i18next.t('field.ref_no'),
|
|
265
|
+
label: true,
|
|
246
266
|
sortable: true,
|
|
247
267
|
width: 150
|
|
248
268
|
},
|
|
@@ -250,6 +270,7 @@ class ArrivalNoticeList extends localize(i18next)(PageView) {
|
|
|
250
270
|
type: 'string',
|
|
251
271
|
name: 'refNo2',
|
|
252
272
|
header: i18next.t('field.ref_no_2'),
|
|
273
|
+
label: true,
|
|
253
274
|
sortable: true,
|
|
254
275
|
width: 150
|
|
255
276
|
},
|
|
@@ -257,6 +278,7 @@ class ArrivalNoticeList extends localize(i18next)(PageView) {
|
|
|
257
278
|
type: 'string',
|
|
258
279
|
name: 'refNo3',
|
|
259
280
|
header: i18next.t('field.ref_no_3'),
|
|
281
|
+
label: true,
|
|
260
282
|
sortable: true,
|
|
261
283
|
width: 150
|
|
262
284
|
},
|
|
@@ -264,6 +286,7 @@ class ArrivalNoticeList extends localize(i18next)(PageView) {
|
|
|
264
286
|
type: 'date',
|
|
265
287
|
name: 'etaDate',
|
|
266
288
|
header: i18next.t('field.eta'),
|
|
289
|
+
label: true,
|
|
267
290
|
sortable: true,
|
|
268
291
|
width: 120
|
|
269
292
|
},
|
|
@@ -271,6 +294,7 @@ class ArrivalNoticeList extends localize(i18next)(PageView) {
|
|
|
271
294
|
type: 'boolean',
|
|
272
295
|
name: 'container',
|
|
273
296
|
header: i18next.t('field.container'),
|
|
297
|
+
label: true,
|
|
274
298
|
sortable: true,
|
|
275
299
|
width: 60
|
|
276
300
|
},
|
|
@@ -278,6 +302,7 @@ class ArrivalNoticeList extends localize(i18next)(PageView) {
|
|
|
278
302
|
type: 'boolean',
|
|
279
303
|
name: 'importCargo',
|
|
280
304
|
header: i18next.t('field.import_cargo'),
|
|
305
|
+
label: true,
|
|
281
306
|
sortable: true,
|
|
282
307
|
width: 60
|
|
283
308
|
},
|
|
@@ -285,6 +310,7 @@ class ArrivalNoticeList extends localize(i18next)(PageView) {
|
|
|
285
310
|
type: 'boolean',
|
|
286
311
|
name: 'ownTransport',
|
|
287
312
|
header: i18next.t('field.own_transport'),
|
|
313
|
+
label: true,
|
|
288
314
|
sortable: true,
|
|
289
315
|
width: 60
|
|
290
316
|
},
|
|
@@ -292,18 +318,23 @@ class ArrivalNoticeList extends localize(i18next)(PageView) {
|
|
|
292
318
|
type: 'boolean',
|
|
293
319
|
name: 'crossDocking',
|
|
294
320
|
header: i18next.t('field.cross_docking'),
|
|
321
|
+
label: true,
|
|
322
|
+
sortable: true,
|
|
295
323
|
width: 60
|
|
296
324
|
},
|
|
297
325
|
{
|
|
298
326
|
type: 'object',
|
|
299
327
|
name: 'releaseGood',
|
|
300
328
|
header: i18next.t('field.ro'),
|
|
329
|
+
label: true,
|
|
330
|
+
sortable: true,
|
|
301
331
|
width: 160
|
|
302
332
|
},
|
|
303
333
|
{
|
|
304
334
|
type: 'string',
|
|
305
335
|
name: 'status',
|
|
306
336
|
header: i18next.t('field.status'),
|
|
337
|
+
label: true,
|
|
307
338
|
sortable: true,
|
|
308
339
|
width: 120
|
|
309
340
|
},
|
|
@@ -311,6 +342,7 @@ class ArrivalNoticeList extends localize(i18next)(PageView) {
|
|
|
311
342
|
type: 'datetime',
|
|
312
343
|
name: 'createdAt',
|
|
313
344
|
header: i18next.t('field.created_at'),
|
|
345
|
+
label: true,
|
|
314
346
|
sortable: true,
|
|
315
347
|
width: 160
|
|
316
348
|
},
|
|
@@ -318,6 +350,7 @@ class ArrivalNoticeList extends localize(i18next)(PageView) {
|
|
|
318
350
|
type: 'datetime',
|
|
319
351
|
name: 'updatedAt',
|
|
320
352
|
header: i18next.t('field.updated_at'),
|
|
353
|
+
label: true,
|
|
321
354
|
sortable: true,
|
|
322
355
|
width: 160
|
|
323
356
|
},
|
|
@@ -325,6 +358,7 @@ class ArrivalNoticeList extends localize(i18next)(PageView) {
|
|
|
325
358
|
type: 'object',
|
|
326
359
|
name: 'creator',
|
|
327
360
|
header: i18next.t('field.created_by'),
|
|
361
|
+
label: true,
|
|
328
362
|
sortable: true,
|
|
329
363
|
width: 200
|
|
330
364
|
}
|
|
@@ -447,12 +481,59 @@ class ArrivalNoticeList extends localize(i18next)(PageView) {
|
|
|
447
481
|
}
|
|
448
482
|
}
|
|
449
483
|
|
|
450
|
-
|
|
451
|
-
|
|
484
|
+
async _exportableData() {
|
|
485
|
+
try {
|
|
486
|
+
let data = []
|
|
487
|
+
|
|
488
|
+
var headerSetting = [
|
|
489
|
+
{ header: i18next.t('field.order_no'), key: 'name', width: 25, type: 'string' },
|
|
490
|
+
{ header: i18next.t('field.company'), key: 'bizplaceName', width: 25, type: 'string' },
|
|
491
|
+
{ header: i18next.t('field.ref_no'), key: 'refNo', width: 25, type: 'string' },
|
|
492
|
+
{ header: i18next.t('field.ref_no_2'), key: 'refNo2', width: 25, type: 'string' },
|
|
493
|
+
{ header: i18next.t('field.ref_no_3'), key: 'refNo3', width: 25, type: 'string' },
|
|
494
|
+
{ header: i18next.t('field.eta_date'), key: 'etaDate', width: 30, type: 'string' },
|
|
495
|
+
{ header: i18next.t('field.container'), key: 'container', width: 30, type: 'string' },
|
|
496
|
+
{ header: i18next.t('field.import_cargo'), key: 'importCargo', width: 30, type: 'string' },
|
|
497
|
+
{ header: i18next.t('field.cross_docking'), key: 'crossDocking', width: 30, type: 'string' },
|
|
498
|
+
{ header: i18next.t('field.status'), key: 'status', width: 25, type: 'string' },
|
|
499
|
+
{ header: i18next.t('field.created_at'), key: 'createdAt', width: 30, type: 'date' },
|
|
500
|
+
{ header: i18next.t('field.updated_at'), key: 'updatedAt', width: 30, type: 'date' },
|
|
501
|
+
{ header: i18next.t('field.created_by'), key: 'creatorName', width: 25, type: 'string' }
|
|
502
|
+
]
|
|
503
|
+
|
|
504
|
+
if (this.dataGrist.selected && this.dataGrist.selected.length > 0) {
|
|
505
|
+
data = this.dataGrist.selected.map(record => {
|
|
506
|
+
return {
|
|
507
|
+
...record,
|
|
508
|
+
bizplaceName: record.bizplace?.name,
|
|
509
|
+
creatorName: record.creator?.name
|
|
510
|
+
}
|
|
511
|
+
})
|
|
512
|
+
} else {
|
|
513
|
+
data = (await this.fetchHandler({ page: 1, limit: 9999999 })).records.map(record => {
|
|
514
|
+
return {
|
|
515
|
+
...record,
|
|
516
|
+
bizplaceName: record.bizplace?.name,
|
|
517
|
+
creatorName: record.creator?.name
|
|
518
|
+
}
|
|
519
|
+
})
|
|
520
|
+
}
|
|
521
|
+
|
|
522
|
+
return { header: headerSetting, data }
|
|
523
|
+
} catch (e) {
|
|
524
|
+
this._showToast(e)
|
|
525
|
+
}
|
|
452
526
|
}
|
|
453
527
|
|
|
454
|
-
|
|
455
|
-
|
|
528
|
+
_showToast({ type, message }) {
|
|
529
|
+
document.dispatchEvent(
|
|
530
|
+
new CustomEvent('notify', {
|
|
531
|
+
detail: {
|
|
532
|
+
type,
|
|
533
|
+
message
|
|
534
|
+
}
|
|
535
|
+
})
|
|
536
|
+
)
|
|
456
537
|
}
|
|
457
538
|
}
|
|
458
539
|
|
|
@@ -216,12 +216,27 @@ class ArrivalNoticeRequests extends localize(i18next)(PageView) {
|
|
|
216
216
|
this.config = {
|
|
217
217
|
rows: { appendable: false, selectable: { multiple: true } },
|
|
218
218
|
list: {
|
|
219
|
-
fields: [
|
|
219
|
+
fields: [
|
|
220
|
+
'name',
|
|
221
|
+
'bizplace',
|
|
222
|
+
'refNo',
|
|
223
|
+
'refNo2',
|
|
224
|
+
'refNo3',
|
|
225
|
+
'etaDate',
|
|
226
|
+
'container',
|
|
227
|
+
'importCargo',
|
|
228
|
+
'ownTransport',
|
|
229
|
+
'crossDocking',
|
|
230
|
+
'status',
|
|
231
|
+
'createdAt',
|
|
232
|
+
'updatedAt',
|
|
233
|
+
'acceptedBy'
|
|
234
|
+
]
|
|
220
235
|
},
|
|
221
236
|
pagination: { limit: 100, pages: [20, 50, 100, 200, 500] },
|
|
222
237
|
columns: [
|
|
223
|
-
{ type: 'gutter', gutterName: 'dirty' },
|
|
224
238
|
{ type: 'gutter', gutterName: 'sequence' },
|
|
239
|
+
{ type: 'gutter', gutterName: 'row-selector', multiple: true },
|
|
225
240
|
{
|
|
226
241
|
type: 'gutter',
|
|
227
242
|
gutterName: 'button',
|
|
@@ -245,6 +260,7 @@ class ArrivalNoticeRequests extends localize(i18next)(PageView) {
|
|
|
245
260
|
type: 'string',
|
|
246
261
|
name: 'name',
|
|
247
262
|
header: i18next.t('field.gan'),
|
|
263
|
+
label: true,
|
|
248
264
|
sortable: true,
|
|
249
265
|
width: 180
|
|
250
266
|
},
|
|
@@ -252,6 +268,7 @@ class ArrivalNoticeRequests extends localize(i18next)(PageView) {
|
|
|
252
268
|
type: 'object',
|
|
253
269
|
name: 'bizplace',
|
|
254
270
|
header: i18next.t('field.company'),
|
|
271
|
+
label: true,
|
|
255
272
|
sortable: true,
|
|
256
273
|
width: 250
|
|
257
274
|
},
|
|
@@ -259,6 +276,7 @@ class ArrivalNoticeRequests extends localize(i18next)(PageView) {
|
|
|
259
276
|
type: 'string',
|
|
260
277
|
name: 'refNo',
|
|
261
278
|
header: i18next.t('field.ref_no'),
|
|
279
|
+
label: true,
|
|
262
280
|
sortable: true,
|
|
263
281
|
width: 150
|
|
264
282
|
},
|
|
@@ -266,6 +284,7 @@ class ArrivalNoticeRequests extends localize(i18next)(PageView) {
|
|
|
266
284
|
type: 'string',
|
|
267
285
|
name: 'refNo2',
|
|
268
286
|
header: i18next.t('field.ref_no_2'),
|
|
287
|
+
label: true,
|
|
269
288
|
sortable: true,
|
|
270
289
|
width: 150
|
|
271
290
|
},
|
|
@@ -273,6 +292,7 @@ class ArrivalNoticeRequests extends localize(i18next)(PageView) {
|
|
|
273
292
|
type: 'string',
|
|
274
293
|
name: 'refNo3',
|
|
275
294
|
header: i18next.t('field.ref_no_3'),
|
|
295
|
+
label: true,
|
|
276
296
|
sortable: true,
|
|
277
297
|
width: 150
|
|
278
298
|
},
|
|
@@ -280,6 +300,7 @@ class ArrivalNoticeRequests extends localize(i18next)(PageView) {
|
|
|
280
300
|
type: 'date',
|
|
281
301
|
name: 'etaDate',
|
|
282
302
|
header: i18next.t('field.eta'),
|
|
303
|
+
label: true,
|
|
283
304
|
sortable: true,
|
|
284
305
|
width: 120
|
|
285
306
|
},
|
|
@@ -287,6 +308,7 @@ class ArrivalNoticeRequests extends localize(i18next)(PageView) {
|
|
|
287
308
|
type: 'boolean',
|
|
288
309
|
name: 'container',
|
|
289
310
|
header: i18next.t('field.container'),
|
|
311
|
+
label: true,
|
|
290
312
|
sortable: true,
|
|
291
313
|
width: 60
|
|
292
314
|
},
|
|
@@ -294,6 +316,7 @@ class ArrivalNoticeRequests extends localize(i18next)(PageView) {
|
|
|
294
316
|
type: 'boolean',
|
|
295
317
|
name: 'importCargo',
|
|
296
318
|
header: i18next.t('field.import_cargo'),
|
|
319
|
+
label: true,
|
|
297
320
|
sortable: true,
|
|
298
321
|
width: 60
|
|
299
322
|
},
|
|
@@ -301,6 +324,7 @@ class ArrivalNoticeRequests extends localize(i18next)(PageView) {
|
|
|
301
324
|
type: 'boolean',
|
|
302
325
|
name: 'ownTransport',
|
|
303
326
|
header: i18next.t('field.own_transport'),
|
|
327
|
+
label: true,
|
|
304
328
|
sortable: true,
|
|
305
329
|
width: 60
|
|
306
330
|
},
|
|
@@ -308,18 +332,21 @@ class ArrivalNoticeRequests extends localize(i18next)(PageView) {
|
|
|
308
332
|
type: 'boolean',
|
|
309
333
|
name: 'crossDocking',
|
|
310
334
|
header: i18next.t('field.cross_docking'),
|
|
335
|
+
label: true,
|
|
311
336
|
width: 60
|
|
312
337
|
},
|
|
313
338
|
{
|
|
314
339
|
type: 'object',
|
|
315
340
|
name: 'releaseGood',
|
|
316
341
|
header: i18next.t('field.ro'),
|
|
342
|
+
label: true,
|
|
317
343
|
width: 160
|
|
318
344
|
},
|
|
319
345
|
{
|
|
320
346
|
type: 'string',
|
|
321
347
|
name: 'status',
|
|
322
348
|
header: i18next.t('field.status'),
|
|
349
|
+
label: true,
|
|
323
350
|
sortable: true,
|
|
324
351
|
width: 120
|
|
325
352
|
},
|
|
@@ -327,6 +354,7 @@ class ArrivalNoticeRequests extends localize(i18next)(PageView) {
|
|
|
327
354
|
type: 'datetime',
|
|
328
355
|
name: 'createdAt',
|
|
329
356
|
header: i18next.t('field.created_at'),
|
|
357
|
+
label: true,
|
|
330
358
|
sortable: true,
|
|
331
359
|
width: 160
|
|
332
360
|
},
|
|
@@ -334,6 +362,7 @@ class ArrivalNoticeRequests extends localize(i18next)(PageView) {
|
|
|
334
362
|
type: 'datetime',
|
|
335
363
|
name: 'updatedAt',
|
|
336
364
|
header: i18next.t('field.updated_at'),
|
|
365
|
+
label: true,
|
|
337
366
|
sortable: true,
|
|
338
367
|
width: 160
|
|
339
368
|
},
|
|
@@ -341,6 +370,7 @@ class ArrivalNoticeRequests extends localize(i18next)(PageView) {
|
|
|
341
370
|
type: 'object',
|
|
342
371
|
name: 'acceptedBy',
|
|
343
372
|
header: i18next.t('field.accepted_by'),
|
|
373
|
+
label: true,
|
|
344
374
|
sortable: true,
|
|
345
375
|
width: 200
|
|
346
376
|
}
|
|
@@ -458,12 +488,59 @@ class ArrivalNoticeRequests extends localize(i18next)(PageView) {
|
|
|
458
488
|
}
|
|
459
489
|
}
|
|
460
490
|
|
|
461
|
-
|
|
462
|
-
|
|
491
|
+
async _exportableData() {
|
|
492
|
+
try {
|
|
493
|
+
let data = []
|
|
494
|
+
|
|
495
|
+
var headerSetting = [
|
|
496
|
+
{ header: i18next.t('field.order_no'), key: 'name', width: 25, type: 'string' },
|
|
497
|
+
{ header: i18next.t('field.company'), key: 'bizplaceName', width: 25, type: 'string' },
|
|
498
|
+
{ header: i18next.t('field.ref_no'), key: 'refNo', width: 25, type: 'string' },
|
|
499
|
+
{ header: i18next.t('field.ref_no_2'), key: 'refNo2', width: 25, type: 'string' },
|
|
500
|
+
{ header: i18next.t('field.ref_no_3'), key: 'refNo3', width: 25, type: 'string' },
|
|
501
|
+
{ header: i18next.t('field.eta_date'), key: 'etaDate', width: 30, type: 'string' },
|
|
502
|
+
{ header: i18next.t('field.container'), key: 'container', width: 30, type: 'string' },
|
|
503
|
+
{ header: i18next.t('field.import_cargo'), key: 'importCargo', width: 30, type: 'string' },
|
|
504
|
+
{ header: i18next.t('field.cross_docking'), key: 'crossDocking', width: 30, type: 'string' },
|
|
505
|
+
{ header: i18next.t('field.status'), key: 'status', width: 25, type: 'string' },
|
|
506
|
+
{ header: i18next.t('field.created_at'), key: 'createdAt', width: 30, type: 'date' },
|
|
507
|
+
{ header: i18next.t('field.updated_at'), key: 'updatedAt', width: 30, type: 'date' },
|
|
508
|
+
{ header: i18next.t('field.accepted_by'), key: 'acceptedByName', width: 25, type: 'string' }
|
|
509
|
+
]
|
|
510
|
+
|
|
511
|
+
if (this.dataGrist.selected && this.dataGrist.selected.length > 0) {
|
|
512
|
+
data = this.dataGrist.selected.map(record => {
|
|
513
|
+
return {
|
|
514
|
+
...record,
|
|
515
|
+
bizplaceName: record.bizplace?.name,
|
|
516
|
+
acceptedByName: record.acceptedBy?.name
|
|
517
|
+
}
|
|
518
|
+
})
|
|
519
|
+
} else {
|
|
520
|
+
data = (await this.fetchHandler({ page: 1, limit: 9999999 })).records.map(record => {
|
|
521
|
+
return {
|
|
522
|
+
...record,
|
|
523
|
+
bizplaceName: record.bizplace?.name,
|
|
524
|
+
acceptedByName: record.acceptedBy?.name
|
|
525
|
+
}
|
|
526
|
+
})
|
|
527
|
+
}
|
|
528
|
+
|
|
529
|
+
return { header: headerSetting, data }
|
|
530
|
+
} catch (e) {
|
|
531
|
+
this._showToast(e)
|
|
532
|
+
}
|
|
463
533
|
}
|
|
464
534
|
|
|
465
|
-
|
|
466
|
-
|
|
535
|
+
_showToast({ type, message }) {
|
|
536
|
+
document.dispatchEvent(
|
|
537
|
+
new CustomEvent('notify', {
|
|
538
|
+
detail: {
|
|
539
|
+
type,
|
|
540
|
+
message
|
|
541
|
+
}
|
|
542
|
+
})
|
|
543
|
+
)
|
|
467
544
|
}
|
|
468
545
|
}
|
|
469
546
|
|
|
@@ -660,7 +660,7 @@ class CreateArrivalNotice extends localize(i18next)(PageView) {
|
|
|
660
660
|
name: 'manufactureYear',
|
|
661
661
|
header: i18next.t('field.manufacture_year'),
|
|
662
662
|
imex: { header: i18next.t('field.manufacture_year'), key: 'manufactureYear', width: 25, type: 'float' },
|
|
663
|
-
record: { editable: editable
|
|
663
|
+
record: { editable: editable },
|
|
664
664
|
width: 100
|
|
665
665
|
},
|
|
666
666
|
{
|
|
@@ -786,6 +786,26 @@ class CreateArrivalNotice extends localize(i18next)(PageView) {
|
|
|
786
786
|
}
|
|
787
787
|
}
|
|
788
788
|
|
|
789
|
+
if (changedColumn === 'manufactureYear') {
|
|
790
|
+
let manufactureYear = changeRecord.manufactureYear
|
|
791
|
+
const regExp = /^(181[2-9]|18[2-9]\d|19\d\d|2\d{3}|30[0-3]\d|304[0-8])$/
|
|
792
|
+
|
|
793
|
+
if (typeof manufactureYear === undefined || !regExp.test(manufactureYear)) {
|
|
794
|
+
if (manufactureYear === 0) {
|
|
795
|
+
delete event.detail.after[event.detail.column.name]
|
|
796
|
+
} else {
|
|
797
|
+
throw new Error(i18next.t('text.invalid_x', { state: { x: i18next.t('label.manufacture_year') } }))
|
|
798
|
+
}
|
|
799
|
+
}
|
|
800
|
+
}
|
|
801
|
+
|
|
802
|
+
if (changedColumn === 'unitPrice') {
|
|
803
|
+
let unitPrice = changeRecord.unitPrice
|
|
804
|
+
if (typeof unitPrice === undefined || unitPrice < 0) {
|
|
805
|
+
throw new Error(i18next.t('text.x_should_be_positive', { state: { x: i18next.t('label.unit_price') } }))
|
|
806
|
+
}
|
|
807
|
+
}
|
|
808
|
+
|
|
789
809
|
this._updateVasTargets(true)
|
|
790
810
|
} catch (e) {
|
|
791
811
|
const beforeValue = event.detail.before && event.detail.before[event.detail.column.name]
|
|
@@ -917,7 +937,7 @@ class CreateArrivalNotice extends localize(i18next)(PageView) {
|
|
|
917
937
|
|
|
918
938
|
const response = await client.query({
|
|
919
939
|
query: gql`
|
|
920
|
-
query productDetails($filters: [Filter]) {
|
|
940
|
+
query productDetails($filters: [Filter!]!) {
|
|
921
941
|
productDetails(filters: $filters) {
|
|
922
942
|
items {
|
|
923
943
|
id
|
|
@@ -1461,6 +1481,7 @@ class CreateArrivalNotice extends localize(i18next)(PageView) {
|
|
|
1461
1481
|
this.vasGrist.reset()
|
|
1462
1482
|
this._strictProductSelection = await fetchSettingRule('strict-product-selection', e.detail.domain.id)
|
|
1463
1483
|
this._configureProductGrist()
|
|
1484
|
+
this._clearView()
|
|
1464
1485
|
}}"
|
|
1465
1486
|
></popup-partner-bizplaces-selector>
|
|
1466
1487
|
`,
|