@things-factory/operato-wms 3.7.2 → 3.7.7
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/components/select-product-popup.js +5 -1
- package/client/pages/constants/order.js +10 -0
- package/client/pages/inbound/putaway-product.js +162 -139
- package/client/pages/inventory-check/inspecting-product.js +146 -80
- package/client/pages/manifest/create-loading-manifest.js +314 -0
- package/client/pages/manifest/dispatcher-verification-popup.js +86 -0
- package/client/pages/manifest/loading-manifest-detail.js +345 -0
- package/client/pages/manifest/loading-manifest-list.js +305 -0
- package/client/pages/order/arrival-notice/create-arrival-notice.js +8 -1
- package/client/pages/order/goods-received-note/received-note-list.js +138 -6
- package/client/pages/order/release-order/b2b/b2b-order-list.js +45 -5
- package/client/pages/order/release-order/b2b/b2b-order-requests.js +45 -5
- package/client/pages/order/release-order/b2c/b2c-order-requests.js +181 -21
- package/client/pages/order/release-order/bulk-print-packing-list.js +23 -0
- package/client/pages/order/release-order/create-release-order.js +25 -4
- package/client/pages/order/release-order/receive-release-order-request.js +27 -24
- package/client/pages/order/release-order/release-extra-product-popup.js +189 -56
- package/client/pages/order/release-order/release-order-detail.js +292 -71
- package/client/pages/order/reverse-kitting-order/reverse-kitting-order-detail.js +115 -50
- package/client/pages/order/reverse-kitting-order/reverse-kitting-order-list.js +1 -6
- package/client/pages/order/reverse-kitting-order/reverse-kitting-pallet-label-popup.js +239 -0
- package/client/pages/order/transport-order/delivery-order-list.js +99 -59
- package/client/pages/outbound/loading-product.js +4 -1
- package/client/pages/outbound/merged-outbound-worksheet.js +39 -1
- package/client/pages/outbound/packing-product.js +4 -1
- package/client/pages/outbound/packing-worksheet-list.js +39 -1
- package/client/pages/outbound/picking-product.js +622 -290
- package/client/pages/outbound/serial-number-popup.js +280 -0
- package/client/pages/outbound/worksheet-picking.js +28 -2
- package/client/pages/report/product-label-report.js +401 -0
- package/client/pages/support/inventory-comparison.js +296 -0
- package/client/pages/vas/print-product-label.js +298 -132
- package/client/pages/vas/reverse-kitting/execute-reverse-kitting.js +30 -12
- package/client/pages/vas/reverse-kitting/popup-combination-sets.js +75 -5
- package/client/pages/vas/reverse-kitting/popup-reverse-kitting-template.js +113 -18
- package/client/route.js +23 -0
- package/dist-server/graphql/resolvers/custom/elccl/elccl-inventory-history-summary-report.js +64 -54
- package/dist-server/graphql/resolvers/custom/elccl/elccl-inventory-history-summary-report.js.map +1 -1
- package/dist-server/graphql/resolvers/extra/add-release-good-products.js +34 -9
- package/dist-server/graphql/resolvers/extra/add-release-good-products.js.map +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/inventory-comparison/index.js +6 -0
- package/dist-server/graphql/resolvers/inventory-comparison/index.js.map +1 -0
- package/dist-server/graphql/resolvers/inventory-comparison/inventory-comparison-list.js +78 -0
- package/dist-server/graphql/resolvers/inventory-comparison/inventory-comparison-list.js.map +1 -0
- 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/product-label-report.js +56 -0
- package/dist-server/graphql/resolvers/reports/product-label-report.js.map +1 -0
- package/dist-server/graphql/types/index.js +5 -2
- package/dist-server/graphql/types/index.js.map +1 -1
- package/dist-server/graphql/types/inventory-comparison/index.js +13 -0
- package/dist-server/graphql/types/inventory-comparison/index.js.map +1 -0
- package/dist-server/graphql/types/inventory-comparison/inventory-comparison-list.js +14 -0
- package/dist-server/graphql/types/inventory-comparison/inventory-comparison-list.js.map +1 -0
- package/dist-server/graphql/types/inventory-comparison/inventory-comparison.js +18 -0
- package/dist-server/graphql/types/inventory-comparison/inventory-comparison.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/product-label-report-list.js +14 -0
- package/dist-server/graphql/types/reports/product-label-report-list.js.map +1 -0
- package/dist-server/graphql/types/reports/product-label-report.js +16 -0
- package/dist-server/graphql/types/reports/product-label-report.js.map +1 -0
- package/package.json +65 -65
- package/server/graphql/resolvers/custom/elccl/elccl-inventory-history-summary-report.ts +75 -65
- package/server/graphql/resolvers/extra/add-release-good-products.ts +57 -15
- package/server/graphql/resolvers/index.ts +3 -1
- package/server/graphql/resolvers/inventory-comparison/index.ts +5 -0
- package/server/graphql/resolvers/inventory-comparison/inventory-comparison-list.ts +99 -0
- package/server/graphql/resolvers/reports/index.ts +3 -1
- package/server/graphql/resolvers/reports/product-label-report.ts +56 -0
- package/server/graphql/types/index.ts +5 -2
- package/server/graphql/types/inventory-comparison/index.ts +11 -0
- package/server/graphql/types/inventory-comparison/inventory-comparison-list.ts +8 -0
- package/server/graphql/types/inventory-comparison/inventory-comparison.ts +12 -0
- package/server/graphql/types/reports/index.ts +6 -1
- package/server/graphql/types/reports/product-label-report-list.ts +8 -0
- package/server/graphql/types/reports/product-label-report.ts +10 -0
- package/things-factory.config.js +24 -0
- package/translations/en.json +64 -12
- package/translations/ko.json +50 -1
- package/translations/ms.json +51 -1
- package/translations/zh.json +50 -1
|
@@ -7,10 +7,9 @@ import { css, html } from 'lit-element'
|
|
|
7
7
|
|
|
8
8
|
import { getCodeByName } from '@things-factory/code-base'
|
|
9
9
|
import { i18next, localize } from '@things-factory/i18n-base'
|
|
10
|
-
import { openPopup } from '@things-factory/layout-base'
|
|
11
10
|
import { client, navigate, PageView } from '@things-factory/shell'
|
|
12
11
|
import { ScrollbarStyles } from '@things-factory/styles'
|
|
13
|
-
import {
|
|
12
|
+
import { isMobileDevice } from '@things-factory/utils'
|
|
14
13
|
|
|
15
14
|
class DeliveryOrderList extends localize(i18next)(PageView) {
|
|
16
15
|
static get styles() {
|
|
@@ -126,6 +125,24 @@ class DeliveryOrderList extends localize(i18next)(PageView) {
|
|
|
126
125
|
],
|
|
127
126
|
props: { searchOper: 'eq' }
|
|
128
127
|
},
|
|
128
|
+
{
|
|
129
|
+
label: i18next.t('field.ref_no'),
|
|
130
|
+
name: 'refNo',
|
|
131
|
+
type: 'text',
|
|
132
|
+
props: { searchOper: 'i_like' }
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
label: i18next.t('field.ref_no_2'),
|
|
136
|
+
name: 'refNo2',
|
|
137
|
+
type: 'text',
|
|
138
|
+
props: { searchOper: 'i_like' }
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
label: i18next.t('field.ref_no_3'),
|
|
142
|
+
name: 'refNo3',
|
|
143
|
+
type: 'text',
|
|
144
|
+
props: { searchOper: 'i_like' }
|
|
145
|
+
},
|
|
129
146
|
{
|
|
130
147
|
name: 'status',
|
|
131
148
|
label: i18next.t('label.status'),
|
|
@@ -193,6 +210,7 @@ class DeliveryOrderList extends localize(i18next)(PageView) {
|
|
|
193
210
|
type: 'string',
|
|
194
211
|
name: 'name',
|
|
195
212
|
header: i18next.t('field.do_no'),
|
|
213
|
+
imex: { header: i18next.t('field.do_no'), key: 'name', width: 30, type: 'string' },
|
|
196
214
|
sortable: true,
|
|
197
215
|
width: 150
|
|
198
216
|
},
|
|
@@ -200,6 +218,7 @@ class DeliveryOrderList extends localize(i18next)(PageView) {
|
|
|
200
218
|
type: 'object',
|
|
201
219
|
name: 'releaseGood',
|
|
202
220
|
header: i18next.t('field.ro_no'),
|
|
221
|
+
imex: { header: i18next.t('field.ro_no'), key: 'releaseGood.name', width: 30, type: 'string' },
|
|
203
222
|
sortable: true,
|
|
204
223
|
width: 150
|
|
205
224
|
},
|
|
@@ -207,6 +226,23 @@ class DeliveryOrderList extends localize(i18next)(PageView) {
|
|
|
207
226
|
type: 'string',
|
|
208
227
|
name: 'refNo',
|
|
209
228
|
header: i18next.t('field.ref_no'),
|
|
229
|
+
imex: { header: i18next.t('field.refNo'), key: 'refNo', width: 25, type: 'string' },
|
|
230
|
+
sortable: true,
|
|
231
|
+
width: 150
|
|
232
|
+
},
|
|
233
|
+
{
|
|
234
|
+
type: 'string',
|
|
235
|
+
name: 'refNo2',
|
|
236
|
+
header: i18next.t('field.ref_no_2'),
|
|
237
|
+
imex: { header: i18next.t('field.ref_no_2'), key: 'refNo2', width: 25, type: 'string' },
|
|
238
|
+
sortable: true,
|
|
239
|
+
width: 150
|
|
240
|
+
},
|
|
241
|
+
{
|
|
242
|
+
type: 'string',
|
|
243
|
+
name: 'refNo3',
|
|
244
|
+
header: i18next.t('field.ref_no_3'),
|
|
245
|
+
imex: { header: i18next.t('field.ref_no_3'), key: 'refNo3', width: 25, type: 'string' },
|
|
210
246
|
sortable: true,
|
|
211
247
|
width: 150
|
|
212
248
|
},
|
|
@@ -214,6 +250,7 @@ class DeliveryOrderList extends localize(i18next)(PageView) {
|
|
|
214
250
|
type: 'object',
|
|
215
251
|
name: 'bizplace',
|
|
216
252
|
header: i18next.t('field.company'),
|
|
253
|
+
imex: { header: i18next.t('field.company'), key: 'bizplace.name', width: 30, type: 'string' },
|
|
217
254
|
sortable: true,
|
|
218
255
|
width: 200
|
|
219
256
|
},
|
|
@@ -221,6 +258,7 @@ class DeliveryOrderList extends localize(i18next)(PageView) {
|
|
|
221
258
|
type: 'date',
|
|
222
259
|
name: 'deliveryDate',
|
|
223
260
|
header: i18next.t('field.delivery_date'),
|
|
261
|
+
imex: { header: i18next.t('field.delivery_date'), key: 'deliveryDate', width: 20, type: 'string' },
|
|
224
262
|
sortable: true,
|
|
225
263
|
width: 160
|
|
226
264
|
},
|
|
@@ -228,6 +266,7 @@ class DeliveryOrderList extends localize(i18next)(PageView) {
|
|
|
228
266
|
type: 'boolean',
|
|
229
267
|
name: 'ownCollection',
|
|
230
268
|
header: i18next.t('field.own_collection'),
|
|
269
|
+
imex: { header: i18next.t('field.own_collection'), key: 'ownCollection', width: 20, type: 'string' },
|
|
231
270
|
sortable: true,
|
|
232
271
|
width: 100
|
|
233
272
|
},
|
|
@@ -235,6 +274,7 @@ class DeliveryOrderList extends localize(i18next)(PageView) {
|
|
|
235
274
|
type: 'string',
|
|
236
275
|
name: 'status',
|
|
237
276
|
header: i18next.t('field.status'),
|
|
277
|
+
imex: { header: i18next.t('field.status'), key: 'status', width: 20, type: 'string' },
|
|
238
278
|
sortable: true,
|
|
239
279
|
width: 150
|
|
240
280
|
},
|
|
@@ -242,6 +282,7 @@ class DeliveryOrderList extends localize(i18next)(PageView) {
|
|
|
242
282
|
type: 'datetime',
|
|
243
283
|
name: 'createdAt',
|
|
244
284
|
header: i18next.t('field.created_at'),
|
|
285
|
+
imex: { header: i18next.t('field.created_at'), key: 'createdAt', width: 30, type: 'datetime' },
|
|
245
286
|
sortable: true,
|
|
246
287
|
width: 160
|
|
247
288
|
},
|
|
@@ -249,6 +290,7 @@ class DeliveryOrderList extends localize(i18next)(PageView) {
|
|
|
249
290
|
type: 'datetime',
|
|
250
291
|
name: 'updatedAt',
|
|
251
292
|
header: i18next.t('field.updated_at'),
|
|
293
|
+
imex: { header: i18next.t('field.updated_at'), key: 'updatedAt', width: 30, type: 'datetime' },
|
|
252
294
|
sortable: true,
|
|
253
295
|
width: 160
|
|
254
296
|
},
|
|
@@ -256,6 +298,7 @@ class DeliveryOrderList extends localize(i18next)(PageView) {
|
|
|
256
298
|
type: 'object',
|
|
257
299
|
name: 'updater',
|
|
258
300
|
header: i18next.t('field.updater'),
|
|
301
|
+
imex: { header: i18next.t('field.updater'), key: 'updater.name', width: 30, type: 'string' },
|
|
259
302
|
sortable: true,
|
|
260
303
|
width: 160
|
|
261
304
|
}
|
|
@@ -263,31 +306,14 @@ class DeliveryOrderList extends localize(i18next)(PageView) {
|
|
|
263
306
|
}
|
|
264
307
|
}
|
|
265
308
|
|
|
266
|
-
async fetchHandler({ page, limit, sorters = [
|
|
309
|
+
async fetchHandler({ page, limit, sorters = [] }) {
|
|
267
310
|
let filters = this.searchForm.queryFilters
|
|
268
|
-
// let toDateIndex = filters.findIndex(x => x.name == 'toDate')
|
|
269
|
-
|
|
270
|
-
// if (toDateIndex >= 0) {
|
|
271
|
-
// let toDateFilter = new Date(filters[toDateIndex].value)
|
|
272
|
-
// filters[toDateIndex].value = new Date(toDateFilter.setDate(toDateFilter.getDate() + 1)).toISOString()
|
|
273
|
-
// }
|
|
274
|
-
// var datetime = new Date()
|
|
275
|
-
// var tzoffset = datetime.getTimezoneOffset() * 60
|
|
276
|
-
|
|
277
311
|
var tzoffset = new Date().getTimezoneOffset() * 60
|
|
278
312
|
|
|
279
313
|
const response = await client.query({
|
|
280
314
|
query: gql`
|
|
281
|
-
query {
|
|
282
|
-
deliveryOrders(${
|
|
283
|
-
filters: [
|
|
284
|
-
...filters,
|
|
285
|
-
{ name: 'status', operator: 'notin', value: ['CANCELLED'] },
|
|
286
|
-
{ name: 'tzoffset', operator: 'custom', value: tzoffset }
|
|
287
|
-
],
|
|
288
|
-
pagination: { page, limit },
|
|
289
|
-
sortings: sorters
|
|
290
|
-
})}) {
|
|
315
|
+
query deliveryOrders($filters: [Filter], $pagination: Pagination, $sortings: [Sorting]) {
|
|
316
|
+
deliveryOrders(filters: $filters, pagination: $pagination, sortings: $sortings) {
|
|
291
317
|
items {
|
|
292
318
|
id
|
|
293
319
|
name
|
|
@@ -304,6 +330,8 @@ class DeliveryOrderList extends localize(i18next)(PageView) {
|
|
|
304
330
|
name
|
|
305
331
|
description
|
|
306
332
|
refNo
|
|
333
|
+
refNo2
|
|
334
|
+
refNo3
|
|
307
335
|
}
|
|
308
336
|
ownCollection
|
|
309
337
|
createdAt
|
|
@@ -317,13 +345,30 @@ class DeliveryOrderList extends localize(i18next)(PageView) {
|
|
|
317
345
|
total
|
|
318
346
|
}
|
|
319
347
|
}
|
|
320
|
-
|
|
348
|
+
`,
|
|
349
|
+
variables: {
|
|
350
|
+
filters: [
|
|
351
|
+
...filters,
|
|
352
|
+
{ name: 'status', operator: 'notin', value: ['CANCELLED'] },
|
|
353
|
+
{ name: 'tzoffset', operator: 'custom', value: tzoffset }
|
|
354
|
+
],
|
|
355
|
+
pagination: { page, limit },
|
|
356
|
+
sortings: sorters
|
|
357
|
+
}
|
|
321
358
|
})
|
|
322
359
|
|
|
323
360
|
if (!response.errors) {
|
|
324
361
|
return {
|
|
325
362
|
total: response.data.deliveryOrders.total || 0,
|
|
326
|
-
records:
|
|
363
|
+
records:
|
|
364
|
+
response.data.deliveryOrders.items.map(dord => {
|
|
365
|
+
return {
|
|
366
|
+
...dord,
|
|
367
|
+
refNo: dord?.releaseGood?.refNo || '',
|
|
368
|
+
refNo2: dord?.releaseGood?.refNo2 || '',
|
|
369
|
+
refNo3: dord?.releaseGood?.refNo3 || ''
|
|
370
|
+
}
|
|
371
|
+
}) || []
|
|
327
372
|
}
|
|
328
373
|
}
|
|
329
374
|
}
|
|
@@ -348,23 +393,6 @@ class DeliveryOrderList extends localize(i18next)(PageView) {
|
|
|
348
393
|
if (!response.errors) {
|
|
349
394
|
return response.data.partnersBizplaces.items
|
|
350
395
|
}
|
|
351
|
-
|
|
352
|
-
// const response = await client.query({
|
|
353
|
-
// query: gql`
|
|
354
|
-
// query {
|
|
355
|
-
// bizplaces(${gqlBuilder.buildArgs({
|
|
356
|
-
// filters: [...bizplace]
|
|
357
|
-
// })}) {
|
|
358
|
-
// items{
|
|
359
|
-
// id
|
|
360
|
-
// name
|
|
361
|
-
// description
|
|
362
|
-
// }
|
|
363
|
-
// }
|
|
364
|
-
// }
|
|
365
|
-
// `
|
|
366
|
-
// })
|
|
367
|
-
// return response.data.bizplaces.items
|
|
368
396
|
}
|
|
369
397
|
|
|
370
398
|
_compareValues(key, order = 'asc') {
|
|
@@ -386,25 +414,37 @@ class DeliveryOrderList extends localize(i18next)(PageView) {
|
|
|
386
414
|
}
|
|
387
415
|
}
|
|
388
416
|
|
|
389
|
-
_uploadDeliveryNote(dnName, dnId) {
|
|
390
|
-
openPopup(
|
|
391
|
-
html`
|
|
392
|
-
<upload-delivery-note
|
|
393
|
-
.dnName="${dnName}"
|
|
394
|
-
.dnId="${dnId}"
|
|
395
|
-
.callback="${this.dataGrist.fetch.bind(this.dataGrist)}"
|
|
396
|
-
></upload-delivery-note>
|
|
397
|
-
`,
|
|
398
|
-
{
|
|
399
|
-
backdrop: true,
|
|
400
|
-
size: 'large',
|
|
401
|
-
title: i18next.t('title.upload_signed_gdn')
|
|
402
|
-
}
|
|
403
|
-
)
|
|
404
|
-
}
|
|
405
|
-
|
|
406
417
|
_exportableData() {
|
|
407
|
-
|
|
418
|
+
let records = []
|
|
419
|
+
if (this.dataGrist.selected && this.dataGrist.selected.length > 0) {
|
|
420
|
+
records = this.dataGrist.selected
|
|
421
|
+
} else {
|
|
422
|
+
records = this.dataGrist.data.records
|
|
423
|
+
}
|
|
424
|
+
|
|
425
|
+
var headerSetting = this.dataGrist._config.columns
|
|
426
|
+
.filter(column => column.type !== 'gutter' && column.record !== undefined && column.imex !== undefined)
|
|
427
|
+
.map(column => {
|
|
428
|
+
return column.imex
|
|
429
|
+
})
|
|
430
|
+
|
|
431
|
+
var data = records.map(item => {
|
|
432
|
+
return {
|
|
433
|
+
id: item.id,
|
|
434
|
+
...this._columns
|
|
435
|
+
.filter(column => column.type !== 'gutter' && column.record !== undefined && column.imex !== undefined)
|
|
436
|
+
.reduce((record, column) => {
|
|
437
|
+
record[column.imex.key] = column.imex.key
|
|
438
|
+
.split('.')
|
|
439
|
+
.reduce((obj, key) => (obj && obj[key] !== 'undefined' ? obj[key] : undefined), item)
|
|
440
|
+
if (column.type === 'datetime') {
|
|
441
|
+
record[column.imex.key] = new Date(parseInt(record[column.imex.key])).toLocaleString()
|
|
442
|
+
}
|
|
443
|
+
return record
|
|
444
|
+
}, {})
|
|
445
|
+
}
|
|
446
|
+
})
|
|
447
|
+
return { header: headerSetting, data: data }
|
|
408
448
|
}
|
|
409
449
|
|
|
410
450
|
_modifyDateRange(e) {
|
|
@@ -510,6 +510,9 @@ class LoadingProduct extends connect(store)(localize(i18next)(PageView)) {
|
|
|
510
510
|
query loadingWorksheet($releaseGoodNo: String!) {
|
|
511
511
|
loadingWorksheet(releaseGoodNo: $releaseGoodNo) {
|
|
512
512
|
worksheetInfo {
|
|
513
|
+
releaseGood {
|
|
514
|
+
name
|
|
515
|
+
}
|
|
513
516
|
bizplaceName
|
|
514
517
|
refNo
|
|
515
518
|
startedAt
|
|
@@ -542,7 +545,7 @@ class LoadingProduct extends connect(store)(localize(i18next)(PageView)) {
|
|
|
542
545
|
})
|
|
543
546
|
|
|
544
547
|
if (!response.errors) {
|
|
545
|
-
this._releaseGoodNo =
|
|
548
|
+
this._releaseGoodNo = response.data.loadingWorksheet.worksheetInfo.releaseGood.name
|
|
546
549
|
this._fillUpForm(this.infoForm, response.data.loadingWorksheet.worksheetInfo)
|
|
547
550
|
this._ownCollection = response.data.loadingWorksheet.worksheetInfo.ownCollection
|
|
548
551
|
this.pickedProductData = {
|
|
@@ -189,6 +189,7 @@ class MergedOutboundWorksheet extends localize(i18next)(PageView) {
|
|
|
189
189
|
type: 'string',
|
|
190
190
|
name: 'name',
|
|
191
191
|
header: i18next.t('field.worksheet_no'),
|
|
192
|
+
imex: { header: i18next.t('field.worksheet_no'), key: 'name', width: 30, type: 'string' },
|
|
192
193
|
sortable: true,
|
|
193
194
|
width: 150
|
|
194
195
|
},
|
|
@@ -196,6 +197,7 @@ class MergedOutboundWorksheet extends localize(i18next)(PageView) {
|
|
|
196
197
|
type: 'string',
|
|
197
198
|
name: 'taskNo',
|
|
198
199
|
header: i18next.t('field.task_no'),
|
|
200
|
+
imex: { header: i18next.t('field.task_no'), key: 'taskNo', width: 30, type: 'string' },
|
|
199
201
|
sortable: true,
|
|
200
202
|
width: 150
|
|
201
203
|
},
|
|
@@ -203,6 +205,7 @@ class MergedOutboundWorksheet extends localize(i18next)(PageView) {
|
|
|
203
205
|
type: 'object',
|
|
204
206
|
name: 'bizplace',
|
|
205
207
|
header: i18next.t('field.company'),
|
|
208
|
+
imex: { header: i18next.t('field.company'), key: 'bizplace.name', width: 30, type: 'string' },
|
|
206
209
|
sortable: true,
|
|
207
210
|
width: 240
|
|
208
211
|
},
|
|
@@ -210,6 +213,7 @@ class MergedOutboundWorksheet extends localize(i18next)(PageView) {
|
|
|
210
213
|
type: 'string',
|
|
211
214
|
name: 'type',
|
|
212
215
|
header: i18next.t('field.type'),
|
|
216
|
+
imex: { header: i18next.t('field.type'), key: 'type', width: 30, type: 'string' },
|
|
213
217
|
sortable: true,
|
|
214
218
|
width: 150
|
|
215
219
|
},
|
|
@@ -217,6 +221,7 @@ class MergedOutboundWorksheet extends localize(i18next)(PageView) {
|
|
|
217
221
|
type: 'string',
|
|
218
222
|
name: 'status',
|
|
219
223
|
header: i18next.t('field.status'),
|
|
224
|
+
imex: { header: i18next.t('field.status'), key: 'status', width: 30, type: 'string' },
|
|
220
225
|
sortable: true,
|
|
221
226
|
width: 100
|
|
222
227
|
},
|
|
@@ -224,6 +229,7 @@ class MergedOutboundWorksheet extends localize(i18next)(PageView) {
|
|
|
224
229
|
type: 'datetime',
|
|
225
230
|
name: 'createdAt',
|
|
226
231
|
header: i18next.t('field.created_at'),
|
|
232
|
+
imex: { header: i18next.t('field.created_at'), key: 'createdAt', width: 30, type: 'datetime' },
|
|
227
233
|
sortable: true,
|
|
228
234
|
width: 160
|
|
229
235
|
},
|
|
@@ -231,6 +237,7 @@ class MergedOutboundWorksheet extends localize(i18next)(PageView) {
|
|
|
231
237
|
type: 'datetime',
|
|
232
238
|
name: 'startedAt',
|
|
233
239
|
header: i18next.t('field.started_at'),
|
|
240
|
+
imex: { header: i18next.t('field.started_at'), key: 'startedAt', width: 30, type: 'datetime' },
|
|
234
241
|
sortable: true,
|
|
235
242
|
width: 160
|
|
236
243
|
},
|
|
@@ -238,6 +245,7 @@ class MergedOutboundWorksheet extends localize(i18next)(PageView) {
|
|
|
238
245
|
type: 'datetime',
|
|
239
246
|
name: 'endedAt',
|
|
240
247
|
header: i18next.t('field.ended_at'),
|
|
248
|
+
imex: { header: i18next.t('field.ended_at'), key: 'endedAt', width: 30, type: 'datetime' },
|
|
241
249
|
sortable: true,
|
|
242
250
|
width: 160
|
|
243
251
|
},
|
|
@@ -245,6 +253,7 @@ class MergedOutboundWorksheet extends localize(i18next)(PageView) {
|
|
|
245
253
|
type: 'object',
|
|
246
254
|
name: 'updater',
|
|
247
255
|
header: i18next.t('field.updater'),
|
|
256
|
+
imex: { header: i18next.t('field.updater'), key: 'updater.name', width: 30, type: 'string' },
|
|
248
257
|
sortable: true,
|
|
249
258
|
width: 150
|
|
250
259
|
}
|
|
@@ -396,7 +405,36 @@ class MergedOutboundWorksheet extends localize(i18next)(PageView) {
|
|
|
396
405
|
}
|
|
397
406
|
|
|
398
407
|
_exportableData() {
|
|
399
|
-
|
|
408
|
+
let records = []
|
|
409
|
+
if (this.dataGrist.selected && this.dataGrist.selected.length > 0) {
|
|
410
|
+
records = this.dataGrist.selected
|
|
411
|
+
} else {
|
|
412
|
+
records = this.dataGrist.data.records
|
|
413
|
+
}
|
|
414
|
+
|
|
415
|
+
var headerSetting = this.dataGrist._config.columns
|
|
416
|
+
.filter(column => column.type !== 'gutter' && column.record !== undefined && column.imex !== undefined)
|
|
417
|
+
.map(column => {
|
|
418
|
+
return column.imex
|
|
419
|
+
})
|
|
420
|
+
|
|
421
|
+
var data = records.map(item => {
|
|
422
|
+
return {
|
|
423
|
+
id: item.id,
|
|
424
|
+
...this._columns
|
|
425
|
+
.filter(column => column.type !== 'gutter' && column.record !== undefined && column.imex !== undefined)
|
|
426
|
+
.reduce((record, column) => {
|
|
427
|
+
record[column.imex.key] = column.imex.key
|
|
428
|
+
.split('.')
|
|
429
|
+
.reduce((obj, key) => (obj && obj[key] !== 'undefined' ? obj[key] : undefined), item)
|
|
430
|
+
if (column.type === 'datetime') {
|
|
431
|
+
record[column.imex.key] = new Date(parseInt(record[column.imex.key])).toLocaleString()
|
|
432
|
+
}
|
|
433
|
+
return record
|
|
434
|
+
}, {})
|
|
435
|
+
}
|
|
436
|
+
})
|
|
437
|
+
return { header: headerSetting, data: data }
|
|
400
438
|
}
|
|
401
439
|
}
|
|
402
440
|
|
|
@@ -439,6 +439,9 @@ class PackingProduct extends connect(store)(localize(i18next)(PageView)) {
|
|
|
439
439
|
query packingWorksheet($releaseGoodNo: String!) {
|
|
440
440
|
packingWorksheet(releaseGoodNo: $releaseGoodNo) {
|
|
441
441
|
worksheetInfo {
|
|
442
|
+
releaseGood {
|
|
443
|
+
name
|
|
444
|
+
}
|
|
442
445
|
bizplaceName
|
|
443
446
|
partnerDomainId
|
|
444
447
|
refNo
|
|
@@ -498,7 +501,7 @@ class PackingProduct extends connect(store)(localize(i18next)(PageView)) {
|
|
|
498
501
|
})
|
|
499
502
|
|
|
500
503
|
if (!response.errors) {
|
|
501
|
-
this.releaseGoodNo =
|
|
504
|
+
this.releaseGoodNo = response.data.packingWorksheet.worksheetInfo.releaseGood.name
|
|
502
505
|
if (!response.data?.packingWorksheet) return
|
|
503
506
|
|
|
504
507
|
const { worksheetInfo, worksheetDetailInfos } = response.data.packingWorksheet
|
|
@@ -184,6 +184,7 @@ class PackingWorksheetList extends localize(i18next)(PageView) {
|
|
|
184
184
|
type: 'object',
|
|
185
185
|
name: 'releaseGood',
|
|
186
186
|
header: i18next.t('field.release_good_no'),
|
|
187
|
+
imex: { header: i18next.t('field.release_good_no'), key: 'releaseGood.name', width: 30, type: 'string' },
|
|
187
188
|
sortable: true,
|
|
188
189
|
width: 150
|
|
189
190
|
},
|
|
@@ -191,6 +192,7 @@ class PackingWorksheetList extends localize(i18next)(PageView) {
|
|
|
191
192
|
type: 'string',
|
|
192
193
|
name: 'releaseRefNo',
|
|
193
194
|
header: i18next.t('field.ref_no'),
|
|
195
|
+
imex: { header: i18next.t('field.ref_no'), key: 'releaseRefNo', width: 30, type: 'string' },
|
|
194
196
|
sortable: true,
|
|
195
197
|
width: 180
|
|
196
198
|
},
|
|
@@ -198,6 +200,7 @@ class PackingWorksheetList extends localize(i18next)(PageView) {
|
|
|
198
200
|
type: 'object',
|
|
199
201
|
name: 'bizplace',
|
|
200
202
|
header: i18next.t('field.company'),
|
|
203
|
+
imex: { header: i18next.t('field.company'), key: 'bizplace.name', width: 30, type: 'string' },
|
|
201
204
|
sortable: true,
|
|
202
205
|
width: 240
|
|
203
206
|
},
|
|
@@ -205,6 +208,7 @@ class PackingWorksheetList extends localize(i18next)(PageView) {
|
|
|
205
208
|
type: 'string',
|
|
206
209
|
name: 'type',
|
|
207
210
|
header: i18next.t('field.type'),
|
|
211
|
+
imex: { header: i18next.t('field.type'), key: 'type', width: 30, type: 'string' },
|
|
208
212
|
sortable: true,
|
|
209
213
|
width: 100
|
|
210
214
|
},
|
|
@@ -212,6 +216,7 @@ class PackingWorksheetList extends localize(i18next)(PageView) {
|
|
|
212
216
|
type: 'string',
|
|
213
217
|
name: 'status',
|
|
214
218
|
header: i18next.t('field.status'),
|
|
219
|
+
imex: { header: i18next.t('field.status'), key: 'status', width: 30, type: 'string' },
|
|
215
220
|
sortable: true,
|
|
216
221
|
width: 100
|
|
217
222
|
},
|
|
@@ -219,6 +224,7 @@ class PackingWorksheetList extends localize(i18next)(PageView) {
|
|
|
219
224
|
type: 'datetime',
|
|
220
225
|
name: 'createdAt',
|
|
221
226
|
header: i18next.t('field.created_at'),
|
|
227
|
+
imex: { header: i18next.t('field.created_at'), key: 'createdAt', width: 30, type: 'datetime' },
|
|
222
228
|
sortable: true,
|
|
223
229
|
width: 160
|
|
224
230
|
},
|
|
@@ -226,6 +232,7 @@ class PackingWorksheetList extends localize(i18next)(PageView) {
|
|
|
226
232
|
type: 'datetime',
|
|
227
233
|
name: 'startedAt',
|
|
228
234
|
header: i18next.t('field.started_at'),
|
|
235
|
+
imex: { header: i18next.t('field.started_at'), key: 'startedAt', width: 30, type: 'datetime' },
|
|
229
236
|
sortable: true,
|
|
230
237
|
width: 160
|
|
231
238
|
},
|
|
@@ -233,6 +240,7 @@ class PackingWorksheetList extends localize(i18next)(PageView) {
|
|
|
233
240
|
type: 'datetime',
|
|
234
241
|
name: 'endedAt',
|
|
235
242
|
header: i18next.t('field.ended_at'),
|
|
243
|
+
imex: { header: i18next.t('field.ended_at'), key: 'endedAt', width: 30, type: 'datetime' },
|
|
236
244
|
sortable: true,
|
|
237
245
|
width: 160
|
|
238
246
|
},
|
|
@@ -240,6 +248,7 @@ class PackingWorksheetList extends localize(i18next)(PageView) {
|
|
|
240
248
|
type: 'object',
|
|
241
249
|
name: 'updater',
|
|
242
250
|
header: i18next.t('field.updater'),
|
|
251
|
+
imex: { header: i18next.t('field.updater'), key: 'updater.name', width: 30, type: 'string' },
|
|
243
252
|
sortable: true,
|
|
244
253
|
width: 150
|
|
245
254
|
}
|
|
@@ -369,7 +378,36 @@ class PackingWorksheetList extends localize(i18next)(PageView) {
|
|
|
369
378
|
}
|
|
370
379
|
|
|
371
380
|
_exportableData() {
|
|
372
|
-
|
|
381
|
+
let records = []
|
|
382
|
+
if (this.dataGrist.selected && this.dataGrist.selected.length > 0) {
|
|
383
|
+
records = this.dataGrist.selected
|
|
384
|
+
} else {
|
|
385
|
+
records = this.dataGrist.data.records
|
|
386
|
+
}
|
|
387
|
+
|
|
388
|
+
var headerSetting = this.dataGrist._config.columns
|
|
389
|
+
.filter(column => column.type !== 'gutter' && column.record !== undefined && column.imex !== undefined)
|
|
390
|
+
.map(column => {
|
|
391
|
+
return column.imex
|
|
392
|
+
})
|
|
393
|
+
|
|
394
|
+
var data = records.map(item => {
|
|
395
|
+
return {
|
|
396
|
+
id: item.id,
|
|
397
|
+
...this._columns
|
|
398
|
+
.filter(column => column.type !== 'gutter' && column.record !== undefined && column.imex !== undefined)
|
|
399
|
+
.reduce((record, column) => {
|
|
400
|
+
record[column.imex.key] = column.imex.key
|
|
401
|
+
.split('.')
|
|
402
|
+
.reduce((obj, key) => (obj && obj[key] !== 'undefined' ? obj[key] : undefined), item)
|
|
403
|
+
if (column.type === 'datetime') {
|
|
404
|
+
record[column.imex.key] = new Date(parseInt(record[column.imex.key])).toLocaleString()
|
|
405
|
+
}
|
|
406
|
+
return record
|
|
407
|
+
}, {})
|
|
408
|
+
}
|
|
409
|
+
})
|
|
410
|
+
return { header: headerSetting, data: data }
|
|
373
411
|
}
|
|
374
412
|
}
|
|
375
413
|
|