{"version":3,"sources":["webpack:///./src/invoices/components/invoices-dialog/invoices-dialog.vue?d8f0","webpack:///./src/invoices/components/invoices-dialog/invoices-dialog.ts","webpack:///./src/invoices/components/invoices-dialog/invoices-dialog.ts?6d88","webpack:///./src/invoices/components/invoices-dialog/invoices-dialog.vue","webpack:///./src/dashboard/views/dashboard.vue?b699","webpack:///./src/dashboard/views/dashboard.ts","webpack:///./src/dashboard/views/dashboard.ts?9fdf","webpack:///./src/dashboard/views/dashboard.vue","webpack:///./src/invoices/models/invoice-state.ts","webpack:///./src/invoices/components/invoice-badge/invoice-badge.vue?7e91","webpack:///./src/invoices/components/invoice-badge/invoice-badge.ts","webpack:///./src/invoices/components/invoice-badge/invoice-badge.ts?eaf7","webpack:///./src/invoices/components/invoice-badge/invoice-badge.vue","webpack:///./src/itineraries/mixins/itineraries-mixin.ts","webpack:///./src/itineraries/components/itinerary-dialog/itinerary-dialog.vue?d657","webpack:///./src/invoices/services/invoices-service.ts","webpack:///./src/invoices/components/invoices-table/invoices-table.vue?ca2c","webpack:///./src/invoices/components/invoices-table/invoices-table.ts","webpack:///./src/invoices/components/invoices-table/invoices-table.ts?9b3d","webpack:///./src/invoices/components/invoices-table/invoices-table.vue","webpack:///./src/itineraries/services/tax-rates-service.ts","webpack:///./src/invoices/views/invoice-preview.vue?3ccc","webpack:///./src/invoices/views/invoice-preview.vue?9ae2","webpack:///./src/invoices/views/invoice-preview.ts","webpack:///./src/invoices/views/invoice-preview.ts?d5a2","webpack:///./src/invoices/views/invoice-preview.vue?b56f","webpack:///./src/customers/views/categories.vue?7cec","webpack:///./src/customers/views/categories.ts","webpack:///./src/customers/views/categories.ts?bf3c","webpack:///./src/customers/views/categories.vue","webpack:///./src/itineraries/services/itineraries-service.ts","webpack:///./src/invoices/models/payment-method.ts","webpack:///./src/locations/services/countries-service.ts","webpack:///./src/invoices/views/invoices.vue?056c","webpack:///./src/invoices/models/invoice-filter.ts","webpack:///./src/invoices/views/invoices.ts","webpack:///./src/invoices/views/invoices.ts?5a0f","webpack:///./src/invoices/views/invoices.vue","webpack:///./src/itineraries/components/itinerary-dialog/itinerary-dialog.vue?1515","webpack:///./src/itineraries/models/itinerary.ts","webpack:///./src/itineraries/models/itinerary-leg.ts","webpack:///./src/itineraries/components/itinerary-dialog/itinerary-dialog.ts","webpack:///./src/itineraries/components/itinerary-dialog/itinerary-dialog.ts?ba30","webpack:///./src/itineraries/components/itinerary-dialog/itinerary-dialog.vue","webpack:///./src/itineraries/components/itineraries-table/itineraries-table.vue?a3d4","webpack:///./src/itineraries/components/itineraries-table/itineraries-table.ts","webpack:///./src/itineraries/components/itineraries-table/itineraries-table.ts?57cd","webpack:///./src/itineraries/components/itineraries-table/itineraries-table.vue","webpack:///./src/customers/views/customers.vue?4578","webpack:///./src/invoices/components/invoice-badge/invoice-badge.vue?85d0","webpack:///./src/invoices/components/invoice-state-select.vue?7468","webpack:///./src/invoices/components/invoice-state-select.vue","webpack:///./src/invoices/components/invoice-state-select.vue?ef38","webpack:///./src/invoices/components/invoice-state-select.vue?79d7","webpack:///./src/itineraries/components/itineraries-table/itineraries-table.vue?b130","webpack:///./src/itineraries/store/itineraries-module.ts","webpack:///./src/locations/components/country-select/country-select.vue?255a","webpack:///./src/locations/components/country-select/country-select.ts","webpack:///./src/locations/components/country-select/country-select.ts?f21b","webpack:///./src/locations/components/country-select/country-select.vue","webpack:///./src/locations/components/address-line/address-line.vue?7c32","webpack:///./src/locations/components/address-line/address-line.ts","webpack:///./src/locations/components/address-line/address-line.ts?3500","webpack:///./src/locations/components/address-line/address-line.vue","webpack:///./src/locations/models/address.ts","webpack:///./src/customers/views/customers.vue?f71f","webpack:///./src/customers/views/customers.ts","webpack:///./src/customers/views/customers.ts?aef3","webpack:///./src/customers/views/customers.vue","webpack:///./src/itineraries/components/itinerary-selection/itinerary-selection.vue?c897","webpack:///./src/itineraries/components/itinerary-selection/itinerary-selection.ts","webpack:///./src/itineraries/components/itinerary-selection/itinerary-selection.ts?6136","webpack:///./src/itineraries/components/itinerary-selection/itinerary-selection.vue","webpack:///./src/invoices/models/invoice-stakes.ts","webpack:///./src/invoices/models/invoice.ts","webpack:///./src/itineraries/views/itineraries.vue?9c4d","webpack:///./src/locations/models/country.ts","webpack:///./src/itineraries/models/tax-rate.ts","webpack:///./src/itineraries/views/itineraries.ts","webpack:///./src/itineraries/views/itineraries.ts?f4cd","webpack:///./src/itineraries/views/itineraries.vue"],"names":["render","_vm","this","_h","$createElement","_c","_self","attrs","ref","invoice","isArchived","on","selectRides","$vuetify","breakpoint","xsOnly","model","value","callback","$$v","dialog","expression","staticClass","_v","_s","dialogTitle","scopedSlots","_u","key","fn","_g","_f","date","datePickerMenu","$event","directives","name","rawName","errors","collect","length","openRideMultiselectDialog","jobNr","invoiceStateItems","$set","paymentMethodItems","_e","customer","openInvoicePreview","invoiceState","createCreditNote","cancel","any","save","staticRenderFns","Pending","text","Canceled","Paid","FirstDunning","SecondDunning","ThirdDunning","CreditNote","Cash","CreditCard","Invoice","editMode","selectedRides","isNew","invoiceNo","setDate","$validator","reset","ride","rides","getJobDescription","loadRidesAsync","id","customerId","findOneAsync","invoiceId","findAllForInvoiceAsync","ridesMultiselectDialog","open","jobs","map","r","join","selected","haveSameCustomer","every","$emit","confirm","validateAll","filter","isTemplate","ridesToCreate","toRegularRide","isReminder","reminderCharges","mom","format","HTML5_FMT","DATETIME_LOCAL_SECONDS","component","VBtn","VCard","VCardActions","VCardText","VCardTitle","VContainer","VDatePicker","VDialog","VFlex","VForm","VLayout","VMenu","VSelect","VSpacer","VTextField","contractExpired","$auth","isInRole","membershipNumber","contractExpiringWithoutAutoRenew","daysUntilExpiration","enableContractAutoRenewal","contractExpiringWithAutoRenew","class","md6","isTenant","md12","isDriver","itinerariesLoading","itineraries","loading","shift","periodShift","gotoToday","loadingPrint","print","fetchShift","update","remove","periodOpen","fetchOpen","findShiftAsync","findOpenAsync","start","end","generateRidesPdfAsync","pdfUrl","window","initPeriodShift","fetchAll","createAsync","updateRemarksAsync","updateAsync","deleteAsync","updateHasAutoRenewalContract","startOf","toISOString","add","getCurrent","subtract","timeIncluded","VAlert","InvoiceState","invoiceColor","invoiceText","paymentMethod","DirectBilling","VChip","ItinerariesMixin","itinerariesModule","InvoicesService","url","resource","get","pdf","obj","paging","post","res","pagedList","headers","invoices","pPagination","totalItems","itemsPerPageText","onClick","item","amount","cost","page","itemsPerPage","sortable","align","type","Boolean","default","VDataTable","VIcon","TaxRatesService","list","printConfirmed","back","tenant","company","addressLine","countryId","postalCode","city","phone","email","vat","staticStyle","logoUrl","firstName","lastName","number","_l","origin","destination","distance","netCost","stakes","netSum","taxSum","totalSum","share","idx","taxRate","countryName","tax","totalCost","remarks","bank","bic","iban","generating","tenantId","$router","go","printConfirmDialog","generatePdfAsync","fetch","authModule","store","Date","getTime","VSheet","VToolbar","create","categoryHeaders","categories","editCategory","deleteCategory","proxy","categoryDialog","customerCategoryFormTitle","editedCategory","closeEditCategory","saveEditCategory","snackbarOpened","snackbarText","categoriesLoading","editedCategoryIndex","fetchAllCategories","findAllCategoriesAsync","response","category","indexOf","Object","assign","removeCategoryAsync","updateCategoryAsync","saveCategoryAsync","VCol","VRow","VSnackbar","ItinerariesService","params","PaymentMethod","CountriesService","code","exportList","arg","pagination","edit","preview","status","excludestatus","Settled","numberFormatter","Intl","NumberFormat","minimumFractionDigits","maximumFractionDigits","useGrouping","val","filterAllAsync","items","csvHeader","csvContent","forEach","kind","getPaymentMethod","getInvoiceState","getCustomer","invoiceAmount","replace","encodeURIComponent","link","document","createElement","setAttribute","click","state","invStat","method","pm","push","newVal","oldVal","sortBy","sortDesc","deep","itinerary","leg","refInFor","rates","onChange","shares","delete_","empty","legs","isDefault","taxRateId","range","v","l","addDefaultRate","filledLegs","emptyLegs","rateAT","find","self","extend","getMessage","validate","sum","reduce","acc","other","Array","isArray","otherName","otherVals","$refs","otherVal","VCheckbox","VAvatar","_b","change","$attrs","ItinerariesModule","_loading","_itineraries","_rates","context","commit","isFilled","isOutlined","doHideDetails","vValidate","search","country","select","old","queryText","itemText","toLowerCase","c","outlined","filled","hideDetails","findAllAsync","VListItem","VListItemContent","VList","VListItemTitle","address","required","Address","clearAndFetchAll","sortItems","sorting","customers","removeConfirmed","debounced","confirmDialog","VPagination","VProgressCircular","disabled","itineraryId","i","setDefaultItinerary","defaultItinerary","isHidden","rate","description","fetchItineraries","snacks","error","tmpRates","splice"],"mappings":"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","file":"js/app~21833f8f.f156bee3.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-layout',{attrs:{\"row\":\"\",\"justify-center\":\"\"}},[_c('rides-multiselect-dialog',{ref:\"ridesMultiselectDialog\",attrs:{\"invoice\":_vm.invoice,\"readonly\":_vm.invoice.isArchived},on:{\"select\":_vm.selectRides}}),_c('v-dialog',{attrs:{\"max-width\":\"800px\",\"fullscreen\":_vm.$vuetify.breakpoint.xsOnly},model:{value:(_vm.dialog),callback:function ($$v) {_vm.dialog=$$v},expression:\"dialog\"}},[_c('v-card',[_c('v-card-title',{staticClass:\"primary\"},[_c('span',{staticClass:\"white--text\"},[_vm._v(_vm._s(_vm.dialogTitle))])]),_c('v-card-text',{staticClass:\"primary\"},[_c('v-form',[_c('v-container',{attrs:{\"grid-list-md\":\"\"}},[_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('v-flex',{attrs:{\"xs12\":\"\",\"md6\":\"\"}},[_c('v-menu',{attrs:{\"close-on-content-click\":false,\"transition\":\"scale-transition\",\"offset-y\":\"\",\"min-width\":\"290px\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-text-field',_vm._g({attrs:{\"value\":_vm._f(\"date\")(_vm.date),\"label\":\"Datum\",\"readonly\":\"\",\"disabled\":_vm.invoice.isArchived,\"filled\":\"\",\"hide-details\":\"\"}},on))]}}]),model:{value:(_vm.datePickerMenu),callback:function ($$v) {_vm.datePickerMenu=$$v},expression:\"datePickerMenu\"}},[_c('v-date-picker',{attrs:{\"disabled\":_vm.invoice.isArchived,\"first-day-of-week\":\"1\"},on:{\"input\":function($event){_vm.datePickerMenu = false}},model:{value:(_vm.date),callback:function ($$v) {_vm.date=$$v},expression:\"date\"}})],1)],1),_c('v-flex',{attrs:{\"xs12\":\"\",\"md6\":\"\"}},[_c('v-text-field',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],attrs:{\"name\":\"ridesSelected\",\"label\":\"Aufträge\",\"readonly\":\"\",\"filled\":\"\",\"error-messages\":_vm.errors.collect('ridesSelected'),\"hide-details\":_vm.errors.collect('ridesSelected').length === 0,\"disabled\":_vm.invoice.isArchived},on:{\"click\":function($event){return _vm.openRideMultiselectDialog()}},model:{value:(_vm.jobNr),callback:function ($$v) {_vm.jobNr=$$v},expression:\"jobNr\"}})],1),_c('v-flex',{attrs:{\"xs12\":\"\",\"md6\":\"\"}},[_c('v-select',{attrs:{\"items\":_vm.invoiceStateItems,\"label\":\"Status\",\"item-value\":\"value\",\"item-text\":\"text\",\"filled\":\"\",\"hide-details\":\"\"},model:{value:(_vm.invoice.invoiceState),callback:function ($$v) {_vm.$set(_vm.invoice, \"invoiceState\", $$v)},expression:\"invoice.invoiceState\"}})],1),_c('v-flex',{attrs:{\"xs12\":\"\",\"md6\":\"\"}},[_c('v-select',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],attrs:{\"name\":\"paymentMethod\",\"items\":_vm.paymentMethodItems,\"label\":\"Zahlungsart\",\"item-value\":\"value\",\"item-text\":\"text\",\"filled\":\"\",\"error-messages\":_vm.errors.collect('paymentMethod'),\"hide-details\":_vm.errors.collect('paymentMethod').length === 0},model:{value:(_vm.invoice.paymentMethod),callback:function ($$v) {_vm.$set(_vm.invoice, \"paymentMethod\", $$v)},expression:\"invoice.paymentMethod\"}})],1),(_vm.isReminder)?_c('v-flex',{attrs:{\"xs12\":\"\",\"md6\":\"\"}},[_c('x-money-input',{staticClass:\"mt-0\",attrs:{\"name\":\"reminderCharges\",\"label\":\"Mahngebühren\",\"suffix\":\"€\",\"filled\":\"\",\"error-messages\":_vm.errors.collect('reminderCharges'),\"hide-details\":_vm.errors.collect('reminderCharges').length === 0},model:{value:(_vm.invoice.reminderCharges),callback:function ($$v) {_vm.$set(_vm.invoice, \"reminderCharges\", $$v)},expression:\"invoice.reminderCharges\"}})],1):_vm._e()],1)],1)],1)],1),_c('v-card-text',{staticClass:\"optional\"},[_c('v-form',[_c('v-container',{attrs:{\"grid-list-md\":\"\"}},[_c('h4',{staticClass:\"mt-4 mb-2\"},[_vm._v(\"Details\")]),_c('icon-block',{attrs:{\"icon-class\":\"icon icon-single-neutral\"}},[_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('v-flex',{attrs:{\"xs12\":\"\",\"md12\":\"\"}},[_c('customer-select',{attrs:{\"disabled\":_vm.invoice.isArchived},model:{value:(_vm.customer),callback:function ($$v) {_vm.customer=$$v},expression:\"customer\"}})],1)],1)],1),_c('remarks',{attrs:{\"disabled\":_vm.invoice.isArchived},model:{value:(_vm.invoice.remarks),callback:function ($$v) {_vm.$set(_vm.invoice, \"remarks\", $$v)},expression:\"invoice.remarks\"}})],1)],1)],1),_c('v-card-actions',{staticClass:\"px-5 pb-5\"},[(_vm.editMode)?_c('v-btn',{attrs:{\"depressed\":\"\",\"color\":\"accent\"},on:{\"click\":function($event){return _vm.openInvoicePreview()}}},[_vm._v(\"Rechnung\")]):_vm._e(),(_vm.invoice.invoiceState != 2 && _vm.invoice.invoiceState != 6)?_c('v-btn',{attrs:{\"depressed\":\"\"},on:{\"click\":function($event){return _vm.createCreditNote()}}},[_vm._v(\"Gutschrift\")]):_vm._e(),_c('v-spacer'),_c('v-btn',{staticClass:\"primary--text\",attrs:{\"text\":\"\"},on:{\"click\":function($event){return _vm.cancel()}}},[_vm._v(\"Abbrechen\")]),_c('v-btn',{attrs:{\"depressed\":\"\",\"color\":\"primary\",\"disabled\":_vm.errors.any()},on:{\"click\":function($event){return _vm.save(_vm.invoice)}}},[_vm._v(\"Speichern\")])],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Arrays from \"@/app/utils/arrays\";\r\nimport Dates from \"@/app/utils/dates\";\r\nimport Customer from \"@/customers/entities/customer\";\r\nimport customersService from \"@/customers/services/customers-service\";\r\nimport Invoice from \"@/invoices/models/invoice\";\r\nimport { InvoiceState } from \"@/invoices/models/invoice-state\";\r\nimport { PaymentMethod } from \"@/invoices/models/payment-method\";\r\nimport RidesMultiselectDialog from \"@/rides/components/rides-multiselect-dialog/rides-multiselect-dialog\";\r\nimport Ride from \"@/rides/models/ride\";\r\nimport ridesService from \"@/rides/services/rides-service\";\r\nimport cloneDeep from \"lodash/cloneDeep\";\r\nimport moment, { duration } from \"moment\";\r\nimport { Component, Prop, Ref, Vue } from \"vue-property-decorator\";\r\nimport Guid from \"@/app/utils/guid\";\r\nimport Rides from \"@/rides/utils/rides\";\r\nimport { RuleResult } from \"vee-validate\";\r\n\r\n@Component\r\nexport default class InvoicesDialog extends Vue {\r\n @Ref()\r\n private ridesMultiselectDialog!: RidesMultiselectDialog;\r\n\r\n private invoiceStateItems = [\r\n { value: InvoiceState.Pending, text: \"offen\" },\r\n { value: InvoiceState.Canceled, text: \"storniert\" },\r\n { value: InvoiceState.Paid, text: \"bezahlt\" },\r\n { value: InvoiceState.FirstDunning, text: \"erste Mahnung\" },\r\n { value: InvoiceState.SecondDunning, text: \"zweite Mahnung\" },\r\n { value: InvoiceState.ThirdDunning, text: \"dritte Mahnung\" },\r\n { value: InvoiceState.CreditNote, text: \"Gutschrift\" },\r\n ];\r\n\r\n private paymentMethodItems = [\r\n { value: PaymentMethod.Cash, text: \"Bar\" },\r\n { value: PaymentMethod.CreditCard, text: \"Kreditkarte\" },\r\n { value: PaymentMethod.Invoice, text: \"Rechnung\" },\r\n ];\r\n\r\n private dialog: boolean = false;\r\n private editMode: boolean = false;\r\n private invoice: Invoice = new Invoice();\r\n private customer: Customer | null = null;\r\n private selectedRides: Ride[] = [];\r\n\r\n private date = \"\";\r\n private datePickerMenu: boolean = false;\r\n\r\n private jobNr: string | null = null;\r\n\r\n private get dialogTitle(): string {\r\n return `${\r\n this.invoice.invoiceState == InvoiceState.CreditNote\r\n ? \"Gutschrift\"\r\n : \"Rechnung\"\r\n } ${this.invoice.isNew ? \"hinzufügen\" : \"bearbeiten\"} ${\r\n this.invoice.invoiceNo ? \"| \" + this.invoice.invoiceNo : \"\"\r\n }`;\r\n }\r\n\r\n get isReminder() {\r\n return (\r\n this.invoice.invoiceState == InvoiceState.FirstDunning ||\r\n this.invoice.invoiceState == InvoiceState.SecondDunning ||\r\n this.invoice.invoiceState == InvoiceState.ThirdDunning\r\n );\r\n }\r\n\r\n // get jobNr() {\r\n // if (this.selectedRides !== null) {\r\n // if (this.selectedRides.length < 2) {\r\n // return this.selectedRides\r\n // .map((r) => r.jobNr)\r\n // .join(', ')\r\n // }\r\n // return `Sammelrechnung (${this.selectedRides.length})`\r\n // }\r\n // return 'Aufträge auswählen'\r\n // }\r\n\r\n public async create(invoice?: Invoice) {\r\n this.invoice = invoice || new Invoice();\r\n this.setDate();\r\n this.customer = null;\r\n this.selectedRides = [];\r\n this.jobNr = null;\r\n this.dialog = true;\r\n this.editMode = false;\r\n this.$validator.reset();\r\n }\r\n\r\n public async createFromRide(ride: Ride) {\r\n var rides = [ride];\r\n\r\n this.invoice = new Invoice();\r\n this.setDate();\r\n this.customer = ride.customer;\r\n this.selectedRides = rides;\r\n this.jobNr = null;\r\n this.dialog = true;\r\n this.editMode = false;\r\n this.$validator.reset();\r\n this.jobNr = this.getJobDescription();\r\n }\r\n\r\n public async edit(invoice: Invoice) {\r\n this.invoice = cloneDeep(invoice);\r\n this.setDate();\r\n this.customer = invoice.customer;\r\n this.selectedRides = await this.loadRidesAsync(invoice.id);\r\n this.jobNr = this.getJobDescription();\r\n this.dialog = true;\r\n this.editMode = true;\r\n this.$validator.reset();\r\n }\r\n\r\n private loadCustomerAsync(customerId: string | null) {\r\n return customersService.findOneAsync(customerId);\r\n }\r\n\r\n private loadRidesAsync(invoiceId: string) {\r\n return ridesService.findAllForInvoiceAsync(invoiceId);\r\n }\r\n\r\n private openRideMultiselectDialog() {\r\n this.ridesMultiselectDialog.open(this.selectedRides);\r\n }\r\n\r\n private getJobDescription() {\r\n if (this.selectedRides !== null) {\r\n if (this.selectedRides.length === 0) {\r\n return null;\r\n }\r\n if (this.selectedRides.length < 2) {\r\n const jobs = this.selectedRides.map((r) => r.jobNr).join(\", \");\r\n\r\n if (jobs) {\r\n return jobs;\r\n }\r\n return `Auftrag (${this.selectedRides.length})`;\r\n }\r\n return `Sammelrechnung (${this.selectedRides.length})`;\r\n }\r\n return null;\r\n }\r\n\r\n private selectRides(selected: Ride[]) {\r\n this.selectedRides = selected;\r\n this.jobNr = this.getJobDescription();\r\n if (this.customer === null) {\r\n if (this.haveSameCustomer(selected)) {\r\n this.customer = selected[0].customer;\r\n }\r\n }\r\n }\r\n\r\n private haveSameCustomer(selected: Ride[]) {\r\n if (selected.length > 0) {\r\n const customer = selected[0].customer;\r\n if (customer) {\r\n return selected.every(\r\n (r) => r.customer && r.customer.id === customer.id\r\n );\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n private openInvoicePreview() {\r\n this.$emit(\"preview\", this.invoice);\r\n this.dialog = false;\r\n }\r\n\r\n private createCreditNote() {\r\n if (\r\n confirm(\r\n \"Möchten Sie wirklich eine Gutschrift für diese Rechnung erstellen? Die Rechnung kann anschließend nicht mehr geändert werden und bekommt den Status storniert.\"\r\n )\r\n ) {\r\n this.$emit(\"createCreditNote\", this.invoice);\r\n }\r\n this.dialog = false;\r\n }\r\n\r\n private async save() {\r\n if (await this.$validator.validateAll()) {\r\n if (this.customer) {\r\n this.invoice.customerId = this.customer.id;\r\n }\r\n\r\n // Set the invoice date.\r\n this.invoice.date = this.date;\r\n\r\n // Rides that already exist in the DB will be assigned their IDs to rides.\r\n this.invoice.rides = this.selectedRides\r\n .filter((r) => r.isTemplate === false)\r\n .map((r) => r.id);\r\n\r\n // Non-existing Rides need to be created beforehand.\r\n // Turn a recurring ride into a regular ride.\r\n this.invoice.ridesToCreate = this.selectedRides\r\n .filter((r) => r.isTemplate)\r\n .map(Rides.toRegularRide);\r\n\r\n // set reminderCharges = 0 if not reminder\r\n if (!this.isReminder) {\r\n this.invoice.reminderCharges = 0;\r\n }\r\n\r\n // Copy their IDs\r\n this.$emit(this.editMode ? \"update\" : \"save\", this.invoice);\r\n this.dialog = false;\r\n }\r\n }\r\n\r\n private cancel() {\r\n this.$emit(\"cancel\");\r\n this.dialog = false;\r\n }\r\n\r\n private setDate() {\r\n const mom = moment(this.invoice.date);\r\n this.date = mom.format(moment.HTML5_FMT.DATETIME_LOCAL_SECONDS);\r\n }\r\n\r\n // private created() {\r\n // const self = this\r\n\r\n // this.$validator.extend('requiresRides', {\r\n\r\n // getMessage(): string {\r\n // return 'Bitte wählen Sie mindestens einen Auftrag aus.'\r\n // },\r\n\r\n // validate(): RuleResult {\r\n // return self.selectedRides !== null && self.selectedRides.length > 0\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!./invoices-dialog.ts?vue&type=script&lang=js&\"; 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!./invoices-dialog.ts?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./invoices-dialog.vue?vue&type=template&id=3f411a9a&\"\nimport script from \"./invoices-dialog.ts?vue&type=script&lang=js&\"\nexport * from \"./invoices-dialog.ts?vue&type=script&lang=js&\"\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\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDatePicker } from 'vuetify/lib/components/VDatePicker';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VFlex } from 'vuetify/lib/components/VGrid';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VLayout } from 'vuetify/lib/components/VGrid';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardText,VCardTitle,VContainer,VDatePicker,VDialog,VFlex,VForm,VLayout,VMenu,VSelect,VSpacer,VTextField})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"dashboard\"},[(_vm.contractExpired && _vm.$auth.isInRole('TENANT'))?_c('v-alert',{attrs:{\"type\":\"error\"}},[_vm._v(\" Ihr Vertrag ist abgelaufen. \"),_c('a',{attrs:{\"href\":'mailto:mobil@wktirol.at?subject=Vertrag%20f%C3%BCr%20Mitglied%20Nr.%20' +\n _vm.membershipNumber}},[_vm._v(\"Bitte kontaktieren Sie uns ehestmöglich.\")])]):_vm._e(),(_vm.contractExpiringWithoutAutoRenew && _vm.$auth.isInRole('TENANT'))?_c('v-alert',{attrs:{\"type\":\"warning\"}},[_vm._v(\" Ihr Vertrag läuft in \"+_vm._s(_vm.daysUntilExpiration)+\" Tagen ab und wird nicht automatisch verlängert. Falls Sie das System weiterhin nutzen möchten, \"),_c('a',{attrs:{\"href\":'mailto:mobil@wktirol.at?subject=Vertrag%20f%C3%BCr%20Mitglied%20Nr.%20' +\n _vm.membershipNumber}},[_vm._v(\"kontaktieren Sie uns bitte\")]),_vm._v(\" vor Ablauf des Vertrags. Oder \"),_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":_vm.enableContractAutoRenewal}},[_vm._v(\"klicken Sie hier\")]),_vm._v(\", um Ihren Vertrag auf automatische Verlängerung umzustellen. \")]):_vm._e(),(_vm.contractExpiringWithAutoRenew && _vm.$auth.isInRole('TENANT'))?_c('v-alert',{attrs:{\"type\":\"info\"}},[_vm._v(\"Ihr Vertrag läuft in \"+_vm._s(_vm.daysUntilExpiration)+\" Tagen ab und wird dann automatisch verlängert.\")]):_vm._e(),_c('v-container',{attrs:{\"fluid\":\"\",\"grid-list-lg\":\"\",\"pa-0\":\"\"}},[_c('v-layout',{attrs:{\"wrap\":\"\"}},[_c('v-flex',{class:{ md6: _vm.$auth.isTenant, md12: _vm.$auth.isDriver },attrs:{\"sm12\":\"\"}},[_c('rides-time-table',{attrs:{\"title\":\"Auftragsübersicht\",\"loading-itineraries\":_vm.itinerariesLoading,\"itineraries\":_vm.itineraries,\"loading\":_vm.loading,\"rides\":_vm.shift,\"count\":_vm.shift.length,\"period\":_vm.periodShift,\"action-title\":\"Heute\",\"action\":_vm.gotoToday,\"action2-title\":\"Auftragsübersicht drucken\",\"loading-action2\":_vm.loadingPrint,\"action2\":_vm.print,\"icon\":\"icon-notes-book\",\"date-selection-disabled\":\"\"},on:{\"update:period\":[function($event){_vm.periodShift=$event},_vm.fetchShift],\"save\":_vm.save,\"update\":_vm.update,\"remove\":_vm.remove}})],1),(_vm.$auth.isTenant)?_c('v-flex',{attrs:{\"sm12\":\"\",\"md6\":\"\"}},[_c('rides-time-table',{attrs:{\"title\":\"Abzurechnende Aufträge\",\"loading-itineraries\":_vm.itinerariesLoading,\"itineraries\":_vm.itineraries,\"loading\":_vm.loading,\"rides\":_vm.open,\"count\":_vm.open.length,\"page-size\":5,\"icon\":\"icon-loading-circle-1\"},on:{\"save\":_vm.save,\"update\":_vm.update,\"remove\":_vm.remove}})],1):_vm._e()],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Period from '@/common/components/periods/period'\r\nimport ItinerariesMixin from '@/itineraries/mixins/itineraries-mixin'\r\nimport Ride from '@/rides/models/ride'\r\nimport tenantService from '@/tenants/services/tenants-service'\r\nimport ridesCalendarService from '@/rides/services/rides-calendar-service'\r\nimport ridesReportsService from '@/rides/services/rides-reports-service'\r\nimport ridesService from '@/rides/services/rides-service'\r\nimport moment from 'moment'\r\nimport { Component, Mixins, Vue } from 'vue-property-decorator'\r\nimport Dates from '@/app/utils/dates'\r\n\r\n@Component\r\nexport default class Dashboard extends Mixins(ItinerariesMixin) {\r\n\r\n private loading = false\r\n private loadingPrint = false\r\n private contractExpired = false\r\n private contractExpiringWithoutAutoRenew = false\r\n private contractExpiringWithAutoRenew = false\r\n private daysUntilExpiration = 0\r\n private membershipNumber = \"\"\r\n\r\n private shift: Ride[] = []\r\n private open: Ride[] = []\r\n\r\n private periodShift: Period = new Period()\r\n private periodOpen: Period = new Period()\r\n\r\n public async fetchAll() {\r\n this.loading = true\r\n await this.fetchShift()\r\n await this.fetchOpen()\r\n this.loading = false\r\n }\r\n\r\n private async fetchShift() {\r\n this.shift = await ridesCalendarService.findShiftAsync(this.periodShift)\r\n }\r\n\r\n private async fetchOpen() {\r\n this.open = await ridesCalendarService.findOpenAsync(this.periodOpen)\r\n }\r\n\r\n private async print() {\r\n this.loadingPrint = true\r\n const start = moment(this.periodShift.start)\r\n const end = moment(this.periodShift.end)\r\n const pdfUrl = await ridesReportsService.generateRidesPdfAsync(start, end)\r\n window.open(pdfUrl)\r\n this.loadingPrint = false\r\n }\r\n\r\n private async gotoToday() {\r\n this.initPeriodShift()\r\n await this.fetchAll()\r\n }\r\n\r\n private async save(ride: Ride) {\r\n await ridesService.createAsync(ride)\r\n await this.fetchAll()\r\n }\r\n\r\n private async update(ride: Ride) {\r\n if (this.$auth.isDriver) {\r\n await ridesService.updateRemarksAsync(ride)\r\n } else {\r\n await ridesService.updateAsync(ride)\r\n }\r\n await this.fetchAll()\r\n }\r\n\r\n private async remove(ride: Ride) {\r\n await ridesService.deleteAsync(ride.id)\r\n await this.fetchAll()\r\n }\r\n\r\n private async enableContractAutoRenewal() {\r\n await tenantService.updateHasAutoRenewalContract(true)\r\n this.contractExpiringWithoutAutoRenew = false\r\n this.contractExpiringWithAutoRenew = true\r\n }\r\n\r\n private initPeriodShift() { \r\n this.periodShift.start = moment().startOf('day').toISOString(true)\r\n this.periodShift.end = moment().startOf('day').add(2, 'days').toISOString(true)\r\n }\r\n\r\n private async mounted() {\r\n const tenant = await tenantService.getCurrent()\r\n this.initPeriodShift()\r\n await this.fetchAll()\r\n }\r\n\r\n private async created() {\r\n this.periodOpen.start = moment().subtract(1, 'years').format('YYYY-MM-DD')\r\n this.periodOpen.end = moment().format('YYYY-MM-DD')\r\n\r\n this.periodShift.timeIncluded = true\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!./dashboard.ts?vue&type=script&lang=js&\"; 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!./dashboard.ts?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./dashboard.vue?vue&type=template&id=3a971ae4&\"\nimport script from \"./dashboard.ts?vue&type=script&lang=js&\"\nexport * from \"./dashboard.ts?vue&type=script&lang=js&\"\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\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAlert } from 'vuetify/lib/components/VAlert';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VFlex } from 'vuetify/lib/components/VGrid';\nimport { VLayout } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VAlert,VContainer,VFlex,VLayout})\n","export const enum InvoiceState {\r\n Pending = 0,\r\n Paid = 1,\r\n Canceled = 2,\r\n FirstDunning = 3,\r\n SecondDunning = 4,\r\n ThirdDunning = 5,\r\n CreditNote = 6,\r\n Settled = 7,\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.invoiceState !== null)?_c('v-chip',{staticClass:\"invoice-badge white--text\",attrs:{\"small\":\"\",\"color\":_vm.invoiceColor}},[_vm._v(_vm._s(_vm.invoiceText))]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Invoice from '@/invoices/models/invoice'\r\nimport { InvoiceState } from '@/invoices/models/invoice-state'\r\nimport { PaymentMethod } from '@/invoices/models/payment-method'\r\nimport { Component, Mixins, Prop, Vue, Watch } from 'vue-property-decorator'\r\n\r\n@Component\r\nexport default class InvoiceBadge extends Vue {\r\n\r\n @Prop()\r\n private invoiceState!: InvoiceState\r\n\r\n @Prop()\r\n private paymentMethod!: PaymentMethod\r\n\r\n get invoiceText() {\r\n switch (this.invoiceState) {\r\n case InvoiceState.Pending:\r\n return 'offen'\r\n case InvoiceState.Paid:\r\n switch (this.paymentMethod) {\r\n case PaymentMethod.Cash:\r\n return 'Bargeld'\r\n case PaymentMethod.CreditCard:\r\n return 'Kreditkarte'\r\n case PaymentMethod.Invoice:\r\n return 'Rechnung'\r\n case PaymentMethod.DirectBilling:\r\n return 'Direktverr.'\r\n default:\r\n return 'bezahlt'\r\n }\r\n case InvoiceState.Canceled:\r\n return 'storniert'\r\n case InvoiceState.FirstDunning:\r\n return '1. Mahnung'\r\n case InvoiceState.SecondDunning:\r\n return '2. Mahnung'\r\n case InvoiceState.ThirdDunning:\r\n return '3. Mahnung'\r\n case InvoiceState.CreditNote:\r\n return 'Gutschrift'\r\n default:\r\n return 'unbekannt'\r\n }\r\n }\r\n\r\n get invoiceColor() {\r\n switch (this.invoiceState) {\r\n case InvoiceState.Pending:\r\n return '#FF4848'\r\n case InvoiceState.Paid:\r\n switch (this.paymentMethod) {\r\n case PaymentMethod.Cash:\r\n return 'primary'\r\n case PaymentMethod.CreditCard:\r\n return '#1A9115'\r\n case PaymentMethod.Invoice:\r\n return '#1A9115'\r\n default:\r\n return '#1A9115'\r\n }\r\n case InvoiceState.Canceled:\r\n return '#B0B1B3'\r\n case InvoiceState.FirstDunning:\r\n return '#FF4848'\r\n case InvoiceState.SecondDunning:\r\n return '#FF4848'\r\n case InvoiceState.ThirdDunning:\r\n return '#FF4848'\r\n default:\r\n return '#B0B1B3'\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!./invoice-badge.ts?vue&type=script&lang=js&\"; 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!./invoice-badge.ts?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./invoice-badge.vue?vue&type=template&id=04c9427e&\"\nimport script from \"./invoice-badge.ts?vue&type=script&lang=js&\"\nexport * from \"./invoice-badge.ts?vue&type=script&lang=js&\"\nimport style0 from \"./invoice-badge.vue?vue&type=style&index=0&lang=sass&\"\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\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VChip } from 'vuetify/lib/components/VChip';\ninstallComponents(component, {VChip})\n","import store from '@/app/store'\r\nimport ItinerariesModule from '@/itineraries/store/itineraries-module'\r\nimport { Component, Mixins, Prop, Vue, Watch } from 'vue-property-decorator'\r\nimport { getModule } from 'vuex-module-decorators'\r\n\r\n@Component\r\nexport default class ItinerariesMixin extends Vue {\r\n\r\n private itinerariesModule = getModule(ItinerariesModule, store)\r\n\r\n get itinerariesLoading() {\r\n return this.itinerariesModule.loading\r\n }\r\n\r\n get itineraries() {\r\n return this.itinerariesModule.itineraries\r\n }\r\n}\r\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./itinerary-dialog.vue?vue&type=style&index=0&lang=sass&\"","import axios from \"@/app/axios\";\r\nimport Responses from \"@/app/utils/responses\";\r\nimport PaginationRequest from \"@/common/components/pagination/pagination-request\";\r\nimport PaginationResponse from \"@/common/components/pagination/pagination-response\";\r\nimport CrudService from \"@/common/services/crud-service\";\r\nimport Invoice from \"@/invoices/models/invoice\";\r\nimport InvoiceFilter from \"@/invoices/models/invoice-filter\";\r\n\r\nclass InvoicesService extends CrudService {\r\n public async generatePdfAsync(id: string) {\r\n const url = `${this.resource}/${id}/pdf`;\r\n const pdf = await axios.get(url);\r\n return Responses.obj(pdf);\r\n }\r\n public async getPdfAsync(id: string) {\r\n const url = `${this.resource}/${id}/getpdf`;\r\n const pdf = await axios.get(url);\r\n return Responses.obj(pdf);\r\n }\r\n\r\n public async getPdf(id: string) {\r\n const url = `${this.resource}/getpdf2?id=${id}`;\r\n const pdf = await axios.get(url);\r\n return Responses.obj(pdf);\r\n }\r\n\r\n public async filterAllAsync(\r\n filter: InvoiceFilter,\r\n paging: PaginationRequest\r\n ) {\r\n const res = await axios.post>(this.resource, {\r\n filter: filter,\r\n paging: paging,\r\n });\r\n return Responses.pagedList(res);\r\n }\r\n}\r\n\r\nexport default new InvoicesService(\"invoices\");\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-data-table',{staticClass:\"elevation-0\",attrs:{\"loading\":_vm.loading,\"headers\":_vm.headers,\"items\":_vm.invoices,\"options\":_vm.pPagination,\"server-items-length\":_vm.pPagination.totalItems,\"footer-props\":{ itemsPerPageText: 'Zeilen:' }},on:{\"update:options\":function($event){_vm.pPagination=$event},\"click:row\":_vm.onClick},scopedSlots:_vm._u([{key:\"item.date\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(_vm._s(_vm._f(\"dateTime\")(item.date)))]}},{key:\"item.customer\",fn:function(ref){\nvar item = ref.item;\nreturn [(item.customer)?_c('div',[_c('customer-name',{model:{value:(item.customer),callback:function ($$v) {_vm.$set(item, \"customer\", $$v)},expression:\"item.customer\"}})],1):_vm._e()]}},{key:\"item.state\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('invoice-badge',{attrs:{\"invoice-state\":item.invoiceState,\"payment-method\":item.paymentMethod}})]}},{key:\"item.kind\",fn:function(ref){\nvar item = ref.item;\nreturn [(item.rides.length === 1)?_c('v-icon',[_vm._v(\"crop_square\")]):_c('v-icon',[_vm._v(\"filter_none\")])]}},{key:\"item.cost\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(_vm._s(_vm._f(\"money\")(item.amount || item.cost)))]}}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import PagedMixin from \"@/app/mixins/paged-mixin\";\r\nimport Invoice from \"@/invoices/models/invoice\";\r\nimport { Component, Mixins, Prop, Vue, Watch } from \"vue-property-decorator\";\r\n\r\n@Component\r\nexport default class InvoicesTable extends Mixins(PagedMixin) {\r\n @Prop({ type: Boolean, default: false })\r\n public loading!: boolean;\r\n\r\n @Prop({ default: () => [] })\r\n public invoices!: Invoice[];\r\n\r\n @Watch(\"invoices\")\r\n private invoicesChanged() {\r\n if (\r\n this.pPagination.totalItems <\r\n (this.pPagination.page - 1) * this.pPagination.itemsPerPage\r\n ) {\r\n this.pPagination.page = 1;\r\n }\r\n }\r\n\r\n get headers() {\r\n return [\r\n { text: \"Rechnung\", value: \"invoiceNo\" },\r\n { text: \"Datum\", value: \"date\" },\r\n { text: \"Kunde\", value: \"customer\" },\r\n { text: \"Status\", value: \"state\" },\r\n { text: \"Art\", value: \"kind\", sortable: false },\r\n { text: \"Betrag\", value: \"cost\", sortable: false, align: \"right\" },\r\n { text: \"Strecke / Kommentar\", value: \"remarks\" },\r\n ];\r\n }\r\n\r\n private onClick(invoice: Invoice) {\r\n this.$emit(\"edit\", invoice);\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!./invoices-table.ts?vue&type=script&lang=js&\"; 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!./invoices-table.ts?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./invoices-table.vue?vue&type=template&id=3d2edd75&\"\nimport script from \"./invoices-table.ts?vue&type=script&lang=js&\"\nexport * from \"./invoices-table.ts?vue&type=script&lang=js&\"\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\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VDataTable,VIcon})\n","import axios from '@/app/axios'\r\nimport Responses from '@/app/utils/responses'\r\nimport TaxRate from '@/itineraries/models/tax-rate'\r\n\r\nclass TaxRatesService {\r\n\r\n public async fetchAll() {\r\n const res = await axios.get('taxrates')\r\n return Responses.list(res)\r\n }\r\n}\r\n\r\nexport default new TaxRatesService()\r\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./invoice-preview.vue?vue&type=style&index=0&id=00c1650a&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"invoice-preview mb-4\"},[_c('x-confirm-dialog',{ref:\"printConfirmDialog\",attrs:{\"title\":\"Achtung\",\"confirm-button-text\":\"Bestätigen\"},on:{\"confirm\":_vm.printConfirmed}},[_vm._v(\"Mit diser Aktion wird die Rechnung archiviert und kann nicht mehr bearbeitet werden. Wollen Sie fortfahren?\")]),_c('v-toolbar',{staticClass:\"px-0\",attrs:{\"flat\":\"\",\"color\":\"transparent\"}},[_c('v-btn',{attrs:{\"text\":\"\",\"icon\":\"\"},on:{\"click\":function($event){return _vm.back()}}},[_c('v-icon',[_vm._v(\"arrow_back\")])],1)],1),_c('v-sheet',{staticClass:\"mt-2 px-10 pt-10 pb-8\"},[_c('div',{staticClass:\"invoice\"},[_c('div',{staticClass:\"invoice--header\"},[_c('div',{staticClass:\"invoice--company\"},[_c('div',{staticClass:\"invoice--company-address\"},[_c('div',{staticClass:\"font-size-28\"},[_vm._v(_vm._s(_vm.tenant.company))]),_c('address',{staticClass:\"font-size-13\"},[_c('div',[_vm._v(_vm._s(_vm.tenant.addressLine))]),_c('div',[_vm._v(_vm._s(_vm.tenant.countryId)+\"-\"+_vm._s(_vm.tenant.postalCode)+\" \"+_vm._s(_vm.tenant.city))]),_c('div',[_vm._v(\"Tel: \"+_vm._s(_vm.tenant.phone))]),_c('div',[_vm._v(\"E-Mail: \"+_vm._s(_vm.tenant.email))]),_c('div',[_vm._v(\"UID: \"+_vm._s(_vm.tenant.vat))])])]),_c('div',{staticClass:\"invoice--company-logo\"},[_c('img',{staticStyle:{\"max-width\":\"150px\",\"max-height\":\"100px\"},attrs:{\"src\":_vm.logoUrl}})])]),_c('div',{staticClass:\"invoice--title font-size-28\"},[_vm._v(_vm._s(_vm.invoice.invoiceState == 6 ? 'Gutschrift' : 'Rechnung'))])]),_c('div',{staticClass:\"invoice--customer rmt-5 font-size-13\"},[_c('div',{staticClass:\"invoice--customer-address\"},[_c('address',[_c('div',[_vm._v(_vm._s(_vm.customer.company))]),_c('div',[_vm._v(_vm._s(_vm.customer.firstName)+\" \"+_vm._s(_vm.customer.lastName))]),_c('div',[_vm._v(_vm._s(_vm.customer.addressLine))]),_c('div',[_vm._v(_vm._s(_vm.customer.countryId)+\"-\"+_vm._s(_vm.customer.postalCode)+\" \"+_vm._s(_vm.customer.city))]),(_vm.customer.vat)?_c('div',[_vm._v(\"UID: \"+_vm._s(_vm.customer.vat))]):_vm._e(),_c('div',[_vm._v(\"Kdnr. \"+_vm._s(_vm.customer.number))])])]),_c('div',{staticClass:\"invoice--meta align-right\"},[_c('div',{staticClass:\"invoice--meta-date\"},[_c('strong',[_vm._v(\"Datum:\")]),_vm._v(\" \"+_vm._s(_vm._f(\"date\")(_vm.invoice.date))+\" \")]),_c('div',{staticClass:\"invoice--meta-nr\"},[_c('strong',[_vm._v(\"Nummer:\")]),_vm._v(\" \"+_vm._s(_vm.invoice.invoiceNo)+\" \")])])]),_c('table',{staticClass:\"invoice--table\"},[_c('thead',[_c('tr',[_c('th',{staticStyle:{\"width\":\"140px\"}},[_vm._v(\"Auftrag\")]),_c('th',{staticStyle:{\"width\":\"60%\"}},[_vm._v(\"Strecke\")]),_c('th',[_vm._v(\"Datum\")]),_c('th',[_vm._v(\"Distanz\")]),_c('th',[_vm._v(\"Betrag\")])])]),_c('tbody',_vm._l((_vm.rides),function(ride){return _c('tr',{key:ride.id},[_c('td',[_vm._v(_vm._s(ride.jobNr))]),_c('td',[(ride.origin && ride.destination)?_c('span',[_vm._v(_vm._s(ride.origin)+\" - \"+_vm._s(ride.destination))]):_vm._e()]),_c('td',[_vm._v(_vm._s(_vm._f(\"date\")(ride.date)))]),_c('td',{staticStyle:{\"text-align\":\"right\"}},[(ride.distance)?_c('span',[_vm._v(_vm._s(ride.distance)+\" km\")]):_vm._e()]),_c('td',{staticStyle:{\"text-align\":\"right\"}},[_vm._v(_vm._s(_vm._f(\"money\")(ride.netCost)))])])}),0)]),_c('div',{staticClass:\"invoice--net-sum font-size-15 rmt-5 align-right\"},[_c('strong',[_vm._v(\"Zwischensumme:\")]),_vm._v(\" \"+_vm._s(_vm._f(\"money\")(_vm.invoice.stakes.netSum))+\" \")]),_c('div',{staticClass:\"invoice--tax font-size-15 align-right\"},[_vm._v(\"+ MWSt./USt: \"+_vm._s(_vm._f(\"money\")(_vm.invoice.stakes.taxSum)))]),(_vm.invoice.stakes.reminderCharges > 0)?_c('div',{staticClass:\"invoice--tax font-size-15 align-right\"},[_vm._v(\"+ Zahlungserinnerung: \"+_vm._s(_vm._f(\"money\")(_vm.invoice.stakes.reminderCharges)))]):_vm._e(),_c('div',{staticClass:\"invoice--sum font-size-28 align-right\"},[_c('strong',[_c('span',{staticClass:\"invoice--sum-title\"},[_vm._v(\"Summe:\")]),_vm._v(\" \"+_vm._s(_vm._f(\"money\")(_vm.invoice.stakes.totalSum))+\" \")])]),_c('table',{staticClass:\"stakes--table\"},[_c('thead',[_c('tr',[_c('th',[_vm._v(\"Steuer\")]),_c('th',{staticStyle:{\"width\":\"40%\"}},[_vm._v(\"Land\")]),_c('th',[_vm._v(\"Netto\")]),_c('th',[_vm._v(\"MWSt./USt\")]),_c('th',[_vm._v(\"Brutto\")])])]),_c('tbody',[_vm._l((_vm.invoice.stakes.shares),function(share,idx){return _c('tr',{key:idx},[_c('td',[_vm._v(_vm._s(share.taxRate * 100)+\"%\")]),_c('td',[_vm._v(_vm._s(share.countryName))]),_c('td',{staticClass:\"align-right\"},[_vm._v(_vm._s(_vm._f(\"money\")(share.netCost)))]),_c('td',{staticClass:\"align-right\"},[_vm._v(_vm._s(_vm._f(\"money\")(share.tax)))]),_c('td',{staticClass:\"align-right\"},[_vm._v(_vm._s(_vm._f(\"money\")(share.totalCost)))])])}),_c('tr',[_c('td'),_c('td'),_c('td',{staticClass:\"align-right\"},[_c('strong',[_vm._v(_vm._s(_vm._f(\"money\")(_vm.invoice.stakes.netSum)))])]),_c('td',{staticClass:\"align-right\"},[_c('strong',[_vm._v(_vm._s(_vm._f(\"money\")(_vm.invoice.stakes.taxSum)))])]),_c('td',{staticClass:\"align-right\"},[_c('strong',[_vm._v(_vm._s(_vm._f(\"money\")(_vm.invoice.stakes.totalSum)))])])])],2)]),_c('div',{staticClass:\"rmt-2\"},[_vm._v(_vm._s(_vm.invoice.remarks))]),_c('div',{staticClass:\"font-size-13 align-center rmt-2\"},[_c('div',[_vm._v(\"Bankverbindung: \"+_vm._s(_vm.tenant.bank))]),_c('div',[_vm._v(\"BIC: \"+_vm._s(_vm.tenant.bic)+\" | IBAN: \"+_vm._s(_vm.tenant.iban))])])]),_c('v-toolbar',{staticClass:\"px-0 mt-4\",attrs:{\"flat\":\"\",\"color\":\"transparent\"}},[_c('v-spacer'),_c('v-btn',{attrs:{\"depressed\":\"\",\"color\":\"accent\",\"loading\":_vm.generating},on:{\"click\":function($event){return _vm.print()}}},[_vm._v(\"Drucken\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import store from '@/app/store'\r\nimport Customer from '@/customers/entities/customer'\r\nimport customersService from '@/customers/services/customers-service'\r\nimport Invoice from '@/invoices/models/invoice'\r\nimport invoicesService from '@/invoices/services/invoices-service'\r\nimport Ride from '@/rides/models/ride'\r\nimport ridesService from '@/rides/services/rides-service'\r\nimport Tenant from '@/tenants/entities/tenant'\r\nimport tenantsService from '@/tenants/services/tenants-service'\r\nimport AuthModule from '@/users/store/auth-module'\r\nimport { Component, Mixins, Prop, Ref, Vue, Watch } from 'vue-property-decorator'\r\nimport { getModule } from 'vuex-module-decorators'\r\nimport XConfirmDialog from '@/common/components/x-confirm-dialog/x-confirm-dialog'\r\n\r\n@Component\r\nexport default class InvoicePreview extends Vue {\r\n\r\n @Prop()\r\n private invoiceId!: string\r\n\r\n @Ref()\r\n private printConfirmDialog!: XConfirmDialog\r\n\r\n private invoice: Invoice = new Invoice()\r\n private customer: Customer = new Customer()\r\n private tenant: Tenant = new Tenant()\r\n private rides: Ride[] = []\r\n private loading: boolean = false\r\n private generating = false\r\n private logoUrl = ''\r\n\r\n private async fetch(id: string) {\r\n this.loading = true\r\n const invoice = await invoicesService.findOneAsync(id)\r\n if (invoice) {\r\n this.invoice = invoice\r\n if (this.invoice.customer) {\r\n this.customer = this.invoice.customer\r\n }\r\n const tenant = await tenantsService.findOneAsync(this.invoice.tenantId)\r\n if (tenant) {\r\n this.tenant = tenant\r\n }\r\n this.rides = await ridesService.findAllForInvoiceAsync(id)\r\n }\r\n this.loading = false\r\n }\r\n\r\n private back() {\r\n this.$router.go(-1)\r\n }\r\n\r\n private async print() {\r\n if (this.invoice.isArchived) {\r\n this.printConfirmed()\r\n } else {\r\n this.printConfirmDialog.open()\r\n }\r\n }\r\n\r\n private async printConfirmed() {\r\n this.generating = true\r\n const pdfUrl = await invoicesService.generatePdfAsync(this.invoice.id)\r\n window.open(pdfUrl)\r\n // Rechnung neu laden. Sonst poppt der Dialog erneut auf.\r\n this.fetch(this.invoiceId)\r\n this.generating = false\r\n }\r\n\r\n private async send() {\r\n\r\n }\r\n\r\n private mounted() {\r\n this.fetch(this.invoiceId)\r\n\r\n const authModule = getModule(AuthModule, store)\r\n this.logoUrl = `${process.env.VUE_APP_API_URL}/tenants/logo?id=${authModule.tenant}&${new Date().getTime()}`\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!./invoice-preview.ts?vue&type=script&lang=js&\"; 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!./invoice-preview.ts?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./invoice-preview.vue?vue&type=template&id=00c1650a&scoped=true&\"\nimport script from \"./invoice-preview.ts?vue&type=script&lang=js&\"\nexport * from \"./invoice-preview.ts?vue&type=script&lang=js&\"\nimport style0 from \"./invoice-preview.vue?vue&type=style&index=0&id=00c1650a&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 \"00c1650a\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VBtn,VIcon,VSheet,VSpacer,VToolbar})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"categories\"},[_c('v-layout',[_c('v-row',{staticClass:\"mb-5\",attrs:{\"align\":\"center\",\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"lg\":\"4\",\"md\":\"4\",\"sm\":\"12\"}},[_c('v-btn',{staticClass:\"btn-fab-text\",attrs:{\"rounded\":\"\",\"color\":\"primary\"},on:{\"click\":_vm.create}},[_c('x-icon',{staticClass:\"mr-2\",attrs:{\"icon-class\":\"icon icon-add-2\"}}),_vm._v(\"Neue Kategorie \")],1)],1)],1)],1),_c('v-data-table',{staticClass:\"elevation-0\",attrs:{\"headers\":_vm.categoryHeaders,\"items\":_vm.categories,\"sort-by\":\"title\",\"footer-props\":{ itemsPerPageText: 'Zeilen:' }},scopedSlots:_vm._u([{key:\"item.action\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('v-icon',{staticClass:\"mr-2\",on:{\"click\":function($event){return _vm.editCategory(item)}}},[_vm._v(\"edit\")]),_c('v-icon',{on:{\"click\":function($event){return _vm.deleteCategory(item)}}},[_vm._v(\"delete\")])]}},{key:\"no-data\",fn:function(){return [_vm._v(\" Keine Einträge \")]},proxy:true}])}),_c('v-dialog',{attrs:{\"max-width\":\"500px\"},model:{value:(_vm.categoryDialog),callback:function ($$v) {_vm.categoryDialog=$$v},expression:\"categoryDialog\"}},[_c('v-card',[_c('v-card-title',[_c('span',{staticClass:\"headline\"},[_vm._v(_vm._s(_vm.customerCategoryFormTitle))])]),_c('v-card-text',[_c('v-container',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"12\"}},[_c('v-text-field',{attrs:{\"label\":\"Name\"},model:{value:(_vm.editedCategory.title),callback:function ($$v) {_vm.$set(_vm.editedCategory, \"title\", $$v)},expression:\"editedCategory.title\"}})],1)],1)],1)],1),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"blue darken-1\",\"text\":\"\"},on:{\"click\":_vm.closeEditCategory}},[_vm._v(\"Abbrechen\")]),_c('v-btn',{attrs:{\"color\":\"blue darken-1\",\"text\":\"\"},on:{\"click\":_vm.saveEditCategory}},[_vm._v(\"Speichern\")])],1)],1)],1),_c('v-snackbar',{attrs:{\"timeout\":3000,\"color\":\"success\"},model:{value:(_vm.snackbarOpened),callback:function ($$v) {_vm.snackbarOpened=$$v},expression:\"snackbarOpened\"}},[_vm._v(\" \"+_vm._s(_vm.snackbarText)+\" \")])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Ref, Vue, Watch } from 'vue-property-decorator'\r\nimport customersService from '@/customers/services/customers-service'\r\nimport CustomerCategory from '@/customers/entities/customer-category'\r\n\r\n@Component\r\nexport default class Categories extends Vue {\r\n private categoryHeaders = [\r\n { text: 'Name', value: 'title' },\r\n { text: '', value: 'action', sortable: false, align: 'right' },\r\n ]\r\n private categoriesLoading = false\r\n private categoryDialog = false\r\n private categories: CustomerCategory[] = []\r\n private editedCategoryIndex = -1\r\n private editedCategory: CustomerCategory = new CustomerCategory\r\n\r\n private snackbarText = 'Erfolgreich gespeichert.'\r\n private snackbarOpened = false\r\n\r\n private async mounted() { \r\n this.fetchAllCategories() \r\n }\r\n\r\n private create() {\r\n this.categoryDialog = true;\r\n }\r\n\r\n private get customerCategoryFormTitle(): string {\r\n return this.editedCategoryIndex === -1 ? 'Neue Kategorie' : 'Kategorie bearbeiten'\r\n }\r\n\r\n private async fetchAllCategories() {\r\n this.categoriesLoading = true\r\n const response = await customersService.findAllCategoriesAsync()\r\n this.categories = response\r\n this.categoriesLoading = false\r\n }\r\n\r\n private editCategory(category: CustomerCategory) {\r\n this.editedCategoryIndex = this.categories.indexOf(category)\r\n this.editedCategory = Object.assign({}, category)\r\n this.categoryDialog = true\r\n }\r\n\r\n private async deleteCategory(category: CustomerCategory) {\r\n const index = this.categories.indexOf(category)\r\n if (confirm('Möchten Sie die Kategorie wirklich löschen?')) {\r\n await customersService.removeCategoryAsync(category.id)\r\n this.fetchAllCategories()\r\n }\r\n }\r\n\r\n private closeEditCategory() {\r\n this.categoryDialog = false\r\n this.editedCategoryIndex = -1\r\n this.editedCategory = new CustomerCategory()\r\n }\r\n\r\n private async saveEditCategory() {\r\n if (this.editedCategoryIndex > -1) {\r\n await customersService.updateCategoryAsync(this.editedCategory)\r\n } else {\r\n await customersService.saveCategoryAsync(this.editedCategory)\r\n }\r\n this.fetchAllCategories()\r\n this.closeEditCategory()\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!./categories.ts?vue&type=script&lang=js&\"; 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!./categories.ts?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./categories.vue?vue&type=template&id=6d10454c&\"\nimport script from \"./categories.ts?vue&type=script&lang=js&\"\nexport * from \"./categories.ts?vue&type=script&lang=js&\"\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\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VLayout } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSnackbar } from 'vuetify/lib/components/VSnackbar';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardText,VCardTitle,VCol,VContainer,VDataTable,VDialog,VIcon,VLayout,VRow,VSnackbar,VSpacer,VTextField})\n","import axios from '@/app/axios'\r\nimport Responses from '@/app/utils/responses'\r\nimport CrudService from '@/common/services/crud-service'\r\nimport Itinerary from '@/itineraries/models/itinerary'\r\n\r\nclass ItinerariesService extends CrudService {\r\n\r\n public async search(text: string) {\r\n const res = await axios.get(`${this.resource}/search`, {\r\n params: { text },\r\n })\r\n return Responses.list(res)\r\n }\r\n\r\n public async fetchAll() {\r\n const res = await axios.get(`${this.resource}/list`)\r\n return Responses.list(res)\r\n }\r\n}\r\n\r\nexport default new ItinerariesService('itineraries')\r\n","export const enum PaymentMethod {\r\n Cash = 0,\r\n CreditCard = 1,\r\n Invoice = 2,\r\n DirectBilling = 3,\r\n}\r\n","import Country from '@/locations/models/country'\r\n\r\nclass CountriesService {\r\n\r\n // TODO: Aus der DB laden.\r\n public findAllAsync(): Country[] {\r\n return [\r\n { code: 'AT', name: 'Österreich' },\r\n { code: 'DE', name: 'Deutschland' },\r\n { code: 'IT', name: 'Italien' },\r\n { code: 'LI', name: 'Liechtenstein' },\r\n { code: 'CH', name: 'Schweiz' },\r\n { code: 'SK', name: 'Slowakei' },\r\n { code: 'SI', name: 'Slowenien' },\r\n { code: 'CZ', name: 'Tschechien' },\r\n { code: 'HU', name: 'Ungarn' },\r\n ]\r\n }\r\n}\r\n\r\nexport default new CountriesService()\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"invoices\"},[_c('v-layout',[_c('v-row',{staticClass:\"mb-5\",attrs:{\"align\":\"center\",\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"6\",\"md\":\"3\"}},[_c('v-btn',{staticClass:\"btn-fab-text\",attrs:{\"rounded\":\"\",\"color\":\"primary\"},on:{\"click\":_vm.create}},[_c('x-icon',{staticClass:\"mr-2\",attrs:{\"icon-class\":\"icon icon-add-2\"}}),_vm._v(\"Neue Rechnung \")],1)],1),_c('v-col',{attrs:{\"cols\":\"6\",\"md\":\"3\"}},[_c('v-btn',{staticClass:\"btn-fab-text\",attrs:{\"rounded\":\"\",\"color\":\"primary\"},on:{\"click\":_vm.exportList}},[_vm._v(\" CSV herunterladen \")])],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('v-text-field',{directives:[{name:\"debounce\",rawName:\"v-debounce:500\",value:(_vm.fetchAll),expression:\"fetchAll\",arg:\"500\"}],staticClass:\"mr-md-5\",attrs:{\"hide-details\":\"\",\"append-icon\":\"search\",\"placeholder\":\"Suchen\",\"single-line\":\"\",\"clearable\":\"\"},on:{\"click:clear\":_vm.fetchAll},model:{value:(_vm.text),callback:function ($$v) {_vm.text=$$v},expression:\"text\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('invoice-state-select',{attrs:{\"hide-details\":\"\"},model:{value:(_vm.invoiceState),callback:function ($$v) {_vm.invoiceState=$$v},expression:\"invoiceState\"}})],1)],1)],1),_c('invoices-table',{attrs:{\"loading\":_vm.loading,\"invoices\":_vm.invoices,\"pagination\":_vm.pagination},on:{\"update:pagination\":function($event){_vm.pagination=$event},\"edit\":_vm.edit}}),_c('invoices-dialog',{ref:\"dialog\",on:{\"save\":_vm.save,\"update\":_vm.update,\"preview\":_vm.preview,\"createCreditNote\":_vm.createCreditNote}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { InvoiceState } from \"./invoice-state\";\r\n\r\nexport default class InvoiceFilter {\r\n public text: string = \"\";\r\n public status: InvoiceState | null = null;\r\n public excludestatus: InvoiceState | null = InvoiceState.Settled;\r\n}\r\n","import PaginationRequest from \"@/common/components/pagination/pagination-request\";\r\nimport InvoicesDialog from \"@/invoices/components/invoices-dialog/invoices-dialog\";\r\nimport Invoice from \"@/invoices/models/invoice\";\r\nimport invoicesService from \"@/invoices/services/invoices-service\";\r\nimport reportsService from \"@/reports/services/reports-service\";\r\nimport {\r\n Component,\r\n Mixins,\r\n Prop,\r\n Ref,\r\n Vue,\r\n Watch,\r\n} from \"vue-property-decorator\";\r\nimport InvoiceFilter from \"@/invoices/models/invoice-filter\";\r\nimport { InvoiceState } from \"../models/invoice-state\";\r\nimport { PaymentMethod } from \"@/invoices/models/payment-method\";\r\nimport Customer from \"@/customers/entities/customer\";\r\nimport moment from \"moment\";\r\n\r\n@Component\r\nexport default class Invoices extends Vue {\r\n @Prop()\r\n private invoiceId!: string;\r\n\r\n @Ref()\r\n private dialog!: InvoicesDialog;\r\n\r\n private text: string = \"\";\r\n private invoiceState: InvoiceState | null = null;\r\n\r\n private invoices: Invoice[] = [];\r\n private loading: boolean = false;\r\n\r\n private filter = new InvoiceFilter();\r\n\r\n private pagination = new PaginationRequest();\r\n\r\n private numberFormatter = new Intl.NumberFormat(\"de\", {\r\n minimumFractionDigits: 2,\r\n maximumFractionDigits: 2,\r\n useGrouping: false,\r\n });\r\n\r\n @Watch(\"text\")\r\n private textChanged(val: string) {\r\n this.filter.text = val;\r\n }\r\n\r\n @Watch(\"invoiceState\")\r\n private invoiceStateChanged(val: InvoiceState | null) {\r\n this.filter.status = val;\r\n this.fetchAll();\r\n }\r\n\r\n public async fetchAll() {\r\n this.loading = true;\r\n const response = await invoicesService.filterAllAsync(\r\n this.filter,\r\n this.pagination\r\n );\r\n this.invoices = response.items;\r\n this.pagination.totalItems = response.totalItems;\r\n this.loading = false;\r\n }\r\n\r\n public create() {\r\n this.dialog.create();\r\n }\r\n\r\n /**\r\n * exportList\r\n */\r\n public async exportList() {\r\n if (this.invoices.length === 0) {\r\n return;\r\n }\r\n let csvHeader =\r\n \"data:text/csv;charset=utf-8,\\uFEFFRechnung;Datum;Kunde;Status;Art;Betrag;Strecke/Kommentar\";\r\n\r\n let csvContent = '\\r\\n';\r\n\r\n const response = await invoicesService.filterAllAsync(\r\n this.filter,\r\n new PaginationRequest(4096)\r\n );\r\n let invoices = response.items;\r\n\r\n invoices.forEach((invoice) => {\r\n var kind =\r\n invoice.rides.length === 1 ? \"Einzelrechnung\" : \"Sammelrechnung\";\r\n var paymentMethod = this.getPaymentMethod(invoice.paymentMethod);\r\n var invoiceState = this.getInvoiceState(invoice.invoiceState);\r\n var customer = this.getCustomer(invoice.customer);\r\n var invoiceAmount = invoice.amount ? invoice.amount : invoice.cost;\r\n\r\n csvContent +=\r\n invoice.invoiceNo +\r\n \";\" +\r\n moment(invoice.date).format(\"YYYY-MM-DD HH:mm\") +\r\n \";\" +\r\n customer +\r\n \";\" +\r\n invoiceState +\r\n \";\" +\r\n paymentMethod +\r\n \" \" +\r\n kind +\r\n \";\" +\r\n this.numberFormatter.format(invoiceAmount) +\r\n \";\" +\r\n invoice.remarks.replace(\";\", \",\").replace(\"\\n\", \" \").replace(\"\\r\", \" \") +\r\n \"\\r\\n\";\r\n });\r\n\r\n csvContent = csvHeader + encodeURIComponent(csvContent);\r\n const link = document.createElement(\"a\");\r\n\r\n link.setAttribute(\"href\", csvContent);\r\n link.setAttribute(\"download\", \"Rechnungen.csv\");\r\n link.click();\r\n }\r\n\r\n private getCustomer(customer: Customer | null) {\r\n if (customer === null) {\r\n return \"unbekannt\";\r\n } else if (customer.firstName) {\r\n return customer.firstName + \" \" + customer.lastName;\r\n } else {\r\n return customer.company;\r\n }\r\n }\r\n\r\n private getInvoiceState(state: InvoiceState) {\r\n if (state === null) {\r\n return \"n/a\";\r\n }\r\n\r\n /*\r\n Pending = 0,\r\n Paid = 1,\r\n Canceled = 2,\r\n FirstDunning = 3,\r\n SecondDunning = 4,\r\n ThirdDunning = 5,\r\n CreditNote = 6,\r\n Settled = 7\r\n */\r\n let invStat: number = state;\r\n switch (invStat) {\r\n case 0:\r\n return \"Offen\";\r\n case 1:\r\n return \"Bezahlt\";\r\n case 2:\r\n return \"Storniert\";\r\n case 3:\r\n return \"1.Mahnung\";\r\n case 4:\r\n return \"2.Mahnung\";\r\n case 5:\r\n return \"3.Mahnung\";\r\n case 6:\r\n return \"Gutschrift\";\r\n case 7:\r\n return \"Verrechnet\";\r\n }\r\n }\r\n\r\n private getPaymentMethod(method: PaymentMethod | null) {\r\n // Cash = 0,\r\n // CreditCard = 1,\r\n // Invoice = 2,\r\n // DirectBilling = 3,\r\n\r\n if (method === null) {\r\n return \"n/a\";\r\n }\r\n\r\n let pm: number = method;\r\n\r\n switch (pm) {\r\n case 0:\r\n return \"Barzahlung\";\r\n\r\n case 1:\r\n return \"Kreditkarte\";\r\n\r\n case 2:\r\n return \"Rechnung\";\r\n\r\n case 3:\r\n return \"Direktzahlung\";\r\n\r\n default:\r\n return \"n/a\";\r\n }\r\n }\r\n\r\n public edit(invoice: Invoice) {\r\n this.dialog.edit(invoice);\r\n }\r\n\r\n public async save(invoice: Invoice) {\r\n await invoicesService.createAsync(invoice);\r\n await this.fetchAll();\r\n }\r\n\r\n public async update(invoice: Invoice) {\r\n await invoicesService.updateAsync(invoice);\r\n await this.fetchAll();\r\n }\r\n\r\n public async preview(invoice: Invoice) {\r\n this.$router.push({ name: \"invoice\", params: { invoiceId: invoice.id } });\r\n }\r\n\r\n public async createCreditNote(invoice: Invoice) {\r\n await invoicesService.createCreditNote(invoice);\r\n await this.fetchAll();\r\n }\r\n\r\n @Watch(\"pagination\", { deep: true })\r\n private async paginationChanged(\r\n newVal: PaginationRequest,\r\n oldVal: PaginationRequest\r\n ) {\r\n if (newVal !== oldVal) {\r\n await this.fetchAll();\r\n }\r\n }\r\n\r\n private created() {\r\n this.pagination.sortBy = [\"date\"];\r\n this.pagination.sortDesc = [true];\r\n }\r\n\r\n private async mounted() {\r\n if (this.invoiceId) {\r\n const invoice = await invoicesService.findOneAsync(this.invoiceId);\r\n if (invoice) {\r\n this.edit(invoice);\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!./invoices.ts?vue&type=script&lang=js&\"; 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!./invoices.ts?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./invoices.vue?vue&type=template&id=9f0bdd50&\"\nimport script from \"./invoices.ts?vue&type=script&lang=js&\"\nexport * from \"./invoices.ts?vue&type=script&lang=js&\"\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\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VLayout } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VBtn,VCol,VLayout,VRow,VTextField})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-layout',{attrs:{\"row\":\"\",\"justify-center\":\"\"}},[_c('v-dialog',{attrs:{\"max-width\":\"800px\",\"fullscreen\":_vm.$vuetify.breakpoint.xsOnly},model:{value:(_vm.dialog),callback:function ($$v) {_vm.dialog=$$v},expression:\"dialog\"}},[_c('v-card',[_c('v-card-title',{staticClass:\"primary\"},[_c('span',{staticClass:\"white--text\"},[_vm._v(\"Steuersatz \"+_vm._s(_vm.itinerary.isNew ? 'hinzufügen' : 'bearbeiten'))])]),_c('v-card-text',{staticClass:\"primary\"},[_c('v-form',[_c('v-container',{attrs:{\"grid-list-md\":\"\"}},[_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('v-flex',{attrs:{\"xs12\":\"\",\"md4\":\"\"}},[_c('v-text-field',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],attrs:{\"name\":\"name\",\"label\":\"Name\",\"filled\":\"\",\"error-messages\":_vm.errors.collect('name'),\"hide-details\":_vm.errors.collect('name').length === 0},model:{value:(_vm.itinerary.name),callback:function ($$v) {_vm.$set(_vm.itinerary, \"name\", $$v)},expression:\"itinerary.name\"}})],1),_vm._l((_vm.itinerary.legs),function(leg,idx){return [_c('v-flex',{key:'rate-' + idx,attrs:{\"xs12\":\"\",\"md5\":\"\",\"offset-md4\":idx > 0}},[_c('v-select',{ref:'rate' + idx,refInFor:true,attrs:{\"name\":'rate-' + idx,\"items\":_vm.rates,\"item-text\":\"displayName\",\"item-value\":\"id\",\"label\":\"Land/Steuersatz\",\"filled\":\"\",\"hide-details\":\"\"},on:{\"change\":_vm.onChange},model:{value:(leg.taxRateId),callback:function ($$v) {_vm.$set(leg, \"taxRateId\", $$v)},expression:\"leg.taxRateId\"}})],1),_c('v-flex',{key:'share-' + idx,attrs:{\"xs12\":\"\",\"md3\":\"\"}},[_c('v-select',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('sum100|requiredCountry:' + 'rate' + idx),expression:\"'sum100|requiredCountry:' + 'rate' + idx\"}],attrs:{\"name\":'share-' + idx,\"items\":_vm.shares,\"label\":\"Anteil\",\"filled\":\"\",\"error-messages\":_vm.errors.collect('share-' + idx),\"hide-details\":_vm.errors.collect('share-' + idx).length === 0},on:{\"change\":_vm.onChange},model:{value:(leg.share),callback:function ($$v) {_vm.$set(leg, \"share\", $$v)},expression:\"leg.share\"}})],1)]})],2)],1)],1)],1),_c('v-card-text',{staticClass:\"optional\"},[_c('v-form',[_c('v-container',{attrs:{\"grid-list-md\":\"\"}},[_c('h4',{staticClass:\"mt-4 mb-2\"},[_vm._v(\"Details\")]),_c('orig-dst',{attrs:{\"origin\":_vm.itinerary.origin,\"destination\":_vm.itinerary.destination},on:{\"update:origin\":function($event){return _vm.$set(_vm.itinerary, \"origin\", $event)},\"update:destination\":function($event){return _vm.$set(_vm.itinerary, \"destination\", $event)}}}),_c('remarks',{model:{value:(_vm.itinerary.remarks),callback:function ($$v) {_vm.$set(_vm.itinerary, \"remarks\", $$v)},expression:\"itinerary.remarks\"}}),_c('v-layout',{attrs:{\"row\":\"\"}},[_c('v-flex',[_c('v-checkbox',{attrs:{\"hide-details\":\"\",\"label\":\"Als Standard festlegen\"},model:{value:(_vm.itinerary.isDefault),callback:function ($$v) {_vm.$set(_vm.itinerary, \"isDefault\", $$v)},expression:\"itinerary.isDefault\"}})],1)],1)],1)],1)],1),_c('v-card-actions',[_c('v-btn',{attrs:{\"color\":\"error\"},on:{\"click\":function($event){return _vm.delete_()}}},[_vm._v(\"Löschen\")]),_c('v-spacer'),_c('v-btn',{staticClass:\"primary--text\",attrs:{\"text\":\"\"},on:{\"click\":function($event){return _vm.cancel()}}},[_vm._v(\"Abbrechen\")]),_c('v-btn',{attrs:{\"depressed\":\"\",\"color\":\"primary\",\"disabled\":_vm.errors.any()},on:{\"click\":function($event){return _vm.save()}}},[_vm._v(\"Speichern\")])],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Guid from '@/app/utils/guid'\r\nimport ItineraryLeg from './itinerary-leg'\r\n\r\nexport default class Itinerary {\r\n\r\n public id: string = Guid.empty()\r\n public tenantId: string = Guid.empty()\r\n public name: string = ''\r\n public legs: ItineraryLeg[] = []\r\n public origin: string = ''\r\n public destination: string = ''\r\n public remarks: string = ''\r\n public isDefault: boolean = false\r\n\r\n public isNew() {\r\n return this.id === Guid.empty()\r\n }\r\n}\r\n","import Guid from '@/app/utils/guid'\r\nimport TaxRate from './tax-rate'\r\n\r\nexport default class ItineraryLeg {\r\n\r\n public id: string = Guid.empty()\r\n // public itineraryId: string = Guid.empty()\r\n public taxRateId: string = Guid.empty()\r\n public taxRate: TaxRate | null = null\r\n public share: number = 0\r\n}\r\n","import Arrays from '@/app/utils/arrays'\r\nimport Guid from '@/app/utils/guid'\r\nimport Itinerary from '@/itineraries/models/itinerary'\r\nimport ItineraryLeg from '@/itineraries/models/itinerary-leg'\r\nimport TaxRate from '@/itineraries/models/tax-rate'\r\nimport cloneDeep from 'lodash/cloneDeep'\r\nimport { RuleResult } from 'vee-validate'\r\nimport { Component, Prop, Vue } from 'vue-property-decorator'\r\n\r\n@Component\r\nexport default class ItineraryDialog extends Vue {\r\n\r\n @Prop({ default: () => [] })\r\n private rates!: TaxRate[]\r\n\r\n private shares = Arrays\r\n .range(21, 5)\r\n .map((v) => ({ text: `${v}%`, value: v }))\r\n\r\n private dialog: boolean = false\r\n private editMode: boolean = false\r\n private itinerary: Itinerary = new Itinerary()\r\n\r\n get filledLegs() {\r\n return this.itinerary.legs.filter((l) =>\r\n l.taxRateId && l.taxRateId !== Guid.empty())\r\n }\r\n\r\n public create(itinerary?: Itinerary) {\r\n this.itinerary = itinerary || new Itinerary()\r\n this.addDefaultRate(this.itinerary)\r\n this.dialog = true\r\n this.editMode = false\r\n this.$validator.reset()\r\n }\r\n\r\n public edit(itinerary: Itinerary) {\r\n this.itinerary = cloneDeep(itinerary)\r\n this.itinerary.legs.push(new ItineraryLeg())\r\n this.dialog = true\r\n this.editMode = true\r\n this.$validator.reset()\r\n }\r\n\r\n public async save() {\r\n if (await this.$validator.validateAll()) {\r\n this.itinerary.legs = this.filledLegs\r\n this.$emit(this.editMode ? 'update' : 'save', this.itinerary)\r\n this.dialog = false\r\n }\r\n }\r\n\r\n public delete_() {\r\n this.$emit('delete', this.itinerary)\r\n this.dialog = false\r\n }\r\n\r\n public cancel() {\r\n this.$emit('cancel')\r\n this.dialog = false\r\n }\r\n\r\n private async onChange() {\r\n const emptyLegs = this.itinerary.legs.filter((l) =>\r\n l.taxRateId === Guid.empty())\r\n if (emptyLegs.length === 0) {\r\n this.itinerary.legs.push(new ItineraryLeg())\r\n } else if (emptyLegs.length > 1) {\r\n this.itinerary.legs = this.filledLegs\r\n this.itinerary.legs.push(new ItineraryLeg())\r\n }\r\n await this.$validator.reset()\r\n await this.$validator.validateAll()\r\n }\r\n\r\n private addDefaultRate(itinerary: Itinerary) {\r\n const rateAT = this.rates.find((r) => r.countryId === 'AT')\r\n if (rateAT && itinerary.legs.length === 0) {\r\n const leg = new ItineraryLeg()\r\n leg.taxRateId = rateAT.id\r\n leg.taxRate = rateAT\r\n leg.share = 100\r\n this.itinerary.legs.push(leg)\r\n }\r\n }\r\n\r\n private created() {\r\n const self = this\r\n\r\n this.$validator.extend('sum100', {\r\n\r\n getMessage(): string {\r\n return 'Anteile müssen zusammen 100% ergeben.'\r\n },\r\n\r\n validate(): RuleResult {\r\n const sum = self.itinerary.legs.reduce((acc, l) => acc + l.share, 0)\r\n return sum === 100\r\n },\r\n })\r\n\r\n this.$validator.extend('requiredCountry', {\r\n\r\n getMessage(): string {\r\n return 'Land muss ausgewählt sein.'\r\n },\r\n\r\n validate(val, other): RuleResult {\r\n if (other && Array.isArray(other)) {\r\n const otherName = other[0] as string\r\n const otherVals = self.$refs[otherName]\r\n if (Array.isArray(otherVals)) {\r\n const otherVal = otherVals[0]\r\n // @ts-ignore\r\n return val === 0 || otherVal.value !== Guid.empty()\r\n }\r\n }\r\n return 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!./itinerary-dialog.ts?vue&type=script&lang=js&\"; 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!./itinerary-dialog.ts?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./itinerary-dialog.vue?vue&type=template&id=0a53ec10&\"\nimport script from \"./itinerary-dialog.ts?vue&type=script&lang=js&\"\nexport * from \"./itinerary-dialog.ts?vue&type=script&lang=js&\"\nimport style0 from \"./itinerary-dialog.vue?vue&type=style&index=0&lang=sass&\"\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\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VFlex } from 'vuetify/lib/components/VGrid';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VLayout } from 'vuetify/lib/components/VGrid';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardText,VCardTitle,VCheckbox,VContainer,VDialog,VFlex,VForm,VLayout,VSelect,VSpacer,VTextField})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-data-table',{staticClass:\"elevation-0\",attrs:{\"loading\":_vm.loading,\"headers\":_vm.headers,\"items\":_vm.itineraries,\"options\":_vm.pPagination,\"server-items-length\":_vm.pPagination.totalItems,\"footer-props\":{ itemsPerPageText: 'Zeilen:' }},on:{\"update:options\":function($event){_vm.pPagination=$event},\"click:row\":_vm.onClick},scopedSlots:_vm._u([{key:\"item.standard\",fn:function(ref){\nvar item = ref.item;\nreturn [(item.isDefault)?_c('v-icon',[_vm._v(\"star\")]):_vm._e()]}},{key:\"item.country\",fn:function(ref){\nvar item = ref.item;\nreturn _vm._l((item.legs),function(leg,idx){return _c('v-chip',{key:idx,staticClass:\"mx-1\",staticStyle:{\"border-color\":\"#B0B1B3\"},attrs:{\"pill\":\"\",\"outlined\":\"\",\"small\":\"\"}},[_c('v-avatar',{staticClass:\"white--text\",attrs:{\"left\":\"\",\"color\":\"#B0B1B3\"}},[_vm._v(_vm._s(leg.taxRate.countryId))]),_vm._v(\" \"+_vm._s(leg.share)+\" % \")],1)})}}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import PagedMixin from '@/app/mixins/paged-mixin'\r\nimport Itinerary from '@/itineraries/models/itinerary'\r\nimport { Component, Mixins, Prop, Vue, Watch } from 'vue-property-decorator'\r\n\r\n@Component\r\nexport default class ItinerariesTable extends Mixins(PagedMixin) {\r\n\r\n @Prop({ type: Boolean, default: false })\r\n public loading!: boolean\r\n\r\n @Prop({ default: () => [] })\r\n public itineraries!: Itinerary[]\r\n\r\n get headers() {\r\n return [\r\n { text: 'Standard', value: 'standard', sortable: false },\r\n { text: 'Name', value: 'name' },\r\n { text: 'Startpunkt', value: 'origin' },\r\n { text: 'Zielpunkt', value: 'destination' },\r\n { text: 'Land', value: 'country', sortable: false },\r\n { text: 'Kommentar', value: 'remarks' },\r\n ]\r\n }\r\n\r\n private calculateForeignShare(itinerary: Itinerary) {\r\n return itinerary.legs\r\n .filter((l) => l.taxRate && l.taxRate.countryId !== 'AT')\r\n .reduce((sum, l) => sum + l.share, 0)\r\n }\r\n\r\n private onClick(itinerary: Itinerary) {\r\n this.$emit('edit', itinerary)\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!./itineraries-table.ts?vue&type=script&lang=js&\"; 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!./itineraries-table.ts?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./itineraries-table.vue?vue&type=template&id=45920eb7&scoped=true&\"\nimport script from \"./itineraries-table.ts?vue&type=script&lang=js&\"\nexport * from \"./itineraries-table.ts?vue&type=script&lang=js&\"\nimport style0 from \"./itineraries-table.vue?vue&type=style&index=0&id=45920eb7&lang=sass&scoped=true&\"\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 \"45920eb7\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAvatar } from 'vuetify/lib/components/VAvatar';\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VAvatar,VChip,VDataTable,VIcon})\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./customers.vue?vue&type=style&index=0&lang=sass&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./invoice-badge.vue?vue&type=style&index=0&lang=sass&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-select',_vm._b({attrs:{\"items\":_vm.items,\"item-text\":\"name\",\"item-value\":\"value\"},on:{\"change\":_vm.change},model:{value:(_vm.status),callback:function ($$v) {_vm.status=$$v},expression:\"status\"}},'v-select',_vm.$attrs,false))}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\r\nimport { Component, Mixins, Prop, Vue, Watch } from \"vue-property-decorator\"\r\nimport { InvoiceState } from \"../models/invoice-state\"\r\n\r\n@Component\r\nexport default class InvoiceStateSelect extends Vue {\r\n @Prop()\r\n public value: InvoiceState | null = null\r\n\r\n public status: InvoiceState | null = null\r\n\r\n public items = [\r\n { name: \"(Status)\", value: null },\r\n { name: \"offen\", value: InvoiceState.Pending },\r\n { name: \"bezahlt\", value: InvoiceState.Paid },\r\n { name: \"storniert\", value: InvoiceState.Canceled },\r\n { name: \"1. Mahnung\", value: InvoiceState.FirstDunning },\r\n { name: \"2. Mahnung\", value: InvoiceState.SecondDunning },\r\n { name: \"3. Mahnung\", value: InvoiceState.ThirdDunning },\r\n { name: \"Gutschrift\", value: InvoiceState.CreditNote },\r\n ]\r\n\r\n private change() {\r\n this.$emit('input', this.status)\r\n }\r\n\r\n private mounted() {\r\n this.status = this.value\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!./invoice-state-select.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!./invoice-state-select.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./invoice-state-select.vue?vue&type=template&id=1c360f50&\"\nimport script from \"./invoice-state-select.vue?vue&type=script&lang=ts&\"\nexport * from \"./invoice-state-select.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\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VSelect } from 'vuetify/lib/components/VSelect';\ninstallComponents(component, {VSelect})\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./itineraries-table.vue?vue&type=style&index=0&id=45920eb7&lang=sass&scoped=true&\"","import store from '@/app/store'\r\nimport Itinerary from '@/itineraries/models/itinerary'\r\nimport TaxRate from '@/itineraries/models/tax-rate'\r\nimport itinerariesService from '@/itineraries/services/itineraries-service'\r\nimport taxRatesService from '@/itineraries/services/tax-rates-service'\r\nimport { Action, Module, Mutation, MutationAction, VuexModule } from 'vuex-module-decorators'\r\n\r\n@Module({ store, name: 'ItinerariesModule' })\r\nexport default class ItinerariesModule extends VuexModule {\r\n\r\n private _loading = false\r\n private _itineraries: Itinerary[] = []\r\n\r\n private _rates: TaxRate[] = []\r\n\r\n get loading() {\r\n return this._loading\r\n }\r\n\r\n get itineraries() {\r\n return this._itineraries\r\n }\r\n\r\n get rates() {\r\n return this._rates\r\n }\r\n\r\n @Mutation\r\n public setLoading(loading: boolean) {\r\n this._loading = loading\r\n }\r\n\r\n @Mutation\r\n public setItineraries(itineraries: Itinerary[]) {\r\n this._itineraries = itineraries\r\n }\r\n\r\n @Mutation\r\n public setRates(rates: TaxRate[]) {\r\n this._rates = rates\r\n }\r\n\r\n @Action\r\n public async fetchItineraries() {\r\n this.context.commit('setLoading', true)\r\n const itineraries = await itinerariesService.fetchAll()\r\n this.context.commit('setItineraries', itineraries)\r\n this.context.commit('setLoading', false)\r\n }\r\n\r\n @Action\r\n public async fetchAll() {\r\n this.context.commit('setLoading', true)\r\n const rates = await taxRatesService.fetchAll()\r\n const itineraries = await itinerariesService.fetchAll()\r\n this.context.commit('setRates', rates)\r\n this.context.commit('setItineraries', itineraries)\r\n this.context.commit('setLoading', false)\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-select',{staticClass:\"mt-0\",attrs:{\"items\":_vm.items,\"label\":\"Land\",\"filled\":_vm.isFilled,\"outlined\":_vm.isOutlined,\"hide-details\":_vm.doHideDetails,\"v-validate\":_vm.vValidate,\"item-text\":\"name\",\"item-value\":\"code\"},scopedSlots:_vm._u([{key:\"no-data\",fn:function(){return [_c('v-list-item',[_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\"Keine Treffer für \"+_vm._s(_vm.search))])],1)],1)]},proxy:true}]),model:{value:(_vm.country),callback:function ($$v) {_vm.country=$$v},expression:\"country\"}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Address from '@/locations/models/address'\r\nimport Country from '@/locations/models/country'\r\nimport countriesService from '@/locations/services/countries-service'\r\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator'\r\nimport Vuetify, { VCombobox } from 'vuetify/lib'\r\n\r\n@Component\r\nexport default class CountrySelect extends Vue {\r\n\r\n @Prop()\r\n readonly value!: string\r\n\r\n @Prop({ default: false })\r\n readonly filled!: boolean\r\n\r\n @Prop({ default: true })\r\n readonly outlined!: boolean\r\n\r\n @Prop()\r\n readonly vValidate!: string\r\n\r\n @Prop({ default: true })\r\n readonly hideDetails!: boolean\r\n\r\n private items: Country[] = []\r\n private search = ''\r\n private country: Country | null = this.select(this.value)\r\n\r\n @Watch('value')\r\n private valueChanged(val: string, old: string) {\r\n if (val !== old) {\r\n this.country = this.select(val)\r\n }\r\n }\r\n\r\n @Watch('country')\r\n private countryChanged(val: Country, old: Country) {\r\n if (val && old && val.code !== old.code) {\r\n this.$emit('input', val.code)\r\n }\r\n }\r\n\r\n private filter(item: Country, queryText: string, itemText: string) {\r\n return item.name.toLowerCase().indexOf(queryText.toLowerCase()) > -1\r\n }\r\n\r\n private select(code: string) {\r\n if (this.items) {\r\n const val = this.items.find((c) => c.code === code)\r\n if (val) {\r\n return val\r\n }\r\n }\r\n return null\r\n }\r\n\r\n get isOutlined() {\r\n return this.outlined === true ? true : false\r\n }\r\n\r\n get isFilled() {\r\n return this.filled === true ? true : false\r\n }\r\n\r\n get doHideDetails() {\r\n return this.hideDetails === true ? true : false\r\n }\r\n\r\n private created() {\r\n this.items = countriesService.findAllAsync()\r\n }\r\n\r\n private mounted() {\r\n this.country = this.select(this.value)\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!./country-select.ts?vue&type=script&lang=js&\"; 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!./country-select.ts?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./country-select.vue?vue&type=template&id=fffff644&\"\nimport script from \"./country-select.ts?vue&type=script&lang=js&\"\nexport * from \"./country-select.ts?vue&type=script&lang=js&\"\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\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\ninstallComponents(component, {VListItem,VListItemContent,VListItemTitle,VSelect})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.address)?_c('div',[_vm._v(\" \"+_vm._s(_vm.address.addressLine)+\" \"),(_vm.address.addressLine)?_c('span',[_vm._v(\",\")]):_vm._e(),_vm._v(\" \"+_vm._s(_vm.address.countryId)+\" \"),(_vm.address.countryId)?_c('span',[_vm._v(\"-\")]):_vm._e(),_vm._v(\" \"+_vm._s(_vm.address.city)+\" \")]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Address from '@/locations/models/address'\r\nimport { Component, Prop, Vue } from 'vue-property-decorator'\r\n\r\n@Component\r\nexport default class AddressLine extends Vue {\r\n\r\n @Prop({ required: true })\r\n private address!: Address\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!./address-line.ts?vue&type=script&lang=js&\"; 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!./address-line.ts?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./address-line.vue?vue&type=template&id=aa56ec5c&\"\nimport script from \"./address-line.ts?vue&type=script&lang=js&\"\nexport * from \"./address-line.ts?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export default class Address {\r\n\r\n public countryId = ''\r\n public countryName = ''\r\n public city = ''\r\n public addressLine = ''\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"customers\"},[_c('v-row',{staticClass:\"mb-5 align-center\"},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('v-btn',{staticClass:\"btn-fab-text\",attrs:{\"rounded\":\"\",\"color\":\"primary\"},on:{\"click\":_vm.create}},[_c('x-icon',{attrs:{\"icon-class\":\"icon icon-add-2\"}}),_c('span',{staticClass:\"hidden-sm-and-down\"},[_vm._v(\"  Neuer Kunde\")])],1)],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('v-text-field',{directives:[{name:\"debounce\",rawName:\"v-debounce:500\",value:(_vm.fetchAll),expression:\"fetchAll\",arg:\"500\"}],staticClass:\"mx-1 mt-2\",attrs:{\"hide-details\":\"\",\"append-icon\":\"search\",\"placeholder\":\"Suchen\",\"single-line\":\"\",\"clearable\":\"\"},on:{\"click:clear\":_vm.clearAndFetchAll},model:{value:(_vm.text),callback:function ($$v) {_vm.text=$$v},expression:\"text\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('div',{staticClass:\"d-flex w-100 justify-end\"},[_c('v-select',{staticClass:\"customer-sorting\",attrs:{\"items\":_vm.sortItems,\"solo\":\"\",\"flat\":\"\",\"hide-details\":\"\"},model:{value:(_vm.sorting),callback:function ($$v) {_vm.sorting=$$v},expression:\"sorting\"}})],1)])],1),_c('v-row',[_c('v-col',{staticStyle:{\"text-align\":\"center\"},attrs:{\"cols\":\"12\"}},[_vm._v(\"Anzahl: \"+_vm._s(_vm.pagination.totalItems))])],1),(_vm.loading)?_c('div',{staticClass:\"text-center mt-5\"},[_c('v-progress-circular',{attrs:{\"size\":50,\"indeterminate\":\"\"}})],1):(_vm.customers.length === 0 && _vm.pagination.totalItems === 0)?_c('div',{staticClass:\"text-center mt-5\"},[_c('em',[_vm._v(\"Kein Ergebnis zu ihrem Suchbegriff\")])]):_c('div',[_c('v-container',{attrs:{\"grid-list-md\":\"\"}},[_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\"}},_vm._l((_vm.customers),function(customer){return _c('v-flex',{key:customer.id,attrs:{\"xs12\":\"\",\"sm6\":\"\",\"md4\":\"\"}},[_c('customer-card',{attrs:{\"customer\":customer},on:{\"edit\":_vm.edit,\"remove\":_vm.remove}})],1)}),1)],1),_c('div',{staticClass:\"text-xs-right\"},[_c('v-pagination',{staticClass:\"elevation-0\",attrs:{\"total-visible\":5,\"length\":_vm.pagination.length},on:{\"input\":_vm.fetchAll},model:{value:(_vm.pagination.page),callback:function ($$v) {_vm.$set(_vm.pagination, \"page\", $$v)},expression:\"pagination.page\"}})],1)],1),_c('x-confirm-dialog',{ref:\"confirmDialog\",attrs:{\"title\":\"Kunde löschen?\",\"confirm-button-text\":\"Löschen\"},on:{\"confirm\":_vm.removeConfirmed}},[_vm._v(\"Wollen Sie den Kunden wirklich löschen?\")]),_c('customer-dialog',{ref:\"dialog\",on:{\"save\":_vm.save,\"update\":_vm.update}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import PaginationRequest from \"@/common/components/pagination/pagination-request\"\r\nimport XConfirmDialog from \"@/common/components/x-confirm-dialog/x-confirm-dialog\"\r\nimport CustomerDialog from \"@/customers/components/customer-dialog/customer-dialog\"\r\nimport Customer from \"@/customers/entities/customer\"\r\nimport customersService from \"@/customers/services/customers-service\"\r\nimport { DebouncedFunc } from \"lodash\"\r\nimport debounce from \"lodash/debounce\"\r\nimport {\r\n Component,\r\n Mixins,\r\n Prop,\r\n Ref,\r\n Vue,\r\n Watch,\r\n} from \"vue-property-decorator\"\r\n\r\n@Component\r\nexport default class Customers extends Vue {\r\n @Ref()\r\n private confirmDialog!: XConfirmDialog\r\n\r\n @Ref()\r\n private dialog!: CustomerDialog\r\n\r\n private loading: boolean = false\r\n private customers: Customer[] = []\r\n\r\n private debounced: DebouncedFunc<() => Promise> | null = null\r\n private text: string = \"\"\r\n private sorting: string = \"company-asc\"\r\n private pagination = new PaginationRequest(9)\r\n\r\n private sortItems = [\r\n { value: \"company-asc\", text: \"Firma A - Z\" },\r\n { value: \"company-desc\", text: \"Firma Z - A\" },\r\n { value: \"lastname-asc\", text: \"Nachname A - Z\" },\r\n { value: \"lastname-desc\", text: \"Nachname Z - A\" },\r\n ]\r\n\r\n @Watch(\"sorting\")\r\n private sortingChanged(val: string) {\r\n switch (val) {\r\n case \"company-asc\":\r\n this.pagination.sortBy = [\"company\"]\r\n this.pagination.sortDesc = [false]\r\n break\r\n case \"company-desc\":\r\n this.pagination.sortBy = [\"company\"]\r\n this.pagination.sortDesc = [true]\r\n break\r\n case \"lastname-asc\":\r\n this.pagination.sortBy = [\"lastname\"]\r\n this.pagination.sortDesc = [false]\r\n break\r\n case \"lastname-desc\":\r\n this.pagination.sortBy = [\"lastname\"]\r\n this.pagination.sortDesc = [true]\r\n break\r\n }\r\n this.fetchAll()\r\n }\r\n\r\n private async clearAndFetchAll() {\r\n this.text = \"\"\r\n await this.fetchAll()\r\n }\r\n\r\n private async fetchAll() {\r\n this.loading = true\r\n const response = await customersService.filterAllAsync(\r\n this.text,\r\n this.pagination\r\n )\r\n this.customers = response.items\r\n this.pagination.totalItems = response.totalItems\r\n if (\r\n (this.pagination.page - 1) * this.pagination.itemsPerPage >\r\n this.pagination.totalItems\r\n ) {\r\n this.pagination.page = 1\r\n }\r\n this.loading = false\r\n }\r\n\r\n private create() {\r\n this.dialog.create()\r\n }\r\n\r\n private edit(customer: Customer) {\r\n this.dialog.edit(customer)\r\n }\r\n\r\n private async save(customer: Customer) {\r\n await customersService.createAsync(customer)\r\n await this.fetchAll()\r\n }\r\n\r\n private async update(customer: Customer) {\r\n await customersService.updateAsync(customer)\r\n await this.fetchAll()\r\n }\r\n\r\n private async remove(customer: Customer) {\r\n this.confirmDialog.open(customer)\r\n }\r\n\r\n private async removeConfirmed(customer: Customer) {\r\n await customersService.deleteAsync(customer.id)\r\n await this.fetchAll()\r\n }\r\n\r\n private async mounted() {\r\n this.pagination.sortBy = [\"company\"]\r\n this.pagination.sortDesc = [false]\r\n\r\n await this.fetchAll()\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!./customers.ts?vue&type=script&lang=js&\"; 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!./customers.ts?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./customers.vue?vue&type=template&id=2fab4fe2&\"\nimport script from \"./customers.ts?vue&type=script&lang=js&\"\nexport * from \"./customers.ts?vue&type=script&lang=js&\"\nimport style0 from \"./customers.vue?vue&type=style&index=0&lang=sass&\"\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\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VFlex } from 'vuetify/lib/components/VGrid';\nimport { VLayout } from 'vuetify/lib/components/VGrid';\nimport { VPagination } from 'vuetify/lib/components/VPagination';\nimport { VProgressCircular } from 'vuetify/lib/components/VProgressCircular';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VBtn,VCol,VContainer,VFlex,VLayout,VPagination,VProgressCircular,VRow,VSelect,VTextField})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-select',{attrs:{\"items\":_vm.itineraries,\"item-text\":\"name\",\"item-value\":\"id\",\"label\":\"Steuersatz\",\"filled\":\"\",\"hide-details\":\"\",\"loading\":_vm.loading,\"disabled\":_vm.disabled},model:{value:(_vm.itineraryId),callback:function ($$v) {_vm.itineraryId=$$v},expression:\"itineraryId\"}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Itinerary from '@/itineraries/models/itinerary'\r\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator'\r\n// import itinerariesService from '@/itineraries/services/itineraries-service'\r\n\r\n@Component\r\nexport default class ItinerarySelection extends Vue {\r\n\r\n @Prop({ required: true })\r\n private value!: string\r\n\r\n @Prop({ default: () => [] })\r\n private itineraries!: Itinerary[]\r\n\r\n @Prop({ default: false })\r\n private loading!: boolean\r\n\r\n @Prop({ default: false })\r\n private disabled!: boolean\r\n\r\n private itineraryId: string = this.value\r\n\r\n get defaultItinerary() {\r\n return this.itineraries.find((i) => i.isDefault)\r\n }\r\n\r\n @Watch('value')\r\n private watchValue(val: string, old: string) {\r\n if (!val) {\r\n this.setDefaultItinerary()\r\n } else if (val !== old) {\r\n this.itineraryId = val\r\n }\r\n }\r\n\r\n @Watch('itineraryId')\r\n private watchItineraryId(val: string, old: string) {\r\n if (val !== old) {\r\n this.$emit('input', val)\r\n }\r\n }\r\n\r\n // @Watch('itineraries', { deep: true })\r\n // private itinerariesChanged(val: Itinerary[], old: Itinerary[]) {\r\n // if (val !== old) {\r\n // this.setDefaultItinerary()\r\n // }\r\n // }\r\n\r\n private setDefaultItinerary() {\r\n if (this.defaultItinerary) {\r\n this.itineraryId = this.defaultItinerary.id\r\n } else if (this.itineraries.length > 0) {\r\n this.itineraryId = this.itineraries[0].id\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!./itinerary-selection.ts?vue&type=script&lang=js&\"; 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!./itinerary-selection.ts?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./itinerary-selection.vue?vue&type=template&id=d17cac5c&\"\nimport script from \"./itinerary-selection.ts?vue&type=script&lang=js&\"\nexport * from \"./itinerary-selection.ts?vue&type=script&lang=js&\"\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\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VSelect } from 'vuetify/lib/components/VSelect';\ninstallComponents(component, {VSelect})\n","import SharesPerCountry from './shares-per-country'\r\n\r\nexport default class InvoiceStakes {\r\n public shares: SharesPerCountry[] = []\r\n public netSum = 0\r\n public taxSum = 0\r\n public reminderCharges = 0\r\n public totalSum = 0\r\n}","import Guid from \"@/app/utils/guid\";\r\nimport { InvoiceState } from \"@/invoices/models/invoice-state\";\r\nimport { PaymentMethod } from \"@/invoices/models/payment-method\";\r\nimport Ride from \"@/rides/models/ride\";\r\nimport moment from \"moment\";\r\nimport Customer from \"@/customers/entities/customer\";\r\nimport InvoiceStakes from \"./invoice-stakes\";\r\n\r\nexport default class Invoice {\r\n public id = Guid.empty();\r\n public tenantId = Guid.empty();\r\n public invoiceNo = \"\";\r\n public date = moment().format(\"YYYY-MM-DD HH:mm\");\r\n public invoiceState = InvoiceState.Pending;\r\n public paymentMethod: PaymentMethod | null = null;\r\n public rides: string[] = [];\r\n public ridesToCreate: Ride[] = [];\r\n public cost = 0;\r\n public amount: number | null = null;\r\n public reminderCharges: number | null = null;\r\n public customerId: string | null = null;\r\n public customer: Customer | null = null;\r\n public remarks = \"\";\r\n public isArchived = false;\r\n public isHidden = false;\r\n public stakes = new InvoiceStakes();\r\n\r\n public get isNew() {\r\n return this.id === Guid.empty();\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"itineraries\"},[_c('v-layout',[_c('v-row',{staticClass:\"mb-5\",attrs:{\"align\":\"center\",\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('v-btn',{staticClass:\"btn-fab-text\",attrs:{\"rounded\":\"\",\"color\":\"primary\"},on:{\"click\":_vm.create}},[_c('x-icon',{staticClass:\"mr-2\",attrs:{\"icon-class\":\"icon icon-add-2\"}}),_vm._v(\"Neuer Steuersatz \")],1)],1)],1)],1),_c('itineraries-table',{attrs:{\"loading\":_vm.loading,\"itineraries\":_vm.itineraries,\"pagination\":_vm.pagination},on:{\"update:pagination\":function($event){_vm.pagination=$event},\"edit\":_vm.edit}}),_c('itinerary-dialog',{ref:\"dialog\",attrs:{\"rates\":_vm.rates},on:{\"save\":_vm.save,\"update\":_vm.update,\"delete\":_vm.delete_}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default class Country {\r\n\r\n public code = ''\r\n public name = ''\r\n}\r\n","import Guid from '@/app/utils/guid'\r\nimport Country from '@/locations/models/country'\r\n\r\nexport default class TaxRate {\r\n\r\n public id = Guid.empty()\r\n public country = new Country()\r\n public countryId = ''\r\n public rate = 0.0\r\n public description = ''\r\n\r\n constructor(other: TaxRate | null = null) {\r\n if(other != null) {\r\n Object.assign(this, other)\r\n } \r\n }\r\n\r\n public get displayName() {\r\n if(this.description) {\r\n return this.country.name + ' ' + this.description\r\n }\r\n return this.country.name\r\n }\r\n}\r\n","import store from \"@/app/store\"\r\nimport PaginationRequest from \"@/common/components/pagination/pagination-request\"\r\nimport ItineraryDialog from \"@/itineraries/components/itinerary-dialog/itinerary-dialog\"\r\nimport Itinerary from \"@/itineraries/models/itinerary\"\r\nimport TaxRate from \"@/itineraries/models/tax-rate\"\r\nimport itinerariesService from \"@/itineraries/services/itineraries-service\"\r\nimport taxRatesService from \"@/itineraries/services/tax-rates-service\"\r\nimport ItinerariesModule from \"@/itineraries/store/itineraries-module\"\r\nimport { Component, Vue, Watch } from \"vue-property-decorator\"\r\nimport { getModule } from \"vuex-module-decorators\"\r\nimport snacks from \"@/app/services/snacks\"\r\n@Component\r\nexport default class Itineraries extends Vue {\r\n private itinerariesModule = getModule(ItinerariesModule, store)\r\n\r\n private dialog!: ItineraryDialog\r\n private loading: boolean = false\r\n private rates: TaxRate[] = []\r\n private itineraries: Itinerary[] = []\r\n\r\n private pagination = new PaginationRequest()\r\n\r\n public async fetchAll() {\r\n this.loading = true\r\n const response = await itinerariesService.findAllAsync(this.pagination)\r\n this.itineraries = response.items\r\n this.pagination.totalItems = response.totalItems\r\n this.loading = false\r\n }\r\n\r\n public create() {\r\n this.dialog.create()\r\n }\r\n\r\n public edit(itinerary: Itinerary) {\r\n this.dialog.edit(itinerary)\r\n }\r\n\r\n public async save(itinerary: Itinerary) {\r\n // TODO: Think of a canonical approach to this issue.\r\n // Remove object references to tax rates.\r\n itinerary.legs.forEach((l) => (l.taxRate = null))\r\n\r\n await itinerariesService.createAsync(itinerary)\r\n await this.fetchAll()\r\n await this.itinerariesModule.fetchItineraries()\r\n }\r\n\r\n public async update(itinerary: Itinerary) {\r\n // Remove object references to tax rates.\r\n itinerary.legs.forEach((l) => (l.taxRate = null))\r\n\r\n await itinerariesService.updateAsync(itinerary)\r\n await this.fetchAll()\r\n await this.itinerariesModule.fetchItineraries()\r\n }\r\n\r\n public async delete_(itinerary: Itinerary) {\r\n try {\r\n if (confirm(\"Sind Sie sicher?\")) {\r\n itinerariesService.deleteAsync(itinerary.id)\r\n await this.fetchAll()\r\n }\r\n } catch {\r\n snacks.error(\"Der Steuersatz konnte nicht gelöscht werden.\")\r\n }\r\n this.fetchAll()\r\n }\r\n\r\n public async mounted() {\r\n this.dialog = this.$refs.dialog as ItineraryDialog\r\n let tmpRates = await taxRatesService.fetchAll()\r\n this.rates = tmpRates.map((r) => new TaxRate(r))\r\n this.rates.splice(0, 0, new TaxRate())\r\n }\r\n\r\n @Watch(\"pagination\", { deep: true })\r\n private async paginationChanged(\r\n newVal: PaginationRequest,\r\n oldVal: PaginationRequest\r\n ) {\r\n if (newVal !== oldVal) {\r\n await this.fetchAll()\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!./itineraries.ts?vue&type=script&lang=js&\"; 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!./itineraries.ts?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./itineraries.vue?vue&type=template&id=e34c69fc&\"\nimport script from \"./itineraries.ts?vue&type=script&lang=js&\"\nexport * from \"./itineraries.ts?vue&type=script&lang=js&\"\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\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VLayout } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VLayout,VRow})\n"],"sourceRoot":""}