@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,3 +1,4 @@
|
|
|
1
|
+
import '@things-factory/barcode-ui'
|
|
1
2
|
import '@things-factory/grist-ui'
|
|
2
3
|
import './dispatcher-verification-popup'
|
|
3
4
|
|
|
@@ -8,11 +9,11 @@ import { GhostPrint } from '@operato/ghost-print'
|
|
|
8
9
|
import { MultiColumnFormStyles } from '@things-factory/form-ui'
|
|
9
10
|
import { i18next, localize } from '@things-factory/i18n-base'
|
|
10
11
|
import { openPopup } from '@things-factory/layout-base'
|
|
11
|
-
import { client, navigate, PageView } from '@things-factory/shell'
|
|
12
|
+
import { client, navigate, PageView, CustomAlert } from '@things-factory/shell'
|
|
12
13
|
import { CommonButtonStyles } from '@things-factory/styles'
|
|
13
14
|
import { isMobileDevice } from '@things-factory/utils'
|
|
14
15
|
|
|
15
|
-
import { MANIFEST_STATUS } from '../constants'
|
|
16
|
+
import { MANIFEST_STATUS, ORDER_STATUS } from '../constants'
|
|
16
17
|
|
|
17
18
|
class LoadingManifestDetail extends localize(i18next)(PageView) {
|
|
18
19
|
static get styles() {
|
|
@@ -64,6 +65,21 @@ class LoadingManifestDetail extends localize(i18next)(PageView) {
|
|
|
64
65
|
h2 + data-grist {
|
|
65
66
|
padding-top: var(--grist-title-with-grid-padding);
|
|
66
67
|
}
|
|
68
|
+
|
|
69
|
+
.add[collapsable] {
|
|
70
|
+
height: 10%;
|
|
71
|
+
margin-top: -5px;
|
|
72
|
+
}
|
|
73
|
+
.add[collapsable][collapsed] {
|
|
74
|
+
display: none;
|
|
75
|
+
}
|
|
76
|
+
h2.add-title {
|
|
77
|
+
padding-bottom: 0px;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
[hidden] {
|
|
81
|
+
display: none;
|
|
82
|
+
}
|
|
67
83
|
`
|
|
68
84
|
]
|
|
69
85
|
}
|
|
@@ -73,10 +89,21 @@ class LoadingManifestDetail extends localize(i18next)(PageView) {
|
|
|
73
89
|
shippingData: Object,
|
|
74
90
|
shippingGristConfig: Object,
|
|
75
91
|
_manifestNo: String,
|
|
76
|
-
_status: String
|
|
92
|
+
_status: String,
|
|
93
|
+
_removeOrders: Array,
|
|
94
|
+
_selectedStatus: String,
|
|
95
|
+
_addExpanded: Boolean
|
|
77
96
|
}
|
|
78
97
|
}
|
|
79
98
|
|
|
99
|
+
get trackingNoInput() {
|
|
100
|
+
return this.shadowRoot.querySelector('barcode-scanable-input[name=trackingNo]')?.shadowRoot.querySelector('input')
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
_focusOnTrackingNoInput() {
|
|
104
|
+
setTimeout(() => this.trackingNoInput.focus(), 50)
|
|
105
|
+
}
|
|
106
|
+
|
|
80
107
|
get context() {
|
|
81
108
|
var actions = [
|
|
82
109
|
{
|
|
@@ -91,12 +118,19 @@ class LoadingManifestDetail extends localize(i18next)(PageView) {
|
|
|
91
118
|
}
|
|
92
119
|
]
|
|
93
120
|
|
|
94
|
-
if (this._status == MANIFEST_STATUS.OPEN.value) {
|
|
95
|
-
actions.push(
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
121
|
+
if (this._status == MANIFEST_STATUS.OPEN.value || this._status == MANIFEST_STATUS.IN_QUEUE.value) {
|
|
122
|
+
actions.push(
|
|
123
|
+
{
|
|
124
|
+
title: i18next.t('button.update'),
|
|
125
|
+
action: this._updateManifestDetails.bind(this),
|
|
126
|
+
...CommonButtonStyles.add
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
title: i18next.t('button.dispatch'),
|
|
130
|
+
action: this._openDispatcherVerificationPopup.bind(this),
|
|
131
|
+
...CommonButtonStyles.load
|
|
132
|
+
}
|
|
133
|
+
)
|
|
100
134
|
}
|
|
101
135
|
|
|
102
136
|
return {
|
|
@@ -105,6 +139,10 @@ class LoadingManifestDetail extends localize(i18next)(PageView) {
|
|
|
105
139
|
}
|
|
106
140
|
}
|
|
107
141
|
|
|
142
|
+
get dataGrist() {
|
|
143
|
+
return this.shadowRoot.querySelector('data-grist')
|
|
144
|
+
}
|
|
145
|
+
|
|
108
146
|
get manifestForm() {
|
|
109
147
|
return this.shadowRoot.querySelector('form[name=manifest]')
|
|
110
148
|
}
|
|
@@ -131,43 +169,128 @@ class LoadingManifestDetail extends localize(i18next)(PageView) {
|
|
|
131
169
|
<input name="totalTrackingNo" readonly />
|
|
132
170
|
|
|
133
171
|
<label>${i18next.t('label.status')}</label>
|
|
134
|
-
<
|
|
172
|
+
<select
|
|
173
|
+
name="status"
|
|
174
|
+
?disabled=${this._status == MANIFEST_STATUS.CLOSED.value}
|
|
175
|
+
@change="${e => {
|
|
176
|
+
this._selectedStatus = e.currentTarget.value
|
|
177
|
+
}}"
|
|
178
|
+
>
|
|
179
|
+
${Object.keys(MANIFEST_STATUS).map(key => {
|
|
180
|
+
const status = MANIFEST_STATUS[key]
|
|
181
|
+
if (this._status == MANIFEST_STATUS.OPEN.value || this._status == MANIFEST_STATUS.IN_QUEUE.value) {
|
|
182
|
+
if (status.name !== 'closed') {
|
|
183
|
+
return html` <option value="${status.value}">${i18next.t(`label.${status.name}`)}</option> `
|
|
184
|
+
}
|
|
185
|
+
} else {
|
|
186
|
+
if (status.name == 'closed') {
|
|
187
|
+
return html` <option value="${status.value}">${i18next.t(`label.${status.name}`)}</option> `
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
})}
|
|
191
|
+
</select>
|
|
135
192
|
</fieldset>
|
|
136
193
|
</form>
|
|
137
194
|
</div>
|
|
138
195
|
|
|
139
196
|
<div class="container">
|
|
140
197
|
<div class="grist">
|
|
141
|
-
<h2
|
|
198
|
+
<h2>
|
|
199
|
+
<mwc-icon>list_alt</mwc-icon>${i18next.t('title.manifest_items')}
|
|
200
|
+
${this._showReset ? html`<mwc-icon @click=${e => this.dataGrist.fetch()}>sync</mwc-icon>` : ''}
|
|
201
|
+
</h2>
|
|
142
202
|
|
|
143
203
|
<data-grist
|
|
144
204
|
.mode=${isMobileDevice() ? 'LIST' : 'GRID'}
|
|
145
205
|
.config=${this.shippingGristConfig}
|
|
146
206
|
.data=${this.shippingData}
|
|
207
|
+
.fetchHandler=${this._fetchManifestDetail.bind(this)}
|
|
147
208
|
></data-grist>
|
|
209
|
+
|
|
210
|
+
${this._status !== MANIFEST_STATUS.CLOSED.value
|
|
211
|
+
? html`
|
|
212
|
+
<h2
|
|
213
|
+
@click="${e => {
|
|
214
|
+
this._addExpanded = !this._addExpanded
|
|
215
|
+
this._focusOnTrackingNoInput()
|
|
216
|
+
}}"
|
|
217
|
+
>
|
|
218
|
+
<mwc-icon>list_alt</mwc-icon>${i18next.t('title.add_tracking_no')}<mwc-icon
|
|
219
|
+
>${this._addExpanded ? 'expand_less' : 'expand_more'}</mwc-icon
|
|
220
|
+
>
|
|
221
|
+
</h2>
|
|
222
|
+
|
|
223
|
+
<div class="add" collapsable ?collapsed=${!this._addExpanded}>
|
|
224
|
+
<form name="addTrackingNo" class="multi-column-form">
|
|
225
|
+
<fieldset>
|
|
226
|
+
<label>${i18next.t('label.scan_tracking_no')}</label>
|
|
227
|
+
<barcode-scanable-input
|
|
228
|
+
name="trackingNo"
|
|
229
|
+
custom-input
|
|
230
|
+
@keypress="${e => {
|
|
231
|
+
if (e.keyCode === 13) {
|
|
232
|
+
e.preventDefault()
|
|
233
|
+
if (this.trackingNoInput.value) {
|
|
234
|
+
this._addTrackingNo(this.trackingNoInput.value)
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
}}"
|
|
238
|
+
></barcode-scanable-input>
|
|
239
|
+
</fieldset>
|
|
240
|
+
</form>
|
|
241
|
+
</div>
|
|
242
|
+
`
|
|
243
|
+
: ''}
|
|
148
244
|
</div>
|
|
149
245
|
</div>
|
|
150
246
|
`
|
|
151
247
|
}
|
|
152
248
|
|
|
249
|
+
constructor() {
|
|
250
|
+
super()
|
|
251
|
+
this._removeOrders = []
|
|
252
|
+
this._addExpanded = false
|
|
253
|
+
}
|
|
254
|
+
|
|
153
255
|
pageInitialized() {
|
|
154
256
|
this.shippingGristConfig = {
|
|
155
257
|
list: { fields: ['refNo', 'trackingNo', 'dispatchmentStatus'] },
|
|
156
258
|
pagination: { infinite: true },
|
|
259
|
+
rows: {
|
|
260
|
+
appendable: false
|
|
261
|
+
},
|
|
157
262
|
columns: [
|
|
263
|
+
{
|
|
264
|
+
type: 'gutter',
|
|
265
|
+
gutterName: 'button',
|
|
266
|
+
icon: 'close',
|
|
267
|
+
handlers: {
|
|
268
|
+
click: (columns, data, column, record, rowIndex) => {
|
|
269
|
+
try {
|
|
270
|
+
if (this._status && this._status == MANIFEST_STATUS.CLOSED.value) return
|
|
271
|
+
const newData = data.records.filter((_, idx) => idx !== rowIndex)
|
|
272
|
+
this.shippingData = { ...this.shippingData, records: newData }
|
|
273
|
+
this._removeOrders.push(record.refNo)
|
|
274
|
+
this._showReset = true
|
|
275
|
+
} catch (e) {}
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
},
|
|
158
279
|
{ type: 'gutter', gutterName: 'sequence' },
|
|
159
280
|
{
|
|
160
281
|
type: 'string',
|
|
161
|
-
name: '
|
|
282
|
+
name: 'trackingNo',
|
|
162
283
|
label: true,
|
|
163
|
-
header: i18next.t('field.
|
|
284
|
+
header: i18next.t('field.tracking_no'),
|
|
285
|
+
sortable: true,
|
|
164
286
|
width: 200
|
|
165
287
|
},
|
|
166
288
|
{
|
|
167
289
|
type: 'string',
|
|
168
|
-
name: '
|
|
290
|
+
name: 'refNo',
|
|
169
291
|
label: true,
|
|
170
|
-
header: i18next.t('field.
|
|
292
|
+
header: i18next.t('field.order_no'),
|
|
293
|
+
sortable: true,
|
|
171
294
|
width: 200
|
|
172
295
|
},
|
|
173
296
|
{
|
|
@@ -175,6 +298,7 @@ class LoadingManifestDetail extends localize(i18next)(PageView) {
|
|
|
175
298
|
name: 'attentionTo',
|
|
176
299
|
label: true,
|
|
177
300
|
header: i18next.t('field.delivery_to'),
|
|
301
|
+
sortable: true,
|
|
178
302
|
width: 150
|
|
179
303
|
},
|
|
180
304
|
{
|
|
@@ -182,6 +306,7 @@ class LoadingManifestDetail extends localize(i18next)(PageView) {
|
|
|
182
306
|
name: 'phone',
|
|
183
307
|
label: true,
|
|
184
308
|
header: i18next.t('field.phone'),
|
|
309
|
+
sortable: true,
|
|
185
310
|
width: 150
|
|
186
311
|
},
|
|
187
312
|
{
|
|
@@ -189,27 +314,23 @@ class LoadingManifestDetail extends localize(i18next)(PageView) {
|
|
|
189
314
|
name: 'deliveryAddress',
|
|
190
315
|
label: true,
|
|
191
316
|
header: i18next.t('field.delivery_address'),
|
|
317
|
+
sortable: true,
|
|
192
318
|
width: 250
|
|
193
319
|
},
|
|
194
320
|
{
|
|
195
321
|
type: 'string',
|
|
196
|
-
name: '
|
|
322
|
+
name: 'orderStatus',
|
|
197
323
|
label: true,
|
|
198
|
-
header: i18next.t('field.
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
{
|
|
202
|
-
type: 'string',
|
|
203
|
-
name: 'city',
|
|
204
|
-
label: true,
|
|
205
|
-
header: i18next.t('field.city'),
|
|
206
|
-
width: 120
|
|
324
|
+
header: i18next.t('field.order_status'),
|
|
325
|
+
sortable: true,
|
|
326
|
+
width: 150
|
|
207
327
|
},
|
|
208
328
|
{
|
|
209
329
|
type: 'string',
|
|
210
|
-
name: '
|
|
330
|
+
name: 'orderRemark',
|
|
211
331
|
label: true,
|
|
212
|
-
header: i18next.t('field.
|
|
332
|
+
header: i18next.t('field.order_remark'),
|
|
333
|
+
sortable: true,
|
|
213
334
|
width: 150
|
|
214
335
|
}
|
|
215
336
|
]
|
|
@@ -219,18 +340,18 @@ class LoadingManifestDetail extends localize(i18next)(PageView) {
|
|
|
219
340
|
async pageUpdated(changes, lifecycle, before) {
|
|
220
341
|
if (this.active) {
|
|
221
342
|
this._manifestNo = changes.resourceId || this._manifestNo || ''
|
|
222
|
-
await this.
|
|
343
|
+
await this.dataGrist.fetch()
|
|
223
344
|
this.updateContext()
|
|
224
345
|
}
|
|
225
346
|
}
|
|
226
347
|
|
|
227
|
-
async _fetchManifestDetail() {
|
|
348
|
+
async _fetchManifestDetail({ page, limit, sorters = [] }) {
|
|
228
349
|
if (!this._manifestNo) return
|
|
229
350
|
|
|
230
351
|
const response = await client.query({
|
|
231
352
|
query: gql`
|
|
232
|
-
query manifest($name: String!) {
|
|
233
|
-
manifest(name: $name) {
|
|
353
|
+
query manifest($name: String!, $sortings: [Sorting!]) {
|
|
354
|
+
manifest(name: $name, sortings: $sortings) {
|
|
234
355
|
id
|
|
235
356
|
name
|
|
236
357
|
dispatchedAt
|
|
@@ -247,11 +368,13 @@ class LoadingManifestDetail extends localize(i18next)(PageView) {
|
|
|
247
368
|
city
|
|
248
369
|
refNo
|
|
249
370
|
dispatchmentStatus
|
|
371
|
+
orderStatus
|
|
372
|
+
orderRemark
|
|
250
373
|
}
|
|
251
374
|
}
|
|
252
375
|
}
|
|
253
376
|
`,
|
|
254
|
-
variables: { name: this._manifestNo }
|
|
377
|
+
variables: { name: this._manifestNo, sortings: sorters }
|
|
255
378
|
})
|
|
256
379
|
|
|
257
380
|
if (!response.errors) {
|
|
@@ -259,25 +382,105 @@ class LoadingManifestDetail extends localize(i18next)(PageView) {
|
|
|
259
382
|
|
|
260
383
|
this._status = manifest.status
|
|
261
384
|
this._fillupForm(this.manifestForm, { ...manifest, totalTrackingNo: manifest.trackingNos?.length })
|
|
262
|
-
this.shippingData = {
|
|
385
|
+
this.shippingData = {
|
|
386
|
+
manifestId: manifest.id,
|
|
387
|
+
shippingProvider: manifest.shippingProvider,
|
|
388
|
+
records: manifest.trackingNos
|
|
389
|
+
}
|
|
390
|
+
this._removeOrders = []
|
|
391
|
+
this._showReset = false
|
|
263
392
|
this.updateContext()
|
|
264
393
|
}
|
|
265
394
|
}
|
|
266
395
|
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
396
|
+
async _updateManifestDetails() {
|
|
397
|
+
if ((!this._selectedStatus || this._selectedStatus == this._status) && this._removeOrders?.length == 0) {
|
|
398
|
+
return
|
|
399
|
+
}
|
|
400
|
+
const response = await client.mutate({
|
|
401
|
+
mutation: gql`
|
|
402
|
+
mutation updateManifest(
|
|
403
|
+
$manifestId: String
|
|
404
|
+
$status: String
|
|
405
|
+
$shippingProvider: String
|
|
406
|
+
$removeOrders: [String!]
|
|
407
|
+
) {
|
|
408
|
+
updateManifest(
|
|
409
|
+
manifestId: $manifestId
|
|
410
|
+
status: $status
|
|
411
|
+
shippingProvider: $shippingProvider
|
|
412
|
+
removeOrders: $removeOrders
|
|
413
|
+
)
|
|
414
|
+
}
|
|
275
415
|
`,
|
|
276
|
-
{
|
|
277
|
-
|
|
278
|
-
|
|
416
|
+
variables: {
|
|
417
|
+
manifestId: this.shippingData.manifestId,
|
|
418
|
+
status: this._selectedStatus,
|
|
419
|
+
shippingProvider: this.shippingData.shippingProvider,
|
|
420
|
+
removeOrders: this._removeOrders
|
|
279
421
|
}
|
|
280
|
-
)
|
|
422
|
+
})
|
|
423
|
+
if (!response.errors) {
|
|
424
|
+
if (!response.data.updateManifest) {
|
|
425
|
+
navigate('loading_manifest_list')
|
|
426
|
+
this._showToast({ message: i18next.t('text.manifest_has_been_deleted') })
|
|
427
|
+
} else {
|
|
428
|
+
await this.dataGrist.fetch()
|
|
429
|
+
this._showToast({ message: i18next.t('text.manifest_has_been_updated') })
|
|
430
|
+
}
|
|
431
|
+
}
|
|
432
|
+
}
|
|
433
|
+
|
|
434
|
+
async _openDispatcherVerificationPopup() {
|
|
435
|
+
let answer = await this._validateOrderStatus()
|
|
436
|
+
|
|
437
|
+
if (answer) {
|
|
438
|
+
openPopup(
|
|
439
|
+
html`
|
|
440
|
+
<dispatcher-verification-popup
|
|
441
|
+
@dispatch="${e => {
|
|
442
|
+
this._dispatchManifest(e.detail)
|
|
443
|
+
}}"
|
|
444
|
+
></dispatcher-verification-popup>
|
|
445
|
+
`,
|
|
446
|
+
{
|
|
447
|
+
size: 'small',
|
|
448
|
+
title: `${i18next.t('title.dispatcher_verification')}`
|
|
449
|
+
}
|
|
450
|
+
)
|
|
451
|
+
}
|
|
452
|
+
}
|
|
453
|
+
|
|
454
|
+
async _addTrackingNo() {
|
|
455
|
+
let answer = await this._checkReleaseOrderStatus()
|
|
456
|
+
|
|
457
|
+
if (answer) {
|
|
458
|
+
const response = await client.mutate({
|
|
459
|
+
mutation: gql`
|
|
460
|
+
mutation addTrackingNo($manifestId: String, $trackingNo: String, $shippingProvider: String) {
|
|
461
|
+
addTrackingNo(manifestId: $manifestId, trackingNo: $trackingNo, shippingProvider: $shippingProvider)
|
|
462
|
+
}
|
|
463
|
+
`,
|
|
464
|
+
variables: {
|
|
465
|
+
manifestId: this.shippingData.manifestId,
|
|
466
|
+
trackingNo: this.trackingNoInput.value.trim(),
|
|
467
|
+
shippingProvider: this.shippingData.shippingProvider
|
|
468
|
+
}
|
|
469
|
+
})
|
|
470
|
+
|
|
471
|
+
if (!response.errors) {
|
|
472
|
+
await this.dataGrist.fetch()
|
|
473
|
+
this.trackingNoInput.value = ''
|
|
474
|
+
this._focusOnTrackingNoInput()
|
|
475
|
+
this._showToast({ message: i18next.t('text.tracking_no_added_successfully') })
|
|
476
|
+
} else {
|
|
477
|
+
let errorMessage = response.errors[0].message
|
|
478
|
+
if (errorMessage.includes('amp;')) {
|
|
479
|
+
response.errors[0].message = errorMessage.replace('amp;', '')
|
|
480
|
+
this._showToast({ message: response.errors[0].message })
|
|
481
|
+
}
|
|
482
|
+
}
|
|
483
|
+
}
|
|
281
484
|
}
|
|
282
485
|
|
|
283
486
|
async _dispatchManifest(patch) {
|
|
@@ -294,11 +497,73 @@ class LoadingManifestDetail extends localize(i18next)(PageView) {
|
|
|
294
497
|
})
|
|
295
498
|
|
|
296
499
|
if (!response.errors) {
|
|
297
|
-
await this.
|
|
500
|
+
await this.dataGrist.fetch()
|
|
298
501
|
this._showToast({ message: i18next.t('text.manifest_has_been_dispatched_and_closed') })
|
|
299
502
|
}
|
|
300
503
|
}
|
|
301
504
|
|
|
505
|
+
async _validateOrderStatus() {
|
|
506
|
+
let foundCancelOrder = this.shippingData.records.filter(
|
|
507
|
+
itm => itm.orderStatus == ORDER_STATUS.PENDING_CANCEL || itm.orderStatus == ORDER_STATUS.CANCELLED
|
|
508
|
+
)
|
|
509
|
+
if (foundCancelOrder?.length > 0) {
|
|
510
|
+
const answer = await CustomAlert({
|
|
511
|
+
title: i18next.t('title.do_you_wish_to_proceed'),
|
|
512
|
+
text: i18next.t('text.parcels_are_found_with_cancelled_or_pending_cancelled_status'),
|
|
513
|
+
confirmButton: { text: i18next.t('button.proceed') },
|
|
514
|
+
cancelButton: { text: i18next.t('button.cancel') }
|
|
515
|
+
})
|
|
516
|
+
|
|
517
|
+
if (answer) {
|
|
518
|
+
if (!answer?.value) {
|
|
519
|
+
return false
|
|
520
|
+
} else {
|
|
521
|
+
return true
|
|
522
|
+
}
|
|
523
|
+
}
|
|
524
|
+
}
|
|
525
|
+
|
|
526
|
+
return true
|
|
527
|
+
}
|
|
528
|
+
|
|
529
|
+
async _checkReleaseOrderStatus() {
|
|
530
|
+
const response = await client.query({
|
|
531
|
+
query: gql`
|
|
532
|
+
query releaseGood($trackingNo: String) {
|
|
533
|
+
releaseGood(trackingNo: $trackingNo) {
|
|
534
|
+
id
|
|
535
|
+
name
|
|
536
|
+
status
|
|
537
|
+
}
|
|
538
|
+
}
|
|
539
|
+
`,
|
|
540
|
+
variables: { trackingNo: this.trackingNoInput.value.trim() }
|
|
541
|
+
})
|
|
542
|
+
|
|
543
|
+
if (!response.error) {
|
|
544
|
+
let releaseGood = response.data.releaseGood
|
|
545
|
+
|
|
546
|
+
if (releaseGood?.status === ORDER_STATUS.CANCELLED || releaseGood?.status === ORDER_STATUS.PENDING_CANCEL) {
|
|
547
|
+
let answer = await CustomAlert({
|
|
548
|
+
type: 'warning',
|
|
549
|
+
title: i18next.t('title.order(s)_is_at_pending_cancelled_or_cancelled'),
|
|
550
|
+
text: i18next.t('text.do_you_want_to_ignore'),
|
|
551
|
+
confirmButton: { text: i18next.t('button.ignore') },
|
|
552
|
+
cancelButton: { text: i18next.t('button.cancel') }
|
|
553
|
+
})
|
|
554
|
+
|
|
555
|
+
if (!answer?.value) {
|
|
556
|
+
this._focusOnTrackingNoInput()
|
|
557
|
+
return false
|
|
558
|
+
} else {
|
|
559
|
+
return true
|
|
560
|
+
}
|
|
561
|
+
} else {
|
|
562
|
+
return true
|
|
563
|
+
}
|
|
564
|
+
}
|
|
565
|
+
}
|
|
566
|
+
|
|
302
567
|
_printManifest() {
|
|
303
568
|
GhostPrint.print({
|
|
304
569
|
src: `/view_manifest/${this._manifestNo}`,
|
|
@@ -37,7 +37,8 @@ class LoadingManifestList extends localize(i18next)(PageView) {
|
|
|
37
37
|
return {
|
|
38
38
|
_searchFields: Array,
|
|
39
39
|
config: Object,
|
|
40
|
-
data: Object
|
|
40
|
+
data: Object,
|
|
41
|
+
_shippingProviderList: Array
|
|
41
42
|
}
|
|
42
43
|
}
|
|
43
44
|
|
|
@@ -85,6 +86,11 @@ class LoadingManifestList extends localize(i18next)(PageView) {
|
|
|
85
86
|
}
|
|
86
87
|
}
|
|
87
88
|
|
|
89
|
+
constructor() {
|
|
90
|
+
super()
|
|
91
|
+
this._shippingProviderList = []
|
|
92
|
+
}
|
|
93
|
+
|
|
88
94
|
async pageInitialized() {
|
|
89
95
|
const manifestStatus = await getCodeByName('MANIFEST_STATUS')
|
|
90
96
|
this._searchFields = [
|
|
@@ -94,9 +100,30 @@ class LoadingManifestList extends localize(i18next)(PageView) {
|
|
|
94
100
|
type: 'text',
|
|
95
101
|
props: { searchOper: 'i_like' }
|
|
96
102
|
},
|
|
103
|
+
{
|
|
104
|
+
label: i18next.t('field.order_info'),
|
|
105
|
+
name: 'orderInfo',
|
|
106
|
+
type: 'text',
|
|
107
|
+
props: { searchOper: 'eq' }
|
|
108
|
+
},
|
|
97
109
|
{
|
|
98
110
|
label: i18next.t('field.transporter'),
|
|
99
111
|
name: 'shippingProvider',
|
|
112
|
+
type: 'select',
|
|
113
|
+
options: [
|
|
114
|
+
{ value: '' },
|
|
115
|
+
...this._shippingProviderList.map(sp => {
|
|
116
|
+
return {
|
|
117
|
+
name: sp,
|
|
118
|
+
value: sp
|
|
119
|
+
}
|
|
120
|
+
})
|
|
121
|
+
],
|
|
122
|
+
props: { searchOper: 'eq' }
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
label: i18next.t('field.tracking_no'),
|
|
126
|
+
name: 'trackingNo',
|
|
100
127
|
type: 'text',
|
|
101
128
|
props: { searchOper: 'i_like' }
|
|
102
129
|
},
|
|
@@ -105,11 +132,12 @@ class LoadingManifestList extends localize(i18next)(PageView) {
|
|
|
105
132
|
name: 'fromDate',
|
|
106
133
|
type: 'date',
|
|
107
134
|
props: {
|
|
108
|
-
searchOper: 'eq'
|
|
135
|
+
searchOper: 'eq',
|
|
136
|
+
max: new Date().toISOString().split('T')[0]
|
|
109
137
|
},
|
|
110
138
|
value: (() => {
|
|
111
139
|
let date = new Date()
|
|
112
|
-
date.setMonth(date.getMonth() -
|
|
140
|
+
date.setMonth(date.getMonth() - 1)
|
|
113
141
|
return date.toISOString().split('T')[0]
|
|
114
142
|
})(),
|
|
115
143
|
handlers: { change: this._modifyDateRange.bind(this) }
|
|
@@ -122,8 +150,13 @@ class LoadingManifestList extends localize(i18next)(PageView) {
|
|
|
122
150
|
searchOper: 'eq',
|
|
123
151
|
min: (() => {
|
|
124
152
|
let date = new Date()
|
|
125
|
-
date.setMonth(date.getMonth() -
|
|
153
|
+
date.setMonth(date.getMonth() - 1)
|
|
126
154
|
return date.toISOString().split('T')[0]
|
|
155
|
+
})(),
|
|
156
|
+
max: (() => {
|
|
157
|
+
var max = new Date()
|
|
158
|
+
max.setMonth(max.getMonth())
|
|
159
|
+
return max.toISOString().split('T')[0]
|
|
127
160
|
})()
|
|
128
161
|
},
|
|
129
162
|
value: new Date().toISOString().split('T')[0]
|
|
@@ -147,7 +180,16 @@ class LoadingManifestList extends localize(i18next)(PageView) {
|
|
|
147
180
|
|
|
148
181
|
this.config = {
|
|
149
182
|
list: {
|
|
150
|
-
fields: [
|
|
183
|
+
fields: [
|
|
184
|
+
'name',
|
|
185
|
+
'shippingProvider',
|
|
186
|
+
'status',
|
|
187
|
+
'totalTrackingNo',
|
|
188
|
+
'dispatchedAt',
|
|
189
|
+
'createdAt',
|
|
190
|
+
'updatedAt',
|
|
191
|
+
'creator'
|
|
192
|
+
]
|
|
151
193
|
},
|
|
152
194
|
rows: { appendable: false, selectable: { multiple: true } },
|
|
153
195
|
columns: [
|
|
@@ -180,20 +222,27 @@ class LoadingManifestList extends localize(i18next)(PageView) {
|
|
|
180
222
|
width: 150
|
|
181
223
|
},
|
|
182
224
|
{
|
|
183
|
-
type: '
|
|
184
|
-
name: '
|
|
185
|
-
header: i18next.t('field.
|
|
225
|
+
type: 'string',
|
|
226
|
+
name: 'status',
|
|
227
|
+
header: i18next.t('field.status'),
|
|
186
228
|
label: true,
|
|
187
229
|
sortable: true,
|
|
188
230
|
width: 150
|
|
189
231
|
},
|
|
190
232
|
{
|
|
191
|
-
type: '
|
|
192
|
-
name: '
|
|
193
|
-
header: i18next.t('field.
|
|
233
|
+
type: 'int',
|
|
234
|
+
name: 'totalTrackingNo',
|
|
235
|
+
header: i18next.t('field.total_tracking_no'),
|
|
236
|
+
label: true,
|
|
237
|
+
width: 150
|
|
238
|
+
},
|
|
239
|
+
{
|
|
240
|
+
type: 'datetime',
|
|
241
|
+
name: 'dispatchedAt',
|
|
242
|
+
header: i18next.t('field.dispatch_at'),
|
|
194
243
|
label: true,
|
|
195
244
|
sortable: true,
|
|
196
|
-
width:
|
|
245
|
+
width: 150
|
|
197
246
|
},
|
|
198
247
|
{
|
|
199
248
|
type: 'datetime',
|
|
@@ -226,6 +275,7 @@ class LoadingManifestList extends localize(i18next)(PageView) {
|
|
|
226
275
|
shippingProvider
|
|
227
276
|
dispatchedAt
|
|
228
277
|
status
|
|
278
|
+
totalTrackingNo
|
|
229
279
|
createdAt
|
|
230
280
|
creator {
|
|
231
281
|
id
|
|
@@ -241,6 +291,22 @@ class LoadingManifestList extends localize(i18next)(PageView) {
|
|
|
241
291
|
})
|
|
242
292
|
|
|
243
293
|
if (!response.errors) {
|
|
294
|
+
let shippingProviders = response.data.manifests.items.map(itm => itm.shippingProvider)
|
|
295
|
+
shippingProviders = [...new Set(shippingProviders)]
|
|
296
|
+
|
|
297
|
+
if (this._shippingProviderList.length < shippingProviders.length) {
|
|
298
|
+
this._shippingProviderList = shippingProviders
|
|
299
|
+
this._searchFields.filter(x => x.name == 'shippingProvider')[0].options = [
|
|
300
|
+
{ value: '' },
|
|
301
|
+
...this._shippingProviderList.map(sp => {
|
|
302
|
+
return {
|
|
303
|
+
name: sp,
|
|
304
|
+
value: sp
|
|
305
|
+
}
|
|
306
|
+
})
|
|
307
|
+
]
|
|
308
|
+
this._searchFields = [...this._searchFields]
|
|
309
|
+
}
|
|
244
310
|
return {
|
|
245
311
|
total: response.data.manifests.total || 0,
|
|
246
312
|
records: response.data.manifests.items || []
|
|
@@ -250,16 +316,23 @@ class LoadingManifestList extends localize(i18next)(PageView) {
|
|
|
250
316
|
|
|
251
317
|
_modifyDateRange(e) {
|
|
252
318
|
const fromDate = e.currentTarget.value
|
|
253
|
-
|
|
319
|
+
if (fromDate == '') return
|
|
254
320
|
if (this._toDateInput.value < fromDate) this._toDateInput.value = fromDate
|
|
255
321
|
|
|
256
322
|
let min = new Date(fromDate)
|
|
323
|
+
let max = new Date(fromDate)
|
|
324
|
+
max.setMonth(max.getMonth() + 1)
|
|
325
|
+
|
|
257
326
|
let today = new Date()
|
|
258
327
|
today.setHours(0, 0, 0, 0)
|
|
259
328
|
|
|
260
329
|
min = min.toISOString().split('T')[0]
|
|
330
|
+
max = max.toISOString().split('T')[0]
|
|
331
|
+
|
|
332
|
+
if (this._toDateInput.value > max) this._toDateInput.value = max
|
|
261
333
|
|
|
262
334
|
this._toDateInput.min = min
|
|
335
|
+
this._toDateInput.max = max
|
|
263
336
|
}
|
|
264
337
|
|
|
265
338
|
get _columns() {
|