{"version":3,"sources":["webpack:///./src/views/quote/components/InvoicePrintOptionsModal.vue?7900","webpack:///./src/views/quote/components/AssessmentInvoicePrintOptionsModal.vue?6589","webpack:///./src/views/quote/components/InvoiceNoSearchModal.vue","webpack:///src/views/quote/components/InvoiceNoSearchModal.vue","webpack:///./src/views/quote/components/InvoiceNoSearchModal.vue?1e42","webpack:///./src/views/quote/components/InvoiceNoSearchModal.vue?c9e0","webpack:///./src/views/quote/QuoteDetailAssessmentSummary.vue?bb40","webpack:///./src/views/quote/components/InvoiceControlView.vue?c413","webpack:///./src/views/quote/components/InvoicePrintOptionsModal.vue","webpack:///src/views/quote/components/InvoicePrintOptionsModal.vue","webpack:///./src/views/quote/components/InvoicePrintOptionsModal.vue?d8c3","webpack:///./src/views/quote/components/InvoicePrintOptionsModal.vue?9e81","webpack:///./src/views/quote/components/QuoteDetailAssessmentSummaryModal.vue?ce83","webpack:///./src/views/quote/components/QuoteDetailAssessmentSummaryModal.vue","webpack:///src/views/quote/components/QuoteDetailAssessmentSummaryModal.vue","webpack:///./src/views/quote/components/QuoteDetailAssessmentSummaryModal.vue?e00f","webpack:///./src/views/quote/components/QuoteDetailAssessmentSummaryModal.vue?6c26","webpack:///./src/views/quote/components/InvoiceControlView.vue","webpack:///src/views/quote/components/InvoiceControlView.vue","webpack:///./src/views/quote/components/InvoiceControlView.vue?e518","webpack:///./src/views/quote/components/InvoiceControlView.vue?b7a2","webpack:///./src/views/quote/components/InvoicePrintOptions.vue","webpack:///src/views/quote/components/InvoicePrintOptions.vue","webpack:///./src/views/quote/components/InvoicePrintOptions.vue?7aff","webpack:///./src/views/quote/components/InvoicePrintOptions.vue?beb6","webpack:///./src/views/quote/components/AssessmentInvoicePrintOptionsModal.vue","webpack:///src/views/quote/components/AssessmentInvoicePrintOptionsModal.vue","webpack:///./src/views/quote/components/AssessmentInvoicePrintOptionsModal.vue?e07f","webpack:///./src/views/quote/components/AssessmentInvoicePrintOptionsModal.vue?5c63","webpack:///./src/views/quote/components/InvoicePrintOptions.vue?503f","webpack:///./src/views/quote/QuoteDetailAssessmentSummary.vue","webpack:///src/views/quote/QuoteDetailAssessmentSummary.vue","webpack:///./src/views/quote/QuoteDetailAssessmentSummary.vue?56e6","webpack:///./src/views/quote/QuoteDetailAssessmentSummary.vue?8d8b","webpack:///./src/views/quote/components/InvoiceNoSearchModal.vue?3d6a","webpack:///./src/views/quote/components/PayerSelector.vue","webpack:///src/views/quote/components/PayerSelector.vue","webpack:///./src/views/quote/components/PayerSelector.vue?641c","webpack:///./src/views/quote/components/PayerSelector.vue?3221","webpack:///./src/views/quote/components/InvoiceControl.vue","webpack:///src/views/quote/components/InvoiceControl.vue","webpack:///./src/views/quote/components/InvoiceControl.vue?225b","webpack:///./src/views/quote/components/InvoiceControl.vue?e3a7"],"names":["render","_vm","this","_c","_self","isActive","attrs","animationIn","animationOut","animationDuration","on","$event","staticClass","class","showIcon","iconType","staticStyle","iconName","_e","_v","directives","name","rawName","value","invoiceNo","expression","domProps","target","composing","searchInvoice","isInvoiceNoAvailable","length","style","buttonLocation","ok","close","staticRenderFns","FocusInserted","components","BaseModalEx","props","active","type","default","invoiceType","data","computed","watch","mounted","methods","QuoteInvoiceService","component","_t","model","invoicePrintOptions","callback","$$v","okDisabled","cancelDisabled","cancel","InvoicePrintOptions","innerValue","detail","itemNumber","individualPartPrice","PartPriceInclMarkup","labourPrintOption","reportName","mapGetters","invoice","gstInvoice","created","printInvoice","QuoteID","InvoiceNo","InvoiceDate","InsurerID","CustomerID","CompanyID","GSTOnly","QuoteDiscount","InvoiceID","qiID1","qiID2","qiID3","qiID4","qiID5","qiID6","qiID7","qiID8","qiID9","qiID10","qiID11","qiID12","qiID13","qiID14","qiID15","timezoneoffset","params","StoreUtil","emailer","query","parameterId","emailerId","isNewTab","window","printGstInvoice","formatDateLocale","locale","year","month","day","minWidth","QuoteDetailAssessmentSummary","mixins","beforeDestroy","beforeRouteEnter","to","from","next","beforeRouteLeave","_m","selectedInvoice","voidInvoice","previewInvoice","invoiceNoReference","$filters","formatDateTimezone","invoiceDate","$userInfo","jobsInvoiced","_l","assessment","key","assessmentId","_s","subQuoteNo","formatCurrency","invoicedAmount","isMainInvoiceIncluded","invoiceTypes","Excess","excessAmount","$set","_n","OwnerContribution","ownerContribution","quoteDiscount","gst","exported","Array","isArray","_i","$$a","$$el","$$c","checked","$$i","concat","slice","_f","totalExGst","totalIncGst","isOverrideEnabled","labourOverride","rrOverride","repairOverride","paintOverride","mechOverride","isConfirmVoidActive","confirmVoidInvoice","slot","bindedInvoicesString","isInvoicePrintOptionsActive","VueNumeric","ConfirmModal","AssessmentInvoicePrintOptionsModal","filters","invoiceTypeName","raisedInvoice","bindedInvoices","result","getInvoiceReferenceNo","QuoteNum","detailInvoice","LumpSum","Category","_q","labourPrintOptionTypes","Detailed","isDetailInvoice","isItemNumber","isIndividualPartPrice","labourOption","handler","deep","companyItemTypes","allAssessments","assessmentID","getAssessmentTotal","getGrandAssessmentTotal","gstRate","itemType","itemCategoryId","getDisplayName","itemCategoryType","draftAssessment","all","getQuoteTotal","createDraftAssessment","assetFilter","showCustomer","showInsurer","assets","selectedAsset","isAssetLoading","pageSize","selectAsset","getAssetDropdownFilter","scopedSlots","_u","fn","option","assetType","assetName","Multiselect","required","assetId","pageIndex","insurerAsset","customerAsset","showAsset","customer","insurer","newVal","oldVal","getAssetDropdown","QuickInvoiceService","selected","assessments","isLoadingInvoice","raiseInvoice","isSupportUser","isCustomerAdministrator","showChangeInvoiceNoModal","formats","firstDayOfMonth","getIanaTimezone","inputValue","inputEvents","_g","selectedInvoiceDate","invoicePayingType","invoicePayerTypes","ThirdParty","onThirdPartyPayerSelect","Insurer","onInvoicePayerTypeClick","Private","isMainInvoice","excessWithGst","excessWithGstUpdate","hasExcessInvoice","excessValueChanged","calculateExcess","updateInvoice","fixedGst","isGstInvoiceOn","updateGst","addRemoveGstInvoice","onGstInvPayerSelect","onLabourOverrideChange","onOverrideChange","isInvoiceNoSearchModalActive","changeInvoiceNo","InvoiceNoSearchModal","PayerSelector","itemsTotal","excessChanged","title","weekdays","navMonths","input","dayPopover","highlight","backgroundColor","popover","label","dates","invoiceLabourTotal","ItemCategoryCodeTypes","total","invoiceRrTotal","invoiceRepairTotal","invoiceRwaTotal","invoicePaintTotal","invoiceFgTotal","invoiceCrushTotal","invoiceCdTotal","invoiceMechTotal","invoiceOpgTotal","invoicePartTotal","invoiceMiscTotal","invoiceSubletTotal","invoicePdrrrTotal","invoicePdrreTotal","overrideChanges","val","createInvoice","utcDate","getAssets","insurerAssetFilter","customerAssetFilter","Promise","insurers","customers","asset","payerType","calculateItemsTotal","calculateDeductionAmount","ownerContributionGst","deductionAmount","updateQuote","UpdateInvAmount","invoices","toggleOverride","clearOverrides"],"mappings":"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AC,iFAGArB,0CACAsB,oCADA,IAEAC,QAFA,WAGA,0GAEAC,WALA,WAMA,0GAGAvB,OACAN,OADA,SACAlB,GACA,iBAEA,6CACA,qCAGAgD,QAhFA,WAiFA,yBACA,2EAEAvB,QApFA,WAqFA,+BAEAC,SACAf,GADA,WAEA,oBACA,iBACA,uBAEA,iBACA,+BACA,kBAEAyB,OAVA,WAWA,iBACA,+BACA,sBAEAa,aAfA,WAiBA,OACAC,2BACAC,yJACAC,kFACAC,+BACAC,iCACAC,+BACAC,mCACAC,oDACAC,iCACAC,qBACAC,qBACAC,qBACAC,qBACAC,qBACAC,qBACAC,qBACAC,qBACAC,qBACAC,sBACAC,sBACAC,sBACAC,sBACAC,sBACAC,sBACAC,sDAEA,iCACAC,2EACAA,gFACAA,0DACA,6DACA,uIACAA,gBACAA,iBACA,8DACA,uIACAA,iBACAA,kBAEA,6HAGAA,gDACAA,8BAEA,6EACA,8BAEA,4JAQA,uCACA,uBACAC,yCAEA,iBACAC,6BACAA,yBACAA,8CACAA,2GACAA,yCACAA,4GACAA,+GACAD,yCACA,4BACA9E,8BACA6E,QAAA/B,4BACAkC,OAAAC,cAAAC,eAAAC,eAEAC,8BAEAC,gBA9FA,WA+FA,OACAjC,2BACAG,+BACAC,iCACAC,+BACAH,qFACAD,oCACAO,oCACAC,qBACAC,qBACAC,qBACAC,qBACAC,qBACAC,qBACAC,qBACAC,qBACAC,qBACAC,sBACAC,sBACAC,sBACAC,sBACAC,sBACAC,sBACAC,sDAOA,mCACA,uBACAE,yCAEA,iBACAC,6BACAA,8CACAA,wHACAA,8BACAA,yHACAA,4HACAD,yCACA,4BACA9E,8BACA6E,QAAA/B,gCACAkC,OAAAC,cAAAC,eAAAC,eAEAC,8BAEAE,iBAhJA,SAgJApF,EAAAqF,GAAA,uEACA,qCACA,GAAAC,eAAAC,QAAAC,eACA,YACA,mCAEA,6BCtS+X,I,wBCQ3X5D,EAAY,eACd,EACAnD,EACAoC,GACA,EACA,KACA,WACA,MAIa,aAAAe,E,6CCnBf,W,2CCAA,IAAInD,EAAS,WAAkB,IAAIC,EAAIC,KA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AEAC,SAEA+G,gBAxBA,WAyBA,4BAEA/I,kBA3BA,WA4BA,uBAEAzC,gBA9BA,SA8BAgH,GACA,IACA,uBAIAnK,QA7PA,WA6PA,2JACA,0BACA,sBAFA,SAGA,kBAHA,uBAIA,cAJA,OAKA,wBACA,sBANA,8CAQAvB,QArQA,aAsQAC,SACAmQ,cADA,WACA,oKACAlQ,sBADA,OACA,UADA,OAEA,mCACA,2CACA,uCACA,mCACA,yCACA,8EACA,gEACA,6DACA,sFACA,qEACA,iEACA,kBAbA,+CAeA2N,oBAhBA,SAgBAjH,GAAA,8JACAA,EADA,iCAGA1G,sBAHA,OAGA,aAHA,OAIA,2CACA,+BAEAmQ,EAAA,4FACA,6CACA,0BACA,0CACA,oCACA,wBACA,0BACA,iCACA,yBACA,8FACA,yFACA,cACA,gBACA,kBApBA,wBAuBA,cACA,kBACA,kBAzBA,+CA4BAC,UA5CA,WA4CA,2KACAC,EAAA,CACApF,+BACAH,aACAb,gBACAC,eACAgB,YACAZ,YAEAgG,EAAA,CACArF,gCACAH,aACAb,gBACAC,eACAgB,YACAZ,YAfA,SAmBAiG,aACA5E,gCACAA,kCArBA,sCAmBA6E,EAnBA,KAmBAC,EAnBA,KAuBA,oBACA,qBAxBA,+CA0BA5D,wBAtEA,SAsEA6D,GACA,+BACA,mCACA,yCACA,oCAEA9C,oBA5EA,SA4EA8C,GACA,kCACA,sCACA,4CACA,uCAEAxE,yBAlFA,WAmFA,sCAEA8B,gBArFA,SAqFA1P,GACA,qCACA,yBACA,8CAEAyO,wBA1FA,SA0FA4D,GACA,uCACA,+CACA,mDACA,mDACA,0DACA,wCACA,gDACA,oDACA,oDACA,2DACA,wBACA,0BACA,4BACA,4BACA,kCAGAC,oBA5GA,WA6GA,eACA,uBAeA,gCACA,gHAEA,iBACA,0EACA,sFACA,kFACA,qBACA,oBACA,uBACA,qBACA,+EACA,qBACA,sBACA,sBACA,wBA7BA,gBACA,oBACA,wBACA,qBACA,uBACA,oBACA,uBACA,oBACA,sBACA,qBACA,sBACA,sBACA,0BAsBAC,yBAjJA,WAkJA,QACA,qCACA,QACA,6BACAC,2EAEAC,wFAEA,UAEAxD,cA5JA,WA4JA,iEACA,wCACA,uBACA,sCACA,0DAEA,2BAKA,sBACA,mFALA,sBACA,2GAOA,kFACA,4BAEA,sBACA,2EAEA,wDACA,kFAEA,4FACA,iDACA,6CACA,6CACA,yCACA,iDACA,iDACA,+CACA,6CACA,2CACA,yCACA,+CACA,yCACA,2CACA,+CACA,iDAGAG,UAtMA,WAuMA,mFAEAsD,YAzMA,WA0MA,iDACA,kEACA,oDACA,qCAEAC,gBA/MA,WAgNA,uBACA,sCACA,oCAGAlF,aArNA,WAsNA,mBACA,qBACA,iBACAmF,wBAEA,8BACA,mBAEAC,eA9NA,SA8NAzK,GACA,0BAEA4G,gBAjOA,WAkOA,mDACA,0CACA,iFAEA,qBACA,uBAEAH,oBAzOA,WA0OA,iBACA,6BACA,sBACA,wBAEA,sBAEAE,mBAjPA,WAkPA,sBACA,sBAEAQ,uBArPA,WAsPA,0BACA,8BACA,6BACA,6BAEAC,iBA3PA,WA4PA,+BAEAsD,eA9PA,WA+PA,8BACA,0BACA,8BACA,6BACA,+BC56BqX,I,YCOjXnR,EAAY,eACd,EACAnD,EACAoC,GACA,EACA,KACA,WACA,MAIa,aAAAe,E","file":"static/js/quote-components-invoice-chunk.c69bf5f4.js","sourcesContent":["export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoicePrintOptionsModal.vue?vue&type=style&index=0&id=2c65e62c&prod&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AssessmentInvoicePrintOptionsModal.vue?vue&type=style&index=0&id=cfc80ba2&prod&lang=scss&scoped=true\"","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.isActive)?_c('base-modal-ex',{attrs:{\"active\":_vm.isActive,\"animation-in\":_vm.animationIn,\"animation-out\":_vm.animationOut,\"animation-duration\":_vm.animationDuration,\"can-cancel\":false,\"min-width\":40,\"has-modal-card\":\"\"},on:{\"update:active\":function($event){_vm.isActive=$event}}},[_c('header',{staticClass:\"modal-card-head\"},[_c('p',{staticClass:\"modal-card-title\",class:{ 'is-flex-items-center' : _vm.showIcon}},[(_vm.showIcon)?_c('span',{staticClass:\"icon is-medium\",class:`has-text-${_vm.iconType}`,staticStyle:{\"margin-right\":\"0.5rem\"}},[_c('i',{staticClass:\"mdi mdi-36px\",class:`${_vm.iconName}`})]):_vm._e(),_vm._v(\" Search Invoice No. \")])]),_c('section',{staticClass:\"modal-card-body\"},[_c('div',{staticClass:\"field\"},[_c('div',{staticClass:\"control\"},[_c('label',{staticClass:\"label\"},[_vm._v(\"Invoice No.\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.invoiceNo),expression:\"invoiceNo\"},{name:\"mask\",rawName:\"v-mask\",value:('##########'),expression:\"'##########'\"},{name:\"focus-inserted\",rawName:\"v-focus-inserted\"}],staticClass:\"input\",attrs:{\"placeholder\":\"Start typing to search...\"},domProps:{\"value\":(_vm.invoiceNo)},on:{\"input\":[function($event){if($event.target.composing)return;_vm.invoiceNo=$event.target.value},_vm.searchInvoice]}}),(_vm.isInvoiceNoAvailable && _vm.invoiceNo.length > 0)?_c('span',{staticClass:\"help is-success\"},[_vm._v(\"Invoice No. available\")]):(!_vm.isInvoiceNoAvailable && _vm.invoiceNo.length > 0)?_c('span',{staticClass:\"help is-danger\"},[_vm._v(\"Invoice No. is not available\")]):_vm._e()])])]),_c('footer',{staticClass:\"modal-card-foot\",style:(`justify-content: flex-${_vm.buttonLocation}`)},[_c('button',{staticClass:\"button is-success tooltip\",attrs:{\"data-tooltip\":\"Start copying images\",\"disabled\":!_vm.isInvoiceNoAvailable},on:{\"click\":function($event){return _vm.ok()}}},[_vm._v(\"Ok\")]),_c('button',{staticClass:\"button tooltip\",attrs:{\"data-tooltip\":\"Close\"},on:{\"click\":function($event){return _vm.close()}}},[_vm._v(\"Close\")])])]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <base-modal-ex v-if=\"isActive\"\n :active.sync=\"isActive\"\n :animation-in=\"animationIn\"\n :animation-out=\"animationOut\"\n :animation-duration=\"animationDuration\"\n :can-cancel=\"false\"\n :min-width=\"40\"\n has-modal-card>\n <header class=\"modal-card-head\">\n <p class=\"modal-card-title\"\n :class=\"{ 'is-flex-items-center' : showIcon}\">\n <span v-if=\"showIcon\"\n class=\"icon is-medium\"\n :class=\"`has-text-${iconType}`\"\n style=\"margin-right: 0.5rem\">\n <i class=\"mdi mdi-36px\"\n :class=\"`${iconName}`\" />\n </span>\n Search Invoice No.\n </p>\n </header>\n <section class=\"modal-card-body\">\n <div class=\"field\">\n <div class=\"control\">\n <label class=\"label\">Invoice No.</label>\n <input class=\"input\"\n v-model=\"invoiceNo\"\n @input=\"searchInvoice\"\n placeholder=\"Start typing to search...\"\n v-mask=\"'##########'\"\n v-focus-inserted>\n <span v-if=\"isInvoiceNoAvailable && invoiceNo.length > 0\"\n class=\"help is-success\">Invoice No. available</span>\n <span v-else-if=\"!isInvoiceNoAvailable && invoiceNo.length > 0\"\n class=\"help is-danger\">Invoice No. is not available</span>\n </div>\n </div>\n </section>\n <footer class=\"modal-card-foot\"\n :style=\"`justify-content: flex-${buttonLocation}`\">\n <button class=\"button is-success tooltip\"\n @click=\"ok()\"\n data-tooltip=\"Start copying images\"\n :disabled=\"!isInvoiceNoAvailable\">Ok</button>\n <button class=\"button tooltip\"\n @click=\"close()\"\n data-tooltip=\"Close\">Close</button>\n </footer>\n </base-modal-ex>\n</template>\n\n<script>\nimport { QuoteInvoiceService } from '../services'\nimport { BaseModalEx } from '@/components/BulmaModal'\nimport _debounce from 'lodash.debounce'\nimport { FocusInserted } from '@/components/directives'\n\nexport default {\n name: 'InvoiceNoSearchModal',\n directives: {\n FocusInserted\n },\n components: {\n BaseModalEx\n },\n props: {\n active: {\n type: Boolean,\n default: false\n },\n animationIn: {\n type: String,\n default: 'zoomIn'\n },\n animationOut: {\n type: String,\n default: 'zoomOut'\n },\n animationDuration: {\n type: [String, Number],\n default: 0.3\n },\n buttonLocation: {\n type: String,\n default: 'end' // valid values 'start' & 'end'\n },\n showIcon: {\n type: Boolean,\n default: true\n },\n iconType: {\n type: String,\n default: 'primary'\n },\n iconName: {\n type: String,\n default: 'mdi-magnify'\n },\n invoiceType: {\n type: Number,\n default: 0\n }\n },\n data() {\n return {\n isActive: false,\n invoiceNo: '',\n isInvoiceNoAvailable: false\n }\n },\n computed: {},\n watch: {\n active(value) {\n this.isActive = value\n }\n },\n mounted() {\n this.isActive = this.active || false\n },\n methods: {\n ok() {\n this.$emit('ok', this.invoiceNo)\n },\n close() {\n this.$emit('close')\n },\n searchInvoice: _debounce(async function() {\n if (this.invoiceNo) {\n this.isInvoiceNoAvailable = await QuoteInvoiceService.assertInvoiceNoAvailable(this.invoiceNo, this.invoiceType)\n } else {\n this.isInvoiceNoAvailable = false\n }\n }, 500)\n }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.is-flex-items-center {\n display: flex;\n align-items: center;\n}\n</style>\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/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceNoSearchModal.vue?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/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceNoSearchModal.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./InvoiceNoSearchModal.vue?vue&type=template&id=5a56bcd1&scoped=true\"\nimport script from \"./InvoiceNoSearchModal.vue?vue&type=script&lang=js\"\nexport * from \"./InvoiceNoSearchModal.vue?vue&type=script&lang=js\"\nimport style0 from \"./InvoiceNoSearchModal.vue?vue&type=style&index=0&id=5a56bcd1&prod&lang=scss&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 \"5a56bcd1\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./QuoteDetailAssessmentSummary.vue?vue&type=style&index=0&id=2df074d5&prod&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceControlView.vue?vue&type=style&index=0&id=11defd49&prod&lang=scss&scoped=true\"","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.isActive)?_c('base-modal-ex',{attrs:{\"active\":_vm.isActive,\"animation-in\":_vm.animationIn,\"animation-out\":_vm.animationOut,\"animation-duration\":_vm.animationDuration,\"can-cancel\":false,\"min-width\":40,\"has-modal-card\":\"\"},on:{\"update:active\":function($event){_vm.isActive=$event}}},[_c('header',{staticClass:\"modal-card-head\"},[_c('p',{staticClass:\"modal-card-title\",class:{ 'is-flex-items-center' : _vm.showIcon}},[(_vm.showIcon)?_c('span',{staticClass:\"icon is-medium\",class:`has-text-${_vm.iconType}`,staticStyle:{\"margin-right\":\"0.5rem\"}},[_c('i',{staticClass:\"mdi mdi-36px\",class:`${_vm.iconName}`})]):_vm._e(),_vm._t(\"text-title\")],2)]),_c('section',{staticClass:\"modal-card-body\"},[_c('invoice-print-options',{model:{value:(_vm.invoicePrintOptions),callback:function ($$v) {_vm.invoicePrintOptions=$$v},expression:\"invoicePrintOptions\"}})],1),_c('footer',{staticClass:\"modal-card-foot\",style:(`justify-content: flex-${_vm.buttonLocation}`)},[_c('button',{staticClass:\"button is-success tooltip\",attrs:{\"data-tooltip\":\"Generate report(s)\",\"disabled\":_vm.okDisabled},on:{\"click\":function($event){return _vm.ok()}}},[_c('span',{staticClass:\"icon is-small\"},[_c('i',{staticClass:\"mdi mdi-18px mdi-printer\"})]),_c('span',[_vm._v(\"Ok\")])]),_c('button',{staticClass:\"button tooltip\",attrs:{\"data-tooltip\":\"Cancel\",\"disabled\":_vm.cancelDisabled},on:{\"click\":function($event){return _vm.cancel()}}},[_vm._v(\"Cancel\")])])]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <base-modal-ex v-if=\"isActive\"\n :active.sync=\"isActive\"\n :animation-in=\"animationIn\"\n :animation-out=\"animationOut\"\n :animation-duration=\"animationDuration\"\n :can-cancel=\"false\"\n :min-width=\"40\"\n has-modal-card>\n <header class=\"modal-card-head\">\n <p class=\"modal-card-title\"\n :class=\"{ 'is-flex-items-center' : showIcon}\">\n <span v-if=\"showIcon\"\n class=\"icon is-medium\"\n :class=\"`has-text-${iconType}`\"\n style=\"margin-right: 0.5rem\">\n <i class=\"mdi mdi-36px\"\n :class=\"`${iconName}`\" />\n </span>\n <slot name=\"text-title\" />\n </p>\n </header>\n <section class=\"modal-card-body\">\n <!-- <slot name=\"text-content\"></slot> -->\n <invoice-print-options v-model=\"invoicePrintOptions\" />\n </section>\n <footer class=\"modal-card-foot\"\n :style=\"`justify-content: flex-${buttonLocation}`\">\n <button class=\"button is-success tooltip\"\n @click=\"ok()\"\n data-tooltip=\"Generate report(s)\"\n :disabled=\"okDisabled\">\n <span class=\"icon is-small\">\n <i class=\"mdi mdi-18px mdi-printer\" />\n </span>\n <span>Ok</span>\n </button>\n <button class=\"button tooltip\"\n @click=\"cancel()\"\n data-tooltip=\"Cancel\"\n :disabled=\"cancelDisabled\">Cancel</button>\n </footer>\n </base-modal-ex>\n</template>\n\n<script>\nimport { BaseModalEx } from '@/components/BulmaModal'\nimport { mapGetters } from 'vuex'\nimport InvoicePrintOptions from './InvoicePrintOptions'\nimport Guid from '@/components/Guid'\nimport { Emailer } from '@/classes'\nimport StoreUtil from '@/store/utils'\nimport PrintPreviewRoutes from '@/components/printpreview/route-types'\nimport { RemarkTypes, InvoiceTypes, AssetTypes,EmailAssetTypes } from '@/enums'\nimport { LabourPrintOptionTypes } from '../QuoteService'\nimport { KeyValuePairModel } from '@/classes/viewmodels'\n\nexport default {\n name: 'InvoicePrintOptionsModal',\n components: {\n BaseModalEx,\n InvoicePrintOptions\n },\n props: {\n value: null,\n active: {\n type: Boolean,\n default: false\n },\n animationIn: {\n type: String,\n default: 'zoomIn'\n },\n animationOut: {\n type: String,\n default: 'zoomOut'\n },\n animationDuration: {\n type: [String, Number],\n default: 0.3\n },\n buttonLocation: {\n type: String,\n default: 'end' // valid values 'start' & 'end'\n },\n showIcon: {\n type: Boolean,\n default: true\n },\n iconType: {\n type: String,\n default: 'primary'\n },\n iconName: {\n type: String,\n default: 'mdi-printer'\n },\n okDisabled: {\n type: Boolean,\n default: false\n },\n cancelDisabled: {\n type: Boolean,\n default: false\n }\n },\n data() {\n return {\n isActive: false,\n innerValue: null,\n invoicePrintOptions: {\n detail: true,\n itemNumber: true,\n individualPartPrice: true,\n PartPriceInclMarkup: false,\n labourPrintOption: LabourPrintOptionTypes.Detailed\n },\n reportName: this.value.excessWithGst ? 'rptInvoiceWithGST' : 'rptInvoiceWithoutGST'\n }\n },\n computed: {\n ...mapGetters(['licenceExpired']),\n invoice() {\n return this.value.invoices.find(i => !i.isNew && !i.deleted && i.invoiceType === InvoiceTypes.Quote)\n },\n gstInvoice() {\n return this.value.invoices.find(i => !i.isNew && !i.deleted && i.invoiceType === InvoiceTypes.Gst)\n }\n },\n watch: {\n active(value) {\n this.isActive = value\n },\n 'invoicePrintOptions.itemNumber': function(newVal) {\n this.$setInvoicePrintShowItemNo(newVal)\n }\n },\n created() {\n this.$loadPrintOptions()\n this.invoicePrintOptions.itemNumber = this.$printOptions.invoice.showItemNo\n },\n mounted() {\n this.isActive = this.active || false\n },\n methods: {\n ok() {\n this.printInvoice()\n if (this.gstInvoice) {\n this.printGstInvoice()\n }\n this.isActive = false\n this.$emit('update:active', false)\n this.$emit('ok')\n },\n cancel() {\n this.isActive = false\n this.$emit('update:active', false)\n this.$emit('cancel')\n },\n printInvoice() {\n // let reportName = this.value.excessWithGst ? 'rptInvoiceWithGST' : 'rptInvoiceWithoutGST'\n const params = {\n QuoteID: this.value.quoteId,\n InvoiceNo: this.invoice ? `${this.invoice.prefix}${this.invoice.invoiceNo}${this.invoice.suffix}/${this.invoice.invoiceType}` : '',\n InvoiceDate: this.formatDateLocale(this.invoice.invoiceDate, this.$userInfo.locale),\n InsurerID: this.value.insurerId,\n CustomerID: this.value.customerId,\n CompanyID: this.value.companyId,\n GSTOnly: this.gstInvoice ? 'YES' : 'NO',\n QuoteDiscount: `${this.invoice.quoteDiscount}`,\n InvoiceID: this.invoice.invoiceId,\n qiID1: Guid.empty(),\n qiID2: Guid.empty(),\n qiID3: Guid.empty(),\n qiID4: Guid.empty(),\n qiID5: Guid.empty(),\n qiID6: Guid.empty(),\n qiID7: Guid.empty(),\n qiID8: Guid.empty(),\n qiID9: Guid.empty(),\n qiID10: Guid.empty(),\n qiID11: Guid.empty(),\n qiID12: Guid.empty(),\n qiID13: Guid.empty(),\n qiID14: Guid.empty(),\n qiID15: Guid.empty(),\n timezoneoffset: this.$filters.getSiteTimezoneOffset()\n }\n if (this.invoicePrintOptions.detail) {\n params.IndividualPart = this.invoicePrintOptions.individualPartPrice ? 'YES' : 'NONE'\n params.PartPriceInclMarkup = this.invoicePrintOptions.PartPriceInclMarkup ? 'YES' : 'NONE'\n params.ItemNo = this.invoicePrintOptions.itemNumber ? 'YES' : 'NONE'\n if (this.invoicePrintOptions.labourPrintOption === LabourPrintOptionTypes.LumpSum) {\n this.reportName = this.invoice.includedQuotes.length === 1 ? `${this.reportName}_LumpSum` : `${this.reportName}_LumpSumAdds`\n params.LumpSum = 'YES'\n params.Category = 'NO'\n } else if (this.invoicePrintOptions.labourPrintOption === LabourPrintOptionTypes.Category) {\n this.reportName = this.invoice.includedQuotes.length === 1 ? `${this.reportName}_LumpSum` : `${this.reportName}_LumpSumAdds`\n params.LumpSum = 'NONE'\n params.Category = 'YES'\n } else {\n this.reportName = this.invoice.includedQuotes.length === 1 ? `${this.reportName}` : `${this.reportName}Additionals`\n }\n } else {\n params.TotalExGST = `${this.invoice.TotalExGst}`\n params.QuoteNum = this.value.quoteNo\n\n if (this.invoice.includedQuotes.length > 1 && this.reportName == 'rptInvoiceWithGST') {\n this.reportName = 'rptInvoice'\n }\n this.reportName = this.invoice.includedQuotes.length === 1 ? `${this.reportName}_OneLineInvoice` : `${this.reportName}_OneLineAdditionalInvoice`\n }\n\n // const query = this.$lzstring.compressToEncodedURIComponent(\n // Object.keys(params)\n // .map(e => `${e}=${params[e]}`)\n // .join('&')\n // )\n const keyValuePairs = KeyValuePairModel.convertToKeyValuePairs(params)\n const parameterId = this.$guid.newGuid()\n StoreUtil.setLocalStorage(parameterId, 'parameters', keyValuePairs)\n\n const emailer = new Emailer()\n emailer.assetId = this.value.quoteId\n emailer.assetType = EmailAssetTypes.Quote\n emailer.assetTypes = [AssetTypes.Customer, AssetTypes.Insurer]\n emailer.remark = `Invoice ${this.invoice.prefix}${this.invoice.invoiceNo}${this.invoice.suffix}`\n emailer.remarkTypeId = RemarkTypes.OtherSystemRemark\n emailer.subject = `Invoice ${this.invoice.prefix}${this.invoice.invoiceNo}${this.invoice.suffix}`\n emailer.reportName = `Invoice_${this.invoice.prefix}${this.invoice.invoiceNo}${this.invoice.suffix}`\n StoreUtil.setLocalStorage(emailer.id, 'emailer', emailer)\n const routeData = this.$router.resolve({\n name: PrintPreviewRoutes.PrintPreview.name,\n params: { reportName: this.reportName },\n query: { parameterId: parameterId, emailerId: emailer.id, isNewTab: true }\n })\n window.open(routeData.href, '_blank')\n },\n printGstInvoice() {\n const params = {\n QuoteID: this.value.quoteId,\n InsurerID: this.value.insurerId,\n CustomerID: this.value.customerId,\n CompanyID: this.value.companyId,\n InvoiceDate: this.formatDateLocale(this.gstInvoice.invoiceDate, this.$userInfo.locale),\n InvoiceNo: this.gstInvoice.invoiceNo,\n InvoiceID: this.gstInvoice.invoiceId,\n qiID1: Guid.empty(),\n qiID2: Guid.empty(),\n qiID3: Guid.empty(),\n qiID4: Guid.empty(),\n qiID5: Guid.empty(),\n qiID6: Guid.empty(),\n qiID7: Guid.empty(),\n qiID8: Guid.empty(),\n qiID9: Guid.empty(),\n qiID10: Guid.empty(),\n qiID11: Guid.empty(),\n qiID12: Guid.empty(),\n qiID13: Guid.empty(),\n qiID14: Guid.empty(),\n qiID15: Guid.empty(),\n timezoneoffset: this.$filters.getSiteTimezoneOffset()\n }\n // const query = this.$lzstring.compressToEncodedURIComponent(\n // Object.keys(params)\n // .map(e => `${e}=${params[e]}`)\n // .join('&')\n // )\n const keyValuePairs = KeyValuePairModel.convertToKeyValuePairs(params)\n const parameterId = this.$guid.newGuid()\n StoreUtil.setLocalStorage(parameterId, 'parameters', keyValuePairs)\n\n const emailer = new Emailer()\n emailer.assetId = this.value.quoteId\n emailer.assetTypes = [AssetTypes.Customer, AssetTypes.Insurer]\n emailer.remark = `GST Invoice ${this.gstInvoice.prefix}${this.gstInvoice.invoiceNo}${this.gstInvoice.suffix}`\n emailer.remarkTypeId = RemarkTypes.Remark\n emailer.subject = `GST Invoice ${this.gstInvoice.prefix}${this.gstInvoice.invoiceNo}${this.gstInvoice.suffix}`\n emailer.reportName = `GST-Invoice_${this.gstInvoice.prefix}${this.gstInvoice.invoiceNo}${this.gstInvoice.suffix}`\n StoreUtil.setLocalStorage(emailer.id, 'emailer', emailer)\n const routeData = this.$router.resolve({\n name: PrintPreviewRoutes.PrintPreview.name,\n params: { reportName: 'rptInvoiceGSTOnly' },\n query: { parameterId: parameterId, emailerId: emailer.id, isNewTab: true }\n })\n window.open(routeData.href, '_blank')\n },\n formatDateLocale(value, locale, format = '2-digit') {\n const date = new Date(Date.parse(`${value}`))\n const options = { year: 'numeric', month: format, day: '2-digit' }\n if (Intl) {\n return Intl.DateTimeFormat(locale, options).format(date)\n } else {\n return date.toLocaleDateString(locale, options)\n }\n }\n }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.is-flex-items-center {\n display: flex;\n align-items: center;\n}\n</style>\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/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoicePrintOptionsModal.vue?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/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoicePrintOptionsModal.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./InvoicePrintOptionsModal.vue?vue&type=template&id=2c65e62c&scoped=true\"\nimport script from \"./InvoicePrintOptionsModal.vue?vue&type=script&lang=js\"\nexport * from \"./InvoicePrintOptionsModal.vue?vue&type=script&lang=js\"\nimport style0 from \"./InvoicePrintOptionsModal.vue?vue&type=style&index=0&id=2c65e62c&prod&lang=scss&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 \"2c65e62c\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./QuoteDetailAssessmentSummaryModal.vue?vue&type=style&index=0&id=06a9d7f6&prod&lang=scss&scoped=true\"","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.isActive)?_c('base-modal-ex',{attrs:{\"active\":_vm.isActive,\"animation-in\":_vm.animationIn,\"animation-out\":_vm.animationOut,\"animation-duration\":_vm.animationDuration,\"can-cancel\":false,\"min-width\":_vm.minWidth,\"has-modal-card\":\"\"},on:{\"update:active\":function($event){_vm.isActive=$event}}},[_c('div',{staticClass:\"model-content\"},[_c('div',{staticClass:\"modal-card\"},[_c('header',{staticClass:\"modal-card-head\"},[_c('p',{staticClass:\"modal-card-title\",class:{ 'is-flex-items-center' : _vm.showIcon}},[(_vm.showIcon)?_c('span',{staticClass:\"icon is-medium\"},[_c('i',{staticClass:\"mdi mdi-36px mdi-view-list\"})]):_vm._e(),_c('span',{staticClass:\"ml-2\"},[_vm._v(\"Category Totals\")])])]),_c('section',{staticClass:\"modal-card-body\"},[_c('article',[_c('quote-detail-assessment-summary',{attrs:{\"value\":_vm.value}})],1)]),_c('footer',{staticClass:\"modal-card-foot\",style:(`justify-content: flex-${_vm.buttonLocation}`)},[_c('button',{staticClass:\"button tooltip is-tooltip-topright\",attrs:{\"data-tooltip\":\"Cancel editing quote labour rates\"},on:{\"click\":function($event){return _vm.cancel()}}},[_vm._v(\"Close\")])])])])]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <base-modal-ex v-if=\"isActive\"\r\n :active.sync=\"isActive\"\r\n :animation-in=\"animationIn\"\r\n :animation-out=\"animationOut\"\r\n :animation-duration=\"animationDuration\"\r\n :can-cancel=\"false\"\r\n :min-width=\"minWidth\"\r\n has-modal-card>\r\n <div class=\"model-content\">\r\n <div class=\"modal-card\">\r\n <header class=\"modal-card-head\">\r\n <p class=\"modal-card-title\"\r\n :class=\"{ 'is-flex-items-center' : showIcon}\">\r\n <span v-if=\"showIcon\"\r\n class=\"icon is-medium\">\r\n <i class=\"mdi mdi-36px mdi-view-list\" />\r\n </span>\r\n <span class=\"ml-2\">Category Totals</span>\r\n </p>\r\n </header>\r\n <section class=\"modal-card-body\">\r\n <article>\r\n <quote-detail-assessment-summary :value=\"value\" />\r\n </article>\r\n </section>\r\n <footer class=\"modal-card-foot\"\r\n :style=\"`justify-content: flex-${buttonLocation}`\">\r\n <button class=\"button tooltip is-tooltip-topright\"\r\n @click=\"cancel()\"\r\n data-tooltip=\"Cancel editing quote labour rates\">Close</button>\r\n </footer>\r\n </div>\r\n </div>\r\n </base-modal-ex>\r\n</template>\r\n\r\n<script>\r\nimport { BaseModalEx } from '@/components/BulmaModal'\r\nimport QuoteDetailAssessmentSummary from '../QuoteDetailAssessmentSummary.vue'\r\n\r\nexport default {\r\n name: 'EditRatesModal',\r\n directives: {\r\n },\r\n components: {\r\n BaseModalEx,\r\n QuoteDetailAssessmentSummary\r\n },\r\n mixins: [],\r\n props: {\r\n value: null,\r\n active: {\r\n type: Boolean,\r\n default: false\r\n },\r\n animationIn: {\r\n type: String,\r\n default: 'fadeIn'\r\n },\r\n animationOut: {\r\n type: String,\r\n default: 'fadeOut'\r\n },\r\n animationDuration: {\r\n type: [String, Number],\r\n default: 0.3\r\n },\r\n buttonLocation: {\r\n type: String,\r\n default: 'end' // valid values 'start' & 'end'\r\n },\r\n showIcon: {\r\n type: Boolean,\r\n default: true\r\n }\r\n },\r\n data: () => {\r\n return {\r\n isActive: false\r\n }\r\n },\r\n computed: {\r\n minWidth() {\r\n return this.value.quoteAssessments.lenght > 0 ? this.value.quoteAssessments.lenght * 50 : 30\r\n }\r\n },\r\n watch: {},\r\n created() {\r\n },\r\n mounted() {\r\n this.isActive = this.active || false\r\n },\r\n beforeDestroy() {},\r\n methods: {\r\n cancel() {\r\n this.isActive = false\r\n this.$emit('close')\r\n }\r\n },\r\n beforeRouteEnter(to, from, next) {\r\n next()\r\n },\r\n beforeRouteLeave(to, from, next) {\r\n next()\r\n }\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.is-flex-items-center {\r\n display: flex;\r\n align-items: center;\r\n}\r\n.is-flex-items-end {\r\n display: flex;\r\n align-items: flex-end;\r\n}\r\n.modal-card-body {\r\n min-height: 15em;\r\n}\r\n.button.is-static {\r\n min-width: 4.5rem;\r\n}\r\n</style>\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/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./QuoteDetailAssessmentSummaryModal.vue?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/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./QuoteDetailAssessmentSummaryModal.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./QuoteDetailAssessmentSummaryModal.vue?vue&type=template&id=06a9d7f6&scoped=true\"\nimport script from \"./QuoteDetailAssessmentSummaryModal.vue?vue&type=script&lang=js\"\nexport * from \"./QuoteDetailAssessmentSummaryModal.vue?vue&type=script&lang=js\"\nimport style0 from \"./QuoteDetailAssessmentSummaryModal.vue?vue&type=style&index=0&id=06a9d7f6&prod&lang=scss&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 \"06a9d7f6\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('div',{staticClass:\"columns\"},[_vm._m(0),_c('div',{staticClass:\"buttons\"},[(_vm.selectedInvoice)?_c('div',{staticClass:\"is-flex is-justify-content-flex-end mr-2\"},[_c('button',{staticClass:\"button is-danger is-outlined\",on:{\"click\":_vm.voidInvoice}},[_vm._m(1),_c('span',[_vm._v(\"Void Invoice\")])])]):_vm._e(),(_vm.selectedInvoice)?_c('div',{staticClass:\"is-flex is-justify-content-flex-end\"},[_c('button',{staticClass:\"button is-outlined\",on:{\"click\":_vm.previewInvoice}},[_vm._m(2),_c('span',[_vm._v(\"Print Invoice\")])])]):_vm._e()])]),(_vm.selectedInvoice)?_c('div',[_c('div',{staticClass:\"columns\"},[_c('div',{staticClass:\"column\"},[_c('label',{staticClass:\"label\"},[_vm._v(\"Invoice No.\")]),_c('input',{staticClass:\"input is-static\",attrs:{\"type\":\"text\",\"readonly\":\"\"},domProps:{\"value\":_vm.invoiceNoReference}})]),_c('div',{staticClass:\"column\"},[_c('label',{staticClass:\"label\"},[_vm._v(\"Invoice Date\")]),_c('input',{staticClass:\"input\",attrs:{\"type\":\"text\",\"disabled\":\"\"},domProps:{\"value\":_vm.$filters.formatDateTimezone(_vm.selectedInvoice.invoiceDate, _vm.$userInfo.locale)}})])]),_c('div',{staticClass:\"is-divider mt-3 mb-4\"}),_c('div',[(_vm.jobsInvoiced.length > 0)?_c('table',{staticClass:\"table is-narrow is-fullwidth\"},[_vm._m(3),_vm._l((_vm.jobsInvoiced),function(assessment){return _c('tr',{key:assessment.assessmentId},[_c('td',[_vm._v(_vm._s(assessment.subQuoteNo === 0 ? 'Main' : `Supp-${assessment.subQuoteNo}`))]),_c('td',{staticClass:\"has-vertical-middle has-text-right money-input\"},[_vm._v(_vm._s(_vm.$filters.formatCurrency(assessment.invoicedAmount, _vm.$userInfo.locale)))])])})],2):_vm._e(),_c('div',[_c('div',{staticClass:\"columns\"},[(_vm.isMainInvoiceIncluded || _vm.selectedInvoice.invoiceType === _vm.invoiceTypes.Excess)?_c('div',{staticClass:\"column\"},[_c('div',{staticClass:\"field\"},[_c('label',{staticClass:\"label\"},[_vm._v(\"Excess\")]),_c('vue-numeric',{staticClass:\"input has-text-right\",attrs:{\"min:\":0,\"precision\":2,\"disabled\":\"\"},model:{value:(_vm.selectedInvoice.excessAmount),callback:function ($$v) {_vm.$set(_vm.selectedInvoice, \"excessAmount\", _vm._n($$v))},expression:\"selectedInvoice.excessAmount\"}})],1)]):_vm._e(),(_vm.isMainInvoiceIncluded || _vm.selectedInvoice.invoiceType === _vm.invoiceTypes.OwnerContribution)?_c('div',{staticClass:\"column\"},[_c('label',{staticClass:\"label\"},[_vm._v(\"Owner Contribution\")]),_c('vue-numeric',{staticClass:\"input has-text-right\",attrs:{\"min:\":0,\"precision\":2,\"disabled\":\"\"},model:{value:(_vm.selectedInvoice.ownerContribution),callback:function ($$v) {_vm.$set(_vm.selectedInvoice, \"ownerContribution\", _vm._n($$v))},expression:\"selectedInvoice.ownerContribution\"}})],1):_vm._e(),(_vm.selectedInvoice.invoiceType === _vm.invoiceTypes.Excess || _vm.selectedInvoice.invoiceType === _vm.invoiceTypes.OwnerContribution)?_c('div',{staticClass:\"column\"}):_vm._e()]),_c('div',{staticClass:\"columns\"},[(_vm.isMainInvoiceIncluded)?_c('div',{staticClass:\"column\"},[_c('div',{staticClass:\"field\"},[_c('label',{staticClass:\"label\"},[_vm._v(\"Discount\")]),_c('vue-numeric',{staticClass:\"input has-text-right\",attrs:{\"min:\":0,\"precision\":2,\"disabled\":\"\"},model:{value:(_vm.selectedInvoice.quoteDiscount),callback:function ($$v) {_vm.$set(_vm.selectedInvoice, \"quoteDiscount\", _vm._n($$v))},expression:\"selectedInvoice.quoteDiscount\"}})],1)]):_vm._e(),(_vm.selectedInvoice.invoiceType !== _vm.invoiceTypes.Excess)?_c('div',{staticClass:\"column\"},[_c('div',{staticClass:\"field\"},[_c('label',{staticClass:\"label\"},[_vm._v(\"GST\")]),_c('div',{staticClass:\"control\"},[_c('vue-numeric',{staticClass:\"input has-text-right\",attrs:{\"minus\":true,\"precision\":2,\"disabled\":\"\"},model:{value:(_vm.selectedInvoice.gst),callback:function ($$v) {_vm.$set(_vm.selectedInvoice, \"gst\", _vm._n($$v))},expression:\"selectedInvoice.gst\"}})],1)])]):_vm._e(),(_vm.selectedInvoice.invoiceType !== _vm.invoiceTypes.Excess && !_vm.isMainInvoiceIncluded)?_c('div',{staticClass:\"column\"}):_vm._e()])]),_c('div',{staticClass:\"field mt-2\"},[_c('div',{staticClass:\"control\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedInvoice.exported),expression:\"selectedInvoice.exported\"}],staticClass:\"is-checkradio\",attrs:{\"type\":\"checkbox\",\"id\":\"invoice-exported\",\"disabled\":\"\"},domProps:{\"checked\":Array.isArray(_vm.selectedInvoice.exported)?_vm._i(_vm.selectedInvoice.exported,null)>-1:(_vm.selectedInvoice.exported)},on:{\"change\":function($event){var $$a=_vm.selectedInvoice.exported,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.selectedInvoice, \"exported\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.selectedInvoice, \"exported\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.selectedInvoice, \"exported\", $$c)}}}}),_c('label',{attrs:{\"for\":\"invoice-exported\"}},[_vm._v(\"Exported\")])])]),_c('div',{staticClass:\"field\"},[_c('label',{staticClass:\"label\"},[_vm._v(\"Total Excl GST: \"),_c('span',{staticClass:\"has-text-success\"},[_vm._v(_vm._s(_vm._f(\"formatCurrency\")(_vm.selectedInvoice.totalExGst,_vm.$userInfo.locale)))])])]),_c('div',{staticClass:\"field\"},[_c('label',{staticClass:\"label\"},[_vm._v(\"Total Payable Incl GST: \"),_c('span',{staticClass:\"has-text-success\"},[_vm._v(_vm._s(_vm._f(\"formatCurrency\")(_vm.selectedInvoice.totalIncGst,_vm.$userInfo.locale)))])])]),(_vm.isOverrideEnabled)?_c('div',[_c('div',{staticClass:\"columns\"},[_c('div',{staticClass:\"column\"},[_c('div',{staticClass:\"field\"},[_c('label',{staticClass:\"label\"},[_vm._v(\"Total Labour\")]),_c('div',{staticClass:\"control\"},[_c('vue-numeric',{staticClass:\"input has-text-right\",attrs:{\"min:\":0,\"disabled\":\"\",\"precision\":2},model:{value:(_vm.selectedInvoice.labourOverride),callback:function ($$v) {_vm.$set(_vm.selectedInvoice, \"labourOverride\", $$v)},expression:\"selectedInvoice.labourOverride\"}})],1)])])]),_c('div',{staticClass:\"columns\"},[_c('div',{staticClass:\"column\"},[_c('div',{staticClass:\"field\"},[_c('label',{staticClass:\"label\"},[_vm._v(\"R & R\")]),_c('div',{staticClass:\"control\"},[_c('vue-numeric',{staticClass:\"input has-text-right\",attrs:{\"min:\":0,\"disabled\":\"\",\"precision\":2},model:{value:(_vm.selectedInvoice.rrOverride),callback:function ($$v) {_vm.$set(_vm.selectedInvoice, \"rrOverride\", $$v)},expression:\"selectedInvoice.rrOverride\"}})],1)])]),_c('div',{staticClass:\"column\"},[_c('div',{staticClass:\"field\"},[_c('label',{staticClass:\"label\"},[_vm._v(\"Repair\")]),_c('div',{staticClass:\"control\"},[_c('vue-numeric',{staticClass:\"input has-text-right\",attrs:{\"min:\":0,\"disabled\":\"\",\"precision\":2},model:{value:(_vm.selectedInvoice.repairOverride),callback:function ($$v) {_vm.$set(_vm.selectedInvoice, \"repairOverride\", $$v)},expression:\"selectedInvoice.repairOverride\"}})],1)])])]),_c('div',{staticClass:\"columns\"},[_c('div',{staticClass:\"column\"},[_c('div',{staticClass:\"field\"},[_c('label',{staticClass:\"label\"},[_vm._v(\"Paint\")]),_c('div',{staticClass:\"control\"},[_c('vue-numeric',{staticClass:\"input has-text-right\",attrs:{\"min:\":0,\"disabled\":\"\",\"precision\":2},model:{value:(_vm.selectedInvoice.paintOverride),callback:function ($$v) {_vm.$set(_vm.selectedInvoice, \"paintOverride\", $$v)},expression:\"selectedInvoice.paintOverride\"}})],1)])]),_c('div',{staticClass:\"column\"},[_c('div',{staticClass:\"field\"},[_c('label',{staticClass:\"label\"},[_vm._v(\"Mech\")]),_c('div',{staticClass:\"control\"},[_c('vue-numeric',{staticClass:\"input has-text-right\",attrs:{\"min:\":0,\"disabled\":\"\",\"precision\":2},model:{value:(_vm.selectedInvoice.mechOverride),callback:function ($$v) {_vm.$set(_vm.selectedInvoice, \"mechOverride\", $$v)},expression:\"selectedInvoice.mechOverride\"}})],1)])])])]):_vm._e()])]):_vm._e(),(_vm.isConfirmVoidActive)?_c('confirm-modal',{attrs:{\"active\":_vm.isConfirmVoidActive,\"ok-text\":'Yes',\"ok-class\":'is-success',\"cancel-text\":'No'},on:{\"update:active\":function($event){_vm.isConfirmVoidActive=$event},\"ok\":function($event){return _vm.confirmVoidInvoice()},\"cancel\":function($event){_vm.isConfirmVoidActive = false}}},[_c('p',{attrs:{\"slot\":\"text-title\"},slot:\"text-title\"},[_vm._v(\"Void Invoice\")]),_c('p',{attrs:{\"slot\":\"text-content\"},slot:\"text-content\"},[_c('span',[_vm._v(\"Are you sure you want to void the invoice? Proceeding will result in voiding invoice/s: \")]),_c('span',{staticClass:\"bold-text\"},[_vm._v(_vm._s(_vm.bindedInvoicesString))])])]):_vm._e(),(_vm.isInvoicePrintOptionsActive)?_c('assessment-invoice-print-options-modal',{attrs:{\"active\":_vm.isInvoicePrintOptionsActive,\"show-icon\":true,\"cancel-disabled\":false,\"value\":_vm.value,\"invoice\":_vm.selectedInvoice},on:{\"update:active\":function($event){_vm.isInvoicePrintOptionsActive=$event},\"ok\":_vm.printInvoice,\"cancel\":function($event){_vm.isInvoicePrintOptionsActive = false}}},[_c('p',{attrs:{\"slot\":\"text-title\"},slot:\"text-title\"},[_vm._v(\"Invoice Print Options\")])]):_vm._e()],1)\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"column is-flex is-align-items-center\"},[_c('p',{staticClass:\"title is-size-5\"},[_vm._v(\"Invoice Control\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('span',{staticClass:\"icon\"},[_c('i',{staticClass:\"mdi mdi-delete mdi-18px\"})])\n},function (){var _vm=this,_c=_vm._self._c;return _c('span',{staticClass:\"icon\"},[_c('i',{staticClass:\"mdi mdi-printer mdi-18px\"})])\n},function (){var _vm=this,_c=_vm._self._c;return _c('tr',[_c('th',{staticClass:\"has-vertical-middle\"},[_vm._v(\"Jobs Invoiced\")]),_c('th',{staticClass:\"has-vertical-middle has-text-right\"},[_vm._v(\"Inv. Amount Ex GST\")])])\n}]\n\nexport { render, staticRenderFns }","<template>\r\n <div>\r\n <div class=\"columns\">\r\n <div class=\"column is-flex is-align-items-center\">\r\n <p class=\"title is-size-5\">Invoice Control</p>\r\n </div>\r\n <div class=\"buttons\">\r\n <div v-if=\"selectedInvoice\"\r\n class=\"is-flex is-justify-content-flex-end mr-2\">\r\n <button @click=\"voidInvoice\"\r\n class=\"button is-danger is-outlined\">\r\n <span class=\"icon\"><i class=\"mdi mdi-delete mdi-18px\" /></span>\r\n <span>Void Invoice</span></button>\r\n </div>\r\n <div v-if=\"selectedInvoice\"\r\n class=\"is-flex is-justify-content-flex-end\">\r\n <button @click=\"previewInvoice\"\r\n class=\"button is-outlined\">\r\n <span class=\"icon\"><i class=\"mdi mdi-printer mdi-18px\" /></span>\r\n <span>Print Invoice</span></button>\r\n </div>\r\n </div>\r\n </div>\r\n <div v-if=\"selectedInvoice\">\r\n <div class=\"columns\">\r\n <div class=\"column\">\r\n <label class=\"label\">Invoice No.</label>\r\n <input class=\"input is-static\"\r\n :value=\"invoiceNoReference\"\r\n type=\"text\"\r\n readonly>\r\n </div>\r\n <div class=\"column\">\r\n <label class=\"label\">Invoice Date</label>\r\n <input class=\"input\"\r\n :value=\"$filters.formatDateTimezone(selectedInvoice.invoiceDate, $userInfo.locale)\"\r\n type=\"text\"\r\n disabled>\r\n </div>\r\n </div>\r\n <div class=\"is-divider mt-3 mb-4\" />\r\n <div>\r\n <table v-if=\"jobsInvoiced.length > 0\"\r\n class=\"table is-narrow is-fullwidth\">\r\n <tr>\r\n <th class=\"has-vertical-middle\">Jobs Invoiced</th>\r\n <th class=\"has-vertical-middle has-text-right\">Inv. Amount Ex GST</th>\r\n </tr>\r\n <tr v-for=\"assessment in jobsInvoiced\"\r\n :key=\"assessment.assessmentId\">\r\n <td>{{ assessment.subQuoteNo === 0 ? 'Main' : `Supp-${assessment.subQuoteNo}` }}</td>\r\n <td class=\"has-vertical-middle has-text-right money-input\">{{ $filters.formatCurrency(assessment.invoicedAmount, $userInfo.locale) }}</td>\r\n </tr>\r\n </table>\r\n <div>\r\n <div class=\"columns\">\r\n <div v-if=\"isMainInvoiceIncluded || selectedInvoice.invoiceType === invoiceTypes.Excess\"\r\n class=\"column\">\r\n <div class=\"field\">\r\n <label class=\"label\">Excess</label>\r\n <vue-numeric class=\"input has-text-right\"\r\n v-model.number=\"selectedInvoice.excessAmount\"\r\n :min:=\"0\"\r\n :precision=\"2\"\r\n disabled />\r\n </div>\r\n </div>\r\n <div v-if=\"isMainInvoiceIncluded || selectedInvoice.invoiceType === invoiceTypes.OwnerContribution\"\r\n class=\"column\">\r\n <label class=\"label\">Owner Contribution</label>\r\n <vue-numeric class=\"input has-text-right\"\r\n v-model.number=\"selectedInvoice.ownerContribution\"\r\n :min:=\"0\"\r\n :precision=\"2\"\r\n disabled />\r\n </div>\r\n <div v-if=\"selectedInvoice.invoiceType === invoiceTypes.Excess || selectedInvoice.invoiceType === invoiceTypes.OwnerContribution\"\r\n class=\"column\" />\r\n </div>\r\n <div class=\"columns\">\r\n <div v-if=\"isMainInvoiceIncluded\"\r\n class=\"column\">\r\n <div class=\"field\">\r\n <label class=\"label\">Discount</label>\r\n <vue-numeric class=\"input has-text-right\"\r\n v-model.number=\"selectedInvoice.quoteDiscount\"\r\n :min:=\"0\"\r\n :precision=\"2\"\r\n disabled />\r\n </div>\r\n </div>\r\n <div v-if=\"selectedInvoice.invoiceType !== invoiceTypes.Excess\"\r\n class=\"column\">\r\n <div class=\"field\">\r\n <label class=\"label\">GST</label>\r\n <div class=\"control\">\r\n <vue-numeric class=\"input has-text-right\"\r\n v-model.number=\"selectedInvoice.gst\"\r\n :minus=\"true\"\r\n :precision=\"2\"\r\n disabled />\r\n </div>\r\n </div>\r\n </div>\r\n <div v-if=\"selectedInvoice.invoiceType !== invoiceTypes.Excess && !isMainInvoiceIncluded\"\r\n class=\"column\" />\r\n </div>\r\n </div>\r\n <div class=\"field mt-2\">\r\n <div class=\"control\">\r\n <input type=\"checkbox\"\r\n v-model=\"selectedInvoice.exported\"\r\n class=\"is-checkradio\"\r\n id=\"invoice-exported\"\r\n disabled>\r\n <label for=\"invoice-exported\">Exported</label>\r\n </div>\r\n </div>\r\n <div class=\"field\">\r\n <label class=\"label\">Total Excl GST: <span class=\"has-text-success\">{{ selectedInvoice.totalExGst | formatCurrency($userInfo.locale) }}</span></label>\r\n </div>\r\n <div class=\"field\">\r\n <label class=\"label\">Total Payable Incl GST: <span class=\"has-text-success\">{{ selectedInvoice.totalIncGst | formatCurrency($userInfo.locale) }}</span></label>\r\n </div>\r\n <div v-if=\"isOverrideEnabled\">\r\n <div class=\"columns\">\r\n <div class=\"column\">\r\n <div class=\"field\">\r\n <label class=\"label\">Total Labour</label>\r\n <div class=\"control\">\r\n <vue-numeric class=\"input has-text-right\"\r\n v-model=\"selectedInvoice.labourOverride\"\r\n :min:=\"0\"\r\n disabled\r\n :precision=\"2\" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"columns\">\r\n <div class=\"column\">\r\n <div class=\"field\">\r\n <label class=\"label\">R & R</label>\r\n <div class=\"control\">\r\n <vue-numeric class=\"input has-text-right\"\r\n v-model=\"selectedInvoice.rrOverride\"\r\n :min:=\"0\"\r\n disabled\r\n :precision=\"2\" />\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"column\">\r\n <div class=\"field\">\r\n <label class=\"label\">Repair</label>\r\n <div class=\"control\">\r\n <vue-numeric class=\"input has-text-right\"\r\n v-model=\"selectedInvoice.repairOverride\"\r\n :min:=\"0\"\r\n disabled\r\n :precision=\"2\" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"columns\">\r\n <div class=\"column\">\r\n <div class=\"field\">\r\n <label class=\"label\">Paint</label>\r\n <div class=\"control\">\r\n <vue-numeric class=\"input has-text-right\"\r\n v-model=\"selectedInvoice.paintOverride\"\r\n :min:=\"0\"\r\n disabled\r\n :precision=\"2\" />\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"column\">\r\n <div class=\"field\">\r\n <label class=\"label\">Mech</label>\r\n <div class=\"control\">\r\n <vue-numeric class=\"input has-text-right\"\r\n v-model=\"selectedInvoice.mechOverride\"\r\n :min:=\"0\"\r\n disabled\r\n :precision=\"2\" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <confirm-modal v-if=\"isConfirmVoidActive\"\r\n :active.sync=\"isConfirmVoidActive\"\r\n @ok=\"confirmVoidInvoice()\"\r\n @cancel=\"isConfirmVoidActive = false\"\r\n :ok-text=\"'Yes'\"\r\n :ok-class=\"'is-success'\"\r\n :cancel-text=\"'No'\">\r\n <p slot=\"text-title\">Void Invoice</p>\r\n <p slot=\"text-content\">\r\n <span>Are you sure you want to void the invoice? Proceeding will result in voiding invoice/s: </span>\r\n <span class=\"bold-text\">{{ bindedInvoicesString }}</span>\r\n </p>\r\n </confirm-modal>\r\n <assessment-invoice-print-options-modal v-if=\"isInvoicePrintOptionsActive\"\r\n :active.sync=\"isInvoicePrintOptionsActive\"\r\n @ok=\"printInvoice\"\r\n @cancel=\"isInvoicePrintOptionsActive = false\"\r\n :show-icon=\"true\"\r\n :cancel-disabled=\"false\"\r\n :value=\"value\"\r\n :invoice=\"selectedInvoice\">\r\n <p slot=\"text-title\">Invoice Print Options</p>\r\n </assessment-invoice-print-options-modal>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { InvoiceTypes, AssetTypes, RemarkTypes } from '@/enums'\r\nimport { LabourPrintOptionTypes } from '../QuoteService'\r\nimport VueNumeric from '@/components/VueNumeric'\r\nimport { NumberFiltersMixin } from '@/components/mixins/filters'\r\nimport PrintPreviewRoutes from '@/components/printpreview/route-types'\r\nimport { ConfirmModal } from '@/components/BulmaModal'\r\nimport { AssessmentInvoicePrintOptionsModal } from '../components'\r\nimport { KeyValuePairModel } from '@/classes/viewmodels'\r\nimport StoreUtil from '@/store/utils'\r\nimport { Emailer } from '@/classes'\r\n\r\nexport default {\r\n name: 'InvoiceControlView',\r\n components: {\r\n VueNumeric,\r\n ConfirmModal,\r\n AssessmentInvoicePrintOptionsModal\r\n },\r\n filters: {},\r\n mixins: [NumberFiltersMixin],\r\n props: {\r\n value: null,\r\n selectedInvoice: null\r\n },\r\n data() {\r\n return {\r\n isConfirmVoidActive: false,\r\n isInvoicePrintOptionsActive: false\r\n }\r\n },\r\n computed: {\r\n invoiceTypes() {\r\n return InvoiceTypes\r\n },\r\n invoiceNoReference() {\r\n return this.getInvoiceReferenceNo(this.selectedInvoice)\r\n },\r\n invoiceTypeName() {\r\n return InvoiceTypes.getDisplayName(this.selectedInvoice.invoiceType)\r\n },\r\n jobsInvoiced() {\r\n return this.value.quoteAssessments.filter((assessment) =>\r\n this.selectedInvoice.includedAssessments.some((includedAssessment) => includedAssessment === assessment.assessmentID)\r\n )\r\n },\r\n isMainInvoiceIncluded() {\r\n return this.jobsInvoiced.some((assessment) => assessment.subQuoteNo === 0)\r\n },\r\n isOverrideEnabled() {\r\n return this.selectedInvoice.labourOverride || this.selectedInvoice.rrOverride || this.selectedInvoice.panelOverride || this.selectedInvoice.partOverride\r\n },\r\n raisedInvoice() {\r\n return this.value.invoices.filter((i) => i.isDeleted !== true && i.deleted !== true)\r\n },\r\n bindedInvoices() {\r\n let result = this.raisedInvoice.filter((i) => i.invoiceNo === this.selectedInvoice.invoiceNo)\r\n if (this.selectedInvoice.invoiceType === InvoiceTypes.Quote || this.selectedInvoice.invoiceType === InvoiceTypes.Gst) {\r\n result = result.filter((i) => i.invoiceType === InvoiceTypes.Gst || i.invoiceType === InvoiceTypes.Quote)\r\n } else if (this.selectedInvoice.invoiceType === InvoiceTypes.Excess || this.selectedInvoice.invoiceType === InvoiceTypes.OwnerContribution) {\r\n result = result.filter((i) => i.invoiceType === InvoiceTypes.Excess || i.invoiceType === InvoiceTypes.OwnerContribution)\r\n }\r\n return result\r\n },\r\n bindedInvoicesString() {\r\n if (this.bindedInvoices && this.bindedInvoices.length > 0) {\r\n return this.bindedInvoices.map((i) => this.getInvoiceReferenceNo(i)).join(', ')\r\n }\r\n return ''\r\n }\r\n },\r\n watch: {},\r\n created() {},\r\n mounted() {},\r\n methods: {\r\n voidInvoice() {\r\n this.isConfirmVoidActive = true\r\n },\r\n previewInvoice() {\r\n if (this.selectedInvoice.invoiceType === InvoiceTypes.Quote) {\r\n this.isInvoicePrintOptionsActive = true\r\n }\r\n else {\r\n const invoicePrintOptions = {\r\n detail: false,\r\n itemNumber: false,\r\n individualPartPrice: false,\r\n PartPriceInclMarkup: false,\r\n labourPrintOption: LabourPrintOptionTypes.Detailed\r\n }\r\n this.printInvoice(invoicePrintOptions)\r\n }\r\n },\r\n confirmVoidInvoice() {\r\n this.$emit('void-invoice', this.bindedInvoices)\r\n this.isConfirmVoidActive = false\r\n },\r\n getInvoiceReferenceNo(invoice) {\r\n return invoice ? `${invoice.prefix}${invoice.invoiceNo}${invoice.suffix}/${invoice.invoiceType}` : ''\r\n },\r\n printInvoice(invoicePrintOptions) {\r\n const params = {\r\n QuoteID: this.value.quoteId,\r\n QuoteNum: this.value.quoteNo,\r\n InvoiceNo: this.selectedInvoice\r\n ? `${this.selectedInvoice.prefix}${this.selectedInvoice.invoiceNo}${this.selectedInvoice.suffix}/${this.selectedInvoice.invoiceType}`\r\n : '',\r\n InvoiceDate: this.formatDateLocale(this.selectedInvoice.invoiceDate, this.$userInfo.locale),\r\n CompanyID: this.value.companyId,\r\n InvoiceID: this.selectedInvoice.invoiceId,\r\n CustomerID: this.value.customerId,\r\n InsurerID: this.value.insurerId,\r\n timezoneoffset: this.$filters.getSiteTimezoneOffset(),\r\n detailInvoice: false,\r\n PartPriceInclMarkup: false,\r\n individualPartPrice: true,\r\n itemNumber: true,\r\n LumpSum: false,\r\n Category: false\r\n }\r\n\r\n if (invoicePrintOptions.detail) {\r\n params.detailInvoice = true\r\n }\r\n if (invoicePrintOptions.PartPriceInclMarkup) {\r\n params.PartPriceInclMarkup = true\r\n }\r\n if (!invoicePrintOptions.individualPartPrice) {\r\n params.individualPartPrice = false\r\n }\r\n if (!invoicePrintOptions.itemNumber) {\r\n params.itemNumber = false\r\n }\r\n if (invoicePrintOptions.labourPrintOption === LabourPrintOptionTypes.LumpSum) {\r\n params.LumpSum = true\r\n }\r\n if (invoicePrintOptions.labourPrintOption === LabourPrintOptionTypes.Category) {\r\n params.Category = true\r\n }\r\n\r\n const keyValuePairs = KeyValuePairModel.convertToKeyValuePairs(params)\r\n const parameterId = this.$guid.newGuid()\r\n StoreUtil.setLocalStorage(parameterId, 'parameters', keyValuePairs)\r\n\r\n const emailer = new Emailer()\r\n emailer.assetId = this.value.quoteId\r\n emailer.assetTypes = [AssetTypes.Customer, AssetTypes.Insurer]\r\n emailer.remark = `Invoice ${this.selectedInvoice.prefix}${this.selectedInvoice.invoiceNo}${this.selectedInvoice.suffix}`\r\n emailer.remarkTypeId = RemarkTypes.OtherSystemRemark\r\n emailer.subject = `Invoice ${this.selectedInvoice.prefix}${this.selectedInvoice.invoiceNo}${this.selectedInvoice.suffix}`\r\n emailer.reportName = `Invoice_${this.selectedInvoice.prefix}${this.selectedInvoice.invoiceNo}${this.selectedInvoice.suffix}`\r\n StoreUtil.setLocalStorage(emailer.id, 'emailer', emailer)\r\n const routeData = this.$router.resolve({\r\n name: PrintPreviewRoutes.PrintPreview.name,\r\n params: { reportName: 'rptInvoice' },\r\n query: { parameterId: parameterId, emailerId: emailer.id, isNewTab: true }\r\n })\r\n window.open(routeData.href, '_blank')\r\n this.isInvoicePrintOptionsActive = false\r\n },\r\n formatDateLocale(value, locale, format = '2-digit') {\r\n const date = new Date(Date.parse(`${value}`))\r\n const options = { year: 'numeric', month: format, day: '2-digit' }\r\n if (Intl) {\r\n return Intl.DateTimeFormat(locale, options).format(date)\r\n } else {\r\n return date.toLocaleDateString(locale, options)\r\n }\r\n }\r\n }\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.bold-text {\r\n font-weight: bold;\r\n}\r\n</style>","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/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceControlView.vue?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/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceControlView.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./InvoiceControlView.vue?vue&type=template&id=11defd49&scoped=true\"\nimport script from \"./InvoiceControlView.vue?vue&type=script&lang=js\"\nexport * from \"./InvoiceControlView.vue?vue&type=script&lang=js\"\nimport style0 from \"./InvoiceControlView.vue?vue&type=style&index=0&id=11defd49&prod&lang=scss&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 \"11defd49\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('div',{staticClass:\"field\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.innerValue.detail),expression:\"innerValue.detail\"}],staticClass:\"is-checkradio\",attrs:{\"id\":\"detail-invoice\",\"type\":\"radio\",\"name\":\"detail-invoice\"},domProps:{\"value\":true,\"checked\":_vm._q(_vm.innerValue.detail,true)},on:{\"change\":function($event){return _vm.$set(_vm.innerValue, \"detail\", true)}}}),_c('label',{attrs:{\"for\":\"detail-invoice\"}},[_vm._v(\"Detail Invoice\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.innerValue.detail),expression:\"innerValue.detail\"}],staticClass:\"is-checkradio\",attrs:{\"id\":\"one-line-invoice\",\"type\":\"radio\",\"name\":\"one-line-invoice\"},domProps:{\"value\":false,\"checked\":_vm._q(_vm.innerValue.detail,false)},on:{\"change\":function($event){return _vm.$set(_vm.innerValue, \"detail\", false)}}}),_c('label',{attrs:{\"for\":\"one-line-invoice\"}},[_vm._v(\"1-Line Invoice\")])]),_c('div',{staticClass:\"is-divider\"}),_c('div',{staticClass:\"field\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.innerValue.itemNumber),expression:\"innerValue.itemNumber\"}],staticClass:\"is-checkradio\",attrs:{\"id\":\"itemNumber\",\"type\":\"checkbox\",\"checked\":\"checked\",\"name\":\"itemNumber\",\"disabled\":!_vm.innerValue.detail},domProps:{\"checked\":Array.isArray(_vm.innerValue.itemNumber)?_vm._i(_vm.innerValue.itemNumber,null)>-1:(_vm.innerValue.itemNumber)},on:{\"change\":function($event){var $$a=_vm.innerValue.itemNumber,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.innerValue, \"itemNumber\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.innerValue, \"itemNumber\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.innerValue, \"itemNumber\", $$c)}}}}),_c('label',{attrs:{\"for\":\"itemNumber\"}},[_vm._v(\"Item Number\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.innerValue.individualPartPrice),expression:\"innerValue.individualPartPrice\"}],staticClass:\"is-checkradio\",attrs:{\"id\":\"individualPartPrice\",\"type\":\"checkbox\",\"checked\":\"checked\",\"name\":\"individualPartPrice\",\"disabled\":!_vm.innerValue.detail},domProps:{\"checked\":Array.isArray(_vm.innerValue.individualPartPrice)?_vm._i(_vm.innerValue.individualPartPrice,null)>-1:(_vm.innerValue.individualPartPrice)},on:{\"change\":function($event){var $$a=_vm.innerValue.individualPartPrice,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.innerValue, \"individualPartPrice\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.innerValue, \"individualPartPrice\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.innerValue, \"individualPartPrice\", $$c)}}}}),_c('label',{attrs:{\"for\":\"individualPartPrice\"}},[_vm._v(\"Individual Part Price\")])]),_c('div',{staticClass:\"field\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.innerValue.PartPriceInclMarkup),expression:\"innerValue.PartPriceInclMarkup\"}],staticClass:\"is-checkradio\",attrs:{\"id\":\"PartPriceInclMarkup\",\"type\":\"checkbox\",\"checked\":\"checked\",\"name\":\"PartPriceInclMarkup\",\"disabled\":!_vm.innerValue.detail},domProps:{\"checked\":Array.isArray(_vm.innerValue.PartPriceInclMarkup)?_vm._i(_vm.innerValue.PartPriceInclMarkup,null)>-1:(_vm.innerValue.PartPriceInclMarkup)},on:{\"change\":function($event){var $$a=_vm.innerValue.PartPriceInclMarkup,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.innerValue, \"PartPriceInclMarkup\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.innerValue, \"PartPriceInclMarkup\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.innerValue, \"PartPriceInclMarkup\", $$c)}}}}),_c('label',{attrs:{\"for\":\"PartPriceInclMarkup\"}},[_vm._v(\"Part Prices incl. Markup\")])]),_c('div',{staticClass:\"is-divider\"}),_c('div',{staticClass:\"field\"},[_c('label',{staticClass:\"label\"},[_vm._v(\"Labour Print Options\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.innerValue.labourPrintOption),expression:\"innerValue.labourPrintOption\"}],staticClass:\"is-checkradio\",attrs:{\"id\":\"lumpSum\",\"type\":\"radio\",\"name\":\"lumpSum\",\"disabled\":!_vm.innerValue.detail},domProps:{\"value\":_vm.labourPrintOptionTypes.LumpSum,\"checked\":_vm._q(_vm.innerValue.labourPrintOption,_vm.labourPrintOptionTypes.LumpSum)},on:{\"change\":function($event){return _vm.$set(_vm.innerValue, \"labourPrintOption\", _vm.labourPrintOptionTypes.LumpSum)}}}),_c('label',{attrs:{\"for\":\"lumpSum\"}},[_vm._v(\"Lump Sum\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.innerValue.labourPrintOption),expression:\"innerValue.labourPrintOption\"}],staticClass:\"is-checkradio\",attrs:{\"id\":\"category\",\"type\":\"radio\",\"name\":\"category\",\"disabled\":!_vm.innerValue.detail},domProps:{\"value\":_vm.labourPrintOptionTypes.Category,\"checked\":_vm._q(_vm.innerValue.labourPrintOption,_vm.labourPrintOptionTypes.Category)},on:{\"change\":function($event){return _vm.$set(_vm.innerValue, \"labourPrintOption\", _vm.labourPrintOptionTypes.Category)}}}),_c('label',{attrs:{\"for\":\"category\"}},[_vm._v(\"Category\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.innerValue.labourPrintOption),expression:\"innerValue.labourPrintOption\"}],staticClass:\"is-checkradio\",attrs:{\"id\":\"detailed\",\"type\":\"radio\",\"name\":\"detailed\",\"disabled\":!_vm.innerValue.detail},domProps:{\"value\":_vm.labourPrintOptionTypes.Detailed,\"checked\":_vm._q(_vm.innerValue.labourPrintOption,_vm.labourPrintOptionTypes.Detailed)},on:{\"change\":function($event){return _vm.$set(_vm.innerValue, \"labourPrintOption\", _vm.labourPrintOptionTypes.Detailed)}}}),_c('label',{attrs:{\"for\":\"detailed\"}},[_vm._v(\"Detailed\")])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div>\n <div class=\"field\">\n <input class=\"is-checkradio\"\n id=\"detail-invoice\"\n type=\"radio\"\n name=\"detail-invoice\"\n :value=\"true\"\n v-model=\"innerValue.detail\">\n <label for=\"detail-invoice\">Detail Invoice</label>\n <input class=\"is-checkradio\"\n id=\"one-line-invoice\"\n type=\"radio\"\n name=\"one-line-invoice\"\n :value=\"false\"\n v-model=\"innerValue.detail\">\n <label for=\"one-line-invoice\">1-Line Invoice</label>\n </div>\n <div class=\"is-divider\" />\n <div class=\"field\">\n <input class=\"is-checkradio\"\n id=\"itemNumber\"\n type=\"checkbox\"\n checked=\"checked\"\n name=\"itemNumber\"\n v-model=\"innerValue.itemNumber\"\n :disabled=\"!innerValue.detail\">\n <label for=\"itemNumber\">Item Number</label>\n <input class=\"is-checkradio\"\n id=\"individualPartPrice\"\n type=\"checkbox\"\n checked=\"checked\"\n name=\"individualPartPrice\"\n v-model=\"innerValue.individualPartPrice\"\n :disabled=\"!innerValue.detail\">\n <label for=\"individualPartPrice\">Individual Part Price</label>\n </div>\n <div class=\"field\">\n <input class=\"is-checkradio\"\n id=\"PartPriceInclMarkup\"\n type=\"checkbox\"\n checked=\"checked\"\n name=\"PartPriceInclMarkup\"\n v-model=\"innerValue.PartPriceInclMarkup\"\n :disabled=\"!innerValue.detail\">\n <label for=\"PartPriceInclMarkup\">Part Prices incl. Markup</label>\n </div>\n <div class=\"is-divider\" />\n <div class=\"field\">\n <label class=\"label\">Labour Print Options</label>\n <input class=\"is-checkradio\"\n id=\"lumpSum\"\n type=\"radio\"\n name=\"lumpSum\"\n :value=\"labourPrintOptionTypes.LumpSum\"\n v-model=\"innerValue.labourPrintOption\"\n :disabled=\"!innerValue.detail\">\n <label for=\"lumpSum\">Lump Sum</label>\n <input class=\"is-checkradio\"\n id=\"category\"\n type=\"radio\"\n name=\"category\"\n :value=\"labourPrintOptionTypes.Category\"\n v-model=\"innerValue.labourPrintOption\"\n :disabled=\"!innerValue.detail\">\n <label for=\"category\">Category</label>\n <input class=\"is-checkradio\"\n id=\"detailed\"\n type=\"radio\"\n name=\"detailed\"\n :value=\"labourPrintOptionTypes.Detailed\"\n v-model=\"innerValue.labourPrintOption\"\n :disabled=\"!innerValue.detail\">\n <label for=\"detailed\">Detailed</label>\n </div>\n </div>\n</template>\n\n<script>\nimport { LabourPrintOptionTypes } from '../QuoteService'\n\nexport default {\n name: 'InvoicePrintOptions',\n components: {},\n props: {\n value: null\n },\n data() {\n return {\n isDetailInvoice: true,\n isItemNumber: true,\n isIndividualPartPrice: true,\n labourOption: LabourPrintOptionTypes.Detailed,\n innerValue: this.value\n }\n },\n computed: {\n labourPrintOptionTypes() {\n return LabourPrintOptionTypes\n }\n },\n watch: {\n innerValue: {\n handler: function(newVal, oldVal) {\n this.$emit('input', newVal)\n },\n deep: true\n },\n 'innerValue.detail': function(newVal, oldVal) {\n if (!newVal) {\n this.innerValue.labourPrintOption = LabourPrintOptionTypes.Category\n } else {\n this.innerValue.labourPrintOption = LabourPrintOptionTypes.Detailed\n }\n }\n },\n created() {},\n mounted() {},\n methods: {}\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.is-divider {\n margin: 1.2em 0;\n}\n</style>\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/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoicePrintOptions.vue?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/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoicePrintOptions.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./InvoicePrintOptions.vue?vue&type=template&id=2d88c9a3&scoped=true\"\nimport script from \"./InvoicePrintOptions.vue?vue&type=script&lang=js\"\nexport * from \"./InvoicePrintOptions.vue?vue&type=script&lang=js\"\nimport style0 from \"./InvoicePrintOptions.vue?vue&type=style&index=0&id=2d88c9a3&prod&lang=scss&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 \"2d88c9a3\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.isActive)?_c('base-modal-ex',{attrs:{\"active\":_vm.isActive,\"animation-in\":_vm.animationIn,\"animation-out\":_vm.animationOut,\"animation-duration\":_vm.animationDuration,\"can-cancel\":false,\"min-width\":40,\"has-modal-card\":\"\"},on:{\"update:active\":function($event){_vm.isActive=$event}}},[_c('header',{staticClass:\"modal-card-head\"},[_c('p',{staticClass:\"modal-card-title\",class:{ 'is-flex-items-center' : _vm.showIcon}},[(_vm.showIcon)?_c('span',{staticClass:\"icon is-medium\",class:`has-text-${_vm.iconType}`,staticStyle:{\"margin-right\":\"0.5rem\"}},[_c('i',{staticClass:\"mdi mdi-36px\",class:`${_vm.iconName}`})]):_vm._e(),_vm._t(\"text-title\")],2)]),_c('section',{staticClass:\"modal-card-body\"},[_c('invoice-print-options',{model:{value:(_vm.invoicePrintOptions),callback:function ($$v) {_vm.invoicePrintOptions=$$v},expression:\"invoicePrintOptions\"}})],1),_c('footer',{staticClass:\"modal-card-foot\",style:(`justify-content: flex-${_vm.buttonLocation}`)},[_c('button',{staticClass:\"button is-success tooltip\",attrs:{\"data-tooltip\":\"Generate report(s)\",\"disabled\":_vm.okDisabled},on:{\"click\":function($event){return _vm.ok()}}},[_c('span',{staticClass:\"icon is-small\"},[_c('i',{staticClass:\"mdi mdi-18px mdi-printer\"})]),_c('span',[_vm._v(\"Ok\")])]),_c('button',{staticClass:\"button tooltip\",attrs:{\"data-tooltip\":\"Cancel\",\"disabled\":_vm.cancelDisabled},on:{\"click\":function($event){return _vm.cancel()}}},[_vm._v(\"Cancel\")])])]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <base-modal-ex v-if=\"isActive\"\r\n :active.sync=\"isActive\"\r\n :animation-in=\"animationIn\"\r\n :animation-out=\"animationOut\"\r\n :animation-duration=\"animationDuration\"\r\n :can-cancel=\"false\"\r\n :min-width=\"40\"\r\n has-modal-card>\r\n <header class=\"modal-card-head\">\r\n <p class=\"modal-card-title\"\r\n :class=\"{ 'is-flex-items-center' : showIcon}\">\r\n <span v-if=\"showIcon\"\r\n class=\"icon is-medium\"\r\n :class=\"`has-text-${iconType}`\"\r\n style=\"margin-right: 0.5rem\">\r\n <i class=\"mdi mdi-36px\"\r\n :class=\"`${iconName}`\" />\r\n </span>\r\n <slot name=\"text-title\" />\r\n </p>\r\n </header>\r\n <section class=\"modal-card-body\">\r\n <!-- <slot name=\"text-content\"></slot> -->\r\n <invoice-print-options v-model=\"invoicePrintOptions\" />\r\n </section>\r\n <footer class=\"modal-card-foot\"\r\n :style=\"`justify-content: flex-${buttonLocation}`\">\r\n <button class=\"button is-success tooltip\"\r\n @click=\"ok()\"\r\n data-tooltip=\"Generate report(s)\"\r\n :disabled=\"okDisabled\">\r\n <span class=\"icon is-small\">\r\n <i class=\"mdi mdi-18px mdi-printer\" />\r\n </span>\r\n <span>Ok</span>\r\n </button>\r\n <button class=\"button tooltip\"\r\n @click=\"cancel()\"\r\n data-tooltip=\"Cancel\"\r\n :disabled=\"cancelDisabled\">Cancel</button>\r\n </footer>\r\n </base-modal-ex>\r\n</template>\r\n\r\n<script>\r\nimport { BaseModalEx } from '@/components/BulmaModal'\r\nimport { mapGetters } from 'vuex'\r\nimport InvoicePrintOptions from './InvoicePrintOptions'\r\nimport Guid from '@/components/Guid'\r\nimport { Emailer } from '@/classes'\r\nimport StoreUtil from '@/store/utils'\r\nimport PrintPreviewRoutes from '@/components/printpreview/route-types'\r\nimport { RemarkTypes, AssetTypes } from '@/enums'\r\nimport { LabourPrintOptionTypes } from '../QuoteService'\r\nimport { KeyValuePairModel } from '@/classes/viewmodels'\r\n\r\nexport default {\r\n name: 'AssessmentInvoicePrintOptionsModal',\r\n components: {\r\n BaseModalEx,\r\n InvoicePrintOptions\r\n },\r\n props: {\r\n value: null,\r\n invoice: null,\r\n active: {\r\n type: Boolean,\r\n default: false\r\n },\r\n animationIn: {\r\n type: String,\r\n default: 'zoomIn'\r\n },\r\n animationOut: {\r\n type: String,\r\n default: 'zoomOut'\r\n },\r\n animationDuration: {\r\n type: [String, Number],\r\n default: 0.3\r\n },\r\n buttonLocation: {\r\n type: String,\r\n default: 'end' // valid values 'start' & 'end'\r\n },\r\n showIcon: {\r\n type: Boolean,\r\n default: true\r\n },\r\n iconType: {\r\n type: String,\r\n default: 'primary'\r\n },\r\n iconName: {\r\n type: String,\r\n default: 'mdi-printer'\r\n },\r\n okDisabled: {\r\n type: Boolean,\r\n default: false\r\n },\r\n cancelDisabled: {\r\n type: Boolean,\r\n default: false\r\n }\r\n },\r\n data() {\r\n return {\r\n isActive: false,\r\n innerValue: null,\r\n invoicePrintOptions: {\r\n detail: true,\r\n itemNumber: true,\r\n individualPartPrice: true,\r\n PartPriceInclMarkup: false,\r\n labourPrintOption: LabourPrintOptionTypes.Detailed\r\n },\r\n // reportName: this.value.excessWithGst ? 'rptInvoiceWithGST' : 'rptInvoiceWithoutGST'\r\n reportName: 'rptInvoice'\r\n }\r\n },\r\n computed: {\r\n ...mapGetters(['licenceExpired'])\r\n },\r\n watch: {\r\n active(value) {\r\n this.isActive = value\r\n },\r\n 'invoicePrintOptions.itemNumber': function (newVal) {\r\n this.$setInvoicePrintShowItemNo(newVal)\r\n }\r\n },\r\n created() {\r\n this.$loadPrintOptions()\r\n this.invoicePrintOptions.itemNumber = this.$printOptions.invoice.showItemNo\r\n },\r\n mounted() {\r\n this.isActive = this.active || false\r\n },\r\n methods: {\r\n ok() {\r\n this.isActive = false\r\n this.$emit('update:active', false)\r\n // this.printInvoice()\r\n this.$emit('ok', this.invoicePrintOptions)\r\n },\r\n cancel() {\r\n this.isActive = false\r\n this.$emit('update:active', false)\r\n this.$emit('cancel')\r\n },\r\n printInvoice() {\r\n const params = {\r\n QuoteID: this.value.quoteId,\r\n QuoteNum: this.value.quoteNo,\r\n InvoiceNo: this.invoice ? `${this.invoice.prefix}${this.invoice.invoiceNo}${this.invoice.suffix}/${this.invoice.invoiceType}` : '',\r\n InvoiceDate: this.formatDateLocale(this.invoice.invoiceDate, this.$userInfo.locale),\r\n CompanyID: this.value.companyId,\r\n InvoiceID: this.invoice.invoiceId,\r\n qiID1: Guid.empty(),\r\n qiID2: Guid.empty(),\r\n qiID3: Guid.empty(),\r\n qiID4: Guid.empty(),\r\n qiID5: Guid.empty(),\r\n qiID6: Guid.empty(),\r\n qiID7: Guid.empty(),\r\n qiID8: Guid.empty(),\r\n qiID9: Guid.empty(),\r\n qiID10: Guid.empty(),\r\n qiID11: Guid.empty(),\r\n qiID12: Guid.empty(),\r\n qiID13: Guid.empty(),\r\n qiID14: Guid.empty(),\r\n qiID15: Guid.empty(),\r\n timezoneoffset: this.$filters.getSiteTimezoneOffset(),\r\n detailInvoice: false,\r\n PartPriceInclMarkup: false,\r\n individualPartPrice: true,\r\n itemNumber: true,\r\n LumpSum: false,\r\n Category: false\r\n }\r\n\r\n if (this.invoicePrintOptions.detail) {\r\n params.detailInvoice = true\r\n }\r\n if (this.invoicePrintOptions.PartPriceInclMarkup) {\r\n params.PartPriceInclMarkup = true\r\n }\r\n if (!this.invoicePrintOptions.individualPartPrice) {\r\n params.individualPartPrice = false\r\n }\r\n if (!this.invoicePrintOptions.itemNumber) {\r\n params.itemNumber = false\r\n }\r\n if (this.invoicePrintOptions.labourPrintOption === LabourPrintOptionTypes.LumpSum) {\r\n params.LumpSum = true\r\n }\r\n if (this.invoicePrintOptions.labourPrintOption === LabourPrintOptionTypes.Category) {\r\n params.Category = true\r\n }\r\n\r\n const keyValuePairs = KeyValuePairModel.convertToKeyValuePairs(params)\r\n const parameterId = this.$guid.newGuid()\r\n StoreUtil.setLocalStorage(parameterId, 'parameters', keyValuePairs)\r\n\r\n const emailer = new Emailer()\r\n emailer.assetId = this.value.quoteId\r\n emailer.assetTypes = [AssetTypes.Customer, AssetTypes.Insurer]\r\n emailer.remark = `Invoice ${this.invoice.prefix}${this.invoice.invoiceNo}${this.invoice.suffix}`\r\n emailer.remarkTypeId = RemarkTypes.OtherSystemRemark\r\n emailer.subject = `Invoice ${this.invoice.prefix}${this.invoice.invoiceNo}${this.invoice.suffix}`\r\n emailer.reportName = `Invoice_${this.invoice.prefix}${this.invoice.invoiceNo}${this.invoice.suffix}`\r\n StoreUtil.setLocalStorage(emailer.id, 'emailer', emailer)\r\n const routeData = this.$router.resolve({\r\n name: PrintPreviewRoutes.PrintPreview.name,\r\n params: { reportName: this.reportName },\r\n query: { parameterId: parameterId, emailerId: emailer.id, isNewTab: true }\r\n })\r\n window.open(routeData.href, '_blank')\r\n },\r\n // printGstInvoice() {\r\n // const params = {\r\n // QuoteID: this.value.quoteId,\r\n // InsurerID: this.value.insurerId,\r\n // CustomerID: this.value.customerId,\r\n // CompanyID: this.value.companyId,\r\n // InvoiceDate: this.formatDateLocale(this.gstInvoice.invoiceDate, this.$userInfo.locale),\r\n // InvoiceNo: this.gstInvoice.invoiceNo,\r\n // InvoiceID: this.gstInvoice.invoiceId,\r\n // qiID1: Guid.empty(),\r\n // qiID2: Guid.empty(),\r\n // qiID3: Guid.empty(),\r\n // qiID4: Guid.empty(),\r\n // qiID5: Guid.empty(),\r\n // qiID6: Guid.empty(),\r\n // qiID7: Guid.empty(),\r\n // qiID8: Guid.empty(),\r\n // qiID9: Guid.empty(),\r\n // qiID10: Guid.empty(),\r\n // qiID11: Guid.empty(),\r\n // qiID12: Guid.empty(),\r\n // qiID13: Guid.empty(),\r\n // qiID14: Guid.empty(),\r\n // qiID15: Guid.empty(),\r\n // timezoneoffset: this.$filters.getSiteTimezoneOffset()\r\n // }\r\n // // const query = this.$lzstring.compressToEncodedURIComponent(\r\n // // Object.keys(params)\r\n // // .map(e => `${e}=${params[e]}`)\r\n // // .join('&')\r\n // // )\r\n // const keyValuePairs = KeyValuePairModel.convertToKeyValuePairs(params)\r\n // const parameterId = this.$guid.newGuid()\r\n // StoreUtil.setLocalStorage(parameterId, 'parameters', keyValuePairs)\r\n\r\n // const emailer = new Emailer()\r\n // emailer.assetId = this.value.quoteId\r\n // emailer.assetTypes = [AssetTypes.Customer, AssetTypes.Insurer]\r\n // emailer.remark = `GST Invoice ${this.gstInvoice.prefix}${this.gstInvoice.invoiceNo}${this.gstInvoice.suffix}`\r\n // emailer.remarkTypeId = RemarkTypes.Remark\r\n // emailer.subject = `GST Invoice ${this.gstInvoice.prefix}${this.gstInvoice.invoiceNo}${this.gstInvoice.suffix}`\r\n // emailer.reportName = `GST-Invoice_${this.gstInvoice.prefix}${this.gstInvoice.invoiceNo}${this.gstInvoice.suffix}`\r\n // StoreUtil.setLocalStorage(emailer.id, 'emailer', emailer)\r\n // const routeData = this.$router.resolve({\r\n // name: PrintPreviewRoutes.PrintPreview.name,\r\n // params: { reportName: 'rptInvoiceGSTOnly' },\r\n // query: { parameterId: parameterId, emailerId: emailer.id, isNewTab: true }\r\n // })\r\n // window.open(routeData.href, '_blank')\r\n // },\r\n formatDateLocale(value, locale, format = '2-digit') {\r\n const date = new Date(Date.parse(`${value}`))\r\n const options = { year: 'numeric', month: format, day: '2-digit' }\r\n if (Intl) {\r\n return Intl.DateTimeFormat(locale, options).format(date)\r\n } else {\r\n return date.toLocaleDateString(locale, options)\r\n }\r\n }\r\n }\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.is-flex-items-center {\r\n display: flex;\r\n align-items: center;\r\n}\r\n</style>\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/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AssessmentInvoicePrintOptionsModal.vue?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/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AssessmentInvoicePrintOptionsModal.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./AssessmentInvoicePrintOptionsModal.vue?vue&type=template&id=cfc80ba2&scoped=true\"\nimport script from \"./AssessmentInvoicePrintOptionsModal.vue?vue&type=script&lang=js\"\nexport * from \"./AssessmentInvoicePrintOptionsModal.vue?vue&type=script&lang=js\"\nimport style0 from \"./AssessmentInvoicePrintOptionsModal.vue?vue&type=style&index=0&id=cfc80ba2&prod&lang=scss&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 \"cfc80ba2\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoicePrintOptions.vue?vue&type=style&index=0&id=2d88c9a3&prod&lang=scss&scoped=true\"","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.companyItemTypes)?_c('div',[_c('table',{staticClass:\"table is-bordered is-striped is-narrow is-fullwidth\"},[_c('thead',[_c('tr',[_c('th',{staticClass:\"is-title\"},[_vm._v(\"Category\")]),_vm._l((_vm.allAssessments),function(assessment){return _c('th',{key:assessment.assessmentID,staticClass:\"has-text-right is-subtotal\"},[_vm._v(\" \"+_vm._s(assessment.subQuoteNo === 0 ? 'Main' : `Supp-${assessment.subQuoteNo}`)+\" \")])}),(_vm.allAssessments.length > 1)?_c('th',{staticClass:\"has-text-right is-subtotal\"},[_vm._v(\" Summary \")]):_vm._e(),(_vm.allAssessments.length === 0)?_c('th',[_vm._v(\"Main\")]):_vm._e()],2)]),_c('tfoot',{class:[_vm.allAssessments.length > 1 ? 'has-multiple-column-totals' : 'has-multiple-totals']},[_c('tr',[_c('th',{staticClass:\"has-text-right\"},[_vm._v(\"Total excl. GST\")]),_vm._l((_vm.allAssessments),function(assessment){return _c('th',{key:assessment.assessmentID,staticClass:\"has-text-right has-text-success\"},[_vm._v(\" \"+_vm._s(_vm._f(\"formatCurrency\")(_vm.getAssessmentTotal(assessment),_vm.$userInfo.locale))+\" \")])}),(_vm.allAssessments.length > 1)?_c('th',{staticClass:\"has-text-right has-text-success\"},[_vm._v(_vm._s(_vm._f(\"formatCurrency\")(_vm.getGrandAssessmentTotal(),_vm.$userInfo.locale))+\" \")]):_vm._e(),(_vm.allAssessments.length === 0)?_c('th',{staticClass:\"has-text-right\"},[_vm._v(_vm._s(_vm._f(\"formatCurrency\")(0,_vm.$userInfo.locale)))]):_vm._e()],2),_c('tr',[_c('th',{staticClass:\"has-text-right\"},[_vm._v(\"GST\")]),_vm._l((_vm.allAssessments),function(assessment){return _c('th',{key:assessment.assessmentID,staticClass:\"has-text-right has-text-success\"},[_vm._v(\" \"+_vm._s(_vm._f(\"formatCurrency\")(_vm.getAssessmentTotal(assessment) * (_vm.value.gstRate/100),_vm.$userInfo.locale))+\" \")])}),(_vm.allAssessments.length > 1)?_c('th',{staticClass:\"has-text-right has-text-success\"},[_vm._v(_vm._s(_vm._f(\"formatCurrency\")(_vm.getGrandAssessmentTotal() * (_vm.value.gstRate/100),_vm.$userInfo.locale))+\" \")]):_vm._e(),(_vm.allAssessments.length === 0)?_c('th',{staticClass:\"has-text-right\"},[_vm._v(_vm._s(_vm._f(\"formatCurrency\")(0,_vm.$userInfo.locale)))]):_vm._e()],2),_c('tr',[_c('th',{staticClass:\"has-text-right\"},[_vm._v(\"Total incl. GST\")]),_vm._l((_vm.allAssessments),function(assessment){return _c('th',{key:assessment.assessmentID,staticClass:\"has-text-right has-text-success\"},[_vm._v(\" \"+_vm._s(_vm._f(\"formatCurrency\")(_vm.getAssessmentTotal(assessment) * (_vm.value.gstRate/100) + _vm.getAssessmentTotal(assessment),_vm.$userInfo.locale))+\" \")])}),(_vm.allAssessments.length > 1)?_c('th',{staticClass:\"has-text-right has-text-success\"},[_vm._v(_vm._s(_vm._f(\"formatCurrency\")(_vm.getGrandAssessmentTotal() * (_vm.value.gstRate/100) + _vm.getGrandAssessmentTotal(),_vm.$userInfo.locale))+\" \")]):_vm._e(),(_vm.allAssessments.length === 0)?_c('th',{staticClass:\"has-text-right\"},[_vm._v(_vm._s(_vm._f(\"formatCurrency\")(0,_vm.$userInfo.locale)))]):_vm._e()],2)]),_c('tbody',_vm._l((_vm.companyItemTypes),function(itemType){return _c('tr',{key:itemType.itemCategoryId},[_c('td',[_vm._v(\" \"+_vm._s(_vm.getDisplayName(itemType.itemCategoryType))+\" \")]),_vm._l((_vm.allAssessments),function(assessment){return _c('td',{key:assessment.assessmentID,staticClass:\"has-text-right\"},[_vm._v(\" \"+_vm._s(_vm._f(\"formatNumber\")(_vm.getAssessmentTotal(assessment, itemType.itemCategoryType),_vm.$userInfo.locale)))])}),(_vm.allAssessments.length > 1)?_c('td',{staticClass:\"has-text-right\"},[_vm._v(\" \"+_vm._s(_vm._f(\"formatNumber\")(_vm.getGrandAssessmentTotal(itemType.itemCategoryType),_vm.$userInfo.locale))+\" \")]):_vm._e(),(_vm.allAssessments.length === 0)?_c('td',{staticClass:\"has-text-right\"},[_vm._v(_vm._s(_vm._f(\"formatNumber\")(0,_vm.$userInfo.locale)))]):_vm._e()],2)}),0)])]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div v-if=\"companyItemTypes\">\r\n <table class=\"table is-bordered is-striped is-narrow is-fullwidth\">\r\n <thead>\r\n <tr>\r\n <th class=\"is-title\">Category</th>\r\n <th v-for=\"(assessment) in allAssessments\"\r\n :key=\"assessment.assessmentID\"\r\n class=\"has-text-right is-subtotal\">\r\n {{ assessment.subQuoteNo === 0 ? 'Main' : `Supp-${assessment.subQuoteNo}` }}\r\n </th>\r\n <th v-if=\"allAssessments.length > 1\"\r\n class=\"has-text-right is-subtotal\">\r\n Summary\r\n </th>\r\n <th v-if=\"allAssessments.length === 0\">Main</th>\r\n </tr>\r\n </thead>\r\n <tfoot :class=\"[allAssessments.length > 1 ? 'has-multiple-column-totals' : 'has-multiple-totals']\">\r\n <tr>\r\n <th class=\"has-text-right\">Total excl. GST</th>\r\n <th v-for=\"(assessment) in allAssessments\"\r\n :key=\"assessment.assessmentID\"\r\n class=\"has-text-right has-text-success\">\r\n {{ getAssessmentTotal(assessment) | formatCurrency($userInfo.locale) }}\r\n </th>\r\n <th v-if=\"allAssessments.length > 1\"\r\n class=\"has-text-right has-text-success\">{{ getGrandAssessmentTotal() | formatCurrency($userInfo.locale) }}\r\n </th>\r\n <th v-if=\"allAssessments.length === 0\"\r\n class=\"has-text-right\">{{ 0 | formatCurrency($userInfo.locale) }}</th>\r\n </tr>\r\n <tr>\r\n <th class=\"has-text-right\">GST</th>\r\n <th v-for=\"(assessment) in allAssessments\"\r\n :key=\"assessment.assessmentID\"\r\n class=\"has-text-right has-text-success\">\r\n {{ getAssessmentTotal(assessment) * (value.gstRate/100) | formatCurrency($userInfo.locale) }}\r\n </th>\r\n <th v-if=\"allAssessments.length > 1\"\r\n class=\"has-text-right has-text-success\">{{ getGrandAssessmentTotal() * (value.gstRate/100) | formatCurrency($userInfo.locale) }}\r\n </th>\r\n <th v-if=\"allAssessments.length === 0\"\r\n class=\"has-text-right\">{{ 0 | formatCurrency($userInfo.locale) }}</th>\r\n </tr>\r\n <tr>\r\n <th class=\"has-text-right\">Total incl. GST</th>\r\n <th v-for=\"(assessment) in allAssessments\"\r\n :key=\"assessment.assessmentID\"\r\n class=\"has-text-right has-text-success\">\r\n {{ getAssessmentTotal(assessment) * (value.gstRate/100) + getAssessmentTotal(assessment) | formatCurrency($userInfo.locale) }}\r\n </th>\r\n <th v-if=\"allAssessments.length > 1\"\r\n class=\"has-text-right has-text-success\">{{ getGrandAssessmentTotal() * (value.gstRate/100) + getGrandAssessmentTotal() | formatCurrency($userInfo.locale) }}\r\n </th>\r\n <th v-if=\"allAssessments.length === 0\"\r\n class=\"has-text-right\">{{ 0 | formatCurrency($userInfo.locale) }}</th>\r\n </tr>\r\n </tfoot>\r\n <tbody>\r\n <tr v-for=\"(itemType) in companyItemTypes\"\r\n :key=\"itemType.itemCategoryId\">\r\n <td>\r\n {{ getDisplayName(itemType.itemCategoryType) }}\r\n </td>\r\n <td v-for=\"assessment in allAssessments\"\r\n :key=\"assessment.assessmentID\"\r\n class=\"has-text-right\"> {{ getAssessmentTotal(assessment, itemType.itemCategoryType) | formatNumber($userInfo.locale) }}</td>\r\n <td v-if=\"allAssessments.length > 1\"\r\n class=\"has-text-right\">\r\n {{ getGrandAssessmentTotal(itemType.itemCategoryType) | formatNumber($userInfo.locale) }}\r\n </td>\r\n <td v-if=\"allAssessments.length === 0\"\r\n class=\"has-text-right\">{{ 0 | formatNumber($userInfo.locale) }}</td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { NumberFiltersMixin } from '@/components/mixins/filters'\r\nimport { ItemCategoryTypes } from '@/enums'\r\nimport { QuoteAssessmentMixin } from './mixins'\r\n\r\nexport default {\r\n name: 'QuoteDetailAssessmentSummary',\r\n mixins: [NumberFiltersMixin, QuoteAssessmentMixin],\r\n props: {\r\n value: null\r\n },\r\n data() {\r\n return {\r\n draftAssessment: null\r\n }\r\n },\r\n computed: {\r\n companyItemTypes() {\r\n return this.$company.itemCategories.filter((i) => i.enabled)\r\n },\r\n allAssessments() {\r\n const all = this.value.quoteAssessments.filter((a) => a.deleted !== true)\r\n if (this.draftAssessment) {\r\n all.push(this.draftAssessment)\r\n }\r\n return all\r\n }\r\n },\r\n created() {\r\n this.createDraftAssessment()\r\n },\r\n mounted() {},\r\n methods: {\r\n getAssessmentTotal(assessment, itemCategoryType = null) {\r\n if (assessment.authorisedAssessment) {\r\n let items = itemCategoryType\r\n ? assessment.authorisedAssessment.assessmentQuoteItems.filter((i) => i.itemType === itemCategoryType)\r\n : assessment.authorisedAssessment.assessmentQuoteItems\r\n return this.getAssessmentItemsDeltaTotal(items, this.value.quotingMethod)\r\n } else if (assessment.submittedAssessment) {\r\n let items = itemCategoryType\r\n ? assessment.submittedAssessment.assessmentQuoteItems.filter((i) => i.itemType === itemCategoryType)\r\n : assessment.submittedAssessment.assessmentQuoteItems\r\n return this.getAssessmentItemsDeltaTotal(items, this.value.quotingMethod)\r\n }\r\n },\r\n getGrandAssessmentTotal(itemCategoryType = null) {\r\n return this.allAssessments.reduce((acc, assessment) => {\r\n return acc + this.getAssessmentTotal(assessment, itemCategoryType)\r\n }, 0)\r\n },\r\n getQuoteTotal(itemCategoryType = null) {\r\n if (itemCategoryType === null) {\r\n return this.value.totalExGst\r\n }\r\n switch (itemCategoryType) {\r\n case ItemCategoryTypes.RR:\r\n return this.value.rrTotal\r\n case ItemCategoryTypes.RWA:\r\n return this.value.rwaTotal\r\n case ItemCategoryTypes.REP:\r\n return this.value.repairTotal\r\n case ItemCategoryTypes.PAINT:\r\n return this.value.paintTotal\r\n case ItemCategoryTypes.FIBER:\r\n return this.value.fgTotal\r\n case ItemCategoryTypes.CRUSH:\r\n return this.value.crushTotal\r\n case ItemCategoryTypes.CD:\r\n return this.value.cdTotal\r\n case ItemCategoryTypes.MECH:\r\n return this.value.mechTotal\r\n case ItemCategoryTypes.PART:\r\n return this.value.partTotal\r\n case ItemCategoryTypes.OPG:\r\n return this.value.opgTotal\r\n case ItemCategoryTypes.MISC:\r\n return this.value.miscTotal\r\n case ItemCategoryTypes.SUBL:\r\n return this.value.sublTotal\r\n case ItemCategoryTypes.PDRRR:\r\n return this.value.pdrRrTotal\r\n case ItemCategoryTypes.PDRRWA:\r\n return this.value.pdrRwaTotal\r\n default:\r\n break\r\n }\r\n },\r\n getDisplayName(itemCategoryType) {\r\n if (this.companyItemTypes) {\r\n const itemType = this.companyItemTypes.find((i) => i.itemCategoryType === itemCategoryType)\r\n if (itemType) {\r\n return itemType.displayName\r\n }\r\n }\r\n return itemCategoryType\r\n },\r\n createDraftAssessment() {\r\n const items = [...this.value.labours, ...this.value.others, ...this.value.parts, ...this.value.opgs, ...this.value.miscs, ...this.value.sublets]\r\n const itemsChanged = this.itemsChanged(items, this.value.quotingMethod)\r\n if (itemsChanged.length > 0) {\r\n this.draftAssessment = this.createAssessment(itemsChanged, this.value.quoteAssessments.length, this.value.assessorName)\r\n } else {\r\n this.draftAssessment = null\r\n }\r\n }\r\n }\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\nth.is-subtotal {\r\n width: 7em;\r\n}\r\nth.is-title {\r\n width: 12em;\r\n}\r\n</style>\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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./QuoteDetailAssessmentSummary.vue?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/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./QuoteDetailAssessmentSummary.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./QuoteDetailAssessmentSummary.vue?vue&type=template&id=2df074d5&scoped=true\"\nimport script from \"./QuoteDetailAssessmentSummary.vue?vue&type=script&lang=js\"\nexport * from \"./QuoteDetailAssessmentSummary.vue?vue&type=script&lang=js\"\nimport style0 from \"./QuoteDetailAssessmentSummary.vue?vue&type=style&index=0&id=2df074d5&prod&lang=scss&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 \"2df074d5\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceNoSearchModal.vue?vue&type=style&index=0&id=5a56bcd1&prod&lang=scss&scoped=true\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('div',{staticClass:\"is-flex is-justify-content-space-between\"},[_c('label',{staticClass:\"label\"},[_vm._v(\"Payer\")]),_c('div',{staticClass:\"is-flex\"},[_c('div',{staticClass:\"is-flex is-align-items-center is-justify-content-end mb-2\"},[_c('label',{staticClass:\"pretty-checkbox-label pr-1 is-size-7\",attrs:{\"for\":\"chk-customer\"}},[_vm._v(\"Customer\")]),_c('div',{staticClass:\"pretty p-icon p-round p-smooth m-0\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.assetFilter.showCustomer),expression:\"assetFilter.showCustomer\"}],attrs:{\"id\":\"chk-customer\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.assetFilter.showCustomer)?_vm._i(_vm.assetFilter.showCustomer,null)>-1:(_vm.assetFilter.showCustomer)},on:{\"change\":function($event){var $$a=_vm.assetFilter.showCustomer,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.assetFilter, \"showCustomer\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.assetFilter, \"showCustomer\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.assetFilter, \"showCustomer\", $$c)}}}}),_vm._m(0)])]),_c('div',{staticClass:\"is-flex is-align-items-center is-justify-content-end mb-2 pl-2\"},[_c('label',{staticClass:\"pretty-checkbox-label pr-1 is-size-7\",attrs:{\"for\":\"chk-insurer\"}},[_vm._v(\"Insurer\")]),_c('div',{staticClass:\"pretty p-icon p-round p-smooth m-0\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.assetFilter.showInsurer),expression:\"assetFilter.showInsurer\"}],attrs:{\"id\":\"chk-insurer\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.assetFilter.showInsurer)?_vm._i(_vm.assetFilter.showInsurer,null)>-1:(_vm.assetFilter.showInsurer)},on:{\"change\":function($event){var $$a=_vm.assetFilter.showInsurer,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.assetFilter, \"showInsurer\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.assetFilter, \"showInsurer\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.assetFilter, \"showInsurer\", $$c)}}}}),_vm._m(1)])])])]),_c('div',{staticClass:\"control is-expanded\"},[(_vm.assets)?_c('multiselect',{class:{ 'is-danger' : !_vm.selectedAsset},attrs:{\"deselect-label\":\"Can't remove this value\",\"track-by\":\"assetId\",\"label\":\"assetName\",\"placeholder\":\"Select a payer\",\"options\":_vm.assets,\"loading\":_vm.isAssetLoading,\"internal-search\":false,\"options-limit\":_vm.assetFilter.pageSize,\"searchable\":true,\"show-labels\":false,\"allow-empty\":true},on:{\"select\":_vm.selectAsset,\"search-change\":_vm.getAssetDropdownFilter},scopedSlots:_vm._u([{key:\"option\",fn:function(props){return [_c('span',{staticClass:\"tag is-pulled-right\",class:{'is-success' : props.option.assetType == 1, 'is-info' : props.option.assetType == 4}},[_vm._v(\" \"+_vm._s(props.option.assetType == 1 ? 'Customer' : 'Insurer')+\" \")]),_c('span',[_vm._v(_vm._s(`${props.option.assetName}`))])]}}],null,false,2502510241),model:{value:(_vm.selectedAsset),callback:function ($$v) {_vm.selectedAsset=$$v},expression:\"selectedAsset\"}},[_c('span',{staticClass:\"has-text-danger\",attrs:{\"slot\":\"noResult\"},slot:\"noResult\"},[_vm._v(\"Payer not found.\")])]):_vm._e(),(!_vm.selectedAsset)?_c('span',{staticClass:\"help is-danger\"},[_vm._v(\"Payer is required. \")]):_vm._e()],1)])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"state p-success\"},[_c('i',{staticClass:\"icon mdi mdi-check\"}),_c('label')])\n},function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"state p-info\"},[_c('i',{staticClass:\"icon mdi mdi-check\"}),_c('label')])\n}]\n\nexport { render, staticRenderFns }","<template>\r\n <div>\r\n <div class=\"is-flex is-justify-content-space-between\">\r\n <label class=\"label\">Payer</label>\r\n <div class=\"is-flex\">\r\n <div class=\"is-flex is-align-items-center is-justify-content-end mb-2\">\r\n <label class=\"pretty-checkbox-label pr-1 is-size-7\"\r\n for=\"chk-customer\">Customer</label>\r\n <div class=\"pretty p-icon p-round p-smooth m-0\">\r\n <input v-model=\"assetFilter.showCustomer\"\r\n id=\"chk-customer\"\r\n type=\"checkbox\">\r\n <div class=\"state p-success\">\r\n <i class=\"icon mdi mdi-check\" />\r\n <label />\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"is-flex is-align-items-center is-justify-content-end mb-2 pl-2\">\r\n <label class=\"pretty-checkbox-label pr-1 is-size-7\"\r\n for=\"chk-insurer\">Insurer</label>\r\n <div class=\"pretty p-icon p-round p-smooth m-0\">\r\n <input v-model=\"assetFilter.showInsurer\"\r\n id=\"chk-insurer\"\r\n type=\"checkbox\">\r\n <div class=\"state p-info\">\r\n <i class=\"icon mdi mdi-check\" />\r\n <label />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"control is-expanded\">\r\n <multiselect v-if=\"assets\"\r\n :class=\"{ 'is-danger' : !selectedAsset}\"\r\n v-model=\"selectedAsset\"\r\n deselect-label=\"Can't remove this value\"\r\n track-by=\"assetId\"\r\n label=\"assetName\"\r\n placeholder=\"Select a payer\"\r\n :options=\"assets\"\r\n :loading=\"isAssetLoading\"\r\n :internal-search=\"false\"\r\n :options-limit=\"assetFilter.pageSize\"\r\n @select=\"selectAsset\"\r\n @search-change=\"getAssetDropdownFilter\"\r\n :searchable=\"true\"\r\n :show-labels=\"false\"\r\n :allow-empty=\"true\">\r\n <template slot=\"option\"\r\n slot-scope=\"props\">\r\n <span class=\"tag is-pulled-right\"\r\n :class=\"{'is-success' : props.option.assetType == 1, 'is-info' : props.option.assetType == 4}\">\r\n {{ props.option.assetType == 1 ? 'Customer' : 'Insurer' }}\r\n </span>\r\n <span>{{ `${props.option.assetName}` }}</span>\r\n </template>\r\n <span class=\"has-text-danger\"\r\n slot=\"noResult\">Payer not found.</span>\r\n </multiselect>\r\n <span class=\"help is-danger\"\r\n v-if=\"!selectedAsset\">Payer is required.\r\n </span>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport Multiselect from 'vue-multiselect'\r\nimport _debounce from 'lodash.debounce'\r\nimport Guid from '@/components/Guid'\r\nimport { QuoteInvoiceValidationMixin} from '../mixins'\r\nimport QuickInvoiceService from '@/views/quickinvoice/QuickInvoiceService.js'\r\n\r\nexport default {\r\n name: 'PayerSelector',\r\n components: {\r\n Multiselect\r\n },\r\n mixins: [QuoteInvoiceValidationMixin],\r\n props : {\r\n value: {\r\n type: Object,\r\n required: true\r\n }\r\n },\r\n data() {\r\n return {\r\n assetFilter: {\r\n assetId: Guid.empty(),\r\n assetName: '',\r\n showCustomer: true,\r\n showInsurer: true,\r\n pageIndex: 1,\r\n pageSize: 50\r\n },\r\n selectedAsset: null,\r\n assets: [],\r\n isAssetLoading: false,\r\n insurerAsset: null,\r\n customerAsset: null\r\n }\r\n },\r\n computed: {\r\n showAsset() {\r\n return {\r\n customer: this.assetFilter.showCustomer,\r\n insurer: this.assetFilter.showInsurer\r\n }\r\n }\r\n },\r\n watch: {\r\n showAsset(newVal, oldVal) {\r\n if (!newVal.customer && !newVal.insurer) {\r\n this.assetFilter.showCustomer = !oldVal.customer\r\n this.assetFilter.showInsurer = !oldVal.insurer\r\n }\r\n this.getAssetDropdown()\r\n }\r\n },\r\n async created() {\r\n await this.getAssetDropdown()\r\n },\r\n methods: {\r\n async getAssetDropdown() {\r\n this.isAssetLoading = true\r\n this.assets = await QuickInvoiceService.getAssetDropdownProto(this.assetFilter)\r\n if (this.assetFilter.assetId !== Guid.empty()) {\r\n this.selectedAsset = this.assets.find((c) => c.assetId === this.assetFilter.assetId)\r\n }\r\n this.isAssetLoading = false\r\n },\r\n getAssetDropdownFilter: _debounce(async function (query) {\r\n this.isAssetLoading = true\r\n this.assetFilter.assetName = query\r\n this.assets = await QuickInvoiceService.getAssetDropdownProto(this.assetFilter)\r\n this.isAssetLoading = false\r\n }, 500),\r\n selectAsset(selected) {\r\n this.$emit('payer-select', selected)\r\n\r\n }\r\n }\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n</style>\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/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PayerSelector.vue?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/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PayerSelector.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./PayerSelector.vue?vue&type=template&id=5cb8ead6&scoped=true\"\nimport script from \"./PayerSelector.vue?vue&type=script&lang=js\"\nexport * from \"./PayerSelector.vue?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 \"5cb8ead6\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('div',{staticClass:\"columns\"},[_vm._m(0),(_vm.assessments.length > 0 && _vm.isLoadingInvoice)?_c('div',{staticClass:\"section\"},[_c('span',{staticClass:\"is-loading-image has-text-grey has-text-centered\"})]):_vm._e(),(_vm.assessments.length > 0 && !_vm.isLoadingInvoice)?_c('div',{staticClass:\"column is-flex is-justify-content-flex-end\"},[_c('button',{staticClass:\"button is-info\",attrs:{\"disabled\":!_vm.invoice.assetId || (_vm.gstInvoice ? !_vm.gstInvoice.assetId : false)},on:{\"click\":_vm.raiseInvoice}},[_vm._m(1),_c('span',[_vm._v(\"Raise Invoice\")])])]):_vm._e()]),_c('div',{staticClass:\"is-divider mt-0 mb-4\"}),(_vm.invoice && !_vm.isLoadingInvoice)?_c('div',[_c('div',{staticClass:\"columns\"},[_c('div',{staticClass:\"column\"},[_c('div',{staticClass:\"field\"},[_c('label',{staticClass:\"label\"},[_vm._v(\"Invoice No.\")]),_c('div',{staticClass:\"field has-addons\"},[_c('div',{staticClass:\"control\"},[_c('input',{staticClass:\"input is-static\",attrs:{\"type\":\"text\",\"placeholder\":\"Invoice No.\",\"readonly\":\"\"},domProps:{\"value\":_vm.invoiceNoReference}})]),(_vm.$userInfo.isSupportUser || _vm.$userInfo.isCustomerAdministrator)?_c('div',{staticClass:\"control\"},[(!_vm.selectedInvoice)?_c('button',{staticClass:\"button is-warning is-inverted tooltip is-tooltip-warning\",attrs:{\"data-tooltip\":\"Change invoice no.\"},on:{\"click\":_vm.showChangeInvoiceNoModal}},[_vm._m(2)]):_vm._e()]):_vm._e()])])]),_c('div',{staticClass:\"column\"},[(_vm.selectedInvoice)?_c('div',{staticClass:\"field\"},[_c('label',{staticClass:\"label\"},[_vm._v(\"Invoice Date\")]),_c('input',{staticClass:\"input is-static\",attrs:{\"readonly\":\"\"},domProps:{\"value\":_vm.$filters.formatDateTimezone(_vm.invoice.invoiceDate, _vm.$userInfo.locale)}})]):_c('div',{staticClass:\"field\"},[_c('label',{staticClass:\"label\"},[_vm._v(\"Invoice Date\")]),_c('div',{staticClass:\"control\"},[_c('v-date-picker',{attrs:{\"masks\":_vm.formats,\"attributes\":_vm.attrs,\"locale\":_vm.$userInfo.locale,\"min-date\":_vm.firstDayOfMonth,\"timezone\":_vm.$filters.getIanaTimezone()},scopedSlots:_vm._u([{key:\"default\",fn:function({ inputValue, inputEvents }){return [_c('div',{staticClass:\"field\"},[_c('div',{staticClass:\"control has-icons-left\"},[_c('input',_vm._g({staticClass:\"input\",attrs:{\"type\":\"text\",\"placeholder\":\"Invoice Date\",\"readonly\":\"\"},domProps:{\"value\":inputValue}},inputEvents)),_c('span',{staticClass:\"icon is-small is-left\"},[_c('i',{staticClass:\"mdi mdi-calendar mdi-18px\"})])])])]}}],null,false,1467311795),model:{value:(_vm.selectedInvoiceDate),callback:function ($$v) {_vm.selectedInvoiceDate=$$v},expression:\"selectedInvoiceDate\"}})],1)])])]),_c('div',{staticClass:\"is-divider mt-0 mb-4\"}),(_vm.selectedInvoice)?_c('div',{staticClass:\"field\"},[_c('label',{staticClass:\"label\"},[_vm._v(\"Payer\")]),_c('input',{staticClass:\"input is-static\",attrs:{\"type\":\"text\",\"readonly\":\"\"},domProps:{\"value\":_vm.invoice.assetName}})]):_c('div',{staticClass:\"field\"},[(_vm.invoice.invoicePayingType === _vm.invoicePayerTypes.ThirdParty)?_c('div',{staticClass:\"field\"},[_c('payer-selector',{on:{\"payer-select\":_vm.onThirdPartyPayerSelect},model:{value:(_vm.innerValue),callback:function ($$v) {_vm.innerValue=$$v},expression:\"innerValue\"}})],1):_vm._e(),_c('div',{staticClass:\"control\"},[(_vm.invoice.invoicePayingType !== _vm.invoicePayerTypes.ThirdParty)?_c('label',{staticClass:\"label\"},[_vm._v(\"Payer\")]):_vm._e(),_c('div',{staticClass:\"pretty p-default p-round p-smooth mr-6\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.invoice.invoicePayingType),expression:\"invoice.invoicePayingType\"}],attrs:{\"name\":\"rd-payerType1\",\"type\":\"radio\"},domProps:{\"value\":_vm.invoicePayerTypes.Insurer,\"checked\":_vm._q(_vm.invoice.invoicePayingType,_vm.invoicePayerTypes.Insurer)},on:{\"click\":function($event){return _vm.onInvoicePayerTypeClick(_vm.invoicePayerTypes.Insurer)},\"change\":function($event){return _vm.$set(_vm.invoice, \"invoicePayingType\", _vm.invoicePayerTypes.Insurer)}}}),_vm._m(3)]),_c('div',{staticClass:\"pretty p-default p-round p-smooth mr-6\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.invoice.invoicePayingType),expression:\"invoice.invoicePayingType\"}],attrs:{\"name\":\"rd-payerType2\",\"disabled\":!_vm.customerAsset,\"type\":\"radio\"},domProps:{\"value\":_vm.invoicePayerTypes.Private,\"checked\":_vm._q(_vm.invoice.invoicePayingType,_vm.invoicePayerTypes.Private)},on:{\"click\":function($event){return _vm.onInvoicePayerTypeClick(_vm.invoicePayerTypes.Private)},\"change\":function($event){return _vm.$set(_vm.invoice, \"invoicePayingType\", _vm.invoicePayerTypes.Private)}}}),_vm._m(4)]),_c('div',{staticClass:\"pretty p-default p-round p-smooth mr-6\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.invoice.invoicePayingType),expression:\"invoice.invoicePayingType\"}],attrs:{\"name\":\"rd-payerType2\",\"type\":\"radio\"},domProps:{\"value\":_vm.invoicePayerTypes.ThirdParty,\"checked\":_vm._q(_vm.invoice.invoicePayingType,_vm.invoicePayerTypes.ThirdParty)},on:{\"click\":function($event){return _vm.onInvoicePayerTypeClick(_vm.invoicePayerTypes.ThirdParty)},\"change\":function($event){return _vm.$set(_vm.invoice, \"invoicePayingType\", _vm.invoicePayerTypes.ThirdParty)}}}),_vm._m(5)])]),(!_vm.customerAsset)?_c('span',{staticClass:\"help is-danger\"},[_vm._v(\"Private invoice disabled. Customer has been deleted\")]):_vm._e()]),_c('div',{staticClass:\"is-divider mt-0 mb-4\"}),(_vm.isMainInvoice)?_c('div',[_c('div',{staticClass:\"columns\"},[_c('div',{staticClass:\"column\"},[_c('div',{staticClass:\"field\"},[_c('div',{staticClass:\"is-flex is-justify-content-space-between\"},[_c('label',{staticClass:\"label\"},[_vm._v(\"Excess\")]),_c('div',{staticClass:\"is-flex is-align-items-center is-justify-content-end mb-2\"},[_c('label',{staticClass:\"pretty-checkbox-label pr-1 is-size-7\",attrs:{\"for\":\"chk-invoiceExcessWtihGst\"}},[_vm._v(\"Excess with GST\")]),_c('div',{staticClass:\"pretty p-icon p-round p-smooth m-0\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.invoice.excessWithGst),expression:\"invoice.excessWithGst\"}],attrs:{\"id\":\"chk-invoiceExcessWtihGst\",\"type\":\"checkbox\",\"disabled\":_vm.selectedInvoice},domProps:{\"checked\":Array.isArray(_vm.invoice.excessWithGst)?_vm._i(_vm.invoice.excessWithGst,null)>-1:(_vm.invoice.excessWithGst)},on:{\"change\":[function($event){var $$a=_vm.invoice.excessWithGst,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.invoice, \"excessWithGst\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.invoice, \"excessWithGst\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.invoice, \"excessWithGst\", $$c)}},function($event){return _vm.excessWithGstUpdate()}]}}),_vm._m(6)])])]),_c('vue-numeric',{staticClass:\"input has-text-right\",attrs:{\"min:\":0,\"precision\":2,\"disabled\":_vm.hasExcessInvoice || _vm.selectedInvoice},on:{\"input\":function($event){return _vm.excessValueChanged()},\"blur\":function($event){return _vm.calculateExcess()}},model:{value:(_vm.invoice.excessAmount),callback:function ($$v) {_vm.$set(_vm.invoice, \"excessAmount\", _vm._n($$v))},expression:\"invoice.excessAmount\"}})],1)]),_c('div',{staticClass:\"column\"},[_c('label',{staticClass:\"label\"},[_vm._v(\"Owner Contribution\")]),_c('vue-numeric',{staticClass:\"input has-text-right\",attrs:{\"min:\":0,\"precision\":2,\"disabled\":_vm.hasExcessInvoice || _vm.selectedInvoice},on:{\"input\":function($event){return _vm.updateInvoice()}},model:{value:(_vm.invoice.ownerContribution),callback:function ($$v) {_vm.$set(_vm.invoice, \"ownerContribution\", _vm._n($$v))},expression:\"invoice.ownerContribution\"}})],1)]),_c('div',{staticClass:\"columns\"},[_c('div',{staticClass:\"column\"},[_c('div',{staticClass:\"field\"},[_c('label',{staticClass:\"label\"},[_vm._v(\"Discount\")]),_c('vue-numeric',{staticClass:\"input has-text-right\",attrs:{\"min:\":0,\"precision\":2,\"disabled\":_vm.selectedInvoice},on:{\"input\":function($event){return _vm.updateInvoice()}},model:{value:(_vm.invoice.quoteDiscount),callback:function ($$v) {_vm.$set(_vm.invoice, \"quoteDiscount\", _vm._n($$v))},expression:\"invoice.quoteDiscount\"}})],1)]),_c('div',{staticClass:\"column\"},[_c('div',{staticClass:\"field\"},[_c('div',{staticClass:\"is-flex is-justify-content-space-between\"},[_c('label',{staticClass:\"label\"},[_vm._v(\"GST\")]),_c('div',{staticClass:\"is-flex is-align-items-center is-justify-content-end mb-2\"},[_c('label',{staticClass:\"pretty-checkbox-label pr-1 is-size-7\",attrs:{\"for\":\"chk-fixed-gst\"}},[_vm._v(\"Fixed\")]),_c('div',{staticClass:\"pretty p-icon p-round p-smooth m-0\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.fixedGst),expression:\"fixedGst\"}],attrs:{\"id\":\"chk-fixed-gst\",\"type\":\"checkbox\",\"disabled\":_vm.selectedInvoice},domProps:{\"checked\":Array.isArray(_vm.fixedGst)?_vm._i(_vm.fixedGst,null)>-1:(_vm.fixedGst)},on:{\"change\":function($event){var $$a=_vm.fixedGst,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.fixedGst=$$a.concat([$$v]))}else{$$i>-1&&(_vm.fixedGst=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.fixedGst=$$c}}}}),_vm._m(7)])])]),_c('div',{staticClass:\"control\"},[_c('vue-numeric',{staticClass:\"input has-text-right\",attrs:{\"minus\":true,\"precision\":2,\"disabled\":_vm.isGstInvoiceOn || _vm.selectedInvoice},on:{\"input\":function($event){return _vm.updateGst()}},model:{value:(_vm.invoice.gst),callback:function ($$v) {_vm.$set(_vm.invoice, \"gst\", _vm._n($$v))},expression:\"invoice.gst\"}})],1)])])])]):_c('div',[_c('div',{staticClass:\"columns\"},[_c('div',{staticClass:\"column\"},[_c('div',{staticClass:\"field\"},[_c('label',{staticClass:\"label\"},[_vm._v(\"GST\")]),_c('div',{staticClass:\"control\"},[_c('vue-numeric',{staticClass:\"input has-text-right\",attrs:{\"minus\":true,\"precision\":2,\"disabled\":_vm.isGstInvoiceOn || _vm.selectedInvoice},on:{\"input\":function($event){return _vm.updateGst()}},model:{value:(_vm.invoice.gst),callback:function ($$v) {_vm.$set(_vm.invoice, \"gst\", _vm._n($$v))},expression:\"invoice.gst\"}})],1)])]),_c('div',{staticClass:\"column\"})])]),_c('div',{staticClass:\"field mt-2\"},[_c('div',{staticClass:\"control\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.invoice.exported),expression:\"invoice.exported\"}],staticClass:\"is-checkradio\",attrs:{\"type\":\"checkbox\",\"id\":\"invoice-exported\",\"disabled\":_vm.selectedInvoice},domProps:{\"checked\":Array.isArray(_vm.invoice.exported)?_vm._i(_vm.invoice.exported,null)>-1:(_vm.invoice.exported)},on:{\"change\":function($event){var $$a=_vm.invoice.exported,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.invoice, \"exported\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.invoice, \"exported\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.invoice, \"exported\", $$c)}}}}),_c('label',{attrs:{\"for\":\"invoice-exported\"}},[_vm._v(\"Exported\")])])]),_c('div',{staticClass:\"columns\"},[_c('div',{staticClass:\"column\"}),_c('div',{staticClass:\"column\"}),_vm._m(8),_c('div',{staticClass:\"column\"},[_c('span',{staticClass:\"label has-text-success mr-2\"},[_vm._v(_vm._s(_vm._f(\"formatCurrency\")(_vm.invoice.totalExGst,_vm.$userInfo.locale)))]),_c('span',{staticClass:\"label has-text-success mr-2\"},[_vm._v(_vm._s(_vm._f(\"formatCurrency\")(_vm.invoice.gst,_vm.$userInfo.locale)))]),_c('span',{staticClass:\"label has-text-success mr-2\"},[_vm._v(_vm._s(_vm._f(\"formatCurrency\")(_vm.invoice.totalIncGst,_vm.$userInfo.locale)))])])]),_c('div',{staticClass:\"is-divider mt-0 mb-4\"}),(_vm.invoice && !_vm.isLoadingInvoice)?_c('div',{staticClass:\"field\"},[_c('div',{staticClass:\"is-narrow\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.isGstInvoiceOn),expression:\"isGstInvoiceOn\"}],staticClass:\"is-checkradio\",attrs:{\"type\":\"checkbox\",\"id\":`gstInvoice`,\"disabled\":_vm.selectedInvoice},domProps:{\"checked\":Array.isArray(_vm.isGstInvoiceOn)?_vm._i(_vm.isGstInvoiceOn,null)>-1:(_vm.isGstInvoiceOn)},on:{\"click\":function($event){return _vm.addRemoveGstInvoice($event.target.checked)},\"change\":function($event){var $$a=_vm.isGstInvoiceOn,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.isGstInvoiceOn=$$a.concat([$$v]))}else{$$i>-1&&(_vm.isGstInvoiceOn=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.isGstInvoiceOn=$$c}}}}),_c('label',{attrs:{\"for\":`gstInvoice`}},[_vm._v(\"GST Invoice\")])]),(_vm.gstInvoice)?_c('div',{staticClass:\"mt-2\"},[(_vm.selectedInvoice)?_c('div',[_c('label',{staticClass:\"label\"},[_vm._v(\"Payer\")]),_c('span',[_vm._v(_vm._s(_vm.gstInvoice.assetName))]),_c('div',{staticClass:\"field\"},[_c('div',{staticClass:\"control\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.gstInvoice.exported),expression:\"gstInvoice.exported\"}],staticClass:\"is-checkradio\",attrs:{\"type\":\"checkbox\",\"id\":\"gstInvoice-exported\",\"disabled\":_vm.selectedInvoice || !_vm.$userInfo.isSupportUser},domProps:{\"checked\":Array.isArray(_vm.gstInvoice.exported)?_vm._i(_vm.gstInvoice.exported,null)>-1:(_vm.gstInvoice.exported)},on:{\"change\":function($event){var $$a=_vm.gstInvoice.exported,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.gstInvoice, \"exported\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.gstInvoice, \"exported\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.gstInvoice, \"exported\", $$c)}}}}),_c('label',{attrs:{\"for\":\"gstInvoice-exported\"}},[_vm._v(\"Exported\")])])])]):_c('div',[_c('div',{staticClass:\"field\"},[_c('payer-selector',{on:{\"payer-select\":_vm.onGstInvPayerSelect},model:{value:(_vm.innerValue),callback:function ($$v) {_vm.innerValue=$$v},expression:\"innerValue\"}})],1),_c('div',{staticClass:\"field mt-2\"},[_c('div',{staticClass:\"control\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.gstInvoice.exported),expression:\"gstInvoice.exported\"}],staticClass:\"is-checkradio\",attrs:{\"type\":\"checkbox\",\"id\":\"gst-invoice-exported\",\"disabled\":!_vm.$userInfo.isSupportUser},domProps:{\"checked\":Array.isArray(_vm.gstInvoice.exported)?_vm._i(_vm.gstInvoice.exported,null)>-1:(_vm.gstInvoice.exported)},on:{\"change\":function($event){var $$a=_vm.gstInvoice.exported,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.gstInvoice, \"exported\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.gstInvoice, \"exported\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.gstInvoice, \"exported\", $$c)}}}}),_c('label',{attrs:{\"for\":\"gst-invoice-exported\"}},[_vm._v(\"Exported\")])])])]),_c('div',{staticClass:\"is-divider mt-3 mb-4\"})]):_vm._e()]):_vm._e(),(_vm.invoice && !_vm.isLoadingInvoice)?_c('div',{staticClass:\"field\"},[_c('div',{staticClass:\"control\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.isOverrideEnabled),expression:\"isOverrideEnabled\"}],staticClass:\"is-checkradio\",attrs:{\"type\":\"checkbox\",\"disabled\":_vm.selectedInvoice,\"id\":\"override\"},domProps:{\"checked\":Array.isArray(_vm.isOverrideEnabled)?_vm._i(_vm.isOverrideEnabled,null)>-1:(_vm.isOverrideEnabled)},on:{\"change\":function($event){var $$a=_vm.isOverrideEnabled,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.isOverrideEnabled=$$a.concat([$$v]))}else{$$i>-1&&(_vm.isOverrideEnabled=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.isOverrideEnabled=$$c}}}}),_c('label',{attrs:{\"for\":\"override\"}},[_vm._v(\"Enable Override\")])])]):_vm._e(),(_vm.isOverrideEnabled)?_c('div',[_c('div',{staticClass:\"columns\"},[_c('div',{staticClass:\"column\"},[_c('div',{staticClass:\"field\"},[_c('label',{staticClass:\"label\"},[_vm._v(\"Total Labour\")]),_c('div',{staticClass:\"control\"},[_c('vue-numeric',{staticClass:\"input has-text-right\",attrs:{\"min:\":0,\"disabled\":_vm.selectedInvoice,\"precision\":2},on:{\"input\":function($event){return _vm.onLabourOverrideChange()}},model:{value:(_vm.invoice.labourOverride),callback:function ($$v) {_vm.$set(_vm.invoice, \"labourOverride\", $$v)},expression:\"invoice.labourOverride\"}})],1)])])]),_c('div',{staticClass:\"columns\"},[_c('div',{staticClass:\"column\"},[_c('div',{staticClass:\"field\"},[_c('label',{staticClass:\"label\"},[_vm._v(\"R & R\")]),_c('div',{staticClass:\"control\"},[_c('vue-numeric',{staticClass:\"input has-text-right\",attrs:{\"min:\":0,\"disabled\":_vm.selectedInvoice,\"precision\":2},on:{\"input\":function($event){return _vm.onOverrideChange()}},model:{value:(_vm.invoice.rrOverride),callback:function ($$v) {_vm.$set(_vm.invoice, \"rrOverride\", $$v)},expression:\"invoice.rrOverride\"}})],1)])]),_c('div',{staticClass:\"column\"},[_c('div',{staticClass:\"field\"},[_c('label',{staticClass:\"label\"},[_vm._v(\"Repair\")]),_c('div',{staticClass:\"control\"},[_c('vue-numeric',{staticClass:\"input has-text-right\",attrs:{\"min:\":0,\"disabled\":_vm.selectedInvoice,\"precision\":2},on:{\"input\":function($event){return _vm.onOverrideChange()}},model:{value:(_vm.invoice.repairOverride),callback:function ($$v) {_vm.$set(_vm.invoice, \"repairOverride\", $$v)},expression:\"invoice.repairOverride\"}})],1)])])]),_c('div',{staticClass:\"columns\"},[_c('div',{staticClass:\"column\"},[_c('div',{staticClass:\"field\"},[_c('label',{staticClass:\"label\"},[_vm._v(\"Paint\")]),_c('div',{staticClass:\"control\"},[_c('vue-numeric',{staticClass:\"input has-text-right\",attrs:{\"min:\":0,\"disabled\":_vm.selectedInvoice,\"precision\":2},on:{\"input\":function($event){return _vm.onOverrideChange()}},model:{value:(_vm.invoice.paintOverride),callback:function ($$v) {_vm.$set(_vm.invoice, \"paintOverride\", $$v)},expression:\"invoice.paintOverride\"}})],1)])]),_c('div',{staticClass:\"column\"},[_c('div',{staticClass:\"field\"},[_c('label',{staticClass:\"label\"},[_vm._v(\"Mech\")]),_c('div',{staticClass:\"control\"},[_c('vue-numeric',{staticClass:\"input has-text-right\",attrs:{\"min:\":0,\"disabled\":_vm.selectedInvoice,\"precision\":2},on:{\"input\":function($event){return _vm.onOverrideChange()}},model:{value:(_vm.invoice.mechOverride),callback:function ($$v) {_vm.$set(_vm.invoice, \"mechOverride\", $$v)},expression:\"invoice.mechOverride\"}})],1)])])])]):_vm._e()]):_vm._e(),(_vm.isInvoiceNoSearchModalActive)?_c('invoice-no-search-modal',{attrs:{\"active\":_vm.isInvoiceNoSearchModalActive,\"invoice-type\":1},on:{\"update:active\":function($event){_vm.isInvoiceNoSearchModalActive=$event},\"ok\":_vm.changeInvoiceNo,\"close\":function($event){_vm.isInvoiceNoSearchModalActive = false}}}):_vm._e()],1)\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"column is-flex is-align-items-center\"},[_c('p',{staticClass:\"title is-size-5\"},[_vm._v(\"Invoice Control\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('span',{staticClass:\"icon\"},[_c('i',{staticClass:\"mdi mdi-playlist-check mdi-18px\"})])\n},function (){var _vm=this,_c=_vm._self._c;return _c('span',{staticClass:\"icon is-medium\"},[_c('i',{staticClass:\"mdi mdi-pencil-outline mdi-24px\"})])\n},function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"state p-primary-o\"},[_c('label',[_vm._v(\"Insurer\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"state p-primary-o\"},[_c('label',[_vm._v(\"Private\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"state p-primary-o\"},[_c('label',[_vm._v(\"3rd Party\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"state p-primary\"},[_c('i',{staticClass:\"icon mdi mdi-check\"}),_c('label')])\n},function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"state p-primary\"},[_c('i',{staticClass:\"icon mdi mdi-check\"}),_c('label')])\n},function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"column\"},[_c('span',{staticClass:\"label\"},[_vm._v(\"Total Excl GST:\")]),_c('span',{staticClass:\"label\"},[_vm._v(\"GST:\")]),_c('span',{staticClass:\"label\"},[_vm._v(\"Total Payable Incl GST:\")])])\n}]\n\nexport { render, staticRenderFns }","<template>\r\n <div>\r\n <div class=\"columns\">\r\n <div class=\"column is-flex is-align-items-center\">\r\n <p class=\"title is-size-5\">Invoice Control</p>\r\n </div>\r\n <div v-if=\"assessments.length > 0 && isLoadingInvoice\"\r\n class=\"section\">\r\n <span class=\"is-loading-image has-text-grey has-text-centered\" />\r\n </div>\r\n <div v-if=\"assessments.length > 0 && !isLoadingInvoice\"\r\n class=\"column is-flex is-justify-content-flex-end\">\r\n <button @click=\"raiseInvoice\"\r\n class=\"button is-info\"\r\n :disabled=\"!invoice.assetId || (gstInvoice ? !gstInvoice.assetId : false)\">\r\n <span class=\"icon\"><i class=\"mdi mdi-playlist-check mdi-18px\" /></span>\r\n <span>Raise Invoice</span></button>\r\n </div>\r\n </div>\r\n <div class=\"is-divider mt-0 mb-4\" />\r\n <div v-if=\"invoice && !isLoadingInvoice\">\r\n <div class=\"columns\">\r\n <div class=\"column\">\r\n <div class=\"field\">\r\n <label class=\"label\">Invoice No.</label>\r\n <div class=\"field has-addons\">\r\n <div class=\"control\">\r\n <input class=\"input is-static\"\r\n :value=\"invoiceNoReference\"\r\n type=\"text\"\r\n placeholder=\"Invoice No.\"\r\n readonly>\r\n </div>\r\n <div v-if=\"$userInfo.isSupportUser || $userInfo.isCustomerAdministrator\"\r\n class=\"control\">\r\n <button v-if=\"!selectedInvoice\"\r\n class=\"button is-warning is-inverted tooltip is-tooltip-warning\"\r\n data-tooltip=\"Change invoice no.\"\r\n @click=\"showChangeInvoiceNoModal\">\r\n <span class=\"icon is-medium\">\r\n <i class=\"mdi mdi-pencil-outline mdi-24px\" />\r\n </span>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"column\">\r\n <div v-if=\"selectedInvoice\"\r\n class=\"field\">\r\n <label class=\"label\">Invoice Date</label>\r\n <input class=\"input is-static\"\r\n :value=\" $filters.formatDateTimezone(invoice.invoiceDate, $userInfo.locale)\"\r\n readonly>\r\n </div>\r\n <div v-else\r\n class=\"field\">\r\n <label class=\"label\">Invoice Date</label>\r\n <div class=\"control\">\r\n <v-date-picker v-model=\"selectedInvoiceDate\"\r\n :masks=\"formats\"\r\n :attributes=\"attrs\"\r\n :locale=\"$userInfo.locale\"\r\n :min-date=\"firstDayOfMonth\"\r\n :timezone=\"$filters.getIanaTimezone()\">\r\n <template v-slot=\"{ inputValue, inputEvents }\">\r\n <div class=\"field\">\r\n <div class=\"control has-icons-left\">\r\n <input type=\"text\"\r\n class=\"input\"\r\n placeholder=\"Invoice Date\"\r\n :value=\"inputValue\"\r\n v-on=\"inputEvents\"\r\n readonly>\r\n <span class=\"icon is-small is-left\">\r\n <i class=\"mdi mdi-calendar mdi-18px\" />\r\n </span>\r\n </div>\r\n </div>\r\n </template>\r\n </v-date-picker>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"is-divider mt-0 mb-4\" />\r\n <div v-if=\"selectedInvoice\"\r\n class=\"field\">\r\n <label class=\"label\">Payer</label>\r\n <input class=\"input is-static\"\r\n :value=\"invoice.assetName\"\r\n type=\"text\"\r\n readonly>\r\n </div>\r\n <div v-else\r\n class=\"field\">\r\n <div class=\"field\"\r\n v-if=\"invoice.invoicePayingType === invoicePayerTypes.ThirdParty\">\r\n <payer-selector v-model=\"innerValue\"\r\n @payer-select=\"onThirdPartyPayerSelect\" />\r\n </div>\r\n <div class=\"control\">\r\n <label v-if=\"invoice.invoicePayingType !== invoicePayerTypes.ThirdParty\"\r\n class=\"label\">Payer</label>\r\n <div class=\"pretty p-default p-round p-smooth mr-6\">\r\n <input name=\"rd-payerType1\"\r\n :value=\"invoicePayerTypes.Insurer\"\r\n v-model=\"invoice.invoicePayingType\"\r\n @click=\"onInvoicePayerTypeClick(invoicePayerTypes.Insurer)\"\r\n type=\"radio\">\r\n <div class=\"state p-primary-o\">\r\n <label>Insurer</label>\r\n </div>\r\n </div>\r\n <div class=\"pretty p-default p-round p-smooth mr-6\">\r\n <input name=\"rd-payerType2\"\r\n :value=\"invoicePayerTypes.Private\"\r\n v-model=\"invoice.invoicePayingType\"\r\n @click=\"onInvoicePayerTypeClick(invoicePayerTypes.Private)\"\r\n :disabled=\"!customerAsset\"\r\n type=\"radio\">\r\n <div class=\"state p-primary-o\">\r\n <label>Private</label>\r\n </div>\r\n </div>\r\n <div class=\"pretty p-default p-round p-smooth mr-6\">\r\n <input name=\"rd-payerType2\"\r\n :value=\"invoicePayerTypes.ThirdParty\"\r\n v-model=\"invoice.invoicePayingType\"\r\n @click=\"onInvoicePayerTypeClick(invoicePayerTypes.ThirdParty)\"\r\n type=\"radio\">\r\n <div class=\"state p-primary-o\">\r\n <label>3rd Party</label>\r\n </div>\r\n </div>\r\n </div>\r\n <span v-if=\"!customerAsset\"\r\n class=\"help is-danger\">Private invoice disabled. Customer has been deleted</span>\r\n </div>\r\n <div class=\"is-divider mt-0 mb-4\" />\r\n <div v-if=\"isMainInvoice\">\r\n <div class=\"columns\">\r\n <div class=\"column\">\r\n <div class=\"field\">\r\n <div class=\"is-flex is-justify-content-space-between\">\r\n <label class=\"label\">Excess</label>\r\n <div class=\"is-flex is-align-items-center is-justify-content-end mb-2\">\r\n <label class=\"pretty-checkbox-label pr-1 is-size-7\"\r\n for=\"chk-invoiceExcessWtihGst\">Excess with GST</label>\r\n <div class=\"pretty p-icon p-round p-smooth m-0\">\r\n <input id=\"chk-invoiceExcessWtihGst\"\r\n type=\"checkbox\"\r\n @change=\"excessWithGstUpdate()\"\r\n v-model=\"invoice.excessWithGst\"\r\n :disabled=\"selectedInvoice\">\r\n <div class=\"state p-primary\">\r\n <i class=\"icon mdi mdi-check\" />\r\n <label />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <vue-numeric class=\"input has-text-right\"\r\n v-model.number=\"invoice.excessAmount\"\r\n :min:=\"0\"\r\n :precision=\"2\"\r\n :disabled=\"hasExcessInvoice || selectedInvoice\"\r\n @input=\"excessValueChanged()\"\r\n @blur=\"calculateExcess()\" />\r\n </div>\r\n </div>\r\n <div class=\"column\">\r\n <label class=\"label\">Owner Contribution</label>\r\n <vue-numeric class=\"input has-text-right\"\r\n v-model.number=\"invoice.ownerContribution\"\r\n :min:=\"0\"\r\n :precision=\"2\"\r\n :disabled=\"hasExcessInvoice || selectedInvoice\"\r\n @input=\"updateInvoice()\" />\r\n </div>\r\n </div>\r\n <div class=\"columns\">\r\n <div class=\"column\">\r\n <div class=\"field\">\r\n <label class=\"label\">Discount</label>\r\n <vue-numeric class=\"input has-text-right\"\r\n v-model.number=\"invoice.quoteDiscount\"\r\n :min:=\"0\"\r\n :precision=\"2\"\r\n :disabled=\"selectedInvoice\"\r\n @input=\"updateInvoice()\" />\r\n </div>\r\n </div>\r\n <div class=\"column\">\r\n <div class=\"field\">\r\n <div class=\"is-flex is-justify-content-space-between\">\r\n <label class=\"label\">GST</label>\r\n <div class=\"is-flex is-align-items-center is-justify-content-end mb-2\">\r\n <label class=\"pretty-checkbox-label pr-1 is-size-7\"\r\n for=\"chk-fixed-gst\">Fixed</label>\r\n <div class=\"pretty p-icon p-round p-smooth m-0\">\r\n <input id=\"chk-fixed-gst\"\r\n type=\"checkbox\"\r\n v-model=\"fixedGst\"\r\n :disabled=\"selectedInvoice\">\r\n <div class=\"state p-primary\">\r\n <i class=\"icon mdi mdi-check\" />\r\n <label />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"control\">\r\n <vue-numeric class=\"input has-text-right\"\r\n v-model.number=\"invoice.gst\"\r\n :minus=\"true\"\r\n :precision=\"2\"\r\n @input=\"updateGst()\"\r\n :disabled=\"isGstInvoiceOn || selectedInvoice\" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div v-else>\r\n <div class=\"columns\">\r\n <div class=\"column\">\r\n <div class=\"field\">\r\n <label class=\"label\">GST</label>\r\n <div class=\"control\">\r\n <vue-numeric class=\"input has-text-right\"\r\n v-model.number=\"invoice.gst\"\r\n :minus=\"true\"\r\n :precision=\"2\"\r\n @input=\"updateGst()\"\r\n :disabled=\"isGstInvoiceOn || selectedInvoice\" />\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"column\" />\r\n </div>\r\n </div>\r\n <div class=\"field mt-2\">\r\n <div class=\"control\">\r\n <input type=\"checkbox\"\r\n v-model=\"invoice.exported\"\r\n class=\"is-checkradio\"\r\n id=\"invoice-exported\"\r\n :disabled=\"selectedInvoice\">\r\n <label for=\"invoice-exported\">Exported</label>\r\n </div>\r\n </div>\r\n <div class=\"columns\">\r\n <div class=\"column\" />\r\n <div class=\"column\" />\r\n <div class=\"column\">\r\n <span class=\"label\">Total Excl GST:</span>\r\n <span class=\"label\">GST:</span>\r\n <span class=\"label\">Total Payable Incl GST:</span>\r\n </div>\r\n <div class=\"column\">\r\n <span class=\"label has-text-success mr-2\">{{ invoice.totalExGst | formatCurrency($userInfo.locale) }}</span>\r\n <span class=\"label has-text-success mr-2\">{{ invoice.gst | formatCurrency($userInfo.locale) }}</span>\r\n <span class=\"label has-text-success mr-2\">{{ invoice.totalIncGst | formatCurrency($userInfo.locale) }}</span>\r\n </div>\r\n </div>\r\n <div class=\"is-divider mt-0 mb-4\" />\r\n <div v-if=\"invoice && !isLoadingInvoice\"\r\n class=\"field\">\r\n <div class=\"is-narrow\">\r\n <input type=\"checkbox\"\r\n v-model=\"isGstInvoiceOn\"\r\n class=\"is-checkradio\"\r\n :id=\"`gstInvoice`\"\r\n :disabled=\"selectedInvoice\"\r\n @click=\"addRemoveGstInvoice($event.target.checked)\">\r\n <label :for=\"`gstInvoice`\">GST Invoice</label>\r\n </div>\r\n <div v-if=\"gstInvoice\"\r\n class=\"mt-2\">\r\n <div v-if=\"selectedInvoice\">\r\n <label class=\"label\">Payer</label>\r\n <span>{{ gstInvoice.assetName }}</span>\r\n <div class=\"field\">\r\n <div class=\"control\">\r\n <input type=\"checkbox\"\r\n v-model=\"gstInvoice.exported\"\r\n class=\"is-checkradio\"\r\n id=\"gstInvoice-exported\"\r\n :disabled=\"selectedInvoice || !$userInfo.isSupportUser\">\r\n <label for=\"gstInvoice-exported\">Exported</label>\r\n </div>\r\n </div>\r\n </div>\r\n <div v-else>\r\n <div class=\"field\">\r\n <payer-selector v-model=\"innerValue\"\r\n @payer-select=\"onGstInvPayerSelect\" />\r\n </div>\r\n <div class=\"field mt-2\">\r\n <div class=\"control\">\r\n <input type=\"checkbox\"\r\n v-model=\"gstInvoice.exported\"\r\n class=\"is-checkradio\"\r\n id=\"gst-invoice-exported\"\r\n :disabled=\"!$userInfo.isSupportUser\">\r\n <label for=\"gst-invoice-exported\">Exported</label>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"is-divider mt-3 mb-4\" />\r\n </div>\r\n </div>\r\n <div v-if=\"invoice && !isLoadingInvoice\"\r\n class=\"field\">\r\n <div class=\"control\">\r\n <input type=\"checkbox\"\r\n :disabled=\"selectedInvoice\"\r\n v-model=\"isOverrideEnabled\"\r\n class=\"is-checkradio\"\r\n id=\"override\">\r\n <label for=\"override\">Enable Override</label>\r\n </div>\r\n </div>\r\n <div v-if=\"isOverrideEnabled\">\r\n <div class=\"columns\">\r\n <div class=\"column\">\r\n <div class=\"field\">\r\n <label class=\"label\">Total Labour</label>\r\n <div class=\"control\">\r\n <vue-numeric class=\"input has-text-right\"\r\n v-model=\"invoice.labourOverride\"\r\n @input=\"onLabourOverrideChange()\"\r\n :min:=\"0\"\r\n :disabled=\"selectedInvoice\"\r\n :precision=\"2\" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"columns\">\r\n <div class=\"column\">\r\n <div class=\"field\">\r\n <label class=\"label\">R & R</label>\r\n <div class=\"control\">\r\n <vue-numeric class=\"input has-text-right\"\r\n v-model=\"invoice.rrOverride\"\r\n @input=\"onOverrideChange()\"\r\n :min:=\"0\"\r\n :disabled=\"selectedInvoice\"\r\n :precision=\"2\" />\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"column\">\r\n <div class=\"field\">\r\n <label class=\"label\">Repair</label>\r\n <div class=\"control\">\r\n <vue-numeric class=\"input has-text-right\"\r\n v-model=\"invoice.repairOverride\"\r\n @input=\"onOverrideChange()\"\r\n :min:=\"0\"\r\n :disabled=\"selectedInvoice\"\r\n :precision=\"2\" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"columns\">\r\n <div class=\"column\">\r\n <div class=\"field\">\r\n <label class=\"label\">Paint</label>\r\n <div class=\"control\">\r\n <vue-numeric class=\"input has-text-right\"\r\n v-model=\"invoice.paintOverride\"\r\n @input=\"onOverrideChange()\"\r\n :min:=\"0\"\r\n :disabled=\"selectedInvoice\"\r\n :precision=\"2\" />\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"column\">\r\n <div class=\"field\">\r\n <label class=\"label\">Mech</label>\r\n <div class=\"control\">\r\n <vue-numeric class=\"input has-text-right\"\r\n v-model=\"invoice.mechOverride\"\r\n @input=\"onOverrideChange()\"\r\n :min:=\"0\"\r\n :disabled=\"selectedInvoice\"\r\n :precision=\"2\" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <invoice-no-search-modal v-if=\"isInvoiceNoSearchModalActive\"\r\n :active.sync=\"isInvoiceNoSearchModalActive\"\r\n :invoice-type=\"1\"\r\n @ok=\"changeInvoiceNo\"\r\n @close=\"isInvoiceNoSearchModalActive = false\" />\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport _cloneDeep from 'lodash/cloneDeep'\r\nimport { roundAwayFromZero } from '@/components/utils/AccountingFunctions'\r\nimport InvoiceNoSearchModal from './InvoiceNoSearchModal'\r\nimport VueNumeric from '@/components/VueNumeric'\r\nimport { InvoiceTypes, AssetTypes, InvoicePayerTypes, ItemCategoryTypes, ItemCategoryCodeTypes } from '@/enums'\r\nimport { QuoteInvoiceService } from '../services'\r\nimport QuickInvoiceService from '@/views/quickinvoice/QuickInvoiceService.js'\r\nimport { QuoteInvoiceValidationMixin, QuoteAssessmentMixin, QuoteInvoiceStoreMixin } from '../mixins'\r\nimport { NumberFiltersMixin } from '@/components/mixins/filters'\r\nimport { GstModel } from '@/classes'\r\nimport PayerSelector from './PayerSelector'\r\n\r\nexport default {\r\n name: 'InvoiceControl',\r\n components: {\r\n InvoiceNoSearchModal,\r\n VueNumeric,\r\n PayerSelector\r\n },\r\n filters: {},\r\n mixins: [QuoteInvoiceValidationMixin, QuoteInvoiceStoreMixin, NumberFiltersMixin, QuoteAssessmentMixin],\r\n props: {\r\n value: null,\r\n assessments: {\r\n type: Array,\r\n default: () => []\r\n },\r\n selectedInvoice: null\r\n },\r\n data() {\r\n return {\r\n innerValue: null,\r\n invoice: null,\r\n gstInvoice: null,\r\n itemsTotal: 0,\r\n isInvoiceNoSearchModalActive: false,\r\n insurerAsset: null,\r\n customerAsset: null,\r\n isLoadingInvoice: false,\r\n isGstInvoiceOn: false,\r\n isOverrideEnabled: false,\r\n excessChanged: false,\r\n selectedInvoiceDate: null,\r\n formats: {\r\n title: 'MMMM YYYY',\r\n weekdays: 'W',\r\n navMonths: 'MMM',\r\n input: ['L', 'DD-MM-YYYY', 'DD/MM/YYYY'],\r\n data: ['L', 'DD-MM-YYYY', 'DD/MM/YYYY'],\r\n dayPopover: 'L'\r\n },\r\n attrs: [\r\n {\r\n key: 'today',\r\n highlight: {\r\n backgroundColor: '#ff8080'\r\n },\r\n popover: {\r\n label: 'Today'\r\n },\r\n dates: new Date()\r\n }\r\n ]\r\n }\r\n },\r\n computed: {\r\n invoicePayerTypes() {\r\n return InvoicePayerTypes\r\n },\r\n isMainInvoice() {\r\n if (this.selectedInvoice) {\r\n return this.invoice.includedAssessments.some((assessmentId) => {\r\n const assessment = this.value.quoteAssessments.find((a) => a.assessmentID === assessmentId)\r\n if (assessment?.subQuoteNo === 0) {\r\n return true\r\n }\r\n return false\r\n })\r\n }\r\n return this.assessments.some((a) => a.subQuoteNo === 0)\r\n },\r\n invoiceNoReference() {\r\n return this.invoice ? `${this.invoice.prefix}${this.invoice.invoiceNo}${this.invoice.suffix}/${this.invoice.invoiceType}` : ''\r\n },\r\n hasExcessInvoice() {\r\n const index = this.innerValue.invoices.findIndex((i) => i.invoiceType === InvoiceTypes.Excess && !i.deleted)\r\n return index >= 0\r\n },\r\n firstDayOfMonth() {\r\n if (this.$company.setting.allowInvoicePreviousMonth) {\r\n return null\r\n }\r\n let invoiceDate = new Date()\r\n if (this.invoice && !this.invoice?.isNew) {\r\n invoiceDate = new Date(`${this.invoice?.invoiceDate}`)\r\n return this.$filters.firstDayOfMonth(invoiceDate.getFullYear(), invoiceDate.getMonth())\r\n } else {\r\n return this.$filters.firstDayOfMonth()\r\n }\r\n },\r\n invoiceLabourTotal() {\r\n let total = 0\r\n this.assessments.forEach((assessment) => {\r\n const items = assessment.authorisedAssessment.assessmentQuoteItems.filter((i) =>\r\n ItemCategoryCodeTypes.itemTypes.filter((c) => c.valueCalculationType === 'Labour').some((c) => c.code === i.itemType)\r\n )\r\n total += this.getAssessmentItemsDeltaTotal(items, this.value.quotingMethod)\r\n })\r\n return total\r\n },\r\n invoiceRrTotal() {\r\n let total = 0\r\n this.assessments.forEach((assessment) => {\r\n const items = assessment.authorisedAssessment.assessmentQuoteItems.filter((i) => ItemCategoryTypes.RR === i.itemType)\r\n total += this.getAssessmentItemsDeltaTotal(items, this.value.quotingMethod)\r\n })\r\n return total\r\n },\r\n invoiceRepairTotal() {\r\n let total = 0\r\n this.assessments.forEach((assessment) => {\r\n const items = assessment.authorisedAssessment.assessmentQuoteItems.filter((i) => ItemCategoryTypes.REP === i.itemType)\r\n total += this.getAssessmentItemsDeltaTotal(items, this.value.quotingMethod)\r\n })\r\n return total\r\n },\r\n invoiceRwaTotal() {\r\n let total = 0\r\n this.assessments.forEach((assessment) => {\r\n const items = assessment.authorisedAssessment.assessmentQuoteItems.filter((i) => ItemCategoryTypes.RWA === i.itemType)\r\n total += this.getAssessmentItemsDeltaTotal(items, this.value.quotingMethod)\r\n })\r\n return total\r\n },\r\n invoicePaintTotal() {\r\n let total = 0\r\n this.assessments.forEach((assessment) => {\r\n const items = assessment.authorisedAssessment.assessmentQuoteItems.filter((i) => ItemCategoryTypes.PAINT === i.itemType)\r\n total += this.getAssessmentItemsDeltaTotal(items, this.value.quotingMethod)\r\n })\r\n return total\r\n },\r\n invoiceFgTotal() {\r\n let total = 0\r\n this.assessments.forEach((assessment) => {\r\n const items = assessment.authorisedAssessment.assessmentQuoteItems.filter((i) => ItemCategoryTypes.FIBER === i.itemType)\r\n total += this.getAssessmentItemsDeltaTotal(items, this.value.quotingMethod)\r\n })\r\n return total\r\n },\r\n invoiceCrushTotal() {\r\n let total = 0\r\n this.assessments.forEach((assessment) => {\r\n const items = assessment.authorisedAssessment.assessmentQuoteItems.filter((i) => ItemCategoryTypes.CRUSH === i.itemType)\r\n total += this.getAssessmentItemsDeltaTotal(items, this.value.quotingMethod)\r\n })\r\n return total\r\n },\r\n invoiceCdTotal() {\r\n let total = 0\r\n this.assessments.forEach((assessment) => {\r\n const items = assessment.authorisedAssessment.assessmentQuoteItems.filter((i) => ItemCategoryTypes.CD === i.itemType)\r\n total += this.getAssessmentItemsDeltaTotal(items, this.value.quotingMethod)\r\n })\r\n return total\r\n },\r\n invoiceMechTotal() {\r\n let total = 0\r\n this.assessments.forEach((assessment) => {\r\n const items = assessment.authorisedAssessment.assessmentQuoteItems.filter((i) => ItemCategoryTypes.MECH === i.itemType)\r\n total += this.getAssessmentItemsDeltaTotal(items, this.value.quotingMethod)\r\n })\r\n return total\r\n },\r\n invoiceOpgTotal() {\r\n let total = 0\r\n this.assessments.forEach((assessment) => {\r\n const items = assessment.authorisedAssessment.assessmentQuoteItems.filter((i) => ItemCategoryTypes.OPG === i.itemType)\r\n total += this.getAssessmentItemsDeltaTotal(items, this.value.quotingMethod)\r\n })\r\n return total\r\n },\r\n invoicePartTotal() {\r\n let total = 0\r\n this.assessments.forEach((assessment) => {\r\n const items = assessment.authorisedAssessment.assessmentQuoteItems.filter((i) => ItemCategoryTypes.PART === i.itemType)\r\n total += this.getAssessmentItemsDeltaTotal(items, this.value.quotingMethod)\r\n })\r\n return total\r\n },\r\n invoiceMiscTotal() {\r\n let total = 0\r\n this.assessments.forEach((assessment) => {\r\n const items = assessment.authorisedAssessment.assessmentQuoteItems.filter((i) => ItemCategoryTypes.MISC === i.itemType)\r\n total += this.getAssessmentItemsDeltaTotal(items, this.value.quotingMethod)\r\n })\r\n return total\r\n },\r\n invoiceSubletTotal() {\r\n let total = 0\r\n this.assessments.forEach((assessment) => {\r\n const items = assessment.authorisedAssessment.assessmentQuoteItems.filter((i) => ItemCategoryTypes.SUBL === i.itemType)\r\n total += this.getAssessmentItemsDeltaTotal(items, this.value.quotingMethod)\r\n })\r\n return total\r\n },\r\n invoicePdrrrTotal() {\r\n let total = 0\r\n this.assessments.forEach((assessment) => {\r\n const items = assessment.authorisedAssessment.assessmentQuoteItems.filter((i) => ItemCategoryTypes.PDRRR === i.itemType)\r\n total += this.getAssessmentItemsDeltaTotal(items, this.value.quotingMethod)\r\n })\r\n return total\r\n },\r\n invoicePdrreTotal() {\r\n let total = 0\r\n this.assessments.forEach((assessment) => {\r\n const items = assessment.authorisedAssessment.assessmentQuoteItems.filter((i) => ItemCategoryTypes.PDRRE === i.itemType)\r\n total += this.getAssessmentItemsDeltaTotal(items, this.value.quotingMethod)\r\n })\r\n return total\r\n },\r\n overrideChanges() {\r\n if (this.invoice) {\r\n return `${this.invoice.labourOverride}|${this.invoice.paintOverride}|${this.invoice.mechOverride}|${this.invoice.repairOverride}|${this.invoice.rrOverride}`\r\n }\r\n return ''\r\n }\r\n },\r\n watch: {\r\n value: {\r\n handler(val) {\r\n this.innerValue = _cloneDeep(val)\r\n },\r\n deep: true\r\n },\r\n selectedInvoiceDate: function (newVal, oldVal) {\r\n if (newVal) {\r\n this.invoice.invoiceDate = newVal.toISOString().split('.')[0] + 'Z'\r\n } else {\r\n this.invoice.invoiceDate = null\r\n }\r\n },\r\n async assessments() {\r\n this.calculateItemsTotal()\r\n this.isLoadingInvoice = false\r\n },\r\n itemsTotal: {\r\n handler() {\r\n this.updateInvoice()\r\n },\r\n deep: true\r\n },\r\n overrideChanges() {\r\n this.calculateItemsTotal()\r\n },\r\n isOverrideEnabled() {\r\n this.clearOverrides()\r\n },\r\n selectedInvoice(newVal) {\r\n if (newVal) {\r\n this.invoice = _cloneDeep(newVal)\r\n }\r\n }\r\n },\r\n async created() {\r\n this.innerValue = _cloneDeep(this.value)\r\n this.isLoadingInvoice = true\r\n await this.createInvoice()\r\n await this.getAssets()\r\n this.calculateItemsTotal()\r\n this.isLoadingInvoice = false\r\n },\r\n mounted() {},\r\n methods: {\r\n async createInvoice() {\r\n this.invoice = await QuoteInvoiceService.getNewEntity()\r\n this.invoice.InvoiceType = InvoiceTypes.Quote\r\n this.invoice.invoicePayingType = InvoicePayerTypes.Insurer\r\n this.invoice.gstRate = this.innerValue.gstRate\r\n this.invoice.assetType = AssetTypes.Insurer\r\n this.invoice.assetId = this.innerValue.insurerId\r\n this.invoice.ownerContribution = this.isMainInvoice ? this.innerValue.ownersContribution : 0\r\n this.invoice.quoteDiscount = this.isMainInvoice ? this.innerValue.discount : 0\r\n this.invoice.excessAmount = this.isMainInvoice ? this.innerValue.excess : 0\r\n this.invoice.includedAssessments = this.assessments.map((a) => a.assessmentID)\r\n this.invoice.excessWithGst = this.isMainInvoice ? this.innerValue.excessWithGst : 0\r\n this.selectedInvoiceDate = new Date(`${this.invoice.invoiceDate}`)\r\n this.updateInvoice()\r\n },\r\n async addRemoveGstInvoice(checked) {\r\n if (checked) {\r\n // Create new GST invoice\r\n this.gstInvoice = await QuoteInvoiceService.getNewEntity()\r\n this.gstInvoice.invoiceNo = this.invoice.invoiceNo\r\n this.gstInvoice.gst = this.invoice.gst\r\n\r\n const utcDate = new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate()).toISOString()\r\n this.gstInvoice.invoiceDate = utcDate.split('.')[0] + 'Z'\r\n this.gstInvoice.totalExGst = 0\r\n this.gstInvoice.totalIncGst = this.gstInvoice.gst\r\n this.gstInvoice.invoiceType = InvoiceTypes.Gst\r\n this.gstInvoice.assetId = ''\r\n this.gstInvoice.assetType = ''\r\n this.gstInvoice.invoicePayingType = 1\r\n this.gstInvoice.exported = false\r\n this.gstInvoice.includedQuotes.splice(this.gstInvoice.includedQuotes.length, 1, this.innerValue.quoteId)\r\n this.gstInvoice.includedAssessments = this.assessments.map((a) => a.assessmentID)\r\n this.fixedGst = true\r\n this.invoice.gst = 0\r\n this.updateInvoice()\r\n } else {\r\n // Delete/Remove existing GST invoice\r\n this.fixedGst = false\r\n this.updateInvoice()\r\n this.gstInvoice = null\r\n }\r\n },\r\n async getAssets() {\r\n const insurerAssetFilter = {\r\n assetId: this.innerValue.insurerId,\r\n assetName: '',\r\n showCustomer: true,\r\n showInsurer: true,\r\n pageIndex: 1,\r\n pageSize: 1\r\n }\r\n const customerAssetFilter = {\r\n assetId: this.innerValue.customerId,\r\n assetName: '',\r\n showCustomer: true,\r\n showInsurer: true,\r\n pageIndex: 1,\r\n pageSize: 1\r\n }\r\n let insurers\r\n let customers\r\n ;[insurers, customers] = await Promise.all([\r\n QuickInvoiceService.getAssetDropdownProto(insurerAssetFilter),\r\n QuickInvoiceService.getAssetDropdownProto(customerAssetFilter)\r\n ])\r\n this.insurerAsset = insurers[0]\r\n this.customerAsset = customers[0]\r\n },\r\n onThirdPartyPayerSelect(asset) {\r\n this.invoice.assetId = asset.assetId\r\n this.invoice.assetType = asset.assetType\r\n this.invoice.invoiceGlCode = asset.assetGlCode\r\n this.invoice.assetName = asset.assetName\r\n },\r\n onGstInvPayerSelect(asset) {\r\n this.gstInvoice.assetId = asset.assetId\r\n this.gstInvoice.assetType = asset.assetType\r\n this.gstInvoice.invoiceGlCode = asset.assetGlCode\r\n this.gstInvoice.assetName = asset.assetName\r\n },\r\n showChangeInvoiceNoModal() {\r\n this.isInvoiceNoSearchModalActive = true\r\n },\r\n changeInvoiceNo(invoiceNo) {\r\n this.isInvoiceNoSearchModalActive = false\r\n this.invoice.invoiceNo = invoiceNo\r\n this.invoice.invoiceNoRef = invoiceNoReference\r\n },\r\n onInvoicePayerTypeClick(payerType) {\r\n if (payerType === InvoicePayerTypes.Insurer && this.insurerAsset) {\r\n this.invoice.assetId = this.insurerAsset.assetId\r\n this.invoice.assetName = this.insurerAsset.assetName\r\n this.invoice.assetType = this.insurerAsset.assetType\r\n this.invoice.invoiceGlCode = this.insurerAsset.assetGlCode\r\n } else if (payerType === InvoicePayerTypes.Private && this.customerAsset) {\r\n this.invoice.assetId = this.customerAsset.assetId\r\n this.invoice.assetName = this.customerAsset.assetName\r\n this.invoice.assetType = this.customerAsset.assetType\r\n this.invoice.invoiceGlCode = this.customerAsset.assetGlCode\r\n } else if (payerType === InvoicePayerTypes.ThirdParty) {\r\n this.invoice.assetId = null\r\n this.invoice.assetName = null\r\n this.invoice.assetType = null\r\n this.invoice.invoiceGlCode = null\r\n }\r\n },\r\n calculateItemsTotal() {\r\n if (this.invoice) {\r\n if (!this.isOverrideEnabled)\r\n this.itemsTotal =\r\n this.invoiceRrTotal +\r\n this.invoiceRepairTotal +\r\n this.invoiceRwaTotal +\r\n this.invoicePaintTotal +\r\n this.invoiceFgTotal +\r\n this.invoiceCrushTotal +\r\n this.invoiceCdTotal +\r\n this.invoiceMechTotal +\r\n this.invoiceOpgTotal +\r\n this.invoicePartTotal +\r\n this.invoiceMiscTotal +\r\n this.invoiceSubletTotal\r\n else {\r\n if (this.invoice.labourOverride !== 0) {\r\n this.itemsTotal = this.invoice.labourOverride + this.invoicePartTotal + this.invoiceMiscTotal + this.invoiceSubletTotal\r\n } else {\r\n this.itemsTotal =\r\n (this.invoice.rrOverride !== 0 ? this.invoice.rrOverride : this.invoiceRrTotal) +\r\n (this.invoice.repairOverride !== 0 ? this.invoice.repairOverride : this.invoiceRepairTotal) +\r\n (this.invoice.paintOverride !== 0 ? this.invoice.paintOverride : this.invoicePaintTotal) +\r\n this.invoiceRwaTotal +\r\n this.invoiceFgTotal +\r\n this.invoiceCrushTotal +\r\n this.invoiceCdTotal +\r\n (this.invoice.mechOverride !== 0 ? this.invoice.mechOverride : this.invoiceMechTotal) +\r\n this.invoiceOpgTotal +\r\n this.invoicePartTotal +\r\n this.invoiceMiscTotal +\r\n this.invoiceSubletTotal\r\n }\r\n }\r\n }\r\n },\r\n calculateDeductionAmount() {\r\n let deductionAmount = 0\r\n if (this.invoice && this.isMainInvoice) {\r\n let ownerContributionGst = 0\r\n if (!this.invoice.excessWithGst) {\r\n ownerContributionGst = roundAwayFromZero((this.invoice.ownerContribution * this.invoice.gstRate) / 100)\r\n }\r\n deductionAmount = this.invoice.quoteDiscount + this.invoice.excessAmount + this.invoice.ownerContribution + ownerContributionGst\r\n }\r\n return deductionAmount\r\n },\r\n updateInvoice(reset = true) {\r\n if (this.invoice && !this.selectedInvoice) {\r\n if (this.isMainInvoice) {\r\n const deductionAmount = this.calculateDeductionAmount()\r\n this.invoice.totalExGst = roundAwayFromZero(this.itemsTotal - deductionAmount)\r\n\r\n if (!this.invoice.excessWithGst) {\r\n if (reset && !this.isFixedGst) {\r\n this.invoice.gst = roundAwayFromZero(((this.itemsTotal - this.invoice.quoteDiscount) * this.innerValue.gstRate) / 100)\r\n }\r\n } else {\r\n if (reset && !this.isFixedGst) {\r\n this.invoice.gst = roundAwayFromZero((this.invoice.totalExGst * this.invoice.gstRate) / 100)\r\n }\r\n }\r\n this.invoice.totalIncGst = roundAwayFromZero(this.invoice.totalExGst + this.invoice.gst)\r\n this.UpdateInvAmount()\r\n } else {\r\n if (reset && !this.isFixedGst) {\r\n this.invoice.gst = roundAwayFromZero((this.itemsTotal * this.invoice.gstRate) / 100)\r\n }\r\n this.invoice.totalExGst = roundAwayFromZero(this.itemsTotal)\r\n this.invoice.totalIncGst = roundAwayFromZero(this.invoice.totalExGst + this.invoice.gst)\r\n }\r\n this.invoice.includedAssessments = this.assessments.map((a) => a.assessmentID)\r\n this.invoice.labourTotal = this.invoiceLabourTotal\r\n this.invoice.partTotal = this.invoicePartTotal\r\n this.invoice.miscTotal = this.invoiceMiscTotal\r\n this.invoice.rrTotal = this.invoiceRrTotal\r\n this.invoice.repairTotal = this.invoiceRepairTotal\r\n this.invoice.subletTotal = this.invoiceSubletTotal\r\n this.invoice.paintTotal = this.invoicePaintTotal\r\n this.invoice.mechTotal = this.invoiceMechTotal\r\n this.invoice.opgTotal = this.invoiceOpgTotal\r\n this.invoice.fgTotal = this.invoiceFgTotal\r\n this.invoice.crushTotal = this.invoiceCrushTotal\r\n this.invoice.cdTotal = this.invoiceCdTotal\r\n this.invoice.rwaTotal = this.invoiceRwaTotal\r\n this.invoice.pdrreTotal = this.invoicePdrreTotal\r\n this.invoice.pdrrrTotal = this.invoicePdrrrTotal\r\n }\r\n },\r\n updateGst() {\r\n this.invoice.totalIncGst = roundAwayFromZero(this.invoice.totalExGst + this.invoice.gst)\r\n },\r\n updateQuote() {\r\n this.innerValue.excess = this.invoice.excessAmount\r\n this.innerValue.ownersContribution = this.invoice.ownerContribution\r\n this.innerValue.discount = this.invoice.quoteDiscount\r\n this.$emit('input', this.innerValue)\r\n },\r\n UpdateInvAmount() {\r\n if (this.isMainInvoice) {\r\n const deductionAmount = this.calculateDeductionAmount()\r\n this.$emit('update-deductions', deductionAmount)\r\n }\r\n },\r\n raiseInvoice() {\r\n this.updateQuote()\r\n let invoices = [this.invoice]\r\n if (this.gstInvoice) {\r\n invoices.push(this.gstInvoice)\r\n }\r\n this.$emit('raise-invoice', invoices)\r\n this.invoice = null\r\n },\r\n toggleOverride(checked) {\r\n this.isOverrideEnabled = checked\r\n },\r\n calculateExcess() {\r\n if (this.invoice.excessWithGst && this.excessChanged) {\r\n const gstModel = new GstModel(this.innerValue.gstRate)\r\n this.invoice.excessAmount = roundAwayFromZero(this.invoice.excessAmount / gstModel.multiplier)\r\n }\r\n this.updateInvoice()\r\n this.excessChanged = false\r\n },\r\n excessWithGstUpdate() {\r\n this.fixedGst = false\r\n if (this.invoice.excessWithGst) {\r\n this.excessChanged = true\r\n this.calculateExcess()\r\n }\r\n this.updateInvoice()\r\n },\r\n excessValueChanged() {\r\n this.excessChanged = true\r\n this.updateInvoice()\r\n },\r\n onLabourOverrideChange() {\r\n this.invoice.rrOverride = 0\r\n this.invoice.repairOverride = 0\r\n this.invoice.paintOverride = 0\r\n this.invoice.mechOverride = 0\r\n },\r\n onOverrideChange() {\r\n this.invoice.labourOverride = 0\r\n },\r\n clearOverrides() {\r\n this.invoice.labourOverride = 0\r\n this.invoice.rrOverride = 0\r\n this.invoice.repairOverride = 0\r\n this.invoice.paintOverride = 0\r\n this.invoice.mechOverride = 0\r\n }\r\n }\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n</style>","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/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceControl.vue?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/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceControl.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./InvoiceControl.vue?vue&type=template&id=129bab08&scoped=true\"\nimport script from \"./InvoiceControl.vue?vue&type=script&lang=js\"\nexport * from \"./InvoiceControl.vue?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 \"129bab08\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}