{"version":3,"sources":["webpack:///./src/components/OrderListFailedDownloadTooltip.vue?84c6","webpack:///./src/components/general/SearchBox.vue?46e5","webpack:///./src/views/OrdersPage.vue?3170","webpack:///./src/store/modules/orders.ts","webpack:///./src/views/OrdersPage.vue","webpack:///./src/views/OrdersPage.vue?a800","webpack:///./src/views/OrdersPage.vue?3966","webpack:///./src/views/OrderFlowPage.vue?ff93","webpack:///./src/components/OrderFlowCharts.vue?084f","webpack:///./src/components/OrderFlowCharts.vue","webpack:///./src/components/OrderFlowCharts.vue?ec03","webpack:///./src/components/OrderFlowCharts.vue?8f08","webpack:///./src/store/modules/completedOrders.ts","webpack:///./src/store/modules/uncompletedOrders.ts","webpack:///./src/store/modules/contractPerformanceSummaryForCustomer.ts","webpack:///./src/views/OrderFlowPage.vue","webpack:///./src/views/OrderFlowPage.vue?dadc","webpack:///./src/views/OrderFlowPage.vue?88f4","webpack:///./src/components/OrderList.vue?2d98","webpack:///./src/services/OrderService.ts","webpack:///./src/models/QualityData/SuggestionType.ts","webpack:///./src/components/OrderList.vue?f6fd","webpack:///./src/models/Orders/OrderStatus.ts","webpack:///./src/components/OrderListFailedDownloadTooltip.vue?5317","webpack:///./src/components/OrderListFailedDownloadTooltip.vue","webpack:///./src/components/OrderList.vue","webpack:///./src/components/OrderListFailedDownloadTooltip.vue?1b51","webpack:///./src/components/OrderListFailedDownloadTooltip.vue?ad5a","webpack:///./src/components/OrderList.vue?1faa","webpack:///./src/components/OrderList.vue?d9e4","webpack:///./src/components/general/SearchBox.vue?e3c2","webpack:///./src/components/general/SearchBox.vue","webpack:///./src/components/general/SearchBox.vue?d6e5","webpack:///./src/components/general/SearchBox.vue?7952"],"names":["render","_vm","this","_h","$createElement","_c","_self","attrs","breadcrumbs","staticClass","_v","_s","$t","term","on","onSearchSubmit","_e","error","orders","domProps","subtitle","pageIndex","pageCount","pageSize","paginationRoutes","onPageSizeChanged","noDataText","staticRenderFns","common","loading","payload","search","setLoadedDate","clearLoadedDate","setLoadingError","setLoading","clearLoading","setLoadingPromise","needToReLoad","Promise","resolve","loadingId","isCurrentlyLoading","loadingPromise","commitSetLoading","commitClearOrders","getOrders","then","response","results","commitSetOrders","commitSetLoadedDate","commitClearLoading","catch","commitSetLoadingError","reject","commitSetLoadingPromise","loadingPromiseForId","namespaced","name","dynamic","store","ordersModule","defaultPageSize","length","hasSearched","totalCount","toString","items","previousPageRoute","query","generateQuery","nextPageRoute","numberPageRoute","page","firstPageRoute","lastPageRoute","routeName","routeTrackingInfo","$route","initialize","finally","stopTrackPage","newPageSize","updateQuery","newTerm","Number","isNaN","$router","push","newPageIndex","clearSearch","undefined","dispatchLoad","immediate","deep","components","DefaultLayout","Breadcrumbs","Messages","OrderList","Pagination","SearchBox","component","contractPerformanceSummaryForCustomer","uncompletedOrders","selectedProductDisplayNames","productDisplayNameSelectOptions","onFilterProductDisplayNamesChange","uncompletedOrdersFiltered","completedOrders","routeToOrders","aggregatedChartOptions","monthlyChartOptions","chart","height","chartHeight","spacing","chartSpacing","title","text","xAxis","type","labels","style","fontSize","yAxis","legend","enabled","credits","time","useUTC","data","customOptions","series","contractedVolumesAggregated","map","volume","volumeIndex","x","Date","yearAndMonths","year","month","getTime","y","color","red","invoicedVolumesAggregated","limeGreen","plotOptions","lineWidth","line","marker","lineColor","fillColor","radius","symbol","tooltip","pointFormatter","number","commonChartOptions","invoicedVolumes","pointPlacement","zIndex","legendIndex","contractedVolumes","required","highcharts","force","getCompletedOrders","commitClearLoadedDate","completedOrdersModule","Consoler","debugLog","getUncompletedOrders","uncompletedOrdersModule","getContractPerformanceSummary","commitSetData","commitClearData","contractPerformanceSummaryForCustomerModule","selectedProducts","filter","uo","some","productName","productsInSalesOrder","lines","uol","productDisplayName","includes","getProductTreeNodes","productDisplayNames","pdn","id","label","forEach","productNames","getOrdersAndPerformance","all","OrderFlowCharts","TreeSelect","OrderService","get","orderService","SuggestionType","OrderStatus","_l","order","key","customerReference","getProductDisplayNames","_f","getTotalQuantity","deliveryAddressDestinationLocality","ladingInfo","class","getIconColorCssClass","getIcon","status","getQDataRoute","getDetails","details","index","quantity","getDetailsIconColorCssClass","getDetailsIcon","description","deliveryNoteNumber","carNumber","deliveryNotePdfEnabled","fromMill","isDownloadingPdf","pdfIsLikelyUnavailable","deliveryDate","$event","preventDefault","downloadPdf","packingSlipId","showToolTip","eudrDownloadsEnabled","isDeliveryDateAfterEudrDate","isDownloadingEudrCsv","downloadEudrDataCsv","qdataRoute","invoiceRoute","hide","xPlacement","hideTooltip","arrowPlacement","errorMessage","default","DetailsStatus","Permissions","validate","authRequirements","valid","isFeatureEnabled","FeatureFlagNames","DeliveryNotePdf","EudrDownloads","deliveryDateString","ex","eudrDownloadsFromDate","dateString","Config","Settings","EudrDownloadsFromDate","names","indexOf","join","reduce","sum","current","quantityOrdered","errorOnDeliveryNoteNumber","errorOnPdfDownload","errorOnDeliveryNoteNumberEudr","errorOnEudrDownload","Confirmed","PartiallyShipped","Shipped","Completed","yellow","green","blue","flatMap","quantityToDeliver","getDescription","delivery","origin","deliverySupplierDisplayName","deliverySupplierNumber","$moment","format","dateFormat","concat","deliveries","qDataRoute","invoiceNumber","by","ByTerm","DeliveryMessageOrder","deliveryMessageNumber","qDataEnabled","params","invoicesEnabled","currentDeliveryNoteNumber","currentDeliveryNoteNumberEudr","pdfIsLikelyAvailable","pdfDelayInHours","hoursSinceDelivery","diff","downloadDeliveryNoteAsPdf","debugWarn","EventBus","$emit","AddMessageEvent","Message","downloadDeliveryMessageEudrDataAsCsv","OrderListFailedDownloadTooltip","onSubmit","apply","arguments","directives","rawName","value","expression","ref","placeholder","target","composing","newValue","onReset","val","trim","$nextTick","input","$refs","focus"],"mappings":"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","file":"js/orders.f6c68cbc.js","sourcesContent":["export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OrderListFailedDownloadTooltip.vue?vue&type=style&index=0&id=7dc197f0&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchBox.vue?vue&type=style&index=0&id=1558b7f5&scoped=true&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('DefaultLayout',[_c('Breadcrumbs',{attrs:{\"items\":_vm.breadcrumbs}}),_c('Messages'),_c('div',{staticClass:\"container-fluid mt-3\"},[_c('div',{staticClass:\"d-flex flex-row justify-content-between flex-wrap align-items-center\"},[_c('h1',{staticClass:\"t-heading-3 pr-2\"},[_vm._v(_vm._s(_vm.$t('ordersPage.title')))]),_c('div',{staticClass:\"d-align-self-end\"},[_c('SearchBox',{attrs:{\"value\":_vm.term,\"placeholder\":_vm.$t('ordersPage.searchPlaceholder')},on:{\"submit\":_vm.onSearchSubmit}})],1)]),_c('span',{staticClass:\"o-line\"}),(_vm.error)?_c('div',{staticClass:\"c-alert c-alert--red mb-2\"},[_c('span',{staticClass:\"c-alert__text\"},[_vm._v(_vm._s(_vm.$t('ordersPage.error')))])]):_vm._e(),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12 mb-3\"},[(_vm.loading)?_c('div',{staticClass:\"u-position-relative u-min-height-300\"},[_c('span',{staticClass:\"o-loader o-loader--absolute\"})]):(!_vm.error)?[(_vm.orders.length)?[_c('h3',{staticClass:\"t-heading-5 mb-3\",domProps:{\"innerHTML\":_vm._s(_vm.subtitle)}}),_c('OrderList',{attrs:{\"orders\":_vm.orders}}),_c('Pagination',{attrs:{\"pageIndex\":_vm.pageIndex,\"pageCount\":_vm.pageCount,\"pageSize\":_vm.pageSize,\"routes\":_vm.paginationRoutes},on:{\"pageSizeChanged\":_vm.onPageSizeChanged}})]:_c('div',{staticClass:\"mt-2\",domProps:{\"innerHTML\":_vm._s(_vm.noDataText)}})]:_vm._e()],2)])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { CommonStore } from '@/store/common';\r\nimport { store } from '@/store';\r\n\r\nimport {\r\n Module,\r\n VuexModule,\r\n Mutation,\r\n Action,\r\n getModule,\r\n} from 'vuex-module-decorators';\r\nimport orderService from '@/services/OrderService';\r\nimport { PaginatedResult } from '@/models/PaginatedResult{T}';\r\nimport { Order } from '@/models/Orders/Order';\r\n\r\ninterface Search {\r\n term?: string;\r\n pageIndex: number;\r\n pageSize: number;\r\n results: PaginatedResult;\r\n}\r\n\r\n@Module({\r\n namespaced: true,\r\n name: 'orders',\r\n dynamic: true,\r\n store,\r\n})\r\nclass OrdersModule extends VuexModule {\r\n public search: Search | null = null;\r\n\r\n private common = new CommonStore(10); // reLoadMinMinutesInterval\r\n\r\n // ---------------\r\n // ### Getters ###\r\n // ---------------\r\n\r\n public get loading() {\r\n return this.common.loading;\r\n }\r\n\r\n // -----------------\r\n // ### Mutations ###\r\n // -----------------\r\n\r\n @Mutation public commitSetOrders(payload: Search) {\r\n this.search = payload;\r\n }\r\n\r\n @Mutation public commitClearOrders() {\r\n this.search = null;\r\n }\r\n\r\n // From common:\r\n @Mutation private commitSetLoadedDate() {\r\n this.common.setLoadedDate();\r\n }\r\n @Mutation private commitClearLoadedDate() {\r\n this.common.clearLoadedDate();\r\n }\r\n @Mutation private commitSetLoadingError(payload: { error: any }) {\r\n this.common.setLoadingError(payload);\r\n }\r\n @Mutation private commitSetLoading() {\r\n this.common.setLoading();\r\n }\r\n @Mutation private commitClearLoading() {\r\n this.common.clearLoading();\r\n }\r\n @Mutation private commitSetLoadingPromise(payload: {\r\n loadingPromise: Promise;\r\n loadingPromiseForId: any;\r\n }) {\r\n this.common.setLoadingPromise(payload);\r\n }\r\n\r\n // ---------------\r\n // ### Actions ###\r\n // ---------------\r\n\r\n @Action\r\n public async dispatchLoad(payload: {\r\n pageIndex: number;\r\n pageSize: number;\r\n term?: string;\r\n }): Promise {\r\n if (\r\n payload.term === this.search?.term &&\r\n payload.pageIndex === this.search?.pageIndex &&\r\n payload.pageSize === this.search?.pageSize &&\r\n !this.common.needToReLoad()\r\n ) {\r\n return Promise.resolve();\r\n }\r\n\r\n const loadingId = `${payload.term ?? ''}|${payload.pageIndex}|${\r\n payload.pageSize\r\n }`;\r\n\r\n if (this.common.isCurrentlyLoading(loadingId)) {\r\n return this.common.loading.loadingPromise;\r\n }\r\n\r\n this.commitSetLoading();\r\n this.commitClearOrders();\r\n\r\n const loadingPromise = orderService\r\n .getOrders(payload.pageIndex, payload.pageSize, payload.term)\r\n .then((response) => {\r\n const search: Search = {\r\n term: payload.term,\r\n pageIndex: payload.pageIndex,\r\n pageSize: payload.pageSize,\r\n results: response,\r\n };\r\n\r\n this.commitSetOrders(search);\r\n this.commitSetLoadedDate();\r\n this.commitClearLoading();\r\n })\r\n .catch((error) => {\r\n this.commitSetLoadingError({ error });\r\n\r\n return Promise.reject(error);\r\n });\r\n\r\n this.commitSetLoadingPromise({\r\n loadingPromise,\r\n loadingPromiseForId: loadingId,\r\n });\r\n\r\n return loadingPromise;\r\n }\r\n}\r\n\r\nexport const ordersModule = getModule(OrdersModule);\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Vue, Watch } from 'vue-property-decorator';\r\nimport DefaultLayout from '@/layouts/DefaultLayout.vue';\r\nimport Breadcrumbs from '@/components/general/Breadcrumbs.vue';\r\nimport Messages from '@/components/general/Messages.vue';\r\nimport Pagination, {\r\n PaginationRoutes,\r\n} from '@/components/general/Pagination.vue';\r\nimport OrderList from '@/components/OrderList.vue';\r\nimport SearchBox from '@/components/general/SearchBox.vue';\r\nimport { ordersModule } from '@/store/modules/orders';\r\nimport { routeNameOrderFlow, routeNameOrders } from '@/router/routes';\r\nimport { Order } from '@/models/Orders/Order';\r\nimport { Breadcrumb } from '@/models/Breadcrumb';\r\nimport telemetryService, {\r\n RouteTrackingInfo,\r\n} from '@/services/TelemetryService';\r\nimport { getRouteTrackingInfo } from '@/router/functions';\r\n\r\n@Component({\r\n components: {\r\n DefaultLayout,\r\n Breadcrumbs,\r\n Messages,\r\n OrderList,\r\n Pagination,\r\n SearchBox,\r\n },\r\n})\r\nexport default class OrdersPage extends Vue {\r\n private readonly defaultPageSize: number = 10;\r\n\r\n private routeTrackingInfo: RouteTrackingInfo = {};\r\n private loading: boolean = false;\r\n private error: boolean = false;\r\n private pageIndex: number = 0;\r\n private pageSize: number = this.defaultPageSize;\r\n private term: string = '';\r\n\r\n private get hasSearched(): boolean {\r\n return this.term.length > 0;\r\n }\r\n\r\n private get subtitle(): string {\r\n if (this.loading) {\r\n return '';\r\n }\r\n\r\n return this.hasSearched\r\n ? this.$t('ordersPage.subtitle.search', [\r\n this.term,\r\n this.totalCount,\r\n ]).toString()\r\n : this.$t('ordersPage.subtitle.noSearch', [this.totalCount]).toString();\r\n }\r\n\r\n private get noDataText(): string {\r\n if (this.loading) {\r\n return '';\r\n }\r\n\r\n return this.hasSearched\r\n ? this.$t('ordersPage.noData.search', [this.term]).toString()\r\n : this.$t('ordersPage.noData.noSearch').toString();\r\n }\r\n\r\n private get orders(): Order[] {\r\n return ordersModule.search?.results?.items ?? [];\r\n }\r\n\r\n private get pageCount(): number {\r\n return ordersModule.search?.results?.pageCount ?? 0;\r\n }\r\n\r\n private get totalCount(): number {\r\n return ordersModule.search?.results?.totalCount ?? 0;\r\n }\r\n\r\n private get paginationRoutes(): PaginationRoutes {\r\n return {\r\n previousPageRoute: {\r\n name: routeNameOrders,\r\n query: this.generateQuery(this.pageIndex - 1),\r\n },\r\n nextPageRoute: {\r\n name: routeNameOrders,\r\n query: this.generateQuery(this.pageIndex + 1),\r\n },\r\n numberPageRoute: (page: number) => {\r\n return {\r\n name: routeNameOrders,\r\n query: this.generateQuery(page - 1),\r\n };\r\n },\r\n firstPageRoute: {\r\n name: routeNameOrders,\r\n query: this.generateQuery(0),\r\n },\r\n lastPageRoute: {\r\n name: routeNameOrders,\r\n query: this.generateQuery(this.pageCount - 1),\r\n },\r\n };\r\n }\r\n\r\n private get breadcrumbs(): Breadcrumb[] {\r\n // Order flow -> Orders\r\n return [\r\n {\r\n routeName: routeNameOrderFlow,\r\n name: this.$t('breadcrumbs.' + routeNameOrderFlow).toString(),\r\n },\r\n {\r\n routeName: routeNameOrders,\r\n name: this.$t('breadcrumbs.' + routeNameOrders).toString(),\r\n },\r\n ];\r\n }\r\n\r\n @Watch('$route', { immediate: false, deep: true })\r\n private onRouteChange(): void {\r\n this.routeTrackingInfo = getRouteTrackingInfo(this.$route);\r\n this.initialize();\r\n this.getOrders().finally(() => {\r\n telemetryService.stopTrackPage(this.routeTrackingInfo);\r\n });\r\n }\r\n\r\n private created(): void {\r\n this.routeTrackingInfo = getRouteTrackingInfo(this.$route);\r\n this.initialize();\r\n this.getOrders().finally(() => {\r\n telemetryService.stopTrackPage(this.routeTrackingInfo);\r\n });\r\n }\r\n\r\n private onPageSizeChanged(newPageSize: number): void {\r\n this.pageSize = newPageSize;\r\n this.pageIndex = 0;\r\n this.updateQuery();\r\n }\r\n\r\n private onSearchSubmit(newTerm: string) {\r\n this.term = newTerm;\r\n this.pageIndex = 0;\r\n this.updateQuery();\r\n }\r\n\r\n private initialize(): void {\r\n this.term = (this.$route.query.term as string) ?? '';\r\n\r\n const page = Number(this.$route.query.page as string);\r\n\r\n this.pageIndex = !isNaN(page) ? page - 1 : 0;\r\n\r\n let pageSize = Number(this.$route.query.pageSize as string);\r\n\r\n if (isNaN(pageSize)) {\r\n pageSize = this.defaultPageSize;\r\n }\r\n\r\n this.pageSize = pageSize;\r\n }\r\n\r\n // Updates the query (if any changes) which then changes the $route and the @Watch is triggered\r\n private updateQuery(): boolean {\r\n const query = this.generateQuery();\r\n\r\n if (\r\n this.$route.query.term === query.term &&\r\n this.$route.query.page === query.page &&\r\n this.$route.query.pageSize === query.pageSize\r\n ) {\r\n return false;\r\n } else {\r\n this.$router.push({ query });\r\n\r\n return true;\r\n }\r\n }\r\n\r\n private generateQuery(newPageIndex?: number, clearSearch?: boolean): any {\r\n const query: { term?: string; page?: number; pageSize?: number } = {};\r\n\r\n if (this.term && !clearSearch === true) {\r\n query.term = this.term;\r\n }\r\n\r\n if (this.pageSize !== this.defaultPageSize) {\r\n query.pageSize = this.pageSize;\r\n }\r\n\r\n const pageIndex =\r\n newPageIndex !== undefined ? newPageIndex : this.pageIndex;\r\n\r\n if (pageIndex > 0) {\r\n query.page = pageIndex + 1;\r\n }\r\n\r\n return query;\r\n }\r\n\r\n private getOrders(): Promise {\r\n this.loading = true;\r\n this.error = false;\r\n\r\n return ordersModule\r\n .dispatchLoad({\r\n term: this.term,\r\n pageIndex: this.pageIndex,\r\n pageSize: this.pageSize,\r\n })\r\n .catch(() => {\r\n this.error = true;\r\n })\r\n .finally(() => {\r\n this.loading = false;\r\n });\r\n }\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OrdersPage.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OrdersPage.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OrdersPage.vue?vue&type=template&id=7006cb9e&\"\nimport script from \"./OrdersPage.vue?vue&type=script&lang=ts&\"\nexport * from \"./OrdersPage.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('DefaultLayout',[_c('Breadcrumbs',{attrs:{\"items\":_vm.breadcrumbs}}),_c('Messages'),_c('div',{staticClass:\"container-fluid mt-3\"},[_c('div',{staticClass:\"d-flex flex-row justify-content-between flex-wrap align-items-center\"},[_c('h1',{staticClass:\"t-heading-3\"},[_vm._v(_vm._s(_vm.$t('orderFlowPage.title')))])]),_c('span',{staticClass:\"o-line\"}),(_vm.error)?_c('div',{staticClass:\"c-alert c-alert--red mb-2\"},[_c('span',{staticClass:\"c-alert__text\"},[_vm._v(_vm._s(_vm.$t('orderFlowPage.error')))])]):_vm._e(),_c('OrderFlowCharts',{staticClass:\"mb-4\",attrs:{\"data\":_vm.contractPerformanceSummaryForCustomer}}),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12 mb-3\"},[(_vm.loading)?_c('div',{staticClass:\"u-position-relative u-min-height-300\"},[_c('span',{staticClass:\"o-loader o-loader--absolute\"})]):(!_vm.error)?[_c('h3',{staticClass:\"t-heading-5 mb-3\"},[_vm._v(\" \"+_vm._s(_vm.$t('orderFlowPage.subtitle.uncompletedOrders'))+\" \")]),(_vm.uncompletedOrders.length)?[_c('div',{staticClass:\"container ml-0 mr-0 mb-2\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-sm-12 col-md-4 col-lg-3\"},[_c('TreeSelect',{staticClass:\"product-name-tree-select mt-1 mt-lg-0 mb-1\",attrs:{\"value\":_vm.selectedProductDisplayNames,\"options\":_vm.productDisplayNameSelectOptions,\"multiple\":true,\"placeholder\":_vm.$t('orderFlowPage.filters.products')},on:{\"select\":_vm.onFilterProductDisplayNamesChange}})],1)])])]:_vm._e(),(_vm.uncompletedOrdersFiltered.length)?_c('OrderList',{attrs:{\"orders\":_vm.uncompletedOrdersFiltered}}):_c('div',{staticClass:\"mb-3\"},[_vm._v(\" \"+_vm._s(_vm.$t('orderFlowPage.noUncompletedOrders'))+\" \")]),_c('h3',{staticClass:\"t-heading-5 mb-3\"},[_vm._v(\" \"+_vm._s(_vm.$t('orderFlowPage.subtitle.completedOrders'))+\" \")]),(_vm.completedOrders.length)?_c('OrderList',{attrs:{\"orders\":_vm.completedOrders}}):_c('div',{staticClass:\"mb-3\"},[_c('span',[_vm._v(_vm._s(_vm.$t('orderFlowPage.noCompletedOrders')))])])]:_vm._e(),_c('div',[_c('router-link',{staticClass:\"d-print-none\",attrs:{\"to\":_vm.routeToOrders}},[_vm._v(\" \"+_vm._s(_vm.$t('orderFlowPage.ordersLink'))+\" \")])],1)],2)])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.data)?_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12 col-md-6\"},[_c('div',{staticClass:\"u-background-color-white px-4 py-3\"},[_c('div',{staticClass:\"t-body-regular-sans-serif-uppercase u-text-muted mb-3\"},[_vm._v(\" \"+_vm._s(_vm.$t('orderFlowCharts.contractPerformanceChartTitle'))+\" \")]),_c('highcharts',{attrs:{\"options\":_vm.aggregatedChartOptions}})],1)]),_c('div',{staticClass:\"col-12 col-md-6 mt-2 mt-md-0\"},[_c('div',{staticClass:\"u-background-color-white px-4 py-3\"},[_c('div',{staticClass:\"t-body-regular-sans-serif-uppercase u-text-muted mb-3\"},[_vm._v(\" \"+_vm._s(_vm.$t('orderFlowCharts.invoicedVolumesChartTitle'))+\" \")]),_c('highcharts',{attrs:{\"options\":_vm.monthlyChartOptions}})],1)])]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Vue, Prop } from 'vue-property-decorator';\r\nimport { Chart } from 'highcharts-vue';\r\nimport { Options } from 'highcharts';\r\nimport { numberFilter } from '@/filters/number';\r\nimport { Colors } from '@/utils/Constants';\r\nimport { ContractPerformanceSummaryForContractPeriod } from '@/models/ContractPerformance/ContractPerformanceSummaryForContractPeriod';\r\n\r\n@Component({\r\n components: {\r\n highcharts: Chart,\r\n },\r\n})\r\nexport default class OrderFlowCharts extends Vue {\r\n @Prop({ required: true })\r\n public data!: ContractPerformanceSummaryForContractPeriod | null;\r\n\r\n private readonly chartHeight = 280;\r\n private readonly chartSpacing = [15, 5, 0, 0];\r\n\r\n private readonly commonChartOptions: Options = {\r\n chart: {\r\n height: this.chartHeight,\r\n spacing: this.chartSpacing,\r\n },\r\n title: {\r\n text: undefined,\r\n },\r\n xAxis: {\r\n type: 'datetime',\r\n title: {\r\n text: null,\r\n },\r\n labels: {\r\n style: {\r\n fontSize: '12px',\r\n },\r\n },\r\n },\r\n yAxis: {\r\n title: {\r\n text: null,\r\n },\r\n labels: {\r\n style: {\r\n fontSize: '12px',\r\n },\r\n },\r\n },\r\n legend: {\r\n enabled: true,\r\n },\r\n credits: {\r\n enabled: false,\r\n },\r\n time: {\r\n useUTC: false,\r\n },\r\n };\r\n\r\n private get aggregatedChartOptions(): Options {\r\n if (this.data === null) {\r\n return {};\r\n }\r\n\r\n const customOptions: Options = {\r\n series: [\r\n {\r\n name: this.$t('orderFlowCharts.contractedAggregated').toString(),\r\n type: 'line',\r\n data: this.data.contractedVolumesAggregated.map(\r\n (volume, volumeIndex) => ({\r\n x: new Date(\r\n this.data!.yearAndMonths[volumeIndex].year,\r\n this.data!.yearAndMonths[volumeIndex].month - 1,\r\n 1\r\n ).getTime(),\r\n y: volume,\r\n })\r\n ),\r\n color: Colors.red,\r\n },\r\n {\r\n name: this.$t('orderFlowCharts.invoicedAggregated').toString(),\r\n type: 'line',\r\n data: this.data.invoicedVolumesAggregated.map(\r\n (volume, volumeIndex) => ({\r\n x: new Date(\r\n this.data!.yearAndMonths[volumeIndex].year,\r\n this.data!.yearAndMonths[volumeIndex].month - 1,\r\n 1\r\n ).getTime(),\r\n y: volume,\r\n })\r\n ),\r\n color: Colors.limeGreen,\r\n },\r\n ],\r\n plotOptions: {\r\n series: {\r\n lineWidth: 3,\r\n },\r\n line: {\r\n marker: {\r\n enabled: false,\r\n lineColor: undefined,\r\n lineWidth: 2,\r\n fillColor: '#fff',\r\n radius: 5,\r\n symbol: 'circle',\r\n },\r\n },\r\n },\r\n tooltip: {\r\n pointFormatter: function () {\r\n return ` ${\r\n this.series.name\r\n }: ${numberFilter(this.y)} t
`;\r\n },\r\n },\r\n };\r\n\r\n return { ...this.commonChartOptions, ...customOptions };\r\n }\r\n\r\n private get monthlyChartOptions(): Options {\r\n if (this.data === null) {\r\n return {};\r\n }\r\n\r\n const customOptions: Options = {\r\n series: [\r\n {\r\n name: this.$t('orderFlowCharts.invoiced').toString(),\r\n type: 'column',\r\n data: this.data.invoicedVolumes.map((volume, volumeIndex) => ({\r\n x: new Date(\r\n this.data!.yearAndMonths[volumeIndex].year,\r\n this.data!.yearAndMonths[volumeIndex].month - 1,\r\n 1\r\n ).getTime(),\r\n y: volume,\r\n })),\r\n color: Colors.limeGreen,\r\n pointPlacement: 0.25,\r\n zIndex: 2,\r\n legendIndex: 2,\r\n },\r\n {\r\n name: this.$t('orderFlowCharts.contracted').toString(),\r\n type: 'column',\r\n data: this.data.contractedVolumes.map((volume, volumeIndex) => ({\r\n x: new Date(\r\n this.data!.yearAndMonths[volumeIndex].year,\r\n this.data!.yearAndMonths[volumeIndex].month - 1,\r\n 1\r\n ).getTime(),\r\n y: volume,\r\n })),\r\n color: Colors.red,\r\n pointPlacement: -0.25,\r\n },\r\n ],\r\n tooltip: {\r\n pointFormatter: function () {\r\n return ` ${\r\n this.series.name\r\n }: ${numberFilter(this.y)} t
`;\r\n },\r\n },\r\n };\r\n\r\n return { ...this.commonChartOptions, ...customOptions };\r\n }\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OrderFlowCharts.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OrderFlowCharts.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OrderFlowCharts.vue?vue&type=template&id=33de8297&\"\nimport script from \"./OrderFlowCharts.vue?vue&type=script&lang=ts&\"\nexport * from \"./OrderFlowCharts.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { CommonStore } from '@/store/common';\r\nimport { store } from '@/store';\r\n\r\nimport {\r\n Module,\r\n VuexModule,\r\n Mutation,\r\n Action,\r\n getModule,\r\n} from 'vuex-module-decorators';\r\nimport orderService from '@/services/OrderService';\r\nimport { Order } from '@/models/Orders/Order';\r\n\r\n@Module({\r\n namespaced: true,\r\n name: 'completedOrders',\r\n dynamic: true,\r\n store,\r\n})\r\nclass CompletedOrdersModule extends VuexModule {\r\n public orders: Order[] | null = null;\r\n\r\n private common = new CommonStore(60); // reLoadMinMinutesInterval\r\n\r\n // ---------------\r\n // ### Getters ###\r\n // ---------------\r\n\r\n public get loading() {\r\n return this.common.loading;\r\n }\r\n\r\n // -----------------\r\n // ### Mutations ###\r\n // -----------------\r\n\r\n @Mutation public commitSetOrders(orders: Order[]) {\r\n this.orders = orders;\r\n }\r\n\r\n @Mutation public commitClearOrders() {\r\n this.orders = null;\r\n }\r\n\r\n // From common:\r\n @Mutation private commitSetLoadedDate() {\r\n this.common.setLoadedDate();\r\n }\r\n @Mutation private commitClearLoadedDate() {\r\n this.common.clearLoadedDate();\r\n }\r\n @Mutation private commitSetLoadingError(payload: { error: any }) {\r\n this.common.setLoadingError(payload);\r\n }\r\n @Mutation private commitSetLoading() {\r\n this.common.setLoading();\r\n }\r\n @Mutation private commitClearLoading() {\r\n this.common.clearLoading();\r\n }\r\n @Mutation private commitSetLoadingPromise(payload: {\r\n loadingPromise: Promise;\r\n loadingPromiseForId: any;\r\n }) {\r\n this.common.setLoadingPromise(payload);\r\n }\r\n\r\n // ---------------\r\n // ### Actions ###\r\n // ---------------\r\n\r\n @Action\r\n public async dispatchLoad(data?: { force: boolean }): Promise {\r\n if ((!data || (data && !data.force)) && !this.common.needToReLoad()) {\r\n return Promise.resolve();\r\n }\r\n\r\n if (this.common.isCurrentlyLoading()) {\r\n return this.common.loading.loadingPromise;\r\n }\r\n\r\n this.commitSetLoading();\r\n\r\n const loadingPromise = orderService\r\n .getCompletedOrders()\r\n .then((orders) => {\r\n this.commitSetOrders(orders);\r\n this.commitSetLoadedDate();\r\n this.commitClearLoading();\r\n })\r\n .catch((error) => {\r\n this.commitSetLoadingError({ error });\r\n this.commitClearOrders();\r\n\r\n return Promise.reject(error);\r\n });\r\n\r\n this.commitSetLoadingPromise({ loadingPromise, loadingPromiseForId: null });\r\n\r\n return loadingPromise;\r\n }\r\n\r\n @Action\r\n public async dispatchClear(): Promise {\r\n if (\r\n this.common.isCurrentlyLoading() &&\r\n this.common.loading.loadingPromise != null\r\n ) {\r\n return this.common.loading.loadingPromise.then(() => {\r\n this.commitClearOrders();\r\n this.commitClearLoadedDate();\r\n this.commitClearLoading();\r\n });\r\n }\r\n\r\n this.commitClearOrders();\r\n this.commitClearLoadedDate();\r\n this.commitClearLoading();\r\n }\r\n}\r\n\r\nexport const completedOrdersModule = getModule(CompletedOrdersModule);\r\n","import { CommonStore } from '@/store/common';\r\nimport { store } from '@/store';\r\n\r\nimport {\r\n Module,\r\n VuexModule,\r\n Mutation,\r\n Action,\r\n getModule,\r\n} from 'vuex-module-decorators';\r\nimport orderService from '@/services/OrderService';\r\nimport { Order } from '@/models/Orders/Order';\r\nimport { Consoler } from '@/utils/Consoler';\r\n\r\n@Module({\r\n namespaced: true,\r\n name: 'uncompletedOrders',\r\n dynamic: true,\r\n store,\r\n})\r\nclass UncompletedOrdersModule extends VuexModule {\r\n public orders: Order[] | null = null;\r\n\r\n private common = new CommonStore(60); // reLoadMinMinutesInterval\r\n\r\n // ---------------\r\n // ### Getters ###\r\n // ---------------\r\n\r\n public get loading() {\r\n return this.common.loading;\r\n }\r\n\r\n // -----------------\r\n // ### Mutations ###\r\n // -----------------\r\n\r\n @Mutation public commitSetOrders(orders: Order[]) {\r\n this.orders = orders;\r\n }\r\n\r\n @Mutation public commitClearOrders() {\r\n this.orders = null;\r\n }\r\n\r\n // From common:\r\n @Mutation private commitSetLoadedDate() {\r\n this.common.setLoadedDate();\r\n }\r\n @Mutation private commitClearLoadedDate() {\r\n this.common.clearLoadedDate();\r\n }\r\n @Mutation private commitSetLoadingError(payload: { error: any }) {\r\n this.common.setLoadingError(payload);\r\n }\r\n @Mutation private commitSetLoading() {\r\n this.common.setLoading();\r\n }\r\n @Mutation private commitClearLoading() {\r\n this.common.clearLoading();\r\n }\r\n @Mutation private commitSetLoadingPromise(payload: {\r\n loadingPromise: Promise;\r\n loadingPromiseForId: any;\r\n }) {\r\n this.common.setLoadingPromise(payload);\r\n }\r\n\r\n // ---------------\r\n // ### Actions ###\r\n // ---------------\r\n\r\n @Action\r\n public async dispatchLoad(data?: { force: boolean }): Promise {\r\n if ((!data || (data && !data.force)) && !this.common.needToReLoad()) {\r\n return Promise.resolve();\r\n }\r\n\r\n if (this.common.isCurrentlyLoading()) {\r\n Consoler.debugLog(\r\n 'Already loading, waiting for existing load to finish',\r\n 'uncompletedOrders'\r\n );\r\n return this.common.loading.loadingPromise;\r\n }\r\n\r\n this.commitSetLoading();\r\n\r\n const loadingPromise = orderService\r\n .getUncompletedOrders()\r\n .then((orders) => {\r\n this.commitSetOrders(orders);\r\n this.commitSetLoadedDate();\r\n this.commitClearLoading();\r\n })\r\n .catch((error) => {\r\n this.commitSetLoadingError({ error });\r\n this.commitClearOrders();\r\n\r\n return Promise.reject(error);\r\n });\r\n\r\n this.commitSetLoadingPromise({ loadingPromise, loadingPromiseForId: null });\r\n\r\n return loadingPromise;\r\n }\r\n\r\n @Action\r\n public async dispatchClear(): Promise {\r\n if (\r\n this.common.isCurrentlyLoading() &&\r\n this.common.loading.loadingPromise != null\r\n ) {\r\n return this.common.loading.loadingPromise.then(() => {\r\n this.commitClearOrders();\r\n this.commitClearLoadedDate();\r\n this.commitClearLoading();\r\n });\r\n }\r\n\r\n this.commitClearOrders();\r\n this.commitClearLoadedDate();\r\n this.commitClearLoading();\r\n }\r\n}\r\n\r\nexport const uncompletedOrdersModule = getModule(UncompletedOrdersModule);\r\n","import { CommonStore } from '@/store/common';\r\nimport { store } from '@/store';\r\n\r\nimport {\r\n Module,\r\n VuexModule,\r\n Mutation,\r\n Action,\r\n getModule,\r\n} from 'vuex-module-decorators';\r\nimport { ContractPerformanceSummaryForContractPeriod } from '@/models/ContractPerformance/ContractPerformanceSummaryForContractPeriod';\r\nimport orderService from '@/services/OrderService';\r\n\r\n@Module({\r\n namespaced: true,\r\n name: 'performance',\r\n dynamic: true,\r\n store,\r\n})\r\nclass ContractPerformanceSummaryForCustomerModule extends VuexModule {\r\n public data: ContractPerformanceSummaryForContractPeriod | null = null;\r\n\r\n private common = new CommonStore(10); // reLoadMinMinutesInterval\r\n\r\n // ---------------\r\n // ### Getters ###\r\n // ---------------\r\n\r\n public get loading() {\r\n return this.common.loading;\r\n }\r\n\r\n // -----------------\r\n // ### Mutations ###\r\n // -----------------\r\n\r\n @Mutation public commitSetData(\r\n data: ContractPerformanceSummaryForContractPeriod\r\n ) {\r\n this.data = data;\r\n }\r\n\r\n @Mutation public commitClearData() {\r\n this.data = null;\r\n }\r\n\r\n // From common:\r\n @Mutation private commitSetLoadedDate() {\r\n this.common.setLoadedDate();\r\n }\r\n @Mutation private commitClearLoadedDate() {\r\n this.common.clearLoadedDate();\r\n }\r\n @Mutation private commitSetLoadingError(payload: { error: any }) {\r\n this.common.setLoadingError(payload);\r\n }\r\n @Mutation private commitSetLoading() {\r\n this.common.setLoading();\r\n }\r\n @Mutation private commitClearLoading() {\r\n this.common.clearLoading();\r\n }\r\n @Mutation private commitSetLoadingPromise(payload: {\r\n loadingPromise: Promise;\r\n loadingPromiseForId: any;\r\n }) {\r\n this.common.setLoadingPromise(payload);\r\n }\r\n\r\n // ---------------\r\n // ### Actions ###\r\n // ---------------\r\n\r\n @Action\r\n public async dispatchLoad(): Promise {\r\n if (!this.common.needToReLoad()) {\r\n return Promise.resolve();\r\n }\r\n\r\n if (this.common.isCurrentlyLoading()) {\r\n return this.common.loading.loadingPromise;\r\n }\r\n\r\n this.commitSetLoading();\r\n\r\n const loadingPromise = orderService\r\n .getContractPerformanceSummary()\r\n .then((contractPerformanceSummaryForCustomer) => {\r\n this.commitSetData(contractPerformanceSummaryForCustomer);\r\n this.commitSetLoadedDate();\r\n this.commitClearLoading();\r\n })\r\n .catch((error) => {\r\n this.commitSetLoadingError({ error });\r\n this.commitClearData();\r\n\r\n return Promise.reject(error);\r\n });\r\n\r\n this.commitSetLoadingPromise({ loadingPromise, loadingPromiseForId: null });\r\n\r\n return loadingPromise;\r\n }\r\n}\r\n\r\nexport const contractPerformanceSummaryForCustomerModule = getModule(\r\n ContractPerformanceSummaryForCustomerModule\r\n);\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Vue, Watch } from 'vue-property-decorator';\r\nimport DefaultLayout from '@/layouts/DefaultLayout.vue';\r\nimport Breadcrumbs from '@/components/general/Breadcrumbs.vue';\r\nimport Messages from '@/components/general/Messages.vue';\r\nimport OrderList from '@/components/OrderList.vue';\r\nimport OrderFlowCharts from '@/components/OrderFlowCharts.vue';\r\nimport { completedOrdersModule } from '@/store/modules/completedOrders';\r\nimport { uncompletedOrdersModule } from '@/store/modules/uncompletedOrders';\r\nimport { contractPerformanceSummaryForCustomerModule } from '@/store/modules/contractPerformanceSummaryForCustomer';\r\nimport { routeNameOrderFlow, routeNameOrders } from '@/router/routes';\r\nimport { Order } from '@/models/Orders/Order';\r\nimport { RawLocation } from 'vue-router';\r\nimport { Breadcrumb } from '@/models/Breadcrumb';\r\nimport { ContractPerformanceSummaryForContractPeriod } from '@/models/ContractPerformance/ContractPerformanceSummaryForContractPeriod';\r\nimport telemetryService, {\r\n RouteTrackingInfo,\r\n} from '@/services/TelemetryService';\r\nimport { getRouteTrackingInfo } from '@/router/functions';\r\nimport TreeSelect, {\r\n TreeSelectNode,\r\n} from '@/components/general/TreeSelect.vue';\r\n\r\n@Component({\r\n components: {\r\n DefaultLayout,\r\n Breadcrumbs,\r\n Messages,\r\n OrderList,\r\n OrderFlowCharts,\r\n TreeSelect,\r\n },\r\n})\r\nexport default class OrderFlowPage extends Vue {\r\n private routeTrackingInfo: RouteTrackingInfo = {};\r\n private loading: boolean = false;\r\n private error: boolean = false;\r\n private selectedProducts: string[] = [];\r\n\r\n private get contractPerformanceSummaryForCustomer(): ContractPerformanceSummaryForContractPeriod | null {\r\n return contractPerformanceSummaryForCustomerModule.data;\r\n }\r\n\r\n private get completedOrders(): Order[] {\r\n return completedOrdersModule.orders ?? [];\r\n }\r\n\r\n private get uncompletedOrders(): Order[] {\r\n return uncompletedOrdersModule.orders ?? [];\r\n }\r\n\r\n private get uncompletedOrdersFiltered(): Order[] {\r\n if (!this.selectedProducts || this.selectedProducts.length == 0) {\r\n return this.uncompletedOrders;\r\n }\r\n\r\n return this.uncompletedOrders.filter((uo) => {\r\n return this.selectedProducts.some((productName) => {\r\n const productsInSalesOrder = uo.lines.map(\r\n (uol) => uol.productDisplayName\r\n );\r\n\r\n return productsInSalesOrder.includes(productName);\r\n });\r\n });\r\n }\r\n\r\n private get routeToOrders(): RawLocation {\r\n return { name: routeNameOrders };\r\n }\r\n\r\n private get breadcrumbs(): Breadcrumb[] {\r\n return [\r\n {\r\n routeName: routeNameOrderFlow,\r\n name: this.$t('breadcrumbs.' + routeNameOrderFlow).toString(),\r\n },\r\n ];\r\n }\r\n\r\n private get selectedProductDisplayNames(): string[] {\r\n return this.selectedProducts;\r\n }\r\n\r\n private get productDisplayNameSelectOptions(): TreeSelectNode[] {\r\n let getProductTreeNodes = function (\r\n productDisplayNames: string[]\r\n ): TreeSelectNode[] {\r\n return productDisplayNames.map((pdn) => ({ id: pdn, label: pdn }));\r\n };\r\n\r\n var productDisplayNames: string[] = [];\r\n\r\n this.uncompletedOrders.forEach((uo) => {\r\n uo.lines.forEach((uol) => {\r\n if (!productDisplayNames.includes(uol.productDisplayName)) {\r\n productDisplayNames.push(uol.productDisplayName);\r\n }\r\n });\r\n });\r\n\r\n return getProductTreeNodes(productDisplayNames);\r\n }\r\n\r\n private onFilterProductDisplayNamesChange(productNames: string[]): void {\r\n this.selectedProducts = productNames;\r\n }\r\n\r\n @Watch('$route', { immediate: false, deep: true })\r\n private onRouteChange(): void {\r\n this.routeTrackingInfo = getRouteTrackingInfo(this.$route);\r\n this.getOrdersAndPerformance().finally(() => {\r\n telemetryService.stopTrackPage(this.routeTrackingInfo);\r\n });\r\n }\r\n\r\n private created(): void {\r\n this.routeTrackingInfo = getRouteTrackingInfo(this.$route);\r\n this.getOrdersAndPerformance().finally(() => {\r\n telemetryService.stopTrackPage(this.routeTrackingInfo);\r\n });\r\n }\r\n\r\n private getOrdersAndPerformance(): Promise {\r\n this.loading = true;\r\n this.error = false;\r\n\r\n return Promise.all([\r\n uncompletedOrdersModule.dispatchLoad(),\r\n completedOrdersModule.dispatchLoad(),\r\n contractPerformanceSummaryForCustomerModule.dispatchLoad(),\r\n ])\r\n .catch(() => {\r\n this.error = true;\r\n })\r\n .finally(() => {\r\n this.loading = false;\r\n });\r\n }\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OrderFlowPage.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OrderFlowPage.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OrderFlowPage.vue?vue&type=template&id=371fd3d4&\"\nimport script from \"./OrderFlowPage.vue?vue&type=script&lang=ts&\"\nexport * from \"./OrderFlowPage.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OrderList.vue?vue&type=style&index=0&id=486e4402&scoped=true&lang=scss&\"","import { BaseServiceDefinition } from './BaseService';\r\nimport { Order } from '@/models/Orders/Order';\r\nimport { PaginatedResult } from '@/models/PaginatedResult{T}';\r\nimport { ContractPerformanceSummaryForContractPeriod } from '@/models/ContractPerformance/ContractPerformanceSummaryForContractPeriod';\r\n\r\nclass OrderService extends BaseServiceDefinition {\r\n constructor() {\r\n super();\r\n }\r\n\r\n public getOrder(id: string): Promise {\r\n return this.get('/api/v1/orders/' + id)\r\n .then((response) => {\r\n return response.data;\r\n })\r\n .catch((error) => {\r\n return Promise.reject(error);\r\n });\r\n }\r\n\r\n public getOrders(\r\n pageIndex: number,\r\n pageSize: number,\r\n term?: string\r\n ): Promise> {\r\n return this.get('/api/v1/orders', { pageIndex, pageSize, term })\r\n .then((response) => {\r\n return response.data;\r\n })\r\n .catch((error) => {\r\n return Promise.reject(error);\r\n });\r\n }\r\n\r\n public getCompletedOrders(): Promise {\r\n return this.get('/api/v1/orders/completed')\r\n .then((response) => {\r\n return response.data;\r\n })\r\n .catch((error) => {\r\n return Promise.reject(error);\r\n });\r\n }\r\n\r\n public getUncompletedOrders(): Promise {\r\n return this.get('/api/v1/orders/uncompleted')\r\n .then((response) => {\r\n return response.data;\r\n })\r\n .catch((error) => {\r\n return Promise.reject(error);\r\n });\r\n }\r\n\r\n public getContractPerformanceSummary(): Promise {\r\n return this.get('/api/v1/orders/contractPerformanceSummary')\r\n .then((response) => {\r\n return response.data;\r\n })\r\n .catch((error) => {\r\n return Promise.reject(error);\r\n });\r\n }\r\n}\r\n\r\nconst orderService: OrderService = new OrderService();\r\n\r\nexport default orderService;\r\n","export enum SuggestionType {\r\n DeliveryMessage = 'DeliveryMessage',\r\n DeliveryMessageCustomerReference = 'DeliveryMessageCustomerReference',\r\n DeliveryMessageOrder = 'DeliveryMessageOrder',\r\n Invoice = 'Invoice',\r\n Unit = 'Unit',\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.orders.length)?_c('div',{staticClass:\"c-table c-table--no-divider js-table js-table-expandable mb-3\"},[_c('div',{staticClass:\"c-table__scroll-container allow-messages-overflow\"},[_c('table',[_c('thead',[_c('tr',[_c('th',[_vm._v(_vm._s(_vm.$t('orderList.columns.headColumns.id')))]),_c('th',[_vm._v(_vm._s(_vm.$t('orderList.columns.headColumns.customerReference')))]),_c('th',[_vm._v(_vm._s(_vm.$t('orderList.columns.headColumns.products')))]),_c('th',[_c('div',{staticClass:\"u-text-right\"},[_vm._v(\" \"+_vm._s(_vm.$t('orderList.columns.quantity'))+\" \")])]),_c('th',[_vm._v(_vm._s(_vm.$t('orderList.columns.headColumns.destination')))]),_c('th',[_vm._v(_vm._s(_vm.$t('orderList.columns.headColumns.requestedArrival')))]),_c('th',[_vm._v(_vm._s(_vm.$t('orderList.columns.status')))]),(_vm.qDataEnabled)?_c('th'):_vm._e()])]),_c('tbody',[_vm._l((_vm.orders),function(order){return [_c('tr',{key:order.id,staticClass:\"c-table__primary c-table__clickable-row\",attrs:{\"aria-expanded\":\"false\",\"aria-label\":_vm.$t('orderList.primaryAriaLabel')}},[_c('td',[_c('div',{staticClass:\"c-table__td-content\"},[_vm._v(_vm._s(order.id))])]),_c('td',[_c('div',[_vm._v(_vm._s(order.customerReference))])]),_c('td',[_c('div',[_vm._v(_vm._s(_vm.getProductDisplayNames(order)))])]),_c('td',[_c('div',{staticClass:\"u-text-right nowrap\"},[_vm._v(\" \"+_vm._s(_vm._f(\"number\")(_vm.getTotalQuantity(order)))+\" t \")])]),_c('td',[_c('div',[_vm._v(_vm._s(order.deliveryAddressDestinationLocality))])]),_c('td',[_c('div',[_vm._v(\" \"+_vm._s(order.ladingInfo)+\" \")])]),_c('td',{staticClass:\"nowrap\"},[_c('span',{staticClass:\"material-icons mr-1\",class:_vm.getIconColorCssClass(order)},[_vm._v(_vm._s(_vm.getIcon(order)))]),_vm._v(\" \"+_vm._s(order.status)+\" \")]),(_vm.qDataEnabled)?_c('td',[_c('router-link',{attrs:{\"to\":_vm.getQDataRoute(order),\"title\":_vm.$t('orderList.linkTitleQdata')}},[_c('span',{staticClass:\"mdi mdi--20 mdi-file-chart\"})])],1):_vm._e()]),(_vm.getDetails(order).length)?_c('tr',{key:((order.id) + \"-details\"),staticClass:\"c-table__secondary c-table__secondary--has-child-table\",attrs:{\"aria-hidden\":\"true\"}},[_c('td',{attrs:{\"colspan\":\"99\"}},[_c('table',[_c('thead',[_c('tr',[_c('th',[_vm._v(_vm._s(_vm.$t('orderList.columns.subColumns.product')))]),_c('th',[_vm._v(_vm._s(_vm.$t('orderList.columns.quantity')))]),_c('th',[_vm._v(_vm._s(_vm.$t('orderList.columns.status')))]),_c('th',[_vm._v(\" \"+_vm._s(_vm.$t('orderList.columns.subColumns.deliveryNote'))+\" \")]),_c('th'),_c('th')])]),_c('tbody',_vm._l((_vm.getDetails(order)),function(details,index){return _c('tr',{key:((order.id) + \"-details-\" + index)},[_c('td',[_vm._v(_vm._s(details.productDisplayName))]),_c('td',{staticClass:\"nowrap\"},[_vm._v(_vm._s(_vm._f(\"number\")(details.quantity))+\" t\")]),_c('td',[_c('span',{staticClass:\"material-icons mr-1\",class:_vm.getDetailsIconColorCssClass(details)},[_vm._v(_vm._s(_vm.getDetailsIcon(details)))]),_vm._v(\" \"+_vm._s(details.description)+\" \")]),_c('td',[_vm._v(_vm._s(details.deliveryNoteNumber))]),(details.fromMill)?_c('td',[_vm._v(_vm._s(details.carNumber))]):_vm._e(),_c('td',{attrs:{\"colspan\":\"2\"}},[_c('div',{staticClass:\"d-flex justify-content-end\"},[(_vm.deliveryNotePdfEnabled && details.fromMill)?_c('div',[(\n _vm.isDownloadingPdf(details.deliveryNoteNumber)\n )?_c('span',{staticClass:\"o-loader o-loader--small\"}):(\n _vm.pdfIsLikelyUnavailable(details.deliveryDate)\n )?_c('span',{staticClass:\"mdi mdi--20 mdi-file-pdf sodra-link-dimmed\",attrs:{\"title\":_vm.$t('orderList.linkTitlePdfUnavailable')}}):_c('a',{attrs:{\"title\":_vm.$t('orderList.linkTitlePdf'),\"href\":\"\"},on:{\"click\":function($event){$event.preventDefault();return _vm.downloadPdf(details.packingSlipId)}}},[_c('span',{staticClass:\"mdi mdi--20 mdi-file-pdf\"})]),(_vm.showToolTip(details.packingSlipId))?_c('OrderListFailedDownloadTooltip',{attrs:{\"errorMessage\":_vm.$t('orderList.pdfNotFoundError')}}):_vm._e()],1):_vm._e(),(\n _vm.eudrDownloadsEnabled &&\n _vm.isDeliveryDateAfterEudrDate(details.deliveryDate)\n )?[(_vm.isDownloadingEudrCsv(details.packingSlipId))?_c('span',{staticClass:\"o-loader o-loader--small\"}):_c('a',{attrs:{\"title\":_vm.$t('orderList.linkTitleEudr'),\"href\":\"\"},on:{\"click\":function($event){$event.preventDefault();return _vm.downloadEudrDataCsv(details.packingSlipId)}}},[_c('span',{staticClass:\"mdi mdi--20 mdi-pine-tree-box\"})]),(_vm.showToolTip(details.packingSlipId))?_c('OrderListFailedDownloadTooltip',{attrs:{\"errorMessage\":_vm.$t('orderList.eudrDataNotFoundError')}}):_vm._e()]:_vm._e(),(details.qdataRoute)?_c('router-link',{attrs:{\"to\":details.qdataRoute,\"title\":_vm.$t('orderList.linkTitleQdata')}},[_c('span',{staticClass:\"mdi mdi--20 mdi-file-chart\"})]):_vm._e(),(details.invoiceRoute)?_c('router-link',{attrs:{\"to\":details.invoiceRoute,\"title\":_vm.$t('orderList.linkTitleInvoice')}},[_c('span',{staticClass:\"mdi mdi--20 mdi-clipboard-text\"})]):_vm._e()],2)])])}),0)])])]):_vm._e()]})],2)])])]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export enum OrderStatus {\r\n Confirmed = 'Confirmed',\r\n Shipped = 'Shipped',\r\n PartiallyShipped = 'PartiallyShipped',\r\n Completed = 'Completed',\r\n Canceled = 'Canceled',\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.hide)?_c('div',{staticClass:\"o-tooltip o-tooltip--red p-absolute horizontal-center tooltip-minwidth-10\",attrs:{\"x-placement\":_vm.xPlacement},on:{\"click\":function($event){return _vm.hideTooltip()}}},[_c('div',{staticClass:\"o-tooltip__arrow\",class:(\"left-\" + _vm.arrowPlacement)}),_c('div',{staticClass:\"o-tooltip__inner\"},[_vm._v(\" \"+_vm._s(_vm.errorMessage)+\" \")])]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\n\r\n@Component({})\r\nexport default class OrderListFailedDownloadTooltip extends Vue {\r\n @Prop({ required: false, default: () => '' })\r\n private errorMessage!: string;\r\n @Prop({ required: false, default: () => 'bottom-center' })\r\n private xPlacement!: string;\r\n @Prop({ required: false, default: () => '50' })\r\n private arrowPlacement!: string;\r\n\r\n private hide: boolean = false;\r\n\r\n private hideTooltip(): void {\r\n this.hide = true;\r\n }\r\n\r\n public showTooltip(): void {\r\n this.hide = false;\r\n }\r\n}\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Vue, Prop } from 'vue-property-decorator';\r\nimport { Order } from '@/models/Orders/Order';\r\nimport { OrderStatus } from '@/models/Orders/OrderStatus';\r\nimport { RawLocation } from 'vue-router';\r\nimport {\r\n routeNameQDataDelivery,\r\n routeNameInvoices,\r\n routeNameQDataSearch,\r\n} from '@/router/routes';\r\nimport {\r\n authRequirementsForInvoices,\r\n authRequirementsForQData,\r\n} from '@/router/authRequirements';\r\nimport { Permissions } from '@/utils/Permissions';\r\nimport { OrderDelivery } from '@/models/Orders/OrderDelivery';\r\nimport { DateFormats } from '@/utils/Constants';\r\nimport {\r\n defaultPageSize,\r\n generateQDataPageQuery,\r\n} from '@/utils/RoutingForQData';\r\nimport { QueryType } from '@/store/modules/deliveryMessages';\r\nimport { SuggestionType } from '@/models/QualityData/SuggestionType';\r\nimport deliveryMessageService from '@/services/DeliveryMessageService';\r\nimport { Consoler } from '@/utils/Consoler';\r\nimport { MessageType } from '@/models/Message';\r\nimport { Config } from '@/utils/Config';\r\nimport { EventBus } from '@/utils/EventBus';\r\nimport { FeatureFlagNames } from '@/models/FeatureFlagNames';\r\nimport OrderListFailedDownloadTooltip from './OrderListFailedDownloadTooltip.vue';\r\nimport moment from 'moment';\r\n\r\ninterface Details {\r\n productDisplayName: string;\r\n quantity?: number;\r\n description: string;\r\n deliveryNoteNumber?: string;\r\n status: DetailsStatus;\r\n qdataRoute?: RawLocation;\r\n invoiceRoute?: RawLocation;\r\n}\r\n\r\nenum DetailsStatus {\r\n Confirmed = 'Confirmed',\r\n Shipped = 'Shipped',\r\n}\r\n\r\nclass IconColorCssClass {\r\n public static yellow: string = 'yellow';\r\n public static green: string = 'green';\r\n public static blue: string = 'blue';\r\n}\r\n\r\n@Component({\r\n components: {\r\n OrderList,\r\n OrderListFailedDownloadTooltip,\r\n },\r\n})\r\nexport default class OrderList extends Vue {\r\n @Prop({ required: true })\r\n public orders!: Order[];\r\n\r\n private currentDeliveryNoteNumber: string | null = null;\r\n private currentDeliveryNoteNumberEudr: string | null = null;\r\n private errorOnDeliveryNoteNumber: string = '';\r\n private errorOnDeliveryNoteNumberEudr: string = '';\r\n private errorOnPdfDownload: boolean = false;\r\n private errorOnEudrDownload: boolean = false;\r\n\r\n private get qDataEnabled(): boolean {\r\n return Permissions.validate(authRequirementsForQData).valid;\r\n }\r\n\r\n private get invoicesEnabled(): boolean {\r\n return Permissions.validate(authRequirementsForInvoices).valid;\r\n }\r\n\r\n private get deliveryNotePdfEnabled(): boolean {\r\n return Permissions.isFeatureEnabled(FeatureFlagNames.DeliveryNotePdf);\r\n }\r\n\r\n private get eudrDownloadsEnabled(): boolean {\r\n return Permissions.isFeatureEnabled(FeatureFlagNames.EudrDownloads);\r\n }\r\n\r\n private isDeliveryDateAfterEudrDate(\r\n deliveryDateString: string | null\r\n ): boolean {\r\n if (deliveryDateString === null || deliveryDateString === undefined) {\r\n return false;\r\n }\r\n\r\n var deliveryDate: Date | null = null;\r\n\r\n try {\r\n deliveryDate = new Date(deliveryDateString!);\r\n } catch (ex: any) {\r\n Consoler.debugLog(\r\n `Failed to parse deliveryDateString ${deliveryDateString} to a Date object`\r\n );\r\n\r\n return false;\r\n }\r\n\r\n if (deliveryDate! >= this.eudrDownloadsFromDate) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n private get eudrDownloadsFromDate(): Date {\r\n const dateString = Config.Settings.EudrDownloadsFromDate;\r\n\r\n try {\r\n return new Date(dateString);\r\n } catch (ex: any) {\r\n Consoler.debugLog(\r\n `Failed getting a correct date from Config.Settings.EudrDownloadsFromDate: ${dateString}`\r\n );\r\n }\r\n return new Date('2050-01-01T00:00:00');\r\n }\r\n\r\n private getProductDisplayNames(order: Order): string {\r\n return order.lines\r\n .map((line) => line.productDisplayName)\r\n .filter((name, index, names) => name && names.indexOf(name) == index)\r\n .join(', ');\r\n }\r\n\r\n private getTotalQuantity(order: Order): number {\r\n return order.lines.reduce(\r\n (sum, current) => sum + current.quantityOrdered,\r\n 0\r\n );\r\n }\r\n\r\n private showToolTip(deliveryNoteNumber: string): boolean {\r\n return (\r\n (this.errorOnDeliveryNoteNumber === deliveryNoteNumber &&\r\n this.errorOnPdfDownload) ||\r\n (this.errorOnDeliveryNoteNumberEudr == deliveryNoteNumber &&\r\n this.errorOnEudrDownload)\r\n );\r\n }\r\n\r\n private getIcon(order: Order): string {\r\n switch (order.status) {\r\n case OrderStatus.Confirmed:\r\n return 'panorama_fish_eye';\r\n case OrderStatus.PartiallyShipped:\r\n return 'timelapse';\r\n case OrderStatus.Shipped:\r\n return 'lens';\r\n case OrderStatus.Completed:\r\n return 'check_circle_outline';\r\n default:\r\n return '';\r\n }\r\n }\r\n\r\n private getIconColorCssClass(order: Order): string {\r\n switch (order.status) {\r\n case OrderStatus.Confirmed:\r\n return IconColorCssClass.yellow;\r\n case OrderStatus.PartiallyShipped:\r\n case OrderStatus.Shipped:\r\n return IconColorCssClass.green;\r\n case OrderStatus.Completed:\r\n return IconColorCssClass.blue;\r\n default:\r\n return '';\r\n }\r\n }\r\n\r\n private getDetails(order: Order): Details[] {\r\n return order.lines.flatMap((line) => {\r\n const details =\r\n line.quantityToDeliver > 0\r\n ? [\r\n {\r\n productDisplayName: line.productDisplayName,\r\n quantity: line.quantityToDeliver,\r\n description: 'Confirmed',\r\n status: DetailsStatus.Confirmed,\r\n },\r\n ]\r\n : [];\r\n\r\n const getDescription = (delivery: OrderDelivery): string => {\r\n const origin = delivery.deliverySupplierDisplayName\r\n ? delivery.deliverySupplierDisplayName\r\n : delivery.deliverySupplierNumber;\r\n\r\n return this.$t('orderList.deliveryDescription', [\r\n origin,\r\n this.$moment(delivery.deliveryDate).format(DateFormats.dateFormat),\r\n ]).toString();\r\n };\r\n\r\n return details.concat(\r\n (\r\n order.deliveries?.filter((delivery) => {\r\n return delivery.productName === line.productName;\r\n }) ?? []\r\n ).map((delivery) => ({\r\n productDisplayName: delivery.productDisplayName,\r\n quantity: delivery.quantity,\r\n description: getDescription(delivery),\r\n deliveryNoteNumber: delivery.deliveryNoteNumber,\r\n deliveryDate: delivery.deliveryDate,\r\n status: DetailsStatus.Shipped,\r\n qdataRoute: this.qDataRoute(delivery.number),\r\n invoiceRoute: this.invoiceRoute(delivery.invoiceNumber),\r\n packingSlipId: delivery.number,\r\n carNumber: delivery.carNumber,\r\n fromMill: delivery.fromMill,\r\n }))\r\n );\r\n });\r\n }\r\n\r\n private getDetailsIcon(details: Details): string {\r\n switch (details.status) {\r\n case DetailsStatus.Confirmed:\r\n case DetailsStatus.Shipped:\r\n return 'stop_circle';\r\n default:\r\n return '';\r\n }\r\n }\r\n\r\n private getDetailsIconColorCssClass(details: Details): string {\r\n switch (details.status) {\r\n case DetailsStatus.Confirmed:\r\n return IconColorCssClass.yellow;\r\n case DetailsStatus.Shipped:\r\n return IconColorCssClass.green;\r\n default:\r\n return '';\r\n }\r\n }\r\n\r\n private getQDataRoute(order: Order): RawLocation {\r\n return {\r\n name: routeNameQDataSearch,\r\n query: generateQDataPageQuery({\r\n by: QueryType.ByTerm,\r\n term: order.id,\r\n type: SuggestionType.DeliveryMessageOrder,\r\n pageIndex: 0,\r\n pageSize: defaultPageSize,\r\n }),\r\n };\r\n }\r\n\r\n private qDataRoute(deliveryMessageNumber: string) {\r\n return deliveryMessageNumber && this.qDataEnabled\r\n ? {\r\n name: routeNameQDataDelivery,\r\n params: { deliveryMessageNumber: deliveryMessageNumber },\r\n }\r\n : undefined;\r\n }\r\n\r\n private invoiceRoute(invoiceNumber: string) {\r\n return invoiceNumber && this.invoicesEnabled\r\n ? {\r\n name: routeNameInvoices,\r\n query: { term: invoiceNumber },\r\n }\r\n : undefined;\r\n }\r\n\r\n private isDownloadingPdf(deliveryNoteNumber?: string): boolean {\r\n return this.currentDeliveryNoteNumber === deliveryNoteNumber;\r\n }\r\n\r\n private isDownloadingEudrCsv(deliveryNoteNumber?: string): boolean {\r\n return this.currentDeliveryNoteNumberEudr === deliveryNoteNumber;\r\n }\r\n\r\n private pdfIsLikelyUnavailable(deliveryDate: string): boolean {\r\n return !this.pdfIsLikelyAvailable(deliveryDate);\r\n }\r\n\r\n private pdfIsLikelyAvailable(deliveryDate: string): boolean {\r\n const pdfDelayInHours: number = 24;\r\n var hoursSinceDelivery = moment().diff(moment(deliveryDate), 'hours');\r\n return hoursSinceDelivery >= pdfDelayInHours;\r\n }\r\n\r\n private async downloadPdf(deliveryNoteNumber?: string): Promise {\r\n this.errorOnPdfDownload = false;\r\n this.errorOnDeliveryNoteNumber = '';\r\n if (!deliveryNoteNumber) {\r\n return;\r\n }\r\n\r\n if (this.currentDeliveryNoteNumber) {\r\n return;\r\n }\r\n\r\n this.currentDeliveryNoteNumber = deliveryNoteNumber;\r\n\r\n try {\r\n await deliveryMessageService.downloadDeliveryNoteAsPdf(\r\n deliveryNoteNumber\r\n );\r\n } catch (error: any) {\r\n Consoler.debugWarn('Error downloading pdf', error);\r\n\r\n this.errorOnDeliveryNoteNumber = deliveryNoteNumber;\r\n this.errorOnPdfDownload = true;\r\n\r\n EventBus.$emit(Config.AddMessageEvent, {\r\n text: this.$t(\r\n error?.response?.status === 404\r\n ? 'orderList.pdfNotFoundError'\r\n : 'orderList.pdfGeneralError'\r\n ).toString(),\r\n type: MessageType.error,\r\n });\r\n } finally {\r\n this.currentDeliveryNoteNumber = null;\r\n }\r\n }\r\n private async downloadEudrDataCsv(\r\n deliveryNoteNumber?: string\r\n ): Promise {\r\n this.errorOnEudrDownload = false;\r\n this.errorOnDeliveryNoteNumberEudr = '';\r\n if (!deliveryNoteNumber) {\r\n return;\r\n }\r\n\r\n if (this.currentDeliveryNoteNumberEudr) {\r\n return;\r\n }\r\n\r\n this.currentDeliveryNoteNumberEudr = deliveryNoteNumber;\r\n\r\n try {\r\n await deliveryMessageService.downloadDeliveryMessageEudrDataAsCsv(\r\n deliveryNoteNumber\r\n );\r\n } catch (error: any) {\r\n Consoler.debugWarn('Error downloading EUDR data', error);\r\n\r\n this.errorOnDeliveryNoteNumberEudr = deliveryNoteNumber;\r\n this.errorOnEudrDownload = true;\r\n\r\n EventBus.$emit(Config.AddMessageEvent, {\r\n text: this.$t(\r\n error?.response?.status === 404\r\n ? 'orderList.eudrDataNotFoundError'\r\n : 'orderList.eudrGeneralError'\r\n ).toString(),\r\n type: MessageType.error,\r\n });\r\n } finally {\r\n this.currentDeliveryNoteNumberEudr = null;\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OrderListFailedDownloadTooltip.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OrderListFailedDownloadTooltip.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OrderListFailedDownloadTooltip.vue?vue&type=template&id=7dc197f0&scoped=true&\"\nimport script from \"./OrderListFailedDownloadTooltip.vue?vue&type=script&lang=ts&\"\nexport * from \"./OrderListFailedDownloadTooltip.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./OrderListFailedDownloadTooltip.vue?vue&type=style&index=0&id=7dc197f0&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7dc197f0\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OrderList.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OrderList.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OrderList.vue?vue&type=template&id=486e4402&scoped=true&\"\nimport script from \"./OrderList.vue?vue&type=script&lang=ts&\"\nexport * from \"./OrderList.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./OrderList.vue?vue&type=style&index=0&id=486e4402&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"486e4402\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"d-flex flex-wrap\"},[_c('form',{attrs:{\"name\":\"searchBoxForm\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.onSubmit.apply(null, arguments)}}},[_c('div',{staticClass:\"o-search-input @@modifiers\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newValue),expression:\"newValue\"}],ref:\"query\",staticClass:\"o-search-input__input\",attrs:{\"type\":\"search\",\"name\":\"query\",\"placeholder\":_vm.placeholder},domProps:{\"value\":(_vm.newValue)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.newValue=$event.target.value}}}),(_vm.newValue === _vm.value && _vm.newValue !== '')?_c('button',{staticClass:\"o-search-input__button\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){$event.preventDefault();return _vm.onReset.apply(null, arguments)}}},[_c('i',{staticClass:\"o-search-input__button-icon mdi mdi-close-circle\"})]):_c('button',{staticClass:\"o-search-input__button\",attrs:{\"type\":\"submit\"}},[_c('i',{staticClass:\"o-search-input__button-icon material-icons\"},[_vm._v(\"search\")])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\r\n\r\n@Component\r\nexport default class SearchBox extends Vue {\r\n @Prop({ required: true }) private value!: string;\r\n @Prop({ required: true }) private placeholder!: string;\r\n\r\n private newValue: string = '';\r\n\r\n private created() {\r\n this.newValue = this.value;\r\n }\r\n\r\n @Watch('value', { immediate: true, deep: false })\r\n private onValueChange(val: any) {\r\n this.newValue = val;\r\n }\r\n\r\n private onSubmit(): void {\r\n this.newValue = this.newValue.trim();\r\n this.$emit('submit', this.newValue);\r\n }\r\n\r\n private onReset(): void {\r\n this.newValue = '';\r\n\r\n this.$nextTick(() => {\r\n const input = this.$refs.query as HTMLInputElement;\r\n if (input) {\r\n input.focus();\r\n }\r\n });\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchBox.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchBox.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SearchBox.vue?vue&type=template&id=1558b7f5&scoped=true&\"\nimport script from \"./SearchBox.vue?vue&type=script&lang=ts&\"\nexport * from \"./SearchBox.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./SearchBox.vue?vue&type=style&index=0&id=1558b7f5&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1558b7f5\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}