@things-factory/operato-wms 3.7.12 → 3.8.0
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 +364 -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 +10 -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 +60 -8
- 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 +22 -5
- package/client/pages/inbound/worksheet-putaway.js +21 -8
- package/client/pages/inbound/worksheet-unloading-return.js +22 -5
- package/client/pages/inbound/worksheet-unloading.js +8 -0
- package/client/pages/inventory/inventory-adjustment-approval.js +18 -8
- package/client/pages/inventory/inventory-adjustment.js +91 -76
- package/client/pages/inventory/inventory-by-product-detail.js +1 -1
- package/client/pages/inventory/inventory-by-product.js +9 -1
- package/client/pages/inventory/inventory-history-by-pallet.js +10 -1
- package/client/pages/inventory/inventory-history.js +12 -2
- package/client/pages/inventory/onhand-inventory.js +12 -3
- package/client/pages/inventory-check/create-cycle-count.js +12 -6
- package/client/pages/inventory-check/cycle-count-report.js +8 -0
- package/client/pages/inventory-check/worksheet-cycle-count.js +14 -0
- package/client/pages/master/location-list.js +58 -17
- package/client/pages/order/arrival-notice/arrival-notice-detail.js +134 -115
- 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/assign-buffer-location.js +8 -1
- package/client/pages/order/arrival-notice/check-arrived-notice.js +9 -1
- package/client/pages/order/arrival-notice/create-arrival-notice.js +30 -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/arrival-notice/receive-arrival-notice.js +8 -1
- 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/create-release-order.js +24 -1
- package/client/pages/order/release-order/receive-release-order-request.js +8 -0
- package/client/pages/order/release-order/release-extra-product-popup.js +12 -4
- package/client/pages/order/release-order/release-order-detail.js +9 -1
- package/client/pages/order/return-order/check-return-order.js +9 -1
- package/client/pages/order/return-order/create-return-order.js +14 -2
- package/client/pages/order/return-order/receive-return-order-requests.js +9 -1
- package/client/pages/order/return-order/return-order-detail.js +15 -6
- package/client/pages/order/return-order/return-order-inventory-popup.js +7 -0
- package/client/pages/order/transport-order/delivery-order-list.js +4 -1
- package/client/pages/outbound/inventory-assign-popup.js +11 -2
- package/client/pages/outbound/inventory-auto-assign-popup.js +9 -0
- 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 +22 -5
- package/client/pages/outbound/worksheet-packing.js +8 -0
- package/client/pages/outbound/worksheet-picking.js +29 -5
- package/client/pages/outbound/worksheet-return.js +9 -1
- package/client/pages/outbound/worksheet-sorting.js +9 -1
- 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/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/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/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 +27 -0
- package/translations/ko.json +84 -36
- package/translations/ms.json +85 -37
- package/translations/zh.json +98 -51
|
@@ -225,6 +225,12 @@ class CycleCountReport extends localize(i18next)(PageView) {
|
|
|
225
225
|
header: i18next.t('field.product'),
|
|
226
226
|
width: 350
|
|
227
227
|
},
|
|
228
|
+
{
|
|
229
|
+
type: 'string',
|
|
230
|
+
name: 'brand',
|
|
231
|
+
header: i18next.t('field.brand'),
|
|
232
|
+
width: 100
|
|
233
|
+
},
|
|
228
234
|
{
|
|
229
235
|
type: 'string',
|
|
230
236
|
name: 'packingType',
|
|
@@ -419,6 +425,7 @@ class CycleCountReport extends localize(i18next)(PageView) {
|
|
|
419
425
|
uom
|
|
420
426
|
product {
|
|
421
427
|
name
|
|
428
|
+
brand
|
|
422
429
|
description
|
|
423
430
|
}
|
|
424
431
|
}
|
|
@@ -451,6 +458,7 @@ class CycleCountReport extends localize(i18next)(PageView) {
|
|
|
451
458
|
return {
|
|
452
459
|
...worksheetDetail.targetInventory.inventory,
|
|
453
460
|
name: worksheetDetail.name,
|
|
461
|
+
brand: worksheetDetail.targetInventory.inventory.product.brand,
|
|
454
462
|
description: worksheetDetail.description,
|
|
455
463
|
productName:
|
|
456
464
|
worksheetDetail.targetInventory.inventory.product.name +
|
|
@@ -207,6 +207,18 @@ class WorksheetCycleCount extends localize(i18next)(PageView) {
|
|
|
207
207
|
},
|
|
208
208
|
width: 350
|
|
209
209
|
},
|
|
210
|
+
{
|
|
211
|
+
type: 'string',
|
|
212
|
+
name: 'brand',
|
|
213
|
+
header: i18next.t('field.brand'),
|
|
214
|
+
imex: {
|
|
215
|
+
header: i18next.t('field.brand'),
|
|
216
|
+
key: 'brand',
|
|
217
|
+
width: 15,
|
|
218
|
+
type: 'string'
|
|
219
|
+
},
|
|
220
|
+
width: 80
|
|
221
|
+
},
|
|
210
222
|
{
|
|
211
223
|
type: 'object',
|
|
212
224
|
name: 'location',
|
|
@@ -323,6 +335,7 @@ class WorksheetCycleCount extends localize(i18next)(PageView) {
|
|
|
323
335
|
}
|
|
324
336
|
product {
|
|
325
337
|
name
|
|
338
|
+
brand
|
|
326
339
|
description
|
|
327
340
|
}
|
|
328
341
|
},
|
|
@@ -356,6 +369,7 @@ class WorksheetCycleCount extends localize(i18next)(PageView) {
|
|
|
356
369
|
return {
|
|
357
370
|
...worksheetDetail.targetInventory.inventory,
|
|
358
371
|
name: worksheetDetail.name,
|
|
372
|
+
brand: worksheetDetail.targetInventory.inventory.product.brand,
|
|
359
373
|
description: worksheetDetail.description,
|
|
360
374
|
status: worksheetDetail.status,
|
|
361
375
|
inspectedLocation: worksheetDetail.targetInventory.inspectedLocation,
|
|
@@ -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() {
|
|
@@ -136,11 +139,11 @@ class ArrivalNoticeDetail extends localize(i18next)(PageView) {
|
|
|
136
139
|
height: 100px;
|
|
137
140
|
margin: 10px;
|
|
138
141
|
}
|
|
139
|
-
.form-container {
|
|
140
|
-
display: flex
|
|
142
|
+
.form-container {
|
|
143
|
+
display: flex;
|
|
141
144
|
}
|
|
142
|
-
.form-container > form {
|
|
143
|
-
flex: 1
|
|
145
|
+
.form-container > form {
|
|
146
|
+
flex: 1;
|
|
144
147
|
}
|
|
145
148
|
`
|
|
146
149
|
]
|
|
@@ -238,111 +241,111 @@ class ArrivalNoticeDetail extends localize(i18next)(PageView) {
|
|
|
238
241
|
|
|
239
242
|
render() {
|
|
240
243
|
return html`
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
244
|
+
<div class="form-container">
|
|
245
|
+
<form name="arrivalNotice" class="multi-column-form">
|
|
246
|
+
<fieldset>
|
|
247
|
+
<legend>${i18next.t('title.gan_no')}: ${this._ganNo}</legend>
|
|
248
|
+
|
|
249
|
+
<label>${i18next.t('label.options')}</label>
|
|
250
|
+
<div options-wrap>
|
|
251
|
+
<input
|
|
252
|
+
id="ownTransport"
|
|
253
|
+
type="checkbox"
|
|
254
|
+
name="ownTransport"
|
|
255
|
+
?checked="${this._ownTransport}"
|
|
256
|
+
@change="${e => (this._ownTransport = e.currentTarget.checked)}"
|
|
257
|
+
disabled
|
|
258
|
+
/>
|
|
259
|
+
<label>${i18next.t('label.own_transport')}</label>
|
|
260
|
+
|
|
261
|
+
<input
|
|
262
|
+
id="warehouseTransport"
|
|
263
|
+
type="checkbox"
|
|
264
|
+
name="warehouseTransport"
|
|
265
|
+
?checked="${!this._ownTransport}"
|
|
266
|
+
disabled
|
|
267
|
+
/>
|
|
268
|
+
<label>${i18next.t('label.warehouse_transport')}</label>
|
|
269
|
+
|
|
270
|
+
<input id="container" type="checkbox" name="container" ?checked="${this._hasContainer}" disabled />
|
|
271
|
+
<label for="container">${i18next.t('label.container')}</label>
|
|
272
|
+
|
|
273
|
+
<input id="looseItem" type="checkbox" name="looseItem" ?checked="${this._looseItem}" disabled />
|
|
274
|
+
<label for="looseItem">${i18next.t('label.loose_item')}</label>
|
|
275
|
+
|
|
276
|
+
<input id="importedOrder" type="checkbox" name="importCargo" ?checked="${this._importedOrder}" disabled />
|
|
277
|
+
<label for="importedOrder">${i18next.t('label.import_cargo')}</label>
|
|
278
|
+
|
|
279
|
+
${this._crossDocking
|
|
280
|
+
? html`
|
|
281
|
+
<input
|
|
282
|
+
id="crossDocking"
|
|
283
|
+
type="checkbox"
|
|
284
|
+
name="crossDocking"
|
|
285
|
+
?checked="${this._crossDocking}"
|
|
286
|
+
disabled
|
|
287
|
+
/>
|
|
288
|
+
<label for="crossDocking">${i18next.t('label.cross_docking')}</label>
|
|
289
|
+
`
|
|
290
|
+
: ''}
|
|
291
|
+
</div>
|
|
292
|
+
|
|
293
|
+
<label>${i18next.t('label.company')}</label>
|
|
294
|
+
<input name="bizplaceName" value="${this._bizplaceName}" readonly />
|
|
295
|
+
|
|
296
|
+
<label>${i18next.t('label.ref_no')}${`1`}</label>
|
|
297
|
+
<input name="refNo" readonly />
|
|
298
|
+
|
|
299
|
+
<label>${i18next.t('label.ref_no')}${`2`}</label>
|
|
300
|
+
<input name="refNo2" readonly />
|
|
301
|
+
|
|
302
|
+
<label>${i18next.t('label.ref_no')}${`3`}</label>
|
|
303
|
+
<input name="refNo3" readonly />
|
|
304
|
+
|
|
305
|
+
<label>${i18next.t('label.eta_date')}</label>
|
|
306
|
+
<input name="etaDate" type="date" readonly />
|
|
307
|
+
|
|
308
|
+
<label ?hidden="${!this._ownTransport}">${i18next.t('label.do_no')}</label>
|
|
309
|
+
<input name="deliveryOrderNo" ?hidden="${!this._ownTransport}" readonly />
|
|
310
|
+
|
|
311
|
+
<label ?hidden="${this._importedOrder || !this._ownTransport}">${i18next.t('label.truck_no')}</label>
|
|
312
|
+
<input ?hidden="${this._importedOrder || !this._ownTransport}" name="truckNo" readonly />
|
|
313
|
+
|
|
314
|
+
<label ?hidden="${!this._hasContainer}">${i18next.t('label.container_no')}</label>
|
|
315
|
+
<input ?hidden="${!this._hasContainer}" type="text" name="containerNo" readonly />
|
|
316
|
+
|
|
317
|
+
<label>${i18next.t('label.container_size')}</label>
|
|
318
|
+
<input type="text" name="containerSize" readonly />
|
|
319
|
+
|
|
320
|
+
<label>${i18next.t('label.status')}</label>
|
|
321
|
+
<select name="status" disabled>
|
|
322
|
+
${Object.keys(ORDER_STATUS).map(key => {
|
|
323
|
+
const status = ORDER_STATUS[key]
|
|
324
|
+
return html` <option value="${status.value}">${i18next.t(`label.${status.name}`)}</option> `
|
|
325
|
+
})}
|
|
326
|
+
</select>
|
|
327
|
+
|
|
328
|
+
${this._attachments?.length > 0
|
|
277
329
|
? html`
|
|
278
|
-
<
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
330
|
+
<label>${i18next.t('label.attachment')}</label>
|
|
331
|
+
<ul attachment-wrap>
|
|
332
|
+
${(this._attachments || []).map(
|
|
333
|
+
attachment =>
|
|
334
|
+
html`
|
|
335
|
+
<li>
|
|
336
|
+
<a href="${location.origin}/attachment/${attachment.path}" download
|
|
337
|
+
><mwc-icon>attach_file</mwc-icon> ${attachment.name}</a
|
|
338
|
+
>
|
|
339
|
+
</li>
|
|
340
|
+
`
|
|
341
|
+
)}
|
|
342
|
+
</ul>
|
|
286
343
|
`
|
|
287
344
|
: ''}
|
|
288
|
-
</
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
<label>${i18next.t('label.ref_no')}${`1`}</label>
|
|
294
|
-
<input name="refNo" readonly />
|
|
295
|
-
|
|
296
|
-
<label>${i18next.t('label.ref_no')}${`2`}</label>
|
|
297
|
-
<input name="refNo2" readonly />
|
|
298
|
-
|
|
299
|
-
<label>${i18next.t('label.ref_no')}${`3`}</label>
|
|
300
|
-
<input name="refNo3" readonly />
|
|
301
|
-
|
|
302
|
-
<label>${i18next.t('label.eta_date')}</label>
|
|
303
|
-
<input name="etaDate" type="date" readonly />
|
|
304
|
-
|
|
305
|
-
<label ?hidden="${!this._ownTransport}">${i18next.t('label.do_no')}</label>
|
|
306
|
-
<input name="deliveryOrderNo" ?hidden="${!this._ownTransport}" readonly />
|
|
307
|
-
|
|
308
|
-
<label ?hidden="${this._importedOrder || !this._ownTransport}">${i18next.t('label.truck_no')}</label>
|
|
309
|
-
<input ?hidden="${this._importedOrder || !this._ownTransport}" name="truckNo" readonly />
|
|
310
|
-
|
|
311
|
-
<label ?hidden="${!this._hasContainer}">${i18next.t('label.container_no')}</label>
|
|
312
|
-
<input ?hidden="${!this._hasContainer}" type="text" name="containerNo" readonly />
|
|
313
|
-
|
|
314
|
-
<label>${i18next.t('label.container_size')}</label>
|
|
315
|
-
<input type="text" name="containerSize" readonly />
|
|
316
|
-
|
|
317
|
-
<label>${i18next.t('label.status')}</label>
|
|
318
|
-
<select name="status" disabled>
|
|
319
|
-
${Object.keys(ORDER_STATUS).map(key => {
|
|
320
|
-
const status = ORDER_STATUS[key]
|
|
321
|
-
return html` <option value="${status.value}">${i18next.t(`label.${status.name}`)}</option> `
|
|
322
|
-
})}
|
|
323
|
-
</select>
|
|
324
|
-
|
|
325
|
-
${this._attachments?.length > 0
|
|
326
|
-
? html`
|
|
327
|
-
<label>${i18next.t('label.attachment')}</label>
|
|
328
|
-
<ul attachment-wrap>
|
|
329
|
-
${(this._attachments || []).map(
|
|
330
|
-
attachment =>
|
|
331
|
-
html`
|
|
332
|
-
<li>
|
|
333
|
-
<a href="${location.origin}/attachment/${attachment.path}" download
|
|
334
|
-
><mwc-icon>attach_file</mwc-icon> ${attachment.name}</a
|
|
335
|
-
>
|
|
336
|
-
</li>
|
|
337
|
-
`
|
|
338
|
-
)}
|
|
339
|
-
</ul>
|
|
340
|
-
`
|
|
341
|
-
: ''}
|
|
342
|
-
</fieldset>
|
|
343
|
-
</form>
|
|
344
|
-
<barcode-tag bcid="qrcode" .value=${this._ganNo}></barcode-tag>
|
|
345
|
-
</div>
|
|
345
|
+
</fieldset>
|
|
346
|
+
</form>
|
|
347
|
+
<barcode-tag bcid="qrcode" .value=${this._ganNo}></barcode-tag>
|
|
348
|
+
</div>
|
|
346
349
|
|
|
347
350
|
<div class="container">
|
|
348
351
|
<div class="grist">
|
|
@@ -541,6 +544,12 @@ class ArrivalNoticeDetail extends localize(i18next)(PageView) {
|
|
|
541
544
|
record: { options: { queryName: 'products' } },
|
|
542
545
|
width: 350
|
|
543
546
|
},
|
|
547
|
+
{
|
|
548
|
+
type: 'string',
|
|
549
|
+
name: 'productBrand',
|
|
550
|
+
header: i18next.t('field.brand'),
|
|
551
|
+
width: 150
|
|
552
|
+
},
|
|
544
553
|
{
|
|
545
554
|
type: 'string',
|
|
546
555
|
name: 'packingType',
|
|
@@ -618,6 +627,7 @@ class ArrivalNoticeDetail extends localize(i18next)(PageView) {
|
|
|
618
627
|
'packingType',
|
|
619
628
|
'uomValue',
|
|
620
629
|
'uom',
|
|
630
|
+
'brand',
|
|
621
631
|
'packQty',
|
|
622
632
|
'totalUomValue',
|
|
623
633
|
'palletQty',
|
|
@@ -687,6 +697,7 @@ class ArrivalNoticeDetail extends localize(i18next)(PageView) {
|
|
|
687
697
|
name
|
|
688
698
|
description
|
|
689
699
|
sku
|
|
700
|
+
brand
|
|
690
701
|
}
|
|
691
702
|
remark
|
|
692
703
|
unitPrice
|
|
@@ -761,7 +772,11 @@ class ArrivalNoticeDetail extends localize(i18next)(PageView) {
|
|
|
761
772
|
this.setProductGristConfig()
|
|
762
773
|
this.productData = {
|
|
763
774
|
records: orderProducts.map(record => {
|
|
764
|
-
return {
|
|
775
|
+
return {
|
|
776
|
+
...record,
|
|
777
|
+
productSku: record.product.sku,
|
|
778
|
+
productBrand: record.product.brand
|
|
779
|
+
}
|
|
765
780
|
})
|
|
766
781
|
}
|
|
767
782
|
this.vasData = {
|
|
@@ -915,6 +930,10 @@ class ArrivalNoticeDetail extends localize(i18next)(PageView) {
|
|
|
915
930
|
}
|
|
916
931
|
|
|
917
932
|
openEditProductPopup() {
|
|
933
|
+
this.productData.records = this.productData.records.filter(
|
|
934
|
+
orderProduct => orderProduct.status !== ORDER_PRODUCT_STATUS.UNLOADED.value
|
|
935
|
+
)
|
|
936
|
+
|
|
918
937
|
openPopup(
|
|
919
938
|
html`
|
|
920
939
|
<edit-product-popup
|