{"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 &amp; 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 &amp; 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":""}