{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/views/Accounting/Turnover.vue?78cc","webpack:///./src/dtos/erpInvoiceState.ts","webpack:///./src/dtos/priceModel.ts","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/dtos/erpAddressType.ts","webpack:///./src/dtos/articleState.ts","webpack:///./src/App.vue?7bb7","webpack:///./src/views/Article/ArticleComponent.vue?fea6","webpack:///./src/views/Accounting/OpenMahnungen.vue?1703","webpack:///./src/dtos/IPowderFinish.ts","webpack:///./src/dtos/powderStructure.ts","webpack:///./src/views/Accounting/OpenInvoices.vue?8952","webpack:///./src/store/rules.ts","webpack:///./src/views/Ticket/ProcessTicket.vue?fa27","webpack:///./src/dtos/entgratart.ts","webpack:///./src/dtos/addressDto.ts","webpack:///./src/store/actions.ts","webpack:///./src/store/mutations.ts","webpack:///./src/dtos/customerSearchRequestDto.ts","webpack:///./src/store/getters.ts","webpack:///./src/store/store.ts","webpack:///./src/views/Accounting/Payments.vue?1ead","webpack:///./src/assets/blexon_logo_portal.png","webpack:///./src/components/ArticleCadPreview.vue","webpack:///./src/components/CadDialog.vue","webpack:///./src/components/CadDialog.vue?cd0d","webpack:///./src/components/CadDialog.vue?3dc8","webpack:///./src/components/CadDialog.vue?b96e","webpack:///./src/components/ArticleCadPreview.vue?e209","webpack:///./src/components/ArticleCadPreview.vue?93ae","webpack:///./src/components/ArticleCadPreview.vue?596f","webpack:///./src/dtos/IPowderStructure.ts","webpack:///./src/class-component-hooks.ts","webpack:///./src/plugins/vuetify.js","webpack:///./src/App.vue","webpack:///./src/App.vue?60ad","webpack:///./src/App.vue?bbe0","webpack:///./src/App.vue?a938","webpack:///./src/views/Home.vue","webpack:///./src/components/FeedbackDiagramComponent.vue","webpack:///./src/components/FeedbackDiagramComponent.vue?4ab5","webpack:///./src/components/FeedbackDiagramComponent.vue?9c18","webpack:///./src/components/FeedbackDiagramComponent.vue?bfce","webpack:///./src/views/Home.vue?0e98","webpack:///./src/views/Home.vue?cd2c","webpack:///./src/views/Home.vue?a0f1","webpack:///./src/views/Ticket/ProcessTicket.vue","webpack:///./src/views/Ticket/TicketPosition.vue","webpack:///./src/views/Ticket/ImageGallery.vue","webpack:///./src/views/Ticket/ImageGallery.vue?43a3","webpack:///./src/dtos/complainType.ts","webpack:///./src/views/Ticket/ImageGallery.vue?545e","webpack:///./src/views/Ticket/ImageGallery.vue?1750","webpack:///./src/dtos/IComplainType.ts","webpack:///./src/dtos/blexonResolutionType.ts","webpack:///./src/dtos/fertigerComplaintResponseType.ts","webpack:///./src/views/Ticket/TicketPosition.vue?e25b","webpack:///./src/views/Ticket/TicketPosition.vue?fe22","webpack:///./src/views/Ticket/TicketPosition.vue?94dd","webpack:///./src/views/Ticket/TransportSettings.vue","webpack:///./src/views/Ticket/TransportSettings.vue?91da","webpack:///./src/views/Ticket/TransportSettings.vue?683d","webpack:///./src/views/Ticket/TransportSettings.vue?1797","webpack:///./src/views/Ticket/ReturnTransportSettings.vue","webpack:///./src/views/Ticket/DefineGebindeComponent.vue","webpack:///./src/views/Ticket/GebindeComponent.vue","webpack:///./src/views/Ticket/GebindeComponent.vue?72be","webpack:///./src/views/Ticket/GebindeComponent.vue?966c","webpack:///./src/views/Ticket/GebindeComponent.vue?ef68","webpack:///./src/views/Ticket/DefineGebindeComponent.vue?5d45","webpack:///./src/views/Ticket/DefineGebindeComponent.vue?f6d4","webpack:///./src/views/Ticket/DefineGebindeComponent.vue?668e","webpack:///./src/views/Ticket/ReturnTransportSettings.vue?5509","webpack:///./src/views/Ticket/ReturnTransportSettings.vue?e920","webpack:///./src/views/Ticket/ReturnTransportSettings.vue?c26b","webpack:///./src/views/Ticket/CostDistribution.vue","webpack:///./src/views/Ticket/CostDistribution.vue?bf31","webpack:///./src/dtos/ticketState.ts","webpack:///./src/views/Ticket/CostDistribution.vue?4a1f","webpack:///./src/views/Ticket/CostDistribution.vue?9222","webpack:///./src/views/Ticket/ProcessTicket.vue?2c4a","webpack:///./src/views/Ticket/ProcessTicket.vue?5b49","webpack:///./src/views/Ticket/ProcessTicket.vue?0614","webpack:///./src/views/Ticket/Dashboard.vue","webpack:///./src/views/Ticket/Dashboard.vue?602d","webpack:///./src/dtos/priceState.ts","webpack:///./src/views/Ticket/Dashboard.vue?fd67","webpack:///./src/views/Ticket/Dashboard.vue?ee49","webpack:///./src/views/Article/Dashboard.vue","webpack:///./src/views/Article/ArticleComponent.vue","webpack:///./src/views/Article/ArticleComponent.vue?15a2","webpack:///./src/views/Article/ArticleComponent.vue?0a88","webpack:///./src/views/Article/ArticleComponent.vue?c68d","webpack:///./src/views/Article/AssemblyComponent.vue","webpack:///./src/views/Article/AssemblyComponent.vue?873f","webpack:///./src/views/Article/AssemblyComponent.vue?a924","webpack:///./src/views/Article/AssemblyComponent.vue?d8a2","webpack:///./src/views/Article/Dashboard.vue?6231","webpack:///./src/views/Article/Dashboard.vue?fb48","webpack:///./src/views/Article/Dashboard.vue?6b19","webpack:///./src/views/Accounting/AccountingDashboard.vue","webpack:///./src/views/Accounting/OpenInvoiceMatchingComponent.vue","webpack:///./src/views/Accounting/OpenInvoices.vue","webpack:///./src/views/Accounting/CreateMahnungDialog.vue","webpack:///./src/views/Accounting/CreateMahnungDialog.vue?91c5","webpack:///./src/views/Accounting/CreateMahnungDialog.vue?f1c3","webpack:///./src/views/Accounting/CreateMahnungDialog.vue?bc81","webpack:///./src/views/Accounting/OpenInvoices.vue?11c8","webpack:///./src/views/Accounting/OpenInvoices.vue?020f","webpack:///./src/views/Accounting/OpenInvoices.vue?0cbf","webpack:///./src/views/Accounting/OpenInvoiceMatchingComponent.vue?877d","webpack:///./src/views/Accounting/OpenInvoiceMatchingComponent.vue?0358","webpack:///./src/views/Accounting/OpenInvoiceMatchingComponent.vue?7b29","webpack:///./src/views/Accounting/OpenMahnungen.vue","webpack:///./src/dtos/mahnungDto.ts","webpack:///./src/dtos/mahnungAuditDto.ts","webpack:///./src/views/Accounting/OpenMahnungen.vue?4630","webpack:///./src/dtos/invoiceSorting.ts","webpack:///./src/views/Accounting/OpenMahnungen.vue?ce77","webpack:///./src/views/Accounting/OpenMahnungen.vue?b717","webpack:///./src/views/Accounting/AllInvoices.vue","webpack:///./src/views/Accounting/AllInvoices.vue?2454","webpack:///./src/views/Accounting/AllInvoices.vue?216b","webpack:///./src/views/Accounting/AllInvoices.vue?5cbf","webpack:///./src/views/Accounting/Payments.vue","webpack:///./src/views/Accounting/Payments.vue?12ef","webpack:///./src/views/Accounting/Payments.vue?cda5","webpack:///./src/views/Accounting/Payments.vue?7433","webpack:///./src/views/Accounting/MwstAbrechnung.vue","webpack:///./src/views/Accounting/MwstAbrechnung.vue?2498","webpack:///./src/views/Accounting/MwstAbrechnung.vue?30d2","webpack:///./src/views/Accounting/MwstAbrechnung.vue?7b3c","webpack:///./src/views/Accounting/Turnover.vue","webpack:///./src/views/Accounting/Turnover.vue?f428","webpack:///./src/views/Accounting/Turnover.vue?4d51","webpack:///./src/views/Accounting/Turnover.vue?1a25","webpack:///./src/views/Accounting/AccountingDashboard.vue?f7d5","webpack:///./src/views/Accounting/AccountingDashboard.vue?5b94","webpack:///./src/views/Accounting/AccountingDashboard.vue?b118","webpack:///./src/views/Article/AssemblyView.vue","webpack:///./src/views/Article/AssemblyView.vue?efd9","webpack:///./src/views/Article/AssemblyView.vue?1848","webpack:///./src/views/Article/AssemblyView.vue?2c56","webpack:///./src/router.ts","webpack:///./src/registerServiceWorker.ts","webpack:///./src/main.ts","webpack:///./src/dtos/matchingType.ts","webpack:///./src/views/Accounting/AllInvoices.vue?d642","webpack:///./src/dtos/eventType.ts","webpack:///./src/dtos/customerSortingType.ts","webpack:///./src/dtos/powderFinish.ts","webpack:///./src/store/httpClient.ts","webpack:///./src/components/DatePicker.vue","webpack:///./src/components/DatePicker.vue?30cd","webpack:///./src/components/DatePicker.vue?8df4","webpack:///./src/components/DatePicker.vue?9389","webpack:///./src/dtos/articleFaceType.ts","webpack:///./src/dtos/IArticleFaceTypes.ts","webpack:///./src/views/Accounting/OpenInvoiceMatchingComponent.vue?eada","webpack:///./src/views/Ticket/CostDistribution.vue?3d0e"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","ErpInvoiceState","PriceModel","allPriceModels","Standard","Slow","Express","getPriceModelText","map","webpackContext","req","id","webpackContextResolve","keys","ErpAddressType","ArticleState","values","text","PowderFinish","Matt","Glossy","PowderStructure","requiredRule","v","replace","optionalStringMax35Rule","requiredStringMax10Rule","requiredStringMax35Rule","requiredStringMax50Rule","addressOptionalStringRule","test","addressRequiredStringRule","requiredEmailRule","optionalEmailRule","indexOf","optionalUrlRule","requiredIntegerRule","toString","isNaN","parseInt","parseFloat","optionalIntegerRule","requiredNonNegativeIntegerRule","optionalNonNegativeIntegerRule","requiredInteger0To100Rule","requiredNumberRule","requiredNonNegativeNumberRule","requiredNumberBiggerZeroRule","optionalNonNegativeNumberRule","requiredNumber0To1Rule","optionalNumber0To1Rule","requiredNumberBiggerEqual1Rule","Entgratart","getEntgratartText","None","Manually","Webern","Trowalisieren","BothSides","AddressDto","_createClass","_classCallCheck","givenName","surname","companyName","street","zip","town","country","phone","eMail","customerId","isDefault","Delivery","bootstrap","_bootstrap","_asyncToGenerator","regeneratorRuntime","mark","_callee","context","wrap","_context","prev","next","abrupt","log","client","UserManager","state","oidc","config","events","addAccessTokenExpiring","commit","instance","getUser","user","expired","sessionStorage","setItem","location","signinRedirect","stop","_x","arguments","checkAccess","_checkAccess","_callee2","response","_context2","httpClient","sent","_x2","loadManufacturers","_loadManufacturers","_callee3","_context3","t0","_x3","logout","localStorage","removeItem","signoutRedirect","updateArticle","_updateArticle","_callee4","articleId","articleInStore","_context4","articles","find","a","concat","_x4","_x5","loadMissingArticles","_loadMissingArticles","_callee5","articleIds","_context5","filter","some","sa","loading","post","finish","_x6","_x7","downloadOriginalImportFile","_downloadOriginalImportFile","_callee6","filename","_context6","method","responseType","headers","split","FileSaver","saveAs","Blob","_x8","_x9","downloadInvoiceAsPdf","_downloadInvoiceAsPdf","_callee7","orderId","url","link","_context7","URL","createObjectURL","click","_x10","_x11","setupSignalR","connection","signalR","withUrl","process","accessTokenFactory","userString","getItem","JSON","parse","access_token","configureLogging","Information","build","start","_start","_callee9","_context9","onclose","_callee8","_context8","on","article","jsonObject","dispatch","storeOidcUser","storeOidcInstance","setIsAdmin","isAdmin","setSnackbarText","snackbarColor","snackbarText","setSnackbarErrorText","setUserRights","userRights","setEmbedded","embedded","setManufacturers","manufacturers","fertigers","setCustomers","customers","addOrUpdateCustomers","forEach","customerIndex","findIndex","stateCustomer","removeCustomer","markCustomerInactive","active","setTags","tags","setFilterTags","customerFilterTags","setCustomerFilterCountries","countries","customerFilterCountries","setSuchbegriff","suchbegriff","setManualSkip","skip","manualSkip","setCustomerSearchCountries","customerSearchCountries","setCustomerSortType","newSortType","customerSortingType","setCustomerLoading","isLoading","isLoadingCustomers","setCustomerLastSearchTerm","lastSearchTerm","customerLastSearchTerm","setHasMoreCustomersToLoad","hasMoreToLoad","hasMoreCustomersToLoad","setCustomerVolltextSuche","isVolltext","customerVolltextSuche","setDetailCustomerInfo","customerInfo","detailCustomerInfo","setDetailCustomerDetails","customerDetails","detailCustomerDetails","setTotalCustomerCount","count","totalCustomerCount","setOrderSorting","newType","orderSortingType","setOrderSuchbegriff","orderSuchbegriff","setOrderCancellations","cancellations","orderCancellations","addOrUpdateOrderCancellations","cancellationIndex","cancellation","blexonOrderId","setOrderFilterStates","states","orderFilterStates","setOrderFilterFertiger","fertiger","orderFilterFertiger","setArticles","removeArticle","index","replaceArticle","addOrUpdateArticles","articleIndex","stateArticle","setActiveAccountingTab","tab","activeAccountingTab","setTransactions","transactions","setMatchedInvoices","invoices","matchedInvoices","removeTransaction","transactionId","addTransactionMatch","newInvoice","invoiceId","invoice","amount","totalAmount","firstname","lastname","kundenauftragId","dueDate","matchingType","MatchingType","ByHand","payments","removeTransactionMatch","setMatchSelectMode","isMatchSelectMode","isSelectMode","setDueInvoiceSearchTerm","searchTerm","dueInvoiceSearchTerm","setDueInvoices","dueInvoices","setDueInvoiceSorting","invoiceSorting","dueInvoiceSorting","removeDueInvoice","setDueInvoiceAsGemahnt","hasMahnung","setInvoiceSearchTerm","invoiceSearchTerm","setInvoiceLastSearchTerm","invoiceLastSearchTerm","setInvoices","setInvoiceSorting","invoiceSortingType","setInvoiceFilterRegions","regions","invoiceFilterRegions","addOrUpdateInvoices","invoiceIndex","stateInvoice","setPayments","setPaymentSearchTerm","paymentSearchTerm","setPaymentLastSearchTerm","paymentLastSearchTerm","setPaymentSorting","paymentSorting","setPaymentFilterRegions","paymentFilterRegions","addOrUpdatePayments","paymentIndex","statePayment","setMahnungSearchTerm","mahnungSearchTerm","setMahnungLastSearchTerm","mahnungLastSearchTerm","setMahnungen","mahnungen","setMahnungSorting","mahnungSorting","setSelectedMahnung","dataObject","mahnungsId","selected","setShowResolved","showResolved","ticketSettings","CustomerSearchRequestDto","isVolltextSearch","tagIds","sortingType","CustomerSortingType","CustomerIdDescending","currentCustomerSearchRequest","getters","customerPersonalAddress","address","plz","Personal","regionNameFromCountryCode","countryCode","Vue","use","Vuex","authorityUrl","redirectUri","postLogoutRedirectUri","canProcessTicketAsBlexon","canProcessTicketAsFertiger","sortBy","descending","rowsPerPage","auditSorting","authenticated","token","userStore","Oidc","WebStorageStateStore","authority","client_id","redirect_uri","post_logout_redirect_uri","response_type","scope","silent_redirect_uri","origin","accessTokenExpiringNotificationTime","automaticSilentRenew","filterProtocolClaims","loadUserInfo","Store","mutations","actions","_c","_self","_setup","staticStyle","attrs","_vm","getThumbnailUrl","readonly","staticRenderFns","model","callback","cadDialog","expression","articleCadViewUrl","CadDialogComponent","_Vue","_this","articleHasUnsavedChanges","currentWindowHeight","articleToken","_inherits","this","setWindowHeight","addEventListener","removeEventListener","_openCadDialog","openDialog","handleArticleChangedInCad","openCadDialog","closeCadDialog","_closeCadDialog","deleteToken","$emit","localToken","currentHeight","innerHeight","__decorate","Prop","Watch","Component","component","ArticleCadPreview","articleLastChange","components","CadDialog","Fine","Rough","Smooth","registerHooks","Vuetify","theme","primary","secondary","accent","info","success","warning","customProperties","iconfont","staticClass","navigateTo","_v","$event","scopedSlots","fn","proxy","$store","nativeOn","slot","snackbar","domProps","App","drawer","loadTags","profile","toLowerCase","boolValue","_this2","to","$router","_loadTags","render","_setupProxy","antwort","customerName","_s","Chart","require","FeedbackDiagramComponent","fragen","loadData","f","antworten","labels","anzahl","werte","ctx","$refs","diagramCanvas","getContext","chart","datasets","label","borderColor","backgroundColor","borderWidth","left","right","top","bottom","options","legend","display","scales","xAxes","ticks","min","max","stepSize","yAxes","afterFit","scaleInstance","width","fontSize","update","_loadData","updateDiagram","Home","_callSuper","parent","postMessage","directives","rawName","ticketDto","currentPosition","showCostDistribution","_e","onResolutionChanged","ref","isNacharbeitIntended","complaintDto","$set","image","showGallery","getComplaintImageUrl","ImageGalleryComponent","currentImage","guid","uri","images","ComplainType","BlexonResolutionType","CutqualityLow","Scratches","MissingCuts","WrongBending","OutOfTolerance","TransportDamage","Missing","Other","WrongGrainDirection","PowderCoating","Weldline","Features","FertigerComplaintResponseType","blexonResolutionTypes","Declined","AcceptedErsatzlieferung","AcceptedNacharbeit","AcceptedDiscount","EditPositionGeneralComponent","fertigerResponseTypes","Unknown","RequestedNacharbeit","Discount","_blexonResolutionChanged","blexonResolution","blexonResolutionChanged","selectedValue","ComplainTypes","Date","now","validForm","transportCostCalculating","transportCalculation","updateTransportSettings","TransportSettings","transportCostCalculationMessage","transportProviders","Array","rules","_mounted","loadTransportProviders","loadTransportSettings","transportProviderId","calculateTransportCost","mounted","weightLimit","totalWeightOfReplacementParts","_loadTransportProviders","_loadTransportSettings","_updateTransportSettings","relevantComplaints","complains","totalWeight","complain","part","gewicht","numberOfWrongParts","element","menge","_calculateTransportCost","date","moment","format","DatePicker","replacementTransportProviders","change","downloadDelivery","deleteReturnDelivery","gebindeOpen","allGebinde","gebinde","addGebinde","createDelivery","weightRule","distanceRule","paletteRule","GebindeComponent","validGebinde","DefineGebindeComponent","loadGebinde","_loadGebinde","ticketId","_saveGebinde","saveGebinde","_addGebinde","weight","height","timeEffort","numberOfEuropalettes","numberOfEuropalettesFrames","numberOfEuropalettesLid","_deleteGebinde","deleteGebinde","_createDelivery","errorMessage","_deleteReturnDelivery","hasDeliveryNote","_downloadDelivery","noteResponse","numberResponse","numberOfLabels","labelResponse","_url","_link","size","valid","props","item","validate","getManufacturerPrice","CostDistribution","worksteps","validShare","cost","sum","manufacturerShare","powderCoaterShare","total","schadenssumme","customerPricePerPart","calculateCost","complaint","schaden","Math","powderCoatingPrice","round","materialPrice","fertigungPrice","Number","EPSILON","updateManufacturerShare","updatePowderCoaterShare","costForm","_calculateCost","ticket","_updateManufacturerShare","_updatePowderCoaterShare","_updateDiscount","updateDiscount","blexonResolutionType","customerPrice","w","partId","_step","_iterator","_createForOfIteratorHelper","done","manufacturingCost","effektiverBetrag","_step2","_iterator2","getCustomerPrice","manufacturerPrice","powderCoatingWorksteps","TicketState","ProcessTicket","costDistributionIsValid","loadTicket","every","costDistribution","_loadTicket","_processTicket","Resolved","processTicket","ReturnTransportSettings","TicketPosition","pagination","_u","header","waitingForBlexon","CustomerDashboard","tickets","previousSuchbegriff","align","sortable","complaintsHeader","complaintTypeEnum","complainTypes","loadTickets","set","Open","manufacturerHasDecided","deliveryDate","minDate","_loadTickets","params","column","debounce","leading","PriceState","handleScroll","customerIdString","deleted","articleDialog","deleteArticle","deleteMessagesDialog","design","updateWeight","updateBoundingBox","camValidation","updatePrice","updateAssembly","style","articleStateColor","locked","calculating","isLoadingPrices","sortedPrices","prices","getModelPrice","stopPropagation","showPriceDetailsDialog","getPriceModelName","b","_f","numberOfPartsShownInPriceDetails","$$v","fehlermeldung","deleteMessages","ArticleComponent","recalculatingPrice","simulateBendingRunning","updateAssemblyRunning","validateRunning","deletingMessages","designRunning","camValidationRunning","updateBoundingBoxRunning","updateWeightRunning","workSteps","lastSurcharge","lastBlexonComment","lastManufacturingComment","articleFaces","ArticleFaceTypes","powderFinishes","PowderFinishes","powderStructures","PowderStructures","priceModels","PriceModelDefault","priceSurcharge","blexonComment","manufacturingComment","camMessages","isSelected","OK","Warning","Locked","New","Info","Deleted","_updateEntgratart","entgratart","updateEntgratart","_showPriceDetails","price","quantity","showPriceDetails","_deleteMessages","messagesToDelete","getNonObsoleteCamMessages","_design","_camValidation","_updatePrice","_updateWeight","_updateBoundingBox","_simulateBending","_callee10","_context10","simulateBending","_updateAssembly","_callee11","_context11","_validate","_callee12","_context12","_lockArticle","_callee13","_context13","lockArticle","_unlockArticle","_callee14","_context14","unlockArticle","_callee15","_context15","_deleteArticle","_callee16","_context16","confirm","_changeOverridePowderCoating","_callee17","_context17","hasPowderCoatingOverride","changeOverridePowderCoating","_reactivateArticle","_callee18","_context18","reactivateArticle","_saveEdits","_callee19","_data","_data2","_data3","_context19","comment","surcharge","saveEdits","enumValue","priceState","NotCalculated","Invalid","Failed","availablePriceModels","priceLists","pl","priceModel","from","sort","list","toFixed","_getPrices","_callee20","_context20","getPrices","grouped","groupByKey","array","reduce","hash","obj","assign","_defineProperty","pm","featureTexts","featureDtos","formVorlageText","hasEngravings","join","weldlines","numberOfCorners","corners","clean","schweregrad","assemblyState","articleStateText","subArticleIds","subarticles","quantityInAssembly","Ok","Calculating","ArticleDashboard","loadedArticleUpTo","scrollPos","onlyLocked","includeDeleted","loadBatchSize","filterModifiers","filterModifier","alreadyLoaded","setProps","loadArticle","_setProps","customerIdProp","articleIdProp","parsedId","parentArticleId","_loadArticle","_handleScroll","bottomOfWindow","pageYOffset","body","offsetHeight","AssemblyComponent","getKeyFromText","reloadMahnungen","allInvoicesIsLoading","setAllInvoicesIsLoading","paymentsIsLoading","reloadMahnungenToggle","uploading","transaction","getBackgroundColor","getMatchIconColor","currency","payment","isReadyToProcessMatches","processConfirmationDialog","filterRegions","showGemahnt","class","markAsPaidInvoiceId","markAsPaidDialogOpen","navigateToPayments","markAsPaidValid","markAsPaidInvoiceAmount","markAsPaid","mahnungNotDueInvoiceDialog","show","positiveNumberRule","isValidCost","CreateMahnungDialog","dateNow","compareDate","setHours","_createMahnung","close","createMahnung","OpenInvoices","currentDueFilter","currentInvoiceId","currentInvoiceDueDate","validSearchTerm","dueFilterTypes","loadInvoices","_reload","reloadInvoices","reload","isDue","is10DaysPast","includes","region","mi","invoiceAddress","toUpperCase","customerAddress","newInvoices","acc","paidAmount","_loadInvoices","rawInvoices","mahnungCost","_checkCreateMahnung","checkCreateMahnung","_savedMahnung","savedMahnung","_markAsPaid","invoideId","_navigateToInvoiceEdit","navigateToInvoiceEdit","diff","getTime","abs","OpenInvoiceMatchingComponent","reloadInvoicesToggle","processing","fromDateString","subtract","toDateString","invoicesA","getMatchingInvoicesOfTransaction","invoicesB","bestMatchA","x","bestMatchB","compare","selectedTransaction","toggleMatchModeForTransaction","matchingInvoices","emptyArray","emptyMatch","NoMatch","preventDefault","uploadArea","className","uploadFiles","dataTransfer","files","selectMode","$forceUpdate","_uploadFiles","inputFiles","allowedExtensions","file","_this3","extension","lastIndexOf","FormData","append","_processAllMatches","ids","_this4","ByPaidInvoice","processMatches","processAllMatches","_processMatches","transactionIds","transactionsToSend","invoicesToSend","sendObject","_this5","anyTransactionsInSelectionMode","ById","ByReference","ByAmount","sendSelectedMahnungenDialog","onMahnungClick","openMahnungDialog","currentMahnung","mahnungsPositions","mahnungPositionId","pos","newAudit","createdAt","auditEventTypes","isDownloading","getMahnungPdf","downloadInvoicePdfs","sendSelectedMahnungenAndReload","MahnungDto","changedAt","mahnungsDatum","note","audits","MahnungAuditDto","auditId","mahnungId","email","eventType","EventType","MahnungCalledCustomer","OpenMahnungen","lastNote","auditTemplate","MahnungSentAsEmail","MahnungSentAsPhysicalMail","auditHeaders","eventTypeText","loadMahnungen","newMahnungen","_loadMahnungen","stringContent","positions","totalMoney","invoiceOpenAmount","_objectSpread","_getMahnungPdf","_downloadInvoicePdfs","position","t1","_sendSelectedMahnungenAndReload","sendSelectedMahnungen","_sendSelectedMahnungen","selectedMahnungen","_saveNote","saveNote","_saveAudit","currentMahnungen","current","stringify","saveAudit","newValue","copy","aDate","bDate","InvoiceSorting","dueUntilDate","onlyShowOpen","onlyShowGemahnt","customSort","AllInvoices","loadedInvoicesUpTo","allStates","Unvollstaendig","Gueltig","Bezahlt","Storniert","items","isDesc","_loadMoreInvoices","loadMoreInvoicesToggle","loadMoreInvoices","_reloadDueDate","reloadDueDate","searchRequest","_response","invoiceIds","filteredStates","dueUntil","newSort","sortProps","sortByColumn","sortDescending","getSortTypeFromColumn","currentSortingType","CreatedAtAscending","CreatedAtDescending","DueDateAscending","DueDateDescending","InvoiceTotalAscending","InvoiceTotalDescending","StateAscending","StateDescending","AddressAscending","AddressDescending","shiftMonth","loadPayments","setThisMonth","updatePagination","Payments","startDate","endDate","add","invoiceIdFilter","scrollTo","storePayments","newPayments","filteredPayments","_loadPayments","paymentIds","dateFrom","dateTo","direction","_l","createInvoicePdf","MwstAbrechnungComponent","_getMwstAbrechnung","sanitizedRegion","getMwstAbrechnung","setStartDate","setEndDate","TurnoverComponent","turnover","getUmsatz","_getUmsatz","AccountingDashboard","allInvoicesListHasMoreToLoad","paymentsInvoiceIdFilter","tabs","visibleText","vm","checkBottom","activeTab","navigate","AssemblyView","loadSubarticles","assemblyArticleId","_loadSubarticles","assemblyArticle","Router","router","routes","path","TicketDashboard","beforeEach","store","register","ready","cached","updated","offline","String","productionTip","el","h","catch","axios","baseURL","Authorization","datePickerOpen","internalDate","today","maxDate","setDate","selectedDate","locale","ArticleFaceType","Back","Visible","Both"],"mappings":"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","file":"js/app.132ff3ef.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({\"about\":\"about\"}[chunkId]||chunkId) + \".\" + {\"about\":\"43b31259\",\"chunk-5f788f0c\":\"547450ed\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"about\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({\"about\":\"about\"}[chunkId]||chunkId) + \".\" + {\"about\":\"4fb0f741\",\"chunk-5f788f0c\":\"31d6cfe0\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Turnover.vue?vue&type=style&index=0&id=79c82ffe&prod&scoped=true&lang=css\""," export enum ErpInvoiceState {\r\n\tUnvollstaendig = 10,\r\n\tGueltig = 20,\r\n\tBezahlt = 30,\r\n\tStorniert = 40\r\n}\r\n","/**\r\n * This is not automatically generated.\r\n */\r\n\r\n export enum PriceModel {\r\n Standard = 0,\r\n Slow = 1,\r\n Express = 2\r\n}\r\n\r\nexport default {\r\n allPriceModels: [\r\n\t\t{\r\n\t\t\tvalue: PriceModel.Standard,\r\n\t\t\tname: 'Schnell',\r\n\t\t},\r\n\t\t{\r\n\t\t\tvalue: PriceModel.Slow,\r\n\t\t\tname: 'Preiswert',\r\n\t\t},\r\n\t\t{\r\n\t\t\tvalue: PriceModel.Express,\r\n\t\t\tname: 'Express',\r\n\t\t}\r\n ],\r\n\tgetPriceModelText: (value: PriceModel) => {\r\n\t\tswitch (value) {\r\n\t\t\tcase PriceModel.Standard:\r\n\t\t\t\treturn 'Standard';\r\n\t\t\tcase PriceModel.Express:\r\n\t\t\t\treturn 'Express';\r\n\t\t\tcase PriceModel.Slow:\r\n\t\t\t\treturn 'Preiswert';\r\n\t\t\tdefault:\r\n\t\t\t\treturn 'Nicht verfügbar';\r\n\t\t}\r\n\t}\r\n\r\n}","var map = {\n\t\"./af\": \"2bfb\",\n\t\"./af.js\": \"2bfb\",\n\t\"./ar\": \"8e73\",\n\t\"./ar-dz\": \"a356\",\n\t\"./ar-dz.js\": \"a356\",\n\t\"./ar-kw\": \"423e\",\n\t\"./ar-kw.js\": \"423e\",\n\t\"./ar-ly\": \"1cfd\",\n\t\"./ar-ly.js\": \"1cfd\",\n\t\"./ar-ma\": \"0a84\",\n\t\"./ar-ma.js\": \"0a84\",\n\t\"./ar-ps\": \"4c98\",\n\t\"./ar-ps.js\": \"4c98\",\n\t\"./ar-sa\": \"8230\",\n\t\"./ar-sa.js\": \"8230\",\n\t\"./ar-tn\": \"6d83\",\n\t\"./ar-tn.js\": \"6d83\",\n\t\"./ar.js\": \"8e73\",\n\t\"./az\": \"485c\",\n\t\"./az.js\": \"485c\",\n\t\"./be\": \"1fc1\",\n\t\"./be.js\": \"1fc1\",\n\t\"./bg\": \"84aa\",\n\t\"./bg.js\": \"84aa\",\n\t\"./bm\": \"a7fa\",\n\t\"./bm.js\": \"a7fa\",\n\t\"./bn\": \"9043\",\n\t\"./bn-bd\": \"9686\",\n\t\"./bn-bd.js\": \"9686\",\n\t\"./bn.js\": \"9043\",\n\t\"./bo\": \"d26a\",\n\t\"./bo.js\": \"d26a\",\n\t\"./br\": \"6887\",\n\t\"./br.js\": \"6887\",\n\t\"./bs\": \"2554\",\n\t\"./bs.js\": \"2554\",\n\t\"./ca\": \"d716\",\n\t\"./ca.js\": \"d716\",\n\t\"./cs\": \"3c0d\",\n\t\"./cs.js\": \"3c0d\",\n\t\"./cv\": \"03ec\",\n\t\"./cv.js\": \"03ec\",\n\t\"./cy\": \"9797\",\n\t\"./cy.js\": \"9797\",\n\t\"./da\": \"0f14\",\n\t\"./da.js\": \"0f14\",\n\t\"./de\": \"b469\",\n\t\"./de-at\": \"b3eb\",\n\t\"./de-at.js\": \"b3eb\",\n\t\"./de-ch\": \"bb71\",\n\t\"./de-ch.js\": \"bb71\",\n\t\"./de.js\": \"b469\",\n\t\"./dv\": \"598a\",\n\t\"./dv.js\": \"598a\",\n\t\"./el\": \"8d47\",\n\t\"./el.js\": \"8d47\",\n\t\"./en-au\": \"0e6b\",\n\t\"./en-au.js\": \"0e6b\",\n\t\"./en-ca\": \"3886\",\n\t\"./en-ca.js\": \"3886\",\n\t\"./en-gb\": \"39a6\",\n\t\"./en-gb.js\": \"39a6\",\n\t\"./en-ie\": \"e1d3\",\n\t\"./en-ie.js\": \"e1d3\",\n\t\"./en-il\": \"7333\",\n\t\"./en-il.js\": \"7333\",\n\t\"./en-in\": \"ec2e\",\n\t\"./en-in.js\": \"ec2e\",\n\t\"./en-nz\": \"6f50\",\n\t\"./en-nz.js\": \"6f50\",\n\t\"./en-sg\": \"b7e9\",\n\t\"./en-sg.js\": \"b7e9\",\n\t\"./eo\": \"65db\",\n\t\"./eo.js\": \"65db\",\n\t\"./es\": \"898b\",\n\t\"./es-do\": \"0a3c\",\n\t\"./es-do.js\": \"0a3c\",\n\t\"./es-mx\": \"b5b7\",\n\t\"./es-mx.js\": \"b5b7\",\n\t\"./es-us\": \"55c9\",\n\t\"./es-us.js\": \"55c9\",\n\t\"./es.js\": \"898b\",\n\t\"./et\": \"ec18\",\n\t\"./et.js\": \"ec18\",\n\t\"./eu\": \"0ff2\",\n\t\"./eu.js\": \"0ff2\",\n\t\"./fa\": \"8df4\",\n\t\"./fa.js\": \"8df4\",\n\t\"./fi\": \"81e9\",\n\t\"./fi.js\": \"81e9\",\n\t\"./fil\": \"d69a\",\n\t\"./fil.js\": \"d69a\",\n\t\"./fo\": \"0721\",\n\t\"./fo.js\": \"0721\",\n\t\"./fr\": \"9f26\",\n\t\"./fr-ca\": \"d9f8\",\n\t\"./fr-ca.js\": \"d9f8\",\n\t\"./fr-ch\": \"0e49\",\n\t\"./fr-ch.js\": \"0e49\",\n\t\"./fr.js\": \"9f26\",\n\t\"./fy\": \"7118\",\n\t\"./fy.js\": \"7118\",\n\t\"./ga\": \"5120\",\n\t\"./ga.js\": \"5120\",\n\t\"./gd\": \"f6b4\",\n\t\"./gd.js\": \"f6b4\",\n\t\"./gl\": \"8840\",\n\t\"./gl.js\": \"8840\",\n\t\"./gom-deva\": \"aaf2\",\n\t\"./gom-deva.js\": \"aaf2\",\n\t\"./gom-latn\": \"0caa\",\n\t\"./gom-latn.js\": \"0caa\",\n\t\"./gu\": \"e0c5\",\n\t\"./gu.js\": \"e0c5\",\n\t\"./he\": \"c7aa\",\n\t\"./he.js\": \"c7aa\",\n\t\"./hi\": \"dc4d\",\n\t\"./hi.js\": \"dc4d\",\n\t\"./hr\": \"4ba9\",\n\t\"./hr.js\": \"4ba9\",\n\t\"./hu\": \"5b14\",\n\t\"./hu.js\": \"5b14\",\n\t\"./hy-am\": \"d6b6\",\n\t\"./hy-am.js\": \"d6b6\",\n\t\"./id\": \"5038\",\n\t\"./id.js\": \"5038\",\n\t\"./is\": \"0558\",\n\t\"./is.js\": \"0558\",\n\t\"./it\": \"6e98\",\n\t\"./it-ch\": \"6f12\",\n\t\"./it-ch.js\": \"6f12\",\n\t\"./it.js\": \"6e98\",\n\t\"./ja\": \"079e\",\n\t\"./ja.js\": \"079e\",\n\t\"./jv\": \"b540\",\n\t\"./jv.js\": \"b540\",\n\t\"./ka\": \"201b\",\n\t\"./ka.js\": \"201b\",\n\t\"./kk\": \"6d79\",\n\t\"./kk.js\": \"6d79\",\n\t\"./km\": \"e81d\",\n\t\"./km.js\": \"e81d\",\n\t\"./kn\": \"3e92\",\n\t\"./kn.js\": \"3e92\",\n\t\"./ko\": \"22f8\",\n\t\"./ko.js\": \"22f8\",\n\t\"./ku\": \"2421\",\n\t\"./ku-kmr\": \"7558\",\n\t\"./ku-kmr.js\": \"7558\",\n\t\"./ku.js\": \"2421\",\n\t\"./ky\": \"9609\",\n\t\"./ky.js\": \"9609\",\n\t\"./lb\": \"440c\",\n\t\"./lb.js\": \"440c\",\n\t\"./lo\": \"b29d\",\n\t\"./lo.js\": \"b29d\",\n\t\"./lt\": \"26f9\",\n\t\"./lt.js\": \"26f9\",\n\t\"./lv\": \"b97c\",\n\t\"./lv.js\": \"b97c\",\n\t\"./me\": \"293c\",\n\t\"./me.js\": \"293c\",\n\t\"./mi\": \"688b\",\n\t\"./mi.js\": \"688b\",\n\t\"./mk\": \"6909\",\n\t\"./mk.js\": \"6909\",\n\t\"./ml\": \"02fb\",\n\t\"./ml.js\": \"02fb\",\n\t\"./mn\": \"958b\",\n\t\"./mn.js\": \"958b\",\n\t\"./mr\": \"39bd\",\n\t\"./mr.js\": \"39bd\",\n\t\"./ms\": \"ebe4\",\n\t\"./ms-my\": \"6403\",\n\t\"./ms-my.js\": \"6403\",\n\t\"./ms.js\": \"ebe4\",\n\t\"./mt\": \"1b45\",\n\t\"./mt.js\": \"1b45\",\n\t\"./my\": \"8689\",\n\t\"./my.js\": \"8689\",\n\t\"./nb\": \"6ce3\",\n\t\"./nb.js\": \"6ce3\",\n\t\"./ne\": \"3a39\",\n\t\"./ne.js\": \"3a39\",\n\t\"./nl\": \"facd\",\n\t\"./nl-be\": \"db29\",\n\t\"./nl-be.js\": \"db29\",\n\t\"./nl.js\": \"facd\",\n\t\"./nn\": \"b84c\",\n\t\"./nn.js\": \"b84c\",\n\t\"./oc-lnc\": \"167b\",\n\t\"./oc-lnc.js\": \"167b\",\n\t\"./pa-in\": \"f3ff\",\n\t\"./pa-in.js\": \"f3ff\",\n\t\"./pl\": \"8d57\",\n\t\"./pl.js\": \"8d57\",\n\t\"./pt\": \"f260\",\n\t\"./pt-br\": \"d2d4\",\n\t\"./pt-br.js\": \"d2d4\",\n\t\"./pt.js\": \"f260\",\n\t\"./ro\": \"972c\",\n\t\"./ro.js\": \"972c\",\n\t\"./ru\": \"957c\",\n\t\"./ru.js\": \"957c\",\n\t\"./sd\": \"6784\",\n\t\"./sd.js\": \"6784\",\n\t\"./se\": \"ffff\",\n\t\"./se.js\": \"ffff\",\n\t\"./si\": \"eda5\",\n\t\"./si.js\": \"eda5\",\n\t\"./sk\": \"7be6\",\n\t\"./sk.js\": \"7be6\",\n\t\"./sl\": \"8155\",\n\t\"./sl.js\": \"8155\",\n\t\"./sq\": \"c8f3\",\n\t\"./sq.js\": \"c8f3\",\n\t\"./sr\": \"cf1e\",\n\t\"./sr-cyrl\": \"13e9\",\n\t\"./sr-cyrl.js\": \"13e9\",\n\t\"./sr.js\": \"cf1e\",\n\t\"./ss\": \"52bd\",\n\t\"./ss.js\": \"52bd\",\n\t\"./sv\": \"5fbd\",\n\t\"./sv.js\": \"5fbd\",\n\t\"./sw\": \"74dc\",\n\t\"./sw.js\": \"74dc\",\n\t\"./ta\": \"3de5\",\n\t\"./ta.js\": \"3de5\",\n\t\"./te\": \"5cbb\",\n\t\"./te.js\": \"5cbb\",\n\t\"./tet\": \"576c\",\n\t\"./tet.js\": \"576c\",\n\t\"./tg\": \"3b1b\",\n\t\"./tg.js\": \"3b1b\",\n\t\"./th\": \"10e8\",\n\t\"./th.js\": \"10e8\",\n\t\"./tk\": \"5aff\",\n\t\"./tk.js\": \"5aff\",\n\t\"./tl-ph\": \"0f38\",\n\t\"./tl-ph.js\": \"0f38\",\n\t\"./tlh\": \"cf75\",\n\t\"./tlh.js\": \"cf75\",\n\t\"./tr\": \"0e81\",\n\t\"./tr.js\": \"0e81\",\n\t\"./tzl\": \"cf51\",\n\t\"./tzl.js\": \"cf51\",\n\t\"./tzm\": \"c109\",\n\t\"./tzm-latn\": \"b53d\",\n\t\"./tzm-latn.js\": \"b53d\",\n\t\"./tzm.js\": \"c109\",\n\t\"./ug-cn\": \"6117\",\n\t\"./ug-cn.js\": \"6117\",\n\t\"./uk\": \"ada2\",\n\t\"./uk.js\": \"ada2\",\n\t\"./ur\": \"5294\",\n\t\"./ur.js\": \"5294\",\n\t\"./uz\": \"2e8c\",\n\t\"./uz-latn\": \"010e\",\n\t\"./uz-latn.js\": \"010e\",\n\t\"./uz.js\": \"2e8c\",\n\t\"./vi\": \"2921\",\n\t\"./vi.js\": \"2921\",\n\t\"./x-pseudo\": \"fd7e\",\n\t\"./x-pseudo.js\": \"fd7e\",\n\t\"./yo\": \"7f33\",\n\t\"./yo.js\": \"7f33\",\n\t\"./zh-cn\": \"5c3a\",\n\t\"./zh-cn.js\": \"5c3a\",\n\t\"./zh-hk\": \"49ab\",\n\t\"./zh-hk.js\": \"49ab\",\n\t\"./zh-mo\": \"3a6c\",\n\t\"./zh-mo.js\": \"3a6c\",\n\t\"./zh-tw\": \"90ea\",\n\t\"./zh-tw.js\": \"90ea\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"4678\";","export enum ErpAddressType {\r\n Delivery = 0,\r\n Invoice = 1,\r\n Personal = 2,\r\n}","export enum ArticleState {\r\n /// \r\n /// Keine Fehler vorhanden. Artikel kann bestellt werden.\r\n /// \r\n OK = 0,\r\n\r\n /// \r\n /// Änderungen wurden am Artikel vorgenommen oder der Artikel\r\n /// kann nicht garantiert hergestellt werden.\r\n /// \r\n Warning = 1,\r\n\r\n /// \r\n /// Der Artikel hat Fehler und kann so nicht bestellt werden.\r\n /// \r\n Error = 2,\r\n\r\n /// \r\n /// Artikel ist in Überprüfung bei Blexon und kann nicht bearbeitet werden.\r\n /// \r\n Locked = 3,\r\n\r\n /// \r\n /// Artikel ist ganz neu und wurde noch nicht berechnet.\r\n /// \r\n New = 4,\r\n\r\n /// \r\n /// Artikel ist in einem CAD/CAM geöffnet.\r\n /// Der Artikel kann nur readonly geöffnet werden.\r\n /// \r\n Open = 5,\r\n\r\n Info = 6,\r\n\r\n /// \r\n /// Der Artikel wurde gelöscht, kann aber nicht mehr wirklich gelöscht werden,\r\n /// weil es Bestellungen gibt.\r\n /// \r\n Deleted = 9,\r\n}\r\n","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=76d2ef9e&prod&lang=css\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ArticleComponent.vue?vue&type=style&index=0&id=8902c846&prod&scoped=true&lang=css\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OpenMahnungen.vue?vue&type=style&index=0&id=45bccc7c&prod&scoped=true&lang=css\"","import { PowderFinish } from './powderFinish';\r\n\r\nexport interface IPowderFinish {\r\n text: string;\r\n value: PowderFinish;\r\n}\r\n\r\nconst values: IPowderFinish[] = [\r\n {\r\n text: 'Matt',\r\n value: PowderFinish.Matt,\r\n },\r\n {\r\n text: 'Glänzend',\r\n value: PowderFinish.Glossy,\r\n },\r\n];\r\n\r\nexport default values;\r\n","\r\n\r\nexport enum PowderStructure {\r\n Fine = 0,\r\n Rough = 1,\r\n Smooth = 2,\r\n}\r\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OpenInvoices.vue?vue&type=style&index=0&id=365cb168&prod&scoped=true&lang=css\"","// Muss in den jeweiligen Modulen importiert werden mit:\r\n// import rules from '@/store/rules'\r\n\r\nexport default {\r\n // STRING\r\n\trequiredRule: [\r\n (v: string) => !!v || 'Angabe erforderlich. ',\r\n\t\t(v: string) => !v || v.replace(/\\s/g, '').length > 0 || 'Eingabe darf nicht nur Leerzeichen sein.',\r\n ],\r\n optionalStringMax35Rule: [\r\n (v: string) => v.length <= 35 || 'Maximal 35 Zeichen erlaubt.'\r\n ],\r\n requiredStringMax10Rule: [\r\n (v: string) => !!v || 'Angabe erforderlich',\r\n (v: string) => v.replace(/\\s/g, '').length > 0 || 'Eingabe darf nicht nur Leerzeichen sein.',\r\n (v: string) => !v || v.length <= 10 || 'Maximal 10 Zeichen erlaubt.'\r\n ],\r\n requiredStringMax35Rule: [\r\n (v: string) => !!v || 'Angabe erforderlich',\r\n (v: string) => v.replace(/\\s/g, '').length > 0 || 'Eingabe darf nicht nur Leerzeichen sein.',\r\n (v: string) => !v || v.length <= 35 || 'Maximal 35 Zeichen erlaubt.'\r\n ],\r\n requiredStringMax50Rule: [\r\n (v: string) => !!v || 'Angabe erforderlich',\r\n (v: string) => v.replace(/\\s/g, '').length > 0 || 'Eingabe darf nicht nur Leerzeichen sein.',\r\n (v: string) => !v || v.length <= 50 || 'Maximal 50 Zeichen erlaubt.'\r\n ],\r\n\taddressOptionalStringRule: [\r\n (v: string) => !/[\\*\\^\\\\\\{\\}\\[\\]\\=\\>\\<\\|]/.test(v) || 'Enthält unerlaubte Zeichen \\\"* ^ \\ { } [ ] = < > |\\\"'\r\n ],\r\n\taddressRequiredStringRule: [\r\n (v: string) => !!v || 'Angabe erforderlich',\r\n (v: string) => !v || v.replace(/\\s/g, '').length > 0 || 'Eingabe darf nicht nur Leerzeichen sein.',\r\n (v: string) => !/[\\*\\^\\\\\\{\\}\\[\\]\\=\\>\\<\\|]/.test(v) || 'Enthält unerlaubte Zeichen \\\"* ^ \\ { } [ ] = < > |\\\"'\r\n ],\r\n // EMAIL\r\n\trequiredEmailRule: [\r\n (v: string) => !!v || 'Angabe erforderlich. ',\r\n (v: string) => v.length <= 50 || 'Maximal 50 Zeichen erlaubt. ',\r\n (v: string) => /^[^@\\s]+@[^@\\s]+\\.[^@\\s]+$/.test(v) || 'Muss eine gültige E-Mail Adresse sein. ',\r\n ],\r\n optionalEmailRule: [\r\n (v: string) => !v || ((v.indexOf('@') > 0 && v.indexOf('@') < v.length - 1) || v.length <= 50 || v.length === 0) ||\r\n 'Muss eine gültige E-Mail Adresse sein. '\r\n ],\r\n // URL\r\n optionalUrlRule: [\r\n (v: string) => !v || /^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&\\/=]*)/.test(v) ||\r\n 'Muss eine gültige URL (mit http(s)) sein.'\r\n ],\r\n // NUMBER\r\n\trequiredIntegerRule: [\r\n (v: number) => !!v.toString() || 'Angabe erforderlich',\r\n (v: number) => !isNaN(v) || 'Muss eine Zahl sein.',\r\n (v: string) => parseInt(v) === parseFloat(v) || 'Muss eine ganze Zahl sein.'\r\n ],\r\n\toptionalIntegerRule: [\r\n (v: number) => !v || !isNaN(v) || 'Muss eine Zahl sein.',\r\n (v: string) => !v || parseInt(v) === parseFloat(v) || 'Muss eine ganze Zahl sein.'\r\n ],\r\n requiredNonNegativeIntegerRule: [\r\n (v: number) => !!v.toString() || 'Angabe erforderlich',\r\n (v: number) => !isNaN(v) || 'Muss eine Zahl sein.',\r\n (v: string) => parseInt(v) === parseFloat(v) || 'Muss eine ganze Zahl sein.',\r\n\t\t(v: number) => v >= 0 || 'Muss >= 0 sein.'\r\n ],\r\n optionalNonNegativeIntegerRule: [\r\n (v: number) => !v || !isNaN(v) || 'Muss eine Zahl sein.',\r\n (v: string) => !v || parseInt(v) === parseFloat(v) || 'Muss eine ganze Zahl sein.',\r\n\t\t(v: number) => !v || v >= 0 || 'Muss >= 0 sein.'\r\n ],\r\n requiredInteger0To100Rule: [\r\n (v: number) => !!v.toString() || 'Angabe erforderlich',\r\n (v: number) => !isNaN(v) || 'Muss eine Zahl sein.',\r\n (v: string) => parseInt(v) === parseFloat(v) || 'Muss eine ganze Zahl sein.',\r\n\t\t(v: number) => v >= 0 || 'Muss >= 0 sein.',\r\n\t\t(v: number) => v <= 100 || 'Muss <= 100 sein.',\r\n ],\r\n requiredNumberRule: [\r\n (v: number) => !!v.toString() || 'Angabe erforderlich',\r\n (v: number) => !isNaN(v) || 'Muss eine Zahl sein.',\r\n ],\r\n requiredNonNegativeNumberRule: [\r\n (v: number) => v && !!v.toString() || 'Angabe erforderlich',\r\n (v: number) => !isNaN(v) || 'Muss eine Zahl sein.',\r\n\t\t(v: number) => v >= 0 || 'Muss >= 0 sein.'\r\n ],\r\n requiredNumberBiggerZeroRule: [\r\n (v: number) => v && !!v.toString() || 'Angabe erforderlich',\r\n (v: number) => !isNaN(v) || 'Muss eine Zahl sein.',\r\n\t\t(v: number) => v > 0 || 'Muss > 0 sein.'\r\n ],\r\n optionalNonNegativeNumberRule: [\r\n (v: number) => !v || !isNaN(v) || 'Muss eine Zahl sein.',\r\n\t\t(v: number) => !v || v >= 0 || 'Muss >= 0 sein.'\r\n ],\r\n requiredNumber0To1Rule: [\r\n (v: number) => !!v.toString() || 'Angabe erforderlich',\r\n (v: number) => !isNaN(v) || 'Muss eine Zahl sein.',\r\n\t\t(v: number) => v >= 0 || 'Muss >= 0 sein.',\r\n\t\t(v: number) => v <= 1 || 'Muss <= 1 sein.'\r\n ],\r\n optionalNumber0To1Rule: [\r\n (v: number) => !v || !isNaN(v) || 'Muss eine Zahl sein.',\r\n\t\t(v: number) => !v || v >= 0 || 'Muss >= 0 sein.',\r\n\t\t(v: number) => !v || v <= 1 || 'Muss <= 1 sein.'\r\n ],\r\n requiredNumberBiggerEqual1Rule: [\r\n (v: number) => !!v.toString() || 'Angabe erforderlich',\r\n (v: number) => !isNaN(v) || 'Muss eine Zahl sein.',\r\n\t\t(v: number) => v >= 1 || 'Muss >= 1 sein.'\r\n ],\r\n}","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProcessTicket.vue?vue&type=style&index=0&id=719c5fa8&prod&lang=css\"","export enum Entgratart {\r\n None = 0,\r\n Manually = 1,\r\n Webern = 2,\r\n Trowalisieren = 3,\r\n\tBothSides = 4\r\n}\r\n\r\nexport function getEntgratartText(value: Entgratart) : string {\r\n\tswitch (value) {\r\n\t\tcase Entgratart.None:\r\n\t\t\treturn \"Nicht entgraten\";\r\n\t\tcase Entgratart.Manually:\r\n\t\t\treturn \"Manuell\";\r\n\t\tcase Entgratart.Webern:\r\n\t\t\treturn \"Einseitig (Unterseite)\";\r\n\t\tcase Entgratart.Trowalisieren:\r\n\t\t\treturn \"Trowalisieren\";\r\n\t\tcase Entgratart.BothSides:\r\n\t\t\treturn \"Beidseitig\";\r\n\t\tdefault:\r\n\t\t\treturn \"Nicht verfügbar\";\r\n\t}\r\n}","import { ErpAddressType } from \"./erpAddressType\";\r\n\r\nexport class AddressDto {\r\n public id: number = 0;\r\n public givenName: string = '';\r\n public surname: string = '';\r\n public companyName: string = '';\r\n public street: string = '';\r\n public zip: string = '';\r\n public town: string = '';\r\n public country: string = '';\r\n public phone: string = '';\r\n public eMail: string = '';\r\n public customerId: number = 0;\r\n public isDefault: boolean = false;\r\n public type: ErpAddressType = ErpAddressType.Delivery;\r\n}\r\n","import { UserManager } from 'oidc-client';\r\nimport { ArticleDto } from '../dtos/articleDto';\r\nimport httpClient from './httpClient';\r\nimport FileSaver from 'file-saver';\r\nimport * as signalR from '@microsoft/signalr';\r\n\r\nexport default {\r\n async bootstrap(context: any) {\r\n return new Promise((resolve, reject) => {\r\n console.log('start bootstrap application');\r\n var client = new UserManager(context.state.oidc.config);\r\n // Add event when token expires. This is just for monitoring\r\n // at the beginning. Can be removed later.\r\n client.events.addAccessTokenExpiring(function(){\r\n console.log(\"helpdesk token expiring...\");\r\n });\r\n context.commit('storeOidcInstance', client);\r\n console.log('checking user authentication');\r\n context.state.oidc.instance.getUser().then((user: any) => {\r\n if (user === null || user.expired) {\r\n console.log('user is not authenticated - redirect to signin');\r\n // Store the actually requested url so we can redirect\r\n // after authentication to this page.\r\n window.sessionStorage.setItem('returnUrl', window.location.href);\r\n context.state.oidc.instance.signinRedirect();\r\n } else {\r\n console.log('user authenticated');\r\n context.commit('storeOidcUser', user);\r\n resolve();\r\n }\r\n });\r\n });\r\n },\r\n async checkAccess(context: any) {\r\n console.log('check access');\r\n const response = await httpClient().get(`User/GetIsAdmin`);\r\n context.commit('setIsAdmin', response.data);\r\n },\r\n async loadManufacturers(context: any) {\r\n try {\r\n const response = await httpClient().get(`Manufacturer/GetManufacturers`);\r\n context.commit('setManufacturers', response.data);\r\n } catch {\r\n // vermutlich keine Berechtigung, aber das ist nicht schlimm\r\n }\r\n },\r\n logout(context: any) {\r\n console.log('redirecting user to signout');\r\n window.localStorage.removeItem('access_token');\r\n context.state.oidc.instance.signoutRedirect();\r\n },\r\n async updateArticle(context: any, articleId: number) {\r\n const articleInStore = context.state.articles.find((a: ArticleDto) => a.articleId == articleId);\r\n if (articleInStore != undefined) {\r\n // nur wenn der Artikel lokal vorhanden ist, wird er erneuert.\r\n var response = await httpClient().get(`article/getArticleById?articleId=${articleId}`)\r\n if (response.data != null && response.data != undefined) {\r\n context.commit('replaceArticle', response.data);\r\n }\r\n }\r\n },\r\n\r\n /**\r\n * Loads all articles that are not in the state yet.\r\n * @param context \r\n * @param articleIds Ids of articles to load.\r\n * @returns \r\n */\r\n async loadMissingArticles(context: any, articleIds: number[]){\r\n // Find missing articles\r\n articleIds = articleIds.filter((a) => !context.state.articles.some((sa: ArticleDto) => sa.articleId == a));\r\n if (articleIds.length <= 0) {\r\n return;\r\n }\r\n\r\n try {\r\n context.state.loading = true;\r\n let response = await httpClient().post('article/GetArticlesByIds', articleIds);\r\n context.commit('addOrUpdateArticles', response.data);\r\n } catch(err) {\r\n console.error(`Failed to load missing articles. Error: ${err}`);\r\n } finally {\r\n context.state.loading = false;\r\n }\r\n },\r\n\r\n async downloadOriginalImportFile(context: any, articleId: number) {\r\n try {\r\n const response = await httpClient().get(`article/GetOriginalImportFile?articleId=${articleId}`,\r\n {\r\n method: 'GET',\r\n responseType: 'blob',\r\n }\r\n );\r\n var filename = response.headers['content-disposition'].split('filename=\"')[1];\r\n if (filename == undefined) {\r\n filename = response.headers['content-disposition'].split('filename=')[1];\r\n filename = filename.split('; filename*=')[0];\r\n } else {\r\n filename = filename.split('\"; filename*=')[0];\r\n }\r\n FileSaver.saveAs(new Blob([response.data]), filename);\r\n } catch (err) {\r\n console.error(`Die Originaldatei des Artikels konnte nicht geladen werden. Error: ${err}`);\r\n }\r\n },\r\n\r\n async downloadInvoiceAsPdf(context: any, orderId: number) {\r\n console.log(`Downloading invoice for order ${orderId}`)\r\n const response = await httpClient().get(`CustomerOrder/GetInvoice?orderId=${orderId}`,\r\n {\r\n responseType: 'blob',\r\n });\r\n const url = window.URL.createObjectURL(new Blob([response.data]));\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.setAttribute('download', 'Rechnung zu Auftrag ' + orderId + '.pdf');\r\n link.click();\r\n },\r\n\r\n setupSignalR(context: any) {\r\n // @ts-ignore\r\n const connection = new signalR.HubConnectionBuilder()\r\n .withUrl(process.env.VUE_APP_eventUrl + 'signalhub', { accessTokenFactory: () => {\r\n //console.log('signalR reads token');\r\n const userString = window.localStorage\r\n .getItem(`oidc.user:${process.env.VUE_APP_authorityUrl}:HelpdeskClient`);\r\n // @ts-ignore\r\n if (userString != null) {\r\n const user = JSON.parse(userString);\r\n return user.access_token;\r\n } else {\r\n console.log('Kein Token für SignalR vorhanden.');\r\n return null;\r\n }\r\n },\r\n })\r\n .configureLogging(signalR.LogLevel.Information)\r\n .build();\r\n\r\n async function start() {\r\n try {\r\n await connection.start();\r\n console.log('SignalR connected');\r\n } catch (err) {\r\n console.log(err);\r\n setTimeout(() => start(), 5000);\r\n }\r\n }\r\n\r\n connection.onclose(async () => {\r\n console.log('signalR closed');\r\n await start();\r\n });\r\n\r\n connection.on('ArticleUpdatedAdministrators', (message: any) => {\r\n const article = JSON.parse(message.jsonObject);\r\n console.log(`Article ${article.articleId} was updated`);\r\n context.dispatch('updateArticle', article.articleId);\r\n });\r\n\r\n connection.on('MessageForArticle', (articleId: number, message: string) => {\r\n console.log('MessageForArticle received. ' + message );\r\n //context.commit('setCalculatingMessage', {\r\n // articleId,\r\n // message,\r\n //});\r\n });\r\n\r\n // Start the connection.\r\n start();\r\n },\r\n};\r\n","import { PaymentDto } from './../dtos/paymentDto';\r\nimport { InvoiceManagementDto } from './../dtos/invoiceManagementDto';\r\nimport { CustomerInfoDto } from './../dtos/customerInfoDto';\r\nimport { ArticleDto } from '@/dtos/articleDto';\r\nimport { UserRightsDto } from '@/dtos/userRightsDto';\r\nimport { MatchingType } from '@/dtos/matchingType';\r\n\r\nexport default {\r\n // **********************************************************************\r\n // SYSTEM\r\n // **********************************************************************\r\n storeOidcUser(state: any, user: any) {\r\n state.oidc.user = user;\r\n },\r\n storeOidcInstance(state: any, client: any) {\r\n state.oidc.instance = client;\r\n },\r\n setIsAdmin(state: any, isAdmin: boolean) {\r\n state.isAdmin = isAdmin;\r\n },\r\n setSnackbarText(state: any, text: any) {\r\n state.snackbarColor = 'accent';\r\n state.snackbarText = text;\r\n },\r\n setSnackbarErrorText(state: any, text: any) {\r\n state.snackbarColor = 'red';\r\n state.snackbarText = text;\r\n },\r\n setUserRights(state: any, userRights: UserRightsDto) {\r\n state.userRights = userRights;\r\n },\r\n setEmbedded(state: any, embedded: boolean) {\r\n state.embedded = embedded;\r\n },\r\n setManufacturers(state: any, manufacturers: any) {\r\n state.fertigers = manufacturers;\r\n },\r\n\r\n // **********************************************************************\r\n // CUSTOMERS\r\n // **********************************************************************\r\n setCustomers(state: any, customers: any) {\r\n state.customers = customers;\r\n },\r\n addOrUpdateCustomers(state: any, customers: any) {\r\n // Add new customers that weren't in the list before\r\n // Replace already existing customers to keep them updated\r\n customers.forEach((c: any) => {\r\n const customerIndex = state.customers.findIndex((stateCustomer:CustomerInfoDto) => stateCustomer.customerId == c.customerId);\r\n if (customerIndex >= 0){\r\n state.customers.splice(customerIndex, 1, c);\r\n } else {\r\n state.customers.push(c);\r\n }\r\n });\r\n },\r\n /**\r\n * Removes the customer with the specified id from the state if it is loaded.\r\n * @param state \r\n * @param customerId \r\n */\r\n removeCustomer(state: any, customerId: any) {\r\n const customerIndex = state.customers.findIndex((stateCustomer:CustomerInfoDto) => stateCustomer.customerId == customerId);\r\n if (customerIndex >= 0){\r\n state.customers.splice(customerIndex, 1);\r\n }\r\n },\r\n markCustomerInactive(state:any, customerId: any) {\r\n const customerIndex = state.customers.findIndex((stateCustomer:CustomerInfoDto) => stateCustomer.customerId == customerId);\r\n if (customerIndex >= 0){\r\n state.customers[customerIndex].active = false;\r\n }\r\n },\r\n setTags(state: any, tags: any) {\r\n state.tags = tags;\r\n },\r\n setFilterTags(state: any, tags: any) {\r\n state.customerFilterTags = tags;\r\n },\r\n setCustomerFilterCountries(state: any, countries: any) {\r\n state.customerFilterCountries = countries;\r\n },\r\n setSuchbegriff(state: any, suchbegriff: any) {\r\n state.suchbegriff = suchbegriff;\r\n },\r\n setManualSkip(state: any, skip: number) {\r\n state.manualSkip = skip;\r\n },\r\n setCustomerSearchCountries(state: any, countries: any) {\r\n state.customerSearchCountries = countries;\r\n },\r\n setCustomerSortType(state:any, newSortType: any) {\r\n state.customerSortingType = newSortType;\r\n },\r\n setCustomerLoading(state:any, isLoading: any) {\r\n state.isLoadingCustomers = isLoading;\r\n },\r\n setCustomerLastSearchTerm(state:any, lastSearchTerm: any) {\r\n state.customerLastSearchTerm = lastSearchTerm;\r\n },\r\n setHasMoreCustomersToLoad(state:any, hasMoreToLoad: any) {\r\n state.hasMoreCustomersToLoad = hasMoreToLoad;\r\n },\r\n setCustomerVolltextSuche(state:any, isVolltext: any) {\r\n state.customerVolltextSuche = isVolltext;\r\n },\r\n setDetailCustomerInfo(state: any, customerInfo: CustomerInfoDto) {\r\n state.detailCustomerInfo = customerInfo;\r\n },\r\n setDetailCustomerDetails(state: any, customerDetails: CustomerInfoDto) {\r\n state.detailCustomerDetails = customerDetails;\r\n },\r\n setTotalCustomerCount(state: any, count: number) {\r\n state.totalCustomerCount = count;\r\n },\r\n\r\n // **********************************************************************\r\n // ORDERS\r\n // **********************************************************************\r\n setOrderSorting(state: any, newType: any) {\r\n state.orderSortingType = newType;\r\n },\r\n setOrderSuchbegriff(state: any, suchbegriff: string) {\r\n state.orderSuchbegriff = suchbegriff;\r\n },\r\n setOrderCancellations(state: any, cancellations: any) {\r\n state.orderCancellations = cancellations\r\n },\r\n addOrUpdateOrderCancellations(state: any, cancellations: any) {\r\n if (state.orderCancellations === null) {\r\n state.orderCancellations = [];\r\n }\r\n cancellations.forEach((c: any) => {\r\n const cancellationIndex = state.orderCancellations.findIndex((cancellation: any) => cancellation.blexonOrderId == c.blexonOrderId);\r\n if (cancellationIndex >= 0){\r\n state.orderCancellations.splice(cancellationIndex, 1, c);\r\n } else {\r\n state.orderCancellations.push(c);\r\n }\r\n });\r\n },\r\n setOrderFilterStates(state: any, states: any) {\r\n state.orderFilterStates = states;\r\n },\r\n setOrderFilterFertiger(state: any, fertiger: any) {\r\n state.orderFilterFertiger = fertiger;\r\n },\r\n\r\n // **********************************************************************\r\n // ARTICLES\r\n // **********************************************************************\r\n setArticles(state: any, articles: ArticleDto[]) {\r\n state.articles = articles;\r\n },\r\n removeArticle(state: any, articleId: number) {\r\n const article = state.articles.find((a: ArticleDto) => a.articleId == articleId);\r\n if (article != undefined) {\r\n const index = state.articles.indexOf(article);\r\n if (index >= 0) {\r\n state.articles.splice(index, 1);\r\n }\r\n }\r\n },\r\n replaceArticle(state: any, article: ArticleDto) {\r\n const articleInStore = state.articles.find((a: ArticleDto) => a.articleId == article.articleId);\r\n if (articleInStore != undefined) {\r\n const index = state.articles.indexOf(articleInStore);\r\n if (index >= 0) {\r\n state.articles.splice(index, 1, article);\r\n }\r\n }\r\n },\r\n addOrUpdateArticles(state: any, articles: any) {\r\n // Add new articles that weren't in the list before\r\n // Replace already existing articles to keep them updated\r\n articles.forEach((a: any) => {\r\n const articleIndex = state.articles.findIndex((stateArticle:ArticleDto) => stateArticle.articleId == a.articleId);\r\n if (articleIndex >= 0){\r\n state.articles.splice(articleIndex, 1, a);\r\n } else {\r\n state.articles.push(a);\r\n }\r\n });\r\n },\r\n\r\n // **********************************************************************\r\n // ACCOUNTING\r\n // **********************************************************************\r\n setActiveAccountingTab(state: any, tab: number) {\r\n state.activeAccountingTab = tab;\r\n },\r\n\r\n // **********************************************************************\r\n // TRANSAKTIONEN\r\n // **********************************************************************\r\n setTransactions(state: any, transactions: any) {\r\n state.transactions = transactions;\r\n },\r\n setMatchedInvoices(state: any, invoices: any) {\r\n state.matchedInvoices = invoices;\r\n },\r\n removeTransaction(state: any, id: any) {\r\n state.transactions.splice(state.transactions.findIndex((i: any) => i.id === id), 1);\r\n state.matchedInvoices = state.matchedInvoices.filter((i: any) => i.transactionId !== id);\r\n },\r\n addTransactionMatch(state: any, data: any) {\r\n let newInvoice = {\r\n transactionId: data.transactionId,\r\n invoiceId: data.invoice.invoiceId,\r\n customerId: data.invoice.customerId,\r\n amount: data.invoice.totalAmount,\r\n name: `${data.invoice.companyName} - ${data.invoice.firstname} ${data.invoice.lastname}`,\r\n kundenauftragId: data.invoice.orderId,\r\n dueDate: data.invoice.dueDate,\r\n matchingType: MatchingType.ByHand,\r\n payments: data.invoice.payments,\r\n };\r\n state.matchedInvoices.push(newInvoice);\r\n },\r\n removeTransactionMatch(state: any, invoiceId: any) {\r\n let index = state.matchedInvoices.findIndex((i: any) => i.invoiceId === invoiceId);\r\n if (index >= 0) {\r\n state.matchedInvoices.splice(index, 1);\r\n }\r\n },\r\n setMatchSelectMode(state: any, data: any) {\r\n let index = state.transactions.findIndex((i: any) => i.id === data.transactionId);\r\n state.transactions[index].isMatchSelectMode = data.isSelectMode;\r\n },\r\n setDueInvoiceSearchTerm(state: any, searchTerm: any) {\r\n state.dueInvoiceSearchTerm = searchTerm;\r\n },\r\n setDueInvoices(state: any, invoices: any) {\r\n state.dueInvoices = invoices;\r\n },\r\n setDueInvoiceSorting(state: any, invoiceSorting: any) {\r\n state.dueInvoiceSorting = invoiceSorting;\r\n }, \r\n removeDueInvoice(state: any, invoiceId: any) {\r\n state.dueInvoices.splice(state.dueInvoices.findIndex((i: any) => i.invoiceId === invoiceId), 1)\r\n },\r\n setDueInvoiceAsGemahnt(state: any, invoiceId: any) {\r\n let index = state.dueInvoices.findIndex((i: any) => i.invoiceId === invoiceId);\r\n if (index >= 0) {\r\n state.dueInvoices[index].hasMahnung = true;\r\n }\r\n },\r\n\r\n // **********************************************************************\r\n // RECHNUNGEN\r\n // **********************************************************************\r\n setInvoiceSearchTerm(state: any, searchTerm: any) {\r\n state.invoiceSearchTerm = searchTerm;\r\n },\r\n setInvoiceLastSearchTerm(state: any, searchTerm: any) {\r\n state.invoiceLastSearchTerm = searchTerm;\r\n },\r\n setInvoices(state: any, invoices: any) {\r\n state.invoices = invoices;\r\n },\r\n setInvoiceSorting(state: any, invoiceSorting: any) {\r\n state.invoiceSortingType = invoiceSorting;\r\n },\r\n setInvoiceFilterRegions(state: any, regions: any) {\r\n state.invoiceFilterRegions = regions;\r\n },\r\n addOrUpdateInvoices(state: any, invoices: any) {\r\n // Add new invoices that weren't in the list before\r\n // Replace already existing invoices to keep them updated\r\n invoices.forEach((i: any) => {\r\n const invoiceIndex = state.invoices.findIndex((stateInvoice:InvoiceManagementDto) => stateInvoice.invoiceId == i.invoiceId);\r\n if (invoiceIndex >= 0){\r\n state.invoices.splice(invoiceIndex, 1, i);\r\n } else {\r\n state.invoices.push(i);\r\n }\r\n });\r\n },\r\n\r\n // **********************************************************************\r\n // ZAHLUNGEN\r\n // **********************************************************************\r\n setPayments(state: any, payments: any) {\r\n state.payments = payments;\r\n },\r\n setPaymentSearchTerm(state: any, searchTerm: any) {\r\n state.paymentSearchTerm = searchTerm;\r\n },\r\n setPaymentLastSearchTerm(state: any, searchTerm: any) {\r\n state.paymentLastSearchTerm = searchTerm;\r\n },\r\n setPaymentSorting(state: any, paymentSorting: any) {\r\n state.paymentSorting = paymentSorting;\r\n },\r\n setPaymentFilterRegions(state: any, regions: any) {\r\n state.paymentFilterRegions = regions;\r\n },\r\n addOrUpdatePayments(state: any, payments: any) {\r\n // Add new payments that weren't in the list before\r\n // Replace already existing payments to keep them updated\r\n payments.forEach((p: any) => {\r\n const paymentIndex = state.payments.findIndex((statePayment:PaymentDto) => statePayment.id == p.id);\r\n if (paymentIndex >= 0){\r\n state.payments.splice(paymentIndex, 1, p);\r\n } else {\r\n state.payments.push(p);\r\n }\r\n });\r\n },\r\n\r\n // **********************************************************************\r\n // MAHNUNGEN\r\n // **********************************************************************\r\n setMahnungSearchTerm(state: any, searchTerm: any) {\r\n state.mahnungSearchTerm = searchTerm;\r\n },\r\n setMahnungLastSearchTerm(state: any, searchTerm: any) {\r\n state.mahnungLastSearchTerm = searchTerm;\r\n },\r\n setMahnungen(state: any, mahnungen: any) {\r\n state.mahnungen = mahnungen;\r\n },\r\n setMahnungSorting(state: any, mahnungSorting: any) {\r\n state.mahnungSorting = mahnungSorting;\r\n },\r\n setSelectedMahnung(state: any, dataObject: any) {\r\n state.mahnungen.filter((m: any) => m.mahnungsId === dataObject.mahnungsId)[0].selected = dataObject.value;\r\n },\r\n\r\n // **********************************************************************\r\n // TICKET\r\n // **********************************************************************\r\n setShowResolved(state: any, showResolved: boolean) {\r\n state.ticketSettings.showResolved = showResolved;\r\n },\r\n\r\n};\r\n","import { CustomerSortingType } from './customerSortingType';\r\n\r\nexport class CustomerSearchRequestDto {\r\n public searchTerm: string = '';\r\n public isVolltextSearch: boolean = false;\r\n public tagIds: number[] = [];\r\n public countries: string[] = [];\r\n public sortingType: CustomerSortingType = CustomerSortingType.CustomerIdDescending;\r\n}\r\n","import { AddressDto } from './../dtos/addressDto';\r\nimport { CustomerSearchRequestDto } from '../dtos/customerSearchRequestDto';\r\nimport { ErpAddressType } from '@/dtos/erpAddressType';\r\n\r\nexport default {\r\n\tcurrentCustomerSearchRequest(state: any, getters: any) {\r\n\t\tvar request = new CustomerSearchRequestDto();\r\n\t\trequest.searchTerm = state.suchbegriff;\r\n\t\trequest.countries = state.customerFilterCountries;\r\n request.isVolltextSearch = state.customerVolltextSuche;\r\n\t\trequest.sortingType = state.customerSortingType;\r\n\t\trequest.tagIds = state.customerFilterTags.map((c: any) => c.id);\r\n\t\treturn request;\r\n },\r\n\tcustomerPersonalAddress(state: any) {\r\n let address: AddressDto = {\r\n\t\t\tid: 99, // Not used\r\n givenName: '', // Not used od customer anymore\r\n surname: '', // Not used od customer anymore\r\n companyName: state.detailCustomerInfo.companyName,\r\n street: state.detailCustomerInfo.street,\r\n zip: state.detailCustomerInfo.plz,\r\n town: state.detailCustomerInfo.town,\r\n country: state.detailCustomerInfo.country,\r\n phone: state.detailCustomerInfo.phone, // General phone\r\n eMail: state.detailCustomerInfo.eMail, // General email\r\n customerId: parseInt(state.detailCustomerInfo.customerId),\r\n\t\t\tisDefault: false,\r\n\t\t\ttype: ErpAddressType.Personal\r\n };\r\n return address;\r\n\t},\r\n regionNameFromCountryCode: (state: any) => (countryCode: string) => {\r\n\t\tswitch (countryCode) {\r\n case 'CH':\r\n return 'Schweiz/Liechtenstein';\r\n case 'DE':\r\n return 'Deutschland';\r\n case 'AT':\r\n return 'Österreich';\r\n default:\r\n return 'Unknown';\r\n }\r\n\t},\r\n};\r\n","import { ErpInvoiceState } from './../dtos/erpInvoiceState';\r\nimport Vue from 'vue';\r\nimport Vuex from 'vuex';\r\nimport actions from './actions';\r\nimport mutations from './mutations';\r\nimport getters from './getters';\r\nimport Oidc from 'oidc-client';\r\n\r\nVue.use(Vuex);\r\nconst authorityUrl = process.env.VUE_APP_authorityUrl;\r\nconst redirectUri = process.env.VUE_APP_redirectUri;\r\nconst postLogoutRedirectUri = process.env.VUE_APP_postLogoutRedirectUri;\r\n\r\n// STATE\r\nconst state = {\r\n // MAIN\r\n isAdmin: false,\r\n embedded: false,\r\n snackbarText: '',\r\n snackbarColor: 'accent',\r\n userRights: {\r\n canProcessTicketAsBlexon: false,\r\n canProcessTicketAsFertiger: false,\r\n },\r\n\r\n // REGION\r\n regions: [\"Schweiz/Liechtenstein\", \"Deutschland\", \"Österreich\"],\r\n\r\n // CUSTOMER\r\n // [CustomerInfoDto[]]: Currently loaded customer data\r\n customers: [],\r\n // [number]: Total customer count for display in Kundenliste\r\n totalCustomerCount: 0,\r\n // [TagDto[]]: All available customer tags\r\n tags: [],\r\n // [TagDto[]]: Stores tag which are selected in the customer dashboard\r\n customerFilterTags: [],\r\n // [string[]]: All available customer countries\r\n countries: [\"Schweiz\", \"Deutschland\", \"Österreich\", \"Liechtenstein\", \"Andere\"],\r\n // [string[]]: Stores countries which are selected in the customer dashboard\r\n customerFilterCountries: [\"Schweiz\", \"Deutschland\", \"Österreich\", \"Liechtenstein\", \"Andere\"],\r\n // [string]: Search term in customer dashboard\r\n suchbegriff: '',\r\n // [CustomerSortingType]: How the customers are sorted\r\n customerSortingType: 1,\r\n // [boolean]: Is loading customers\r\n isLoadingCustomers: false,\r\n // [string]: Last search term that was filtered\r\n customerLastSearchTerm: '',\r\n // [boolean]: There are probably more customers to be loaded with the current filters\r\n hasMoreCustomersToLoad: true,\r\n // [boolean]: Indicating if the filtering should be affected by customer details\r\n customerVolltextSuche: false,\r\n // [number]: Amount of search results to be skipped. Used for \"skipping\" to a certain part of the customer base.\r\n // e.g. if the list is sorted by customer ids and manualSkip = 5000, results will show customers from \"the middle\" and upwards.\r\n manualSkip: 0,\r\n\r\n // CUSTOMER DETAIL\r\n // [CustomerInfoDto]: Customer info of currently loaded customer in detail view\r\n detailCustomerInfo: {},\r\n // [CustomerDetailsDeto]: Customer details of currently loaded customer in detail view\r\n detailCustomerDetails: {},\r\n\r\n // ORDER\r\n // Suchbegriff im order dashboard\r\n orderSuchbegriff: '',\r\n // Order states that should be returned. This is initialized at runtime via the enum.\r\n orderFilterStates: [],\r\n // Fertiger that should be returned in the order dashboard\r\n orderFilterFertiger: [],\r\n // Settings für Sortieren der Aufträge\r\n orderSortingType: 9,\r\n \t// [OrderCancellationRequestDto[]] Open cancellation requests\r\n\torderCancellations: null,\r\n\r\n // ARTICLE\r\n articles: [],\r\n\r\n // TICKET\r\n ticketSettings: {\r\n showResolved: false,\r\n },\r\n\r\n // ACCOUNTING\r\n activeAccountingTab: 0,\r\n\r\n // Invoices\r\n invoices: [],\r\n invoiceSearchTerm: '',\r\n invoiceLastSearchTerm: '',\r\n invoiceSortingType: 3,\r\n invoiceFilterRegions: [\"Schweiz/Liechtenstein\", \"Deutschland\", \"Österreich\"],\r\n\r\n // Payments\r\n payments: [],\r\n paymentSearchTerm: '',\r\n paymentLastSearchTerm: '',\r\n paymentFilterRegions: [\"Schweiz/Liechtenstein\", \"Deutschland\", \"Österreich\"],\r\n paymentSorting: {\r\n sortBy: 'dueDate',\r\n descending: false,\r\n rowsPerPage: -1, // Show All\r\n },\r\n\r\n // Transactions\r\n transactions: [],\r\n matchedInvoices: [],\r\n dueInvoices: [],\r\n dueInvoiceSearchTerm: '',\r\n dueInvoiceSorting: {\r\n sortBy: 'paymentDate',\r\n descending: true,\r\n rowsPerPage: 50,\r\n },\r\n\r\n // Mahnungen\r\n mahnungen: [],\r\n mahnungSearchTerm: '',\r\n mahnungLastSearchTerm: '',\r\n mahnungSorting: {\r\n sortBy: 'createdAt',\r\n descending: true,\r\n rowsPerPage: -1, // Show All\r\n },\r\n auditSorting: {\r\n sortBy: 'date',\r\n descending: true,\r\n rowsPerPage: -1, // Show All\r\n },\r\n\r\n // FERTIGER\r\n // Fertiger von Blexon. Sollen später aus dem Fertigerportal geladen werden.\r\n fertigers: [\r\n {\r\n name: 'RuossTech AG',\r\n id: 2,\r\n },\r\n {\r\n name: 'CutCenter AG',\r\n id: 4,\r\n },\r\n {\r\n name: 'USE Metalltechnik AG',\r\n id: 5,\r\n },\r\n {\r\n name: 'Keller Laser AG',\r\n id: 6,\r\n },\r\n {\r\n name: 'zweifel metall AG',\r\n id: 8,\r\n },\r\n {\r\n name: 'Metallbaumontage Batzel',\r\n id: 9,\r\n }],\r\n\r\n oidc: {\r\n user: null,\r\n authenticated: false,\r\n instance: null,\r\n token: null,\r\n config: {\r\n //@ts-ignore\r\n userStore: new Oidc.WebStorageStateStore(),\r\n authority: authorityUrl,\r\n // Client application's identifier as registered on the Identityserver\r\n client_id: 'HelpdeskClient',\r\n // Redirect URI of your client application to receive a response from the Identityserver\r\n redirect_uri: redirectUri,\r\n // The Identityserver post-logout redirect URI.\r\n post_logout_redirect_uri: postLogoutRedirectUri,\r\n // The type of response desired from the Identityserver\r\n response_type: 'id_token token',\r\n // The scope being requested from the Identityserver\r\n scope: 'openid profile HelpdeskApi EventApi offline_access',\r\n silent_redirect_uri: window.location.origin + '/silent-renew.html',\r\n accessTokenExpiringNotificationTime: 601200, // 7 Tage minus 1 Stunde\r\n automaticSilentRenew: true,\r\n filterProtocolClaims: true,\r\n loadUserInfo: true,\r\n },\r\n },\r\n};\r\n\r\nexport default new Vuex.Store({\r\n state,\r\n mutations,\r\n actions,\r\n getters,\r\n});\r\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Payments.vue?vue&type=style&index=0&id=541b6767&prod&scoped=true&lang=css\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPAAAABSCAYAAABqgVl3AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAPLElEQVR4Xu2dB7RkRRGGVzEBBsCIou4uQcWcMybEhKiYMaMYMII5IKIihsV4zOmYFTNKkMUACuKCAQMqZgUj7q4RFNnx/+A1pyyrb5o7e+btq++c/7DM63tn7p1b3VXV1T3LkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJljDXlR4k7S+9Wvqo9EwpSZI55jbSc6WHSrtKt5JuLO2y8O8kSeaQm0ivlE6U1kgHSzeUkiSZY24mHSKtkm7PC2I7ideefv7/JUkyd9xIeqn0MummvJAkyfxzJemF0kukIS7yo6WTnHaTxuYK0lck+z5vlZJkSXI1idH2T9IDeGEgB0kTp0dKY8Pn9e9zspQkS4oV0rMlRi+mhKbNJL9A8oZFxnpsrir9Q7Lvc5yUJEuCS0q4yq+R7sYLI5EGnCQbgedIx1zwz1FJA06SEbm4RJHFkyQKMB4v4SavlmaRXEoDTpKReKD0Q8k+5EX/kR4ijU0acJKMwB6SfbgjnSdNk3GOSANOkinZTPqBZB/umv4tjVnDnAacJB2hzPF50mESMS2rguDqkn2w2/Rr6fLSGKQBJ0kDW0h7S1+X7MNbtKPEiqHob016nDQGXQyYa7iOdEuJMs1rSheT+jALA95S2km6xYJYMkll2mKB+7qDdHOJe3s96crSLMDLWy4xiPBe3KutpaQC87YsHviZZB9aL1zi9e61LjpCuqI0LZEB31eCO0sflBjx7d/PkX4ifUDaXerCWAbMfX2Y9FnpTIm8gD3nX6XvSm+TWD5Z4zHS0RLnKXqL1JdXSPYcX5D2kWpcSnqERNszJJKT/vOfKr1RurXUBp1/ee9PSdxnyw0kruvH0r8k+15nSUxNPlxKDPeQusS0GO/f3Wt9hGFRmTUN3oA3SE+R3mdeaxPeRVn5VGMMA95TOk2y52jT1ySm5TyMRmdLvv0zpK48VvLH/0XCQ4m4n1SbZajp09L2Uo29JNue0tjCi6VzJfv3mr4kXUVa8kS1xTW9TsLlY3eM6O88YH+TygiNcfHff0rF8D8uTUNkwL6n7qqmh39aA36DZI/tK8pPPfeUfDvu7UqpjWtLtLXH4g3URk2Wc9q2fcRIeRcpglkJ25ZRHXeZteD29S7Cc7mMtElB7Mf8bBcOlKIb44WRfENihU4Bl46FCaUN70mMt7lEwortbyihpNdnfe+20p0kyiv7xqOWyIX2+oWEy2w/X01UjEVMY8AfluxxVnRkhCm4iL9beK0mrtXzTsm3I8HYBMU235b8cVEnAazN9m2LCANOkL4sfU+KvAJE2BLNPngDRp8JXlsrnS79XOJc/u9FQ8KIuQUD+pXEhb2HFxq4neRvRk301CSvPBhmcV0/IWGsd5VmSc2A+ZL5Mkl6XEKiV99q4f9xzX4pRcch5rQ9Qw34TZI9puiLEp0c56UDu4h0aYl10XhBPLDRcXeXLHzHdFC+HYnHGsSnvv3npQiWa/q2iNEOl5rPbCEk4v5Ghvwbie/AEhmw1VHSfSQGgYtKdD6ED0+VGNl9e1xu/r5J8ATJXtx7pRrRl1pE3PZn91rTkj1iaJJUJGveL9F58IDOgsiA2YaHLGUTl5Vq1/xHaRvJMsSAecBt+yIevjYwBLYS8scyWpMIs+DJ+HaELXxmD8bg2zKKRtN6eEkkpXz7IyUy0E0w2q6T/LGEEpaaAROLt1Xu8R1HCdSaJ7FooJfDZY1cRtzkiFoc+1OJhx0Xz77elKn0HCB9SPJGMQaRAWM4XXm+5I9HZY670NeACR189hv1WavMNEk0upIF9rxe8u1wRS1cg++I0R2liMh7wI1tM97C/SV/PCOz7VgiA2ZkZWqqCzxb/ngy6YsWXGHiBH9RVnZRQXnYyRZGbQ+V4A9SeY0YmNga15Qvn16Vxe1kKN8lUdjhIYnBiMcUD1MRBdydaZYXRgbct+aawhR/DkYP6+71NWAWcdi2qC2MieB++fMwfeRhVP6R5NuyFW8Bt93/HXc3gs42Gn3vJfXhq5I/h90OODJgpra6wjy6n8qi08PVXnTgtvjMYiTcMIwPmEIh/f5uybcjDiOrR/z4+4XXijiHHx2YemKE56GIChIuJ7FKCYNnN479JEZ+5gKHEhlw30osYvfovtnz9DVg7/4Sk19D6guhB16QPReelY89ge/ftkN0vIyYGI3/W1Oyi/DHtydJ1ZdHSf48bE1UiAz4RVJXyB/4fAaJwVkVlMwM4hVvZE0qBQzEP8+SGB18Gx46ejggi+v/bmVdTmLgpl4U95K4DVdw2htNsYn/LENKKT8m+fPYnEEfA2Yax48K07h10XdTi/G5774tOQE/X0+c3zRvyrXb9ohNB/tCLE+9gD2P9W4iA66FeTWYK7fHk2SlQmxRQRrfXkSbiEmphMLoedj8TS7CvYTPSdHf6ZX5EixkUoljGHFbOevIHXY+78SVq9avXr5qbQ9tWLNy1V67bRm5aEMMmM7En+dbUqGPAT9Ysu0QFWFs2sem9H3EvYyKUnaRIhiRviP59l4+m+35ptT3mAi8tyiOZ99vGMOAyaD7c+wsLQq4Qa+S/AV0ET1hKa7w4vVSjcUoyajKv/kyiHeZf2S6JZrDZYSlF+yUDVx31Mo9J6ftOJmcvP1ksqaHTt9pcsi+29jPXDTEgDEWf57fSiVh08eA+xTDDFWtMAIweu8BWLXFmFyzn5Pm+7yWNISoky0e4BgG/EnJn2NRGDCF+YwS/sNPIxIXVMPwb2pMKbR4uwQkVJh37AJTDcRfdDCNrD16xe4agSfrj10+Wbe6uzDiA/be2n9+NMSAiYN9gQD3orj4fQw4yieMrba8QS27TiKrDcIx73JTUTd0ocXhkj0XKtn4MQyYGmp/jrk3YAr1/U0eQ2QZqUbi30+TADe578oPjIhzlIUFVebEgKkq83OKGCyGC30MmCIW224WijL9Hgon7DGMyqwYaoNaaN+ZERL5IoyuRPkFahRgSRowI6//wH1FT0xBASMlLg4FF6WgH2OliqqUSrJShIxxHzgHNclkuRuZEwNmpGWUsefBoMuo08eAoweKkIM4ewwx9ddWGLOvFLnRfLY2yJb7Sirmj4cu34s6tLKcdMkZMO4N0wgYHJvG+Q/eRZSbtVUqWZhSGDKFgOHzfsRkVebEgMmW+pUvxMAlZOhjwCSsbDtErfjGgu+2aUEHv4LRBMlNKqHsMVw7z94QWPJnz4XKXP2SM2AeGqZ9gEyk/+Bd9GSpD1Ri0QOzkLoPrJYhDi5uaMicGDCVP/48ttPqY8BR8T+Jxo0BScVooYJXU0EGRSG+ioyk5lCjoG7angsRAsKSMmAmuClvK1Al5T94m9hYfQhMJ7GdTl8odaut8DmfOTFgvy4VWXezjwFTZmrboY1V3hd1Hj4WRhTpNBX9M3fsj2Emoi/UWPuKLjtPu2QMmJ0JiFvttA0PkP/gTXq5NBRKA4ccTyUXc4pkeUPmxID5qRd/HjsNFhmwrSiyEDLYdgiXdBa14BZ28PDvi6Fy7yO3nmqxaBoQ3iz59n0NCyiT9eeh1LeUOi4ZA2ZZ1R0u+OeF+AUGNZFBZISZBuYdh/4aH1Va1SqeOTBgHqZolKLTLEQGXEvQMXVG0b9ti0roMwtIMJXpP6uy3QwZ5GgJZZki9EQrqYb8mBu5Gn8etjIqLAkDJqPIjfB0mQNmx4sx1keSGGHCfAiMSFUXcgYG3HUDgwI5AX8ORidLlNihHNEuzLAwf27bIvIIjfmAKYgWZLBAxcJuG7ivvl20dhjPKVpve1upK5SURuuCyY0UNnkDZnqDJECUAWTlj//gRbit95bGgvc/RfJrUbvAiEThfJjFnIEBNy1m95CY89NHiAfLwuKPaHlgbXdN3OVo6R47mfSdT6VuvGl1DRlu/z64zlGdebSogYw1lWieqMKP56q1OGeBaPUTK9as277JGzCT4BTsR5TyRisyp+yiwO4FY0J5HT0yG7PxW7ksW+wD1Th8rv9jBgbMyEihQC2+AwwC44uWzNViW7wI35bja8shI8NC35d8OBTBCFaqupj/jWDDuKigh6m/GmV6z6qs+7ZQBxDtDILBNNW5U0qLm+yPQ76wZ5M2YJbecbNrYKRlEQM9O19a00M7DSxfIxFCPHuE1HddKIUg4a8TzsCAi+jM2KgOF546XkZb1seSva/trtiUncXgo2MQDxHX6JN1TWWV5DUIj+gM2WSOh46pwSdKFD/YmJsYPdqwLcoWe9fZQ7xctlqy8hsAQLQwA7GclNGce0t4wTm5BjrO2o6mNvYtbJIGzJwkCaPXStG6TwuuGoY1a3CdWZBPBzHEjQYKT4p7e2El0QwNuK9wpZs8C+LdKDll5UcYrvMjUtS2r9gF1EJBhm9Tc509xLLRQhbWV3tIQPp2VlSsES7UFsYgvJrouVn0BkypHm4yc4e4xHxJJJ7KRHcb9HxDs8N9YZM4uxNlX3BbGf1Y34o7fX6V08gGTGJvyLay7PtFiWobjDhRcqeo5plE63T7iI7DJn9qv4bR5Dp7apV80UaEQ6v+EM93bRueRW/AxAtkeNlNgfiShEUf6IVrMfLYUARSW4faB5JZF7r6a49ZvsfklO0n5xy/YnL2cd01OXWHyUH7/M9yQtxMRklGl5MWXmsT66EZYdo8HQvuONvaROdrShwS9x4rRcfVRFUVYYD9fCxk8Blx1OY6R0RraREdlYdOg2Rk1D4SnWKY9zBEO3/0rVqL7un1pblnf4l5vK5ZwWlh/yumkjot1O/K+qNW7HruCSvOXL96+RnrjumuDWtWnnHA3lsx94nIEPufIuH/qVzDmIn52H2E2O0EicUFzBdPU1zBtMzBEsZM3EcH0vRzKAV+B4lOg+OIxcs1kEjis7KPNPElW+BGsBgeV5fvv4j4e4h3hAfHsfZcLEWMRuECIR4DB7mQct3cW3ZtOV4i1GK9b1PmvMD2xPa9ue4uP8liYV06x9nzjPXjeaNCkoA9hkiy4IoSI89qu9YaZFZHLUiYHLZsszMP33aLDSdut3lfHbrfdngwuGe1+dgC8RftZpXkAz7DkM6Ua0AbqyMeG66be7tYP/9GA9eQ+PEdErFDkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJsuhZtuy/mJ14hw8CKAsAAAAASUVORK5CYII=\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',[_c('v-img',{staticStyle:{\"cursor\":\"pointer\"},attrs:{\"contain\":\"\",\"width\":_vm.width,\"height\":_vm.height,\"src\":_vm.getThumbnailUrl(),\"title\":\"Cad öffnen\"},on:{\"click\":function($event){_vm.cadDialog = true}}}),_c('cad-dialog',{attrs:{\"openDialog\":_vm.cadDialog,\"articleId\":_vm.articleId,\"readonly\":_vm.readonly},on:{\"close\":function($event){_vm.cadDialog = false}}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('v-dialog',{attrs:{\"content-class\":\"specialSize\",\"persistent\":\"\"},model:{value:(_vm.cadDialog),callback:function ($$v) {_vm.cadDialog=$$v},expression:\"cadDialog\"}},[_c('div',{staticStyle:{\"background-color\":\"#f3f3f4\",\"padding\":\"0px\"}},[(_vm.cadDialog)?_c('iframe',{staticStyle:{\"padding\":\"0px\",\"margin\":\"0px\",\"border\":\"0px\",\"width\":\"100%\"},attrs:{\"loading\":\"lazy\",\"height\":_vm.currentWindowHeight,\"src\":_vm.articleCadViewUrl}}):_vm._e()])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { Component, Vue, Prop, Watch } from 'vue-property-decorator';\r\nimport httpClient from '../store/httpClient';\r\nimport { TokenResponseDto } from '@/dtos/tokenResponseDto'\r\n\r\n@Component\r\nexport default class CadDialogComponent extends Vue {\r\n @Prop()\r\n private openDialog!:boolean;\r\n @Prop()\r\n private articleId!: string;\r\n @Prop()\r\n private readonly!: boolean;\r\n private cadDialog: boolean = false;\r\n private articleHasUnsavedChanges: boolean = false;\r\n private currentWindowHeight: string = '100px';\r\n private articleToken: TokenResponseDto | null = null;\r\n\r\n //private token: string = 'B3D70156-1053-4E42-88C6-E3EEBDD970B4';\r\n\r\n private mounted() {\r\n this.setWindowHeight();\r\n }\r\n private beforeMount() {\r\n window.addEventListener('resize', this.setWindowHeight);\r\n }\r\n private beforeDestroy() {\r\n window.removeEventListener('resize', this.setWindowHeight);\r\n }\r\n\r\n @Watch('openDialog')\r\n private async openCadDialog() {\r\n if (!this.cadDialog && this.openDialog === true) {\r\n try {\r\n const response = await httpClient().post(`article/GetArticleToken?articleId=${this.articleId}&isWritable=${!this.readonly}`);\r\n this.articleToken = response.data;\r\n if (this.articleToken != null) {\r\n window.addEventListener('message', this.handleArticleChangedInCad);\r\n this.cadDialog = true;\r\n }\r\n } catch(err) {\r\n console.log(`Für den Artikel konnte kein Token geladen werden. Error: ${err}`);\r\n }\r\n }\r\n }\r\n\r\n private handleArticleChangedInCad (event: any) {\r\n if (event.origin == 'https://cad.test.blexon.com' ||\r\n event.origin == 'https://cad.blexon.com' ||\r\n event.origin == 'http://localhost:8180'\r\n ) {\r\n if (event.data == `article-${this.articleId}-closed`) {\r\n this.closeCadDialog(true);\r\n } else if (event.data == `article-${this.articleId}-saved`) {\r\n this.closeCadDialog(false);\r\n }\r\n }\r\n }\r\n\r\n private async closeCadDialog(deleteToken: boolean) {\r\n window.removeEventListener('message', this.handleArticleChangedInCad);\r\n // delete token only when the article was not saved.\r\n // Wenn der Artikel gespeichert wurde, wird das Token nach der Validierung gelöscht.\r\n if (deleteToken) {\r\n await httpClient().post(`article/DeleteToken?token=${this.articleToken ? this.articleToken.token : null}`);\r\n }\r\n this.cadDialog = false;\r\n this.articleToken = null;\r\n this.$emit('close');\r\n }\r\n \r\n private get articleCadViewUrl() {\r\n let localToken = '';\r\n if (this.articleToken !== null) {\r\n localToken = this.articleToken.token;\r\n }\r\n const url = process.env.VUE_APP_cadClientUrl + `artikel?id=${this.articleId}` +\r\n `&token=${localToken}`;\r\n console.log(url);\r\n return url;\r\n }\r\n\r\n\r\n private setWindowHeight () {\r\n // 165 besteht aus...\r\n // - Margins der Dialogbox (variieren etwas je nach Aspect Ratio)\r\n // - Buttons für Speichern / Schliessen im Dialogfenster\r\n // - Sicherheitsmarge, sodass sicher keine Scrollbar im Dialog erscheint\r\n const currentHeight = window.innerHeight - 65\r\n this.currentWindowHeight = `${currentHeight}px`\r\n }\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CadDialog.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CadDialog.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./CadDialog.vue?vue&type=template&id=0b46841d\"\nimport script from \"./CadDialog.vue?vue&type=script&lang=ts\"\nexport * from \"./CadDialog.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","\r\nimport { Component, Vue, Prop } from 'vue-property-decorator';\r\nimport CadDialog from '@/components/CadDialog.vue'\r\n\r\n@Component({\r\n components: {\r\n\t\tCadDialog,\r\n },\r\n})\r\nexport default class ArticleCadPreview extends Vue {\r\n @Prop()\r\n private articleId!: number;\r\n\t@Prop()\r\n\tprivate articleLastChange!: any;\r\n\t@Prop()\r\n\tprivate width!: string;\r\n\t@Prop()\r\n\tprivate height!: string;\r\n\t@Prop()\r\n\tprivate readonly!: boolean;\r\n\tprivate cadDialog: boolean = false;\r\n\r\n\tprivate getThumbnailUrl() {\r\n return process.env.VUE_APP_erpUrl + `article/getthumbnail?id=${this.articleId}&time=${this.articleLastChange}`;\r\n }\r\n\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ArticleCadPreview.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ArticleCadPreview.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./ArticleCadPreview.vue?vue&type=template&id=7c177655\"\nimport script from \"./ArticleCadPreview.vue?vue&type=script&lang=ts\"\nexport * from \"./ArticleCadPreview.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 { PowderStructure } from './powderStructure';\r\n\r\nexport interface IPowderStructure {\r\n text: string;\r\n value: PowderStructure;\r\n}\r\n\r\nconst values: IPowderStructure[] = [\r\n {\r\n text: 'Fein',\r\n value: PowderStructure.Fine,\r\n },\r\n {\r\n text: 'Grob',\r\n value: PowderStructure.Rough,\r\n },\r\n {\r\n text: 'Glatt',\r\n value: PowderStructure.Smooth,\r\n },\r\n];\r\n\r\nexport default values;\r\n","// importing vue class component\r\nimport Component from 'vue-class-component'\r\n\r\n// registering additional router hooks with their names\r\nComponent.registerHooks([\r\n 'beforeRouteEnter',\r\n 'beforeRouteUpdate',\r\n 'beforeRouteLeave',\r\n])","import Vue from 'vue';\r\nimport Vuetify from 'vuetify/lib';\r\nimport 'vuetify/src/stylus/app.styl';\r\n\r\nVue.use(Vuetify, {\r\n theme: {\r\n primary: '#efbb20',\r\n secondary: '#efbb20',\r\n accent: '#efbb20',\r\n error: '#FF5252',\r\n info: '#2196F3',\r\n success: '#4CAF50',\r\n warning: '#FFC107',\r\n },\r\n customProperties: true,\r\n iconfont: 'md',\r\n});\r\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{attrs:{\"id\":\"app\"}},[_c('v-app',[(!_vm.embedded)?_c('v-navigation-drawer',{staticClass:\"grey lighten-4\",attrs:{\"temporary\":\"\",\"clipped\":\"\",\"app\":\"\"},model:{value:(_vm.drawer),callback:function ($$v) {_vm.drawer=$$v},expression:\"drawer\"}},[_c('v-list',{staticClass:\"pt-0\"},[_c('v-list-tile',{on:{\"click\":function($event){return _vm.navigateTo('customer')}}},[_c('v-list-tile-action',[_c('v-icon',{attrs:{\"color\":\"accent\"}},[_vm._v(\"face\")])],1),_c('v-list-tile-content',[_c('v-list-tile-title',[_vm._v(\"Kunden\")])],1)],1),_c('v-list-tile',{on:{\"click\":function($event){return _vm.navigateTo('article')}}},[_c('v-list-tile-action',[_c('v-icon',{attrs:{\"color\":\"accent\"}},[_vm._v(\"extension\")])],1),_c('v-list-tile-content',[_c('v-list-tile-title',[_vm._v(\"Artikel\")])],1)],1),_c('v-list-tile',{on:{\"click\":function($event){return _vm.navigateTo('order')}}},[_c('v-list-tile-action',[_c('v-icon',{attrs:{\"color\":\"accent\"}},[_vm._v(\"list\")])],1),_c('v-list-tile-content',[_c('v-list-tile-title',[_vm._v(\"Aufträge\")])],1)],1),_c('v-list-tile',{on:{\"click\":function($event){return _vm.navigateTo('ticket')}}},[_c('v-list-tile-action',[_c('v-icon',{attrs:{\"color\":\"accent\"}},[_vm._v(\"flash_on\")])],1),_c('v-list-tile-content',[_c('v-list-tile-title',[_vm._v(\"Tickets\")])],1)],1),_c('v-list-tile',{on:{\"click\":function($event){return _vm.navigateTo('manufacturerSettlement')}}},[_c('v-list-tile-action',[_c('v-icon',{attrs:{\"color\":\"accent\"}},[_vm._v(\"payment\")])],1),_c('v-list-tile-content',[_c('v-list-tile-title',[_vm._v(\"Fertigerabrechnung\")])],1)],1),_c('v-list-tile',{on:{\"click\":function($event){return _vm.navigateTo('accounting')}}},[_c('v-list-tile-action',[_c('v-icon',{attrs:{\"color\":\"accent\"}},[_vm._v(\"attach_money\")])],1),_c('v-list-tile-content',[_c('v-list-tile-title',[_vm._v(\"Buchhaltung\")])],1)],1),_c('v-list-tile',{on:{\"click\":function($event){return _vm.navigateTo('report')}}},[_c('v-list-tile-action',[_c('v-icon',{attrs:{\"color\":\"accent\"}},[_vm._v(\"trending_up\")])],1),_c('v-list-tile-content',[_c('v-list-tile-title',[_vm._v(\"Reports\")])],1)],1),_c('v-list-tile',{on:{\"click\":function($event){return _vm.navigateTo('marketingLinks')}}},[_c('v-list-tile-action',[_c('v-icon',{attrs:{\"color\":\"accent\"}},[_vm._v(\"share\")])],1),_c('v-list-tile-content',[_c('v-list-tile-title',[_vm._v(\"Marketing\")])],1)],1),_c('v-list-tile',{on:{\"click\":function($event){return _vm.navigateTo('home')}}},[_c('v-list-tile-action',[_c('v-icon',{attrs:{\"color\":\"accent\"}},[_vm._v(\"feedback\")])],1),_c('v-list-tile-content',[_c('v-list-tile-title',[_vm._v(\"Feedback\")])],1)],1),_c('v-list-group',{attrs:{\"no-action\":\"\",\"value\":false},scopedSlots:_vm._u([{key:\"activator\",fn:function(){return [_c('v-list-tile',[_c('v-list-tile-action',[_c('v-icon',[_vm._v(\"settings\")])],1),_c('v-list-tile-title',[_vm._v(\"System\")])],1)]},proxy:true}],null,false,3412803222)},[_c('v-list-tile',{on:{\"click\":function($event){return _vm.navigateTo('settings')}}},[_c('v-list-tile-action',[_c('v-icon',[_vm._v(\"settings\")])],1),_c('v-list-tile-content',[_c('v-list-tile-title',[_vm._v(\"Einstellungen\")])],1)],1),_c('v-list-tile',{on:{\"click\":function($event){return _vm.navigateTo('monitoring')}}},[_c('v-list-tile-action',[_c('v-icon',[_vm._v(\"stacked_bar_chart\")])],1),_c('v-list-tile-content',[_c('v-list-tile-title',[_vm._v(\"CAM Monitor\")])],1)],1),_c('v-list-tile',{on:{\"click\":function($event){return _vm.navigateTo('log')}}},[_c('v-list-tile-action',[_c('v-icon',[_vm._v(\"adb\")])],1),_c('v-list-tile-content',[_c('v-list-tile-title',[_vm._v(\"Log\")])],1)],1)],1)],1)],1):_vm._e(),(!_vm.embedded)?_c('v-toolbar',{staticClass:\"elevation-0 toolbar\",attrs:{\"dense\":\"\",\"app\":\"\",\"absolute\":\"\",\"clipped-left\":\"\",\"color\":\"white\"}},[(_vm.$store.state.isAdmin)?_c('v-toolbar-side-icon',{nativeOn:{\"click\":function($event){_vm.drawer = !_vm.drawer}}}):_vm._e(),_c('img',{staticStyle:{\"height\":\"50px\",\"padding-right\":\"50px\"},attrs:{\"src\":require(\"./assets/blexon_logo_portal.png\")}}),_c('span',{staticClass:\"title mt-2\"},[_c('span',{staticClass:\"font-weight-light\"},[_vm._v(\"Helpdesk\")])]),_c('v-spacer'),_c('v-menu',{attrs:{\"offset-y\":\"\"}},[_c('v-btn',{staticClass:\"elevation-0\",staticStyle:{\"text-transform\":\"none !important\"},attrs:{\"slot\":\"activator\",\"color\":\"white\"},slot:\"activator\"},[_c('v-icon',[_vm._v(\"face\")]),_vm._v(\"\\n \"+_vm._s(_vm.username)+\"\\n \")],1),_c('v-list',[_c('v-list-tile',{on:{\"click\":function($event){return _vm.logout()}}},[_c('v-list-tile-title',[_vm._v(\"Abmelden\")])],1)],1)],1)],1):_vm._e(),_c('v-content',[_c('v-container',{attrs:{\"fluid\":\"\"}},[_c('router-view')],1)],1),_c('v-snackbar',{staticClass:\"black--text\",attrs:{\"color\":_vm.snackbarColor,\"bottom\":\"\",\"timeout\":6000,\"multi-line\":true},model:{value:(_vm.snackbar),callback:function ($$v) {_vm.snackbar=$$v},expression:\"snackbar\"}},[_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.snackbarText)}})]),(!_vm.embedded)?_c('v-footer',{attrs:{\"app\":\"\"}}):_vm._e()],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\r\nimport { warn } from 'vue-class-component/lib/util';\r\nimport httpClient from './store/httpClient';\r\n\r\n@Component\r\nexport default class App extends Vue {\r\n @Prop()\r\n private msg!: string;\r\n private drawer: boolean = false;\r\n private snackbar: boolean = false;\r\n\r\n private mounted() {\r\n this.loadTags();\r\n }\r\n\r\n private get username() {\r\n return this.$store.state.oidc.user.profile.name.toLowerCase();\r\n }\r\n\r\n private get snackbarText() {\r\n return this.$store.state.snackbarText;\r\n }\r\n\r\n private get snackbarColor() {\r\n return this.$store.state.snackbarColor;\r\n }\r\n\r\n private get embedded() {\r\n const boolValue = this.$store.state.embedded === 'true';\r\n return boolValue;\r\n }\r\n\r\n @Watch('snackbarText')\r\n private showSnackbar() {\r\n const text = this.snackbarText;\r\n if (text !== null && text !== '') {\r\n this.snackbar = true;\r\n setTimeout(() => {\r\n this.$store.commit('setSnackbarText', '');\r\n }, 6000);\r\n }\r\n return text;\r\n }\r\n\r\n private navigateTo(to: string) {\r\n this.$router.push({ name: to });\r\n }\r\n\r\n private logout() {\r\n this.$store.dispatch('logout');\r\n }\r\n\r\n private async loadTags() {\r\n try {\r\n const response = await httpClient().get(`Customer/GetTags`);\r\n this.$store.commit('setTags', response.data);\r\n } catch {\r\n console.log('Load tags failed.');\r\n }\r\n }\r\n}\r\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--13-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??ref--13-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--13-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??ref--13-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=76d2ef9e\"\nimport script from \"./App.vue?vue&type=script&lang=ts\"\nexport * from \"./App.vue?vue&type=script&lang=ts\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=76d2ef9e&prod&lang=css\"\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 render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"home\"},[_c('feedback-diagram-component')],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('v-layout',[_c('v-flex',{attrs:{\"md5\":\"\"}},[_c('v-card',[_c('v-card-title',[_c('h2',[_vm._v(\"Wie zufrieden sind Sie...\")])]),_c('v-card-text',[_c('canvas',{ref:\"diagramCanvas\"})])],1)],1),_c('v-flex',{attrs:{\"md7\":\"\"}},[_c('v-card',[_c('v-card-title',[_c('h2',[_vm._v(\"Wie zufrieden sind Sie...\")])]),_c('v-card-text',_vm._l((_vm.fragenWithAnswers),function(frage,index){return _c('div',{key:index},[_c('strong',[_vm._v(_vm._s(frage.text))]),_c('ul',_vm._l((frage.antworten),function(antwort,index){return _c('li',{key:index},[(antwort.customerName != null && antwort.customerName.length > 0)?_c('span',[_vm._v(\"\\n Kunde: \"+_vm._s(antwort.customerName)+\" |\\n \")]):_vm._e(),(antwort.orderId != null && antwort.orderId.length > 0)?_c('span',[_vm._v(\"\\n Auftrag: \"+_vm._s(antwort.orderId)+\" |\\n \")]):_vm._e(),_vm._v(\"\\n \"+_vm._s(_vm._f(\"formatDate\")(antwort.givenAt))+\" | \"+_vm._s(antwort.text)+\"\\n \")])}),0)])}),0)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { Component, Vue, Prop } from 'vue-property-decorator';\r\nimport httpClient from '../store/httpClient';\r\nconst Chart = require('chart.js');\r\n\r\n@Component\r\nexport default class FeedbackDiagramComponent extends Vue {\r\n private loading: boolean = false;\r\n private fragen: any = [];\r\n private mounted() {\r\n this.loadData();\r\n }\r\n\r\n private get fragenWithAnswers() {\r\n return this.fragen.filter((f: any) => f.antworten.length > 0);\r\n }\r\n\r\n private updateDiagram() {\r\n const labels = this.fragen.map((f: any) => '...' + f.text + ' (' + f.anzahl + ')');\r\n // console.log(this.fragen);\r\n const werte = this.fragen.map((f: any) => {\r\n return f.value / f.anzahl;\r\n });\r\n\r\n const ctx = (this.$refs.diagramCanvas as any).getContext('2d');\r\n const chart = new Chart(ctx, {\r\n // The type of chart we want to create\r\n type: 'horizontalBar',\r\n\r\n // The data for our dataset\r\n data: {\r\n labels,\r\n datasets: [{\r\n label: 'Wert',\r\n borderColor: 'rgb(255, 255, 255)',\r\n backgroundColor: '#EFBB20',\r\n borderWidth: {left: 0, right: 0, top: 0, bottom: 0},\r\n data: werte,\r\n }],\r\n },\r\n\r\n // Configuration options go here\r\n options: {\r\n legend: {\r\n display: false,\r\n },\r\n scales: {\r\n xAxes: [{\r\n ticks: {\r\n min: 0,\r\n max: 5,\r\n stepSize: 1,\r\n },\r\n }],\r\n yAxes: [{\r\n afterFit: (scaleInstance: any) => {\r\n scaleInstance.width = 250; // sets the width to 100px\r\n },\r\n }],\r\n },\r\n },\r\n });\r\n chart.options.scales.yAxes[0].ticks.fontSize = 14;\r\n chart.update();\r\n }\r\n private async loadData() {\r\n try {\r\n this.loading = true;\r\n const response = await httpClient().get(`Report/GetFeedbackReport`);\r\n this.fragen = response.data;\r\n this.updateDiagram();\r\n } catch {\r\n console.log('Load orders failed.');\r\n } finally {\r\n this.loading = false;\r\n }\r\n }\r\n}\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FeedbackDiagramComponent.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FeedbackDiagramComponent.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./FeedbackDiagramComponent.vue?vue&type=template&id=1a242482\"\nimport script from \"./FeedbackDiagramComponent.vue?vue&type=script&lang=ts\"\nexport * from \"./FeedbackDiagramComponent.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","\r\nimport { Component, Vue } from 'vue-property-decorator';\r\nimport FeedbackDiagramComponent from '../components/FeedbackDiagramComponent.vue';\r\n\r\n@Component({\r\n components: {\r\n 'feedback-diagram-component': FeedbackDiagramComponent,\r\n },\r\n})\r\nexport default class Home extends Vue {\r\n private close() {\r\n parent.postMessage('close', '*');\r\n }\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./Home.vue?vue&type=template&id=cbef08e8\"\nimport script from \"./Home.vue?vue&type=script&lang=ts\"\nexport * from \"./Home.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 render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('v-container',{attrs:{\"fluid\":\"\",\"pa-0\":\"\",\"ma-0\":\"\"}},[_c('v-layout',{attrs:{\"column\":\"\"}},[_c('v-flex',[_c('h1',[_vm._v(\"Beanstandung zum Auftrag \"+_vm._s(_vm.ticketDto ? _vm.ticketDto.orderId : ''))])]),_c('v-flex',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.loading),expression:\"loading\"}]},[_c('v-progress-linear',{attrs:{\"indeterminate\":\"\"}})],1),(!_vm.loading)?_c('v-flex',[_c('v-layout',{attrs:{\"row\":\"\"}},[_c('v-flex',{attrs:{\"shrink\":\"\",\"mr-2\":\"\"}},[_vm._v(\"\\n Fertiger: \"+_vm._s(_vm.ticketDto.manufacturerName)+\" | \\n \")]),_c('v-flex',{attrs:{\"shrink\":\"\",\"mr-2\":\"\"}},[_vm._v(\"\\n Kundennummer: \"+_vm._s(_vm.ticketDto.customerId)+\" | \\n \")]),_c('v-flex',{attrs:{\"shrink\":\"\",\"mr-2\":\"\"}},[_vm._v(\"\\n \"+_vm._s(_vm.ticketDto.customerName)+\" | \\n \")]),_c('v-flex',{attrs:{\"shrink\":\"\",\"mr-2\":\"\"}},[_c('a',{attrs:{\"href\":'mailto:' + _vm.ticketDto.customerEmail}},[_vm._v(_vm._s(_vm.ticketDto.customerEmail))]),_vm._v(\" |\\n \")]),_c('v-flex',{attrs:{\"shrink\":\"\",\"mr-2\":\"\"}},[_c('a',{attrs:{\"href\":'tel:' + _vm.ticketDto.customerPhone}},[_vm._v(_vm._s(_vm.ticketDto.customerPhone))])])],1)],1):_vm._e(),_c('v-flex',{attrs:{\"mt-3\":\"\"}},[(!_vm.loading)?_c('v-tabs',{staticClass:\"tabs\",attrs:{\"slider-color\":\"accent\"},on:{\"change\":function($event){return _vm.tabChanged()}},model:{value:(_vm.currentPosition),callback:function ($$v) {_vm.currentPosition=$$v},expression:\"currentPosition\"}},[_vm._l((_vm.ticketDto.complains),function(complain,index){return _c('v-tab',{key:index},[_vm._v(\"\\n Position \"+_vm._s(complain.position)+\"\\n \")])}),(_vm.showCostDistribution)?_c('v-tab',[_vm._v(\"\\n Kostenverteilung\\n \"),(!_vm.costDistributionIsValid)?_c('v-badge',{attrs:{\"color\":\"red\",\"overlap\":\"\"},scopedSlots:_vm._u([{key:\"badge\",fn:function(){return [_c('span',{attrs:{\"small\":\"\"}},[_vm._v(\"!\")])]},proxy:true}],null,false,3319947985)}):_vm._e()],1):_vm._e(),(_vm.showCostDistribution && _vm.isNacharbeitIntended)?_c('v-tab',[_vm._v(\"\\n Rücktransport\\n \")]):_vm._e(),(_vm.showCostDistribution && _vm.isTransportNeeded)?_c('v-tab',[_vm._v(\"\\n Ersatzlieferung\\n \")]):_vm._e(),_vm._l((_vm.ticketDto.complains),function(complain,index){return _c('v-tab-item',{key:index},[(!_vm.loading)?_c('ticket-position',{attrs:{\"complaintDto\":complain},on:{\"resolutionChanged\":function($event){return _vm.onResolutionChanged()}}}):_vm._e()],1)}),(_vm.showCostDistribution)?_c('v-tab-item',[_c('cost-distribution',{ref:\"costDistribution\",attrs:{\"ticket\":_vm.ticketDto},on:{\"validChanged\":function($event){_vm.costDistributionIsValid=$event}}})],1):_vm._e(),(_vm.showCostDistribution && _vm.isNacharbeitIntended)?_c('v-tab-item',[_c('return-transport-settings',{attrs:{\"ticketDto\":_vm.ticketDto}})],1):_vm._e(),(_vm.showCostDistribution && _vm.isTransportNeeded)?_c('v-tab-item',[_c('transport-settings',{attrs:{\"ticketDto\":_vm.ticketDto}})],1):_vm._e()],2):_vm._e(),_c('v-btn',{staticClass:\"blexon-button\",attrs:{\"disabled\":!_vm.costDistributionIsValid || _vm.ticketDto.state != 1},on:{\"click\":function($event){return _vm.processTicket()}}},[_vm._v(\"\\n Abschliessen\\n \")])],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('v-form',{ref:\"form\"},[_c('v-container',{attrs:{\"fluid\":\"\"}},[_c('v-layout',{attrs:{\"column\":\"\"}},[_c('v-flex',[_c('h2',[_vm._v(_vm._s(_vm.getComplainType(_vm.complaintDto.complainType)))])]),_c('v-flex',{attrs:{\"mt-3\":\"\"}},[_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\",\"align-center\":\"\",\"fill-height\":\"\"}},[_c('v-flex',{attrs:{\"mr-5\":\"\",\"shrink\":\"\"}},[_c('article-cad-preview',{attrs:{\"articleId\":_vm.complaintDto.part.partId,\"articleLastChange\":_vm.getCurrentDate(),\"width\":\"100px\",\"height\":\"100px\",\"readonly\":true}})],1),_c('v-flex',{attrs:{\"mr-5\":\"\",\"shrink\":\"\"}},[_c('v-layout',{attrs:{\"column\":\"\"}},[_c('v-flex',[_vm._v(\"\\r\\n Bezeichnung: \"+_vm._s(_vm.complaintDto.part.description)+\"\\r\\n \")]),_c('v-flex',[_vm._v(\"\\r\\n Blexonnummer: \"+_vm._s(_vm.complaintDto.part.partId)+\"\\r\\n \")]),_c('v-flex',[_vm._v(\"\\r\\n Fertigermaterial: \"+_vm._s(_vm.complaintDto.part.materialBezeichnung)+\"\\r\\n \")])],1)],1),_c('v-flex',{attrs:{\"mr-5\":\"\",\"shrink\":\"\"}},[_c('v-layout',{attrs:{\"column\":\"\"}},[_c('v-flex',[_vm._v(\"\\r\\n L x B x H: \"+_vm._s(_vm._f(\"format2Digit\")(_vm.complaintDto.part.laenge))+\" x \"+_vm._s(_vm._f(\"format2Digit\")(_vm.complaintDto.part.breite))+\" x \"+_vm._s(_vm._f(\"format2Digit\")(_vm.complaintDto.part.hoehe))+\" mm\\r\\n \")]),_c('v-flex',[_vm._v(\"\\r\\n Gewicht pro Teil / Gesamtgewicht der fehlerhaften Teile: \"+_vm._s(_vm._f(\"format2Digit\")(_vm.complaintDto.part.gewicht))+\" / \"+_vm._s(_vm._f(\"format2Digit\")(_vm.complaintDto.part.gewicht * _vm.complaintDto.numberOfWrongParts))+\" kg\\r\\n \")]),_c('v-flex',[_vm._v(\"\\r\\n Bestellmenge: \"+_vm._s(_vm.complaintDto.part.menge)+\"\\r\\n \")]),_c('v-flex',[_vm._v(\"\\r\\n Anzahl Fehlerhaft: \"+_vm._s(_vm.complaintDto.numberOfWrongParts)+\"\\r\\n \")]),_c('v-flex',[_vm._v(\"\\r\\n Preis: \"+_vm._s(_vm._f(\"format2Digit\")(_vm.complaintDto.part.customerPricePerPart))+\" CHF\\r\\n \")])],1)],1)],1)],1),_c('v-flex',{attrs:{\"mt-5\":\"\"}},[_c('image-gallery-component',{attrs:{\"images\":_vm.complaintDto.files,\"isEditable\":false}})],1),_c('v-flex',{attrs:{\"mt-3\":\"\"}},[_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('v-flex',{staticClass:\"mr-5\"},[_c('v-textarea',{attrs:{\"readonly\":\"\",\"label\":\"Beanstandung des Kunden\"},model:{value:(_vm.complaintDto.complainDescription),callback:function ($$v) {_vm.$set(_vm.complaintDto, \"complainDescription\", $$v)},expression:\"complaintDto.complainDescription\"}})],1),_c('v-flex',[_c('v-textarea',{attrs:{\"readonly\":\"\",\"label\":\"Erwartung des Kunden\"},model:{value:(_vm.complaintDto.expectation),callback:function ($$v) {_vm.$set(_vm.complaintDto, \"expectation\", $$v)},expression:\"complaintDto.expectation\"}})],1)],1)],1),_c('v-flex',{attrs:{\"mt-2\":\"\"}},[_c('h2',[_vm._v(\"Antwort Fertiger\")]),_c('div',[_vm._v(_vm._s(_vm.fertigerResponseTypes[_vm.complaintDto.fertigerComplaintResponse].name))]),_c('div',[_vm._v(_vm._s(_vm.complaintDto.fertigerDeclineExplanation))])]),_c('v-flex',{attrs:{\"mt-2\":\"\"}},[_c('h2',[_vm._v(\"Weiteres Vorgehen\")])]),_c('v-flex',{attrs:{\"mt-2\":\"\"}},[_c('v-radio-group',{on:{\"change\":function($event){return _vm.blexonResolutionChanged()}},model:{value:(_vm.complaintDto.blexonResolution),callback:function ($$v) {_vm.$set(_vm.complaintDto, \"blexonResolution\", $$v)},expression:\"complaintDto.blexonResolution\"}},[_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\"}},_vm._l((_vm.blexonResolutionTypes),function(resolutionType){return _c('v-flex',{key:resolutionType.value},[_c('v-radio',{attrs:{\"label\":resolutionType.name,\"value\":resolutionType.value}})],1)}),1)],1)],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('v-layout',[_vm._l((_vm.images),function(image,index){return _c('v-flex',{key:index,staticClass:\"ma-2\",attrs:{\"shrink\":\"\"}},[(image.id !== 0)?_c('v-img',{staticStyle:{\"cursor\":\"pointer\"},attrs:{\"src\":_vm.getComplaintImageUrl(image.guid),\"height\":\"100px\",\"width\":\"100px\",\"contain\":\"\"},on:{\"click\":function($event){return _vm.onImageClick(index)}}}):_c('v-progress-linear',{attrs:{\"value\":image.uploadProgress,\"width\":\"100px\"}},[_vm._v(\"Progress\")]),(_vm.isEditable && image.id !== 0)?_c('div',{staticClass:\"text-xs-center\"},[_c('v-btn',{staticClass:\"blexon-button\",attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.deleteImage(index)}}},[_c('v-icon',[_vm._v(\"delete_forever\")])],1)],1):_vm._e()],1)}),_c('v-dialog',{attrs:{\"width\":\"100%\"},model:{value:(_vm.showGallery),callback:function ($$v) {_vm.showGallery=$$v},expression:\"showGallery\"}},[(_vm.showGallery)?_c('v-carousel',{attrs:{\"cycle\":false},model:{value:(_vm.currentImage),callback:function ($$v) {_vm.currentImage=$$v},expression:\"currentImage\"}},_vm._l((_vm.images),function(image,i){return _c('v-carousel-item',{key:i},[_c('a',{attrs:{\"href\":_vm.getComplaintImageUrl(image.guid),\"target\":\"_blank\",\"rel\":\"noopener noreferrer\"}},[_c('v-img',{attrs:{\"src\":_vm.getComplaintImageUrl(image.guid),\"height\":\"100%\",\"width\":\"100%\",\"contain\":\"\"}})],1)])}),1):_vm._e()],1)],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { Component, Vue, Prop, Watch } from 'vue-property-decorator';\r\nimport { FileDto } from '@/dtos/fileDto';\r\n\r\n@Component\r\nexport default class ImageGalleryComponent extends Vue {\r\n @Prop()\r\n private images!: FileDto[];\r\n @Prop()\r\n private isEditable!: boolean;\r\n private showGallery: boolean = false;\r\n private currentImage: number = 0;\r\n\r\n // @Watch('images')\r\n // private onImagesChanged() {\r\n // this.$emit('imagesChanged', this.images);\r\n // }\r\n\r\n private getComplaintImageUrl(guid: string) {\r\n const uri = process.env.VUE_APP_SERVER_URL + 'File/GetImage?guid=' + guid;\r\n return uri;\r\n }\r\n\r\n private onImageClick(index: number) {\r\n this.currentImage = index;\r\n this.showGallery = true;\r\n }\r\n\r\n private deleteImage(index: number) {\r\n this.images.splice(index, 1);\r\n }\r\n}\r\n\r\n","\r\n\r\nexport enum ComplainType {\r\n None = 0,\r\n CutqualityLow = 1,\r\n Scratches = 2,\r\n MissingCuts = 3,\r\n WrongBending = 4,\r\n OutOfTolerance = 5,\r\n TransportDamage = 6,\r\n Missing = 7,\r\n Other = 8,\r\n WrongGrainDirection = 9,\r\n PowderCoating = 10,\r\n Weldline = 11,\r\n Features = 12,\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ImageGallery.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ImageGallery.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./ImageGallery.vue?vue&type=template&id=6548ff5e\"\nimport script from \"./ImageGallery.vue?vue&type=script&lang=ts\"\nexport * from \"./ImageGallery.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 { ComplainType } from './complainType';\r\n\r\nexport interface IComplainType {\r\n text: string;\r\n value: ComplainType;\r\n}\r\n\r\nconst values: IComplainType[] = [\r\n {\r\n text: 'Nicht definiert',\r\n value: ComplainType.None,\r\n },\r\n {\r\n text: 'Schnittqualität nicht zufriedenstellend',\r\n value: ComplainType.CutqualityLow,\r\n },\r\n {\r\n text: 'Oberfläche übermässig zerkratzt',\r\n value: ComplainType.Scratches,\r\n },\r\n {\r\n text: 'Fehlende Ausschnitte',\r\n value: ComplainType.MissingCuts,\r\n },\r\n {\r\n text: 'Fehlerhafte Abkantung',\r\n value: ComplainType.WrongBending,\r\n },\r\n {\r\n text: 'Masse ausserhalb der Toleranz',\r\n value: ComplainType.OutOfTolerance,\r\n },\r\n {\r\n text: 'Transportschaden',\r\n value: ComplainType.TransportDamage,\r\n },\r\n {\r\n text: 'Teile fehlen in Lieferung',\r\n value: ComplainType.Missing,\r\n },\r\n {\r\n text: 'Andere Beanstandung',\r\n value: ComplainType.Other,\r\n },\r\n {\r\n text: 'Falsche Schliffrichtung',\r\n value: ComplainType.WrongGrainDirection,\r\n },\r\n {\r\n text: 'Fehlende, falsche oder mangelhafte Pulverbeschichtung',\r\n value: ComplainType.PowderCoating,\r\n },\r\n {\r\n text: 'Fehlende, falsche oder mangelhafte Schweissnaht',\r\n value: ComplainType.Weldline,\r\n },\r\n {\r\n text: 'Gewinde, Senkung oder Durchzug fehlt oder ist mangelhaft',\r\n value: ComplainType.Features,\r\n },\r\n];\r\n\r\nexport default values;\r\n\r\n","\r\n\r\nexport enum BlexonResolutionType {\r\n Unknown = 0,\r\n Declined = 1,\r\n AcceptedErsatzlieferung = 2,\r\n AcceptedNacharbeit = 3,\r\n AcceptedDiscount = 4,\r\n}\r\n\r\nexport const blexonResolutionTypes = [\r\n {\r\n name: 'Beanstandung ablehnen',\r\n value: BlexonResolutionType.Declined,\r\n },\r\n {\r\n name: 'Ersatzlieferung',\r\n value: BlexonResolutionType.AcceptedErsatzlieferung,\r\n },\r\n {\r\n name: 'Nacharbeit',\r\n value: BlexonResolutionType.AcceptedNacharbeit,\r\n },\r\n {\r\n name: 'Gutschrift',\r\n value: BlexonResolutionType.AcceptedDiscount,\r\n },\r\n];\r\n","\r\n\r\nexport enum FertigerComplaintResponseType {\r\n Unknown = 0,\r\n Declined = 1,\r\n AcceptedErsatzlieferung = 2,\r\n RequestedNacharbeit = 3,\r\n Discount = 4,\r\n}\r\n","\r\nimport { Component, Vue, Prop, Watch } from 'vue-property-decorator';\r\nimport ImageGalleryComponent from './ImageGallery.vue';\r\nimport ArticleCadPreview from '@/components/ArticleCadPreview.vue'\r\nimport ComplainTypes from '../../dtos/IComplainType';\r\nimport { ComplaintDto } from '../../dtos/complaintDto';\r\nimport { blexonResolutionTypes } from '../../dtos/blexonResolutionType';\r\nimport { FertigerComplaintResponseType } from '../../dtos/fertigerComplaintResponseType';\r\nimport rules from '@/store/rules';\r\nimport httpClient from '@/store/httpClient';\r\n\r\n@Component({\r\n components: {\r\n ImageGalleryComponent,\r\n ArticleCadPreview\r\n },\r\n})\r\nexport default class EditPositionGeneralComponent extends Vue {\r\n @Prop()\r\n private complaintDto!: ComplaintDto;\r\n private blexonResolutionTypes: any = blexonResolutionTypes;\r\n private fertigerResponseTypes: any = [\r\n {\r\n name: 'Noch nicht definiert',\r\n value: FertigerComplaintResponseType.Unknown,\r\n },\r\n {\r\n name: 'Beanstandung ablehnen',\r\n value: FertigerComplaintResponseType.Declined,\r\n },\r\n {\r\n name: 'Ersatzlieferung',\r\n value: FertigerComplaintResponseType.AcceptedErsatzlieferung,\r\n },\r\n {\r\n name: 'Nacharbeit',\r\n value: FertigerComplaintResponseType.RequestedNacharbeit,\r\n },\r\n {\r\n name: 'Gutschrift',\r\n value: FertigerComplaintResponseType.Discount,\r\n },\r\n ];\r\n\r\n private async blexonResolutionChanged() {\r\n await httpClient().post(`Ticket/UpdateComplainResolution?complainId=${this.complaintDto.id}&resolutionType=${this.complaintDto.blexonResolution}`, null);\r\n this.$emit('resolutionChanged');\r\n }\r\n\r\n private getComplainType(value: number) {\r\n const selectedValue = ComplainTypes.filter((t: any) => t.value === value)[0];\r\n if (selectedValue !== undefined) {\r\n return selectedValue.text;\r\n }\r\n return '';\r\n }\r\n\r\n private getCurrentDate() {\r\n return Date.now().toString();\r\n }\r\n}\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TicketPosition.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TicketPosition.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./TicketPosition.vue?vue&type=template&id=5aeedb13\"\nimport script from \"./TicketPosition.vue?vue&type=script&lang=ts\"\nexport * from \"./TicketPosition.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 render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('v-form',{ref:\"form\",model:{value:(_vm.validForm),callback:function ($$v) {_vm.validForm=$$v},expression:\"validForm\"}},[_c('v-container',{attrs:{\"fluid\":\"\"}},[(_vm.transportCostCalculating)?_c('v-layout',[_c('v-flex',[_c('v-progress-circular',{staticClass:\"mr-2\",attrs:{\"indeterminate\":\"\",\"size\":\"20\"}})],1)],1):_vm._e(),(!_vm.transportCostCalculating && _vm.transportCalculation != null)?_c('v-layout',{attrs:{\"column\":\"\"}},[_c('v-flex',{attrs:{\"ma-0\":\"\"}},[_c('date-picker',{attrs:{\"selectedDate\":_vm.dueDate,\"pastDateAllowed\":false,\"futureDateAllowed\":true,\"title\":\"An diesem Tag wird Ersatz an den Kunden geliefert.\",\"label\":\"Fertigstellung / Lieferdatum\"},on:{\"update:selectedDate\":function($event){_vm.transportCalculation.dueDate = $event; _vm.updateTransportSettings()}}})],1),_c('v-flex',[_c('v-select',{attrs:{\"placeholder\":\"Bitte wählen\",\"item-text\":\"name\",\"item-value\":\"id\",\"label\":\"Transportunternehmen\",\"items\":_vm.replacementTransportProviders},on:{\"change\":function($event){return _vm.updateTransportSettings()}},model:{value:(_vm.transportCalculation.transportProviderId),callback:function ($$v) {_vm.$set(_vm.transportCalculation, \"transportProviderId\", $$v)},expression:\"transportCalculation.transportProviderId\"}})],1),_c('v-flex',[_c('span',[_vm._v(_vm._s(_vm.transportCostCalculationMessage))])]),_c('v-flex',{attrs:{\"mt-2\":\"\"}},[_c('v-text-field',{attrs:{\"rules\":_vm.requiredNonNegativeNumberRule,\"label\":\"Transportkosten (CHF/EUR)\",\"type\":\"number\"},on:{\"change\":function($event){return _vm.updateTransportSettings()}},model:{value:(_vm.transportCalculation.transportCost),callback:function ($$v) {_vm.$set(_vm.transportCalculation, \"transportCost\", _vm._n($$v))},expression:\"transportCalculation.transportCost\"}})],1),_c('v-flex',[_c('v-layout',{attrs:{\"row\":\"\"}},[_c('v-flex',[_c('v-text-field',{attrs:{\"rules\":_vm.requiredInteger0To100Rule,\"label\":\"Fertiger Anteil (%)\",\"type\":\"number\"},on:{\"change\":function($event){return _vm.updateTransportSettings()}},model:{value:(_vm.transportCalculation.transportManufacturerShare),callback:function ($$v) {_vm.$set(_vm.transportCalculation, \"transportManufacturerShare\", _vm._n($$v))},expression:\"transportCalculation.transportManufacturerShare\"}})],1),_c('v-flex',{attrs:{\"ml-2\":\"\"}},[_c('v-text-field',{attrs:{\"rules\":_vm.requiredInteger0To100Rule,\"label\":\"Pulverbeschichter Anteil (%)\",\"type\":\"number\"},on:{\"change\":function($event){return _vm.updateTransportSettings()}},model:{value:(_vm.transportCalculation.transportPowderCoaterShare),callback:function ($$v) {_vm.$set(_vm.transportCalculation, \"transportPowderCoaterShare\", _vm._n($$v))},expression:\"transportCalculation.transportPowderCoaterShare\"}})],1)],1)],1)],1):_vm._e()],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { Component, Vue, Prop, Watch } from 'vue-property-decorator';\r\nimport httpClient from '../../store/httpClient';\r\nimport moment from 'moment';\r\nimport { TicketDto } from '../../dtos/ticketDto';\r\nimport DatePicker from '../../components/DatePicker.vue';\r\nimport { BlexonResolutionType } from '../../dtos/blexonResolutionType';\r\nimport { TransportProviderDto } from '../../dtos/transportProviderDto';\r\nimport rules from '@/store/rules'\r\nimport { TransportCalculationDto } from '@/dtos/transportCalculationDto';\r\n\r\n@Component({\r\n components: {\r\n 'date-picker': DatePicker,\r\n },\r\n})\r\nexport default class TransportSettings extends Vue {\r\n @Prop()\r\n private ticketDto!: TicketDto;\r\n\r\n private transportCostCalculating: boolean = false;\r\n private transportCostCalculationMessage: string = '';\r\n private validForm: boolean = true;\r\n \r\n private transportProviders: TransportProviderDto[] = new Array();\r\n private transportCalculation: TransportCalculationDto | null = null;\r\n\r\n private requiredInteger0To100Rule = rules.requiredInteger0To100Rule;\r\n private requiredNonNegativeNumberRule = rules.requiredNonNegativeNumberRule;\r\n\r\n private async mounted() {\r\n await this.loadTransportProviders()\r\n await this.loadTransportSettings()\r\n if (this.transportCalculation && this.transportCalculation.transportProviderId == null) {\r\n await this.calculateTransportCost();\r\n }\r\n }\r\n\r\n private get replacementTransportProviders() {\r\n return this.transportProviders.filter(t => t.weightLimit > this.totalWeightOfReplacementParts);\r\n }\r\n\r\n private async loadTransportProviders() {\r\n const response = await httpClient().get(`Ticket/GetTransportProviders?ticketId=${this.ticketDto.id}`);\r\n this.transportProviders = response.data;\r\n this.transportProviders.push(\r\n {\r\n name: 'Rampenabholung',\r\n id: 0,\r\n weightLimit: 2000000,\r\n },\r\n {\r\n name: 'Nach Aufwand',\r\n id: -1,\r\n weightLimit: 2000000,\r\n }\r\n );\r\n }\r\n\r\n private async loadTransportSettings() {\r\n try {\r\n this.transportCostCalculating = true;\r\n const response = await httpClient().get(`Ticket/GetTransportSettings?ticketId=${this.ticketDto.id}`);\r\n this.transportCalculation = response.data;\r\n } finally {\r\n this.transportCostCalculating = false;\r\n }\r\n }\r\n\r\n private async updateTransportSettings() {\r\n try {\r\n this.transportCostCalculating = true;\r\n await httpClient().post(`Ticket/UpdateTransportSettings?ticketId=${this.ticketDto.id}`, this.transportCalculation);\r\n } finally {\r\n this.transportCostCalculating = false;\r\n }\r\n }\r\n\r\n private get totalWeightOfReplacementParts() {\r\n const relevantComplaints = this.ticketDto.complains\r\n .filter((c) => c.blexonResolution == BlexonResolutionType.AcceptedNacharbeit \r\n || c.blexonResolution == BlexonResolutionType.AcceptedErsatzlieferung);\r\n let totalWeight: number = 0;\r\n relevantComplaints.forEach((complain) => {\r\n totalWeight += complain.part.gewicht * complain.numberOfWrongParts;\r\n });\r\n return totalWeight;\r\n }\r\n\r\n private get totalWeightOfNacharbeitParts() {\r\n const relevantComplaints = this.ticketDto.complains\r\n .filter((c) => c.blexonResolution == BlexonResolutionType.AcceptedNacharbeit);\r\n let totalWeight: number = 0;\r\n relevantComplaints.forEach((element) => {\r\n totalWeight += element.part.gewicht * element.part.menge;\r\n });\r\n return totalWeight;\r\n }\r\n\r\n /**\r\n * Calculates the total cost to send all part with Nacharbeit and with replacement parts\r\n * to the customer\r\n */\r\n private async calculateTransportCost() {\r\n this.transportCostCalculating = true;\r\n this.transportCostCalculationMessage = '';\r\n try {\r\n const response = await httpClient().post(`Ticket/CalculateDelivery?ticketId=${this.ticketDto.id}`);\r\n this.transportCalculation = response.data;\r\n } catch {\r\n this.transportCostCalculationMessage = 'Transportkosten konnten nicht ermittelt werden';\r\n } finally {\r\n this.transportCostCalculating = false;\r\n }\r\n }\r\n\r\n private get dueDate() {\r\n var date = new Date();\r\n if (this.transportCalculation != null) {\r\n date = this.transportCalculation.dueDate;\r\n }\r\n return moment(date).format('YYYY-MM-DD');\r\n }\r\n\r\n}\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TransportSettings.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TransportSettings.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./TransportSettings.vue?vue&type=template&id=56cf239c\"\nimport script from \"./TransportSettings.vue?vue&type=script&lang=ts\"\nexport * from \"./TransportSettings.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 render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('v-form',{ref:\"form\",model:{value:(_vm.validForm),callback:function ($$v) {_vm.validForm=$$v},expression:\"validForm\"}},[_c('v-container',{attrs:{\"fluid\":\"\"}},[(_vm.transportCostCalculating)?_c('v-layout',[_c('v-flex',[_c('v-progress-circular',{staticClass:\"mr-2\",attrs:{\"indeterminate\":\"\",\"size\":\"20\"}})],1)],1):_vm._e(),(!_vm.transportCostCalculating && _vm.transportCalculation != null)?_c('v-layout',{attrs:{\"column\":\"\"}},[_c('v-flex',{attrs:{\"ma-0\":\"\"}},[_c('date-picker',{attrs:{\"selectedDate\":_vm.dueDate,\"pastDateAllowed\":false,\"futureDateAllowed\":true,\"title\":\"An diesem Tag wird Ersatz an den Kunden geliefert.\",\"label\":\"Fertigstellung / Lieferdatum\"},on:{\"update:selectedDate\":function($event){_vm.transportCalculation.dueDate = $event; _vm.updateTransportSettings()}}})],1),_c('v-flex',[_c('v-select',{attrs:{\"placeholder\":\"Bitte wählen\",\"item-text\":\"name\",\"item-value\":\"id\",\"label\":\"Transportunternehmen\",\"items\":_vm.replacementTransportProviders},on:{\"change\":function($event){return _vm.updateTransportSettings()}},model:{value:(_vm.transportCalculation.transportProviderId),callback:function ($$v) {_vm.$set(_vm.transportCalculation, \"transportProviderId\", $$v)},expression:\"transportCalculation.transportProviderId\"}})],1),_c('v-flex',[_c('span',[_vm._v(_vm._s(_vm.transportCostCalculationMessage))])]),_c('v-flex',{attrs:{\"mt-2\":\"\"}},[_c('v-text-field',{attrs:{\"rules\":_vm.requiredNonNegativeNumberRule,\"label\":\"Transportkosten (CHF/EUR)\",\"type\":\"number\"},on:{\"change\":function($event){return _vm.updateTransportSettings()}},model:{value:(_vm.transportCalculation.transportCost),callback:function ($$v) {_vm.$set(_vm.transportCalculation, \"transportCost\", _vm._n($$v))},expression:\"transportCalculation.transportCost\"}})],1),_c('v-flex',[_c('v-layout',{attrs:{\"row\":\"\"}},[_c('v-flex',[_c('v-text-field',{attrs:{\"rules\":_vm.requiredInteger0To100Rule,\"label\":\"Fertiger Anteil (%)\",\"type\":\"number\"},on:{\"change\":function($event){return _vm.updateTransportSettings()}},model:{value:(_vm.transportCalculation.transportManufacturerShare),callback:function ($$v) {_vm.$set(_vm.transportCalculation, \"transportManufacturerShare\", _vm._n($$v))},expression:\"transportCalculation.transportManufacturerShare\"}})],1),_c('v-flex',{attrs:{\"ml-2\":\"\"}},[_c('v-text-field',{attrs:{\"rules\":_vm.requiredInteger0To100Rule,\"label\":\"Pulverbeschichter Anteil (%)\",\"type\":\"number\"},on:{\"change\":function($event){return _vm.updateTransportSettings()}},model:{value:(_vm.transportCalculation.transportPowderCoaterShare),callback:function ($$v) {_vm.$set(_vm.transportCalculation, \"transportPowderCoaterShare\", _vm._n($$v))},expression:\"transportCalculation.transportPowderCoaterShare\"}})],1)],1)],1),_c('v-flex',[(!_vm.transportCalculation.hasDeliveryNote)?_c('v-btn',{staticClass:\"blexon-button\",on:{\"click\":function($event){return _vm.checkIfValidAndOpenGebinde()}}},[_vm._v(\"\\n Transport beauftragen\\n \")]):_c('v-btn',{staticClass:\"blexon-button\",on:{\"click\":function($event){return _vm.downloadDelivery()}}},[_vm._v(\"\\n Rücksende Lieferschein\\n \")]),_c('span',[_vm._v(_vm._s(_vm.errorMessage))]),(_vm.transportCalculation.hasDeliveryNote)?_c('v-btn',{attrs:{\"title\":\"Löscht den Auftrag für den Rücktransport. Die Stornierung beim Transportprovider muss manuell gemacht werden.\",\"icon\":\"\"},on:{\"click\":function($event){return _vm.deleteReturnDelivery()}}},[_c('v-icon',[_vm._v(\"delete\")])],1):_vm._e()],1)],1):_vm._e()],1),(_vm.gebindeOpen)?_c('v-dialog',{model:{value:(_vm.gebindeOpen),callback:function ($$v) {_vm.gebindeOpen=$$v},expression:\"gebindeOpen\"}},[_c('define-gebinde-component',{attrs:{\"ticketId\":_vm.ticketDto.id},on:{\"closed\":function($event){_vm.gebindeOpen = false},\"createdDelivery\":function($event){_vm.gebindeOpen = false; _vm.transportCalculation.hasDeliveryNote = true; _vm.downloadDelivery()}}})],1):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',[_c('v-card',[_c('v-card-title',[_c('h3',[_vm._v(\"Gebinde definieren\")])]),_c('v-card-text',[_c('v-progress-linear',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.loading),expression:\"loading\"}],attrs:{\"color\":\"accent\",\"indeterminate\":\"\"}}),_c('v-container',_vm._b({staticStyle:{\"background-color\":\"white\"},attrs:{\"fluid\":\"\"}},'v-container',{ [`grid-list-md`]: true },false),[_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\",\"align-end\":\"true\"}},[_vm._l((_vm.allGebinde),function(gebinde){return _c('v-flex',{key:gebinde.id,attrs:{\"xs12\":\"\",\"sm6\":\"\",\"md4\":\"\"}},[_c('gebinde-component',{attrs:{\"gebinde\":gebinde},on:{\"gebindeChanged\":function($event){return _vm.saveGebinde($event)},\"deletedGebinde\":function($event){return _vm.deleteGebinde($event)}}})],1)}),_c('v-flex',{attrs:{\"shrink\":\"\"}},[_c('v-btn',{on:{\"click\":function($event){return _vm.addGebinde()}}},[_c('v-icon',[_vm._v(\"plus_one\")])],1)],1)],2)],1)],1),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"flat\":\"\"},on:{\"click\":function($event){return _vm.$emit('closed')}}},[_vm._v(\"\\n Schliessen\\n \")]),_c('v-btn',{staticClass:\"blexon-button\",attrs:{\"disabled\":_vm.allGebinde.length == 0,\"title\":\"Erzeugt einen Auftrag beim Transportprovider. Anschliessend kann der Auftrag nur noch über die Website storniert werden.\"},on:{\"click\":function($event){return _vm.createDelivery()}}},[_vm._v(\"\\n Auftrag definitiv anlegen\\n \")])],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('v-card',{staticClass:\"elevation-1\"},[_c('v-card-title',[_c('h4',[_vm._v(\"Gebinde\")])]),_c('v-form',{ref:\"gebindeForm\",model:{value:(_vm.validGebinde),callback:function ($$v) {_vm.validGebinde=$$v},expression:\"validGebinde\"}},[_c('v-container',{attrs:{\"fluid\":\"\",\"pa-2\":\"\",\"ma-0\":\"\"}},[_c('v-layout',{attrs:{\"column\":\"\"}},[_c('v-flex',[_c('v-text-field',{attrs:{\"rules\":_vm.weightRule,\"label\":\"Gewicht [kg]\",\"type\":\"number\",\"required\":\"\"},on:{\"change\":function($event){return _vm.save()}},model:{value:(_vm.gebinde.weight),callback:function ($$v) {_vm.$set(_vm.gebinde, \"weight\", $$v)},expression:\"gebinde.weight\"}})],1),_c('v-flex',[_c('v-text-field',{attrs:{\"rules\":_vm.distanceRule,\"label\":\"Länge [cm]\",\"type\":\"number\",\"required\":\"\"},on:{\"change\":function($event){return _vm.save()}},model:{value:(_vm.gebinde.length),callback:function ($$v) {_vm.$set(_vm.gebinde, \"length\", $$v)},expression:\"gebinde.length\"}})],1),_c('v-flex',[_c('v-text-field',{attrs:{\"rules\":_vm.distanceRule,\"label\":\"Breite [cm]\",\"type\":\"number\",\"required\":\"\"},on:{\"change\":function($event){return _vm.save()}},model:{value:(_vm.gebinde.width),callback:function ($$v) {_vm.$set(_vm.gebinde, \"width\", $$v)},expression:\"gebinde.width\"}})],1),_c('v-flex',[_c('v-text-field',{attrs:{\"rules\":_vm.distanceRule,\"label\":\"Höhe [cm]\",\"type\":\"number\",\"required\":\"\"},on:{\"change\":function($event){return _vm.save()}},model:{value:(_vm.gebinde.height),callback:function ($$v) {_vm.$set(_vm.gebinde, \"height\", $$v)},expression:\"gebinde.height\"}})],1),_c('v-flex',[_c('v-text-field',{attrs:{\"rules\":_vm.paletteRule,\"label\":\"Anzahl Europaletten\",\"type\":\"number\",\"required\":\"\"},on:{\"change\":function($event){return _vm.save()}},model:{value:(_vm.gebinde.numberOfEuropalettes),callback:function ($$v) {_vm.$set(_vm.gebinde, \"numberOfEuropalettes\", $$v)},expression:\"gebinde.numberOfEuropalettes\"}})],1),_c('v-flex',[_c('v-text-field',{attrs:{\"rules\":_vm.paletteRule,\"label\":\"Anzahl Europaletten-Rähmen\",\"type\":\"number\",\"required\":\"\"},on:{\"change\":function($event){return _vm.save()}},model:{value:(_vm.gebinde.numberOfEuropalettesFrames),callback:function ($$v) {_vm.$set(_vm.gebinde, \"numberOfEuropalettesFrames\", $$v)},expression:\"gebinde.numberOfEuropalettesFrames\"}})],1),_c('v-flex',[_c('v-text-field',{attrs:{\"rules\":_vm.paletteRule,\"label\":\"Anzahl Europaletten-Deckel\",\"type\":\"number\",\"required\":\"\"},on:{\"change\":function($event){return _vm.save()}},model:{value:(_vm.gebinde.numberOfEuropalettesLid),callback:function ($$v) {_vm.$set(_vm.gebinde, \"numberOfEuropalettesLid\", $$v)},expression:\"gebinde.numberOfEuropalettesLid\"}})],1)],1)],1)],1),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{staticClass:\"blexon-button\",attrs:{\"flat\":\"\"},on:{\"click\":function($event){return _vm.$emit('deletedGebinde', _vm.gebinde)}}},[_c('v-icon',[_vm._v(\"delete\")])],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { Component, Vue, Prop, Watch } from 'vue-property-decorator';\r\nimport { GebindeDto } from '../../dtos/gebindeDto';\r\nimport rules from '@/store/rules'\r\n\r\n@Component({\r\n components: {\r\n },\r\n})\r\n\r\nexport default class GebindeComponent extends Vue {\r\n @Prop()\r\n private gebinde!: GebindeDto;\r\n private validGebinde: boolean = true;\r\n private requiredRule = rules.requiredRule;\r\n\r\n private weightRule = [\r\n (value: number) => !!value || 'Gewicht muss angegeben werden',\r\n (value: number) => !isNaN(value) || 'Bitte Zahl (ohne Komma) eingeben',\r\n (value: string) => parseInt(value) === parseFloat(value) || 'Muss eine ganze Zahl sein.',\r\n (value: number) => (value >= 1.0 && value < 40000) || 'Gewicht muss zwischen 1kg und 40 Tonnen liegen',\r\n ];\r\n private distanceRule = [\r\n (value: number) => !!value || 'Mass muss angegeben werden',\r\n (value: number) => !isNaN(value) || 'Bitte Zahl (ohne Komma) eingeben',\r\n (value: string) => parseInt(value) === parseFloat(value) || 'Muss eine ganze Zahl sein.',\r\n (value: number) => (value >= 10 && value < 1000) || 'Mass muss zwischen 10cm und 10m liegen',\r\n ];\r\n private paletteRule = [\r\n (value: number) => !!value || 'Anzahl muss angegeben werden',\r\n (value: number) => !isNaN(value) || 'Bitte Zahl (ohne Komma) eingeben',\r\n (value: string) => parseInt(value) === parseFloat(value) || 'Muss eine ganze Zahl sein.',\r\n (value: number) => (value >= 0) || 'Anzahl muss positiv sein',\r\n ];\r\n\r\n private save() {\r\n this.$emit('gebindeChanged', this.gebinde);\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GebindeComponent.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GebindeComponent.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./GebindeComponent.vue?vue&type=template&id=2583116e\"\nimport script from \"./GebindeComponent.vue?vue&type=script&lang=ts\"\nexport * from \"./GebindeComponent.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","\r\nimport { Component, Vue, Prop, Watch } from 'vue-property-decorator';\r\nimport { GebindeDto } from '../../dtos/gebindeDto';\r\nimport httpClient from '../../store/httpClient';\r\nimport GebindeComponent from './GebindeComponent.vue';\r\n\r\n@Component({\r\n components: {\r\n GebindeComponent,\r\n },\r\n})\r\n\r\nexport default class DefineGebindeComponent extends Vue {\r\n @Prop()\r\n private ticketId!: number;\r\n private allGebinde: GebindeDto[] = [];\r\n private loading: boolean = false;\r\n\r\n private mounted() {\r\n this.loadGebinde();\r\n }\r\n\r\n private async loadGebinde() {\r\n try {\r\n this.loading = true;\r\n const response = await httpClient().get(`Ticket/GetGebinde?ticketId=${this.ticketId}`);\r\n this.allGebinde = response.data;\r\n } finally {\r\n this.loading = false;\r\n }\r\n }\r\n\r\n private async saveGebinde(gebinde: GebindeDto) {\r\n try {\r\n this.loading = true;\r\n const response = await httpClient().post(`Ticket/UpdateGebinde?ticketId=${this.ticketId}`, gebinde);\r\n gebinde.id = response.data;\r\n } finally {\r\n this.loading = false;\r\n }\r\n }\r\n\r\n private async addGebinde() {\r\n const gebinde: GebindeDto = {\r\n id: 0,\r\n name: '',\r\n weight: 0,\r\n length: 0,\r\n width: 0,\r\n height: 0,\r\n timeEffort: 0,\r\n numberOfEuropalettes: 0,\r\n numberOfEuropalettesFrames: 0,\r\n numberOfEuropalettesLid: 0,\r\n };\r\n await this.saveGebinde(gebinde);\r\n console.log(gebinde)\r\n console.log(this.allGebinde)\r\n this.allGebinde.push(gebinde);\r\n }\r\n\r\n private async deleteGebinde(gebinde: GebindeDto) {\r\n try {\r\n this.loading = true;\r\n const response = await httpClient().post(`Ticket/deleteGebinde?gebindeId=${gebinde.id}`);\r\n this.allGebinde.splice(this.allGebinde.indexOf(gebinde), 1);\r\n } finally {\r\n this.loading = false;\r\n }\r\n }\r\n\r\n private async createDelivery() {\r\n try {\r\n this.loading = true;\r\n const response = await httpClient().post(`Ticket/CreateNacharbeitDelivery?ticketId=${this.ticketId}`);\r\n this.$emit('createdDelivery')\r\n } finally {\r\n this.loading = false;\r\n }\r\n }\r\n\r\n \r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DefineGebindeComponent.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DefineGebindeComponent.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./DefineGebindeComponent.vue?vue&type=template&id=26327c0d\"\nimport script from \"./DefineGebindeComponent.vue?vue&type=script&lang=ts\"\nexport * from \"./DefineGebindeComponent.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","\r\nimport { Component, Vue, Prop, Watch } from 'vue-property-decorator';\r\nimport httpClient from '../../store/httpClient';\r\nimport moment from 'moment';\r\nimport { TicketDto } from '../../dtos/ticketDto';\r\nimport DatePicker from '../../components/DatePicker.vue';\r\nimport DefineGebindeComponent from './DefineGebindeComponent.vue';\r\nimport { BlexonResolutionType } from '../../dtos/blexonResolutionType';\r\nimport { TransportProviderDto } from '../../dtos/transportProviderDto';\r\nimport rules from '@/store/rules'\r\nimport { TransportCalculationDto } from '@/dtos/transportCalculationDto';\r\n\r\n@Component({\r\n components: {\r\n 'date-picker': DatePicker,\r\n DefineGebindeComponent,\r\n },\r\n})\r\nexport default class TransportSettings extends Vue {\r\n @Prop()\r\n private ticketDto!: TicketDto;\r\n\r\n private transportCostCalculating: boolean = false;\r\n private transportCostCalculationMessage: string = '';\r\n private validForm: boolean = true;\r\n private errorMessage: string = '';\r\n private transportProviders: TransportProviderDto[] = new Array();\r\n private transportCalculation: TransportCalculationDto | null = null;\r\n\r\n private gebindeOpen: boolean = false;\r\n private requiredInteger0To100Rule = rules.requiredInteger0To100Rule;\r\n private requiredNonNegativeNumberRule = rules.requiredNonNegativeNumberRule;\r\n\r\n private async mounted() {\r\n await this.loadTransportProviders()\r\n await this.loadTransportSettings()\r\n }\r\n\r\n private get replacementTransportProviders() {\r\n return this.transportProviders.filter(t => t.weightLimit > this.totalWeightOfReplacementParts);\r\n }\r\n\r\n private async loadTransportProviders() {\r\n const response = await httpClient().get(`Ticket/GetTransportProviders?ticketId=${this.ticketDto.id}`);\r\n this.transportProviders = response.data;\r\n this.transportProviders.push(\r\n {\r\n name: 'Rampenabholung',\r\n id: 0,\r\n weightLimit: 2000000,\r\n }\r\n );\r\n }\r\n\r\n private async loadTransportSettings() {\r\n try {\r\n this.transportCostCalculating = true;\r\n const response = await httpClient().get(`Ticket/GetReturnTransportSettings?ticketId=${this.ticketDto.id}`);\r\n this.transportCalculation = response.data;\r\n } finally {\r\n this.transportCostCalculating = false;\r\n }\r\n }\r\n\r\n private async updateTransportSettings() {\r\n try {\r\n this.transportCostCalculating = true;\r\n await httpClient().post(`Ticket/UpdateReturnTransportSettings?ticketId=${this.ticketDto.id}`, this.transportCalculation);\r\n } finally {\r\n this.transportCostCalculating = false;\r\n }\r\n }\r\n\r\n private checkIfValidAndOpenGebinde() {\r\n if (this.transportCalculation && this.transportCalculation.transportProviderId && this.transportCalculation.transportProviderId > 0) {\r\n this.gebindeOpen = true;\r\n this.errorMessage = '';\r\n } else {\r\n this.errorMessage = 'Kein Transportprovider ausgewählt'\r\n }\r\n }\r\n\r\n private async deleteReturnDelivery() {\r\n try {\r\n this.transportCostCalculating = true;\r\n await httpClient().post(`Ticket/DeleteReturnDeliveryNote?ticketId=${this.ticketDto.id}`);\r\n if (this.transportCalculation) {\r\n this.transportCalculation.hasDeliveryNote = false;\r\n }\r\n } finally {\r\n this.transportCostCalculating = false;\r\n }\r\n }\r\n\r\n private async downloadDelivery() {\r\n try {\r\n this.transportCostCalculating = true\r\n this.loadTransportSettings();\r\n const noteResponse = await httpClient().get(`Ticket/DownloadDeliveryNote?ticketId=${this.ticketDto.id}`, {\r\n responseType: 'blob'\r\n });\r\n const url = window.URL.createObjectURL(new Blob([noteResponse.data]));\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.setAttribute('download', 'Rücksendeschein ' + this.ticketDto.orderId + '.pdf'); \r\n link.click();\r\n\r\n const numberResponse = await httpClient().get(`Ticket/GetNumberOfLabels?ticketId=${this.ticketDto.id}`);\r\n let numberOfLabels = numberResponse.data;\r\n\r\n for (let index = 0; index < numberOfLabels; index++) {\r\n const labelResponse = await httpClient().get(`Ticket/DownloadLabel?ticketId=${this.ticketDto.id}&index=${index}`, {\r\n responseType: 'blob'\r\n });\r\n if (labelResponse.data.size > 0) {\r\n const url = window.URL.createObjectURL(new Blob([labelResponse.data]));\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.setAttribute('download', `Label ${this.ticketDto.orderId}-${index}.pdf`); \r\n link.click();\r\n }\r\n }\r\n\r\n } finally {\r\n this.transportCostCalculating = false;\r\n }\r\n }\r\n\r\n private get totalWeightOfReplacementParts() {\r\n const relevantComplaints = this.ticketDto.complains\r\n .filter((c) => c.blexonResolution == BlexonResolutionType.AcceptedNacharbeit \r\n || c.blexonResolution == BlexonResolutionType.AcceptedErsatzlieferung);\r\n let totalWeight: number = 0;\r\n relevantComplaints.forEach((complain) => {\r\n totalWeight += complain.part.gewicht * complain.numberOfWrongParts;\r\n });\r\n return totalWeight;\r\n }\r\n\r\n private get totalWeightOfNacharbeitParts() {\r\n const relevantComplaints = this.ticketDto.complains\r\n .filter((c) => c.blexonResolution == BlexonResolutionType.AcceptedNacharbeit);\r\n let totalWeight: number = 0;\r\n relevantComplaints.forEach((element) => {\r\n totalWeight += element.part.gewicht * element.part.menge;\r\n });\r\n return totalWeight;\r\n }\r\n\r\n private get dueDate() {\r\n var date = new Date();\r\n if (this.transportCalculation != null) {\r\n date = this.transportCalculation.dueDate;\r\n }\r\n return moment(date).format('YYYY-MM-DD');\r\n }\r\n\r\n}\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReturnTransportSettings.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReturnTransportSettings.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./ReturnTransportSettings.vue?vue&type=template&id=e21b7fa2\"\nimport script from \"./ReturnTransportSettings.vue?vue&type=script&lang=ts\"\nexport * from \"./ReturnTransportSettings.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 render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticStyle:{\"margin\":\"12px\"}},[_c('v-form',{ref:\"costForm\",model:{value:(_vm.valid),callback:function ($$v) {_vm.valid=$$v},expression:\"valid\"}},[(_vm.loading)?_c('div',[_c('v-progress-circular',{attrs:{\"color\":\"accent\",\"indeterminate\":\"\"}}),_vm._v(\"\\n Kostenberechnung läuft\\n \")],1):_c('div',[_c('v-data-table',{staticClass:\"costOverview\",attrs:{\"items\":_vm.ticket.complains,\"hide-actions\":\"\"},scopedSlots:_vm._u([{key:\"headers\",fn:function(){return [_c('tr',[_c('th',[_vm._v(\"\\n Artikel\\n \")]),_c('th',[_vm._v(\"\\n Lösung\\n \")]),_c('th',[_vm._v(\"\\n Kundenpreis\\n \")]),_c('th',[_vm._v(\"\\n Fertigerkosten\\n \")]),_c('th',[_vm._v(\"\\n Kosten / Kostenverteilung\\n \")])])]},proxy:true},{key:\"items\",fn:function(props){return [_c('td',[_c('article-cad-preview',{attrs:{\"articleId\":props.item.part.partId,\"articleLastChange\":Date.now().toString(),\"height\":\"50px\",\"width\":\"50px\",\"readonly\":false}}),_vm._v(\"\\n \"+_vm._s(props.item.numberOfWrongParts)+\" x\\n \"+_vm._s(props.item.part.partId)+\"\\n \")],1),_c('td',[_vm._v(\"\\n \"+_vm._s(_vm.getResolutionDisplayText(props.item.blexonResolution))+\"\\n \")]),_c('td',[_vm._v(\"\\n \"+_vm._s(_vm._f(\"format2Digit\")(_vm.getCustomerPrice(props.item)))+\"\\n \")]),_c('td',[_c('span',[_vm._v(\"\\n Fertigung (inkl. Material):\\n \")]),_c('span',{staticClass:\"money\"},[_vm._v(\"\\n \"+_vm._s(_vm._f(\"format2Digit\")(_vm.getManufacturerPrice(props.item).fertigungPrice + _vm.getManufacturerPrice(props.item).materialPrice))+\"\\n \")]),_c('br'),(_vm.getManufacturerPrice(props.item).powderCoatingPrice > 0)?_c('div',[_c('span',[_vm._v(\"\\n Pulverbeschichten:\\n \")]),_c('span',{staticClass:\"money\"},[_vm._v(\"\\n \"+_vm._s(_vm._f(\"format2Digit\")(_vm.getManufacturerPrice(props.item).powderCoatingPrice))+\"\\n \")])]):_vm._e(),_c('span',[_vm._v(\"\\n Total:\\n \")]),_c('span',{staticClass:\"money\"},[_vm._v(\"\\n \"+_vm._s(_vm._f(\"format2Digit\")(_vm.getManufacturerPrice(props.item).total))+\"\\n \")])]),_c('td',[_c('div',[_c('v-radio-group',{attrs:{\"column\":false},on:{\"change\":function($event){return _vm.errorChanged(props.item)}},model:{value:(_vm.error),callback:function ($$v) {_vm.error=$$v},expression:\"error\"}},[_c('v-radio',{attrs:{\"label\":`Fertiger`,\"value\":1}}),_c('v-radio',{attrs:{\"label\":`Pulverbeschichter`,\"value\":2}})],1)],1),_c('div',{staticStyle:{\"display\":\"flex\",\"margin-bottom\":\"50px\"}},[(props.item.blexonResolution == 4)?_c('v-text-field',{staticStyle:{\"max-width\":\"220px\",\"padding-left\":\"5px\"},attrs:{\"rules\":[_vm.rules.validShare(props.item)],\"label\":\"Gutschrift an Kunde\",\"hint\":\"Dieser Betrag wird auf der Rechnung des Kunden abgezogen\"},on:{\"change\":function($event){_vm.updateDiscount(props.item); _vm.validate()}},model:{value:(props.item.schadenssumme),callback:function ($$v) {_vm.$set(props.item, \"schadenssumme\", $$v)},expression:\"props.item.schadenssumme\"}}):_vm._e(),_c('v-text-field',{staticStyle:{\"max-width\":\"220px\",\"padding-left\":\"5px\"},attrs:{\"rules\":[_vm.rules.validShare(props.item)],\"label\":\"Was bekommt der Fertiger\",\"hint\":\"Diesen Betrag erhält der Fertiger auf der Fertigerabrechnung. Negative Beträge werden ihm abgezogen.\"},on:{\"change\":function($event){_vm.updateManufacturerShare(props.item); _vm.validate()}},model:{value:(props.item.manufacturerShare),callback:function ($$v) {_vm.$set(props.item, \"manufacturerShare\", $$v)},expression:\"props.item.manufacturerShare\"}}),(_vm.getManufacturerPrice(props.item).powderCoatingPrice > 0)?_c('v-text-field',{staticStyle:{\"max-width\":\"220px\",\"padding-left\":\"5px\"},attrs:{\"rules\":[_vm.rules.validShare(props.item)],\"label\":\"Was bekommt der Pulverbeschichter\",\"hint\":\"Diesen Betrag erhält der Pulverbeschichter auf der Fertigerabrechnung. Negative Beträge werden ihm abgezogen.\"},on:{\"change\":function($event){_vm.updatePowderCoaterShare(props.item); _vm.validate()}},model:{value:(props.item.powderCoaterShare),callback:function ($$v) {_vm.$set(props.item, \"powderCoaterShare\", $$v)},expression:\"props.item.powderCoaterShare\"}}):_vm._e()],1)])]}}])}),_c('div',[_vm._v(\"\\n Kosten für Blexon: \"+_vm._s(_vm._f(\"format2Digit\")(_vm.getBlexonCost()))),_c('br'),_vm._v(\"\\n Kosten für Kunde: \"+_vm._s(_vm._f(\"format2Digit\")(_vm.getCustomerCost()))+\"\\n \")])],1)])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { Component, Vue, Prop, Watch } from 'vue-property-decorator';\r\nimport httpClient from '../../store/httpClient';\r\nimport ArticleCadPreview from '@/components/ArticleCadPreview.vue'\r\nimport { TicketDto } from '@/dtos/ticketDto';\r\nimport { WorkStepDto } from '@/dtos/workStepDto';\r\nimport { BlexonResolutionType, blexonResolutionTypes } from '@/dtos/blexonResolutionType';\r\nimport { ComplaintDto } from '@/dtos/complaintDto';\r\n\r\n@Component({\r\n components: {\r\n ArticleCadPreview,\r\n },\r\n})\r\nexport default class CostDistribution extends Vue {\r\n @Prop()\r\n private ticket!: TicketDto;\r\n private loading: boolean = false;\r\n private worksteps: WorkStepDto[] = [];\r\n private valid: boolean = true;\r\n private error: number = 0;\r\n private rules = {\r\n validShare: (complain: ComplaintDto) => (value: string) => {\r\n var cost = this.getManufacturerPrice(complain)\r\n const sum = +complain.manufacturerShare + +complain.powderCoaterShare;\r\n if (complain.blexonResolution == BlexonResolutionType.AcceptedErsatzlieferung || complain.blexonResolution == BlexonResolutionType.AcceptedNacharbeit) {\r\n return sum <= cost.total || 'Der Betrag ist höher als die Herstellung kostet. Kann das sein?'\r\n }\r\n if (complain.blexonResolution == BlexonResolutionType.AcceptedDiscount) {\r\n return complain.schadenssumme <= complain.part.customerPricePerPart * complain.numberOfWrongParts || 'Der Fertiger zahlt mehr als die Herstellung gekostet hat. Kann das sein?'\r\n }\r\n return true;\r\n }\r\n };\r\n\r\n private mounted() {\r\n this.calculateCost();\r\n }\r\n\r\n @Watch('valid')\r\n private validChanged() {\r\n this.$emit('validChanged', this.valid);\r\n }\r\n\r\n private errorChanged(complaint: ComplaintDto) {\r\n var cost = this.getManufacturerPrice(complaint);\r\n if (this.error == 1) {\r\n // Fehler bei Fertiger\r\n if (complaint.blexonResolution == BlexonResolutionType.AcceptedDiscount) {\r\n var schaden = Math.min(cost.total, complaint.schadenssumme);\r\n complaint.manufacturerShare = -schaden;\r\n complaint.powderCoaterShare = 0;\r\n } else {\r\n complaint.powderCoaterShare = cost.powderCoatingPrice;\r\n complaint.manufacturerShare = -cost.powderCoatingPrice;\r\n }\r\n } else if (this.error == 2) {\r\n // Fehler bei Pulverbeschichter\r\n if (complaint.blexonResolution == BlexonResolutionType.AcceptedDiscount) {\r\n var schaden = Math.min(cost.total, complaint.schadenssumme);\r\n complaint.manufacturerShare = 0;\r\n complaint.powderCoaterShare = -schaden;\r\n } else {\r\n console.log(cost)\r\n complaint.manufacturerShare = Math.round((cost.materialPrice + cost.fertigungPrice + Number.EPSILON) * 100) / 100;\r\n complaint.powderCoaterShare = -complaint.manufacturerShare;\r\n }\r\n }\r\n this.updateManufacturerShare(complaint);\r\n this.updatePowderCoaterShare(complaint);\r\n \r\n }\r\n\r\n private validate() {\r\n (this.$refs.costForm as any).validate();\r\n this.$emit('validChanged', this.valid);\r\n }\r\n\r\n private async calculateCost() {\r\n try {\r\n this.loading = true;\r\n var response = await httpClient().post(`Ticket/GetDetailedCostsOfParts?ticketId=${this.ticket.id}`);\r\n this.worksteps = response.data;\r\n this.validate();\r\n } finally {\r\n this.loading = false;\r\n }\r\n }\r\n\r\n private async updateManufacturerShare(complain: ComplaintDto) {\r\n await httpClient().post(`Ticket/updateManufacturerShare?complainId=${complain.id}&manufacturerShare=${complain.manufacturerShare}`);\r\n }\r\n\r\n private async updatePowderCoaterShare(complain: ComplaintDto) {\r\n await httpClient().post(`Ticket/updatePowderCoaterShare?complainId=${complain.id}&powderCoaterShare=${complain.powderCoaterShare}`);\r\n }\r\n\r\n private async updateDiscount(complain: ComplaintDto) {\r\n await httpClient().post(`Ticket/updateDiscount?complainId=${complain.id}&discount=${complain.schadenssumme}`);\r\n }\r\n\r\n private getResolutionDisplayText(blexonResolutionType: BlexonResolutionType) : string {\r\n return blexonResolutionTypes.filter(r => r.value == blexonResolutionType)[0].name;\r\n }\r\n\r\n private getCustomerPrice(complain: ComplaintDto) {\r\n var customerPrice = 0;\r\n if (complain.blexonResolution == BlexonResolutionType.AcceptedDiscount) {\r\n customerPrice = complain.part.customerPricePerPart * complain.numberOfWrongParts;\r\n } else {\r\n var worksteps = this.worksteps.filter(w => w.articleId.toString() == complain.part.partId);\r\n worksteps.forEach(w => customerPrice += w.cost * complain.numberOfWrongParts);\r\n }\r\n return customerPrice;\r\n }\r\n\r\n private getBlexonCost() {\r\n let cost = 0;\r\n\r\n for (const complain of this.ticket.complains) {\r\n var manufacturingCost = this.getManufacturerPrice(complain);\r\n switch (complain.blexonResolution) {\r\n case BlexonResolutionType.AcceptedDiscount:\r\n var effektiverBetrag = Math.min(+manufacturingCost.total, +complain.schadenssumme);\r\n cost += effektiverBetrag + +complain.manufacturerShare + +complain.powderCoaterShare;\r\n break;\r\n case BlexonResolutionType.AcceptedErsatzlieferung:\r\n case BlexonResolutionType.AcceptedNacharbeit:\r\n cost += +complain.manufacturerShare + +complain.powderCoaterShare;\r\n break;\r\n default:\r\n }\r\n }\r\n return cost;\r\n }\r\n\r\n private getCustomerCost() {\r\n let cost = 0;\r\n\r\n for (const complain of this.ticket.complains) {\r\n var manufacturingCost = this.getManufacturerPrice(complain);\r\n switch (complain.blexonResolution) {\r\n case BlexonResolutionType.AcceptedDiscount:\r\n var effektiverBetrag = this.getCustomerPrice(complain);\r\n cost += effektiverBetrag - +complain.schadenssumme;\r\n break;\r\n case BlexonResolutionType.AcceptedErsatzlieferung:\r\n case BlexonResolutionType.AcceptedNacharbeit:\r\n cost += 0; // immer 0. Sonst muss man dem Kunden eine Gutschrift geben.\r\n break;\r\n default:\r\n \r\n }\r\n }\r\n return cost;\r\n }\r\n\r\n private getManufacturerPrice(complain: ComplaintDto) {\r\n var worksteps = this.worksteps.filter(w => w.articleId.toString() == complain.part.partId);\r\n var manufacturerPrice = 0;\r\n worksteps.forEach(w => manufacturerPrice += w.manufacturerPrice * complain.numberOfWrongParts);\r\n manufacturerPrice = Math.round((manufacturerPrice + Number.EPSILON) * 100) / 100;\r\n var powderCoatingPrice = 0;\r\n var powderCoatingWorksteps = worksteps.filter(w => w.name == 'Pulverbeschichten');\r\n if (powderCoatingWorksteps.length > 0) {\r\n powderCoatingPrice = powderCoatingWorksteps[0].manufacturerPrice;\r\n powderCoatingPrice += worksteps.filter(w => w.name == 'Teilehandling kratzfrei')[0].manufacturerPrice;\r\n powderCoatingPrice *= complain.numberOfWrongParts;\r\n }\r\n powderCoatingPrice = Math.round((powderCoatingPrice + Number.EPSILON) * 100) / 100;\r\n\r\n var materialPrice = 0;\r\n worksteps.forEach(w => materialPrice += w.materialPrice * complain.numberOfWrongParts);\r\n materialPrice = Math.round((materialPrice + Number.EPSILON) * 100) / 100;\r\n\r\n const result = {\r\n total: manufacturerPrice,\r\n fertigungPrice: Math.round(((manufacturerPrice - powderCoatingPrice - materialPrice) + Number.EPSILON) * 100) / 100,\r\n materialPrice,\r\n powderCoatingPrice,\r\n };\r\n return result;\r\n }\r\n}\r\n","\r\n\r\nexport enum TicketState {\r\n Legacy = 0,\r\n Open = 1,\r\n Resolved = 2,\r\n Closed = 3,\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CostDistribution.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CostDistribution.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./CostDistribution.vue?vue&type=template&id=2b573ab4&scoped=true\"\nimport script from \"./CostDistribution.vue?vue&type=script&lang=ts\"\nexport * from \"./CostDistribution.vue?vue&type=script&lang=ts\"\nimport style0 from \"./CostDistribution.vue?vue&type=style&index=0&id=2b573ab4&prod&scoped=true&lang=css\"\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 \"2b573ab4\",\n null\n \n)\n\nexport default component.exports","\r\nimport { Component, Vue, Prop, Watch } from 'vue-property-decorator';\r\nimport httpClient from '../../store/httpClient';\r\nimport TicketPosition from './TicketPosition.vue';\r\nimport { BlexonResolutionType } from '../../dtos/blexonResolutionType';\r\nimport { TicketDto } from '../../dtos/ticketDto';\r\nimport TransportSettings from './TransportSettings.vue';\r\nimport ReturnTransportSettings from './ReturnTransportSettings.vue';\r\nimport CostDistribution from './CostDistribution.vue';\r\nimport { TicketState } from '@/dtos/ticketState';\r\n\r\n@Component({\r\n components: {\r\n TransportSettings,\r\n ReturnTransportSettings,\r\n TicketPosition,\r\n CostDistribution,\r\n },\r\n})\r\nexport default class ProcessTicket extends Vue {\r\n @Prop()\r\n private ticketId!: string;\r\n private ticketDto: TicketDto | null = null;\r\n private currentPosition: number = 0;\r\n private loading: boolean = true;\r\n private costDistributionIsValid: boolean = false;\r\n\r\n private async mounted() {\r\n await this.loadTicket();\r\n }\r\n\r\n private get showCostDistribution() {\r\n if (this.ticketDto == null) {\r\n return false;\r\n }\r\n return this.ticketDto.complains.every(c => c.blexonResolution > 0);\r\n }\r\n\r\n private onResolutionChanged() {\r\n if (this.showCostDistribution) {\r\n (this.$refs.costDistribution as any).calculateCost();\r\n }\r\n }\r\n\r\n private get isNacharbeitIntended() {\r\n if (this.ticketDto == null) {\r\n return false;\r\n }\r\n return this.ticketDto.complains.some((c) => c.blexonResolution === BlexonResolutionType.AcceptedNacharbeit);\r\n }\r\n\r\n private get isTransportNeeded() {\r\n if (this.ticketDto == null) {\r\n return false;\r\n }\r\n return this.ticketDto.complains.some((c) => c.blexonResolution === BlexonResolutionType.AcceptedNacharbeit || c.blexonResolution === BlexonResolutionType.AcceptedErsatzlieferung);\r\n }\r\n\r\n private async loadTicket() {\r\n try {\r\n this.loading = true;\r\n var response = await httpClient().get(`Ticket/GetTicketProcessing?ticketId=${this.ticketId}`);\r\n this.ticketDto = response.data;\r\n } catch {\r\n console.log('Error');\r\n } finally {\r\n this.loading = false;\r\n }\r\n }\r\n\r\n private async processTicket() {\r\n if (!this.ticketDto) return;\r\n (this.$refs.costDistribution as any).validate();\r\n if (this.costDistributionIsValid) {\r\n try {\r\n this.loading = true;\r\n var response = await httpClient().post(`Ticket/processTicket?ticketId=${this.ticketId}`);\r\n this.ticketDto.state = TicketState.Resolved;\r\n this.$store.commit('setSnackbarText', response.data);\r\n this.$router.push({name: 'ticket'})\r\n } catch {\r\n console.log('Error');\r\n } finally {\r\n this.loading = false;\r\n }\r\n }\r\n }\r\n\r\n private tabChanged() {\r\n (this.$refs.costDistribution as any).validate();\r\n }\r\n}\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProcessTicket.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProcessTicket.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./ProcessTicket.vue?vue&type=template&id=719c5fa8\"\nimport script from \"./ProcessTicket.vue?vue&type=script&lang=ts\"\nexport * from \"./ProcessTicket.vue?vue&type=script&lang=ts\"\nimport style0 from \"./ProcessTicket.vue?vue&type=style&index=0&id=719c5fa8&prod&lang=css\"\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 render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('v-container',{attrs:{\"fluid\":\"\",\"pa-0\":\"\",\"ma-0\":\"\"}},[_c('v-layout',{attrs:{\"column\":\"\"}},[_c('v-flex',[_c('v-text-field',{attrs:{\"label\":\"Suche\",\"prepend-icon\":\"search\",\"hint\":\"Suche nach Auftragsnummer, Kundennummer, Kundenname, Kommission, Lieferscheinnummer, Fertiger\"},on:{\"blur\":function($event){_vm.suchbegriff = _vm.suchbegriff.trim()}},model:{value:(_vm.suchbegriff),callback:function ($$v) {_vm.suchbegriff=$$v},expression:\"suchbegriff\"}})],1),_c('v-flex',[_c('v-switch',{attrs:{\"color\":\"accent\",\"label\":\"Bearbeitete anzeigen\",\"title\":\"Bereits bearbeitete Beanstandungen auch anzeigen.\"},model:{value:(_vm.showResolved),callback:function ($$v) {_vm.showResolved=$$v},expression:\"showResolved\"}})],1),_c('v-flex',[_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"loading\":_vm.loading,\"items\":_vm.tickets,\"pagination\":_vm.pagination},on:{\"update:pagination\":function($event){_vm.pagination=$event}},scopedSlots:_vm._u([{key:\"headers\",fn:function(props){return [_c('tr',_vm._l((props.headers),function(header){return _c('th',{key:header.text,class:['text-xs-left', 'column sortable', _vm.pagination.descending ? 'desc' : 'asc', header.value === _vm.pagination.sortBy ? 'active' : ''],on:{\"click\":function($event){return _vm.changeSort(header.value)}}},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"arrow_upward\")]),_vm._v(\"\\n \"+_vm._s(header.text)+\"\\n \")],1)}),0)]}},{key:\"items\",fn:function(props){return [_c('tr',{on:{\"click\":function($event){props.expanded = !props.expanded}}},[_c('td',[(_vm.waitingForBlexon(props.item))?_c('v-icon',{attrs:{\"color\":\"red\",\"title\":\"Warten auf Blexon\"}},[_vm._v(\"error\")]):_vm._e(),(_vm.waitingForFertiger(props.item))?_c('v-icon',{attrs:{\"color\":\"primary\",\"title\":\"Warten auf Fertiger\"}},[_vm._v(\"info\")]):_vm._e(),(!_vm.waitingForBlexon(props.item) && !_vm.waitingForFertiger(props.item))?_c('v-icon',{attrs:{\"color\":\"green\",\"title\":\"Resolved\"}},[_vm._v(\"check_circle\")]):_vm._e()],1),_c('td',[_vm._v(_vm._s(props.item.id))]),_c('td',[_vm._v(_vm._s(props.item.orderId))]),_c('td',[_vm._v(_vm._s(props.item.customerId))]),_c('td',[_vm._v(_vm._s(props.item.customerName))]),_c('td',[_vm._v(_vm._s(props.item.manufacturerName))]),(_vm.isDatePresent(props.item.newDueDate))?_c('td',[_vm._v(_vm._s(_vm._f(\"formatDate\")(props.item.newDueDate)))]):_c('td',[_vm._v(\" - \")]),_c('td',[_vm._v(_vm._s(_vm._f(\"formatDate\")(props.item.createdAt)))]),_c('td',[_c('v-btn',{staticClass:\"blexon-button\",on:{\"click\":function($event){return _vm.processTicket(props.item.id)}}},[_c('v-icon',[_vm._v(\"edit\")])],1)],1)])]}},{key:\"expand\",fn:function(props){return [_c('v-data-table',{staticClass:\"elevation-1 ml-3 mb-3\",attrs:{\"headers\":_vm.complaintsHeader,\"items\":props.item.complains,\"item-key\":\"item.part.partId\",\"hide-actions\":\"\"},scopedSlots:_vm._u([{key:\"items\",fn:function(props){return [_c('tr',[_c('td',[_vm._v(_vm._s(props.item.position))]),_c('td',[_vm._v(_vm._s(props.item.part.partId))]),_c('td',[_vm._v(_vm._s(_vm.complaintTypeEnum[props.item.complainType].text))]),_c('td',[_c('v-img',{attrs:{\"src\":_vm.getThumbnailUrl(props.item.part.partId),\"contain\":\"\",\"width\":\"60px\",\"height\":\"60px\",\"title\":\"Vorschaubild\"}})],1)])]}}],null,true)})]}}])})],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { Component, Vue, Watch } from 'vue-property-decorator';\r\nimport { debounce } from 'typescript-debounce-decorator';\r\nimport httpClient from '../../store/httpClient';\r\nimport { TicketDto } from '@/dtos/ticketDto';\r\nimport complainTypes from '@/dtos/IComplainType';\r\nimport { TicketState } from '@/dtos/ticketState';\r\nimport { IComplainType } from '@/dtos/IComplainType';\r\n\r\n@Component({})\r\nexport default class CustomerDashboard extends Vue {\r\n private tickets: TicketDto[] = new Array();\r\n private previousSuchbegriff: string = '';\r\n private suchbegriff: string = '';\r\n private loading: boolean = true;\r\n private pagination: any = {\r\n sortBy: 'createdAt',\r\n descending: true,\r\n rowsPerPage: 100,\r\n };\r\n private headers: Array<{\r\n width: string, text: string, value: string,\r\n align: string, sortable: boolean }> = Array(\r\n {\r\n width: '1%',\r\n text: 'Aktion',\r\n value: 'icon',\r\n align: 'center',\r\n sortable: false,\r\n },\r\n {\r\n width: '1%',\r\n text: 'Id',\r\n value: 'id',\r\n align: 'left',\r\n sortable: true,\r\n },\r\n {\r\n width: '1%',\r\n text: 'Auftrag Id',\r\n value: 'orderId',\r\n align: 'left',\r\n sortable: true,\r\n },\r\n {\r\n width: '1%',\r\n text: 'Kunden Id',\r\n value: 'customerId',\r\n align: 'left',\r\n sortable: true,\r\n },\r\n {\r\n width: '1%',\r\n text: 'Kunde',\r\n value: 'customerName',\r\n align: 'left',\r\n sortable: true,\r\n },\r\n {\r\n width: '1%',\r\n text: 'Fertiger',\r\n value: 'manufacturerName',\r\n align: 'left',\r\n sortable: true,\r\n },\r\n {\r\n width: '1%',\r\n text: 'Neuer Liefertermin',\r\n value: 'deliveryDate',\r\n align: 'left',\r\n sortable: true,\r\n },\r\n {\r\n width: '1%',\r\n text: 'Erstellt am',\r\n value: 'createdAt',\r\n align: 'left',\r\n sortable: true,\r\n },\r\n {\r\n width: '1%',\r\n text: 'Verarbeiten',\r\n value: 'edit',\r\n align: 'left',\r\n sortable: false,\r\n },\r\n );\r\n\r\n private complaintsHeader: Array<{\r\n width: string, text: string, value: string,\r\n align: string, sortable: boolean }> = Array(\r\n {\r\n width: '1%',\r\n text: 'Pos',\r\n value: 'position',\r\n align: 'left',\r\n sortable: false,\r\n },\r\n {\r\n width: '1%',\r\n text: 'Part Id',\r\n value: 'part.partId',\r\n align: 'left',\r\n sortable: false,\r\n },\r\n {\r\n width: '1%',\r\n text: 'Beschwerde Typ',\r\n value: 'complainType',\r\n align: 'left',\r\n sortable: false,\r\n },\r\n {\r\n width: '1%',\r\n text: 'Bild',\r\n value: 'image',\r\n align: 'left',\r\n sortable: false,\r\n },\r\n );\r\n\r\n private complaintTypeEnum: IComplainType[] = complainTypes\r\n\r\n private mounted() {\r\n this.loadTickets();\r\n }\r\n\r\n @debounce(700, { leading: false })\r\n @Watch('suchbegriff')\r\n private reloadOnOrderSearch() {\r\n if ((this.suchbegriff.length === 0 || this.suchbegriff.length >= 3) && this.suchbegriff !== this.previousSuchbegriff) {\r\n this.previousSuchbegriff = this.suchbegriff\r\n this.loadTickets();\r\n }\r\n }\r\n\r\n private get showResolved() {\r\n return this.$store.state.ticketSettings.showResolved;\r\n }\r\n private set showResolved(showResolved: boolean) {\r\n this.$store.commit('setShowResolved', showResolved);\r\n this.loadTickets();\r\n }\r\n\r\n private waitingForBlexon(ticket: TicketDto) {\r\n return ticket.state == TicketState.Open && ticket.manufacturerHasDecided;\r\n }\r\n\r\n private waitingForFertiger(ticket: TicketDto) {\r\n return ticket.state == TicketState.Open && !ticket.manufacturerHasDecided;\r\n }\r\n\r\n private isDatePresent(date: Date) {\r\n const deliveryDate: Date = new Date(date);\r\n const minDate: Date = new Date(1900, 1, 1);\r\n return deliveryDate > minDate;\r\n }\r\n\r\n private async loadTickets() {\r\n try {\r\n this.loading = true;\r\n const response = await httpClient().get(`Ticket/GetAllOpenTickets?searchTerm=${this.suchbegriff}&onlyOpen=${!this.showResolved}`);\r\n this.tickets = response.data;\r\n } catch {\r\n console.log('Load tickets failed.');\r\n } finally {\r\n this.loading = false;\r\n }\r\n }\r\n\r\n private processTicket(ticketId: string) {\r\n this.$router.push({ name: 'processTicket', params: { ticketId }});\r\n }\r\n\r\n private changeSort(column: string) {\r\n if (this.pagination.sortBy === column) {\r\n this.pagination.descending = !this.pagination.descending;\r\n } else {\r\n this.pagination.sortBy = column;\r\n this.pagination.descending = false;\r\n }\r\n }\r\n\r\n private getThumbnailUrl(partId: string) {\r\n return process.env.VUE_APP_erpUrl + `article/getthumbnail?id=${partId}&time=${Date.now().toString()}`;\r\n }\r\n}\r\n\r\n","export enum PriceState {\r\n /// \r\n /// The price was never calculated.\r\n /// Probably the article is not ready yet.\r\n /// If the article has prices but it is set to this\r\n /// state, this state is ignored.\r\n /// \r\n NotCalculated = 0,\r\n\r\n /// \r\n /// Price was calculated correctly but is\r\n /// invalid since the price list has expired.\r\n /// Recalculation is possible\r\n /// This is not stored in the database. Such a price will be ok\r\n /// in the database but set to Invalid when sent to the client.\r\n /// \r\n Invalid = 1,\r\n\r\n /// \r\n /// Price was calculated correctly and is stored.\r\n /// \r\n Ok = 2,\r\n\r\n /// \r\n /// Price could not be calculated.\r\n /// Recalculation ist not possible. The article\r\n /// needs to be sent to Blexon.\r\n /// \r\n Failed = 3,\r\n\r\n /// \r\n /// The price is currently calculated.\r\n /// \r\n Calculating = 4,\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Dashboard.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Dashboard.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./Dashboard.vue?vue&type=template&id=aef1f52a\"\nimport script from \"./Dashboard.vue?vue&type=script&lang=ts\"\nexport * from \"./Dashboard.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 render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',[_c('v-container',{staticClass:\"pa-0\",attrs:{\"fluid\":\"\",\"grid-list-lg\":\"\"},on:{\"scroll\":function($event){return _vm.handleScroll()}}},[_c('v-layout',{attrs:{\"row\":\"\",\"fill-height\":\"\",\"align-start\":\"\",\"wrap\":\"\"}},[_c('v-flex',{attrs:{\"xs12\":\"\",\"lg3\":\"\"}},[_c('v-text-field',{attrs:{\"label\":\"Suche\",\"prepend-icon\":\"search\",\"hint\":\"Suche nach Blexonnummer, Artikelbezeichnung oder Artikelnummer\"},on:{\"blur\":function($event){_vm.suchbegriff = _vm.suchbegriff.trim()}},model:{value:(_vm.suchbegriff),callback:function ($$v) {_vm.suchbegriff=$$v},expression:\"suchbegriff\"}})],1),_c('v-flex',{attrs:{\"xs12\":\"\",\"lg3\":\"\"}},[_c('v-text-field',{attrs:{\"label\":\"Kundennummer\",\"prepend-icon\":\"person\",\"hint\":\"Suche nach Kundennummer\"},on:{\"blur\":function($event){_vm.customerIdString = _vm.customerIdString.trim()}},model:{value:(_vm.customerIdString),callback:function ($$v) {_vm.customerIdString=$$v},expression:\"customerIdString\"}})],1),_c('v-flex',{attrs:{\"xs12\":\"\",\"lg3\":\"\"}},[_c('v-combobox',{attrs:{\"items\":_vm.filterModifiers,\"label\":\"Zusatzfilter\",\"color\":\"accent\"},model:{value:(_vm.filterModifier),callback:function ($$v) {_vm.filterModifier=$$v},expression:\"filterModifier\"}})],1)],1),_c('v-progress-linear',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.loading),expression:\"loading\"}],attrs:{\"indeterminate\":\"\"}}),(!_vm.loading && _vm.articles && _vm.articles.length <= 0)?_c('v-layout',{attrs:{\"row\":\"\"}},[_c('v-flex',{staticClass:\"text-xs-center\",attrs:{\"cols\":\"12\"}},[_vm._v(\"\\n Keine Artikel gefunden...\\n \")])],1):_vm._e(),_c('div',{staticStyle:{\"display\":\"flex\",\"gap\":\"10px\",\"flex-wrap\":\"wrap\"}},[_vm._l((_vm.articles),function(article){return [(!article.isAssembly)?_c('article-component',{key:'article' + article.articleId,attrs:{\"article\":article},on:{\"deleted\":function($event){return _vm.removeArticle($event)},\"reactivatedArticle\":function($event){return _vm.removeArticle($event)}}}):_c('assembly-component',{key:'assembly' + article.articleId,attrs:{\"article\":article},on:{\"deleted\":function($event){return _vm.removeArticle($event)},\"reactivatedArticle\":function($event){return _vm.removeArticle($event)}}})]})],2),(_vm.hasMoreToLoad)?_c('v-layout',{attrs:{\"row\":\"\",\"justify-center\":\"\"}},[_c('v-flex',{attrs:{\"shrink\":\"\"}},[(!_vm.loading)?_c('v-btn',{staticClass:\"blexon-button\",attrs:{\"title\":\"Lädt weitere Artikel mit den aktuellen Filtereinstellungen.\"},on:{\"click\":function($event){return _vm.loadArticle()}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\tMehr laden\\n\\t\\t\\t\\t\\t\\t\"),_c('v-icon',{attrs:{\"right\":\"\"}},[_vm._v(\"expand_more\")])],1):_c('v-progress-circular',{attrs:{\"indeterminate\":\"\",\"color\":\"accent\"}})],1)],1):_vm._e()],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticStyle:{\"flex\":\"1\",\"min-width\":\"400px\",\"max-width\":\"600px\"}},[_c('v-card',[_c('div',{staticStyle:{\"padding\":\"0px 16px\",\"display\":\"flex\",\"align-items\":\"center\"}},[_c('h1',{staticClass:\"body-2\",staticStyle:{\"flex-grow\":\"1\",\"overflow\":\"hidden\",\"white-space\":\"nowrap\",\"text-overflow\":\"ellipsis\"}},[_vm._v(_vm._s(_vm.article.customerArticleName))]),_c('v-btn',{staticClass:\"blexon-button\",attrs:{\"icon\":\"\",\"small\":\"\",\"title\":\"Artikel bearbeiten\"},on:{\"click\":function($event){_vm.articleDialog=true}}},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"edit\")])],1),_c('v-btn',{staticClass:\"blexon-button\",attrs:{\"icon\":\"\",\"small\":\"\",\"title\":\"Artikel löschen\"},on:{\"click\":function($event){return _vm.deleteArticle()}}},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"delete_forever\")])],1),_c('v-menu',{attrs:{\"offset-y\":\"\",\"close-on-content-click\":false}},[_c('v-btn',{staticClass:\"blexon-button\",attrs:{\"slot\":\"activator\",\"icon\":\"\",\"small\":\"\",\"title\":\"Artikelfunktionen\"},slot:\"activator\"},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"build\")])],1),_c('v-list',{attrs:{\"dense\":\"\"}},[_c('v-list-tile',{attrs:{\"disabled\":_vm.validateRunning,\"title\":\"Komplette Validation wie nach Migration oder wechsel der Importdatei.\"},on:{\"click\":function($event){return _vm.validate()}}},[_c('v-list-tile-avatar',[(_vm.validateRunning)?_c('v-progress-circular',{attrs:{\"indeterminate\":\"\",\"size\":\"20\",\"color\":\"accent\"}}):_c('v-icon',{attrs:{\"color\":\"accent\"}},[_vm._v(\"done_all\")])],1),_c('v-list-tile-title',[_vm._v(\"\\n Komplette Validation\\n \")])],1),_c('v-list-tile',{attrs:{\"disabled\":_vm.deletingMessages || _vm.getNonObsoleteCamMessages.length <= 0,\"title\":\"CAM und Blexon Meldungen löschen. Boost Meldungen nicht.\"},on:{\"click\":function($event){_vm.deleteMessagesDialog = true}}},[_c('v-list-tile-avatar',[(_vm.deletingMessages)?_c('v-progress-circular',{attrs:{\"indeterminate\":\"\",\"size\":\"20\",\"color\":\"accent\"}}):_c('v-icon',{attrs:{\"color\":\"accent\"}},[_vm._v(\"speaker_notes_off\")])],1),_c('v-list-tile-title',[_vm._v(\"\\n Meldungen löschen...\\n \")])],1),_c('v-list-tile',{attrs:{\"disabled\":_vm.designRunning,\"title\":\"Boost Design berechnen und Meldungen erzeugen.\"},on:{\"click\":function($event){return _vm.design()}}},[_c('v-list-tile-avatar',[(_vm.designRunning)?_c('v-progress-circular',{attrs:{\"indeterminate\":\"\",\"size\":\"20\",\"color\":\"accent\"}}):_c('v-icon',{attrs:{\"color\":\"accent\"}},[_vm._v(\"extension\")])],1),_c('v-list-tile-title',[_vm._v(\"\\n Design\\n \")])],1),_c('v-list-tile',{attrs:{\"disabled\":_vm.updateWeightRunning,\"title\":\"Gewicht des Artikels neu berechnen\"},on:{\"click\":function($event){return _vm.updateWeight()}}},[_c('v-list-tile-avatar',[(_vm.updateWeightRunning)?_c('v-progress-circular',{attrs:{\"indeterminate\":\"\",\"size\":\"20\",\"color\":\"accent\"}}):_c('v-icon',{attrs:{\"color\":\"accent\"}},[_vm._v(\"fitness_center\")])],1),_c('v-list-tile-title',[_vm._v(\"\\n Update Gewicht\\n \")])],1),_c('v-list-tile',{attrs:{\"disabled\":_vm.updateBoundingBoxRunning,\"title\":\"Grösse des abgekanteten Artikels neu berechnen\"},on:{\"click\":function($event){return _vm.updateBoundingBox()}}},[_c('v-list-tile-avatar',[(_vm.updateBoundingBoxRunning)?_c('v-progress-circular',{attrs:{\"indeterminate\":\"\",\"size\":\"20\",\"color\":\"accent\"}}):_c('v-icon',{attrs:{\"color\":\"accent\"}},[_vm._v(\"filter_center_focus\")])],1),_c('v-list-tile-title',[_vm._v(\"\\n Update Boundingbox\\n \")])],1),_c('v-list-tile',{attrs:{\"disabled\":_vm.camValidationRunning,\"title\":\"Führt nur die Featureerkennung und die Validation durch.\"},on:{\"click\":function($event){return _vm.camValidation()}}},[_c('v-list-tile-avatar',[(_vm.camValidationRunning)?_c('v-progress-circular',{attrs:{\"indeterminate\":\"\",\"size\":\"20\",\"color\":\"accent\"}}):_c('v-icon',{attrs:{\"color\":\"accent\"}},[_vm._v(\"whatshot\")])],1),_c('v-list-tile-title',[_vm._v(\"\\n CAM Validation\\n \")])],1),_c('v-list-tile',{attrs:{\"disabled\":_vm.simulateBendingRunning},on:{\"click\":function($event){return _vm.simulateBending()}}},[_c('v-list-tile-avatar',[(_vm.simulateBendingRunning)?_c('v-progress-circular',{attrs:{\"indeterminate\":\"\",\"size\":\"20\",\"color\":\"accent\"}}):_c('v-icon',{attrs:{\"color\":\"accent\"}},[_vm._v(\"3d_rotation\")])],1),_c('v-list-tile-title',[_vm._v(\"\\n Biegesimulation\\n \")])],1),_c('v-list-tile',{attrs:{\"disabled\":_vm.recalculatingPrice},on:{\"click\":function($event){return _vm.updatePrice()}}},[_c('v-list-tile-avatar',[(_vm.recalculatingPrice)?_c('v-progress-circular',{attrs:{\"indeterminate\":\"\",\"size\":\"20\",\"color\":\"accent\"}}):_c('v-icon',{attrs:{\"color\":\"accent\"}},[_vm._v(\"attach_money\")])],1),_c('v-list-tile-title',[_vm._v(\"\\n Update Preis\\n \")])],1),(_vm.article.parentArticleId != null)?_c('v-list-tile',{attrs:{\"disabled\":_vm.updateAssemblyRunning},on:{\"click\":function($event){return _vm.updateAssembly()}}},[_c('v-list-tile-avatar',[(_vm.updateAssemblyRunning)?_c('v-progress-circular',{attrs:{\"indeterminate\":\"\",\"size\":\"20\",\"color\":\"accent\"}}):_c('v-icon',{attrs:{\"color\":\"accent\"}},[_vm._v(\"switch_access_shortcut\")])],1),_c('v-list-tile-title',[_vm._v(\"\\n Update Baugruppe\\n \")])],1):_vm._e(),_c('v-list-tile',{on:{\"click\":function($event){return _vm.lockArticle()}}},[_c('v-list-tile-avatar',[_c('v-icon',{attrs:{\"color\":\"accent\"}},[_vm._v(\"lock\")])],1),_c('v-list-tile-title',[_vm._v(\"\\n Lock\\n \")])],1),_c('v-list-tile',{on:{\"click\":function($event){return _vm.unlockArticle()}}},[_c('v-list-tile-avatar',[_c('v-icon',{attrs:{\"color\":\"accent\"}},[_vm._v(\"lock_open\")])],1),_c('v-list-tile-title',[_vm._v(\"\\n Unlock\\n \")])],1),_c('v-list-tile',{on:{\"click\":function($event){return _vm.downloadOriginalImportFile()}}},[_c('v-list-tile-avatar',[_c('v-icon',{attrs:{\"color\":\"accent\"}},[_vm._v(\"file_download\")])],1),_c('v-list-tile-title',[_vm._v(\"\\n Download Importdatei\\n \")])],1)],1)],1),_c('v-progress-linear',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.loading),expression:\"loading\"}],attrs:{\"indeterminate\":\"\"}})],1),_c('v-card-text',[_c('v-layout',{attrs:{\"row\":\"\"}},[_c('v-flex',{attrs:{\"shrink\":\"\"}},[_c('article-cad-preview',{attrs:{\"articleId\":_vm.article.articleId,\"articleLastChange\":_vm.article.lastChange,\"width\":\"140px\",\"height\":\"100px\",\"readonly\":false}})],1),_c('v-flex',[_c('v-layout',{staticClass:\"caption\",attrs:{\"column\":\"\"}},[_c('span',[_vm._v(\"Artikelnr: \"+_vm._s(_vm.article.customerArticleId))]),_c('span',[_vm._v(\"\\n Blexonnr: \\n \"),_c('a',{attrs:{\"href\":`boost://homezone/browse/part?id=${_vm.article.articleId}`}},[_vm._v(\"\\n \"+_vm._s(_vm.article.articleId)+\"\\n \")])]),(_vm.article.materialId > 0)?_c('span',[_vm._v(\"\\n \"+_vm._s(_vm.article.materialname)+\"\\n \")]):_c('span',[_vm._v(\"\\n \"+_vm._s(_vm.article.werkstoffname)+\" \"+_vm._s(_vm._f(\"format2Digit\")(_vm.article.thickness))+\"mm\\n \")]),_c('span',[_vm._v(\"\\n \"+_vm._s(_vm._f(\"format2Digit\")(_vm.article.length))+\" x \"+_vm._s(_vm._f(\"format2Digit\")(_vm.article.width))+\" x \"+_vm._s(_vm._f(\"format2Digit\")(_vm.article.height))+\"mm\\n \")]),_c('span',[_vm._v(_vm._s(_vm._f(\"format3Digit\")(_vm.article.weight))+\"kg\")]),_c('span',[_c('router-link',{attrs:{\"to\":'/customer/detail/' + _vm.article.customerId}},[_vm._v(\"\\n \"+_vm._s(_vm.article.companyName)+\" | \"+_vm._s(_vm.article.customerId)+\" | \"+_vm._s(_vm.article.firstName)+\" \"+_vm._s(_vm.article.surname)+\"\\n \")])],1),(_vm.article.numberOfBendLines > 0)?_c('span',[_vm._v(_vm._s(_vm.article.numberOfBendLines)+\" Biegeschritt(e)\")]):_vm._e(),(!_vm.article.calculating && _vm.article.featureDtos.length > 0)?_c('span',[_vm._v(\"\\n \"+_vm._s(_vm.getFeatureString(_vm.article))+\"\\n \")]):_vm._e(),(!_vm.article.calculating && _vm.article.weldlines.length > 0)?_c('span',[_vm._v(\"\\n \"+_vm._s(_vm.getWeldlineString())+\"\\n \")]):_vm._e(),(_vm.article.certificateTypes > 0)?_c('span',[_vm._v(\"\\n Zertifikat: 3.1\\n \")]):_vm._e(),(_vm.article.numberOfOrders > 0)?_c('span',[_c('router-link',{attrs:{\"to\":`/order/${_vm.article.articleId}`}},[_vm._v(\"\\n In \"+_vm._s(_vm.article.numberOfOrders)+\" Aufträgen\\n \")])],1):_vm._e(),(_vm.article.powderCoatingTreatment != null)?_c('span',[_c('span',{style:('display:inline-block; height: 10px; width: 10px; background-color:' \n + _vm.article.powderCoatingTreatment.powder.surfaceColor.hexCode)}),_vm._v(\"\\n RAL \"+_vm._s(_vm.article.powderCoatingTreatment.powder.surfaceColor.ralCode)+\" |\\n \"+_vm._s(_vm.GetArticleFaceString(_vm.article.powderCoatingTreatment.treatmentFace))+\" |\\n \"+_vm._s(_vm.GetStructureString(_vm.article.powderCoatingTreatment.powder.structure))+\" |\\n \"+_vm._s(_vm.GetFinishString(_vm.article.powderCoatingTreatment.powder.finish))+\"\\n \")]):_vm._e()])],1)],1),_c('v-layout',{attrs:{\"row\":\"\",\"align-center\":\"\"}},[_c('v-flex',{attrs:{\"shrink\":\"\"}},[_c('v-tooltip',{attrs:{\"top\":\"\",\"disabled\":_vm.article.camMessages.length <= 0}},[_c('template',{slot:\"activator\"},[_c('v-chip',{staticClass:\"ma-0\",attrs:{\"color\":_vm.articleStateColor}},[(_vm.article.locked)?_c('v-icon',[_vm._v(\"\\n lock\\n \")]):_vm._e(),_vm._v(\"\\n \"+_vm._s(_vm.articleStateText)+\"\\n \")],1),(_vm.article.calculating)?_c('v-progress-circular',{attrs:{\"indeterminate\":\"\",\"color\":\"accent\"}}):_vm._e(),(_vm.article.migrated)?_c('span',[_vm._v(\"Migriert\")]):_vm._e()],1),_vm._l((_vm.getNonObsoleteCamMessages),function(message,index){return _c('p',{key:index,staticClass:\"ma-0\"},[_c('span',[_vm._v(\"- \"+_vm._s(message.originalMessage)+\" (\"+_vm._s(message.title)+\")\")])])})],2)],1),(_vm.article.state == 9)?_c('v-flex',{attrs:{\"shrink\":\"\"}},[_c('v-btn',{attrs:{\"disabled\":_vm.article.calculating,\"small\":\"\",\"title\":\"Reaktiviert den Artikel und passt den Status an.\"},on:{\"click\":function($event){return _vm.reactivateArticle()}}},[_vm._v(\"\\n Reaktivieren\\n \")])],1):_vm._e()],1),_c('v-layout',{attrs:{\"row\":\"\",\"align-center\":\"\"}},[_c('v-flex',{attrs:{\"shrink\":\"\"}},[_c('v-select',{staticStyle:{\"max-width\":\"330px\"},attrs:{\"label\":\"Entgratart\",\"items\":_vm.entgratarten},on:{\"change\":function($event){return _vm.updateEntgratart()}},model:{value:(_vm.article.entgratart),callback:function ($$v) {_vm.$set(_vm.article, \"entgratart\", $$v)},expression:\"article.entgratart\"}})],1),_c('v-flex',{attrs:{\"shrink\":\"\"}},[_c('v-menu',{attrs:{\"offset-y\":\"\"}},[_c('template',{slot:\"activator\"},[_c('v-btn',{attrs:{\"disabled\":_vm.article.priceState == 4,\"title\":\"Öffnet die Preisliste des Artikels.\"},on:{\"click\":function($event){return _vm.getPrices()}}},[_vm._v(\"\\n Preise\\n \")])],1),(_vm.article.priceState == 0 || _vm.article.priceState == 1)?_c('div',{staticStyle:{\"background-color\":\"white\",\"padding\":\"5px\",\"max-width\":\"200px\"}},[_c('span',{staticClass:\"text-caption\"},[_vm._v(\"Die Preise für diesen Artikel müssen neu berechnet werden.\")])]):_vm._e(),(_vm.article.priceState == 3)?_c('div',{staticStyle:{\"background-color\":\"white\",\"padding\":\"5px\",\"max-width\":\"200px\"}},[_c('span',{staticClass:\"text-caption\"},[_vm._v(\"Für diesen Artikel konnten die Preise nicht automatisch berechnet werden.\"),_c('br'),_vm._v(\"\\n Bitte senden Sie den Artikel für weitere Abklärungen an unser Helpdesk.\")])]):_vm._e(),(_vm.isLoadingPrices)?_c('div',{staticStyle:{\"background-color\":\"white\",\"padding\":\"5px\",\"max-width\":\"200px\"}},[(_vm.isLoadingPrices)?_c('v-progress-circular',{attrs:{\"indeterminate\":\"\",\"size\":\"20\",\"color\":\"accent\"}}):_vm._e()],1):_vm._e(),(_vm.article.priceState == 2 && !_vm.isLoadingPrices && _vm.article.priceLists)?_c('div',{staticStyle:{\"background-color\":\"white\",\"padding\":\"5px\"}},[_c('v-data-table',{attrs:{\"items\":_vm.sortedPrices,\"headers\":_vm.getPriceTableHeaders(),\"hide-actions\":\"\"},scopedSlots:_vm._u([{key:\"headers\",fn:function(props){return [(_vm.availablePriceModels.length > 1)?_c('tr',{staticStyle:{\"height\":\"24px\"}},[_c('th'),_c('th',{staticClass:\"text-xs-center px-2\",attrs:{\"colspan\":_vm.availablePriceModels.length}},[_vm._v(\"\\n Preis / Stk.\\n \")]),_c('th')]):_vm._e(),_c('tr',{staticStyle:{\"height\":\"24px\"}},_vm._l((props.headers),function(header){return _c('th',{key:header.text,class:header.align == 'right' ? 'text-xs-right px-2' : 'px-2'},[_vm._v(\"\\n \"+_vm._s(header.text)+\"\\n \")])}),0)]}},{key:\"items\",fn:function(prices){return [_c('tr',{staticClass:\"text-caption\"},[(prices.item.quantity == 1000)?_c('td',{staticClass:\"text-xs-right px-2\",staticStyle:{\"height\":\"24px\"}},[_vm._v(\"ab \"+_vm._s(prices.item.quantity))]):_c('td',{staticClass:\"text-xs-right px-2\",staticStyle:{\"height\":\"24px\"}},[_vm._v(_vm._s(prices.item.quantity))]),_vm._l((_vm.availablePriceModels),function(model){return _c('td',{key:model.value,staticClass:\"text-xs-right px-2\",staticStyle:{\"height\":\"24px\"}},[_vm._v(\"\\n \"+_vm._s(_vm.getModelPrice(prices.item.quantity, model.value))+\"\\n \")])}),_c('td',{staticClass:\"px-2\",staticStyle:{\"height\":\"24px\"}},[_c('v-icon',{attrs:{\"color\":\"accent\",\"small\":\"\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.showPriceDetails(prices.item)}}},[_vm._v(\"help\")])],1)],2)]}}],null,false,3911695546)})],1):_vm._e()],2)],1)],1),_c('v-layout',{attrs:{\"row\":\"\"}},[_c('v-flex',{attrs:{\"py-0\":\"\"}},[_c('small',[_vm._v(\"Erstellt: \"+_vm._s(_vm._f(\"formatDate\")(_vm.article.createdAt))+\" | Letzte Änderung: \"+_vm._s(_vm._f(\"formatDateAndTime\")(_vm.article.lastChange)))])])],1)],1)],1),_c('v-dialog',{attrs:{\"width\":\"800\"},model:{value:(_vm.showPriceDetailsDialog),callback:function ($$v) {_vm.showPriceDetailsDialog=$$v},expression:\"showPriceDetailsDialog\"}},[_c('v-card',[_c('v-card-title',[_vm._v(\"\\n Blexonnr: \"+_vm._s(_vm.article.articleId)+\" | Preis für \"+_vm._s(_vm.numberOfPartsShownInPriceDetails)+\" Stück\"),_c('br'),_vm._v(\"\\n Bezeichnung: \"+_vm._s(_vm.article.customerArticleName)+\"\\n \")]),_c('v-card-text',[_vm._l((_vm.workStepGroups),function(group,index){return _c('div',{key:index},[_c('h3',[_vm._v(_vm._s(_vm.getPriceModelName(group[0].priceModel)))]),_c('v-data-table',{attrs:{\"dense\":\"\",\"hide-actions\":\"\",\"items\":group,\"headers\":[\n {\n text: 'Name',\n sortable: false,\n },\n {\n text: 'Gesamtdauer',\n sortable: false,\n },\n {\n text: 'Preis / Stk',\n sortable: false,\n },\n {\n text: 'Gesamtpreis',\n sortable: false,\n },\n {\n text: 'Material*',\n sortable: false,\n },\n {\n text: 'Fertigerpreis',\n sortable: false,\n },\n ]},scopedSlots:_vm._u([{key:\"items\",fn:function(props){return [_c('tr',{staticClass:\"compactPrice\"},[_c('td',[_vm._v(_vm._s(props.item.name))]),_c('td',[_vm._v(_vm._s(props.item.duration.substring(0, 8)))]),_c('td',{staticClass:\"text-xs-right\"},[_vm._v(_vm._s(_vm._f(\"format2Digit\")(props.item.cost)))]),_c('td',{staticClass:\"text-xs-right\"},[_vm._v(_vm._s(_vm._f(\"format2Digit\")(props.item.cost * _vm.numberOfPartsShownInPriceDetails)))]),_c('td',{staticClass:\"text-xs-right\"},[(props.item.materialPrice > 0)?_c('span',[_vm._v(\"\\n \"+_vm._s(_vm._f(\"format2Digit\")(props.item.materialPrice * _vm.numberOfPartsShownInPriceDetails))+\"\\n \")]):_vm._e()]),_c('td',{staticClass:\"text-xs-right\"},[_vm._v(_vm._s(_vm._f(\"format2Digit\")(props.item.manufacturerPrice * _vm.numberOfPartsShownInPriceDetails)))])])]}}],null,true)},[_c('template',{slot:\"footer\"},[_c('tr',[_c('td'),_c('td'),_c('td',{staticClass:\"text-xs-right\"},[_vm._v(_vm._s(_vm._f(\"format2Digit\")(group.reduce((a, b) => +a + +b.cost, 0))))]),_c('td',{staticClass:\"text-xs-right\"},[_vm._v(_vm._s(_vm._f(\"format2Digit\")(group.reduce((a, b) => +a + +b.cost, 0) * _vm.numberOfPartsShownInPriceDetails)))]),_c('td'),_c('td',{staticClass:\"text-xs-right\"},[_vm._v(_vm._s(_vm._f(\"format2Digit\")(group.reduce((a, b) => +a + +b.manufacturerPrice, 0) * _vm.numberOfPartsShownInPriceDetails)))])])])],2)],1)}),_vm._v(\"\\n * Materialpreis ist ohne die Marge von typischerweise 6%.\\n \")],2)],1)],1),_c('v-dialog',{attrs:{\"width\":\"500\",\"persistent\":\"\"},model:{value:(_vm.articleDialog),callback:function ($$v) {_vm.articleDialog=$$v},expression:\"articleDialog\"}},[_c('v-card',[_c('v-card-title',[_c('h1',{staticClass:\"font-weight-light\"},[_vm._v(\"Artikel bearbeiten\")])]),_c('v-card-text',[_c('v-text-field',{attrs:{\"hint\":\"Dieser Betrag wird einmal pro Position dieses Artikels berechnet. (Nicht pro Stück)\",\"label\":\"Preiszuschlag\",\"type\":\"number\"},model:{value:(_vm.article.priceSurcharge),callback:function ($$v) {_vm.$set(_vm.article, \"priceSurcharge\", _vm._n($$v))},expression:\"article.priceSurcharge\"}}),_c('v-textarea',{attrs:{\"hint\":\"Diese Meldung ist in Boost auch sichtbar. Für den Kunden ist sie nicht sichtbar.\",\"label\":\"Blexon-Notiz\"},on:{\"blur\":function($event){_vm.article.blexonComment = _vm.article.blexonComment.trim();}},model:{value:(_vm.article.blexonComment),callback:function ($$v) {_vm.$set(_vm.article, \"blexonComment\", $$v)},expression:\"article.blexonComment\"}}),_c('v-textarea',{attrs:{\"hint\":\"Diese Meldung ist für den Fertiger sichtbar.\",\"label\":\"Fertiger-Notiz\"},on:{\"blur\":function($event){_vm.article.manufacturingComment = _vm.article.manufacturingComment.trim();}},model:{value:(_vm.article.manufacturingComment),callback:function ($$v) {_vm.$set(_vm.article, \"manufacturingComment\", $$v)},expression:\"article.manufacturingComment\"}}),_c('v-textarea',{attrs:{\"hint\":\"Zusätzliche Fehlermeldung zum Artikel. Wird im Shop angezeigt.\",\"label\":\"Fehlermeldung\"},on:{\"blur\":function($event){_vm.errorMessage = _vm.errorMessage.trim();}},model:{value:(_vm.errorMessage),callback:function ($$v) {_vm.errorMessage=$$v},expression:\"errorMessage\"}}),_c('v-checkbox',{attrs:{\"label\":\"Pulverbeschichtung zulassen\",\"color\":\"accent\"},on:{\"change\":function($event){return _vm.changeOverridePowderCoating()}},model:{value:(_vm.article.hasPowderCoatingOverride),callback:function ($$v) {_vm.$set(_vm.article, \"hasPowderCoatingOverride\", $$v)},expression:\"article.hasPowderCoatingOverride\"}})],1),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{on:{\"click\":function($event){_vm.articleDialog=false; _vm.fehlermeldung=''}}},[_vm._v(\"Schliessen\")]),_c('v-btn',{staticClass:\"blexon-button\",on:{\"click\":function($event){return _vm.saveEdits()}}},[_vm._v(\"\\n Speichern\\n \")])],1)],1)],1),_c('v-dialog',{attrs:{\"width\":\"500\",\"persistent\":\"\"},model:{value:(_vm.deleteMessagesDialog),callback:function ($$v) {_vm.deleteMessagesDialog=$$v},expression:\"deleteMessagesDialog\"}},[_c('v-card',[_c('v-card-title',[_c('h1',{staticClass:\"font-weight-light\"},[_vm._v(\"Meldungen löschen\")])]),_c('v-card-text',_vm._l((_vm.getNonObsoleteCamMessages),function(message,index){return _c('p',{key:index},[_c('v-checkbox',{attrs:{\"disabled\":_vm.deletingMessages,\"label\":_vm.getMessageSchweregradText(message.schweregrad) + ': ' + message.originalMessage + ' (' + message.title + ')',\"color\":\"accent\"},model:{value:(message.isSelected),callback:function ($$v) {_vm.$set(message, \"isSelected\", $$v)},expression:\"message.isSelected\"}})],1)}),0),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{on:{\"click\":function($event){_vm.deleteMessagesDialog=false}}},[_vm._v(\"Schliessen\")]),_c('v-btn',{staticClass:\"blexon-button\",attrs:{\"disabled\":_vm.deletingMessages,\"loading\":_vm.deletingMessages},on:{\"click\":function($event){return _vm.deleteMessages()}}},[_vm._v(\"\\n Ausgewählte löschen\\n \")])],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { Component, Vue, Prop, Watch } from 'vue-property-decorator';\r\nimport { WorkStepDto } from '@/dtos/workStepDto';\r\nimport { ArticleDto } from '../../dtos/articleDto';\r\nimport { ArticleState } from '../../dtos/articleState';\r\nimport httpClient from '../../store/httpClient';\r\nimport ArticleCadPreview from '@/components/ArticleCadPreview.vue'\r\nimport ArticleFaceTypes from '@/dtos/IArticleFaceTypes';\r\nimport { IArticleFaceType } from '@/dtos/IArticleFaceTypes';\r\nimport PowderFinishes from '@/dtos/IPowderFinish';\r\nimport { IPowderFinish } from '@/dtos/IPowderFinish';\r\nimport PowderStructures from '@/dtos/IPowderStructure';\r\nimport { IPowderStructure } from '@/dtos/IPowderStructure';\r\nimport { PriceState } from '@/dtos/priceState';\r\nimport PriceModelDefault, { PriceModel } from \"@/dtos/priceModel\"\r\nimport { PriceListDto } from '@/dtos/priceListDto';\r\nimport { PriceDto } from '@/dtos/priceDto';\r\nimport { getEntgratartText } from '@/dtos/entgratart';\r\n\r\n@Component({\r\n components: {\r\n\t\tArticleCadPreview,\r\n },\r\n})\r\nexport default class ArticleComponent extends Vue {\r\n @Prop()\r\n private article!: ArticleDto;\r\n private loading: boolean = false;\r\n private recalculatingPrice: boolean = false;\r\n private simulateBendingRunning: boolean = false;\r\n private updateAssemblyRunning: boolean = false;\r\n private validateRunning: boolean = false;\r\n private deletingMessages: boolean = false;\r\n private designRunning: boolean = false;\r\n private camValidationRunning: boolean = false;\r\n private updateBoundingBoxRunning: boolean = false;\r\n private updateWeightRunning: boolean = false;\r\n private showPriceDetailsDialog: boolean = false;\r\n private workSteps: WorkStepDto[] = [];\r\n private numberOfPartsShownInPriceDetails: number = 0;\r\n private articleDialog: boolean = false;\r\n private lastSurcharge: number = 0;\r\n private lastBlexonComment: string = '';\r\n private lastManufacturingComment: string = '';\r\n private errorMessage: string = '';\r\n private articleFaces: IArticleFaceType[] = ArticleFaceTypes;\r\n private powderFinishes: IPowderFinish[] = PowderFinishes;\r\n private powderStructures: IPowderStructure[] = PowderStructures;\r\n private priceModels = PriceModelDefault.allPriceModels;\r\n private isLoadingPrices: boolean = false;\r\n private deleteMessagesDialog: boolean = false;\r\n\r\n private mounted() {\r\n this.lastSurcharge = this.article.priceSurcharge;\r\n this.lastBlexonComment = this.article.blexonComment;\r\n this.lastManufacturingComment = this.article.manufacturingComment;\r\n this.article.camMessages.forEach((m:any) => m.isSelected = true);\r\n }\r\n\r\n @Watch('deleteMessagesDialog')\r\n private onDeleteMessagesDialogChanged() {\r\n if (this.deleteMessagesDialog) {\r\n this.article.camMessages.forEach((m:any) => m.isSelected = true);\r\n }\r\n }\r\n\r\n private get entgratarten() {\r\n return [\r\n {\r\n text: getEntgratartText(0),\r\n value: 0,\r\n },\r\n {\r\n text: getEntgratartText(2),\r\n value: 2,\r\n },\r\n {\r\n text: getEntgratartText(4),\r\n value: 4,\r\n },\r\n {\r\n text: getEntgratartText(3),\r\n value: 3,\r\n },\r\n {\r\n text: getEntgratartText(1),\r\n value: 1,\r\n },\r\n ];\r\n }\r\n\r\n private get articleStateText() {\r\n switch (this.article.state) {\r\n case ArticleState.OK: {\r\n return 'OK';\r\n }\r\n case ArticleState.Warning: {\r\n return 'Warnung';\r\n }\r\n case ArticleState.Error: {\r\n return 'Fehler';\r\n }\r\n case ArticleState.Locked: {\r\n return 'Gesperrt';\r\n }\r\n case ArticleState.New: {\r\n return 'Neu';\r\n }\r\n case ArticleState.Info: {\r\n return 'Aktion erforderlich';\r\n }\r\n case ArticleState.Deleted: {\r\n return 'Gelöscht'\r\n }\r\n default: {\r\n return 'Unklar';\r\n }\r\n }\r\n }\r\n private get articleStateColor() {\r\n switch (this.article.state) {\r\n case ArticleState.OK: {\r\n return '#C8E6C9';\r\n }\r\n case ArticleState.Warning: {\r\n return '#FFF9C4';\r\n }\r\n case ArticleState.Error: {\r\n return '#FFCDD2';\r\n }\r\n case ArticleState.Locked: {\r\n return '#CFD8DC';\r\n }\r\n case ArticleState.Deleted: {\r\n return '#fdcdff';\r\n }\r\n default: {\r\n return 'blue';\r\n }\r\n }\r\n }\r\n private async updateEntgratart() {\r\n try {\r\n this.loading = true;\r\n await httpClient().post(`Article/SetEntgratart?articleId=${this.article.articleId}&entgratart=${this.article.entgratart}`);\r\n } catch {\r\n console.log('Update entgratart failed.');\r\n this.$store.commit('setSnackbarErrorText', 'Entgratart konnte nicht gesetzt werden.');\r\n } finally {\r\n this.loading = false;\r\n }\r\n }\r\n\r\n private async showPriceDetails(price: any) {\r\n this.showPriceDetailsDialog = true;\r\n try {\r\n this.loading = true;\r\n this.workSteps = [];\r\n this.numberOfPartsShownInPriceDetails = price.quantity;\r\n const response = await httpClient().get(`Calculation/GetWorkStepsForArticle?articleId=${this.article.articleId}&quantity=${price.quantity}`);\r\n this.workSteps = response.data;\r\n } catch {\r\n console.log('Update article failed.');\r\n this.$store.commit('setSnackbarErrorText', 'Fehler beim Laden der Preisdetails.');\r\n } finally {\r\n this.loading = false;\r\n }\r\n }\r\n\r\n private async updateArticle() {\r\n try {\r\n this.loading = true;\r\n await httpClient().post(`Article/UpdateArticleData`, this.article);\r\n this.$store.commit('setSnackbarText', 'Änderungen erfolgreich gespeichert.');\r\n } catch {\r\n console.log('Update article failed.');\r\n this.$store.commit('setSnackbarErrorText', 'Fehler beim Speichern der Änderungen.');\r\n } finally {\r\n this.loading = false;\r\n }\r\n }\r\n\r\n private async deleteMessages() {\r\n try {\r\n this.deletingMessages = true;\r\n let messagesToDelete = this.getNonObsoleteCamMessages.filter((m:any) => m.isSelected);\r\n console.log(messagesToDelete);\r\n let response;\r\n if (messagesToDelete.length === this.getNonObsoleteCamMessages.length) {\r\n response = await httpClient().post(`Article/DeleteAllMessages?articleId=${this.article.articleId}`, null);\r\n } else {\r\n response = await httpClient().post(`Article/DeleteArticleMessages?articleId=${this.article.articleId}`, messagesToDelete);\r\n }\r\n this.$store.dispatch('updateArticle', this.article.articleId);\r\n this.$store.commit('setSnackbarText', 'Ausgewählte CAM und Blexon Meldungen erfolgreich gelöscht.');\r\n } catch {\r\n this.$store.commit('setSnackbarErrorText', 'Fehler beim Löschen der Meldungen.');\r\n } finally {\r\n this.deletingMessages = false;\r\n this.deleteMessagesDialog = false;\r\n }\r\n }\r\n\r\n private async design() {\r\n try {\r\n this.designRunning = true;\r\n const response = await httpClient().post(`Article/design?articleId=${this.article.articleId}`);\r\n this.$store.commit('setSnackbarText', 'Design für Artikel berechnet.');\r\n } catch {\r\n this.$store.commit('setSnackbarErrorText', 'Fehler beim Design.');\r\n } finally {\r\n this.designRunning = false;\r\n }\r\n }\r\n\r\n private async camValidation() {\r\n try {\r\n this.camValidationRunning = true;\r\n const response = await httpClient().post(`Article/CamValidation?articleId=${this.article.articleId}`);\r\n this.$store.commit('setSnackbarText', 'CAM Validation wurde gestartet.');\r\n } catch {\r\n this.$store.commit('setSnackbarErrorText', 'Fehler beim Aufruf von CamValidation.');\r\n } finally {\r\n this.camValidationRunning = false;\r\n }\r\n }\r\n\r\n private async updatePrice() {\r\n \r\n try {\r\n this.recalculatingPrice = true;\r\n await httpClient().post(`Calculation/CalculateStaffelpreise?articleId=${this.article.articleId}`);\r\n this.$store.commit('setSnackbarText', 'Preis neu berechnet.');\r\n } catch {\r\n console.log('Update step file with bounding box failed.');\r\n this.$store.commit('setSnackbarErrorText', 'Preisberechnung ist fehlgeschlagen.');\r\n } finally {\r\n this.recalculatingPrice = false;\r\n }\r\n }\r\n\r\n private async updateWeight() {\r\n try {\r\n this.updateWeightRunning = true;\r\n const response = await httpClient().post(`Article/UpdateArticleWeight?articleId=${this.article.articleId}`);\r\n this.article.weight = response.data.weight;\r\n this.$store.commit('setSnackbarText', 'Gewicht erfolgreich neu berechnet und gespeichert.');\r\n } catch {\r\n console.log('Update weight failed.');\r\n this.$store.commit('setSnackbarErrorText', 'Fehler bei der Neuberechnung des Gewichts.');\r\n } finally {\r\n this.updateWeightRunning = false;\r\n }\r\n }\r\n\r\n private async updateBoundingBox() {\r\n try {\r\n this.updateBoundingBoxRunning = true;\r\n await httpClient().post(`Article/UpdateBoundingbox?articleId=${this.article.articleId}`);\r\n this.$store.commit('setSnackbarText', 'Grösse erfolgreich neu berechnet und gespeichert.');\r\n } catch {\r\n console.error('Update boundingbox failed.');\r\n this.$store.commit('setSnackbarErrorText', 'Fehler bei der Neuberechnung der Grösse.');\r\n } finally {\r\n this.updateBoundingBoxRunning = false;\r\n }\r\n }\r\n\r\n private async simulateBending() {\r\n try {\r\n this.simulateBendingRunning = true;\r\n const response = await httpClient().post(`Article/simulateBending?articleId=${this.article.articleId}`);\r\n this.$store.commit('setSnackbarText', 'Biegesimulation durchgeführt.');\r\n } catch {\r\n this.$store.commit('setSnackbarErrorText', 'Fehler beim Aufruf der Biegesimulation.');\r\n } finally {\r\n this.simulateBendingRunning = false;\r\n }\r\n }\r\n\r\n private async updateAssembly() {\r\n try {\r\n this.updateAssemblyRunning = true;\r\n const response = await httpClient().post(`Article/updateBaugruppe?subarticleId=${this.article.articleId}`);\r\n this.$store.commit('setSnackbarText', 'Baugruppe wurde aktualisiert.');\r\n } catch {\r\n this.$store.commit('setSnackbarErrorText', 'Fehler beim Aktualisieren der Baugruppe.');\r\n } finally {\r\n this.updateAssemblyRunning = false;\r\n }\r\n }\r\n\r\n private async validate() {\r\n try {\r\n this.validateRunning = true;\r\n const response = await httpClient().post(`Article/validate?articleId=${this.article.articleId}`);\r\n this.$store.commit('setSnackbarText', 'Validation gestartet. Der Artikel wird selbständig aktualisiert.');\r\n } catch {\r\n this.$store.commit('setSnackbarErrorText', 'Fehler beim Start der Validation.');\r\n } finally {\r\n this.validateRunning = false;\r\n }\r\n }\r\n\r\n private async lockArticle() {\r\n try {\r\n await httpClient().post(`article/LockArticle?articleId=${this.article.articleId}`);\r\n this.$store.commit('setSnackbarText', 'Artikel erfolgreich gesperrt.');\r\n } catch (err) {\r\n console.log(`Der Artikel konnte nicht gesperrt werden. Error: ${err}`);\r\n }\r\n }\r\n\r\n private async unlockArticle() {\r\n try {\r\n const response = await httpClient().post(`article/UnlockArticle?articleId=${this.article.articleId}`);\r\n this.article.state = response.data;\r\n } catch (err) {\r\n console.log(`Der Artikel konnte nicht entsperrt werden. Error: ${err}`);\r\n }\r\n }\r\n\r\n private async downloadOriginalImportFile() {\r\n this.$store.dispatch('downloadOriginalImportFile', this.article.articleId);\r\n }\r\n\r\n private async deleteArticle() {\r\n try {\r\n if (window.confirm(\"Sicher?\")) {\r\n await httpClient().post(`article/delete?articleId=${this.article.articleId}`);\r\n // Event um den Artikel auch lokal zu löschen\r\n this.$emit('deleted', this.article.articleId);\r\n }\r\n } catch (err) {\r\n console.error(`Der Artikel konnte nicht gelöscht werden. Error: ${err}`);\r\n }\r\n }\r\n\r\n private async changeOverridePowderCoating() {\r\n try {\r\n await httpClient().post(`article/SetPowderCoatingOverride?articleId=${this.article.articleId}&overrideEnabled=${this.article.hasPowderCoatingOverride}`, null);\r\n } catch (err) {\r\n this.$store.commit('setSnackbarErrorText', 'Änderung konnten nicht gespeichert werden.');\r\n }\r\n }\r\n\r\n private async reactivateArticle() {\r\n if (this.article.state != ArticleState.Deleted) return;\r\n try {\r\n this.article.calculating = true;\r\n await httpClient().post(`article/ReactivateArticle?articleId=${this.article.articleId}`, null);\r\n this.$store.commit('setSnackbarText', 'Artikel erfolgreich reaktiviert.');\r\n this.$emit(\"reactivatedArticle\", this.article.articleId);\r\n } catch(err) {\r\n this.$store.commit('setSnackbarErrorText', 'Artikel konnte nicht reaktiviert werden.');\r\n }\r\n }\r\n\r\n private async saveEdits() {\r\n if (this.article.priceSurcharge == null || this.article.priceSurcharge as any == '') {\r\n this.article.priceSurcharge = 0;\r\n }\r\n try {\r\n if (this.lastBlexonComment != this.article.blexonComment) {\r\n let data: any = {\r\n comment: this.article.blexonComment\r\n }\r\n await httpClient().post(`article/SetBlexonComment?articleId=${this.article.articleId}`, data);\r\n this.lastBlexonComment = this.article.blexonComment;\r\n }\r\n if (this.lastManufacturingComment != this.article.manufacturingComment) {\r\n let data: any = {\r\n comment: this.article.manufacturingComment\r\n }\r\n await httpClient().post(`article/SetManufacturingComment?articleId=${this.article.articleId}`, data);\r\n this.lastManufacturingComment = this.article.manufacturingComment;\r\n }\r\n if (this.lastSurcharge != this.article.priceSurcharge) {\r\n let data: any = {\r\n surcharge: this.article.priceSurcharge\r\n }\r\n await httpClient().post(`article/SetSurcharge?articleId=${this.article.articleId}`, data);\r\n this.lastSurcharge = this.article.priceSurcharge;\r\n }\r\n if (this.errorMessage != '') {\r\n let data: any = {\r\n comment: this.errorMessage\r\n }\r\n await httpClient().post(`article/addHelpdeskMessage?articleId=${this.article.articleId}`, data);\r\n this.errorMessage = '';\r\n }\r\n this.$store.commit('setSnackbarText', 'Änderungen wurden erfolgreich gespeichert.');\r\n } catch (err) {\r\n this.$store.commit('setSnackbarErrorText', 'Änderungen konnten nicht korrekt gespeichert werden.');\r\n } finally {\r\n this.articleDialog = false;\r\n }\r\n }\r\n\r\n private GetArticleFaceString(enumValue: number) {\r\n return this.articleFaces.filter((type: IArticleFaceType) => type.value == enumValue)[0].text;\r\n }\r\n private GetStructureString(enumValue: number) {\r\n return this.powderStructures.filter((type: IPowderStructure) => type.value == enumValue)[0].text;\r\n }\r\n private GetFinishString(enumValue: number) {\r\n return this.powderFinishes.filter((type: IPowderFinish) => type.value == enumValue)[0].text;\r\n }\r\n\r\n private get showPriceError() {\r\n return this.article.priceState == PriceState.NotCalculated\r\n || this.article.priceState == PriceState.Invalid\r\n || this.article.priceState == PriceState.Failed;\r\n }\r\n private get availablePriceModels() {\r\n\t\tlet availablePriceModels = this.priceModels.filter((p:any) => \r\n\t\t\tthis.article.priceLists.some((pl:PriceListDto) => pl.priceModel == p.value));\r\n\t\treturn availablePriceModels;\r\n\t}\r\n private getPriceModelName(model: PriceModel) {\r\n return this.priceModels.filter((p:any) => model == p.value)[0].name;\r\n }\r\n private get sortedPrices() {\r\n if (this.article.priceLists.length <= 0) {\r\n return [];\r\n } else {\r\n let sortedPrices: PriceDto[] = Array.from(this.article.priceLists[0].prices);\r\n return sortedPrices.sort((a:any, b:any) => a.quantity - b.quantity);\r\n }\r\n }\r\n private getModelPrice(quantity: number, model: PriceModel): string {\r\n let list = this.article.priceLists.filter((pl:PriceListDto) => pl.priceModel == model)[0];\r\n return list.prices.filter((p:PriceDto) => p.quantity === quantity)[0].price.toFixed(2);\r\n }\r\n\r\n private async getPrices() {\r\n if (this.article.priceLists != null && this.article.priceLists.length > 0) {\r\n return;\r\n } \r\n if (this.article.priceState <= 1) {\r\n return // Price needs to be recalculated first\r\n }\r\n try {\r\n this.isLoadingPrices = true;\r\n const response = await httpClient().get(`Calculation/LoadPrices?articleId=${this.article.articleId}`);\r\n if(response.data.length <= 0) {\r\n this.article.priceState = 0;\r\n } else {\r\n this.article.priceLists = response.data;\r\n }\r\n } catch {\r\n console.log('Error while loading prices for article.');\r\n this.$store.commit('setSnackbarErrorText', 'Prices could not be loaded.');\r\n } finally {\r\n this.isLoadingPrices = false;\r\n }\r\n }\r\n\r\n private get workStepGroups() {\r\n if (this.workSteps.length > 0) {\r\n let grouped = this.groupByKey(this.workSteps, 'priceModel');\r\n return grouped;\r\n }\r\n return [];\r\n }\r\n\r\n private groupByKey(array: any, key: string) {\r\n return (array as [])\r\n .reduce((hash, obj) => {\r\n if(obj[key] === undefined) return hash; \r\n return Object.assign(hash, { [obj[key]]:(( hash[obj[key]] || [] ) as any).concat(obj)})\r\n }, {})\r\n }\r\n\r\n private getPriceTableHeaders() {\r\n let headers = [];\r\n headers.push({text: 'Stk.', sortable: false, align: 'right'});\r\n if (this.availablePriceModels.length > 1) {\r\n this.availablePriceModels.forEach((pm: any) => headers.push({text: `${pm.name}`, sortable: false, align: 'right'}));\r\n } else {\r\n headers.push({text: 'Preis / Stk.', sortable: false, align: 'right'});\r\n }\r\n headers.push({text: '', sortable: false, align: 'left'});\r\n return headers;\r\n }\r\n\r\n private getFeatureString(article: ArticleDto) : string {\r\n const featureTexts = article.featureDtos.map((f) => `${f.count} * ${f.formVorlageText}`);\r\n if (article.hasEngravings) {\r\n featureTexts.push('Gravur');\r\n }\r\n return featureTexts.join(' | ');\r\n }\r\n\r\n /**\r\n * Creates a text to show at the user interface to inform the user\r\n * about the weldline features.\r\n */\r\n private getWeldlineString() : string {\r\n var text = '';\r\n if (this.article.weldlines.length === 1) {\r\n text = '1 Schweißnaht';\r\n } else if (this.article.weldlines.length > 1) {\r\n text = `${this.article.weldlines.length} Schweißnähte`\r\n }\r\n const numberOfCorners = this.article.weldlines.reduce( (a, b) => {\r\n return a + b.corners.length;\r\n }, 0);\r\n if (numberOfCorners === 1) {\r\n text += ` | 1 Ecke`\r\n } else if (numberOfCorners > 1) {\r\n text += ` | ${numberOfCorners} Ecken`\r\n }\r\n if (this.article.weldlines.some(w => w.clean)) {\r\n text += ` | verputzt`\r\n } else if (this.article.weldlines.length > 0) {\r\n text += ` | unverputzt`\r\n }\r\n return text;\r\n }\r\n\r\n private get getNonObsoleteCamMessages() {\r\n return this.article.camMessages.filter((m:any) => m.state != 3);\r\n }\r\n\r\n private getMessageSchweregradText(schweregrad: number) {\r\n switch (schweregrad) {\r\n case 0:\r\n return 'Info';\r\n case 1:\r\n return 'Warnung';\r\n case 2:\r\n return 'Error';\r\n default:\r\n return 'Unbekannter Nachrichtentyp';\r\n }\r\n }\r\n\r\n}\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ArticleComponent.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ArticleComponent.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./ArticleComponent.vue?vue&type=template&id=8902c846&scoped=true\"\nimport script from \"./ArticleComponent.vue?vue&type=script&lang=ts\"\nexport * from \"./ArticleComponent.vue?vue&type=script&lang=ts\"\nimport style0 from \"./ArticleComponent.vue?vue&type=style&index=0&id=8902c846&prod&scoped=true&lang=css\"\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 \"8902c846\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticStyle:{\"flex\":\"1\",\"min-width\":\"400px\",\"max-width\":\"600px\"}},[_c('v-card',{staticStyle:{\"border\":\"2px solid #efbb20\"}},[_c('v-card-title',[_c('div',{staticStyle:{\"display\":\"flex\",\"align-items\":\"center\",\"width\":\"100%\"}},[_c('h1',{staticClass:\"body-2\",staticStyle:{\"flex\":\"1\"}},[_vm._v(_vm._s(_vm.article.customerArticleName))]),_c('v-btn',{staticClass:\"blexon-button\",staticStyle:{\"flex\":\"none\"},attrs:{\"icon\":\"\",\"small\":\"\",\"title\":\"Artikel bearbeiten\"},on:{\"click\":function($event){_vm.articleDialog=true}}},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"edit\")])],1),_c('v-btn',{staticClass:\"blexon-button\",staticStyle:{\"flex\":\"none\"},attrs:{\"icon\":\"\",\"small\":\"\",\"title\":\"Artikel löschen\"},on:{\"click\":function($event){return _vm.deleteArticle()}}},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"delete_forever\")])],1),_c('v-menu',{attrs:{\"offset-y\":\"\",\"close-on-content-click\":false}},[_c('v-btn',{staticClass:\"blexon-button\",staticStyle:{\"flex\":\"none\"},attrs:{\"slot\":\"activator\",\"icon\":\"\",\"small\":\"\",\"title\":\"Artikelfunktionen\"},slot:\"activator\"},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"build\")])],1),_c('v-list',{attrs:{\"dense\":\"\"}},[_c('v-list-tile',{on:{\"click\":function($event){return _vm.downloadOriginalImportFile()}}},[_c('v-list-tile-avatar',[_c('v-icon',{attrs:{\"color\":\"accent\"}},[_vm._v(\"file_download\")])],1),_c('v-list-tile-title',[_vm._v(\"\\n Download Importdatei\\n \")])],1)],1)],1)],1),_c('v-progress-linear',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.loading),expression:\"loading\"}],attrs:{\"indeterminate\":\"\"}})],1),_c('v-card-text',[_c('v-layout',{attrs:{\"row\":\"\"}},[_c('v-flex',{attrs:{\"shrink\":\"\"}},[_c('article-cad-preview',{attrs:{\"articleId\":_vm.article.articleId,\"articleLastChange\":_vm.article.lastChange,\"width\":\"140px\",\"height\":\"100px\",\"readonly\":false}})],1),_c('v-flex',[_c('v-layout',{staticClass:\"caption\",attrs:{\"column\":\"\"}},[_c('span',[_vm._v(\"Artikelnr: \"+_vm._s(_vm.article.customerArticleId))]),_c('span',[_vm._v(\"\\n Blexonnr: \\n \"),_c('a',{attrs:{\"href\":`boost://homezone/browse/part?id=${_vm.article.articleId}`}},[_vm._v(\"\\n \"+_vm._s(_vm.article.articleId)+\"\\n \")])]),_c('span',[_vm._v(\"Gewicht: \"+_vm._s(_vm._f(\"format3Digit\")(_vm.weight))+\"kg\")]),_c('span',[_c('router-link',{attrs:{\"to\":'/customer/detail/' + _vm.article.customerId}},[_vm._v(\"\\n \"+_vm._s(_vm.article.companyName)+\" | \"+_vm._s(_vm.article.customerId)+\" | \"+_vm._s(_vm.article.firstName)+\" \"+_vm._s(_vm.article.surname)+\"\\n \")])],1)])],1)],1),_c('v-layout',{attrs:{\"row\":\"\",\"align-center\":\"\"}},[_c('v-flex',{attrs:{\"shrink\":\"\"}},[_c('v-chip',{staticClass:\"ma-0\",attrs:{\"color\":_vm.articleStateColor}},[(_vm.assemblyState.locked)?_c('v-icon',[_vm._v(\"\\n lock\\n \")]):_vm._e(),_vm._v(\"\\n \"+_vm._s(_vm.articleStateText)+\"\\n \")],1),(_vm.article.calculating)?_c('v-progress-circular',{attrs:{\"indeterminate\":\"\",\"color\":\"accent\"}}):_vm._e()],1),(_vm.article.state == 9)?_c('v-flex',{attrs:{\"shrink\":\"\"}},[_c('v-btn',{attrs:{\"disabled\":_vm.article.calculating,\"small\":\"\",\"title\":\"Reaktiviert den Artikel und passt den Status an.\"},on:{\"click\":function($event){return _vm.reactivateArticle()}}},[_vm._v(\"\\n Reaktivieren\\n \")])],1):_vm._e(),_c('v-flex',[_c('v-btn',{attrs:{\"to\":'/article/assembly/' + _vm.article.articleId}},[_vm._v(\"Anzeigen\")])],1)],1),_c('v-layout',{attrs:{\"row\":\"\"}},[_c('v-flex',{attrs:{\"py-0\":\"\"}},[_c('small',[_vm._v(\"Erstellt: \"+_vm._s(_vm._f(\"formatDate\")(_vm.article.createdAt))+\" | Letzte Änderung: \"+_vm._s(_vm._f(\"formatDateAndTime\")(_vm.article.lastChange)))])])],1)],1)],1),_c('v-dialog',{attrs:{\"width\":\"500\",\"persistent\":\"\"},model:{value:(_vm.articleDialog),callback:function ($$v) {_vm.articleDialog=$$v},expression:\"articleDialog\"}},[_c('v-card',[_c('v-card-title',[_c('h1',{staticClass:\"font-weight-light\"},[_vm._v(\"Artikel bearbeiten\")])]),_c('v-card-text',[_c('v-text-field',{attrs:{\"hint\":\"Dieser Betrag wird einmal pro Position dieses Artikels berechnet. (Nicht pro Stück)\",\"label\":\"Preiszuschlag\",\"type\":\"number\"},model:{value:(_vm.article.priceSurcharge),callback:function ($$v) {_vm.$set(_vm.article, \"priceSurcharge\", _vm._n($$v))},expression:\"article.priceSurcharge\"}}),_c('v-textarea',{attrs:{\"hint\":\"Diese Meldung ist in Boost auch sichtbar. Für den Kunden ist sie nicht sichtbar.\",\"label\":\"Blexon-Notiz\"},on:{\"blur\":function($event){_vm.article.blexonComment = _vm.article.blexonComment.trim();}},model:{value:(_vm.article.blexonComment),callback:function ($$v) {_vm.$set(_vm.article, \"blexonComment\", $$v)},expression:\"article.blexonComment\"}}),_c('v-textarea',{attrs:{\"hint\":\"Diese Meldung ist für den Fertiger sichtbar.\",\"label\":\"Fertiger-Notiz\"},on:{\"blur\":function($event){_vm.article.manufacturingComment = _vm.article.manufacturingComment.trim();}},model:{value:(_vm.article.manufacturingComment),callback:function ($$v) {_vm.$set(_vm.article, \"manufacturingComment\", $$v)},expression:\"article.manufacturingComment\"}}),_c('v-textarea',{attrs:{\"hint\":\"Zusätzliche Fehlermeldung zum Artikel. Wird im Shop angezeigt.\",\"label\":\"Fehlermeldung\"},on:{\"blur\":function($event){_vm.errorMessage = _vm.errorMessage.trim();}},model:{value:(_vm.errorMessage),callback:function ($$v) {_vm.errorMessage=$$v},expression:\"errorMessage\"}}),_c('v-checkbox',{attrs:{\"label\":\"Pulverbeschichtung zulassen\",\"color\":\"accent\"},on:{\"change\":function($event){return _vm.changeOverridePowderCoating()}},model:{value:(_vm.article.hasPowderCoatingOverride),callback:function ($$v) {_vm.$set(_vm.article, \"hasPowderCoatingOverride\", $$v)},expression:\"article.hasPowderCoatingOverride\"}})],1),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{on:{\"click\":function($event){_vm.articleDialog=false; _vm.fehlermeldung=''}}},[_vm._v(\"Schliessen\")]),_c('v-btn',{staticClass:\"blexon-button\",on:{\"click\":function($event){return _vm.saveEdits()}}},[_vm._v(\"\\n Speichern\\n \")])],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { Component, Vue, Prop, Watch } from 'vue-property-decorator';\r\nimport { ArticleDto } from '../../dtos/articleDto';\r\nimport { ArticleState } from '../../dtos/articleState';\r\nimport { PriceState } from '../../dtos/priceState';\r\nimport httpClient from '../../store/httpClient';\r\nimport ArticleCadPreview from '@/components/ArticleCadPreview.vue'\r\n\r\n@Component({\r\n components: {\r\n\t\tArticleCadPreview,\r\n },\r\n})\r\nexport default class ArticleComponent extends Vue {\r\n @Prop()\r\n private article!: ArticleDto;\r\n private loading: boolean = false;\r\n private articleDialog: boolean = false;\r\n private lastSurcharge: number = 0;\r\n private lastBlexonComment: string = '';\r\n private lastManufacturingComment: string = '';\r\n private errorMessage: string = '';\r\n\r\n private mounted() {\r\n this.lastSurcharge = this.article.priceSurcharge;\r\n this.lastBlexonComment = this.article.blexonComment;\r\n this.lastManufacturingComment = this.article.manufacturingComment;\r\n this.$store.dispatch('loadMissingArticles', this.article.subArticleIds);\r\n }\r\n\r\n private get subarticles() : ArticleDto[] {\r\n const subarticles = this.$store.state.articles.filter((a:ArticleDto) => this.article.subArticleIds.some(id => id == a.articleId));\r\n return subarticles;\r\n }\r\n\r\n private get weight() : number {\r\n let total = 0;\r\n this.subarticles.map(a => total += (a.quantityInAssembly == null ? 0 : a.quantityInAssembly) * a.weight)\r\n return total;\r\n }\r\n\r\n private get assemblyState() {\r\n const locked : boolean = this.subarticles.some((a: ArticleDto) => a.locked);\r\n let state = ArticleState.OK;\r\n if (this.subarticles.length <= 0 || this.subarticles.some((a: ArticleDto) => a.state == ArticleState.Error)) {\r\n state = ArticleState.Error;\r\n } else if (this.subarticles.some((a: ArticleDto) => a.state == ArticleState.Info)) {\r\n state = ArticleState.Info;\r\n } else if (this.subarticles.some((a: ArticleDto) => a.state == ArticleState.Warning)) {\r\n state = ArticleState.Warning;\r\n }\r\n const calculating = this.subarticles.some((a: ArticleDto) => a.calculating);\r\n let priceState = PriceState.Ok;\r\n if (this.subarticles.some((a: ArticleDto) => a.priceState == PriceState.NotCalculated || a.priceState == PriceState.Invalid || a.priceState == PriceState.Failed)) {\r\n priceState = PriceState.Invalid;\r\n } else if (this.subarticles.some((a: ArticleDto) => a.priceState == PriceState.Calculating)) {\r\n priceState = PriceState.Calculating;\r\n }\r\n return {\r\n locked: locked,\r\n state: state,\r\n priceState: priceState,\r\n calculating: calculating,\r\n }\r\n }\r\n\r\n private get articleStateText() {\r\n if(this.assemblyState.locked) {\r\n return 'In Überprüfung';\r\n }\r\n switch(this.assemblyState.state) { \r\n case ArticleState.OK: { \r\n return 'OK';\r\n }\r\n case ArticleState.Warning: { \r\n return 'Warnung';\r\n }\r\n case ArticleState.Error: { \r\n return 'Fehler';\r\n }\r\n case ArticleState.Info: { \r\n return 'Aktion erforderlich';\r\n }\r\n default: { \r\n return 'Unklar';\r\n } \r\n } \r\n }\r\n\r\n private get articleStateColor() {\r\n switch (this.assemblyState.state) {\r\n case ArticleState.OK: {\r\n return '#C8E6C9';\r\n }\r\n case ArticleState.Warning: {\r\n return '#FFF9C4';\r\n }\r\n case ArticleState.Error: {\r\n return '#FFCDD2';\r\n }\r\n default: {\r\n return 'blue';\r\n }\r\n }\r\n }\r\n\r\n private async deleteArticle() {\r\n try {\r\n if (window.confirm(\"Sicher?\")) {\r\n await httpClient().post(`article/delete?articleId=${this.article.articleId}`);\r\n // Event um den Artikel auch lokal zu löschen\r\n this.$emit('deleted', this.article.articleId);\r\n }\r\n } catch (err) {\r\n console.error(`Der Artikel konnte nicht gelöscht werden. Error: ${err}`);\r\n }\r\n }\r\n\r\n private async downloadOriginalImportFile() {\r\n this.$store.dispatch('downloadOriginalImportFile', this.article.articleId);\r\n }\r\n\r\n private async changeOverridePowderCoating() {\r\n try {\r\n await httpClient().post(`article/SetPowderCoatingOverride?articleId=${this.article.articleId}&overrideEnabled=${this.article.hasPowderCoatingOverride}`, null);\r\n } catch (err) {\r\n this.$store.commit('setSnackbarErrorText', 'Änderung konnten nicht gespeichert werden.');\r\n }\r\n }\r\n\r\n private async reactivateArticle() {\r\n if (this.article.state != ArticleState.Deleted) return;\r\n try {\r\n this.article.calculating = true;\r\n await httpClient().post(`article/ReactivateArticle?articleId=${this.article.articleId}`, null);\r\n this.$store.commit('setSnackbarText', 'Artikel erfolgreich reaktiviert.');\r\n this.$emit(\"reactivatedArticle\", this.article.articleId);\r\n } catch(err) {\r\n this.$store.commit('setSnackbarErrorText', 'Artikel konnte nicht reaktiviert werden.');\r\n }\r\n }\r\n\r\n private async saveEdits() {\r\n if (this.article.priceSurcharge == null || this.article.priceSurcharge as any == '') {\r\n this.article.priceSurcharge = 0;\r\n }\r\n try {\r\n if (this.lastBlexonComment != this.article.blexonComment) {\r\n let data: any = {\r\n comment: this.article.blexonComment\r\n }\r\n await httpClient().post(`article/SetBlexonComment?articleId=${this.article.articleId}`, data);\r\n this.lastBlexonComment = this.article.blexonComment;\r\n }\r\n if (this.lastManufacturingComment != this.article.manufacturingComment) {\r\n let data: any = {\r\n comment: this.article.manufacturingComment\r\n }\r\n await httpClient().post(`article/SetManufacturingComment?articleId=${this.article.articleId}`, data);\r\n this.lastManufacturingComment = this.article.manufacturingComment;\r\n }\r\n if (this.lastSurcharge != this.article.priceSurcharge) {\r\n let data: any = {\r\n surcharge: this.article.priceSurcharge\r\n }\r\n await httpClient().post(`article/SetSurcharge?articleId=${this.article.articleId}`, data);\r\n this.lastSurcharge = this.article.priceSurcharge;\r\n }\r\n if (this.errorMessage != '') {\r\n let data: any = {\r\n comment: this.errorMessage\r\n }\r\n await httpClient().post(`article/addHelpdeskMessage?articleId=${this.article.articleId}`, data);\r\n this.errorMessage = '';\r\n }\r\n this.$store.commit('setSnackbarText', 'Änderungen wurden erfolgreich gespeichert.');\r\n } catch (err) {\r\n this.$store.commit('setSnackbarErrorText', 'Änderungen konnten nicht korrekt gespeichert werden.');\r\n } finally {\r\n this.articleDialog = false;\r\n }\r\n }\r\n\r\n\r\n}\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AssemblyComponent.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AssemblyComponent.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./AssemblyComponent.vue?vue&type=template&id=4b08ae30\"\nimport script from \"./AssemblyComponent.vue?vue&type=script&lang=ts\"\nexport * from \"./AssemblyComponent.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","\r\nimport { Component, Vue, Prop, Watch } from 'vue-property-decorator';\r\nimport httpClient from '../../store/httpClient';\r\nimport ArticleComponent from './ArticleComponent.vue';\r\nimport AssemblyComponent from './AssemblyComponent.vue';\r\nimport { debounce } from 'typescript-debounce-decorator';\r\nimport { ArticleDto } from '@/dtos/articleDto';\r\n\r\n@Component({\r\n components: {\r\n ArticleComponent,\r\n AssemblyComponent,\r\n },\r\n})\r\nexport default class ArticleDashboard extends Vue {\r\n @Prop()\r\n private customerIdProp!: any;\r\n @Prop()\r\n private articleIdProp!: any;\r\n private loading: boolean = false;\r\n private loadedArticleUpTo = 0;\r\n private scrollPos: number = 0;\r\n private suchbegriff: string = '';\r\n private customerId: number = 0;\r\n private customerIdString: string = '';\r\n private onlyLocked: boolean = false;\r\n private includeDeleted: boolean = false;\r\n private hasMoreToLoad: boolean = true;\r\n private loadBatchSize: number = 10;\r\n private filterModifiers: string[] = [\"Nur gültige\", \"Nur gesperrte\", \"Alle anzeigen\"];\r\n private filterModifier: string = \"Nur gültige\";\r\n\r\n private async mounted() {\r\n let alreadyLoaded = await this.setProps()\r\n if (!alreadyLoaded) {\r\n await this.loadArticle();\r\n }\r\n }\r\n\r\n private beforeMount() {\r\n window.addEventListener('scroll', this.handleScroll);\r\n }\r\n private beforeDestroy() {\r\n window.removeEventListener('scroll', this.handleScroll);\r\n }\r\n\r\n private async setProps(): Promise {\r\n let alreadyLoaded = false;\r\n if (this.customerIdProp !== undefined && !isNaN(parseInt(this.customerIdProp))) {\r\n this.customerId = this.customerIdProp;\r\n this.customerIdString = this.customerId.toString();\r\n alreadyLoaded = true;\r\n }\r\n if (this.articleIdProp !== undefined && !isNaN(parseInt(this.articleIdProp))) {\r\n this.suchbegriff = this.articleIdProp;\r\n alreadyLoaded = true;\r\n }\r\n return alreadyLoaded;\r\n }\r\n\r\n @debounce(700, { leading: false })\r\n @Watch('suchbegriff')\r\n private reloadOnSuchbegriff() {\r\n if (!this.loading) {\r\n this.articles = [];\r\n this.loadedArticleUpTo = 0;\r\n this.loadArticle();\r\n }\r\n }\r\n\r\n @Watch('filterModifier')\r\n private reloadOnSpecialFilterChanged() {\r\n switch(this.filterModifier) {\r\n case 'Nur gültige':\r\n this.onlyLocked = false;\r\n this.includeDeleted = false;\r\n break;\r\n case 'Nur gesperrte':\r\n this.onlyLocked = true;\r\n this.includeDeleted = false;\r\n break;\r\n case 'Alle anzeigen':\r\n this.onlyLocked = false;\r\n this.includeDeleted = true;\r\n break;\r\n }\r\n if (!this.loading) {\r\n this.articles = [];\r\n this.loadedArticleUpTo = 0;\r\n this.loadArticle();\r\n }\r\n }\r\n\r\n @debounce(700, { leading: false })\r\n @Watch('customerIdString')\r\n private reloadOnCustomerId() {\r\n if (!this.loading) {\r\n let parsedId = parseInt(this.customerIdString);\r\n if (!isNaN(parsedId)) {\r\n this.customerId = parsedId; // Wenn es eine gültige Zahl ist, verwende sie als Kundennummer\r\n } else {\r\n this.customerId = 0;\r\n }\r\n this.articles = [];\r\n this.loadedArticleUpTo = 0;\r\n this.loadArticle();\r\n }\r\n }\r\n\r\n private get articles() {\r\n return this.$store.state.articles.filter((a:ArticleDto) => a.parentArticleId == null);\r\n }\r\n private set articles(articles: ArticleDto[]) {\r\n this.$store.commit('setArticles', articles);\r\n }\r\n private removeArticle(articleId: any) {\r\n // Artikel wurde bereits im Backend gelöscht.\r\n // Falls vorhanden wird er lokal auch entfernt.\r\n this.$store.commit('removeArticle', articleId);\r\n }\r\n private async loadArticle() {\r\n try {\r\n this.loading = true;\r\n const response = await httpClient().get(`Article/GetArticles?` +\r\n `searchTerm=${this.suchbegriff}&` +\r\n `customerId=${this.customerId}&` +\r\n `from=${this.loadedArticleUpTo}&` +\r\n `to=${this.loadedArticleUpTo + this.loadBatchSize}&` +\r\n `onlyLocked=${this.onlyLocked}&` +\r\n `includeDeleted=${this.includeDeleted}&` +\r\n `sorting=3`); // Sorting ist hardcoded bis jetzt (LastChangeDescending = 3)\r\n \r\n this.hasMoreToLoad = response.data.length == this.loadBatchSize;\r\n this.$store.commit('addOrUpdateArticles', response.data);\r\n this.loadedArticleUpTo += response.data.length;\r\n } catch {\r\n console.log('Load article failed.');\r\n } finally {\r\n this.loading = false;\r\n }\r\n }\r\n\r\n private async handleScroll(event: any) {\r\n window.removeEventListener('scroll', this.handleScroll);\r\n const bottomOfWindow = (window.innerHeight + window.pageYOffset) >= document.body.offsetHeight - 2;\r\n if (bottomOfWindow && !this.loading && this.hasMoreToLoad) {\r\n this.loadArticle();\r\n }\r\n window.addEventListener('scroll', this.handleScroll);\r\n }\r\n}\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Dashboard.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Dashboard.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./Dashboard.vue?vue&type=template&id=4d62f02f\"\nimport script from \"./Dashboard.vue?vue&type=script&lang=ts\"\nexport * from \"./Dashboard.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 render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',[_c('v-tabs',{attrs:{\"slider-color\":\"accent\"},model:{value:(_vm.activeTab),callback:function ($$v) {_vm.activeTab=$$v},expression:\"activeTab\"}},[_vm._l((_vm.tabs),function(tab){return _c('v-tab',{key:tab.id},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(tab.visibleText)+\"\\n\\t\\t\\t\")])}),_c('v-tab-item',{key:_vm.getKeyFromText('paymentMatching')},[_c('open-invoice-matching-component',{on:{\"reloadMahnungen\":function($event){return _vm.reloadMahnungen()},\"navigateToPayments\":_vm.navigateToPayments}})],1),_c('v-tab-item',{key:_vm.getKeyFromText('allInvoices')},[_c('all-invoices',{attrs:{\"hasMoreToLoad\":_vm.allInvoicesListHasMoreToLoad,\"isLoading\":_vm.allInvoicesIsLoading,\"loadMoreInvoicesToggle\":_vm.loadMoreInvoicesToggle},on:{\"setHasMoreToLoad\":_vm.setAllInvoicesListHasMoreToLoad,\"setIsLoading\":_vm.setAllInvoicesIsLoading,\"resetLoadMoreToggle\":function($event){_vm.loadMoreInvoicesToggle = false},\"navigateToPayments\":_vm.navigateToPayments,\"reloadMahnungen\":function($event){return _vm.reloadMahnungen()}}})],1),_c('v-tab-item',{key:_vm.getKeyFromText('payments')},[_c('payments',{attrs:{\"isLoading\":_vm.paymentsIsLoading,\"invoiceIdFilter\":_vm.paymentsInvoiceIdFilter},on:{\"setIsLoading\":_vm.setPaymentsIsLoading}})],1),_c('v-tab-item',{key:_vm.getKeyFromText('mahnungen')},[_c('open-mahnungen',{attrs:{\"reloadMahnungen\":_vm.reloadMahnungenToggle},on:{\"resetReloadToggle\":function($event){_vm.reloadMahnungenToggle = false}}})],1),_c('v-tab-item',{key:_vm.getKeyFromText('mwstAbrechnung')},[_c('mwst-abrechnung-component')],1),_c('v-tab-item',{key:_vm.getKeyFromText('umsatz')},[_c('turnover-component')],1)],2)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',[_c('div',{ref:\"uploadArea\",staticClass:\"dragArea mt-2\",on:{\"dragover\":_vm.dragover,\"dragleave\":_vm.dragleave,\"drop\":_vm.drop}},[_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\",\"align-center\":\"\"}},[_vm._v(\"\\n\\t\\t\\t\\tZeitraum für Abgleich der Transaktionen\\n\\t\\t\\t\\t\"),_c('v-flex',{attrs:{\"pl-3\":\"\"}},[_c('date-picker',{attrs:{\"selectedDate\":_vm.fromDateString,\"pastDateAllowed\":true,\"futureDateAllowed\":true,\"label\":\"Von\"},on:{\"update:selectedDate\":_vm.setFromDate}})],1),_c('v-flex',{attrs:{\"pl-3\":\"\"}},[_c('date-picker',{attrs:{\"selectedDate\":_vm.toDateString,\"pastDateAllowed\":true,\"futureDateAllowed\":true,\"label\":\"Bis\"},on:{\"update:selectedDate\":_vm.setToDate}})],1)],1),_c('v-layout',{attrs:{\"row\":\"\",\"mt-2\":\"\"}},[_c('v-flex',{attrs:{\"xs12\":\"\"}},[_c('input',{ref:\"upload\",attrs:{\"type\":\"file\",\"multiple\":\"\",\"accept\":\".xml,.zip\"},on:{\"change\":function($event){return _vm.uploadFiles($event, $event.target.files)}}}),_c('v-btn',{staticClass:\"mb-2 blexon-button\",attrs:{\"disabled\":_vm.uploading,\"title\":\"Transaktionsdatei auswählen und hochladen.\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.$refs.upload.click()}}},[(_vm.uploading)?_c('v-progress-circular',{attrs:{\"indeterminate\":\"\",\"size\":\"20\"}}):_vm._e(),_c('v-icon',[_vm._v(\"file_upload\")])],1),_c('br'),_c('p',{staticClass:\"ma-0 pa-0 caption\"},[_c('span',{staticStyle:{\"text-transform\":\"uppercase\",\"font-weight\":\"500\"}},[_vm._v(\"Transaktionen Import\")]),_c('br'),_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\tMaximal 10 Dateien (.zip oder .xml) in diesen Bereich ziehen oder den Knopf drücken\\n\\t\\t\\t\\t\\t\\t\")])],1)],1)],1),(_vm.uploading)?_c('v-layout',{staticClass:\"text-xs-center\",attrs:{\"row\":\"\",\"mt-3\":\"\"}},[_c('v-flex',{attrs:{\"xs12\":\"\"}},[_c('v-progress-circular',{attrs:{\"indeterminate\":\"\",\"color\":\"accent\"}})],1)],1):_vm._e(),(_vm.transactions.length > 0 && !_vm.uploading)?_c('div',[_c('v-layout',{staticClass:\"text-xs-center title\",attrs:{\"row\":\"\",\"mt-3\":\"\"}},[_c('v-flex',{attrs:{\"xs5\":\"\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\tTransaktionen\\n\\t\\t\\t\\t\")]),_c('v-flex',{attrs:{\"xs2\":\"\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\tMatch-Info\\n\\t\\t\\t\\t\")]),_c('v-flex',{attrs:{\"xs5\":\"\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\tRechnungen\\n\\t\\t\\t\\t\")])],1),_vm._l((_vm.transactions),function(transaction){return _c('div',{key:transaction.id},[_vm._l((_vm.getMatchingInvoicesOfTransaction(transaction.id)),function(invoice,index){return _c('v-layout',{key:invoice.invoiceId,attrs:{\"row\":\"\",\"my-2\":\"\",\"align-center\":\"\",\"fill-height\":\"\"}},[(index === 0)?_c('v-flex',{attrs:{\"xs5\":\"\"}},[_c('v-card',{attrs:{\"color\":_vm.getBackgroundColor(transaction.isMatchSelectMode)}},[_c('v-card-text',{staticClass:\"withIndent\"},[_c('span',[_c('strong',[_vm._v(\"Id: \")]),_vm._v(_vm._s(transaction.id))]),_c('span',[_c('strong',[_vm._v(\"Referenz: \")]),_vm._v(_vm._s(transaction.reference))]),_c('span',[_c('strong',[_vm._v(\"Name: \")]),_vm._v(_vm._s(transaction.name))]),_c('span',[_c('strong',[_vm._v(\"Betrag: \")]),_vm._v(_vm._s(transaction.currency)+\" \"+_vm._s(transaction.amount))]),_c('span',[_c('strong',[_vm._v(\"Adresse: \")]),_vm._v(_vm._s(transaction.address))]),_c('span',[_c('strong',[_vm._v(\"Zahlungseingang: \")]),_vm._v(_vm._s(_vm._f(\"formatDate\")(transaction.paymentDate)))])]),_c('v-card-actions',[_c('v-btn',{attrs:{\"small\":\"\",\"title\":\"Entfernt die Transaktion aus der Liste.\"},on:{\"click\":function($event){return _vm.deleteTransaction(transaction.id)}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tLöschen\\n\\t\\t\\t\\t\\t\\t\\t\\t\")]),_c('v-btn',{attrs:{\"small\":\"\",\"disabled\":_vm.isToggleDisabled(transaction.id),\"title\":\"Selektiert die Transaktion für die manuelle Zuordnung einer Rechnung.\"},on:{\"click\":function($event){return _vm.toggleMatchModeForTransaction(transaction.id, !transaction.isMatchSelectMode)}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tVerknüpfen\\n\\t\\t\\t\\t\\t\\t\\t\\t\")]),_c('v-spacer'),_c('v-btn',{staticClass:\"blexon-button\",attrs:{\"small\":\"\",\"disabled\":!_vm.isReadyToProcessTransaction(transaction.id),\"title\":\"Verarbeitet diese Transaktion und die dazugehörigen Rechnungen.\"},on:{\"click\":function($event){return _vm.processMatches([transaction.id])}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tVerarbeiten\\n\\t\\t\\t\\t\\t\\t\\t\\t\")])],1)],1)],1):_c('v-spacer'),_c('v-flex',{staticClass:\"text-xs-center\",attrs:{\"xs2\":\"\"}},[_c('v-icon',{attrs:{\"large\":\"\",\"color\":_vm.getMatchIconColor(invoice.matchingType)}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.getMatchIcon(invoice.matchingType))+\"\\n\\t\\t\\t\\t\\t\\t\")]),_c('br'),(invoice.invoiceId > 0)?_c('div',[_c('span',[_vm._v(_vm._s(_vm.getMatchText(invoice.matchingType)))]),_c('br')]):_vm._e(),(invoice.invoiceId > 0)?_c('v-btn',{attrs:{\"small\":\"\",\"title\":\"Hebt die Verbindung zwischen Transaktion und Rechnung auf.\"},on:{\"click\":function($event){return _vm.disconnectTransaction(invoice.invoiceId)}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\tTrennen\\n\\t\\t\\t\\t\\t\\t\")]):_vm._e()],1),_c('v-flex',{attrs:{\"xs5\":\"\"}},[(invoice.invoiceId > 0)?_c('v-card',[_c('v-card-text',{staticClass:\"withIndent\"},[_c('span',[_c('strong',[_vm._v(\"Rechnungs Id: \")]),_vm._v(_vm._s(invoice.invoiceId))]),_c('span',[_c('strong',[_vm._v(\"Rechnungsname: \")]),_vm._v(_vm._s(invoice.name))]),_c('span',[_c('strong',[_vm._v(\"Rechnungsbetrag: \")]),_vm._v(_vm._s(transaction.currency)+\" \"+_vm._s(_vm._f(\"format2Digit\")(invoice.amount)))]),_c('span',[_c('strong',[_vm._v(\"Kunden Id: \")]),_vm._v(_vm._s(invoice.customerId))]),_c('span',[_c('strong',[_vm._v(\"Kundenauftrags Id: \")]),_vm._v(_vm._s(invoice.kundenauftragId))]),_c('span',[_c('strong',[_vm._v(\"Fälligkeitsdatum: \")]),_vm._v(_vm._s(_vm._f(\"formatDate\")(invoice.dueDate)))]),(_vm.invoiceMultiMatch(invoice.invoiceId))?_c('span',{staticClass:\"red--text\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tAuf diese Rechnung wurden mehrere Zahlungen gematched!\\n\\t\\t\\t\\t\\t\\t\\t\\t\")]):_vm._e(),(invoice.payments.length > 0)?_c('v-expansion-panel',[_c('v-expansion-panel-content',[_c('div',{attrs:{\"slot\":\"header\"},slot:\"header\"},[_c('strong',[_vm._v(\"Zahlungen\")])]),_c('v-container',{attrs:{\"fluid\":\"\",\"py-0\":\"\"}},_vm._l((invoice.payments),function(payment){return _c('v-layout',{key:payment.id,attrs:{\"row\":\"\"}},[_c('v-flex',{attrs:{\"xs12\":\"\"}},[_c('strong',[_vm._v(\"Id: \")]),_vm._v(_vm._s(payment.id)),_c('br'),_c('strong',[_vm._v(\"Datum: \")]),_vm._v(_vm._s(_vm._f(\"formatDate\")(payment.paymentDate))),_c('br'),_c('strong',[_vm._v(\"Betrag: \")]),_vm._v(_vm._s(payment.currency)+\" \"+_vm._s(_vm._f(\"format2Digit\")(payment.amount))),_c('br'),(payment.information.length > 0)?_c('span',[_c('strong',[_vm._v(\"Info: \")]),_vm._v(_vm._s(payment.information))]):_vm._e(),_c('v-divider')],1)],1)}),1)],1)],1):_vm._e()],1)],1):_c('v-card',{staticClass:\"text-xs-center\"},[(transaction.isMatchSelectMode)?_c('v-card-text',[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\tJetzt passende Rechnung in der Liste auswählen...\\n\\t\\t\\t\\t\\t\\t\\t\")]):_c('v-card-text',[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\tEs konnte keine passende Rechnung gefunden werden.\\n\\t\\t\\t\\t\\t\\t\\t\")])],1)],1)],1)}),_c('v-divider')],2)}),_c('v-layout',[_c('v-spacer'),_c('v-flex',{attrs:{\"shrink\":\"\"}},[_c('v-btn',{attrs:{\"title\":\"Entfernt alle Transaktionen aus der Liste.\"},on:{\"click\":function($event){return _vm.deleteAllTransactions()}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\tListe leeren\\n\\t\\t\\t\\t\\t\")]),_c('v-btn',{staticClass:\"blexon-button\",attrs:{\"disabled\":!_vm.isReadyToProcessMatches,\"title\":\"Verarbeitet die verknüpften Rechnungen und markiert sie als bezahlt.\"},on:{\"click\":function($event){_vm.processConfirmationDialog = true}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\tAlle Verarbeiten\\n\\t\\t\\t\\t\\t\")])],1)],1),_c('v-layout',{attrs:{\"mt-2\":\"\"}},[_c('v-flex',{attrs:{\"xs12\":\"\"}},[_c('v-divider')],1)],1)],2):_vm._e(),_c('v-layout',{attrs:{\"row\":\"\",\"mt-3\":\"\"}},[_c('v-flex',{attrs:{\"xs12\":\"\"}},[_c('open-invoices',{attrs:{\"reloadInvoices\":_vm.reloadInvoicesToggle},on:{\"resetReloadToggle\":function($event){_vm.reloadInvoicesToggle = false},\"reloadMahnungen\":function($event){return _vm.reloadMahnungen()},\"onOpenInvoiceClick\":_vm.matchInvoiceToSelection,\"navigateToPayments\":_vm.navigateToPayments}})],1)],1),_c('v-dialog',{attrs:{\"width\":\"500\"},model:{value:(_vm.processConfirmationDialog),callback:function ($$v) {_vm.processConfirmationDialog=$$v},expression:\"processConfirmationDialog\"}},[_c('v-card',[_c('v-card-title',[_c('h3',[_vm._v(\"Rechnungen verarbeiten\")])]),_c('v-card-text',[_vm._v(\"\\n Die verknüpften Rechnungen werden als bezahlt markiert und aus der Liste der offenen Rechnungen entfernt.\\n \")]),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{on:{\"click\":function($event){_vm.processConfirmationDialog = false}}},[_vm._v(\"Abbrechen\")]),_c('v-btn',{staticClass:\"blexon-button\",on:{\"click\":function($event){return _vm.processAllMatches()}}},[_vm._v(\"Ok\")])],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',[_c('v-container',{staticClass:\"pa-0\",attrs:{\"fluid\":\"\"}},[_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\",\"fill-height\":\"\",\"align-end\":\"\"}},[_c('v-flex',{attrs:{\"xs12\":\"\",\"sm6\":\"\",\"lg3\":\"\"}},[_c('v-text-field',{attrs:{\"label\":\"Suche\",\"prepend-icon\":\"search\",\"hint\":\"Suche nach Rechnungsnummer, Kundennummer, Kundenauftragsnummer, Email, Firmen-, Vor- oder Nachname\"},model:{value:(_vm.searchTerm),callback:function ($$v) {_vm.searchTerm=$$v},expression:\"searchTerm\"}})],1),_c('v-flex',{staticClass:\"pl-2\",attrs:{\"xs12\":\"\",\"sm6\":\"\",\"lg3\":\"\"}},[_c('v-select',{attrs:{\"item-text\":\"text\",\"item-value\":\"value\",\"label\":\"Fälligkeit\",\"items\":_vm.dueFilterTypes},model:{value:(_vm.currentDueFilter),callback:function ($$v) {_vm.currentDueFilter=$$v},expression:\"currentDueFilter\"}})],1),_c('v-flex',{staticClass:\"pl-2\",attrs:{\"xs12\":\"\",\"sm6\":\"\",\"lg3\":\"\"}},[_c('v-combobox',{attrs:{\"items\":_vm.regions,\"label\":\"Regionen\",\"chips\":\"\",\"multiple\":\"\"},model:{value:(_vm.filterRegions),callback:function ($$v) {_vm.filterRegions=$$v},expression:\"filterRegions\"}})],1),_c('v-flex',{staticClass:\"pl-4\",attrs:{\"xs12\":\"\",\"sm6\":\"\",\"lg3\":\"\"}},[_c('v-checkbox',{attrs:{\"label\":\"Gemahnte anzeigen\"},model:{value:(_vm.showGemahnt),callback:function ($$v) {_vm.showGemahnt=$$v},expression:\"showGemahnt\"}})],1)],1),_c('v-layout',{staticClass:\"mb-3\",attrs:{\"row\":\"\",\"wrap\":\"\",\"fill-height\":\"\",\"align-start\":\"\"}},[_c('v-flex',{attrs:{\"xs12\":\"\",\"sm6\":\"\",\"lg3\":\"\"}},[_c('h3',[_vm._v(\"Total\")]),_vm._v(\"\\n\\t\\t\\t\\t\\tAnzahl: \"+_vm._s(_vm.totalDueInvoices)),_c('br'),_vm._v(\"\\n\\t\\t\\t\\t\\tBetrag CHF: \"+_vm._s(_vm._f(\"format2Digit\")(_vm.totalAmountDueInvoicesChf))),_c('br'),_vm._v(\"\\n\\t\\t\\t\\t\\tBetrag EUR: \"+_vm._s(_vm._f(\"format2Digit\")(_vm.totalAmountDueInvoicesEur))+\"\\n\\t\\t\\t\\t\")]),_c('v-flex',{staticClass:\"pl-2\",attrs:{\"xs12\":\"\",\"sm6\":\"\",\"lg3\":\"\"}},[_c('h3',[_vm._v(\"Aktueller Filter\")]),_vm._v(\"\\n\\t\\t\\t\\t\\tAnzahl: \"+_vm._s(_vm.currentFilterDueInvoices)),_c('br'),_vm._v(\"\\n\\t\\t\\t\\t\\tBetrag CHF: \"+_vm._s(_vm._f(\"format2Digit\")(_vm.currentFilterAmountDueInvoicesChf))),_c('br'),_vm._v(\"\\n\\t\\t\\t\\t\\tBetrag EUR: \"+_vm._s(_vm._f(\"format2Digit\")(_vm.currentFilterAmountDueInvoicesEur))+\"\\n\\t\\t\\t\\t\")])],1)],1),_c('v-data-table',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.headers,\"loading\":_vm.isLoading,\"item-key\":\"invoiceId\",\"items\":_vm.invoices,\"pagination\":_vm.invoiceSorting},on:{\"update:pagination\":function($event){_vm.invoiceSorting=$event}},scopedSlots:_vm._u([{key:\"headers\",fn:function(props){return [_c('tr',_vm._l((props.headers),function(header){return _c('th',{key:header.value,class:[\n\t\t\t\t\t\t\t'column',\n\t\t\t\t\t\t\theader.sortable === true ? 'sortable' : '',\n\t\t\t\t\t\t\t_vm.invoiceSorting.descending ? 'desc' : 'asc',\n\t\t\t\t\t\t\theader.value === _vm.invoiceSorting.sortBy ? 'active' : '',\n\t\t\t\t\t\t\theader.align === 'left' ? 'text-xs-left' : 'text-xs-right',\n\t\t\t\t\t\t],on:{\"click\":function($event){header.sortable ? _vm.changeSort(header.value) : ''}}},[(header.value === _vm.invoiceSorting.sortBy)?_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"arrow_upward\")]):_vm._e(),_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(header.text)+\"\\n\\t\\t\\t\\t\\t\")],1)}),0)]}},{key:\"items\",fn:function(props){return [_c('tr',{on:{\"click\":function($event){return _vm.$emit('onOpenInvoiceClick', props.item)}}},[_c('td',[_vm._v(_vm._s(props.item.hasMahnung ? 'Ja' : 'Nein'))]),_c('td',[_c('a',{on:{\"click\":function($event){return _vm.navigateToInvoiceEdit(props.item.invoiceId)}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(props.item.invoiceId)+\"\\n\\t\\t\\t\\t\\t\\t\")])]),_c('td',[_c('span',{staticClass:\"link\",on:{\"click\":function($event){$event.stopPropagation();return _vm.goToCustomer(props.item.customerId)}}},[_vm._v(\"\\n \"+_vm._s(props.item.customerId)+\"\\n \")])]),_c('td',[_vm._v(_vm._s(props.item.orderId))]),_c('td',[_vm._v(_vm._s(_vm._f(\"formatDate\")(props.item.dueDate)))]),_c('td',[_c('v-tooltip',{attrs:{\"bottom\":\"\",\"content-class\":\"customTooltip\"}},[_c('template',{slot:\"activator\"},[_c('div',[(props.item.invoiceAddress.companyName.length > 0)?_c('span',[_vm._v(_vm._s(props.item.invoiceAddress.companyName)),_c('br')]):_vm._e(),_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(props.item.invoiceAddress.givenName)+\" \"+_vm._s(props.item.invoiceAddress.surname)),_c('br'),_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(props.item.invoiceAddress.eMail ? props.item.invoiceAddress.eMail : '')+\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\")])]),_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(props.item.customerAddress.companyName)),_c('br'),_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(props.item.customerAddress.givenName ? props.item.customerAddress.givenName : '')+\" \\n\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(props.item.customerAddress.surname ? props.item.customerAddress.surname : '')),_c('br'),_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(props.item.customerAddress.eMail)+\"\\n\\t\\t\\t\\t\\t\\t\")],2)],1),_c('td',[_vm._v(_vm._s(props.item.region))]),_c('td',{staticClass:\"text-xs-right\",staticStyle:{\"width\":\"140px\"}},[_c('b',[_vm._v(_vm._s(props.item.currency)+\" \"+_vm._s(_vm._f(\"format2Digit\")(props.item.totalAmount)))]),(props.item.paidAmount > 0)?_c('span',[_c('br'),_vm._v(\"offen: \"+_vm._s(_vm._f(\"format2Digit\")((props.item.totalAmount - props.item.paidAmount))))]):_vm._e()]),_c('td',{staticClass:\"text-xs-right\",on:{\"click\":function($event){$event.stopPropagation();}}},[_c('v-menu',{attrs:{\"offset-y\":\"\",\"close-on-click\":\"\"}},[_c('v-icon',{attrs:{\"slot\":\"activator\",\"large\":\"\",\"color\":\"primary\"},slot:\"activator\"},[_vm._v(\" keyboard_arrow_down \")]),_c('v-list',[_c('v-list-tile',{attrs:{\"disabled\":props.item.hasMahnung || _vm.isLoading},on:{\"click\":function($event){return _vm.checkCreateMahnung(props.item.invoiceId, props.item.dueDate)}}},[_c('v-list-tile-avatar',[_c('v-icon',{attrs:{\"color\":\"primary\"}},[_vm._v(\"notifications\")])],1),_c('v-list-tile-title',[_vm._v(\" Mahnung erstellen \")])],1),_c('v-list-tile',{attrs:{\"disabled\":_vm.isLoading},on:{\"click\":() => {\n\t\t\t\t\t\t\t\t\t\t\t_vm.markAsPaidInvoiceId = props.item.invoiceId;\n\t\t\t\t\t\t\t\t\t\t\t_vm.markAsPaidDialogOpen = true;\n\t\t\t\t\t\t\t\t\t\t}}},[_c('v-list-tile-avatar',[_c('v-icon',{attrs:{\"color\":\"primary\"}},[_vm._v(\"done\")])],1),_c('v-list-tile-title',[_vm._v(\" Rechnung bezahlt \")])],1),_c('v-list-tile',{attrs:{\"disabled\":_vm.isLoading},on:{\"click\":function($event){return _vm.navigateToPayments(props.item.invoiceId)}}},[_c('v-list-tile-avatar',[_c('v-icon',{attrs:{\"color\":\"primary\"}},[_vm._v(\"attach_money\")])],1),_c('v-list-tile-title',[_vm._v(\" Zahlungen anzeigen \")])],1)],1)],1)],1)])]}}])}),_c('v-form',{model:{value:(_vm.markAsPaidValid),callback:function ($$v) {_vm.markAsPaidValid=$$v},expression:\"markAsPaidValid\"}},[_c('v-dialog',{attrs:{\"persistent\":\"\",\"width\":\"500\"},model:{value:(_vm.markAsPaidDialogOpen),callback:function ($$v) {_vm.markAsPaidDialogOpen=$$v},expression:\"markAsPaidDialogOpen\"}},[_c('v-card',[_c('v-card-title',[_c('h3',[_vm._v(\"Rechnung als bezahlt markieren\")])]),_c('v-card-text',[_vm._v(\"\\n\\t\\t\\t\\t\\t\\tDie Rechnung wird als bezahlt markiert.\"),_c('br'),_vm._v(\"\\n\\t\\t\\t\\t\\t\\tBitte den Betrag angeben, der bezahlt wurde.\"),_c('br'),_vm._v(\"\\n\\t\\t\\t\\t\\t\\tWird 0.- angegeben, so wird keine Zahlung erstellt (Abschreibung).\\n\\t\\t\\t\\t\\t\\t\"),_c('v-text-field',{staticClass:\"mt-3\",attrs:{\"label\":\"Bezahlter Betrag\",\"rules\":_vm.positiveNumberRule},model:{value:(_vm.markAsPaidInvoiceAmount),callback:function ($$v) {_vm.markAsPaidInvoiceAmount=$$v},expression:\"markAsPaidInvoiceAmount\"}})],1),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{on:{\"click\":() => {\n\t\t\t\t\t\t\t\t\t_vm.markAsPaidInvoiceAmount = 0.0;\n\t\t\t\t\t\t\t\t\t_vm.markAsPaidInvoiceId = 0;\n\t\t\t\t\t\t\t\t\t_vm.markAsPaidDialogOpen = false;\n\t\t\t\t\t\t\t\t}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\tAbbrechen\\n\\t\\t\\t\\t\\t\\t\")]),_c('v-btn',{staticClass:\"blexon-button\",attrs:{\"disabled\":!_vm.markAsPaidValid},on:{\"click\":function($event){return _vm.markAsPaid()}}},[_vm._v(\" Bestätigen \")])],1)],1)],1)],1),_c('create-mahnung-dialog',{attrs:{\"show\":_vm.mahnungNotDueInvoiceDialog,\"dueDate\":_vm.currentInvoiceDueDate,\"invoiceId\":_vm.currentInvoiceId},on:{\"close\":function($event){_vm.mahnungNotDueInvoiceDialog = false},\"saved\":function($event){return _vm.savedMahnung()}}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('v-dialog',{attrs:{\"persistent\":\"\",\"width\":\"500\"},model:{value:(_vm.show),callback:function ($$v) {_vm.show=$$v},expression:\"show\"}},[_c('v-card',[_c('v-card-title',[_c('h3',[_vm._v(\"Mahnung erstellen für Rechnung \"+_vm._s(_vm.invoiceId))])]),_c('v-card-text',[(!_vm.isDue)?_c('span',[_c('b',[_vm._v(\"Die Rechnung, die gemahnt werden soll, ist noch nicht fällig!\")]),_c('br')]):_vm._e(),_c('v-text-field',{attrs:{\"type\":\"number\",\"label\":\"Mahnungsgebühren\",\"rules\":_vm.positiveNumberRule,\"disabled\":_vm.isLoading},model:{value:(_vm.cost),callback:function ($$v) {_vm.cost=$$v},expression:\"cost\"}})],1),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{on:{\"click\":function($event){return _vm.close()}}},[_vm._v(\" Abbrechen \")]),_c('v-btn',{staticClass:\"blexon-button\",attrs:{\"disabled\":!_vm.isValidCost},on:{\"click\":function($event){return _vm.createMahnung()}}},[_vm._v(\" Erstellen \")])],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { Component, Prop, Vue } from \"vue-property-decorator\";\r\nimport httpClient from \"../../store/httpClient\";\r\nimport rules from \"@/store/rules\";\r\n\r\n@Component({})\r\nexport default class CreateMahnungDialog extends Vue {\r\n\t@Prop()\r\n\tprivate show!: boolean;\r\n @Prop()\r\n private invoiceId!: number;\r\n @Prop()\r\n private dueDate!: Date;\r\n private cost: number = 0;\r\n private isLoading: boolean = false;\r\n private positiveNumberRule = rules.requiredNonNegativeNumberRule;\r\n\r\n private get isDue() {\r\n\t\tlet dateNow = new Date();\r\n\t\tlet compareDate = new Date(this.dueDate);\r\n\t\tdateNow.setHours(0, 0, 0, 0);\r\n\t\tcompareDate.setHours(0, 0, 0, 0);\r\n\t\treturn compareDate <= dateNow;\r\n\t}\r\n\r\n private async createMahnung() {\r\n if (this.isLoading) {\r\n return;\r\n\t\t}\r\n\t\ttry {\r\n this.isLoading = true;\r\n\t\t\tconsole.log(\"Creating new Mahnung ...\");\r\n\t\t\tawait httpClient().post(`Invoice/CreateMahnung?invoiceId=${this.invoiceId}&cost=${this.cost}`);\r\n\t\t\tthis.cost = 0;\r\n\t\t\tthis.$store.commit(\"setDueInvoiceAsGemahnt\", this.invoiceId);\r\n\t\t\tthis.$emit(\"saved\");\r\n\t\t} catch (e) {\r\n console.log(\"Creating new Mahnung failed.\", e);\r\n\t\t} finally {\r\n this.isLoading = false;\r\n\t\t\tthis.close();\r\n\t\t}\r\n\t}\r\n\r\n private get isValidCost() {\r\n\t\treturn !!this.cost.toString() && !isNaN(this.cost) && this.cost >= 0;\r\n\t}\r\n\r\n private close() {\r\n this.$emit(\"close\");\r\n }\r\n\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CreateMahnungDialog.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CreateMahnungDialog.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./CreateMahnungDialog.vue?vue&type=template&id=f9912fb2&scoped=true\"\nimport script from \"./CreateMahnungDialog.vue?vue&type=script&lang=ts\"\nexport * from \"./CreateMahnungDialog.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 \"f9912fb2\",\n null\n \n)\n\nexport default component.exports","\r\nimport { Component, Prop, Vue, Watch } from \"vue-property-decorator\";\r\nimport { debounce } from \"typescript-debounce-decorator\";\r\nimport httpClient from \"../../store/httpClient\";\r\nimport { InvoiceManagementDto } from \"@/dtos/invoiceManagementDto\";\r\nimport rules from \"@/store/rules\";\r\nimport { MatchedInvoiceDto } from \"@/dtos/matchedInvoiceDto\";\r\nimport CreateMahnungDialog from \"./CreateMahnungDialog.vue\";\r\n\r\n@Component({\r\n components: {\r\n\t\tCreateMahnungDialog,\r\n\t},\r\n})\r\nexport default class OpenInvoices extends Vue {\r\n\t@Prop()\r\n\tprivate reloadInvoices!: boolean;\r\n\tprivate isLoading: boolean = false;\r\n\tprivate showGemahnt: boolean = true;\r\n\tprivate currentDueFilter: string = \"\";\r\n\tprivate positiveNumberRule = rules.requiredNonNegativeNumberRule;\r\n\tprivate mahnungNotDueInvoiceDialog: boolean = false;\r\n\tprivate currentInvoiceId: number = 0;\r\n\tprivate currentInvoiceDueDate: Date = new Date();\r\n\tprivate markAsPaidInvoiceAmount: number = 0.0;\r\n\tprivate markAsPaidInvoiceId: number = 0;\r\n\tprivate markAsPaidDialogOpen: boolean = false;\r\n\tprivate markAsPaidValid: boolean = false;\r\n\tprivate validSearchTerm: string = '';\r\n\tprivate dueFilterTypes: any = [\r\n\t\t{\r\n\t\t\tvalue: \"all\",\r\n\t\t\ttext: \"Alle anzeigen\",\r\n\t\t},\r\n\t\t{\r\n\t\t\tvalue: \"due\",\r\n\t\t\ttext: \"Nur fällige anzeigen\",\r\n\t\t},\r\n\t\t{\r\n\t\t\tvalue: \"duePlus10Days\",\r\n\t\t\ttext: \"Nur 10+ Tage fällige anzeigen\",\r\n\t\t},\r\n\t];\r\n\r\n\tprivate headers: Array<{\r\n\t\ttext: string;\r\n\t\tvalue: string;\r\n\t\talign: string;\r\n\t\tsortable: boolean;\r\n\t\twidth: string;\r\n\t}> = Array(\r\n\t\t{\r\n\t\t\ttext: \"Gemahnt\",\r\n\t\t\tvalue: \"hasMahnung\",\r\n\t\t\talign: \"left\",\r\n\t\t\tsortable: true,\r\n\t\t\twidth: \"10px\",\r\n\t\t},\r\n\t\t{\r\n\t\t\ttext: \"Rechnungs-Id\",\r\n\t\t\tvalue: \"invoiceId\",\r\n\t\t\talign: \"left\",\r\n\t\t\tsortable: true,\r\n\t\t\twidth: \"1px\",\r\n\t\t},\r\n\t\t{\r\n\t\t\ttext: \"Kunden-Id\",\r\n\t\t\tvalue: \"customerId\",\r\n\t\t\talign: \"left\",\r\n\t\t\tsortable: true,\r\n\t\t\twidth: \"1px\",\r\n\t\t},\r\n\t\t{\r\n\t\t\ttext: \"Auftrag-Id\",\r\n\t\t\tvalue: \"orderId\",\r\n\t\t\talign: \"left\",\r\n\t\t\tsortable: true,\r\n\t\t\twidth: \"1px\",\r\n\t\t},\r\n\t\t{\r\n\t\t\ttext: \"Fällig\",\r\n\t\t\tvalue: \"dueDate\",\r\n\t\t\talign: \"left\",\r\n\t\t\tsortable: true,\r\n\t\t\twidth: \"1px\",\r\n\t\t},\r\n\t\t{\r\n\t\t\ttext: \"Rechnungskontakt\",\r\n\t\t\tvalue: \"invoiceAddress.companyName\",\r\n\t\t\talign: \"left\",\r\n\t\t\tsortable: true,\r\n\t\t\twidth: \"1px\",\r\n\t\t},\r\n\t\t{\r\n\t\t\ttext: \"Region\",\r\n\t\t\tvalue: \"region\",\r\n\t\t\talign: \"left\",\r\n\t\t\tsortable: true,\r\n\t\t\twidth: \"1px\",\r\n\t\t},\r\n\t\t{\r\n\t\t\ttext: \"Betrag\",\r\n\t\t\tvalue: \"totalAmount\",\r\n\t\t\talign: \"right\",\r\n\t\t\tsortable: true,\r\n\t\t\twidth: \"1px\",\r\n\t\t},\r\n\t\t{\r\n\t\t\ttext: \"\",\r\n\t\t\tvalue: \"menu\",\r\n\t\t\talign: \"right\",\r\n\t\t\tsortable: false,\r\n\t\t\twidth: \"0px\",\r\n\t\t}\r\n\t);\r\n\r\n\tprivate mounted() {\r\n\t\tthis.currentDueFilter = this.dueFilterTypes[0].value;\r\n\t\tif (this.invoices.length === 0) {\r\n\t\t\tthis.loadInvoices();\r\n\t\t}\r\n\t}\r\n\r\n\t@Watch(\"reloadInvoices\")\r\n\tprivate async reload() {\r\n\t\tif (this.reloadInvoices && !this.isLoading) {\r\n\t\t\tawait this.loadInvoices();\r\n\t\t}\r\n\t\tthis.$emit(\"resetReloadToggle\");\r\n\t}\r\n\r\n\tprivate get invoices() {\r\n\t\tlet invoices = this.$store.state.dueInvoices;\r\n\t\tswitch (this.currentDueFilter) {\r\n\t\t\tcase \"all\":\r\n\t\t\tcase \"default\":\r\n\t\t\t\t// unfiltered list\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"due\":\r\n\t\t\t\tinvoices = invoices.filter((i: InvoiceManagementDto) => this.isDue(i.dueDate));\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"duePlus10Days\":\r\n\t\t\t\tinvoices = invoices.filter((i: InvoiceManagementDto) => this.is10DaysPast(i.dueDate));\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\r\n\t\tif (!this.showGemahnt) {\r\n\t\t\tinvoices = invoices.filter((i: InvoiceManagementDto) => !i.hasMahnung);\r\n\t\t}\r\n\r\n\t\tinvoices = invoices.filter((i: InvoiceManagementDto) => this.filterRegions.includes(i.region));\r\n\r\n\t\tinvoices = invoices.filter((i: InvoiceManagementDto) => !this.$store.state.matchedInvoices.some((mi: MatchedInvoiceDto) => mi.invoiceId === i.invoiceId));\r\n\r\n\t\tif (this.validSearchTerm.length > 2) {\r\n\t\t\tinvoices = invoices.filter((i: InvoiceManagementDto) => \r\n\t\t\t\ti.invoiceAddress.companyName.toUpperCase().includes(this.validSearchTerm.toUpperCase()) ||\r\n\t\t\t\ti.invoiceAddress.givenName.toUpperCase().includes(this.validSearchTerm.toUpperCase()) ||\r\n\t\t\t\ti.invoiceAddress.surname.toUpperCase().includes(this.validSearchTerm.toUpperCase()) ||\r\n\t\t\t\t(i.invoiceAddress.eMail && i.invoiceAddress.eMail.toUpperCase().includes(this.validSearchTerm.toUpperCase())) ||\r\n\t\t\t\ti.customerAddress.companyName.toUpperCase().includes(this.validSearchTerm.toUpperCase()) ||\r\n\t\t\t\t(i.customerAddress.givenName && i.customerAddress.givenName.toUpperCase().includes(this.validSearchTerm.toUpperCase())) ||\r\n\t\t\t\t(i.customerAddress.surname && i.customerAddress.surname.toUpperCase().includes(this.validSearchTerm.toUpperCase())) ||\r\n\t\t\t\ti.customerAddress.eMail.toUpperCase().includes(this.validSearchTerm.toUpperCase()) ||\r\n\t\t\t\ti.customerId.toString().includes(this.validSearchTerm) ||\r\n\t\t\t\ti.orderId.toString().includes(this.validSearchTerm) ||\r\n\t\t\t\ti.invoiceId.toString().includes(this.validSearchTerm))\r\n\t\t}\r\n\r\n\t\treturn invoices;\r\n\t}\r\n\tprivate set invoices(newInvoices: InvoiceManagementDto[]) {\r\n\t\tthis.$store.commit(\"setDueInvoices\", newInvoices);\r\n\t}\r\n\r\n\tprivate get searchTerm(): string {\r\n\t\treturn this.$store.state.dueInvoiceSearchTerm;\r\n\t}\r\n\tprivate set searchTerm(searchTerm: string) {\r\n\t\tthis.$store.commit(\"setDueInvoiceSearchTerm\", searchTerm);\r\n\t}\r\n\r\n\tprivate get totalDueInvoices() {\r\n\t\treturn this.$store.state.dueInvoices.length;\r\n\t}\r\n\tprivate get totalAmountDueInvoicesChf() {\r\n\t\treturn this.$store.state.dueInvoices\r\n\t\t\t.filter((i: InvoiceManagementDto) => i.currency === \"CHF\")\r\n\t\t\t.reduce((acc: number, i: InvoiceManagementDto) => {\r\n\t\t\t\treturn acc + (i.totalAmount - i.paidAmount);\r\n\t\t\t}, 0);\r\n\t}\r\n\tprivate get totalAmountDueInvoicesEur() {\r\n\t\treturn this.$store.state.dueInvoices\r\n\t\t\t.filter((i: InvoiceManagementDto) => i.currency === \"EUR\")\r\n\t\t\t.reduce((acc: number, i: InvoiceManagementDto) => {\r\n\t\t\t\treturn acc + (i.totalAmount - i.paidAmount);\r\n\t\t\t}, 0);\r\n\t}\r\n\r\n\tprivate get currentFilterDueInvoices() {\r\n\t\treturn this.invoices.length;\r\n\t}\r\n\tprivate get currentFilterAmountDueInvoicesChf() {\r\n\t\treturn this.invoices\r\n\t\t\t.filter((i: InvoiceManagementDto) => i.currency === \"CHF\")\r\n\t\t\t.reduce((acc: number, i: InvoiceManagementDto) => {\r\n\t\t\t\treturn acc + (i.totalAmount - i.paidAmount);\r\n\t\t\t}, 0);\r\n\t}\r\n\tprivate get currentFilterAmountDueInvoicesEur() {\r\n\t\treturn this.invoices\r\n\t\t\t.filter((i: InvoiceManagementDto) => i.currency === \"EUR\")\r\n\t\t\t.reduce((acc: number, i: InvoiceManagementDto) => {\r\n\t\t\t\treturn acc + (i.totalAmount - i.paidAmount);\r\n\t\t\t}, 0);\r\n\t}\r\n\r\n\tprivate get regions() {\r\n\t\treturn this.$store.state.regions;\r\n\t}\r\n\tprivate get filterRegions() {\r\n\t\treturn this.$store.state.invoiceFilterRegions;\r\n\t}\r\n\tprivate set filterRegions(regions: string[]) {\r\n\t\tthis.$store.commit(\"setInvoiceFilterRegions\", regions);\r\n\t}\r\n\r\n\tprivate get invoiceSorting() {\r\n\t\treturn this.$store.state.dueInvoiceSorting;\r\n\t}\r\n\tprivate set invoiceSorting(invoiceSorting: any) {\r\n\t\tthis.$store.commit(\"setDueInvoiceSorting\", invoiceSorting);\r\n\t}\r\n\r\n\tprivate changeSort(column: string) {\r\n\t\tif (this.invoiceSorting.sortBy === column) {\r\n\t\t\tthis.invoiceSorting.descending = !this.invoiceSorting.descending;\r\n\t\t} else {\r\n\t\t\tthis.invoiceSorting.sortBy = column;\r\n\t\t\tthis.invoiceSorting.descending = false;\r\n\t\t}\r\n\t}\r\n\r\n\tprivate async loadInvoices() {\r\n\t\tif (this.isLoading) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\ttry {\r\n\t\t\tthis.isLoading = true;\r\n\t\t\tconsole.log(\"Loading open invoices...\");\r\n\t\t\tconst response = await httpClient().post(\"Invoice/GetAllOpenInvoices\", null);\r\n\t\t\tlet rawInvoices = response.data;\r\n\t\t\trawInvoices.forEach((i: any) => {\r\n\t\t\t\ti.mahnungCost = 0.0;\r\n\t\t\t});\r\n\t\t\tthis.invoices = rawInvoices;\r\n\t\t} catch (e) {\r\n\t\t\tconsole.log(\"Loading invoices failed.\", e);\r\n\t\t} finally {\r\n\t\t\tthis.isLoading = false;\r\n\t\t}\r\n\t}\r\n\r\n\tprivate async checkCreateMahnung(invoiceId: number, dueDate: Date) {\t\t\r\n\t\tthis.currentInvoiceId = invoiceId;\r\n\t\tthis.currentInvoiceDueDate = dueDate;\r\n\t\tthis.mahnungNotDueInvoiceDialog = true;\r\n\t}\r\n\r\n\tprivate async savedMahnung() {\r\n\t\tthis.$emit(\"reloadMahnungen\");\r\n\t\tthis.mahnungNotDueInvoiceDialog = false;\r\n\t\tawait this.loadInvoices()\r\n\t}\r\n\r\n\tprivate async markAsPaid() {\r\n\t\tif (this.isLoading) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\ttry {\r\n\t\t\tthis.isLoading = true;\r\n\t\t\tconsole.log(`Marking invoice ${this.markAsPaidInvoiceId} as paid...`);\r\n\t\t\tawait httpClient().post(`Invoice/MarkInvoiceAsPaid?invoiceId=${this.markAsPaidInvoiceId}&amount=${this.markAsPaidInvoiceAmount}`, null);\r\n\t\t\tthis.$store.commit(\"removeDueInvoice\", this.markAsPaidInvoiceId);\r\n\t\t\tthis.markAsPaidDialogOpen = false;\r\n\t\t\tthis.markAsPaidInvoiceAmount = 0.0;\r\n\t\t\tthis.markAsPaidInvoiceId = 0;\r\n\t\t\tthis.$emit(\"reloadMahnungen\");\r\n\t\t} catch (e) {\r\n\t\t\tconsole.log(\"Marking invoice as paid failed.\", e);\r\n\t\t} finally {\r\n\t\t\tthis.isLoading = false;\r\n\t\t}\r\n\t}\r\n\r\n\tprivate goToCustomer(customerId: string) {\r\n\t\tthis.$router.push({ name: 'customerDetail', params: { customerId } });\r\n }\r\n\r\n\t@debounce(700, { leading: false })\r\n\t@Watch(\"searchTerm\")\r\n\tprivate filterBySearchTerm() {\r\n\t\tif (this.searchTerm.length >= 3 || this.searchTerm.length === 0) {\r\n\t\t\tthis.validSearchTerm = this.searchTerm;\r\n\t\t}\r\n\t}\r\n\r\n\tprivate navigateToPayments(invoideId: number) {\r\n\t\tthis.$emit(\"navigateToPayments\", invoideId);\r\n\t}\r\n\r\n\tprivate async navigateToInvoiceEdit(invoiceId: number) {\r\n\t\tthis.$router.push({ name: \"editInvoice\", params: { invoiceId: invoiceId.toString() } });\r\n\t}\r\n\r\n\r\n\tprivate isDue(date: Date) {\r\n\t\tlet dateNow = new Date();\r\n\t\tlet compareDate = new Date(date);\r\n\t\tdateNow.setHours(0, 0, 0, 0);\r\n\t\tcompareDate.setHours(0, 0, 0, 0);\r\n\t\treturn compareDate <= dateNow;\r\n\t}\r\n\r\n\tprivate is10DaysPast(date: Date) {\r\n\t\tlet dateNow = new Date();\r\n\t\tlet compareDate = new Date(date);\r\n\t\tdateNow.setHours(0, 0, 0, 0);\r\n\t\tcompareDate.setHours(0, 0, 0, 0);\r\n\t\tlet diff = dateNow.getTime() - compareDate.getTime();\r\n\t\tif (diff <= 0) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\tdiff = Math.abs(diff);\r\n\t\treturn diff / (1000 * 60 * 60 * 24) >= 10;\r\n\t}\r\n\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OpenInvoices.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OpenInvoices.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./OpenInvoices.vue?vue&type=template&id=365cb168&scoped=true\"\nimport script from \"./OpenInvoices.vue?vue&type=script&lang=ts\"\nexport * from \"./OpenInvoices.vue?vue&type=script&lang=ts\"\nimport style0 from \"./OpenInvoices.vue?vue&type=style&index=0&id=365cb168&prod&scoped=true&lang=css\"\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 \"365cb168\",\n null\n \n)\n\nexport default component.exports","\r\nimport { Component, Vue } from 'vue-property-decorator';\r\nimport httpClient from '../../store/httpClient';\r\nimport OpenInvoices from '@/views/Accounting/OpenInvoices.vue'\r\nimport { PaymentTransactionDto } from '@/dtos/paymentTransactionDto'\r\nimport { MatchedInvoiceDto } from '@/dtos/matchedInvoiceDto'\r\nimport { MatchingType } from '@/dtos/matchingType';\r\nimport { InvoiceManagementDto } from '@/dtos/invoiceManagementDto';\r\nimport { PaymentDto } from '@/dtos/paymentDto';\r\nimport DatePicker from '@/components/DatePicker.vue';\r\nimport moment from 'moment';\r\n\r\n@Component({\r\n components: {\r\n\t\tOpenInvoices,\r\n\t\tDatePicker,\r\n },\r\n})\r\nexport default class OpenInvoiceMatchingComponent extends Vue {\r\n\tprivate reloadInvoicesToggle: boolean = false;\r\n\tprivate uploading: boolean = false;\r\n\tprivate processing: boolean = false;\r\n\tprivate processConfirmationDialog: boolean = false;\r\n\tprivate fromDateString: string = moment().subtract(12, 'month').format('YYYY-MM-DD');\r\n\tprivate toDateString: string = moment().format('YYYY-MM-DD');\r\n\r\n\tprivate get transactions(): PaymentTransactionDto[] {\r\n\t\treturn this.$store.state.transactions.sort((a: PaymentTransactionDto, b: PaymentTransactionDto) => {\r\n\t\t\tlet invoicesA = this.getMatchingInvoicesOfTransaction(a.id);\r\n\t\t\tlet invoicesB = this.getMatchingInvoicesOfTransaction(b.id);\r\n\t\t\tlet bestMatchA = Math.min.apply(null, invoicesA.map((x: any) => x.matchingType));\r\n\t\t\tlet bestMatchB = Math.min.apply(null, invoicesB.map((x: any) => x.matchingType));\r\n\t\t\tlet compare = bestMatchA - bestMatchB;\r\n\t\t\tif (compare === 0) {\r\n\t\t\t\tcompare = a.id - b.id;\r\n\t\t\t}\r\n\t\t\treturn compare;\r\n\t\t});\r\n\t}\r\n\tprivate set transactions(transactions: PaymentTransactionDto[]) {\r\n\t\tthis.$store.commit('setTransactions', transactions);\r\n\t}\r\n\r\n\tprivate get matchedInvoices() {\r\n\t\treturn this.$store.state.matchedInvoices;\r\n\t}\r\n\tprivate set matchedInvoices(matchedInvoices: MatchedInvoiceDto[]) {\r\n\t\tthis.$store.commit('setMatchedInvoices', matchedInvoices);\r\n\t}\r\n\r\n\tprivate matchInvoiceToSelection(invoice: InvoiceManagementDto) {\r\n\t\tif (this.transactions.some((t: PaymentTransactionDto) => t.isMatchSelectMode)) {\t\t\t\r\n\t\t\tlet selectedTransaction = this.transactions.filter((t: PaymentTransactionDto) => t.isMatchSelectMode)[0];\r\n\t\t\tconsole.log(`matching transaction ${selectedTransaction.id} to invoice ${invoice.invoiceId}`);\r\n\t\t\tthis.$store.commit('addTransactionMatch', { transactionId: selectedTransaction.id, invoice: invoice });\r\n\t\t\tthis.toggleMatchModeForTransaction(selectedTransaction.id, false)\r\n\t\t}\r\n\t}\r\n\r\n\tprivate getMatchingInvoicesOfTransaction(transactionId: number): MatchedInvoiceDto[] {\r\n\t\tlet matchingInvoices = this.matchedInvoices.filter((mi: MatchedInvoiceDto) => mi.transactionId === transactionId);\r\n\t\tif (matchingInvoices.length > 0) {\r\n\t\t\treturn matchingInvoices;\r\n\t\t} else {\r\n\t\t\tlet emptyArray: MatchedInvoiceDto[] = [];\r\n\t\t\tlet emptyMatch: MatchedInvoiceDto = { \r\n\t\t\t\ttransactionId: transactionId,\r\n\t\t\t\tinvoiceId: 0, \r\n\t\t\t\tmatchingType: MatchingType.NoMatch,\r\n\t\t\t\tcustomerId: 0,\r\n\t\t\t\tamount: 0,\r\n\t\t\t\tname: '',\r\n\t\t\t\tkundenauftragId: 0,\r\n\t\t\t\tdueDate: new Date(),\r\n\t\t\t\tpayments: new Array(),\r\n\t\t\t};\r\n\t\t\temptyArray.push(emptyMatch);\r\n\t\t\treturn emptyArray;\r\n\t\t}\r\n\t}\r\n\r\n\tdragover(event: any) {\r\n event.preventDefault();\r\n (this.$refs.uploadArea as any).className = 'dragArea dragging';\r\n }\r\n dragleave(event: any) {\r\n (this.$refs.uploadArea as any).className = 'dragArea';\r\n }\r\n drop(event: any) {\r\n event.preventDefault();\r\n this.uploadFiles(null, event.dataTransfer.files);\r\n (this.$refs.uploadArea as any).className = 'dragArea';\r\n }\r\n\r\n\tprivate reloadInvoices() {\r\n\t\tthis.reloadInvoicesToggle = true;\r\n\t}\r\n\r\n\tprivate reloadMahnungen() {\r\n\t\tthis.$emit('reloadMahnungen');\r\n\t}\r\n\r\n\tprivate deleteAllTransactions() {\r\n\t\tthis.transactions = [];\r\n\t\tthis.matchedInvoices = [];\r\n\t}\r\n\r\n\tprivate deleteTransaction(id: number) {\r\n\t\tthis.$store.commit('removeTransaction', id);\r\n\t}\r\n\r\n\tprivate disconnectTransaction(invoiceId: number) {\r\n\t\tthis.$store.commit('removeTransactionMatch', invoiceId);\r\n\t}\r\n\r\n\tprivate toggleMatchModeForTransaction(transactionId: number, selectMode: boolean) {\r\n\t\tthis.$store.commit('setMatchSelectMode', { transactionId: transactionId, isSelectMode: selectMode });\r\n\t\tthis.$forceUpdate();\r\n\t}\r\n\r\n\tprivate async uploadFiles(event: any, inputFiles: FileList) {\r\n\t\tconst allowedExtensions = ['zip', 'xml'];\r\n\t\tconst files = Array.from(inputFiles).filter((file:File) => {\r\n\t\t\tconst extension = file.name.slice(file.name.lastIndexOf(\".\") + 1);\r\n\t\t\tconsole.log(\"extension\", extension);\r\n\t\t\treturn allowedExtensions.includes(extension.toLowerCase());\r\n\t\t})\r\n\t\tif (files.length === 0) {\r\n\t\t\tconsole.log('No files selected.');\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (files.length > 10) {\r\n\t\t\tthis.$store.commit('setSnackbarText', 'Sie können maximal 10 CAD Modelle gleichzeitig hochladen.');\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tconsole.log('Uploading files...');\r\n\t\ttry {\r\n\t\t\tthis.transactions = [];\r\n\t\t\tthis.uploading = true;\r\n\t\t\tlet data = new FormData();\r\n\t\t\tlet index = 0;\r\n\t\t\t\r\n\t\t\tdata.append('from', this.fromDateString);\r\n\t\t\tdata.append('to', this.toDateString);\r\n\t\t\tfor (const file of files) {\r\n\t\t\t\tdata.append('files' , file);\r\n\t\t\t\tconsole.log(`Uploading File ${index}: ${file.name}`);\r\n\t\t\t\tindex++;\r\n\t\t\t}\r\n\r\n\t\t\tawait httpClient().post(\r\n\t\t\t\t'Invoice/ExtractTransactionsFromFiles',\r\n\t\t\t\tdata,\r\n\t\t\t\t{\r\n\t\t\t\t\theaders : {\r\n\t\t\t\t\t\t'Content-Type' : 'multipart/form-data'\r\n\t\t\t\t\t},\r\n\t\t\t\t}\r\n\t\t\t).then((response: any) => {\r\n\t\t\t\tlet transactions = response.data.transactions;\r\n\t\t\t\tlet matchedInvoices = response.data.invoices;\r\n\t\t\t\ttransactions.forEach((t: any) => {\r\n\t\t\t\t\tt.isMatchSelectMode = false;\r\n\t\t\t\t});\r\n\t\t\t\tthis.transactions = transactions;\r\n\t\t\t\tthis.matchedInvoices = matchedInvoices;\r\n\t\t\t});\r\n\r\n\t\t\tif (event != null) {\r\n\t\t\t\tevent.target.value = '';\r\n\t\t\t}\r\n\t\t} catch(err) {\r\n\t\t\tconsole.log(`Fehler beim Upload. ${err}`);\r\n\t\t\tthis.$store.commit('setSnackbarErrorText', 'Upload fehlgeschlagen.');\r\n\t\t} finally {\r\n\t\t\tthis.uploading = false;\r\n\t\t}\r\n }\r\n\r\n\tprivate async processAllMatches() {\r\n\t\tthis.processConfirmationDialog = false;\r\n\t\tif (this.isReadyToProcessMatches) {\r\n\t\t\tlet ids = this.transactions\r\n\t\t\t\t.filter((t: PaymentTransactionDto) => this.matchedInvoices.some(\r\n\t\t\t\t\t(mi: MatchedInvoiceDto) => mi.transactionId === t.id && mi.matchingType != MatchingType.ByPaidInvoice))\r\n\t\t\t\t.map((t: PaymentTransactionDto) => t.id);\r\n\t\t\tawait this.processMatches(ids);\r\n\t\t} else {\r\n\t\t\tthis.$store.commit('setSnackbarErrorText', 'Transaktionen können nicht verarbeitet werden.');\r\n\t\t}\r\n\t}\r\n\r\n\tprivate async processMatches(transactionIds: number[]) {\r\n\t\ttry {\r\n\t\t\tthis.processing = true;\r\n\t\t\tlet transactionsToSend = this.transactions.filter((t: PaymentTransactionDto) => transactionIds.includes(t.id));\r\n\t\t\tlet invoicesToSend = this.matchedInvoices.filter((i: MatchedInvoiceDto) => transactionIds.includes(i.transactionId));\r\n\t\t\tlet sendObject = {\r\n\t\t\t\ttransactions: transactionsToSend,\r\n\t\t\t\tinvoices: invoicesToSend,\r\n\t\t\t}\r\n\r\n\t\t\tawait httpClient().post('Invoice/ProcessMatchedTransactions', sendObject);\r\n\t\t\ttransactionIds.forEach((id) => this.$store.commit('removeTransaction', id));\r\n\t\t\t// This removes the open invoice from the list.\r\n\t\t\t// If the transaction does not fully cover the invoice, this is incorrect.\r\n\t\t\t// But after a reload the open transaction is in the list again.\r\n\t\t\t// I think this is the better solution than to not remove the connected invoice from the list\r\n\t\t\t// because most likely, in one batch of transactions, there are not more than one transactions for the same invoice.\r\n\t\t\tinvoicesToSend.forEach((invoice) => this.$store.commit('removeDueInvoice', invoice.invoiceId));\r\n\t\t} catch(err) {\r\n\t\t\tconsole.log(`Fehler bei der Verarbeiten. ${err}`);\r\n\t\t\tthis.$store.commit('setSnackbarErrorText', 'Verarbeitung fehlgeschlagen.');\r\n\t\t} finally {\r\n\t\t\tthis.processing = false;\r\n\t\t}\r\n\t}\r\n\r\n\tprivate invoiceMultiMatch(invoiceId: number) {\r\n\t\treturn this.matchedInvoices.filter((i: MatchedInvoiceDto) => i.invoiceId == invoiceId).length > 1;\r\n\t}\r\n\r\n\tprivate get anyTransactionsInSelectionMode() {\r\n\t\treturn this.transactions.filter((t: PaymentTransactionDto) => t.isMatchSelectMode).length > 0;\r\n\t}\r\n\tprivate isToggleDisabled(id: number) {\r\n\t\treturn this.anyTransactionsInSelectionMode \r\n\t\t\t&& !this.transactions[this.transactions.findIndex((i: any) => i.id === id)].isMatchSelectMode;\r\n\t}\r\n\r\n\tprivate get isReadyToProcessMatches() {\r\n\t\treturn this.matchedInvoices\r\n\t\t\t.filter((m: MatchedInvoiceDto) => m.matchingType != MatchingType.ByPaidInvoice && m.matchingType != MatchingType.NoMatch)\r\n\t\t\t.length > 0 \r\n\t\t\t\t&& !this.processing;\r\n\t}\r\n\r\n\tprivate isReadyToProcessTransaction(transactionId: number) {\r\n\t\treturn this.matchedInvoices.some(\r\n\t\t\t(mi: MatchedInvoiceDto) => mi.transactionId === transactionId && mi.matchingType != MatchingType.ByPaidInvoice) \r\n\t\t\t\t&& !this.processing;\r\n\t}\r\n\r\n\tprivate navigateToPayments(invoideId: number) {\r\n\t\tthis.$emit('navigateToPayments', invoideId);\r\n\t}\r\n\t\r\n\tprivate getBackgroundColor(isSelectMode: boolean) {\r\n\t\treturn isSelectMode ? '#efbb20' : 'white';\r\n\t}\r\n\r\n\tprivate getMatchIcon(type: MatchingType) {\r\n\t\tswitch(type) {\r\n\t\t\tcase MatchingType.NoMatch:\r\n\t\t\t\treturn 'cancel';\r\n\t\t\tcase MatchingType.ById:\r\n\t\t\tcase MatchingType.ByReference:\r\n\t\t\tcase MatchingType.ByAmount:\r\n\t\t\t\treturn 'check_circle';\r\n\t\t\tcase MatchingType.ByHand:\r\n\t\t\t\treturn 'pan_tool';\r\n\t\t\tcase MatchingType.ByPaidInvoice:\r\n\t\t\t\treturn 'warning';\r\n\t\t}\r\n\t}\r\n\tprivate getMatchIconColor(type: MatchingType) {\r\n\t\tswitch(type) {\r\n\t\t\tcase MatchingType.NoMatch:\r\n\t\t\t\treturn 'red';\r\n\t\t\tcase MatchingType.ById:\r\n\t\t\tcase MatchingType.ByHand:\r\n\t\t\t\treturn 'green';\r\n\t\t\tcase MatchingType.ByReference:\r\n\t\t\t\treturn 'lime darken-2';\r\n\t\t\tcase MatchingType.ByAmount:\r\n\t\t\t\treturn 'orange';\r\n\t\t\tcase MatchingType.ByPaidInvoice:\r\n\t\t\t\treturn 'purple';\r\n\t\t}\r\n\t}\r\n\tprivate getMatchText(type: MatchingType) {\r\n\t\tswitch(type) {\r\n\t\t\tcase MatchingType.NoMatch:\r\n\t\t\t\treturn '';\r\n\t\t\tcase MatchingType.ById:\r\n\t\t\t\treturn 'Via ID'\r\n\t\t\tcase MatchingType.ByHand:\r\n\t\t\t\treturn 'Via manueller Zuordnung';\r\n\t\t\tcase MatchingType.ByReference:\r\n\t\t\t\treturn 'Via Referenz-Text';\r\n\t\t\tcase MatchingType.ByAmount:\r\n\t\t\t\treturn 'Via Betrag';\r\n\t\t\tcase MatchingType.ByPaidInvoice:\r\n\t\t\t\treturn 'Bereits bezahlt oder storniert';\r\n\t\t}\r\n\t}\r\n\r\n\tprivate setFromDate(date: Date) {\r\n this.fromDateString = moment(date).format('YYYY-MM-DD');\r\n }\r\n\tprivate setToDate(date: Date) {\r\n this.toDateString = moment(date).format('YYYY-MM-DD');\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OpenInvoiceMatchingComponent.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OpenInvoiceMatchingComponent.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./OpenInvoiceMatchingComponent.vue?vue&type=template&id=84473a04&scoped=true\"\nimport script from \"./OpenInvoiceMatchingComponent.vue?vue&type=script&lang=ts\"\nexport * from \"./OpenInvoiceMatchingComponent.vue?vue&type=script&lang=ts\"\nimport style0 from \"./OpenInvoiceMatchingComponent.vue?vue&type=style&index=0&id=84473a04&prod&scoped=true&lang=css\"\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 \"84473a04\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',[_c('v-container',{staticClass:\"pa-0\",attrs:{\"fluid\":\"\"}},[_c('v-layout',{attrs:{\"row\":\"\",\"fill-height\":\"\",\"align-center\":\"\",\"justify-space-between\":\"\"}},[_c('v-flex',[_c('v-text-field',{attrs:{\"label\":\"Suche\",\"prepend-icon\":\"search\",\"hint\":\"Suche nach Mahnungsnummer, Rechnungsnummer, Kundennummer, Kundenauftragsnummer, Email oder Name\"},model:{value:(_vm.searchTerm),callback:function ($$v) {_vm.searchTerm=$$v},expression:\"searchTerm\"}})],1),_c('v-flex',{attrs:{\"shrink\":\"\"}},[_c('v-btn',{staticClass:\"blexon-button\",on:{\"click\":function($event){_vm.sendSelectedMahnungenDialog = true}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\tSelektierte Mahnungen senden\\n\\t\\t\\t\\t\\t\")])],1)],1)],1),_c('span',{staticStyle:{\"font-size\":\"0.9em\"}},[_vm._v(\"\\n\\t\\t\\tTotal offene Mahnungen: \"+_vm._s(_vm.totalOpenBills)+\"\\n\\t\\t\")]),_c('v-data-table',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.headers,\"loading\":_vm.isLoading,\"item-key\":\"mahnungsId\",\"items\":_vm.mahnungen,\"pagination\":_vm.mahnungSorting},on:{\"update:pagination\":function($event){_vm.mahnungSorting=$event}},scopedSlots:_vm._u([{key:\"headers\",fn:function(props){return [_c('tr',_vm._l((props.headers),function(header){return _c('th',{key:header.value,class:[\n\t\t\t\t\t\t\t'column',\n\t\t\t\t\t\t\theader.sortable === true ? 'sortable' : '',\n\t\t\t\t\t\t\t_vm.mahnungSorting.descending ? 'desc' : 'asc',\n\t\t\t\t\t\t\theader.value === _vm.mahnungSorting.sortBy ? 'active' : '',\n\t\t\t\t\t\t\theader.align === 'left' ? 'text-xs-left' : 'text-xs-right'\n\t\t\t\t\t\t],on:{\"click\":function($event){header.sortable ? _vm.changeSort(header.value) : ''}}},[(header.value === _vm.mahnungSorting.sortBy)?_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"arrow_upward\")]):_vm._e(),_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(header.text)+\"\\n\\t\\t\\t\\t\\t\")],1)}),0)]}},{key:\"items\",fn:function(props){return [_c('tr',{on:{\"click\":function($event){return _vm.onMahnungClick(props.item.mahnungsId)}}},[_c('td',{on:{\"click\":function($event){$event.stopPropagation();}}},[_c('v-layout',{attrs:{\"row\":\"\",\"align-center\":\"\"}},[_c('v-flex',{attrs:{\"shrink\":\"\"}},[_c('v-checkbox',{staticClass:\"pa-0\",attrs:{\"hide-details\":\"\",\"color\":\"accent\",\"ripple\":false},on:{\"change\":function($event){return _vm.setSelected(props.item.mahnungsId, $event)}},model:{value:(props.item.selected),callback:function ($$v) {_vm.$set(props.item, \"selected\", $$v)},expression:\"props.item.selected\"}})],1),_c('v-flex',{attrs:{\"shrink\":\"\"}},[_c('v-icon',{attrs:{\"color\":_vm.getIconColor(props.item.audits, 0)}},[_vm._v(\"email\")])],1),_c('v-flex',{attrs:{\"shrink\":\"\"}},[_c('v-icon',{attrs:{\"color\":_vm.getIconColor(props.item.audits, 1)}},[_vm._v(\"home\")])],1),_c('v-flex',{attrs:{\"shrink\":\"\"}},[_c('v-icon',{attrs:{\"color\":_vm.getIconColor(props.item.audits, 2)}},[_vm._v(\"phone\")])],1)],1)],1),_c('td',[_vm._v(_vm._s(props.item.mahnungsId))]),_c('td',[_c('span',{staticClass:\"link\",on:{\"click\":function($event){$event.stopPropagation();return _vm.goToCustomer(props.item.customerId)}}},[_vm._v(\"\\n \"+_vm._s(props.item.customerId)+\"\\n \")])]),_c('td',[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(props.item.customerAddress.companyName)),_c('br'),_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(props.item.customerAddress.givenName)+\" \"+_vm._s(props.item.customerAddress.surname)),_c('br'),_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(props.item.customerAddress.eMail)+\"\\n\\t\\t\\t\\t\\t\")]),_c('td',[_vm._v(_vm._s(_vm._f(\"formatDate\")(props.item.createdAt)))]),_c('td',[_vm._v(_vm._s(_vm._f(\"formatDate\")(props.item.mahnungsDatum)))]),_c('td',_vm._l((_vm.getInvoiceIds(props.item.mahnungsPositions)),function(invoiceId){return _c('span',{key:invoiceId},[_c('a',{on:{\"click\":function($event){return _vm.navigateToInvoiceEdit(invoiceId)}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(invoiceId)+\"\\n\\t\\t\\t\\t\\t\\t\\t\")]),_c('br')])}),0),_c('td',{staticClass:\"text-xs-right\"},[_vm._v(_vm._s(_vm._f(\"format2Digit\")(props.item.mahnungCost)))]),_c('td',{staticClass:\"text-xs-right\"},[_vm._v(_vm._s(_vm._f(\"format2Digit\")(_vm.getOpenBalance(props.item.mahnungsPositions))))])])]}}])}),_c('v-dialog',{attrs:{\"width\":\"800\",\"persistent\":\"\"},model:{value:(_vm.openMahnungDialog),callback:function ($$v) {_vm.openMahnungDialog=$$v},expression:\"openMahnungDialog\"}},[_c('v-card',[_c('v-card-title',[_c('h3',[_vm._v(\"Mahnung \"+_vm._s(_vm.currentMahnung.mahnungsId))])]),_c('v-card-text',[_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\",\"fill-height\":\"\",\"align-start\":\"\"}},[_c('v-flex',{staticClass:\"withIndent\",attrs:{\"xs12\":\"\",\"md6\":\"\"}},[_c('span',[_c('strong',[_vm._v(\"Kundennummer: \")]),_vm._v(_vm._s(_vm.currentMahnung.customerId))]),_c('span',[_c('strong',[_vm._v(\"Erstellungsdatum: \")]),_vm._v(_vm._s(_vm._f(\"formatDate\")(_vm.currentMahnung.createdAt)))]),(_vm.currentMahnung.changedAt != null)?_c('span',[_c('strong',[_vm._v(\"Änderungsdatum: \")]),_vm._v(_vm._s(_vm._f(\"formatDate\")(_vm.currentMahnung.changedAt)))]):_vm._e(),_c('span',[_c('strong',[_vm._v(\"Mahnungsdatum: \")]),_vm._v(_vm._s(_vm._f(\"formatDate\")(_vm.currentMahnung.mahnungsDatum)))]),_c('span',[_c('strong',[_vm._v(\"Mahnungskosten: \")]),_vm._v(_vm._s(_vm._f(\"format2Digit\")(_vm.currentMahnung.mahnungCost))+\" \"+_vm._s(_vm.currentMahnung.currency))]),_c('span',[_c('strong',[_vm._v(\"Firma: \")]),_vm._v(_vm._s(_vm.currentMahnung.customerAddress.companyName))]),_c('span',[_c('strong',[_vm._v(\"Strasse: \")]),_vm._v(_vm._s(_vm.currentMahnung.customerAddress.street))]),_c('span',[_c('strong',[_vm._v(\"PLZ / Ort: \")]),_vm._v(_vm._s(_vm.currentMahnung.customerAddress.zip)+\" \"+_vm._s(_vm.currentMahnung.customerAddress.town))]),_c('span',[_c('strong',[_vm._v(\"Land: \")]),_vm._v(_vm._s(_vm.currentMahnung.customerAddress.country))]),_c('span',[_c('strong',[_vm._v(\"Telefon: \")]),_vm._v(_vm._s(_vm.currentMahnung.customerAddress.phone))]),_c('span',[_c('strong',[_vm._v(\"E-Mail: \")]),_c('a',{attrs:{\"href\":'mailto:' + _vm.currentMahnung.customerAddress.eMail}},[_vm._v(_vm._s(_vm.currentMahnung.customerAddress.eMail))])])]),_c('v-flex',{staticClass:\"withIndent\",attrs:{\"xs12\":\"\",\"md6\":\"\"}},[_c('span',[_c('strong',[_vm._v(\"Rechnungsadresse\")])]),_c('span',[_c('strong',[_vm._v(\"Firma: \")]),_vm._v(_vm._s(_vm.currentMahnung.invoiceAddress.companyName))]),_c('span',[_c('strong',[_vm._v(\"Vorname / Name: \")]),_vm._v(_vm._s(_vm.currentMahnung.invoiceAddress.givenName)+\" \"+_vm._s(_vm.currentMahnung.invoiceAddress.surname))]),_c('span',[_c('strong',[_vm._v(\"Strasse: \")]),_vm._v(_vm._s(_vm.currentMahnung.invoiceAddress.street))]),_c('span',[_c('strong',[_vm._v(\"PLZ / Ort: \")]),_vm._v(_vm._s(_vm.currentMahnung.invoiceAddress.zip)+\" \"+_vm._s(_vm.currentMahnung.invoiceAddress.town))]),_c('span',[_c('strong',[_vm._v(\"E-Mail: \")]),_c('a',{attrs:{\"href\":'mailto:' + _vm.currentMahnung.invoiceAddress.eMail}},[_vm._v(_vm._s(_vm.currentMahnung.invoiceAddress.eMail))])])]),_c('v-flex',{attrs:{\"xs12\":\"\",\"mt-3\":\"\"}},[_c('h4',[_vm._v(\"Mahnungspositionen:\")]),_c('v-divider')],1),_vm._l((_vm.currentMahnung.mahnungsPositions),function(pos){return _c('v-flex',{key:pos.mahnungPositionId,attrs:{\"xs12\":\"\",\"pl-2\":\"\",\"mb-3\":\"\"}},[_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('v-flex',{staticClass:\"withIndent\",attrs:{\"xs12\":\"\",\"md6\":\"\"}},[_c('span',[_c('strong',[_vm._v(\"Auftragsnummer: \")]),_vm._v(_vm._s(pos.orderId))]),_c('span',[_c('strong',[_vm._v(\"Position: \")]),_vm._v(_vm._s(pos.position))]),_c('span',[_c('strong',[_vm._v(\"Rechnungsnummer: \")]),_vm._v(_vm._s(pos.invoiceId))]),_c('span',[_c('strong',[_vm._v(\"Rechnungsdatum: \")]),_vm._v(_vm._s(_vm._f(\"formatDate\")(pos.invoiceDate)))]),_c('span',[_c('strong',[_vm._v(\"Fälligkeitsdatum: \")]),_vm._v(_vm._s(_vm._f(\"formatDate\")(pos.invoiceFaelligDate)))])]),_c('v-flex',{staticClass:\"withIndent\",attrs:{\"xs12\":\"\",\"md6\":\"\"}},[_c('span',[_c('strong',[_vm._v(\"Mahnungsgebühren: \")]),_vm._v(_vm._s(_vm._f(\"format2Digit\")(pos.mahnungsCost)))]),_c('span',[_c('strong',[_vm._v(\"Rechnungsbetrag Total: \")]),_vm._v(_vm._s(_vm._f(\"format2Digit\")(pos.invoiceTotalAmount)))]),_c('span',[_c('strong',[_vm._v(\"Bezahlter Betrag: \")]),_vm._v(_vm._s(_vm._f(\"format2Digit\")(pos.paidAmount)))]),_c('span',[_c('strong',[_vm._v(\"Offener Betrag: \")]),_vm._v(_vm._s(_vm._f(\"format2Digit\")(pos.invoiceOpenAmount)))])])],1),_c('v-divider')],1)}),_c('v-flex',{attrs:{\"xs12\":\"\"}},[_c('v-textarea',{attrs:{\"label\":\"Bemerkung\"},on:{\"blur\":() => {\n\t\t\t\t\t\t\t\t\t_vm.currentMahnung.note = _vm.currentMahnung.note.trim();\n\t\t\t\t\t\t\t\t\t_vm.saveNote();\n\t\t\t\t\t\t\t\t}},model:{value:(_vm.currentMahnung.note),callback:function ($$v) {_vm.$set(_vm.currentMahnung, \"note\", $$v)},expression:\"currentMahnung.note\"}})],1),_c('v-flex',{attrs:{\"xs12\":\"\",\"mt-3\":\"\"}},[_c('h4',[_vm._v(\"Log:\")])]),_c('v-flex',{attrs:{\"xs2\":\"\",\"pr-1\":\"\"}},[_c('date-picker',{attrs:{\"selectedDate\":_vm.newAudit.createdAt,\"pastDateAllowed\":true,\"futureDateAllowed\":false,\"label\":\"Datum\"},on:{\"update:selectedDate\":function($event){_vm.newAudit.createdAt = $event}}})],1),_c('v-flex',{attrs:{\"xs4\":\"\",\"pr-1\":\"\"}},[_c('v-select',{attrs:{\"item-text\":\"text\",\"item-value\":\"id\",\"items\":_vm.auditEventTypes},model:{value:(_vm.newAudit.eventType),callback:function ($$v) {_vm.$set(_vm.newAudit, \"eventType\", $$v)},expression:\"newAudit.eventType\"}})],1),_c('v-flex',{attrs:{\"xs4\":\"\",\"pr-1\":\"\"}},[_c('v-text-field',{attrs:{\"label\":\"Notiz\"},on:{\"blur\":function($event){_vm.newAudit.note = _vm.newAudit.note.trim()}},model:{value:(_vm.newAudit.note),callback:function ($$v) {_vm.$set(_vm.newAudit, \"note\", $$v)},expression:\"newAudit.note\"}})],1),_c('v-flex',{attrs:{\"xs2\":\"\"}},[_c('v-btn',{staticClass:\"blexon-button\",attrs:{\"disabled\":_vm.isLoading,\"block\":\"\"},on:{\"click\":function($event){return _vm.saveAudit()}}},[_c('v-icon',[_vm._v(\"send\")])],1)],1),(_vm.currentMahnung.audits.length > 0)?_c('v-flex',{attrs:{\"xs12\":\"\",\"mb-3\":\"\"}},[_c('v-data-table',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.auditHeaders,\"items\":_vm.getSortedAudits(_vm.currentMahnung.audits),\"pagination\":_vm.auditSorting,\"hide-actions\":\"\"},scopedSlots:_vm._u([{key:\"items\",fn:function(props){return [_c('td',[_vm._v(_vm._s(_vm._f(\"formatDate\")(props.item.createdAt)))]),_c('td',[_vm._v(_vm._s(_vm.eventTypeText[props.item.eventType]))]),_c('td',[_vm._v(_vm._s(props.item.note))])]}}],null,false,2013488632)})],1):_vm._e(),_c('v-flex',{attrs:{\"xs6\":\"\",\"pr-2\":\"\"}},[_c('v-btn',{staticClass:\"blexon-button\",attrs:{\"block\":\"\",\"disabled\":_vm.isDownloading},on:{\"click\":function($event){return _vm.getMahnungPdf()}}},[(_vm.isDownloading)?_c('v-progress-circular',{staticClass:\"mr-2\",attrs:{\"indeterminate\":\"\",\"size\":\"20\"}}):_vm._e(),_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\tMahnung herunterladen\\n\\t\\t\\t\\t\\t\\t\\t\")],1)],1),_c('v-flex',{attrs:{\"xs6\":\"\",\"pl-2\":\"\"}},[_c('v-btn',{staticClass:\"blexon-button\",attrs:{\"block\":\"\",\"disabled\":_vm.isDownloading},on:{\"click\":function($event){return _vm.downloadInvoicePdfs()}}},[(_vm.isDownloading)?_c('v-progress-circular',{staticClass:\"mr-2\",attrs:{\"indeterminate\":\"\",\"size\":\"20\"}}):_vm._e(),_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\tRechnungen herunterladen\\n\\t\\t\\t\\t\\t\\t\\t\")],1)],1)],2)],1),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"flat\":\"\"},on:{\"click\":function($event){_vm.openMahnungDialog = false}}},[_vm._v(\"\\n Schliessen\\n \")])],1)],1)],1),_c('v-dialog',{attrs:{\"persistent\":\"\",\"width\":\"500\"},model:{value:(_vm.sendSelectedMahnungenDialog),callback:function ($$v) {_vm.sendSelectedMahnungenDialog=$$v},expression:\"sendSelectedMahnungenDialog\"}},[_c('v-card',[_c('v-card-title',[_c('h3',[_vm._v(\"Mahnungen senden\")])]),_c('v-card-text',[_vm._v(\"\\n\\t\\t\\t\\t\\tFür alle selektierten Mahnungen werden Zahlungserinnerungen an die Kunden verschickt.\"),_c('br'),_vm._v(\"\\n\\t\\t\\t\\t\\tEs wird nicht geprüft, wer bereits eine Zahlungserinnerung erhalten hat.\\n \")]),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{on:{\"click\":function($event){_vm.sendSelectedMahnungenDialog = false}}},[_vm._v(\"Abbrechen\\n \")]),_c('v-btn',{staticClass:\"blexon-button\",attrs:{\"loading\":_vm.isLoading,\"disabled\":_vm.isLoading},on:{\"click\":function($event){return _vm.sendSelectedMahnungenAndReload()}}},[_vm._v(\"Senden\\n \")])],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { MahnungPositionDto } from './mahnungPositionDto';\r\nimport { MahnungAuditDto } from './mahnungAuditDto';\r\nimport { AddressDto } from './addressDto';\r\n\r\nexport class MahnungDto {\r\n\tpublic mahnungsId: number = 0;\r\n\tpublic createdAt: Date = new Date();\r\n\tpublic changedAt: Date = new Date();\r\n\tpublic mahnungsDatum: Date = new Date();\r\n\tpublic customerId: number = 0;\r\n\tpublic mahnungCost: number = 0;\r\n\tpublic currency: string = '';\r\n\tpublic note: string = '';\r\n\tpublic selected: boolean = false;\r\n\tpublic invoiceAddress: AddressDto = new AddressDto();\r\n\tpublic customerAddress: AddressDto = new AddressDto();\r\n\tpublic mahnungsPositions: MahnungPositionDto[] = new Array();\r\n\tpublic audits: MahnungAuditDto[] = new Array();\r\n}","\r\nimport { EventType } from './eventType';\r\n\r\nexport class MahnungAuditDto {\r\n\tpublic auditId: number = 0;\r\n\tpublic createdAt: Date = new Date();\r\n\tpublic mahnungId: number = 0;\r\n\tpublic note: string = '';\r\n\tpublic email: string = '';\r\n\tpublic eventType: EventType = EventType.MahnungCalledCustomer;\r\n}","\r\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\r\nimport { debounce } from 'typescript-debounce-decorator';\r\nimport httpClient from '../../store/httpClient';\r\nimport { MahnungDto } from '@/dtos/mahnungDto';\r\nimport { MahnungAuditDto } from '@/dtos/mahnungAuditDto';\r\nimport { EventType } from '@/dtos/eventType';\r\nimport { AuditType } from '@/dtos/auditType';\r\nimport DatePicker from '../../components/DatePicker.vue';\r\nimport { MahnungPositionDto } from '@/dtos/mahnungPositionDto';\r\n\r\n@Component({\r\n components: {\r\n 'date-picker': DatePicker,\r\n },\r\n})\r\nexport default class OpenMahnungen extends Vue {\r\n\t@Prop()\r\n\tprivate reloadMahnungen!: boolean;\r\n\tprivate isLoading: boolean = false;\r\n\tprivate isDownloading: boolean = false;\r\n\tprivate openMahnungDialog: boolean = false;\r\n\tprivate currentMahnung: MahnungDto = new MahnungDto();\r\n\tprivate sendSelectedMahnungenDialog: boolean = false;\r\n\tprivate lastNote: string = '';\r\n\tprivate newAudit: MahnungAuditDto = new MahnungAuditDto();\r\n\treadonly auditTemplate: MahnungAuditDto = {\r\n\t\tauditId: 0,\r\n\t\tcreatedAt: new Date(),\r\n\t\tmahnungId: 0,\r\n\t\tnote: '',\r\n\t\temail: '',\r\n\t\teventType: EventType.MahnungSentAsEmail,\r\n\t};\r\n\r\n\tprivate auditEventTypes: any = [\r\n\t\t{\r\n\t\t\tid: EventType.MahnungSentAsEmail,\r\n\t\t\ttext: 'Per Email versendet'\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: EventType.MahnungSentAsPhysicalMail,\r\n\t\t\ttext: 'Per Post versendet'\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: EventType.MahnungCalledCustomer,\r\n\t\t\ttext: 'Per Telefon kontaktiert'\r\n\t\t},\r\n\t]\r\n\r\n\tprivate headers: Array<{\r\n\t\ttext: string;\r\n\t\tvalue: string;\r\n\t\talign: string;\r\n\t\tsortable: boolean;\r\n\t\twidth: string;\r\n\t}> = Array(\r\n\t\t{\r\n\t\t\ttext: '',\r\n\t\t\tvalue: 'controls',\r\n\t\t\talign: 'left',\r\n\t\t\tsortable: false,\r\n\t\t\twidth: '1px'\r\n\t\t},\r\n\t\t{\r\n\t\t\ttext: 'Mahnungs-Id',\r\n\t\t\tvalue: 'mahnungsId',\r\n\t\t\talign: 'left',\r\n\t\t\tsortable: true,\r\n\t\t\twidth: '1px'\r\n\t\t},\r\n\t\t{\r\n\t\t\ttext: 'Kunden-Id',\r\n\t\t\tvalue: 'customerId',\r\n\t\t\talign: 'left',\r\n\t\t\tsortable: true,\r\n\t\t\twidth: '1px'\r\n\t\t},\r\n\t\t{\r\n\t\t\ttext: 'Kundenadresse',\r\n\t\t\tvalue: 'customerAddress.companyName',\r\n\t\t\talign: 'left',\r\n\t\t\tsortable: true,\r\n\t\t\twidth: '1px'\r\n\t\t},\t\t\r\n\t\t{\r\n\t\t\ttext: 'Erstellt',\r\n\t\t\tvalue: 'createdAt',\r\n\t\t\talign: 'left',\r\n\t\t\tsortable: true,\r\n\t\t\twidth: '10px'\r\n\t\t},\r\n\t\t{\r\n\t\t\ttext: 'Mahnungsdatum',\r\n\t\t\tvalue: 'mahnungsDatum',\r\n\t\t\talign: 'left',\r\n\t\t\tsortable: true,\r\n\t\t\twidth: '10px'\r\n\t\t},\r\n\t\t{\r\n\t\t\ttext: 'Rechnungs-Ids',\r\n\t\t\tvalue: 'invoiceIds',\r\n\t\t\talign: 'left',\r\n\t\t\tsortable: false,\r\n\t\t\twidth: '1px'\r\n\t\t},\r\n\t\t{\r\n\t\t\ttext: 'Mahnungsgebühren',\r\n\t\t\tvalue: 'mahnungCost',\r\n\t\t\talign: 'right',\r\n\t\t\tsortable: true,\r\n\t\t\twidth: '1px'\r\n\t\t},\r\n\t\t{\r\n\t\t\ttext: 'Offener Betrag',\r\n\t\t\tvalue: 'openInvoiceAmount',\r\n\t\t\talign: 'right',\r\n\t\t\tsortable: false,\r\n\t\t\twidth: '1px'\r\n\t\t},\r\n\t);\r\n\r\n\tprivate auditHeaders: Array<{\r\n\t\ttext: string;\r\n\t\talign: string;\r\n\t\tsortable: boolean;\r\n\t\tvalue: string;\r\n\t}> = Array(\r\n\t\t{\r\n\t\t\ttext: 'Datum',\r\n\t\t\talign: 'left',\r\n\t\t\tsortable: false,\r\n\t\t\tvalue: 'date'\r\n\t\t},\r\n\t\t{\r\n\t\t\ttext: 'Event',\r\n\t\t\talign: 'left',\r\n\t\t\tsortable: false,\r\n\t\t\tvalue: 'eventType'\r\n\t\t},\r\n\t\t{\r\n\t\t\ttext: 'Bemerkung',\r\n\t\t\talign: 'left',\r\n\t\t\tsortable: false,\r\n\t\t\tvalue: 'note'\r\n\t\t},\r\n\t);\r\n\r\n\tprivate eventTypeText: string[] = [\r\n\t\t'Mahnung per Email verschickt',\r\n\t\t'Mahnung per Post verschickt',\r\n\t\t'Kunde bezüglich der Mahnung angerufen',\r\n\t];\r\n\r\n\tprivate mounted() {\r\n\t\tif (this.mahnungen.length === 0) {\r\n\t\t\tthis.loadMahnungen();\r\n\t\t}\r\n\t}\r\n\r\n\t@Watch('reloadMahnungen')\r\n\tprivate async reload() {\r\n\t\tif (this.reloadMahnungen && !this.isLoading) {\r\n\t\t\tawait this.loadMahnungen();\r\n\t\t}\r\n\t\tthis.$emit('resetReloadToggle');\r\n\t}\r\n\r\n\tprivate get mahnungen() {\r\n\t\treturn this.$store.state.mahnungen;\r\n\t}\r\n\tprivate set mahnungen(newMahnungen: MahnungDto[]) {\r\n\t\tthis.$store.commit('setMahnungen', newMahnungen);\r\n\t}\r\n\r\n\tprivate get searchTerm(): string {\r\n\t\treturn this.$store.state.mahnungSearchTerm;\r\n\t}\r\n\tprivate set searchTerm(searchTerm: string) {\r\n\t\tthis.$store.commit('setMahnungSearchTerm', searchTerm);\r\n\t}\r\n\r\n\tprivate get lastSearchTerm(): string {\r\n\t\treturn this.$store.state.mahnungLastSearchTerm;\r\n\t}\r\n\tprivate set lastSearchTerm(lastSearchTerm: string) {\r\n\t\tthis.$store.commit('setMahnungLastSearchTerm', lastSearchTerm);\r\n\t}\r\n\r\n\tprivate get totalOpenBills() {\r\n\t\treturn this.mahnungen.length;\r\n\t}\r\n\r\n\tprivate get mahnungSorting() {\r\n\t\treturn this.$store.state.mahnungSorting;\r\n\t}\r\n\tprivate set mahnungSorting(mahnungSorting: any) {\r\n\t\tthis.$store.commit('setMahnungSorting', mahnungSorting)\r\n\t}\r\n\r\n\tprivate get auditSorting() {\r\n\t\treturn this.$store.state.auditSorting;\r\n\t}\r\n\r\n\tprivate changeSort(column: string) {\r\n if (this.mahnungSorting.sortBy === column) {\r\n this.mahnungSorting.descending = !this.mahnungSorting.descending;\r\n } else {\r\n this.mahnungSorting.sortBy = column;\r\n this.mahnungSorting.descending = false;\r\n }\r\n }\r\n\r\n\tprivate async loadMahnungen() {\r\n\t\tif (this.isLoading) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\ttry {\r\n\t\t\tthis.isLoading = true;\r\n\t\t\tconsole.log(\"Loading mahnungen...\");\r\n\t\t\tlet data: any = {\r\n stringContent: this.searchTerm\r\n }\r\n\t\t\tconst response = await httpClient().post('Invoice/GetAllOpenMahnungen', data);\r\n\t\t\tthis.mahnungen = response.data;\r\n\t\t} catch(e) {\r\n\t\t\tconsole.log('Loading mahnungen failed.', e);\r\n\t\t} finally {\r\n\t\t\tthis.isLoading = false;\r\n\t\t}\r\n\t}\r\n\r\n\t@debounce(700, { leading: false })\r\n @Watch('searchTerm')\r\n private reloadOnSearchTermChange() {\r\n if (!this.isLoading\r\n && this.lastSearchTerm !== this.searchTerm\r\n && (this.searchTerm.length >= 3 || this.searchTerm.length === 0)) { \r\n this.lastSearchTerm = this.searchTerm; \r\n this.loadMahnungen();\r\n }\r\n }\r\n\r\n\tprivate getOpenBalance(positions: MahnungPositionDto[]) {\r\n\t\tlet totalMoney = 0;\r\n\t\tfor (const pos of positions) {\r\n\t\t\ttotalMoney += Math.round((pos.invoiceOpenAmount + Number.EPSILON) * 100) / 100;\r\n\t\t}\r\n\t\treturn totalMoney;\r\n\t}\r\n\r\n\tprivate getInvoiceIds(positions: MahnungPositionDto[]) {\r\n\t\treturn positions.map((p: MahnungPositionDto) => p.invoiceId);\r\n\t}\r\n\r\n\tprivate onMahnungClick(mahnungsId: number) {\r\n\t\tthis.currentMahnung = this.mahnungen.filter((m: MahnungDto) => m.mahnungsId === mahnungsId)[0];\r\n\t\tthis.lastNote = this.currentMahnung.note;\r\n\t\tthis.newAudit = {...this.auditTemplate}; // get a shallow copy of the template\r\n\t\tthis.openMahnungDialog = true;\r\n\t}\r\n\r\n\tprivate async getMahnungPdf() {\r\n\t\tif (this.isDownloading) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\ttry {\r\n\t\t\tthis.isDownloading = true;\r\n\t\t\tconsole.log(`Generating Mahungs-PDF for Mahnung ${this.currentMahnung.mahnungsId}`);\r\n\t\t\tconst response = await httpClient().post('Invoice/DownloadMahnungPdf', this.currentMahnung,\r\n\t\t\t\t{\r\n\t\t\t\t\tresponseType: 'blob',\r\n\t\t\t\t});\r\n\t\t\tconst url = window.URL.createObjectURL(new Blob([response.data]));\r\n\t\t\tconst link = document.createElement('a');\r\n\t\t\tlink.href = url;\r\n\t\t\tlink.setAttribute('download', 'Zahlungserinnerung ' + this.currentMahnung.mahnungsId + '.pdf');\r\n\t\t\tlink.click();\t\t\t\t\r\n\t\t} catch {\r\n console.log('Get Mahnung PDF failed.');\r\n } finally {\r\n this.isDownloading = false;\r\n }\r\n\t}\r\n\r\n\tprivate async downloadInvoicePdfs() {\r\n\t\tif (this.isDownloading) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\ttry {\r\n\t\t\tthis.isDownloading = true;\r\n\t\t\tconsole.log(`Generating invoices for Mahnung ${this.currentMahnung.mahnungsId}`);\r\n\t\t\tfor (const position of this.currentMahnung.mahnungsPositions) {\r\n\t\t\t\tawait this.$store.dispatch('downloadInvoiceAsPdf', position.orderId);\t\t\t\t\r\n\t\t\t}\r\n\t\t} catch {\r\n console.log('Failed downloading invoices.');\r\n } finally {\r\n this.isDownloading = false;\r\n }\r\n\t}\r\n\r\n\tprivate async sendSelectedMahnungenAndReload() {\r\n\t\tif (this.isLoading) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tawait this.sendSelectedMahnungen().then(this.loadMahnungen);\r\n\r\n\t}\r\n\r\n\tprivate async sendSelectedMahnungen() {\r\n\t\tif (this.isLoading) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\ttry {\r\n\t\t\tif (this.mahnungen.filter((m: MahnungDto) => m.selected).length <= 0) {\r\n\t\t\t\tthis.$store.commit('setSnackbarText', 'Keine Mahnungen selektiert.');\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tthis.isLoading = true;\r\n\t\t\tconsole.log('Sending Mahnungen emails...');\r\n\t\t\tlet selectedMahnungen = this.mahnungen.filter((m: MahnungDto) => m.selected);\r\n\t\t\tconst response = await httpClient().post('Invoice/SendSelectedMahnungen', selectedMahnungen);\r\n\t\t\tthis.$store.commit('setSnackbarText', 'Alle Mahnungen wurden gesendet.');\r\n\t\t} catch(ex) {\r\n\t\t\tconsole.log('Error while sending Mahnungen emails', ex);\r\n\t\t\tthis.$store.commit('setSnackbarErrorText', 'Fehler beim senden der Mahnungen. Siehe Log.');\r\n\t\t} finally {\r\n\t\t\tthis.isLoading = false;\r\n\t\t\tthis.sendSelectedMahnungenDialog = false;\r\n\t\t}\r\n\t}\r\n\r\n\tprivate async saveNote() {\r\n\t\tif (this.isLoading\r\n\t\t\t|| this.currentMahnung.note === this.lastNote) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (this.currentMahnung.note == null) {\r\n\t\t\tthis.currentMahnung.note = '';\r\n\t\t}\r\n\t\ttry {\r\n\t\t\tthis.isLoading = true;\r\n\t\t\tconsole.log('Saving Mahnung note...');\r\n\t\t\tlet data: any = {\r\n stringContent: this.currentMahnung.note\r\n }\r\n\t\t\tawait httpClient().post(`Invoice/SaveNote?mahnungsId=${this.currentMahnung.mahnungsId}`, data);\r\n\t\t\tthis.lastNote = this.currentMahnung.note;\r\n\t\t\tthis.$store.commit('setSnackbarText', 'Bemerkung wurde gespeichert.');\r\n\t\t} catch(ex) {\r\n\t\t\tconsole.log('Error while saving note', ex);\r\n\t\t\tthis.$store.commit('setSnackbarErrorText', 'Fehler beim speichern der Bemerkung. Siehe Log.');\r\n\t\t} finally {\r\n\t\t\tthis.isLoading = false;\r\n\t\t}\r\n\t}\r\n\r\n\tprivate async saveAudit() {\r\n\t\tif (this.isLoading) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\ttry {\r\n\t\t\tthis.isLoading = true;\r\n\t\t\tconsole.log('Saving new audit...');\r\n\t\t\tthis.newAudit.mahnungId = this.currentMahnung.mahnungsId;\r\n\t\t\tawait httpClient().post('Invoice/SaveAudit', this.newAudit);\r\n\t\t\tlet currentMahnungen = JSON.parse(JSON.stringify(this.mahnungen));\r\n\t\t\tlet current = currentMahnungen.filter((m: MahnungDto) => m.mahnungsId == this.newAudit.mahnungId)[0];\r\n\t\t\tcurrent.audits.push(this.newAudit);\r\n\t\t\tthis.mahnungen = currentMahnungen;\r\n\t\t\tthis.newAudit = {...this.auditTemplate};\r\n\t\t\tthis.$store.commit('setSnackbarText', 'Ereigniss wurde gespeichert.');\r\n\t\t} catch(ex) {\r\n\t\t\tconsole.log('Error while saving event', ex);\r\n\t\t\tthis.$store.commit('setSnackbarErrorText', 'Fehler beim speichern des Ereignisses. Siehe Log.');\r\n\t\t} finally {\r\n\t\t\tthis.isLoading = false;\r\n\t\t}\r\n\t}\r\n\r\n\tprivate goToCustomer(customerId: string) {\r\n\t\tthis.$router.push({ name: 'customerDetail', params: { customerId } });\r\n }\r\n\r\n\tprivate setSelected(mahnungsId: number, newValue: any) {\r\n\t\tthis.$store.commit('setSelectedMahnung', { mahnungsId: mahnungsId, value: newValue });\r\n\t}\r\n\r\n\tprivate getIconColor(audits: MahnungAuditDto[], type: EventType) {\r\n\t\treturn audits.some((a: MahnungAuditDto) => a.eventType == type) ? 'green' : 'grey';\r\n\t}\r\n\r\n\tprivate async navigateToInvoiceEdit(invoiceId: number) {\r\n\t\tthis.$router.push({ name: \"editInvoice\", params: { invoiceId: invoiceId.toString() } });\r\n\t}\r\n\r\n\tprivate getSortedAudits(audits: MahnungAuditDto[]) {\r\n\t\tlet copy = JSON.parse(JSON.stringify(audits));\r\n\t\treturn copy.sort((a:MahnungAuditDto, b:MahnungAuditDto) => {\r\n\t\t\tlet aDate = new Date(a.createdAt);\r\n\t\t\tlet bDate = new Date(b.createdAt);\r\n\t\t\treturn bDate.getTime() - aDate.getTime();\r\n\t\t});\r\n\t}\r\n}\r\n","\r\nexport enum InvoiceSorting {\r\n CreatedAtAscending = 0,\r\n CreatedAtDescending = 1,\r\n DueDateAscending = 2,\r\n DueDateDescending = 3,\r\n InvoiceTotalAscending = 4,\r\n InvoiceTotalDescending = 5,\r\n StateAscending = 6,\r\n StateDescending = 7,\r\n AddressAscending = 8,\r\n AddressDescending = 9,\r\n}","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OpenMahnungen.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OpenMahnungen.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./OpenMahnungen.vue?vue&type=template&id=45bccc7c&scoped=true\"\nimport script from \"./OpenMahnungen.vue?vue&type=script&lang=ts\"\nexport * from \"./OpenMahnungen.vue?vue&type=script&lang=ts\"\nimport style0 from \"./OpenMahnungen.vue?vue&type=style&index=0&id=45bccc7c&prod&scoped=true&lang=css\"\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 \"45bccc7c\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',[_c('v-container',{staticClass:\"pa-0\",attrs:{\"fluid\":\"\"}},[_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\",\"align-end\":\"\"}},[_c('v-flex',{staticClass:\"pr-2\",attrs:{\"xs12\":\"\",\"sm6\":\"\",\"md4\":\"\",\"lg3\":\"\"}},[_c('v-text-field',{attrs:{\"label\":\"Suche\",\"prepend-icon\":\"search\",\"hint\":\"Suche nach Rechnungsnummer, Kundennummer, Lieferscheinnummer oder Kundenauftragsnummer\"},model:{value:(_vm.searchTerm),callback:function ($$v) {_vm.searchTerm=$$v},expression:\"searchTerm\"}})],1),_c('v-flex',{staticClass:\"pr-2\",attrs:{\"xs12\":\"\",\"sm6\":\"\",\"md4\":\"\",\"lg3\":\"\"}},[_c('v-combobox',{attrs:{\"items\":_vm.regions,\"label\":\"Regionen\",\"chips\":\"\",\"multiple\":\"\"},on:{\"blur\":function($event){return _vm.loadInvoices(true)}},model:{value:(_vm.filterRegions),callback:function ($$v) {_vm.filterRegions=$$v},expression:\"filterRegions\"}})],1),_c('v-flex',{staticClass:\"pr-2\",attrs:{\"xs12\":\"\",\"sm6\":\"\",\"md4\":\"\",\"lg3\":\"\"}},[_c('date-picker',{attrs:{\"selectedDate\":_vm.dueUntilDate,\"pastDateAllowed\":true,\"futureDateAllowed\":true,\"label\":\"Fällig bis\"},on:{\"update:selectedDate\":function($event){_vm.dueUntilDate = $event}}})],1),_c('v-flex',{staticClass:\"pr-2 pb-3\",attrs:{\"xs12\":\"\",\"sm6\":\"\",\"md4\":\"\",\"lg3\":\"\"}},[_c('v-checkbox',{attrs:{\"hide-details\":\"\",\"label\":\"Nur offene anzeigen\"},on:{\"change\":function($event){return _vm.loadInvoices(true)}},model:{value:(_vm.onlyShowOpen),callback:function ($$v) {_vm.onlyShowOpen=$$v},expression:\"onlyShowOpen\"}}),_c('v-checkbox',{attrs:{\"hide-details\":\"\",\"label\":\"Nur gemahnte anzeigen\"},on:{\"change\":function($event){return _vm.loadInvoices(true)}},model:{value:(_vm.onlyShowGemahnt),callback:function ($$v) {_vm.onlyShowGemahnt=$$v},expression:\"onlyShowGemahnt\"}})],1)],1),(_vm.onlyShowOpen && !_vm.isLoading)?_c('v-layout',{staticClass:\"mb-2\",attrs:{\"row\":\"\",\"fill-height\":\"\",\"align-start\":\"\"}},[_c('v-flex',{attrs:{\"xs12\":\"\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\tAnzahl: \"+_vm._s(_vm.totalInvoices)),_c('br'),_vm._v(\"\\n\\t\\t\\t\\t\\tBetrag CHF: \"+_vm._s(_vm._f(\"format2Digit\")(_vm.totalAmountInvoicesChf))),_c('br'),_vm._v(\"\\n\\t\\t\\t\\t\\tBetrag EUR: \"+_vm._s(_vm._f(\"format2Digit\")(_vm.totalAmountInvoicesEur))+\"\\n\\t\\t\\t\\t\")])],1):_c('v-layout',{staticClass:\"mb-2\",attrs:{\"row\":\"\"}},[_c('v-flex',{attrs:{\"xs12\":\"\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\tBeträge werden nur berechnet mit \\\"Nur offene anzeigen\\\"\\n\\t\\t\\t\\t\")])],1)],1),_c('v-data-table',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.headers,\"loading\":_vm.isLoading,\"item-key\":\"invoiceId\",\"items\":_vm.invoices,\"hide-actions\":true,\"custom-sort\":_vm.customSort},scopedSlots:_vm._u([{key:\"headers\",fn:function(props){return [_c('tr',_vm._l((props.headers),function(header){return _c('th',{key:header.value,class:[\n\t\t\t\t\t\t\t'column',\n\t\t\t\t\t\t\theader.sortable === true ? 'sortable' : '',\n\t\t\t\t\t\t\t_vm.sortProps.sortDescending ? 'desc' : 'asc',\n\t\t\t\t\t\t\theader.value === _vm.sortProps.sortByColumn ? 'active' : '',\n\t\t\t\t\t\t\theader.align === 'left' ? 'text-xs-left' : 'text-xs-right'\n\t\t\t\t\t\t],on:{\"click\":function($event){return _vm.changeSort(header.value, header.sortable)}}},[(header.value === _vm.sortProps.sortByColumn)?_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"arrow_upward\")]):_vm._e(),_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(header.text)+\"\\n\\t\\t\\t\\t\\t\")],1)}),0)]}},{key:\"items\",fn:function(props){return [_c('tr',[_c('td',[_c('a',{on:{\"click\":function($event){return _vm.navigateToInvoiceEdit(props.item.invoiceId)}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(props.item.invoiceId)+\"\\n\\t\\t\\t\\t\\t\\t\")])]),_c('td',[_c('span',{staticClass:\"link\",on:{\"click\":function($event){$event.stopPropagation();return _vm.goToCustomer(props.item.customerId)}}},[_vm._v(\"\\n \"+_vm._s(props.item.customerId)+\"\\n \")])]),_c('td',[_vm._v(_vm._s(props.item.orderId))]),_c('td',[_vm._v(_vm._s(_vm._f(\"formatDate\")(props.item.dueDate)))]),_c('td',[_vm._v(_vm._s(_vm._f(\"formatDate\")(props.item.createdAt)))]),_c('td',[_c('v-tooltip',{attrs:{\"bottom\":\"\",\"content-class\":\"customTooltip\"}},[_c('template',{slot:\"activator\"},[_c('div',[(props.item.invoiceAddress.companyName.length > 0)?_c('span',[_vm._v(_vm._s(props.item.invoiceAddress.companyName)),_c('br')]):_vm._e(),_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(props.item.invoiceAddress.givenName)+\" \"+_vm._s(props.item.invoiceAddress.surname)),_c('br'),_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(props.item.invoiceAddress.eMail)+\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\")])]),_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(props.item.customerAddress.companyName)),_c('br'),_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(props.item.customerAddress.givenName)+\" \"+_vm._s(props.item.customerAddress.surname)),_c('br'),_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(props.item.customerAddress.eMail)+\"\\n\\t\\t\\t\\t\\t\\t\")],2)],1),_c('td',{staticClass:\"text-xs-right\",staticStyle:{\"width\":\"140px\"}},[_c('b',[_vm._v(_vm._s(props.item.currency)+\" \"+_vm._s(_vm._f(\"format2Digit\")(props.item.totalAmount)))]),(props.item.paidAmount > 0.99)?_c('span',[_c('br'),_vm._v(\"offen: \"+_vm._s(_vm._f(\"format2Digit\")((props.item.totalAmount - props.item.paidAmount))))]):_vm._e()]),_c('td',[_vm._v(_vm._s(_vm.getStateText(props.item.state)))]),_c('td',[_vm._v(_vm._s(props.item.hasMahnung ? 'Ja' : 'Nein'))]),_c('td',{staticClass:\"text-xs-right\",on:{\"click\":function($event){$event.stopPropagation();}}},[_c('v-menu',{attrs:{\"offset-y\":\"\",\"close-on-click\":\"\"}},[_c('v-icon',{attrs:{\"slot\":\"activator\",\"large\":\"\",\"color\":\"primary\"},slot:\"activator\"},[_vm._v(\"\\n keyboard_arrow_down\\n \")]),_c('v-list',[_c('v-list-tile',{attrs:{\"disabled\":_vm.isLoading},on:{\"click\":function($event){return _vm.navigateToInvoiceEdit(props.item.invoiceId)}}},[_c('v-list-tile-avatar',[_c('v-icon',{attrs:{\"color\":\"primary\"}},[_vm._v(\"edit\")])],1),_c('v-list-tile-title',[_vm._v(\"\\n Rechnung bearbeiten\\n \")])],1),_c('v-list-tile',{attrs:{\"disabled\":props.item.hasMahnung || _vm.isLoading},on:{\"click\":function($event){return _vm.checkCreateMahnung(props.item.invoiceId, props.item.dueDate)}}},[_c('v-list-tile-avatar',[_c('v-icon',{attrs:{\"color\":\"primary\"}},[_vm._v(\"notifications\")])],1),_c('v-list-tile-title',[_vm._v(\" Mahnung erstellen \")])],1),_c('v-list-tile',{attrs:{\"disabled\":_vm.isLoading},on:{\"click\":function($event){return _vm.navigateToPayments(props.item.invoiceId)}}},[_c('v-list-tile-avatar',[_c('v-icon',{attrs:{\"color\":\"primary\"}},[_vm._v(\"attach_money\")])],1),_c('v-list-tile-title',[_vm._v(\"\\n Zahlungen anzeigen\\n \")])],1)],1)],1)],1)])]}}])}),_c('v-container',{staticClass:\"pa-0\",attrs:{\"fluid\":\"\"}},[(_vm.hasMoreToLoad)?_c('v-layout',{attrs:{\"row\":\"\",\"justify-center\":\"\"}},[_c('v-flex',{attrs:{\"shrink\":\"\"}},[(!_vm.isLoading)?_c('v-btn',{staticClass:\"blexon-button\",attrs:{\"title\":\"Lädt weitere Rechnungen mit den aktuellen Filtereinstellungen.\"},on:{\"click\":function($event){return _vm.manuallyLoadMoreInvoices()}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\tMehr laden\\n\\t\\t\\t\\t\\t\\t\"),_c('v-icon',{attrs:{\"right\":\"\"}},[_vm._v(\"expand_more\")])],1):_c('v-progress-circular',{attrs:{\"indeterminate\":\"\",\"color\":\"accent\"}})],1)],1):_vm._e()],1),_c('create-mahnung-dialog',{attrs:{\"show\":_vm.mahnungNotDueInvoiceDialog,\"dueDate\":_vm.currentInvoiceDueDate,\"invoiceId\":_vm.currentInvoiceId},on:{\"close\":function($event){_vm.mahnungNotDueInvoiceDialog = false},\"saved\":function($event){return _vm.savedMahnung()}}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { Component, Vue, Prop, Watch } from 'vue-property-decorator';\r\nimport { debounce } from 'typescript-debounce-decorator';\r\nimport httpClient from '../../store/httpClient';\r\nimport { InvoiceManagementDto } from '@/dtos/invoiceManagementDto';\r\nimport { InvoiceSorting } from '@/dtos/invoiceSorting';\r\nimport { ErpInvoiceState } from '@/dtos/erpInvoiceState';\r\nimport { InvoiceSearchRequestDto } from '@/dtos/invoiceSearchRequestDto';\r\nimport DatePicker from '@/components/DatePicker.vue';\r\nimport CreateMahnungDialog from './CreateMahnungDialog.vue';\r\n\r\n@Component({\r\n components: {\r\n\t\tDatePicker,\r\n\t\tCreateMahnungDialog,\r\n\t},\r\n})\r\nexport default class AllInvoices extends Vue {\r\n\t@Prop()\r\n private isLoading?: boolean;\r\n\t@Prop()\r\n\tprivate hasMoreToLoad?: boolean;\r\n\t@Prop()\r\n\tprivate loadMoreInvoicesToggle?: boolean;\r\n\tprivate loadedInvoicesUpTo = 0;\r\n\tprivate loadBatchSize = 50;\r\n\tprivate filterRegions = [];\r\n\tprivate onlyShowOpen = false;\r\n\tprivate onlyShowGemahnt: boolean = false;\r\n\tprivate currentInvoiceId: number = 0;\r\n\tprivate currentInvoiceDueDate: Date = new Date();\r\n\tprivate mahnungNotDueInvoiceDialog: boolean = false;\r\n\tprivate allStates: Array = [ErpInvoiceState.Unvollstaendig, ErpInvoiceState.Gueltig, ErpInvoiceState.Bezahlt, ErpInvoiceState.Storniert];\r\n\tprivate dueUntilDate: Date = new Date();\r\n\tprivate headers: Array<{\r\n\t\ttext: string;\r\n\t\tvalue: string;\r\n\t\talign: string;\r\n\t\tsortable: boolean;\r\n\t\twidth: string;\r\n\t}> = Array(\r\n\t\t{\r\n\t\t\ttext: 'Rechnungs-Id',\r\n\t\t\tvalue: 'invoiceId',\r\n\t\t\talign: 'left',\r\n\t\t\tsortable: false,\r\n\t\t\twidth: '1px'\r\n\t\t},\r\n\t\t{\r\n\t\t\ttext: 'Kunden-Id',\r\n\t\t\tvalue: 'customerId',\r\n\t\t\talign: 'left',\r\n\t\t\tsortable: false,\r\n\t\t\twidth: '1px'\r\n\t\t},\r\n\t\t{\r\n\t\t\ttext: 'Auftrag-Id',\r\n\t\t\tvalue: 'orderId',\r\n\t\t\talign: 'left',\r\n\t\t\tsortable: false,\r\n\t\t\twidth: '1px'\r\n\t\t},\r\n\t\t{\r\n\t\t\ttext: 'Fällig',\r\n\t\t\tvalue: 'dueDate',\r\n\t\t\talign: 'left',\r\n\t\t\tsortable: true,\r\n\t\t\twidth: '1px'\r\n\t\t},\r\n\t\t{\r\n\t\t\ttext: 'Erstellt',\r\n\t\t\tvalue: 'createdAt',\r\n\t\t\talign: 'left',\r\n\t\t\tsortable: true,\r\n\t\t\twidth: '1px'\r\n\t\t},\r\n\t\t{\r\n\t\t\ttext: 'Rechnungskontakt',\r\n\t\t\tvalue: 'invoiceAddress',\r\n\t\t\talign: 'left',\r\n\t\t\tsortable: true,\r\n\t\t\twidth: '1px'\r\n\t\t},\r\n\t\t{\r\n\t\t\ttext: 'Betrag',\r\n\t\t\tvalue: 'totalAmount',\r\n\t\t\talign: 'right',\r\n\t\t\tsortable: true,\r\n\t\t\twidth: '1px'\r\n\t\t},\r\n\t\t{\r\n\t\t\ttext: 'Status',\r\n\t\t\tvalue: 'state',\r\n\t\t\talign: 'left',\r\n\t\t\tsortable: true,\r\n\t\t\twidth: '1px'\r\n\t\t},\r\n\t\t{\r\n\t\t\ttext: 'Gemahnt',\r\n\t\t\tvalue: 'mahnung',\r\n\t\t\talign: 'left',\r\n\t\t\tsortable: true,\r\n\t\t\twidth: '1px'\r\n\t\t},\r\n\t\t{\r\n\t\t\ttext: '',\r\n\t\t\tvalue: 'menu',\r\n\t\t\talign: 'right',\r\n\t\t\tsortable: false,\r\n\t\t\twidth: '0px'\r\n\t\t},\r\n\t);\r\n\r\n\tprivate customSort(items: any, index: any, isDesc: any) {\r\n\t\t// Do nothing because items are correclty sorted by the backend\r\n\t\t// But a custom sort is needed because otherwise the data-table shuffles items around\r\n\t\t// Maybe there is another solution to stop the sorting but I haven't found it, yet.\r\n\t\treturn items;\r\n\t}\r\n\r\n\tprivate mounted() {\r\n\t\tthis.filterRegions = this.regions;\r\n\t\tif (this.invoices.length === 0) {\r\n\t\t\tthis.loadInvoices(true);\r\n\t\t}\r\n\t}\r\n\r\n\t@Watch('loadMoreInvoicesToggle')\r\n\tprivate async loadMoreInvoices() {\r\n\t\tif (this.loadMoreInvoicesToggle && !this.isLoading) {\r\n\t\t\tthis.loadInvoices(false);\r\n\t\t}\r\n\t\tthis.$emit('resetLoadMoreToggle');\r\n\t}\r\n\r\n\t@Watch('dueUntilDate')\r\n\tprivate async reloadDueDate() {\r\n\t\tthis.loadInvoices(true);\r\n\t}\r\n\r\n\tprivate get filteredStates() {\r\n\t\treturn this.onlyShowOpen ?\r\n\t\t\t[ErpInvoiceState.Gueltig, ErpInvoiceState.Unvollstaendig] :\r\n\t\t\tthis.allStates;\r\n\t}\r\n\r\n\tprivate get invoices() {\r\n\t\treturn this.$store.state.invoices;\r\n\t}\r\n\tprivate set invoices(newInvoices: InvoiceManagementDto[]) {\r\n\t\tthis.$store.commit('setInvoices', newInvoices);\r\n\t}\r\n\r\n\tprivate get searchTerm(): string {\r\n\t\treturn this.$store.state.invoiceSearchTerm;\r\n\t}\r\n\tprivate set searchTerm(searchTerm: string) {\r\n\t\tthis.$store.commit('setInvoiceSearchTerm', searchTerm);\r\n\t}\r\n\r\n\tprivate get lastSearchTerm(): string {\r\n\t\treturn this.$store.state.invoiceLastSearchTerm;\r\n\t}\r\n\tprivate set lastSearchTerm(lastSearchTerm: string) {\r\n\t\tthis.$store.commit('setInvoiceLastSearchTerm', lastSearchTerm);\r\n\t}\r\n\r\n\tprivate get invoiceSorting() {\r\n\t\treturn this.$store.state.invoiceSortingType;\r\n\t}\r\n\tprivate set invoiceSorting(invoiceSorting: any) {\r\n\t\tthis.$store.commit('setInvoiceSortingType', invoiceSorting)\r\n\t}\r\n\r\n\tprivate get regions() {\r\n\t\treturn this.$store.state.regions;\r\n\t}\r\n\r\n\tprivate get totalInvoices() {\r\n\t\treturn this.invoices.length;\r\n\t}\r\n\tprivate get totalAmountInvoicesChf() {\r\n\t\treturn this.invoices\r\n\t\t\t.filter((i: InvoiceManagementDto) => i.currency === \"CHF\")\r\n\t\t\t.reduce((acc: number, i: InvoiceManagementDto) => {\r\n\t\t\t\treturn acc + (i.totalAmount - i.paidAmount);\r\n\t\t\t}, 0);\r\n\t}\r\n\tprivate get totalAmountInvoicesEur() {\r\n\t\treturn this.invoices\r\n\t\t\t.filter((i: InvoiceManagementDto) => i.currency === \"EUR\")\r\n\t\t\t.reduce((acc: number, i: InvoiceManagementDto) => {\r\n\t\t\t\treturn acc + (i.totalAmount - i.paidAmount);\r\n\t\t\t}, 0);\r\n\t}\r\n\r\n\tprivate async loadInvoices(reload: boolean) {\r\n\t\tif (this.isLoading) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\ttry {\r\n\t\t\tthis.$emit('setIsLoading', true);\r\n\t\t\tif (reload) {\r\n\t\t\t\tthis.loadedInvoicesUpTo = 0;\r\n\t\t\t}\r\n\t\t\tlet searchRequest: InvoiceSearchRequestDto = {\r\n\t\t\t\tsearchTerm: this.searchTerm,\r\n\t\t\t\tinvoiceIds: new Array(),\r\n\t\t\t\tstates: this.filteredStates,\r\n\t\t\t\tsortingType: this.invoiceSorting,\r\n\t\t\t\tregions: this.filterRegions,\r\n\t\t\t\tonlyShowGemahnt: this.onlyShowGemahnt,\r\n\t\t\t\tdueUntil: this.dueUntilDate,\r\n\t\t\t};\r\n\t\t\tlet rawInvoices: InvoiceManagementDto[] = [];\r\n\t\t\tif (this.onlyShowOpen) {\r\n\t\t\t\tconst response = await httpClient().post('Invoice/GetInvoices?from=0&to=0', searchRequest);\r\n\t\t\t\trawInvoices = response.data;\r\n\t\t\t\tthis.$emit('setHasMoreToLoad', false);\r\n\t\t\t\tthis.loadedInvoicesUpTo = rawInvoices.length;\r\n\t\t\t} else {\r\n\t\t\t\tconst response = await httpClient().post('Invoice/GetInvoices?' +\r\n\t\t\t\t\t`from=${this.loadedInvoicesUpTo}&` +\r\n\t\t\t\t\t`to=${this.loadedInvoicesUpTo + this.loadBatchSize}`,\r\n\t\t\t\t\tsearchRequest);\r\n\t\t\t\trawInvoices = response.data;\r\n\t\t\t\tthis.$emit('setHasMoreToLoad', rawInvoices.length === this.loadBatchSize);\r\n\t\t\t\tthis.loadedInvoicesUpTo += rawInvoices.length;\r\n\t\t\t}\r\n\t\t\trawInvoices.forEach((i: any) => {\r\n\t\t\t\ti.mahnungCost = 0.0;\r\n\t\t\t});\r\n\r\n\t\t\tif (reload) {\r\n\t\t\t\tthis.invoices = [];\r\n\t\t\t}\r\n this.$store.commit('addOrUpdateInvoices', rawInvoices);\r\n\t\t} catch(e) {\r\n\t\t\tconsole.log('Loading invoices failed.', e);\r\n\t\t} finally {\r\n\t\t\tthis.$emit('setIsLoading', false);\r\n\t\t}\r\n\t}\r\n\r\n\t@debounce(700, { leading: false })\r\n @Watch('searchTerm')\r\n private reloadOnSearchTermChange() {\r\n if (!this.isLoading\r\n && this.lastSearchTerm !== this.searchTerm\r\n && (this.searchTerm.length >= 3 || this.searchTerm.length === 0)) { \r\n this.lastSearchTerm = this.searchTerm; \r\n this.loadInvoices(true);\r\n }\r\n }\r\n\r\n\tprivate changeSort(column: string, sortable: boolean) {\r\n\t\tif (sortable) {\r\n\t\t\tlet newSort: InvoiceSorting;\r\n\t\t\tif (this.sortProps.sortByColumn === column) {\r\n\t\t\t\tnewSort = this.sortProps.sortDescending ? this.invoiceSorting - 1 : this.invoiceSorting + 1;\r\n\t\t\t} else {\r\n\t\t\t\tnewSort = this.getSortTypeFromColumn(column);\r\n\t\t\t}\r\n\t\t\tthis.$store.commit('setInvoiceSorting', newSort);\r\n\t\t\tthis.loadInvoices(true);\r\n\t\t}\r\n\t}\r\n\r\n\tprivate async checkCreateMahnung(invoiceId: number, dueDate: Date) {\t\t\r\n\t\tthis.currentInvoiceId = invoiceId;\r\n\t\tthis.currentInvoiceDueDate = dueDate;\r\n\t\tthis.mahnungNotDueInvoiceDialog = true;\r\n\t}\r\n\r\n\tprivate async savedMahnung() {\r\n\t\tthis.$emit(\"reloadMahnungen\");\r\n\t\tthis.mahnungNotDueInvoiceDialog = false;\r\n\t\tawait this.loadInvoices(true)\r\n\t}\r\n\r\n\tprivate manuallyLoadMoreInvoices() {\r\n\t\tif (!this.isLoading) {\r\n\t\t\tthis.loadInvoices(false);\r\n\t\t}\r\n\t\tthis.$emit('resetLoadMoreToggle');\r\n\t}\r\n\r\n\tprivate navigateToPayments(invoideId: number) {\r\n\t\tthis.$emit('navigateToPayments', invoideId);\r\n\t}\r\n\r\n\tprivate async navigateToInvoiceEdit(invoiceId: number) {\r\n\t\tthis.$router.push({ name: \"editInvoice\", params: { invoiceId: invoiceId.toString() } });\r\n\t}\r\n\r\n\tprivate goToCustomer(customerId: string) {\r\n\t\tthis.$router.push({ name: 'customerDetail', params: { customerId } });\r\n }\r\n\r\n\tprivate get sortProps() {\r\n\t\tlet descending: boolean = false;\r\n\t\tlet column: string = 'createdAt';\r\n\t\tlet currentSortingType: InvoiceSorting = this.$store.state.invoiceSortingType;\r\n\t\tswitch (currentSortingType) {\r\n\t\t\tcase InvoiceSorting.CreatedAtAscending: {\r\n\t\t\t\tdescending = false;\r\n\t\t\t\tcolumn = 'createdAt';\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tcase InvoiceSorting.CreatedAtDescending: {\r\n\t\t\t\tdescending = true;\r\n\t\t\t\tcolumn = 'createdAt';\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tcase InvoiceSorting.DueDateAscending: {\r\n\t\t\t\tdescending = false;\r\n\t\t\t\tcolumn = 'dueDate';\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tcase InvoiceSorting.DueDateDescending: {\r\n\t\t\t\tdescending = true;\r\n\t\t\t\tcolumn = 'dueDate';\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tcase InvoiceSorting.InvoiceTotalAscending: {\r\n\t\t\t\tdescending = false;\r\n\t\t\t\tcolumn = 'totalAmount';\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tcase InvoiceSorting.InvoiceTotalDescending: {\r\n\t\t\t\tdescending = true;\r\n\t\t\t\tcolumn = 'totalAmount';\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tcase InvoiceSorting.StateAscending: {\r\n\t\t\t\tdescending = false;\r\n\t\t\t\tcolumn = 'state';\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tcase InvoiceSorting.StateDescending: {\r\n\t\t\t\tdescending = true;\r\n\t\t\t\tcolumn = 'state';\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tcase InvoiceSorting.AddressAscending: {\r\n\t\t\t\tdescending = false;\r\n\t\t\t\tcolumn = 'invoiceAddress';\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tcase InvoiceSorting.AddressDescending: {\r\n\t\t\t\tdescending = true;\r\n\t\t\t\tcolumn = 'invoiceAddress';\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn {\r\n\t\t\tsortDescending: descending,\r\n\t\t\tsortByColumn: column,\r\n\t\t}\r\n\t}\r\n\r\n\tprivate getSortTypeFromColumn(column: string) {\r\n\t\tswitch (column) {\r\n\t\t\tcase 'dueDate': {\r\n\t\t\t\treturn InvoiceSorting.DueDateDescending;\r\n\t\t\t}\r\n\t\t\tcase 'createdAt': {\r\n\t\t\t\treturn InvoiceSorting.CreatedAtDescending;\r\n\t\t\t}\r\n\t\t\tcase 'totalAmount': {\r\n\t\t\t\treturn InvoiceSorting.InvoiceTotalDescending;\r\n\t\t\t}\r\n\t\t\tcase 'state': {\r\n\t\t\t\treturn InvoiceSorting.StateDescending;\r\n\t\t\t}\r\n\t\t\tcase 'invoiceAddress': {\r\n\t\t\t\treturn InvoiceSorting.AddressDescending;\r\n\t\t\t}\r\n\t\t\tdefault: {\r\n\t\t\t\treturn InvoiceSorting.CreatedAtDescending;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprivate getStateText(enumValue: number) {\r\n\t\tswitch (enumValue) {\r\n\t\t\tcase 10: {\r\n\t\t\t\treturn 'Unvollständig';\r\n\t\t\t}\r\n\t\t\tcase 20: {\r\n\t\t\t\treturn 'Gültig';\r\n\t\t\t}\r\n\t\t\tcase 30: {\r\n\t\t\t\treturn 'Bezahlt';\r\n\t\t\t}\r\n\t\t\tcase 40: {\r\n\t\t\t\treturn 'Storniert';\r\n\t\t\t}\r\n\t\t\tdefault: {\r\n\t\t\t\treturn 'N/A';\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AllInvoices.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AllInvoices.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./AllInvoices.vue?vue&type=template&id=5fa5af04&scoped=true\"\nimport script from \"./AllInvoices.vue?vue&type=script&lang=ts\"\nexport * from \"./AllInvoices.vue?vue&type=script&lang=ts\"\nimport style0 from \"./AllInvoices.vue?vue&type=style&index=0&id=5fa5af04&prod&scoped=true&lang=css\"\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 \"5fa5af04\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',[_c('v-container',{staticClass:\"pa-0\",attrs:{\"fluid\":\"\"}},[_c('v-layout',{staticClass:\"mt-3\",attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('v-flex',{attrs:{\"sm12\":\"\",\"md6\":\"\",\"lg4\":\"\",\"pr-3\":\"\"}},[_c('date-picker',{attrs:{\"selectedDate\":_vm.startDate,\"pastDateAllowed\":true,\"futureDateAllowed\":false,\"label\":\"Zeitraum von:\"},on:{\"update:selectedDate\":function($event){return _vm.setStartDate($event)}}})],1),_c('v-flex',{attrs:{\"sm12\":\"\",\"md6\":\"\",\"lg4\":\"\"}},[_c('date-picker',{attrs:{\"selectedDate\":_vm.endDate,\"pastDateAllowed\":true,\"futureDateAllowed\":true,\"label\":\"Zeitraum bis:\"},on:{\"update:selectedDate\":function($event){return _vm.setEndDate($event)}}})],1),_c('v-flex',{attrs:{\"sm12\":\"\",\"lg4\":\"\"}},[_c('v-btn',{attrs:{\"disabled\":_vm.isLoading,\"title\":\"Einen Monat zurück\"},on:{\"click\":function($event){_vm.shiftMonth('back');\n\t\t\t\t\t\t\t_vm.loadPayments();}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t- 1\\n\\t\\t\\t\\t\\t\")]),_c('v-btn',{attrs:{\"disabled\":_vm.isLoading,\"title\":\"Zahlungen von diesem Monat anzeigen\"},on:{\"click\":function($event){_vm.setThisMonth();\n\t\t\t\t\t\t\t_vm.loadPayments();}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\tDieser Monat\\n\\t\\t\\t\\t\\t\")]),_c('v-btn',{attrs:{\"disabled\":_vm.isLoading,\"title\":\"Einen Monat vorwärts\"},on:{\"click\":function($event){_vm.shiftMonth('forward');\n\t\t\t\t\t\t\t_vm.loadPayments();}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t+ 1\\n\\t\\t\\t\\t\\t\")]),_c('v-btn',{staticClass:\"blexon-button\",attrs:{\"disabled\":_vm.isLoading,\"title\":\"Zahlungen welche im gewählten Zeitraum eingegangen sind anzeigen.\"},on:{\"click\":function($event){return _vm.loadPayments()}}},[_vm._v(\" Anzeigen \")])],1)],1),_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\",\"fill-height\":\"\",\"align-end\":\"\"}},[_c('v-flex',{attrs:{\"xs12\":\"\",\"md6\":\"\"}},[_c('v-text-field',{attrs:{\"label\":\"Suche\",\"prepend-icon\":\"search\",\"hint\":\"Suche nach Kundenname, Zahlungsnummer, Rechnungsnummer, Kundennummer, Kundenauftragsnummer\"},model:{value:(_vm.searchTerm),callback:function ($$v) {_vm.searchTerm=$$v},expression:\"searchTerm\"}})],1),_c('v-flex',{staticClass:\"pl-2\",attrs:{\"xs12\":\"\",\"md6\":\"\"}},[_c('v-combobox',{attrs:{\"items\":_vm.regions,\"label\":\"Regionen\",\"chips\":\"\",\"multiple\":\"\"},model:{value:(_vm.filterRegions),callback:function ($$v) {_vm.filterRegions=$$v},expression:\"filterRegions\"}})],1)],1),_c('v-layout',{staticClass:\"mb-3\",attrs:{\"row\":\"\",\"wrap\":\"\",\"fill-height\":\"\",\"align-start\":\"\"}},[_c('v-flex',{attrs:{\"sm6\":\"\",\"md3\":\"\"}},[_c('h3',[_vm._v(\"Total im Zeitraum\")]),_vm._v(\"\\n\\t\\t\\t\\t\\tAnzahl: \"+_vm._s(_vm.payments.length)),_c('br'),_vm._v(\"\\n\\t\\t\\t\\t\\tBetrag CHF: \"+_vm._s(_vm._f(\"format2Digit\")(_vm.totalPaymentBalanceChf))),_c('br'),_vm._v(\"\\n\\t\\t\\t\\t\\tBetrag EUR: \"+_vm._s(_vm._f(\"format2Digit\")(_vm.totalPaymentBalanceEur))+\"\\n\\t\\t\\t\\t\")]),_c('v-flex',{attrs:{\"sm6\":\"\",\"md3\":\"\"}},[_c('h3',[_vm._v(\"Aktueller Filter\")]),_vm._v(\"\\n\\t\\t\\t\\t\\tAnzahl: \"+_vm._s(_vm.filteredPayments.length)),_c('br'),_vm._v(\"\\n\\t\\t\\t\\t\\tBetrag CHF: \"+_vm._s(_vm._f(\"format2Digit\")(_vm.filteredPaymentBalanceChf))),_c('br'),_vm._v(\"\\n\\t\\t\\t\\t\\tBetrag EUR: \"+_vm._s(_vm._f(\"format2Digit\")(_vm.filteredPaymentBalanceEur))+\"\\n\\t\\t\\t\\t\")])],1)],1),_c('v-data-table',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.headers,\"loading\":_vm.isLoading,\"item-key\":\"id\",\"items\":_vm.filteredPayments,\"pagination\":_vm.paymentSorting},on:{\"update:pagination\":function($event){_vm.paymentSorting=$event}},scopedSlots:_vm._u([{key:\"headers\",fn:function(props){return [_c('tr',_vm._l((props.headers),function(header){return _c('th',{key:header.value,class:[\n\t\t\t\t\t\t\t'column',\n\t\t\t\t\t\t\theader.sortable === true ? 'sortable' : '',\n\t\t\t\t\t\t\t_vm.paymentSorting.descending ? 'desc' : 'asc',\n\t\t\t\t\t\t\theader.value === _vm.paymentSorting.sortBy ? 'active' : '',\n\t\t\t\t\t\t\theader.align === 'left' ? 'text-xs-left' : 'text-xs-right',\n\t\t\t\t\t\t],on:{\"click\":function($event){header.sortable ? _vm.changeSort(header.value) : ''}}},[(header.value === _vm.paymentSorting.sortBy)?_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"arrow_upward\")]):_vm._e(),_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(header.text)+\"\\n\\t\\t\\t\\t\\t\")],1)}),0)]}},{key:\"items\",fn:function(props){return [_c('tr',[_c('td',[_vm._v(_vm._s(props.item.id))]),_c('td',[_c('a',{on:{\"click\":function($event){return _vm.navigateToInvoiceEdit(props.item.invoiceId)}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(props.item.invoiceId)+\"\\n\\t\\t\\t\\t\\t\\t\")])]),_c('td',[_c('span',{staticClass:\"link\",on:{\"click\":function($event){$event.stopPropagation();return _vm.goToCustomer(props.item.customerId)}}},[_vm._v(\"\\n \"+_vm._s(props.item.customerId)+\"\\n \")])]),_c('td',[_c('v-tooltip',{attrs:{\"bottom\":\"\",\"content-class\":\"customTooltip\"}},[_c('template',{slot:\"activator\"},[_c('div',[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(props.item.customerName)+\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\")])]),_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\tRechnungname: \"+_vm._s(props.item.customerInvoiceName)+\"\\n\\t\\t\\t\\t\\t\\t\")],2)],1),_c('td',[_vm._v(_vm._s(props.item.customerOrderId))]),_c('td',[_vm._v(_vm._s(_vm._f(\"formatDate\")(props.item.paymentDate)))]),_c('td',[_vm._v(_vm._s(props.item.region))]),_c('td',[_vm._v(_vm._s(props.item.information))]),_c('td',{staticClass:\"text-xs-right\",staticStyle:{\"width\":\"140px\"}},[_vm._v(_vm._s(props.item.currency)+\" \"+_vm._s(_vm._f(\"format2Digit\")(props.item.amount)))])])]}}])})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { Component, Vue, Prop, Watch } from \"vue-property-decorator\";\r\nimport { debounce } from \"typescript-debounce-decorator\";\r\nimport moment from \"moment\";\r\nimport httpClient from \"../../store/httpClient\";\r\nimport DatePicker from \"@/components/DatePicker.vue\";\r\nimport { PaymentDto } from \"@/dtos/paymentDto\";\r\nimport { PaymentSearchRequestDto } from \"@/dtos/paymentSearchRequestDto\";\r\n\r\n@Component({\r\n\tcomponents: {\r\n\t\tDatePicker,\r\n\t},\r\n})\r\nexport default class Payments extends Vue {\r\n\t@Prop()\r\n\tprivate isLoading?: boolean;\r\n\t@Prop()\r\n\tprivate invoiceIdFilter?: number;\r\n\tprivate startDate: string = moment().subtract(2, \"months\").format(\"YYYY-MM-1\");\r\n\tprivate endDate: string = moment(moment().format(\"YYYY-MM-1\")).add(1, \"months\").subtract(1, \"days\").format(\"YYYY-MM-DD\");\r\n\tprivate headers: Array<{\r\n\t\ttext: string;\r\n\t\tvalue: string;\r\n\t\talign: string;\r\n\t\tsortable: boolean;\r\n\t\twidth: string;\r\n\t}> = Array(\r\n\t\t{\r\n\t\t\ttext: \"Id\",\r\n\t\t\tvalue: \"id\",\r\n\t\t\talign: \"left\",\r\n\t\t\tsortable: true,\r\n\t\t\twidth: \"1px\",\r\n\t\t},\r\n\t\t{\r\n\t\t\ttext: \"Rechnungs-Id\",\r\n\t\t\tvalue: \"invoiceId\",\r\n\t\t\talign: \"left\",\r\n\t\t\tsortable: true,\r\n\t\t\twidth: \"1px\",\r\n\t\t},\r\n\t\t{\r\n\t\t\ttext: \"Kunden-Id\",\r\n\t\t\tvalue: \"customerId\",\r\n\t\t\talign: \"left\",\r\n\t\t\tsortable: true,\r\n\t\t\twidth: \"1px\",\r\n\t\t},\r\n\t\t{\r\n\t\t\ttext: \"Name\",\r\n\t\t\tvalue: \"customerInvoiceName\",\r\n\t\t\talign: \"left\",\r\n\t\t\tsortable: true,\r\n\t\t\twidth: \"1px\",\r\n\t\t},\r\n\t\t{\r\n\t\t\ttext: \"Auftrags-Id\",\r\n\t\t\tvalue: \"customerOrderId\",\r\n\t\t\talign: \"left\",\r\n\t\t\tsortable: true,\r\n\t\t\twidth: \"1px\",\r\n\t\t},\r\n\t\t{\r\n\t\t\ttext: \"Zahlungsdatum\",\r\n\t\t\tvalue: \"paymentDate\",\r\n\t\t\talign: \"left\",\r\n\t\t\tsortable: true,\r\n\t\t\twidth: \"1px\",\r\n\t\t},\r\n\t\t{\r\n\t\t\ttext: \"Region\",\r\n\t\t\tvalue: \"region\",\r\n\t\t\talign: \"left\",\r\n\t\t\tsortable: true,\r\n\t\t\twidth: \"1px\",\r\n\t\t},\r\n\t\t{\r\n\t\t\ttext: \"Infos\",\r\n\t\t\tvalue: \"information\",\r\n\t\t\talign: \"left\",\r\n\t\t\tsortable: false,\r\n\t\t\twidth: \"1px\",\r\n\t\t},\r\n\t\t{\r\n\t\t\ttext: \"Betrag\",\r\n\t\t\tvalue: \"amount\",\r\n\t\t\talign: \"right\",\r\n\t\t\tsortable: true,\r\n\t\t\twidth: \"1px\",\r\n\t\t}\r\n\t);\r\n\r\n\tprivate mounted() {\r\n\t\tif (this.payments.length === 0) {\r\n\t\t\tthis.loadPayments();\r\n\t\t}\r\n\t}\r\n\r\n\t@Watch(\"invoiceIdFilter\")\r\n\tprivate setInvoiceIdFilter() {\r\n\t\tif (this.invoiceIdFilter && this.invoiceIdFilter > 0) {\r\n\t\t\twindow.scrollTo(0, 0);\r\n\t\t\tthis.searchTerm = this.invoiceIdFilter.toString();\r\n\t\t}\r\n\t}\r\n\r\n\tprivate get filteredPayments() {\r\n\t\tlet storePayments = this.payments;\r\n\t\tstorePayments = storePayments.filter((p: PaymentDto) => this.filterRegions.includes(p.region));\r\n\t\treturn storePayments;\r\n\t}\r\n\r\n\tprivate get payments() {\r\n\t\treturn this.$store.state.payments;\r\n\t}\r\n\tprivate set payments(newPayments: PaymentDto[]) {\r\n\t\tthis.$store.commit(\"setPayments\", newPayments);\r\n\t}\r\n\r\n\tprivate get searchTerm(): string {\r\n\t\treturn this.$store.state.paymentSearchTerm;\r\n\t}\r\n\tprivate set searchTerm(searchTerm: string) {\r\n\t\tthis.$store.commit(\"setPaymentSearchTerm\", searchTerm);\r\n\t}\r\n\r\n\tprivate get lastSearchTerm(): string {\r\n\t\treturn this.$store.state.paymentLastSearchTerm;\r\n\t}\r\n\tprivate set lastSearchTerm(lastSearchTerm: string) {\r\n\t\tthis.$store.commit(\"setPaymentLastSearchTerm\", lastSearchTerm);\r\n\t}\r\n\r\n\tprivate get regions() {\r\n\t\treturn this.$store.state.regions;\r\n\t}\r\n\tprivate get filterRegions() {\r\n\t\treturn this.$store.state.paymentFilterRegions;\r\n\t}\r\n\tprivate set filterRegions(regions: string[]) {\r\n\t\tthis.$store.commit(\"setPaymentFilterRegions\", regions);\r\n\t}\r\n\r\n\tprivate get paymentSorting() {\r\n\t\treturn this.$store.state.paymentSorting;\r\n\t}\r\n\tprivate set paymentSorting(paymentSorting: any) {\r\n\t\tthis.$store.commit(\"setPaymentSorting\", paymentSorting);\r\n\t}\r\n\r\n\tprivate get totalPaymentBalanceChf() {\r\n\t\treturn this.payments\r\n\t\t\t.filter((i: PaymentDto) => i.currency === \"CHF\")\r\n\t\t\t.reduce((acc: number, i: PaymentDto) => {\r\n\t\t\t\treturn acc + i.amount;\r\n\t\t\t}, 0);\r\n\t}\r\n\tprivate get totalPaymentBalanceEur() {\r\n\t\treturn this.payments\r\n\t\t\t.filter((i: PaymentDto) => i.currency === \"EUR\")\r\n\t\t\t.reduce((acc: number, i: PaymentDto) => {\r\n\t\t\t\treturn acc + i.amount;\r\n\t\t\t}, 0);\r\n\t}\r\n\r\n\tprivate get filteredPaymentBalanceChf() {\r\n\t\treturn this.filteredPayments\r\n\t\t\t.filter((i: PaymentDto) => i.currency === \"CHF\")\r\n\t\t\t.reduce((acc: number, i: PaymentDto) => {\r\n\t\t\t\treturn acc + i.amount;\r\n\t\t\t}, 0);\r\n\t}\r\n\tprivate get filteredPaymentBalanceEur() {\r\n\t\treturn this.filteredPayments\r\n\t\t\t.filter((i: PaymentDto) => i.currency === \"EUR\")\r\n\t\t\t.reduce((acc: number, i: PaymentDto) => {\r\n\t\t\t\treturn acc + i.amount;\r\n\t\t\t}, 0);\r\n\t}\r\n\r\n\tprivate changeSort(column: string) {\r\n\t\tif (this.paymentSorting.sortBy === column) {\r\n\t\t\tthis.paymentSorting.descending = !this.paymentSorting.descending;\r\n\t\t} else {\r\n\t\t\tthis.paymentSorting.sortBy = column;\r\n\t\t\tthis.paymentSorting.descending = false;\r\n\t\t}\r\n\t}\r\n\r\n\tprivate async navigateToInvoiceEdit(invoiceId: number) {\r\n\t\tthis.$router.push({ name: \"editInvoice\", params: { invoiceId: invoiceId.toString() } });\r\n\t}\r\n\r\n\tprivate async loadPayments() {\r\n\t\tif (this.isLoading) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\ttry {\r\n\t\t\tthis.$emit(\"setIsLoading\", true);\r\n\t\t\tconsole.log(\"Loading payments...\");\r\n\t\t\tlet searchRequest: PaymentSearchRequestDto = {\r\n\t\t\t\tpaymentIds: [],\r\n\t\t\t\tsearchTerm: this.searchTerm,\r\n\t\t\t\tsortingType: 1,\r\n\t\t\t\tdateFrom: new Date(this.startDate),\r\n\t\t\t\tdateTo: new Date(this.endDate),\r\n\t\t\t};\r\n\t\t\tconst response = await httpClient().post(\"Invoice/GetPayments?\", searchRequest);\r\n\t\t\tthis.payments = response.data;\r\n\t\t} catch (e) {\r\n\t\t\tconsole.log(\"Loading payments failed.\", e);\r\n\t\t} finally {\r\n\t\t\tthis.$emit(\"setIsLoading\", false);\r\n\t\t}\r\n\t}\r\n\r\n\tprivate goToCustomer(customerId: string) {\r\n\t\tthis.$router.push({ name: 'customerDetail', params: { customerId } });\r\n }\r\n\r\n\t@debounce(700, { leading: false })\r\n\t@Watch(\"searchTerm\")\r\n\tprivate reloadOnSearchTermChange() {\r\n\t\tif (!this.isLoading && this.lastSearchTerm !== this.searchTerm && (this.searchTerm.length >= 3 || this.searchTerm.length === 0)) {\r\n\t\t\tthis.lastSearchTerm = this.searchTerm;\r\n\t\t\tthis.loadPayments();\r\n\t\t}\r\n\t}\r\n\r\n\tprivate setStartDate(date: Date) {\r\n\t\tthis.startDate = moment(date).format(\"YYYY-MM-DD\");\r\n\t}\r\n\tprivate setEndDate(date: Date) {\r\n\t\tthis.endDate = moment(date).format(\"YYYY-MM-DD\");\r\n\t}\r\n\tprivate setThisMonth() {\r\n\t\tthis.startDate = moment().format(\"YYYY-MM-1\");\r\n\t\tthis.endDate = moment(moment().format(\"YYYY-MM-1\")).add(1, \"months\").subtract(1, \"days\").format(\"YYYY-MM-DD\");\r\n\t}\r\n\tprivate shiftMonth(direction: string) {\r\n\t\tif (direction === \"forward\") {\r\n\t\t\tthis.startDate = moment(this.startDate).add(1, \"months\").format(\"YYYY-MM-1\");\r\n\t\t\tthis.endDate = moment(moment(this.endDate).add(1, \"months\").format(\"YYYY-MM-1\")).add(1, \"months\").subtract(1, \"days\").format(\"YYYY-MM-DD\");\r\n\t\t} else {\r\n\t\t\tthis.startDate = moment(this.startDate).subtract(1, \"months\").format(\"YYYY-MM-1\");\r\n\t\t\tthis.endDate = moment(moment(this.endDate).subtract(1, \"months\").format(\"YYYY-MM-1\")).add(1, \"months\").subtract(1, \"days\").format(\"YYYY-MM-DD\");\r\n\t\t}\r\n\t}\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Payments.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Payments.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./Payments.vue?vue&type=template&id=541b6767&scoped=true\"\nimport script from \"./Payments.vue?vue&type=script&lang=ts\"\nexport * from \"./Payments.vue?vue&type=script&lang=ts\"\nimport style0 from \"./Payments.vue?vue&type=style&index=0&id=541b6767&prod&scoped=true&lang=css\"\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 \"541b6767\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('v-card',[_c('v-card-text',[_c('v-container',{staticClass:\"pa-0\",attrs:{\"fluid\":\"\"}},[_c('v-layout',{attrs:{\"row\":\"\"}},[_c('v-flex',[_c('v-radio-group',{attrs:{\"column\":false},model:{value:(_vm.region),callback:function ($$v) {_vm.region=$$v},expression:\"region\"}},_vm._l((_vm.regions),function(region){return _c('v-radio',{key:region,attrs:{\"label\":region,\"value\":region}})}),1)],1)],1),_c('v-layout',{attrs:{\"row\":\"\"}},[_c('v-flex',[_c('h2',{staticClass:\"font-weight-light\"},[_vm._v(\"Mwst Zusammenstellung für \"+_vm._s(_vm.region))]),_c('h3',{staticClass:\"font-weight-light\"},[_vm._v(\"(nach vereinnahmtem Entgelt)\")])])],1),_c('v-layout',{staticClass:\"mt-3\",attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('v-flex',{staticStyle:{\"max-width\":\"290px\"},attrs:{\"shrink\":\"\",\"pr-2\":\"\"}},[_c('date-picker',{attrs:{\"selectedDate\":_vm.startDate,\"pastDateAllowed\":true,\"futureDateAllowed\":false,\"label\":\"Zeitraum von:\"},on:{\"update:selectedDate\":function($event){return _vm.setStartDate($event)}}})],1),_c('v-flex',{staticStyle:{\"max-width\":\"290px\"},attrs:{\"shrink\":\"\"}},[_c('date-picker',{attrs:{\"selectedDate\":_vm.endDate,\"pastDateAllowed\":true,\"futureDateAllowed\":true,\"label\":\"Zeitraum bis:\"},on:{\"update:selectedDate\":function($event){return _vm.setEndDate($event)}}})],1),_c('v-flex',{staticClass:\"ml-2\",attrs:{\"shrink\":\"\"}},[_c('v-checkbox',{attrs:{\"label\":\"Rechnungs PDFs erstellen\",\"title\":\"Bestimmt, ob die Rechnungen ebenfalls heruntergeladen werden sollen. Dauert wesentlich länger.\",\"color\":\"accent\"},model:{value:(_vm.createInvoicePdf),callback:function ($$v) {_vm.createInvoicePdf=$$v},expression:\"createInvoicePdf\"}})],1)],1)],1)],1),_c('v-card-actions',{staticClass:\"pa-3\"},[_c('v-btn',{staticClass:\"blexon-button\",attrs:{\"loading\":_vm.loading},on:{\"click\":function($event){return _vm.getMwstAbrechnung()}}},[_vm._v(\"Download\")])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { Component, Vue, Prop } from 'vue-property-decorator';\r\nimport httpClient from '../../store/httpClient';\r\nimport moment from 'moment';\r\nimport DatePicker from '@/components/DatePicker.vue';\r\n\r\n@Component({\r\n components: {\r\n DatePicker,\r\n }\r\n})\r\nexport default class MwstAbrechnungComponent extends Vue {\r\n private loading: boolean = false;\r\n private region: string = \"Deutschland\";\r\n private regions: any = [ \"Deutschland\", \"Österreich\", \"Schweiz/Liechtenstein\"]\r\n private createInvoicePdf: boolean = false;\r\n private startDate: string = moment().subtract(5, 'days').format('YYYY-1-1 00:00:00');\r\n private endDate: string = moment(moment(this.startDate).format('YYYY-MM-1 00:00:00'))\r\n .add(3, 'month').subtract(1, 'days').format('YYYY-MM-DD 23:59:59');\r\n\r\n private mounted() {\r\n this.region = this.regions[0];\r\n }\r\n\r\n private get sanitizedRegion() {\r\n return this.region.replace('/', '-');\r\n }\r\n\r\n private async getMwstAbrechnung() {\r\n try {\r\n this.loading = true;\r\n const response = await httpClient()\r\n .get(`Report/GetMwstData?regionName=${this.region}&von=${this.startDate}&bis=${this.endDate}&createInvoicePdf=${this.createInvoicePdf}`,\r\n {\r\n responseType: 'blob',\r\n });\r\n const url = window.URL.createObjectURL(new Blob([response.data]));\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.setAttribute(\r\n 'download', \r\n `MwST Unterlagen ${this.sanitizedRegion} vom ${moment(this.startDate).format('DD.MM.YYYY')} bis ${moment(this.endDate).format('DD.MM.YYYY')}.zip`);\r\n link.click();\r\n } catch {\r\n this.$store.commit('setSnackbarErrorText', 'Mwst Abrechnung konnte nicht heruntergeladen werden.');\r\n } finally {\r\n this.loading = false;\r\n }\r\n }\r\n\r\n private setStartDate(date: Date) {\r\n this.startDate = moment(date).format('YYYY-MM-DD');\r\n }\r\n private setEndDate(date: Date) {\r\n this.endDate = moment(date).format('YYYY-MM-DD');\r\n }\r\n\r\n}\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MwstAbrechnung.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MwstAbrechnung.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./MwstAbrechnung.vue?vue&type=template&id=16ba1fb2\"\nimport script from \"./MwstAbrechnung.vue?vue&type=script&lang=ts\"\nexport * from \"./MwstAbrechnung.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 render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('v-card',[_c('v-card-text',[_c('v-container',{staticClass:\"pa-0\",attrs:{\"fluid\":\"\"}},[_c('v-layout',{attrs:{\"row\":\"\"}},[_c('v-flex',[_c('h2',{staticClass:\"font-weight-light\"},[_vm._v(\"Umsatz ohne Umsatzsteuer\")])])],1),_c('v-layout',{staticClass:\"mt-3\",attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('v-flex',{staticStyle:{\"max-width\":\"290px\"},attrs:{\"shrink\":\"\",\"pr-2\":\"\"}},[_c('date-picker',{attrs:{\"selectedDate\":_vm.startDate,\"pastDateAllowed\":true,\"futureDateAllowed\":false,\"label\":\"Zeitraum von:\"},on:{\"update:selectedDate\":function($event){return _vm.setStartDate($event)}}})],1),_c('v-flex',{staticStyle:{\"max-width\":\"290px\"},attrs:{\"shrink\":\"\",\"pr-2\":\"\"}},[_c('date-picker',{attrs:{\"selectedDate\":_vm.endDate,\"pastDateAllowed\":true,\"futureDateAllowed\":true,\"label\":\"Zeitraum bis:\"},on:{\"update:selectedDate\":function($event){return _vm.setEndDate($event)}}})],1),_c('v-flex',{attrs:{\"shrink\":\"\"}},[_c('v-btn',{staticClass:\"blexon-button\",attrs:{\"loading\":_vm.loading,\"disabled\":_vm.loading},on:{\"click\":function($event){return _vm.getUmsatz()}}},[_vm._v(\"Laden\")])],1)],1),(_vm.turnover && !_vm.loading)?_c('v-layout',{staticClass:\"mt-3\",attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('v-flex',{attrs:{\"lg3\":\"\"}},[_c('h3',[_vm._v(\"Total:\")]),_c('span',{staticClass:\"summaryLeft\"},[_vm._v(\"Umsatz in CHF:\")]),_c('span',{staticClass:\"summaryRight\"},[_vm._v(_vm._s(_vm._f(\"format2DigitWithSeparators\")(_vm.turnover.totalTurnover)))]),_c('br'),_c('span',{staticClass:\"summaryLeft\"},[_vm._v(\"Aktueller Euro-Kurs:\")]),_c('span',{staticClass:\"summaryRight\"},[_vm._v(_vm._s(_vm._f(\"format2Digit\")(_vm.turnover.currentEurRate)))])]),_c('v-flex',{attrs:{\"lg3\":\"\"}},[_c('h3',[_vm._v(\"Schweiz:\")]),_c('span',{staticClass:\"summaryLeft\"},[_vm._v(\"Umsatz [\"+_vm._s(_vm.turnover.chTurnover.item2)+\"]:\")]),_c('span',{staticClass:\"summaryRight\"},[_vm._v(_vm._s(_vm._f(\"format2DigitWithSeparators\")(_vm.turnover.chTurnover.item1)))])]),_c('v-flex',{attrs:{\"lg3\":\"\"}},[_c('h3',[_vm._v(\"Deutschland:\")]),_c('span',{staticClass:\"summaryLeft\"},[_vm._v(\"Umsatz [\"+_vm._s(_vm.turnover.deTurnover.item2)+\"]:\")]),_c('span',{staticClass:\"summaryRight\"},[_vm._v(_vm._s(_vm._f(\"format2DigitWithSeparators\")(_vm.turnover.deTurnover.item1)))])]),_c('v-flex',{attrs:{\"lg3\":\"\"}},[_c('h3',[_vm._v(\"Österreich:\")]),_c('span',{staticClass:\"summaryLeft\"},[_vm._v(\"Umsatz [\"+_vm._s(_vm.turnover.atTurnover.item2)+\"]:\")]),_c('span',{staticClass:\"summaryRight\"},[_vm._v(_vm._s(_vm._f(\"format2DigitWithSeparators\")(_vm.turnover.atTurnover.item1)))])])],1):_vm._e()],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { Component, Vue, Prop } from 'vue-property-decorator';\r\nimport httpClient from '../../store/httpClient';\r\nimport moment from 'moment';\r\nimport DatePicker from '@/components/DatePicker.vue';\r\n\r\n@Component({\r\n components: {\r\n DatePicker,\r\n }\r\n})\r\nexport default class TurnoverComponent extends Vue {\r\n private loading: boolean = false;\r\n private turnover: TurnoverComponent | null = null;\r\n private startDate: string = moment().subtract(1, 'year').format('YYYY-1-1 00:00:00');\r\n private endDate: string = moment().subtract(1, 'year').format('YYYY-12-31 23:59:59');\r\n\r\n private mounted() { \r\n this.getUmsatz();\r\n }\r\n\r\n private async getUmsatz() {\r\n try {\r\n this.loading = true;\r\n const response = await httpClient()\r\n .get(`Report/GetTurnoverReport?from=${this.startDate}&to=${this.endDate}`);\r\n this.turnover = response.data;\r\n } catch {\r\n this.$store.commit('setSnackbarErrorText', 'Umsätze konnten nicht geladen werden.');\r\n } finally {\r\n this.loading = false;\r\n }\r\n }\r\n\r\n private setStartDate(date: Date) {\r\n this.startDate = moment(date).format('YYYY-MM-DD 00:00:00');\r\n }\r\n private setEndDate(date: Date) {\r\n this.endDate = moment(date).format('YYYY-MM-DD 23:59:59');\r\n }\r\n\r\n}\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Turnover.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Turnover.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./Turnover.vue?vue&type=template&id=79c82ffe&scoped=true\"\nimport script from \"./Turnover.vue?vue&type=script&lang=ts\"\nexport * from \"./Turnover.vue?vue&type=script&lang=ts\"\nimport style0 from \"./Turnover.vue?vue&type=style&index=0&id=79c82ffe&prod&scoped=true&lang=css\"\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 \"79c82ffe\",\n null\n \n)\n\nexport default component.exports","\r\nimport { Component, Vue } from 'vue-property-decorator';\r\nimport OpenInvoiceMatchingComponent from '@/views/Accounting/OpenInvoiceMatchingComponent.vue'\r\nimport OpenMahnungen from '@/views/Accounting/OpenMahnungen.vue'\r\nimport AllInvoices from '@/views/Accounting/AllInvoices.vue'\r\nimport Payments from '@/views/Accounting/Payments.vue'\r\nimport MwstAbrechnungComponent from './MwstAbrechnung.vue';\r\nimport TurnoverComponent from './Turnover.vue';\r\n\r\n@Component({\r\n components: {\r\n\t\tOpenInvoiceMatchingComponent,\r\n OpenMahnungen,\r\n\t\tAllInvoices,\r\n\t\tPayments,\r\n\t\tMwstAbrechnungComponent,\r\n\t\tTurnoverComponent,\r\n },\r\n})\r\nexport default class AccountingDashboard extends Vue {\r\n\tprivate reloadMahnungenToggle: boolean = false;\r\n\tprivate allInvoicesListHasMoreToLoad: boolean = true;\r\n\tprivate allInvoicesIsLoading: boolean = false;\r\n\tprivate loadMoreInvoicesToggle: boolean = false;\r\n\tprivate paymentsIsLoading: boolean = false;\r\n\tprivate paymentsInvoiceIdFilter: number = 0;\r\n\tprivate tabs = [\r\n\t\t{ id: 0, text: 'paymentMatching', visibleText: 'Zahlungsabgleich Bank' },\r\n\t\t{ id: 1, text: 'allInvoices', visibleText: 'Rechnungen' },\r\n\t\t{ id: 2, text: 'payments', visibleText: 'Zahlungen' },\r\n\t\t{ id: 3, text: 'mahnungen', visibleText: 'Mahnungen' },\r\n\t\t{ id: 4, text: 'mwstAbrechnung', visibleText: 'Mwst Abrechnung' },\r\n\t\t{ id: 5, text: 'umsatz', visibleText: 'Umsatz' },\r\n\t]\r\n\r\n\tbeforeRouteEnter(to: any, from: any, next: any) {\r\n\t\tnext((vm: any) => {\r\n\t\t\twindow.addEventListener('scroll', vm.checkBottom);\r\n\t\t});\r\n\t}\r\n\r\n\tbeforeRouteLeave(to: any, from: any, next: any) {\r\n\t\twindow.removeEventListener('scroll', this.checkBottom);\r\n\t\tnext();\r\n\t}\r\n\r\n\tprivate get activeTab(): number {\r\n\t\treturn this.$store.state.activeAccountingTab;\r\n\t}\r\n\tprivate set activeTab(tab: number) {\r\n\t\tthis.$store.commit('setActiveAccountingTab', tab);\r\n\t}\r\n\r\n\tprivate reloadMahnungen() {\r\n\t\tthis.reloadMahnungenToggle = true;\r\n\t}\r\n\r\n\tprivate setAllInvoicesListHasMoreToLoad(state: boolean) {\r\n\t\tthis.allInvoicesListHasMoreToLoad = state;\r\n\t}\r\n\r\n\tprivate setAllInvoicesIsLoading(state: boolean) {\r\n\t\tthis.allInvoicesIsLoading = state;\r\n\t}\r\n\r\n\tprivate setPaymentsIsLoading(state: boolean) {\r\n\t\tthis.paymentsIsLoading = state;\r\n\t}\r\n\r\n\tprivate navigateToPayments(invoiceId: number) {\r\n\t\tthis.activeTab = this.getKeyFromText('payments');\r\n\t\tthis.paymentsInvoiceIdFilter = invoiceId;\r\n\t}\r\n\r\n\tprivate checkBottom() {\r\n\t\tlet bottomOfWindow = (window.innerHeight + window.pageYOffset) >= document.body.offsetHeight - 2;\r\n\t\tif (bottomOfWindow && this.allInvoicesListHasMoreToLoad && !this.allInvoicesIsLoading) {\r\n\t\t\tif (this.activeTab === this.getKeyFromText('allInvoices')) {\r\n\t\t\t\tthis.loadMoreInvoicesToggle = true;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprivate getKeyFromText(text: string) {\r\n\t\treturn this.tabs.filter((tab: any) => tab.text === text)[0].id;\r\n\t}\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountingDashboard.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountingDashboard.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./AccountingDashboard.vue?vue&type=template&id=2bccef32\"\nimport script from \"./AccountingDashboard.vue?vue&type=script&lang=ts\"\nexport * from \"./AccountingDashboard.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 render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('v-container',{staticClass:\"pa-0\",attrs:{\"fluid\":\"\",\"grid-list-lg\":\"\"}},[_c('div',{staticStyle:{\"display\":\"flex\"}},[_c('router-link',{attrs:{\"to\":\"/article\",\"custom\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ navigate }){return [_c('v-btn',{staticClass:\"ml-0 blexon-button\",on:{\"click\":navigate}},[_c('v-icon',[_vm._v(\"mdi-arrow-left\")]),_vm._v(\"\\n Zurück\\n \")],1)]}}])}),_c('h1',[_vm._v(\"Baugruppe: \"+_vm._s(_vm.assemblyArticle.customerArticleName)+\" | \"+_vm._s(_vm.assemblyArticle.articleId))])],1),_c('div',{staticStyle:{\"display\":\"flex\",\"gap\":\"10px\",\"flex-wrap\":\"wrap\"},attrs:{\"grid-list-lg\":\"\"}},_vm._l((_vm.articles),function(article){return _c('article-component',{key:'article' + article.articleId,attrs:{\"article\":article},on:{\"deleted\":function($event){return _vm.removeArticle($event)},\"reactivatedArticle\":function($event){return _vm.removeArticle($event)}}})}),1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { Component, Vue, Prop, Watch } from 'vue-property-decorator';\r\nimport httpClient from '../../store/httpClient';\r\nimport ArticleComponent from './ArticleComponent.vue';\r\nimport { ArticleDto } from '@/dtos/articleDto';\r\n\r\n@Component({\r\n components: {\r\n ArticleComponent,\r\n },\r\n})\r\nexport default class AssemblyView extends Vue {\r\n @Prop()\r\n private assemblyArticleId!: number;\r\n\r\n private mounted() {\r\n this.loadSubarticles();\r\n }\r\n\r\n private get articles() {\r\n return this.$store.state.articles.filter((a:ArticleDto) => a.parentArticleId == this.assemblyArticleId);\r\n }\r\n\r\n private get assemblyArticle() : ArticleDto {\r\n return this.$store.state.articles.find((a:ArticleDto) => a.articleId == this.assemblyArticleId);\r\n }\r\n\r\n private async loadSubarticles() {\r\n try {\r\n const response = await httpClient().post(`Article/GetArticlesByIds`, this.assemblyArticle.subArticleIds);\r\n this.$store.commit('addOrUpdateArticles', response.data);\r\n } catch (ex) {\r\n console.error(ex);\r\n }\r\n }\r\n\r\n private removeArticle(articleId: any) {\r\n // Artikel wurde bereits im Backend gelöscht.\r\n // Falls vorhanden wird er lokal auch entfernt.\r\n this.$store.commit('removeArticle', articleId);\r\n }\r\n}\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AssemblyView.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AssemblyView.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./AssemblyView.vue?vue&type=template&id=fab91604\"\nimport script from \"./AssemblyView.vue?vue&type=script&lang=ts\"\nexport * from \"./AssemblyView.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 Vue from 'vue';\r\nimport Router from 'vue-router';\r\nimport Home from './views/Home.vue';\r\nimport ProcessTicket from './views/Ticket/ProcessTicket.vue';\r\nimport TicketDashboard from './views/Ticket/Dashboard.vue';\r\nimport ArticleDashboard from './views/Article/Dashboard.vue';\r\nimport AccountingDashboard from './views/Accounting/AccountingDashboard.vue';\r\nimport AssemblyView from './views/Article/AssemblyView.vue';\r\nimport store from './store/store';\r\nVue.use(Router);\r\n\r\nconst router = new Router({\r\n routes: [\r\n {\r\n path: '/',\r\n name: 'home',\r\n component: Home,\r\n },\r\n {\r\n path: '/ticket',\r\n name: 'ticket',\r\n props: true,\r\n // route level code-splitting\r\n // this generates a separate chunk (about.[hash].js) for this route\r\n // which is lazy-loaded when the route is visited.\r\n component: TicketDashboard,\r\n },\r\n {\r\n path: '/ticket/process/:ticketId/:embedded?',\r\n name: 'processTicket',\r\n props: true,\r\n // route level code-splitting\r\n // this generates a separate chunk (about.[hash].js) for this route\r\n // which is lazy-loaded when the route is visited.\r\n component: ProcessTicket,\r\n },\r\n {\r\n path: '/customer',\r\n name: 'customer',\r\n // route level code-splitting\r\n // this generates a separate chunk (about.[hash].js) for this route\r\n // which is lazy-loaded when the route is visited.\r\n component: () => import(/* webpackChunkName: \"about\" */ './views/Customer/Dashboard.vue'),\r\n },\r\n {\r\n path: '/order/:articleId?',\r\n name: 'order',\r\n props: true,\r\n // route level code-splitting\r\n // this generates a separate chunk (about.[hash].js) for this route\r\n // which is lazy-loaded when the route is visited.\r\n component: () => import(/* webpackChunkName: \"about\" */ './views/Orders/Dashboard.vue'),\r\n },\r\n {\r\n path: '/order/edit/:orderId',\r\n name: 'editOrder',\r\n props: true,\r\n // route level code-splitting\r\n // this generates a separate chunk (about.[hash].js) for this route\r\n // which is lazy-loaded when the route is visited.\r\n component: () => import(/* webpackChunkName: \"about\" */ './views/Orders/EditOrder.vue'),\r\n },\r\n {\r\n path: '/order/create/:customerId',\r\n name: 'createOrder',\r\n props: true,\r\n // route level code-splitting\r\n // this generates a separate chunk (about.[hash].js) for this route\r\n // which is lazy-loaded when the route is visited.\r\n component: () => import(/* webpackChunkName: \"about\" */ './views/Orders/QuickOrder.vue'),\r\n },\r\n {\r\n path: '/cancellationRequest/:orderId',\r\n name: 'cancellationRequest',\r\n props: true,\r\n // route level code-splitting\r\n // this generates a separate chunk (about.[hash].js) for this route\r\n // which is lazy-loaded when the route is visited.\r\n component: () => import(/* webpackChunkName: \"about\" */ './views/Orders/EditCancellationRequest.vue'),\r\n },\r\n {\r\n path: '/report',\r\n name: 'report',\r\n props: true,\r\n // route level code-splitting\r\n // this generates a separate chunk (about.[hash].js) for this route\r\n // which is lazy-loaded when the route is visited.\r\n component: () => import(/* webpackChunkName: \"about\" */ './views/Reporting/Reports.vue'),\r\n },\r\n {\r\n path: '/marketing/links',\r\n name: 'marketingLinks',\r\n props: false,\r\n // route level code-splitting\r\n // this generates a separate chunk (about.[hash].js) for this route\r\n // which is lazy-loaded when the route is visited.\r\n component: () => import(/* webpackChunkName: \"about\" */ './views/Marketing/LinkDashboard.vue'),\r\n },\r\n {\r\n path: '/report/complainrate',\r\n name: 'reportComplainRate',\r\n props: true,\r\n // route level code-splitting\r\n // this generates a separate chunk (about.[hash].js) for this route\r\n // which is lazy-loaded when the route is visited.\r\n component: () => import(/* webpackChunkName: \"about\" */ './views/Reporting/ComplainRate.vue'),\r\n },\r\n {\r\n path: '/report/registration',\r\n name: 'registration',\r\n props: true,\r\n // route level code-splitting\r\n // this generates a separate chunk (about.[hash].js) for this route\r\n // which is lazy-loaded when the route is visited.\r\n component: () => import(/* webpackChunkName: \"about\" */ './views/Reporting/Registration.vue'),\r\n },\r\n {\r\n path: '/report/deliveryDelay',\r\n name: 'deliveryDelay',\r\n props: true,\r\n // route level code-splitting\r\n // this generates a separate chunk (about.[hash].js) for this route\r\n // which is lazy-loaded when the route is visited.\r\n component: () => import(/* webpackChunkName: \"about\" */ './views/Reporting/DeliveryDelay.vue'),\r\n },\r\n {\r\n path: '/report/costDistribution',\r\n name: 'costDistribution',\r\n props: true,\r\n // route level code-splitting\r\n // this generates a separate chunk (about.[hash].js) for this route\r\n // which is lazy-loaded when the route is visited.\r\n component: () => import(/* webpackChunkName: \"about\" */ './views/Reporting/CostDistribution.vue'),\r\n },\r\n {\r\n path: '/report/orderVolume',\r\n name: 'orderVolume',\r\n props: true,\r\n component: () => import(/* webpackChunkName: \"about\" */ './views/Reporting/OrderVolumePerTechnology.vue'),\r\n },\r\n {\r\n path: '/report/uploadedArticles',\r\n name: 'uploadedArticles',\r\n props: true,\r\n component: () => import(/* webpackChunkName: \"about\" */ './views/Reporting/UploadedArticles.vue'),\r\n },\r\n {\r\n path: '/report/orderVolumePerManufacturer',\r\n name: 'orderVolumePerManufacturer',\r\n props: true,\r\n component: () => import(/* webpackChunkName: \"about\" */ './views/Reporting/OrderVolumePerManufacturerReport.vue'),\r\n },\r\n {\r\n path: '/report/orderedMaterials',\r\n name: 'orderedMaterials',\r\n props: true,\r\n component: () => import(/* webpackChunkName: \"about\" */ './views/Reporting/OrderedMaterials.vue'),\r\n },\r\n {\r\n path: '/report/transportCost',\r\n name: 'transportCostReport',\r\n props: true,\r\n component: () => import(/* webpackChunkName: \"about\" */ './views/Reporting/TransportCost.vue'),\r\n },\r\n {\r\n path: '/article/:customerIdProp?',\r\n name: 'article',\r\n props: true,\r\n // route level code-splitting\r\n // this generates a separate chunk (about.[hash].js) for this route\r\n // which is lazy-loaded when the route is visited.\r\n component: ArticleDashboard,\r\n },\r\n {\r\n path: '/article/assembly/:assemblyArticleId',\r\n name: 'assemblyView',\r\n props: true,\r\n component: AssemblyView,\r\n },\r\n {\r\n path: '/customer/detail/:customerId',\r\n name: 'customerDetail',\r\n props: true,\r\n // route level code-splitting\r\n // this generates a separate chunk (about.[hash].js) for this route\r\n // which is lazy-loaded when the route is visited.\r\n component: () => import(/* webpackChunkName: \"about\" */ './views/Customer/Detail.vue'),\r\n },\r\n {\r\n path: '/customer/calculations',\r\n name: 'customerCalculations',\r\n props: true,\r\n // route level code-splitting\r\n // this generates a separate chunk (about.[hash].js) for this route\r\n // which is lazy-loaded when the route is visited.\r\n component: () => import(/* webpackChunkName: \"about\" */ './views/Customer/Calculations.vue'),\r\n },\r\n {\r\n path: '/manufacturerSettlement',\r\n name: 'manufacturerSettlement',\r\n // route level code-splitting\r\n // this generates a separate chunk (about.[hash].js) for this route\r\n // which is lazy-loaded when the route is visited.\r\n component: () => import(/* webpackChunkName: \"about\" */ './views/ManufacturerSettlement/Dashboard.vue'),\r\n },\r\n {\r\n path: '/accounting',\r\n name: 'accounting',\r\n // route level code-splitting\r\n // this generates a separate chunk (about.[hash].js) for this route\r\n // which is lazy-loaded when the route is visited.\r\n component: AccountingDashboard,\r\n },\r\n {\r\n path: '/editInvoice/:invoiceId',\r\n name: 'editInvoice',\r\n props: true,\r\n // route level code-splitting\r\n // this generates a separate chunk (about.[hash].js) for this route\r\n // which is lazy-loaded when the route is visited.\r\n component: () => import('./views/Accounting/EditInvoice.vue'),\r\n },\r\n {\r\n path: '/settings',\r\n name: 'settings',\r\n // route level code-splitting\r\n // this generates a separate chunk (about.[hash].js) for this route\r\n // which is lazy-loaded when the route is visited.\r\n component: () => import(/* webpackChunkName: \"about\" */ './views/Settings/Settings.vue'),\r\n },\r\n {\r\n path: '/settings/materialprices',\r\n name: 'materialprices',\r\n // route level code-splitting\r\n // this generates a separate chunk (about.[hash].js) for this route\r\n // which is lazy-loaded when the route is visited.\r\n component: () => import(/* webpackChunkName: \"about\" */ './views/Settings/MaterialPrices.vue'),\r\n },\r\n {\r\n path: '/settings/materialSettings',\r\n name: 'materialSettings',\r\n // route level code-splitting\r\n // this generates a separate chunk (about.[hash].js) for this route\r\n // which is lazy-loaded when the route is visited.\r\n component: () => import(/* webpackChunkName: \"about\" */ './views/Settings/MaterialSettings.vue'),\r\n },\r\n {\r\n path: '/settings/camMessageSettings',\r\n name: 'camMessageSettings',\r\n // route level code-splitting\r\n // this generates a separate chunk (about.[hash].js) for this route\r\n // which is lazy-loaded when the route is visited.\r\n component: () => import(/* webpackChunkName: \"about\" */ './views/Settings/CamMessageSettings.vue'),\r\n },\r\n {\r\n path: '/settings/formTemplateSettings',\r\n name: 'formTemplateSettings',\r\n // route level code-splitting\r\n // this generates a separate chunk (about.[hash].js) for this route\r\n // which is lazy-loaded when the route is visited.\r\n component: () => import(/* webpackChunkName: \"about\" */ './views/Settings/FormTemplateSettings.vue'),\r\n },\r\n {\r\n path: '/settings/calcSettings',\r\n name: 'calcSettings',\r\n // route level code-splitting\r\n // this generates a separate chunk (about.[hash].js) for this route\r\n // which is lazy-loaded when the route is visited.\r\n component: () => import(/* webpackChunkName: \"about\" */ './views/Settings/CalcSettings.vue'),\r\n },\r\n {\r\n path: '/settings/globalSettings',\r\n name: 'globalSettings',\r\n // route level code-splitting\r\n // this generates a separate chunk (about.[hash].js) for this route\r\n // which is lazy-loaded when the route is visited.\r\n component: () => import(/* webpackChunkName: \"about\" */ './views/Settings/GlobalSettings.vue'),\r\n },\r\n {\r\n path: '/settings/monitoring',\r\n name: 'monitoring',\r\n // route level code-splitting\r\n // this generates a separate chunk (about.[hash].js) for this route\r\n // which is lazy-loaded when the route is visited.\r\n component: () => import(/* webpackChunkName: \"about\" */ './views/Settings/CamMonitor.vue'),\r\n },\r\n {\r\n path: '/log',\r\n name: 'log',\r\n // route level code-splitting\r\n // this generates a separate chunk (about.[hash].js) for this route\r\n // which is lazy-loaded when the route is visited.\r\n component: () => import(/* webpackChunkName: \"about\" */ './views/Log.vue'),\r\n },\r\n ],\r\n});\r\nrouter.beforeEach((to: any, from: any, next) => {\r\n if (to.path.includes('ticket') || store.state.isAdmin) {\r\n next();\r\n } else {\r\n next(false);\r\n }\r\n});\r\nexport default router;\r\n","/* tslint:disable:no-console */\r\n\r\nimport { register } from 'register-service-worker';\r\n\r\nif (process.env.NODE_ENV === 'production') {\r\n register(`${process.env.BASE_URL}service-worker.js`, {\r\n ready() {\r\n console.log(\r\n 'App is being served from cache by a service worker.\\n' +\r\n 'For more details, visit https://goo.gl/AFskqB',\r\n );\r\n },\r\n cached() {\r\n console.log('Content has been cached for offline use.');\r\n },\r\n updated() {\r\n console.log('New content is available; please refresh.');\r\n },\r\n offline() {\r\n console.log('No internet connection found. App is running in offline mode.');\r\n },\r\n error(error) {\r\n console.error('Error during service worker registration:', error);\r\n },\r\n });\r\n}\r\n","import './class-component-hooks' // needs to be imported before any components\r\nimport Vue from 'vue';\r\nimport 'material-design-icons-iconfont/dist/material-design-icons.css';\r\nimport './plugins/vuetify';\r\nimport App from './App.vue';\r\nimport router from './router';\r\nimport store from './store/store';\r\nimport './registerServiceWorker';\r\nimport 'roboto-fontface/css/roboto/roboto-fontface.css';\r\nimport moment from 'moment';\r\nrequire('@/assets/style.css')\r\n\r\nVue.filter('formatDate', (value: any) => {\r\n\tif (value) {\r\n\t\treturn moment(String(value)).format('DD.MM.YYYY');\r\n\t}\r\n});\r\n\r\nVue.filter('formatTimespan', (value: any) => {\r\n\tif (value) {\r\n\t\treturn moment(String(value)).format('hh:mm:ss');\r\n\t}\r\n});\r\nVue.filter('formatDateAndTime', (value: any) => {\r\n\tif (value) {\r\n\t\treturn moment(String(value)).format('DD.MM.YYYY HH:mm:ss');\r\n\t}\r\n});\r\nVue.filter('format2Digit', (value: number) => {\r\n return value.toFixed(2);\r\n});\r\nVue.filter('format2DigitWithSeparators', (value: number) => {\r\n return value.toFixed(2).toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \"'\");\r\n});\r\nVue.filter('format3Digit', (value: number) => {\r\n \treturn value.toFixed(3);\r\n});\r\n\r\nVue.config.productionTip = false;\r\nconsole.log('running: ' + process.env.VUE_APP_MODE);\r\nstore.dispatch('bootstrap').then(async () => {\r\n\tconsole.log('Successfully bootstrapt application');\r\n\tstore.dispatch('checkAccess').then(async () => {\r\n\t\tstore.dispatch('setupSignalR').then(async () => {\r\n\t\t\tstore.dispatch('loadManufacturers').then(async () => {\r\n\t\t\t\tconst app = new Vue({\r\n\t\t\t\tel: '#app',\r\n\t\t\t\tstore,\r\n\t\t\t\trouter,\r\n\t\t\t\trender: (h) => h(App),\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t});\r\n\t})\r\n\t.catch((e) => {\r\n console.log('Keine Berechtigung');\r\n //store.dispatch('logout');\r\n });\r\n}).catch((e) => console.log(e));\r\n","export enum MatchingType {\r\n ById = 1,\r\n ByReference = 2,\r\n ByAmount = 3,\r\n ByHand = 4,\r\n ByPaidInvoice = 5,\r\n NoMatch = 9,\r\n}","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AllInvoices.vue?vue&type=style&index=0&id=5fa5af04&prod&scoped=true&lang=css\"","\r\nexport enum EventType {\r\n\tFallback = 99,\r\n\tMahnungSentAsEmail = 0,\r\n\tMahnungSentAsPhysicalMail = 1,\r\n\tMahnungCalledCustomer = 2,\r\n\tCalculatedOrder = 200,\r\n\tUserAskForGoogleReview = 3,\r\n\tUserAskedWhyTheyDidNotOrder = 4,\r\n\tArticleCreated = 5,\r\n\tArticleDeleted = 6,\r\n\tArticleValidated = 400,\r\n}","\r\nexport enum CustomerSortingType {\r\n CustomerIdAscending = 0,\r\n CustomerIdDescending = 1,\r\n FirmaAscending = 2,\r\n FirmaDescending = 3,\r\n VornameAscending = 4,\r\n VornameDescending = 5,\r\n NachnameAscending = 6,\r\n NachnameDescending = 7,\r\n RegisteredAscending = 8,\r\n RegisteredDescending = 9,\r\n FirstOrderAscending = 10,\r\n FirstOrderDescending = 11,\r\n LastOrderAscending = 12,\r\n LastOrderDescending = 13,\r\n NumberOfArticlesAscending = 14,\r\n NumberOfArticlesDescending = 15,\r\n NumberOfOrdersAscending = 16,\r\n NumberOfOrdersDescending = 17,\r\n OrderSumAscending = 18,\r\n OrderSumDescending = 19,\r\n}\r\n","\r\n\r\nexport enum PowderFinish {\r\n Matt = 0,\r\n Glossy = 1,\r\n}\r\n","import axios from 'axios';\r\n\r\nexport default function() {\r\n const userString = window.localStorage.getItem(`oidc.user:${process.env.VUE_APP_authorityUrl}:HelpdeskClient`);\r\n //@ts-ignore\r\n const user = JSON.parse(userString);\r\n return axios.create({\r\n baseURL: process.env.VUE_APP_SERVER_URL,\r\n headers: {\r\n Authorization: 'Bearer ' + user.access_token,\r\n },\r\n });\r\n}","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('v-menu',{attrs:{\"close-on-content-click\":false,\"full-width\":\"\",\"max-width\":\"280\"},model:{value:(_vm.datePickerOpen),callback:function ($$v) {_vm.datePickerOpen=$$v},expression:\"datePickerOpen\"}},[_c('v-text-field',{attrs:{\"slot\":\"activator\",\"value\":_vm.selectedDateFormated,\"label\":_vm.label,\"readonly\":\"\"},slot:\"activator\"}),_c('v-date-picker',{attrs:{\"min\":_vm.pastDateAllowed ? _vm.minDate : _vm.today,\"max\":_vm.futureDateAllowed ? _vm.maxDate : _vm.today,\"first-day-of-week\":\"1\",\"locale\":\"de-de\"},on:{\"change\":function($event){return _vm.dateChanged()}},model:{value:(_vm.internalDate),callback:function ($$v) {_vm.internalDate=$$v},expression:\"internalDate\"}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\r\nimport moment from 'moment';\r\n\r\n@Component\r\nexport default class DatePicker extends Vue {\r\n\r\n @Prop()\r\n private selectedDate!: string;\r\n @Prop()\r\n private label!: string;\r\n @Prop()\r\n private pastDateAllowed!: boolean;\r\n @Prop()\r\n private futureDateAllowed!: boolean;\r\n private datePickerOpen: boolean = false;\r\n private internalDate: string = '';\r\n private today: string = moment().format('YYYY-MM-DD');\r\n private minDate: string = moment('2000-01-01').format('YYYY-MM-DD');\r\n private maxDate: string = moment().add(50, 'y').format('YYYY-MM-DD');\r\n\r\n private mounted() {\r\n this.setDate();\r\n }\r\n @Watch('selectedDate')\r\n private update() {\r\n this.setDate();\r\n }\r\n\r\n private setDate() {\r\n this.internalDate = moment(this.selectedDate).format('YYYY-MM-DD');\r\n }\r\n\r\n private get selectedDateFormated() {\r\n moment.locale('de');\r\n return this.internalDate ? moment(this.internalDate).format('DD.MM.YYYY') : '';\r\n }\r\n\r\n private dateChanged() {\r\n this.$emit('update:selectedDate', this.internalDate);\r\n this.datePickerOpen = false;\r\n }\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DatePicker.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DatePicker.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./DatePicker.vue?vue&type=template&id=7093f588&scoped=true\"\nimport script from \"./DatePicker.vue?vue&type=script&lang=ts\"\nexport * from \"./DatePicker.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 \"7093f588\",\n null\n \n)\n\nexport default component.exports","\r\n\r\nexport enum ArticleFaceType {\r\n Visible = 0,\r\n Back = 1,\r\n Both = 2,\r\n}\r\n","import { ArticleFaceType } from '../dtos/articleFaceType';\r\n\r\nexport interface IArticleFaceType {\r\n text: string;\r\n value: ArticleFaceType;\r\n}\r\n\r\nconst values: IArticleFaceType[] = [\r\n {\r\n text: 'Unterseite',\r\n value: ArticleFaceType.Back,\r\n },\r\n {\r\n text: 'Oberseite',\r\n value: ArticleFaceType.Visible,\r\n },\r\n {\r\n text: 'Beide Seiten',\r\n value: ArticleFaceType.Both,\r\n },\r\n];\r\n\r\nexport default values;\r\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OpenInvoiceMatchingComponent.vue?vue&type=style&index=0&id=84473a04&prod&scoped=true&lang=css\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CostDistribution.vue?vue&type=style&index=0&id=2b573ab4&prod&scoped=true&lang=css\""],"sourceRoot":""}