{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/mixins/projectTotalsCalculator.js","webpack:///./src/mixins/exitFormModal.js","webpack:///./src/plugins/msal-plugin.js","webpack:///./src/formGeneratorExtensions/maxSize.js","webpack:///./src/components/projects/ProjectOutcomes.vue?23db","webpack:///./src/mixins/fiscalYear.js","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/mixins/AlertManager.js","webpack:///./src/components/common/LoadingSpinner.vue?afac","webpack:///src/components/common/LoadingSpinner.vue","webpack:///./src/components/common/LoadingSpinner.vue?4ecb","webpack:///./src/components/common/LoadingSpinner.vue","webpack:///./src/components/common/vfg-field-custom-richtext.vue?47a4","webpack:///./src/configureFilters.js","webpack:///./src/components/common/vfg-field-custom-checklist.vue?06d2","webpack:///src/components/common/vfg-field-custom-checklist.vue","webpack:///./src/components/common/vfg-field-custom-checklist.vue?c91f","webpack:///./src/components/common/vfg-field-custom-checklist.vue","webpack:///./src/components/common/vfg-field-custom-lookupchecklist.vue?7687","webpack:///src/components/common/vfg-field-custom-lookupchecklist.vue","webpack:///./src/components/common/vfg-field-custom-lookupchecklist.vue?ae07","webpack:///./src/components/common/vfg-field-custom-lookupchecklist.vue","webpack:///./src/components/common/vfg-field-custom-datepicker.vue?4be6","webpack:///src/components/common/vfg-field-custom-datepicker.vue","webpack:///./src/components/common/vfg-field-custom-datepicker.vue?ee4c","webpack:///./src/components/common/vfg-field-custom-datepicker.vue","webpack:///./src/components/common/vfg-field-custom-monthpicker.vue?dca6","webpack:///src/components/common/vfg-field-custom-monthpicker.vue","webpack:///./src/components/common/vfg-field-custom-monthpicker.vue?0c07","webpack:///./src/components/common/vfg-field-custom-monthpicker.vue","webpack:///./src/components/common/vfg-field-custom-richtext.vue?e557","webpack:///src/components/common/vfg-field-custom-richtext.vue","webpack:///./src/components/common/vfg-field-custom-richtext.vue?e66b","webpack:///./src/components/common/vfg-field-custom-richtext.vue?6481","webpack:///./src/components/common/vfg-field-custom-textlist.vue?9aa9","webpack:///src/components/common/vfg-field-custom-textlist.vue","webpack:///./src/components/common/vfg-field-custom-textlist.vue?d9c7","webpack:///./src/components/common/vfg-field-custom-textlist.vue","webpack:///./src/components/common/vfg-field-custom-yearpicker.vue?5f41","webpack:///src/components/common/vfg-field-custom-yearpicker.vue","webpack:///./src/components/common/vfg-field-custom-yearpicker.vue?cb59","webpack:///./src/components/common/vfg-field-custom-yearpicker.vue","webpack:///./src/components/common/vfg-field-custom-select.vue?7b87","webpack:///src/components/common/vfg-field-custom-select.vue","webpack:///./src/components/common/vfg-field-custom-select.vue?4906","webpack:///./src/components/common/vfg-field-custom-select.vue","webpack:///./src/App.vue?97be","webpack:///src/App.vue","webpack:///./src/App.vue?1160","webpack:///./src/App.vue","webpack:///./src/registerServiceWorker.js","webpack:///./src/store/modules/returnTo.js","webpack:///./src/store/modules/siteAssessment.js","webpack:///./src/store/modules/siteVisit.js","webpack:///./src/store/modules/user.js","webpack:///./src/store/modules/siteTaxlots.js","webpack:///./src/store/modules/managementPlan.js","webpack:///./src/store/modules/project.js","webpack:///./src/store/modules/membership.js","webpack:///./src/store/modules/workorderBill.js","webpack:///./src/store/modules/contact.js","webpack:///./src/store/modules/organization.js","webpack:///./src/store/modules/opportunity.js","webpack:///./src/store/modules/workorder.js","webpack:///./src/store/modules/pricelist.js","webpack:///./src/store/modules/mathHelper.js","webpack:///./src/store/index.js","webpack:///./src/views/MySites.vue?9dfc","webpack:///src/views/MySites.vue","webpack:///./src/views/MySites.vue?2b55","webpack:///./src/views/MySites.vue","webpack:///./src/components/projects/PlanDetails.vue?745d","webpack:///./src/mixins/projectSchemaHelper.js","webpack:///./src/mixins/projectApprovalMembershipManager.js","webpack:///./src/components/common/UnavailablePageModal.vue?4aab","webpack:///src/components/common/UnavailablePageModal.vue","webpack:///./src/components/common/UnavailablePageModal.vue?a794","webpack:///./src/components/common/UnavailablePageModal.vue","webpack:///src/components/projects/PlanDetails.vue","webpack:///./src/components/projects/PlanDetails.vue?fcd9","webpack:///./src/components/projects/PlanDetails.vue?237d","webpack:///./src/views/Project.vue?655b","webpack:///./src/mixins/projectApprovalManager.js","webpack:///src/views/Project.vue","webpack:///./src/views/Project.vue?1e80","webpack:///./src/views/Project.vue?e1f5","webpack:///./src/components/projects/ProjectActions.vue?19c9","webpack:///src/components/projects/ProjectActions.vue","webpack:///./src/components/projects/ProjectActions.vue?c79a","webpack:///./src/components/projects/ProjectActions.vue?2de7","webpack:///./src/components/projects/ProjectBudget.vue?7037","webpack:///./src/components/projects/AnnualBudget.vue?4fc4","webpack:///./src/components/projects/AnnualBudgetIncreases.vue?cfdd","webpack:///src/components/projects/AnnualBudgetIncreases.vue","webpack:///./src/components/projects/AnnualBudgetIncreases.vue?b105","webpack:///./src/components/projects/AnnualBudgetIncreases.vue","webpack:///./src/components/projects/AnnualBudgetIncreaseModal.vue?670c","webpack:///./src/mixins/projectBudgetHelper.js","webpack:///./src/mixins/projectBudgetHelperExpenditureSummary.js","webpack:///src/components/projects/AnnualBudgetIncreaseModal.vue","webpack:///./src/components/projects/AnnualBudgetIncreaseModal.vue?1ac9","webpack:///./src/components/projects/AnnualBudgetIncreaseModal.vue","webpack:///./src/components/projects/ProductTable.vue?4b88","webpack:///src/components/projects/ProductTable.vue","webpack:///./src/components/projects/ProductTable.vue?82c6","webpack:///./src/components/projects/ProductTable.vue","webpack:///./src/components/projects/IncentivePaymentsTable.vue?8d6d","webpack:///src/components/projects/IncentivePaymentsTable.vue","webpack:///./src/components/projects/IncentivePaymentsTable.vue?05b6","webpack:///./src/components/projects/IncentivePaymentsTable.vue","webpack:///./src/components/projects/AnnualBudgetTable.vue?a14c","webpack:///src/components/projects/AnnualBudgetTable.vue","webpack:///./src/components/projects/AnnualBudgetTable.vue?b923","webpack:///./src/components/projects/AnnualBudgetTable.vue","webpack:///./src/mixins/projectBudgetMembershipManager.js","webpack:///./src/mixins/projectWorkOrderBillingManager.js","webpack:///./src/components/projects/ProjectWorkorderAdd.vue?687a","webpack:///src/components/projects/ProjectWorkorderAdd.vue","webpack:///./src/components/projects/ProjectWorkorderAdd.vue?044a","webpack:///./src/components/projects/ProjectWorkorderAdd.vue","webpack:///src/components/projects/AnnualBudget.vue","webpack:///./src/components/projects/AnnualBudget.vue?4fac","webpack:///./src/components/projects/AnnualBudget.vue","webpack:///./src/components/projects/ExpenditureSummary.vue?31b2","webpack:///src/components/projects/ExpenditureSummary.vue","webpack:///./src/components/projects/ExpenditureSummary.vue?1289","webpack:///./src/components/projects/ExpenditureSummary.vue","webpack:///./src/components/projects/FundingBreakdown.vue?6d86","webpack:///src/components/projects/FundingBreakdown.vue","webpack:///./src/components/projects/FundingBreakdown.vue?8288","webpack:///./src/components/projects/FundingBreakdown.vue","webpack:///./src/components/projects/ProjectBudgetDecrease.vue?dac3","webpack:///src/components/projects/ProjectBudgetDecrease.vue","webpack:///./src/components/projects/ProjectBudgetDecrease.vue?cde2","webpack:///./src/components/projects/ProjectBudgetDecrease.vue","webpack:///./src/components/projects/ProjectBudgetHistory.vue?c13b","webpack:///src/components/projects/ProjectBudgetHistory.vue","webpack:///./src/components/projects/ProjectBudgetHistory.vue?85a1","webpack:///./src/components/projects/ProjectBudgetHistory.vue","webpack:///src/components/projects/ProjectBudget.vue","webpack:///./src/components/projects/ProjectBudget.vue?2b72","webpack:///./src/components/projects/ProjectBudget.vue","webpack:///./src/components/projects/ProjectContacts.vue?44c2","webpack:///src/components/projects/ProjectContacts.vue","webpack:///./src/components/projects/ProjectContacts.vue?08aa","webpack:///./src/components/projects/ProjectContacts.vue","webpack:///./src/components/projects/ProjectGoals.vue?5d84","webpack:///src/components/projects/ProjectGoals.vue","webpack:///./src/components/projects/ProjectGoals.vue?8d0f","webpack:///./src/components/projects/ProjectGoals.vue?e35b","webpack:///./src/components/projects/ProjectIncentives.vue?907a","webpack:///src/components/projects/ProjectIncentives.vue","webpack:///./src/components/projects/ProjectIncentives.vue?93f2","webpack:///./src/components/projects/ProjectIncentives.vue?984e","webpack:///./src/components/projects/ProjectOverview.vue?c32c","webpack:///./src/components/projects/ProjectMap.vue?caaa","webpack:///./src/mixins/projectMapEventManager.js","webpack:///./src/mixins/projectMapLoadingManager.js","webpack:///./src/mixins/projectMapSketchManager.js","webpack:///src/components/projects/ProjectMap.vue","webpack:///./src/components/projects/ProjectMap.vue?c3d5","webpack:///./src/components/projects/ProjectMap.vue?e118","webpack:///./src/components/projects/ProjectDetails.vue?f28e","webpack:///src/components/projects/ProjectDetails.vue","webpack:///./src/components/projects/ProjectDetails.vue?cb6b","webpack:///./src/components/projects/ProjectDetails.vue?32e7","webpack:///src/components/projects/ProjectOverview.vue","webpack:///./src/components/projects/ProjectOverview.vue?527c","webpack:///./src/components/projects/ProjectOverview.vue","webpack:///./src/components/projects/ProjectWorkorders.vue?4df4","webpack:///./src/mixins/projectWorkOrderApprovalManager.js","webpack:///./src/mixins/projectWorkOrderBillingApprovalManager.js","webpack:///./src/mixins/projectWorkOrderBillingLineItemManager.js","webpack:///./src/mixins/projectWorkOrderBillingMembershipManager.js","webpack:///./src/mixins/projectWorkOrderLineItemManager.js","webpack:///./src/components/projects/ProjectWorkorderEdit.vue?b628","webpack:///src/components/projects/ProjectWorkorderEdit.vue","webpack:///./src/components/projects/ProjectWorkorderEdit.vue?1ac0","webpack:///./src/components/projects/ProjectWorkorderEdit.vue","webpack:///./src/components/projects/ProjectWorkorderLineItemAdd.vue?6a82","webpack:///src/components/projects/ProjectWorkorderLineItemAdd.vue","webpack:///./src/components/projects/ProjectWorkorderLineItemAdd.vue?ecc8","webpack:///./src/components/projects/ProjectWorkorderLineItemAdd.vue","webpack:///./src/components/projects/ProjectWorkorderIncentivePaymentAdd.vue?cfa4","webpack:///src/components/projects/ProjectWorkorderIncentivePaymentAdd.vue","webpack:///./src/components/projects/ProjectWorkorderIncentivePaymentAdd.vue?fef6","webpack:///./src/components/projects/ProjectWorkorderIncentivePaymentAdd.vue","webpack:///./src/components/projects/ProjectWorkorderLineItemEdit.vue?217d","webpack:///src/components/projects/ProjectWorkorderLineItemEdit.vue","webpack:///./src/components/projects/ProjectWorkorderLineItemEdit.vue?ade3","webpack:///./src/components/projects/ProjectWorkorderLineItemEdit.vue","webpack:///./src/mixins/projectWorkOrderManager.js","webpack:///src/components/projects/ProjectWorkorders.vue","webpack:///./src/components/projects/ProjectWorkorders.vue?d539","webpack:///./src/components/projects/ProjectWorkorders.vue?b5ac","webpack:///./src/components/projects/ProjectOutcomes.vue?5623","webpack:///src/components/projects/ProjectOutcomes.vue","webpack:///./src/components/projects/ProjectOutcomes.vue?2f27","webpack:///./src/components/projects/ProjectOutcomes.vue?d0b8","webpack:///./src/views/NotAuthorized.vue?c7e5","webpack:///src/views/NotAuthorized.vue","webpack:///./src/views/NotAuthorized.vue?0589","webpack:///./src/views/NotAuthorized.vue","webpack:///./src/views/SignIn.vue?5817","webpack:///src/views/SignIn.vue","webpack:///./src/views/SignIn.vue?74a1","webpack:///./src/views/SignIn.vue","webpack:///./src/router/index.js","webpack:///./src/main.js","webpack:///./src/components/projects/ProjectWorkorders.vue?08a8","webpack:///./src/components/projects/ProjectIncentives.vue?b3de","webpack:///./src/components/projects/ProjectDetails.vue?a472","webpack:///./src/components/projects/ProjectMap.vue?888c","webpack:///./src/components/projects/PlanDetails.vue?23ef","webpack:///./src/api.js","webpack:///./src/views/Project.vue?955c","webpack:///./src/components/projects/ProjectGoals.vue?5a2e","webpack:///./src/components/projects/ProjectActions.vue?dce2"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","mixins","FiscalYear","computed","mapState","product","state","projectBudget","projectIncentivePayments","fundingSources","currentPriceLists","projectSnapshotDraft","budgetSnapshotTotalCostShare","this","costShare_Base_Cost","costShare_Contingency_Cost","budgetTotalCostShare","budgetContingencyCostShare","budgetBaseCostShare","Math","pow","budgetSnapshotBaseCostShare","projectBudgetYears","budgetBaseCostShares","map","year","getYearCostShareSubtotal","reduce","accumulator","budgetSnapshotContingencyCostShare","getTotalCostShareContingencyAmount","budgetSnapshotCostSharePercent","budgetTotalSnapshotAmount","budgetCostSharePercent","budgetTotalAmount","projectBudgetIncrease","flatMap","pby","annualBudgetIncreases","ba","adjustmentToProjectBudget","a","b","projectBudgetDecrease","projectBudgetDecreases","decreaseAmount","projectSnapshotTotalAmount","round","districtOrPartnerCosts_Total","increase","decrease","incentiveTotal","pmt","amountPaid","totalAmount","budgetTotal","getYearTotalDistrictPartnerAmount","adjustmentTotal","decreaseTotal","fundingSourceSnapshotSummaries","projectBudgetYearSnapshots","fundingSourceMap","projectBudgetLineItemSnapshots","li","entryMap","line","newEntry","fundingSourceName","getFundingSource","has","id","fundingSourceId","contingencyCost","getCostSharedContingencyOfLineItem","baseCost","getCostShareOfLineItem","adjustmentAmount","set","Map","adj","dec","Array","from","values","concat","fundingSourcesForIncentives","sort","allFundingSourceSummaries","forEach","filter","f","total","fundingSourceSummaries","projectBudgetLineItems","newMap","payment","methods","loadProjectTotalsSummaryData","$store","dispatch","project","item","fundingSource","find","fs","recorD_ID","recorD_NAME","getYearSubtotal","budgetYear","yearSubtotal","getTotalCost","incentivePaymentsInBudgetYear","incentive","getFiscalYear","dateDue","yearCostShareSubtotal","costShare","getContingencyAmount","contingencyAmount","getTotalContingencyCost","getAnnualIncreaseAmount","totalIncrease","inc","adjustmentToAnnualBudget","getYearTotalAmount","yearTotalAmount","totalCostShareContingencyAmount","yearCostShareAmount","yearDistrictPartnerTotalAmount","lineItem","contingencyPercent","getFundingSourceSnapshotTotal","baseAndContingency","Number","isNaN","fundingSourceTotal","getFundingSourceTotal","getFundingSourceSnapshotPercentOfTotal","fundingSourceSnapshotTotal","fundingSourcePercentOfTotal","getFundingSourcePercentOfTotal","totalCost","quantity","unitCost","getCostShareAmt","costShareAmt","totalContingencyCost","getTotalCostShareContingencyPercent","totalCostShareAmount","totalCostShareContingencyPercent","getAnnualBudgetItems","items","costShareSubtotal","costShareContingencyAmount","Costs","Base_Cost","Contingency","Total","fundingSummary","getBudgetYearFundingSummary","x","yearContingency","yearTotal","yr","stateChanged","mounted","beforeRouteUpdate","to","next","handleEditState","beforeRouteLeave","modelUpdated","modelSaved","$bvModal","msgBoxConfirm","cancelVariant","response","catch","MsalPlugin","install","Vue","store","config","msalInstance","msal","msalVueObj","isAuthenticated","signIn","router","loginRequest","scopes","loginPopup","loginResponse","account","log","username","returnTo","getters","params","errorMessage","indexOf","passwordResetResponse","currentRoute","signOut","logout","acquireToken","User","user","acquireTokenSilent","idToken","acquireTokenPopup","popupError","getIsAuthenticated","accounts","getAllAccounts","$msal","observable","getMsalObject","MaxSize","Plugin","filterTransaction","transaction","docChanged","options","maxSize","size","doc","textContent","maxSizeReached","Extension","date","localDate","toLowerCase","Date","fiscalYear","getFullYear","getMonth","webpackContext","req","webpackContextResolve","keys","successDismissCountDown","warningDismissCountDown","successCountDownChanged","dismissCountDown","showSuccessAlert","hideSuccessAlert","warningCountDownChanged","showWarningAlert","hideWarningAlert","render","_vm","_h","$createElement","_c","_self","staticClass","_v","_s","attrs","staticRenderFns","props","default","component","formatter","Intl","NumberFormat","minimumFractionDigits","maximumFractionDigits","format","style","currency","staticStyle","schema","model","callback","$$v","expression","class","disabledDates","clearButton","on","setValue","components","Datepicker","selectedDate","editor","scopedSlots","_u","fn","ref","commands","isActive","focused","bold","italic","strike","underline","bullet_list","ordered_list","EditorContent","EditorMenuBar","extensions","content","onUpdate","beforeDestroy","destroy","_l","contact","VSelect","directives","rawName","modifiers","_e","showCurrentSiteLink","currentSite","Id","RecordName","siteAssessment","status","slot","loggedInUserName","getVersion","_m","isExportBillsUser","memberOf","loggedIn","unsubscribeSetUser","getLoggedInStatus","$route","$router","register","process","ready","registered","cached","updatefound","updated","offline","namespaced","actions","setReturnTo","commit","mutations","SET_RETURNTO","getReturnTo","emptySiteAssessment","background","preparerId","preparedDate","landownerInformation","historicalUse","currentUse","generalConditions","watershedContext","goals","landownerGoals","forestManagementGoals","agriculturalManagementGoals","resourcePriorities","forestResourceConcerns","managementConcerns","otherConcerns","propertyOverview","topography","soilsAndGeology","waterResources","waterRights","vegetationDescription","wildlifeObservations","habitatValue","culturalResources","invasiveSpecies","regulatoryCompliance","resourceAnalysis","recommendations","additionalResource","getInvasivesText","invasiveDetails","rootState","invasives","SiteVisit","fields","field","percentOfInfestation","infestationSize","join","defaultNAString","liveStockString","animal","defaultLivestock","Cattle","Horses","Chickens","Sheep","Turkeys","Goats","Alpacas","buildHistoricPlantCommunityString","siteVisit","habitatDetails","historicPlantType","historicPlantCondition","initializeSiteAssessmentFromVisit","siteId","urbanDetails","briefHistory","currentSiteManagement","agriculturalDetails","fertilizerScheduleDescription","fertilizerTypeDescription","manureManagementDescription","livestockRaisedOnSiteCattle","livestockRaisedOnSiteHorses","livestockRaisedOnSiteChickens","livestockRaisedOnSiteSheep","livestockRaisedOnSiteTurkeys","livestockRaisedOnSiteAlpacas","livestockRaisedOnSiteGoats","irrigationMethods","farmingMethod","cropsBeingGrown","forestDetails","acresOfForest","generalDetails","conservationGoals","primaryGoals","otherGoals","otherAgriculturalManagementGoals","landownerResourcePriorities","forestConcerns","streamsDetails","historicHydrology","streamBankConditions","channelObservations","visiblePassageBarriers","dominantSubstrate","naturalProcesses","nativeRiparianSpp","forestStands","wildlifeConcerns","beaverInfluence","targetWeedSpp","invasiveSpeciesDetails","siteAssessmentsPendingApproval","tualatinContacts","serverError","submitSuccess","fetchOrCreateSiteAssessment","currentSiteVisit","api","saveAssessment","post","fetchExistingSiteAssessment","fetchTualatinContacts","getSiteAssessmentsPendingApproval","setSubmitSuccess","SET_SITE_ASSESSMENT","SET_SERVER_ERROR","SET_CONTACTS","contacts","SET_SITE_ASSESSMENTS_PENDING_APPROVAL","SET_SUBMIT_SUCCESS","initialInvasive","present","notes","emptyGeneralDetails","relatedContacts","visitedBy","dateOfVisit","otherPartiesPresent","operatorHasKnowledgeOfTheProject","landownerPreferredFormOfContact","enrollmentInOtherPrograms","comfortableWithHerbicideUse","primaryLandUse","secondaryLandUse","propertyWaterFeatures","otherEasements","emptyPropertyAccess","trespassingIssues","typesOfShootingHunting","describePotentialHazards","adjacentPropertiesUnderConservation","neighborInterestInConservationProjectEnrollment","dogsOnSite","dogSafetyMeasures","emptyInvasives","reedCanarygrass","nonNativeBlackberries","scotchBroom","englishIvy","garlicMustard","purpleLoosestrife","knotweed","spurgeLaurel","falseBrome","giantHogweed","poisonOak","lesserCelandine","italianArum","edrrSpeciesNotListed","emptyAgriculturalDetails","farmedLessThanTenYears","irrigationEfficienciesInterest","livestockRaisedOnSiteOther","timeSeasonInPasture","livestockOffChannelWatering","emptyForestDetails","stewardshipPlanExists","stewardshipPlanInterest","primaryTreeSpecies","emptyStreamsDetails","fencingNeeded","predationIssues","floodingRegime","crossingAvailable","names","typesOfStreams","potentialBufferWidth","existingShade","artificalModifications","emptyHabitatDetails","conservationgoals","equipmentDebris","siteAccessibility","emptyUrbanDetails","siteType","treeHealthConcerns","bhcp","professionalPlan","landownerTenantPreference","waterConservationPractices","stormwaterPractices","floodingConcerns","floodingSteps","nativeSpp","emptyTechnicalDetails","nextSteps","now","furtherAssistance","referrals","emptySiteVisit","propertyAccess","technicalDetails","initializeSiteVisitFromSite","currentUser","debug","localCreatedAt","siteName","primaryContacts","Primary__c","FIRST_NAME","nonprimaryContacts","LAST_NAME","Role__c","getInvasiveSpecies","legend","headerName","serverSiteVisit","showErrorsOnActiveTab","postSiteVisit","clearSiteVisit","setShowErrorsOnActiveTab","persistCurrentSiteVisit","customStore","Store","fetchSiteVisit","initializeVisit","updatedAt","getTime","copyServerSiteVisit","setSiteVisit","setGeneralDetails","setPropertyAccess","setInvasiveSpeciesDetails","CLEAR_SITE_VISIT","SET_SERVER_SITE_VISIT","SET_SITE_VISIT","localSV","SET_GENERAL_DETAILS","SET_PROPERTY_ACCESS","SET_INVASIVE_SPECIES_DETAILS","SET_SHOW_ERRORS","insightlyUser","setAccessToken","accessToken","setUser","fetchInsightlyUser","email","exception","SET_ACCESS_TOKEN","SET_USER","SET_INSIGHTLY_USER","getCurrentUser","siteTaxlots","deleteSiteTaxlots","siteTaxlotIds","pop","delete","successMessage","readSiteTaxlots","writeSiteAttributes","put","siteAcreage","acreage","watershedId","watershedName","subwatershedId","subwatershedName","writeSiteTaxlots","parameters","siteTaxlot","JSON","parse","stringify","siteTaxlotModel","relatedSite","recordName","acres","attributes","a_t_acres","county","taxlotGlobalId","GlobalID","taxlotId","tlid","SET_SITE_TAXLOTS","initPlan","planType","sites","siteGraphics","siteObjects","basic","planName","author","planMonthYear","moment","startOf","toDate","propertyDescription","coordinatesLatLong","coordinatesUTM","zoning","fireDistricts","nativeSeedZones","introduction","irrigation","landUseDescription","forestVegetation","crops","pastureAndLivestock","associatedAgriculturalLands","fishAndWildlife","integratedPestManagement","wildfirePreparedness","aestheticsAndRecreation","marketingEcosystemServices","nutrientAndSoilManagement","managementRecommendations","practices","unitDetails","defaultUnitDetailsText","managementPlan","targetSeasons","practiceTypes","submitError","managementPlans","initialUnitDetails","getAssessment","warn","getVisit","getForestPropertyAccessText","getAgriculturealPropertyAccessText","getForestLandUse","getAgriculturalLandUse","getForestVegetationText","getForestFishAndWildlifeText","getAgriculturalFishAndWildlifeText","getForestPestManagementText","getAgriculturalPestManagementText","getForestWildfirePreparednessText","getForestCulturalResourcesText","getAgricultureCulturalResourcesText","getForestAestheticsAndRecreationText","getForestMarketingEcosystemServicesText","getForestRegulatoryComplianceText","getAgriculturalRegulatoryComplianceText","getAgriculturalNutrientAndSoilText","updateAssessmentTextInIntroduction","siteIds","assessmentCalls","assessments","visitCalls","visits","v","updateUnitDetailsOnManagementPlan","postManagementPlan","managementPlanSiteModels","site","managementPlanSiteModel","globalId","graphic","globalid","insightlyId","insightlyid","sitename","managementPlanModel","initManagementPlan","updateManagementPlan","getBasicsDateDefault","setManagementPlan","getManagementPlansAsync","deleteManagementPlan","managementPlanId","addPracticeToCurrentPlan","practice","updatePracticeToCurrentPlan","deletePracticeToCurrentPlan","fetchTargetSeasons","fetchPracticeTypes","fetchManagementPlan","surrogateId","ADD_PRACTICE","UPDATE_PRACTICE","index","findIndex","DELETE_PRACTICE","SET_UNIT_DETAILS","SET_MANAGEMENTPLAN","SET_MANAGEMENTPLANID","SET_MANAGEMENTPLANS","UPDATE_TEXT_DATA","assessmentsAndVisits","includes","SET_TARGET_SEASONS","SET_PRACTICE_TYPES","SET_SUBMIT_ERROR","getPracticeType","getTargetSeason","currentVisiblePractices","practiceType","practiceTypeId","targetSeason","targetSeasonId","targetYear","unitsFields","sortOrder","initializePlanDetails","locationWatershedContext","prioritizationContext","projectRationale","alternatives","projectActions","projectEvaluation","scheduleOfActivities","category","initializeProjectBudget","projectId","initializePlanDetailsWithProjectId","projectCategory","pd","projectStatus","projectLoading","projectSnapshotDraftLoading","projectGeometry","projectSites","projectSitesLoading","projectBudgetSummaryDataLoaded","annualBudgetHistoryItems","pendingBudgets","loadingAnnualBudgetHistoryItems","projectSnapshot","projectSnapshots","cancelledCompletedProjectSnapshots","projectFiscalYearSnapshots","currentProjectSnapshots","decreaseSuccessMessage","decreaseErrorMessage","currentPlanDetails","siteContactsLoading","projectContacts","siteOrganizationsLoading","projectOrganizations","priceLists","fundingSourceEncumberedFunds","fundingSourceExpendedFunds","encumberedFundsForApprovedBudgets","fundsPerFiscalYear","funds","currentPriceListsLoading","products","projectAccomplishmentTargetMonitoringEvents","projectAccomplishmentTargetMonitoringEventEvaluationMethods","projectGoals","projectGoalSelections","projectObjectiveAccomplishmentTargetSelections","projectObjectives","projectObjectiveSelections","projectPractices","projectWorkorders","projectWorkorderBill","projectWorkorderBills","projectWorkorderLineItemFundingSources","practiceComponents","incentiveTypes","projectConcept","projectResourcePriorities","dashboardData","dashboardLoading","fundingSourcesLoading","hasOpenWorkOrders","hasOpenWorkOrderBills","projectsPendingApproval","myActiveProjects","planDetailsLoading","productPriceListsCache","getProjectBudget","fetchAnnualBudgetHistoryItems","historyItems","finally","fetchPendingBudgets","getProject","getProjectSnapshot","getProjectSnapshots","getProjectDraftSnapshot","getCancelledCompletedProjectSnapshots","getProjectSnapshotsByFiscalYear","getCurrentProjectSnapshot","anyOpenWorkOrders","anyOpenWorkOrderBills","setProjectAttributes","setProjectApprovalStatus","setProjectStatus","setProjectOutcomeSummary","getProjectSites","getProjectContacts","pc","siteContacts","getProjectOrganizations","siteOrganizations","organizations","setProjectSites","exceptions","projectSite","projectSiteModel","relatedProjectId","relatedSiteId","deleteProjectSites","projectSiteIds","fetchPlanDetails","forceFetchPlanDetails","fetchProjectBudget","forceFetchProjectBudget","setProjectBudgetSummaryDataLoaded","dataLoaded","fetchPriceLists","fetchFundingSources","fetchProducts","fetchProductPriceListEntries","productId","entries","entry","priceList","pricebooK_ID","savePlanDetails","planDetails","saveProjectBudget","addAnnualBudgetIncrease","adjustment","setDecreaseErrorMessage","addProjectDecrease","saveProjectBudgetLineItem","updateProjectBudgetYear","projectSnapshotId","updateProjectBudgetYearContingency","newContingencyPercent","updatedYear","deleteProjectBudgetLineItem","setProjectGeometry","getProjectResourcePriorities","getProjectAccomplishmentTargetMonitoringEvents","getProjectAccomplishmentTargetMonitoringEventEvaluationMethods","getProjectGoalsAsync","getProjectGoalSelectionsAsync","getProjectObjectivesAsync","getProjectObjectiveAccomplishmentTargetSelectionsAsync","getProjectObjectiveSelectionsAsync","setProjectAccomplishmentTargetMonitoringEvent","setProjectGoalSelectionsAsync","selections","setProjectObjectiveAccomplishmentTargetSelectionAsync","setProjectObjectiveSelectionsAsync","deleteProjectAccomplishmentTargetMonitoringEvent","getProjectPractices","postProjectPractice","projectPractice","putProjectPractice","deleteProjectPractice","getPractices","getPracticeComponents","getTargetSeasons","getIncentiveTypes","getProjectIncentivePayments","postProjectIncentivePayment","projectIncentivePayment","putProjectIncentivePayment","deleteProjectIncentivePayment","getProjectConcept","postProjectConcept","putProjectConcept","getFundsPerFiscalYear","getFundingSourceEncumberedFunds","getEncumberedFundsOnApprovedBudgets","getFundingSourceExpendedFunds","getProjectWorkorders","projectWorkorder","flgUpdating","getProjectWorkorderBills","ids","receivedDate","localeCompare","projectWorkOrderBills","postProjectWorkorderBill","bill","putProjectWorkorderBill","putProjectWorkorderBillStatus","postProjectWorkorderBillLineItems","workOrderBillLineItems","lineItemModel","workOrderBillId","workOrderLineItemId","salePrice","billingComplete","postProjectWorkorderBillIncentivePayments","workOrderBillIncentives","incentivePayment","incentivePaymentModel","workOrderIncentivePaymentId","amountBilled","putProjectWorkorderBillLineItems","lineItems","putProjectWorkorderBillIncentivePayments","incentivePayments","getProjectWorkorderLineItemFundingSources","getProjectBudgetYearSnapshots","getProjectsPendingApproval","getMyActiveProjects","replaceProjectWorkorder","workorder","setPlanDetailsLoading","SET_DASHBOARD_DATA","SET_DASHBOARD_LOADING","dataLoading","SET_PENDING_BUDGETS","SET_FUNDING_SOURCES_LOADING","SET_PROJECT","SET_PROJECT_LOADING","SET_PROJECT_GEOMETRY","SET_PROJECT_SITES","SET_PROJECT_SITES_LOADING","SET_PLAN_DETAILS","SET_PROJECT_BUDGET","SET_PROJECT_BUDGET_SUMMARY_DATA_LOADED","SET_PROJECT_BUDGET_YEAR_SNAPSHOTS","SET_EXISTING_BUDGET_LINE_ITEM","projectBudgetYearId","SET_PROJECT_BUDGET_LINE_ITEM","SET_PROJECT_BUDGET_YEAR_CONTINGENCY","selectedYear","DELETE_PROJECT_BUDGET_LINE_ITEM","SET_PRICELISTS","SET_FUNDING_SOURCES","active","customfields","cf","fielD_NAME","fielD_VALUE","SET_FUNDS_PER_FISCAL_YEAR","SET_PRODUCTS","SET_CURRENT_PRICE_LISTS","SET_ANNUAL_HISTORY_IS_LOADING","SET_ANNUAL_HISTORY_NOT_LOADING","SET_ANNUAL_HISTORY_ITEMS","SET_CURRENT_PRICE_LISTS_LOADING","SET_SUCCESS_MESSAGE","SET_ERROR_MESSAGE","SET_DECREASE_SUCCESS_MESSAGE","SET_DECREASE_ERROR_MESSAGE","ADD_SITE_CONTACTS_LOADING","REMOVE_SITE_CONTACTS_LOADING","CLEAR_PROJECT_CONTACTS","ADD_PROJECT_CONTACTS","ADD_SITE_ORGANIZATIONS_LOADING","REMOVE_SITE_ORGANIZATIONS_LOADING","CLEAR_PROJECT_ORGANIZATIONS","projectOrganizationations","ADD_PROJECT_ORGANIZATIONS","SET_PROJECT_RESOURCE_PRIORITIES","SET_PROJECT_ACCOMPLISHMENT_TARGET_MONITORING_EVENTS","SET_PROJECT_ACCOMPLISHMENT_TARGET_MONITORING_EVENT_EVALUATION_METHODS","SET_PROJECT_GOALS","SET_PROJECT_GOAL_SELECTIONS","SET_PROJECT_OBJECTIVE_ACCOMPLISHMENT_TARGET_SELECTIONS","SET_PROJECT_OBJECTIVES","SET_PROJECT_OBJECTIVE_SELECTIONS","SET_PROJECT_PRACTICES","SET_PRACTICES","SET_PRACTICE_COMPONENTS","SET_INCENTIVE_TYPES","SET_PROJECT_INCENTIVE_PAYMENTS","SET_PROJECT_CONCEPT","SET_FUNDING_SOURCE_ENCUMBERED_FUNDS","SET_FUNDING_SOURCE_EXPENDED_FUNDS","SET_ENCUMBERED_FUNDS_APPROVED_BUDGETS","SET_PROJECT_SNAPSHOT","SET_PROJECT_SNAPSHOTS","SET_PROJECT_DRAFT_SNAPSHOT","SET_PROJECT_DRAFT_SNAPSHOT_LOADING","SET_CANCELLED_COMPLETED_PROJECT_SNAPSHOTS","SET_PROJECT_FISCALYEAR_SNAPSHOTS","SET_CURRENT_PROJECT_SNAPSHOTS","SET_PROJECT_WORKORDERS","SET_PROJECT_WORKORDER_BILL","SET_PROJECT_WORKORDER_BILLS","SET_PROJECT_WORKORDER_LINEITEM_FUNDINGSOURCES","SET_HAS_OPEN_WORK_ORDERS","SET_HAS_OPEN_WORK_ORDER_BILLS","SET_PROJECTS_PENDING_APPROVAL","SET_MY_ACTIVE_PROJECTS","REPLACE_PROJECT_WORKORDER","workorderOld","SET_PLAN_DETAILS_LOADING","workOrderLineItems","flat","fundingSourceIds","incentiveFundingSourceIds","allFundingSourceIds","toString","paidWorkorderBillLineItems","localGetters","workOrderBillForm","submitStatus","Paid","itemCost","fetchMemberOf","SET_MEMBER_OF","workorderBillsPendingApproval","workorderBillsApprovedForPayment","loadingBills","downloadingBills","updatingBills","getWorkorderBillsPendingApproval","getWorkorderBillsApprovedForPayment","markBillsAsPaid","downloadBills","responseType","url","URL","createObjectURL","Blob","link","body","click","SET_WORKORDER_BILLS_PENDING_APPROVAL","SET_DOWNLOADING_BILLS","SET_LOADING_BILLS","SET_UPDATING_BILLS","SET_WORKORDER_BILLS_APPROVED_FOR_PAYMENT","approvedWorkOrderBills","vendorName","workOrder","vendorContact","firstName","lastName","vendorOrganization","invoiceNumber","billIdentifier","projectName","projectManager","projectManagerEmail","emailAddress","workOrderNumber","workOrderId","vendor","contactBriefs","getContactBriefs","SET_CONTACT_BRIEFS","organizationBriefs","getOrganizationBriefs","SET_ORGANIZATION_BRIEFS","workorderOpportunityBriefs","getWorkorderOpportunityBriefs","SET_WORKORDER_OPPORTUNITY_BRIEFS","budgetModel","formLoading","workorderAddModel","workorderEditModel","workorderLineItemAddModel","workorderIncentivePaymentAddModel","workorderLineItemAddedModel","workorderIncentivePaymentAddedModel","workorderLineItemEditModel","workorderLineItemEditedModel","workorderLineItemBillingCompleteModel","workorderIncentivePaymentBillingCompleteModel","getWorkorder","workorderId","postWorkorder","putWorkorder","postWorkorderLineItem","workorderLineItem","postWorkorderIncentivePayment","workorderIncentivePayment","putWorkorderLineItem","workOrderLineItemIdOld","deleteWorkorderLineItem","setBudgetModel","setBudgetYear","setWorkorderAddModel","setWorkorderEditModel","setWorkorderLineItemAddModel","setWorkorderIncentivePaymentAddModel","setWorkorderLineItemEditModel","setFormLoading","loading","setWorkorderStatus","setWorkorderLineItemBillingComplete","setWorkorderIncentivePaymentBillingComplete","projectIncentivePaymentId","SET_BUDGETMODEL","SET_BUDGETYEAR","SET_WORKORDER","SET_WORKORDER_ADD_MODEL","SET_WORKORDER_EDIT_MODEL","SET_WORKORDER_LINEITEM_ADD_MODEL","SET_WORKORDER_INCENTIVEPAYMENT_ADD_MODEL","SET_WORKORDER_LINEITEM_ADDED_MODEL","SET_WORKORDER_INCENTIVEPAYMENT_ADDED_MODEL","SET_WORKORDER_LINEITEM_EDIT_MODEL","SET_WORKORDER_LINEITEM_EDITED_MODEL","SET_WORKORDER_LINEITEM_BILLINGCOMPLETE_MODEL","SET_WORKORDER_INCENTIVEPAYMENT_BILLINGCOMPLETE_MODEL","SET_FORMLOADING","pricelistEntries","getPricelistEntries","SET_PRICELISTENTRIES","getProductAsync","factors","y","getSumAsync","addends","SET_PRODUCT","use","Vuex","mySites","configLoaded","version","showSidePanel","isCurrentSiteDownloaded","setCurrentSite","setShowSidePanel","visibility","addToMySites","clearMySites","removeFromMySites","setConfiguration","setConfigLoaded","setVersion","fetchSiteAsync","navigator","onLine","dbSite","getCurrentSite","context","val","del","fetchMySites","fetchConfiguration","axios","fetchVersion","ReturnTo","SiteAssessment","SiteTaxlots","ManagementPlan","Project","Membership","WorkorderBill","Contact","Organization","Opportunity","Workorder","Pricelist","MathHelper","$event","countDownChanged","showAlert","dismissPlanDetailsSaveSuccessAlert","dismissPlanDetailsSaveSuccessAlertChanged","planDetailsValid","savePlan","isEditable","proxy","planDetailsSchema","formOptions","modelValidated","getPlanDetails","label","required","validator","errors","validatePlanDetailsNarrative","wrapper","styleClasses","visible","getIncentivePaymentSchemaAdd","projectIncentiveTypes","listbox","vendorTypes","payees","vendorType","payeesOrgs","projectFundingSources","startDate","toLocaleDateString","inputType","regex","test","placeholder","max","getIncentivePaymentSchemaUpdate","getPracticeSchema","practiceComponentsFiltered","ts","getConceptSchema","checklistOptions","min","getProjectWorkOrderBillSchema","getProjectWorkorderAddSchema","opportunityBriefs","fiscalYearStart","fiscalYearEnd","vendorContacts","vendorOrganizations","getProjectWorkorderEditSchema","disabled","getProjectWorkorderLineItemAddSchema","workorderLineItemAddFundingSources","workorderLineItemPricelistEntries","validatePositiveWholeNumber","getProjectWorkorderLineItemEditSchema","workorderLineItemEditFundingSources","labelClasses","fieldClasses","getProjectWorkorderIncentivePaymentAddSchema","maxValue","match","getProjectOutcomesSchema","getProjectTargetMonitoringEventAddSchema","projectTargetMonitoringEventAddModelEvaluationMethods","monitoringEventEvaluationMethod","unit","monitoringEventEvaluationMethodType","split","minLength","maxLength","projectTargetMonitoringEventAddModelPlantTypes","budgetStatus","Draft","Rejected","SubmittedForApproval","Approved","isApprover","approverRoles","projectOverviewPage","displayName","isRejecter","rejecterRoles","isSubmitter","approvalStatus","submitterRoles","SubmittedForPlanningApproval","ApprovedForPlanning","ConceptRejected","SubmittedForProjectApproval","canAddAnnualBudget","endDate","canSeeProjectHistory","Completed","Cancelled","canDecreaseProjectBudget","isYearEditable","canSubmitAnnualBudget","canApproveRejectAnnualBudget","returnToOverview","pageName","String","unallowedStatuses","unallowedSubmitStatuses","UnavailablePageModal","validateAfterChanged","validateAfterLoad","parseInt","showPlanDetailsSaveSuccessAlert","isValid","div","innerHTML","narrative","valid","insightly","downloadProjectPlanReport","onSubmitProjectOkClick","ok","cancel","onApproveProjectOkClick","_f","onRejectProjectOkClick","cancelCompleteProjectErrorModalType","cancelCompleteProjectErrorModalReason","onCompleteProjectOkClick","onCancelProjectOkClick","onProjectWorkOrderPlannedModalOkClick","totalDifference","totalBudgeted","totalEncumbered","totalAvailable","totalRequested","abs","isSubmittable","getSubmitProjectConceptTitle","isSubmitProjectConceptEnabled","isApprovable","onApproveProjectConceptClick","isRejectable","onRejectProjectConceptClick","onSubmitProjectConceptOkClick","isProjectSubmittable","submitProjectButtonTitle","isSubmitProjectEnabled","onSubmitProjectClick","isProjectApprovable","isValidating","onApproveProjectClick","isProjectRejectable","onCompleteProjectClick","onCancelProjectClick","isTabbable","isProjectOutcomesEnabled","isDownloading","ProjectTotalsCalculator","rankingScore","projectConceptProjectResourcePriorities","estimatedCost","statement","projectPlanDetails","bypassCategories","fundingSourceBudgets","isProjectCancelable","isProjectCompletable","isProjectWorkOrderOpen","isProjectWorkOrderBillUnpaid","isProjectIncentiveUnpaid","datePaid","isProjectWorkPlanned","unapprovedProjectBudgets","unapprovedProjectBudgetLineItems","load","loadProjectBudgetValidationData","loadProjectGeometry","fundsForNewProjects","budget","fundsForAnnualBudgets","loadModules","css","geometryEngine","IdentityManager","FeatureLayer","identityManager","localStorage","initialize","toJSON","projectMap","layers","projectLayer","query","createQuery","where","queryFeatures","results","features","union","feature","geometry","getProjectSummaryHref","location","lastIndexOf","onProjectClick","validStartDate","validateProjectStartDate","show","invalidStartDateModal","transformProjectBudgetToFundingSourceIds","Set","projectLineItems","transformProjectLineItems","transformProjectIncentivePayments","budgetedFunds","transformFundsPerFiscalYearToBudgetedFunds","lineItemEncumberedFunds","transformProjectSnapshotsToLineItemEncumberedFunds","incentivePaymentEncumberedFunds","transformProjectSnapshotsToIncentivePaymentEncumberedFunds","validateProjectBudget","insufficientFunds","insufficientFundsModal","approveProjectModal","cancelCompleteProjectErrorModal","cancelProjectModal","projectWorkOrderPlannedModal","completeProjectModal","validatePlanDetails","submitProjectModal","invalidPlanDetailsModal","fundsPerFiscalYearObjects","fundPerFiscalYear","approvedProjectsBudget","newProjectsBudget","fundingSourceFieldName","fundingSourceField","customField","fundingSourceObjectIds","fundingSourceObjects","fundingSourceFundsPerFiscalYear","fsfpfy","projectBudgetYear","projectBudgetYearFundingSourceIds","incentivePaymentObjectIds","incentivePaymentObjects","incentivePaymentObject","totalIncentivePayments","fundingSourceIncentivePayments","projectBudgetLineItem","lineItemIds","lineItemObjects","lineItemObject","totalLineItems","fundingSourceIncentivePaymentSnapshots","projectIncentivePaymentSnapshots","projectIncentivePaymentSnapshot","fundingSourceIncentivePaymentSnapshot","incentivePaymentEncumberedFundsIds","incentivePaymentEncumberedFundsObjects","incentivePaymentEncumberedFundsObject","snapshot","fundingSourceLineItems","projectBudgetYearSnapshot","projectBudgetLineItemSnapshot","fundingSourceLineItem","contingency","encumberedFundsIds","encumberedFundsObjects","encumberedFundsObject","validateAnnualBudgetIncrease","annualBudgetIncrease","getFundingSourceBudgetModel","fundingSourceBudget","getFundingSourceEncumberedFundsTotal","fundingSourceEncumberedFundsTotal","projectBudgetValidationResults","projectBudgetValidationResult","totalApprovedBudget","totalEncumberedFunds","totalApprovedBudgetRemaining","totalAnnualBudgetIncrease","totalProjectBudgetIncrease","totalAnnualBudgetDifference","fundingSourceFundPerFiscalYear","customfield","projectStartDate","validationResult","totalEncumberedLineItems","totalEncumberedIncentivePayments","totalRequestedLineItems","totalRequestedIncentivePayments","projectFundingSource","budgetedFund","lineItemEncumberedFund","incentivePaymentEncumberedFund","budgetFundingSources","budgetFundingSourceIds","projectFundsPerFiscalYear","totalProjectFundsPerFiscalYear","onOpenProjectPracticeModalClick","onProjectPracticeCancelClick","formValid","onProjectPracticeUpdateClick","onProjectPracticeAddClick","formSchema","onValidated","projectPracticesFields","row","onProjectPracticeEditClick","onProjectPracticeDeleteClick","projectPracticeModalId","initProjectPractice","practiceId","practiceComponentId","practiceComponent","hide","validateRequiredFields","openAddYearModal","cancelAddYear","addFiscalYearDisabled","addFiscalYear","possibleYears","yearToAdd","onAnnualBudgetInsufficientFundsDismiss","onAnnualBudgetInsufficientFundsOverride","totalApprovedFunding","encumberedInProject","remaining","requested","difference","totalApprovedProjectsBudget","encumberedAcrossProjects","submitAnnualBudget","rejectAnnualBudget","approveAnnualBudget","openCostItemModal","currentLineItem","cancelCostItem","validForm","addItem","getSchema","validateAsync","onLineItemValidation","processingApproval","showAnnualExpenditureSummary","canCreateWorkorder","workorderLookupsLoading","onWorkorderAddClick","getAnnualBudgetExpenditureTotalAnnualCost","getAnnualBudgetExpenditureCostShare","getAnnualBudgetExpenditureDistrictAndPartner","getAnnualBudgetExpenditureTotalObligated","getAnnualBudgetExpenditureObligatedSpent","getAnnualBudgetExpenditureObligatedSpentItems","getAnnualBudgetExpenditureObligatedUnspent","getAnnualBudgetExpenditureObligatedUnspentItems","getAnnualBudgetExpenditureTotalRemaining","getAnnualBudgetExpenditureTotalRemainingItems","validateAnnualBudgetForApproval","getServicesFromListItems","editLineItem","deleteLineItem","getMaterialsFromListItems","incentivesExistInBudgetYear","getIncentivesFromListItems","historyKey","LoadingSpinner","loadingData","openAdjustmentModal","cancelAdjustment","pushingData","validAdjustment","onAddItemClicked","showAlertWarning","validationMessage","getAnnualBudgetIncreaseSchema","currentAdjustment","onAdjustmentValidation","onAdjustmentUpdated","annualBudgetIncreaseDifference","fundingSourceApprovedProjectsBudget","fundingSourceEncumberedTotal","fundingSourceRemainingTotal","projectBudgetIncreaseTotal","validateRangeNumber","minValue","validatePositiveNumber","validateProjectBudgetAdjustment","projectAdjustment","previouslySpent","getPreviousFiscalYearsTotalSpent","previouslyApproved","getFiscalYearTotalApproved","snapshotTotal","amountLeft","toFixed","annualAdjustment","localProjectAdjustment","errorArray","minimumProjectAdjustment","$options","filters","toCurrency","getProjectDecreaseSchema","orderedFundingSourcesForCurrentBudget","step","orderedFundingSources","orderedProducts","onChanged","units","producT_ID","selectOptions","noneSelectedText","orderedPriceLists","priceListId","price","types","prod","producT_NAME","nameSort","fund","pb","setExistingFunds","mapGetters","showProjectExpenditureSummary","showProjectBudgetSummary","projectExpenditureTotalProjectCost","projectExpenditureCostShare","districtAndPartnerCost","projectExpenditureDistrictOrPartnerCost","totalApproved","costShare_Total_Cost","totalDistrictOrPartnerCost","totalDistrictOrPartnerCostItems","projectExpenditureDistrictOrPartnerCostItems","currentProjectBudgetYears","currentProjectLineItems","by","usedFundingSourceIds","annualIncreasesFundingSourceIds","totalSpentByFundingSource","filteredFundingSources","recordId","mappedFundingSources","incentives","incentiveAmount","totalCostItems","increases","decreases","totalDecrease","projectExpenditureTotalObligated","spent","projectExpenditureTotalObligatedSpent","unspent","projectExpenditureTotalObligatedUnspent","totalObligatedSpent","totalObligatedSpentItems","projectExpenditureTotalObligatedSpentItems","workorders","workOrderBills","paidWorkorderBills","paidWorkorderBillIncentives","workOrderBillIncentivePayments","lineItemFundingSourceIds","totalSpentItems","totalObligatedUnspent","totalObligatedUnspentItems","projectExpenditureTotalObligatedUnspentItems","workorderIncentives","workOrderProjectIncentives","pip","totalUnspentByFundingSource","workorderLineItems","fsource","totalSpent","paymentAmount","projectExpenditureObligatedSpent","projectExpenditureObligatedSpentItems","woBillFundingSourceIds","woIncentiveFundingSourceIds","projectExpenditureTotalObligatedItems","workOrderFundingItems","wo","unspentLineItemFunding","paidBillFunding","acceptedStatusFunding","getUnspentLineItemFunding","getPaidBillFunding","acceptedUnspentLineItemFunding","acceptedPaidBillFunding","liIndex","lif","paid","accpted","totalObligatedItems","projectExpenditureTotalRemaining","projectExpenditureTotalRemainingItems","districtAndPartnerItems","distPartnerFundingSourceIds","obligatedFundingSourceIds","allfundingSourceIds","remainingItems","districtAndPartnerItemCost","itemName","totalObligatedItemCost","districtAndPartnerItem","totalObligatedItem","projectExpenditureCancelCompleteTotalRemaining","projectExpenditureCancelCompleteTotalRemainingItems","obligated","obligatedItem","totalRemaining","loadProjectBudgetSummaryData","loadProjectWorkorderBills","workOrderBill","workOrderLineItem","lineItemProductName","productName","lineItemProductUnit","productUnit","lineItemQuantity","workOrderLineItemIds","workOrderLineItemFundingSources","fundingSourceOptions","text","getWorkOrderObligatedUnspentGrandTotal","workOrderLineItemTotal","workOrderBillTotal","lineItemTotals","bills","billLineItems","billLineItemsTotals","lineItemSum","lineItemValue","unspentTotal","getWorkOrderGrandTotal","grandTotal","requestedDate","workorderBills","workorderBillLineItems","workorderBillLineItemCosts","workorderCost","fiscalYearSnapshot","fiscalYearLineItemSnapshots","getProjectBudgetSummaryTotalBudget","incentivesInFiscalYear","totalIncentive","totalBudget","totalAnnualCost","isArray","adjustmentToProjectBudgetTotal","previousValue","nextValue","getTotalCostItems","totalDistrictPartnerCostByFundingSource","partnerCost","costShareItems","getAnnualBudgetExpenditureCostShareItems","costShareItemsTotal","tci","totalCostShareByFundingSource","getAnnualBudgetExpenditureDistrictAndPartnerItems","districtAndPartnerItemsTotal","currentProjectBudgetYear","getAnnualBudgetExpenditureTotalObligatedSpent","getAnnualBudgetExpenditureTotalObligatedSpentItems","getAnnualBudgetExpenditureTotalObligatedUnspent","getAnnualBudgetExpenditureTotalObligatedUnspentItems","fId","pi","totalObligated","obligatedSpent","getAnnualBudgetExpenditureTotalObligatedItems","obligatedSpentItems","spentFundingSourceIds","concatFundingSourceIds","idx","obligatedUnspentItems","spentItem","totalUnspent","woLineItems","woIncentives","projIncentive","annualBudgetIncreaseTotal","fundingSourceDifferenceTotal","initAdjustment","loadBudgetData","loadAnnualBudgetItems","adjustmentValidationFailed","$refs","annualBudgetIncreaseForm","validate","isAnnualFundingSourceSufficient","vm","getAdjustmentAmountByFundingSource","amount","getOrInitializeBudget","fundingList","getOrInitializeExpendedFunds","expendedFundsList","productType","getProductsFromListItems","sortListItems","getProduct","getPriceList","decreasePercent","increasePercent","decreaseContingencyPercent","increaseContingencyPercent","Function","aDate","setHours","bDate","valueOf","costItemId","priceListName","getIncentiveType","getIncentivePayee","getIncentiveFundingSource","getIncentiveDueDate","getIncentivePaymentAmount","incentiveType","payee","payeeId","payeeOrg","payeeOrgId","rowClass","isWorkOrderSubmitter","budgetPage","workorderSubmitterRoles","projectWorkOrderBillModelValid","projectWorkOrderBillModel","projectWorkOrderBillAddModalId","projectWorkOrderBillEditModalId","projectWorkOrderBillSchema","getGrandTotal","lineItemGrandTotal","incentiveGrandTotal","incentiveTotals","incentiveSum","incentiveValue","getDistrictOrPartnerTotal","districtOrPartnerTotal","getBillPaymentTotal","lineItemBillPaymentTotal","lineItemBillPaymentTotals","totalPayment","incentivePaymentBillPaymentTotal","incentivePaymentBillPaymentTotals","getBillPaymentTotalByFundingSource","billPaymentTotalsByFundingSource","fb","getApprovedForPaymentTotal","ApprovedForPayment","approvedForPaymentLineItemTotal","lineItemTotal","approvedForPaymentIncentiveTotal","getPendingBillApprovalTotal","SubmittedForPayment","pendingBillApprovalLineItemTotal","pendingBillApprovalIncentiveTotal","getRemainingTotal","approvedForPaymentTotal","pendingBillApprovalTotal","spentTotal","getSpentTotal","remainingTotal","spentLineItemTotal","paidWorkOrderBillLineItems","paidWorkOrderBillLineItemTotals","spentIncentiveTotal","paidWorkOrderBillIncentives","paidWorkOrderBillIncentiveTotals","isWorkOrderBillingComplete","workOrderLineItemsBillingComplete","isWorkOrderLineItemBillingComplete","workOrderIncentivesBillingComplete","woip","paymentDate","isWorkOrderIncentiveBillingComplete","isWorkOrderFundingComplete","lineItemFundingSourceWorkOrderLineItemIds","invalidWorkOrderLineItemIds","isLineItemAddDisabled","isIncentivePaymentAddDisabled","isLineItemBillingCompleteCheckboxDisabled","isBillAddDisabled","onProjectWorkOrderBillAddClick","billingCompleteWorkOrderLineItemIds","unbilledWorkOrderLineItems","workOrderLineItemFundingSource","previousBills","Voided","lineItemQuantityBilledToDate","totalQuantity","workOrderBillLineItem","workOrderBillIncentivePaymentIds","unbilledWorkOrderIncentivePayments","ip","workOrderBillIncentive","billSelected","workOrderTotal","getWorkorderTotal","otherBillsTotal","getOtherBillsTotal","billDate","Received","validateProjectWorkOrderBillRequiredFields","onProjectWorkOrderBillAddOkClick","validNumberOfLineItems","validNumberOfIncentives","onProjectWorkOrderBillAddCancelClick","onProjectWorkOrderBillEditClick","getOtherWorkOrderBillTotal","wobi","wopi","onProjectWorkOrderBillEditOkClick","onProjectWorkOrderBillEditCancelClick","onProjectWorkOrderBillValidated","invoiceNumberErrorIndex","invoiceNumberError","startsWith","billDateValidationErrorMessage","billDateErrorIndex","billDateError","validateBillDateIsPriorToReceivedDate","billDateFieldIndex","billDateField","onBillSubmitForApprovalClick","submitForApprovalBill","onBillSubmitForApprovalClickOk","onBillPutStatusClick","onBillSubmitForPaymentClick","submitForPaymentBill","onBillSubmitForPaymentClickOk","onBillApproveClick","approveBill","onBillApproveClickOk","onBillVoidClick","voidBill","onBillVoidClickOk","onBillPaidClick","paidBill","onBillPaidClickOk","lineItemsBilled","incentivesBilled","validateBillableRemainingIsNotOverTwentyPercent","overTwentyPercent","percent","restrictQuantity","preventDefault","restrictSalePrice","workorderAddModelValid","saveWorkorder","workorderAddSchema","onWorkorderAddValidated","onWorkorderAddModelUpdated","opportunityId","totalEntered","workorderAddModelServiceMaterialFields","lineItemSelectedOnChange","$set","workorderLineItemsSelected","lineItemQuantityOnInput","workorderAddModelIncentivesFields","incentiveLineItemSelectedOnChange","incentiveTypeName","workorderIncentiveLineItemsSelected","initWorkorderAddModel","projectWorkorderLineItems","budgetLineItems","lineItemSelected","lineItemProductUnitCustomField","lineItemOnOtherWorkorder","costItemLineItems","workorderName","vendorContactId","vendorOrganizationId","contractorSpecialInstructions","validateWorkOrderAddFields","requestedDateYear","requestedDateMonth","requestedDateDay","workOrderProjectIncentivePayments","workorderInputModel","initLineItem","insufficientFundingSources","insufficientFundingSourcesAcrossProjects","projectWorkorderAddIsVisible","loadingPriceBookData","AnnualBudgetIncreases","AnnualBudgetIncreaseModal","ProductTable","IncentivePaymentsTable","AnnualBudgetTable","ProjectWorkorderAdd","targetDate","getProjectBudgetHref","getYearAmountByFundingSource","existingEntry","lineItemCostFixed","parseFloat","res","getYearInsufficientFundingSourcesAcrossProjects","encumberedFunds","funding","getYearInsufficientFundingSources","encumbered","expendedFunds","isService","listItems","incentiveFiscalYear","getYearFromId","budgets","replaceAll","isTotalObligatedDataLoaded","openModal","cancelDecrease","validDecrease","decreaseValidationMessage","currentProjectDecrease","onDecreaseValidation","totalObligatedDataLoaded","initProjectDecrease","projectBudgetId","msgBoxOk","projectAdjustmentItems","eventType","changeToBudget","eventDate","createdAt","createdBy","createdByName","AnnualBudget","ExpenditureSummary","FundingBreakdown","ProjectBudgetDecrease","ProjectBudgetHistory","watch","cleanUpSelectedYear","testYear","initializeYear","yearValue","saveBudget","setUpPossibleYears","submitBudget","organization","formatOrganizationUrl","ORGANISATION_ID","ORGANISATION_NAME","getTaskEmail","EMAIL_ADDRESS","PHONE_HOME","PHONE_MOBILE","mutation","unsubscribe","organizationFilter","contactFilter","dismissProjectGoalValidationErrorAlert","dismissProjectGoalValidationErrorAlertChanged","dismissProjectObjectiveValidationErrorAlert","dismissProjectObjectiveValidationErrorAlertChanged","dismissProjectGoalSaveSuccessAlert","dismissProjectGoalSaveSuccessAlertChanged","projectObjectivesLoading","projectGoalsSaving","onSaveClick","projectGoalsSelected","projectObjectivesSelected","projectAccomplishmentTargetsLoading","projectObjectiveAccomplishmentTargetsSelected","projectObjectiveAccomplishmentTarget","projectAccomplishmentTarget","cascadeProjectGoalsSelectedNewValues","newValues","selectedProjectGoals","selectedProjectGoal","projectGoalObjectives","selectedProjectObjectives","selectedProjectGoalObjective","projectObjective","selectedProjectObjectiveIds","childClass","unselectedProjectGoalObjectiveIds","selectedProjectGoalObjectiveIds","projectObjectiveId","removableProjectGoalObjectiveIds","getDistinctProjectObjectiveIds","projectGoal","projectGoalObjective","validateProjectGoals","validateProjectObjectives","showProjectObjectiveValidationErrorAlert","showProjectGoalValidationErrorAlert","showProjectGoalSaveSuccessAlert","projectGoalsFiltered","intersection","validationErrors","projectObjectivesFiltered","onOpenProjectIncentivePaymentModalAddClick","onProjectIncentivePaymentAddCancelClick","formValidAdd","onProjectIncentivePaymentAddClick","formSchemaAdd","onValidatedAdd","onProjectIncentivePaymentModelUpdated","onProjectIncentivePaymentUpdateCancelClick","formValidUpdate","onProjectIncentivePaymentUpdateClick","formSchemaUpdate","onValidatedUpdate","projectIncentivePaymentsFields","getSelectedPayee","onProjectIncentivePaymentEditClick","isAdmin","setDeleteProjectIncentivePayment","onProjectIncentivePaymentDeleteOkClick","sortLookupArray","projectIncentivePaymentModalAddId","projectIncentivePaymentModalUpdateId","projectIncentivesLoading","projectIncentivesSaving","initProjectIncentivePayment","incentiveTypeId","getPayee","getPayeeId","getPayeeOrg","getPayeeOrgId","validateRequiredFieldsAdd","onProjectIncentivePaymentDeleteClick","validateRequiredFieldsUpdate","administrator","lookupArray","validatePayee","validatePayeeOnUpdate","isSaving","showManageSitesInstructions","showDrawInstructions","showEditInstructions","showEmptyProjectSitesWarning","showErrorMessageAlert","showErrorMessageAlertBody","dismissGeocodeSuccess","showGeocodeSuccessChanged","dismissGeocodeWarning","showGeocodeWarningChanged","dismissGetProjectSitesWarning","showGetProjectSitesWarningChanged","btnDefaultButtonsShow","btnManageSitesOnClick","btnManageBoundariesOnClick","btnManageSitesClearOnClick","btnManageSitesSaveOnClick","btnManageSitesCancelOnClick","btnEditSelectBoundaryDisabled","btnEditSelectBoundaryOnClick","btnEditClearOnClick","btnEditSaveOnClick","btnEditCancelOnClick","domProps","radioButtonOnClick","title","_q","selectLayerItem","selectLayerItemRadioButtonOnClick","selectableLayers","selectableLayer","projectSitePerPage","projectSiteCurrentPage","projectSiteFields","projectSiteItems","projectSiteTotalRows","btnEditCancelSaveShow","sketch","Sketch","availableCreateTools","creationMode","defaultCreateOptions","defaultUpdateOptions","enableRotation","enableScaling","enableZ","layer","graphicsLayer","view","sketchCreateHandle","selectLayerViewOnClickHandle","remove","symbol","projectDrawCompleteSymbol","selectLayerViewOnClick","sketchUpdateHandle","ui","add","projectGeometries","rings","ring","Graphic","spatialReference","removeAll","addMany","addSelectLayerList","viewOnClickHandle","viewOnClick","selectedSites","highlightProjectSites","btnManageSitesButtonsShow","unhighlightProjectSites","projectSiteIdsExpected","saveProjectSites","projectSiteIdsActual","projectSitesDifference","retry","retryLimit","showGetProjectSitesWarning","projectSitesTable","refresh","ps","removeSelectLayerListLayer","removeSelectLayerList","setExtentByDefault","loadProjectGraphic","setExtentByProjectGeometry","graphics","saveProjectGeometry","selectLayerHits","hit","removeSelectLayerHitHighlights","onProjectGeometrySet","categoryId","consEdCategoryId","consEdStreet","consEdCity","consEdZip","setExtentByProjectAddress","showGeocodeWarning","maps","webmapListExpand","toggle","selectLayer","selectLayerHitObjectIds","objectid","hitTest","whenLayerView","layerView","hits","selectLayerId","highlight","siteLayer","filteredSites","filteredSite","objectIds","addBasemaps","basemapsConfig","Basemap","TileLayer","WebMap","tileLayer","basemap","baseLayers","webMap","allLayers","targetLayer","addButtons","btnDefaultButtons","btnManageSitesButtons","btnEditButtons","button","addLayerList","Expand","LayerList","layerList","container","layerListExpand","expandIconClass","expandTooltip","group","position","addLayers","layersConfig","GraphicsLayer","referenceLayer","huc10Layer","huc12Layer","taxlotLayer","geocodeLayer","addLegend","Legend","legendExpand","addMapPicker","webmapList","portalItemList","selectLayerListExpand","selectLayerItemList","getProjectWatersheds","featureLayer","projection","SpatialReference","isWGS84","WGS84","spatialRelationship","returnGeometry","outFields","huc12Watersheds","watershed","area","geodesicArea","intersect","huc10","huc10_name","huc12","huc12_name","subwatershedIds","subwatershedNames","loadMap","Draw","MapView","Home","basemaps","center","defaultExtent","zoom","move","projectDisplaySymbol","findLayerById","projectWatersheds","upsertProjectGeometry","selectedSiteIds","selectedSite","deletedProjectSites","deletedProjectSiteIds","deletedProjectSite","projectSiteRelatedSiteIds","addedSites","addedSite","Locator","locator","outSpatialReference","wkid","singleLine","trim","replace","addressToLocations","address","SingleLine","countryCode","forStorage","addressCandidates","candidates","score","tolerance","candidate","extent","geodesicBuffer","markerSymbol","textGraphicSymbol","markerLabel","textGraphic","showGeocodeSuccess","homeButton","applyEditsParameter","addFeatures","projectname","updateFeatures","applyEdits","applyEditsException","queryFeaturesException","insightlyIds","unsubscribeSetProject","unsubscribeSetProjectGeometry","siteIdSiteName","contractAcres","instreamLeaseNumber","onEditProjectConceptButtonClick","projectConceptResourcePriorities","onEditProjectConceptButtonCancelClick","onEditProjectConceptButtonUpdateClick","projectConceptModel","loadProjectConcept","resourcePriorityIds","ProjectMap","ProjectDetails","workorderSubmitForReviewOnClickOk","workorderSubmitToVendorOnClickOk","workorderAcceptedByVendorOnClickOk","workorderCompleteOnClickOk","workorderCancelOnClickOk","onWorkOrderLineItemDeleteOkClick","projectWorkOrderBillableRemaining","projectWorkOrderBillLineItemFieldsAdd","sortBy","sortDesc","composing","projectWorkOrderBillIncentivePaymentFieldsAdd","projectWorkOrderBillLineItemFieldsEdit","projectWorkOrderBillIncentivePaymentFieldsEdit","projectWorkOrderTabIndex","workOrderName","onWorkorderEditClick","isWorkOrderCancelMember","isWorkorderCancelVisible","isWorkorderCancelDisabled","isWorkorderCancelDisabledTitle","workorderCancelOnClick","isWorkOrderSubmitForReviewMember","isWorkorderSubmitForReviewVisible","workorderSubmitForReviewOnClick","isWorkOrderSubmitToVendorMember","isWorkorderSubmitToVendorVisible","isJuniorPlanner","workorderSubmitToVendorOnClick","isWorkOrderAcceptedByVendorMember","isWorkorderAcceptedByVendorVisible","workorderAcceptedByVendorOnClick","isWorkOrderCompleteMember","isWorkorderCompleteVisible","isWorkorderCompleteDisabled","isWorkorderCompleteDisabledTitle","workorderCompleteOnClick","formLoaded","dateUpdatedUTC","toLocaleString","getVendorContactName","getVendorOrganizationName","onWorkorderLineItemAddClick","workOrderLineItemEditing","refInFor","getProjectWorkOrderLineItemFields","getDistrictAndPartnerPercent","getDistrictAndPartnerCost","quantityBilledToDate","workOrderLineItemBillingCompleteSaving","onWorkOrderLineItemBillingCompleteChanged","onWorkOrderLineItemEditClick","onWorkOrderLineItemDeleteClick","onWorkorderIncentivePaymentAddClick","workOrderIncentivePaymentEditing","getProjectWorkOrderIncentivePaymentFields","getIncentiveItems","incentiveBillingComplete","isBillAddVisible","billUniqueIdentifier","isBillEditVisible","billId","projectWorkOrderBillLineItemFields","projectWorkOrderBillIncentivePaymentFields","isBillVoidVisible","isBillSubmitForApprovalVisible","isBillSubmitForPaymentVisible","isBillApproveVisible","isBillPaidVisible","getBillVisible","groups","roles","workOrderForm","submitForReviewRoles","submitToVendorRoles","acceptedByVendorRoles","completeRoles","cancelRoles","isVisible","Review","isWorkorderSubmitToVendorVisibleForJuniorPlanner","Submitted","Accepted","billCount","paidCount","voidCount","hasIncompleteWorkOrderLineItems","some","isDisabled","workorderSubmitOnClick","workorderUrl","exceededItems","workOrderValid","workOrderFiscalYear","workOrderDistrictOrPartnerCost","GetWorkOrderDistrictOrPartnerCosts","workOrdersDistrictOrPartnerCost","GetOtherWorkOrdersDistrictOrPartnerCosts","paidWorkOrderTotals","GetPaidWorkOrderTotals","workOrderSnapshotTotal","GetWorkOrderSnapshotDistrictOrPartnerTotal","workOrderAnnualIncreaseTotal","GetWorkOrderSnapshotAnnualAdjustmentTotal","totals","workOrderCost","otherCost","payments","workOrdersPaidBillsTotals","workOrderIncentives","workOrderLineItemTotals","workOrderIncentiveTotals","workOrderIncentiveTotal","getWorkorderIncentivePaymentTotal","workOrderIncentivesTotals","workOrderBillLineItemTotals","workOrderBillLineItemTotal","workOrderBillIncentiveTotals","workOrderBillIncentiveTotal","thClass","sortable","sortByFormatted","isBillViewer","hasAnyRole","viewerRoles","isBillEditor","editorRoles","isBillSubmitter","isBillApprover","billStatus","projectWorkorderLineItemAddModel","projectWorkorderIncentivePaymentAddModel","projectWorkorderLineItemDeleteModel","projectWorkorderLineItemEditModel","projectWorkOrderLineItemFields","lineItemFundingSource","lineItemFundingSourceList","lineItemId","projectWorkOrderIncentivePaymentsFields","projectWorkOrderLineItemItems","projectWorkOrderLineItemFundingSourceValues","projectWorkOrderIncentivePaymentValues","setProjectWorkorderLineItemCalculatedValues","getProjectWorkOrderLineItemTotal","initWorkorderLineItemAddModel","opportunityBrief","loadWorkOrderLineItemFundingSourceValuesResult","loadWorkOrderLineItemFundingSourceValues","pricebookId","opportunityName","workorderNumber","pricebookEntryId","districtAndPartnerCostValue","initWorkorderIncentivePaymentAddModel","loadWorkOrderIncentivePaymentValuesResult","loadWorkOrderIncentivePaymentValues","incentivePaymentId","initWorkorderLineItemEditModel","priceBookEntryId","applyToAll","loadProjectWorkorderLineItemFundingSources","annualBudgetIncreaseFundingSourceIds","qbAccount","source","nonCancelledCompletedWorkOrderIncentives","completedWorkOrderIncentives","billedCompletedWorkOrderIncentives","existingWorkOrderIncentives","initWorkorderLineItemAddModelResult","projectWorkorderLineItemAddIsVisible","initWorkorderIncentivePaymentAddModelResult","projectWorkorderIncentivePaymentAddIsVisible","onWorkOrderIncentivePaymentBillingCompleteChanged","workOrderIncentivePaymentsCompleteSaving","projectWorkorderLineItemEditIsVisible","originalItemCost","originalDistrictPartnerCost","onProjectWorkOrderLineItemEditCancelClick","projectWorkOrderLineItemEditModalId","workorderEditModelValid","workorderEditSchema","onWorkorderEditValidated","onWorkorderEditModelUpdated","validateWorkOrderEditFields","fieldName","onWorkorderLineItemAddModalOk","workorderLineItemAddModelValid","workorderLineItemAddSchema","onWorkorderLineItemAddModelUpdated","onWorkorderLineItemAddModelValidated","totalAvailableExceeded","pricelistEntry","distPartnerCostRounded","validateWorkOrderLineItemAddFields","onWorkorderIncentivePaymentAddModalOk","workorderIncentivePaymentAddModelValid","workorderIncentivePaymentAddSchema","onWorkorderIncentivePaymentAddModelValidated","validateWorkOrderIncentivePaymentAddFields","onWorkorderLineItemEditModalOk","workorderLineItemEditModelValid","workorderLineItemEditSchema","onWorkorderLineItemEditModelUpdated","onWorkorderLineItemEditModelValidated","validateWorkOrderLineItemEditFields","getBillIndex","initWorkorderEditModel","loadWorkorderLookups","projectWorkorderEditIsVisible","unsubscribeSetWorkorderEditModel","subscribe","payload","ProjectWorkorderEdit","ProjectWorkorderLineItemAdd","ProjectWorkorderIncentivePaymentAdd","ProjectWorkorderLineItemEdit","unsubscribeSetWorkorderLineItemAddedModel","unsubscribeSetWorkorderIncentivePaymentAddedModel","unsubscribeSetWorkorderLineItemEditedModel","incentiveFundingSource","incentiveItems","projectIncentive","dismissOutcomeSummarySaveSuccessAlert","dismissOutcomeSummarySaveSuccessAlertChanged","saveOutcomeSummary","outcomeSummaryFormModel","outcomeSummaryFormSchema","outcomeSummaryFormOptions","saveProjectTargetMonitoringEventAddModel","projectTargetMonitoringEventAddModelValid","projectTargetMonitoringEventAddModel","projectTargetMonitoringEventAddSchema","projectTargetMonitoringEventAddFormOptions","onProjectTargetMonitoringEventAddFormValidated","onProjectTargetMonitoringEventAddFormModelUpdated","onProjectTargetMonitoringEventDeleteOkClick","onOutcomeSummaryEditClick","outcomeSummary","projectTarget","targetId","onProjectTargetMonitoringEventAddClick","objective","monitoringEvents","getProjectTargetMonitoringEventFields","onProjectTargetMonitoringEventDeleteClick","monitoringEventUrl","projectTargetMonitoringEventDeleteModel","projectTargetMonitoringEventFields","projectTargets","initializeOutcomeSummaryFormModel","initializeProjectTargetMonitoringEventAddModel","projectOutcome","monitoringEventPlantTypes","projectAccomplishmentTargetId","monitoringEventDate","monitoringEventEvaluationMethodUnit","monitoringEventEvaluationBit","monitoringEventEvaluationNumber","monitoringEventEvaluationText","monitoringEventPlantType","monitoringEventPhotoMonitored","fieldValue","monitoringEvent","showOutcomeSummarySaveSuccessAlert","VueRouter","routes","path","MySites","children","ProjectActions","ProjectBudget","ProjectContacts","ProjectGoals","ProjectIncentives","ProjectOverview","PlanDetails","ProjectWorkorders","ProjectOutcomes","SignIn","NotAuthorized","scrollBehavior","beforeEach","app","loadConfig","h","App","$mount","productionTip","library","faBars","faBold","faCaretDown","faCaretLeft","faCaretRight","faDownload","faItalic","faList","faListOl","faMinusCircle","faPen","faPlus","faPlusCircle","faSpinner","faStrikethrough","faTrash","faUnderline","FontAwesomeIcon","vfgFieldCustomChecklist","vfgFieldCustomLookupChecklist","vfgFieldCustomDatepicker","vfgFieldCustomMonthpicker","vfgFieldCustomRichText","vfgFieldCustomTextlist","vfgFieldCustomYearpicker","vfgFieldCustomSelect","BootstrapVue","IconsPlugin","VueFormGenerator","validators","configureFilters","baseURL","interceptors","bearerToken","newConfig","headers","Authorization"],"mappings":"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","file":"js/app.71598faa.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({\"about\":\"about\"}[chunkId]||chunkId) + \".\" + {\"about\":\"e434c731\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"about\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({\"about\":\"about\"}[chunkId]||chunkId) + \".\" + {\"about\":\"26f30931\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","/* eslint-disable max-len, no-restricted-properties, padded-blocks, prefer-destructuring */\n\n/* This mixin provides methods for calculating project totals */\nimport { mapState } from 'vuex';\nimport FiscalYear from '@/mixins/fiscalYear';\n\nexport default {\n mixins: [\n FiscalYear,\n ],\n computed: {\n ...mapState('MathHelper', {\n product: (state) => state.product,\n }),\n ...mapState('Project', {\n projectBudget: (state) => state.projectBudget,\n projectIncentivePayments: (state) => state.projectIncentivePayments,\n fundingSources: (state) => state.fundingSources,\n currentPriceLists: (state) => state.currentPriceLists,\n projectSnapshotDraft: (state) => state.projectSnapshotDraft,\n }),\n budgetSnapshotTotalCostShare() {\n if (!this.projectSnapshotDraft || this.projectSnapshotDraft === null) return 0;\n\n return this.projectSnapshotDraft.costShare_Base_Cost + this.projectSnapshotDraft.costShare_Contingency_Cost;\n },\n budgetTotalCostShare() {\n const budgetContingencyCostShare = this.budgetContingencyCostShare * 100;\n\n const budgetBaseCostShare = this.budgetBaseCostShare * 100;\n\n const budgetTotalCostShare = (budgetContingencyCostShare + budgetBaseCostShare) / Math.pow(10, 2);\n\n return budgetTotalCostShare;\n },\n budgetSnapshotBaseCostShare() {\n if (!this.projectSnapshotDraft || this.projectSnapshotDraft === null) return 0;\n\n return this.projectSnapshotDraft.costShare_Base_Cost;\n },\n budgetBaseCostShare() {\n let budgetBaseCostShare = 0.0;\n\n if (!this.projectBudget.projectBudgetYears || this.projectBudget.projectBudgetYears.length === 0) {\n return budgetBaseCostShare;\n }\n\n const budgetBaseCostShares = this.projectBudget.projectBudgetYears.map(\n (year) => (this.getYearCostShareSubtotal(year) * 100),\n );\n\n budgetBaseCostShare = budgetBaseCostShares.reduce(\n (accumulator, value) => accumulator + value,\n );\n\n budgetBaseCostShare /= Math.pow(10, 2);\n\n return budgetBaseCostShare;\n },\n budgetSnapshotContingencyCostShare() {\n if (!this.projectSnapshotDraft || this.projectSnapshotDraft === null) return 0;\n\n return this.projectSnapshotDraft.costShare_Contingency_Cost;\n },\n budgetContingencyCostShare() {\n let budgetContingencyCostShare = 0.0;\n\n if (!this.projectBudget.projectBudgetYears || this.projectBudget.projectBudgetYears.length === 0) {\n return budgetContingencyCostShare;\n }\n\n budgetContingencyCostShare = this.projectBudget.projectBudgetYears.map(\n (year) => (this.getTotalCostShareContingencyAmount(year)),\n ).reduce(\n (accumulator, value) => accumulator + value,\n );\n\n return budgetContingencyCostShare;\n },\n budgetSnapshotCostSharePercent() {\n const budgetSnapshotTotalCostShare = (this.budgetSnapshotTotalCostShare * 100);\n\n const budgetTotalSnapshotAmount = (this.budgetTotalSnapshotAmount * 100);\n\n const budgetSnapshotCostSharePercent = (budgetSnapshotTotalCostShare / (budgetTotalSnapshotAmount + budgetSnapshotTotalCostShare)) * 100;\n\n return budgetSnapshotCostSharePercent;\n },\n budgetCostSharePercent() {\n const budgetTotalCostShare = (this.budgetTotalCostShare * 100);\n\n const budgetTotalAmount = (this.budgetTotalAmount * 100);\n\n const budgetCostSharePercent = (budgetTotalCostShare / (budgetTotalAmount + budgetTotalCostShare)) * 100;\n\n return budgetCostSharePercent;\n },\n projectBudgetIncrease() {\n if (!this.projectBudget || !this.projectBudget.projectBudgetYears) {\n return 0.0;\n }\n return this.projectBudget.projectBudgetYears.flatMap((pby) => pby.annualBudgetIncreases.map(\n (ba) => ba.adjustmentToProjectBudget,\n )).reduce(\n (a, b) => a + b, 0.0,\n );\n },\n projectBudgetDecrease() {\n if (!this.projectBudget || !this.projectBudget.projectBudgetDecreases) {\n return 0.0;\n }\n return this.projectBudget.projectBudgetDecreases.map(\n (ba) => ba.decreaseAmount,\n ).reduce(\n (a, b) => a + b, 0.0,\n );\n },\n budgetTotalSnapshotAmount() {\n if (!this.projectSnapshotDraft || this.projectSnapshotDraft === null) return 0;\n\n const projectSnapshotTotalAmount = Math.round(this.projectSnapshotDraft.districtOrPartnerCosts_Total * 100);\n\n const increase = this.projectBudgetIncrease ?? 0;\n const projectBudgetIncrease = Math.round(increase * 100);\n\n const decrease = this.projectBudgetDecrease ?? 0;\n const projectBudgetDecrease = Math.round(decrease * 100);\n\n const incentiveTotal = this.projectIncentivePayments.map(\n (pmt) => (pmt.amountPaid * 100),\n ).reduce((a, b) => a + b, 0.0);\n\n let totalAmount = projectSnapshotTotalAmount + incentiveTotal + projectBudgetIncrease - projectBudgetDecrease;\n totalAmount /= Math.pow(10, 2);\n\n return totalAmount;\n },\n budgetTotalAmount() {\n if (!this.projectBudget.projectBudgetYears || this.projectBudget.projectBudgetYears.length === 0) {\n return 0.0;\n }\n\n const budgetTotal = this.projectBudget.projectBudgetYears.map(\n (year) => ((this.getYearTotalDistrictPartnerAmount(year)) * 100),\n ).reduce((a, b) => a + b, 0.0);\n\n const adjustmentTotal = this.projectBudget.projectBudgetYears.flatMap(\n (pby) => pby.annualBudgetIncreases.map(\n (pmt) => (pmt.adjustmentToProjectBudget * 100),\n ),\n ).reduce((a, b) => a + b, 0.0);\n\n const decreaseTotal = this.projectBudget.projectBudgetDecreases.map(\n (ba) => (ba.decreaseAmount * 100),\n ).reduce((a, b) => a + b, 0.0);\n\n let budgetTotalAmount = budgetTotal + adjustmentTotal - decreaseTotal;\n budgetTotalAmount /= Math.pow(10, 2);\n\n return budgetTotalAmount;\n },\n fundingSourceSnapshotSummaries() {\n if (!this.projectBudget || !this.projectBudget.projectBudgetYears || !this.fundingSources\n || !this.projectSnapshotDraft || !this.projectSnapshotDraft.projectBudgetYearSnapshots) {\n return [];\n }\n\n // compile funding sources from Line Items\n let fundingSourceMap = this.projectSnapshotDraft.projectBudgetYearSnapshots\n .flatMap((pby) => pby.projectBudgetLineItemSnapshots.map((li) => ({ ...li, pby }))).reduce(\n (entryMap, line) => {\n const fundingSourceName = this.getFundingSource(line);\n let newEntry;\n if (entryMap.has(fundingSourceName)) {\n newEntry = {\n id: line.fundingSourceId,\n name: fundingSourceName,\n contingencyCost: ((entryMap.get(fundingSourceName).contingencyCost * 100) + (this.getCostSharedContingencyOfLineItem(line.pby, line) * 100)) / Math.pow(10, 2),\n baseCost: ((entryMap.get(fundingSourceName).baseCost * 100) + (this.getCostShareOfLineItem(line) * 100)) / Math.pow(10, 2),\n adjustmentAmount: 0.0,\n };\n } else {\n newEntry = {\n id: line.fundingSourceId,\n name: fundingSourceName,\n contingencyCost: this.getCostSharedContingencyOfLineItem(line.pby, line),\n baseCost: this.getCostShareOfLineItem(line),\n adjustmentAmount: 0.0,\n };\n }\n entryMap.set(fundingSourceName, newEntry);\n return entryMap;\n },\n new Map(),\n );\n\n // compile funding sources from adjustments\n fundingSourceMap = this.projectBudget.projectBudgetYears\n .flatMap((pby) => pby.annualBudgetIncreases.map((adj) => ({ ...adj, pby }))).reduce(\n (entryMap, adj) => {\n const fundingSourceName = this.getFundingSource(adj);\n let newEntry;\n if (entryMap.has(fundingSourceName)) {\n newEntry = {\n id: adj.fundingSourceId,\n name: fundingSourceName,\n contingencyCost: entryMap.get(fundingSourceName).contingencyCost,\n baseCost: entryMap.get(fundingSourceName).baseCost,\n adjustmentAmount: ((entryMap.get(fundingSourceName).adjustmentAmount * 100) + (adj.adjustmentToProjectBudget * 100)) / Math.pow(10, 2),\n };\n } else {\n newEntry = {\n id: adj.fundingSourceId,\n name: fundingSourceName,\n contingencyCost: 0.0,\n baseCost: 0.0,\n adjustmentAmount: adj.adjustmentToProjectBudget,\n };\n }\n entryMap.set(fundingSourceName, newEntry);\n return entryMap;\n },\n fundingSourceMap,\n );\n\n // compile funding sources from decreases\n fundingSourceMap = this.projectBudget.projectBudgetDecreases.reduce(\n (entryMap, dec) => {\n const fundingSourceName = this.getFundingSource(dec);\n let newEntry;\n if (entryMap.has(fundingSourceName)) {\n newEntry = {\n id: dec.fundingSourceId,\n name: fundingSourceName,\n contingencyCost: entryMap.get(fundingSourceName).contingencyCost,\n baseCost: entryMap.get(fundingSourceName).baseCost,\n adjustmentAmount: ((entryMap.get(fundingSourceName).adjustmentAmount * 100) - (dec.decreaseAmount * 100)) / Math.pow(10, 2),\n };\n } else {\n newEntry = {\n id: dec.fundingSourceId,\n name: fundingSourceName,\n contingencyCost: 0.0,\n baseCost: 0.0,\n adjustmentAmount: dec.decreaseAmount,\n };\n }\n entryMap.set(fundingSourceName, newEntry);\n return entryMap;\n },\n fundingSourceMap,\n );\n\n // combine the above funding sources with the Incentives funding\n const fundingSourceSnapshotSummaries = Array.from(\n fundingSourceMap.values(),\n ).concat(\n this.fundingSourcesForIncentives,\n ).sort(\n (a, b) => a.name - b.name,\n );\n\n const allFundingSourceSummaries = [];\n fundingSourceSnapshotSummaries.forEach((e) => {\n if (allFundingSourceSummaries.filter((f) => f.id === e.id).length === 0) {\n allFundingSourceSummaries.push(e);\n } else {\n const total = e.baseCost + allFundingSourceSummaries.filter((f) => f.id === e.id)[0].baseCost;\n allFundingSourceSummaries.filter((f) => f.id === e.id)[0].baseCost = total;\n }\n });\n\n return allFundingSourceSummaries;\n },\n fundingSourceSummaries() {\n if (!this.projectBudget || !this.projectBudget.projectBudgetYears) {\n return [];\n }\n\n // compile funding sources from Line Items\n let fundingSourceMap = this.projectBudget.projectBudgetYears\n .flatMap((pby) => pby.projectBudgetLineItems.map((li) => ({ ...li, pby }))).reduce(\n (entryMap, line) => {\n const fundingSourceName = this.getFundingSource(line);\n let newEntry;\n if (entryMap.has(fundingSourceName)) {\n newEntry = {\n id: line.fundingSourceId,\n name: fundingSourceName,\n contingencyCost: ((entryMap.get(fundingSourceName).contingencyCost * 100) + (this.getCostSharedContingencyOfLineItem(line.pby, line) * 100)) / Math.pow(10, 2),\n baseCost: ((entryMap.get(fundingSourceName).baseCost * 100) + (this.getCostShareOfLineItem(line) * 100)) / Math.pow(10, 2),\n adjustmentAmount: 0.0,\n };\n } else {\n newEntry = {\n id: line.fundingSourceId,\n name: fundingSourceName,\n contingencyCost: this.getCostSharedContingencyOfLineItem(line.pby, line),\n baseCost: this.getCostShareOfLineItem(line),\n adjustmentAmount: 0.0,\n };\n }\n entryMap.set(fundingSourceName, newEntry);\n return entryMap;\n },\n new Map(),\n );\n\n // compile funding sources from adjustments\n fundingSourceMap = this.projectBudget.projectBudgetYears\n .flatMap((pby) => pby.annualBudgetIncreases.map((adj) => ({ ...adj, pby }))).reduce(\n (entryMap, adj) => {\n const fundingSourceName = this.getFundingSource(adj);\n let newEntry;\n if (entryMap.has(fundingSourceName)) {\n newEntry = {\n id: adj.fundingSourceId,\n name: fundingSourceName,\n contingencyCost: entryMap.get(fundingSourceName).contingencyCost,\n baseCost: entryMap.get(fundingSourceName).baseCost,\n adjustmentAmount: ((entryMap.get(fundingSourceName).adjustmentAmount * 100) + (adj.adjustmentToProjectBudget * 100)) / Math.pow(10, 2),\n };\n } else {\n newEntry = {\n id: adj.fundingSourceId,\n name: fundingSourceName,\n contingencyCost: 0.0,\n baseCost: 0.0,\n adjustmentAmount: adj.adjustmentToProjectBudget,\n };\n }\n entryMap.set(fundingSourceName, newEntry);\n return entryMap;\n },\n fundingSourceMap,\n );\n\n // compile funding sources from decreases\n fundingSourceMap = this.projectBudget.projectBudgetDecreases.reduce(\n (entryMap, dec) => {\n const fundingSourceName = this.getFundingSource(dec);\n let newEntry;\n if (entryMap.has(fundingSourceName)) {\n newEntry = {\n id: dec.fundingSourceId,\n name: fundingSourceName,\n contingencyCost: entryMap.get(fundingSourceName).contingencyCost,\n baseCost: entryMap.get(fundingSourceName).baseCost,\n adjustmentAmount: ((entryMap.get(fundingSourceName).adjustmentAmount * 100) - (dec.decreaseAmount * 100)) / Math.pow(10, 2),\n };\n } else {\n newEntry = {\n id: dec.fundingSourceId,\n name: fundingSourceName,\n contingencyCost: 0.0,\n baseCost: 0.0,\n adjustmentAmount: dec.decreaseAmount,\n };\n }\n entryMap.set(fundingSourceName, newEntry);\n return entryMap;\n },\n fundingSourceMap,\n );\n\n // combine the above funding sources with the Incentives funding\n const fundingSourceSummaries = Array.from(\n fundingSourceMap.values(),\n ).concat(\n this.fundingSourcesForIncentives,\n ).sort(\n (a, b) => a.name - b.name,\n );\n\n const allFundingSourceSummaries = [];\n fundingSourceSummaries.forEach((e) => {\n if (allFundingSourceSummaries.filter((f) => f.id === e.id).length === 0) {\n allFundingSourceSummaries.push(e);\n } else {\n const total = e.baseCost + allFundingSourceSummaries.filter((f) => f.id === e.id)[0].baseCost;\n allFundingSourceSummaries.filter((f) => f.id === e.id)[0].baseCost = total;\n }\n });\n\n return allFundingSourceSummaries;\n },\n fundingSourcesForIncentives() {\n if (!this.projectIncentivePayments) {\n return [];\n }\n\n const newMap = this.projectIncentivePayments.reduce(\n (entryMap, payment) => {\n const fundingSourceName = this.getFundingSource(payment);\n let newEntry;\n if (entryMap.has(fundingSourceName)) {\n newEntry = {\n id: payment.fundingSourceId,\n name: fundingSourceName,\n baseCost: payment.amountPaid + entryMap.get(fundingSourceName).baseCost,\n contingencyCost: 0,\n };\n } else {\n newEntry = {\n id: payment.fundingSourceId,\n name: fundingSourceName,\n baseCost: payment.amountPaid,\n contingencyCost: 0,\n };\n }\n entryMap.set(fundingSourceName, newEntry);\n return entryMap;\n },\n new Map(),\n );\n\n const fundingSourcesForIncentives = Array.from(newMap.values());\n\n return fundingSourcesForIncentives;\n },\n },\n methods: {\n async loadProjectTotalsSummaryData() {\n await this.$store.dispatch('Project/getProjectDraftSnapshot', this.project.id);\n },\n getFundingSource(item) {\n const fundingSource = this.fundingSources.find((fs) => fs.recorD_ID === item.fundingSourceId);\n if (fundingSource) {\n return fundingSource.recorD_NAME;\n }\n return '';\n },\n getYearSubtotal(budgetYear) {\n const yearSubtotal = (!budgetYear.projectBudgetLineItems || budgetYear.projectBudgetLineItems.length === 0)\n ? 0.0\n : budgetYear.projectBudgetLineItems.map((li) => (this.getTotalCost(li))).reduce(\n (accumulator, value) => accumulator + value,\n );\n\n const incentivePaymentsInBudgetYear = this.projectIncentivePayments.filter((incentive) => this.getFiscalYear(incentive.dateDue) === budgetYear.year);\n const incentiveTotal = (!incentivePaymentsInBudgetYear || incentivePaymentsInBudgetYear.length === 0)\n ? 0.0\n : incentivePaymentsInBudgetYear.map((incentive) => incentive.amountPaid).reduce((a, b) => a + b);\n\n return yearSubtotal + incentiveTotal;\n },\n getYearCostShareSubtotal(budgetYear) {\n if (!budgetYear.projectBudgetLineItems || budgetYear.projectBudgetLineItems.length === 0) {\n return 0.0;\n }\n\n const yearCostShareSubtotal = budgetYear.projectBudgetLineItems.map(\n (li) => this.getTotalCost(li) * (1 - (li.costShare * 0.01)),\n ).reduce(\n (accumulator, value) => accumulator + value,\n );\n\n return yearCostShareSubtotal;\n },\n getContingencyAmount(budgetYear) {\n if (!budgetYear.projectBudgetLineItems || budgetYear.projectBudgetLineItems.length === 0) {\n return 0.0;\n }\n\n const contingencyAmount = budgetYear.projectBudgetLineItems.map(\n (li) => (this.getTotalContingencyCost(li)),\n ).reduce(\n (accumulator, value) => accumulator + value,\n );\n\n return contingencyAmount;\n },\n getAnnualIncreaseAmount(budgetYear) {\n let totalIncrease = 0.0;\n budgetYear.annualBudgetIncreases.forEach((inc) => {\n totalIncrease += inc.adjustmentToAnnualBudget;\n });\n\n return totalIncrease;\n },\n getYearTotalAmount(budgetYear) {\n const yearSubtotal = (this.getYearSubtotal(budgetYear) * 100);\n const contingencyAmount = (this.getContingencyAmount(budgetYear) * 100);\n\n const yearTotalAmount = (yearSubtotal + contingencyAmount) / Math.pow(10, 2);\n\n return yearTotalAmount;\n },\n getYearTotalDistrictPartnerAmount(budgetYear) {\n const yearSubtotal = (this.getYearSubtotal(budgetYear) * 100);\n const contingencyAmount = (this.getContingencyAmount(budgetYear) * 100);\n const yearTotalAmount = (yearSubtotal + contingencyAmount) / Math.pow(10, 2);\n\n const yearCostShareSubtotal = (this.getYearCostShareSubtotal(budgetYear));\n const totalCostShareContingencyAmount = (this.getTotalCostShareContingencyAmount(budgetYear));\n const yearCostShareAmount = yearCostShareSubtotal + totalCostShareContingencyAmount;\n\n const yearDistrictPartnerTotalAmount = yearTotalAmount - yearCostShareAmount;\n\n return yearDistrictPartnerTotalAmount;\n },\n getCostShareOfLineItem(lineItem) {\n return this.getTotalCost(lineItem) * (lineItem.costShare * 0.01);\n },\n getCostSharedContingencyOfLineItem(year, lineItem) {\n return this.getCostShareOfLineItem(lineItem) * (lineItem.contingencyPercent * 0.01);\n },\n getFundingSourceSnapshotTotal(fundingSource) {\n const baseCost = fundingSource.baseCost;\n const contingencyCost = fundingSource.contingencyCost;\n const adjustmentAmount = fundingSource.adjustmentAmount;\n\n const baseAndContingency = ((baseCost * 100) + (contingencyCost * 100)) / Math.pow(10, 2);\n\n if (Number.isNaN(adjustmentAmount) || !adjustmentAmount) {\n return baseAndContingency;\n }\n\n const fundingSourceTotal = ((baseAndContingency * 100) + (adjustmentAmount * 100)) / Math.pow(10, 2);\n\n return fundingSourceTotal;\n },\n getFundingSourceTotal(fundingSource) {\n const baseCost = fundingSource.baseCost;\n const contingencyCost = fundingSource.contingencyCost;\n const adjustmentAmount = fundingSource.adjustmentAmount;\n\n const baseAndContingency = ((baseCost * 100) + (contingencyCost * 100)) / Math.pow(10, 2);\n\n if (Number.isNaN(adjustmentAmount) || !adjustmentAmount) {\n return baseAndContingency;\n }\n\n const fundingSourceTotal = ((baseAndContingency * 100) + (adjustmentAmount * 100)) / Math.pow(10, 2);\n\n return fundingSourceTotal;\n },\n getFundingSourceSnapshotPercentOfTotal(fundingSource) {\n let fundingSourceSnapshotTotal = this.getFundingSourceSnapshotTotal(fundingSource);\n fundingSourceSnapshotTotal *= 100;\n\n let budgetTotalSnapshotAmount = this.budgetTotalSnapshotAmount;\n budgetTotalSnapshotAmount *= 100;\n\n let fundingSourcePercentOfTotal = (fundingSourceSnapshotTotal / budgetTotalSnapshotAmount);\n fundingSourcePercentOfTotal *= 100;\n\n return fundingSourcePercentOfTotal;\n },\n getFundingSourcePercentOfTotal(fundingSource) {\n let fundingSourceTotal = this.getFundingSourceTotal(fundingSource);\n fundingSourceTotal *= 100;\n\n let budgetTotalAmount = this.budgetTotalAmount;\n budgetTotalAmount *= 100;\n\n let fundingSourcePercentOfTotal = (fundingSourceTotal / budgetTotalAmount);\n fundingSourcePercentOfTotal *= 100;\n\n return fundingSourcePercentOfTotal;\n },\n getTotalCost(item) {\n const totalCost = (item.quantity * item.unitCost);\n return totalCost;\n },\n getCostShareAmt(item) {\n const totalCost = this.getTotalCost(item);\n const costShare = item.costShare;\n\n const costShareAmt = (totalCost * costShare) / 100;\n\n return costShareAmt;\n },\n getTotalContingencyCost(item) {\n const totalContingencyCost = item.unitCost * item.quantity * (item.contingencyPercent / 100);\n return totalContingencyCost;\n },\n getTotalCostShareContingencyPercent(budgetYear) {\n if (!budgetYear.projectBudgetLineItems || budgetYear.projectBudgetLineItems.length === 0) {\n return 0.0;\n }\n\n const totalCostShareContingencyAmount = budgetYear.projectBudgetLineItems.map(\n (li) => this.getTotalCost(li) * (1 - (li.costShare * 0.01)) * (li.contingencyPercent * 0.01),\n ).reduce(\n (accumulator, value) => accumulator + value,\n );\n\n const totalCostShareAmount = budgetYear.projectBudgetLineItems.map(\n (li) => this.getTotalCost(li) * (1 - (li.costShare * 0.01)),\n ).reduce(\n (accumulator, value) => accumulator + value,\n );\n\n const totalCostShareContingencyPercent = totalCostShareContingencyAmount / totalCostShareAmount;\n\n return totalCostShareContingencyPercent;\n },\n getTotalCostShareContingencyAmount(budgetYear) {\n if (!budgetYear.projectBudgetLineItems || budgetYear.projectBudgetLineItems.length === 0) {\n return 0.0;\n }\n\n const totalCostShareContingencyAmount = budgetYear.projectBudgetLineItems.map(\n (li) => this.getTotalCost(li) * (1 - (li.costShare * 0.01)) * (li.contingencyPercent * 0.01),\n ).reduce(\n (accumulator, value) => accumulator + value,\n );\n\n return totalCostShareContingencyAmount;\n },\n getAnnualBudgetItems(budgetYear) {\n let items = [];\n const costShareSubtotal = this.getYearCostShareSubtotal(budgetYear);\n const costShareContingencyAmount = this.getTotalCostShareContingencyAmount(budgetYear);\n\n items = items.concat([\n {\n Costs: 'Cost Share', Base_Cost: costShareSubtotal, Contingency: costShareContingencyAmount, Total: (costShareSubtotal + costShareContingencyAmount),\n },\n ]);\n\n const fundingSummary = this.getBudgetYearFundingSummary(budgetYear);\n\n fundingSummary.forEach((fundingSource) => {\n items = items.concat([\n {\n Costs: fundingSource.name, Base_Cost: fundingSource.baseCost, Contingency: fundingSource.contingencyCost, Total: (fundingSource.baseCost + fundingSource.contingencyCost),\n },\n ]);\n });\n\n this.projectIncentivePayments.filter((incentive) => this.getFiscalYear(incentive.dateDue) === budgetYear.year).forEach((incentive) => {\n const fundingSource = this.fundingSources.filter((x) => x.recorD_ID === incentive.fundingSourceId)[0];\n\n if (items.filter((item) => item.Costs === fundingSource.recorD_NAME).length > 0) {\n items.filter((item) => item.Costs === fundingSource.recorD_NAME)[0].Base_Cost += incentive.amountPaid;\n items.filter((item) => item.Costs === fundingSource.recorD_NAME)[0].Total += incentive.amountPaid;\n } else {\n items = items.concat([\n {\n Costs: fundingSource.recorD_NAME, Base_Cost: incentive.amountPaid, Contingency: 0, Total: incentive.amountPaid,\n },\n ]);\n }\n });\n\n const yearSubtotal = this.getYearSubtotal(budgetYear);\n const yearContingency = this.getContingencyAmount(budgetYear);\n const yearTotal = this.getYearTotalAmount(budgetYear);\n\n items = items.concat([\n {\n Costs: 'Annual Cost', Base_Cost: yearSubtotal, Contingency: yearContingency, Total: yearTotal,\n },\n ]);\n\n return items;\n },\n getBudgetYearFundingSummary(budgetYear) {\n if (!budgetYear.projectBudgetLineItems || budgetYear.projectBudgetLineItems.length === 0) {\n return [];\n }\n\n // compile funding sources from Line Items\n const fundingSourceMap = this.projectBudget.projectBudgetYears.filter((yr) => yr.year === budgetYear.year)\n .flatMap((pby) => pby.projectBudgetLineItems.map((li) => ({ ...li, pby }))).reduce(\n (entryMap, line) => {\n const fundingSourceName = this.getFundingSource(line);\n let newEntry;\n if (entryMap.has(fundingSourceName)) {\n newEntry = {\n id: line.fundingSourceId,\n name: fundingSourceName,\n contingencyCost: ((entryMap.get(fundingSourceName).contingencyCost * 100) + (this.getCostSharedContingencyOfLineItem(line.pby, line) * 100)) / Math.pow(10, 2),\n baseCost: ((entryMap.get(fundingSourceName).baseCost * 100) + (this.getCostShareOfLineItem(line) * 100)) / Math.pow(10, 2),\n adjustmentAmount: 0.0,\n };\n } else {\n newEntry = {\n id: line.fundingSourceId,\n name: fundingSourceName,\n contingencyCost: this.getCostSharedContingencyOfLineItem(line.pby, line),\n baseCost: this.getCostShareOfLineItem(line),\n adjustmentAmount: 0.0,\n };\n }\n entryMap.set(fundingSourceName, newEntry);\n return entryMap;\n },\n new Map(),\n );\n\n const fundingSourceSnapshotSummaries = Array.from(\n fundingSourceMap.values(),\n ).sort(\n (a, b) => a.name - b.name,\n );\n\n return fundingSourceSnapshotSummaries;\n },\n },\n};\n","export default {\n data() {\n return {\n stateChanged: false,\n };\n },\n mounted() {\n this.stateChanged = false;\n },\n beforeRouteUpdate(to, from, next) {\n this.handleEditState(to, from, next);\n },\n beforeRouteLeave(to, from, next) {\n this.handleEditState(to, from, next);\n },\n methods: {\n modelUpdated() {\n this.stateChanged = true;\n },\n modelSaved() {\n this.stateChanged = false;\n },\n handleEditState(to, from, next) {\n if (this.stateChanged) {\n this.$bvModal.msgBoxConfirm(\n 'There are unsaved changes on this page. Are you sure you want to leave?', {\n cancelVariant: 'danger',\n },\n ).then((response) => {\n if (response) {\n next();\n } else {\n next(false);\n }\n }).catch(() => {\n next(false);\n });\n } else {\n next();\n }\n },\n },\n};\n","import * as msal from '@azure/msal-browser';\n\nexport const MsalPlugin = {\n\n install(Vue, store) {\n if (!store.state.config) {\n throw new Error('MsalPluginOptions must be specified');\n }\n const msalInstance = new msal.PublicClientApplication(store.state.config);\n MsalPlugin.msalVueObj = {\n isAuthenticated: false,\n\n async signIn(router) {\n try {\n const loginRequest = {\n scopes: ['User.Read'],\n };\n const loginResponse = await msalInstance.loginPopup(loginRequest);\n MsalPlugin.msalVueObj.isAuthenticated = !!loginResponse.account;\n if (loginResponse.account) {\n console.log('an account for the user was found');\n store.dispatch('User/setUser', loginResponse.account)\n .then(() => store.dispatch('User/fetchInsightlyUser', loginResponse.account.username));\n const returnTo = store.getters['ReturnTo/getReturnTo'];\n if (returnTo) {\n console.log('redirecting to original destination');\n store.dispatch('ReturnTo/setReturnTo', null).then(() => {\n router.push({ name: returnTo.name, params: returnTo.params });\n });\n } else {\n console.log('redirecting to dashboard');\n router.push({ name: 'Dashboard' });\n }\n } else {\n router.push({ name: 'SignIn' });\n }\n } catch (err) {\n // handle error\n if (err.errorMessage && err.errorMessage.indexOf('AADB2C90118') > -1) {\n try {\n const passwordResetResponse = await msalInstance.loginPopup({\n scopes: ['User.Read'],\n });\n MsalPlugin.msalVueObj.isAuthenticated = !!passwordResetResponse.account;\n if (passwordResetResponse.account) {\n store.dispatch('User/setUser', passwordResetResponse.account)\n .then(() => store.dispatch('User/fetchInsightlyUser', passwordResetResponse.account.username));\n }\n } catch (passwordResetError) {\n console.error(passwordResetError);\n }\n } else {\n console.log('error occurred, will go to Not Authorized page');\n console.error(err);\n MsalPlugin.msalVueObj.isAuthenticated = false;\n if (router.currentRoute.name !== 'NotAuthorized') {\n router.push({ name: 'NotAuthorized' });\n }\n }\n }\n },\n\n async signOut(router) {\n await msalInstance.logout();\n MsalPlugin.msalVueObj.isAuthenticated = false;\n store.dispatch('User/setUser', null).then(() => {\n store.dispatch('ReturnTo/setReturnTo', null).then(() => {\n router.push({ name: 'SignIn' });\n });\n });\n },\n\n async acquireToken() {\n const request = {\n account: store.state.User.user,\n scopes: ['User.Read'],\n };\n try {\n const response = await msalInstance.acquireTokenSilent(request);\n return response.idToken;\n } catch (error) {\n console.log('Error occurred when acquiring Token');\n console.error(error);\n if (error instanceof msal.InteractionRequiredAuthError) {\n return msalInstance.acquireTokenPopup(request).catch((popupError) => {\n console.log('Error occurred when launching login popup');\n console.error(popupError);\n });\n }\n return false;\n }\n },\n\n getIsAuthenticated() {\n const accounts = msalInstance.getAllAccounts();\n return accounts && accounts.length > 0;\n },\n };\n /* eslint-disable-next-line no-param-reassign */\n Vue.prototype.$msal = Vue.observable(MsalPlugin.msalVueObj);\n },\n};\n\nexport function getMsalObject() {\n return MsalPlugin.msalVueObj;\n}\n","import { Extension, Plugin } from 'tiptap';\n\nexport default class MaxSize extends Extension {\n static name() {\n return 'maxSize';\n }\n\n static defaultOptions() {\n return {\n maxSize: null,\n };\n }\n\n get plugins() {\n return [\n new Plugin({\n filterTransaction: (transaction) => {\n if (!transaction.docChanged || !this.options.maxSize) {\n return true;\n }\n const size = transaction.doc && transaction.doc.textContent.length;\n const maxSizeReached = size > this.options.maxSize;\n return !maxSizeReached;\n },\n }),\n ];\n }\n}\n","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectOutcomes.vue?vue&type=style&index=0&id=1540bc0e&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectOutcomes.vue?vue&type=style&index=0&id=1540bc0e&scoped=true&lang=css&\"","export default {\n methods: {\n getFiscalYear(date) {\n let localDate = null;\n if ((typeof date).toLowerCase() !== 'date') {\n localDate = new Date(date);\n } else {\n localDate = date;\n }\n const fiscalYear = localDate.getFullYear();\n if (localDate.getMonth() >= 6) {\n return fiscalYear + 1;\n }\n return fiscalYear;\n },\n },\n};\n","var map = {\n\t\"./af\": \"2bfb\",\n\t\"./af.js\": \"2bfb\",\n\t\"./ar\": \"8e73\",\n\t\"./ar-dz\": \"a356\",\n\t\"./ar-dz.js\": \"a356\",\n\t\"./ar-kw\": \"423e\",\n\t\"./ar-kw.js\": \"423e\",\n\t\"./ar-ly\": \"1cfd\",\n\t\"./ar-ly.js\": \"1cfd\",\n\t\"./ar-ma\": \"0a84\",\n\t\"./ar-ma.js\": \"0a84\",\n\t\"./ar-sa\": \"8230\",\n\t\"./ar-sa.js\": \"8230\",\n\t\"./ar-tn\": \"6d83\",\n\t\"./ar-tn.js\": \"6d83\",\n\t\"./ar.js\": \"8e73\",\n\t\"./az\": \"485c\",\n\t\"./az.js\": \"485c\",\n\t\"./be\": \"1fc1\",\n\t\"./be.js\": \"1fc1\",\n\t\"./bg\": \"84aa\",\n\t\"./bg.js\": \"84aa\",\n\t\"./bm\": \"a7fa\",\n\t\"./bm.js\": \"a7fa\",\n\t\"./bn\": \"9043\",\n\t\"./bn.js\": \"9043\",\n\t\"./bo\": \"d26a\",\n\t\"./bo.js\": \"d26a\",\n\t\"./br\": \"6887\",\n\t\"./br.js\": \"6887\",\n\t\"./bs\": \"2554\",\n\t\"./bs.js\": \"2554\",\n\t\"./ca\": \"d716\",\n\t\"./ca.js\": \"d716\",\n\t\"./cs\": \"3c0d\",\n\t\"./cs.js\": \"3c0d\",\n\t\"./cv\": \"03ec\",\n\t\"./cv.js\": \"03ec\",\n\t\"./cy\": \"9797\",\n\t\"./cy.js\": \"9797\",\n\t\"./da\": \"0f14\",\n\t\"./da.js\": \"0f14\",\n\t\"./de\": \"b469\",\n\t\"./de-at\": \"b3eb\",\n\t\"./de-at.js\": \"b3eb\",\n\t\"./de-ch\": \"bb71\",\n\t\"./de-ch.js\": \"bb71\",\n\t\"./de.js\": \"b469\",\n\t\"./dv\": \"598a\",\n\t\"./dv.js\": \"598a\",\n\t\"./el\": \"8d47\",\n\t\"./el.js\": \"8d47\",\n\t\"./en-au\": \"0e6b\",\n\t\"./en-au.js\": \"0e6b\",\n\t\"./en-ca\": \"3886\",\n\t\"./en-ca.js\": \"3886\",\n\t\"./en-gb\": \"39a6\",\n\t\"./en-gb.js\": \"39a6\",\n\t\"./en-ie\": \"e1d3\",\n\t\"./en-ie.js\": \"e1d3\",\n\t\"./en-il\": \"7333\",\n\t\"./en-il.js\": \"7333\",\n\t\"./en-in\": \"ec2e\",\n\t\"./en-in.js\": \"ec2e\",\n\t\"./en-nz\": \"6f50\",\n\t\"./en-nz.js\": \"6f50\",\n\t\"./en-sg\": \"b7e9\",\n\t\"./en-sg.js\": \"b7e9\",\n\t\"./eo\": \"65db\",\n\t\"./eo.js\": \"65db\",\n\t\"./es\": \"898b\",\n\t\"./es-do\": \"0a3c\",\n\t\"./es-do.js\": \"0a3c\",\n\t\"./es-us\": \"55c9\",\n\t\"./es-us.js\": \"55c9\",\n\t\"./es.js\": \"898b\",\n\t\"./et\": \"ec18\",\n\t\"./et.js\": \"ec18\",\n\t\"./eu\": \"0ff2\",\n\t\"./eu.js\": \"0ff2\",\n\t\"./fa\": \"8df4\",\n\t\"./fa.js\": \"8df4\",\n\t\"./fi\": \"81e9\",\n\t\"./fi.js\": \"81e9\",\n\t\"./fil\": \"d69a\",\n\t\"./fil.js\": \"d69a\",\n\t\"./fo\": \"0721\",\n\t\"./fo.js\": \"0721\",\n\t\"./fr\": \"9f26\",\n\t\"./fr-ca\": \"d9f8\",\n\t\"./fr-ca.js\": \"d9f8\",\n\t\"./fr-ch\": \"0e49\",\n\t\"./fr-ch.js\": \"0e49\",\n\t\"./fr.js\": \"9f26\",\n\t\"./fy\": \"7118\",\n\t\"./fy.js\": \"7118\",\n\t\"./ga\": \"5120\",\n\t\"./ga.js\": \"5120\",\n\t\"./gd\": \"f6b4\",\n\t\"./gd.js\": \"f6b4\",\n\t\"./gl\": \"8840\",\n\t\"./gl.js\": \"8840\",\n\t\"./gom-deva\": \"aaf2\",\n\t\"./gom-deva.js\": \"aaf2\",\n\t\"./gom-latn\": \"0caa\",\n\t\"./gom-latn.js\": \"0caa\",\n\t\"./gu\": \"e0c5\",\n\t\"./gu.js\": \"e0c5\",\n\t\"./he\": \"c7aa\",\n\t\"./he.js\": \"c7aa\",\n\t\"./hi\": \"dc4d\",\n\t\"./hi.js\": \"dc4d\",\n\t\"./hr\": \"4ba9\",\n\t\"./hr.js\": \"4ba9\",\n\t\"./hu\": \"5b14\",\n\t\"./hu.js\": \"5b14\",\n\t\"./hy-am\": \"d6b6\",\n\t\"./hy-am.js\": \"d6b6\",\n\t\"./id\": \"5038\",\n\t\"./id.js\": \"5038\",\n\t\"./is\": \"0558\",\n\t\"./is.js\": \"0558\",\n\t\"./it\": \"6e98\",\n\t\"./it-ch\": \"6f12\",\n\t\"./it-ch.js\": \"6f12\",\n\t\"./it.js\": \"6e98\",\n\t\"./ja\": \"079e\",\n\t\"./ja.js\": \"079e\",\n\t\"./jv\": \"b540\",\n\t\"./jv.js\": \"b540\",\n\t\"./ka\": \"201b\",\n\t\"./ka.js\": \"201b\",\n\t\"./kk\": \"6d79\",\n\t\"./kk.js\": \"6d79\",\n\t\"./km\": \"e81d\",\n\t\"./km.js\": \"e81d\",\n\t\"./kn\": \"3e92\",\n\t\"./kn.js\": \"3e92\",\n\t\"./ko\": \"22f8\",\n\t\"./ko.js\": \"22f8\",\n\t\"./ku\": \"2421\",\n\t\"./ku.js\": \"2421\",\n\t\"./ky\": \"9609\",\n\t\"./ky.js\": \"9609\",\n\t\"./lb\": \"440c\",\n\t\"./lb.js\": \"440c\",\n\t\"./lo\": \"b29d\",\n\t\"./lo.js\": \"b29d\",\n\t\"./lt\": \"26f9\",\n\t\"./lt.js\": \"26f9\",\n\t\"./lv\": \"b97c\",\n\t\"./lv.js\": \"b97c\",\n\t\"./me\": \"293c\",\n\t\"./me.js\": \"293c\",\n\t\"./mi\": \"688b\",\n\t\"./mi.js\": \"688b\",\n\t\"./mk\": \"6909\",\n\t\"./mk.js\": \"6909\",\n\t\"./ml\": \"02fb\",\n\t\"./ml.js\": \"02fb\",\n\t\"./mn\": \"958b\",\n\t\"./mn.js\": \"958b\",\n\t\"./mr\": \"39bd\",\n\t\"./mr.js\": \"39bd\",\n\t\"./ms\": \"ebe4\",\n\t\"./ms-my\": \"6403\",\n\t\"./ms-my.js\": \"6403\",\n\t\"./ms.js\": \"ebe4\",\n\t\"./mt\": \"1b45\",\n\t\"./mt.js\": \"1b45\",\n\t\"./my\": \"8689\",\n\t\"./my.js\": \"8689\",\n\t\"./nb\": \"6ce3\",\n\t\"./nb.js\": \"6ce3\",\n\t\"./ne\": \"3a39\",\n\t\"./ne.js\": \"3a39\",\n\t\"./nl\": \"facd\",\n\t\"./nl-be\": \"db29\",\n\t\"./nl-be.js\": \"db29\",\n\t\"./nl.js\": \"facd\",\n\t\"./nn\": \"b84c\",\n\t\"./nn.js\": \"b84c\",\n\t\"./oc-lnc\": \"167b\",\n\t\"./oc-lnc.js\": \"167b\",\n\t\"./pa-in\": \"f3ff\",\n\t\"./pa-in.js\": \"f3ff\",\n\t\"./pl\": \"8d57\",\n\t\"./pl.js\": \"8d57\",\n\t\"./pt\": \"f260\",\n\t\"./pt-br\": \"d2d4\",\n\t\"./pt-br.js\": \"d2d4\",\n\t\"./pt.js\": \"f260\",\n\t\"./ro\": \"972c\",\n\t\"./ro.js\": \"972c\",\n\t\"./ru\": \"957c\",\n\t\"./ru.js\": \"957c\",\n\t\"./sd\": \"6784\",\n\t\"./sd.js\": \"6784\",\n\t\"./se\": \"ffff\",\n\t\"./se.js\": \"ffff\",\n\t\"./si\": \"eda5\",\n\t\"./si.js\": \"eda5\",\n\t\"./sk\": \"7be6\",\n\t\"./sk.js\": \"7be6\",\n\t\"./sl\": \"8155\",\n\t\"./sl.js\": \"8155\",\n\t\"./sq\": \"c8f3\",\n\t\"./sq.js\": \"c8f3\",\n\t\"./sr\": \"cf1e\",\n\t\"./sr-cyrl\": \"13e9\",\n\t\"./sr-cyrl.js\": \"13e9\",\n\t\"./sr.js\": \"cf1e\",\n\t\"./ss\": \"52bd\",\n\t\"./ss.js\": \"52bd\",\n\t\"./sv\": \"5fbd\",\n\t\"./sv.js\": \"5fbd\",\n\t\"./sw\": \"74dc\",\n\t\"./sw.js\": \"74dc\",\n\t\"./ta\": \"3de5\",\n\t\"./ta.js\": \"3de5\",\n\t\"./te\": \"5cbb\",\n\t\"./te.js\": \"5cbb\",\n\t\"./tet\": \"576c\",\n\t\"./tet.js\": \"576c\",\n\t\"./tg\": \"3b1b\",\n\t\"./tg.js\": \"3b1b\",\n\t\"./th\": \"10e8\",\n\t\"./th.js\": \"10e8\",\n\t\"./tk\": \"5aff\",\n\t\"./tk.js\": \"5aff\",\n\t\"./tl-ph\": \"0f38\",\n\t\"./tl-ph.js\": \"0f38\",\n\t\"./tlh\": \"cf75\",\n\t\"./tlh.js\": \"cf75\",\n\t\"./tr\": \"0e81\",\n\t\"./tr.js\": \"0e81\",\n\t\"./tzl\": \"cf51\",\n\t\"./tzl.js\": \"cf51\",\n\t\"./tzm\": \"c109\",\n\t\"./tzm-latn\": \"b53d\",\n\t\"./tzm-latn.js\": \"b53d\",\n\t\"./tzm.js\": \"c109\",\n\t\"./ug-cn\": \"6117\",\n\t\"./ug-cn.js\": \"6117\",\n\t\"./uk\": \"ada2\",\n\t\"./uk.js\": \"ada2\",\n\t\"./ur\": \"5294\",\n\t\"./ur.js\": \"5294\",\n\t\"./uz\": \"2e8c\",\n\t\"./uz-latn\": \"010e\",\n\t\"./uz-latn.js\": \"010e\",\n\t\"./uz.js\": \"2e8c\",\n\t\"./vi\": \"2921\",\n\t\"./vi.js\": \"2921\",\n\t\"./x-pseudo\": \"fd7e\",\n\t\"./x-pseudo.js\": \"fd7e\",\n\t\"./yo\": \"7f33\",\n\t\"./yo.js\": \"7f33\",\n\t\"./zh-cn\": \"5c3a\",\n\t\"./zh-cn.js\": \"5c3a\",\n\t\"./zh-hk\": \"49ab\",\n\t\"./zh-hk.js\": \"49ab\",\n\t\"./zh-mo\": \"3a6c\",\n\t\"./zh-mo.js\": \"3a6c\",\n\t\"./zh-tw\": \"90ea\",\n\t\"./zh-tw.js\": \"90ea\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"4678\";","export default {\n data() {\n return {\n successDismissCountDown: 0,\n warningDismissCountDown: 0,\n };\n },\n methods: {\n successCountDownChanged(dismissCountDown) {\n this.successDismissCountDown = dismissCountDown;\n },\n showSuccessAlert() {\n this.successDismissCountDown = 15;\n },\n hideSuccessAlert() {\n this.successDismissCountDown = 0;\n },\n warningCountDownChanged(dismissCountDown) {\n this.warningDismissCountDown = dismissCountDown;\n },\n showWarningAlert() {\n this.warningDismissCountDown = 15;\n },\n hideWarningAlert() {\n this.warningDismissCountDown = 0;\n },\n },\n};\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"d-flex align-items-center justify-content-center placeholder\"},[_c('label',[_vm._v(\" \"+_vm._s(_vm.message)+\" \")])]),_c('div',{staticClass:\"d-flex align-items-center justify-content-center placeholder\"},[_c('font-awesome-icon',{attrs:{\"icon\":\"spinner\",\"size\":_vm.size,\"pulse\":\"\"}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadingSpinner.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadingSpinner.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LoadingSpinner.vue?vue&type=template&id=94fc7f32&\"\nimport script from \"./LoadingSpinner.vue?vue&type=script&lang=js&\"\nexport * from \"./LoadingSpinner.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 null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vfg-field-custom-richtext.vue?vue&type=style&index=0&id=28b1366c&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vfg-field-custom-richtext.vue?vue&type=style&index=0&id=28b1366c&lang=scss&scoped=true&\"","import Vue from 'vue';\n\nexport default () => {\n Vue.filter('DefaultStringIfNull', (value) => {\n if (!value) return 'N/A';\n return value;\n });\n Vue.filter('DefaultToZero', (value) => {\n if (!value) return '0';\n return value;\n });\n Vue.filter('toPercent', (value) => {\n if (!value) return 'N/A';\n const formatter = new Intl.NumberFormat('en-US', {\n minimumFractionDigits: 0,\n maximumFractionDigits: 2,\n });\n return formatter.format(value);\n });\n Vue.filter('toCurrency', (value) => {\n if (typeof value !== 'number') {\n return value;\n }\n const formatter = new Intl.NumberFormat('en-US', {\n style: 'currency',\n currency: 'USD',\n minimumFractionDigits: 2,\n });\n return formatter.format(value);\n });\n};\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"border p-2\"},[_c('b-form-group',[_c('b-form-checkbox-group',{staticStyle:{\"column-count\":\"2\"},attrs:{\"options\":_vm.schema.values,\"stacked\":\"\"},model:{value:(_vm.value),callback:function ($$v) {_vm.value=$$v},expression:\"value\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vfg-field-custom-checklist.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vfg-field-custom-checklist.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./vfg-field-custom-checklist.vue?vue&type=template&id=4fcb0da0&\"\nimport script from \"./vfg-field-custom-checklist.vue?vue&type=script&lang=js&\"\nexport * from \"./vfg-field-custom-checklist.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 null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"border p-2\"},[_c('b-form-group',[_c('b-form-checkbox-group',{staticStyle:{\"column-count\":\"2\"},attrs:{\"text-field\":\"name\",\"value-field\":\"id\",\"options\":_vm.schema.values,\"stacked\":\"\"},model:{value:(_vm.value),callback:function ($$v) {_vm.value=$$v},expression:\"value\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vfg-field-custom-lookupchecklist.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vfg-field-custom-lookupchecklist.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./vfg-field-custom-lookupchecklist.vue?vue&type=template&id=3d8e02f0&\"\nimport script from \"./vfg-field-custom-lookupchecklist.vue?vue&type=script&lang=js&\"\nexport * from \"./vfg-field-custom-lookupchecklist.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 null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('datepicker',{class:'flex-grow-1',attrs:{\"format\":\"MM/dd/yyyy\",\"input-class\":\"form-control bg-white col-12\",\"use-utc\":false,\"disabled-dates\":_vm.schema.disabledDates,\"clear-button\":_vm.schema.clearButton,\"bootstrap-styling\":true},on:{\"selected\":_vm.setValue},model:{value:(_vm.value),callback:function ($$v) {_vm.value=$$v},expression:\"value\"}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vfg-field-custom-datepicker.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vfg-field-custom-datepicker.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./vfg-field-custom-datepicker.vue?vue&type=template&id=5ea4d0a2&\"\nimport script from \"./vfg-field-custom-datepicker.vue?vue&type=script&lang=js&\"\nexport * from \"./vfg-field-custom-datepicker.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 null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('datepicker',{attrs:{\"input-class\":\"form-control bg-white\",\"bootstrap-styling\":true,\"format\":'MMMM yyyy',\"initialView\":'month',\"minimumView\":'month',\"maximumView\":'year',\"use-utc\":false,\"typeable\":true},on:{\"selected\":_vm.setValue},model:{value:(_vm.value),callback:function ($$v) {_vm.value=$$v},expression:\"value\"}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vfg-field-custom-monthpicker.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vfg-field-custom-monthpicker.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./vfg-field-custom-monthpicker.vue?vue&type=template&id=12791fab&\"\nimport script from \"./vfg-field-custom-monthpicker.vue?vue&type=script&lang=js&\"\nexport * from \"./vfg-field-custom-monthpicker.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 null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"wrapper\"}},[_c('editor-menu-bar',{attrs:{\"id\":\"menuBar\",\"editor\":_vm.editor},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar commands = ref.commands;\nvar isActive = ref.isActive;\nvar focused = ref.focused;\nreturn [_c('div',{staticClass:\"menubar is-hidden m-0\",class:{ 'is-focused': focused }},[_c('b-button',{class:{ 'is-active': isActive.bold() },attrs:{\"id\":\"button\"},on:{\"click\":commands.bold}},[_c('font-awesome-icon',{attrs:{\"icon\":\"bold\",\"fixed-width\":\"\"}})],1),_c('button',{class:{ 'is-active': isActive.italic() },attrs:{\"id\":\"button\"},on:{\"click\":commands.italic}},[_c('font-awesome-icon',{attrs:{\"icon\":\"italic\",\"fixed-width\":\"\"}})],1),_c('button',{class:{ 'is-active': isActive.strike() },attrs:{\"id\":\"button\"},on:{\"click\":commands.strike}},[_c('font-awesome-icon',{attrs:{\"icon\":\"strikethrough\",\"fixed-width\":\"\"}})],1),_c('button',{class:{ 'is-active': isActive.underline() },attrs:{\"id\":\"button\"},on:{\"click\":commands.underline}},[_c('font-awesome-icon',{attrs:{\"icon\":\"underline\",\"fixed-width\":\"\"}})],1),_c('button',{class:{ 'is-active': isActive.bullet_list() },attrs:{\"id\":\"button\"},on:{\"click\":commands.bullet_list}},[_c('font-awesome-icon',{attrs:{\"icon\":\"list\",\"fixed-width\":\"\"}})],1),_c('button',{class:{ 'is-active': isActive.ordered_list() },attrs:{\"id\":\"button\"},on:{\"click\":commands.ordered_list}},[_c('font-awesome-icon',{attrs:{\"icon\":\"list-ol\",\"fixed-width\":\"\"}})],1)],1)]}}])}),_c('div',{attrs:{\"id\":\"textbox\"}},[_c('editor-content',{attrs:{\"id\":\"clickbox\",\"editor\":_vm.editor}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vfg-field-custom-richtext.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vfg-field-custom-richtext.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./vfg-field-custom-richtext.vue?vue&type=template&id=28b1366c&scoped=true&\"\nimport script from \"./vfg-field-custom-richtext.vue?vue&type=script&lang=js&\"\nexport * from \"./vfg-field-custom-richtext.vue?vue&type=script&lang=js&\"\nimport style0 from \"./vfg-field-custom-richtext.vue?vue&type=style&index=0&id=28b1366c&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 \"28b1366c\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',{staticClass:\"no-bullet-list\"},_vm._l((_vm.value),function(contact){return _c('li',{key:contact,staticClass:\"p-2\"},[_vm._v(\" \"+_vm._s(contact)+\" \")])}),0)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vfg-field-custom-textlist.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vfg-field-custom-textlist.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./vfg-field-custom-textlist.vue?vue&type=template&id=54451b0a&\"\nimport script from \"./vfg-field-custom-textlist.vue?vue&type=script&lang=js&\"\nexport * from \"./vfg-field-custom-textlist.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 null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('datepicker',{attrs:{\"input-class\":\"form-control bg-white\",\"bootstrap-styling\":true,\"format\":'yyyy',\"initialView\":'year',\"minimumView\":'year',\"maximumView\":'year',\"use-utc\":false},on:{\"selected\":_vm.setValue},model:{value:(_vm.value),callback:function ($$v) {_vm.value=$$v},expression:\"value\"}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vfg-field-custom-yearpicker.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vfg-field-custom-yearpicker.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./vfg-field-custom-yearpicker.vue?vue&type=template&id=b19a7ec4&\"\nimport script from \"./vfg-field-custom-yearpicker.vue?vue&type=script&lang=js&\"\nexport * from \"./vfg-field-custom-yearpicker.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 null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-select',{attrs:{\"label\":\"name\",\"options\":_vm.schema.values},on:{\"selected\":_vm.setValue},model:{value:(_vm.value),callback:function ($$v) {_vm.value=$$v},expression:\"value\"}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vfg-field-custom-select.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vfg-field-custom-select.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./vfg-field-custom-select.vue?vue&type=template&id=00f22219&\"\nimport script from \"./vfg-field-custom-select.vue?vue&type=script&lang=js&\"\nexport * from \"./vfg-field-custom-select.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 null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container-fluid\",attrs:{\"id\":\"app\"}},[_c('b-navbar',{attrs:{\"type\":\"dark\",\"variant\":\"dark\"}},[(_vm.loggedIn)?_c('b-navbar-brand',{attrs:{\"href\":\"#\"}},[_c('a',{directives:[{name:\"b-toggle\",rawName:\"v-b-toggle.sidebar\",modifiers:{\"sidebar\":true}}],attrs:{\"href\":\"#\"}},[_c('font-awesome-icon',{staticClass:\"text-white\",attrs:{\"icon\":\"bars\",\"fixed-width\":\"\"}})],1)]):_vm._e(),_c('b-nav-text',{staticClass:\"text-white\",attrs:{\"href\":\"#\"}},[_vm._v(\"Acorn\")]),_c('div',{staticClass:\"mx-auto\"},[_c('b-navbar-brand',{staticClass:\"header-profile\"},[(_vm.showCurrentSiteLink())?[(_vm.currentRoute() === 'SiteVisit')?[_vm._v(\" First Site Visit: \")]:_vm._e(),(_vm.currentRoute() === 'SiteAssessment')?[_vm._v(\" Site Assessment: \")]:_vm._e(),_c('router-link',{attrs:{\"to\":{ name: 'Site', params: { id: _vm.currentSite.Id } }}},[_vm._v(\" \"+_vm._s(_vm.currentSite.RecordName)+\" \")]),(_vm.currentRoute() === 'SiteAssessment' && _vm.siteAssessment && _vm.siteAssessment.status)?_c('span',[_vm._v(\" (\"+_vm._s(_vm.siteAssessment.status)+\") \")]):_vm._e()]:_vm._e()],2)],1),_c('b-nav-item-dropdown',{staticClass:\"header-profile\",attrs:{\"text\":\"\",\"right\":\"\"}},[_c('template',{slot:\"button-content\"},[_c('span',[(_vm.loggedIn)?_c('span',[_vm._v(\"Hello, \"+_vm._s(_vm.loggedInUserName)+\" \")]):_c('span',[_vm._v(\"Not Signed In \")]),_c('img',{attrs:{\"src\":\"/img/profile.svg\"}})])]),(_vm.loggedIn)?_c('b-dropdown-item',{attrs:{\"href\":\"#\"},on:{\"click\":_vm.signOut}},[_vm._v(\"Sign Out\")]):_vm._e(),_c('b-dropdown-item',[_vm._v(\"Version: \"+_vm._s(_vm.getVersion))])],2)],1),_vm._m(0),_c('div',{staticClass:\"row primary-row\"},[(_vm.loggedIn)?_c('b-collapse',{staticClass:\"col-2\",attrs:{\"id\":\"sidebar\",\"accordian\":\"test-accordian\"}},[_c('ul',{staticClass:\"side-panel-list\"},[_c('li',[_c('router-link',{staticClass:\"side-panel-item\",attrs:{\"to\":{ name: 'Dashboard' },\"exact\":\"\",\"active-class\":\"router-link-active\"}},[_c('img',{staticClass:\"side-panel-icon\",attrs:{\"src\":\"/img/dashboard.svg\"}}),_c('span',{staticClass:\"side-panel-label\"},[_vm._v(\" Dashboard\")])])],1),_c('li',[_c('router-link',{staticClass:\"side-panel-item\",attrs:{\"to\":{ name: 'MySites' },\"active-class\":\"router-link-active\"}},[_c('img',{staticClass:\"side-panel-icon\",attrs:{\"src\":\"/img/home.svg\"}}),_c('span',{staticClass:\"side-panel-label\"},[_vm._v(\" Downloaded Sites\")])])],1),_c('li',[_c('router-link',{staticClass:\"side-panel-item\",attrs:{\"to\":{ name: 'NewProjectsBudgetStatus' },\"active-class\":\"router-link-active\"}},[_c('img',{staticClass:\"side-panel-icon\",attrs:{\"src\":\"/img/projectBudgetStatus.svg\"}}),_c('span',{staticClass:\"side-panel-label\"},[_vm._v(\" New Project Budgets\")])])],1),(_vm.isExportBillsUser)?_c('li',[_c('router-link',{staticClass:\"side-panel-item\",attrs:{\"to\":{ name: 'ExportBills' },\"active-class\":\"router-link-active\"}},[_c('img',{staticClass:\"side-panel-icon\",attrs:{\"src\":\"/img/exportBills.svg\"}}),_c('span',{staticClass:\"side-panel-label\"},[_vm._v(\" Export Bills\")])])],1):_vm._e()])]):_vm._e(),_c('div',{staticClass:\"col primary-content\"},[_c('router-view')],1)],1)],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row primary-row\"},[_c('div',{staticClass:\"col-4 navbar-bottom-border-1\"}),_c('div',{staticClass:\"col-4 navbar-bottom-border-2\"}),_c('div',{staticClass:\"col-4 navbar-bottom-border-3\"})])}]\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=d3b9e920&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.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 null,\n null\n \n)\n\nexport default component.exports","/* eslint-disable no-console */\n\nimport { register } from 'register-service-worker';\n\nif (process.env.NODE_ENV === 'production') {\n register(`${process.env.BASE_URL}service-worker.js`, {\n ready() {\n console.log(\n 'App is being served from cache by a service worker.\\n'\n + 'For more details, visit https://goo.gl/AFskqB',\n );\n },\n registered() {\n console.log('Service worker has been registered.');\n },\n cached() {\n console.log('Content has been cached for offline use.');\n },\n updatefound() {\n console.log('New content is downloading.');\n },\n updated() {\n console.log('New content is available; please refresh.');\n },\n offline() {\n console.log('No internet connection found. App is running in offline mode.');\n },\n error(error) {\n console.error('Error during service worker registration:', error);\n },\n });\n}\n","/* eslint no-shadow: [\"error\", { \"allow\": [\"state\"] }] */\n\nexport const namespaced = true;\n\nexport const state = {\n returnTo: null,\n};\n\nexport const actions = {\n setReturnTo({ commit }, returnTo) {\n return commit('SET_RETURNTO', returnTo);\n },\n};\n\nexport const mutations = {\n SET_RETURNTO(state, returnTo) {\n state.returnTo = returnTo;\n },\n};\n\nexport const getters = {\n getReturnTo: () => state.returnTo,\n};\n","/* eslint no-shadow: [\"error\", { \"allow\": [\"state\"] }] */\nimport api from '@/api';\n\nexport const namespaced = true;\n\nfunction emptySiteAssessment() {\n return {\n background: {\n preparerId: null,\n preparedDate: null,\n landownerInformation: null,\n historicalUse: null,\n currentUse: null,\n generalConditions: null,\n watershedContext: null,\n },\n goals: {\n landownerGoals: null,\n forestManagementGoals: null,\n agriculturalManagementGoals: null,\n resourcePriorities: null,\n forestResourceConcerns: null,\n managementConcerns: null,\n otherConcerns: null,\n },\n propertyOverview: {\n topography: null,\n soilsAndGeology: null,\n waterResources: null,\n waterRights: null,\n vegetationDescription: null,\n wildlifeObservations: null,\n habitatValue: null,\n culturalResources: null,\n invasiveSpecies: null,\n regulatoryCompliance: null,\n },\n resourceAnalysis: {\n recommendations: null,\n additionalResource: null,\n },\n status: 'Started',\n };\n}\nfunction getInvasivesText(invasiveDetails, rootState) {\n const { invasives } = rootState.SiteVisit;\n return invasives.fields\n .filter((field) => invasiveDetails[field.field]\n && invasiveDetails[field.field].percentOfInfestation !== null)\n .map((field) => `${invasiveDetails[field.field].percentOfInfestation} (${invasiveDetails[field.field].infestationSize} sq ft) infested by ${field.name}`)\n .join(', ');\n}\nfunction defaultNAString(value) {\n return value || 'N/A';\n}\nfunction liveStockString(value, animal) {\n if (value > 0) {\n return `${value} ${animal}
`;\n }\n return '';\n}\nfunction defaultLivestock(Cattle, Horses, Chickens, Sheep, Turkeys, Goats, Alpacas) {\n if (!Cattle && !Horses && !Chickens && !Sheep && !Turkeys && !Goats && !Alpacas) {\n return 'N/A';\n }\n return '';\n}\nfunction buildHistoricPlantCommunityString(siteVisit) {\n if (siteVisit.habitatDetails.historicPlantType\n && siteVisit.habitatDetails.historicPlantType.length > 0) {\n return `${siteVisit.habitatDetails.historicPlantType.join(', ')} - ${defaultNAString(siteVisit.habitatDetails.historicPlantCondition)}
`;\n }\n return 'N/A
';\n}\nfunction initializeSiteAssessmentFromVisit(siteVisit, rootState) {\n const siteAssessment = emptySiteAssessment();\n siteAssessment.siteId = siteVisit.siteId;\n siteAssessment.background.preparedDate = new Date();\n siteAssessment.background.historicalUse = `Historic plant community: ${buildHistoricPlantCommunityString(siteVisit)}\nBrief history of the property: ${defaultNAString(siteVisit.urbanDetails.briefHistory)}
`;\n siteAssessment.background.currentUse = `Current site management: ${defaultNAString(siteVisit.habitatDetails.currentSiteManagement)}
\nFertilizer schedule in use: ${defaultNAString(siteVisit.agriculturalDetails.fertilizerScheduleDescription)}
\nTypes of fertilizer in use: ${defaultNAString(siteVisit.agriculturalDetails.fertilizerTypeDescription)}
\nLivestock manure management in use: ${defaultNAString(siteVisit.agriculturalDetails.manureManagementDescription)}
\nLivestock raised on site:\n${defaultLivestock(\n siteVisit.agriculturalDetails.livestockRaisedOnSiteCattle,\n siteVisit.agriculturalDetails.livestockRaisedOnSiteHorses,\n siteVisit.agriculturalDetails.livestockRaisedOnSiteChickens,\n siteVisit.agriculturalDetails.livestockRaisedOnSiteSheep,\n siteVisit.agriculturalDetails.livestockRaisedOnSiteTurkeys,\n siteVisit.agriculturalDetails.livestockRaisedOnSiteAlpacas,\n )}
\n ${liveStockString(siteVisit.agriculturalDetails.livestockRaisedOnSiteCattle, 'Cattle')}\n ${liveStockString(siteVisit.agriculturalDetails.livestockRaisedOnSiteHorses, 'Horses')}\n ${liveStockString(siteVisit.agriculturalDetails.livestockRaisedOnSiteChickens, 'Chickens')}\n ${liveStockString(siteVisit.agriculturalDetails.livestockRaisedOnSiteSheep, 'Sheep')}\n ${liveStockString(siteVisit.agriculturalDetails.livestockRaisedOnSiteTurkeys, 'Turkeys')}\n ${liveStockString(siteVisit.agriculturalDetails.livestockRaisedOnSiteGoats, 'Goats')}\n ${liveStockString(siteVisit.agriculturalDetails.livestockRaisedOnSiteAlpacas, 'Alpacas')}\nIrrigation Methods: ${defaultNAString(siteVisit.agriculturalDetails.irrigationMethods.join(', '))}
\nFarming Method: ${defaultNAString(siteVisit.agriculturalDetails.farmingMethod)}
\nCrops being grown: ${defaultNAString(siteVisit.agriculturalDetails.cropsBeingGrown.join(', '))}
\nAcres of forest: ${defaultNAString(siteVisit.forestDetails.acresOfForest)}`;\n siteAssessment.goals.landownerGoals = `Landowner goals: ${defaultNAString(siteVisit.generalDetails.landownerGoals)}
\nHabitat/Streams conservation goals: ${defaultNAString(siteVisit.habitatDetails.conservationGoals.join(', '))}
\nUrban conservation goals: ${defaultNAString(siteVisit.urbanDetails.primaryGoals.join(', '))}
`;\n siteAssessment.goals.forestManagementGoals = `Forest management goals: ${defaultNAString(siteVisit.forestDetails.primaryGoals.join(', '))}
\nOther goals: ${defaultNAString(siteVisit.forestDetails.otherGoals)}`;\n siteAssessment.goals.agriculturalManagementGoals = `Agricultural management goals: ${defaultNAString(siteVisit.agriculturalDetails.agriculturalManagementGoals.join(', '))}
\nOther goals: ${defaultNAString(siteVisit.agriculturalDetails.otherAgriculturalManagementGoals)}`;\n siteAssessment.goals.resourcePriorities = `Landowner resource priorities: ${defaultNAString(siteVisit.generalDetails.landownerResourcePriorities.join(', '))}`;\n siteAssessment.goals.forestResourceConcerns = `Forest resource concerns: ${defaultNAString(siteVisit.forestDetails.forestConcerns.join(', '))}
\nOther concerns: ${defaultNAString(siteVisit.forestDetails.otherConcerns)}`;\n if (siteVisit.streamsDetails) {\n siteAssessment.propertyOverview.waterResources = `Historic hydrology: ${defaultNAString(siteVisit.habitatDetails.historicHydrology.join(', '))}
\nStreambank conditions: ${defaultNAString(siteVisit.streamsDetails.streamBankConditions.join(', '))}
\nStream channel observations: ${defaultNAString(siteVisit.streamsDetails.channelObservations.join(', '))}
\nVisible passage barriers: ${defaultNAString(siteVisit.streamsDetails.visiblePassageBarriers)}
\nDominate substrate: ${defaultNAString(siteVisit.streamsDetails.dominantSubstrate.join(', '))}
\nPotential for creating or allowing for natural hydrologic processes? ${defaultNAString(siteVisit.streamsDetails.naturalProcesses)}`;\n }\n siteAssessment.propertyOverview.waterRights = `Water Rights: ${defaultNAString(siteVisit.generalDetails.waterRights.join(', '))}`;\n siteAssessment.propertyOverview.vegetationDescription = `Native species present: ${defaultNAString(siteVisit.habitatDetails.nativeRiparianSpp.join(', '))}
\nHistoric plant community type: ${defaultNAString(siteVisit.habitatDetails.historicPlantType.join(', '))}
\nHistory plant community condition: ${defaultNAString(siteVisit.habitatDetails.historicPlantCondition)}
\nForest stands less than 30 years old and overstocked with a single species? ${defaultNAString(siteVisit.habitatDetails.forestStands)}`;\n siteAssessment.propertyOverview.wildlifeObservations = `Wildlife observations: ${defaultNAString(siteVisit.habitatDetails.wildlifeObservations)}
\nWildlife concerns: ${defaultNAString(siteVisit.habitatDetails.wildlifeConcerns.join(', '))}
\nOpportunities for beaver influence: ${defaultNAString(siteVisit.habitatDetails.beaverInfluence)}`;\n siteAssessment.propertyOverview.invasiveSpecies = `Adjacent property has > 75% target weed spp: ${defaultNAString(siteVisit.habitatDetails.targetWeedSpp)}, ${getInvasivesText(siteVisit.invasiveSpeciesDetails, rootState)}`;\n return siteAssessment;\n}\n\nexport const state = {\n siteAssessment: null,\n siteAssessmentsPendingApproval: [],\n tualatinContacts: [],\n serverError: null,\n submitSuccess: false,\n};\n\nexport const actions = {\n async fetchOrCreateSiteAssessment({ commit, rootState }, { currentSiteVisit }) {\n if (!state.siteAssessment || state.siteAssessment.siteId !== currentSiteVisit.siteId) {\n return api.get(`/siteassessment/${currentSiteVisit.siteId}`)\n .then((response) => commit('SET_SITE_ASSESSMENT', response.data))\n .catch(() => commit('SET_SITE_ASSESSMENT', initializeSiteAssessmentFromVisit(currentSiteVisit, rootState)));\n }\n return commit('SET_SITE_ASSESSMENT', state.siteAssessment);\n },\n async saveAssessment({ commit }, siteAssessment) {\n commit('SET_SERVER_ERROR', null);\n await api.post('/siteAssessment/', siteAssessment)\n .then((response) => commit('SET_SITE_ASSESSMENT', response.data))\n .catch((error) => {\n console.error(error);\n commit('SET_SERVER_ERROR', error);\n });\n },\n async fetchExistingSiteAssessment({ commit }, siteId) {\n if (!state.siteAssessment || state.siteAssessment.siteId !== siteId) {\n return api.get(`/siteassessment/${siteId}`)\n .then((response) => commit('SET_SITE_ASSESSMENT', response.data))\n .catch(() => commit('SET_SITE_ASSESSMENT', null));\n }\n return commit('SET_SITE_ASSESSMENT', state.siteAssessment);\n },\n async fetchTualatinContacts({ commit }) {\n return api.get('/contact')\n .then((response) => commit('SET_CONTACTS', response.data));\n },\n async getSiteAssessmentsPendingApproval({ commit }) {\n await api.get(\n '/siteassessment/pendingapproval',\n ).then(\n async (response) => commit('SET_SITE_ASSESSMENTS_PENDING_APPROVAL', response.data),\n );\n },\n setSubmitSuccess({ commit }, value) {\n return commit('SET_SUBMIT_SUCCESS', value);\n },\n};\n\nexport const mutations = {\n SET_SITE_ASSESSMENT(state, siteAssessment) {\n state.siteAssessment = siteAssessment;\n },\n SET_SERVER_ERROR(state, error) {\n state.serverError = error;\n },\n SET_CONTACTS(state, contacts) {\n state.tualatinContacts = contacts;\n },\n SET_SITE_ASSESSMENTS_PENDING_APPROVAL(state, data) {\n state.siteAssessmentsPendingApproval = data;\n },\n SET_SUBMIT_SUCCESS(state, value) {\n state.submitSuccess = value;\n },\n};\n","/* eslint-disable max-len, padded-blocks */\n/* eslint no-shadow: [\"error\", { \"allow\": [\"state\"] }] */\nimport {\n Store, set, get,\n} from 'idb-keyval';\nimport api from '@/api';\n\nexport const namespaced = true;\n\nfunction initialInvasive() {\n return {\n present: false,\n percentOfInfestation: null,\n infestationSize: null,\n notes: null,\n };\n}\nfunction emptyGeneralDetails() {\n return {\n relatedContacts: [],\n visitedBy: null,\n dateOfVisit: null,\n otherPartiesPresent: null,\n operatorHasKnowledgeOfTheProject: null,\n landownerPreferredFormOfContact: null,\n landownerResourcePriorities: [],\n landownerGoals: null,\n enrollmentInOtherPrograms: null,\n comfortableWithHerbicideUse: null,\n primaryLandUse: null,\n secondaryLandUse: null,\n propertyWaterFeatures: null,\n waterRights: null,\n otherEasements: null,\n notes: null,\n };\n}\nfunction emptyPropertyAccess() {\n return {\n trespassingIssues: 'None',\n typesOfShootingHunting: 'None',\n describePotentialHazards: null,\n adjacentPropertiesUnderConservation: null,\n neighborInterestInConservationProjectEnrollment: null,\n dogsOnSite: null,\n dogSafetyMeasures: [],\n notes: null,\n };\n}\nfunction emptyInvasives() {\n return {\n reedCanarygrass: initialInvasive(),\n nonNativeBlackberries: initialInvasive(),\n scotchBroom: initialInvasive(),\n englishIvy: initialInvasive(),\n garlicMustard: initialInvasive(),\n purpleLoosestrife: initialInvasive(),\n knotweed: initialInvasive(),\n spurgeLaurel: initialInvasive(),\n falseBrome: initialInvasive(),\n giantHogweed: initialInvasive(),\n poisonOak: initialInvasive(),\n lesserCelandine: initialInvasive(),\n italianArum: initialInvasive(),\n edrrSpeciesNotListed: initialInvasive(),\n };\n}\nfunction emptyAgriculturalDetails() {\n return {\n farmedLessThanTenYears: null,\n agriculturalManagementGoals: [],\n otherAgriculturalManagementGoals: null,\n cropsBeingGrown: [],\n farmingMethod: null,\n irrigationMethods: [],\n irrigationEfficienciesInterest: null,\n fertilizerScheduleDescription: null,\n fertilizerTypeDescription: null,\n manureManagementDescription: null,\n livestockRaisedOnSiteCattle: null,\n livestockRaisedOnSiteHorses: null,\n livestockRaisedOnSiteChickens: null,\n livestockRaisedOnSiteSheep: null,\n livestockRaisedOnSiteTurkeys: null,\n livestockRaisedOnSiteGoats: null,\n livestockRaisedOnSiteAlpacas: null,\n livestockRaisedOnSiteOther: null,\n timeSeasonInPasture: null,\n livestockOffChannelWatering: null,\n notes: null,\n };\n}\nfunction emptyForestDetails() {\n return {\n stewardshipPlanExists: null,\n stewardshipPlanInterest: null,\n primaryGoals: [],\n otherGoals: null,\n forestConcerns: [],\n otherConcerns: null,\n acresOfForest: null,\n primaryTreeSpecies: [],\n notes: null,\n };\n}\nfunction emptyStreamsDetails() {\n return {\n fencingNeeded: null,\n predationIssues: null,\n floodingRegime: null,\n crossingAvailable: null,\n names: null,\n typesOfStreams: [],\n potentialBufferWidth: null,\n existingShade: null,\n artificalModifications: [],\n streamBankConditions: [],\n channelObservations: [],\n visiblePassageBarriers: null,\n dominantSubstrate: [],\n naturalProcesses: null,\n notes: null,\n };\n}\nfunction emptyHabitatDetails() {\n return {\n conservationgoals: [],\n currentSiteManagement: null,\n nativeRiparianSpp: [],\n historicPlantType: [],\n historicPlantCondition: null,\n forestStands: null,\n historicHydrology: [],\n targetWeedSpp: null,\n wildlifeObservations: null,\n wildlifeConcerns: [],\n beaverInfluence: null,\n equipmentDebris: null,\n siteAccessibility: null,\n notes: null,\n };\n}\nfunction emptyUrbanDetails() {\n return {\n siteType: null,\n briefHistory: null,\n primaryGoals: [],\n otherConcerns: null,\n treeHealthConcerns: [],\n bhcp: null,\n professionalPlan: null,\n landownerTenantPreference: [],\n waterConservationPractices: [],\n stormwaterPractices: [],\n floodingConcerns: [],\n floodingSteps: [],\n nativeSpp: null,\n notes: null,\n };\n}\nfunction emptyTechnicalDetails() {\n return {\n nextSteps: null,\n dateOfVisit: new Date(Date.now() + (3600 * 1000 * 24)),\n furtherAssistance: [],\n referrals: [],\n notes: null,\n };\n}\nfunction emptySiteVisit() {\n return {\n generalDetails: emptyGeneralDetails(),\n propertyAccess: emptyPropertyAccess(),\n invasiveSpeciesDetails: emptyInvasives(),\n agriculturalDetails: emptyAgriculturalDetails(),\n forestDetails: emptyForestDetails(),\n streamsDetails: emptyStreamsDetails(),\n habitatDetails: emptyHabitatDetails(),\n urbanDetails: emptyUrbanDetails(),\n technicalDetails: emptyTechnicalDetails(),\n };\n}\nfunction defaultNAString(value) {\n return value || 'N/A';\n}\nfunction initializeSiteVisitFromSite(currentSite, currentUser) {\n console.debug('Enter initializeSiteVisitFromSite()');\n\n const siteVisit = emptySiteVisit();\n siteVisit.siteId = currentSite.Id;\n siteVisit.localCreatedAt = new Date();\n siteVisit.generalDetails.siteName = currentSite.RecordName;\n\n let primaryContacts = currentSite.contacts.filter((contact) => contact.Primary__c === true);\n primaryContacts = primaryContacts.sort((a, b) => {\n if (a.FIRST_NAME > b.FIRST_NAME) {\n return 1;\n }\n return -1;\n });\n\n let nonprimaryContacts = currentSite.contacts.filter((contact) => contact.Primary__c !== true);\n nonprimaryContacts = nonprimaryContacts.sort((a, b) => {\n if (a.FIRST_NAME > b.FIRST_NAME) {\n return 1;\n }\n return -1;\n });\n\n const relatedContacts = primaryContacts.concat(nonprimaryContacts);\n\n siteVisit.generalDetails.relatedContacts = relatedContacts.map((contact) => `${contact.FIRST_NAME} ${contact.LAST_NAME}, ${defaultNAString(contact.Role__c)}${contact.Primary__c ? ' (Primary)' : ''}`);\n siteVisit.generalDetails.visitedBy = currentUser;\n siteVisit.generalDetails.dateOfVisit = new Date();\n\n console.debug('Exit initializeSiteVisitFromSite()');\n return siteVisit;\n}\nfunction getInvasiveSpecies() {\n return {\n legend: 'Invasives',\n headerName: 'Invasive Species',\n fields: [\n {\n name: 'Reed Canarygrass',\n field: 'reedCanarygrass',\n },\n {\n name: 'Non-Native Blackberries',\n field: 'nonNativeBlackberries',\n },\n {\n name: 'Scotch Broom',\n field: 'scotchBroom',\n },\n {\n name: 'English Ivy',\n field: 'englishIvy',\n },\n {\n name: 'Garlic Mustard',\n field: 'garlicMustard',\n },\n {\n name: 'Purple Loosestrife',\n field: 'purpleLoosestrife',\n },\n {\n name: 'Knotweed',\n field: 'knotweed',\n },\n {\n name: 'Spurge Laurel',\n field: 'spurgeLaurel',\n },\n {\n name: 'False Brome',\n field: 'falseBrome',\n },\n {\n name: 'Giant Hogweed',\n field: 'giantHogweed',\n },\n {\n name: 'Poison Oak',\n field: 'poisonOak',\n },\n {\n name: 'Lesser Celandine',\n field: 'lesserCelandine',\n },\n {\n name: 'Italian Arum',\n field: 'italianArum',\n },\n {\n name: 'Invasive Species Not Listed',\n field: 'edrrSpeciesNotListed',\n },\n ],\n };\n}\n\nexport const state = {\n siteVisit: null,\n serverSiteVisit: null,\n showErrorsOnActiveTab: false,\n submitSuccess: false,\n invasives: getInvasiveSpecies(),\n};\n\nexport const actions = {\n async postSiteVisit({ commit, dispatch }, siteVisit) {\n await api.post('/sitevisit/', siteVisit).then((response) => {\n commit('SET_SITE_VISIT', response.data);\n dispatch('persistCurrentSiteVisit');\n });\n },\n setSubmitSuccess({ commit }, value) {\n return commit('SET_SUBMIT_SUCCESS', value);\n },\n clearSiteVisit({ commit }) {\n return commit('CLEAR_SITE_VISIT');\n },\n setShowErrorsOnActiveTab({ commit }, value) {\n return commit('SET_SHOW_ERRORS', value);\n },\n persistCurrentSiteVisit({ state }) {\n // save to idb\n const customStore = new Store('AcornDBSiteVisits', 'siteVisit');\n set(state.siteVisit.siteId, state.siteVisit, customStore);\n },\n async fetchSiteVisit({ commit }, { currentSite, currentUser, initializeVisit }) {\n const customStore = new Store('AcornDBSiteVisits', 'siteVisit');\n commit('SET_SERVER_SITE_VISIT', null);\n await get(currentSite.Id, customStore).then((siteVisit) => {\n if (siteVisit) {\n return api.get(`/sitevisit/${currentSite.Id}`).then(\n (response) => {\n // store serverSiteVisit if our version is different than the local one.\n // this will let us ask if the user wants to overwrite what we have\n if (new Date(response.data.updatedAt).getTime() !== new Date(siteVisit.updatedAt).getTime()) {\n commit('SET_SERVER_SITE_VISIT', response.data);\n }\n commit('SET_SITE_VISIT', siteVisit);\n },\n ).catch(\n () => commit('SET_SITE_VISIT', siteVisit),\n );\n }\n return api.get(`/sitevisit/${currentSite.Id}`).then(\n (response) => commit('SET_SITE_VISIT', response.data),\n ).catch(\n () => {\n if (initializeVisit) {\n return commit('SET_SITE_VISIT', initializeSiteVisitFromSite(currentSite, currentUser));\n }\n return commit('SET_SITE_VISIT', null);\n },\n );\n });\n },\n copyServerSiteVisit({ commit, state, dispatch }) {\n commit('SET_SITE_VISIT', state.serverSiteVisit);\n dispatch('persistCurrentSiteVisit');\n return commit('SET_SERVER_SITE_VISIT', null);\n },\n setSiteVisit({ commit }, siteVisit) {\n return commit('SET_SITE_VISIT', siteVisit);\n },\n setGeneralDetails({ commit }, generalDetails) {\n return commit('SET_GENERAL_DETAILS', generalDetails);\n },\n setPropertyAccess({ commit }, propertyAccess) {\n return commit('SET_PROPERTY_ACCESS', propertyAccess);\n },\n setInvasiveSpeciesDetails({ commit }, invasiveSpeciesDetails) {\n return commit('SET_INVASIVE_SPECIES_DETAILS', invasiveSpeciesDetails);\n },\n};\n\nexport const mutations = {\n CLEAR_SITE_VISIT(state) {\n state.siteVisit = emptySiteVisit();\n },\n SET_SERVER_SITE_VISIT(state, siteVisit) {\n state.serverSiteVisit = siteVisit;\n },\n SET_SITE_VISIT(state, siteVisit) {\n // this is just some code to clean up any loose ends if some of the child objects are null\n const localSV = siteVisit;\n if (siteVisit !== null) {\n if (siteVisit.agriculturalDetails === null) {\n localSV.agriculturalDetails = emptyAgriculturalDetails();\n }\n if (siteVisit.forestDetails === null) {\n localSV.forestDetails = emptyForestDetails();\n }\n if (siteVisit.generalDetails === null) {\n localSV.generalDetails = emptyGeneralDetails();\n }\n if (siteVisit.habitatDetails === null) {\n localSV.habitatDetails = emptyHabitatDetails();\n }\n if (siteVisit.invasiveSpeciesDetails === null) {\n localSV.invasiveSpeciesDetails = emptyInvasives();\n }\n if (siteVisit.propertyAccess === null) {\n localSV.propertyAccess = emptyPropertyAccess();\n }\n if (siteVisit.streamsDetails === null) {\n localSV.streamsDetails = emptyStreamsDetails();\n }\n if (siteVisit.technicalDetails === null) {\n localSV.technicalDetails = emptyTechnicalDetails();\n }\n if (siteVisit.urbanDetails === null) {\n localSV.urbanDetails = emptyUrbanDetails();\n }\n }\n state.siteVisit = localSV;\n },\n SET_SUBMIT_SUCCESS(state, value) {\n state.submitSuccess = value;\n },\n SET_GENERAL_DETAILS(state, generalDetails) {\n state.siteVisit.generalDetails = generalDetails;\n },\n SET_PROPERTY_ACCESS(state, propertyAccess) {\n state.siteVisit.propertyAccess = propertyAccess;\n },\n SET_INVASIVE_SPECIES_DETAILS(state, invasiveSpeciesDetails) {\n state.siteVisit.invasiveSpeciesDetails = invasiveSpeciesDetails;\n },\n SET_SHOW_ERRORS(state, value) {\n state.showErrorsOnActiveTab = value;\n },\n};\n","/* eslint no-shadow: [\"error\", { \"allow\": [\"state\"] }] */\nimport api from '@/api';\n\nexport const namespaced = true;\n\nexport const state = {\n user: {},\n insightlyUser: {},\n};\n\nexport const actions = {\n setAccessToken({ commit }, accessToken) {\n return commit('SET_ACCESS_TOKEN', accessToken);\n },\n setUser({ commit }, user) {\n return commit('SET_USER', user);\n },\n fetchInsightlyUser({ commit }, email) {\n return api.get(`/users/${email}`)\n .then((response) => {\n commit('SET_INSIGHTLY_USER', response.data);\n }).catch((exception) => {\n console.error(exception);\n });\n },\n};\n\nexport const mutations = {\n SET_ACCESS_TOKEN(state, accessToken) {\n state.accessToken = accessToken;\n },\n SET_USER(state, user) {\n state.user = user;\n },\n SET_INSIGHTLY_USER(state, insightlyUser) {\n state.insightlyUser = insightlyUser;\n },\n};\n\nexport const getters = {\n getCurrentUser: () => state.user,\n};\n","/* eslint-disable max-len, no-await-in-loop, no-new, no-unused-vars, padded-blocks */\n/* eslint no-shadow: [\"error\", { \"allow\": [\"state\"] }] */\nimport api from '@/api';\n\nexport const namespaced = true;\n\nexport const state = {\n siteTaxlots: [],\n};\n\nexport const actions = {\n async deleteSiteTaxlots({ commit }, siteTaxlotIds) {\n let id = siteTaxlotIds.pop();\n while (id) {\n await api.delete(`/sitetaxlot/${id}`).then(async (response) => {\n if (response.status === 200) {\n this.successMessage = 'The site taxlot has been successfully deleted.';\n }\n }).catch((error) => {\n console.error(error);\n this.serverError = error;\n });\n id = siteTaxlotIds.pop();\n }\n },\n async readSiteTaxlots({ commit }, siteId) {\n await api.get(`/sitetaxlot/site/${siteId}`).then((response) => {\n if (response.status === 200) {\n this.successMessage = 'The site taxlots have been successfully read.';\n }\n commit('SET_SITE_TAXLOTS', response.data);\n }).catch((error) => {\n console.error(error);\n this.serverError = error;\n });\n },\n async writeSiteAttributes({ commit }, params) {\n await api.put(\n `/site/${params.id}`,\n {\n siteAcreage: params.acreage,\n watershedId: params.watershedId,\n watershedName: params.watershedName,\n subwatershedId: params.subwatershedId,\n subwatershedName: params.subwatershedName,\n },\n ).then((response) => {}).catch((error) => {\n console.error(error);\n this.serverError = error;\n });\n },\n async writeSiteTaxlots({ commit }, parameters) {\n const siteTaxlots = parameters.siteTaxlots.map((siteTaxlot) => JSON.parse(JSON.stringify(siteTaxlot)));\n let siteTaxlot = siteTaxlots.pop();\n while (siteTaxlot) {\n const siteTaxlotModel = {\n relatedSite: parameters.siteId,\n recordName: '',\n acres: siteTaxlot.attributes.a_t_acres,\n county: siteTaxlot.attributes.county,\n taxlotGlobalId: siteTaxlot.attributes.GlobalID,\n taxlotId: siteTaxlot.attributes.tlid,\n };\n await api.post('/sitetaxlot', siteTaxlotModel).then(async (response) => {\n if (response.status === 200) {\n this.successMessage = 'The site taxlot has been successfully written.';\n }\n }).catch((error) => {\n console.error(error);\n this.serverError = error;\n });\n siteTaxlot = siteTaxlots.pop();\n }\n },\n};\n\nexport const mutations = {\n SET_SITE_TAXLOTS(state, siteTaxlots) {\n state.siteTaxlots = siteTaxlots;\n },\n};\n","/* eslint-disable arrow-body-style, max-len, no-unused-vars, padded-blocks, prefer-destructuring */\n/* eslint no-shadow: [\"error\", { \"allow\": [\"state\"] }] */\nimport api from '@/api';\nimport moment from 'moment';\n\nexport const namespaced = true;\n\nfunction initPlan() {\n return {\n id: null,\n planType: null,\n sites: [],\n siteGraphics: [],\n siteObjects: [],\n basic: {\n planName: null,\n author: null,\n planMonthYear: moment().startOf('month').toDate(),\n },\n propertyDescription: {\n coordinatesLatLong: '',\n coordinatesUTM: '',\n zoning: null,\n fireDistricts: null,\n nativeSeedZones: null,\n },\n introduction: {\n background: '',\n goals: '',\n },\n propertyOverview: {\n topography: '',\n soilsAndGeology: '',\n waterResources: '',\n waterRights: '',\n irrigation: '',\n propertyAccess: '',\n },\n resourceAnalysis: {\n landUseDescription: '',\n forestVegetation: '',\n crops: '',\n pastureAndLivestock: '',\n associatedAgriculturalLands: '',\n fishAndWildlife: '',\n integratedPestManagement: '',\n wildfirePreparedness: '',\n culturalResources: '',\n aestheticsAndRecreation: '',\n marketingEcosystemServices: '',\n regulatoryCompliance: '',\n nutrientAndSoilManagement: '',\n },\n managementRecommendations: {\n practices: [],\n },\n unitDetails: [],\n };\n}\nfunction defaultUnitDetailsText() {\n return `\n
Unit [Name/ID]
\n
Acres: ##
\n
Age: ##
\n
Douglas-fir (50-yr) site index: ###
\n
Slope: ## - ##, [direction]-facing
\n
Elevation: ### ###
\n
\n
\n Description: [Include number of transects, stand history, primary species, open or closed canopy, horizontal structure (wild, even space, even spacing with openings, variable density), vertical structure (single canopy, two aged, three aged)]\n
\n \n
\n Management Recommendations:\n
\n \n

`;\n}\n\nexport const state = {\n managementPlan: initPlan(),\n targetSeasons: [],\n practiceTypes: [],\n submitError: null,\n submitSuccess: false,\n managementPlans: {},\n initialUnitDetails: defaultUnitDetailsText(),\n};\n\nasync function getAssessment(id) {\n return api.get(`/siteassessment/${id}`)\n .then((response) => response.data)\n .catch(() => {\n console.warn('No assessment found');\n return null;\n });\n}\nasync function getVisit(id) {\n return api.get(`/sitevisit/${id}`)\n .then((response) => response.data)\n .catch(() => {\n console.warn('No visit found');\n return null;\n });\n}\n\nfunction getForestPropertyAccessText() {\n return `The property is accessed from [describe access location]. Roads and trails on the property are shown on the attached map. [Provide general description of roads. For each road segment, describe surface type, drainage type, length, stream crossings, gates, and fire use. Describe any areas that need repair.]

\nIt is a good practice to regularly check roads and trails for evidence of water damage and erosion. If a commercial thinning operation is planned, there will need to be a plan for where to establish a landing and where to allow equipment to access and move around the property. [Provide options for a landing location]. If an operation takes place in the winter months, roads will need to be rocked to avoid rutting and erosion. Further assistance with this issue can be provided by Tualatin SWCD, an ODF stewardship forester, or a consulting forester.

\nCurrently, there do not seem to be signs of trespass, theft, or vandalism onsite [update based on inventory observations]. No Trespassing signs on the boundaries can be beneficial to keeping unwelcome guests from entering the property. Boundaries and corners are marked [describe boundary markings].`;\n}\nfunction getAgriculturealPropertyAccessText() {\n return `The property is accessed from [describe access location]. Roads, gates, and trails on the property are shown on the attached map. [Provide general description of roads]. It is a good practice to regularly check roads for evidence of water damage and erosion.
\nCurrently, there do not seem to be signs of trespass, theft, or vandalism onsite [update based on inventory observations]. No Trespassing signs on the boundaries can be beneficial to keeping unwelcome guests from entering the property. Boundaries and corners are marked [describe boundary markings]. Access points and boundaries should be well signed to discourage trespassing and dumping. Gates at access points may be necessary.
\nOther farm infrastructure includes [describe]`;\n}\nfunction getForestLandUse() {\n return 'The [landowner name] property is comprised of [describe land uses]. About [###] acres of the property are forested and will be described in [##] units below. At the time of Euro-American settlement in the Tualatin basin, this property was likely [insert description of 1850 vegetation]. Currently, [describe overview of forest vegetation composition]. The vegetation management recommendations in this section will consider historical conditions, current conditions, and potential future influences like climate and forest product markets.';\n}\nfunction getAgriculturalLandUse() {\n return 'The [landowner name] property is comprised of [describe land uses]. Each of these land uses are further described in the appropriate section.';\n}\nfunction getForestVegetationText() {\n return 'Each unit summary in this section is based on measurements and observations collected in the field by Tualatin SWCD staff. The number of trees per acre (TPA), average diameter at breast height (DBH), and proportion of hardwood to conifer trees is an average of measurements collected across several plots or transects. Tree spacing combined with average tree diameter provides a stand density estimate (i.e. whether the stand is too dense, just right, or understocked). DBH is used to estimate basal area, which is the cross-sectional view of the trees at breast height, indicating how much harvestable wood per square foot is present. Relative densities of groundcover species are listed. Snags were identified and measured; a snag is a forestry term for a standing dead tree. Snags are beneficial to wildlife as nesting and foraging habitat. Any invasive weeds are identified and highlighted with specific management recommendations in the Integrated Pest Management section.';\n}\nfunction getForestFishAndWildlifeText() {\n return `

[Describe species observed on the property. Reference landowner wildlife management goals.]

\n

Each species has unique cover, water, food, and space requirements, though forests can often meet these needs for an abundance of species. This forest already has many great habitat elements:

\n\nThere are areas that the landowners could enhance for fish and wildlife:\n\n[Insert threatened or endangered species on or near site and management recommendations.]`;\n}\nfunction getAgriculturalFishAndWildlifeText() {\n return `

[Describe species observed on the property. Reference landowner wildlife management goals.]

\n

Farms provide important habitat for fish and wildlife. Each species has unique cover, water, food, and space requirements. This farm already has many great habitat elements:

\n\n

There are areas that the landowners could enhance for fish and wildlife:

\n\n

[Insert threatened or endangered species on or near site and management recommendations.]

`;\n}\nfunction getForestPestManagementText() {\n return `

There are some areas where invasive plant species are threatening forest health to a small extent [update based on inventory observations]. The following Integrated Pest Management (IPM) recommendations are based on strategies implemented by partners of the 4-County Cooperative Weed Management Area (CWMA):

\n

[For each weed, provide common name, units where weed was observed, and IPM strategy.]

\n

Always monitor for invasive weeds as they have a chance to arrive on the property at any time. Familiarize yourself with common invasive weeds in the Tualatin basin and pay attention to plants you have not seen before and/or plants that appear to be slowly dominating an area. Many of these species can be ecosystem changers and will often spread successfully across a property without human intervention.

\n

[Describe any insect or disease issues noted on the property. For each concern, describe the location, signs and symptoms, and any necessary management actions.]

`;\n}\nfunction getAgriculturalPestManagementText() {\n return `\n

Integrated Pest Management (IPM) is a decision-making strategy and set of actions that addresses pest control (including weeds, insects, and disease) in an environmentally and economically sound manner to meet pest management goals. This includes preventing invasions, regular monitoring, establishing a threshold for pest tolerance, treating pests, and evaluating treatment effectiveness.

\n

Invasive plants and pests on the property include [describe]

\n

Current strategies to manage weeds and pests include [describe]

\n

Integrated Pest Management strategy examples include:

\n\n

The following is a table of IPM strategies to help control specific invasive species known to occur on the property. The recommendations are based on strategies implemented by the partners of the 4-County Cooperative Weed Management Area (CWMA) and Oregon Department of Agriculture (ODA).

`;\n}\nfunction getForestWildfirePreparednessText() {\n return `\n

The risk of wildfire on this property is relatively low. Most of the site is accessible and the fuel build up is not excessive.

\n \n

The trail system could be updated with rocked roads at about 12-foot width to accommodate emergency vehicles. In the winter, there are some mud issues that would prevent a truck from accessing the entire site, but in the summer when wildfire is more likely, a brush rig could get around the property pretty well if roads are built and maintained on key trails. Near the home there are plenty of places to bring emergency vehicles and places to turn around.

\n

Near the home, keep a fire safe space where 30-50 feet around buildings is kept clear of trees and shrubs that could carry a fire to the structures.

\n

Consider creating a separate wildfire preparedness plan, including who to call when a wildfire occurs (emergency response and family/neighbors/etc.), evacuation routes that vary based on where the fire might occur, and roads to use. Include a map that identifies structures, fire breaks, water sources, power lines, cell towers, roads, and turn around areas on your property and have an extra copy ready for firefighters.

\n `;\n}\nfunction getForestCulturalResourcesText() {\n return `\n

There are no known significant historic or cultural sites on the property. Oregon Department of Forestry has checked their data from the State Historic Preservation Officer (SHPO) and have no record of concern in this section. If the landowners ever wish to pursue funding through the Natural Resources Conservation Service (NRCS) to make forest improvements, a consultation between the NRCS State Archaeologist and SHPO will occur to review if there are any known sites on the property.

\n `;\n}\nfunction getAgricultureCulturalResourcesText() {\n return `\n

There are no known significant historic or cultural sites on the property. If the landowners ever wish to pursue funding through the Natural Resources Conservation Service (NRCS) to make farm improvements, a consultation between the NRCS State Archaeologist and SHPO will occur to review if there are any known sites on the property.

\n `;\n}\nfunction getForestAestheticsAndRecreationText() {\n return `\n

The forest is a great place for recreation. There are some trails throughout the site that allow access for walks and hikes, though they could be expanded to increase access year around and within each unit. The aesthetic appeal of the forest might be improved with some forest restoration that thins smaller shrubs and hardwood trees like alder, maple, and cherry, allowing the conifers to grow larger. Planting a diversity of shade-tolerant conifers could also improve the diversity of color and texture in the forest throughout the year. Planting more flowering shrubs in sunny units will allow for a variety of colors in spring and early summer, as well as wildlife watching throughout the growing season.

\n `;\n}\nfunction getForestMarketingEcosystemServicesText() {\n return `\n

Planting Douglas-fir and other fast-growing conifers on the property will sequester carbon at a high rate. Timely thinning will maintain and/or increase the rate of sequestration. If possible, woody material harvested from the stand should be converted to forest products that continue the storage of accumulated carbon.

\n

There is no immediate objective to market ecosystem services. Organizations like the Pinchot Institute will make carbon payments to landowners who are managing forests to an older age, which can supplement forest income on the property. A carbon inventory would need to take place to see if the property is a good fit for the program. Properties selected for carbon sequestration programs tend to be over 100 acres.

\n `;\n}\nfunction getForestRegulatoryComplianceText() {\n return `\n

All forest management activities recommended or described in this plan comply with the Oregon Forest Practices Act. Care should be taken not to impact streams and seasonal drainages on the property. At this time, no significant management is planned near streams.

\n

A Forest Practices notification will need to be submitted to ODF at least 15 days before most activities take place. Planned activities that will need to be documented in an ODF notification include (though are not limited to):

\n \n

Notifications are only valid for practices implemented in the current calendar year. Landowners should plan to communicate with the ODF Stewardship Forester to make the notification process easier when or if they need to file a notification. Landowners should be sure to comply with all local, state and federal laws that regulate forest land.

\n `;\n}\nfunction getAgriculturalRegulatoryComplianceText() {\n return `\n

Landowners must comply with several state, federal, and local laws in managing their property.

\n `;\n}\nfunction getAgriculturalNutrientAndSoilText() {\n return `

Nutrient management addresses management of manure and wastewater, fertilizer, plant nutrient uptake, and soil fertility on the farm. This includes the production and storage of potential nutrients on the farm, as well as the application of nutrients, runoff and erosion, and soil and water quality issues. Soil tests should help inform nutrient application rates and should be updated every 5 years, per field.

\n

Nutrients added to the property consist of [describe]

\n

Current soil management and erosion conditions on the property consist of [describe]

\nBest practices for building and maintaining soil health and avoiding erosion include:\n`;\n}\nexport const actions = {\n async updateAssessmentTextInIntroduction({ commit }, siteIds) {\n const assessmentCalls = siteIds.map((id) => getAssessment(id));\n const assessments = await Promise.all(assessmentCalls);\n const visitCalls = siteIds.map((id) => getVisit(id));\n const visits = await Promise.all(visitCalls);\n commit('UPDATE_TEXT_DATA', { assessments: assessments.filter((a) => a !== null), visits: visits.filter((v) => v !== null) });\n },\n updateUnitDetailsOnManagementPlan({ commit }, unitDetails) {\n commit('SET_UNIT_DETAILS', unitDetails);\n },\n async postManagementPlan({ commit }, managementPlan) {\n const managementPlanSiteModels = managementPlan.sites.map((site) => {\n const managementPlanSiteModel = {\n globalId: site.graphic.attributes.globalid,\n insightlyId: site.graphic.attributes.insightlyid,\n siteName: site.graphic.attributes.sitename,\n };\n return managementPlanSiteModel;\n });\n\n let managementPlanModel = initPlan();\n managementPlanModel.planType = managementPlan.planType;\n managementPlanModel.sites = managementPlanSiteModels;\n\n managementPlanModel = await api.post('/managementplan', managementPlanModel).then(async (response) => {\n this.successMessage = 'The management plan was successfully created.';\n commit('SET_SUBMIT_SUCCESS', true);\n return response.data;\n }).catch((error) => {\n console.error(error);\n commit('SET_SUBMIT_SUCCESS', false);\n commit('SET_SUBMIT_ERROR', error);\n });\n\n return commit('SET_MANAGEMENTPLANID', managementPlanModel.id);\n },\n initManagementPlan({ commit }) {\n commit('SET_MANAGEMENTPLAN', initPlan());\n },\n async updateManagementPlan({ commit }, managementPlan) {\n await api.put('/managementplan', managementPlan)\n .then(() => {\n commit('SET_SUBMIT_SUCCESS', true);\n commit('SET_MANAGEMENTPLAN', managementPlan);\n })\n .catch((error) => {\n console.error(error);\n commit('SET_SUBMIT_SUCCESS', false);\n commit('SET_SUBMIT_ERROR', error);\n });\n },\n setSubmitSuccess({ commit }, value) {\n return commit('SET_SUBMIT_SUCCESS', value);\n },\n getBasicsDateDefault() {\n return new Date();\n },\n setManagementPlan({ commit }, managementPlan) {\n return commit('SET_MANAGEMENTPLAN', managementPlan);\n },\n async getManagementPlansAsync({ commit }, siteId) {\n await api.get(`/managementplan/site/${siteId}`).then((response) => {\n const result = commit('SET_MANAGEMENTPLANS', response.data);\n return result;\n }).catch((exception) => {\n console.warn(exception);\n });\n },\n deleteManagementPlan({ commit }, params) {\n api.delete(`/managementplan/${params.managementPlanId}`).then(\n () => {\n api.get(`/managementplan/site/${params.siteId}`).then(\n (response) => commit('SET_MANAGEMENTPLANS', response.data),\n ).catch((exception) => {\n console.warn(exception);\n });\n },\n ).catch((exception) => {\n console.warn(exception);\n });\n },\n addPracticeToCurrentPlan({ commit }, practice) {\n commit('ADD_PRACTICE', practice);\n },\n updatePracticeToCurrentPlan({ commit }, practice) {\n commit('UPDATE_PRACTICE', practice);\n },\n deletePracticeToCurrentPlan({ commit }, practice) {\n commit('DELETE_PRACTICE', practice);\n },\n fetchTargetSeasons({ commit }) {\n return api.get('/managementPlan/targetSeasons')\n .then((response) => commit('SET_TARGET_SEASONS', response.data))\n .catch(() => {\n console.warn('No target seasons found');\n return null;\n });\n },\n fetchPracticeTypes({ commit }) {\n return api.get('/managementPlan/practiceTypes')\n .then((response) => commit('SET_PRACTICE_TYPES', response.data))\n .catch(() => {\n console.warn('No practice types found');\n return null;\n });\n },\n // fetchManagementPlan({ commit, state }, id) {\n // return api.get(`/managementPlan/${id}`)\n // .then((response) => commit('SET_MANAGEMENTPLAN', response.data))\n // .catch(() => {\n // return commit('SET_MANAGEMENTPLAN', initPlan());\n // });\n // },\n fetchManagementPlan({ commit, state }, id) {\n const promise = api.get(\n `/managementPlan/${id}`,\n ).then(\n (response) => {\n if (response.data.managementRecommendations.practices && response.data.managementRecommendations.practices != null) {\n response.data.managementRecommendations.practices.forEach((e) => {\n e.surrogateId = e.id;\n });\n }\n commit('SET_MANAGEMENTPLAN', response.data);\n },\n ).catch(\n () => {\n console.error('No management plan found');\n return commit('SET_MANAGEMENTPLAN', initPlan());\n },\n );\n return promise;\n },\n};\n\nexport const mutations = {\n // ADD_PRACTICE(state, newPractice) {\n // if (!state.managementPlan.managementRecommendations.practices) {\n // state.managementPlan.managementRecommendations.practices = [newPractice];\n // } else {\n // state.managementPlan.managementRecommendations.practices.push(newPractice);\n // }\n // },\n // UPDATE_PRACTICE(state, params) {\n // const recommendations = state.managementPlan.managementRecommendations;\n // if (recommendations.practices && recommendations.practices.length > params.practiceIndex) {\n // recommendations.practices.splice(params.practiceIndex, 1, params.practice);\n // }\n // },\n // DELETE_PRACTICE(state, indexToDelete) {\n // const recommendations = state.managementPlan.managementRecommendations;\n // if (recommendations.practices && recommendations.practices.length > indexToDelete) {\n // recommendations.practices.splice(indexToDelete, 1);\n // }\n // },\n ADD_PRACTICE(state, practice) {\n if (!state.managementPlan.managementRecommendations.practices) {\n state.managementPlan.managementRecommendations.practices = [practice];\n } else {\n state.managementPlan.managementRecommendations.practices.push(practice);\n }\n },\n UPDATE_PRACTICE(state, practice) {\n const recommendations = state.managementPlan.managementRecommendations;\n const index = recommendations.practices.findIndex((e) => e.surrogateId === practice.surrogateId);\n recommendations.practices.splice(index, 1, practice);\n },\n DELETE_PRACTICE(state, practice) {\n const recommendations = state.managementPlan.managementRecommendations;\n const index = recommendations.practices.findIndex((e) => e.surrogateId === practice.surrogateId);\n recommendations.practices.splice(index, 1);\n },\n SET_UNIT_DETAILS(state, unitDetails) {\n state.managementPlan.unitDetails = unitDetails;\n },\n SET_MANAGEMENTPLAN(state, managementPlan) {\n state.managementPlan = managementPlan;\n },\n SET_MANAGEMENTPLANID(state, id) {\n state.managementPlan.id = id;\n },\n SET_MANAGEMENTPLANS(state, managementPlans) {\n state.managementPlans = managementPlans;\n },\n UPDATE_TEXT_DATA(state, assessmentsAndVisits) {\n const { assessments, visits } = assessmentsAndVisits;\n if (state.managementPlan.introduction.background === ''\n && state.managementPlan.introduction.goals === '' && assessments.length > 0) {\n state.managementPlan.introduction.background = `Landowner Information & Ownership: ${assessments.map((a) => a.background.landownerInformation).join('
')}

\nHistorical Use:
${assessments.map((a) => a.background.historicalUse).join('

')}

\nCurrent Use:
${assessments.map((a) => a.background.currentUse).join('

')}

\nGeneral Conditions:
${assessments.map((a) => a.background.generalConditions).join('

')}

\nWatershed Context:
${assessments.map((a) => a.background.watershedContext).join('

')}`;\n state.managementPlan.introduction.goals = `Landowner Goals:
${assessments.map((a) => a.goals.landownerGoals).join('

')}

\nForest Management Goals:
${assessments.map((a) => a.goals.forestManagementGoals).join('

')}

\nAgricultural Management Goals:
${assessments.map((a) => a.goals.agriculturalManagementGoals).join('

')}`;\n state.managementPlan.propertyOverview.topography = assessments.map((a) => a.propertyOverview.topography).join('

');\n state.managementPlan.propertyOverview.soilsAndGeology = `${assessments.map((a) => a.propertyOverview.soilsAndGeology).join('

')}
The map below shows the different soils on the property. Soils in the area were mapped in the past by the Natural Resources Conservation Service (NRCS). The soils are listed in the table below and are mapped in the [Landowner] Soils Map image.`;\n state.managementPlan.propertyOverview.waterResources = assessments.map((a) => a.propertyOverview.waterResources).join('

');\n if (state.managementPlan.planType.includes('Forest')) {\n state.managementPlan.propertyOverview.propertyAccess = getForestPropertyAccessText();\n state.managementPlan.resourceAnalysis.landUseDescription = getForestLandUse();\n state.managementPlan.resourceAnalysis.forestVegetation = getForestVegetationText();\n state.managementPlan.resourceAnalysis.fishAndWildlife = getForestFishAndWildlifeText();\n state.managementPlan.resourceAnalysis\n .integratedPestManagement = getForestPestManagementText();\n\n state.managementPlan.resourceAnalysis\n .wildfirePreparedness = getForestWildfirePreparednessText();\n state.managementPlan.resourceAnalysis.culturalResources = getForestCulturalResourcesText();\n state.managementPlan\n .resourceAnalysis.aestheticsAndRecreation = getForestAestheticsAndRecreationText();\n state.managementPlan.resourceAnalysis\n .marketingEcosystemServices = getForestMarketingEcosystemServicesText();\n state.managementPlan.resourceAnalysis\n .regulatoryCompliance = getForestRegulatoryComplianceText();\n\n } else {\n state.managementPlan.propertyOverview.waterRights = assessments.map((a) => a.propertyOverview.waterRights).join('

');\n if (visits && visits.length > 0) {\n state.managementPlan.propertyOverview.irrigation = visits.map((v) => v.agriculturalDetails.irrigationMethods.join(', ')).join('
');\n state.managementPlan.resourceAnalysis.crops = `Current crops on the farm include:
${visits.map((v) => v.agriculturalDetails.cropsBeingGrown.join(', ')).join('
')}`;\n }\n state.managementPlan.propertyOverview.propertyAccess = getAgriculturealPropertyAccessText();\n state.managementPlan.resourceAnalysis.landUseDescription = getAgriculturalLandUse();\n state.managementPlan.resourceAnalysis.pastureAndLivestock = 'Current pastures on the property include [describe]
Best Management Practices for pasture management consist of [describe]
Current livestock on the property include [describe]';\n state.managementPlan.resourceAnalysis.associatedAgriculturalLands = 'Non-farmed areas of the property such as natural areas, buffers, and fallow fields include [describe]';\n state.managementPlan.resourceAnalysis\n .fishAndWildlife = getAgriculturalFishAndWildlifeText();\n state.managementPlan.resourceAnalysis\n .integratedPestManagement = getAgriculturalPestManagementText();\n\n state.managementPlan.resourceAnalysis\n .culturalResources = getAgricultureCulturalResourcesText();\n state.managementPlan.resourceAnalysis\n .regulatoryCompliance = getAgriculturalRegulatoryComplianceText();\n\n state.managementPlan.resourceAnalysis\n .nutrientAndSoilManagement = getAgriculturalNutrientAndSoilText();\n }\n }\n },\n SET_TARGET_SEASONS(state, targetSeasons) {\n state.targetSeasons = targetSeasons;\n },\n SET_PRACTICE_TYPES(state, practiceTypes) {\n state.practiceTypes = practiceTypes;\n },\n SET_SUBMIT_ERROR(state, error) {\n state.submitError = error;\n },\n SET_SUBMIT_SUCCESS(state, value) {\n state.submitSuccess = value;\n },\n};\nfunction getPracticeType(id, practiceTypes) {\n return practiceTypes.filter((x) => x.id === id)[0];\n}\nfunction getTargetSeason(id, targetSeasons) {\n return targetSeasons.filter((x) => x.id === id)[0];\n}\nexport const getters = {\n\n // I see the problem...no wonder updates aren't working.\n // We can't use item index to update items because the order of the underlying dataset\n // is not the same as the sort order of the presentation dataset\n\n // currentVisiblePractices: (state) => state.managementPlan.managementRecommendations.practices\n // .map((practice) => ({\n // id: practice.id,\n // practiceType: getPracticeType(practice.practiceTypeId, state.practiceTypes),\n // targetSeason: getTargetSeason(practice.targetSeasonId, state.targetSeasons),\n // targetYear: new Date(practice.targetYear),\n // unitsFields: practice.unitsFields,\n // acres: practice.acres,\n // notes: practice.notes,\n // practiceTypeId: practice.practiceTypeId,\n // targetSeasonId: practice.targetSeasonId,\n // })).sort((a, b) => (a.targetYear.getFullYear() - b.targetYear.getFullYear())\n // || (a.targetSeason.sortOrder - b.targetSeason.sortOrder)\n // || (a.unitsFields - b.unitsFields)),\n\n // Keeping this reformatted because the original code above is unreadable\n\n currentVisiblePractices: (state) => {\n let currentVisiblePractices = state.managementPlan.managementRecommendations.practices.map((practice) => ({\n id: practice.id,\n surrogateId: practice.surrogateId,\n practiceType: getPracticeType(practice.practiceTypeId, state.practiceTypes),\n targetSeason: getTargetSeason(practice.targetSeasonId, state.targetSeasons),\n targetYear: new Date(practice.targetYear),\n unitsFields: practice.unitsFields,\n acres: practice.acres,\n notes: practice.notes,\n practiceTypeId: practice.practiceTypeId,\n targetSeasonId: practice.targetSeasonId,\n }));\n\n currentVisiblePractices = currentVisiblePractices.sort(\n (a, b) => (a.targetYear.getFullYear() - b.targetYear.getFullYear()) || (a.targetSeason.sortOrder - b.targetSeason.sortOrder) || (a.unitsFields - b.unitsFields),\n );\n\n return currentVisiblePractices;\n },\n};\n","/* eslint-disable no-await-in-loop, padded-blocks, no-empty-pattern */\n/* eslint no-shadow: [\"error\", { \"allow\": [\"state\"] }] */\nimport api from '@/api';\nimport Vue from 'vue';\n\nexport const namespaced = true;\n\nfunction initializePlanDetails() {\n return {\n locationWatershedContext: null,\n prioritizationContext: null,\n projectRationale: null,\n alternatives: null,\n recommendations: null,\n projectActions: null,\n projectEvaluation: null,\n scheduleOfActivities: null,\n category: null,\n };\n}\n\nfunction initializeProjectBudget(projectId) {\n return {\n projectId,\n projectBudgetYears: [],\n projectBudgetDecreases: [],\n };\n}\n\nfunction initializePlanDetailsWithProjectId(projectId, projectCategory) {\n const pd = initializePlanDetails();\n pd.projectId = projectId;\n /* eslint-ignore-next-line */\n if (projectCategory === 'ECREP Project' || projectCategory === 'Habitat Conservation Project' || projectCategory === 'Invasive Treatment Project' || projectCategory === 'VEGBAC Project') {\n pd.projectActions = `\n Site Prep\n

Invasive plants will be addressed prior to all other site activities to ensure efficacy of native plant establishment and provide the greatest maintenance efficiency over the life of the project. Typically, invasive blackberry and english ivy can be brought under reasonable control within 1-2 years from initial treatment. Invasive grasses can take two or more years of mechanical and chemical control depending on the age of the stand. English holly, hawthorn and laurel can be controlled by cutting and stump treatment. During site prep, portions of the site heavily dominated by invasive species will appear mostly brown and sparsely vegetated.

\n Planting\n

Most of the herbaceous and woody plants will be installed during the fall of [ ] and winter of [ ]. In general, the plant palette will reflect reference sites for intact riparian ecosystems in the Tualatin basin, and more locally in neighboring remnant or intact riparian buffers connected to or near the project site. Additional understory herbaceous plants will be planted on an ongoing basis as the invasive vegetation is brought under control and the site matures.

\n

Typical woody plants used include (actual plants used may vary due to availability and reference sites):

\n

Trees and Shrubs:

\n \n

Herbaceous plants:

\n \n

A detailed plant list made up of selections from the above list will be provided as the planting plan is developed. Planting plans are completed the summer prior to planting.

\n Maintenance\n

Interplanting and spot treatment of weeds will follow the initial planting, with most major activities anticipated to be finished by the end of year five. Following initial site preparation, herbicide applications will be limited to spot sprays and will taper off as the native plant community establishes. Following establishment, site entries by contractors will be minimal and mostly focus on monitoring and removal of additional invasive plants.

\n `;\n }\n if (['ECREP Project', 'Habitat Conservation Project', 'Invasive Treatment Project', 'VEGBAC Project'].includes(projectCategory)) {\n pd.scheduleOfActivities = `\n `;\n }\n return pd;\n}\n\nexport const state = {\n project: null,\n projectStatus: null,\n projectLoading: false,\n projectSnapshotDraftLoading: false,\n projectGeometry: null,\n projectSites: null,\n projectSitesLoading: false,\n projectBudget: { projectBudgetDecreases: [], projectBudgetYears: [] },\n projectBudgetYearSnapshots: [],\n projectBudgetSummaryDataLoaded: false,\n annualBudgetHistoryItems: {},\n pendingBudgets: [],\n loadingAnnualBudgetHistoryItems: {},\n projectSnapshot: {},\n projectSnapshots: [],\n projectSnapshotDraft: {},\n cancelledCompletedProjectSnapshots: [],\n projectFiscalYearSnapshots: [],\n currentProjectSnapshots: [],\n resourcePriorities: null,\n serverError: null,\n successMessage: null,\n decreaseSuccessMessage: null,\n errorMessage: null,\n decreaseErrorMessage: null,\n currentPlanDetails: initializePlanDetails(),\n siteContactsLoading: [],\n projectContacts: [],\n siteOrganizationsLoading: [],\n projectOrganizations: [],\n priceLists: [],\n fundingSourceEncumberedFunds: [],\n fundingSourceExpendedFunds: [],\n encumberedFundsForApprovedBudgets: [],\n fundingSources: [],\n fundsPerFiscalYear: { year: null, funds: [] },\n currentPriceLists: [],\n currentPriceListsLoading: false,\n products: [],\n projectAccomplishmentTargetMonitoringEvents: [],\n projectAccomplishmentTargetMonitoringEventEvaluationMethods: [],\n projectGoals: [],\n projectGoalSelections: [],\n projectObjectiveAccomplishmentTargetSelections: [],\n projectObjectives: [],\n projectObjectiveSelections: [],\n projectPractices: [],\n projectWorkorders: [],\n projectWorkorderBill: null,\n projectWorkorderBills: [],\n projectWorkorderLineItemFundingSources: [],\n practices: [],\n practiceComponents: [],\n targetSeasons: [],\n incentiveTypes: [],\n projectIncentivePayments: [],\n projectConcept: null,\n projectResourcePriorities: [],\n dashboardData: [],\n dashboardLoading: false,\n fundingSourcesLoading: false,\n hasOpenWorkOrders: false,\n hasOpenWorkOrderBills: false,\n projectsPendingApproval: [],\n myActiveProjects: [],\n planDetailsLoading: false,\n productPriceListsCache: new Map(),\n};\n\nexport const actions = {\n async getProjectBudget({ commit }) {\n commit('SET_DASHBOARD_LOADING', true);\n await api.get('/projectBudget').then((response) => {\n commit('SET_DASHBOARD_LOADING', false);\n return commit('SET_DASHBOARD_DATA', response.data);\n }).catch((exception) => {\n console.error(exception);\n commit('SET_SERVER_ERROR', exception);\n commit('SET_DASHBOARD_LOADING', false);\n });\n },\n async fetchAnnualBudgetHistoryItems({ commit }, id) {\n commit('SET_ANNUAL_HISTORY_IS_LOADING', id);\n\n api.get(\n `/projectBudget/annualBudgetHistory/${id}`,\n ).then(async (response) => {\n commit('SET_ANNUAL_HISTORY_ITEMS', { id, historyItems: response.data });\n }).finally(() => {\n commit('SET_ANNUAL_HISTORY_NOT_LOADING', id);\n });\n },\n async fetchPendingBudgets({ commit }) {\n await api.get('/projectBudget/pendingannualbudgets').then(async (response) => {\n commit('SET_PENDING_BUDGETS', response.data);\n });\n },\n async getProject({ commit }, projectId) {\n commit('SET_PROJECT_LOADING', true);\n commit('SET_PROJECT', null);\n return api.get(`/project/${projectId}`).then((response) => {\n if (response.status === 200) {\n commit('SET_SUCCESS_MESSAGE', 'The project was successfully read.');\n }\n commit('SET_PROJECT_LOADING', false);\n return commit('SET_PROJECT', response.data);\n }).catch((exception) => {\n console.error(exception);\n commit('SET_SERVER_ERROR', exception);\n commit('SET_PROJECT_LOADING', false);\n });\n },\n async getProjectSnapshot({ commit }, projectId) {\n await api.get(`/project/${projectId}/snapshot`).then(\n (response) => commit('SET_PROJECT_SNAPSHOT', response.data),\n ).catch((error) => {\n console.error(error);\n commit('SET_SERVER_ERROR', error);\n });\n },\n async getProjectSnapshots({ commit }, fiscalYear) {\n await api.get(`/projectSnapshots/${fiscalYear}`).then(\n (response) => commit('SET_PROJECT_SNAPSHOTS', response.data),\n ).catch((error) => {\n console.error(error);\n commit('SET_SERVER_ERROR', error);\n });\n },\n async getProjectDraftSnapshot({ commit }, projectId) {\n commit('SET_PROJECT_DRAFT_SNAPSHOT_LOADING', true);\n await api.get(`/projectSnapshots/Drafts/${projectId}`).then(\n (response) => {\n commit('SET_PROJECT_DRAFT_SNAPSHOT_LOADING', false);\n return commit('SET_PROJECT_DRAFT_SNAPSHOT', response.data);\n },\n ).catch((error) => {\n console.error(error);\n commit('SET_SERVER_ERROR', error);\n commit('SET_PROJECT_DRAFT_SNAPSHOT_LOADING', false);\n });\n },\n async getCancelledCompletedProjectSnapshots({ commit }, fiscalYear) {\n await api.get(`/projectSnapshots/byfiscalyearcancellledcompleted/${fiscalYear}`).then(\n (response) => commit('SET_CANCELLED_COMPLETED_PROJECT_SNAPSHOTS', response.data),\n ).catch((error) => {\n console.error(error);\n commit('SET_SERVER_ERROR', error);\n });\n },\n async getProjectSnapshotsByFiscalYear({ commit }, fiscalYear) {\n await api.get(`/projectSnapshots/byfiscalyear/${fiscalYear}`).then(\n (response) => commit('SET_PROJECT_FISCALYEAR_SNAPSHOTS', response.data),\n ).catch((error) => {\n console.error(error);\n commit('SET_SERVER_ERROR', error);\n });\n },\n async getCurrentProjectSnapshot({ commit }, projectId) {\n await api.get(`/projectSnapshots/byprojectid/${projectId}`).then(\n (response) => commit('SET_CURRENT_PROJECT_SNAPSHOTS', response.data),\n ).catch((error) => {\n console.error(error);\n commit('SET_SERVER_ERROR', error);\n });\n },\n async anyOpenWorkOrders({ commit }, projectId) {\n await api.get(`/project/${projectId}/anyOpenWorkOrders`).then((response) => {\n commit('SET_HAS_OPEN_WORK_ORDERS', response.data);\n }).catch((exception) => {\n console.error(exception);\n commit('SET_SERVER_ERROR', exception);\n });\n },\n async anyOpenWorkOrderBills({ commit }, projectId) {\n await api.get(`/project/${projectId}/anyOpenWorkOrderBills`).then((response) => {\n commit('SET_HAS_OPEN_WORK_ORDER_BILLS', response.data);\n }).catch((exception) => {\n console.error(exception);\n commit('SET_SERVER_ERROR', exception);\n });\n },\n async setProjectAttributes({ commit }, project) {\n commit('SET_ERROR_MESSAGE', null);\n await api.put(`/project/${project.id}`, project).then(async () => {\n }).catch((exception) => {\n console.error('Enter api.put /project catch()');\n console.error(exception);\n commit('SET_ERROR_MESSAGE', exception);\n console.error('Exit api.put /project catch()');\n });\n },\n async setProjectApprovalStatus({ commit }, params) {\n commit('SET_ERROR_MESSAGE', null);\n await api.put(`/project/${params.id}/approvalStatus/${params.status}`).then(async () => {\n }).catch((exception) => {\n console.error('Enter api.put /project/{id}/approvalStatus/{status} catch()');\n console.error(exception);\n commit('SET_ERROR_MESSAGE', exception);\n console.error('Exit api.put /project/{id}/approvalStatus/{status} catch()');\n });\n },\n async setProjectStatus({ commit }, params) {\n commit('SET_ERROR_MESSAGE', null);\n await api.put(`/project/${params.id}/status/${params.status}`).then(async () => {\n }).catch((exception) => {\n console.error('Enter api.put /project/{id}/status/{status} catch()');\n console.error(exception);\n commit('SET_ERROR_MESSAGE', exception);\n console.error('Exit api.put /project/{id}/status/{status} catch()');\n });\n },\n async setProjectOutcomeSummary({ commit }, model) {\n commit('SET_ERROR_MESSAGE', null);\n await api.put(`/project/${model.id}/outcomeSummary`, model).then(async () => {\n }).catch((exception) => {\n console.error('Enter api.put /project/{id}/outcomeSummary catch()');\n console.error(exception);\n commit('SET_ERROR_MESSAGE', exception);\n console.error('Exit api.put /project/{id}/outcomeSummary catch()');\n });\n },\n async getProjectSites({ commit }, projectId) {\n commit('SET_PROJECT_SITES_LOADING', true);\n await api.get(`/projectsite/project/${projectId}`).then(async (response) => {\n commit('SET_PROJECT_SITES', response.data);\n commit('SET_PROJECT_SITES_LOADING', false);\n }).catch((exception) => {\n console.error(exception);\n commit('SET_SERVER_ERROR', exception);\n commit('SET_PROJECT_SITES_LOADING', false);\n });\n },\n async getProjectContacts({ state, commit }, siteId) {\n if (!state.projectContacts.map((pc) => pc.siteId).includes(siteId)) {\n commit('ADD_SITE_CONTACTS_LOADING', siteId);\n await api.get(`/projectsite/site/${siteId}/contacts`)\n .then(async (response) => {\n const siteContacts = { siteId, contacts: response.data };\n commit('ADD_PROJECT_CONTACTS', siteContacts);\n }).catch((exception) => {\n console.error(exception);\n commit('SET_SERVER_ERROR', exception);\n }).finally(() => commit('REMOVE_SITE_CONTACTS_LOADING', siteId));\n }\n },\n async getProjectOrganizations({ state, commit }, siteId) {\n if (!state.projectOrganizations.map((pc) => pc.siteId).includes(siteId)) {\n commit('ADD_SITE_ORGANIZATIONS_LOADING', siteId);\n await api.get(`/projectsite/site/${siteId}/organizations`)\n .then(async (response) => {\n const siteOrganizations = { siteId, organizations: response.data };\n commit('ADD_PROJECT_ORGANIZATIONS', siteOrganizations);\n }).catch((exception) => {\n console.error(exception);\n commit('SET_SERVER_ERROR', exception);\n }).finally(() => commit('REMOVE_SITE_ORGANIZATIONS_LOADING', siteId));\n }\n },\n async setProjectSites({ commit }, parameters) {\n commit('SET_ERROR_MESSAGE', null);\n const exceptions = [];\n const projectSites = parameters.projectSites.map(\n (projectSite) => JSON.parse(JSON.stringify(projectSite)),\n );\n let projectSite = projectSites.pop();\n while (projectSite) {\n const projectSiteModel = {\n recordName: '',\n relatedProjectId: parameters.projectId,\n relatedSiteId: projectSite.attributes.insightlyid,\n };\n await api.post('/projectsite', projectSiteModel).then(async () => {\n }).catch((exception) => {\n console.error('Enter api.post /projectsite catch()');\n console.error(exception);\n exceptions.push(exception);\n console.error('Exit api.post /projectsite catch()');\n });\n projectSite = projectSites.pop();\n }\n if (exceptions.length === 0) {\n commit('SET_SUCCESS_MESSAGE', 'The project\\'s sites were successfully updated.');\n } else {\n commit('SET_ERROR_MESSAGE', 'The project\\'s sites were not successfully updated.');\n }\n },\n async deleteProjectSites({ commit }, projectSiteIds) {\n commit('SET_ERROR_MESSAGE', null);\n const exceptions = [];\n let id = projectSiteIds.pop();\n while (id) {\n await api.delete(`/projectsite/${id}`).then(async () => {\n }).catch((exception) => {\n console.error('Enter api.delete /projectsite catch()');\n console.error(exception);\n exceptions.push(exception);\n console.error('Exit api.delete /projectsite catch()');\n });\n id = projectSiteIds.pop();\n }\n if (exceptions.length === 0) {\n commit('SET_SUCCESS_MESSAGE', 'The project\\'s sites were successfully deleted.');\n } else {\n commit('SET_ERROR_MESSAGE', 'The project\\'s sites were not successfully deleted.');\n }\n },\n async fetchPlanDetails({ commit, state }, projectId) {\n commit('SET_SERVER_ERROR', '');\n if (!state.currentPlanDetails || state.currentPlanDetails.projectId !== projectId) {\n await api.get(`/planDetails/${projectId}`)\n .then((response) => commit('SET_PLAN_DETAILS', response.data))\n .catch((error) => {\n commit('SET_SERVER_ERROR', error);\n return commit('SET_PLAN_DETAILS', initializePlanDetailsWithProjectId(projectId, state.project.category));\n });\n }\n return commit('SET_PLAN_DETAILS', state.currentPlanDetails);\n },\n async forceFetchPlanDetails({ commit, state }, projectId) {\n commit('SET_SERVER_ERROR', '');\n await api.get(`/planDetails/${projectId}`).then(\n (response) => commit('SET_PLAN_DETAILS', response.data),\n ).catch((error) => {\n console.error(error);\n commit('SET_SERVER_ERROR', error);\n return commit('SET_PLAN_DETAILS', initializePlanDetailsWithProjectId(projectId, state.project.category));\n });\n return commit('SET_PLAN_DETAILS', state.currentPlanDetails);\n },\n async fetchProjectBudget({ commit, state }, projectId) {\n commit('SET_SERVER_ERROR', '');\n if (!state.projectBudget || state.projectBudget.projectId !== projectId) {\n await api.get(`/projectBudget/${projectId}`)\n .then((response) => commit('SET_PROJECT_BUDGET', response.data))\n .catch((error) => {\n console.error(error);\n commit('SET_SERVER_ERROR', error);\n return commit('SET_PROJECT_BUDGET', initializeProjectBudget(projectId));\n });\n }\n return commit('SET_PROJECT_BUDGET', state.projectBudget);\n },\n async forceFetchProjectBudget({ commit }, projectId) {\n commit('SET_SERVER_ERROR', '');\n await api.get(`/projectBudget/${projectId}`)\n .then((response) => commit('SET_PROJECT_BUDGET', response.data))\n .catch((error) => {\n console.error(error);\n commit('SET_SERVER_ERROR', error);\n return commit('SET_PROJECT_BUDGET', initializeProjectBudget(projectId));\n });\n },\n async setProjectBudgetSummaryDataLoaded({ commit }, dataLoaded) {\n commit('SET_PROJECT_BUDGET_SUMMARY_DATA_LOADED', dataLoaded);\n },\n async fetchPriceLists({ commit, state }) {\n if (!state.priceLists || state.priceLists.length === 0) {\n await api.get('/project/pricelists')\n .then((response) => commit('SET_PRICELISTS', response.data))\n .catch((error) => {\n console.error(error);\n });\n }\n return commit('SET_PRICELISTS', state.priceLists);\n },\n async fetchFundingSources({ commit, state }) {\n if (!state.fundingSources || state.fundingSources.length === 0) {\n commit('SET_FUNDING_SOURCES_LOADING', true);\n await api.get('/project/fundingSources')\n .then((response) => commit('SET_FUNDING_SOURCES', response.data))\n .catch((error) => {\n console.error(error);\n }).finally(() => {\n commit('SET_FUNDING_SOURCES_LOADING', false);\n });\n }\n return commit('SET_FUNDING_SOURCES', state.fundingSources);\n },\n async fetchProducts({ commit, state }) {\n if (!state.products || state.products.length === 0) {\n await api.get('/project/products')\n .then((response) => commit('SET_PRODUCTS', response.data))\n .catch((error) => {\n console.error(error);\n });\n }\n return commit('SET_PRICELISTS', state.priceLists);\n },\n async fetchProductPriceListEntries({ commit, state }, productId) {\n try {\n if (!state.productPriceListsCache.has(productId)) {\n commit('SET_CURRENT_PRICE_LISTS_LOADING', true);\n\n const { data: entries } = await api.get(`/project/product/${productId}/entries`);\n state.productPriceListsCache.set(productId, entries.map((entry) => ({\n priceList: state.priceLists.find((priceList) => priceList.pricebooK_ID === entry.pricebooK_ID),\n entry,\n })));\n\n commit('SET_CURRENT_PRICE_LISTS_LOADING', false);\n }\n\n return commit('SET_CURRENT_PRICE_LISTS', state.productPriceListsCache.get(productId));\n } catch (error) {\n console.error(error);\n return {};\n }\n },\n async savePlanDetails({ commit }, planDetails) {\n commit('SET_SUCCESS_MESSAGE', '');\n if (planDetails.id) {\n await api.put('/planDetails', planDetails).then(async (response) => {\n commit('SET_SUCCESS_MESSAGE', 'The Plan Details were successfully updated.');\n commit('SET_PLAN_DETAILS', response.data);\n }).catch((error) => commit('SET_ERROR_MESSAGE', error));\n } else {\n await api.post('/planDetails', planDetails).then(async (response) => {\n commit('SET_SUCCESS_MESSAGE', 'The Plan Details were successfully written.');\n commit('SET_PLAN_DETAILS', response.data);\n }).catch((error) => commit('SET_ERROR_MESSAGE', error));\n }\n },\n async saveProjectBudget({ commit, state }) {\n commit('SET_SUCCESS_MESSAGE', '');\n if (state.projectBudget.id) {\n await api.put('/projectBudget', state.projectBudget).then(async (response) => {\n commit('SET_SUCCESS_MESSAGE', 'The Project Budget was successfully updated.');\n commit('SET_PROJECT_BUDGET', response.data);\n }).catch((error) => commit('SET_ERROR_MESSAGE', error));\n } else {\n await api.post('/projectBudget', state.projectBudget).then(async (response) => {\n commit('SET_SUCCESS_MESSAGE', 'The Project Budget was successfully written.');\n commit('SET_PROJECT_BUDGET', response.data);\n }).catch((error) => commit('SET_ERROR_MESSAGE', error));\n }\n },\n async addAnnualBudgetIncrease({ commit }, adjustment) {\n commit('SET_ERROR_MESSAGE', '');\n commit('SET_SUCCESS_MESSAGE', '');\n await api.post('/projectBudget/annualBudgetIncrease', adjustment).then(async () => {\n commit('SET_SUCCESS_MESSAGE', 'The Annual Budget Adjustment was successfully saved.');\n }).catch((error) => commit('SET_ERROR_MESSAGE', error));\n },\n async setDecreaseErrorMessage({ commit }, errorMessage) {\n commit('SET_DECREASE_ERROR_MESSAGE', errorMessage);\n },\n async addProjectDecrease({ commit }, adjustment) {\n commit('SET_DECREASE_ERROR_MESSAGE', '');\n commit('SET_DECREASE_SUCCESS_MESSAGE', '');\n await api.post('/projectBudget/budgetDecrease', adjustment).then(async () => {\n commit('SET_DECREASE_SUCCESS_MESSAGE', 'The Annual Budget Adjustment was successfully saved.');\n }).catch((error) => commit('SET_DECREASE_ERROR_MESSAGE', error));\n },\n async saveProjectBudgetLineItem({ commit }, lineItem) {\n commit('SET_SUCCESS_MESSAGE', '');\n if (lineItem.id) {\n await api.put('/projectBudget/lineItem', lineItem).then(async () => {\n commit('SET_SUCCESS_MESSAGE', 'The Line Item was successfully written.');\n commit('SET_EXISTING_BUDGET_LINE_ITEM', lineItem);\n }).catch((error) => commit('SET_ERROR_MESSAGE', error));\n } else {\n await api.post('/projectBudget/lineItem', lineItem).then(async (response) => {\n commit('SET_SUCCESS_MESSAGE', 'The Line Item was successfully written.');\n commit('SET_PROJECT_BUDGET_LINE_ITEM', response.data);\n }).catch((error) => commit('SET_ERROR_MESSAGE', error));\n }\n },\n async updateProjectBudgetYear({ commit }, { year, projectSnapshotId }) {\n commit('SET_SUCCESS_MESSAGE', '');\n await api.put(`/projectBudget/year/${projectSnapshotId}`, year).then(async () => {\n commit('SET_SUCCESS_MESSAGE', 'The Annual Budget has been updated.');\n }).catch((error) => commit('SET_ERROR_MESSAGE', error));\n },\n async updateProjectBudgetYearContingency({ commit }, { year, newContingencyPercent }) {\n commit('SET_SUCCESS_MESSAGE', '');\n const updatedYear = year;\n updatedYear.contingencyPercent = newContingencyPercent;\n await api.put('/projectBudget/year', updatedYear).then(async (response) => {\n commit('SET_PROJECT_BUDGET_YEAR_CONTINGENCY', response.data);\n commit('SET_SUCCESS_MESSAGE', 'The Contingency Amount has been updated.');\n }).catch((error) => commit('SET_ERROR_MESSAGE', error));\n },\n async deleteProjectBudgetLineItem({ commit }, lineItem) {\n commit('SET_SUCCESS_MESSAGE', '');\n await api.delete(`/projectBudget/lineItem/${lineItem.id}`).then(async () => {\n commit('SET_SUCCESS_MESSAGE', 'The Line Item was removed.');\n commit('DELETE_PROJECT_BUDGET_LINE_ITEM', lineItem);\n }).catch((error) => commit('SET_ERROR_MESSAGE', error));\n },\n setProjectGeometry({ commit }, projectGeometry) {\n return commit('SET_PROJECT_GEOMETRY', projectGeometry);\n },\n async getProjectResourcePriorities({ commit }) {\n await api.get('/projectlookup/projectresourcepriority').then(\n (response) => {\n commit('SET_PROJECT_RESOURCE_PRIORITIES', response.data);\n },\n ).catch((exception) => {\n console.error(exception);\n commit('SET_SERVER_ERROR', exception);\n });\n },\n async getProjectAccomplishmentTargetMonitoringEvents({ commit }, projectId) {\n await api.get(`/projectlookup/projectAccomplishmentTargetMonitoringEvent/${projectId}`).then(\n (response) => {\n commit('SET_PROJECT_ACCOMPLISHMENT_TARGET_MONITORING_EVENTS', response.data);\n },\n ).catch((exception) => {\n console.error(exception);\n commit('SET_SERVER_ERROR', exception);\n });\n },\n async getProjectAccomplishmentTargetMonitoringEventEvaluationMethods({ commit }) {\n await api.get('/projectlookup/monitoringEventEvaluationMethods').then(\n (response) => {\n commit('SET_PROJECT_ACCOMPLISHMENT_TARGET_MONITORING_EVENT_EVALUATION_METHODS', response.data);\n },\n ).catch((exception) => {\n console.error(exception);\n commit('SET_SERVER_ERROR', exception);\n });\n },\n async getProjectGoalsAsync({ commit }) {\n await api.get('/projectlookup/projectgoal').then(\n (response) => {\n commit('SET_PROJECT_GOALS', response.data);\n },\n ).catch((exception) => {\n console.error(exception);\n commit('SET_SERVER_ERROR', exception);\n });\n },\n async getProjectGoalSelectionsAsync({ commit }, projectId) {\n await api.get(`/projectlookup/projectgoalselection/${projectId}`).then(\n (response) => {\n commit('SET_PROJECT_GOAL_SELECTIONS', response.data);\n },\n ).catch((exception) => {\n console.error(exception);\n commit('SET_SERVER_ERROR', exception);\n });\n },\n async getProjectObjectivesAsync({ commit }) {\n await api.get('/projectlookup/projectobjective').then(\n (response) => {\n commit('SET_PROJECT_OBJECTIVES', response.data);\n },\n ).catch((exception) => {\n console.error(exception);\n commit('SET_SERVER_ERROR', exception);\n });\n },\n async getProjectObjectiveAccomplishmentTargetSelectionsAsync({ commit }, projectId) {\n await api.get(`/projectlookup/projectobjectiveaccomplishmenttargetselection/${projectId}`).then(\n (response) => {\n commit('SET_PROJECT_OBJECTIVE_ACCOMPLISHMENT_TARGET_SELECTIONS', response.data);\n },\n ).catch((exception) => {\n console.error(exception);\n commit('SET_SERVER_ERROR', exception);\n });\n },\n async getProjectObjectiveSelectionsAsync({ commit }, projectId) {\n await api.get(`/projectlookup/projectobjectiveselection/${projectId}`).then(\n (response) => {\n commit('SET_PROJECT_OBJECTIVE_SELECTIONS', response.data);\n },\n ).catch((exception) => {\n console.error(exception);\n commit('SET_SERVER_ERROR', exception);\n });\n },\n async setProjectAccomplishmentTargetMonitoringEvent({ commit }, model) {\n await api.post(`/projectlookup/projectAccomplishmentTargetMonitoringEvent/${model.projectId}`, model).catch(\n (exception) => {\n console.error(exception);\n commit('SET_SERVER_ERROR', exception);\n },\n );\n },\n async setProjectGoalSelectionsAsync({ commit }, params) {\n await api.post(`/projectlookup/projectGoalSelection/${params.projectId}`, params.selections).catch(\n (exception) => {\n console.error(exception);\n commit('SET_SERVER_ERROR', exception);\n },\n );\n commit('SET_PROJECT_GOAL_SELECTIONS', params.selections);\n },\n async setProjectObjectiveAccomplishmentTargetSelectionAsync({ commit }, params) {\n await api.post(`/projectlookup/projectObjectiveAccomplishmentTargetSelection/${params.projectId}`, params.selections).catch(\n (exception) => {\n console.error(exception);\n commit('SET_SERVER_ERROR', exception);\n },\n );\n commit('SET_PROJECT_OBJECTIVE_ACCOMPLISHMENT_TARGET_SELECTIONS', params.selections);\n },\n async setProjectObjectiveSelectionsAsync({ commit }, params) {\n await api.post(`/projectlookup/projectObjectiveSelection/${params.projectId}`, params.selections).catch(\n (exception) => {\n console.error(exception);\n commit('SET_SERVER_ERROR', exception);\n },\n );\n commit('SET_PROJECT_OBJECTIVE_SELECTIONS', params.selections);\n },\n async deleteProjectAccomplishmentTargetMonitoringEvent({ commit }, id) {\n await api.delete(`/projectlookup/projectAccomplishmentTargetMonitoringEvent/${id}`).catch(\n (exception) => {\n console.error(exception);\n commit('SET_SERVER_ERROR', exception);\n },\n );\n },\n async getProjectPractices({ commit }, projectId) {\n await api.get(`/projectpractice/project/${projectId}`).then((response) => {\n if (response.status === 200) {\n commit('SET_SUCCESS_MESSAGE', 'Project practices were successfully read.');\n }\n commit('SET_PROJECT_LOADING', false);\n return commit('SET_PROJECT_PRACTICES', response.data);\n }).catch((exception) => {\n console.error(exception);\n commit('SET_SERVER_ERROR', exception);\n });\n },\n async postProjectPractice({ commit }, projectPractice) {\n await api.post('/projectpractice', projectPractice).catch((exception) => {\n console.error(exception);\n commit('SET_SERVER_ERROR', exception);\n });\n },\n async putProjectPractice({ commit }, projectPractice) {\n await api.put('/projectpractice', projectPractice).catch((exception) => {\n console.error(exception);\n commit('SET_SERVER_ERROR', exception);\n });\n },\n async deleteProjectPractice({ commit }, id) {\n await api.delete(`/projectpractice/${id}`).catch((exception) => {\n console.error(exception);\n commit('SET_SERVER_ERROR', exception);\n });\n },\n async getPractices({ commit }) {\n return api.get('/practice').then(\n (response) => commit('SET_PRACTICES', response.data),\n ).catch(() => {\n console.error('No practices found');\n return null;\n });\n },\n async getPracticeComponents({ commit }) {\n return api.get('/practicecomponent').then(\n (response) => commit('SET_PRACTICE_COMPONENTS', response.data),\n ).catch(() => {\n console.error('No practice components found');\n return null;\n });\n },\n async getTargetSeasons({ commit }) {\n return api.get('/managementPlan/targetSeasons').then(\n (response) => commit('SET_TARGET_SEASONS', response.data),\n ).catch(() => {\n console.error('No target seasons found');\n return null;\n });\n },\n async getIncentiveTypes({ commit }) {\n await api.get('/projectlookup/incentivetype').then(\n (response) => {\n commit('SET_INCENTIVE_TYPES', response.data);\n },\n ).catch((exception) => {\n console.error(exception);\n commit('SET_SERVER_ERROR', exception);\n });\n },\n async getProjectIncentivePayments({ commit }, projectId) {\n await api.get(`/projectincentivepayment/project/${projectId}`).then(\n (response) => {\n commit('SET_PROJECT_INCENTIVE_PAYMENTS', response.data);\n },\n ).catch((exception) => {\n console.error(exception);\n commit('SET_SERVER_ERROR', exception);\n });\n },\n async postProjectIncentivePayment({ commit }, projectIncentivePayment) {\n await api.post('/projectincentivepayment', projectIncentivePayment).catch((exception) => {\n console.error(exception);\n commit('SET_SERVER_ERROR', exception);\n });\n },\n async putProjectIncentivePayment({ commit }, projectIncentivePayment) {\n await api.put('/projectincentivepayment', projectIncentivePayment).catch((exception) => {\n console.error(exception);\n commit('SET_SERVER_ERROR', exception);\n });\n },\n async deleteProjectIncentivePayment({ commit }, id) {\n await api.delete(`/projectincentivepayment/${id}`).catch((exception) => {\n console.error(exception);\n commit('SET_SERVER_ERROR', exception);\n });\n },\n async getProjectConcept({ commit }, projectId) {\n return api.get(`/projectconcept/${projectId}`).then(\n (response) => commit('SET_PROJECT_CONCEPT', response.data),\n ).catch((exception) => {\n console.error(exception);\n commit('SET_SERVER_ERROR', exception);\n });\n },\n async postProjectConcept({ commit }, projectConcept) {\n await api.post('/projectConcept', projectConcept).catch((exception) => {\n console.error(exception);\n commit('SET_SERVER_ERROR', exception);\n });\n },\n async putProjectConcept({ commit }, projectConcept) {\n await api.put('/projectConcept', projectConcept).catch((exception) => {\n console.error(exception);\n commit('SET_SERVER_ERROR', exception);\n });\n },\n async getFundsPerFiscalYear({ commit, state }, fiscalYear) {\n if (state.fundsPerFiscalYear.year !== fiscalYear || state.fundsPerFiscalYear.funds.length === 0) {\n return api.get(`/project/fundsPerFiscalYear/${fiscalYear}`).then(\n (response) => commit('SET_FUNDS_PER_FISCAL_YEAR', { year: fiscalYear, funds: response.data }),\n ).catch((exception) => {\n console.error(exception);\n commit('SET_SERVER_ERROR', exception);\n });\n }\n return state.fundsPerFiscalYear;\n },\n async getFundingSourceEncumberedFunds({ commit }, fiscalYear) {\n return api.get(`/fundingSourceEncumberedFunds/fiscalYear/${fiscalYear}`).then(\n (response) => commit('SET_FUNDING_SOURCE_ENCUMBERED_FUNDS', response.data),\n ).catch((exception) => {\n console.error(exception);\n commit('SET_SERVER_ERROR', exception);\n });\n },\n async getEncumberedFundsOnApprovedBudgets({ commit }, fiscalYear) {\n return api.get(`/fundingSourceEncumberedFunds/fiscalYearApprovedBudgets/${fiscalYear}`).then(\n (response) => commit('SET_ENCUMBERED_FUNDS_APPROVED_BUDGETS', response.data),\n ).catch((exception) => {\n console.error(exception);\n commit('SET_SERVER_ERROR', exception);\n });\n },\n async getFundingSourceExpendedFunds({ commit }, fiscalYear) {\n return api.get(`/fundingSourceExpendedFunds/fiscalYear/${fiscalYear}`).then(\n (response) => commit('SET_FUNDING_SOURCE_EXPENDED_FUNDS', response.data),\n ).catch((exception) => {\n console.error(exception);\n commit('SET_SERVER_ERROR', exception);\n });\n },\n async getProjectWorkorders({ commit }, projectId) {\n return api.get(`/workorder/project/${projectId}`).then(\n (response) => {\n // const data = response.data;\n const projectWorkorders = response.data.map((item) => {\n const projectWorkorder = { ...item };\n projectWorkorder.flgUpdating = false;\n return projectWorkorder;\n });\n return commit('SET_PROJECT_WORKORDERS', projectWorkorders);\n },\n ).catch((exception) => {\n console.error(exception);\n commit('SET_SERVER_ERROR', exception);\n });\n },\n async getProjectWorkorderBills({ commit }, ids) {\n const params = ids.map((id) => `ids=${id}`).join('&');\n return api.get(`/workorderbill/workorder?${params}`).then((response) => {\n const data = response.data.sort((a, b) => b.receivedDate.localeCompare(a.receivedDate));\n let projectWorkOrderBills = [];\n projectWorkOrderBills = projectWorkOrderBills.concat(\n data.filter((e) => e.status === 'Received'),\n );\n projectWorkOrderBills = projectWorkOrderBills.concat(\n data.filter((e) => e.status === 'Submitted for Approval'),\n );\n projectWorkOrderBills = projectWorkOrderBills.concat(\n data.filter((e) => e.status === 'Submitted for Payment'),\n );\n projectWorkOrderBills = projectWorkOrderBills.concat(\n data.filter((e) => e.status === 'Approved for Payment'),\n );\n projectWorkOrderBills = projectWorkOrderBills.concat(\n data.filter((e) => e.status === 'Paid'),\n );\n projectWorkOrderBills = projectWorkOrderBills.concat(\n data.filter((e) => e.status === 'Void'),\n );\n commit('SET_PROJECT_WORKORDER_BILLS', projectWorkOrderBills);\n }).catch((exception) => {\n console.error(exception);\n commit('SET_SERVER_ERROR', exception);\n });\n },\n async postProjectWorkorderBill({ commit }, bill) {\n await api.post('/workorderbill', bill).then(\n (response) => commit('SET_PROJECT_WORKORDER_BILL', response.data),\n ).catch((exception) => {\n console.error(exception);\n commit('SET_SERVER_ERROR', exception);\n });\n },\n async putProjectWorkorderBill({ commit }, bill) {\n await api.put('/workorderbill', bill).catch((exception) => {\n console.error(exception);\n commit('SET_SERVER_ERROR', exception);\n });\n },\n async putProjectWorkorderBillStatus({ commit }, params) {\n await api.put(`/workorderbill/${params.id}/status/${params.status}`).catch((exception) => {\n console.error(exception);\n commit('SET_SERVER_ERROR', exception);\n });\n },\n async postProjectWorkorderBillLineItems({ commit }, params) {\n while (params.workOrderBillLineItems && params.workOrderBillLineItems.length > 0) {\n\n const lineItem = params.workOrderBillLineItems.pop();\n\n const lineItemModel = {\n id: lineItem.id,\n workOrderBillId: params.workOrderBillId,\n workOrderLineItemId: lineItem.workOrderLineItemId,\n fundingSourceId: lineItem.fundingSourceId,\n quantity: Number(lineItem.quantity),\n salePrice: Number(lineItem.salePrice),\n billingComplete: lineItem.billingComplete,\n };\n\n await api.post(\n '/workorderbilllineitem',\n lineItemModel,\n ).catch((exception) => {\n console.error(exception);\n commit('SET_SERVER_ERROR', exception);\n });\n }\n },\n async postProjectWorkorderBillIncentivePayments({ commit }, params) {\n while (params.workOrderBillIncentives && params.workOrderBillIncentives.length > 0) {\n\n const incentivePayment = params.workOrderBillIncentives.pop();\n\n const incentivePaymentModel = {\n id: null,\n workOrderBillId: params.workOrderBillId,\n workOrderIncentivePaymentId: incentivePayment.id,\n fundingSourceId: incentivePayment.fundingSourceId,\n amountBilled: Number(incentivePayment.amountBilled),\n };\n\n await api.post(\n '/workorderbillincentivepayment',\n incentivePaymentModel,\n ).catch((exception) => {\n console.error(exception);\n commit('SET_SERVER_ERROR', exception);\n });\n }\n },\n async putProjectWorkorderBillLineItems({ commit }, lineItems) {\n while (lineItems && lineItems.length > 0) {\n\n const lineItem = lineItems.pop();\n\n const lineItemModel = {\n id: lineItem.id,\n workOrderBillId: lineItem.workOrderBillId,\n workOrderLineItemId: lineItem.workOrderLineItemId,\n fundingSourceId: lineItem.fundingSourceId,\n quantity: Number(lineItem.quantity),\n salePrice: Number(lineItem.salePrice),\n billingComplete: lineItem.billingComplete,\n };\n\n await api.put(\n '/workorderbilllineitem',\n lineItemModel,\n ).catch((exception) => {\n console.error(exception);\n commit('SET_SERVER_ERROR', exception);\n });\n }\n },\n async putProjectWorkorderBillIncentivePayments({ commit }, incentivePayments) {\n while (incentivePayments && incentivePayments.length > 0) {\n const incentivePayment = incentivePayments.pop();\n\n const incentivePaymentModel = {\n id: incentivePayment.id,\n workOrderBillId: incentivePayment.workOrderBillId,\n workOrderIncentivePaymentId: incentivePayment.workOrderIncentivePaymentId,\n fundingSourceId: incentivePayment.fundingSourceId,\n amountBilled: Number(incentivePayment.amountBilled),\n };\n\n await api.put(\n '/workorderbillincentivepayment',\n incentivePaymentModel,\n ).catch((exception) => {\n console.error(exception);\n commit('SET_SERVER_ERROR', exception);\n });\n }\n },\n async getProjectWorkorderLineItemFundingSources({ commit }, ids) {\n const params = ids.map((id) => `ids=${id}`).join('&');\n await api.get(`/workorderlineitemfundingsource/workorder?${params}`).then(async (response) => {\n commit('SET_PROJECT_WORKORDER_LINEITEM_FUNDINGSOURCES', response.data);\n }).catch((exception) => {\n console.error(exception);\n commit('SET_SERVER_ERROR', exception);\n });\n },\n async getProjectBudgetYearSnapshots({ commit }, projectId) {\n await api.get(`/project/${projectId}/budgetYearSnapshots`).then(\n (response) => commit('SET_PROJECT_BUDGET_YEAR_SNAPSHOTS', response.data),\n ).catch((error) => {\n console.error(error);\n commit('SET_SERVER_ERROR', error);\n });\n },\n async getProjectsPendingApproval({ commit }) {\n await api.get('/project/projectsPendingApproval').then(\n async (response) => commit('SET_PROJECTS_PENDING_APPROVAL', response.data),\n ).catch((error) => {\n console.error(error);\n commit('SET_SERVER_ERROR', error);\n });\n },\n async getMyActiveProjects({ commit }) {\n await api.get('/project/myActiveProjects').then(\n async (response) => commit('SET_MY_ACTIVE_PROJECTS', response.data),\n ).catch((error) => {\n console.error(error);\n commit('SET_SERVER_ERROR', error);\n });\n },\n replaceProjectWorkorder({ commit }, workorder) {\n commit('REPLACE_PROJECT_WORKORDER', workorder);\n },\n setPlanDetailsLoading({ commit }, planDetailsLoading) {\n commit('SET_PLAN_DETAILS_LOADING', planDetailsLoading);\n },\n};\n\nexport const mutations = {\n SET_DASHBOARD_DATA(state, data) {\n state.dashboardData = data;\n },\n SET_DASHBOARD_LOADING(state, dataLoading) {\n state.dashboardLoading = dataLoading;\n },\n SET_PENDING_BUDGETS(state, data) {\n state.pendingBudgets = data;\n },\n SET_FUNDING_SOURCES_LOADING(state, fundingSourcesLoading) {\n state.fundingSourcesLoading = fundingSourcesLoading;\n },\n SET_PROJECT(state, project) {\n state.project = project;\n },\n SET_PROJECT_LOADING(state, projectLoading) {\n state.projectLoading = projectLoading;\n },\n SET_PROJECT_GEOMETRY(state, projectGeometry) {\n state.projectGeometry = projectGeometry;\n },\n SET_PROJECT_SITES(state, projectSites) {\n if (!projectSites) {\n state.projectSites = projectSites;\n } else {\n state.projectSites = projectSites\n .sort((a, b) => a.relatedSite.siteName.localeCompare(b.relatedSite.siteName));\n }\n },\n SET_PROJECT_SITES_LOADING(state, projectSitesLoading) {\n state.projectSitesLoading = projectSitesLoading;\n },\n SET_PLAN_DETAILS(state, planDetails) {\n state.currentPlanDetails = planDetails;\n state.currentPlanDetails.category = state.project.category;\n },\n SET_PROJECT_BUDGET(state, projectBudget) {\n state.projectBudget = projectBudget;\n state.projectBudget.projectBudgetYears = state.projectBudget\n .projectBudgetYears.sort((a, b) => a.year - b.year);\n },\n SET_PROJECT_BUDGET_SUMMARY_DATA_LOADED(state, dataLoaded) {\n state.projectBudgetSummaryDataLoaded = dataLoaded;\n },\n SET_PROJECT_BUDGET_YEAR_SNAPSHOTS(state, projectBudgetYearSnapshots) {\n state.projectBudgetYearSnapshots = projectBudgetYearSnapshots;\n },\n SET_EXISTING_BUDGET_LINE_ITEM(state, lineItem) {\n const year = state.projectBudget\n .projectBudgetYears.find((pby) => pby.id === lineItem.projectBudgetYearId);\n year.projectBudgetLineItems = year.projectBudgetLineItems.filter((li) => li.id !== lineItem.id);\n year.projectBudgetLineItems.push(lineItem);\n },\n SET_PROJECT_BUDGET_LINE_ITEM(state, lineItem) {\n const year = state.projectBudget\n .projectBudgetYears.find((pby) => pby.id === lineItem.projectBudgetYearId);\n year.projectBudgetLineItems.push(lineItem);\n },\n SET_PROJECT_BUDGET_YEAR_CONTINGENCY(state, year) {\n const selectedYear = state.projectBudget\n .projectBudgetYears.find((pby) => pby.id === year.id);\n selectedYear.contingencyPercent = year.contingencyPercent;\n },\n DELETE_PROJECT_BUDGET_LINE_ITEM(state, lineItem) {\n const year = state.projectBudget\n .projectBudgetYears.find((pby) => pby.id === lineItem.projectBudgetYearId);\n year.projectBudgetLineItems\n .splice(year.projectBudgetLineItems.indexOf(lineItem), 1);\n },\n SET_PRICELISTS(state, priceLists) {\n state.priceLists = priceLists;\n },\n SET_FUNDING_SOURCES(state, fundingSources) {\n state.fundingSources = fundingSources.filter(\n (fs) => {\n const active = fs.customfields.find((cf) => cf.fielD_NAME === 'ACTIVE__c');\n if (!active) {\n return false;\n }\n return active.fielD_VALUE === true;\n },\n );\n },\n SET_FUNDS_PER_FISCAL_YEAR(state, fundsPerFiscalYear) {\n state.fundsPerFiscalYear = fundsPerFiscalYear;\n },\n SET_PRODUCTS(state, products) {\n state.products = products;\n },\n SET_CURRENT_PRICE_LISTS(state, priceLists) {\n state.currentPriceLists = priceLists.map(\n ({ priceList, entry }) => ({ ...priceList, entry }),\n );\n },\n SET_ANNUAL_HISTORY_IS_LOADING(state, id) {\n Vue.set(state.loadingAnnualBudgetHistoryItems, id, true);\n },\n SET_ANNUAL_HISTORY_NOT_LOADING(state, id) {\n Vue.set(state.loadingAnnualBudgetHistoryItems, id, false);\n },\n SET_ANNUAL_HISTORY_ITEMS(state, { id, historyItems }) {\n Vue.set(state.annualBudgetHistoryItems, id, historyItems);\n },\n SET_CURRENT_PRICE_LISTS_LOADING(state, value) {\n state.currentPriceListsLoading = value;\n },\n SET_SUCCESS_MESSAGE(state, successMessage) {\n state.successMessage = successMessage;\n },\n SET_ERROR_MESSAGE(state, errorMessage) {\n state.errorMessage = errorMessage;\n },\n SET_DECREASE_SUCCESS_MESSAGE(state, successMessage) {\n state.decreaseSuccessMessage = successMessage;\n },\n SET_DECREASE_ERROR_MESSAGE(state, errorMessage) {\n state.decreaseErrorMessage = errorMessage;\n },\n SET_SERVER_ERROR(state, serverError) {\n state.serverError = serverError;\n },\n ADD_SITE_CONTACTS_LOADING(state, siteId) {\n state.siteContactsLoading.push(siteId);\n },\n REMOVE_SITE_CONTACTS_LOADING(state, siteId) {\n const index = state.siteContactsLoading.indexOf(siteId);\n if (index > -1) {\n state.siteContactsLoading.splice(index, 1);\n }\n },\n CLEAR_PROJECT_CONTACTS(state) {\n state.projectContacts = [];\n },\n ADD_PROJECT_CONTACTS(state, siteContacts) {\n state.projectContacts.push(siteContacts);\n },\n ADD_SITE_ORGANIZATIONS_LOADING(state, siteId) {\n state.siteOrganizationsLoading.push(siteId);\n },\n REMOVE_SITE_ORGANIZATIONS_LOADING(state, siteId) {\n const index = state.siteOrganizationsLoading.indexOf(siteId);\n if (index > -1) {\n state.siteOrganizationsLoading.splice(index, 1);\n }\n },\n CLEAR_PROJECT_ORGANIZATIONS(state) {\n state.projectOrganizationations = [];\n },\n ADD_PROJECT_ORGANIZATIONS(state, siteOrganizations) {\n state.projectOrganizations.push(siteOrganizations);\n },\n SET_PROJECT_RESOURCE_PRIORITIES(state, data) {\n state.projectResourcePriorities = data;\n },\n SET_PROJECT_ACCOMPLISHMENT_TARGET_MONITORING_EVENTS(state, data) {\n state.projectAccomplishmentTargetMonitoringEvents = data;\n },\n SET_PROJECT_ACCOMPLISHMENT_TARGET_MONITORING_EVENT_EVALUATION_METHODS(state, data) {\n state.projectAccomplishmentTargetMonitoringEventEvaluationMethods = data;\n },\n SET_PROJECT_GOALS(state, data) {\n state.projectGoals = data;\n },\n SET_PROJECT_GOAL_SELECTIONS(state, data) {\n state.projectGoalSelections = data;\n },\n SET_PROJECT_OBJECTIVE_ACCOMPLISHMENT_TARGET_SELECTIONS(state, data) {\n state.projectObjectiveAccomplishmentTargetSelections = data;\n },\n SET_PROJECT_OBJECTIVES(state, data) {\n state.projectObjectives = data;\n },\n SET_PROJECT_OBJECTIVE_SELECTIONS(state, data) {\n state.projectObjectiveSelections = data;\n },\n SET_PROJECT_PRACTICES(state, data) {\n state.projectPractices = data;\n },\n SET_PRACTICES(state, practices) {\n state.practices = practices;\n },\n SET_PRACTICE_COMPONENTS(state, practiceComponents) {\n state.practiceComponents = practiceComponents;\n },\n SET_TARGET_SEASONS(state, targetSeasons) {\n state.targetSeasons = targetSeasons;\n },\n SET_INCENTIVE_TYPES(state, data) {\n state.incentiveTypes = data;\n },\n SET_PROJECT_INCENTIVE_PAYMENTS(state, data) {\n state.projectIncentivePayments = data;\n },\n SET_PROJECT_CONCEPT(state, data) {\n state.projectConcept = data;\n },\n SET_FUNDING_SOURCE_ENCUMBERED_FUNDS(state, data) {\n state.fundingSourceEncumberedFunds = data;\n },\n SET_FUNDING_SOURCE_EXPENDED_FUNDS(state, data) {\n state.fundingSourceExpendedFunds = data;\n },\n SET_ENCUMBERED_FUNDS_APPROVED_BUDGETS(state, data) {\n state.encumberedFundsForApprovedBudgets = data;\n },\n SET_PROJECT_SNAPSHOT(state, data) {\n state.projectSnapshot = data;\n },\n SET_PROJECT_SNAPSHOTS(state, data) {\n state.projectSnapshots = data;\n },\n SET_PROJECT_DRAFT_SNAPSHOT(state, data) {\n state.projectSnapshotDraft = data;\n },\n SET_PROJECT_DRAFT_SNAPSHOT_LOADING(state, projectSnapshotDraftLoading) {\n state.projectSnapshotDraftLoading = projectSnapshotDraftLoading;\n },\n SET_CANCELLED_COMPLETED_PROJECT_SNAPSHOTS(state, data) {\n state.cancelledCompletedProjectSnapshots = data;\n },\n SET_PROJECT_FISCALYEAR_SNAPSHOTS(state, data) {\n state.projectFiscalYearSnapshots = data;\n },\n SET_CURRENT_PROJECT_SNAPSHOTS(state, data) {\n state.currentProjectSnapshots = data;\n },\n SET_PROJECT_WORKORDERS(state, data) {\n state.projectWorkorders = data;\n },\n SET_PROJECT_WORKORDER_BILL(state, data) {\n state.projectWorkorderBill = data;\n },\n SET_PROJECT_WORKORDER_BILLS(state, data) {\n state.projectWorkorderBills = data;\n },\n SET_PROJECT_WORKORDER_LINEITEM_FUNDINGSOURCES(state, data) {\n state.projectWorkorderLineItemFundingSources = data;\n },\n SET_HAS_OPEN_WORK_ORDERS(state, data) {\n state.hasOpenWorkOrders = data;\n },\n SET_HAS_OPEN_WORK_ORDER_BILLS(state, data) {\n state.hasOpenWorkOrderBills = data;\n },\n SET_PROJECTS_PENDING_APPROVAL(state, data) {\n state.projectsPendingApproval = data;\n },\n SET_MY_ACTIVE_PROJECTS(state, data) {\n state.myActiveProjects = data;\n },\n REPLACE_PROJECT_WORKORDER(state, data) {\n const workorderOld = state.projectWorkorders.find((e) => e.id === data.id);\n if (workorderOld && workorderOld !== null) {\n const index = state.projectWorkorders.indexOf(workorderOld);\n state.projectWorkorders[index] = data;\n } else {\n state.projectWorkorder.push(data);\n }\n },\n SET_PLAN_DETAILS_LOADING(state, planDetailsLoading) {\n state.planDetailsLoading = planDetailsLoading;\n },\n};\n\nexport const getters = {\n fundingSourceMap: (state) => {\n if (!state.projectWorkorders || !state.projectIncentivePayments) {\n return new Map();\n }\n const workOrderLineItems = state.projectWorkorders\n .map((e) => e.workOrderLineItems)\n .flat();\n const fundingSourceIds = workOrderLineItems.map((e) => e.fundingSourceId);\n\n const incentiveFundingSourceIds = state.projectIncentivePayments.map((e) => e.fundingSourceId);\n\n const allFundingSourceIds = fundingSourceIds.concat(incentiveFundingSourceIds);\n\n return new Map(state.fundingSources\n .filter((e) => allFundingSourceIds.includes(e.recorD_ID))\n .map((key) => [key.recorD_ID.toString(), key.recorD_NAME]));\n },\n paidWorkorderBillLineItems: (state, localGetters, rootState) => {\n if (!state.projectWorkorderBills) {\n return [];\n }\n return state.projectWorkorderBills\n .filter((e) => e.status === rootState.config.workOrderBillForm.submitStatus.Paid)\n .map((e) => e.workOrderBillLineItems)\n .flat()\n .map((e) => ({ fundingSourceId: e.fundingSourceId, itemCost: e.itemCost }));\n },\n};\n","/* eslint-disable max-len, padded-blocks */\n/* eslint no-shadow: [\"error\", { \"allow\": [\"state\"] }] */\nimport api from '@/api';\n\nexport const namespaced = true;\n\nexport const state = {\n memberOf: [],\n};\n\nexport const actions = {\n fetchMemberOf({ commit, state }) {\n if (state.memberOf.length < 1) {\n return api.get(\n '/membership/me',\n ).then((response) => {\n commit('SET_MEMBER_OF', response.data);\n });\n }\n return commit('SET_MEMBER_OF', state.memberOf);\n },\n};\n\nexport const mutations = {\n SET_MEMBER_OF(state, memberOf) {\n state.memberOf = memberOf;\n },\n};\n","/* eslint-disable max-len, no-await-in-loop, no-new, no-unused-vars, padded-blocks */\n/* eslint no-shadow: [\"error\", { \"allow\": [\"state\"] }] */\nimport api from '@/api';\n\nexport const namespaced = true;\n\nexport const state = {\n workorderBillsPendingApproval: [],\n workorderBillsApprovedForPayment: [],\n loadingBills: false,\n downloadingBills: false,\n updatingBills: false,\n serverError: '',\n};\n\nexport const actions = {\n async getWorkorderBillsPendingApproval({ commit }) {\n await api.get('/workorderbill/pendingapproval').then(async (response) => {\n commit('SET_WORKORDER_BILLS_PENDING_APPROVAL', response.data);\n }).catch((exception) => {\n console.error(exception);\n commit('SET_SERVER_ERROR', exception);\n });\n },\n async getWorkorderBillsApprovedForPayment({ commit }) {\n commit('SET_SERVER_ERROR', '');\n commit('SET_LOADING_BILLS', true);\n api.get('/workorderbill/approvedForPayment').then(async (response) => {\n commit('SET_WORKORDER_BILLS_APPROVED_FOR_PAYMENT', response.data);\n }).catch((exception) => {\n console.error(exception);\n commit('SET_SERVER_ERROR', exception);\n }).finally(() => {\n commit('SET_LOADING_BILLS', false);\n });\n },\n async markBillsAsPaid({ commit, dispatch }, ids) {\n commit('SET_UPDATING_BILLS', true);\n api.put('/workorderbill/paidbills', ids).then(async (response) => {\n dispatch('getWorkorderBillsApprovedForPayment');\n })\n .catch((exception) => commit('SET_SERVER_ERROR', exception))\n .finally(() => commit('SET_UPDATING_BILLS', false));\n },\n async downloadBills({ commit, dispatch }, ids) {\n commit('SET_DOWNLOADING_BILLS', true);\n api.put('/workorderbill/approvedbillsfile', ids, { responseType: 'blob' })\n .then((response) => {\n const url = window.URL.createObjectURL(new Blob([response.data]));\n const link = document.createElement('a');\n link.href = url;\n link.setAttribute('download', 'bills.xlsx');\n document.body.appendChild(link);\n link.click();\n })\n .catch((exception) => commit('SET_SERVER_ERROR', exception))\n .finally(() => commit('SET_DOWNLOADING_BILLS', false));\n },\n};\n\nexport const mutations = {\n SET_WORKORDER_BILLS_PENDING_APPROVAL(state, data) {\n state.workorderBillsPendingApproval = data;\n },\n SET_SERVER_ERROR(state, data) {\n state.serverError = data;\n },\n SET_DOWNLOADING_BILLS(state, data) {\n state.downloadingBills = data;\n },\n SET_LOADING_BILLS(state, data) {\n state.loadingBills = data;\n },\n SET_UPDATING_BILLS(state, data) {\n state.updatingBills = data;\n },\n SET_WORKORDER_BILLS_APPROVED_FOR_PAYMENT(state, data) {\n state.workorderBillsApprovedForPayment = data;\n },\n};\n\nexport const getters = {\n approvedWorkOrderBills: (state) => state.workorderBillsApprovedForPayment.map((bill) => {\n let vendorName = '';\n if (bill.workOrder && bill.workOrder.vendorContact && bill.workOrder.vendorContact != null) {\n vendorName = `${bill.workOrder.vendorContact.firstName} ${bill.workOrder.vendorContact.lastName}`;\n } else if (bill.workOrder.vendorOrganization && bill.workOrder.vendorOrganization != null) {\n vendorName = bill.workOrder.vendorOrganization.name;\n }\n return {\n id: bill.id,\n invoiceNumber: bill.billIdentifier,\n projectName: bill.project.projectName,\n projectId: bill.project.projectId,\n projectManager: bill.projectManager ? `${bill.projectManager.firstName} ${bill.projectManager.lastName}` : '',\n projectManagerEmail: bill.projectManager ? bill.projectManager.emailAddress : '',\n workOrderNumber: bill.workOrder ? bill.workOrder.workOrderNumber : null,\n workOrderId: bill.workOrder ? bill.workOrder.id : null,\n vendor: vendorName,\n receivedDate: bill.receivedDate,\n };\n }),\n};\n","/* eslint-disable max-len, no-await-in-loop, no-new, no-unused-vars, padded-blocks */\n/* eslint no-shadow: [\"error\", { \"allow\": [\"state\"] }] */\nimport api from '@/api';\n\nexport const namespaced = true;\n\nexport const state = {\n contactBriefs: [],\n serverError: null,\n};\n\nexport const actions = {\n async getContactBriefs({ commit }) {\n await api.get('/contact/briefs').then(async (response) => {\n commit('SET_CONTACT_BRIEFS', response.data);\n }).catch((exception) => {\n console.error(exception);\n commit('SET_CONTACT_BRIEFS', []);\n commit('SET_SERVER_ERROR', exception);\n });\n },\n};\n\nexport const mutations = {\n SET_CONTACT_BRIEFS(state, data) {\n state.contactBriefs = data;\n },\n SET_SERVER_ERROR(state, exception) {\n state.serverError = exception;\n },\n};\n","/* eslint-disable max-len, no-await-in-loop, no-new, no-unused-vars, padded-blocks */\n/* eslint no-shadow: [\"error\", { \"allow\": [\"state\"] }] */\nimport api from '@/api';\n\nexport const namespaced = true;\n\nexport const state = {\n organizationBriefs: [],\n serverError: null,\n};\n\nexport const actions = {\n async getOrganizationBriefs({ commit }) {\n await api.get('/organization/briefs').then(async (response) => {\n commit('SET_ORGANIZATION_BRIEFS', response.data);\n }).catch((exception) => {\n console.error(exception);\n commit('SET_ORGANIZATION_BRIEFS', []);\n commit('SET_SERVER_ERROR', exception);\n });\n },\n};\n\nexport const mutations = {\n SET_ORGANIZATION_BRIEFS(state, data) {\n state.organizationBriefs = data;\n },\n SET_SERVER_ERROR(state, exception) {\n state.serverError = exception;\n },\n};\n","/* eslint-disable max-len, no-await-in-loop, no-new, no-unused-vars, padded-blocks */\n/* eslint no-shadow: [\"error\", { \"allow\": [\"state\"] }] */\nimport api from '@/api';\n\nexport const namespaced = true;\n\nexport const state = {\n workorderOpportunityBriefs: [],\n};\n\nexport const actions = {\n async getWorkorderOpportunityBriefs({ commit }) {\n await api.get('/opportunity/workorderbriefs').then(async (response) => {\n commit('SET_WORKORDER_OPPORTUNITY_BRIEFS', response.data);\n }).catch((exception) => {\n console.error(exception);\n commit('SET_WORKORDER_OPPORTUNITY_BRIEFS', []);\n commit('SET_SERVER_ERROR', exception);\n });\n },\n};\n\nexport const mutations = {\n SET_WORKORDER_OPPORTUNITY_BRIEFS(state, data) {\n state.workorderOpportunityBriefs = data;\n },\n};\n","/* eslint-disable max-len, no-await-in-loop, no-new, no-unused-vars, padded-blocks */\n/* eslint no-shadow: [\"error\", { \"allow\": [\"state\"] }] */\nimport api from '@/api';\n\nexport const namespaced = true;\n\nexport const state = {\n budgetModel: null,\n budgetYear: null,\n formLoading: true,\n workorder: null,\n workorderAddModel: null,\n workorderEditModel: null,\n workorderLineItemAddModel: null,\n workorderIncentivePaymentAddModel: null,\n workorderLineItemAddedModel: null,\n workorderIncentivePaymentAddedModel: null,\n workorderLineItemEditModel: null,\n workorderLineItemEditedModel: null,\n workorderLineItemBillingCompleteModel: null,\n workorderIncentivePaymentBillingCompleteModel: null,\n errorMessage: null,\n};\n\nexport const actions = {\n async getWorkorder({ commit }, workorderId) {\n await api.get(\n `workorder/${workorderId}`,\n ).then((response) => {\n commit('SET_WORKORDER', response.data);\n }).catch((error) => {\n console.error(error);\n this.serverError = error;\n });\n },\n async postWorkorder({ commit }, workorder) {\n await api.post(\n 'workorder', workorder,\n ).then((response) => {\n commit('SET_WORKORDER', response.data);\n }).catch((error) => {\n console.error(error);\n this.serverError = error;\n });\n },\n async putWorkorder({ commit }, workorder) {\n await api.put(\n 'workorder', workorder,\n ).then(() => {}).catch((error) => {\n console.error(error);\n this.serverError = error;\n });\n },\n async postWorkorderLineItem({ commit }, workorderLineItem) {\n await api.post(\n `workorder/${workorderLineItem.workorderId}/lineitem`, workorderLineItem,\n ).then((response) => {\n commit('SET_WORKORDER_LINEITEM_ADDED_MODEL', response.data);\n }).catch((error) => {\n console.error(error);\n this.serverError = error;\n });\n },\n async postWorkorderIncentivePayment({ commit }, workorderIncentivePayment) {\n await api.post(\n `workorder/${workorderIncentivePayment.workorderId}/incentivepayment`, workorderIncentivePayment,\n ).then((response) => {\n commit('SET_WORKORDER_INCENTIVEPAYMENT_ADDED_MODEL', response.data);\n }).catch((error) => {\n console.error(error);\n this.serverError = error;\n });\n },\n async putWorkorderLineItem({ commit }, workorderLineItem) {\n await api.put(\n `workorder/${workorderLineItem.workorderId}/lineitem`, workorderLineItem,\n ).then((response) => {\n /* eslint-disable-next-line */\n response.data.workOrderLineItemIdOld = workorderLineItem.id;\n commit('SET_WORKORDER_LINEITEM_EDITED_MODEL', response.data);\n }).catch((error) => {\n console.error(error);\n this.serverError = error;\n });\n },\n async deleteWorkorderLineItem({ commit }, lineItem) {\n commit('SET_SUCCESS_MESSAGE', '');\n await api.delete(`/workorder/${lineItem.workOrderId}/lineItem/${lineItem.workOrderLineItemId}`).then(async () => {\n commit('SET_SUCCESS_MESSAGE', 'The work order line item was deleted.');\n }).catch((error) => commit('SET_ERROR_MESSAGE', error));\n },\n setBudgetModel({ commit }, budgetModel) {\n commit('SET_BUDGETMODEL', budgetModel);\n },\n setBudgetYear({ commit }, budgetYear) {\n commit('SET_BUDGETYEAR', budgetYear);\n },\n setWorkorderAddModel({ commit }, workorderAddModel) {\n commit('SET_WORKORDER_ADD_MODEL', workorderAddModel);\n },\n setWorkorderEditModel({ commit }, workorderEditModel) {\n commit('SET_WORKORDER_EDIT_MODEL', workorderEditModel);\n },\n setWorkorderLineItemAddModel({ commit }, workorderLineItemAddModel) {\n commit('SET_WORKORDER_LINEITEM_ADD_MODEL', workorderLineItemAddModel);\n },\n setWorkorderIncentivePaymentAddModel({ commit }, workorderIncentivePaymentAddModel) {\n commit('SET_WORKORDER_INCENTIVEPAYMENT_ADD_MODEL', workorderIncentivePaymentAddModel);\n },\n setWorkorderLineItemEditModel({ commit }, workorderLineItemEditModel) {\n commit('SET_WORKORDER_LINEITEM_EDIT_MODEL', workorderLineItemEditModel);\n },\n setFormLoading({ commit }, loading) {\n commit('SET_FORMLOADING', loading);\n },\n async setWorkorderStatus({ commit }, params) {\n commit('SET_ERROR_MESSAGE', null);\n await api.put(`/workorder/${params.id}/status/${params.status}`).then(async () => {\n }).catch((exception) => {\n console.error('Enter api.put /workorder/{id}/status/{status} catch()');\n console.error(exception);\n commit('SET_ERROR_MESSAGE', exception);\n console.error('Exit api.put /workorder/{id}/status/{status} catch()');\n });\n },\n async setWorkorderLineItemBillingComplete({ commit }, params) {\n commit('SET_ERROR_MESSAGE', null);\n\n await api.put(`/WorkOrder/${params.workOrderId}/WorkOrderLineItem/${params.workOrderLineItemId}/BillingComplete/${params.billingComplete}`).then(async (response) => {\n commit('SET_WORKORDER_LINEITEM_BILLINGCOMPLETE_MODEL', response.data);\n }).catch((exception) => {\n console.error('Enter api.put /WorkOrder/{workOrderId}/WorkOrderLineItem/{workOrderLineItemId}/BillingComplete/{billingComplete} catch()');\n\n console.error(exception);\n commit('SET_ERROR_MESSAGE', exception);\n\n console.error('Exit api.put /WorkOrder/{workOrderId}/WorkOrderLineItem/{workOrderLineItemId}/BillingComplete/{billingComplete} catch()');\n });\n },\n async setWorkorderIncentivePaymentBillingComplete({ commit }, params) {\n commit('SET_ERROR_MESSAGE', null);\n\n await api.put(`/WorkOrder/${params.projectIncentivePaymentId}/IncentivePayment/${params.workOrderIncentivePaymentId}/BillingComplete/${params.billingComplete}`).then(async (response) => {\n commit('SET_WORKORDER_INCENTIVEPAYMENT_BILLINGCOMPLETE_MODEL', response.data);\n }).catch((exception) => {\n console.error(exception);\n commit('SET_ERROR_MESSAGE', exception);\n });\n },\n};\n\nexport const mutations = {\n SET_BUDGETMODEL(state, data) {\n state.budgetModel = data;\n },\n SET_BUDGETYEAR(state, data) {\n state.budgetYear = data;\n },\n SET_ERROR_MESSAGE(state, errorMessage) {\n state.errorMessage = errorMessage;\n },\n SET_SUCCESS_MESSAGE(state, successMessage) {\n state.successMessage = successMessage;\n },\n SET_WORKORDER(state, data) {\n state.workorder = data;\n },\n SET_WORKORDER_ADD_MODEL(state, data) {\n state.workorderAddModel = data;\n },\n SET_WORKORDER_EDIT_MODEL(state, data) {\n state.workorderEditModel = data;\n },\n SET_WORKORDER_LINEITEM_ADD_MODEL(state, data) {\n state.workorderLineItemAddModel = data;\n },\n SET_WORKORDER_INCENTIVEPAYMENT_ADD_MODEL(state, data) {\n state.workorderIncentivePaymentAddModel = data;\n },\n SET_WORKORDER_LINEITEM_ADDED_MODEL(state, data) {\n state.workorderLineItemAddedModel = data;\n },\n SET_WORKORDER_INCENTIVEPAYMENT_ADDED_MODEL(state, data) {\n state.workorderIncentivePaymentAddedModel = data;\n },\n SET_WORKORDER_LINEITEM_EDIT_MODEL(state, data) {\n state.workorderLineItemEditModel = data;\n },\n SET_WORKORDER_LINEITEM_EDITED_MODEL(state, data) {\n state.workorderLineItemEditedModel = data;\n },\n SET_WORKORDER_LINEITEM_BILLINGCOMPLETE_MODEL(state, data) {\n state.workorderLineItemBillingCompleteModel = data;\n },\n SET_WORKORDER_INCENTIVEPAYMENT_BILLINGCOMPLETE_MODEL(state, data) {\n state.workorderIncentivePaymentBillingCompleteModel = data;\n },\n SET_FORMLOADING(state, data) {\n state.formLoading = data;\n },\n};\n","/* eslint-disable max-len, no-await-in-loop, no-new, no-unused-vars, padded-blocks */\n/* eslint no-shadow: [\"error\", { \"allow\": [\"state\"] }] */\nimport api from '@/api';\n\nexport const namespaced = true;\n\nexport const state = {\n errorMessage: null,\n pricelistEntries: null,\n};\n\nexport const actions = {\n async getPricelistEntries({ commit }, id) {\n await api.get(`/pricelist/${id}/pricelistentry`).then(async (response) => {\n commit('SET_PRICELISTENTRIES', response.data);\n }).catch((exception) => {\n console.error(exception);\n commit('SET_ERROR_MESSAGE', exception);\n });\n },\n};\n\nexport const mutations = {\n SET_ERROR_MESSAGE(state, errorMessage) {\n state.errorMessage = errorMessage;\n },\n SET_PRICELISTENTRIES(state, data) {\n state.pricelistEntries = data;\n },\n};\n","/* eslint-disable max-len, no-await-in-loop, no-new, no-unused-vars, padded-blocks */\n/* eslint no-shadow: [\"error\", { \"allow\": [\"state\"] }] */\nimport api from '@/api';\n\nexport const namespaced = true;\n\nexport const state = {\n errorMessage: null,\n product: null,\n};\n\nexport const actions = {\n async getProductAsync({ commit }, factors) {\n const response = await api.get(`/mathhelper/product?x=${factors.x}&y=${factors.y}`);\n return response.data;\n },\n async getSumAsync({ commit }, addends) {\n const response = await api.post('/mathhelper/sum', addends);\n return response.data;\n },\n};\n\nexport const mutations = {\n SET_PRODUCT(state, data) {\n state.product = data;\n },\n SET_ERROR_MESSAGE(state, errorMessage) {\n state.errorMessage = errorMessage;\n },\n};\n","import Vue from 'vue';\nimport Vuex from 'vuex';\nimport axios from 'axios';\nimport {\n Store, keys, set, get, del,\n} from 'idb-keyval';\nimport api from '@/api';\nimport * as ReturnTo from '@/store/modules/returnTo';\nimport * as SiteAssessment from '@/store/modules/siteAssessment';\nimport * as SiteVisit from '@/store/modules/siteVisit';\nimport * as User from '@/store/modules/user';\nimport * as SiteTaxlots from '@/store/modules/siteTaxlots';\nimport * as ManagementPlan from '@/store/modules/managementPlan';\nimport * as Project from '@/store/modules/project';\nimport * as Membership from '@/store/modules/membership';\nimport * as WorkorderBill from '@/store/modules/workorderBill';\nimport * as Contact from '@/store/modules/contact';\nimport * as Organization from '@/store/modules/organization';\nimport * as Opportunity from '@/store/modules/opportunity';\nimport * as Workorder from '@/store/modules/workorder';\nimport * as Pricelist from '@/store/modules/pricelist';\nimport * as MathHelper from '@/store/modules/mathHelper';\n\nVue.use(Vuex);\n\nexport default new Vuex.Store({\n state: {\n mySites: [],\n currentSite: null,\n config: {},\n configLoaded: false,\n version: null,\n showSidePanel: false,\n },\n getters: {\n isCurrentSiteDownloaded: (state) => {\n if (!state.currentSite) {\n return false;\n }\n return state.mySites.findIndex((site) => site.Id === state.currentSite.Id) >= 0;\n },\n getVersion: (state) => state.version,\n },\n mutations: {\n setCurrentSite(state, site) {\n state.currentSite = site;\n },\n setShowSidePanel(state, visibility) {\n state.showSidePanel = visibility;\n },\n addToMySites(state, site) {\n state.mySites.push(site);\n },\n clearMySites(state) {\n state.mySites = [];\n },\n removeFromMySites(state, site) {\n state.mySites = state.mySites.filter((s) => s.Id !== site.Id);\n },\n setConfiguration(state, config) {\n state.config = config;\n },\n setConfigLoaded(state) {\n state.configLoaded = true;\n },\n setVersion(state, version) {\n state.version = version;\n },\n },\n actions: {\n async fetchSiteAsync({ commit }, siteId) {\n const customStore = new Store('AcornDB', 'sites');\n if (!navigator.onLine) {\n // If the user is offline,\n // return the item from the custom store (which might not exist)\n /* eslint-disable-next-line */\n await get(siteId, customStore).then((site) => {\n return commit('setCurrentSite', site);\n });\n } else {\n // If the user is online,\n // return the item from the system-of-record\n // update the item in the custom store if it exists\n await api.get(`/site/${siteId}`).then(async (response) => {\n // Check and see if the site exists in the custom store\n await get(siteId, customStore).then((dbSite) => {\n if (dbSite && dbSite !== null && dbSite.Id && dbSite.Id === siteId) {\n set(siteId, response.data, customStore);\n }\n });\n return commit('setCurrentSite', response.data);\n });\n }\n },\n async getCurrentSite(context, siteId) {\n const customStore = new Store('AcornDB', 'sites');\n await get(siteId, customStore).then((val) => {\n context.commit('setCurrentSite', val);\n });\n },\n setCurrentSite(context, siteId) {\n context.commit('setCurrentSite', siteId);\n },\n setShowSidePanel(context, visibility) {\n context.commit('setShowSidePanel', visibility);\n },\n removeFromMySites(context, site) {\n const customStore = new Store('AcornDB', 'sites');\n del(site.Id, customStore);\n context.commit('removeFromMySites', site);\n },\n fetchMySites(context) {\n const customStore = new Store('AcornDB', 'sites');\n context.commit('clearMySites');\n keys(customStore).then((ids) => {\n console.log(ids);\n ids.forEach((key) => {\n get(key, customStore).then((val) => {\n context.commit('addToMySites', val);\n });\n });\n });\n },\n async fetchConfiguration({ commit, state }) {\n if (!state.configLoaded) {\n await axios.get('/config.json')\n .then((response) => {\n commit('setConfiguration', response.data);\n commit('setConfigLoaded');\n });\n }\n },\n async fetchVersion({ commit }) {\n await axios.get('/api/version').then((response) => {\n commit('setVersion', response.data);\n });\n },\n },\n modules: {\n ReturnTo,\n SiteAssessment,\n SiteVisit,\n User,\n SiteTaxlots,\n ManagementPlan,\n Project,\n Membership,\n WorkorderBill,\n Contact,\n Organization,\n Opportunity,\n Workorder,\n Pricelist,\n MathHelper,\n },\n});\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"view-contents\"},[_vm._m(0),_c('b-alert',{attrs:{\"show\":_vm.dismissCountDown,\"dismissible\":\"\",\"variant\":\"success\"},on:{\"dismissed\":function($event){_vm.dismissCountDown=0},\"dismiss-count-down\":_vm.countDownChanged}},[_vm._v(\" Site has been removed \")]),_c('ul',_vm._l((_vm.mySites),function(site){return _c('li',{key:site.id},[_c('router-link',{attrs:{\"to\":{ name: 'Site', params: { id: site.Id } }}},[_vm._v(\" \"+_vm._s(site.RecordName)+\" \")]),_c('b-button',{attrs:{\"size\":\"sm\",\"variant\":\"danger\"},on:{\"click\":function($event){return _vm.removeFromMySites(site)}}},[_vm._v(\" Remove Site \")])],1)}),0)],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row title-row\"},[_c('div',{staticClass:\"col section-title section-header\"},[_vm._v(\"Sites Downloaded for Offline Use\")])])}]\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MySites.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MySites.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MySites.vue?vue&type=template&id=b7672062&\"\nimport script from \"./MySites.vue?vue&type=script&lang=js&\"\nexport * from \"./MySites.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 null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.project)?_c('UnavailablePageModal',{attrs:{\"pageName\":\"Plan Details\",\"project\":_vm.project,\"projectId\":_vm.project.id}}):_vm._e(),_c('b-alert',{attrs:{\"show\":_vm.dismissPlanDetailsSaveSuccessAlert,\"dismissible\":\"\",\"variant\":\"success\"},on:{\"dismissed\":function($event){_vm.dismissPlanDetailsSaveSuccessAlert=0},\"dismiss-count-down\":_vm.dismissPlanDetailsSaveSuccessAlertChanged}},[_c('span',[_vm._v(\"Plan Details were successfully saved\")])]),_c('div',{staticClass:\"section-header\"},[_c('div',{staticClass:\"row bold-title\"},[_c('div',{staticClass:\"col\"},[_vm._v(\" Plan Details \")]),_c('div',{staticClass:\"col right-col\"},[(_vm.isEditable)?_c('b-button',{staticClass:\"submit-form-button\",attrs:{\"pill\":\"\",\"variant\":\"primary\",\"size\":\"sm\",\"disabled\":!_vm.planDetailsValid},on:{\"click\":_vm.savePlan}},[_c('span',[_vm._v(\"Save\")])]):_vm._e()],1)])]),_c('b-overlay',{staticClass:\"project-plan-details-overlay\",attrs:{\"show\":_vm.planDetailsLoading || !_vm.isEditable,\"opacity\":\".33\"},scopedSlots:_vm._u([{key:\"overlay\",fn:function(){return [_c('div')]},proxy:true}])},[(!_vm.planDetailsLoading)?_c('VueFormGenerator',{attrs:{\"schema\":_vm.planDetailsSchema,\"model\":_vm.currentPlanDetails,\"options\":_vm.formOptions},on:{\"validated\":_vm.modelValidated}}):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/* eslint-disable max-len */\nexport default {\n methods: {\n getPlanDetails() {\n return {\n legend: 'General',\n headerName: 'General',\n fields: [\n {\n type: 'customRichText',\n label: 'Location and Watershed Context
Describe project location and pertinent watershed information (5 characters or more)',\n model: 'locationWatershedContext',\n required: true,\n validator: (value) => {\n const errors = [];\n if (!this.validatePlanDetailsNarrative(value)) {\n errors.push('Location and Watershed Context must be five or more characters!');\n }\n return errors;\n },\n attributes: {\n wrapper: { 'data-list': 'col-5' },\n },\n styleClasses: 'row assessment-text',\n },\n {\n type: 'customRichText',\n label: 'Prioritization Context
Describe elements that will impact prioritization of the project (5 characters or more)',\n model: 'prioritizationContext',\n required: true,\n validator: (value) => {\n const errors = [];\n if (!this.validatePlanDetailsNarrative(value)) {\n errors.push('Prioritization Context must be five or more characters!');\n }\n return errors;\n },\n attributes: {\n wrapper: { 'data-list': 'col-5' },\n },\n styleClasses: 'row assessment-text',\n },\n {\n type: 'customRichText',\n label: 'Project Rationale
Indicate the key drivers and benefits for doing the project (5 characters or more)',\n model: 'projectRationale',\n required: true,\n validator: (value) => {\n const errors = [];\n if (!this.validatePlanDetailsNarrative(value)) {\n errors.push('Project Rationale must be five or more characters!');\n }\n return errors;\n },\n attributes: {\n wrapper: { 'data-list': 'col-5' },\n },\n styleClasses: 'row assessment-text',\n },\n {\n type: 'customRichText',\n label: 'Project Outcomes
Describe the project goals as specific desired outcomes',\n model: 'projectOutcomes',\n attributes: {\n wrapper: { 'data-list': 'col-5' },\n },\n styleClasses: 'row assessment-text',\n },\n {\n type: 'customRichText',\n label: 'Alternatives
Describe options for project strategy',\n model: 'alternatives',\n visible: (model) => model && model.category && model.category.includes(' Direct FA '),\n attributes: {\n wrapper: { 'data-list': 'col-5' },\n },\n styleClasses: 'row assessment-text',\n },\n {\n type: 'customRichText',\n label: 'Recommendations
Indicate your recommended option for the project',\n model: 'recommendations',\n visible: (model) => model && model.category && model.category.includes(' Direct FA '),\n attributes: {\n wrapper: { 'data-list': 'col-5' },\n },\n styleClasses: 'row assessment-text',\n },\n {\n type: 'customRichText',\n label: 'Project Actions
Describe the work to be performed (5 characters or more)',\n model: 'projectActions',\n required: true,\n validator: (value) => {\n const errors = [];\n if (!this.validatePlanDetailsNarrative(value)) {\n errors.push('Project Actions must be five or more characters!');\n }\n return errors;\n },\n attributes: {\n wrapper: { 'data-list': 'col-5' },\n },\n styleClasses: 'row assessment-text',\n },\n {\n type: 'customRichText',\n label: 'Project Evaluation
Use this section to describe how targets will be evaluated (5 characters or more)',\n model: 'projectEvaluation',\n required: true,\n validator: (value) => {\n const errors = [];\n if (!this.validatePlanDetailsNarrative(value)) {\n errors.push('Project Evaluation must be five or more characters!');\n }\n return errors;\n },\n attributes: {\n wrapper: { 'data-list': 'col-5' },\n },\n styleClasses: 'row assessment-text',\n },\n {\n type: 'customRichText',\n label: 'Schedule of Activities
Describe the activities to be performed with chronological context (5 characters or more)',\n model: 'scheduleOfActivities',\n required: true,\n validator: (value) => {\n const errors = [];\n if (!this.validatePlanDetailsNarrative(value)) {\n errors.push('Schedule of Activities must be five or more characters!');\n }\n return errors;\n },\n attributes: {\n wrapper: { 'data-list': 'col-5' },\n },\n styleClasses: 'row assessment-text',\n },\n ],\n };\n },\n getIncentivePaymentSchemaAdd() {\n return {\n id: 'incentivePaymentSchema',\n legend: 'Incentive Payment',\n fields: [\n {\n type: 'select',\n label: 'Incentive Type',\n model: 'incentiveTypeId',\n required: true,\n styleClasses: 'row',\n values: this.projectIncentiveTypes,\n },\n {\n type: 'radios',\n label: 'Vendor Type',\n model: 'vendorType',\n required: true,\n listbox: true,\n styleClasses: 'row',\n values: this.vendorTypes,\n },\n {\n type: 'select',\n label: 'Payee',\n model: 'payeeId',\n required: true,\n styleClasses: 'row',\n values: this.payees,\n visible: (model) => model.vendorType && model.vendorType === 'Individual Contact',\n },\n {\n type: 'select',\n label: 'Payee',\n model: 'payeeOrgId',\n required: true,\n styleClasses: 'row',\n values: this.payeesOrgs,\n visible: (model) => model.vendorType && model.vendorType === 'Organization',\n },\n {\n type: 'select',\n label: 'Funding Source',\n model: 'fundingSourceId',\n required: true,\n styleClasses: 'row',\n values: this.projectFundingSources,\n },\n {\n type: 'customDatepicker',\n label: 'Due Date',\n model: 'dateDue',\n required: true,\n validator: (value) => {\n if (new Date(value) < new Date(this.project.startDate)) {\n return [`Due Date may not be earlier than ${new Date(this.project.startDate).toLocaleDateString()}!`];\n }\n return [];\n },\n styleClasses: 'row',\n },\n {\n type: 'input',\n inputType: 'number',\n label: 'Payment Amount',\n model: 'amountPaid',\n required: true,\n validator: (value) => {\n if (!value) return ['This field is required'];\n const regex = /^(\\d+)?([.]?\\d{0,2})?$/;\n if (!regex.test(value)) {\n return ['Numeric field, up to 2 decimal, greater than 0'];\n }\n return [];\n },\n attributes: {\n wrapper: { 'data-list': 'col-5' },\n },\n styleClasses: 'row',\n },\n {\n type: 'textArea',\n label: 'Notes
(Max 100 characters)',\n placeholder: 'Enter Notes here',\n max: 100,\n model: 'notes',\n attributes: {\n wrapper: { 'data-list': 'col-5' },\n },\n styleClasses: 'row',\n },\n ],\n };\n },\n getIncentivePaymentSchemaUpdate() {\n return {\n id: 'incentivePaymentSchema',\n legend: 'Incentive Payment',\n fields: [\n {\n type: 'select',\n label: 'Incentive Type',\n model: 'incentiveTypeId',\n required: true,\n styleClasses: 'row',\n values: this.projectIncentiveTypes,\n },\n {\n type: 'customDatepicker',\n label: 'Due Date',\n model: 'dateDue',\n required: true,\n validator: (value) => {\n if (new Date(value) < new Date(this.project.startDate)) {\n return [`Due Date may not be earlier than ${new Date(this.project.startDate).toLocaleDateString()}!`];\n }\n return [];\n },\n styleClasses: 'row',\n },\n {\n type: 'customDatepicker',\n label: 'Date Paid
Indicate the date the Landowner Payment was made',\n model: 'datePaid',\n required: true,\n validator: (value) => {\n if (new Date(value) < new Date(this.project.startDate)) {\n return [`Date Paid may not be earlier than ${new Date(this.project.startDate).toLocaleDateString()}!`];\n }\n return [];\n },\n styleClasses: 'row full-width-label',\n },\n {\n type: 'radios',\n label: 'Vendor Type',\n model: 'vendorType',\n required: true,\n listbox: true,\n styleClasses: 'row',\n values: this.vendorTypes,\n },\n {\n type: 'select',\n label: 'Payee',\n model: 'payeeId',\n required: true,\n styleClasses: 'row',\n values: this.payees,\n visible: (model) => model.vendorType && model.vendorType === 'Individual Contact',\n },\n {\n type: 'select',\n label: 'Payee',\n model: 'payeeOrgId',\n required: true,\n styleClasses: 'row',\n values: this.payeesOrgs,\n visible: (model) => model.vendorType && model.vendorType === 'Organization',\n },\n {\n type: 'select',\n label: 'Funding Source',\n model: 'fundingSourceId',\n required: true,\n styleClasses: 'row',\n values: this.projectFundingSources,\n },\n {\n type: 'textArea',\n label: 'Notes
(Max 100 characters)',\n placeholder: 'Enter Notes here',\n max: 100,\n model: 'notes',\n attributes: {\n wrapper: { 'data-list': 'col-5' },\n },\n styleClasses: 'row',\n },\n ],\n };\n },\n getPracticeSchema() {\n return {\n id: 'practiceSchema',\n legend: 'Practice',\n headerName: 'Practice',\n fields: [\n {\n type: 'select',\n label: 'Practice',\n model: 'practiceId',\n required: true,\n styleClasses: 'row',\n values: this.practices,\n },\n {\n type: 'select',\n label: 'Component',\n model: 'practiceComponentId',\n required: true,\n styleClasses: 'row',\n values: () => this.practiceComponentsFiltered,\n },\n {\n type: 'radios',\n label: 'Target Season',\n model: 'targetSeasonId',\n listbox: true,\n styleClasses: 'row',\n values: this.targetSeasons.sort(\n (a, b) => a.sortOrder - b.sortOrder,\n ).map(\n (ts) => ({ name: ts.name, value: ts.id }),\n ),\n },\n {\n type: 'customYearpicker',\n label: 'Target Year',\n model: 'targetYear',\n required: true,\n styleClasses: 'row',\n },\n {\n type: 'input',\n inputType: 'text',\n label: 'Unit(s)/Fields(s)',\n placeholder: 'Enter Unit(s) or Field(s) this Practice applies to',\n model: 'unitsFields',\n required: true,\n validator: 'required',\n attributes: {\n wrapper: { 'data-list': 'col-5' },\n },\n styleClasses: 'row',\n },\n {\n type: 'input',\n inputType: 'number',\n label: 'Acres',\n model: 'acres',\n required: true,\n validator: (value) => {\n if (!value) return ['This field is required'];\n const regex = /^(\\d+)?([.]?\\d{0,2})?$/;\n if (!regex.test(value)) {\n return ['Numeric field, up to 2 decimal, greater than 0'];\n }\n return [];\n },\n attributes: {\n wrapper: { 'data-list': 'col-5' },\n },\n styleClasses: 'row',\n },\n {\n type: 'textArea',\n label: 'Notes
(Max 50 characters)',\n placeholder: 'Enter Notes here',\n max: 50,\n model: 'notes',\n attributes: {\n wrapper: { 'data-list': 'col-5' },\n },\n styleClasses: 'row',\n },\n ],\n };\n },\n getConceptSchema() {\n return {\n id: 'conceptSchema',\n legend: 'Concept',\n headerName: 'Concept',\n fields: [\n {\n type: 'customLookupChecklist',\n label: 'Resource Priorities
Select at least one resource priority',\n model: 'resourcePriorityIds',\n required: true,\n listbox: true,\n values: this.projectResourcePriorities,\n checklistOptions: {\n value: 'id',\n name: 'name',\n },\n styleClasses: 'project-resource-priorities form-group-project-concept',\n },\n {\n type: 'input',\n inputType: 'number',\n label: 'Estimated Project Cost
Enter an estimated cost for this project',\n model: 'estimatedCost',\n required: true,\n validator: (value) => {\n if (Number.isNaN(value)) return ['Enter a non-negative integer'];\n if (value < 0) return ['Non-negative numbers only'];\n if (value === 0) return [];\n const regex = /^\\d+$/;\n if (!regex.test(value)) {\n return ['No decimals allowed'];\n }\n return [];\n },\n styleClasses: 'form-group-project-concept',\n },\n {\n type: 'textArea',\n label: 'Project Concept Statement
Describe the concept for this project (Min 50 characters)',\n placeholder: 'Enter Project Concept Statement here',\n min: 50,\n model: 'statement',\n required: true,\n styleClasses: 'form-group-project-concept',\n },\n {\n type: 'input',\n inputType: 'number',\n label: 'Ranking Score
Enter the Ranking Score this project',\n model: 'rankingScore',\n required: true,\n validator: (value) => {\n if (Number.isNaN(value)) return ['Enter a non-negative integer'];\n if (value < 0) return ['Non-negative numbers only'];\n if (value === 0) return [];\n if (value > 999) return ['Three or fewer digits only'];\n const regex = /^\\d+$/;\n if (!regex.test(value)) {\n return ['No decimals allowed'];\n }\n return [];\n },\n styleClasses: 'form-group-project-concept',\n },\n ],\n };\n },\n getProjectWorkOrderBillSchema() {\n return {\n id: 'projectWorkOrderBillAddSchema',\n legend: 'Add Bill',\n fields: [\n {\n id: 'invoiceNumber',\n type: 'input',\n inputType: 'text',\n label: 'Invoice Number',\n placeholder: 'Enter Invoice Number',\n max: 50,\n model: 'billIdentifier',\n required: true,\n validator: ['string', 'required'],\n attributes: {\n wrapper: { 'data-list': 'col-5' },\n },\n styleClasses: 'row',\n },\n {\n id: 'billDate',\n type: 'customDatepicker',\n label: 'Bill Date',\n model: 'billDate',\n required: true,\n validator: (value) => {\n if (new Date(value) > new Date()) {\n return ['Bill Date cannot be a future date!'];\n }\n return [];\n },\n styleClasses: 'row',\n },\n {\n id: 'receivedDate',\n type: 'customDatepicker',\n label: 'Received Date',\n model: 'receivedDate',\n required: true,\n validator: (value) => {\n if (new Date(value) > new Date()) {\n return ['Received Date cannot be a future date!'];\n }\n return [];\n },\n styleClasses: 'row',\n },\n {\n id: 'notes',\n type: 'textArea',\n label: 'Notes
(Max 75 characters)',\n placeholder: 'Enter Notes here',\n max: 75,\n model: 'notes',\n attributes: {\n wrapper: { 'data-list': 'col-5' },\n },\n styleClasses: 'row',\n },\n ],\n };\n },\n getProjectWorkorderAddSchema() {\n let schema = {};\n if (this.workorderAddModel) {\n schema = {\n id: 'projectWorkOrderAddSchema',\n legend: 'Add Work Order',\n fields: [\n {\n type: 'select',\n label: 'Contract
This selection indicates the Price Book to be used for cost items.',\n model: 'opportunityId',\n required: true,\n styleClasses: 'row',\n values: this.workorderAddModel.opportunityBriefs,\n },\n {\n id: 'workorderName',\n type: 'input',\n inputType: 'text',\n label: 'Work Order Name
(Enter at least one character)',\n placeholder: 'Enter Work Order Name',\n model: 'workorderName',\n required: true,\n min: 1,\n validator: ['string'],\n attributes: {\n wrapper: { 'data-list': 'col-5' },\n },\n styleClasses: 'row',\n },\n {\n id: 'requestedDate',\n type: 'customDatepicker',\n label: `Requested Work Completion Date
(Must be in fiscal year ${this.workorderAddModel.fiscalYear})`,\n model: 'requestedDate',\n disabledDates: {\n to: this.workorderAddModel.fiscalYearStart,\n from: this.workorderAddModel.fiscalYearEnd,\n },\n required: true,\n validator: (value) => {\n if (new Date(value) < this.workorderAddModel.fiscalYearStart) return [`Requested Work Completion date may not be earlier than ${new Date(this.workorderAddModel.fiscalYearStart).toLocaleDateString()}`];\n if (new Date(value) >= this.workorderAddModel.fiscalYearEnd) return [`Requested Work Completion date must be earlier than ${new Date(this.workorderAddModel.fiscalYearEnd).toLocaleDateString()}`];\n return [];\n },\n styleClasses: 'row',\n },\n {\n type: 'radios',\n label: 'Vendor Type',\n model: 'vendorType',\n required: true,\n listbox: true,\n styleClasses: 'row',\n values: this.workorderAddModel.vendorTypes,\n },\n {\n type: 'customSelect',\n label: 'Vendor Contact
(Select one)',\n model: 'vendorContact',\n required: true,\n styleClasses: 'row',\n values: this.workorderAddModel.vendorContacts,\n visible: (model) => model.vendorType && model.vendorType === 'Individual Contact',\n },\n {\n type: 'customSelect',\n label: 'Vendor Organization
(Select one)',\n model: 'vendorOrganization',\n required: true,\n styleClasses: 'row',\n values: this.workorderAddModel.vendorOrganizations,\n visible: (model) => model.vendorType && model.vendorType === 'Organization',\n },\n {\n id: 'contractorSpecialInstructions',\n type: 'textArea',\n label: 'Contractor Special Instructions',\n placeholder: 'Enter Contractor Special Instructions here',\n max: 3000,\n model: 'contractorSpecialInstructions',\n attributes: {\n wrapper: { 'data-list': 'col-5' },\n },\n styleClasses: 'row',\n },\n ],\n };\n }\n return schema;\n },\n getProjectWorkorderEditSchema() {\n let schema = {};\n if (this.workorderEditModel) {\n schema = {\n id: 'projectWorkOrderEditSchema',\n legend: 'Edit Work Order',\n fields: [\n {\n id: 'workorderName',\n type: 'input',\n inputType: 'text',\n label: 'Work Order Name
(Enter at least one character)',\n placeholder: 'Enter Work Order Name',\n model: 'workorderName',\n required: true,\n min: 1,\n validator: ['string'],\n attributes: {\n wrapper: { 'data-list': 'col-5' },\n },\n styleClasses: 'row',\n },\n {\n id: 'requestedDate',\n type: 'customDatepicker',\n label: `Requested Work Completion Date
(Must be in fiscal year ${this.workorderEditModel.fiscalYear})`,\n model: 'requestedDate',\n disabledDates: {\n to: this.workorderEditModel.fiscalYearStart,\n from: this.workorderEditModel.fiscalYearEnd,\n },\n required: true,\n validator: (value) => {\n if (new Date(value) < this.workorderEditModel.fiscalYearStart) return [`Requested Work Completion date may not be earlier than ${new Date(this.workorderEditModel.fiscalYearStart).toLocaleDateString()}`];\n if (new Date(value) >= this.workorderEditModel.fiscalYearEnd) return [`Requested Work Completion date must be earlier than ${new Date(this.workorderEditModel.fiscalYearEnd).toLocaleDateString()}`];\n return [];\n },\n styleClasses: 'row',\n },\n {\n type: 'radios',\n label: 'Vendor Type',\n model: 'vendorType',\n required: true,\n listbox: true,\n styleClasses: 'row',\n values: this.workorderEditModel.vendorTypes,\n disabled: this.workorderEditModel.status !== 'Draft',\n },\n {\n type: 'customSelect',\n label: 'Vendor Contact
(Select one)',\n model: 'vendorContact',\n required: true,\n styleClasses: 'row',\n values: this.workorderEditModel.vendorContacts,\n disabled: this.workorderEditModel.status !== 'Draft',\n visible: (model) => this.workorderEditModel.status === 'Draft' && model.vendorType && model.vendorType === 'Individual Contact',\n },\n {\n type: 'input',\n inputType: 'text',\n label: 'Vendor Contact',\n model: 'vendorContact.name',\n min: 1,\n attributes: {\n wrapper: { 'data-list': 'col-5' },\n },\n styleClasses: 'row',\n disabled: true,\n visible: (model) => this.workorderEditModel.status !== 'Draft' && model.vendorType && model.vendorType === 'Individual Contact',\n },\n {\n type: 'customSelect',\n label: 'Vendor Organization
(Select one)',\n model: 'vendorOrganization',\n required: true,\n styleClasses: 'row',\n values: this.workorderEditModel.vendorOrganizations,\n disabled: this.workorderEditModel.status !== 'Draft',\n visible: (model) => this.workorderEditModel.status === 'Draft' && model.vendorType && model.vendorType === 'Organization',\n },\n {\n type: 'input',\n inputType: 'text',\n label: 'Vendor Contact',\n model: 'vendorOrganization.name',\n min: 1,\n attributes: {\n wrapper: { 'data-list': 'col-5' },\n },\n styleClasses: 'row',\n disabled: true,\n visible: (model) => this.workorderEditModel.status !== 'Draft' && model.vendorType && model.vendorType === 'Organization',\n },\n {\n id: 'contractorSpecialInstructions',\n type: 'textArea',\n label: 'Contractor Special Instructions',\n placeholder: 'Enter Contractor Special Instructions here',\n max: 3000,\n model: 'contractorSpecialInstructions',\n attributes: {\n wrapper: { 'data-list': 'col-5' },\n },\n styleClasses: 'row',\n },\n ],\n };\n }\n return schema;\n },\n getProjectWorkorderLineItemAddSchema() {\n const schema = {\n id: 'projectWorkorderLineItemAddSchema',\n legend: 'Add Line Item',\n fields: [\n {\n type: 'select',\n label: 'Funding Source',\n model: 'fundingSourceId',\n required: true,\n styleClasses: 'row',\n values: this.workorderLineItemAddFundingSources,\n },\n {\n type: 'select',\n label: 'Service/Material',\n model: 'pricebookEntryId',\n required: true,\n styleClasses: 'row',\n values: this.workorderLineItemPricelistEntries,\n },\n {\n type: 'input',\n inputType: 'number',\n label: 'Unit Cost',\n model: 'unitCost',\n required: true,\n validator: (value) => {\n if (!value) return ['This field is required'];\n const regex = /^(\\d+)?([.]?\\d{0,2})?$/;\n if (!regex.test(value)) {\n return ['Numeric field, up to 2 decimal, greater than 0'];\n }\n return [];\n },\n attributes: {\n wrapper: { 'data-list': 'col-5' },\n },\n styleClasses: 'row',\n },\n {\n type: 'input',\n inputType: 'number',\n label: 'Quantity',\n model: 'quantity',\n required: true,\n validator: (value) => {\n if (!value) return ['This field is required'];\n const regex = /^(\\d+)?([.]?\\d{0,2})?$/;\n if (!regex.test(value)) {\n return ['Numeric field, up to 2 decimals, greater than 0'];\n }\n return [];\n },\n attributes: {\n wrapper: { 'data-list': 'col-5' },\n },\n styleClasses: 'row',\n },\n {\n type: 'input',\n inputType: 'text',\n disabled: true,\n label: 'Item Cost',\n model: 'itemCost',\n attributes: {\n wrapper: { 'data-list': 'col-5' },\n },\n styleClasses: 'row',\n },\n {\n type: 'input',\n inputType: 'number',\n label: '% District or Partner Cost',\n model: 'districtAndPartnerCost',\n required: true,\n validator: (value) => (this.validatePositiveWholeNumber(value, 100)),\n styleClasses: 'row',\n },\n {\n type: 'input',\n inputType: 'text',\n disabled: true,\n label: 'District or Partner Cost',\n model: 'districtAndPartnerCostValue',\n attributes: {\n wrapper: { 'data-list': 'col-5' },\n },\n styleClasses: 'row',\n },\n ],\n };\n return schema;\n },\n getProjectWorkorderLineItemEditSchema() {\n const schema = {\n id: 'projectWorkorderLineItemEditSchema',\n legend: 'Edit Line Item',\n fields: [\n {\n type: 'select',\n label: 'Funding Source',\n model: 'fundingSourceId',\n required: true,\n values: this.workorderLineItemEditFundingSources,\n styleClasses: 'project-workorder-lineitem-edit-funding-source-style row',\n labelClasses: 'project-workorder-lineitem-edit-funding-source-label',\n fieldClasses: 'project-workorder-lineitem-edit-funding-source-field col- ',\n },\n {\n type: 'checkbox',\n label: 'Apply funding source to all items',\n model: 'applyToAll',\n default: false,\n styleClasses: 'project-workorder-lineitem-edit-funding-source-apply-to-all-style row',\n labelClasses: 'project-workorder-lineitem-edit-funding-source-apply-to-all-label',\n fieldClasses: 'project-workorder-lineitem-edit-funding-source-apply-to-all-field col- ',\n },\n {\n type: 'select',\n label: 'Service/Material',\n model: 'pricebookEntryId',\n required: true,\n values: this.workorderLineItemPricelistEntries,\n styleClasses: 'row',\n },\n {\n type: 'input',\n inputType: 'number',\n label: 'Unit Cost',\n model: 'unitCost',\n required: true,\n validator: (value) => {\n if (!value) return ['This field is required'];\n const regex = /^(\\d+)?([.]?\\d{0,2})?$/;\n if (!regex.test(value)) {\n return ['Numeric field, up to 2 decimal, greater than 0'];\n }\n return [];\n },\n styleClasses: 'row',\n },\n {\n type: 'input',\n inputType: 'number',\n label: 'Quantity',\n model: 'quantity',\n required: true,\n validator: (value) => {\n if (!value) return ['This field is required'];\n const regex = /^(\\d+)?([.]?\\d{0,2})?$/;\n if (!regex.test(value)) {\n return ['Numeric field, up to 2 decimal, greater than 0'];\n }\n return [];\n },\n styleClasses: 'row',\n },\n {\n type: 'input',\n inputType: 'text',\n disabled: true,\n label: 'Item Cost',\n model: 'itemCost',\n styleClasses: 'row',\n },\n {\n type: 'input',\n inputType: 'number',\n label: '% District or Partner Cost',\n model: 'districtAndPartnerCost',\n required: true,\n validator: (value) => (this.validatePositiveWholeNumber(value, 100)),\n styleClasses: 'row',\n },\n {\n type: 'input',\n inputType: 'text',\n disabled: true,\n label: 'District or Partner Cost',\n model: 'districtAndPartnerCostValue',\n styleClasses: 'row',\n },\n ],\n };\n return schema;\n },\n getProjectWorkorderIncentivePaymentAddSchema() {\n const schema = {\n id: 'projectWorkorderIncentivePaymentAddSchema',\n legend: 'Add Incentive Payment',\n fields: [\n {\n type: 'select',\n label: 'Incentive Payment',\n model: 'incentivePaymentId',\n required: true,\n styleClasses: 'row',\n values: this.incentivePayments,\n },\n ],\n };\n return schema;\n },\n validatePositiveWholeNumber(value, maxValue) {\n // https://stackoverflow.com/questions/12702030/regular-expression-for-3-decimal-point\n if (value === null || Number.isNaN(value)) return ['Must enter a numeric value!'];\n if (value < 0) return ['Non-negative numbers only!'];\n if (value > maxValue) return [`Cannot exceed ${maxValue}!`];\n if (value.toString().match(/\\.[0-9]{1}/)) return ['No decimal places allowed!'];\n return [];\n },\n getProjectOutcomesSchema() {\n const schema = {\n id: 'projectOutcomesSchema',\n legend: 'Edit Outcome Summary',\n fields: [\n {\n id: 'outcomeSummary',\n type: 'textArea',\n label: 'Outcome Summary',\n placeholder: 'Enter Outcome Summary here',\n max: 2000,\n model: 'outcomeSummary',\n attributes: {\n wrapper: { 'data-list': 'col-5' },\n },\n styleClasses: 'row',\n },\n ],\n };\n return schema;\n },\n getProjectTargetMonitoringEventAddSchema() {\n const schema = {\n id: 'projectTargetMonitoringEventAddSchema',\n legend: 'Add Monitoring Event',\n fields: [\n {\n id: 'monitoringEventDate',\n type: 'customDatepicker',\n label: 'Monitoring Date',\n model: 'monitoringEventDate',\n required: true,\n validator: (value) => {\n if (new Date(value) > new Date()) {\n return ['Monitoring Date cannot be a future date!'];\n }\n return [];\n },\n styleClasses: 'row',\n },\n {\n type: 'customSelect',\n label: 'Evaluation Method',\n model: 'monitoringEventEvaluationMethod',\n required: true,\n values: this.projectTargetMonitoringEventAddModelEvaluationMethods,\n styleClasses: 'row',\n },\n {\n type: 'radios',\n label: 'Evaluation Yes/No',\n model: 'monitoringEventEvaluationBit',\n values: (model) => [{ name: `Yes (${model.monitoringEventEvaluationMethod.unit})`, value: true }, { name: `No (${model.monitoringEventEvaluationMethod.unit})`, value: false }],\n required: true,\n visible: (model) => (model.monitoringEventEvaluationMethod !== null) && (model.monitoringEventEvaluationMethodType === 'Bit'),\n styleClasses: 'row',\n },\n {\n type: 'input',\n inputType: 'number',\n label: 'Evaluation Quantity',\n model: 'monitoringEventEvaluationNumber',\n required: true,\n validator: (value) => {\n if (value === null || Number.isNaN(value)) return ['Evaluation Number may not be null!'];\n if (value.toString().split('.').length === 2 && value.toString().split('.')[1].length > 2) {\n return ['Evaluation Number decimal places must be two or fewer!'];\n }\n return [];\n },\n visible: (model) => (model.monitoringEventEvaluationMethod !== null) && (model.monitoringEventEvaluationMethodType === 'Number'),\n styleClasses: 'project-workorder-lineitem-edit-funding-source-style row',\n labelClasses: 'project-workorder-lineitem-edit-funding-source-label',\n fieldClasses: 'project-workorder-lineitem-edit-funding-source-field col- ',\n },\n {\n type: 'input',\n inputType: 'text',\n label: 'Evaluation Text',\n model: 'monitoringEventEvaluationText',\n required: true,\n minLength: 2,\n maxLength: 100,\n validator: (value) => {\n if (!value || value === null) return ['Evaluation Text may not be empty!'];\n if (value.length < 2) return ['Minimum length is 2!'];\n if (value.length > 100) return ['Maximum length is 100!'];\n return [];\n },\n visible: (model) => (model.monitoringEventEvaluationMethod !== null) && (model.monitoringEventEvaluationMethodType === 'Text'),\n styleClasses: 'project-workorder-lineitem-edit-funding-source-style row',\n labelClasses: 'project-workorder-lineitem-edit-funding-source-label',\n fieldClasses: 'project-workorder-lineitem-edit-funding-source-field col- ',\n },\n {\n type: 'input',\n inputType: 'text',\n disabled: true,\n label: '',\n model: 'monitoringEventEvaluationMethodUnit',\n visible: (model) => model.monitoringEventEvaluationMethod !== null && (model.monitoringEventEvaluationMethodType !== 'Bit'),\n styleClasses: 'project-workorder-lineitem-edit-funding-source-apply-to-all-style row',\n labelClasses: 'project-workorder-lineitem-edit-funding-source-apply-to-all-label',\n fieldClasses: 'project-workorder-lineitem-edit-funding-source-apply-to-all-field col- ',\n },\n {\n type: 'select',\n label: 'Plant Type',\n model: 'monitoringEventPlantType',\n required: false,\n values: this.projectTargetMonitoringEventAddModelPlantTypes,\n styleClasses: 'row',\n },\n {\n type: 'radios',\n label: 'Photo Monitored?',\n model: 'monitoringEventPhotoMonitored',\n values: [{ name: 'Yes', value: true }, { name: 'No', value: false }],\n required: true,\n styleClasses: 'row',\n },\n {\n type: 'input',\n inputType: 'text',\n label: 'URL Link',\n model: 'monitoringEventUrl',\n required: false,\n maxLength: 150,\n validator: (value) => {\n if (value.length > 150) return ['Maximum length is 150!'];\n return [];\n },\n styleClasses: 'row',\n },\n ],\n };\n return schema;\n },\n },\n};\n","/* eslint-disable max-len, padded-blocks, prefer-destructuring */\nimport { mapState } from 'vuex';\n\nexport default {\n data() {\n return {\n budgetStatus: {\n Draft: 'Draft',\n Rejected: 'Rejected',\n SubmittedForApproval: 'Submitted for Approval',\n Approved: 'Approved',\n },\n };\n },\n computed: {\n ...mapState(['config']),\n ...mapState('Membership', {\n memberOf: (state) => state.memberOf,\n }),\n ...mapState('Project', {\n project: (state) => state.project,\n }),\n isApprover() {\n if (!this.config || !this.memberOf || this.memberOf.length === 0) return false;\n const approverRoles = this.config.projectOverviewPage.approverRoles;\n return this.memberOf.filter((item) => approverRoles.includes(item.displayName)).length > 0;\n },\n isRejecter() {\n if (!this.config || !this.memberOf || this.memberOf.length === 0) return false;\n const rejecterRoles = this.config.projectOverviewPage.rejecterRoles;\n return this.memberOf.filter((item) => rejecterRoles.includes(item.displayName)).length > 0;\n },\n isSubmitter() {\n if (!this.config || !this.project || !this.project.approvalStatus) return false;\n const submitterRoles = this.config.projectOverviewPage.submitterRoles;\n return this.memberOf.filter((item) => submitterRoles.includes(item.displayName)).length > 0;\n },\n isEditable() {\n\n if (!this.config || !this.config.projectOverviewPage || !this.config.projectOverviewPage.submitStatus) return false;\n if (!this.memberOf) return false;\n if (!this.project) return false;\n\n const submitStatus = this.config.projectOverviewPage.submitStatus;\n let result = false;\n\n switch (this.project.approvalStatus) {\n case submitStatus.Draft:\n result = true;\n break;\n case submitStatus.SubmittedForPlanningApproval:\n result = true;\n break;\n case submitStatus.ApprovedForPlanning:\n result = true;\n break;\n case submitStatus.ConceptRejected:\n result = true;\n break;\n case submitStatus.SubmittedForProjectApproval:\n if (this.isApprover) result = true;\n break;\n case submitStatus.Approved:\n if (this.isApprover) result = true;\n break;\n case submitStatus.Rejected:\n result = true;\n break;\n default:\n result = false;\n break;\n }\n\n return result;\n },\n canAddAnnualBudget() {\n if (!this.project) {\n return false;\n }\n /* eslint-ignore-next-line */\n const canAddAnnualBudget = this.isEditable || (this.project && this.project.approvalStatus === 'Approved' && this.project.startDate !== null && this.project.endDate !== null && this.isSubmitter);\n return canAddAnnualBudget;\n },\n canSeeProjectHistory() {\n if (!this.project) {\n return false;\n }\n const submitStatus = this.config.projectOverviewPage.submitStatus;\n return [submitStatus.Approved, submitStatus.Completed, submitStatus.Cancelled].includes(this.project.approvalStatus);\n },\n canDecreaseProjectBudget() {\n if (!this.config || !this.config.projectOverviewPage) {\n return false;\n }\n const submitStatus = this.config.projectOverviewPage.submitStatus;\n if (!this.project || this.project.approvalStatus !== submitStatus.Approved) {\n return false;\n }\n // only approvers can decrease the budgets on non-ECREP/Invasive Treatment/VEGBAC projects\n return this.isApprover\n && !['ECREP Project', 'Invasive Treatment Project', 'VEGBAC Project'].includes(this.project.category);\n },\n },\n methods: {\n isYearEditable(budgetYear) {\n if (!this.project) {\n return false;\n }\n const submitStatus = this.config.projectOverviewPage.submitStatus;\n if ([submitStatus.ApprovedForPlanning, submitStatus.Rejected].includes(this.project.approvalStatus)) {\n return true;\n }\n if (this.project.approvalStatus === submitStatus.Approved\n && ([this.budgetStatus.Draft, this.budgetStatus.Rejected].includes(budgetYear.status)\n || (this.budgetStatus.SubmittedForApproval === budgetYear.status && this.isApprover))) {\n return true;\n }\n return (this.isApprover && this.project.approvalStatus === submitStatus.SubmittedForProjectApproval);\n },\n canSubmitAnnualBudget(budgetYear) {\n if (!this.project) {\n return false;\n }\n const submitStatus = this.config.projectOverviewPage.submitStatus;\n return (this.project.approvalStatus === submitStatus.Approved\n && [this.budgetStatus.Draft, this.budgetStatus.Rejected].includes(budgetYear.status));\n },\n canApproveRejectAnnualBudget(budgetYear) {\n if (!this.project) {\n return false;\n }\n\n const submitStatus = this.config.projectOverviewPage.submitStatus;\n const canApproveRejectAnnualBudget = (\n this.isApprover\n && this.project.approvalStatus === submitStatus.Approved\n && budgetYear.status === this.budgetStatus.SubmittedForApproval\n );\n\n return canApproveRejectAnnualBudget;\n },\n },\n};\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{attrs:{\"id\":\"page-not-visible\",\"ok-only\":\"\"},on:{\"ok\":_vm.returnToOverview}},[_c('p',[_vm._v(\" \"+_vm._s(_vm.pageName)+\" cannot be accessed because the Project Approval Status is \\\"\"+_vm._s(_vm.project.approvalStatus)+\"\\\". \")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UnavailablePageModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UnavailablePageModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UnavailablePageModal.vue?vue&type=template&id=2b561b15&\"\nimport script from \"./UnavailablePageModal.vue?vue&type=script&lang=js&\"\nexport * from \"./UnavailablePageModal.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 null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PlanDetails.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PlanDetails.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PlanDetails.vue?vue&type=template&id=1dbde4e9&scoped=true&\"\nimport script from \"./PlanDetails.vue?vue&type=script&lang=js&\"\nexport * from \"./PlanDetails.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PlanDetails.vue?vue&type=style&index=0&id=1dbde4e9&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1dbde4e9\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"view-contents\"},[_c('div',{staticClass:\"row title-row\"},[_c('div',{staticClass:\"col page-title\"},[(_vm.project)?_c('a',{attrs:{\"href\":(\"\" + (_vm.config.insightly.projectUrl) + (_vm.project.id)),\"target\":\"insightly\"}},[_vm._v(_vm._s(_vm.project.projectName))]):_vm._e(),(_vm.project)?_c('span',[_vm._v(\" (\"+_vm._s(_vm.project.approvalStatus)+\") \")]):_vm._e(),_c('b-link',{staticClass:\"section-sub-title no-wrap\",on:{\"click\":function($event){_vm.downloadProjectPlanReport(parseInt(_vm.$route.params.id, 10))}}},[_c('b-icon',{staticClass:\"download-icon\",attrs:{\"icon\":\"download\"}}),_vm._v(\"Download Plan\")],1),_c('b-modal',{attrs:{\"id\":\"submitProjectModal\"},on:{\"ok\":function($event){return _vm.onSubmitProjectOkClick()}},scopedSlots:_vm._u([{key:\"modal-title\",fn:function(){return [_c('span',{staticClass:\"project-modal-warning\"},[_vm._v(\"Confirm Project Submittal\")])]},proxy:true},{key:\"modal-footer\",fn:function(ref){\nvar ok = ref.ok;\nvar cancel = ref.cancel;\nreturn [_c('b-button',{staticClass:\"btn-danger\",attrs:{\"size\":\"sm\",\"variant\":\"danger\"},on:{\"click\":cancel}},[_vm._v(\"No\")]),_c('b-button',{staticClass:\"btn-success\",attrs:{\"size\":\"sm\",\"variant\":\"success\"},on:{\"click\":ok}},[_vm._v(\"Yes\")])]}}])},[_c('p',[_vm._v(\"Once submitted, you will not be able to make changes on the Goals, Plan Details, Project Actions, Incentive Payments, or Budget pages.\")]),_c('p',[_vm._v(\"(An annual budget can be updated and must be submitted once the Project is approved.)\")]),_c('p',[_vm._v(\"Are you sure you want to submit this Project for approval?\")])]),_c('b-modal',{attrs:{\"id\":\"approveProjectModal\"},on:{\"ok\":function($event){return _vm.onApproveProjectOkClick()}},scopedSlots:_vm._u([{key:\"modal-title\",fn:function(){return [_c('span',{staticClass:\"project-modal-warning\"},[_vm._v(\"Confirm Project Approval\")])]},proxy:true},{key:\"modal-footer\",fn:function(ref){\nvar ok = ref.ok;\nvar cancel = ref.cancel;\nreturn [_c('b-button',{staticClass:\"btn-danger\",attrs:{\"size\":\"sm\",\"variant\":\"danger\"},on:{\"click\":cancel}},[_vm._v(\"No\")]),_c('b-button',{staticClass:\"btn-success\",attrs:{\"size\":\"sm\",\"variant\":\"success\"},on:{\"click\":ok}},[_vm._v(\"Yes\")])]}}])},[_c('p',[_vm._v(\"Upon Project approval, the total cost for this project will be locked in at \"+_vm._s(_vm._f(\"toCurrency\")(_vm.budgetTotalAmount))+\" (includes TSWCD costs, Partner match, Landowner cost share and incentive payments).\")]),_c('p',[_vm._v(\"Planners will be able to submit their first annual budget once the Project is approved.\")]),_c('p',[_vm._v(\"Are you sure you want to approve this project?\")])]),_c('b-modal',{attrs:{\"id\":\"rejectProjectModal\"},on:{\"ok\":function($event){return _vm.onRejectProjectOkClick()}},scopedSlots:_vm._u([{key:\"modal-title\",fn:function(){return [_c('span',{staticClass:\"project-modal-warning\"},[_vm._v(\"Confirm Project Rejection\")])]},proxy:true},{key:\"modal-footer\",fn:function(ref){\nvar ok = ref.ok;\nvar cancel = ref.cancel;\nreturn [_c('b-button',{staticClass:\"btn-danger\",attrs:{\"size\":\"sm\",\"variant\":\"danger\"},on:{\"click\":cancel}},[_vm._v(\"No\")]),_c('b-button',{staticClass:\"btn-success\",attrs:{\"size\":\"sm\",\"variant\":\"success\"},on:{\"click\":ok}},[_vm._v(\"Yes\")])]}}])},[_c('p',[_vm._v(\"If you reject this Project, the Planner will be able to edit project components, and re-submit if appropriate.\")]),_c('p',[_vm._v(\"Are you sure you want to reject this Project?\")])]),_c('b-modal',{attrs:{\"id\":\"cancelCompleteProjectErrorModal\",\"ok-only\":\"\"},scopedSlots:_vm._u([{key:\"modal-title\",fn:function(){return [(_vm.cancelCompleteProjectErrorModalType==='Cancelled')?_c('span',{staticClass:\"project-modal-danger\"},[_vm._v(\"Error Cancelling Project!\")]):_c('span',{staticClass:\"project-modal-danger\"},[_vm._v(\"Error Closing Project!\")])]},proxy:true}])},[(_vm.cancelCompleteProjectErrorModalReason==='OpenWorkOrder')?_c('div',[_c('p',[_vm._v(\"Project cannot be marked as \"+_vm._s(_vm.cancelCompleteProjectErrorModalType)+\": One or more Work Orders are open.\")]),_c('p',[_vm._v(\"Please ensure all Work Orders are Completed or Cancelled.\")])]):_vm._e(),(_vm.cancelCompleteProjectErrorModalReason==='UnpaidBill')?_c('div',[_c('p',[_vm._v(\"Project cannot be marked as \"+_vm._s(_vm.cancelCompleteProjectErrorModalType)+\": One or more Bills are unpaid.\")]),_c('p',[_vm._v(\"Please ensure all Bills are either Paid or Voided.\")])]):_vm._e(),(_vm.cancelCompleteProjectErrorModalReason==='UnpaidIncentivePayment')?_c('div',[_c('p',[_vm._v(\"Project cannot be marked as \"+_vm._s(_vm.cancelCompleteProjectErrorModalType)+\": One or more Incentive Payments planned for the Project remain unpaid.\")]),_c('p',[_vm._v(\"Please indicate paid date or delete the planned payment.\")])]):_vm._e()]),_c('b-modal',{attrs:{\"id\":\"completeProjectModal\"},on:{\"ok\":function($event){return _vm.onCompleteProjectOkClick()}},scopedSlots:_vm._u([{key:\"modal-title\",fn:function(){return [_c('span',{staticClass:\"project-modal-warning\"},[_vm._v(\"Confirm Project Completion\")])]},proxy:true},{key:\"modal-footer\",fn:function(ref){\nvar ok = ref.ok;\nvar cancel = ref.cancel;\nreturn [_c('b-button',{staticClass:\"btn-danger\",attrs:{\"size\":\"sm\",\"variant\":\"danger\"},on:{\"click\":cancel}},[_vm._v(\"No\")]),_c('b-button',{staticClass:\"btn-success\",attrs:{\"size\":\"sm\",\"variant\":\"success\"},on:{\"click\":ok}},[_vm._v(\"Yes\")])]}}])},[_c('p',[_vm._v(\"Projects cannot be edited in Acorn once completed.\")]),_c('p',[_vm._v(\"Are you sure you want to Complete this Project?\")])]),_c('b-modal',{attrs:{\"id\":\"cancelProjectModal\"},on:{\"ok\":function($event){return _vm.onCancelProjectOkClick()}},scopedSlots:_vm._u([{key:\"modal-title\",fn:function(){return [_c('span',{staticClass:\"project-modal-warning\"},[_vm._v(\"Confirm Project Cancellation\")])]},proxy:true},{key:\"modal-footer\",fn:function(ref){\nvar ok = ref.ok;\nvar cancel = ref.cancel;\nreturn [_c('b-button',{staticClass:\"btn-danger\",attrs:{\"size\":\"sm\",\"variant\":\"danger\"},on:{\"click\":cancel}},[_vm._v(\"No\")]),_c('b-button',{staticClass:\"btn-success\",attrs:{\"size\":\"sm\",\"variant\":\"success\"},on:{\"click\":ok}},[_vm._v(\"Yes\")])]}}])},[_c('p',[_vm._v(\"Projects cannot be edited in Acorn once cancelled.\")]),_c('p',[_vm._v(\"Are you sure you want to Cancel this Project?\")])]),_c('b-modal',{attrs:{\"id\":\"projectWorkOrderPlannedModal\"},on:{\"ok\":function($event){return _vm.onProjectWorkOrderPlannedModalOkClick()}},scopedSlots:_vm._u([{key:\"modal-title\",fn:function(){return [_c('span',{staticClass:\"project-modal-warning\"},[_vm._v(\"Unapproved Funding Years!\")])]},proxy:true},{key:\"modal-footer\",fn:function(ref){\nvar ok = ref.ok;\nvar cancel = ref.cancel;\nreturn [_c('b-button',{staticClass:\"btn-danger\",attrs:{\"size\":\"sm\",\"variant\":\"danger\"},on:{\"click\":cancel}},[_vm._v(\"No\")]),_c('b-button',{staticClass:\"btn-success\",attrs:{\"size\":\"sm\",\"variant\":\"success\"},on:{\"click\":ok}},[_vm._v(\"Yes\")])]}}])},[_c('p',[_vm._v(\"This project still has scopes of work planned for the future.\")]),_c('p',[_vm._v(\"Are you sure you want to Complete this Project?\")])]),_c('b-modal',{attrs:{\"id\":\"invalidPlanDetailsModal\",\"centered\":\"\",\"scrollable\":\"\",\"ok-only\":\"\"},scopedSlots:_vm._u([{key:\"modal-title\",fn:function(){return [_c('span',{staticClass:\"project-modal-warning\"},[_vm._v(\"Invalid Plan Details!\")])]},proxy:true}])},[_c('div',[_c('p',[_vm._v(\"One or more Project Plan Detail items does not meet minimum length requirements!\")]),_c('p',[_vm._v(\"Please use the Project's Plan Details tab to update them.\")]),_c('p',[_vm._v(\"Please save your changes after making them.\")])])]),_c('b-modal',{attrs:{\"id\":\"invalidStartDateModal\",\"centered\":\"\",\"scrollable\":\"\",\"ok-only\":\"\"},scopedSlots:_vm._u([{key:\"modal-title\",fn:function(){return [_c('span',{staticClass:\"project-modal-warning\"},[_vm._v(\"Invalid Start Date!\")])]},proxy:true}])},[_c('div',[_c('p',[_vm._v(\"This Project does not have a Start Date!\")]),_c('p',[_vm._v(\"Please update the Project's \\\"Start Date\\\" field in Insightly.\")])])]),_c('b-modal',{attrs:{\"id\":\"insufficientFundsModal\",\"centered\":\"\",\"scrollable\":\"\",\"size\":\"xl\",\"title\":\"Insufficient Funds\",\"ok-only\":\"\"}},[_c('div',[_c('p',[_vm._v(\"There are insufficient funds to cover the requested costs for this Project for one or more funding sources.\")]),_c('p',[_vm._v(\"Please make adjustments to amounts being requested, funding sources used, and/or increase the available funds for the funding sources used.\")])]),(_vm.projectBudget && _vm.fundingSources)?_c('div',[_c('b-container',[_c('b-row',[_c('b-col',{staticClass:\"insufficient-funds-header\",attrs:{\"cols\":\"3\"}},[_vm._v(\"Funding Source\")]),_c('b-col',{attrs:{\"cols\":\"9\"}},[_c('b-container',[_c('b-row',[_c('b-col',{staticClass:\"insufficient-funds-header insufficient-funds-numeric\",attrs:{\"cols\":\"3\"}},[_vm._v(\"Total \\\"New Projects Budget\\\"\")]),_c('b-col',{staticClass:\"insufficient-funds-header insufficient-funds-numeric\",attrs:{\"cols\":\"3\"}},[_vm._v(\"Encumbered across all Projects\")]),_c('b-col',{staticClass:\"insufficient-funds-header insufficient-funds-numeric\",attrs:{\"cols\":\"2\"}},[_vm._v(\"Remaining\")]),_c('b-col',{staticClass:\"insufficient-funds-header insufficient-funds-numeric\",attrs:{\"cols\":\"2\"}},[_vm._v(\"Requested for this Project\")]),_c('b-col',{staticClass:\"insufficient-funds-header insufficient-funds-numeric\",attrs:{\"cols\":\"2\"}},[_vm._v(\"Difference\")])],1)],1)],1)],1),_vm._l((_vm.projectBudgetValidationResults),function(item){return _c('b-row',{key:item.fundingSourceId},[(item.totalDifference < 0)?[_c('b-col',{attrs:{\"cols\":\"3\"}},[_vm._v(_vm._s(item.fundingSourceName))]),_c('b-col',{attrs:{\"cols\":\"9\"}},[_c('b-container',[_c('b-row',[_c('b-col',{staticClass:\"insufficient-funds-numeric\",attrs:{\"cols\":\"3\"}},[_vm._v(_vm._s(_vm._f(\"toCurrency\")(item.totalBudgeted)))]),_c('b-col',{staticClass:\"insufficient-funds-numeric\",attrs:{\"cols\":\"3\"}},[_vm._v(_vm._s(_vm._f(\"toCurrency\")(item.totalEncumbered)))]),_c('b-col',{staticClass:\"insufficient-funds-numeric\",attrs:{\"cols\":\"2\"}},[_vm._v(_vm._s(_vm._f(\"toCurrency\")(item.totalAvailable)))]),_c('b-col',{staticClass:\"insufficient-funds-numeric\",attrs:{\"cols\":\"2\"}},[_vm._v(_vm._s(_vm._f(\"toCurrency\")(item.totalRequested)))]),_c('b-col',{staticClass:\"insufficient-funds-numeric\",attrs:{\"cols\":\"2\"}},[_vm._v(\"(\"+_vm._s(_vm._f(\"toCurrency\")(Math.abs(item.totalDifference)))+\")\")])],1)],1)],1)]:_vm._e()],2)})],2)],1):_vm._e()])],1),_c('div',{staticClass:\"col\"},[(_vm.isSubmitter && _vm.isSubmittable)?_c('b-button',{directives:[{name:\"b-modal\",rawName:\"v-b-modal\",value:('submitProjectConceptModal'),expression:\"'submitProjectConceptModal'\"}],staticClass:\"project-concept-button rounded-pill float-right-button\",attrs:{\"id\":\"submitProjectConceptButton\",\"variant\":\"primary\",\"title\":_vm.getSubmitProjectConceptTitle,\"disabled\":!_vm.isSubmitProjectConceptEnabled}},[_c('span',[_vm._v(\"Submit Concept\")])]):_vm._e(),(_vm.isApprover && _vm.isApprovable)?_c('b-button',{staticClass:\"project-concept-button rounded-pill float-right-button\",attrs:{\"variant\":\"primary\",\"title\":\"Approve\"},on:{\"click\":_vm.onApproveProjectConceptClick}},[_c('span',[_vm._v(\"Approve\")])]):_vm._e(),(_vm.isRejecter && _vm.isRejectable)?_c('b-button',{staticClass:\"project-concept-button rounded-pill float-right-button\",attrs:{\"variant\":\"danger\",\"title\":\"Reject\"},on:{\"click\":_vm.onRejectProjectConceptClick}},[_c('span',[_vm._v(\"Reject\")])]):_vm._e(),_c('b-modal',{attrs:{\"id\":\"submitProjectConceptModal\",\"title\":\"Confirm Project Concept Submittal\"},on:{\"ok\":function($event){return _vm.onSubmitProjectConceptOkClick()}},scopedSlots:_vm._u([{key:\"modal-footer\",fn:function(ref){\nvar ok = ref.ok;\nvar cancel = ref.cancel;\nreturn [_c('b-button',{staticClass:\"btn-danger\",attrs:{\"size\":\"sm\",\"variant\":\"danger\"},on:{\"click\":cancel}},[_vm._v(\"No\")]),_c('b-button',{staticClass:\"btn-success\",attrs:{\"size\":\"sm\",\"variant\":\"success\"},on:{\"click\":ok}},[_vm._v(\"Yes\")])]}}])},[_c('p',[_vm._v(\"Once submitted, you will not be able to make changes to this Project Concept section.\")]),_c('p',[_vm._v(\"Are you sure you want to submit this Project Concept for review?\")])]),(_vm.isSubmitter && _vm.isProjectSubmittable)?_c('b-button',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover\",modifiers:{\"hover\":true}}],staticClass:\"project-concept-button rounded-pill float-right-button\",attrs:{\"id\":\"submitProjectButton\",\"variant\":\"primary\",\"title\":_vm.submitProjectButtonTitle,\"disabled\":!_vm.isSubmitProjectEnabled},on:{\"click\":_vm.onSubmitProjectClick}},[_c('span',[_vm._v(\"Submit Project\")])]):_vm._e(),(_vm.isApprover && _vm.isProjectApprovable)?_c('b-button',{staticClass:\"project-concept-button rounded-pill float-right-button\",attrs:{\"variant\":\"primary\",\"title\":\"Approve Project\",\"disabled\":_vm.isValidating},on:{\"click\":_vm.onApproveProjectClick}},[_c('span',[_vm._v(\"Approve\")])]):_vm._e(),(_vm.isRejecter && _vm.isProjectRejectable)?_c('b-button',{directives:[{name:\"b-modal\",rawName:\"v-b-modal\",value:('rejectProjectModal'),expression:\"'rejectProjectModal'\"}],staticClass:\"project-concept-button rounded-pill float-right-button\",attrs:{\"variant\":\"danger\",\"title\":\"Reject Project\",\"disabled\":_vm.isValidating}},[_c('span',[_vm._v(\"Reject\")])]):_vm._e(),(_vm.isApprover)?_c('span',[(_vm.isProjectCompletable)?_c('b-button',{staticClass:\"project-concept-button rounded-pill float-right-button\",attrs:{\"variant\":\"primary\",\"title\":\"Complete Project\"},on:{\"click\":_vm.onCompleteProjectClick}},[_c('span',[_vm._v(\"Complete\")])]):_vm._e(),(_vm.isProjectCancelable)?_c('b-button',{staticClass:\"project-concept-button rounded-pill float-right-button\",attrs:{\"variant\":\"danger\",\"title\":\"Cancel Project\"},on:{\"click\":_vm.onCancelProjectClick}},[_c('span',[_vm._v(\"Cancel\")])]):_vm._e()],1):_vm._e()],1)]),_c('b-nav',{staticClass:\"section-header project-subheader-line\",attrs:{\"content-class\":\"mt-3\",\"pills\":\"\",\"rounded-pill\":\"\",\"align\":\"right\"}},[_c('b-nav-item',{attrs:{\"active-class\":'rounded-pill',\"active\":_vm.$route.name === 'ProjectOverview',\"to\":{ name: 'ProjectOverview', params: { id: parseInt(this.$route.params.id, 10) } }}},[_vm._v(\" Overview \")]),_c('b-nav-item',{attrs:{\"active-class\":'rounded-pill',\"active\":_vm.$route.name === 'ProjectContacts',\"to\":{ name: 'ProjectContacts', params: { id: parseInt(this.$route.params.id, 10) } }}},[_vm._v(\" Contacts \")]),(_vm.isTabbable)?_c('b-nav-item',{attrs:{\"active-class\":'rounded-pill',\"active\":_vm.$route.name === 'ProjectGoals',\"to\":{ name: 'ProjectGoals', params: { id: parseInt(this.$route.params.id, 10) } }}},[_vm._v(\" Goals \")]):_vm._e(),(_vm.isTabbable)?_c('b-nav-item',{attrs:{\"active-class\":'rounded-pill',\"active\":_vm.$route.name === 'PlanDetails',\"to\":{ name: 'PlanDetails', params: { id: parseInt(this.$route.params.id, 10) } }}},[_vm._v(\" Plan Details \")]):_vm._e(),(_vm.isTabbable)?_c('b-nav-item',{attrs:{\"active-class\":'rounded-pill',\"active\":_vm.$route.name === 'ProjectActions',\"to\":{ name: 'ProjectActions', params: { id: parseInt(this.$route.params.id, 10) } }}},[_vm._v(\" Project Actions \")]):_vm._e(),(_vm.isTabbable)?_c('b-nav-item',{attrs:{\"active-class\":'rounded-pill',\"active\":_vm.$route.name === 'ProjectBudget',\"to\":{ name: 'ProjectBudget', params: { id: parseInt(this.$route.params.id, 10) } }}},[_vm._v(\" Budget \")]):_vm._e(),(_vm.isTabbable && _vm.project && _vm.project != null && (_vm.project.category === 'ECREP Project' || _vm.project.category === 'VEGBAC Project'))?_c('b-nav-item',{attrs:{\"active-class\":'rounded-pill',\"active\":_vm.$route.name === 'ProjectIncentives',\"to\":{ name: 'ProjectIncentives', params: { id: parseInt(this.$route.params.id, 10) } }}},[_vm._v(\" Incentive Payments \")]):_vm._e(),(_vm.project && (_vm.project.approvalStatus == 'Approved' || _vm.project.approvalStatus == 'Completed' || _vm.project.approvalStatus == 'Cancelled'))?_c('b-nav-item',{attrs:{\"active-class\":'rounded-pill',\"active\":_vm.$route.name === 'ProjectWorkorders',\"to\":{ name: 'ProjectWorkorders', params: { id: parseInt(this.$route.params.id, 10) } }}},[_c('span',[_vm._v(\"Work Orders\")])]):_vm._e(),(_vm.isTabbable && _vm.isProjectOutcomesEnabled)?_c('b-nav-item',{attrs:{\"active-class\":'rounded-pill',\"active\":_vm.$route.name === 'ProjectOutcomes',\"to\":{ name: 'ProjectOutcomes', params: { id: parseInt(this.$route.params.id, 10) } }}},[_vm._v(\" Outcomes \")]):_vm._e()],1),_c('div',[_c('b-overlay',{attrs:{\"show\":_vm.formLoading || _vm.isDownloading || _vm.isValidating}},[_c('router-view')],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/* eslint-disable max-len, padded-blocks, prefer-destructuring */\nimport api from '@/api';\nimport { loadModules } from 'esri-loader';\nimport ProjectTotalsCalculator from '@/mixins/projectTotalsCalculator';\n\nexport default {\n mixins: [ProjectTotalsCalculator],\n computed: {\n isSubmitProjectConceptEnabled() {\n if (!this.project || !this.project.rankingScore) return false;\n if (!this.projectConcept || !this.projectConcept.projectConceptProjectResourcePriorities || this.projectConcept.projectConceptProjectResourcePriorities.length === 0) return false;\n if (!this.projectConcept || this.projectConcept.estimatedCost == null) return false;\n if (!this.projectConcept || !this.projectConcept.statement || this.projectConcept.statement.length < 50) return false;\n return true;\n },\n getSubmitProjectConceptTitle() {\n if (!this.project || !this.project.rankingScore) return 'Invalid Ranking Score';\n if (!this.projectConcept || !this.projectConcept.projectConceptProjectResourcePriorities || this.projectConcept.projectConceptProjectResourcePriorities.length === 0) return 'Invalid Resource Priorities';\n if (!this.projectConcept || this.projectConcept.estimatedCost == null) return 'Invalid Estimated Cost';\n if (!this.projectConcept || !this.projectConcept.statement || this.projectConcept.statement.length < 50) return 'Invalid Project Concept Statement';\n return 'Submit Concept';\n },\n isSubmitProjectEnabled() {\n if (!this.project) {\n console.warn('Exit isSubmitProjectEnabled(): Invalid Project reference');\n this.submitProjectButtonTitle = 'Invalid Project reference';\n return false;\n }\n\n if (!this.projectBudget) {\n console.warn('Exit isSubmitProjectEnabled(): Invalid Project Budget reference');\n this.submitProjectButtonTitle = 'Invalid Project Budget reference';\n return false;\n }\n\n if (!this.projectBudget.projectBudgetYears || this.projectBudget.projectBudgetYears.length === 0) {\n console.warn('Exit isSubmitProjectEnabled(): Invalid Project Budget Years');\n this.submitProjectButtonTitle = 'Invalid Project Budget Years';\n return false;\n }\n\n const projectBudgetYears = this.projectBudget.projectBudgetYears.filter(\n (e) => e.projectBudgetLineItems && e.projectBudgetLineItems.length,\n );\n\n if (projectBudgetYears.length === 0) {\n console.warn('Exit isSubmitProjectEnabled(): Invalid Project Budget Line Item count');\n this.submitProjectButtonTitle = 'Invalid Project Budget Line Item count';\n return false;\n }\n\n if (!this.projectGoalSelections || !this.projectObjectiveSelections || !this.projectObjectiveAccomplishmentTargetSelections) {\n console.warn('Exit isSubmitProjectEnabled(): Invalid Project Goal reference');\n this.submitProjectButtonTitle = 'Invalid Project Goal reference';\n return false;\n }\n\n if (!this.projectPlanDetails) {\n console.warn('Exit isSubmitProjectEnabled(): Invalid Project PlanDetails reference');\n this.submitProjectButtonTitle = 'Invalid Project PlanDetails reference';\n return false;\n }\n\n if (!this.projectPractices) {\n console.warn('Exit isSubmitProjectEnabled(): Invalid Project Practices reference');\n this.submitProjectButtonTitle = 'Invalid Project Practices reference';\n return false;\n }\n\n if (this.projectGoalSelections.length === 0) {\n console.warn('Exit isSubmitProjectEnabled(): Invalid Project Goals');\n this.submitProjectButtonTitle = 'Invalid Project Goals';\n return false;\n }\n\n if (this.projectObjectiveSelections.length === 0) {\n console.warn('Exit isSubmitProjectEnabled(): Invalid Project Objectives');\n this.submitProjectButtonTitle = 'Invalid Project Objectives';\n return false;\n }\n\n if (this.projectObjectiveAccomplishmentTargetSelections.length === 0) {\n console.warn('Exit isSubmitProjectEnabled(): Invalid Project Accomplishment Targets');\n this.submitProjectButtonTitle = 'Invalid Project Accomplishment Targets';\n return false;\n }\n\n const bypassCategories = [\n 'Conservation Ed Grant',\n 'Conservation Ed Project',\n 'Consulting',\n 'Outreach & Education',\n ];\n\n if (!bypassCategories.includes(this.project.category)) {\n console.debug(`Project Action validation entered for category '${this.project.category}'`);\n if (this.projectPractices.length === 0) {\n console.warn('Exit isSubmitProjectEnabled(): Invalid Project Actions');\n this.submitProjectButtonTitle = 'Invalid Project Actions';\n return false;\n }\n } else {\n console.debug(`Project Action validation bypassed for category '${this.project.category}'`);\n }\n\n if (!bypassCategories.includes(this.project.category)) {\n console.debug(`Project Geometry validation entered for category '${this.project.category}'`);\n if (!this.projectGeometry) {\n console.warn('Exit isSubmitProjectEnabled(): Invalid Project Geometry');\n this.submitProjectButtonTitle = 'Invalid Project Geometry';\n return false;\n }\n } else {\n console.debug(`Project Geometry validation bypassed for category '${this.project.category}'`);\n }\n\n this.submitProjectButtonTitle = 'Submit Project';\n return true;\n },\n isApprovable() {\n if (!this.config || !this.submitStatus || !this.project || !this.project.approvalStatus) return false;\n switch (this.project.approvalStatus) {\n case this.submitStatus.Approved:\n return false;\n case this.submitStatus.ApprovedForPlanning:\n return false;\n case this.submitStatus.ConceptRejected:\n return false;\n case this.submitStatus.Draft:\n return false;\n case this.submitStatus.Rejected:\n return false;\n case this.submitStatus.SubmittedForPlanningApproval:\n return true;\n case this.submitStatus.SubmittedForProjectApproval:\n return false;\n default:\n return false;\n }\n },\n isRejectable() {\n if (!this.config || !this.submitStatus || !this.project || !this.project.approvalStatus) return false;\n switch (this.project.approvalStatus) {\n case this.submitStatus.Approved:\n return false;\n case this.submitStatus.ApprovedForPlanning:\n return false;\n case this.submitStatus.ConceptRejected:\n return false;\n case this.submitStatus.Draft:\n return false;\n case this.submitStatus.Rejected:\n return false;\n case this.submitStatus.SubmittedForPlanningApproval:\n return true;\n case this.submitStatus.SubmittedForProjectApproval:\n return false;\n default:\n return false;\n }\n },\n isSubmittable() {\n if (!this.config || !this.submitStatus || !this.project || !this.project.approvalStatus) return false;\n switch (this.project.approvalStatus) {\n case this.submitStatus.Approved:\n return false;\n case this.submitStatus.ApprovedForPlanning:\n return false;\n case this.submitStatus.ConceptRejected:\n return true;\n case this.submitStatus.Draft:\n return true;\n case this.submitStatus.Rejected:\n return false;\n case this.submitStatus.SubmittedForPlanningApproval:\n return false;\n case this.submitStatus.SubmittedForProjectApproval:\n return false;\n default:\n return false;\n }\n },\n isTabbable() {\n if (!this.config || !this.submitStatus || !this.project || !this.project.approvalStatus) return false;\n switch (this.project.approvalStatus) {\n case this.submitStatus.ConceptRejected:\n return false;\n case this.submitStatus.Draft:\n return false;\n case this.submitStatus.SubmittedForPlanningApproval:\n return false;\n default:\n return true;\n }\n },\n isProjectSubmittable() {\n if (!this.config || !this.submitStatus || !this.project || !this.project.approvalStatus) return false;\n switch (this.project.approvalStatus) {\n case this.submitStatus.Approved:\n return false;\n case this.submitStatus.ApprovedForPlanning:\n return true;\n case this.submitStatus.ConceptRejected:\n return false;\n case this.submitStatus.Draft:\n return false;\n case this.submitStatus.Rejected:\n return true;\n case this.submitStatus.SubmittedForPlanningApproval:\n return false;\n case this.submitStatus.SubmittedForProjectApproval:\n return false;\n default:\n return false;\n }\n },\n isProjectApprovable() {\n\n if (!this.config || !this.submitStatus || !this.project || !this.project.approvalStatus) return false;\n\n if (!this.fundingSourceSummaries) return false;\n if (!this.projectIncentivePayments) return false;\n if (!this.fundingSourceBudgets) return false;\n if (!this.fundingSourceEncumberedFunds) return false;\n if (!this.fundingSourceExpendedFunds) return false;\n if (!this.fundingSources) return false;\n\n switch (this.project.approvalStatus) {\n case this.submitStatus.Approved:\n return false;\n case this.submitStatus.ApprovedForPlanning:\n return false;\n case this.submitStatus.ConceptRejected:\n return false;\n case this.submitStatus.Draft:\n return false;\n case this.submitStatus.Rejected:\n return false;\n case this.submitStatus.SubmittedForPlanningApproval:\n return false;\n case this.submitStatus.SubmittedForProjectApproval:\n return true;\n default:\n return false;\n }\n },\n isProjectCancelable() {\n if (!this.config || !this.submitStatus || !this.project || !this.project.approvalStatus) return false;\n if (this.project.approvalStatus !== this.submitStatus.Approved) return false;\n return true;\n },\n isProjectCompletable() {\n if (!this.config || !this.submitStatus || !this.project || !this.project.approvalStatus) return false;\n if (this.project.approvalStatus !== this.submitStatus.Approved) return false;\n return true;\n },\n isProjectRejectable() {\n if (!this.config || !this.submitStatus || !this.project || !this.project.approvalStatus) return false;\n switch (this.project.approvalStatus) {\n case this.submitStatus.Approved:\n return false;\n case this.submitStatus.ApprovedForPlanning:\n return false;\n case this.submitStatus.ConceptRejected:\n return false;\n case this.submitStatus.Draft:\n return false;\n case this.submitStatus.Rejected:\n return false;\n case this.submitStatus.SubmittedForPlanningApproval:\n return false;\n case this.submitStatus.SubmittedForProjectApproval:\n return true;\n default:\n return false;\n }\n },\n isProjectOutcomesEnabled() {\n if (!this.config || !this.submitStatus || !this.project || !this.project.approvalStatus) return false;\n switch (this.project.approvalStatus) {\n case this.submitStatus.Approved:\n return true;\n case this.submitStatus.Cancelled:\n return true;\n case this.submitStatus.Completed:\n return true;\n default:\n return false;\n }\n },\n },\n methods: {\n async isProjectWorkOrderOpen() {\n this.formLoading = true;\n\n if (!this.projectWorkorders || this.projectWorkorders == null) {\n await this.$store.dispatch('Project/getProjectWorkorders', parseInt(this.$route.params.id, 10));\n }\n\n this.formLoading = false;\n return this.projectWorkorders.filter((e) => (e.status !== 'Completed') && (e.status !== 'Cancelled')).length > 0;\n },\n async isProjectWorkOrderBillUnpaid() {\n this.formLoading = true;\n\n if (!this.projectWorkorders || this.projectWorkorders == null) {\n await this.$store.dispatch('Project/getProjectWorkorders', parseInt(this.$route.params.id, 10));\n }\n\n if (!this.projectWorkorderBills || this.projectWorkorderBills == null) {\n await this.$store.dispatch(\n 'Project/getProjectWorkorderBills',\n this.projectWorkorders.map((e) => e.id),\n );\n }\n\n this.formLoading = false;\n\n return this.projectWorkorderBills.filter(\n (e) => ((e.status !== 'Paid') && (e.status !== 'Void')),\n ).length > 0;\n },\n async isProjectIncentiveUnpaid() {\n return this.projectIncentivePayments.filter((e) => e.datePaid === null).length > 0;\n },\n isProjectWorkPlanned() {\n const unapprovedProjectBudgets = this.projectBudget.projectBudgetYears.filter((e) => e.status !== 'Approved');\n const unapprovedProjectBudgetLineItems = unapprovedProjectBudgets.map((e) => e.projectBudgetLineItems).flat();\n return unapprovedProjectBudgetLineItems.length > 0;\n },\n load() {\n (async () => {\n if (!this.projectBudget || !this.projectBudget.id) await this.$store.dispatch('Project/fetchProjectBudget', this.project.id);\n\n if (!this.fundingSources || this.fundingSources.length === 0) {\n this.$store.dispatch('Project/fetchFundingSources').then(() => {\n this.loadProjectBudgetValidationData();\n });\n } else {\n this.loadProjectBudgetValidationData();\n }\n\n this.$store.dispatch('Project/fetchPlanDetails', this.project.id);\n this.$store.dispatch('Project/getProjectGoalSelectionsAsync', this.project.id);\n this.$store.dispatch('Project/getProjectIncentivePayments', this.project.id);\n this.$store.dispatch('Project/getProjectObjectiveAccomplishmentTargetSelectionsAsync', this.project.id);\n this.$store.dispatch('Project/getProjectObjectiveSelectionsAsync', this.project.id);\n this.$store.dispatch('Project/getProjectPractices', this.project.id);\n\n if (this.project.category !== 'Conservation Ed Project') {\n this.loadProjectGeometry();\n }\n })();\n },\n fundsForNewProjects() {\n return this.fundsPerFiscalYear\n .filter((e) => e.customfields.find((field) => field.fielD_NAME === 'Funding_Source__c')\n && e.customfields.find((field) => field.fielD_NAME === 'New_Projects_Budget__c'))\n .map((e) => ({\n id: e.customfields.find((field) => field.fielD_NAME === 'Funding_Source__c').fielD_VALUE,\n budget: e.customfields.find((field) => field.fielD_NAME === 'New_Projects_Budget__c').fielD_VALUE,\n })).sort((a, b) => a.id - b.id);\n },\n fundsForAnnualBudgets() {\n return this.fundsPerFiscalYear\n .filter((e) => e.customfields.find((field) => field.fielD_NAME === 'Funding_Source__c')\n && e.customfields.find((field) => field.fielD_NAME === 'Approved_Projects_Budget__c'))\n .map((e) => ({\n id: e.customfields.find((field) => field.fielD_NAME === 'Funding_Source__c').fielD_VALUE,\n budget: e.customfields.find((field) => field.fielD_NAME === 'Approved_Projects_Budget__c').fielD_VALUE,\n })).sort((a, b) => a.id - b.id);\n },\n loadProjectBudgetValidationData() {\n (async () => {\n await this.$store.dispatch('Project/getFundsPerFiscalYear', this.fiscalYear);\n this.fundingSourceBudgets = this.fundsForNewProjects();\n await this.$store.dispatch('Project/getFundingSourceEncumberedFunds', this.fiscalYear);\n await this.$store.dispatch('Project/getFundingSourceExpendedFunds', this.fiscalYear);\n })();\n },\n loadProjectGeometry() {\n loadModules(\n ['esri/geometry/geometryEngine', 'esri/identity/IdentityManager', 'esri/layers/FeatureLayer'],\n { css: true },\n ).then((\n [geometryEngine, IdentityManager, FeatureLayer],\n ) => {\n\n this.identityManager = IdentityManager;\n\n if (localStorage['acorn.identityManager']) {\n try {\n this.identityManager.initialize(localStorage['acorn.identityManager']);\n } catch (exception) {\n console.error('this.identityManager could not be initialized with localStorage[\\'acorn.identityManager\\']]');\n }\n }\n\n this.identityManager.on('credential-create', () => {\n try {\n localStorage['acorn.identityManager'] = JSON.stringify(this.identityManager.toJSON());\n } catch (exception) {\n console.error('localStorage[\\'acorn.identityManager\\'] could not be set with JSON.stringify(this.identityManager.toJSON())');\n }\n });\n\n const url = this.config.projectMap.layers.filter((e) => e.id === 'projectFeatureLayer')[0].url;\n const projectLayer = new FeatureLayer({ url });\n const query = projectLayer.createQuery();\n\n query.where = `insightlyid=${this.project.id}`;\n\n projectLayer.queryFeatures(query).then((results) => {\n if (results && results.features && results.features.length > 0) {\n const projectGeometry = geometryEngine.union(\n results.features.map((feature) => feature.geometry),\n );\n this.$store.dispatch('Project/setProjectGeometry', projectGeometry);\n } else {\n this.$store.dispatch('Project/setProjectGeometry', null);\n }\n });\n\n });\n },\n getProjectSummaryHref() {\n // force the last part of the path to the overview page\n return `${window.location.href.slice(0, window.location.href.lastIndexOf('/'))}/overview`;\n },\n onApproveProjectConceptClick() {\n this.project.approvalStatus = this.submitStatus.ApprovedForPlanning;\n this.onProjectClick();\n window.location.href = `mailto:${this.project.projectManager.emailAddress}?subject=Project Concept Approved&body=${this.project.projectName}: ${this.getProjectSummaryHref()}`;\n },\n onRejectProjectConceptClick() {\n this.project.approvalStatus = this.submitStatus.ConceptRejected;\n this.onProjectClick();\n window.location.href = `mailto:${this.project.projectManager.emailAddress}?subject=Project Concept Rejected&body=${this.project.projectName}: ${this.getProjectSummaryHref()}`;\n },\n onSubmitProjectConceptOkClick() {\n this.project.approvalStatus = this.submitStatus.SubmittedForPlanningApproval;\n this.onProjectClick();\n },\n async onApproveProjectClick() {\n this.isValidating = true;\n\n const validStartDate = this.validateProjectStartDate();\n if (!validStartDate) {\n this.$bvModal.show(this.invalidStartDateModal);\n return;\n }\n\n const fiscalYear = this.getFiscalYear(this.project.startDate);\n\n let fundingSourceIds = this.transformProjectBudgetToFundingSourceIds(this.projectBudget) || [];\n\n fundingSourceIds = [...new Set(fundingSourceIds)].sort((a, b) => a - b);\n\n const projectLineItems = this.transformProjectLineItems(this.projectBudget);\n\n const projectIncentivePayments = this.transformProjectIncentivePayments(this.projectIncentivePayments);\n\n if (projectIncentivePayments) {\n fundingSourceIds = fundingSourceIds.concat(projectIncentivePayments.map((e) => e.fundingSourceId));\n }\n\n await this.$store.dispatch('Project/getFundsPerFiscalYear', fiscalYear);\n const budgetedFunds = this.transformFundsPerFiscalYearToBudgetedFunds([...this.fundsPerFiscalYear], fundingSourceIds);\n\n await this.$store.dispatch('Project/getProjectSnapshots', fiscalYear);\n\n const lineItemEncumberedFunds = this.transformProjectSnapshotsToLineItemEncumberedFunds(this.project.id, fundingSourceIds, this.projectSnapshots, fiscalYear);\n\n const incentivePaymentEncumberedFunds = this.transformProjectSnapshotsToIncentivePaymentEncumberedFunds(this.project.id, fundingSourceIds, this.projectSnapshots);\n\n this.validateProjectBudget(\n fundingSourceIds,\n budgetedFunds,\n lineItemEncumberedFunds,\n incentivePaymentEncumberedFunds,\n projectLineItems,\n projectIncentivePayments,\n );\n\n this.isValidating = false;\n\n if (this.insufficientFunds) {\n this.$bvModal.show(this.insufficientFundsModal);\n } else {\n this.$bvModal.show(this.approveProjectModal);\n }\n },\n onApproveProjectOkClick() {\n this.project.approvalStatus = this.submitStatus.Approved;\n this.onProjectClick();\n window.location.href = `mailto:${this.project.projectManager.emailAddress}?subject=Project Plan Approved&body=${this.project.projectName}: ${this.getProjectSummaryHref()}`;\n },\n async onCancelProjectClick() {\n\n const isProjectWorkOrderOpen = await this.isProjectWorkOrderOpen();\n if (isProjectWorkOrderOpen) {\n this.cancelCompleteProjectErrorModalReason = 'OpenWorkOrder';\n this.cancelCompleteProjectErrorModalType = this.submitStatus.Cancelled;\n this.$bvModal.show(this.cancelCompleteProjectErrorModal);\n return;\n }\n\n const isProjectWorkOrderBillUnpaid = await this.isProjectWorkOrderBillUnpaid();\n if (isProjectWorkOrderBillUnpaid) {\n this.cancelCompleteProjectErrorModalReason = 'UnpaidBill';\n this.cancelCompleteProjectErrorModalType = this.submitStatus.Cancelled;\n this.$bvModal.show(this.cancelCompleteProjectErrorModal);\n return;\n }\n\n const isProjectIncentiveUnpaid = await this.isProjectIncentiveUnpaid();\n if (isProjectIncentiveUnpaid) {\n this.cancelCompleteProjectErrorModalReason = 'UnpaidIncentivePayment';\n this.cancelCompleteProjectErrorModalType = this.submitStatus.Cancelled;\n this.$bvModal.show(this.cancelCompleteProjectErrorModal);\n return;\n }\n\n this.$bvModal.show(this.cancelProjectModal);\n },\n onCancelProjectOkClick() {\n this.project.approvalStatus = this.submitStatus.Cancelled;\n this.onProjectClick();\n },\n async onCompleteProjectClick() {\n\n this.cancelCompleteProjectErrorModalType = this.submitStatus.Completed;\n\n const isProjectWorkOrderOpen = await this.isProjectWorkOrderOpen();\n if (isProjectWorkOrderOpen) {\n this.cancelCompleteProjectErrorModalReason = 'OpenWorkOrder';\n this.$bvModal.show(this.cancelCompleteProjectErrorModal);\n return;\n }\n\n const isProjectWorkOrderBillUnpaid = await this.isProjectWorkOrderBillUnpaid();\n if (isProjectWorkOrderBillUnpaid) {\n this.cancelCompleteProjectErrorModalReason = 'UnpaidBill';\n this.$bvModal.show(this.cancelCompleteProjectErrorModal);\n return;\n }\n\n const isProjectIncentiveUnpaid = await this.isProjectIncentiveUnpaid();\n if (isProjectIncentiveUnpaid) {\n this.cancelCompleteProjectErrorModalReason = 'UnpaidIncentivePayment';\n this.$bvModal.show(this.cancelCompleteProjectErrorModal);\n return;\n }\n\n const isProjectWorkPlanned = this.isProjectWorkPlanned();\n if (isProjectWorkPlanned) {\n this.$bvModal.show(this.projectWorkOrderPlannedModal);\n return;\n }\n\n this.$bvModal.show(this.completeProjectModal);\n\n },\n onProjectWorkOrderPlannedModalOkClick() {\n this.$bvModal.show(this.completeProjectModal);\n },\n onCompleteProjectOkClick() {\n this.project.approvalStatus = this.submitStatus.Completed;\n this.onProjectClick();\n },\n onRejectProjectOkClick() {\n this.project.approvalStatus = this.submitStatus.Rejected;\n this.onProjectClick();\n window.location.href = `mailto:${this.project.projectManager.emailAddress}?subject=Project Plan Rejected&body=${this.project.projectName}: ${this.getProjectSummaryHref()}`;\n },\n onSubmitProjectClick() {\n this.$store.dispatch('Project/setPlanDetailsLoading', true);\n this.$store.dispatch('Project/forceFetchPlanDetails', this.project.id).then(() => {\n this.$store.dispatch('Project/setPlanDetailsLoading', false);\n if (!this.validatePlanDetails(this.projectPlanDetails)) {\n this.$bvModal.show(this.invalidPlanDetailsModal);\n } else {\n this.$bvModal.show(this.submitProjectModal);\n }\n });\n },\n onSubmitProjectOkClick() {\n this.project.approvalStatus = this.submitStatus.SubmittedForProjectApproval;\n this.onProjectClick();\n },\n onProjectClick() {\n (async () => {\n this.formLoading = true;\n\n await this.$store.dispatch('Project/setProjectApprovalStatus', { id: this.project.id, status: this.project.approvalStatus });\n\n if (\n this.project.approvalStatus === this.config.projectOverviewPage.submitStatus.Completed\n || this.project.approvalStatus === this.config.projectOverviewPage.submitStatus.Cancelled\n ) {\n await this.$store.dispatch('Project/setProjectStatus', { id: this.project.id, status: this.project.approvalStatus });\n }\n\n this.formLoading = false;\n\n // Use props/watchers to communicate status change to child components\n this.$store.state.Project.projectStatus = this.project.approvalStatus;\n })();\n },\n transformFundsPerFiscalYearToBudgetedFunds(fundsPerFiscalYear, fundingSourceIds) {\n let fundsPerFiscalYearObjects = fundsPerFiscalYear.map((e) => {\n\n const fundPerFiscalYear = {\n fundingSourceId: null,\n fiscalYear: null,\n id: e.recorD_ID,\n name: e.recorD_NAME,\n approvedProjectsBudget: 0,\n newProjectsBudget: 0,\n };\n\n let fundingSourceFieldName = 'Funding_Source__c';\n let fundingSourceField = e.customfields.find((customField) => customField.fielD_NAME === fundingSourceFieldName);\n if (fundingSourceField) {\n fundPerFiscalYear.fundingSourceId = fundingSourceField.fielD_VALUE;\n }\n\n fundingSourceFieldName = 'Fiscal_Year__c';\n fundingSourceField = e.customfields.find((customField) => customField.fielD_NAME === fundingSourceFieldName);\n if (fundingSourceField) {\n fundPerFiscalYear.fiscalYear = fundingSourceField.fielD_VALUE;\n }\n\n fundingSourceFieldName = 'Approved_Projects_Budget__c';\n fundingSourceField = e.customfields.find((customField) => customField.fielD_NAME === fundingSourceFieldName);\n if (fundingSourceField) {\n fundPerFiscalYear.approvedProjectsBudget = fundingSourceField.fielD_VALUE;\n }\n\n fundingSourceFieldName = 'New_Projects_Budget__c';\n fundingSourceField = e.customfields.find((customField) => customField.fielD_NAME === fundingSourceFieldName);\n if (fundingSourceField) {\n fundPerFiscalYear.newProjectsBudget = fundingSourceField.fielD_VALUE;\n }\n\n return fundPerFiscalYear;\n });\n\n fundsPerFiscalYearObjects = fundsPerFiscalYearObjects.filter((e) => fundingSourceIds.includes(e.fundingSourceId));\n\n const fundingSourceObjectIds = [...new Set(fundsPerFiscalYearObjects.map((e) => e.fundingSourceId))];\n const fundingSourceObjects = fundingSourceObjectIds.map((e) => ({ fundingSourceId: e, approvedProjectsBudget: 0, newProjectsBudget: 0 }));\n\n fundingSourceObjects.forEach((e) => {\n const fundingSourceFundsPerFiscalYear = fundsPerFiscalYearObjects.filter((fundPerFiscalYear) => fundPerFiscalYear.fundingSourceId === e.fundingSourceId);\n if (fundingSourceFundsPerFiscalYear.length > 0) {\n e.approvedProjectsBudget = fundingSourceFundsPerFiscalYear.map((fsfpfy) => fsfpfy.approvedProjectsBudget).reduce((a, b) => a + b);\n e.newProjectsBudget = fundingSourceFundsPerFiscalYear.map((fsfpfy) => fsfpfy.newProjectsBudget).reduce((a, b) => a + b);\n }\n });\n\n return fundingSourceObjects;\n },\n transformProjectBudgetToFundingSourceIds(projectBudget) {\n let fundingSourceIds = [];\n\n if (projectBudget.projectBudgetYears) {\n projectBudget.projectBudgetYears.forEach((projectBudgetYear) => {\n if (projectBudgetYear.projectBudgetLineItems) {\n const projectBudgetYearFundingSourceIds = projectBudgetYear.projectBudgetLineItems.map((e) => e.fundingSourceId);\n fundingSourceIds = fundingSourceIds.concat(projectBudgetYearFundingSourceIds);\n }\n });\n }\n\n fundingSourceIds = [...new Set(fundingSourceIds)];\n return fundingSourceIds;\n },\n transformProjectIncentivePayments(projectIncentivePayments) {\n const incentivePaymentObjectIds = [...new Set(projectIncentivePayments.map((e) => e.fundingSourceId))];\n\n const incentivePaymentObjects = incentivePaymentObjectIds.map((e) => {\n\n const incentivePaymentObject = {\n fundingSourceId: e,\n totalIncentivePayments: 0,\n };\n\n const fundingSourceIncentivePayments = projectIncentivePayments.filter(\n (incentivePayment) => incentivePayment.fundingSourceId === e,\n ).map(\n (incentivePayment) => incentivePayment.amountPaid,\n );\n\n if (fundingSourceIncentivePayments) {\n incentivePaymentObject.totalIncentivePayments = fundingSourceIncentivePayments.reduce((a, b) => a + b);\n }\n\n return incentivePaymentObject;\n });\n\n return incentivePaymentObjects;\n },\n transformProjectLineItems(projectBudget) {\n const projectBudgetLineItems = [];\n\n if (projectBudget.projectBudgetYears) {\n projectBudget.projectBudgetYears.forEach((projectBudgetYear) => {\n if (projectBudgetYear.projectBudgetLineItems) {\n projectBudgetYear.projectBudgetLineItems.forEach((projectBudgetLineItem) => {\n\n const quantity = projectBudgetLineItem.quantity;\n const unitCost = projectBudgetLineItem.unitCost;\n const costShare = (projectBudgetLineItem.costShare * 0.01);\n const contingencyPercent = 1 + (projectBudgetLineItem.contingencyPercent * 0.01);\n\n /* eslint-disable-next-line */\n const itemCost = Math.round(((quantity * (unitCost * 100)) * costShare) * contingencyPercent) / Math.pow(10, 2);\n\n const lineItem = {\n fundingSourceId: projectBudgetLineItem.fundingSourceId,\n quantity,\n unitCost,\n costShare,\n contingencyPercent,\n itemCost,\n };\n projectBudgetLineItems.push(lineItem);\n });\n }\n });\n }\n\n const lineItemIds = [...new Set(projectBudgetLineItems.map((e) => e.fundingSourceId))];\n const lineItemObjects = lineItemIds.map((e) => {\n const lineItemObject = {\n fundingSourceId: e,\n totalLineItems: 0,\n };\n const lineItems = projectBudgetLineItems.filter((projectBudgetLineItem) => projectBudgetLineItem.fundingSourceId === e) || null;\n if (lineItems) {\n lineItemObject.totalLineItems = lineItems.map((lineItem) => lineItem.itemCost).reduce((a, b) => a + b);\n }\n return lineItemObject;\n });\n\n return lineItemObjects;\n },\n transformProjectSnapshotsToIncentivePaymentEncumberedFunds(projectId, fundingSourceIds, projectSnapshots) {\n const fundingSourceIncentivePaymentSnapshots = [];\n\n projectSnapshots.filter((projectSnapshot) => projectSnapshot.projectId !== projectId).forEach((projectSnapshot) => {\n if (projectSnapshot.projectIncentivePaymentSnapshots) {\n projectSnapshot.projectIncentivePaymentSnapshots.filter(\n (projectIncentivePaymentSnapshot) => fundingSourceIds.includes(projectIncentivePaymentSnapshot.fundingSourceId),\n ).forEach(\n (fundingSourceIncentivePaymentSnapshot) => {\n fundingSourceIncentivePaymentSnapshots.push({ ...fundingSourceIncentivePaymentSnapshot });\n },\n );\n }\n });\n\n const incentivePaymentEncumberedFundsIds = [...new Set(fundingSourceIncentivePaymentSnapshots.map((e) => e.fundingSourceId))];\n\n const incentivePaymentEncumberedFundsObjects = incentivePaymentEncumberedFundsIds.map((e) => {\n const incentivePaymentEncumberedFundsObject = {\n fundingSourceId: e,\n totalRequested: 0,\n };\n incentivePaymentEncumberedFundsObject.totalRequested = fundingSourceIncentivePaymentSnapshots.filter(\n (snapshot) => snapshot.fundingSourceId === e,\n ).map(\n (snapshot) => snapshot.amountPaid,\n ).reduce(\n (a, b) => a + b,\n );\n return incentivePaymentEncumberedFundsObject;\n });\n\n return incentivePaymentEncumberedFundsObjects;\n },\n transformProjectSnapshotsToLineItemEncumberedFunds(projectId, fundingSourceIds, projectSnapshots, fiscalYear) {\n const fundingSourceLineItems = [];\n\n projectSnapshots.filter((projectSnapshot) => projectSnapshot.projectId !== projectId).forEach((projectSnapshot) => {\n if (projectSnapshot.projectBudgetYearSnapshots) {\n projectSnapshot.projectBudgetYearSnapshots.filter((projectBudgetYearSnapshot) => projectBudgetYearSnapshot.year === fiscalYear)\n .forEach((projectBudgetYearSnapshot) => {\n if (projectBudgetYearSnapshot.projectBudgetLineItemSnapshots) {\n projectBudgetYearSnapshot.projectBudgetLineItemSnapshots.filter(\n (projectBudgetLineItemSnapshot) => fundingSourceIds.includes(projectBudgetLineItemSnapshot.fundingSourceId),\n ).forEach(\n (projectBudgetLineItemSnapshot) => {\n const fundingSourceLineItem = {\n projectId: projectSnapshot.projectId,\n fundingSourceId: projectBudgetLineItemSnapshot.fundingSourceId,\n quantity: projectBudgetLineItemSnapshot.quantity,\n unitCost: projectBudgetLineItemSnapshot.unitCost,\n costShare: projectBudgetLineItemSnapshot.costShare,\n contingencyPercent: projectBudgetLineItemSnapshot.contingencyPercent,\n itemCost: 0,\n };\n\n const itemCost = fundingSourceLineItem.quantity * (fundingSourceLineItem.unitCost * 100);\n\n const costShare = fundingSourceLineItem.costShare * 0.01;\n\n const contingency = 1 + (fundingSourceLineItem.contingencyPercent * 0.01);\n\n /* eslint-disable-next-line */\n fundingSourceLineItem.itemCost = Math.round((itemCost * costShare) * contingency) / Math.pow(10, 2);\n\n fundingSourceLineItems.push(fundingSourceLineItem);\n },\n );\n }\n });\n }\n });\n\n const encumberedFundsIds = [...new Set(fundingSourceLineItems.map((e) => e.fundingSourceId))];\n\n const encumberedFundsObjects = encumberedFundsIds.map((e) => {\n\n const encumberedFundsObject = {\n fundingSourceId: e,\n totalRequested: 0,\n };\n\n const lineItems = fundingSourceLineItems.filter((lineItem) => lineItem.fundingSourceId === e);\n\n if (lineItems) {\n encumberedFundsObject.totalRequested = lineItems.map((lineItem) => lineItem.itemCost).reduce((a, b) => a + b);\n }\n\n return encumberedFundsObject;\n });\n\n return encumberedFundsObjects;\n },\n validatePlanDetails(planDetails) {\n const result = [\n planDetails.locationWatershedContext,\n planDetails.prioritizationContext,\n planDetails.projectRationale,\n planDetails.projectActions,\n planDetails.projectEvaluation,\n planDetails.scheduleOfActivities,\n ].map((e) => this.validatePlanDetailsNarrative(e)).filter((e) => e === false).length;\n return result === 0;\n },\n validatePlanDetailsNarrative(narrative) {\n if (narrative == null) return false;\n const div = document.createElement('div');\n div.innerHTML = narrative;\n let valid = true;\n if (!(div.textContent.length >= 5)) {\n valid = false;\n }\n return valid;\n },\n async validateAnnualBudgetIncrease(fiscalYear, annualBudgetIncrease) {\n const fundingSourceId = annualBudgetIncrease.fundingSourceId;\n\n const fundingSourceName = this.fundingSources.find(\n (e) => e.recorD_ID === Number(fundingSourceId),\n ).recorD_NAME;\n\n const fundingSourceBudget = await this.getFundingSourceBudgetModel(\n fundingSourceId,\n fiscalYear,\n );\n\n const fundingSourceEncumberedFundsTotal = await this.getFundingSourceEncumberedFundsTotal(\n fundingSourceId,\n fiscalYear,\n );\n\n this.projectBudgetValidationResults = [];\n\n const projectBudgetValidationResult = {\n id: fundingSourceId,\n name: fundingSourceName,\n totalApprovedBudget: fundingSourceBudget.approvedProjectsBudget,\n totalEncumberedFunds: fundingSourceEncumberedFundsTotal,\n totalApprovedBudgetRemaining: fundingSourceBudget.approvedProjectsBudget - fundingSourceEncumberedFundsTotal,\n totalAnnualBudgetIncrease: annualBudgetIncrease.adjustmentToAnnualBudget,\n totalProjectBudgetIncrease: annualBudgetIncrease.adjustmentToProjectBudget,\n totalAnnualBudgetDifference: fundingSourceBudget.approvedProjectsBudget - fundingSourceEncumberedFundsTotal - annualBudgetIncrease.adjustmentToProjectBudget,\n };\n\n this.projectBudgetValidationResults.push(projectBudgetValidationResult);\n this.projectBudgetValidationResults = this.projectBudgetValidationResults.sort((a, b) => a.name.localeCompare(b.name));\n },\n async getFundingSourceBudgetModel(fundingSourceId, fiscalYear) {\n const fundingSourceBudget = {\n fundingSourceId,\n fiscalYear,\n approvedProjectsBudget: 0,\n newProjectsBudget: 0,\n };\n\n await this.$store.dispatch('Project/getFundsPerFiscalYear', fiscalYear);\n const fundsPerFiscalYear = this.fundsPerFiscalYear.map((e) => ({ ...e }));\n const fundingSourceFundsPerFiscalYear = fundsPerFiscalYear.map((e) => {\n\n const fundingSourceFundPerFiscalYear = {\n id: e.recorD_ID,\n name: e.recorD_NAME,\n fundingSourceId: null,\n fiscalYear: null,\n approvedProjectsBudget: 0,\n newProjectsBudget: 0,\n };\n\n let customfield = e.customfields.find((cf) => cf.fielD_NAME === 'Funding_Source__c');\n if (customfield && customfield.fielD_VALUE) {\n fundingSourceFundPerFiscalYear.fundingSourceId = customfield.fielD_VALUE;\n }\n\n customfield = e.customfields.find((cf) => cf.fielD_NAME === 'Fiscal_Year__c');\n if (customfield && customfield.fielD_VALUE) {\n fundingSourceFundPerFiscalYear.fiscalYear = customfield.fielD_VALUE;\n }\n\n customfield = e.customfields.find((cf) => cf.fielD_NAME === 'Approved_Projects_Budget__c');\n if (customfield && customfield.fielD_VALUE) {\n fundingSourceFundPerFiscalYear.approvedProjectsBudget = customfield.fielD_VALUE;\n }\n\n customfield = e.customfields.find((cf) => cf.fielD_NAME === 'New_Projects_Budget__c');\n if (customfield) {\n fundingSourceFundPerFiscalYear.newProjectsBudget = customfield.fielD_VALUE;\n }\n\n return fundingSourceFundPerFiscalYear;\n\n }).filter((e) => e.fundingSourceId === fundingSourceId);\n\n if (fundingSourceFundsPerFiscalYear.length > 0) {\n fundingSourceBudget.approvedProjectsBudget = fundingSourceFundsPerFiscalYear.map((e) => e.approvedProjectsBudget).reduce((a, b) => a + b);\n fundingSourceBudget.newProjectsBudget = fundingSourceFundsPerFiscalYear.map((e) => e.newProjectsBudget).reduce((a, b) => a + b);\n }\n\n return fundingSourceBudget;\n },\n async getFundingSourceEncumberedFundsTotal(fundingSourceId, fiscalYear) {\n const response = await api.get(`/fundingSourceEncumberedFunds/fundingSourceId/${fundingSourceId}/fiscalYear/${fiscalYear}`);\n const fundingSourceEncumberedFunds = response.data;\n\n let fundingSourceEncumberedFundsTotal = 0;\n if (fundingSourceEncumberedFunds !== null && fundingSourceEncumberedFunds.length > 0) {\n fundingSourceEncumberedFundsTotal = fundingSourceEncumberedFunds.map((e) => e.budget).reduce((a, b) => a + b);\n }\n\n return fundingSourceEncumberedFundsTotal;\n },\n validateProjectStartDate() {\n let isValid = true;\n const projectStartDate = this.project.startDate ?? null;\n if (projectStartDate === null) {\n isValid = false;\n }\n return isValid;\n },\n validateProjectBudget(\n fundingSourceIds,\n budgetedFunds,\n lineItemEncumberedFunds,\n incentivePaymentEncumberedFunds,\n projectLineItems,\n projectIncentivePayments,\n ) {\n this.projectBudgetValidationResults = [];\n\n this.projectBudgetValidationResults = fundingSourceIds.map((e) => {\n\n const validationResult = {\n fundingSourceId: e,\n fundingSourceName: '(N/A)',\n totalBudgeted: 0,\n totalEncumberedLineItems: 0,\n totalEncumberedIncentivePayments: 0,\n totalEncumbered: 0,\n totalAvailable: 0,\n totalRequestedLineItems: 0,\n totalRequestedIncentivePayments: 0,\n totalRequested: 0,\n totalDifference: 0,\n };\n\n const projectFundingSource = (this.fundingSources.find((fundingSource) => fundingSource.recorD_ID === e)) || null;\n if (projectFundingSource) {\n validationResult.fundingSourceName = projectFundingSource.recorD_NAME;\n }\n\n const totalBudgeted = budgetedFunds.find((budgetedFund) => budgetedFund.fundingSourceId === e) || null;\n if (totalBudgeted) {\n validationResult.totalBudgeted = totalBudgeted.newProjectsBudget;\n }\n\n const totalEncumberedLineItems = lineItemEncumberedFunds.find((lineItemEncumberedFund) => lineItemEncumberedFund.fundingSourceId === e) || null;\n if (totalEncumberedLineItems) {\n validationResult.totalEncumberedLineItems = totalEncumberedLineItems.totalRequested;\n }\n\n const totalEncumberedIncentivePayments = incentivePaymentEncumberedFunds.find((incentivePaymentEncumberedFund) => incentivePaymentEncumberedFund.fundingSourceId === e) || null;\n if (totalEncumberedIncentivePayments) {\n validationResult.totalEncumberedIncentivePayments = totalEncumberedIncentivePayments.totalRequested;\n }\n\n validationResult.totalAvailable = validationResult.totalBudgeted - validationResult.totalEncumberedLineItems - validationResult.totalEncumberedIncentivePayments;\n\n const totalRequestedLineItems = projectLineItems.find((projectIncentivePayment) => projectIncentivePayment.fundingSourceId === e) || null;\n if (totalRequestedLineItems) {\n validationResult.totalRequestedLineItems = totalRequestedLineItems.totalLineItems;\n }\n\n const totalRequestedIncentivePayments = projectIncentivePayments.find((projectIncentivePayment) => projectIncentivePayment.fundingSourceId === e) || null;\n if (totalRequestedIncentivePayments) {\n validationResult.totalRequestedIncentivePayments = totalRequestedIncentivePayments.totalIncentivePayments;\n }\n\n validationResult.totalEncumbered = (validationResult.totalEncumberedLineItems + validationResult.totalEncumberedIncentivePayments);\n validationResult.totalRequested = (validationResult.totalRequestedLineItems + validationResult.totalRequestedIncentivePayments);\n validationResult.totalDifference = (validationResult.totalAvailable - validationResult.totalRequested);\n\n return validationResult;\n });\n\n this.projectBudgetValidationResults = this.projectBudgetValidationResults.sort((a, b) => a.fundingSourceName.localeCompare(b.fundingSourceName));\n },\n },\n};\n","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Project.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Project.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Project.vue?vue&type=template&id=4132c078&scoped=true&\"\nimport script from \"./Project.vue?vue&type=script&lang=js&\"\nexport * from \"./Project.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Project.vue?vue&type=style&index=0&id=4132c078&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4132c078\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"view-contents\"},[(_vm.project)?_c('UnavailablePageModal',{attrs:{\"pageName\":\"Project Actions\",\"project\":_vm.project,\"projectId\":_vm.project.id}}):_vm._e(),_vm._m(0),_c('div',{staticClass:\"section-header\"},[_c('b-overlay',{attrs:{\"show\":_vm.formLoading}},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[(_vm.isEditable)?_c('b-link',{staticClass:\"add-link\",on:{\"click\":_vm.onOpenProjectPracticeModalClick}},[_c('b-icon',{attrs:{\"icon\":\"plus\"}}),_vm._v(\"Add Practice \")],1):_vm._e(),_c('b-modal',{attrs:{\"id\":\"projectPracticeModal\",\"title\":_vm.projectPractice && _vm.projectPractice.id ? 'Edit Practice' : 'New Practice',\"size\":\"xl\"},scopedSlots:_vm._u([{key:\"modal-footer\",fn:function(){return [_c('b-button',{staticClass:\"project-actions-dialog-no\",attrs:{\"size\":\"sm\",\"variant\":\"danger\"},on:{\"click\":_vm.onProjectPracticeCancelClick}},[_vm._v(\"Cancel\")]),(_vm.isEditable)?_c('div',[(_vm.projectPractice && _vm.projectPractice.id && _vm.projectPractice.id > 0)?_c('b-button',{staticClass:\"management-plan-dialog-yes\",attrs:{\"disabled\":!_vm.formValid,\"size\":\"sm\",\"variant\":\"success\"},on:{\"click\":_vm.onProjectPracticeUpdateClick}},[_c('span',[_vm._v(\"Save Practice\")])]):_c('b-button',{staticClass:\"project-actions-dialog-yes\",attrs:{\"disabled\":!_vm.formValid,\"size\":\"sm\",\"variant\":\"success\"},on:{\"click\":_vm.onProjectPracticeAddClick}},[_c('span',[_vm._v(\"Save Practice\")])])],1):_vm._e()]},proxy:true}])},[_c('p',[_c('b-overlay',{attrs:{\"show\":!_vm.isEditable,\"opacity\":\".33\"},scopedSlots:_vm._u([{key:\"overlay\",fn:function(){return [_c('div')]},proxy:true}])},[_c('VueFormGenerator',{attrs:{\"schema\":_vm.formSchema,\"model\":_vm.projectPractice,\"options\":_vm.formOptions},on:{\"validated\":_vm.onValidated}})],1)],1)])],1)]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[(_vm.projectPractices.length === 0)?_c('div',[_vm._v(\"No Project Actions have been added\")]):_c('b-table',{attrs:{\"id\":\"practiceTable\",\"striped\":\"\",\"fields\":_vm.projectPracticesFields,\"items\":_vm.getProjectPractices()},scopedSlots:_vm._u([{key:\"cell(actions)\",fn:function(row){return [_c('b-link',{staticClass:\"mr-1\",on:{\"click\":function($event){return _vm.onProjectPracticeEditClick(row)}}},[(_vm.isEditable)?_c('span',[_vm._v(\"Edit\")]):_c('span',[_vm._v(\"View\")])]),(_vm.isEditable)?_c('span',[_c('span',[_vm._v(\"| \")]),_c('b-link',{directives:[{name:\"b-modal\",rawName:\"v-b-modal\",value:((\"deleteProjectAction-\" + (row.item.id))),expression:\"`deleteProjectAction-${row.item.id}`\"}],attrs:{\"variant\":\"danger\"}},[_vm._v(\"Delete \")])],1):_vm._e(),_c('b-modal',{attrs:{\"id\":(\"deleteProjectAction-\" + (row.item.id)),\"title\":\"Confirm Project Action Delete\"},on:{\"ok\":function($event){return _vm.onProjectPracticeDeleteClick(row)}},scopedSlots:_vm._u([{key:\"modal-footer\",fn:function(ref){\nvar ok = ref.ok;\nvar cancel = ref.cancel;\nreturn [_c('b-button',{staticClass:\"incentive-payments-dialog-no\",attrs:{\"size\":\"sm\",\"variant\":\"danger\"},on:{\"click\":cancel}},[_vm._v(\"No\")]),_c('b-button',{staticClass:\"incentive-payments-dialog-yes\",attrs:{\"size\":\"sm\",\"variant\":\"success\"},on:{\"click\":ok}},[_vm._v(\"Yes\")])]}}],null,true)},[_c('div',[_vm._v(\"Are you sure you want to delete this Project Action?\")])])]}}])})],1)])])],1)],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"section-header\"},[_c('div',{staticClass:\"row bold-title\"},[_c('div',{staticClass:\"col\"},[_vm._v(\"Project Actions\")])])])}]\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectActions.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectActions.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProjectActions.vue?vue&type=template&id=1c71f5b6&scoped=true&\"\nimport script from \"./ProjectActions.vue?vue&type=script&lang=js&\"\nexport * from \"./ProjectActions.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProjectActions.vue?vue&type=style&index=0&id=1c71f5b6&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1c71f5b6\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"view-contents\",attrs:{\"id\":\"project-budget\"}},[(_vm.project)?_c('UnavailablePageModal',{attrs:{\"pageName\":\"Budget\",\"project\":_vm.project,\"unallowedStatuses\":_vm.unallowedStatuses}}):_vm._e(),_c('b-modal',{attrs:{\"id\":\"openWorkOrdersModal\",\"title\":\"Open Work Orders\",\"size\":\"lg\",\"ok-only\":\"\"}},[_c('p',[_vm._v(\"One or more Work Orders are open, and therefore this new budget cannot be approved.\")])]),_c('b-modal',{attrs:{\"id\":\"openWorkOrderBillsModal\",\"title\":\"Open Work Order Bills\",\"size\":\"lg\",\"ok-only\":\"\"}},[_c('p',[_vm._v(\"One or more Work Orders contain Bills that are open, and therefore this new budget cannot be approved.\")])]),_c('b-modal',{attrs:{\"id\":\"insufficientRemainingBudget\",\"title\":\"Insufficient Remaining Budget\",\"size\":\"lg\",\"ok-only\":\"\"}},[_c('p',[_vm._v(\"The amount being requested in this annual budget exceeds the remaining funds for this Project, which is calculated as 'Total Approved Project Budget' minus 'Spent', and therefore cannot be approved.\")])]),(!_vm.projectBudget.projectBudgetYears || _vm.projectBudget.projectBudgetYears.length === 0)?_c('b-alert',{attrs:{\"show\":\"\",\"dismissible\":\"\"}},[_vm._v(\" To get started, add a fiscal year for which to build a budget. \")]):_vm._e(),_c('div',[_c('ProjectBudgetDecrease')],1),_c('b-tabs',{attrs:{\"pills\":\"\",\"content-class\":\"mt-3\",\"nav-wrapper-class\":\"budget-tabs\"}},[(_vm.showProjectExpenditureSummary)?_c('b-tab',{attrs:{\"title\":\"Expenditure Summary\",\"active\":\"\"}},[_c('ExpenditureSummary')],1):_vm._e(),_c('b-tab',{attrs:{\"title\":\"Funding Breakdown\"}},[_c('FundingBreakdown')],1),(_vm.canSeeProjectHistory)?_c('b-tab',{attrs:{\"title\":\"Budget History\"}},[_c('ProjectBudgetHistory')],1):_vm._e()],1),_c('div',{staticClass:\"row\"}),_c('div',{staticClass:\"row\"},[_vm._m(0),_c('div',{staticClass:\"col-6 mid-page-section-header\"},[(_vm.canAddAnnualBudget && _vm.project.startDate && _vm.project.endDate)?_c('b-button',{staticClass:\"float-right-button action-button\",attrs:{\"pill\":\"\",\"size\":\"sm\",\"variant\":\"primary\"},on:{\"click\":_vm.openAddYearModal}},[_c('span',[_vm._v(\"Add Fiscal Year\")])]):_vm._e(),(_vm.canAddAnnualBudget && (!_vm.project.startDate || !_vm.project.endDate))?_c('b-button',{staticClass:\"float-right-button action-button\",attrs:{\"pill\":\"\",\"size\":\"sm\",\"variant\":\"primary\",\"disabled\":\"\"}},[_c('span',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover\",modifiers:{\"hover\":true}}],attrs:{\"title\":\"Invalid Insightly Project Start/End Date\"}},[_vm._v(\"Add Fiscal Year\")])]):_vm._e()],1)]),_c('b-modal',{attrs:{\"id\":\"addYearModal\",\"title\":\"Select Fiscal Year\",\"size\":\"md\"},scopedSlots:_vm._u([{key:\"modal-footer\",fn:function(){return [_c('b-button',{staticClass:\"management-plan-dialog-no\",attrs:{\"size\":\"sm\",\"variant\":\"danger\"},on:{\"click\":_vm.cancelAddYear}},[_vm._v(\" Cancel \")]),_c('b-button',{staticClass:\"management-plan-dialog-yes\",attrs:{\"size\":\"sm\",\"variant\":\"success\",\"disabled\":_vm.addFiscalYearDisabled},on:{\"click\":_vm.addFiscalYear}},[_vm._v(\" Add Year \")])]},proxy:true}])},[_c('div',{staticClass:\"row details-row\"},[_c('div',{staticClass:\"col-3\"},[_c('label',{attrs:{\"for\":\"product-select\"}},[_vm._v(\"Fiscal Year\")])]),_c('div',{staticClass:\"col-9\"},[(_vm.loadingData)?_c('LoadingSpinner',{attrs:{\"message\":\"Loading Fiscal Years\",\"size\":\"1x\"}}):_c('b-form-select',{attrs:{\"options\":_vm.possibleYears},model:{value:(_vm.yearToAdd),callback:function ($$v) {_vm.yearToAdd=$$v},expression:\"yearToAdd\"}})],1)])]),_vm._l((_vm.projectBudget.projectBudgetYears),function(budgetYear){return _c('div',{key:budgetYear.year,staticClass:\"details-row\"},[_c('AnnualBudget',{attrs:{\"budgetYear\":budgetYear}})],1)})],2)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"col-6 mid-page-section-header\"},[_c('div',{staticClass:\"normal-title\"},[_vm._v(\" Annual Budgets \")])])}]\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"annual-budget\"}},[_c('b-modal',{attrs:{\"id\":(\"yearInsufficientFundsWithinProjectModal-\" + (_vm.budgetYear.year)),\"title\":\"Insufficient Funds\",\"size\":\"xl\"},on:{\"ok\":function($event){return _vm.onAnnualBudgetInsufficientFundsDismiss(_vm.budgetYear)},\"cancel\":function($event){return _vm.onAnnualBudgetInsufficientFundsOverride(_vm.budgetYear)}},scopedSlots:_vm._u([{key:\"modal-footer\",fn:function(ref){\nvar ok = ref.ok;\nvar cancel = ref.cancel;\nreturn [_c('b-button',{staticClass:\"btn-success\",attrs:{\"size\":\"sm\",\"variant\":\"danger\"},on:{\"click\":ok}},[_vm._v(\"Dismiss\")]),_c('b-button',{staticClass:\"btn-danger\",attrs:{\"size\":\"sm\",\"variant\":\"danger\"},on:{\"click\":cancel}},[_vm._v(\"Override\")])]}}])},[_c('p',[_vm._v(\"There are insufficient funds APPROVED TO SPEND from the following funding source(s) within this Project:\")]),_c('b-row',[_c('b-col',{staticClass:\"insufficient-funds-header\",attrs:{\"cols\":\"2\"}},[_vm._v(\"Funding Source\")]),_c('b-col',[_c('b-row',[_c('b-col',{staticClass:\"insufficient-funds-header insufficient-funds-numeric\",attrs:{\"cols\":\"2\"}},[_vm._v(\" Total Approved Funding \")]),_c('b-col',{staticClass:\"insufficient-funds-header insufficient-funds-numeric\",attrs:{\"cols\":\"2\"}},[_vm._v(\" Encumbered within this Project \")]),_c('b-col',{staticClass:\"insufficient-funds-header insufficient-funds-numeric\",attrs:{\"cols\":\"2\"}},[_vm._v(\" Remaining \")]),_c('b-col',{staticClass:\"insufficient-funds-header insufficient-funds-numeric\",attrs:{\"cols\":\"2\"}},[_vm._v(\" Requested for this Annual Budget \")]),_c('b-col',{staticClass:\"insufficient-funds-header insufficient-funds-numeric\",attrs:{\"cols\":\"2\"}},[_vm._v(\" Difference \")])],1)],1)],1),_vm._l((_vm.insufficientFundingSources),function(item){return _c('b-row',{key:item.fundingSourceName},[_c('b-col',{attrs:{\"cols\":\"2\"}},[_vm._v(_vm._s(item.fundingSourceName))]),_c('b-col',[_c('b-row',[_c('b-col',{staticClass:\"insufficient-funds-numeric\",attrs:{\"cols\":\"2\"}},[_vm._v(_vm._s(_vm._f(\"toCurrency\")(item.totalApprovedFunding)))]),_c('b-col',{staticClass:\"insufficient-funds-numeric\",attrs:{\"cols\":\"2\"}},[_vm._v(_vm._s(_vm._f(\"toCurrency\")(item.encumberedInProject)))]),_c('b-col',{staticClass:\"insufficient-funds-numeric\",attrs:{\"cols\":\"2\"}},[_vm._v(_vm._s(_vm._f(\"toCurrency\")(item.remaining)))]),_c('b-col',{staticClass:\"insufficient-funds-numeric\",attrs:{\"cols\":\"2\"}},[_vm._v(_vm._s(_vm._f(\"toCurrency\")(item.requested)))]),_c('b-col',{staticClass:\"insufficient-funds-numeric\",attrs:{\"cols\":\"2\"}},[_vm._v(_vm._s(_vm._f(\"toCurrency\")(item.difference)))])],1)],1)],1)})],2),_c('b-modal',{attrs:{\"id\":(\"yearInsufficientFundsAcrossProjectModal-\" + (_vm.budgetYear.year)),\"title\":\"Insufficient Funds\",\"size\":\"xl\"},on:{\"ok\":function($event){return _vm.onAnnualBudgetInsufficientFundsDismiss(_vm.budgetYear)},\"cancel\":function($event){return _vm.onAnnualBudgetInsufficientFundsOverride(_vm.budgetYear)}},scopedSlots:_vm._u([{key:\"modal-footer\",fn:function(ref){\nvar ok = ref.ok;\nvar cancel = ref.cancel;\nreturn [_c('b-button',{staticClass:\"btn-success\",attrs:{\"size\":\"sm\",\"variant\":\"danger\"},on:{\"click\":ok}},[_vm._v(\"Dismiss\")]),_c('b-button',{staticClass:\"btn-danger\",attrs:{\"size\":\"sm\",\"variant\":\"danger\"},on:{\"click\":cancel}},[_vm._v(\"Override\")])]}}])},[_c('p',[_vm._v(\"There are insufficient funds in the following funding source(s) to fund this Annual Budget:\")]),_c('b-row',[_c('b-col',{staticClass:\"insufficient-funds-header\",attrs:{\"cols\":\"2\"}},[_vm._v(\"Funding Source\")]),_c('b-col',[_c('b-row',[_c('b-col',{staticClass:\"insufficient-funds-header insufficient-funds-numeric\",attrs:{\"cols\":\"2\"}},[_vm._v(\" Total \\\"Approved Projects Budgets\\\" \")]),_c('b-col',{staticClass:\"insufficient-funds-header insufficient-funds-numeric\",attrs:{\"cols\":\"2\"}},[_vm._v(\" Encumbered across all Projects \")]),_c('b-col',{staticClass:\"insufficient-funds-header insufficient-funds-numeric\",attrs:{\"cols\":\"2\"}},[_vm._v(\" Remaining \")]),_c('b-col',{staticClass:\"insufficient-funds-header insufficient-funds-numeric\",attrs:{\"cols\":\"2\"}},[_vm._v(\" Requested for this Annual Budget \")]),_c('b-col',{staticClass:\"insufficient-funds-header insufficient-funds-numeric\",attrs:{\"cols\":\"2\"}},[_vm._v(\" Difference \")])],1)],1)],1),_vm._l((_vm.insufficientFundingSourcesAcrossProjects),function(item){return _c('b-row',{key:item.fundingSourceName},[_c('b-col',{attrs:{\"cols\":\"2\"}},[_vm._v(_vm._s(item.fundingSourceName))]),_c('b-col',[_c('b-row',[_c('b-col',{staticClass:\"insufficient-funds-numeric\",attrs:{\"cols\":\"2\"}},[_vm._v(_vm._s(_vm._f(\"toCurrency\")(item.totalApprovedProjectsBudget)))]),_c('b-col',{staticClass:\"insufficient-funds-numeric\",attrs:{\"cols\":\"2\"}},[_vm._v(_vm._s(_vm._f(\"toCurrency\")(item.encumberedAcrossProjects)))]),_c('b-col',{staticClass:\"insufficient-funds-numeric\",attrs:{\"cols\":\"2\"}},[_vm._v(_vm._s(_vm._f(\"toCurrency\")(item.remaining)))]),_c('b-col',{staticClass:\"insufficient-funds-numeric\",attrs:{\"cols\":\"2\"}},[_vm._v(_vm._s(_vm._f(\"toCurrency\")(item.requested)))]),_c('b-col',{staticClass:\"insufficient-funds-numeric\",attrs:{\"cols\":\"2\"}},[_vm._v(_vm._s(_vm._f(\"toCurrency\")(item.difference)))])],1)],1)],1)})],2),_c('b-modal',{attrs:{\"id\":(\"submitProjectBudgetModal-\" + (_vm.budgetYear.year)),\"title\":\"Confirm Project Budget Submittal\"},on:{\"ok\":function($event){return _vm.submitAnnualBudget(_vm.budgetYear)}},scopedSlots:_vm._u([{key:\"modal-footer\",fn:function(ref){\nvar ok = ref.ok;\nvar cancel = ref.cancel;\nreturn [_c('b-button',{staticClass:\"btn-danger\",attrs:{\"size\":\"sm\",\"variant\":\"danger\"},on:{\"click\":cancel}},[_vm._v(\"No\")]),_c('b-button',{staticClass:\"btn-success\",attrs:{\"size\":\"sm\",\"variant\":\"success\"},on:{\"click\":ok}},[_vm._v(\"Yes\")])]}}])},[_c('p',[_vm._v(\"Once submitted, you will not be able to make further edits to this annual budget unless the budget is rejected by the manager.\")]),_c('p',[_vm._v(\"Are you sure you want to submit this budget for approval?\")])]),_c('b-modal',{attrs:{\"id\":(\"rejectProjectBudgetModal-\" + (_vm.budgetYear.year)),\"title\":\"Confirm Project Budget Rejection\"},on:{\"ok\":function($event){return _vm.rejectAnnualBudget(_vm.budgetYear)}},scopedSlots:_vm._u([{key:\"modal-footer\",fn:function(ref){\nvar ok = ref.ok;\nvar cancel = ref.cancel;\nreturn [_c('b-button',{staticClass:\"btn-danger\",attrs:{\"size\":\"sm\",\"variant\":\"danger\"},on:{\"click\":cancel}},[_vm._v(\"No\")]),_c('b-button',{staticClass:\"btn-success\",attrs:{\"size\":\"sm\",\"variant\":\"success\"},on:{\"click\":ok}},[_vm._v(\"Yes\")])]}}])},[_c('p',[_vm._v(\"Rejected annual budgets are editable and can be re-submitted if appropriate.\")]),_c('p',[_vm._v(\"Are you sure you want to reject this annual budget?\")])]),_c('b-modal',{attrs:{\"id\":(\"approveProjectBudgetModal-\" + (_vm.budgetYear.year)),\"title\":\"Confirm Project Budget Approval\"},on:{\"ok\":function($event){return _vm.approveAnnualBudget(_vm.budgetYear)}},scopedSlots:_vm._u([{key:\"modal-footer\",fn:function(ref){\nvar ok = ref.ok;\nvar cancel = ref.cancel;\nreturn [_c('b-button',{staticClass:\"btn-danger\",attrs:{\"size\":\"sm\",\"variant\":\"danger\"},on:{\"click\":cancel}},[_vm._v(\"No\")]),_c('b-button',{staticClass:\"btn-success\",attrs:{\"size\":\"sm\",\"variant\":\"success\"},on:{\"click\":ok}},[_vm._v(\"Yes\")])]}}])},[_c('p',[_vm._v(\" Approved annual budgets are not editable and expenditures on this project in this year may not exceed this approved amount. A Manager can reject this budget if it needs to be edited. \")]),_c('p',[_vm._v(\"Are you sure you want to approve this annual budget?\")])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12\"},[_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-header card-header-with-nested-tables\"},[_c('a',{directives:[{name:\"b-toggle\",rawName:\"v-b-toggle\",value:((\"budget-\" + (_vm.budgetYear.year) + \"-card\")),expression:\"`budget-${budgetYear.year}-card`\"}],staticClass:\"c-pointer\"},[_c('b-icon',{staticClass:\"when-closed\",attrs:{\"icon\":\"caret-right-fill\"}}),_c('b-icon',{staticClass:\"when-opened\",attrs:{\"icon\":\"caret-down-fill\"}}),_c('span',{staticClass:\"details-label\"},[_vm._v(\" \"+_vm._s(_vm.budgetYear.year))]),_vm._v(\" (\"+_vm._s(_vm.budgetYear.status)+\") \")],1),(_vm.isYearEditable(_vm.budgetYear))?_c('b-link',{staticClass:\"add-link\",on:{\"click\":function($event){return _vm.openCostItemModal(_vm.budgetYear)}}},[_c('b-icon',{attrs:{\"icon\":\"plus\"}}),_vm._v(\" Add Cost Item \")],1):_vm._e()],1),_c('b-modal',{attrs:{\"id\":(\"costItemModal-\" + (_vm.budgetYear.year)),\"title\":_vm.currentLineItem.id ? 'Edit Cost Item' : 'New Cost Item',\"size\":\"xl\"},on:{\"hidden\":_vm.cancelCostItem},scopedSlots:_vm._u([{key:\"modal-footer\",fn:function(){return [_c('b-button',{staticClass:\"management-plan-dialog-no\",attrs:{\"size\":\"sm\",\"variant\":\"danger\"},on:{\"click\":function($event){return _vm.$bvModal.hide((\"costItemModal-\" + (_vm.budgetYear.year)))}}},[_vm._v(\" Cancel \")]),_c('b-button',{staticClass:\"management-plan-dialog-yes\",attrs:{\"disabled\":!_vm.validForm,\"size\":\"sm\",\"variant\":\"success\"},on:{\"click\":function($event){return _vm.addItem(_vm.budgetYear)}}},[(_vm.currentLineItem.id)?[_vm._v(\" Update Cost Item \")]:[_vm._v(\" Add Item \")]],2)]},proxy:true}])},[_c('b-alert',{attrs:{\"show\":_vm.warningDismissCountDown,\"dismissible\":\"\",\"variant\":\"danger\"},on:{\"dismissed\":function($event){_vm.warningDismissCountDown=0},\"dismiss-count-down\":_vm.warningCountDownChanged}},[_vm._v(\" \"+_vm._s(_vm.errorMessage)+\" \")]),(_vm.loadingPriceBookData)?_c('LoadingSpinner',{attrs:{\"message\":\"Loading Price Book Data\",\"size\":\"1x\"}}):_c('VueFormGenerator',{attrs:{\"schema\":_vm.getSchema(),\"model\":_vm.currentLineItem,\"options\":{\n validateAfterLoad: _vm.validateAfterLoad,\n validateAfterChanged: true,\n validateAsync: true\n }},on:{\"validated\":_vm.onLineItemValidation}})],1),_c('b-collapse',{attrs:{\"id\":(\"budget-\" + (_vm.budgetYear.year) + \"-card\"),\"visible\":\"\"}},[_c('b-overlay',{attrs:{\"show\":_vm.processingApproval}},[_c('div',{staticClass:\"card-body\"},[_c('AnnualBudgetIncreaseModal',{attrs:{\"budgetYear\":_vm.budgetYear}}),_c('b-tabs',{attrs:{\"content-class\":\"mt-3\",\"nav-wrapper-class\":\"budget-tabs\",\"pills\":\"\"}},[(_vm.showAnnualExpenditureSummary())?_c('b-tab',{attrs:{\"title\":\"Expenditure Summary\"}},[_c('b-overlay',{attrs:{\"show\":!_vm.processingApproval && !_vm.projectBudgetSummaryDataLoaded}},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12\"},[(_vm.canCreateWorkorder(_vm.budgetYear))?_c('b-button',{staticClass:\"float-right-button action-button\",attrs:{\"disabled\":_vm.workorderLookupsLoading,\"pill\":\"\",\"size\":\"sm\",\"variant\":\"primary\"},on:{\"click\":function($event){return _vm.onWorkorderAddClick(_vm.budgetYear)}}},[_c('span',[_vm._v(\"Create Work Order\")])]):_vm._e()],1)]),_c('b-alert',{attrs:{\"show\":_vm.successDismissCountDown,\"dismissible\":\"\",\"variant\":\"success\"},on:{\"dismissed\":function($event){_vm.successDismissCountDown=0},\"dismiss-count-down\":_vm.successCountDownChanged}},[_vm._v(\" Line Item successfully posted. \")]),(_vm.showProjectBudgetSummary)?[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12 list-item-title\"},[_vm._v(\"Summary\")])]),_c('b-card',{staticClass:\"col-6 list-item-table\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-6 details-label\"},[_vm._v(\"Total Annual Cost\")]),_c('div',{staticClass:\"col-6 text-right\"},[_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")(_vm.getAnnualBudgetExpenditureTotalAnnualCost(_vm.budgetYear)))+\" \")])]),_c('hr'),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-6 details-label\"},[_vm._v(\"Cost Share\")]),_c('div',{staticClass:\"col-6 text-right\"},[_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")(_vm.getAnnualBudgetExpenditureCostShare(_vm.budgetYear)))+\" \")])]),_c('hr'),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-6 details-label\"},[_c('a',{directives:[{name:\"b-toggle\",rawName:\"v-b-toggle\",value:((\"expenditure-summary-district-partner-obligated-\" + (_vm.budgetYear.year) + \"-collapse\")),expression:\"`expenditure-summary-district-partner-obligated-${budgetYear.year}-collapse`\"}],staticClass:\"c-pointer\"},[_c('b-icon',{staticClass:\"when-closed\",attrs:{\"icon\":\"caret-right-fill\"}}),_c('b-icon',{staticClass:\"when-opened\",attrs:{\"icon\":\"caret-down-fill\"}}),_c('span',[_vm._v(\"District or Partner Cost\")])],1)]),_c('div',{staticClass:\"col-6 text-right\"},[_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")(_vm.getAnnualBudgetExpenditureDistrictAndPartner(_vm.budgetYear)))+\" \")])]),_c('b-collapse',{attrs:{\"id\":(\"expenditure-summary-district-partner-obligated-\" + (_vm.budgetYear.year) + \"-collapse\")}},[_c('hr'),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-6 details-label\"},[_c('a',{directives:[{name:\"b-toggle\",rawName:\"v-b-toggle\",value:((\"expenditure-summary-district-partner-obligated-spent-\" + (_vm.budgetYear.year) + \"-collapse\")),expression:\"`expenditure-summary-district-partner-obligated-spent-${budgetYear.year}-collapse`\"}],staticClass:\"c-pointer\"},[_c('b-icon',{staticClass:\"when-closed\",attrs:{\"icon\":\"caret-right-fill\"}}),_c('b-icon',{staticClass:\"when-opened\",attrs:{\"icon\":\"caret-down-fill\"}}),_c('span',[_vm._v(\"Total Obligated\")])],1)]),_c('div',{staticClass:\"col-6 text-right\"},[_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")(_vm.getAnnualBudgetExpenditureTotalObligated(_vm.budgetYear.year)))+\" \")])]),_c('b-collapse',{attrs:{\"id\":(\"expenditure-summary-district-partner-obligated-spent-\" + (_vm.budgetYear.year) + \"-collapse\")}},[_c('hr'),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-1\"}),_c('div',{staticClass:\"col-5 details-label\"},[_c('a',{directives:[{name:\"b-toggle\",rawName:\"v-b-toggle\",value:((\"expenditure-summary-district-partner-obligated-spent-items-\" + (_vm.budgetYear.year) + \"-collapse\")),expression:\"`expenditure-summary-district-partner-obligated-spent-items-${budgetYear.year}-collapse`\"}],staticClass:\"c-pointer\"},[_c('b-icon',{staticClass:\"when-closed\",attrs:{\"icon\":\"caret-right-fill\"}}),_c('b-icon',{staticClass:\"when-opened\",attrs:{\"icon\":\"caret-down-fill\"}}),_c('span',[_vm._v(\"Obligated Spent\")])],1)]),_c('div',{staticClass:\"col-6 text-right\"},[_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")(_vm.getAnnualBudgetExpenditureObligatedSpent(_vm.budgetYear.year)))+\" \")])]),_c('b-collapse',{attrs:{\"id\":(\"expenditure-summary-district-partner-obligated-spent-items-\" + (_vm.budgetYear.year) + \"-collapse\")}},[_c('hr'),_vm._l((_vm.getAnnualBudgetExpenditureObligatedSpentItems(_vm.budgetYear.year)),function(item){return _c('b-row',{key:item.name},[_c('div',{staticClass:\"col-2\"}),_c('div',{staticClass:\"col-5\"},[_vm._v(_vm._s(item.name))]),_c('div',{staticClass:\"col-5 text-right\"},[_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")(item.total))+\" \")])])})],2),_c('hr'),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-1\"}),_c('div',{staticClass:\"col-5 details-label\"},[_c('a',{directives:[{name:\"b-toggle\",rawName:\"v-b-toggle\",value:((\"expenditure-summary-district-partner-obligated-unspent-items-\" + (_vm.budgetYear.year) + \"-collapse\")),expression:\"`expenditure-summary-district-partner-obligated-unspent-items-${budgetYear.year}-collapse`\"}],staticClass:\"c-pointer\"},[_c('b-icon',{staticClass:\"when-closed\",attrs:{\"icon\":\"caret-right-fill\"}}),_c('b-icon',{staticClass:\"when-opened\",attrs:{\"icon\":\"caret-down-fill\"}}),_c('span',[_vm._v(\"Obligated Unspent\")])],1)]),_c('div',{staticClass:\"col-6 text-right\"},[_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")(_vm.getAnnualBudgetExpenditureObligatedUnspent(_vm.budgetYear.year)))+\" \")])]),_c('b-collapse',{attrs:{\"id\":(\"expenditure-summary-district-partner-obligated-unspent-items-\" + (_vm.budgetYear.year) + \"-collapse\")}},[_c('hr'),_vm._l((_vm.getAnnualBudgetExpenditureObligatedUnspentItems(_vm.budgetYear.year)),function(item){return _c('b-row',{key:item.name},[_c('div',{staticClass:\"col-2\"}),_c('div',{staticClass:\"col-5\"},[_vm._v(_vm._s(item.name))]),_c('div',{staticClass:\"col-5 text-right\"},[_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")(item.total))+\" \")])])})],2)],1),_c('hr'),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-6 details-label\"},[_c('a',{directives:[{name:\"b-toggle\",rawName:\"v-b-toggle\",value:((\"expenditure-summary-district-partner-remaining-items-\" + (_vm.budgetYear.year) + \"-collapse\")),expression:\"`expenditure-summary-district-partner-remaining-items-${budgetYear.year}-collapse`\"}],staticClass:\"c-pointer\"},[_c('b-icon',{staticClass:\"when-closed\",attrs:{\"icon\":\"caret-right-fill\"}}),_c('b-icon',{staticClass:\"when-opened\",attrs:{\"icon\":\"caret-down-fill\"}}),_c('span',[_vm._v(\"Total Remaining\")])],1)]),_c('div',{staticClass:\"col-6 text-right\"},[_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")(_vm.getAnnualBudgetExpenditureTotalRemaining(_vm.budgetYear)))+\" \")])]),_c('b-collapse',{attrs:{\"id\":(\"expenditure-summary-district-partner-remaining-items-\" + (_vm.budgetYear.year) + \"-collapse\")}},[_c('hr'),_vm._l((_vm.getAnnualBudgetExpenditureTotalRemainingItems(_vm.budgetYear)),function(item){return _c('b-row',{key:item.name},[_c('div',{staticClass:\"col-2\"}),_c('div',{staticClass:\"col-5\"},[_vm._v(_vm._s(item.name))]),_c('div',{staticClass:\"col-5 text-right\"},[_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")(item.total))+\" \")])])})],2)],1)],1)]:_vm._e()],2)],1):_vm._e(),_c('b-tab',{attrs:{\"title\":\"Scope of Work\"}},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12 list-item-title\"},[_vm._v(\" Services \"),(_vm.canApproveRejectAnnualBudget(_vm.budgetYear))?_c('b-button',{staticClass:\"float-right-button action-button\",attrs:{\"pill\":\"\",\"size\":\"sm\",\"variant\":\"primary\"},on:{\"click\":function($event){return _vm.validateAnnualBudgetForApproval(_vm.budgetYear)}}},[_vm._v(\" Approve \")]):_vm._e(),(_vm.canApproveRejectAnnualBudget(_vm.budgetYear))?_c('b-button',{directives:[{name:\"b-modal\",rawName:\"v-b-modal\",value:((\"rejectProjectBudgetModal-\" + (_vm.budgetYear.year))),expression:\"`rejectProjectBudgetModal-${budgetYear.year}`\"}],staticClass:\"float-right-button action-button\",attrs:{\"pill\":\"\",\"size\":\"sm\",\"variant\":\"danger\"}},[_vm._v(\" Reject \")]):_vm._e(),(_vm.canSubmitAnnualBudget(_vm.budgetYear))?_c('b-button',{directives:[{name:\"b-modal\",rawName:\"v-b-modal\",value:((\"submitProjectBudgetModal-\" + (_vm.budgetYear.year))),expression:\"`submitProjectBudgetModal-${budgetYear.year}`\"}],staticClass:\"float-right-button action-button\",attrs:{\"pill\":\"\",\"size\":\"sm\",\"variant\":\"primary\"}},[_vm._v(\" Submit Budget \")]):_vm._e()],1)]),_c('ProductTable',{attrs:{\"budgetYear\":_vm.budgetYear,\"productType\":\"service\",\"getProductsFromListItems\":_vm.getServicesFromListItems,\"getFundingSource\":_vm.getFundingSource,\"editLineItem\":_vm.editLineItem,\"deleteLineItem\":_vm.deleteLineItem,\"getTotalCost\":_vm.getTotalCost,\"getCostShareAmt\":_vm.getCostShareAmt}}),_c('div',{staticClass:\"list-item-title\"},[_vm._v(\"Materials\")]),_c('ProductTable',{attrs:{\"budgetYear\":_vm.budgetYear,\"productType\":\"material\",\"getProductsFromListItems\":_vm.getMaterialsFromListItems,\"getFundingSource\":_vm.getFundingSource,\"editLineItem\":_vm.editLineItem,\"deleteLineItem\":_vm.deleteLineItem,\"getTotalCost\":_vm.getTotalCost,\"getCostShareAmt\":_vm.getCostShareAmt}}),(_vm.incentivesExistInBudgetYear(_vm.budgetYear, _vm.projectIncentivePayments))?_c('div',[_c('div',{staticClass:\"list-item-title\"},[_vm._v(\"Incentive Payments\")]),_c('IncentivePaymentsTable',{attrs:{\"budgetYear\":_vm.budgetYear,\"projectIncentivePayments\":_vm.projectIncentivePayments,\"getProductsFromListItems\":_vm.getIncentivesFromListItems,\"contactBriefs\":_vm.contactBriefs,\"organizationBriefs\":_vm.organizationBriefs,\"fundingSources\":_vm.fundingSources}})],1):_vm._e(),_c('div',{staticClass:\"list-item-title\"},[_vm._v(\"Annual Cost\")]),_c('AnnualBudgetTable',{attrs:{\"budgetYear\":_vm.budgetYear,\"getAnnualBudgetItems\":_vm.getAnnualBudgetItems}})],1),(_vm.budgetYear.status === _vm.budgetStatus.Approved)?_c('b-tab',{attrs:{\"title\":\"Annual Budget History\"}},[_c('AnnualBudgetIncreases',{key:_vm.historyKey,attrs:{\"budgetYear\":_vm.budgetYear}})],1):_vm._e()],1)],1)])],1)],1)])]),(_vm.projectWorkorderAddIsVisible)?_c('ProjectWorkorderAdd',{attrs:{\"budgetYear\":_vm.budgetYear,\"contactBriefs\":_vm.contactBriefs,\"fundingSources\":_vm.fundingSources,\"opportunityBriefs\":_vm.opportunityBriefs,\"organizationBriefs\":_vm.organizationBriefs,\"project\":_vm.project,\"projectBudget\":_vm.projectBudget}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12\"},[(_vm.loadingData)?_c('b-card',[_c('LoadingSpinner',{attrs:{\"size\":\"1x\"}})],1):_c('div',[_c('b-table',{ref:(\"history-\" + (_vm.budgetYear.year) + \"-table\"),staticClass:\"list-item-table\",attrs:{\"id\":(\"history-\" + (_vm.budgetYear.year) + \"-table\"),\"bordered\":\"\",\"head-variant\":\"light\",\"fields\":_vm.fields,\"items\":_vm.annualBudgetHistoryItems,\"show-empty\":\"\"},scopedSlots:_vm._u([{key:\"cell(fundingSource)\",fn:function(row){return [_vm._v(\" \"+_vm._s(_vm.getFundingSource(row.item))+\" \")]}}])})],1)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AnnualBudgetIncreases.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AnnualBudgetIncreases.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AnnualBudgetIncreases.vue?vue&type=template&id=d0447e86&\"\nimport script from \"./AnnualBudgetIncreases.vue?vue&type=script&lang=js&\"\nexport * from \"./AnnualBudgetIncreases.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 null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.project && _vm.project !== null && !(_vm.project.approvalStatus === \"Cancelled\" || _vm.project.approvalStatus === \"Completed\"))?_c('span',[(_vm.isApprover && _vm.getFiscalYear(new Date()) === _vm.budgetYear.year && _vm.budgetYear.status === _vm.budgetStatus.Approved)?_c('b-link',{staticClass:\"add-link text-right\",on:{\"click\":function($event){return _vm.openAdjustmentModal()}}},[_c('span',[_vm._v(\"Adjust Annual Budget\")])]):_vm._e()],1):_vm._e(),_c('b-modal',{attrs:{\"id\":(\"adjustmentModal-\" + (_vm.budgetYear.year)),\"title\":\"Add Annual Adjustment\",\"size\":\"xl\"},on:{\"hidden\":_vm.cancelAdjustment},scopedSlots:_vm._u([{key:\"modal-footer\",fn:function(){return [_c('b-button',{staticClass:\"management-plan-dialog-no\",attrs:{\"size\":\"sm\",\"disabled\":_vm.pushingData,\"variant\":\"danger\"},on:{\"click\":function($event){return _vm.$bvModal.hide((\"adjustmentModal-\" + (_vm.budgetYear.year)))}}},[_vm._v(\" Cancel \")]),_c('b-button',{staticClass:\"management-plan-dialog-yes\",attrs:{\"size\":\"sm\",\"disabled\":!_vm.validAdjustment || _vm.pushingData,\"variant\":\"success\"},on:{\"click\":function($event){return _vm.onAddItemClicked(_vm.budgetYear.year)}}},[_vm._v(\" Add Item \")])]},proxy:true}])},[(_vm.fundingSourcesLoading)?_c('LoadingSpinner',{attrs:{\"message\":\"Loading Funding Source\",\"size\":\"1x\"}}):[_c('b-overlay',{attrs:{\"show\":_vm.pushingData}},[_c('b-alert',{attrs:{\"show\":_vm.showAlertWarning,\"dismissible\":\"\",\"variant\":\"danger\"}},[_vm._v(\" \"+_vm._s(_vm.validationMessage)+\" \")]),_c('VueFormGenerator',{ref:\"annualBudgetIncreaseForm\",attrs:{\"schema\":_vm.getAnnualBudgetIncreaseSchema(),\"model\":_vm.currentAdjustment,\"options\":{\n validateAfterLoad: false,\n validateAfterChanged: true,\n validateAsync: true\n }},on:{\"validated\":_vm.onAdjustmentValidation,\"model-updated\":_vm.onAdjustmentUpdated}})],1)]],2),_c('b-modal',{attrs:{\"title\":\"Adjustment Confirmation\",\"id\":(\"adjustmentConfirmationModal-\" + (_vm.budgetYear.year)),\"size\":\"lg\"},scopedSlots:_vm._u([{key:\"modal-footer\",fn:function(){return [_c('b-button',{staticClass:\"management-plan-dialog-no\",attrs:{\"size\":\"sm\",\"disabled\":_vm.pushingData,\"variant\":\"danger\"},on:{\"click\":function($event){return _vm.$bvModal.hide((\"adjustmentConfirmationModal-\" + (_vm.budgetYear.year)))}}},[_vm._v(\" Cancel \")]),_c('b-button',{staticClass:\"management-plan-dialog-yes\",attrs:{\"disabled\":!_vm.validAdjustment || _vm.pushingData,\"size\":\"sm\",\"variant\":\"success\"},on:{\"click\":function($event){return _vm.addAnnualBudgetIncrease(_vm.budgetYear)}}},[_vm._v(\" Increase Budget \")])]},proxy:true}])},[_c('div',{staticClass:\"m-2\"},[_c('div',[_vm._v(\"Once you add an adjustment, you cannot change it. \")]),_c('div',[_vm._v(\"If you need to review the adjustment or make changes, press \\\"Cancel\\\". \")]),_c('div',[_vm._v(\"If you are sure your adjustment is correct, press \\\"Increase Budget\\\" to add the adjustment to this Annual Budget.\")])]),_c('div',{staticClass:\"container card p-3\"},[(_vm.annualBudgetIncreaseDifference < 0)?_c('div',{staticClass:\"row p-1\"},[_c('div',{staticClass:\"col text-danger\"},[_c('span',[_vm._v(\"WARNING:\")]),_c('span',[_vm._v(\"There are insufficient funds in this funding source to cover the requested change!\")])])]):_c('div',{staticClass:\"row p-1\"},[_c('div',{staticClass:\"col text-success\"},[_c('span',[_vm._v(\"Funds are sufficient in this funding source to cover the requested change.\")])])]),_c('div',{staticClass:\"row p-1\"},[_c('div',{staticClass:\"col label-name\"},[_c('span',[_vm._v(\"Target FY:\")])]),_c('div',{staticClass:\"col float-right\"},[_c('span',{staticClass:\"ml-1\"},[_vm._v(_vm._s(_vm.budgetYear.year))])])]),_c('div',{staticClass:\"row p-1\"},[_c('div',{staticClass:\"col label-name\"},[_c('span',[_vm._v(\"Funding Source:\")])]),_c('div',{staticClass:\"col\"},[_c('span',{staticClass:\"ml-1\"},[_vm._v(_vm._s(_vm.fundingSource))])])]),_c('div',{staticClass:\"row p-1\"},[_c('div',{staticClass:\"col label-name\"},[_c('span',[_vm._v(\"Total Approved Project Budget for\")]),_c('span',{staticClass:\"ml-1\"},[_vm._v(_vm._s(_vm.fundingSource))]),_c('span',{staticClass:\"ml-1\"},[_vm._v(\"for FY\")]),_c('span',{staticClass:\"ml-1\"},[_vm._v(_vm._s(_vm.budgetYear.year)+\":\")])]),_c('div',{staticClass:\"col\"},[_c('span',{staticClass:\"ml-1\"},[_vm._v(_vm._s(_vm._f(\"toCurrency\")(_vm.fundingSourceApprovedProjectsBudget)))])])]),_c('div',{staticClass:\"row p-1\"},[_c('div',{staticClass:\"col label-name\"},[_c('span',[_vm._v(\"Encumbered from\")]),_c('span',{staticClass:\"ml-1\"},[_vm._v(_vm._s(_vm.fundingSource))]),_c('span',{staticClass:\"ml-1\"},[_vm._v(\" for FY\")]),_c('span',{staticClass:\"ml-1\"},[_vm._v(_vm._s(_vm.budgetYear.year))]),_c('span',{staticClass:\"ml-1\"},[_vm._v(\"(across all Projects):\")])]),_c('div',{staticClass:\"col\"},[_c('span',{staticClass:\"ml-1\"},[_vm._v(_vm._s(_vm._f(\"toCurrency\")(_vm.fundingSourceEncumberedTotal)))])])]),_c('div',{staticClass:\"row p-1\"},[_c('div',{staticClass:\"col label-name\"},[_c('span',[_vm._v(\"Remaining in\")]),_c('span',{staticClass:\"ml-1\"},[_vm._v(_vm._s(_vm.fundingSource))]),_c('span',{staticClass:\"ml-1\"},[_vm._v(\"for FY\")]),_c('span',{staticClass:\"ml-1\"},[_vm._v(_vm._s(_vm.budgetYear.year))]),_c('span',{staticClass:\"ml-1\"},[_vm._v(\"(across all Projects):\")])]),_c('div',{staticClass:\"col\"},[_c('span',{staticClass:\"ml-1\",class:{ \"text-danger\": (_vm.fundingSourceRemainingTotal < 0)}},[_vm._v(_vm._s(_vm._f(\"toCurrency\")(_vm.fundingSourceRemainingTotal)))])])]),_c('div',{staticClass:\"row p-1\"},[_c('div',{staticClass:\"col label-name\"},[_c('span',[_vm._v(\"Requested funding from\")]),_c('span',{staticClass:\"ml-1\"},[_vm._v(_vm._s(_vm.fundingSource)+\":\")])]),_c('div',{staticClass:\"col\"},[_c('span',{staticClass:\"ml-1\"},[_vm._v(_vm._s(_vm._f(\"toCurrency\")(_vm.projectBudgetIncreaseTotal)))])])]),_c('div',{staticClass:\"row p-1\"},[_c('div',{staticClass:\"col label-name\"},[_c('span',[_vm._v(\"Difference:\")])]),_c('div',{staticClass:\"col\"},[_c('span',{staticClass:\"ml-1\",class:{ \"text-danger\": (_vm.annualBudgetIncreaseDifference < 0)}},[_vm._v(_vm._s(_vm._f(\"toCurrency\")(_vm.annualBudgetIncreaseDifference)))])])])])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/* eslint-disable max-len, padded-blocks */\n/* This mixin provides methods for getting form schemas */\nimport api from '@/api';\n\nexport default {\n methods: {\n validateRangeNumber(value, minValue, maxValue) {\n // https://stackoverflow.com/questions/12702030/regular-expression-for-3-decimal-point\n if (value === null || Number.isNaN(value)) return ['Must enter a numeric value!'];\n if (value < 0) return [`Cannot be less than ${minValue}`];\n if (value > maxValue) return [`Cannot exceed ${maxValue}!`];\n if (value.toString().match(/\\.[0-9]{3}/)) return ['No more than two decimal places allowed!'];\n return [];\n },\n validatePositiveNumber(value, maxValue) {\n // https://stackoverflow.com/questions/12702030/regular-expression-for-3-decimal-point\n if (value === null || Number.isNaN(value)) return ['Must enter a numeric value!'];\n if (value <= 0) return ['Positive non-zero numbers only!'];\n if (value > maxValue) return [`Cannot exceed ${maxValue}!`];\n if (value.toString().match(/\\.[0-9]{3}/)) return ['No more than two decimal places allowed!'];\n return [];\n },\n validatePositiveWholeNumber(value, maxValue) {\n // https://stackoverflow.com/questions/12702030/regular-expression-for-3-decimal-point\n if (value === null || Number.isNaN(value)) return ['Must enter a numeric value!'];\n if (value < 0) return ['Non-negative numbers only!'];\n if (value > maxValue) return [`Cannot exceed ${maxValue}!`];\n if (value.toString().match(/\\.[0-9]{1}/)) return ['No decimal places allowed!'];\n return [];\n },\n // project budget adj must be at least the amount the annual budget adj\n // exceeds the amount left on the project.\n // It cannot exceed the annual budget adj.\n validateProjectBudgetAdjustment(projectAdjustment) {\n if (projectAdjustment === null || Number.isNaN(projectAdjustment)) return ['Must enter a numeric value!'];\n if (this.fundingSource === undefined) return [];\n\n if (['ECREP Project', 'Invasive Treatment Project', 'VEGBAC Project'].includes(this.project.category)) {\n return [];\n }\n\n const fundingSourceId = this.fundingSources.find((e) => e.recorD_NAME === this.fundingSource).recorD_ID;\n const previouslySpent = this.getPreviousFiscalYearsTotalSpent(this.budgetYear.year, fundingSourceId);\n const previouslyApproved = this.getFiscalYearTotalApproved(this.budgetYear.year, fundingSourceId);\n\n const projectBudgetLineItemSnapshots = this.projectSnapshotDraft.projectBudgetYearSnapshots\n .map((e) => e.projectBudgetLineItemSnapshots)\n .flat()\n .filter((e) => e.fundingSourceId === fundingSourceId);\n\n let snapshotTotal = 0;\n projectBudgetLineItemSnapshots.forEach((e) => {\n const baseCost = ((e.quantity * e.unitCost) * (e.costShare * 0.01));\n const contingency = baseCost * e.contingencyPercent * 0.01;\n snapshotTotal += (baseCost + contingency);\n });\n\n const amountLeft = Number((snapshotTotal + this.projectBudgetIncrease - this.projectBudgetDecrease - previouslySpent - previouslyApproved).toFixed(2));\n const annualAdjustment = Number((this.currentAdjustment.adjustmentToAnnualBudget).toFixed(2));\n const localProjectAdjustment = Number((projectAdjustment).toFixed(2));\n let errorArray = [];\n\n if (!amountLeft && localProjectAdjustment !== annualAdjustment) {\n errorArray.push(`Project Budget Adjustment must be ${annualAdjustment} to provide enough funds for the Annual Budget Adjustment`);\n } else {\n console.debug('amountLeft', amountLeft);\n console.debug('annualAdjustment', annualAdjustment);\n console.debug('amountLeft <= annualAdjustment', amountLeft <= annualAdjustment);\n if (amountLeft <= annualAdjustment) {\n const minimumProjectAdjustment = Number((annualAdjustment - amountLeft).toFixed(2));\n console.debug('minimumProjectAdjustment', minimumProjectAdjustment);\n console.debug('localProjectAdjustment', localProjectAdjustment);\n if (localProjectAdjustment < minimumProjectAdjustment) {\n errorArray.push(`Project Budget Adjustment must be at least ${this.$options.filters.toCurrency(minimumProjectAdjustment)} to provide enough funds for the Annual Budget Adjustment`);\n }\n } else {\n errorArray = errorArray.concat(this.validateRangeNumber(localProjectAdjustment, 0, 1000000));\n }\n if (localProjectAdjustment > annualAdjustment) {\n errorArray.push('Project Budget Adjustment cannot exceed the Annual Budget Adjustment.');\n }\n }\n\n console.debug('errorArray: ', errorArray);\n return errorArray;\n },\n getProjectDecreaseSchema() {\n return {\n id: 'budgetDecrease',\n legend: 'Decrease Project Budget',\n headerName: 'Decrease Project Budget',\n fields: [\n {\n type: 'select',\n label: 'Funding Source
Pick the expected Funding Source for this item',\n model: 'fundingSourceId',\n required: true,\n styleClasses: ['field-label-override-font', 'row', 'full-width-label'],\n attributes: {\n wrapper: { 'data-list': 'col-5' },\n },\n values: this.orderedFundingSourcesForCurrentBudget(),\n validator: ['required'],\n },\n {\n type: 'input',\n inputType: 'number',\n label: 'Decrease Amount
',\n min: 0.01,\n max: 1000000,\n required: true,\n step: '0.01',\n styleClasses: ['field-label-override-font', 'row', 'full-width-label'],\n attributes: {\n wrapper: { 'data-list': 'col-5' },\n },\n model: 'decreaseAmount',\n validator: (value) => (this.validatePositiveNumber(value, 1000000)),\n },\n ],\n };\n },\n getAnnualBudgetIncreaseSchema() {\n return {\n id: 'annualBudgetIncrease',\n legend: 'Adjustment',\n headerName: 'Adjustment',\n fields: [\n {\n type: 'select',\n label: 'Funding Source
Pick the expected Funding Source for this item',\n model: 'fundingSourceId',\n required: true,\n styleClasses: ['field-label-override-font', 'row', 'full-width-label'],\n attributes: {\n wrapper: { 'data-list': 'col-5' },\n },\n values: this.orderedFundingSources(),\n validator: ['required'],\n },\n {\n type: 'input',\n inputType: 'number',\n label: 'Change to Annual Budget
',\n min: 0.01,\n max: 1000000,\n required: true,\n step: '0.01',\n styleClasses: ['field-label-override-font', 'row', 'full-width-label'],\n attributes: {\n wrapper: { 'data-list': 'col-5' },\n },\n model: 'adjustmentToAnnualBudget',\n validator: (value) => (this.validatePositiveNumber(value, 1000000)),\n },\n {\n type: 'input',\n inputType: 'number',\n label: 'Change to Project Budget
Indicate by how much this FY budget change will increase the overall Project Budget. The amount can be the same as the amount of this FY increase. However, if this change is to approve earlier spending of this Project\\'s existing budget (shifting from out years to this year), then you can indicate a lesser increase to the overall Project budget, depending on funds remaining for the Project.',\n min: 0.00,\n max: 1000000,\n required: true,\n step: '0.01',\n styleClasses: ['field-label-override-font', 'row', 'full-width-label'],\n attributes: {\n wrapper: { 'data-list': 'col-5' },\n },\n model: 'adjustmentToProjectBudget',\n validator: (value) => (this.validateProjectBudgetAdjustment(value)),\n },\n ],\n };\n },\n getSchema() {\n return {\n id: 'projectBudgetLineItem',\n legend: 'Line Item',\n headerName: 'Line Item',\n fields: [\n {\n type: 'select',\n label: 'Cost Item
Pick a cost item',\n model: 'product',\n required: true,\n styleClasses: ['field-label-override-font', 'row'],\n attributes: {\n wrapper: { 'data-list': 'col-5' },\n },\n values: this.orderedProducts(),\n onChanged: (model) => {\n const unit = model.product.customfields.find((cf) => cf.fielD_NAME === 'Unit__c');\n if (unit) {\n /* eslint-disable-next-line */\n model.units = unit.fielD_VALUE;\n }\n /* eslint-disable-next-line */\n model.unitCost = null;\n this.$store.dispatch('Project/fetchProductPriceListEntries',\n model.product.producT_ID);\n },\n validator: ['required'],\n },\n {\n type: 'select',\n label: 'Price List
Pick a price list, or leave blank if this cost item has a non-standard or off-contract unit cost',\n required: false,\n styleClasses: ['field-label-override-font', 'row'],\n attributes: {\n wrapper: { 'data-list': 'col-5' },\n },\n selectOptions: {\n noneSelectedText: 'Select Cost Item Above',\n },\n values: [],\n disabled: true,\n visible: (model) => {\n if (!model.product) {\n return true;\n }\n return false;\n },\n },\n {\n type: 'select',\n label: 'Price List
Pick a price list, or leave blank if this cost item has a non-standard or off-contract unit cost',\n required: false,\n styleClasses: ['field-label-override-font', 'row'],\n attributes: {\n wrapper: { 'data-list': 'col-5' },\n },\n selectOptions: {\n noneSelectedText: 'Loading...',\n },\n values: [],\n disabled: true,\n visible: (model) => {\n if (model.product && this.currentPriceListsLoading) {\n return true;\n }\n return false;\n },\n },\n {\n type: 'select',\n label: 'Price List
Pick a price list, or leave blank if this cost item has a non-standard or off-contract unit cost',\n model: 'priceListId',\n required: false,\n styleClasses: ['field-label-override-font', 'row'],\n attributes: {\n wrapper: { 'data-list': 'col-5' },\n },\n values: this.orderedPriceLists(),\n onChanged: (model) => {\n /* eslint-disable-next-line */\n model.priceList = this.currentPriceLists.find((e) => e.pricebooK_ID === model.priceListId);\n /* eslint-disable-next-line */\n if (model.priceList && model.priceList != null && model.priceList.entry && model.priceList.entry.price) {\n /* eslint-disable-next-line */\n model.unitCost = model.priceList.entry.price;\n }\n },\n visible: (model) => {\n if (model.product && !this.currentPriceListsLoading) {\n return true;\n }\n return false;\n },\n },\n {\n type: 'select',\n label: 'Funding Source
Pick the expected Funding Source for this item',\n model: 'fundingSourceId',\n required: true,\n styleClasses: ['field-label-override-font', 'row'],\n attributes: {\n wrapper: { 'data-list': 'col-5' },\n },\n values: this.orderedFundingSources(),\n validator: ['required'],\n },\n {\n type: 'customDatepicker',\n label: 'Target Date
Optionally pick a target date for the item to be procured',\n placeholder: 'Target Date',\n model: 'targetDate',\n clearButton: true,\n validator: (value) => {\n if (new Date(value) < this.currentLineItem.fiscalYearStart) return [`Requested Target Date may not be earlier than ${new Date(this.currentLineItem.fiscalYearStart).toLocaleDateString()}`];\n if (new Date(value) >= this.currentLineItem.fiscalYearEnd) return [`Requested Target Date must be earlier than ${new Date(this.currentLineItem.fiscalYearEnd).toLocaleDateString()}`];\n return [];\n },\n styleClasses: ['field-label-override-font', 'row'],\n },\n {\n type: 'input',\n inputType: 'number',\n label: 'Quantity
Enter the quantity of item (see units below)',\n min: 0.01,\n max: 1000000,\n required: true,\n step: '0.01',\n styleClasses: ['field-label-override-font', 'row'],\n attributes: {\n wrapper: { 'data-list': 'col-5' },\n },\n model: 'quantity',\n validator: (value) => (this.validatePositiveNumber(value, 1000000)),\n },\n {\n type: 'input',\n inputType: 'text',\n label: 'Units',\n styleClasses: ['field-label-override-font', 'row'],\n attributes: {\n wrapper: { 'data-list': 'col-5' },\n },\n model: 'units',\n disabled: true,\n },\n {\n type: 'input',\n inputType: 'number',\n label: 'Unit Cost
If no price list was selected, enter the unique unit cost of the item',\n min: 0.01,\n max: 1000000,\n required: true,\n step: '0.01',\n styleClasses: ['field-label-override-font', 'row'],\n attributes: {\n wrapper: { 'data-list': 'col-5' },\n },\n model: 'unitCost',\n validator: (value) => (this.validatePositiveNumber(value, 1000000)),\n },\n {\n type: 'input',\n inputType: 'number',\n label: '% District or Partner Cost
Enter the cost share percentage of the item',\n min: 0,\n max: 100,\n required: true,\n step: '1',\n styleClasses: ['field-label-override-font', 'row'],\n attributes: {\n wrapper: { 'data-list': 'col-5' },\n },\n model: 'costShare',\n validator: (value) => (this.validatePositiveWholeNumber(value, 100)),\n },\n {\n type: 'input',\n inputType: 'number',\n label: '% Contingency
Enter the contingency percentage of the item',\n min: 0,\n max: 100,\n required: true,\n step: '1',\n styleClasses: ['field-label-override-font', 'row'],\n attributes: {\n wrapper: { 'data-list': 'col-5' },\n },\n model: 'contingencyPercent',\n validator: (value) => (this.validatePositiveWholeNumber(value, 100)),\n },\n {\n type: 'textArea',\n label: 'Notes
Optionally enter short note for the item',\n model: 'notes',\n max: 100,\n attributes: {\n wrapper: { 'data-list': 'col-5' },\n },\n styleClasses: ['field-label-override-font', 'row'],\n },\n ],\n };\n },\n orderedProducts() {\n const types = ['Materials', 'Plant Materials', 'Contracted Services'];\n let orderedProducts = [];\n if (this.products) {\n orderedProducts = this.products.filter(\n (prod) => {\n const field = prod.customfields.find((cf) => cf.fielD_NAME === 'Type__c');\n if (!field) {\n return false;\n }\n return types.includes(field.fielD_VALUE);\n },\n ).map(\n (prod) => ({ id: prod, name: prod.producT_NAME }),\n ).sort(this.nameSort);\n }\n return orderedProducts;\n },\n orderedFundingSources() {\n if (!this.funds || this.funds === null || this.funds.length === 0) return [];\n let fundingSources = [];\n if (this.fundingSources) {\n fundingSources = this.fundingSources.map(\n (fundingSource) => ({ id: fundingSource.recorD_ID, name: fundingSource.recorD_NAME }),\n ).sort(this.nameSort);\n }\n fundingSources = fundingSources.filter((fundingSource) => this.funds.filter((fund) => fund.fundingSourceId === fundingSource.id).length > 0);\n return fundingSources;\n },\n orderedFundingSourcesForCurrentBudget() {\n if (!this.fundingSources || !this.projectBudget) return [];\n // only include items that are already on the project\n const fundingSourceIds = this.projectBudget.projectBudgetYears\n .flatMap((pby) => pby.projectBudgetLineItems.map((li) => li.fundingSourceId));\n return this.fundingSources\n .filter((fs) => fundingSourceIds.includes(fs.recorD_ID))\n .map((fs) => ({ id: fs.recorD_ID, name: fs.recorD_NAME }))\n .sort(this.nameSort);\n },\n orderedPriceLists() {\n if (!this.currentPriceLists) return [];\n return this.currentPriceLists\n .map((pb) => ({ id: pb.pricebooK_ID, name: pb.name }))\n .sort(this.nameSort);\n },\n setExistingFunds(budgetYear) {\n api.get(`/project/fundsPerFiscalYear/${budgetYear.year}`).then((response) => {\n const funds = response.data.map((e) => {\n const fund = { id: e.recorD_ID, name: e.recorD_NAME };\n let field = e.customfields.find((customField) => customField.fielD_NAME === 'Funding_Source__c');\n if (field != null) {\n fund.fundingSourceId = field.fielD_VALUE;\n }\n field = e.customfields.find((customField) => customField.fielD_NAME === 'Fiscal_Year__c');\n if (field != null) {\n fund.fiscalYear = field.fielD_VALUE;\n }\n return fund;\n });\n funds.forEach((e) => this.funds.push(e));\n });\n },\n nameSort(a, b) {\n return a.name.localeCompare(b.name);\n },\n },\n};\n","/* eslint-disable max-len, no-restricted-properties, padded-blocks, prefer-destructuring */\nimport { mapState, mapGetters } from 'vuex';\nimport FiscalYear from '@/mixins/fiscalYear';\n\nexport default {\n mixins: [\n FiscalYear,\n ],\n computed: {\n ...mapGetters('Project', [\n 'fundingSourceMap',\n 'paidWorkorderBillLineItems',\n ]),\n ...mapState('Project', {\n projectIncentivePayments: (state) => state.projectIncentivePayments,\n }),\n showProjectExpenditureSummary() {\n if (!this.config || this.config === null) return false;\n if (!this.project || this.project === null) return false;\n const approvalStatus = [\n this.config.projectOverviewPage.submitStatus.Approved,\n this.config.projectOverviewPage.submitStatus.Completed,\n this.config.projectOverviewPage.submitStatus.Cancelled,\n ];\n return approvalStatus.includes(this.project.approvalStatus);\n },\n showProjectBudgetSummary() {\n if (!this.config || this.config === null) return false;\n if (!this.project || this.project === null) return false;\n return [\n this.config.projectOverviewPage.submitStatus.Approved,\n this.config.projectOverviewPage.submitStatus.Completed,\n this.config.projectOverviewPage.submitStatus.Cancelled,\n ].includes(this.project.approvalStatus);\n },\n projectBudgetIncrease() {\n if (!this.projectBudget || !this.projectBudget.projectBudgetYears) {\n return 0.0;\n }\n return this.projectBudget.projectBudgetYears.flatMap((pby) => pby.annualBudgetIncreases.map(\n (ba) => ba.adjustmentToProjectBudget,\n )).reduce(\n (a, b) => a + b, 0.0,\n );\n },\n projectBudgetDecrease() {\n if (!this.projectBudget || !this.projectBudget.projectBudgetDecreases) {\n return 0.0;\n }\n return this.projectBudget.projectBudgetDecreases.map(\n (ba) => ba.decreaseAmount,\n ).reduce(\n (a, b) => a + b, 0.0,\n );\n },\n projectExpenditureTotalProjectCost() {\n if (!this.projectSnapshot || this.projectSnapshot === null) return 0;\n\n const costShare = Math.round(this.projectExpenditureCostShare * 100);\n const districtAndPartnerCost = Math.round(this.projectExpenditureDistrictOrPartnerCost * 100);\n const projectSnapshotTotalAmount = costShare + districtAndPartnerCost;\n\n let totalApproved = projectSnapshotTotalAmount;\n\n totalApproved /= Math.pow(10, 2);\n\n return totalApproved;\n },\n projectExpenditureCostShare() {\n if (!this.projectSnapshot || this.projectSnapshot === null) return 0;\n\n return this.projectSnapshot.costShare_Total_Cost;\n },\n projectExpenditureDistrictOrPartnerCost() {\n let totalDistrictOrPartnerCost = 0;\n const totalDistrictOrPartnerCostItems = this.projectExpenditureDistrictOrPartnerCostItems;\n\n if (totalDistrictOrPartnerCostItems.length > 0) {\n totalDistrictOrPartnerCost = totalDistrictOrPartnerCostItems.map(\n (e) => Math.round(e.total * 100),\n ).reduce(\n (a, b) => a + b,\n );\n }\n totalDistrictOrPartnerCost /= Math.pow(10, 2);\n\n return totalDistrictOrPartnerCost;\n },\n projectExpenditureDistrictOrPartnerCostItems() {\n if (!this.fundingSources || this.fundingSources === null) return [];\n if (!this.projectSnapshotDraft || this.projectSnapshotDraft === null) return [];\n if (!this.projectIncentivePayments || this.projectIncentivePayments === null) return [];\n\n const currentProjectBudgetYears = this.projectSnapshotDraft.projectBudgetYearSnapshots;\n if (!currentProjectBudgetYears || currentProjectBudgetYears === null) return [];\n\n const annualBudgetIncreases = this.projectBudget.projectBudgetYears.flatMap((pby) => pby.annualBudgetIncreases);\n const projectBudgetDecreases = this.projectBudget.projectBudgetDecreases;\n\n const currentProjectLineItems = [];\n currentProjectBudgetYears.forEach((by) => {\n by.projectBudgetLineItemSnapshots.forEach((li) => {\n currentProjectLineItems.push(li);\n });\n });\n\n const usedFundingSourceIds = Array.from(new Set(\n currentProjectLineItems.map(\n (e) => e.fundingSourceId,\n ),\n ));\n\n const annualIncreasesFundingSourceIds = Array.from(new Set(\n annualBudgetIncreases.map(\n (e) => e.fundingSourceId,\n ),\n ));\n\n const incentiveFundingSourceIds = Array.from(new Set(\n this.projectIncentivePayments.map(\n (e) => e.fundingSourceId,\n ),\n ));\n\n const fundingSourceIds = [...new Set([...usedFundingSourceIds, ...annualIncreasesFundingSourceIds, ...incentiveFundingSourceIds])];\n\n const totalSpentByFundingSource = {};\n fundingSourceIds.forEach((e) => {\n totalSpentByFundingSource[e?.toString()] = 0;\n });\n\n currentProjectLineItems.forEach((e) => {\n const baseCost = e.unitCost * e.quantity * (e.costShare * 0.01);\n const contingencyCost = e.unitCost * e.quantity * (e.costShare * 0.01) * (e.contingencyPercent * 0.01);\n const totalCost = baseCost + contingencyCost;\n\n totalSpentByFundingSource[e.fundingSourceId?.toString()] += totalCost;\n });\n\n const filteredFundingSources = this.fundingSources.map((fs) => {\n const recordId = fs.recorD_ID;\n const recordName = fs.recorD_NAME;\n return {\n id: recordId,\n name: recordName,\n };\n });\n\n const mappedFundingSources = new Map();\n filteredFundingSources.forEach((fs) => {\n mappedFundingSources.set(fs.id?.toString(), fs.name);\n });\n\n fundingSourceIds.forEach((e) => {\n const incentives = this.projectIncentivePayments\n .filter((incentive) => incentive?.fundingSourceId?.toString() === e?.toString())\n .map((incentive) => incentive.amountPaid);\n\n let incentiveAmount = 0;\n if (incentives.length > 0) {\n incentiveAmount = incentives.reduce((a, b) => a + b, 0.0);\n }\n\n totalSpentByFundingSource[e?.toString()] += (Math.round((incentiveAmount * 100)) / Math.pow(10, 2));\n });\n\n const totalCostItems = fundingSourceIds.map((e) => {\n const itemCost = totalSpentByFundingSource[e?.toString()];\n\n const increases = annualBudgetIncreases.filter(\n (inc) => inc.fundingSourceId?.toString() === e?.toString(),\n );\n\n let totalIncrease = 0.0;\n increases.forEach((inc) => {\n totalIncrease += inc.adjustmentToProjectBudget;\n });\n\n const decreases = projectBudgetDecreases.filter(\n (dec) => dec.fundingSourceId?.toString() === e?.toString(),\n );\n\n let totalDecrease = 0.0;\n decreases.forEach((dec) => {\n totalDecrease += dec.decreaseAmount;\n });\n\n return {\n id: e,\n name: mappedFundingSources.get(e?.toString()),\n total: (itemCost + totalIncrease - totalDecrease).toFixed(2),\n };\n }).sort((a, b) => a.name?.localeCompare(b.name));\n\n return totalCostItems;\n },\n projectExpenditureTotalObligated() {\n const spent = this.projectExpenditureTotalObligatedSpent;\n const unspent = this.projectExpenditureTotalObligatedUnspent;\n\n return spent + unspent;\n },\n projectExpenditureTotalObligatedSpent() {\n let totalObligatedSpent = 0;\n\n const totalObligatedSpentItems = this.projectExpenditureTotalObligatedSpentItems;\n\n if (totalObligatedSpentItems.length > 0) {\n totalObligatedSpent = totalObligatedSpentItems.map(\n (e) => Math.round(e.total * 100),\n ).reduce(\n (a, b) => a + b,\n );\n }\n totalObligatedSpent /= Math.pow(10, 2);\n\n return totalObligatedSpent;\n },\n projectExpenditureTotalObligatedSpentItems() {\n if (!this.projectWorkorders || this.projectWorkorders === null) return [];\n if (!this.fundingSourceMap) return [];\n\n const workorders = this.projectWorkorders.filter(\n (e) => e.workOrderBills\n && (e.status === 'Completed'),\n );\n\n const paidWorkorderBills = workorders.map(\n (e) => e.workOrderBills,\n ).flat().filter(\n (e) => e.status === this.config.workOrderBillForm.submitStatus.Paid,\n );\n\n const paidWorkorderBillLineItems = paidWorkorderBills.map(\n (e) => e.workOrderBillLineItems,\n ).flat();\n const paidWorkorderBillIncentives = paidWorkorderBills.map(\n (e) => e.workOrderBillIncentivePayments,\n ).flat();\n\n const lineItemFundingSourceIds = Array.from(new Set(\n paidWorkorderBillLineItems.map(\n (e) => e.fundingSourceId,\n ),\n ));\n const incentiveFundingSourceIds = Array.from(new Set(\n paidWorkorderBillIncentives.map(\n (e) => e.fundingSourceId,\n ),\n ));\n const allFundingSourceIds = [...new Set([...lineItemFundingSourceIds, ...incentiveFundingSourceIds])];\n\n const totalSpentByFundingSource = {};\n allFundingSourceIds.forEach((e) => {\n totalSpentByFundingSource[e?.toString()] = 0;\n });\n\n paidWorkorderBillLineItems.forEach((e) => {\n totalSpentByFundingSource[e.fundingSourceId?.toString()] += Math.round((e.itemCost * 100));\n });\n paidWorkorderBillIncentives.forEach((e) => {\n totalSpentByFundingSource[e.fundingSourceId?.toString()] += Math.round((e.amountBilled * 100));\n });\n\n const totalSpentItems = allFundingSourceIds.map((e) => {\n let itemCost = totalSpentByFundingSource[e?.toString()];\n itemCost /= Math.pow(10, 2);\n return {\n id: e,\n name: this.fundingSourceMap.get(e?.toString()),\n total: itemCost,\n };\n }).sort((a, b) => a.name?.localeCompare(b.name));\n\n return totalSpentItems;\n },\n projectExpenditureTotalObligatedUnspent() {\n let totalObligatedUnspent = 0;\n\n const totalObligatedUnspentItems = this.projectExpenditureTotalObligatedUnspentItems;\n\n if (totalObligatedUnspentItems.length > 0) {\n totalObligatedUnspent = totalObligatedUnspentItems.map(\n (e) => Math.round(e.total * 100),\n ).reduce(\n (a, b) => a + b,\n );\n }\n totalObligatedUnspent /= Math.pow(10, 2);\n\n return totalObligatedUnspent;\n },\n projectExpenditureTotalObligatedUnspentItems() {\n if (!this.projectIncentivePayments || this.projectIncentivePayments === null) return [];\n if (!this.projectWorkorders || this.projectWorkorders === null) return [];\n if (!this.fundingSourceMap) return [];\n if (!this.projectWorkorderLineItemFundingSources\n || this.projectWorkorderLineItemFundingSources === null\n || this.projectWorkorderLineItemFundingSources.length === 0) return [];\n\n const workorders = this.projectWorkorders.filter(\n (e) => e.workOrderBills\n && ((e.status === 'Accepted') || (e.status === 'Draft') || (e.status === 'Review') || (e.status === 'Submitted')),\n );\n\n const fundingSourceIds = Array.from(new Set(\n this.projectWorkorderLineItemFundingSources.map(\n (e) => e.fundingSourceId,\n ),\n ));\n\n const workorderIncentives = workorders.map(\n (e) => e.workOrderProjectIncentives,\n ).flat();\n\n const incentiveFundingSourceIds = Array.from(new Set(\n workorderIncentives.map(\n (e) => this.projectIncentivePayments.find((pip) => pip.id === e.projectIncentivePaymentId).fundingSourceId,\n ),\n ));\n\n const allFundingSourceIds = [...new Set([...fundingSourceIds, ...incentiveFundingSourceIds])];\n\n const totalUnspentByFundingSource = {};\n allFundingSourceIds.forEach((e) => {\n totalUnspentByFundingSource[e?.toString()] = 0;\n });\n\n const workorderLineItems = workorders.map(\n (e) => e.workOrderLineItems,\n ).flat();\n\n workorderLineItems.forEach((e) => {\n const fsource = this.projectWorkorderLineItemFundingSources.find((fs) => fs.workOrderLineItemId === e.workOrderLineItemId);\n const totalSpent = ((e.quantity * e.salePrice * 100) * (e.districtAndPartnerCost * 0.01));\n totalUnspentByFundingSource[fsource.fundingSourceId?.toString()] += totalSpent;\n });\n\n workorderIncentives.forEach((e) => {\n const fundingSourceId = this.projectIncentivePayments.find((pip) => pip.id === e.projectIncentivePaymentId).fundingSourceId;\n totalUnspentByFundingSource[fundingSourceId?.toString()] += Math.round((e.paymentAmount * 100));\n });\n\n const totalObligatedUnspentItems = allFundingSourceIds.map((e) => {\n let itemCost = totalUnspentByFundingSource[e?.toString()];\n itemCost /= Math.pow(10, 2);\n if (itemCost < 0) itemCost = 0;\n const name = this.fundingSourceMap.get(e?.toString());\n\n return {\n id: e,\n name,\n total: itemCost,\n };\n }).sort((a, b) => a.name?.localeCompare(b.name));\n\n return totalObligatedUnspentItems;\n },\n projectExpenditureObligatedSpent() {\n let totalObligatedSpent = 0;\n\n const totalObligatedSpentItems = this.projectExpenditureObligatedSpentItems;\n\n if (totalObligatedSpentItems.length > 0) {\n totalObligatedSpent = totalObligatedSpentItems.map(\n (e) => Math.round(e.total * 100),\n ).reduce(\n (a, b) => a + b,\n );\n }\n totalObligatedSpent /= Math.pow(10, 2);\n\n return totalObligatedSpent;\n },\n projectExpenditureObligatedSpentItems() {\n if (!this.projectWorkorders || this.projectWorkorders === null) return [];\n if (!this.fundingSourceMap) return [];\n\n const workorders = this.projectWorkorders.filter(\n (e) => e.workOrderBills\n && (e.status === 'Completed' || e.status === 'Accepted'),\n );\n\n const paidWorkorderBills = workorders.map(\n (e) => e.workOrderBills,\n ).flat().filter(\n (e) => e.status === this.config.workOrderBillForm.submitStatus.Paid,\n );\n\n const paidWorkorderBillLineItems = paidWorkorderBills.map(\n (e) => e.workOrderBillLineItems,\n ).flat();\n const paidWorkorderBillIncentives = paidWorkorderBills.map(\n (e) => e.workOrderBillIncentivePayments,\n ).flat();\n\n const woBillFundingSourceIds = Array.from(new Set(\n paidWorkorderBillLineItems.map(\n (e) => e.fundingSourceId,\n ),\n ));\n const woIncentiveFundingSourceIds = Array.from(new Set(\n paidWorkorderBillIncentives.map(\n (e) => e.fundingSourceId,\n ),\n ));\n\n const allFundingSourceIds = [...new Set([...woBillFundingSourceIds, ...woIncentiveFundingSourceIds])];\n\n const totalSpentByFundingSource = {};\n allFundingSourceIds.forEach((e) => {\n totalSpentByFundingSource[e?.toString()] = 0;\n });\n\n paidWorkorderBillLineItems.forEach((e) => {\n totalSpentByFundingSource[e.fundingSourceId?.toString()] += Math.round((e.itemCost * 100));\n });\n paidWorkorderBillIncentives.forEach((e) => {\n totalSpentByFundingSource[e.fundingSourceId?.toString()] += Math.round((e.amountBilled * 100));\n });\n\n const totalSpentItems = allFundingSourceIds.map((e) => {\n let itemCost = totalSpentByFundingSource[e?.toString()];\n itemCost /= Math.pow(10, 2);\n return {\n id: e,\n name: this.fundingSourceMap.get(e?.toString()),\n total: itemCost,\n };\n }).sort((a, b) => a.name?.localeCompare(b.name));\n\n return totalSpentItems;\n },\n projectExpenditureTotalObligatedItems() {\n if (!this.projectIncentivePayments || this.projectIncentivePayments === null) return [];\n if (!this.projectWorkorders || this.projectWorkorders === null) return 0;\n if (!this.fundingSourceMap) return 0;\n\n const workorders = this.projectWorkorders.filter(\n (e) => ((e.status === 'Completed') || (e.status === 'Accepted')\n || (e.status === 'Draft') || (e.status === 'Review') || (e.status === 'Submitted')),\n );\n\n const workOrderFundingItems = [];\n workorders.forEach((wo) => {\n let unspentLineItemFunding = [];\n let paidBillFunding = [];\n const acceptedStatusFunding = [];\n\n if (wo.status === 'Draft' || (wo.status === 'Review') || (wo.status === 'Submitted')) {\n unspentLineItemFunding = this.getUnspentLineItemFunding(wo);\n }\n if (wo.status === 'Completed') {\n paidBillFunding = this.getPaidBillFunding(wo);\n }\n if (wo.status === 'Accepted') {\n const acceptedUnspentLineItemFunding = this.getUnspentLineItemFunding(wo);\n const acceptedPaidBillFunding = this.getPaidBillFunding(wo);\n acceptedUnspentLineItemFunding.forEach((item) => {\n acceptedStatusFunding.push(item);\n });\n acceptedPaidBillFunding.forEach((item) => {\n const liIndex = acceptedStatusFunding.findIndex((lif) => lif.fundingSourceId === item.fundingSourceId);\n if (liIndex >= 0) {\n acceptedStatusFunding[liIndex].total = acceptedStatusFunding[liIndex].total > item.total ? acceptedStatusFunding[liIndex].total : item.total;\n } else {\n acceptedStatusFunding.push({\n fundingSourceId: item.fundingSourceId,\n total: item.total,\n });\n }\n });\n }\n\n unspentLineItemFunding.forEach((unspent) => {\n workOrderFundingItems.push(unspent);\n });\n paidBillFunding.forEach((paid) => {\n workOrderFundingItems.push(paid);\n });\n acceptedStatusFunding.forEach((accpted) => {\n workOrderFundingItems.push(accpted);\n });\n });\n\n const totalObligatedItems = [];\n workOrderFundingItems.forEach((item) => {\n const liIndex = totalObligatedItems.findIndex((lif) => lif.id === item.fundingSourceId);\n if (liIndex >= 0) {\n totalObligatedItems[liIndex].total += item.total;\n } else {\n totalObligatedItems.push({\n name: this.fundingSourceMap.get(item.fundingSourceId?.toString()),\n id: item.fundingSourceId,\n total: item.total,\n });\n }\n });\n\n return totalObligatedItems;\n },\n projectExpenditureTotalRemaining() {\n const items = this.projectExpenditureTotalRemainingItems;\n\n let total = 0.0;\n Object.keys(items).forEach((e) => {\n total += items[e].total;\n });\n\n return total;\n },\n projectExpenditureTotalRemainingItems() {\n const districtAndPartnerItems = this.projectExpenditureDistrictOrPartnerCostItems;\n const totalObligatedItems = this.projectExpenditureTotalObligatedItems;\n\n const distPartnerFundingSourceIds = districtAndPartnerItems.map((item) => (item.id));\n const obligatedFundingSourceIds = totalObligatedItems.map((item) => (item.id));\n const allfundingSourceIds = [...new Set([...distPartnerFundingSourceIds, ...obligatedFundingSourceIds])];\n\n const remainingItems = allfundingSourceIds.map((fundingSourceId) => {\n let districtAndPartnerItemCost = 0;\n let itemName = '';\n let totalObligatedItemCost = 0;\n\n const districtAndPartnerItem = districtAndPartnerItems.find((e) => e.id?.toString() === fundingSourceId?.toString());\n if (districtAndPartnerItem) {\n districtAndPartnerItemCost = districtAndPartnerItem.total;\n itemName = districtAndPartnerItem.name;\n }\n\n const totalObligatedItem = totalObligatedItems.find((e) => e.id?.toString() === fundingSourceId?.toString());\n if (totalObligatedItem) {\n totalObligatedItemCost = totalObligatedItem.total;\n itemName = totalObligatedItem.name;\n }\n\n return {\n id: fundingSourceId,\n name: itemName,\n total: districtAndPartnerItemCost - totalObligatedItemCost,\n };\n });\n\n return remainingItems;\n },\n projectExpenditureCancelCompleteTotalRemaining() {\n const items = this.projectExpenditureCancelCompleteTotalRemainingItems;\n\n let total = 0.0;\n Object.keys(items).forEach((e) => {\n total += items[e].total;\n });\n\n return total;\n },\n projectExpenditureCancelCompleteTotalRemainingItems() {\n const districtAndPartnerItems = this.projectExpenditureDistrictOrPartnerCostItems;\n const totalObligatedSpentItems = this.projectExpenditureTotalObligatedSpentItems;\n\n const remainingItems = districtAndPartnerItems.map((item) => {\n const totalCost = item.total;\n let obligated = 0.0;\n\n const obligatedItem = totalObligatedSpentItems.find((e) => e.id?.toString() === item.id?.toString());\n if (obligatedItem) {\n obligated = obligatedItem.total;\n }\n\n const totalRemaining = totalCost - obligated;\n return {\n id: item.id,\n name: item.name,\n total: totalRemaining,\n };\n });\n\n return remainingItems;\n },\n },\n methods: {\n async loadProjectBudgetSummaryData() {\n if (!this.project || this.project === null) {\n await this.$store.dispatch('Project/getProject', parseInt(this.$route.params.id, 10));\n }\n\n await this.$store.dispatch('Project/getProjectSnapshot', parseInt(this.$route.params.id, 10));\n await this.$store.dispatch('Project/getProjectBudgetYearSnapshots', parseInt(this.$route.params.id, 10));\n await this.$store.dispatch('Project/getProjectWorkorders', parseInt(this.$route.params.id, 10));\n await this.loadProjectWorkorderBills();\n\n if (this.projectWorkorders) {\n await this.$store.dispatch(\n 'Project/getProjectWorkorderLineItemFundingSources',\n this.projectWorkorders.map((e) => e.id),\n );\n }\n\n const fiscalYear = this.getFiscalYear(this.project.startDate);\n await this.$store.dispatch('Project/getProjectSnapshots', fiscalYear);\n },\n async loadProjectWorkorderBills() {\n await this.$store.dispatch(\n 'Project/getProjectWorkorderBills',\n this.projectWorkorders.map((e) => e.id),\n );\n\n const workOrderBillLineItems = this.projectWorkorderBills.map((e) => e.workOrderBillLineItems).flat();\n workOrderBillLineItems.forEach((e) => {\n\n const workOrderBill = this.projectWorkorderBills.find((item) => item.id === e.workOrderBillId);\n const workOrder = this.projectWorkorders.find((item) => item.id === workOrderBill.workOrderId);\n const workOrderLineItem = workOrder.workOrderLineItems.find((item) => item.workOrderLineItemId === e.workOrderLineItemId);\n\n if (workOrderLineItem && workOrderLineItem != null) {\n e.lineItemProductName = workOrderLineItem.productName;\n e.lineItemProductUnit = workOrderLineItem.productUnit;\n e.lineItemQuantity = workOrderLineItem.quantity;\n }\n\n e.itemCost = e.salePrice * e.quantity;\n\n const workOrderLineItemIds = workOrder.workOrderLineItems.map((item) => item.workOrderLineItemId);\n const workOrderLineItemFundingSources = this.projectWorkorderLineItemFundingSources.filter((item) => workOrderLineItemIds.includes(item.workOrderLineItemId));\n const fundingSourceIds = workOrderLineItemFundingSources.map((item) => (item.fundingSourceId));\n\n e.fundingSourceOptions = this.fundingSources.filter(\n (item) => fundingSourceIds.includes(item.recorD_ID),\n ).map(\n (item) => ({ value: item.recorD_ID, text: item.recorD_NAME }),\n ).sort(\n (a, b) => a.text?.localeCompare(b.text),\n );\n\n });\n\n this.projectWorkorders.map((e) => e.id).forEach((workorderId) => {\n const workorder = this.projectWorkorders.find((item) => item.id === workorderId);\n workorder.workOrderBills = this.projectWorkorderBills.filter((item) => item.workOrderId === workorderId);\n });\n },\n getWorkOrderObligatedUnspentGrandTotal(workOrder) {\n let workOrderLineItemTotal = 0;\n let workOrderBillTotal = 0;\n\n const lineItemTotals = (workOrder.workOrderLineItems || []).map(\n (e) => Math.round(e.quantity * (e.salePrice * 100) * (e.districtAndPartnerCost * 0.01)),\n );\n\n const bills = workOrder.workOrderBills;\n const billLineItems = bills.filter((e) => e.status === 'Paid').map((e) => e.workOrderBillLineItems).flat();\n\n const billLineItemsTotals = (billLineItems || []).map(\n (e) => Math.round(e.itemCost * 100),\n );\n\n if (billLineItemsTotals.length > 0) {\n workOrderBillTotal = billLineItemsTotals.reduce((lineItemSum, lineItemValue) => lineItemSum + lineItemValue);\n }\n workOrderBillTotal /= Math.pow(10, 2);\n\n if (lineItemTotals.length > 0) {\n workOrderLineItemTotal = lineItemTotals.reduce((lineItemSum, lineItemValue) => lineItemSum + lineItemValue);\n }\n\n workOrderLineItemTotal /= Math.pow(10, 2);\n const unspentTotal = workOrderLineItemTotal - workOrderBillTotal;\n\n return unspentTotal;\n },\n getWorkOrderGrandTotal(workOrder) {\n let grandTotal = 0;\n\n const lineItemTotals = (workOrder.workOrderLineItems || []).map(\n (e) => Math.round(e.quantity * (e.salePrice * 100) * (e.districtAndPartnerCost * 0.01)),\n );\n\n if (lineItemTotals.length > 0) {\n grandTotal = lineItemTotals.reduce((lineItemSum, lineItemValue) => lineItemSum + lineItemValue);\n }\n grandTotal /= Math.pow(10, 2);\n\n return grandTotal;\n },\n getPreviousFiscalYearsTotalSpent(fiscalYear, fundingSourceId) {\n if (!this.config || this.config === null) return 0;\n if (!this.projectWorkorders || this.projectWorkorders === null) return 0;\n\n const fiscalYearStart = new Date(`${fiscalYear - 1}`, 6, 1);\n\n const workorders = this.projectWorkorders.filter((e) => {\n const requestedDate = new Date(e.requestedDate);\n if (requestedDate < fiscalYearStart) {\n return true;\n }\n return false;\n });\n\n let workorderBills = workorders.filter(\n (e) => e.workOrderBills,\n ).map(\n (e) => e.workOrderBills,\n ).flat();\n\n workorderBills = workorderBills.filter(\n (e) => e.status === this.config.workOrderBillForm.submitStatus.Paid,\n );\n\n const workorderBillLineItems = workorderBills.map(\n (e) => e.workOrderBillLineItems,\n ).flat()\n .filter((e) => e.fundingSourceId === fundingSourceId);\n\n const workorderBillLineItemCosts = workorderBillLineItems.map(\n (e) => e.itemCost,\n );\n\n let workorderCost = 0;\n\n if (workorderBillLineItemCosts.length > 0) {\n workorderCost = workorderBillLineItemCosts.reduce((a, b) => a + b, 0.0);\n }\n\n return workorderCost;\n },\n getFiscalYearTotalApproved(fiscalYear, fundingSourceId) {\n if (!this.projectBudgetYearSnapshots || this.projectBudgetYearSnapshots === null || this.projectBudgetYearSnapshots.length === 0) return 0;\n const fiscalYearSnapshot = this.projectBudgetYearSnapshots\n .filter((e) => e.status === 'Approved')\n .find((e) => e.year === fiscalYear);\n\n if (!fiscalYearSnapshot || fiscalYearSnapshot === null) return 0;\n\n const fiscalYearLineItemSnapshots = fiscalYearSnapshot.projectBudgetLineItemSnapshots\n .filter((e) => e.fundingSourceId === fundingSourceId);\n\n let snapshotTotal = 0;\n fiscalYearLineItemSnapshots.forEach((e) => {\n const baseCost = ((e.quantity * e.unitCost) * (e.costShare * 0.01));\n const contingency = baseCost * e.contingencyPercent * 0.01;\n snapshotTotal += (baseCost + contingency);\n });\n\n return snapshotTotal\n + fiscalYearSnapshot.projectBudgetYear.annualBudgetIncreases\n .filter((ba) => ba.fundingSourceId === fundingSourceId)\n .map((ba) => ba.adjustmentToAnnualBudget)\n .reduce((a, b) => a + b, 0.0);\n },\n getProjectBudgetSummaryTotalBudget(fiscalYear) {\n if (!this.projectBudgetYearSnapshots || this.projectBudgetYearSnapshots === null) return 0;\n if (!this.projectIncentivePayments || this.projectIncentivePayments === null) return [];\n\n const incentivesInFiscalYear = this.projectIncentivePayments.filter((incentive) => this.getFiscalYear(incentive.dateDue) === fiscalYear);\n\n let totalIncentive = 0.0;\n incentivesInFiscalYear.forEach((e) => {\n totalIncentive += e.amountPaid;\n });\n\n const projectBudgetYearSnapshot = this.projectBudgetYearSnapshots.filter((e) => e.status === 'Approved').find((e) => e.year === fiscalYear);\n\n if (!projectBudgetYearSnapshot || projectBudgetYearSnapshot === null) return 0;\n\n let totalBudget = Math.round(projectBudgetYearSnapshot.totalAnnualCost * 100);\n\n if (\n projectBudgetYearSnapshot.projectBudgetYear\n && projectBudgetYearSnapshot.projectBudgetYear !== null\n && projectBudgetYearSnapshot.projectBudgetYear.annualBudgetIncreases\n && projectBudgetYearSnapshot.projectBudgetYear.annualBudgetIncreases !== null\n && Array.isArray(projectBudgetYearSnapshot.projectBudgetYear.annualBudgetIncreases)\n && projectBudgetYearSnapshot.projectBudgetYear.annualBudgetIncreases.length > 0\n ) {\n const annualBudgetIncreases = projectBudgetYearSnapshot.projectBudgetYear.annualBudgetIncreases.map((e) => Math.round(e.adjustmentToAnnualBudget * 100));\n /* eslint-disable-next-line */\n const adjustmentToProjectBudgetTotal = annualBudgetIncreases.reduce((previousValue, nextValue) => {\n return previousValue + nextValue;\n });\n totalBudget += adjustmentToProjectBudgetTotal;\n }\n totalBudget /= Math.pow(10, 2);\n\n return totalBudget + totalIncentive;\n },\n getTotalCostItems(budgetYear) {\n if (!this.projectBudgetYearSnapshots || this.projectBudgetYearSnapshots === null) return [];\n\n const currentProjectBudgetYears = this.projectBudgetYearSnapshots.find((by) => by.year === budgetYear.year);\n if (!currentProjectBudgetYears || currentProjectBudgetYears === null) return [];\n\n const currentProjectLineItems = [];\n currentProjectBudgetYears.projectBudgetLineItemSnapshots.forEach((li) => {\n currentProjectLineItems.push(li);\n });\n\n const usedFundingSourceIds = Array.from(new Set(\n currentProjectLineItems.map(\n (e) => e.fundingSourceId,\n ),\n ));\n\n const totalDistrictPartnerCostByFundingSource = {};\n usedFundingSourceIds.forEach((e) => {\n totalDistrictPartnerCostByFundingSource[e?.toString()] = 0;\n });\n\n currentProjectLineItems.forEach((e) => {\n totalDistrictPartnerCostByFundingSource[e.fundingSourceId?.toString()]\n += (((e.unitCost * e.quantity)) + (e.unitCost * e.quantity * (e.contingencyPercent * 0.01))) * (e.costShare * 0.01);\n });\n\n const filteredFundingSources = this.fundingSources.map((fs) => {\n const recordId = fs.recorD_ID;\n const recordName = fs.recorD_NAME;\n return {\n id: recordId,\n name: recordName,\n };\n });\n\n const mappedFundingSources = new Map();\n filteredFundingSources.forEach((fs) => {\n mappedFundingSources.set(fs.id?.toString(), fs.name);\n });\n\n const totalCostItems = usedFundingSourceIds.map((e) => {\n const itemCost = totalDistrictPartnerCostByFundingSource[e?.toString()];\n return {\n id: e,\n name: mappedFundingSources.get(e?.toString()),\n total: itemCost,\n };\n }).sort((a, b) => a.name?.localeCompare(b.name));\n\n return totalCostItems;\n },\n getAnnualBudgetExpenditureTotalAnnualCost(budgetYear) {\n const costShare = this.getAnnualBudgetExpenditureCostShare(budgetYear);\n const partnerCost = this.getAnnualBudgetExpenditureDistrictAndPartner(budgetYear);\n const totalAnnualCost = costShare + partnerCost;\n return totalAnnualCost;\n },\n getAnnualBudgetExpenditureCostShare(budgetYear) {\n const costShareItems = this.getAnnualBudgetExpenditureCostShareItems(budgetYear);\n\n let costShareItemsTotal = 0.0;\n costShareItems.forEach((tci) => {\n costShareItemsTotal += tci.total;\n });\n\n return costShareItemsTotal;\n },\n getAnnualBudgetExpenditureCostShareItems(budgetYear) {\n if (!this.projectBudgetYearSnapshots || this.projectBudgetYearSnapshots === null || this.projectBudgetYearSnapshots.length === 0) return [];\n\n const currentProjectBudgetYears = this.projectBudgetYearSnapshots.find((by) => by.year === budgetYear.year);\n if (!currentProjectBudgetYears || currentProjectBudgetYears === null) return [];\n\n const currentProjectLineItems = [];\n currentProjectBudgetYears.projectBudgetLineItemSnapshots.forEach((li) => {\n currentProjectLineItems.push(li);\n });\n\n const usedFundingSourceIds = Array.from(new Set(\n currentProjectLineItems.map(\n (e) => e.fundingSourceId,\n ),\n ));\n\n const totalCostShareByFundingSource = {};\n usedFundingSourceIds.forEach((e) => {\n totalCostShareByFundingSource[e?.toString()] = 0;\n });\n\n currentProjectLineItems.forEach((e) => {\n totalCostShareByFundingSource[e.fundingSourceId?.toString()]\n += (((e.unitCost * e.quantity * ((100 - e.costShare) * 0.01))) + (e.unitCost * e.quantity * ((100 - e.costShare) * 0.01) * (e.contingencyPercent * 0.01)));\n });\n\n const filteredFundingSources = this.fundingSources.map((fs) => {\n const recordId = fs.recorD_ID;\n const recordName = fs.recorD_NAME;\n return {\n id: recordId,\n name: recordName,\n };\n });\n\n const mappedFundingSources = new Map();\n filteredFundingSources.forEach((fs) => {\n mappedFundingSources.set(fs.id?.toString(), fs.name);\n });\n\n const costShareItems = usedFundingSourceIds.map((e) => {\n const itemCost = totalCostShareByFundingSource[e?.toString()];\n return {\n id: e,\n name: mappedFundingSources.get(e?.toString()),\n total: itemCost,\n };\n }).sort((a, b) => a.name?.localeCompare(b.name));\n\n return costShareItems;\n },\n getAnnualBudgetExpenditureDistrictAndPartner(budgetYear) {\n const districtAndPartnerItems = this.getAnnualBudgetExpenditureDistrictAndPartnerItems(budgetYear);\n\n let districtAndPartnerItemsTotal = 0.0;\n districtAndPartnerItems.forEach((item) => {\n districtAndPartnerItemsTotal += item.total;\n });\n\n return districtAndPartnerItemsTotal;\n },\n getAnnualBudgetExpenditureDistrictAndPartnerItems(budgetYear) {\n if (!this.projectIncentivePayments || this.projectIncentivePayments === null) return [];\n if (!this.projectBudgetYearSnapshots || this.projectBudgetYearSnapshots === null) return [];\n\n const incentivesInFiscalYear = this.projectIncentivePayments.filter((incentive) => this.getFiscalYear(incentive.dateDue) === budgetYear.year);\n const annualBudgetIncreases = this.projectBudget.projectBudgetYears.filter((e) => e.year === budgetYear.year).flatMap((pby) => pby.annualBudgetIncreases);\n\n const currentProjectBudgetYear = this.projectBudgetYearSnapshots.find((by) => by.year === budgetYear.year);\n if (!currentProjectBudgetYear || currentProjectBudgetYear === null) return [];\n\n const currentProjectLineItems = [];\n currentProjectBudgetYear.projectBudgetLineItemSnapshots.forEach((li) => {\n currentProjectLineItems.push(li);\n });\n\n const usedFundingSourceIds = Array.from(new Set(\n currentProjectLineItems.map(\n (e) => e.fundingSourceId,\n ),\n ));\n\n const annualIncreasesFundingSourceIds = Array.from(new Set(\n annualBudgetIncreases.map(\n (e) => e.fundingSourceId,\n ),\n ));\n\n const incentiveFundingSourceIds = Array.from(new Set(\n incentivesInFiscalYear.map(\n (e) => e.fundingSourceId,\n ),\n ));\n\n const allfundingSourceIds = [...new Set([...usedFundingSourceIds, ...annualIncreasesFundingSourceIds, ...incentiveFundingSourceIds])];\n\n const totalDistrictPartnerCostByFundingSource = {};\n allfundingSourceIds.forEach((e) => {\n totalDistrictPartnerCostByFundingSource[e?.toString()] = 0;\n });\n\n currentProjectLineItems.forEach((e) => {\n totalDistrictPartnerCostByFundingSource[e.fundingSourceId?.toString()]\n += Number((((e.unitCost * e.quantity * ((e.costShare) * 0.01))) + (e.unitCost * e.quantity * ((e.costShare) * 0.01) * (e.contingencyPercent * 0.01))).toFixed(2));\n });\n\n const filteredFundingSources = this.fundingSources.map((fs) => {\n const recordId = fs.recorD_ID;\n const recordName = fs.recorD_NAME;\n return {\n id: recordId,\n name: recordName,\n };\n });\n\n const mappedFundingSources = new Map();\n filteredFundingSources.forEach((fs) => {\n mappedFundingSources.set(fs.id?.toString(), fs.name);\n });\n\n allfundingSourceIds.forEach((e) => {\n const incentives = incentivesInFiscalYear\n .filter((incentive) => incentive.fundingSourceId?.toString() === e?.toString())\n .map((incentive) => incentive.amountPaid);\n\n let incentiveAmount = 0;\n if (incentives.length > 0) {\n incentiveAmount = incentives.reduce((a, b) => a + b, 0.0);\n }\n\n totalDistrictPartnerCostByFundingSource[e?.toString()] += Math.round((incentiveAmount * 100) / Math.pow(10, 2));\n });\n\n const districtAndPartnerItems = allfundingSourceIds.map((e) => {\n const increases = annualBudgetIncreases.filter(\n (inc) => inc.fundingSourceId?.toString() === e?.toString(),\n );\n\n let totalIncrease = 0.0;\n increases.forEach((inc) => {\n totalIncrease += inc.adjustmentToAnnualBudget;\n });\n\n const itemCost = totalDistrictPartnerCostByFundingSource[e?.toString()] + totalIncrease;\n return {\n id: e,\n name: mappedFundingSources.get(e?.toString()),\n total: itemCost,\n };\n }).sort((a, b) => a.name?.localeCompare(b.name));\n\n return districtAndPartnerItems;\n },\n getAnnualBudgetExpenditureTotalObligatedSpent(fiscalYear) {\n let totalObligatedSpent = 0;\n const totalObligatedSpentItems = this.getAnnualBudgetExpenditureTotalObligatedSpentItems(fiscalYear);\n\n if (totalObligatedSpentItems.length > 0) {\n totalObligatedSpent = totalObligatedSpentItems.map(\n (e) => Math.round(e.total * 100),\n ).reduce(\n (a, b) => a + b,\n );\n }\n totalObligatedSpent /= Math.pow(10, 2);\n\n return totalObligatedSpent;\n },\n getAnnualBudgetExpenditureTotalObligatedSpentItems(fiscalYear) {\n if (!this.projectIncentivePayments || this.projectIncentivePayments === null) return [];\n if (!this.projectWorkorders || this.projectWorkorders === null) return 0;\n if (!this.fundingSourceMap) return 0;\n\n const fiscalYearStart = new Date(`${fiscalYear - 1}`, 6, 1);\n const fiscalYearEnd = new Date(`${fiscalYear}`, 6, 1);\n\n const workorders = this.projectWorkorders.filter(\n (e) => e.workOrderBills\n && (e.status === 'Completed')\n && new Date(e.requestedDate) >= fiscalYearStart\n && new Date(e.requestedDate) < fiscalYearEnd,\n );\n\n const paidWorkorderBills = workorders.map(\n (e) => e.workOrderBills,\n ).flat().filter(\n (e) => e.status === this.config.workOrderBillForm.submitStatus.Paid,\n );\n\n const paidWorkorderBillLineItems = paidWorkorderBills.map(\n (e) => e.workOrderBillLineItems,\n ).flat();\n const paidWorkorderBillIncentives = paidWorkorderBills.map(\n (e) => e.workOrderBillIncentivePayments,\n ).flat();\n\n const lineItemFundingSourceIds = Array.from(new Set(\n paidWorkorderBillLineItems.map(\n (e) => e.fundingSourceId,\n ),\n ));\n const incentiveFundingSourceIds = Array.from(new Set(\n paidWorkorderBillIncentives.map(\n (e) => e.fundingSourceId,\n ),\n ));\n\n const totalSpentByFundingSource = {};\n\n const allFundingSourceIds = [...new Set([...lineItemFundingSourceIds, ...incentiveFundingSourceIds])];\n allFundingSourceIds.forEach((e) => {\n totalSpentByFundingSource[e?.toString()] = 0;\n });\n\n paidWorkorderBillLineItems.forEach((e) => {\n totalSpentByFundingSource[e.fundingSourceId?.toString()] += Math.round((e.itemCost * 100));\n });\n paidWorkorderBillIncentives.forEach((e) => {\n totalSpentByFundingSource[e.fundingSourceId?.toString()] += Math.round((e.amountBilled * 100));\n });\n\n const totalSpentItems = allFundingSourceIds.map((e) => {\n let itemCost = totalSpentByFundingSource[e?.toString()];\n itemCost /= Math.pow(10, 2);\n return {\n id: e,\n name: this.fundingSourceMap.get(e?.toString()),\n total: itemCost,\n };\n }).sort((a, b) => a.name?.localeCompare(b.name));\n\n return totalSpentItems;\n },\n getAnnualBudgetExpenditureTotalObligatedUnspent(fiscalYear) {\n let totalObligatedUnspent = 0;\n const totalObligatedUnspentItems = this.getAnnualBudgetExpenditureTotalObligatedUnspentItems(fiscalYear);\n\n if (totalObligatedUnspentItems.length > 0) {\n totalObligatedUnspent = totalObligatedUnspentItems.map(\n (e) => Math.round(e.total * 100),\n ).reduce(\n (a, b) => a + b,\n );\n }\n totalObligatedUnspent /= Math.pow(10, 2);\n\n return totalObligatedUnspent;\n },\n getAnnualBudgetExpenditureTotalObligatedUnspentItems(fiscalYear) {\n if (!this.projectIncentivePayments || this.projectIncentivePayments === null) return [];\n if (!this.projectWorkorders || this.projectWorkorders === null) return [];\n if (!this.fundingSourceMap) return 0;\n if (!this.projectWorkorderLineItemFundingSources\n || this.projectWorkorderLineItemFundingSources === null\n || this.projectWorkorderLineItemFundingSources.length === 0) return [];\n\n const fiscalYearStart = new Date(`${fiscalYear - 1}`, 6, 1);\n const fiscalYearEnd = new Date(`${fiscalYear}`, 6, 1);\n\n const workorders = this.projectWorkorders.filter(\n (e) => e.workOrderBills\n && ((e.status === 'Accepted') || (e.status === 'Draft') || (e.status === 'Review') || (e.status === 'Submitted'))\n && new Date(e.requestedDate) >= fiscalYearStart\n && new Date(e.requestedDate) < fiscalYearEnd,\n );\n\n const workorderLineItems = workorders.map(\n (e) => e.workOrderLineItems,\n ).flat();\n const workorderIncentives = workorders.map(\n (e) => e.workOrderProjectIncentives,\n ).flat();\n\n const lineItemFundingSourceIds = Array.from(new Set(\n workorderLineItems.map(\n (e) => e.fundingSourceId,\n ),\n ));\n const incentiveFundingSourceIds = Array.from(new Set(\n workorderIncentives.map(\n (e) => {\n const fId = this.projectIncentivePayments.find((pi) => pi.id === e.projectIncentivePaymentId).fundingSourceId;\n return fId;\n },\n ),\n ));\n\n const allFundingSourceIds = [...new Set([...lineItemFundingSourceIds, ...incentiveFundingSourceIds])];\n const totalUnspentByFundingSource = {};\n allFundingSourceIds.forEach((e) => {\n totalUnspentByFundingSource[e?.toString()] = 0;\n });\n\n workorderLineItems.forEach((e) => {\n const fsource = this.projectWorkorderLineItemFundingSources.find((fs) => fs.workOrderLineItemId === e.workOrderLineItemId);\n const totalSpent = ((e.quantity * e.salePrice * 100) * (e.districtAndPartnerCost * 0.01));\n totalUnspentByFundingSource[fsource.fundingSourceId?.toString()] += totalSpent;\n });\n workorderIncentives.forEach((e) => {\n const fId = this.projectIncentivePayments.find((pi) => pi.id === e.projectIncentivePaymentId).fundingSourceId;\n totalUnspentByFundingSource[fId?.toString()] += (e.paymentAmount * 100);\n });\n\n const totalObligatedUnspentItems = allFundingSourceIds.map((e) => {\n let itemCost = totalUnspentByFundingSource[e?.toString()];\n itemCost /= Math.pow(10, 2);\n if (itemCost < 0) itemCost = 0;\n const name = this.fundingSourceMap.get(e?.toString());\n\n return {\n id: e,\n name,\n total: itemCost,\n };\n }).sort((a, b) => a.name?.localeCompare(b.name));\n\n return totalObligatedUnspentItems;\n },\n getAnnualBudgetExpenditureObligatedSpent(fiscalYear) {\n let totalObligatedSpent = 0;\n const totalObligatedSpentItems = this.getAnnualBudgetExpenditureObligatedSpentItems(fiscalYear);\n\n if (totalObligatedSpentItems.length > 0) {\n totalObligatedSpent = totalObligatedSpentItems.map(\n (e) => Math.round(e.total * 100),\n ).reduce(\n (a, b) => a + b,\n );\n }\n totalObligatedSpent /= Math.pow(10, 2);\n\n return totalObligatedSpent;\n },\n getAnnualBudgetExpenditureObligatedSpentItems(fiscalYear) {\n if (!this.projectWorkorders || this.projectWorkorders === null) return 0;\n if (!this.fundingSourceMap) return 0;\n\n const fiscalYearStart = new Date(`${fiscalYear - 1}`, 6, 1);\n const fiscalYearEnd = new Date(`${fiscalYear}`, 6, 1);\n\n const workorders = this.projectWorkorders.filter(\n (e) => e.workOrderBills\n && (e.status === 'Completed' || e.status === 'Accepted')\n && new Date(e.requestedDate) >= fiscalYearStart\n && new Date(e.requestedDate) < fiscalYearEnd,\n );\n\n const paidWorkorderBills = workorders.map(\n (e) => e.workOrderBills,\n ).flat().filter(\n (e) => e.status === this.config.workOrderBillForm.submitStatus.Paid,\n );\n\n const paidWorkorderBillLineItems = paidWorkorderBills.map(\n (e) => e.workOrderBillLineItems,\n ).flat();\n const paidWorkorderBillIncentives = paidWorkorderBills.map(\n (e) => e.workOrderBillIncentivePayments,\n ).flat();\n\n const lineItemFundingSourceIds = Array.from(new Set(\n paidWorkorderBillLineItems.map(\n (e) => e.fundingSourceId,\n ),\n ));\n const incentiveFundingSourceIds = Array.from(new Set(\n paidWorkorderBillIncentives.map(\n (e) => e.fundingSourceId,\n ),\n ));\n\n const totalSpentByFundingSource = {};\n const allFundingSourceIds = [...new Set([...lineItemFundingSourceIds, ...incentiveFundingSourceIds])];\n allFundingSourceIds.forEach((e) => {\n totalSpentByFundingSource[e?.toString()] = 0;\n });\n\n paidWorkorderBillLineItems.forEach((e) => {\n totalSpentByFundingSource[e.fundingSourceId?.toString()] += Math.round((e.itemCost * 100));\n });\n paidWorkorderBillIncentives.forEach((e) => {\n totalSpentByFundingSource[e.fundingSourceId?.toString()] += Math.round((e.amountBilled * 100));\n });\n\n const totalSpentItems = allFundingSourceIds.map((e) => {\n let itemCost = totalSpentByFundingSource[e?.toString()];\n itemCost /= Math.pow(10, 2);\n return {\n id: e,\n name: this.fundingSourceMap.get(e?.toString()),\n total: itemCost,\n };\n }).sort((a, b) => a.name?.localeCompare(b.name));\n\n return totalSpentItems;\n },\n getAnnualBudgetExpenditureObligatedUnspent(fiscalYear) {\n const totalObligated = this.getAnnualBudgetExpenditureTotalObligated(fiscalYear);\n const obligatedSpent = this.getAnnualBudgetExpenditureObligatedSpent(fiscalYear);\n const totalObligatedUnspent = totalObligated - obligatedSpent;\n\n return totalObligatedUnspent;\n },\n getAnnualBudgetExpenditureObligatedUnspentItems(fiscalYear) {\n const totalObligatedItems = this.getAnnualBudgetExpenditureTotalObligatedItems(fiscalYear);\n const obligatedSpentItems = this.getAnnualBudgetExpenditureObligatedSpentItems(fiscalYear);\n\n const obligatedFundingSourceIds = Array.from(new Set(\n totalObligatedItems.map(\n (e) => e.id,\n ),\n ));\n const spentFundingSourceIds = Array.from(new Set(\n obligatedSpentItems.map(\n (e) => e.id,\n ),\n ));\n\n const concatFundingSourceIds = obligatedFundingSourceIds.concat(spentFundingSourceIds);\n const allFundingSourceIds = concatFundingSourceIds.filter((item, idx) => concatFundingSourceIds.indexOf(item) === idx);\n\n const obligatedUnspentItems = allFundingSourceIds.map((e) => {\n let obligated = 0;\n let spent = 0;\n let name = '';\n\n const obligatedItem = totalObligatedItems.find((f) => f?.id?.toString() === e?.toString());\n if (obligatedItem) {\n obligated += obligatedItem.total;\n name = obligatedItem.name;\n }\n\n const spentItem = obligatedSpentItems.find((f) => f?.id?.toString() === e?.toString());\n if (spentItem) {\n spent += spentItem.total;\n name = spentItem.name;\n }\n\n const totalUnspent = obligated - spent;\n\n return {\n id: e,\n name,\n total: totalUnspent,\n // total: totalUnspent < 0 ? 0 : totalUnspent,\n };\n }).sort((a, b) => a.name?.localeCompare(b.name));\n\n return obligatedUnspentItems;\n },\n getAnnualBudgetExpenditureTotalRemaining(budgetYear) {\n const items = this.getAnnualBudgetExpenditureTotalRemainingItems(budgetYear);\n\n let total = 0.0;\n Object.keys(items).forEach((e) => {\n total += items[e].total;\n });\n\n return total;\n },\n getAnnualBudgetExpenditureTotalRemainingItems(budgetYear) {\n const districtAndPartnerItems = this.getAnnualBudgetExpenditureDistrictAndPartnerItems(budgetYear);\n const totalObligatedItems = this.getAnnualBudgetExpenditureTotalObligatedItems(budgetYear.year);\n const distPartnerFundingSourceIds = districtAndPartnerItems.map((item) => (item.id));\n const obligatedFundingSourceIds = totalObligatedItems.map((item) => (item.id));\n const allfundingSourceIds = [...new Set([...distPartnerFundingSourceIds, ...obligatedFundingSourceIds])];\n\n const remainingItems = allfundingSourceIds.map((fundingSourceId) => {\n let districtAndPartnerItemCost = 0;\n let itemName = '';\n let totalObligatedItemCost = 0;\n\n const districtAndPartnerItem = districtAndPartnerItems.find((e) => e?.id?.toString() === fundingSourceId?.toString());\n if (districtAndPartnerItem) {\n districtAndPartnerItemCost = districtAndPartnerItem.total;\n itemName = districtAndPartnerItem.name;\n }\n\n const totalObligatedItem = totalObligatedItems.find((e) => e?.id?.toString() === fundingSourceId?.toString());\n if (totalObligatedItem) {\n totalObligatedItemCost = totalObligatedItem.total;\n itemName = totalObligatedItem.name;\n }\n\n return {\n id: fundingSourceId,\n name: itemName,\n total: districtAndPartnerItemCost - totalObligatedItemCost,\n };\n });\n\n return remainingItems;\n },\n getAnnualBudgetExpenditureTotalObligated(fiscalYear) {\n let totalObligatedSpent = 0;\n const totalObligatedSpentItems = this.getAnnualBudgetExpenditureTotalObligatedItems(fiscalYear);\n if (totalObligatedSpentItems.length > 0) {\n totalObligatedSpent = totalObligatedSpentItems.map(\n (e) => Math.round(e.total * 100),\n ).reduce(\n (a, b) => a + b,\n );\n }\n totalObligatedSpent /= Math.pow(10, 2);\n return totalObligatedSpent;\n },\n getAnnualBudgetExpenditureTotalObligatedItems(fiscalYear) {\n if (!this.projectIncentivePayments || this.projectIncentivePayments === null) return [];\n if (!this.projectWorkorders || this.projectWorkorders === null) return 0;\n if (!this.fundingSourceMap) return 0;\n\n const fiscalYearStart = new Date(`${fiscalYear - 1}`, 6, 1);\n const fiscalYearEnd = new Date(`${fiscalYear}`, 6, 1);\n const workorders = this.projectWorkorders.filter(\n (e) => ((e.status === 'Completed') || (e.status === 'Accepted')\n || (e.status === 'Draft') || (e.status === 'Review') || (e.status === 'Submitted'))\n && new Date(e.requestedDate) >= fiscalYearStart\n && new Date(e.requestedDate) < fiscalYearEnd,\n );\n\n const workOrderFundingItems = [];\n workorders.forEach((wo) => {\n let unspentLineItemFunding = [];\n let paidBillFunding = [];\n const acceptedStatusFunding = [];\n\n if (wo.status === 'Draft' || (wo.status === 'Review') || (wo.status === 'Submitted')) {\n unspentLineItemFunding = this.getUnspentLineItemFunding(wo);\n }\n if (wo.status === 'Completed') {\n paidBillFunding = this.getPaidBillFunding(wo);\n }\n if (wo.status === 'Accepted') {\n const acceptedUnspentLineItemFunding = this.getUnspentLineItemFunding(wo);\n const acceptedPaidBillFunding = this.getPaidBillFunding(wo);\n acceptedUnspentLineItemFunding.forEach((item) => {\n acceptedStatusFunding.push(item);\n });\n acceptedPaidBillFunding.forEach((item) => {\n const liIndex = acceptedStatusFunding.findIndex((lif) => lif.fundingSourceId === item.fundingSourceId);\n if (liIndex >= 0) {\n acceptedStatusFunding[liIndex].total = acceptedStatusFunding[liIndex].total > item.total ? acceptedStatusFunding[liIndex].total : item.total;\n } else {\n acceptedStatusFunding.push({\n fundingSourceId: item.fundingSourceId,\n total: item.total,\n });\n }\n });\n }\n\n unspentLineItemFunding.forEach((unspent) => {\n workOrderFundingItems.push(unspent);\n });\n paidBillFunding.forEach((paid) => {\n workOrderFundingItems.push(paid);\n });\n acceptedStatusFunding.forEach((accpted) => {\n workOrderFundingItems.push(accpted);\n });\n });\n\n const totalObligatedItems = [];\n workOrderFundingItems.forEach((item) => {\n const liIndex = totalObligatedItems.findIndex((lif) => lif.id === item.fundingSourceId);\n if (liIndex >= 0) {\n totalObligatedItems[liIndex].total += item.total;\n } else {\n totalObligatedItems.push({\n name: this?.fundingSourceMap.get(item?.fundingSourceId?.toString()),\n id: item.fundingSourceId,\n total: item.total,\n });\n }\n });\n\n return totalObligatedItems;\n },\n getUnspentLineItemFunding(wo) {\n const woLineItems = wo.workOrderLineItems;\n const woIncentives = wo.workOrderProjectIncentives;\n const unspentLineItemFunding = [];\n\n woLineItems.forEach((li) => {\n const liIndex = unspentLineItemFunding.findIndex((lif) => lif.fundingSourceId === li.fundingSourceId);\n if (liIndex >= 0) {\n unspentLineItemFunding[liIndex].total += ((li.quantity * li.salePrice) * (li.districtAndPartnerCost * 0.01));\n } else {\n unspentLineItemFunding.push({\n fundingSourceId: li?.fundingSourceId,\n total: ((li.quantity * li.salePrice) * (li.districtAndPartnerCost * 0.01)),\n });\n }\n });\n woIncentives.forEach((li) => {\n const projIncentive = this.projectIncentivePayments.find((pip) => pip.id === li.projectIncentivePaymentId);\n\n const liIndex = unspentLineItemFunding.findIndex((lif) => lif.fundingSourceId === li.fundingSourceId);\n if (liIndex >= 0) {\n unspentLineItemFunding[liIndex].total += li.paymentAmount;\n } else {\n unspentLineItemFunding.push({\n fundingSourceId: projIncentive?.fundingSourceId,\n total: li.paymentAmount,\n });\n }\n });\n return unspentLineItemFunding;\n },\n getPaidBillFunding(wo) {\n if (wo.workOrderBills === undefined) return [];\n\n const paidWorkorderBills = wo.workOrderBills.filter(\n (e) => e.status === this.config.workOrderBillForm.submitStatus.Paid,\n );\n const paidBillFunding = [];\n\n paidWorkorderBills.forEach((bill) => {\n bill.workOrderBillLineItems.forEach((item) => {\n const liIndex = paidBillFunding.findIndex((lif) => lif.fundingSourceId === item.fundingSourceId);\n if (liIndex >= 0) {\n paidBillFunding[liIndex].total += item.itemCost;\n } else {\n paidBillFunding.push({\n fundingSourceId: item.fundingSourceId,\n total: item.itemCost,\n });\n }\n });\n bill.workOrderBillIncentivePayments.forEach((item) => {\n const liIndex = paidBillFunding.findIndex((lif) => lif.fundingSourceId === item.fundingSourceId);\n if (liIndex >= 0) {\n paidBillFunding[liIndex].total += item.amountBilled;\n } else {\n paidBillFunding.push({\n fundingSourceId: item.fundingSourceId,\n total: item.amountBilled,\n });\n }\n });\n });\n return paidBillFunding;\n },\n },\n};\n","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AnnualBudgetIncreaseModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AnnualBudgetIncreaseModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AnnualBudgetIncreaseModal.vue?vue&type=template&id=25a3158e&\"\nimport script from \"./AnnualBudgetIncreaseModal.vue?vue&type=script&lang=js&\"\nexport * from \"./AnnualBudgetIncreaseModal.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 null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-table',{ref:(_vm.productType + \"sTable-\" + (_vm.budgetYear.year)),staticClass:\"list-item-table\",attrs:{\"id\":(_vm.productType + \"Table\"),\"bordered\":\"\",\"head-variant\":\"light\",\"fields\":_vm.fields,\"items\":_vm.getProductsFromListItems(_vm.budgetYear.projectBudgetLineItems).sort(_vm.sortListItems),\"show-empty\":\"\"},scopedSlots:_vm._u([{key:\"cell(product)\",fn:function(row){return [_vm._v(\" \"+_vm._s(_vm.getProduct(row.item))+\" \")]}},{key:\"cell(priceListId)\",fn:function(row){return [_vm._v(\" \"+_vm._s(_vm.getPriceList(row.item))+\" \")]}},{key:\"cell(totalCost)\",fn:function(row){return [_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")(_vm.getTotalCost(row.item)))+\" \")]}},{key:\"cell(fundingSource)\",fn:function(row){return [_vm._v(\" \"+_vm._s(_vm.getFundingSource(row.item))+\" \")]}},{key:\"cell(costShare)\",fn:function(row){return [(_vm.isYearEditable(_vm.budgetYear))?_c('b-link',{attrs:{\"disabled\":row.item.costShare === 0},on:{\"click\":function($event){return _vm.decreasePercent(row)}}},[_c('font-awesome-icon',{attrs:{\"icon\":\"minus-circle\",\"fixed-width\":\"\"}})],1):_vm._e(),_c('span',{staticClass:\"valueForIncrements\"},[_vm._v(\" \"+_vm._s(row.item.costShare)+\"% \")]),(_vm.isYearEditable(_vm.budgetYear))?_c('b-link',{attrs:{\"disabled\":row.item.costShare === 100},on:{\"click\":function($event){return _vm.increasePercent(row)}}},[_c('font-awesome-icon',{attrs:{\"icon\":\"plus-circle\",\"fixed-width\":\"\"}})],1):_vm._e()]}},{key:\"cell(costShareAmt)\",fn:function(row){return [_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")(_vm.getCostShareAmt(row.item)))+\" \")]}},{key:\"cell(actions)\",fn:function(row){return [(_vm.isYearEditable(_vm.budgetYear))?_c('b-link',{staticClass:\"action-button\",on:{\"click\":function($event){return _vm.editLineItem(row)}}},[_c('font-awesome-icon',{attrs:{\"icon\":\"pen\",\"fixed-width\":\"\"}})],1):_vm._e(),(_vm.isYearEditable(_vm.budgetYear))?_c('b-link',{staticClass:\"action-button\",attrs:{\"variant\":\"danger\"},on:{\"click\":function($event){return _vm.deleteLineItem(row)}}},[_c('font-awesome-icon',{staticClass:\"text-danger\",attrs:{\"icon\":\"trash\",\"fixed-width\":\"\"}})],1):_vm._e()]}},{key:\"cell(contingencyPercent)\",fn:function(row){return [(_vm.isYearEditable(_vm.budgetYear))?_c('b-link',{attrs:{\"disabled\":row.item.contingencyPercent === 0},on:{\"click\":function($event){return _vm.decreaseContingencyPercent(row)}}},[_c('font-awesome-icon',{attrs:{\"icon\":\"minus-circle\",\"fixed-width\":\"\"}})],1):_vm._e(),_c('span',{staticClass:\"valueForIncrements\"},[_vm._v(\" \"+_vm._s(row.item.contingencyPercent)+\"% \")]),(_vm.isYearEditable(_vm.budgetYear))?_c('b-link',{attrs:{\"disabled\":row.item.contingencyPercent === 100},on:{\"click\":function($event){return _vm.increaseContingencyPercent(row)}}},[_c('font-awesome-icon',{attrs:{\"icon\":\"plus-circle\",\"fixed-width\":\"\"}})],1):_vm._e()]}}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductTable.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductTable.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProductTable.vue?vue&type=template&id=c78822a0&\"\nimport script from \"./ProductTable.vue?vue&type=script&lang=js&\"\nexport * from \"./ProductTable.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 null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-table',{ref:(\"incentivesTable-\" + (_vm.budgetYear.year)),staticClass:\"list-item-table\",attrs:{\"id\":\"incentivesTable\",\"bordered\":\"\",\"head-variant\":\"light\",\"fields\":_vm.fields,\"items\":_vm.getProductsFromListItems(_vm.budgetYear.year, _vm.projectIncentivePayments),\"show-empty\":\"\"},scopedSlots:_vm._u([{key:\"cell(incentiveType)\",fn:function(row){return [_vm._v(\" \"+_vm._s(_vm.getIncentiveType(row.item))+\" \")]}},{key:\"cell(payee)\",fn:function(row){return [_vm._v(\" \"+_vm._s(_vm.getIncentivePayee(row.item, _vm.contactBriefs, _vm.organizationBriefs))+\" \")]}},{key:\"cell(fundingSource)\",fn:function(row){return [_vm._v(\" \"+_vm._s(_vm.getIncentiveFundingSource(row.item, _vm.fundingSources))+\" \")]}},{key:\"cell(dueDate)\",fn:function(row){return [_vm._v(\" \"+_vm._s(_vm.getIncentiveDueDate(row.item))+\" \")]}},{key:\"cell(paymentAmount)\",fn:function(row){return [_vm._v(\" \"+_vm._s(_vm.getIncentivePaymentAmount(row.item))+\" \")]}}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IncentivePaymentsTable.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IncentivePaymentsTable.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./IncentivePaymentsTable.vue?vue&type=template&id=3d79afe2&\"\nimport script from \"./IncentivePaymentsTable.vue?vue&type=script&lang=js&\"\nexport * from \"./IncentivePaymentsTable.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 null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-table',{ref:\"annual-cost-table\",staticClass:\"list-item-small-table\",attrs:{\"id\":\"annual-cost-table\",\"bordered\":\"\",\"head-variant\":\"light\",\"fields\":_vm.fields,\"items\":_vm.getAnnualBudgetItems(_vm.budgetYear),\"tbody-tr-class\":_vm.rowClass,\"show-empty\":\"\"}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AnnualBudgetTable.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AnnualBudgetTable.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AnnualBudgetTable.vue?vue&type=template&id=d251d572&\"\nimport script from \"./AnnualBudgetTable.vue?vue&type=script&lang=js&\"\nexport * from \"./AnnualBudgetTable.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 null,\n null\n \n)\n\nexport default component.exports","/* eslint-disable max-len, padded-blocks, prefer-destructuring */\nimport { mapState } from 'vuex';\n\nexport default {\n computed: {\n ...mapState(['config']),\n ...mapState('Membership', {\n memberOf: (state) => state.memberOf,\n }),\n isWorkOrderSubmitter() {\n if (!this.config || !this.memberOf || this.memberOf.length === 0) return false;\n const submitterRoles = this.config.budgetPage.workorderSubmitterRoles;\n return this.memberOf.filter((item) => submitterRoles.includes(item.displayName)).length > 0;\n },\n },\n};\n","/* eslint-disable max-len, newline-per-chained-call, no-restricted-properties, padded-blocks, prefer-destructuring */\n\nexport default {\n data() {\n return {\n projectWorkOrderBillModelValid: true,\n projectWorkOrderBillModel: null,\n projectWorkOrderBillAddModalId: 'projectWorkOrderBillAddModal',\n projectWorkOrderBillEditModalId: 'projectWorkOrderBillEditModal',\n projectWorkOrderBillSchema: {},\n };\n },\n methods: {\n getGrandTotal(workOrder) {\n let lineItemGrandTotal = 0;\n const lineItemTotals = (workOrder.workOrderLineItems || []).map(\n (e) => Math.round(e.quantity * (e.salePrice * 100)),\n );\n\n if (lineItemTotals.length > 0) {\n lineItemGrandTotal = lineItemTotals.reduce((lineItemSum, lineItemValue) => lineItemSum + lineItemValue);\n }\n /* eslint-disable-next-line */\n lineItemGrandTotal /= Math.pow(10, 2);\n\n let incentiveGrandTotal = 0;\n const incentiveTotals = (workOrder.workOrderProjectIncentives || []).map(\n (e) => Math.round(e.paymentAmount * 100),\n );\n\n if (incentiveTotals.length > 0) {\n incentiveGrandTotal = incentiveTotals.reduce((incentiveSum, incentiveValue) => incentiveSum + incentiveValue);\n }\n /* eslint-disable-next-line */\n incentiveGrandTotal /= Math.pow(10, 2);\n\n return lineItemGrandTotal + incentiveGrandTotal;\n },\n getDistrictOrPartnerTotal(workOrder) {\n let districtOrPartnerTotal = 0;\n\n const lineItemTotals = (workOrder.workOrderLineItems || []).map(\n (e) => (e.quantity * (e.salePrice * 100) * (e.districtAndPartnerCost * 0.01)),\n );\n\n if (lineItemTotals.length > 0) {\n districtOrPartnerTotal = lineItemTotals.reduce((lineItemSum, lineItemValue) => lineItemSum + lineItemValue);\n }\n /* eslint-disable-next-line */\n districtOrPartnerTotal /= Math.pow(10, 2);\n\n let incentiveGrandTotal = 0;\n const incentiveTotals = (workOrder.workOrderProjectIncentives || []).map(\n (e) => Math.round(e.paymentAmount * 100),\n );\n\n if (incentiveTotals.length > 0) {\n incentiveGrandTotal = incentiveTotals.reduce((incentiveSum, incentiveValue) => incentiveSum + incentiveValue);\n }\n /* eslint-disable-next-line */\n incentiveGrandTotal /= Math.pow(10, 2);\n\n return districtOrPartnerTotal + incentiveGrandTotal;\n },\n getBillPaymentTotal(bill) {\n if ((!bill.workOrderBillLineItems || bill.workOrderBillLineItems.length === 0)\n && (!bill.workOrderBillIncentivePayments || bill.workOrderBillIncentivePayments.length === 0)) {\n return 0;\n }\n\n let lineItemBillPaymentTotal = 0.0;\n if (bill.workOrderBillLineItems && bill.workOrderBillLineItems.length > 0) {\n const lineItemBillPaymentTotals = bill.workOrderBillLineItems.map(\n (e) => Math.round(e.quantity * (e.salePrice * 100)),\n );\n\n lineItemBillPaymentTotal = lineItemBillPaymentTotals.reduce(\n (totalPayment, payment) => totalPayment + payment,\n );\n /* eslint-disable-next-line */\n lineItemBillPaymentTotal /= Math.pow(10, 2);\n }\n\n let incentivePaymentBillPaymentTotal = 0.0;\n if (bill.workOrderBillIncentivePayments && bill.workOrderBillIncentivePayments.length > 0) {\n const incentivePaymentBillPaymentTotals = bill.workOrderBillIncentivePayments.map(\n (e) => (e.amountBilled * 100),\n );\n\n incentivePaymentBillPaymentTotal = incentivePaymentBillPaymentTotals.reduce(\n (totalPayment, payment) => totalPayment + payment,\n );\n /* eslint-disable-next-line */\n incentivePaymentBillPaymentTotal /= Math.pow(10, 2);\n }\n\n return lineItemBillPaymentTotal + incentivePaymentBillPaymentTotal;\n },\n getBillPaymentTotalByFundingSource(bill) {\n if (!bill.workOrderBillLineItems || bill.workOrderBillLineItems.length === 0) return 0;\n\n const billPaymentTotalsByFundingSource = bill.workOrderBillLineItems.map(\n (e) => {\n const fb = {\n id: e.fundingSourceId,\n amount: Math.round(e.quantity * (e.salePrice * 100)) / Math.pow(10, 2),\n };\n return fb;\n },\n );\n\n return billPaymentTotalsByFundingSource;\n },\n getApprovedForPaymentTotal(workOrder) {\n const lineItemTotals = (this.projectWorkorderBills || []).filter(\n (e) => (e.workOrderId === workOrder.id) && (e.status === this.config.workOrderBillForm.submitStatus.ApprovedForPayment),\n ).map(\n (e) => e.workOrderBillLineItems,\n ).flat().map(\n (e) => Math.round(e.quantity * (e.salePrice * 100)),\n );\n\n let approvedForPaymentLineItemTotal = 0;\n if (lineItemTotals.length > 0) {\n approvedForPaymentLineItemTotal = lineItemTotals.reduce((grandTotal, lineItemTotal) => grandTotal + lineItemTotal);\n }\n\n /* eslint-disable-next-line */\n approvedForPaymentLineItemTotal /= Math.pow(10, 2);\n\n const incentiveTotals = (this.projectWorkorderBills || []).filter(\n (e) => (e.workOrderId === workOrder.id) && (e.status === this.config.workOrderBillForm.submitStatus.ApprovedForPayment),\n ).map(\n (e) => e.workOrderBillIncentivePayments,\n ).flat().map(\n (e) => Math.round(e.amountBilled * 100),\n );\n\n let approvedForPaymentIncentiveTotal = 0;\n if (incentiveTotals.length > 0) {\n approvedForPaymentIncentiveTotal = incentiveTotals.reduce((grandTotal, incentiveTotal) => grandTotal + incentiveTotal);\n }\n\n /* eslint-disable-next-line */\n approvedForPaymentIncentiveTotal /= Math.pow(10, 2);\n\n return approvedForPaymentLineItemTotal + approvedForPaymentIncentiveTotal;\n },\n getPendingBillApprovalTotal(workOrder) {\n const lineItemTotals = (this.projectWorkorderBills || []).filter(\n (e) => e.workOrderId === workOrder.id && (e.status === this.config.workOrderBillForm.submitStatus.SubmittedForApproval || e.status === this.config.workOrderBillForm.submitStatus.SubmittedForPayment),\n ).map(\n (e) => e.workOrderBillLineItems,\n ).flat().map(\n (e) => Math.round(e.quantity * (e.salePrice * 100)),\n );\n\n let pendingBillApprovalLineItemTotal = 0;\n\n if (lineItemTotals.length > 0) {\n pendingBillApprovalLineItemTotal = lineItemTotals.reduce((grandTotal, lineItemTotal) => grandTotal + lineItemTotal);\n }\n\n /* eslint-disable-next-line */\n pendingBillApprovalLineItemTotal /= Math.pow(10, 2);\n\n const incentiveTotals = (this.projectWorkorderBills || []).filter(\n (e) => e.workOrderId === workOrder.id && (e.status === this.config.workOrderBillForm.submitStatus.SubmittedForApproval || e.status === this.config.workOrderBillForm.submitStatus.SubmittedForPayment),\n ).map(\n (e) => e.workOrderBillIncentivePayments,\n ).flat().map(\n (e) => Math.round(e.amountBilled * 100),\n );\n\n let pendingBillApprovalIncentiveTotal = 0;\n if (incentiveTotals.length > 0) {\n pendingBillApprovalIncentiveTotal = incentiveTotals.reduce((grandTotal, incentiveTotal) => grandTotal + incentiveTotal);\n }\n\n /* eslint-disable-next-line */\n pendingBillApprovalIncentiveTotal /= Math.pow(10, 2);\n\n return pendingBillApprovalLineItemTotal + pendingBillApprovalIncentiveTotal;\n },\n getRemainingTotal(workOrder) {\n let grandTotal = this.getGrandTotal(workOrder);\n grandTotal = Math.round((grandTotal * 100));\n\n let approvedForPaymentTotal = this.getApprovedForPaymentTotal(workOrder);\n approvedForPaymentTotal = Math.round((approvedForPaymentTotal * 100));\n\n let pendingBillApprovalTotal = this.getPendingBillApprovalTotal(workOrder);\n pendingBillApprovalTotal = Math.round((pendingBillApprovalTotal * 100));\n\n let spentTotal = this.getSpentTotal(workOrder);\n spentTotal = Math.round((spentTotal * 100));\n\n let remainingTotal = grandTotal - approvedForPaymentTotal - pendingBillApprovalTotal - spentTotal;\n /* eslint-disable-next-line */\n remainingTotal /= Math.pow(10, 2);\n\n return remainingTotal;\n },\n getSpentTotal(workOrder) {\n if (!workOrder.workOrderBills || workOrder.workOrderBills.length === 0) return 0;\n\n let spentLineItemTotal = 0;\n const paidWorkOrderBillLineItems = workOrder.workOrderBills.filter(\n (e) => e.status === this.config.workOrderBillForm.submitStatus.Paid,\n ).map(\n (e) => e.workOrderBillLineItems,\n ).flat();\n\n const paidWorkOrderBillLineItemTotals = paidWorkOrderBillLineItems.map((e) => Math.round(e.itemCost * 100));\n if (paidWorkOrderBillLineItemTotals.length > 0) {\n spentLineItemTotal = paidWorkOrderBillLineItemTotals.reduce((a, b) => a + b);\n }\n\n /* eslint-disable-next-line */\n spentLineItemTotal /= Math.pow(10, 2);\n\n let spentIncentiveTotal = 0;\n const paidWorkOrderBillIncentives = workOrder.workOrderBills.filter(\n (e) => e.status === this.config.workOrderBillForm.submitStatus.Paid,\n ).map(\n (e) => e.workOrderBillIncentivePayments,\n ).flat();\n\n const paidWorkOrderBillIncentiveTotals = paidWorkOrderBillIncentives.map((e) => Math.round(e.amountBilled * 100));\n if (paidWorkOrderBillIncentiveTotals.length > 0) {\n spentIncentiveTotal = paidWorkOrderBillIncentiveTotals.reduce((a, b) => a + b);\n }\n\n /* eslint-disable-next-line */\n spentIncentiveTotal /= Math.pow(10, 2);\n\n return spentLineItemTotal + spentIncentiveTotal;\n },\n isWorkOrderBillingComplete(workOrder) {\n if (!workOrder.workOrderLineItems || workOrder.workOrderLineItems == null) return false;\n if (!workOrder.workOrderProjectIncentives || workOrder.workOrderProjectIncentives == null) return false;\n const workOrderLineItemsBillingComplete = workOrder.workOrderLineItems.filter((workOrderLineItem) => workOrderLineItem.billingComplete === true);\n const isWorkOrderLineItemBillingComplete = workOrder.workOrderLineItems.length === workOrderLineItemsBillingComplete.length;\n const workOrderIncentivesBillingComplete = workOrder.workOrderProjectIncentives.filter((woip) => woip.paymentDate !== null);\n const isWorkOrderIncentiveBillingComplete = workOrder.workOrderProjectIncentives.length === workOrderIncentivesBillingComplete.length;\n return isWorkOrderLineItemBillingComplete && isWorkOrderIncentiveBillingComplete;\n },\n isWorkOrderFundingComplete(workOrder) {\n if (workOrder.status !== 'Accepted') return true;\n if ((!workOrder.workOrderLineItems || workOrder.workOrderLineItems === null || workOrder.workOrderLineItems.length === 0)\n && (!workOrder.workOrderProjectIncentives || workOrder.workOrderProjectIncentives === null || workOrder.workOrderProjectIncentives.length === 0)) {\n return true;\n }\n const workOrderLineItemIds = workOrder.workOrderLineItems.map((e) => e.workOrderLineItemId);\n const lineItemFundingSourceWorkOrderLineItemIds = this.projectWorkorderLineItemFundingSources.map((e) => e.workOrderLineItemId);\n const invalidWorkOrderLineItemIds = workOrderLineItemIds.filter((e) => !lineItemFundingSourceWorkOrderLineItemIds.includes(e));\n return invalidWorkOrderLineItemIds.length === 0;\n },\n isLineItemAddDisabled(workOrder) {\n const isLineItemAddDisabled = (workOrder.status === 'Completed');\n return isLineItemAddDisabled;\n },\n isIncentivePaymentAddDisabled(workOrder) {\n const isIncentivePaymentAddDisabled = (workOrder.status === 'Completed');\n return isIncentivePaymentAddDisabled;\n },\n isLineItemBillingCompleteCheckboxDisabled(workOrder) {\n const disabled = (workOrder.status === 'Completed');\n console.log('disabled: ', disabled);\n return disabled;\n },\n isBillAddDisabled(workOrder) {\n const isBillAddDisabled = workOrder.status !== 'Accepted' || !this.isWorkOrderFundingComplete(workOrder) || this.isWorkOrderBillingComplete(workOrder);\n return isBillAddDisabled;\n },\n async loadProjectWorkorderBills() {\n\n await this.$store.dispatch(\n 'Project/getProjectWorkorderBills',\n this.projectWorkorders.map((e) => e.id),\n );\n\n const workOrderBillLineItems = this.projectWorkorderBills.map((e) => e.workOrderBillLineItems).flat();\n\n workOrderBillLineItems.forEach((e) => {\n\n const workOrderBill = this.projectWorkorderBills.find((item) => item.id === e.workOrderBillId);\n const workOrder = this.projectWorkorders.find((item) => item.id === workOrderBill.workOrderId);\n const workOrderLineItem = workOrder.workOrderLineItems.find((item) => item.workOrderLineItemId === e.workOrderLineItemId);\n\n if (workOrderLineItem && workOrderLineItem != null) {\n e.lineItemProductName = workOrderLineItem.productName;\n e.lineItemProductUnit = workOrderLineItem.productUnit;\n e.lineItemQuantity = workOrderLineItem.quantity;\n }\n\n let itemCost = Math.round(e.quantity * (e.salePrice * 100));\n itemCost /= Math.pow(10, 2);\n\n e.itemCost = itemCost;\n\n const workOrderLineItemIds = workOrder.workOrderLineItems.map((item) => item.workOrderLineItemId);\n const workOrderLineItemFundingSources = this.projectWorkorderLineItemFundingSources.filter((item) => workOrderLineItemIds.includes(item.workOrderLineItemId));\n const fundingSourceIds = workOrderLineItemFundingSources.map((item) => (item.fundingSourceId));\n\n e.fundingSourceOptions = this.fundingSources.filter(\n (item) => fundingSourceIds.includes(item.recorD_ID),\n ).map(\n (item) => ({ value: item.recorD_ID, text: item.recorD_NAME }),\n ).sort(\n (a, b) => a.text.localeCompare(b.text),\n );\n\n });\n\n this.projectWorkorders.map((e) => e.id).forEach((workorderId) => {\n const workorder = this.projectWorkorders.find((item) => item.id === workorderId);\n workorder.workOrderBills = this.projectWorkorderBills.filter((item) => item.workOrderId === workorderId);\n });\n\n },\n onProjectWorkOrderBillAddClick(workOrderId) {\n const workOrder = this.projectWorkorders.find((e) => e.id === workOrderId);\n const workOrderBills = workOrder.workOrderBills ?? [];\n const workOrderLineItemIds = workOrder.workOrderLineItems.map((item) => item.workOrderLineItemId);\n const workOrderLineItemFundingSources = this.projectWorkorderLineItemFundingSources.filter((item) => workOrderLineItemIds.includes(item.workOrderLineItemId));\n const fundingSourceIds = workOrderLineItemFundingSources.map((item) => (item.fundingSourceId));\n\n const fundingSourceOptions = this.fundingSources.filter(\n (item) => fundingSourceIds.includes(item.recorD_ID),\n ).map(\n (item) => ({ value: item.recorD_ID, text: item.recorD_NAME }),\n ).sort(\n (a, b) => a.text.localeCompare(b.text),\n );\n\n const billingCompleteWorkOrderLineItemIds = workOrder.workOrderLineItems.filter((e) => e.billingComplete === true).map((e) => e.workOrderLineItemId);\n\n const unbilledWorkOrderLineItems = workOrder.workOrderLineItems.filter((e) => !billingCompleteWorkOrderLineItemIds.includes(e.workOrderLineItemId));\n\n const workOrderBillLineItems = unbilledWorkOrderLineItems.map((e) => {\n\n const workOrderLineItemFundingSource = workOrderLineItemFundingSources.find((item) => item.workOrderLineItemId === e.workOrderLineItemId);\n\n const previousBills = workOrderBills.filter(\n (item) => item.status !== this.config.workOrderBillForm.submitStatus.Voided,\n ).map(\n (item) => item.workOrderBillLineItems,\n ).flat().filter(\n (item) => item.workOrderLineItemId === e.workOrderLineItemId,\n );\n\n let lineItemQuantityBilledToDate = 0;\n\n if (previousBills.length > 0) {\n lineItemQuantityBilledToDate = previousBills.map((item) => item.quantity).reduce((totalQuantity, quantity) => totalQuantity + quantity);\n }\n\n const workOrderBillLineItem = {\n id: null,\n workOrderBillId: null,\n workOrderLineItemId: e.workOrderLineItemId,\n fundingSourceId: workOrderLineItemFundingSource.fundingSourceId,\n fundingSourceOptions,\n quantity: 0,\n billingComplete: false,\n lineItemProductName: e.productName,\n lineItemProductUnit: e.productUnit,\n salePrice: e.salePrice,\n lineItemQuantity: e.quantity,\n lineItemQuantityBilledToDate,\n };\n\n return workOrderBillLineItem;\n });\n\n const workOrderBillIncentives = workOrderBills.filter((e) => e.status !== 'Void').map((e) => e.workOrderBillIncentivePayments).flat();\n const workOrderBillIncentivePaymentIds = workOrderBillIncentives.map((e) => e.workOrderIncentivePaymentId);\n const unbilledWorkOrderIncentivePayments = workOrder.workOrderProjectIncentives.filter((e) => !workOrderBillIncentivePaymentIds.includes(e.id));\n\n const workOrderBillIncentivePayments = unbilledWorkOrderIncentivePayments.map((woip) => {\n const projectIncentivePayment = this.projectIncentivePayments.find((ip) => ip.id === woip.projectIncentivePaymentId);\n\n const workOrderBillIncentive = {\n id: woip.id,\n paymentAmount: woip.paymentAmount,\n paymentDate: woip.paymentDate,\n projectIncentivePaymentId: woip.projectIncentivePaymentId,\n dateDue: projectIncentivePayment.dateDue,\n datePaid: projectIncentivePayment.datePaid,\n fundingSourceId: projectIncentivePayment.fundingSourceId,\n incentiveType: projectIncentivePayment.incentiveType.name,\n amountBilled: woip.paymentAmount,\n billSelected: false,\n };\n\n return workOrderBillIncentive;\n });\n\n const workOrderTotal = this.getWorkorderTotal(workOrder);\n const otherBillsTotal = this.getOtherBillsTotal(workOrder);\n\n this.projectWorkOrderBillModel = {\n workOrderId,\n projectId: parseInt(this.$route.params.id, 10),\n billIdentifier: null,\n billDate: null,\n receivedDate: null,\n status: this.config.workOrderBillForm.submitStatus.Received,\n notes: null,\n workOrderTotal,\n otherBillsTotal,\n workOrderBillLineItems,\n workOrderBillIncentivePayments,\n };\n\n this.projectWorkOrderBillSchema = this.getProjectWorkOrderBillSchema();\n this.validateProjectWorkOrderBillRequiredFields([]);\n this.$bvModal.show(this.projectWorkOrderBillAddModalId);\n },\n onProjectWorkOrderBillAddOkClick() {\n (async () => {\n this.$bvModal.hide(this.projectWorkOrderBillAddModalId);\n\n const validNumberOfLineItems = (this.projectWorkOrderBillModel.workOrderBillLineItems && this.projectWorkOrderBillModel.workOrderBillLineItems.length > 0);\n const validNumberOfIncentives = (this.projectWorkOrderBillModel.workOrderBillIncentivePayments && this.projectWorkOrderBillModel.workOrderBillIncentivePayments.length > 0);\n if (!validNumberOfLineItems && !validNumberOfIncentives) return;\n\n const workOrderBillLineItems = this.projectWorkOrderBillModel.workOrderBillLineItems.filter((e) => e.quantity !== 0 && e.quantity !== '' && e.quantity !== '0');\n const workOrderBillIncentives = this.projectWorkOrderBillModel.workOrderBillIncentivePayments.filter((e) => e.billSelected === true);\n\n if (workOrderBillLineItems.length > 0 || workOrderBillIncentives.length > 0) {\n await this.$store.dispatch('Workorder/setFormLoading', true);\n const model = { ...this.projectWorkOrderBillModel };\n delete model.workOrderBillLineItems;\n delete model.workOrderBillIncentivePayments;\n await this.$store.dispatch('Project/postProjectWorkorderBill', model);\n const workOrderBillId = this.projectWorkorderBill.id;\n await this.$store.dispatch('Project/postProjectWorkorderBillLineItems', { workOrderBillId, workOrderBillLineItems });\n await this.$store.dispatch('Project/postProjectWorkorderBillIncentivePayments', { workOrderBillId, workOrderBillIncentives });\n await this.$store.dispatch('Workorder/setFormLoading', false);\n this.load();\n }\n })();\n },\n onProjectWorkOrderBillAddCancelClick() {\n this.$bvModal.hide(this.projectWorkOrderBillAddModalId);\n },\n onProjectWorkOrderBillEditClick(workOrderId, workOrderBillId) {\n const workOrder = this.projectWorkorders.find((e) => e.id === workOrderId);\n let workOrderBill = workOrder.workOrderBills.find((e) => e.id === workOrderBillId);\n workOrderBill = JSON.parse(JSON.stringify(workOrderBill));\n\n workOrderBill.workOrderBillLineItems.forEach((e, index) => {\n\n const previousBills = workOrder.workOrderBills.filter(\n (item) => item.status !== this.config.workOrderBillForm.submitStatus.Voided,\n ).map(\n (item) => item.workOrderBillLineItems,\n ).flat().filter(\n (item) => item.workOrderLineItemId === e.workOrderLineItemId && item.id !== e.id,\n );\n\n let lineItemQuantityBilledToDate = 0;\n\n if (previousBills.length > 0) {\n lineItemQuantityBilledToDate = previousBills.map((item) => item.quantity).reduce((totalQuantity, quantity) => totalQuantity + quantity);\n }\n\n workOrderBill.workOrderBillLineItems[index].lineItemQuantityBilledToDate = lineItemQuantityBilledToDate;\n });\n\n workOrderBill.workOrderTotal = this.getWorkorderTotal(workOrder);\n workOrderBill.otherBillsTotal = this.getOtherWorkOrderBillTotal(workOrder, workOrderBill);\n\n const workOrderBillIncentivePayments = workOrderBill.workOrderBillIncentivePayments.map((wobi) => {\n const wopi = workOrder.workOrderProjectIncentives.find((e) => e.id === wobi.workOrderIncentivePaymentId);\n const pi = this.projectIncentivePayments.find((e) => e.id === wopi.projectIncentivePaymentId);\n const ip = {\n amountBilled: wobi.amountBilled,\n fundingSourceId: wobi.fundingSourceId,\n id: wobi.id,\n workOrderBillId: wobi.workOrderBillId,\n workOrderIncentivePaymentId: wobi.workOrderIncentivePaymentId,\n incentiveType: pi.incentiveType.name,\n paymentAmount: wopi.paymentAmount,\n };\n\n return ip;\n });\n\n workOrderBill.workOrderBillIncentivePayments = workOrderBillIncentivePayments;\n this.projectWorkOrderBillModel = workOrderBill;\n\n this.projectWorkOrderBillSchema = this.getProjectWorkOrderBillSchema();\n this.validateProjectWorkOrderBillRequiredFields([]);\n\n this.$bvModal.show(this.projectWorkOrderBillEditModalId);\n },\n onProjectWorkOrderBillEditOkClick() {\n (async () => {\n await this.$store.dispatch('Workorder/setFormLoading', true);\n\n this.$bvModal.hide(this.projectWorkOrderBillEditModalId);\n\n const model = { ...this.projectWorkOrderBillModel };\n delete model.workOrderBillLineItems;\n delete model.workOrderBillIncentivePayments;\n\n await this.$store.dispatch('Project/putProjectWorkorderBill', model);\n\n if (this.projectWorkOrderBillModel.workOrderBillLineItems != null && this.projectWorkOrderBillModel.workOrderBillLineItems.length > 0) {\n await this.$store.dispatch('Project/putProjectWorkorderBillLineItems', this.projectWorkOrderBillModel.workOrderBillLineItems);\n }\n\n if (this.projectWorkOrderBillModel.workOrderBillIncentivePayments != null && this.projectWorkOrderBillModel.workOrderBillIncentivePayments.length > 0) {\n await this.$store.dispatch('Project/putProjectWorkorderBillIncentivePayments', this.projectWorkOrderBillModel.workOrderBillIncentivePayments);\n }\n\n await this.$store.dispatch('Workorder/setFormLoading', false);\n this.load();\n })();\n },\n onProjectWorkOrderBillEditCancelClick() {\n this.$bvModal.hide(this.projectWorkOrderBillEditModalId);\n },\n onProjectWorkOrderBillValidated(isValid, errors) {\n if (!isValid) {\n const invoiceNumberErrorIndex = errors.findIndex((e) => e.field.id === 'invoiceNumber');\n if (invoiceNumberErrorIndex >= 0) {\n const invoiceNumberError = errors[invoiceNumberErrorIndex];\n if (invoiceNumberError.error.startsWith('The length of text is too big!')) {\n this.projectWorkOrderBillModel.billIdentifier = this.projectWorkOrderBillModel.billIdentifier.slice(0, 50);\n errors.splice(invoiceNumberErrorIndex, 1);\n }\n }\n }\n\n const billDateValidationErrorMessage = 'Bill Date cannot be after Received Date!';\n const billDateErrorIndex = errors.findIndex((e) => e.field.id === 'billDate' && e.error === billDateValidationErrorMessage);\n const billDateError = errors[billDateErrorIndex];\n if (billDateError) {\n errors.splice(billDateErrorIndex, 1);\n }\n\n if (!this.validateBillDateIsPriorToReceivedDate()) {\n const billDateFieldIndex = this.projectWorkOrderBillSchema.fields.findIndex((e) => e.id === 'billDate');\n const billDateField = this.projectWorkOrderBillSchema.fields[billDateFieldIndex];\n errors.push({\n error: billDateValidationErrorMessage,\n field: billDateField,\n });\n }\n\n this.projectWorkOrderBillModelValid = isValid;\n this.validateProjectWorkOrderBillRequiredFields(errors || []);\n },\n onBillSubmitForApprovalClick(bill) {\n this.submitForApprovalBill = bill;\n this.$bvModal.show('submitBillForApprovalModal');\n },\n onBillSubmitForApprovalClickOk() {\n this.onBillPutStatusClick(this.submitForApprovalBill.id, this.config.workOrderBillForm.submitStatus.SubmittedForApproval);\n },\n onBillSubmitForPaymentClick(bill) {\n this.submitForPaymentBill = bill;\n this.$bvModal.show('submitBillForPaymentModal');\n },\n onBillSubmitForPaymentClickOk() {\n this.onBillPutStatusClick(this.submitForPaymentBill.id, this.config.workOrderBillForm.submitStatus.SubmittedForPayment);\n },\n onBillApproveClick(bill) {\n this.approveBill = bill;\n this.$bvModal.show('approveBillModal');\n },\n onBillApproveClickOk() {\n this.onBillPutStatusClick(this.approveBill.id, this.config.workOrderBillForm.submitStatus.ApprovedForPayment);\n },\n onBillVoidClick(bill) {\n this.voidBill = bill;\n this.$bvModal.show('voidBillModal');\n },\n onBillVoidClickOk() {\n this.onBillPutStatusClick(this.voidBill.id, this.config.workOrderBillForm.submitStatus.Voided);\n },\n onBillPaidClick(bill) {\n this.paidBill = bill;\n this.$bvModal.show('paidBillModal');\n },\n onBillPaidClickOk() {\n this.onBillPutStatusClick(this.paidBill.id, this.config.workOrderBillForm.submitStatus.Paid);\n window.location.href = `mailto:${this.project.projectManager.emailAddress}?subject=Bill(s) Paid&body=${this.project.projectName}: ${window.location.href}`;\n },\n async onBillPutStatusClick(id, status) {\n await this.$store.dispatch('Workorder/setFormLoading', true);\n await this.$store.dispatch('Project/putProjectWorkorderBillStatus', { id, status });\n await this.$store.dispatch('Workorder/setFormLoading', false);\n this.load();\n },\n validateProjectWorkOrderBillRequiredFields(errors) {\n this.projectWorkOrderBillModelValid = true;\n if (this.projectWorkOrderBillModel.billIdentifier === null || this.projectWorkOrderBillModel.billIdentifier.length === 0 || this.projectWorkOrderBillModel.billIdentifier.length > 50) this.projectWorkOrderBillModelValid = false;\n if (this.projectWorkOrderBillModel.billDate === null) this.projectWorkOrderBillModelValid = false;\n if (this.projectWorkOrderBillModel.receivedDate === null) this.projectWorkOrderBillModelValid = false;\n if (this.projectWorkOrderBillModel.notes != null && this.projectWorkOrderBillModel.notes.length > 75) this.projectWorkOrderBillModelValid = false;\n const lineItemsBilled = this.projectWorkOrderBillModel.workOrderBillLineItems.filter((e) => e.quantity !== 0 && e.quantity !== '' && e.quantity !== '0').length;\n const incentivesBilled = this.projectWorkOrderBillModel.workOrderBillIncentivePayments.filter((e) => e.billSelected === true).length;\n if ((lineItemsBilled === 0) && (incentivesBilled === 0)) this.projectWorkOrderBillModelValid = false;\n\n if (errors && errors.length > 0) this.projectWorkOrderBillModelValid = false;\n },\n validateBillableRemainingIsNotOverTwentyPercent() {\n let overTwentyPercent = false;\n\n const workOrderTotal = this.projectWorkOrderBillModel.workOrderTotal;\n const workOrderBillTotal = this.projectWorkOrderBillModel.otherBillsTotal + this.getBillPaymentTotal(this.projectWorkOrderBillModel);\n const percent = (workOrderBillTotal / workOrderTotal);\n\n if (percent > 1.2) {\n overTwentyPercent = true;\n }\n\n return overTwentyPercent;\n },\n validateBillDateIsPriorToReceivedDate() {\n const billDate = this.projectWorkOrderBillModel.billDate;\n if (!billDate) return true;\n\n const receivedDate = this.projectWorkOrderBillModel.receivedDate;\n if (!receivedDate) return true;\n\n return billDate <= receivedDate;\n },\n restrictQuantity(item, event) {\n if (item.quantity && item.quantity != null && (item.quantity.indexOf('.') >= 0)) {\n /* eslint-disable-next-line no-param-reassign */\n item.quantity = item.quantity.match(/^\\d*\\.?\\d{0,2}/)[0];\n event.preventDefault();\n }\n this.validateProjectWorkOrderBillRequiredFields([]);\n },\n restrictSalePrice(item, event) {\n if (item.salePrice && item.salePrice != null && (item.salePrice.indexOf('.') >= 0)) {\n /* eslint-disable-next-line no-param-reassign */\n item.salePrice = item.salePrice.match(/^\\d*\\.?\\d{0,2}/)[0];\n event.preventDefault();\n }\n this.validateProjectWorkOrderBillRequiredFields([]);\n },\n },\n};\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-modal',{attrs:{\"id\":(\"workorderAddModal\" + (_vm.budgetYear.year)),\"size\":\"lg\",\"ok-title\":\"Add\",\"ok-disabled\":!_vm.workorderAddModelValid},on:{\"ok\":function($event){return _vm.saveWorkorder()}},scopedSlots:_vm._u([{key:\"modal-title\",fn:function(){return [_vm._v(\"New \"+_vm._s(_vm.budgetYear.year)+\" Work Order\")]},proxy:true}])},[_c('b-overlay',{attrs:{\"show\":_vm.formLoading},scopedSlots:_vm._u([{key:\"modal-footer\",fn:function(ref){\nvar ok = ref.ok;\nvar cancel = ref.cancel;\nreturn [_c('b-button',{staticClass:\"btn-danger\",attrs:{\"size\":\"sm\",\"variant\":\"danger\"},on:{\"click\":cancel}},[_vm._v(\"Cancel\")]),_c('b-button',{staticClass:\"btn-success\",attrs:{\"size\":\"sm\",\"variant\":\"success\"},on:{\"click\":ok}},[_vm._v(\"Add\")])]}}])},[_c('VueFormGenerator',{attrs:{\"model\":_vm.workorderAddModel,\"schema\":_vm.workorderAddSchema,\"options\":{\n validateAfterLoad: false,\n validateAfterChanged: true,\n validateAsync: true\n }},on:{\"validated\":_vm.onWorkorderAddValidated,\"model-updated\":_vm.onWorkorderAddModelUpdated}}),(_vm.workorderAddModel && _vm.workorderAddModel.opportunityId !== null)?_c('div',[_c('b-card-body',[_c('div',{staticClass:\"details-label project-workorder-bills-items-details-label\"},[_vm._v(\"Services, Materials & Incentive Payments\")]),(_vm.workorderAddModel.workorderLineItems && _vm.workorderAddModel.workorderLineItems.length > 0)?_c('div',[_c('div',{staticClass:\"help-text\"},[_c('p',[_c('span',[_vm._v(\"Select from planned items below, if desired. \")]),_c('span',[_vm._v(\"Unit Cost and Total Cost per item will be calculated after the Work Order is created based on the Price Book set through the selected Opportunity. \")]),_c('span',[_vm._v(\"You may add any unplanned items once this new Work Order has been saved.\")])]),_c('p',[_c('span',[_vm._v(\"Not seeing a scope-of-work item in this list? \")]),_c('span',[_vm._v(\"Only work items that are available through the selected contract are displayed here.\")])])]),(_vm.totalAvailable < _vm.totalEntered)?_c('div',{staticClass:\"project-workorder-lineitem-add-card-warning text-danger\"},[_c('span',[_vm._v(\"Insufficient funds remain in the approved annual budget for this Work Order. \")]),_c('span',[_vm._v(\"Please ensure that the total cost does not exceed the remaining budget.\")])]):_vm._e(),_c('div',{staticClass:\"project-workorder-lineitem-add-card-warning\"},[_c('b-row',[_c('b-col',[_c('span',{staticClass:\"details-label project-workorder-bills-items-details-label\"},[_vm._v(\"Budgeted: \")]),_c('span',{staticClass:\"project-workorder-bills-items-details-label\"},[_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")(_vm.totalBudgeted))+\" \")])]),_c('b-col',[_c('span',{staticClass:\"details-label project-workorder-bills-items-details-label\"},[_vm._v(\"Obligated: \")]),_c('span',{staticClass:\"project-workorder-bills-items-details-label\"},[_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")(_vm.totalObligated))+\" \")])]),_c('b-col',[_c('span',{staticClass:\"details-label project-workorder-bills-items-details-label\"},[_vm._v(\"Available: \")]),_c('span',{class:{'project-workorder-bills-items-details-label': true, 'text-danger': _vm.totalAvailable < 0}},[_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")(_vm.totalAvailable))+\" \")])]),_c('b-col',[_c('span',{staticClass:\"details-label project-workorder-bills-items-details-label\"},[_vm._v(\"Entered: \")]),_c('span',{staticClass:\"project-workorder-bills-items-details-label\"},[_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")(_vm.totalEntered))+\" \")])])],1)],1),_c('b-table',{attrs:{\"fields\":_vm.workorderAddModelServiceMaterialFields,\"items\":_vm.workorderAddModel.workorderLineItems,\"bordered\":\"\",\"hover\":\"\",\"responsive\":\"\",\"small\":\"\",\"striped\":\"\"},scopedSlots:_vm._u([{key:\"cell(lineItemSelected)\",fn:function(row){return [_c('b-form-checkbox',{on:{\"change\":function($event){return _vm.lineItemSelectedOnChange($event, row.item)}},model:{value:(row.item.lineItemSelected),callback:function ($$v) {_vm.$set(row.item, \"lineItemSelected\", $$v)},expression:\"row.item.lineItemSelected\"}},[_vm._v(\" \"+_vm._s(row.item.lineItemProductName)+\" \")])]}},{key:\"cell(quantity)\",fn:function(row){return [(_vm.workorderLineItemsSelected[(\"lineItemSelected_\" + (_vm.budgetYear.year) + \"_\" + (row.item.id))])?_c('b-form-input',{staticClass:\"form-control align-top align-right\",attrs:{\"type\":\"number\",\"state\":row.item.quantity > 0,\"aria-describedby\":(\"input-live-feedback_\" + (_vm.budgetYear.year) + \"_\" + (row.item.id))},on:{\"input\":function($event){return _vm.lineItemQuantityOnInput($event, row.item)}},model:{value:(row.item.quantity),callback:function ($$v) {_vm.$set(row.item, \"quantity\", $$v)},expression:\"row.item.quantity\"}}):_c('b-form-input',{staticClass:\"form-control align-top align-right\",attrs:{\"type\":\"number\",\"disabled\":\"\"},on:{\"input\":function($event){return _vm.lineItemQuantityOnInput($event, row.item)}},model:{value:(row.item.quantity),callback:function ($$v) {_vm.$set(row.item, \"quantity\", $$v)},expression:\"row.item.quantity\"}}),_c('b-form-invalid-feedback',{attrs:{\"id\":(\"input-live-feedback_\" + (_vm.budgetYear.year) + \"_\" + (row.item.id))}},[_vm._v(\"Enter a quantity greater than 0\")])]}},{key:\"cell(lineItemOnOtherWorkorder)\",fn:function(row){return [_c('b-form-checkbox',{attrs:{\"disabled\":\"\"},model:{value:(row.item.lineItemOnOtherWorkorder),callback:function ($$v) {_vm.$set(row.item, \"lineItemOnOtherWorkorder\", $$v)},expression:\"row.item.lineItemOnOtherWorkorder\"}})]}}],null,false,982724721)})],1):_c('div',[_vm._v(\"This Contract has no related Annual Budget Services and Materials!\"),_c('br'),_c('br')]),_c('b-table',{attrs:{\"fields\":_vm.workorderAddModelIncentivesFields,\"items\":_vm.workorderAddModel.incentivePayments,\"bordered\":\"\",\"hover\":\"\",\"responsive\":\"\",\"small\":\"\",\"striped\":\"\"},scopedSlots:_vm._u([{key:\"cell(incentiveItemSelected)\",fn:function(row){return [_c('b-form-checkbox',{on:{\"change\":function($event){return _vm.incentiveLineItemSelectedOnChange($event, row.item)}},model:{value:(row.item.incentiveItemSelected),callback:function ($$v) {_vm.$set(row.item, \"incentiveItemSelected\", $$v)},expression:\"row.item.incentiveItemSelected\"}},[_vm._v(\" \"+_vm._s(row.item.incentiveTypeName)+\" \")])]}}],null,false,2813966283)})],1)],1):_vm._e()],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectWorkorderAdd.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectWorkorderAdd.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProjectWorkorderAdd.vue?vue&type=template&id=28000397&\"\nimport script from \"./ProjectWorkorderAdd.vue?vue&type=script&lang=js&\"\nexport * from \"./ProjectWorkorderAdd.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 null,\n null\n \n)\n\nexport default component.exports"," \n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AnnualBudget.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AnnualBudget.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AnnualBudget.vue?vue&type=template&id=8aaa3b72&\"\nimport script from \"./AnnualBudget.vue?vue&type=script&lang=js&\"\nexport * from \"./AnnualBudget.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 null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"col-6\"},[(!_vm.projectBudgetSummaryDataLoaded)?_c('b-card',[_c('LoadingSpinner',{attrs:{\"size\":\"1x\"}})],1):_c('div',[(_vm.project && _vm.project != null && _vm.project.approvalStatus === \"Approved\")?_c('b-card',{staticClass:\"col-12\"},[_c('div',{staticClass:\"row summary-line\"},[_c('div',{staticClass:\"col-6 details-label summary-line-label\"},[_vm._v(\"Total Project Cost\")]),_c('div',{staticClass:\"col-6 text-right\"},[_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")(_vm.projectExpenditureTotalProjectCost))+\" \")])]),_c('hr'),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-6 details-label\"},[_vm._v(\"Cost Share\")]),_c('div',{staticClass:\"col-6 text-right\"},[_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")(_vm.projectExpenditureCostShare))+\" \")])]),_c('hr'),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-6 details-label\"},[(_vm.projectExpenditureDistrictOrPartnerCostItems.length > 0)?_c('a',{directives:[{name:\"b-toggle\",rawName:\"v-b-toggle.total-district-or-partner-items-collapse\",modifiers:{\"total-district-or-partner-items-collapse\":true}}],staticClass:\"c-pointer\"},[_c('b-icon',{staticClass:\"when-closed\",attrs:{\"icon\":\"caret-right-fill\"}}),_c('b-icon',{staticClass:\"when-opened\",attrs:{\"icon\":\"caret-down-fill\"}}),_c('span',[_vm._v(\"District or Partner Cost\")])],1):_c('span',[_vm._v(\" District or Partner Cost \")])]),_c('div',{staticClass:\"col-6 text-right\"},[_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")(_vm.projectExpenditureDistrictOrPartnerCost))+\" \")])]),_c('hr'),_c('b-collapse',{attrs:{\"id\":\"total-district-or-partner-items-collapse\"}},[_vm._l((_vm.projectExpenditureDistrictOrPartnerCostItems),function(item){return _c('div',{key:item.id},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-1\"}),_c('div',{staticClass:\"col-5\"},[_vm._v(_vm._s(item.name))]),_c('div',{staticClass:\"col-6\",attrs:{\"align\":\"right\"}},[_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")(item.total))+\" \")])])])}),_c('hr')],2),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-6 details-label\"},[(_vm.projectExpenditureObligatedSpentItems.length > 0)?_c('a',{directives:[{name:\"b-toggle\",rawName:\"v-b-toggle.total-spent-items-collapse\",modifiers:{\"total-spent-items-collapse\":true}}],staticClass:\"c-pointer\"},[_c('b-icon',{staticClass:\"when-closed\",attrs:{\"icon\":\"caret-right-fill\"}}),_c('b-icon',{staticClass:\"when-opened\",attrs:{\"icon\":\"caret-down-fill\"}}),_c('span',[_vm._v(\"Spent\")])],1):_c('span',[_vm._v(\" Spent \")])]),_c('div',{staticClass:\"col-6 text-right\"},[_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")(_vm.projectExpenditureObligatedSpent))+\" \")])]),_c('hr'),_c('b-collapse',{attrs:{\"id\":\"total-spent-items-collapse\"}},[_vm._l((_vm.projectExpenditureObligatedSpentItems),function(item){return _c('div',{key:item.id},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-1\"}),_c('div',{staticClass:\"col-5\"},[_vm._v(_vm._s(item.name))]),_c('div',{staticClass:\"col-6\",attrs:{\"align\":\"right\"}},[_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")(item.total))+\" \")])])])}),_c('hr')],2),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-6 details-label\"},[(_vm.projectExpenditureTotalRemainingItems.length > 0)?_c('a',{directives:[{name:\"b-toggle\",rawName:\"v-b-toggle.total-remaining-items-collapse\",modifiers:{\"total-remaining-items-collapse\":true}}],staticClass:\"c-pointer\"},[_c('b-icon',{staticClass:\"when-closed\",attrs:{\"icon\":\"caret-right-fill\"}}),_c('b-icon',{staticClass:\"when-opened\",attrs:{\"icon\":\"caret-down-fill\"}}),_c('span',[_vm._v(\"Remaining\")])],1):_c('span',[_vm._v(\" Remaining \")])]),_c('div',{staticClass:\"col-6 text-right\"},[_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")(_vm.projectExpenditureTotalRemaining))+\" \")])]),_c('hr'),_c('b-collapse',{attrs:{\"id\":\"total-remaining-items-collapse\"}},[_vm._l((_vm.projectExpenditureTotalRemainingItems),function(item){return _c('div',{key:item.id},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-1\"}),_c('div',{staticClass:\"col-5\"},[_vm._v(_vm._s(item.name))]),_c('div',{staticClass:\"col-6\",attrs:{\"align\":\"right\"}},[_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")(item.total))+\" \")])])])}),_c('hr')],2)],1):_vm._e(),(_vm.project\n && _vm.project != null\n && (_vm.project.approvalStatus === \"Completed\"\n || _vm.project.approvalStatus === \"Cancelled\"))?_c('b-card',{staticClass:\"col-12\"},[_c('div',{staticClass:\"row summary-line\"},[_c('div',{staticClass:\"col-6 details-label summary-line-label\"},[_vm._v(\"Total Project Cost\")]),_c('div',{staticClass:\"col-6 text-right\"},[_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")(_vm.projectExpenditureTotalProjectCost))+\" \")])]),_c('hr'),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-6 details-label\"},[_vm._v(\"Cost Share\")]),_c('div',{staticClass:\"col-6 text-right\"},[_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")(_vm.projectExpenditureCostShare))+\" \")])]),_c('hr'),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-6 details-label\"},[(_vm.projectExpenditureDistrictOrPartnerCostItems.length > 0)?_c('a',{directives:[{name:\"b-toggle\",rawName:\"v-b-toggle.total-district-or-partner-items-collapse\",modifiers:{\"total-district-or-partner-items-collapse\":true}}],staticClass:\"c-pointer\"},[_c('b-icon',{staticClass:\"when-closed\",attrs:{\"icon\":\"caret-right-fill\"}}),_c('b-icon',{staticClass:\"when-opened\",attrs:{\"icon\":\"caret-down-fill\"}}),_c('span',[_vm._v(\"District or Partner Cost\")])],1):_c('span',[_vm._v(\" District or Partner Cost \")])]),_c('div',{staticClass:\"col-6 text-right\"},[_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")(_vm.projectExpenditureDistrictOrPartnerCost))+\" \")])]),_c('hr'),_c('b-collapse',{attrs:{\"id\":\"total-district-or-partner-items-collapse\"}},[_vm._l((_vm.projectExpenditureDistrictOrPartnerCostItems),function(item){return _c('div',{key:item.id},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-1\"}),_c('div',{staticClass:\"col-5\"},[_vm._v(_vm._s(item.name))]),_c('div',{staticClass:\"col-6\",attrs:{\"align\":\"right\"}},[_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")(item.total))+\" \")])])])}),_c('hr')],2),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-6 details-label\"},[(_vm.projectExpenditureObligatedSpentItems.length > 0)?_c('a',{directives:[{name:\"b-toggle\",rawName:\"v-b-toggle.total-spent-items-collapse\",modifiers:{\"total-spent-items-collapse\":true}}],staticClass:\"c-pointer\"},[_c('b-icon',{staticClass:\"when-closed\",attrs:{\"icon\":\"caret-right-fill\"}}),_c('b-icon',{staticClass:\"when-opened\",attrs:{\"icon\":\"caret-down-fill\"}}),_c('span',[_vm._v(\"Spent\")])],1):_c('span',[_vm._v(\" Spent \")])]),_c('div',{staticClass:\"col-6 text-right\"},[_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")(_vm.projectExpenditureObligatedSpent))+\" \")])]),_c('hr'),_c('b-collapse',{attrs:{\"id\":\"total-spent-items-collapse\"}},[_vm._l((_vm.projectExpenditureObligatedSpentItems),function(item){return _c('div',{key:item.id},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-1\"}),_c('div',{staticClass:\"col-5\"},[_vm._v(_vm._s(item.name))]),_c('div',{staticClass:\"col-6\",attrs:{\"align\":\"right\"}},[_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")(item.total))+\" \")])])])}),_c('hr')],2),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-6 details-label\"},[(_vm.projectExpenditureCancelCompleteTotalRemainingItems.length > 0)?_c('a',{directives:[{name:\"b-toggle\",rawName:\"v-b-toggle.total-remaining-items-collapse\",modifiers:{\"total-remaining-items-collapse\":true}}],staticClass:\"c-pointer\"},[_c('b-icon',{staticClass:\"when-closed\",attrs:{\"icon\":\"caret-right-fill\"}}),_c('b-icon',{staticClass:\"when-opened\",attrs:{\"icon\":\"caret-down-fill\"}}),_c('span',[_vm._v(\"Remaining\")])],1):_c('span',[_vm._v(\" Remaining \")])]),_c('div',{staticClass:\"col-6 text-right\"},[_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")(_vm.projectExpenditureCancelCompleteTotalRemaining))+\" \")])]),_c('hr'),_c('b-collapse',{attrs:{\"id\":\"total-remaining-items-collapse\"}},[_vm._l((_vm.projectExpenditureCancelCompleteTotalRemainingItems),function(item){return _c('div',{key:item.id},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-1\"}),_c('div',{staticClass:\"col-5\"},[_vm._v(_vm._s(item.name))]),_c('div',{staticClass:\"col-6\",attrs:{\"align\":\"right\"}},[_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")(item.total))+\" \")])])])}),_c('hr')],2)],1):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExpenditureSummary.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExpenditureSummary.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ExpenditureSummary.vue?vue&type=template&id=1ddb5db6&\"\nimport script from \"./ExpenditureSummary.vue?vue&type=script&lang=js&\"\nexport * from \"./ExpenditureSummary.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 null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.project && _vm.project != null &&\n(_vm.project.approvalStatus === \"Approved\" || _vm.project.approvalStatus === \"Cancelled\" || _vm.project.approvalStatus === \"Completed\"))?_c('b-card',{staticClass:\"col-6\"},[(_vm.projectLoading || _vm.projectSnapshotDraftLoading)?_c('LoadingSpinner',{attrs:{\"message\":\"Loading data\",\"size\":\"1x\"}}):_c('div',[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-6 details-label\"},[_c('a',{directives:[{name:\"b-toggle\",rawName:\"v-b-toggle\",value:('landownerCostShare'),expression:\"'landownerCostShare'\"}],staticClass:\"c-pointer\"},[_c('b-icon',{staticClass:\"when-closed\",attrs:{\"icon\":\"caret-right-fill\"}}),_c('b-icon',{staticClass:\"when-opened\",attrs:{\"icon\":\"caret-down-fill\"}}),_c('span',[_vm._v(\"Cost Share\")])],1)]),(_vm.budgetTotalSnapshotAmount === 0)?[_c('div',{staticClass:\"col-6 text-right\"},[_vm._v(\" N/A \")])]:[(_vm.budgetSnapshotCostSharePercent === 0)?_c('div',{staticClass:\"col-3 text-right text-primary\"},[_vm._v(\" (0%) \")]):_c('div',{staticClass:\"col-3 text-right text-primary\"},[_vm._v(\" (\"+_vm._s(_vm._f(\"toPercent\")(_vm.budgetSnapshotCostSharePercent))+\"%) \")]),_c('div',{staticClass:\"col-3 text-right\"},[_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")(_vm.budgetSnapshotTotalCostShare))+\" \")])]],2),_c('b-collapse',{attrs:{\"id\":\"landownerCostShare\"}},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-5 offset-1\"},[_vm._v(\"Base Cost:\")]),_c('div',{staticClass:\"col-6 text-right\"},[_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")(_vm.budgetSnapshotBaseCostShare))+\" \")])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-5 offset-1\"},[_vm._v(\"Contingency Cost:\")]),_c('div',{staticClass:\"col-6 text-right\"},[_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")(_vm.budgetSnapshotContingencyCostShare))+\" \")])])]),_c('hr',{attrs:{\"color\":\"black\",\"size\":\"20\"}}),_vm._l((_vm.fundingSourceSnapshotSummaries.values()),function(fundingSource){return _c('div',{key:fundingSource.name},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-6 details-label\"},[_c('a',{directives:[{name:\"b-toggle\",rawName:\"v-b-toggle\",value:(((fundingSource.name.replaceAll(' ','')) + \"-details\")),expression:\"`${fundingSource.name.replaceAll(' ','')}-details`\"}],staticClass:\"c-pointer\"},[_c('b-icon',{staticClass:\"when-closed\",attrs:{\"icon\":\"caret-right-fill\"}}),_c('b-icon',{staticClass:\"when-opened\",attrs:{\"icon\":\"caret-down-fill\"}}),_vm._v(\" \"+_vm._s(fundingSource.name)+\" \")],1)]),(_vm.budgetTotalSnapshotAmount === 0)?[_c('div',{staticClass:\"col-6 text-right\"},[_vm._v(\" N/A \")])]:[_c('div',{staticClass:\"col-3 text-right text-primary\"},[_vm._v(\" (\"+_vm._s(_vm._f(\"toPercent\")(_vm.getFundingSourceSnapshotPercentOfTotal(fundingSource)))+\"%) \")]),_c('div',{staticClass:\"col-3 text-right\"},[_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")(_vm.getFundingSourceSnapshotTotal(fundingSource)))+\" \")])]],2),_c('b-collapse',{attrs:{\"id\":((fundingSource.name.replaceAll(' ','')) + \"-details\")}},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-5 offset-1\"},[_vm._v(\"Base Cost:\")]),_c('div',{staticClass:\"col-6 text-right\"},[_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")(fundingSource.baseCost))+\" \")])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-5 offset-1\"},[_vm._v(\"Contingency Cost:\")]),(fundingSource.contingencyCost)?_c('div',{staticClass:\"col-6 text-right\"},[_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")(fundingSource.contingencyCost))+\" \")]):_c('div',{staticClass:\"col-6 text-right\"},[_vm._v(\" N/A \")])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-5 offset-1\"},[_vm._v(\"Adjustment Amount:\")]),(fundingSource.adjustmentAmount)?_c('div',{staticClass:\"col-6 text-right\"},[_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")(fundingSource.adjustmentAmount))+\" \")]):_c('div',{staticClass:\"col-6 text-right\"},[_vm._v(\" N/A \")])])]),_c('hr')],1)}),_c('div',{staticClass:\"row summary-line\"},[_c('div',{staticClass:\"col-6 details-label summary-line-label\"},[_c('span',[_vm._v(\"Total Project Cost\")])]),_c('div',{staticClass:\"col-6 text-right normal-title\"},[(_vm.budgetTotalSnapshotAmount === 0)?[_vm._v(\" N/A \")]:[_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")(_vm.budgetTotalSnapshotAmount))+\" \")]],2)])],2)],1):_c('b-card',{staticClass:\"col-6\"},[(_vm.projectLoading || _vm.projectSnapshotDraftLoading)?_c('LoadingSpinner',{attrs:{\"message\":\"Loading data\",\"size\":\"1x\"}}):_c('div',[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-6 details-label\"},[_c('a',{directives:[{name:\"b-toggle\",rawName:\"v-b-toggle\",value:('landownerCostShare'),expression:\"'landownerCostShare'\"}],staticClass:\"c-pointer\"},[_c('b-icon',{staticClass:\"when-closed\",attrs:{\"icon\":\"caret-right-fill\"}}),_c('b-icon',{staticClass:\"when-opened\",attrs:{\"icon\":\"caret-down-fill\"}}),_c('span',[_vm._v(\"Cost Share\")])],1)]),(_vm.budgetTotalAmount === 0)?[_c('div',{staticClass:\"col-6 text-right\"},[_vm._v(\" N/A \")])]:[(_vm.budgetCostSharePercent === 0)?_c('div',{staticClass:\"col-3 text-right text-primary\"},[_vm._v(\" (0%) \")]):_c('div',{staticClass:\"col-3 text-right text-primary\"},[_vm._v(\" (\"+_vm._s(_vm._f(\"toPercent\")(_vm.budgetCostSharePercent))+\"%) \")]),_c('div',{staticClass:\"col-3 text-right\"},[_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")(_vm.budgetTotalCostShare))+\" \")])]],2),_c('b-collapse',{attrs:{\"id\":\"landownerCostShare\"}},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-5 offset-1\"},[_vm._v(\"Base Cost:\")]),_c('div',{staticClass:\"col-6 text-right\"},[_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")(_vm.budgetBaseCostShare))+\" \")])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-5 offset-1\"},[_vm._v(\"Contingency Cost:\")]),_c('div',{staticClass:\"col-6 text-right\"},[_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")(_vm.budgetContingencyCostShare))+\" \")])])]),_c('hr',{attrs:{\"color\":\"black\",\"size\":\"20\"}}),_vm._l((_vm.fundingSourceSummaries.values()),function(fundingSource){return _c('div',{key:fundingSource.name},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-6 details-label\"},[_c('a',{directives:[{name:\"b-toggle\",rawName:\"v-b-toggle\",value:(((fundingSource.name.replaceAll(' ','')) + \"-details\")),expression:\"`${fundingSource.name.replaceAll(' ','')}-details`\"}],staticClass:\"c-pointer\"},[_c('b-icon',{staticClass:\"when-closed\",attrs:{\"icon\":\"caret-right-fill\"}}),_c('b-icon',{staticClass:\"when-opened\",attrs:{\"icon\":\"caret-down-fill\"}}),_vm._v(\" \"+_vm._s(fundingSource.name)+\" \")],1)]),(_vm.budgetTotalAmount === 0)?[_c('div',{staticClass:\"col-6 text-right\"},[_vm._v(\" N/A \")])]:[_c('div',{staticClass:\"col-3 text-right text-primary\"},[_vm._v(\" (\"+_vm._s(_vm._f(\"toPercent\")(_vm.getFundingSourcePercentOfTotal(fundingSource)))+\"%) \")]),_c('div',{staticClass:\"col-3 text-right\"},[_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")(_vm.getFundingSourceTotal(fundingSource)))+\" \")])]],2),_c('b-collapse',{attrs:{\"id\":((fundingSource.name.replaceAll(' ','')) + \"-details\")}},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-5 offset-1\"},[_vm._v(\"Base Cost:\")]),_c('div',{staticClass:\"col-6 text-right\"},[_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")(fundingSource.baseCost))+\" \")])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-5 offset-1\"},[_vm._v(\"Contingency Cost:\")]),(fundingSource.contingencyCost)?_c('div',{staticClass:\"col-6 text-right\"},[_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")(fundingSource.contingencyCost))+\" \")]):_c('div',{staticClass:\"col-6 text-right\"},[_vm._v(\" N/A \")])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-5 offset-1\"},[_vm._v(\"Adjustment Amount:\")]),(fundingSource.adjustmentAmount)?_c('div',{staticClass:\"col-6 text-right\"},[_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")(fundingSource.adjustmentAmount))+\" \")]):_c('div',{staticClass:\"col-6 text-right\"},[_vm._v(\" N/A \")])])]),_c('hr')],1)}),_c('div',{staticClass:\"row summary-line\"},[_c('div',{staticClass:\"col-6 details-label summary-line-label\"},[_c('span',[_vm._v(\"Total Project Cost\")])]),_c('div',{staticClass:\"col-6 text-right normal-title\"},[(_vm.budgetTotalAmount === 0)?[_vm._v(\" N/A \")]:[_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")(_vm.budgetTotalAmount))+\" \")]],2)])],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FundingBreakdown.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FundingBreakdown.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FundingBreakdown.vue?vue&type=template&id=f2f65690&\"\nimport script from \"./FundingBreakdown.vue?vue&type=script&lang=js&\"\nexport * from \"./FundingBreakdown.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 null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.canDecreaseProjectBudget && _vm.isTotalObligatedDataLoaded)?_c('b-link',{staticClass:\"add-link text-right\",on:{\"click\":function($event){return _vm.openModal()}}},[_vm._v(\" Decrease Project Budget \")]):_vm._e(),_c('b-modal',{attrs:{\"id\":\"projectDecreaseModal\",\"title\":\"Decrease Project Budget\",\"size\":\"xl\"},on:{\"hidden\":_vm.cancelDecrease},scopedSlots:_vm._u([{key:\"modal-footer\",fn:function(){return [_c('b-button',{staticClass:\"management-plan-dialog-no\",attrs:{\"size\":\"sm\",\"variant\":\"danger\"},on:{\"click\":function($event){return _vm.$bvModal.hide('projectDecreaseModal')}}},[_vm._v(\" Cancel \")]),_c('b-button',{staticClass:\"management-plan-dialog-yes\",attrs:{\"disabled\":!_vm.validDecrease,\"size\":\"sm\",\"variant\":\"success\"},on:{\"click\":_vm.addProjectDecrease}},[_vm._v(\" Add Item \")])]},proxy:true}])},[(_vm.fundingSourcesLoading)?_c('LoadingSpinner',{attrs:{\"message\":\"Loading Funding Source\",\"size\":\"1x\"}}):[_c('p',[_vm._v(\"Indicate the funding source and amount of decrease to the overall Project Budget. IMPORTANT: you cannot undo this operation.\")]),_c('b-alert',{attrs:{\"show\":_vm.decreaseValidationMessage !== '',\"dismissible\":\"\",\"variant\":\"danger\"}},[_vm._v(\" \"+_vm._s(_vm.decreaseValidationMessage)+\" \")]),_c('VueFormGenerator',{attrs:{\"schema\":_vm.getProjectDecreaseSchema(),\"model\":_vm.currentProjectDecrease,\"options\":{\n validateAfterLoad: false,\n validateAfterChanged: true,\n validateAsync: true\n }},on:{\"validated\":_vm.onDecreaseValidation}})]],2),_c('b-alert',{attrs:{\"show\":_vm.decreaseErrorMessage !== '',\"dismissible\":\"\",\"variant\":\"danger\"}},[_vm._v(\" \"+_vm._s(_vm.decreaseErrorMessage)+\" \")]),_c('b-alert',{attrs:{\"show\":_vm.successDismissCountDown,\"dismissible\":\"\",\"variant\":\"success\"},on:{\"dismissed\":function($event){_vm.successDismissCountDown=0},\"dismiss-count-down\":_vm.successCountDownChanged}},[_vm._v(\" \"+_vm._s(_vm.successMessage)+\" \")])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectBudgetDecrease.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectBudgetDecrease.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProjectBudgetDecrease.vue?vue&type=template&id=d8ec395a&\"\nimport script from \"./ProjectBudgetDecrease.vue?vue&type=script&lang=js&\"\nexport * from \"./ProjectBudgetDecrease.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 null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-table',{ref:'project-history-table',staticClass:\"list-item-table\",attrs:{\"id\":'project-history-table',\"bordered\":\"\",\"head-variant\":\"light\",\"fields\":_vm.fields,\"items\":_vm.projectAdjustmentItems,\"show-empty\":\"\"},scopedSlots:_vm._u([{key:\"cell(fundingSource)\",fn:function(row){return [_vm._v(\" \"+_vm._s(_vm.getFundingSource(row.item))+\" \")]}}])})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectBudgetHistory.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectBudgetHistory.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProjectBudgetHistory.vue?vue&type=template&id=457b457c&\"\nimport script from \"./ProjectBudgetHistory.vue?vue&type=script&lang=js&\"\nexport * from \"./ProjectBudgetHistory.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 null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectBudget.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectBudget.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProjectBudget.vue?vue&type=template&id=319b8484&\"\nimport script from \"./ProjectBudget.vue?vue&type=script&lang=js&\"\nexport * from \"./ProjectBudget.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 null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"view-contents\"},[_vm._m(0),(_vm.formLoading)?_c('LoadingSpinner',{attrs:{\"message\":\"Loading Project\",\"size\":\"1x\"}}):(!_vm.projectSites.length)?_c('div',[_vm._v(\" You have no contacts associated with this project. \")]):_c('div',[_c('div',{staticClass:\"row\"},_vm._l((_vm.projectSites),function(site){return _c('div',{key:site.relatedSiteId,staticClass:\"col-9\"},[_c('div',{staticClass:\"site-section-wrapper\"},[_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-header\"},[_c('a',{directives:[{name:\"b-toggle\",rawName:\"v-b-toggle\",value:((\"site-\" + (site.relatedSiteId) + \"-card\")),expression:\"`site-${site.relatedSiteId}-card`\"}],staticClass:\"c-pointer\"},[_c('b-icon',{staticClass:\"when-closed\",attrs:{\"icon\":\"caret-right-fill\"}}),_c('b-icon',{staticClass:\"when-opened\",attrs:{\"icon\":\"caret-down-fill\"}})],1),_c('span',{staticClass:\"details-label\"},[_vm._v(\"Site: \")]),_c('router-link',{staticClass:\"font-weight-bold\",attrs:{\"to\":{ name: 'Site', params: { id: site.relatedSiteId } }}},[_vm._v(\" \"+_vm._s(site.relatedSite.siteName)+\" \")])],1),_c('b-collapse',{attrs:{\"id\":(\"site-\" + (site.relatedSiteId) + \"-card\"),\"visible\":\"\"}},[_c('div',{staticClass:\"card-body\"},[_c('div',{staticClass:\"bold-title\"},[_vm._v(\"Organizations\")]),(_vm.siteOrganizationsLoading.includes(site.relatedSiteId))?_c('LoadingSpinner',{attrs:{\"message\":\"Loading Site Organizations\",\"size\":\"1x\"}}):[(!_vm.organizations(site.relatedSiteId)\n || _vm.organizations(site.relatedSiteId).length === 0)?_c('div',[_vm._v(\" No Organizations for this Site \")]):_vm._l((_vm.organizations(site.relatedSiteId)),function(organization){return _c('div',{key:organization.id},[_c('hr'),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('a',{staticClass:\"font-weight-bold\",attrs:{\"target\":\"_blank\",\"href\":_vm.formatOrganizationUrl(organization.ORGANISATION_ID)}},[_vm._v(\" \"+_vm._s(organization.ORGANISATION_NAME)+\" - \")]),_vm._v(\" \"+_vm._s(organization.Role__c || 'N/A')+\" \"),(organization.Primary__c)?[_vm._v(\" (Primary)\")]:_vm._e()],2)])])})],_c('hr'),_c('div',{staticClass:\"bold-title\"},[_vm._v(\"Contacts\")]),(_vm.siteContactsLoading.includes(site.relatedSiteId))?_c('LoadingSpinner',{attrs:{\"message\":\"Loading Site Contacts\",\"size\":\"1x\"}}):[(!_vm.contacts(site.relatedSiteId)\n || _vm.contacts(site.relatedSiteId).length === 0)?_c('div',[_vm._v(\" No Contacts for this Site \")]):_vm._l((_vm.contacts(site.relatedSiteId)),function(contact){return _c('div',{key:contact.id},[_c('hr'),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('a',{staticClass:\"font-weight-bold\",attrs:{\"target\":\"_blank\",\"href\":(\"\" + (_vm.config.insightly.contactUrl) + (contact.Contact__c))}},[_vm._v(\" \"+_vm._s(contact.FIRST_NAME)+\" \"+_vm._s(contact.LAST_NAME)+\" - \"+_vm._s(contact.Role__c || 'N/A')+\" \"),(contact.Primary__c)?[_vm._v(\" (Primary)\")]:_vm._e()],2)])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('span',{staticClass:\"details-label\"},[_vm._v(\"Email: \")]),(contact.EMAIL_ADDRESS)?_c('a',{attrs:{\"href\":(\"mailto:\" + (contact.EMAIL_ADDRESS) + \"?bcc=\" + (_vm.getTaskEmail()))}},[_vm._v(\" \"+_vm._s(contact.EMAIL_ADDRESS)+\" \")]):[_vm._v(\"N/A\")],_vm._v(\" | \"),_c('span',{staticClass:\"details-label\"},[_vm._v(\"Home: \")]),_vm._v(\" \"+_vm._s(contact.PHONE_HOME || 'N/A')+\" | \"),_c('span',{staticClass:\"details-label\"},[_vm._v(\"Mobile: \")]),_vm._v(\" \"+_vm._s(contact.PHONE_MOBILE || 'N/A')+\" \")],2)])])})]],2)])],1)])])}),0)])],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"section-header\"},[_c('div',{staticClass:\"row bold-title\"},[_c('div',{staticClass:\"col\"},[_vm._v(\" Plan Contacts \")])])])}]\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectContacts.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectContacts.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProjectContacts.vue?vue&type=template&id=c2f494c0&\"\nimport script from \"./ProjectContacts.vue?vue&type=script&lang=js&\"\nexport * from \"./ProjectContacts.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 null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"view-contents\"},[(_vm.project)?_c('UnavailablePageModal',{attrs:{\"pageName\":\"Goals\",\"project\":_vm.project,\"projectId\":_vm.project.id}}):_vm._e(),_c('b-alert',{attrs:{\"show\":_vm.dismissProjectGoalValidationErrorAlert,\"dismissible\":\"\",\"variant\":\"danger\"},on:{\"dismissed\":function($event){_vm.dismissProjectGoalValidationErrorAlert=0},\"dismiss-count-down\":_vm.dismissProjectGoalValidationErrorAlertChanged}},[_c('span',[_vm._v(\"Select at least 1 Objective for each Goal.\")])]),_c('b-alert',{attrs:{\"show\":_vm.dismissProjectObjectiveValidationErrorAlert,\"dismissible\":\"\",\"variant\":\"danger\"},on:{\"dismissed\":function($event){_vm.dismissProjectObjectiveValidationErrorAlert=0},\"dismiss-count-down\":_vm.dismissProjectObjectiveValidationErrorAlertChanged}},[_c('span',[_vm._v(\"Select at least 1 Target per Project Objective.\")])]),_c('b-alert',{attrs:{\"show\":_vm.dismissProjectGoalSaveSuccessAlert,\"dismissible\":\"\",\"variant\":\"success\"},on:{\"dismissed\":function($event){_vm.dismissProjectGoalSaveSuccessAlert=0},\"dismiss-count-down\":_vm.dismissProjectGoalSaveSuccessAlertChanged}},[_c('span',[_vm._v(\"Project Goals were successfully saved\")])]),_c('div',{staticClass:\"section-header\"},[_c('b-overlay',{attrs:{\"show\":_vm.projectObjectivesLoading || _vm.projectGoalsSaving}},[_c('div',{staticClass:\"row bold-title\"},[_c('div',{staticClass:\"col\"},[_c('span',[_vm._v(\"Goals\")])]),_c('div',{staticClass:\"col\"},[_c('span',[_vm._v(\"Objectives & Targets\")]),(_vm.isEditable)?_c('b-button',{staticClass:\"submit-form-button\",attrs:{\"pill\":\"\",\"variant\":\"primary\",\"size\":\"sm\"},on:{\"click\":_vm.onSaveClick}},[_c('span',[_vm._v(\"Save\")])]):_vm._e()],1)]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col site-section-wrapper\"},[_c('div',{staticClass:\"card card-body\"},[_c('b-form-group',{attrs:{\"disabled\":!_vm.isEditable}},[_c('b-form-checkbox-group',{staticClass:\"project-goals\",attrs:{\"name\":\"projectGoals\"},model:{value:(_vm.projectGoalsSelected),callback:function ($$v) {_vm.projectGoalsSelected=$$v},expression:\"projectGoalsSelected\"}},_vm._l((_vm.projectGoals),function(item){return _c('b-form-checkbox',{key:item.id,attrs:{\"value\":item.id},on:{\"change\":function($event){return _vm.modelUpdated()}}},[_c('span',{staticClass:\"project-goals-label\"},[_vm._v(_vm._s(item.name))])])}),1)],1),_c('div',{staticClass:\"project-goals-instruction\"},[_vm._v(\"(Check all Goals that apply. Objectives and Targets will be populated based on selected Goals.)\")])],1)]),_c('div',{staticClass:\"col site-section-wrapper\"},[_c('div',{staticClass:\"card card-body\"},[(!_vm.projectObjectivesLoading)?_c('b-form-group',{attrs:{\"disabled\":!_vm.isEditable}},[_c('b-form-checkbox-group',{staticClass:\"project-goals\",attrs:{\"name\":\"projectObjectives\"},model:{value:(_vm.projectObjectivesSelected),callback:function ($$v) {_vm.projectObjectivesSelected=$$v},expression:\"projectObjectivesSelected\"}},_vm._l((_vm.projectObjectives),function(item){return _c('b-form-checkbox',{key:item.id,class:(\"\" + (item.class)),attrs:{\"value\":item.id}},[_c('div',{staticClass:\"project-goals-label\"},[_vm._v(_vm._s(item.name))]),_c('div',{class:(\"\" + (item.childClass))},[(!_vm.projectAccomplishmentTargetsLoading)?_c('b-form-checkbox-group',{staticClass:\"project-goals\",model:{value:(item.projectObjectiveAccomplishmentTargetsSelected),callback:function ($$v) {_vm.$set(item, \"projectObjectiveAccomplishmentTargetsSelected\", $$v)},expression:\"item.projectObjectiveAccomplishmentTargetsSelected\"}},[((!item.projectObjectiveAccomplishmentTargetsSelected) || (item.projectObjectiveAccomplishmentTargetsSelected.length == 0))?_c('div',{staticClass:\"project-goals-instruction\"},[_vm._v(\"(Select at least 1 target)\")]):_vm._e(),_vm._l((item.projectObjectiveAccomplishmentTargets),function(projectObjectiveAccomplishmentTarget){return _c('b-form-checkbox',{key:((projectObjectiveAccomplishmentTarget.projectObjectiveId) + \"|\" + (projectObjectiveAccomplishmentTarget.projectAccomplishmentTargetId)),class:(\"\" + (item.childClass)),attrs:{\"value\":((projectObjectiveAccomplishmentTarget.projectObjectiveId) + \"|\" + (projectObjectiveAccomplishmentTarget.projectAccomplishmentTargetId))},on:{\"change\":function($event){return _vm.modelUpdated()}}},[_c('span',{staticClass:\"project-goals-label\"},[_vm._v(_vm._s(projectObjectiveAccomplishmentTarget.projectAccomplishmentTarget.name))])])})],2):_vm._e()],1)])}),1)],1):_vm._e(),(_vm.projectGoalsSelected.length === 0)?_c('div',{staticClass:\"project-goals-instruction\"},[_vm._v(\"(Select a Project Goal to view associated Project Objectives.)\")]):_vm._e(),(_vm.projectGoalsSelected.length > 0 && _vm.projectObjectivesSelected.length == 0)?_c('div',{staticClass:\"project-goals-instruction\"},[_vm._v(\"(Select at least 1 Objective for each Goal)\")]):_vm._e()],1)])])])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectGoals.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectGoals.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProjectGoals.vue?vue&type=template&id=570f8f0d&scoped=true&\"\nimport script from \"./ProjectGoals.vue?vue&type=script&lang=js&\"\nexport * from \"./ProjectGoals.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProjectGoals.vue?vue&type=style&index=0&id=570f8f0d&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"570f8f0d\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"view-contents\"},[(_vm.project)?_c('UnavailablePageModal',{attrs:{\"pageName\":\"Incentive Payments\",\"project\":_vm.project,\"projectId\":_vm.project.id}}):_vm._e(),_c('div',{staticClass:\"section-header\"},[_c('div',{staticClass:\"row\"},[_c('b-col',{staticClass:\"bold-title\",attrs:{\"cols\":\"6\"}},[_vm._v(\"Incentive Payments\")]),_c('b-col',{staticClass:\"text-right\",attrs:{\"cols\":\"6\"}},[(_vm.isEditable)?_c('b-link',{staticClass:\"add-link\",on:{\"click\":_vm.onOpenProjectIncentivePaymentModalAddClick}},[_c('b-icon',{attrs:{\"icon\":\"plus\"}}),_c('span',[_vm._v(\"Add Incentive\")])],1):_vm._e()],1)],1)]),_c('div',{staticClass:\"section-header\"},[_c('b-overlay',{attrs:{\"show\":_vm.formLoading}},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('b-modal',{attrs:{\"id\":\"projectIncentivePaymentModalAdd\",\"title\":\"New Incentive Payment\",\"size\":\"xl\"},scopedSlots:_vm._u([{key:\"modal-footer\",fn:function(){return [_c('b-button',{staticClass:\"incentive-payments-dialog-no\",attrs:{\"size\":\"sm\",\"variant\":\"danger\"},on:{\"click\":_vm.onProjectIncentivePaymentAddCancelClick}},[_vm._v(\"Cancel\")]),_c('b-button',{staticClass:\"incentive-payments-dialog-yes\",attrs:{\"disabled\":!_vm.formValidAdd,\"size\":\"sm\",\"variant\":\"success\"},on:{\"click\":_vm.onProjectIncentivePaymentAddClick}},[_c('span',[_vm._v(\"Save Payment\")])])]},proxy:true}])},[_c('p',[_c('VueFormGenerator',{attrs:{\"schema\":_vm.formSchemaAdd,\"model\":_vm.projectIncentivePayment,\"options\":_vm.formOptions},on:{\"validated\":_vm.onValidatedAdd,\"model-updated\":_vm.onProjectIncentivePaymentModelUpdated}})],1)]),_c('b-modal',{attrs:{\"id\":\"projectIncentivePaymentModalUpdate\",\"title\":'Edit Incentive Payment',\"size\":\"xl\"},scopedSlots:_vm._u([{key:\"modal-footer\",fn:function(){return [_c('b-button',{staticClass:\"incentive-payments-dialog-no\",attrs:{\"size\":\"sm\",\"variant\":\"danger\"},on:{\"click\":_vm.onProjectIncentivePaymentUpdateCancelClick}},[_vm._v(\"Cancel\")]),_c('b-button',{staticClass:\"incentive-payments-dialog-yes\",attrs:{\"disabled\":!_vm.formValidUpdate,\"size\":\"sm\",\"variant\":\"success\"},on:{\"click\":_vm.onProjectIncentivePaymentUpdateClick}},[_c('span',[_vm._v(\"Save Payment\")])])]},proxy:true}])},[_c('div',[_c('b-overlay',{attrs:{\"opacity\":\".33\"},scopedSlots:_vm._u([{key:\"overlay\",fn:function(){return [_c('div')]},proxy:true}])},[_c('VueFormGenerator',{attrs:{\"schema\":_vm.formSchemaUpdate,\"model\":_vm.projectIncentivePayment,\"options\":_vm.formOptions},on:{\"validated\":_vm.onValidatedUpdate,\"model-updated\":_vm.onProjectIncentivePaymentModelUpdated}})],1)],1)])],1)]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[(_vm.projectIncentivePayments.length === 0)?_c('div',[_vm._v(\"No incentive payments have been added\")]):_vm._e(),(_vm.projectIncentivePayments.length > 0 && _vm.projectFundingSources.length > 0 && _vm.projectIncentiveTypes.length > 0)?_c('div',[_c('b-table',{attrs:{\"id\":\"incentivePaymentTable\",\"striped\":\"\",\"fields\":_vm.projectIncentivePaymentsFields,\"items\":_vm.getProjectIncentivePayments()},scopedSlots:_vm._u([{key:\"cell(payee)\",fn:function(row){return [_vm._v(\" \"+_vm._s(_vm.getSelectedPayee(row.item))+\" \")]}},{key:\"cell(actions)\",fn:function(row){return [_c('b-link',{staticClass:\"mr-1\",on:{\"click\":function($event){return _vm.onProjectIncentivePaymentEditClick(row)}}},[_c('span',[_vm._v(\"Edit\")])]),(_vm.isEditable || _vm.isAdmin())?_c('span',[_c('span',[_vm._v(\"| \")]),_c('span',{directives:[{name:\"b-modal\",rawName:\"v-b-modal\",value:('deleteProjectIncentivePaymentModal'),expression:\"'deleteProjectIncentivePaymentModal'\"}],on:{\"click\":function($event){return _vm.setDeleteProjectIncentivePayment(row)}}},[_c('a',{attrs:{\"href\":\"#\"}},[_vm._v(\"Delete\")])])]):_vm._e()]}}],null,false,3154174834)})],1):_vm._e()])]),_c('b-modal',{attrs:{\"id\":\"deleteProjectIncentivePaymentModal\",\"title\":\"Confirm Incentive Payment Delete\"},on:{\"ok\":function($event){return _vm.onProjectIncentivePaymentDeleteOkClick()}},scopedSlots:_vm._u([{key:\"modal-footer\",fn:function(ref){\nvar ok = ref.ok;\nvar cancel = ref.cancel;\nreturn [_c('b-button',{staticClass:\"incentive-payments-dialog-no\",attrs:{\"size\":\"sm\",\"variant\":\"danger\"},on:{\"click\":cancel}},[_vm._v(\"No\")]),_c('b-button',{staticClass:\"incentive-payments-dialog-yes\",attrs:{\"size\":\"sm\",\"variant\":\"success\"},on:{\"click\":ok}},[_vm._v(\"Yes\")])]}}])},[_c('div',[_vm._v(\"Are you sure you want to delete this Incentive Payment?\")]),_c('div',[_vm._v(\"and all of its associated information?\")])])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectIncentives.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectIncentives.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProjectIncentives.vue?vue&type=template&id=cb730d18&scoped=true&\"\nimport script from \"./ProjectIncentives.vue?vue&type=script&lang=js&\"\nexport * from \"./ProjectIncentives.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProjectIncentives.vue?vue&type=style&index=0&id=cb730d18&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"cb730d18\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row site-section-wrapper\"},[_c('div',{staticClass:\"col-4\"},[_c('ProjectDetails')],1),_c('div',{staticClass:\"col-8 right-col\"},[_c('ProjectMap')],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"project-map\"}},[_c('div',{staticClass:\"section-title\"},[_vm._v(\"Project Map\")]),_c('div',{staticClass:\"card\"},[_c('b-overlay',{staticClass:\"project-map-overlay\",attrs:{\"show\":_vm.isSaving}},[_c('div',{staticClass:\"card-body\"},[_c('div',{attrs:{\"id\":\"esriMap\"}},[_c('b-alert',{staticClass:\"map-alert\",attrs:{\"variant\":\"info\",\"dismissible\":\"\"},model:{value:(_vm.showManageSitesInstructions),callback:function ($$v) {_vm.showManageSitesInstructions=$$v},expression:\"showManageSitesInstructions\"}},[_c('div',[_vm._v(\"Click Sites to associate to Project.\")]),_c('div',[_vm._v(\"Click again to remove.\")]),_c('div',[_vm._v(\"Click 'Save' when done. Click 'Cancel' to cancel.\")])]),_c('b-alert',{staticClass:\"map-alert\",attrs:{\"variant\":\"info\",\"dismissible\":\"\"},model:{value:(_vm.showDrawInstructions),callback:function ($$v) {_vm.showDrawInstructions=$$v},expression:\"showDrawInstructions\"}},[_c('div',[_vm._v(\"Click in the map to draw Project boundary.\")]),_c('div',[_vm._v(\"Double-click to end shape drawing.\")]),_c('div',[_vm._v(\"Click 'Save' when done. Click 'Cancel' to cancel.\")])]),_c('b-alert',{staticClass:\"map-alert\",attrs:{\"variant\":\"info\",\"dismissible\":\"\",\"title\":\"Edit Project Boundaries\"},model:{value:(_vm.showEditInstructions),callback:function ($$v) {_vm.showEditInstructions=$$v},expression:\"showEditInstructions\"}},[_c('div',[_c('p',[_vm._v(\"TO DRAW: Click 'Draw Polygon' from the toolbar, then draw the area in the map. Click 'Save' button when done.\")]),_c('p',[_vm._v(\"TO COPY: Open the 'Selection Layers' panel on the right and choose the selection layer. Pick shape(s) to copy in the map, click 'Set As Boundary', then click 'Save' when done.\")]),_c('p',[_vm._v(\"TO EDIT: To adjust a boundary, click 'Reshape' from the toolbar, select the area in the map, then click and drag boundary points. To start over, click 'Clear All' button. To delete shape(s), click the 'Trashcan' tool. To discard changes and return to view mode, click 'Cancel'.\")])])]),_c('b-alert',{staticClass:\"map-alert\",attrs:{\"variant\":\"danger\",\"dismissible\":\"\"},model:{value:(_vm.showEmptyProjectSitesWarning),callback:function ($$v) {_vm.showEmptyProjectSitesWarning=$$v},expression:\"showEmptyProjectSitesWarning\"}},[_c('div',[_vm._v(\"You must map a Project area before attempting to save!\")])]),_c('b-alert',{staticClass:\"map-alert\",attrs:{\"variant\":\"danger\",\"dismissible\":\"\"},model:{value:(_vm.showErrorMessageAlert),callback:function ($$v) {_vm.showErrorMessageAlert=$$v},expression:\"showErrorMessageAlert\"}},[_c('div',[_vm._v(_vm._s(_vm.showErrorMessageAlertBody))])]),_c('b-alert',{staticClass:\"map-alert\",attrs:{\"show\":_vm.dismissGeocodeSuccess,\"dismissible\":\"\",\"variant\":\"success\"},on:{\"dismissed\":function($event){_vm.dismissGeocodeSuccess=0},\"dismiss-count-down\":_vm.showGeocodeSuccessChanged}},[_c('span',[_vm._v(\"Project was successfully geocoded\")])]),_c('b-alert',{staticClass:\"map-alert\",attrs:{\"show\":_vm.dismissGeocodeWarning,\"dismissible\":\"\",\"variant\":\"warning\"},on:{\"dismissed\":function($event){_vm.dismissGeocodeWarning=0},\"dismiss-count-down\":_vm.showGeocodeWarningChanged}},[_c('span',[_vm._v(\"The address of this Project was not available or could not be geocoded.\")])]),_c('b-alert',{staticClass:\"map-alert\",attrs:{\"show\":_vm.dismissGetProjectSitesWarning,\"dismissible\":\"\",\"variant\":\"warning\"},on:{\"dismissed\":function($event){_vm.dismissGetProjectSitesWarning=0},\"dismiss-count-down\":_vm.showGetProjectSitesWarningChanged}},[_c('div',[_vm._v(\"The project sites could not be fetched from Insightly within the configured limits.\")]),_c('div',[_vm._v(\"Please refresh this page.\")])])],1),_c('div',{staticStyle:{\"display\":\"none\"}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.btnDefaultButtonsShow && _vm.isEditable),expression:\"btnDefaultButtonsShow && isEditable\"}],ref:\"btnDefaultButtons\",staticClass:\"project-button-container\"},[_c('div',{ref:\"btnManageSites\",staticClass:\"btn project-action-button btn-primary btn-sm rounded-pill\",on:{\"click\":_vm.btnManageSitesOnClick}},[_c('b-icon',{attrs:{\"icon\":\"pencil\"}}),_c('span',[_vm._v(\"Associate Sites\")])],1),_c('div',{ref:\"btnManageBoundaries\",staticClass:\"btn project-action-button btn-primary btn-sm rounded-pill\",on:{\"click\":_vm.btnManageBoundariesOnClick}},[_c('b-icon',{attrs:{\"icon\":\"pencil\"}}),_c('span',[_vm._v(\"Edit Project Boundaries\")])],1)]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.btnManageSitesButtonsShow),expression:\"btnManageSitesButtonsShow\"}],ref:\"btnManageSitesButtons\",staticClass:\"project-button-container\"},[_c('div',{ref:\"btnManageSitesClear\",staticClass:\"btn project-action-button btn-primary btn-sm rounded-pill project-button-red\",on:{\"click\":_vm.btnManageSitesClearOnClick}},[_c('span',[_vm._v(\"Clear All\")])]),_c('div',{ref:\"btnManageSitesSave\",staticClass:\"btn project-action-button btn-primary btn-sm rounded-pill\",on:{\"click\":_vm.btnManageSitesSaveOnClick}},[_c('span',[_vm._v(\"Save Sites\")])]),_c('div',{ref:\"btnManageSitesCancel\",staticClass:\"btn project-action-button btn-primary btn-sm rounded-pill project-button-red\",on:{\"click\":_vm.btnManageSitesCancelOnClick}},[_c('span',[_vm._v(\"Cancel\")])])]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.btnEditCancelSaveShow),expression:\"btnEditCancelSaveShow\"}],ref:\"btnEditButtons\",staticClass:\"project-button-container\"},[_c('div',{ref:\"btnEditSelectBoundary\",staticClass:\"btn project-action-button btn-primary btn-sm rounded-pill\",attrs:{\"disabled\":_vm.btnEditSelectBoundaryDisabled},on:{\"click\":_vm.btnEditSelectBoundaryOnClick}},[_c('span',[_vm._v(\"Set as Boundary\")])]),_c('div',{ref:\"btnEditClear\",staticClass:\"btn project-action-button btn-primary btn-sm rounded-pill project-button-red\",on:{\"click\":_vm.btnEditClearOnClick}},[_c('span',[_vm._v(\"Clear All\")])]),_c('div',{ref:\"btnEditSave\",staticClass:\"btn project-action-button btn-primary btn-sm rounded-pill\",on:{\"click\":_vm.btnEditSaveOnClick}},[_c('span',[_vm._v(\"Save\")])]),_c('div',{ref:\"btnEditCancel\",staticClass:\"btn project-action-button btn-primary btn-sm rounded-pill project-button-red\",on:{\"click\":_vm.btnEditCancelOnClick}},[_c('span',[_vm._v(\"Cancel\")])])]),_c('div',{ref:\"portalItemList\",staticClass:\"esri-widget esri-widget--panel portal-item-list\"},_vm._l((_vm.maps),function(map,index){return _c('div',{key:map.id},[(index == 0)?_c('div',[_c('input',{attrs:{\"name\":\"portalItem\",\"type\":\"radio\",\"checked\":\"\"},domProps:{\"value\":index},on:{\"click\":_vm.radioButtonOnClick}}),_c('label',{staticClass:\"portal-item-label\"},[_vm._v(_vm._s(map.title))])]):_c('div',[_c('input',{attrs:{\"name\":\"portalItem\",\"type\":\"radio\"},domProps:{\"value\":index},on:{\"click\":_vm.radioButtonOnClick}}),_c('label',{staticClass:\"portal-item-label\"},[_vm._v(_vm._s(map.title))])])])}),0),_c('div',{ref:\"selectLayerItemList\",staticClass:\"esri-widget esri-widget--panel portal-item-list\"},[_c('div',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectLayerItem),expression:\"selectLayerItem\"}],attrs:{\"name\":\"selectLayerItem\",\"type\":\"radio\",\"value\":\"-1\"},domProps:{\"checked\":_vm._q(_vm.selectLayerItem,\"-1\")},on:{\"click\":_vm.selectLayerItemRadioButtonOnClick,\"change\":function($event){_vm.selectLayerItem=\"-1\"}}}),_c('label',{staticClass:\"portal-item-label\"},[_vm._v(\"(None)\")])]),(_vm.config && _vm.config.projectMap && _vm.config.projectMap.selectableLayers)?_c('div',_vm._l((_vm.config.projectMap.selectableLayers),function(selectableLayer,index){return _c('div',{key:selectableLayer.url},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectLayerItem),expression:\"selectLayerItem\"}],attrs:{\"name\":\"selectLayerItem\",\"type\":\"radio\"},domProps:{\"value\":index,\"checked\":_vm._q(_vm.selectLayerItem,index)},on:{\"click\":_vm.selectLayerItemRadioButtonOnClick,\"change\":function($event){_vm.selectLayerItem=index}}}),_c('label',{staticClass:\"portal-item-label\"},[_vm._v(_vm._s(selectableLayer.title))])])}),0):_vm._e()])])])])],1),_c('div',{staticClass:\"project-sites\"},[_c('div',{staticClass:\"section-title sites\"},[_vm._v(\"Associated Sites\")]),(_vm.projectLoading || _vm.projectSitesLoading)?_c('LoadingSpinner',{attrs:{\"message\":\"Loading Project\",\"size\":\"1x\"}}):(!_vm.projectSites || _vm.projectSites.length == 0)?_c('div',{staticClass:\"card empty\"},[_vm._v(\"No sites are currently associated with this project.\")]):(_vm.projectSites && _vm.projectSites.length > 0)?_c('div',{staticClass:\"card sites\"},[_c('b-table',{ref:\"projectSitesTable\",attrs:{\"id\":\"projectSitesTable\",\"caption-top\":\"\",\"hover\":\"\",\"responsive\":\"\",\"small\":\"\",\"striped\":\"\",\"no-provider-paging\":true,\"per-page\":_vm.projectSitePerPage,\"current-page\":_vm.projectSiteCurrentPage,\"fields\":_vm.projectSiteFields,\"items\":_vm.projectSiteItems},scopedSlots:_vm._u([{key:\"cell(siteIdSiteName)\",fn:function(data){return [_c('router-link',{attrs:{\"to\":{ name: 'Site', params: { id: data.value.siteId } }}},[_vm._v(\" \"+_vm._s(data.value.siteName)+\" \")])]}}])}),_c('b-pagination',{staticClass:\"project-pagination\",attrs:{\"align\":\"fill\",\"aria-controls\":\"projectSitesTable\",\"total-rows\":_vm.projectSiteTotalRows(),\"per-page\":_vm.projectSitePerPage},scopedSlots:_vm._u([{key:\"first-text\",fn:function(){return [_c('b-icon',{attrs:{\"icon\":\"caret-left-fill\"}}),_c('b-icon',{attrs:{\"icon\":\"caret-left-fill\"}})]},proxy:true},{key:\"prev-text\",fn:function(){return [_c('b-icon',{attrs:{\"icon\":\"caret-left-fill\"}})]},proxy:true},{key:\"next-text\",fn:function(){return [_c('b-icon',{attrs:{\"icon\":\"caret-right-fill\"}})]},proxy:true},{key:\"last-text\",fn:function(){return [_c('b-icon',{attrs:{\"icon\":\"caret-right-fill\"}}),_c('b-icon',{attrs:{\"icon\":\"caret-right-fill\"}})]},proxy:true}]),model:{value:(_vm.projectSiteCurrentPage),callback:function ($$v) {_vm.projectSiteCurrentPage=$$v},expression:\"projectSiteCurrentPage\"}})],1):_vm._e()],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/* eslint-disable max-len, no-await-in-loop, no-loop-func, no-param-reassign, no-plusplus, padded-blocks */\n/* This mixin contains the event handlers for the Project Map object */\n\nimport { loadModules } from 'esri-loader';\n\n// https://developers.arcgis.com/javascript/latest/api-reference/esri-views-draw-PolylineDrawAction.html\n// https://developers.arcgis.com/javascript/latest/sample-code/draw-line/index.html\n// https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Sketch.html#properties-summary\n// https://developers.arcgis.com/javascript/latest/sample-code/sketch-geometries/index.html\n\nexport default {\n methods: {\n btnManageBoundariesOnClick() {\n\n this.showEditInstructions = true;\n\n this.btnDefaultButtonsShow = false;\n this.btnEditCancelSaveShow = true;\n\n this.sketch = new this.Sketch({\n availableCreateTools: ['polygon'],\n creationMode: 'single',\n defaultCreateOptions: {\n mode: 'click',\n },\n defaultUpdateOptions: {\n enableRotation: false,\n enableScaling: false,\n enableZ: false,\n },\n layer: this.graphicsLayer,\n view: this.view,\n });\n\n this.sketchCreateHandle = this.sketch.on('create', (event) => {\n if (event.state === 'start') {\n this.selectLayerViewOnClickHandle.remove();\n }\n if (event.state === 'complete') {\n event.graphic.symbol = this.config.projectMap.projectDrawCompleteSymbol;\n this.selectLayerViewOnClickHandle = this.view.on('click', this.selectLayerViewOnClick);\n }\n });\n\n this.sketchUpdateHandle = this.sketch.on('update', (event) => {\n if (event.state === 'start') {\n this.selectLayerViewOnClickHandle.remove();\n }\n if (event.state === 'complete') {\n this.selectLayerViewOnClickHandle = this.view.on('click', this.selectLayerViewOnClick);\n }\n });\n\n this.view.ui.add(this.sketch, 'top-left');\n\n if (this.projectGeometry) {\n const projectGeometries = this.projectGeometry.rings.map((ring) => new this.Graphic({\n geometry: {\n type: 'polygon',\n rings: [ring],\n spatialReference: this.projectGeometry.spatialReference,\n },\n symbol: this.config.projectMap.projectDrawCompleteSymbol,\n }));\n this.graphicsLayer.removeAll();\n this.graphicsLayer.addMany(projectGeometries);\n }\n\n this.addSelectLayerList();\n this.selectLayerViewOnClickHandle = this.view.on('click', this.selectLayerViewOnClick);\n },\n btnManageSitesOnClick() {\n\n this.btnDefaultButtonsShow = false;\n\n this.viewOnClickHandle = this.view.on('click', this.viewOnClick);\n\n // Begin the edit session with an empty selected sites list\n this.selectedSites = [];\n this.highlightProjectSites();\n\n this.btnManageSitesButtonsShow = true;\n this.showManageSitesInstructions = true;\n },\n btnManageSitesClearOnClick() {\n this.unhighlightProjectSites();\n this.selectedSites = [];\n },\n btnManageSitesSaveOnClick() {\n\n this.viewOnClickHandle.remove();\n\n this.unhighlightProjectSites();\n\n this.showManageSitesInstructions = false;\n this.btnManageSitesButtonsShow = false;\n\n this.isSaving = true;\n\n const projectSiteIdsExpected = this.selectedSites.map((feature) => feature.graphic.attributes.insightlyid).sort();\n\n this.saveProjectSites().then(async () => {\n\n let projectSiteIdsActual = this.projectSites.map((projectSite) => projectSite.relatedSiteId).sort();\n let projectSitesDifference = projectSiteIdsExpected.filter(\n (x) => !projectSiteIdsActual.includes(x),\n ).concat(\n projectSiteIdsActual.filter(\n (x) => !projectSiteIdsExpected.includes(x),\n ),\n );\n\n let retry = 0;\n\n while ((projectSitesDifference.length !== 0) && (retry < this.config.insightly.retryLimit)) {\n\n await this.$store.dispatch('Project/getProjectSites', this.project.id);\n\n projectSiteIdsActual = this.projectSites.map((projectSite) => projectSite.relatedSiteId).sort();\n projectSitesDifference = projectSiteIdsExpected.filter(\n (x) => !projectSiteIdsActual.includes(x),\n ).concat(\n projectSiteIdsActual.filter(\n (x) => !projectSiteIdsExpected.includes(x),\n ),\n );\n\n retry++;\n }\n\n this.isSaving = false;\n\n if (retry >= this.config.insightly.retryLimit) {\n this.showGetProjectSitesWarning();\n }\n\n if (this.projectSites && this.projectSites.length > 0) {\n this.$refs.projectSitesTable.refresh();\n }\n\n this.projectSites.forEach((ps) => {\n this.$store.dispatch('Project/getProjectContacts', ps.relatedSiteId);\n this.$store.dispatch('Project/getProjectOrganizations', ps.relatedSiteId);\n });\n\n this.btnDefaultButtonsShow = true;\n }).catch((exception) => {\n console.error(exception);\n });\n },\n btnManageSitesCancelOnClick() {\n this.viewOnClickHandle.remove();\n this.unhighlightProjectSites();\n this.showManageSitesInstructions = false;\n this.btnManageSitesButtonsShow = false;\n this.btnDefaultButtonsShow = true;\n },\n btnEditClearOnClick() {\n this.graphicsLayer.removeAll();\n },\n btnEditCancelOnClick() {\n\n this.sketch.layer.removeAll();\n this.sketch.cancel();\n\n this.view.ui.remove(this.sketch);\n this.sketch.destroy();\n\n this.selectLayerViewOnClickHandle.remove();\n\n this.removeSelectLayerListLayer();\n this.removeSelectLayerList();\n\n this.showEditInstructions = false;\n this.btnEditCancelSaveShow = false;\n\n if (this.projectGeometry == null) {\n this.setExtentByDefault();\n } else {\n this.loadProjectGraphic(this.projectGeometry);\n this.setExtentByProjectGeometry(this.projectGeometry);\n }\n\n this.btnDefaultButtonsShow = true;\n\n },\n btnEditSaveOnClick() {\n if (this.graphicsLayer.graphics.items.length === 0) {\n this.showEmptyProjectSitesWarning = true;\n } else {\n this.view.ui.remove(this.sketch);\n this.sketch.destroy();\n this.selectLayerViewOnClickHandle.remove();\n this.removeSelectLayerListLayer();\n this.removeSelectLayerList();\n this.showEditInstructions = false;\n this.btnEditCancelSaveShow = false;\n this.saveProjectGeometry();\n }\n },\n btnEditSelectBoundaryOnClick() {\n this.selectLayerHits.map((item) => item.hit.graphic).forEach((graphic) => {\n graphic.symbol = this.config.projectMap.projectDrawCompleteSymbol;\n this.graphicsLayer.add(graphic);\n });\n this.removeSelectLayerHitHighlights();\n },\n onProjectGeometrySet() {\n if (this.projectGeometry != null) {\n this.loadProjectGraphic(this.projectGeometry);\n this.setExtentByProjectGeometry(this.projectGeometry);\n } else if (\n this.project.categoryId === this.config.projectMap.consEdCategoryId\n && (this.project.consEdStreet || this.project.consEdCity || this.project.consEdZip)\n ) {\n this.setExtentByProjectAddress(this.project);\n } else {\n this.setExtentByDefault();\n if (this.project.categoryId === this.config.projectMap.consEdCategoryId) {\n this.showGeocodeWarning();\n }\n }\n },\n radioButtonOnClick(event) {\n this.view.map = this.maps[event.target.value];\n this.layers.forEach((layer) => this.view.map.add(layer));\n this.webmapListExpand.toggle();\n },\n selectLayerItemRadioButtonOnClick(event) {\n this.removeSelectLayerListLayer();\n this.removeSelectLayerHitHighlights();\n if (event.target.value >= 0) {\n loadModules(['esri/layers/FeatureLayer']).then(([FeatureLayer]) => {\n this.selectLayer = new FeatureLayer(\n this.config.projectMap.selectableLayers[event.target.value],\n );\n this.view.map.layers.add(this.selectLayer);\n });\n }\n },\n selectLayerViewOnClick(event) {\n if (this.selectLayer) {\n\n const selectLayerHitObjectIds = this.selectLayerHits.map(\n (item) => item.hit.graphic.attributes.objectid,\n );\n\n this.removeSelectLayerHitHighlights();\n\n this.view.hitTest(event).then((response) => {\n this.view.whenLayerView(this.selectLayer).then((layerView) => {\n\n let hits = response.results.filter(\n (feature) => feature.graphic.layer.id === this.selectLayerId,\n );\n\n hits = hits.filter((hit) => {\n const value = !(selectLayerHitObjectIds.includes(hit.graphic.attributes.objectid));\n return value;\n });\n\n hits.forEach((hit) => {\n this.selectLayerHits.push({\n hit,\n highlight: layerView.highlight(hit.graphic),\n });\n });\n });\n });\n }\n },\n viewOnClick(event) {\n this.view.hitTest(event).then((response) => {\n const layer = this.siteLayer;\n\n const hits = response.results.filter(\n (feature) => feature.graphic.layer.id === this.siteLayer.id,\n );\n\n this.view.whenLayerView(layer).then((layerView) => {\n hits.forEach((hit) => {\n const filteredSites = this.selectedSites.filter(\n (site) => site.graphic.attributes.objectid === hit.graphic.attributes.objectid,\n );\n if (filteredSites.length > 0) {\n filteredSites.forEach((filteredSite) => {\n filteredSite.highlight.remove();\n });\n this.selectedSites = this.selectedSites.filter(\n (site) => site.graphic.attributes.objectid !== hit.graphic.attributes.objectid,\n );\n } else {\n const query = layer.createQuery();\n query.objectIds = [hit.graphic.attributes.objectid];\n layer.queryFeatures(query).then((results) => {\n this.selectedSites.push({\n graphic: results.features[0],\n highlight: layerView.highlight(hit.graphic),\n });\n });\n }\n });\n });\n });\n },\n },\n};\n","/* eslint-disable no-param-reassign, padded-blocks */\n/* This mixin contains the event handlers for the Project Map object */\n\nimport { loadModules } from 'esri-loader';\n\nexport default {\n methods: {\n async addBasemaps(basemapsConfig) {\n await loadModules(['esri/Basemap', 'esri/layers/TileLayer', 'esri/Map', 'esri/WebMap']).then(async ([Basemap, TileLayer, Map, WebMap]) => {\n\n this.maps = [];\n\n basemapsConfig.forEach((item) => {\n switch (item.class) {\n case 'Map':\n this.maps.push(new Map(item.object));\n break;\n case 'TileLayerBaseMap': {\n const tileLayer = new TileLayer(item.object);\n const basemap = new Basemap({\n baseLayers: [tileLayer],\n });\n this.maps.push(new Map({\n title: item.object.title,\n basemap,\n }));\n break;\n }\n case 'WebMap': {\n const webMap = new WebMap(item.object);\n webMap.allLayers.on('change', () => {\n const targetLayer = webMap.allLayers.items.find((layer) => layer.id === 'World_Transportation_5177');\n if (targetLayer) {\n targetLayer.visible = true;\n }\n });\n this.maps.push(webMap);\n break;\n }\n default:\n break;\n }\n });\n });\n },\n addButtons() {\n if (this.isEditable) {\n [\n this.$refs.btnDefaultButtons,\n this.$refs.btnManageSitesButtons,\n this.$refs.btnEditButtons,\n ].forEach((button) => this.view.ui.add(button, 'bottom-right'));\n }\n },\n async addLayerList() {\n await loadModules(['esri/widgets/Expand', 'esri/widgets/LayerList']).then(async ([Expand, LayerList]) => {\n\n this.layerList = new LayerList({\n container: document.createElement('div'),\n view: this.view,\n });\n\n this.layerListExpand = new Expand({\n expandIconClass: 'esri-icon-layer-list',\n expandTooltip: 'Expand Layers',\n group: 'legend-buttons',\n view: this.view,\n content: this.layerList,\n });\n\n this.view.ui.add(this.layerListExpand, { position: 'top-right' });\n });\n },\n async addLayers(layersConfig) {\n await loadModules(['esri/layers/FeatureLayer', 'esri/layers/GraphicsLayer']).then(async ([FeatureLayer, GraphicsLayer]) => {\n\n this.layers = [];\n\n layersConfig.forEach(\n (referenceLayer) => this.layers.push(new FeatureLayer(referenceLayer)),\n );\n\n this.huc10Layer = this.layers.find((layer) => layer.id === 'huc10FeatureLayer');\n this.huc12Layer = this.layers.find((layer) => layer.id === 'huc12FeatureLayer');\n this.taxlotLayer = this.layers.find((layer) => layer.id === 'taxlotFeatureLayer');\n this.siteLayer = this.layers.find((layer) => layer.id === 'siteFeatureLayer');\n this.projectLayer = this.layers.find((layer) => layer.id === 'projectFeatureLayer');\n\n this.graphicsLayer = new GraphicsLayer();\n this.graphicsLayer.title = this.project.projectName;\n this.layers.push(this.graphicsLayer);\n\n this.geocodeLayer = new GraphicsLayer();\n this.geocodeLayer.title = 'ConsEd Project Geocode Results';\n this.layers.push(this.geocodeLayer);\n\n this.layers.forEach((layer) => this.view.map.add(layer));\n });\n },\n addLegend() {\n loadModules(['esri/widgets/Expand', 'esri/widgets/Legend']).then(([Expand, Legend]) => {\n\n this.legendExpand = new Expand({\n content: new Legend({\n view: this.view,\n }),\n expandIconClass: 'esri-icon-maps',\n expandTooltip: 'Expand Legend',\n group: 'legend-buttons',\n view: this.view,\n });\n\n this.view.ui.add(this.legendExpand, 'top-right');\n });\n },\n async addMapPicker() {\n await loadModules(['esri/widgets/Expand']).then(async ([Expand]) => {\n\n this.webmapList = this.$refs.portalItemList;\n\n this.webmapListExpand = new Expand({\n expandIconClass: 'esri-icon-basemap',\n expandTooltip: 'Expand Basemaps',\n group: 'legend-buttons',\n view: this.view,\n content: this.webmapList,\n });\n\n this.view.ui.add(this.webmapListExpand, { position: 'top-right' });\n });\n },\n addSelectLayerList() {\n loadModules(['esri/widgets/Expand']).then(async ([Expand]) => {\n\n this.selectLayer = null;\n this.selectLayerItem = -1;\n\n this.selectLayerListExpand = new Expand({\n content: this.$refs.selectLayerItemList,\n expandIconClass: 'esri-icon-layers',\n expandTooltip: 'Expand Selection Layers',\n group: 'legend-buttons',\n view: this.view,\n });\n\n this.view.ui.add(this.selectLayerListExpand, { position: 'top-right' });\n });\n },\n getProjectWatersheds(projectGeometry, featureLayer) {\n return new Promise((resolve, reject) => {\n loadModules([\n 'esri/geometry/projection',\n 'esri/geometry/SpatialReference',\n ]).then(async ([projection, SpatialReference]) => {\n projection.load().then(() => {\n\n if (!projectGeometry.spatialReference.isWGS84) {\n projectGeometry = projection.project(\n projectGeometry,\n SpatialReference.WGS84,\n );\n }\n\n const query = featureLayer.createQuery();\n query.geometry = projectGeometry;\n query.spatialRelationship = 'intersects';\n query.returnGeometry = true;\n query.outFields = ['*'];\n\n featureLayer.queryFeatures(query).then((result) => {\n\n const huc12Watersheds = [];\n\n result.features.forEach((watershed) => {\n const area = this.geometryEngine.geodesicArea(this.geometryEngine.intersect(projectGeometry, watershed.geometry), 'square-meters');\n huc12Watersheds.push({\n watershedId: watershed.attributes.huc10,\n watershedName: watershed.attributes.huc10_name,\n subwatershedId: watershed.attributes.huc12,\n subwatershedName: watershed.attributes.huc12_name,\n area,\n });\n });\n\n huc12Watersheds.sort((a, b) => (a.area - b.area));\n\n const item = huc12Watersheds[huc12Watersheds.length - 1];\n\n resolve({\n watershedId: item.watershedId,\n watershedName: item.watershedName,\n subwatershedIds: [item.subwatershedId],\n subwatershedNames: [item.subwatershedName],\n });\n\n }).catch((exception) => {\n console.error('Enter queryFeatures catch()');\n console.error(exception);\n reject(exception);\n console.error('Exit queryFeatures catch()');\n });\n });\n }).catch((exception) => {\n console.error('Enter loadModules catch()');\n console.error(exception);\n reject(exception);\n console.error('Exit loadModules catch()');\n });\n });\n },\n async loadMap() {\n loadModules(\n [\n 'esri/geometry/geometryEngine',\n 'esri/Graphic',\n 'esri/identity/IdentityManager',\n 'esri/views/draw/Draw',\n 'esri/views/MapView',\n 'esri/widgets/Home',\n 'esri/widgets/Sketch',\n ],\n { css: true },\n ).then(async ([\n geometryEngine,\n Graphic,\n IdentityManager,\n Draw,\n MapView,\n Home,\n Sketch,\n ]) => {\n\n this.geometryEngine = geometryEngine;\n this.Graphic = Graphic;\n this.identityManager = IdentityManager;\n this.Draw = Draw;\n this.Home = Home;\n this.Sketch = Sketch;\n\n if (localStorage['acorn.identityManager']) {\n try {\n this.identityManager.initialize(localStorage['acorn.identityManager']);\n } catch (exception) {\n console.error(exception);\n console.error('this.identityManager could not be initialized with localStorage[\\'acorn.identityManager\\']]');\n }\n }\n\n this.identityManager.on('credential-create', () => {\n try {\n localStorage['acorn.identityManager'] = JSON.stringify(this.identityManager.toJSON());\n } catch (exception) {\n console.error(exception);\n console.error('localStorage[\\'acorn.identityManager\\'] could not be set with JSON.stringify(this.identityManager.toJSON())');\n }\n });\n\n await this.addBasemaps(this.config.projectMap.basemaps);\n\n this.view = new MapView({\n container: 'esriMap',\n map: this.maps[0],\n center: this.config.projectMap.defaultExtent.center,\n zoom: this.config.projectMap.defaultExtent.zoom,\n });\n\n this.view.ui.move('zoom', 'top-right');\n\n await this.addLayers(this.config.projectMap.layers);\n await this.addLayerList();\n await this.addMapPicker();\n\n this.addLegend();\n this.addButtons();\n\n this.onProjectGeometrySet();\n });\n },\n loadProjectGraphic(projectGeometry) {\n this.graphicsLayer.removeAll();\n const graphic = new this.Graphic({\n geometry: projectGeometry,\n symbol: this.config.projectMap.projectDisplaySymbol,\n });\n this.graphicsLayer.add(graphic);\n },\n removeSelectLayerHitHighlights() {\n this.selectLayerHits.forEach((item) => {\n item.highlight.remove();\n });\n this.selectLayerHits = [];\n },\n removeSelectLayerList() {\n this.view.ui.remove(this.selectLayerListExpand);\n },\n removeSelectLayerListLayer() {\n const layer = this.view.map.findLayerById(this.selectLayerId);\n if (layer) {\n this.view.map.layers.remove(layer);\n }\n },\n saveProjectGeometry() {\n\n const projectGeometry = this.geometryEngine.union(\n this.graphicsLayer.graphics.items.map((item) => item.geometry),\n );\n\n this.graphicsLayer.removeAll();\n\n this.$store.dispatch('Project/setProjectGeometry', projectGeometry).then(() => {\n\n this.getProjectWatersheds(\n projectGeometry,\n this.huc12Layer,\n ).then(async (projectWatersheds) => {\n\n this.project.watershedId = projectWatersheds.watershedId;\n this.project.watershedName = projectWatersheds.watershedName;\n this.project.subwatershedIds = projectWatersheds.subwatershedIds;\n this.project.subwatershedNames = projectWatersheds.subwatershedNames;\n\n await this.$store.dispatch('Project/setProjectAttributes', this.project).then(() => {\n if (this.errorMessage) {\n this.showErrorMessageAlertBody = `Saving project data failed with the following message: '${this.errorMessage}'`;\n this.showErrorMessageAlert = true;\n }\n }).catch((exception) => {\n console.error('Enter Project/setProjectAttributes catch()');\n console.error(exception);\n console.error('Exit Project/setProjectAttributes catch()');\n });\n\n }).catch((exception) => {\n console.error('Enter getProjectWatersheds catch()');\n console.error(exception);\n console.error('Exit getProjectWatersheds catch()');\n });\n\n this.upsertProjectGeometry(this.project, this.projectGeometry).then(() => {\n this.loadProjectGraphic(this.projectGeometry);\n this.setExtentByProjectGeometry(this.projectGeometry);\n this.btnDefaultButtonsShow = true;\n }).catch((exception) => {\n console.error('Enter upsertProjectGeometry catch callback');\n console.error(exception);\n console.error('Exit upsertProjectGeometry catch callback');\n });\n });\n },\n saveProjectSites() {\n return new Promise((resolve, reject) => {\n\n const selectedSiteIds = this.selectedSites.map(\n (selectedSite) => selectedSite.graphic.attributes.insightlyid,\n );\n\n const deletedProjectSites = this.projectSites.filter(\n (projectSite) => !(selectedSiteIds.includes(projectSite.relatedSiteId)),\n );\n\n const deletedProjectSiteIds = deletedProjectSites.map(\n (deletedProjectSite) => deletedProjectSite.id,\n );\n\n const projectSiteRelatedSiteIds = this.projectSites.map(\n (projectSite) => projectSite.relatedSiteId,\n );\n\n const addedSites = this.selectedSites.filter(\n (selectedSite) => !(projectSiteRelatedSiteIds.includes(\n selectedSite.graphic.attributes.insightlyid,\n )),\n ).map((addedSite) => addedSite.graphic);\n\n this.$store.dispatch('Project/deleteProjectSites', deletedProjectSiteIds).then(() => {\n if (!this.errorMessage) {\n this.$store.dispatch('Project/setProjectSites', { projectId: this.project.id, projectSites: addedSites }).then(() => {\n if (!this.errorMessage) {\n resolve();\n } else {\n this.showErrorMessageAlertBody = `Saving project sites failed with the following message: '${this.errorMessage}'`;\n this.showErrorMessageAlert = true;\n reject(this.showErrorMessageAlertBody);\n }\n }).catch((exception) => {\n console.error('Enter Project/setProjectSites catch()');\n console.error(exception);\n reject(exception);\n console.error('Exit Project/setProjectSites catch()');\n });\n } else {\n this.showErrorMessageAlertBody = `Deleting project sites failed with the following message: '${this.errorMessage}'`;\n this.showErrorMessageAlert = true;\n reject(this.showErrorMessageAlertBody);\n }\n }).catch((exception) => {\n console.error('Enter Project/deleteProjectSites catch()');\n console.error(exception);\n reject(exception);\n console.error('Exit Project/deleteProjectSites catch()');\n });\n });\n },\n setExtentByProjectAddress(project) {\n loadModules(['esri/tasks/Locator']).then(([Locator]) => {\n this.view.whenLayerView(this.projectLayer).then(() => {\n\n this.geocodeLayer.removeAll();\n\n this.locator = new Locator({\n outSpatialReference: { wkid: 102100 },\n url: this.config.projectMap.locator.url,\n });\n\n let singleLine = (`${(project.consEdStreet || '')} ${(project.consEdCity || '')} ${(project.consEdZip || '')} OR`).trim();\n while (singleLine.includes(' ')) {\n singleLine = singleLine.replace(' ', ' ');\n }\n\n this.locator.addressToLocations({\n address: {\n SingleLine: singleLine,\n },\n countryCode: 'US',\n forStorage: false,\n }).then((addressCandidates) => {\n\n const candidates = addressCandidates || [];\n\n if (\n candidates.length > 0\n && candidates[0].score >= this.config.projectMap.locator.tolerance\n ) {\n\n const candidate = candidates[0];\n\n this.view.extent = this.geometryEngine.geodesicBuffer(candidate.extent, 1000, 'meters').extent;\n\n const graphic = new this.Graphic({\n geometry: candidate.location,\n symbol: this.config.projectMap.locator.markerSymbol,\n });\n\n this.geocodeLayer.add(graphic);\n\n const textGraphicSymbol = this.config.projectMap.locator.markerLabel;\n textGraphicSymbol.text = candidate.address;\n\n const textGraphic = new this.Graphic({\n geometry: candidate.location,\n symbol: textGraphicSymbol,\n });\n\n this.geocodeLayer.add(textGraphic);\n\n this.showGeocodeSuccess();\n\n } else {\n this.view.center = this.config.projectMap.defaultExtent.center;\n this.view.zoom = this.config.projectMap.defaultExtent.zoom;\n this.showGeocodeWarning();\n }\n\n if (this.homeButton) {\n this.view.ui.remove(this.homeButton);\n }\n this.homeButton = new this.Home({\n view: this.view,\n });\n this.view.ui.add({\n component: this.homeButton,\n position: 'top-right',\n index: 1,\n });\n });\n });\n });\n },\n setExtentByProjectGeometry(projectGeometry) {\n this.view.whenLayerView(this.projectLayer).then(() => {\n this.view.extent = this.geometryEngine.geodesicBuffer(projectGeometry, 1000, 'meters').extent;\n if (this.homeButton) {\n this.view.ui.remove(this.homeButton);\n }\n this.homeButton = new this.Home({\n view: this.view,\n });\n this.view.ui.add({\n component: this.homeButton,\n position: 'top-right',\n index: 1,\n });\n });\n },\n setExtentByDefault() {\n this.view.whenLayerView(this.projectLayer).then(() => {\n if (this.homeButton) {\n this.view.ui.remove(this.homeButton);\n }\n this.homeButton = new this.Home({\n view: this.view,\n });\n this.view.ui.add({\n component: this.homeButton,\n position: 'top-right',\n index: 1,\n });\n });\n },\n upsertProjectGeometry(project, projectGeometry) {\n return new Promise((resolve, reject) => {\n\n this.view.whenLayerView(this.projectLayer).then(() => {\n\n const layer = this.projectLayer;\n\n const query = layer.createQuery();\n query.where = `insightlyid='${project.id}'`;\n\n layer.queryFeatures(query).then((results) => {\n\n const applyEditsParameter = {};\n\n if (results.features.length === 0) {\n applyEditsParameter.addFeatures = [\n new this.Graphic({\n geometry: projectGeometry,\n attributes: {\n insightlyid: project.id,\n projectname: project.projectName,\n },\n }),\n ];\n } else {\n applyEditsParameter.updateFeatures = results.features.map(\n (feature) => new this.Graphic(\n { geometry: projectGeometry, attributes: feature.attributes },\n ),\n );\n }\n\n layer.applyEdits(applyEditsParameter).then(() => {\n resolve();\n }).catch((applyEditsException) => {\n console.error('Enter upsertProjectGeometry applyEdits catch()');\n console.error('applyEditsException:', applyEditsException);\n reject(applyEditsException);\n console.error('Exit upsertProjectGeometry applyEdits catch()');\n });\n }).catch((queryFeaturesException) => {\n console.error('Enter upsertProjectGeometry queryFeatures catch()');\n console.error('queryFeaturesException: ', queryFeaturesException);\n reject(queryFeaturesException);\n console.error('Exit upsertProjectGeometry queryFeatures catch()');\n });\n });\n });\n },\n },\n};\n","/* eslint-disable padded-blocks */\n/* This mixin contains the sketch helper functions for the Project Map object */\n\nexport default {\n methods: {\n highlightProjectSites() {\n if (this.projectSites && this.projectSites.length > 0) {\n const layer = this.siteLayer;\n this.view.whenLayerView(layer).then((layerView) => {\n const insightlyIds = this.projectSites.map((projectSite) => `'${projectSite.relatedSiteId}'`).join(', ');\n const query = layer.createQuery();\n query.where = `insightlyid IN (${insightlyIds})`;\n layer.queryFeatures(query).then(async (results) => {\n results.features.forEach((feature) => {\n this.selectedSites.push({\n graphic: feature,\n highlight: layerView.highlight(feature),\n });\n });\n });\n });\n }\n },\n unhighlightProjectSites() {\n this.selectedSites.forEach((site) => site.highlight.remove());\n },\n },\n};\n","\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectMap.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectMap.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProjectMap.vue?vue&type=template&id=ffd4ee92&scoped=true&\"\nimport script from \"./ProjectMap.vue?vue&type=script&lang=js&\"\nexport * from \"./ProjectMap.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProjectMap.vue?vue&type=style&index=0&id=ffd4ee92&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"ffd4ee92\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"project-details\"}},[_c('div',{staticClass:\"section-title\"},[_vm._v(\"Project Details\")]),(_vm.project)?_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-body\"},[_c('div',{staticClass:\"row details-row\"},[_c('span',{staticClass:\"details-label\"},[_vm._v(\"Project Name:\")]),_c('span',[(_vm.project)?_c('a',{attrs:{\"href\":(\"\" + (_vm.config.insightly.projectUrl) + (_vm.project.id)),\"target\":\"insightly\"}},[_vm._v(_vm._s(_vm.project.projectName))]):_vm._e()])]),_c('div',{staticClass:\"row details-row\"},[_c('span',{staticClass:\"details-label\"},[_vm._v(\"Project ID:\")]),_vm._v(\" \"+_vm._s(_vm.project.projectId)+\" \")]),_c('div',{staticClass:\"row details-row\"},[_c('span',{staticClass:\"details-label\"},[_vm._v(\"Project Status: \")]),_c('span',[_vm._v(_vm._s(_vm.project.status))])]),_c('div',{staticClass:\"row details-row\"},[_c('span',{staticClass:\"details-label\"},[_vm._v(\"Approval Status: \")]),_c('span',[_vm._v(_vm._s(_vm.project.approvalStatus))])]),_c('div',{staticClass:\"row details-row\"},[_c('span',{staticClass:\"details-label\"},[_vm._v(\"Project Manager: \")]),(_vm.project.projectManager)?_c('span',[(_vm.project.projectManager.firstName)?_c('span',[_c('span',[_vm._v(_vm._s((\"\" + (_vm.project.projectManager.firstName))))])]):_vm._e(),(_vm.project.projectManager.lastName)?_c('span',[_c('span',[_vm._v(\" \"+_vm._s((\"\" + (_vm.project.projectManager.lastName))))])]):_vm._e()]):_vm._e()]),_c('div',{staticClass:\"row details-row\"},[_c('span',{staticClass:\"details-label\"},[_vm._v(\"Program: \")]),_c('span',[_vm._v(_vm._s(_vm.project.category))])]),_c('div',{staticClass:\"row details-row\"},[_c('span',{staticClass:\"details-label\"},[_vm._v(\"Contract Acres: \")]),_c('span',[_vm._v(_vm._s(_vm.project.contractAcres))])]),_c('div',{staticClass:\"row details-row\"},[_c('span',{staticClass:\"details-label\"},[_vm._v(\"Instream Lease Number: \")]),_c('span',[_vm._v(_vm._s(_vm._f(\"DefaultStringIfNull\")(_vm.project.instreamLeaseNumber)))])]),_c('div',{staticClass:\"row details-row\"},[_c('span',{staticClass:\"details-label\"},[_vm._v(\"Start Date: \")]),_c('span',[_vm._v(_vm._s(_vm.startDate))])]),_c('div',{staticClass:\"row details-row\"},[_c('span',{staticClass:\"details-label\"},[_vm._v(\"End Date: \")]),_c('span',[_vm._v(_vm._s(_vm.endDate))])]),_c('div',{staticClass:\"row details-row\"},[_c('span',{staticClass:\"details-label\"},[_vm._v(\"Watershed Name: \")]),(_vm.project.watershedName)?_c('span',[_vm._v(_vm._s(_vm.project.watershedName))]):_c('span',[_vm._v(\"N/A\")])]),_c('div',{staticClass:\"row details-row\"},[_c('div',{staticClass:\"details-label\"},[_vm._v(\"Subwatershed Name: \")]),(_vm.project.subwatershedNames && _vm.project.subwatershedNames.length > 0 && _vm.project.subwatershedNames[0] != '')?_c('ul',{staticClass:\"project-subwatershed\"},_vm._l((_vm.project.subwatershedNames),function(subwatershedName){return _c('li',{key:subwatershedName},[_vm._v(_vm._s(subwatershedName))])}),0):_c('span',[_vm._v(\"N/A\")])])])]):_vm._e(),_vm._m(0),_c('b-overlay',{attrs:{\"show\":_vm.formLoading}},[(_vm.projectConcept)?_c('div',{staticClass:\"card card-body project-concept-body-margin\"},[(_vm.isEditable)?_c('b-button',{staticClass:\"project-concept-button\",attrs:{\"size\":\"sm\",\"variant\":\"outline\"},on:{\"click\":_vm.onEditProjectConceptButtonClick}},[_c('b-icon',{attrs:{\"icon\":\"pencil-square\",\"aria-hidden\":\"true\"}})],1):_vm._e(),_c('div',{staticClass:\"row details-row\"},[_c('div',{staticClass:\"details-label\"},[_vm._v(\"Resource Priorities:\")]),(_vm.projectConcept && _vm.projectConceptResourcePriorities && _vm.projectConceptResourcePriorities.length > 0)?_c('span',_vm._l((_vm.projectConceptResourcePriorities),function(item){return _c('div',{key:item.id},[_vm._v(\" \"+_vm._s(item.name)+\" \")])}),0):_c('span',[_vm._v(\"N/A\")])]),_c('div',{staticClass:\"row details-row\"},[_c('div',{staticClass:\"details-label\"},[_vm._v(\"Ranking Score:\")]),(_vm.projectConcept && _vm.projectConcept.rankingScore)?_c('span',[_vm._v(_vm._s(_vm.projectConcept.rankingScore))]):_c('span',[_vm._v(\"N/A\")])]),_c('div',{staticClass:\"row details-row\"},[_c('div',{staticClass:\"details-label\"},[_vm._v(\"Estimated Project Cost:\")]),(_vm.projectConcept && _vm.projectConcept.estimatedCost != null)?_c('span',[_vm._v(_vm._s(_vm._f(\"toCurrency\")(_vm.projectConcept.estimatedCost)))]):_c('span',[_vm._v(\"N/A\")])]),_c('div',{staticClass:\"row details-row\"},[_c('div',{staticClass:\"details-label\"},[_vm._v(\"Project Concept Statement:\")]),(_vm.projectConcept && _vm.projectConcept.statement)?_c('span',[_vm._v(_vm._s(_vm.projectConcept.statement))]):_c('span',[_vm._v(\"N/A\")])]),_c('b-modal',{attrs:{\"id\":\"editProjectConceptModal\",\"title\":\"Edit Project Concept\",\"size\":\"xl\"},scopedSlots:_vm._u([{key:\"modal-footer\",fn:function(){return [_c('b-button',{staticClass:\"btn-danger\",attrs:{\"size\":\"sm\",\"variant\":\"danger\"},on:{\"click\":_vm.onEditProjectConceptButtonCancelClick}},[_c('span',[_vm._v(\"Cancel\")])]),_c('b-button',{staticClass:\"bnt-success\",attrs:{\"disabled\":!_vm.formValid,\"size\":\"sm\",\"variant\":\"success\"},on:{\"click\":_vm.onEditProjectConceptButtonUpdateClick}},[_c('span',[_vm._v(\"Save\")])])]},proxy:true}],null,false,186906989)},[_c('p',[_c('VueFormGenerator',{attrs:{\"schema\":_vm.formSchema,\"model\":_vm.projectConceptModel,\"options\":_vm.formOptions},on:{\"validated\":_vm.onValidated}})],1)])],1):_vm._e()])],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"section-title project-concept-title-margin\"},[_c('span',[_vm._v(\"Project Concept\")])])}]\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectDetails.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectDetails.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProjectDetails.vue?vue&type=template&id=3a072a68&scoped=true&\"\nimport script from \"./ProjectDetails.vue?vue&type=script&lang=js&\"\nexport * from \"./ProjectDetails.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProjectDetails.vue?vue&type=style&index=0&id=3a072a68&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3a072a68\",\n null\n \n)\n\nexport default component.exports","\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectOverview.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectOverview.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProjectOverview.vue?vue&type=template&id=7d973f69&\"\nimport script from \"./ProjectOverview.vue?vue&type=script&lang=js&\"\nexport * from \"./ProjectOverview.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 null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"view-contents\",attrs:{\"id\":\"project-workorders\"}},[(_vm.config)?_c('div',[_c('b-modal',{attrs:{\"id\":\"workorderInvalidLineItemsModal\"},scopedSlots:_vm._u([{key:\"modal-title\",fn:function(){return [_c('span',{staticClass:\"project-modal-warning\"},[_vm._v(\"Line Items are Required!\")])]},proxy:true},{key:\"modal-footer\",fn:function(ref){\nvar ok = ref.ok;\nreturn [_c('b-button',{staticClass:\"btn-success\",attrs:{\"size\":\"sm\",\"variant\":\"success\"},on:{\"click\":ok}},[_vm._v(\"Ok\")])]}}],null,false,512873461)},[_c('p',[_vm._v(\"You must add at least one Line Item to this Work Order before it can be submitted.\")])]),_c('b-modal',{attrs:{\"id\":\"workorderInvalidLineItemsTotalsModal\"},scopedSlots:_vm._u([{key:\"modal-title\",fn:function(){return [_c('span',{staticClass:\"project-modal-warning\"},[_vm._v(\"Line Item Totals Exceed Budget!\")])]},proxy:true},{key:\"modal-footer\",fn:function(ref){\nvar ok = ref.ok;\nreturn [_c('b-button',{staticClass:\"btn-success\",attrs:{\"size\":\"sm\",\"variant\":\"success\"},on:{\"click\":ok}},[_vm._v(\"Ok\")])]}}],null,false,1720326455)},[_c('p',[_vm._v(\"There is at least one Line Item on this Work Order that exceeds the budget.\")])]),_c('b-modal',{attrs:{\"id\":\"workorderSubmitForReviewModal\"},on:{\"ok\":function($event){return _vm.workorderSubmitForReviewOnClickOk()}},scopedSlots:_vm._u([{key:\"modal-title\",fn:function(){return [_c('span',{staticClass:\"project-modal-warning\"},[_vm._v(\"Confirm Work Order Submittal\")])]},proxy:true},{key:\"modal-footer\",fn:function(ref){\nvar ok = ref.ok;\nvar cancel = ref.cancel;\nreturn [_c('b-button',{staticClass:\"btn-danger\",attrs:{\"size\":\"sm\",\"variant\":\"danger\"},on:{\"click\":cancel}},[_vm._v(\"No\")]),_c('b-button',{staticClass:\"btn-success\",attrs:{\"size\":\"sm\",\"variant\":\"success\"},on:{\"click\":ok}},[_vm._v(\"Yes\")])]}}],null,false,1831091097)},[_c('p',[_vm._v(\"Are you sure you want to set this Work Order's status to \\\"Review\\\"?\")])]),_c('b-modal',{attrs:{\"id\":\"workorderSubmitToVendorModal\"},on:{\"ok\":function($event){return _vm.workorderSubmitToVendorOnClickOk()}},scopedSlots:_vm._u([{key:\"modal-title\",fn:function(){return [_c('span',{staticClass:\"project-modal-warning\"},[_vm._v(\"Confirm Work Order Submittal\")])]},proxy:true},{key:\"modal-footer\",fn:function(ref){\nvar ok = ref.ok;\nvar cancel = ref.cancel;\nreturn [_c('b-button',{staticClass:\"btn-danger\",attrs:{\"size\":\"sm\",\"variant\":\"danger\"},on:{\"click\":cancel}},[_vm._v(\"No\")]),_c('b-button',{staticClass:\"btn-success\",attrs:{\"size\":\"sm\",\"variant\":\"success\"},on:{\"click\":ok}},[_vm._v(\"Yes\")])]}}],null,false,1831091097)},[_c('p',[_vm._v(\"Are you sure you want to set this Work Order's status to \\\"Submitted\\\"?\")])]),_c('b-modal',{attrs:{\"id\":\"workorderAcceptedByVendorModal\"},on:{\"ok\":function($event){return _vm.workorderAcceptedByVendorOnClickOk()}},scopedSlots:_vm._u([{key:\"modal-title\",fn:function(){return [_c('span',{staticClass:\"project-modal-warning\"},[_vm._v(\"Confirm Work Order Submittal\")])]},proxy:true},{key:\"modal-footer\",fn:function(ref){\nvar ok = ref.ok;\nvar cancel = ref.cancel;\nreturn [_c('b-button',{staticClass:\"btn-danger\",attrs:{\"size\":\"sm\",\"variant\":\"danger\"},on:{\"click\":cancel}},[_vm._v(\"No\")]),_c('b-button',{staticClass:\"btn-success\",attrs:{\"size\":\"sm\",\"variant\":\"success\"},on:{\"click\":ok}},[_vm._v(\"Yes\")])]}}],null,false,1831091097)},[_c('p',[_vm._v(\"Are you sure you want to set this Work Order's status to \\\"Accepted\\\"?\")])]),_c('b-modal',{attrs:{\"id\":\"workorderCompleteModal\"},on:{\"ok\":function($event){return _vm.workorderCompleteOnClickOk()}},scopedSlots:_vm._u([{key:\"modal-title\",fn:function(){return [_c('span',{staticClass:\"project-modal-warning\"},[_vm._v(\"Confirm Work Order Submittal\")])]},proxy:true},{key:\"modal-footer\",fn:function(ref){\nvar ok = ref.ok;\nvar cancel = ref.cancel;\nreturn [_c('b-button',{staticClass:\"btn-danger\",attrs:{\"size\":\"sm\",\"variant\":\"danger\"},on:{\"click\":cancel}},[_vm._v(\"No\")]),_c('b-button',{staticClass:\"btn-success\",attrs:{\"size\":\"sm\",\"variant\":\"success\"},on:{\"click\":ok}},[_vm._v(\"Yes\")])]}}],null,false,1831091097)},[_c('p',[_vm._v(\"Are you sure you want to set this Work Order's status to \\\"Completed\\\"?\")])]),_c('b-modal',{attrs:{\"id\":\"workorderCancelModal\"},on:{\"ok\":function($event){return _vm.workorderCancelOnClickOk()}},scopedSlots:_vm._u([{key:\"modal-title\",fn:function(){return [_c('span',{staticClass:\"project-modal-warning\"},[_vm._v(\"Confirm Work Order Submittal\")])]},proxy:true},{key:\"modal-footer\",fn:function(ref){\nvar ok = ref.ok;\nvar cancel = ref.cancel;\nreturn [_c('b-button',{staticClass:\"btn-danger\",attrs:{\"size\":\"sm\",\"variant\":\"danger\"},on:{\"click\":cancel}},[_vm._v(\"No\")]),_c('b-button',{staticClass:\"btn-success\",attrs:{\"size\":\"sm\",\"variant\":\"success\"},on:{\"click\":ok}},[_vm._v(\"Yes\")])]}}],null,false,1831091097)},[_c('p',[_vm._v(\"Are you sure you want to set this Work Order's status to \\\"Cancelled\\\"?\")])]),_c('b-modal',{attrs:{\"id\":\"workorderLineItemDeleteModal\",\"title\":\"Confirm Delete\"},on:{\"ok\":function($event){return _vm.onWorkOrderLineItemDeleteOkClick()}},scopedSlots:_vm._u([{key:\"modal-footer\",fn:function(ref){\nvar ok = ref.ok;\nvar cancel = ref.cancel;\nreturn [_c('b-button',{staticClass:\"incentive-payments-dialog-no\",attrs:{\"size\":\"sm\",\"variant\":\"danger\"},on:{\"click\":cancel}},[_vm._v(\"No\")]),_c('b-button',{staticClass:\"incentive-payments-dialog-yes\",attrs:{\"size\":\"sm\",\"variant\":\"success\"},on:{\"click\":ok}},[_vm._v(\"Yes\")])]}}],null,false,3411854052)},[_c('div',[_vm._v(\"Are you sure you want to delete this Line Item?\")])])],1):_vm._e(),_c('b-modal',{attrs:{\"id\":\"projectWorkOrderBillAddModal\",\"title\":\"Add Bill\",\"size\":\"xl\"},scopedSlots:_vm._u([{key:\"modal-footer\",fn:function(){return [_c('b-button',{staticClass:\"incentive-payments-dialog-no\",attrs:{\"size\":\"sm\",\"variant\":\"danger\"},on:{\"click\":_vm.onProjectWorkOrderBillAddCancelClick}},[_vm._v(\"Cancel\")]),_c('b-button',{staticClass:\"incentive-payments-dialog-yes\",attrs:{\"disabled\":(_vm.projectWorkOrderBillModelValid === false) || _vm.validateBillableRemainingIsNotOverTwentyPercent() || !_vm.validateBillDateIsPriorToReceivedDate(),\"size\":\"sm\",\"variant\":\"success\"},on:{\"click\":_vm.onProjectWorkOrderBillAddOkClick}},[_c('span',[_vm._v(\"Save\")])])]},proxy:true}])},[(_vm.projectWorkOrderBillModel)?_c('div',{staticClass:\"container p-3\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-3\"},[_vm._v(\"Work Order Total: \"+_vm._s(_vm._f(\"toCurrency\")(_vm.projectWorkOrderBillModel.workOrderTotal)))]),_c('div',{staticClass:\"col-3\"},[_vm._v(\"Other Bills Total: \"+_vm._s(_vm._f(\"toCurrency\")(_vm.projectWorkOrderBillModel.otherBillsTotal)))]),_c('div',{staticClass:\"col-3\"},[_vm._v(\"This Bill Total: \"+_vm._s(_vm._f(\"toCurrency\")(_vm._f(\"toCurrency\")(_vm.getBillPaymentTotal(_vm.projectWorkOrderBillModel)))))]),_c('div',{staticClass:\"col-3\"},[_vm._v(\"Billable Remaining: \"+_vm._s(_vm._f(\"toCurrency\")(_vm.projectWorkOrderBillableRemaining)))])])]):_vm._e(),_c('VueFormGenerator',{attrs:{\"schema\":_vm.projectWorkOrderBillSchema,\"model\":_vm.projectWorkOrderBillModel,\"options\":_vm.formOptions},on:{\"validated\":_vm.onProjectWorkOrderBillValidated}}),(_vm.projectWorkOrderBillModel && _vm.projectWorkOrderBillModel.workOrderBillLineItems && _vm.projectWorkOrderBillModel.workOrderBillLineItems.length > 0)?_c('b-table',{attrs:{\"fields\":_vm.projectWorkOrderBillLineItemFieldsAdd,\"items\":_vm.projectWorkOrderBillModel.workOrderBillLineItems,\"sort-by\":_vm.sortBy,\"sort-desc\":_vm.sortDesc,\"bordered\":\"\",\"hover\":\"\",\"responsive\":\"\",\"small\":\"\",\"striped\":\"\"},on:{\"update:sortBy\":function($event){_vm.sortBy=$event},\"update:sort-by\":function($event){_vm.sortBy=$event},\"update:sortDesc\":function($event){_vm.sortDesc=$event},\"update:sort-desc\":function($event){_vm.sortDesc=$event}},scopedSlots:_vm._u([{key:\"cell(salePrice)\",fn:function(row){return [_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(row.item.salePrice),expression:\"row.item.salePrice\"}],staticClass:\"form-control align-top\",attrs:{\"type\":\"number\"},domProps:{\"value\":(row.item.salePrice)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(row.item, \"salePrice\", $event.target.value)},function($event){return _vm.restrictSalePrice(row.item, $event)}]}})]}},{key:\"cell(quantity)\",fn:function(row){return [_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(row.item.quantity),expression:\"row.item.quantity\"}],staticClass:\"form-control align-top\",attrs:{\"type\":\"number\",\"step\":\"0.01\"},domProps:{\"value\":(row.item.quantity)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(row.item, \"quantity\", $event.target.value)},function($event){return _vm.restrictQuantity(row.item, $event)}]}})]}},{key:\"cell(itemCost)\",fn:function(row){return [_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")((row.item.salePrice * row.item.quantity)))+\" \")]}}],null,false,2857956311)}):_vm._e(),(_vm.projectWorkOrderBillModel && _vm.projectWorkOrderBillModel.workOrderBillIncentivePayments && _vm.projectWorkOrderBillModel.workOrderBillIncentivePayments.length > 0)?_c('b-table',{attrs:{\"fields\":_vm.projectWorkOrderBillIncentivePaymentFieldsAdd,\"items\":_vm.projectWorkOrderBillModel.workOrderBillIncentivePayments,\"sort-by\":_vm.sortBy,\"sort-desc\":_vm.sortDesc,\"bordered\":\"\",\"hover\":\"\",\"responsive\":\"\",\"small\":\"\",\"striped\":\"\"},on:{\"update:sortBy\":function($event){_vm.sortBy=$event},\"update:sort-by\":function($event){_vm.sortBy=$event},\"update:sortDesc\":function($event){_vm.sortDesc=$event},\"update:sort-desc\":function($event){_vm.sortDesc=$event}},scopedSlots:_vm._u([{key:\"cell(billSelected)\",fn:function(row){return [_c('b-form-checkbox',{on:{\"input\":function($event){return _vm.validateProjectWorkOrderBillRequiredFields([])}},model:{value:(row.item.billSelected),callback:function ($$v) {_vm.$set(row.item, \"billSelected\", $$v)},expression:\"row.item.billSelected\"}})]}}],null,false,446926557)}):_vm._e(),_c('hr',{staticClass:\"project-workorder-bills-header-horizontal-rule project-workorder-bills-horizontal-rule\"}),(_vm.projectWorkOrderBillModel)?_c('div',{staticClass:\"project-workorder-bills-items-details-label\"},[_c('span',{staticClass:\"details-label\"},[_vm._v(\"Total Payment: \")]),_c('span',[_vm._v(_vm._s(_vm._f(\"toCurrency\")(_vm.getBillPaymentTotal(_vm.projectWorkOrderBillModel))))])]):_vm._e()],1),_c('b-modal',{attrs:{\"id\":\"projectWorkOrderBillEditModal\",\"title\":\"Edit Bill\",\"size\":\"xl\"},scopedSlots:_vm._u([{key:\"modal-footer\",fn:function(){return [_c('b-button',{staticClass:\"incentive-payments-dialog-no\",attrs:{\"size\":\"sm\",\"variant\":\"danger\"},on:{\"click\":_vm.onProjectWorkOrderBillEditCancelClick}},[_vm._v(\"Cancel\")]),_c('b-button',{staticClass:\"incentive-payments-dialog-yes\",attrs:{\"disabled\":(_vm.projectWorkOrderBillModelValid === false) || _vm.validateBillableRemainingIsNotOverTwentyPercent(),\"size\":\"sm\",\"variant\":\"success\"},on:{\"click\":_vm.onProjectWorkOrderBillEditOkClick}},[_c('span',[_vm._v(\"Save\")])])]},proxy:true}])},[(_vm.projectWorkOrderBillModel)?_c('div',{staticClass:\"container p-3\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-3\"},[_vm._v(\"Work Order Total: \"+_vm._s(_vm._f(\"toCurrency\")(_vm.projectWorkOrderBillModel.workOrderTotal)))]),_c('div',{staticClass:\"col-3\"},[_vm._v(\"Other Bills Total: \"+_vm._s(_vm._f(\"toCurrency\")(_vm.projectWorkOrderBillModel.otherBillsTotal)))]),_c('div',{staticClass:\"col-3\"},[_vm._v(\"This Bill Total: \"+_vm._s(_vm._f(\"toCurrency\")(_vm._f(\"toCurrency\")(_vm.getBillPaymentTotal(_vm.projectWorkOrderBillModel)))))]),_c('div',{staticClass:\"col-3\"},[_vm._v(\"Billable Remaining: \"+_vm._s(_vm._f(\"toCurrency\")(_vm.projectWorkOrderBillableRemaining)))])])]):_vm._e(),_c('VueFormGenerator',{attrs:{\"schema\":_vm.projectWorkOrderBillSchema,\"model\":_vm.projectWorkOrderBillModel,\"options\":_vm.formOptions},on:{\"validated\":_vm.onProjectWorkOrderBillValidated}}),_c('hr',{staticClass:\"project-workorder-bills-header-horizontal-rule project-workorder-bills-horizontal-rule\"}),_c('div',{staticClass:\"details-label project-workorder-bills-items-details-label\"},[_vm._v(\"Costs For\")]),(_vm.projectWorkOrderBillModel && _vm.projectWorkOrderBillModel.workOrderBillLineItems && _vm.projectWorkOrderBillModel.workOrderBillLineItems.length > 0)?_c('b-table',{attrs:{\"fields\":_vm.projectWorkOrderBillLineItemFieldsEdit,\"items\":_vm.projectWorkOrderBillModel.workOrderBillLineItems,\"sort-by\":_vm.sortBy,\"sort-desc\":_vm.sortDesc,\"bordered\":\"\",\"hover\":\"\",\"responsive\":\"\",\"small\":\"\",\"striped\":\"\"},on:{\"update:sortBy\":function($event){_vm.sortBy=$event},\"update:sort-by\":function($event){_vm.sortBy=$event},\"update:sortDesc\":function($event){_vm.sortDesc=$event},\"update:sort-desc\":function($event){_vm.sortDesc=$event}},scopedSlots:_vm._u([{key:\"cell(salePrice)\",fn:function(row){return [_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(row.item.salePrice),expression:\"row.item.salePrice\"}],staticClass:\"form-control align-top\",attrs:{\"type\":\"number\"},domProps:{\"value\":(row.item.salePrice)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(row.item, \"salePrice\", $event.target.value)},function($event){return _vm.restrictSalePrice(row.item, $event)}]}})]}},{key:\"cell(quantity)\",fn:function(row){return [_c('span',{staticClass:\"align-top\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(row.item.quantity),expression:\"row.item.quantity\"}],staticClass:\"form-control align-top\",attrs:{\"type\":\"number\",\"step\":\"0.01\"},domProps:{\"value\":(row.item.quantity)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(row.item, \"quantity\", $event.target.value)},function($event){return _vm.restrictQuantity(row.item, $event)}]}})])]}},{key:\"cell(itemCost)\",fn:function(row){return [_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")((row.item.salePrice * row.item.quantity)))+\" \")]}}],null,false,2178652833)}):_vm._e(),(_vm.projectWorkOrderBillModel && _vm.projectWorkOrderBillModel.workOrderBillIncentivePayments && _vm.projectWorkOrderBillModel.workOrderBillIncentivePayments.length > 0)?_c('b-table',{attrs:{\"fields\":_vm.projectWorkOrderBillIncentivePaymentFieldsEdit,\"items\":_vm.projectWorkOrderBillModel.workOrderBillIncentivePayments,\"sort-by\":_vm.sortBy,\"sort-desc\":_vm.sortDesc,\"bordered\":\"\",\"hover\":\"\",\"responsive\":\"\",\"small\":\"\",\"striped\":\"\"},on:{\"update:sortBy\":function($event){_vm.sortBy=$event},\"update:sort-by\":function($event){_vm.sortBy=$event},\"update:sortDesc\":function($event){_vm.sortDesc=$event},\"update:sort-desc\":function($event){_vm.sortDesc=$event}},scopedSlots:_vm._u([{key:\"cell(billSelected)\",fn:function(){return [_vm._v(\" \"+_vm._s(true)+\" \")]},proxy:true}],null,false,615684291)}):_vm._e(),_c('hr',{staticClass:\"project-workorder-bills-header-horizontal-rule project-workorder-bills-horizontal-rule\"}),(_vm.projectWorkOrderBillModel)?_c('div',{staticClass:\"project-workorder-bills-items-details-label\"},[_c('span',{staticClass:\"details-label\"},[_vm._v(\"Total Payment: \")]),_c('span',[_vm._v(_vm._s(_vm._f(\"toCurrency\")(_vm.getBillPaymentTotal(_vm.projectWorkOrderBillModel))))])]):_vm._e()],1),_c('b-modal',{attrs:{\"id\":\"submitBillForApprovalModal\",\"title\":\"Confirm Submit Bill for Approval\"},on:{\"ok\":function($event){return _vm.onBillSubmitForApprovalClickOk()}},scopedSlots:_vm._u([{key:\"modal-footer\",fn:function(ref){\nvar ok = ref.ok;\nvar cancel = ref.cancel;\nreturn [_c('b-button',{staticClass:\"incentive-payments-dialog-no\",attrs:{\"size\":\"sm\",\"variant\":\"danger\"},on:{\"click\":cancel}},[_vm._v(\"No\")]),_c('b-button',{staticClass:\"incentive-payments-dialog-yes\",attrs:{\"size\":\"sm\",\"variant\":\"success\"},on:{\"click\":ok}},[_vm._v(\"Yes\")])]}}])},[_c('div',[_c('p',[_vm._v(\"You are about to submit this Bill to the Planner. You will not be able to edit the Bill once submitted.\")]),_c('p',[_vm._v(\"Are you sure you want to submit?\")])])]),_c('b-modal',{attrs:{\"id\":\"submitBillForPaymentModal\",\"title\":\"Confirm Submit Bill for Payment\"},on:{\"ok\":function($event){return _vm.onBillSubmitForPaymentClickOk()}},scopedSlots:_vm._u([{key:\"modal-footer\",fn:function(ref){\nvar ok = ref.ok;\nvar cancel = ref.cancel;\nreturn [_c('b-button',{staticClass:\"incentive-payments-dialog-no\",attrs:{\"size\":\"sm\",\"variant\":\"danger\"},on:{\"click\":cancel}},[_vm._v(\"No\")]),_c('b-button',{staticClass:\"incentive-payments-dialog-yes\",attrs:{\"size\":\"sm\",\"variant\":\"success\"},on:{\"click\":ok}},[_vm._v(\"Yes\")])]}}])},[_c('div',[_c('p',[_vm._v(\"You are acknowledging that the Bill as entered has been reviewed by you, is correct, and is ready for Finance to approve.\")]),_c('p',[_vm._v(\"Are you sure you want to submit?\")])])]),_c('b-modal',{attrs:{\"id\":\"voidBillModal\",\"title\":\"Confirm Bill Void\"},on:{\"ok\":function($event){return _vm.onBillVoidClickOk()}},scopedSlots:_vm._u([{key:\"modal-footer\",fn:function(ref){\nvar ok = ref.ok;\nvar cancel = ref.cancel;\nreturn [_c('b-button',{staticClass:\"incentive-payments-dialog-no\",attrs:{\"size\":\"sm\",\"variant\":\"danger\"},on:{\"click\":cancel}},[_vm._v(\"No\")]),_c('b-button',{staticClass:\"incentive-payments-dialog-yes\",attrs:{\"size\":\"sm\",\"variant\":\"success\"},on:{\"click\":ok}},[_vm._v(\"Yes\")])]}}])},[_c('div',[_c('p',[_vm._v(\"You are about to void this Bill. It will no longer be editable by you or any other user.\")]),_c('p',[_vm._v(\"Are you sure you want to void?\")])])]),_c('b-modal',{attrs:{\"id\":\"approveBillModal\",\"title\":\"Confirm Bill Approval\"},on:{\"ok\":function($event){return _vm.onBillApproveClickOk()}},scopedSlots:_vm._u([{key:\"modal-footer\",fn:function(ref){\nvar ok = ref.ok;\nvar cancel = ref.cancel;\nreturn [_c('b-button',{staticClass:\"incentive-payments-dialog-no\",attrs:{\"size\":\"sm\",\"variant\":\"danger\"},on:{\"click\":cancel}},[_vm._v(\"No\")]),_c('b-button',{staticClass:\"incentive-payments-dialog-yes\",attrs:{\"size\":\"sm\",\"variant\":\"success\"},on:{\"click\":ok}},[_vm._v(\"Yes\")])]}}])},[_c('div',[_c('p',[_vm._v(\"You are acknowledging that the Bill as entered has been reviewed by you, is correct, and is ready for payment.\")]),_c('p',[_vm._v(\"Are you sure you want to approve?\")])])]),_c('b-modal',{attrs:{\"id\":\"paidBillModal\",\"title\":\"Confirm Bill Paid\"},on:{\"ok\":function($event){return _vm.onBillPaidClickOk()}},scopedSlots:_vm._u([{key:\"modal-footer\",fn:function(ref){\nvar ok = ref.ok;\nvar cancel = ref.cancel;\nreturn [_c('b-button',{staticClass:\"incentive-payments-dialog-no\",attrs:{\"size\":\"sm\",\"variant\":\"danger\"},on:{\"click\":cancel}},[_vm._v(\"No\")]),_c('b-button',{staticClass:\"incentive-payments-dialog-yes\",attrs:{\"size\":\"sm\",\"variant\":\"success\"},on:{\"click\":ok}},[_vm._v(\"Yes\")])]}}])},[_c('div',[_c('p',[_vm._v(\"You are about to flag this Bill as 'Paid'. It will no longer be editable by you or any other user.\")]),_c('p',[_vm._v(\"Are you sure you want to flag it as 'Paid'?\")])])]),_c('div',{staticClass:\"section-title\"},[_vm._v(\"Work Orders\")]),_c('b-overlay',{staticClass:\"workorder-tabs\",attrs:{\"show\":_vm.formLoading}},[(!_vm.formLoading && _vm.projectWorkorders && _vm.projectWorkorders.length > 0)?_c('b-tabs',{attrs:{\"pills\":\"\",\"vertical\":\"\"},model:{value:(_vm.projectWorkOrderTabIndex),callback:function ($$v) {_vm.projectWorkOrderTabIndex=$$v},expression:\"projectWorkOrderTabIndex\"}},_vm._l((_vm.projectWorkorders),function(projectWorkorder){return _c('b-tab',{key:projectWorkorder.id,attrs:{\"title\":'Work Order ' + projectWorkorder.workOrderNumber},scopedSlots:_vm._u([{key:\"title-active\",fn:function(){return [_c('span',[_vm._v(\"Work Order \"+_vm._s(projectWorkorder.workOrderNumber)+\" \")]),_c('b-icon-arrow-right-circle-fill',{staticClass:\"h3\",attrs:{\"variant\":\"primary\"}})]},proxy:true}],null,true)},[_c('div',{staticClass:\"card card-body\"},[(!_vm.formLoading)?_c('b-alert',{attrs:{\"show\":!_vm.isWorkOrderFundingComplete(projectWorkorder),\"dismissible\":\"\",\"variant\":\"danger\"}},[_c('div',[_vm._v(\"This Work Order has Line Items with no Funding Source specified.\")]),_c('div',[_vm._v(\"Bills can only be added to this Work Order when all Line Item Funding Sources have been specified.\")])]):_vm._e(),_c('b-alert',{attrs:{\"show\":_vm.showErrorMessageAlert,\"dismissible\":\"\",\"variant\":\"danger\"}},[_c('div',[_vm._v(_vm._s(_vm.showErrorMessageAlertBody))])]),_c('div',{staticClass:\"card-body workorder-card-body\"},[_c('b-row',{staticClass:\"details-row\"},[_c('b-col',{staticClass:\"details-label\",attrs:{\"cols\":\"3\"}},[_c('span',[_vm._v(\"Work Order:\")])]),_c('b-col',{attrs:{\"cols\":\"4\"}},[_c('a',{attrs:{\"href\":(\"\" + (_vm.config.insightly.workOrderUrl) + (projectWorkorder.id)),\"target\":\"insightly\"}},[_c('span',[_vm._v(_vm._s(projectWorkorder.workOrderNumber))]),_c('span',[_vm._v(\" | \")]),_c('span',[_vm._v(_vm._s(projectWorkorder.workOrderName))])]),((!_vm.workorderLookupsLoading) && (projectWorkorder.status !== \"Completed\") && (projectWorkorder.status !== \"Cancelled\"))?_c('b-link',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover\",modifiers:{\"hover\":true}}],attrs:{\"title\":\"Edit this Work Order\"},on:{\"click\":function($event){return _vm.onWorkorderEditClick(projectWorkorder)}}},[_c('span',{staticClass:\"project-workorder-edit\"})]):_vm._e()],1),(_vm.formLoaded)?_c('b-col',{staticClass:\"text-right\",attrs:{\"cols\":\"5\"}},[(_vm.isWorkOrderCancelMember && _vm.isWorkorderCancelVisible(projectWorkorder))?_c('span',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover\",value:({ disabled: !_vm.isWorkorderCancelDisabled(projectWorkorder) }),expression:\"{ disabled: !isWorkorderCancelDisabled(projectWorkorder) }\",modifiers:{\"hover\":true}}],attrs:{\"title\":_vm.isWorkorderCancelDisabledTitle(projectWorkorder)}},[_c('b-button',{staticClass:\"rounded-pill work-order-bill-approval-button\",attrs:{\"disabled\":_vm.isWorkorderCancelDisabled(projectWorkorder),\"variant\":\"danger\"},on:{\"click\":function($event){return _vm.workorderCancelOnClick(projectWorkorder)}}},[_c('span',[_vm._v(\"Cancel\")])])],1):_vm._e(),(_vm.isWorkOrderSubmitForReviewMember && _vm.isWorkorderSubmitForReviewVisible(projectWorkorder))?_c('b-button',{staticClass:\"rounded-pill work-order-bill-approval-button\",attrs:{\"variant\":\"primary\",\"title\":\"Submit for Review\"},on:{\"click\":function($event){return _vm.workorderSubmitForReviewOnClick(projectWorkorder)}}},[_c('span',[_vm._v(\"Submit for Review\")])]):_vm._e(),(_vm.isWorkOrderSubmitToVendorMember && _vm.isWorkorderSubmitToVendorVisible(projectWorkorder) && !_vm.isJuniorPlanner)?_c('b-button',{staticClass:\"rounded-pill work-order-bill-approval-button\",attrs:{\"variant\":\"primary\",\"title\":\"Submit to Vendor\"},on:{\"click\":function($event){return _vm.workorderSubmitToVendorOnClick(projectWorkorder, _vm.projectWorkorders, _vm.projectWorkorderLineItemFundingSources, _vm.projectBudgetYearSnapshots, _vm.fundingSources)}}},[_c('span',[_vm._v(\"Submit to Vendor\")])]):_vm._e(),(_vm.isWorkOrderAcceptedByVendorMember && _vm.isWorkorderAcceptedByVendorVisible(projectWorkorder))?_c('b-button',{staticClass:\"rounded-pill work-order-bill-approval-button\",attrs:{\"variant\":\"primary\",\"title\":\"Accepted by Vendor\"},on:{\"click\":function($event){return _vm.workorderAcceptedByVendorOnClick(projectWorkorder, _vm.projectWorkorders, _vm.projectWorkorderLineItemFundingSources, _vm.projectBudgetYearSnapshots, _vm.fundingSources)}}},[_c('span',[_vm._v(\"Accepted by Vendor\")])]):_vm._e(),(_vm.isWorkOrderCompleteMember && _vm.isWorkorderCompleteVisible(projectWorkorder))?_c('span',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover\",value:({ disabled: !_vm.isWorkorderCompleteDisabled(projectWorkorder) }),expression:\"{ disabled: !isWorkorderCompleteDisabled(projectWorkorder) }\",modifiers:{\"hover\":true}}],attrs:{\"title\":_vm.isWorkorderCompleteDisabledTitle(projectWorkorder)}},[_c('b-button',{staticClass:\"rounded-pill work-order-bill-approval-button\",attrs:{\"disabled\":_vm.isWorkorderCompleteDisabled(projectWorkorder),\"variant\":\"primary\"},on:{\"click\":function($event){return _vm.workorderCompleteOnClick(projectWorkorder)}}},[_c('span',[_vm._v(\"Complete\")])])],1):_vm._e()],1):_c('b-col',[(!_vm.formLoaded)?_c('LoadingSpinner',{attrs:{\"message\":\"Loading Bill Data\",\"size\":\"1x\"}}):_vm._e()],1)],1),_c('b-row',{staticClass:\"details-row\"},[_c('b-col',{staticClass:\"details-label\",attrs:{\"cols\":\"3\"}},[_vm._v(\"Status:\")]),_c('b-col',[_vm._v(_vm._s(projectWorkorder.status))])],1),_c('b-row',{staticClass:\"details-row\"},[_c('b-col',{staticClass:\"details-label\",attrs:{\"cols\":\"3\"}},[_vm._v(\"Date Updated:\")]),_c('b-col',[_vm._v(_vm._s(new Date(projectWorkorder.dateUpdatedUTC).toLocaleString()))])],1),_c('b-row',{staticClass:\"details-row\"},[_c('b-col',{staticClass:\"details-label\",attrs:{\"cols\":\"3\"}},[_vm._v(\"Vendor:\")]),_c('b-col',[(projectWorkorder.vendorContactId != null)?_c('span',[_vm._v(_vm._s(_vm.getVendorContactName(projectWorkorder)))]):_c('span',[(projectWorkorder.vendorOrganizationId != null)?_c('span',[_vm._v(_vm._s(_vm.getVendorOrganizationName(projectWorkorder)))]):_vm._e()])])],1),_c('b-row',{staticClass:\"details-row\"},[_c('b-col',{staticClass:\"details-label\",attrs:{\"cols\":\"3\"}},[_vm._v(\"Requested Completion Date:\")]),_c('b-col',[_vm._v(_vm._s((new Date(projectWorkorder.requestedDate)).toLocaleDateString()))])],1),_c('b-row',{staticClass:\"details-row\"},[_c('b-col',{staticClass:\"details-label\",attrs:{\"cols\":\"3\"}},[_vm._v(\"Grand Total:\")]),_c('b-col',[_vm._v(_vm._s(_vm._f(\"toCurrency\")(_vm.getGrandTotal(projectWorkorder))))])],1),_c('b-row',{staticClass:\"details-row\"},[_c('b-col',{staticClass:\"details-label\",attrs:{\"cols\":\"3\"}},[_vm._v(\"District or Partner Total:\")]),_c('b-col',[_vm._v(_vm._s(_vm._f(\"toCurrency\")(_vm.getDistrictOrPartnerTotal(projectWorkorder))))])],1),_c('b-row',{staticClass:\"details-row\"},[_c('b-col',{staticClass:\"details-label\",attrs:{\"cols\":\"3\"}},[_vm._v(\"Approved for Payment:\")]),_c('b-col',[_vm._v(_vm._s(_vm._f(\"toCurrency\")(_vm.getApprovedForPaymentTotal(projectWorkorder))))])],1),_c('b-row',{staticClass:\"details-row\"},[_c('b-col',{staticClass:\"details-label\",attrs:{\"cols\":\"3\"}},[_vm._v(\"Pending Bill Approval:\")]),_c('b-col',[_vm._v(_vm._s(_vm._f(\"toCurrency\")(_vm.getPendingBillApprovalTotal(projectWorkorder))))])],1),_c('b-row',{staticClass:\"details-row\"},[_c('b-col',{staticClass:\"details-label\",attrs:{\"cols\":\"3\"}},[_vm._v(\"Spent:\")]),_c('b-col',[_vm._v(_vm._s(_vm._f(\"toCurrency\")(_vm.getSpentTotal(projectWorkorder))))])],1),_c('b-row',{staticClass:\"details-row\"},[_c('b-col',{staticClass:\"details-label\",attrs:{\"cols\":\"3\"}},[_vm._v(\"Remaining:\")]),_c('b-col',[_vm._v(_vm._s(_vm._f(\"toCurrency\")(_vm.getRemainingTotal(projectWorkorder))))])],1)],1),_c('div',{staticClass:\"card-body special-instructions-card-body\"},[_c('div',{staticClass:\"special-instructions-card-header\"},[_c('span',{staticClass:\"details-label\"},[_vm._v(\"Special Instructions\")]),_c('a',{directives:[{name:\"b-toggle\",rawName:\"v-b-toggle\",value:((\"workorder-\" + (projectWorkorder.id) + \"-card\")),expression:\"`workorder-${projectWorkorder.id}-card`\"}],staticClass:\"c-pointer\"},[_c('b-icon',{staticClass:\"when-closed\",attrs:{\"icon\":\"caret-right-fill\"}}),_c('b-icon',{staticClass:\"when-opened\",attrs:{\"icon\":\"caret-down-fill\"}})],1)]),_c('b-collapse',{staticClass:\"card\",attrs:{\"id\":(\"workorder-\" + (projectWorkorder.id) + \"-card\"),\"visible\":\"\"}},[_c('b-form-textarea',{staticClass:\"project-workorder-special-instructions\",attrs:{\"readonly\":\"\",\"rows\":\"4\"},model:{value:(projectWorkorder.contractorSpecialInstructions),callback:function ($$v) {_vm.$set(projectWorkorder, \"contractorSpecialInstructions\", $$v)},expression:\"projectWorkorder.contractorSpecialInstructions\"}})],1)],1),_c('div',{staticClass:\"card section-header\"},[_c('div',{staticClass:\"special-instructions-card-header\"},[_c('span',{staticClass:\"details-label\"},[_vm._v(\"Services and Materials\")]),_c('span',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover\",value:({ disabled: !_vm.isLineItemAddDisabled(projectWorkorder) }),expression:\"{ disabled: !isLineItemAddDisabled(projectWorkorder) }\",modifiers:{\"hover\":true}}],staticClass:\"d-inline-block add-link\",attrs:{\"title\":\"Line Items can't be added to 'Completed' Work Orders.\"}},[((_vm.projectBudget && _vm.projectBudget.projectBudgetYears) && !_vm.workorderLookupsLoading)?_c('b-link',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover\",modifiers:{\"hover\":true}}],staticClass:\"add-link\",attrs:{\"title\":\"Add a new Line Item to this Work Order\",\"disabled\":_vm.isLineItemAddDisabled(projectWorkorder)},on:{\"click\":function($event){return _vm.onWorkorderLineItemAddClick(projectWorkorder)}}},[_c('b-icon',{attrs:{\"icon\":\"plus\"}}),_c('span',[_vm._v(\"Add Line Item\")])],1):_vm._e()],1)]),(!projectWorkorder.workOrderLineItems || projectWorkorder.workOrderLineItems.length === 0)?_c('div',{staticClass:\"card-body\"},[_vm._v(\"Edit to add unplanned items.\")]):_c('div',{staticClass:\"card-body\"},[(!_vm.workOrderLineItemEditing)?_c('div',[_c('b-table',{ref:(\"workOrderLineItemsTable\" + (projectWorkorder.id)),refInFor:true,attrs:{\"fields\":_vm.getProjectWorkOrderLineItemFields(projectWorkorder),\"items\":projectWorkorder.workOrderLineItems,\"sort-by\":_vm.sortBy,\"sort-desc\":_vm.sortDesc,\"bordered\":\"\",\"hover\":\"\",\"small\":\"\",\"striped\":\"\"},on:{\"update:sortBy\":function($event){_vm.sortBy=$event},\"update:sort-by\":function($event){_vm.sortBy=$event},\"update:sortDesc\":function($event){_vm.sortDesc=$event},\"update:sort-desc\":function($event){_vm.sortDesc=$event}},scopedSlots:_vm._u([{key:\"cell(totalPrice)\",fn:function(row){return [_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")((row.item.salePrice * row.item.quantity)))+\" \")]}},{key:\"cell(districtPartnerPercent)\",fn:function(row){return [_vm._v(\" \"+_vm._s(_vm._f(\"toPercent\")((_vm.getDistrictAndPartnerPercent(row.item))))+\" \")]}},{key:\"cell(districtPartnerCost)\",fn:function(row){return [_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")((_vm.getDistrictAndPartnerCost(row.item))))+\" \")]}},{key:\"cell(costBilledToDate)\",fn:function(row){return [_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")((row.item.salePrice * row.item.quantityBilledToDate)))+\" \")]}},{key:\"cell(billingComplete)\",fn:function(row){return [(projectWorkorder.status === \"Accepted\")?_c('b-form-checkbox',{attrs:{\"disabled\":(_vm.workOrderLineItemBillingCompleteSaving || _vm.errorMessage !== null)},on:{\"change\":function($event){return _vm.onWorkOrderLineItemBillingCompleteChanged($event, projectWorkorder, row.item)}},model:{value:(row.item.billingComplete),callback:function ($$v) {_vm.$set(row.item, \"billingComplete\", $$v)},expression:\"row.item.billingComplete\"}}):_c('span',[_vm._v(_vm._s(row.item.billingComplete))])]}},{key:\"cell(actions)\",fn:function(row){return [_c('b-row',[_c('b-col',[((_vm.projectBudget && _vm.projectBudget.projectBudgetYears) && !_vm.workorderLookupsLoading)?_c('b-link',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover\",modifiers:{\"hover\":true}}],attrs:{\"title\":\"Edit this Line Item\",\"disabled\":_vm.isLineItemAddDisabled(projectWorkorder)},on:{\"click\":function($event){return _vm.onWorkOrderLineItemEditClick(row.item)}}},[_c('div',{staticClass:\"project-workorder-lineitem-edit\"})]):_vm._e()],1),_c('b-col',[_c('b-link',{directives:[{name:\"b-modal\",rawName:\"v-b-modal\",value:('workorderLineItemDeleteModal'),expression:\"'workorderLineItemDeleteModal'\"},{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover\",modifiers:{\"hover\":true}}],attrs:{\"title\":\"Delete this Line Item\",\"disabled\":_vm.isLineItemAddDisabled(projectWorkorder)},on:{\"click\":function($event){return _vm.onWorkOrderLineItemDeleteClick(row.item)}}},[_c('div',{staticClass:\"project-workorder-lineitem-delete\"})])],1)],1)]}}],null,true)})],1):_vm._e()])]),_c('div',{staticClass:\"card section-header\"},[_c('div',{staticClass:\"special-instructions-card-header\"},[_c('span',{staticClass:\"details-label\"},[_vm._v(\"Incentive Payments\")]),_c('span',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover\",value:({ disabled: !_vm.isIncentivePaymentAddDisabled(projectWorkorder) }),expression:\"{ disabled: !isIncentivePaymentAddDisabled(projectWorkorder) }\",modifiers:{\"hover\":true}}],staticClass:\"d-inline-block add-link\",attrs:{\"title\":\"Incentive Payments can't be added to 'Completed' Work Orders.\"}},[((_vm.projectBudget && _vm.projectBudget.projectBudgetYears) && !_vm.workorderLookupsLoading)?_c('b-link',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover\",modifiers:{\"hover\":true}}],staticClass:\"add-link\",attrs:{\"title\":\"Add a new Incentive Payment to this Work Order\",\"disabled\":_vm.isIncentivePaymentAddDisabled(projectWorkorder)},on:{\"click\":function($event){return _vm.onWorkorderIncentivePaymentAddClick(projectWorkorder)}}},[_c('b-icon',{attrs:{\"icon\":\"plus\"}}),_c('span',[_vm._v(\"Add Incentive Payment\")])],1):_vm._e()],1)]),(!projectWorkorder.workOrderProjectIncentives || projectWorkorder.workOrderProjectIncentives.length === 0)?_c('div',{staticClass:\"card-body\"},[_vm._v(\"No incentive payments.\")]):_c('div',{staticClass:\"card-body\"},[(!_vm.workOrderIncentivePaymentEditing)?_c('div',[_c('b-table',{ref:(\"workOrderIncentivePaymentsTable\" + (projectWorkorder.id)),refInFor:true,attrs:{\"fields\":_vm.getProjectWorkOrderIncentivePaymentFields(),\"items\":_vm.getIncentiveItems(projectWorkorder.workOrderProjectIncentives),\"sort-by\":_vm.sortBy,\"sort-desc\":_vm.sortDesc,\"bordered\":\"\",\"hover\":\"\",\"small\":\"\",\"striped\":\"\"},on:{\"update:sortBy\":function($event){_vm.sortBy=$event},\"update:sort-by\":function($event){_vm.sortBy=$event},\"update:sortDesc\":function($event){_vm.sortDesc=$event},\"update:sort-desc\":function($event){_vm.sortDesc=$event}},scopedSlots:_vm._u([{key:\"cell(incentiveType)\",fn:function(row){return [_vm._v(\" \"+_vm._s(row.item.incentiveType)+\" \")]}},{key:\"cell(paymentAmount)\",fn:function(row){return [_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")((row.item.paymentAmount)))+\" \")]}},{key:\"cell(fundingSource)\",fn:function(row){return [_vm._v(\" \"+_vm._s(row.item.fundingSource)+\" \")]}},{key:\"cell(incentiveBillingComplete)\",fn:function(row){return [_c('span',[_vm._v(_vm._s(row.item.incentiveBillingComplete))])]}}],null,true)})],1):_vm._e()])]),(_vm.isBillViewer)?_c('div',{staticClass:\"card section-header\"},[_c('div',{staticClass:\"special-instructions-card-header\"},[_c('span',{staticClass:\"details-label\"},[_vm._v(\"Bills\")]),(_vm.isBillAddVisible())?_c('span',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover\",value:({ disabled: !_vm.isBillAddDisabled(projectWorkorder) }),expression:\"{ disabled: !isBillAddDisabled(projectWorkorder) }\",modifiers:{\"hover\":true}}],staticClass:\"d-inline-block add-link\",attrs:{\"title\":_vm.isBillAddDisabled(projectWorkorder) && \"Work Order must be in Accepted status with outstanding Line Items to Add Bills\"}},[_c('b-link',{attrs:{\"disabled\":_vm.isBillAddDisabled(projectWorkorder)},on:{\"click\":function($event){return _vm.onProjectWorkOrderBillAddClick(projectWorkorder.id)}}},[_c('b-icon',{attrs:{\"icon\":\"plus\"}}),_c('span',[_vm._v(\"Add Bill\")])],1)],1):_vm._e()]),(!_vm.formLoaded)?_c('LoadingSpinner',{attrs:{\"message\":\"Loading Bill Data\",\"size\":\"1x\"}}):_c('div',[(projectWorkorder.workOrderBills != null && projectWorkorder.workOrderBills.length > 0)?_c('div',{staticClass:\"card-body\"},_vm._l((projectWorkorder.workOrderBills),function(bill){return _c('div',{key:bill.id,staticClass:\"project-workorder-bills-card-body\"},[_c('div',{staticClass:\"special-instructions-card-header\"},[_c('b-row',[_c('b-col',{attrs:{\"cols\":\"2\"}},[_c('span',{staticClass:\"details-label\"},[_vm._v(\"Invoice #\"+_vm._s(bill.billIdentifier))]),_c('a',{directives:[{name:\"b-toggle\",rawName:\"v-b-toggle\",value:((\"bill-\" + (bill.id) + \"-card\")),expression:\"`bill-${bill.id}-card`\"}],staticClass:\"c-pointer\"},[_c('b-icon',{staticClass:\"when-closed\",attrs:{\"icon\":\"caret-right-fill\"}}),_c('b-icon',{staticClass:\"when-opened\",attrs:{\"icon\":\"caret-down-fill\"}})],1)]),_c('b-col',{attrs:{\"cols\":\"6\"}},[_c('span',{staticClass:\"details-label\"},[_vm._v(\"Invoice ID:\")]),_c('span',[_vm._v(_vm._s(bill.billUniqueIdentifier))])]),_c('b-col',{attrs:{\"cols\":\"3\"}},[_c('span',{staticClass:\"details-label\"},[_vm._v(\"Total Payment:\")]),_c('span',[_vm._v(_vm._s(_vm._f(\"toCurrency\")(_vm.getBillPaymentTotal(bill))))])]),_c('b-col',{staticClass:\"text-right\",attrs:{\"cols\":\"1\"}},[(_vm.isBillEditVisible(bill))?_c('b-link',{staticClass:\"project-workorder-edit\",on:{\"click\":function($event){return _vm.onProjectWorkOrderBillEditClick(bill.workOrderId, bill.id)}}}):_vm._e()],1)],1)],1),(bill.id == _vm.billId)?_c('b-collapse',{ref:(\"bill-\" + (bill.id) + \"-card\"),refInFor:true,staticClass:\"card card-body\",attrs:{\"id\":(\"bill-\" + (bill.id) + \"-card\"),\"visible\":\"\"}},[_c('b-row',{staticClass:\"details-row\"},[_c('b-col',{staticClass:\"details-label\",attrs:{\"cols\":\"2\"}},[_vm._v(\"Status:\")]),_c('b-col',{attrs:{\"cols\":\"4\"}},[_vm._v(_vm._s(bill.status))]),_c('b-col',{staticClass:\"details-label\",attrs:{\"cols\":\"2\"}},[_vm._v(\"Entered By:\")]),_c('b-col',{attrs:{\"cols\":\"4\"}},[_vm._v(_vm._s(bill.createdByName))])],1),_c('b-row',{staticClass:\"details-row\"},[_c('b-col',{staticClass:\"details-label\",attrs:{\"cols\":\"2\"}},[_vm._v(\"Invoiced:\")]),_c('b-col',{attrs:{\"cols\":\"4\"}},[_vm._v(_vm._s((new Date(bill.billDate)).toLocaleDateString()))]),_c('b-col',{staticClass:\"details-label\",attrs:{\"cols\":\"2\"}},[_vm._v(\"Received:\")]),_c('b-col',{attrs:{\"cols\":\"4\"}},[_vm._v(_vm._s((new Date(bill.receivedDate)).toLocaleDateString()))])],1),_c('hr',{staticClass:\"project-workorder-bills-horizontal-rule project-workorder-bills-notes-horizontal-rule\"}),_c('b-row',{staticClass:\"details-row\"},[_c('b-col',{staticClass:\"details-label\",attrs:{\"cols\":\"3\"}},[_vm._v(\"Notes:\")]),_c('b-col',[_vm._v(_vm._s(bill.notes))])],1),(bill.workOrderBillLineItems)?_c('b-table',{attrs:{\"fields\":_vm.projectWorkOrderBillLineItemFields,\"items\":bill.workOrderBillLineItems,\"sort-by\":_vm.sortBy,\"sort-desc\":_vm.sortDesc,\"bordered\":\"\",\"hover\":\"\",\"small\":\"\",\"striped\":\"\"},on:{\"update:sortBy\":function($event){_vm.sortBy=$event},\"update:sort-by\":function($event){_vm.sortBy=$event},\"update:sortDesc\":function($event){_vm.sortDesc=$event},\"update:sort-desc\":function($event){_vm.sortDesc=$event}}}):_vm._e(),(bill.workOrderBillIncentivePayments)?_c('b-table',{attrs:{\"fields\":_vm.projectWorkOrderBillIncentivePaymentFields,\"items\":bill.workOrderBillIncentivePayments,\"sort-by\":_vm.sortBy,\"sort-desc\":_vm.sortDesc,\"bordered\":\"\",\"hover\":\"\",\"small\":\"\",\"striped\":\"\"},on:{\"update:sortBy\":function($event){_vm.sortBy=$event},\"update:sort-by\":function($event){_vm.sortBy=$event},\"update:sortDesc\":function($event){_vm.sortDesc=$event},\"update:sort-desc\":function($event){_vm.sortDesc=$event}},scopedSlots:_vm._u([{key:\"cell(incentiveType)\",fn:function(row){return [_vm._v(\" \"+_vm._s(_vm.getIncentiveType(bill, row.item))+\" \")]}},{key:\"cell(amountBilled)\",fn:function(row){return [_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")((row.item.amountBilled)))+\" \")]}}],null,true)}):_vm._e(),_c('b-row',[_c('div',{staticClass:\"col-12 text-right\"},[(_vm.isBillVoidVisible(bill))?_c('b-button',{staticClass:\"rounded-pill work-order-bill-approval-button\",attrs:{\"variant\":\"danger\",\"title\":\"Void Bill\"},on:{\"click\":function($event){return _vm.onBillVoidClick(bill)}}},[_c('span',[_vm._v(\"Void Bill\")])]):_vm._e(),(_vm.isBillSubmitForApprovalVisible(bill))?_c('b-button',{staticClass:\"rounded-pill work-order-bill-approval-button\",attrs:{\"variant\":\"primary\",\"title\":\"Submit for Approval\"},on:{\"click\":function($event){return _vm.onBillSubmitForApprovalClick(bill)}}},[_c('span',[_vm._v(\"Submit for Approval\")])]):_vm._e(),(_vm.isBillSubmitForPaymentVisible(bill))?_c('b-button',{staticClass:\"rounded-pill work-order-bill-approval-button\",attrs:{\"variant\":\"primary\",\"title\":\"Submit for Payment\"},on:{\"click\":function($event){return _vm.onBillSubmitForPaymentClick(bill)}}},[_c('span',[_vm._v(\"Submit for Payment\")])]):_vm._e(),(_vm.isBillApproveVisible(bill))?_c('b-button',{staticClass:\"rounded-pill work-order-bill-approval-button\",attrs:{\"variant\":\"primary\",\"title\":\"Approve\"},on:{\"click\":function($event){return _vm.onBillApproveClick(bill)}}},[_c('span',[_vm._v(\"Approve\")])]):_vm._e(),(_vm.isBillPaidVisible(bill))?_c('b-button',{staticClass:\"rounded-pill work-order-bill-approval-button\",attrs:{\"variant\":\"primary\",\"title\":\"Paid\"},on:{\"click\":function($event){return _vm.onBillPaidClick(bill)}}},[_c('span',[_vm._v(\"Paid\")])]):_vm._e()],1)])],1):_c('b-collapse',{staticClass:\"card card-body\",attrs:{\"id\":(\"bill-\" + (bill.id) + \"-card\"),\"visible\":_vm.getBillVisible(bill)}},[_c('b-row',{staticClass:\"details-row\"},[_c('b-col',{staticClass:\"details-label\",attrs:{\"cols\":\"2\"}},[_vm._v(\"Status:\")]),_c('b-col',{attrs:{\"cols\":\"4\"}},[_vm._v(_vm._s(bill.status))]),_c('b-col',{staticClass:\"details-label\",attrs:{\"cols\":\"2\"}},[_vm._v(\"Entered By:\")]),_c('b-col',{attrs:{\"cols\":\"4\"}},[_vm._v(_vm._s(bill.createdByName))])],1),_c('b-row',{staticClass:\"details-row\"},[_c('b-col',{staticClass:\"details-label\",attrs:{\"cols\":\"2\"}},[_vm._v(\"Invoiced:\")]),_c('b-col',{attrs:{\"cols\":\"4\"}},[_vm._v(_vm._s((new Date(bill.billDate)).toLocaleDateString()))]),_c('b-col',{staticClass:\"details-label\",attrs:{\"cols\":\"2\"}},[_vm._v(\"Received:\")]),_c('b-col',{attrs:{\"cols\":\"4\"}},[_vm._v(_vm._s((new Date(bill.receivedDate)).toLocaleDateString()))])],1),_c('hr',{staticClass:\"project-workorder-bills-horizontal-rule project-workorder-bills-notes-horizontal-rule\"}),_c('b-row',{staticClass:\"details-row\"},[_c('b-col',{staticClass:\"details-label\",attrs:{\"cols\":\"3\"}},[_vm._v(\"Notes:\")]),_c('b-col',[_vm._v(_vm._s(bill.notes))])],1),(bill.workOrderBillLineItems)?_c('b-table',{attrs:{\"fields\":_vm.projectWorkOrderBillLineItemFields,\"items\":bill.workOrderBillLineItems,\"sort-by\":_vm.sortBy,\"sort-desc\":_vm.sortDesc,\"bordered\":\"\",\"hover\":\"\",\"small\":\"\",\"striped\":\"\"},on:{\"update:sortBy\":function($event){_vm.sortBy=$event},\"update:sort-by\":function($event){_vm.sortBy=$event},\"update:sortDesc\":function($event){_vm.sortDesc=$event},\"update:sort-desc\":function($event){_vm.sortDesc=$event}}}):_vm._e(),(bill.workOrderBillIncentivePayments)?_c('b-table',{attrs:{\"fields\":_vm.projectWorkOrderBillIncentivePaymentFields,\"items\":bill.workOrderBillIncentivePayments,\"sort-by\":_vm.sortBy,\"sort-desc\":_vm.sortDesc,\"bordered\":\"\",\"hover\":\"\",\"small\":\"\",\"striped\":\"\"},on:{\"update:sortBy\":function($event){_vm.sortBy=$event},\"update:sort-by\":function($event){_vm.sortBy=$event},\"update:sortDesc\":function($event){_vm.sortDesc=$event},\"update:sort-desc\":function($event){_vm.sortDesc=$event}},scopedSlots:_vm._u([{key:\"cell(incentiveType)\",fn:function(row){return [_vm._v(\" \"+_vm._s(_vm.getIncentiveType(bill, row.item))+\" \")]}},{key:\"cell(amountBilled)\",fn:function(row){return [_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")((row.item.amountBilled)))+\" \")]}}],null,true)}):_vm._e(),_c('b-row',[_c('div',{staticClass:\"col-12 text-right\"},[(_vm.isBillVoidVisible(bill))?_c('b-button',{staticClass:\"rounded-pill work-order-bill-approval-button\",attrs:{\"variant\":\"danger\",\"title\":\"Void Bill\"},on:{\"click\":function($event){return _vm.onBillVoidClick(bill)}}},[_c('span',[_vm._v(\"Void Bill\")])]):_vm._e(),(_vm.isBillSubmitForApprovalVisible(bill))?_c('b-button',{staticClass:\"rounded-pill work-order-bill-approval-button\",attrs:{\"variant\":\"primary\",\"title\":\"Submit for Approval\"},on:{\"click\":function($event){return _vm.onBillSubmitForApprovalClick(bill)}}},[_c('span',[_vm._v(\"Submit for Approval\")])]):_vm._e(),(_vm.isBillSubmitForPaymentVisible(bill))?_c('b-button',{staticClass:\"rounded-pill work-order-bill-approval-button\",attrs:{\"variant\":\"primary\",\"title\":\"Submit for Payment\"},on:{\"click\":function($event){return _vm.onBillSubmitForPaymentClick(bill)}}},[_c('span',[_vm._v(\"Submit for Payment\")])]):_vm._e(),(_vm.isBillApproveVisible(bill))?_c('b-button',{staticClass:\"rounded-pill work-order-bill-approval-button\",attrs:{\"variant\":\"primary\",\"title\":\"Approve\"},on:{\"click\":function($event){return _vm.onBillApproveClick(bill)}}},[_c('span',[_vm._v(\"Approve\")])]):_vm._e(),(_vm.isBillPaidVisible(bill))?_c('b-button',{staticClass:\"rounded-pill work-order-bill-approval-button\",attrs:{\"variant\":\"primary\",\"title\":\"Paid\"},on:{\"click\":function($event){return _vm.onBillPaidClick(bill)}}},[_c('span',[_vm._v(\"Paid\")])]):_vm._e()],1)])],1)],1)}),0):_c('div',{staticClass:\"card-body\"},[_vm._v(\" No Bills have been added to this Work Order. \")])])],1):_vm._e()],1)])}),1):_vm._e(),(_vm.projectWorkorders && _vm.projectWorkorders.length === 0)?_c('b-tabs',[_c('div',{staticClass:\"card-body\"},[_vm._v(\"No Work Orders have been added to this project.\")])]):_vm._e()],1),(_vm.projectWorkorderEditIsVisible)?_c('ProjectWorkorderEdit'):_vm._e(),(_vm.projectWorkorderLineItemAddIsVisible)?_c('ProjectWorkorderLineItemAdd'):_vm._e(),(_vm.projectWorkorderIncentivePaymentAddIsVisible)?_c('ProjectWorkorderIncentivePaymentAdd'):_vm._e(),(_vm.projectWorkorderLineItemEditIsVisible)?_c('ProjectWorkorderLineItemEdit'):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/* eslint-disable max-len, padded-blocks, prefer-destructuring */\nimport { mapState } from 'vuex';\n\nexport default {\n data() {\n return {\n workorder: null,\n };\n },\n computed: {\n ...mapState(['config']),\n ...mapState('Membership', {\n memberOf: (state) => state.memberOf,\n }),\n ...mapState('Workorder', {\n errorMessage: (state) => state.errorMessage,\n }),\n isJuniorPlanner() {\n // Everyone is considered a Junior Planner until the data is finished loading\n // to prevent the button from being visible and then having it disappear again\n if (!this.config || !this.memberOf || this.memberOf.length === 0) return true;\n const groups = this.memberOf.map((e) => e.displayName);\n const isJuniorPlanner = groups.includes('Acorn Junior Planner');\n return isJuniorPlanner;\n },\n isWorkOrderSubmitForReviewMember() {\n if (!this.config || !this.memberOf || this.memberOf.length === 0) return false;\n const roles = this.config.workOrderForm.submitForReviewRoles;\n return this.memberOf.filter((item) => roles.includes(item.displayName)).length > 0;\n },\n isWorkOrderSubmitToVendorMember() {\n if (!this.config || !this.memberOf || this.memberOf.length === 0) return false;\n const roles = this.config.workOrderForm.submitToVendorRoles;\n return this.memberOf.filter((item) => roles.includes(item.displayName)).length > 0;\n },\n isWorkOrderAcceptedByVendorMember() {\n if (!this.config || !this.memberOf || this.memberOf.length === 0) return false;\n const roles = this.config.workOrderForm.acceptedByVendorRoles;\n return this.memberOf.filter((item) => roles.includes(item.displayName)).length > 0;\n },\n isWorkOrderCompleteMember() {\n if (!this.config || !this.memberOf || this.memberOf.length === 0) return false;\n const roles = this.config.workOrderForm.completeRoles;\n return this.memberOf.filter((item) => roles.includes(item.displayName)).length > 0;\n },\n isWorkOrderCancelMember() {\n if (!this.config || !this.memberOf || this.memberOf.length === 0) return false;\n const roles = this.config.workOrderForm.cancelRoles;\n return this.memberOf.filter((item) => roles.includes(item.displayName)).length > 0;\n },\n },\n methods: {\n isWorkorderSubmitForReviewVisible(workorder) {\n\n let isVisible = false;\n\n if (!this.config) return isVisible;\n\n switch (workorder.status) {\n case this.config.workOrderForm.submitStatus.Draft:\n isVisible = true;\n break;\n default:\n isVisible = false;\n }\n\n return isVisible;\n },\n isWorkorderSubmitToVendorVisible(workorder) {\n\n let isVisible = false;\n\n if (!this.config) return isVisible;\n\n switch (workorder.status) {\n case this.config.workOrderForm.submitStatus.Draft:\n isVisible = true;\n break;\n case this.config.workOrderForm.submitStatus.Review:\n isVisible = true;\n break;\n default:\n isVisible = false;\n }\n\n return isVisible;\n },\n isWorkorderSubmitToVendorVisibleForJuniorPlanner(workorder) {\n\n let isVisible = false;\n\n if (!this.config) return isVisible;\n\n switch (workorder.status) {\n case this.config.workOrderForm.submitStatus.Submitted:\n isVisible = true;\n break;\n default:\n isVisible = false;\n }\n\n return isVisible;\n },\n isWorkorderAcceptedByVendorVisible(workorder) {\n\n let isVisible = false;\n\n if (!this.config) return isVisible;\n\n switch (workorder.status) {\n case this.config.workOrderForm.submitStatus.Submitted:\n isVisible = true;\n break;\n default:\n isVisible = false;\n }\n\n return isVisible;\n },\n\n isWorkorderCompleteDisabled(workorder) {\n\n if (!this.config) {\n console.warn('Exit isWorkorderCompleteDisabled(): !this.config');\n return true;\n }\n\n if (workorder.status !== this.config.workOrderForm.submitStatus.Accepted) {\n console.warn('Exit isWorkorderCompleteDisabled(): workorder.status !== Accepted');\n return true;\n }\n\n if (workorder.workOrderBills?.length) {\n const billCount = workorder.workOrderBills.length;\n const paidCount = workorder.workOrderBills.filter((e) => e.status === this.config.workOrderBillForm.submitStatus.Paid).length;\n const voidCount = workorder.workOrderBills.filter((e) => e.status === this.config.workOrderBillForm.submitStatus.Voided).length;\n if (billCount !== (paidCount + voidCount)) {\n console.warn('Exit isWorkorderCompleteDisabled(): billCount !== (paidCount + voidCount)');\n return true;\n }\n }\n\n if (workorder.workOrderLineItems?.length) {\n const hasIncompleteWorkOrderLineItems = workorder.workOrderLineItems.some((e) => e.billingComplete === false);\n if (hasIncompleteWorkOrderLineItems) {\n console.warn('Exit isWorkorderCompleteDisabled(): hasIncompleteWorkOrderLineItems');\n return true;\n }\n }\n\n return false;\n },\n isWorkorderCompleteDisabledTitle(workorder) {\n\n if (!this.config) return 'Loading...';\n\n if (workorder.status !== this.config.workOrderForm.submitStatus.Accepted) {\n return 'This action only applies to accepted Work Orders';\n }\n\n if (workorder.workOrderBills && workorder.workOrderBills !== null && workorder.workOrderBills.length > 0) {\n const billCount = workorder.workOrderBills.length;\n const paidCount = workorder.workOrderBills.filter((e) => e.status === this.config.workOrderBillForm.submitStatus.Paid).length;\n const voidCount = workorder.workOrderBills.filter((e) => e.status === this.config.workOrderBillForm.submitStatus.Voided).length;\n if (billCount !== (paidCount + voidCount)) {\n return 'You cannot complete this Work Order because one or more Bills remain unpaid and/or unvoided';\n }\n }\n\n if (workorder.workOrderLineItems && workorder.workOrderLineItems !== null && workorder.workOrderLineItems.length > 0) {\n const isDisabled = workorder.workOrderLineItems.some((e) => e.billingComplete === false);\n if (isDisabled) {\n return 'You cannot complete this Work Order because one or more Services or Materials have incomplete billing.';\n }\n }\n\n return 'Complete Work Order';\n },\n isWorkorderCompleteVisible(workorder) {\n if (!this.config) return false;\n switch (workorder.status) {\n case this.config.workOrderForm.submitStatus.Accepted:\n return true;\n default:\n return false;\n }\n },\n isWorkorderCancelDisabled(workorder) {\n\n if (workorder.workOrderBills && workorder.workOrderBills !== null && workorder.workOrderBills.length > 0) {\n const billCount = workorder.workOrderBills.length;\n const voidCount = workorder.workOrderBills.filter((e) => e.status === this.config.workOrderBillForm.submitStatus.Voided).length;\n if (billCount !== voidCount) {\n return true;\n }\n }\n\n return false;\n },\n isWorkorderCancelDisabledTitle(workorder) {\n\n if (workorder.workOrderBills && workorder.workOrderBills !== null && workorder.workOrderBills.length > 0) {\n const billCount = workorder.workOrderBills.length;\n const voidCount = workorder.workOrderBills.filter((e) => e.status === this.config.workOrderBillForm.submitStatus.Voided).length;\n if (billCount !== voidCount) {\n return 'This action is only available when all Bills have been Voided';\n }\n }\n\n return 'Cancel Work Order';\n },\n isWorkorderCancelVisible(workorder) {\n if (!this.config) return false;\n switch (workorder.status) {\n case this.config.workOrderForm.submitStatus.Draft:\n return true;\n case this.config.workOrderForm.submitStatus.Review:\n return true;\n case this.config.workOrderForm.submitStatus.Submitted:\n return true;\n case this.config.workOrderForm.submitStatus.Accepted:\n return true;\n default:\n return false;\n }\n },\n workorderSubmitForReviewOnClick(workorder) {\n this.workorder = workorder;\n if ((!this.workorder.workOrderLineItems || this.workorder.workOrderLineItems === null || this.workorder.workOrderLineItems.length === 0)\n && (!this.workorder.workOrderProjectIncentives || this.workorder.workOrderProjectIncentives === null || this.workorder.workOrderProjectIncentives.length === 0)) {\n this.$bvModal.show('workorderInvalidLineItemsModal');\n } else {\n this.$bvModal.show('workorderSubmitForReviewModal');\n }\n },\n workorderSubmitForReviewOnClickOk() {\n this.workorderSubmitOnClick(\n this.workorder,\n this.config.workOrderForm.submitStatus.Review,\n );\n if (!this.errorMessage || this.errorMessage === '') {\n window.location.href = `mailto:?subject=Work Order Needs Review&body=${this.project.projectName} - ${this.workorder.workOrderName}: ${this.workorderUrl()}`;\n }\n },\n workorderUrl() {\n return `${window.location.href.slice(0, window.location.href.lastIndexOf('workorders'))}workorders/${this.workorder.id}`;\n },\n workorderSubmitToVendorOnClick(workorder, workorders, projectWorkorderLineItemFundingSources, projectBudgetYearSnapshots, fundingSources) {\n this.workorder = workorder;\n if ((!this.workorder.workOrderLineItems || this.workorder.workOrderLineItems === null || this.workorder.workOrderLineItems.length === 0)\n && (!this.workorder.workOrderProjectIncentives || this.workorder.workOrderProjectIncentives === null || this.workorder.workOrderProjectIncentives.length === 0)) {\n this.$bvModal.show('workorderInvalidLineItemsModal');\n return;\n }\n\n const exceededItems = this.workOrderValid(workorder, workorders, projectWorkorderLineItemFundingSources, projectBudgetYearSnapshots, fundingSources);\n if (exceededItems.length !== 0) {\n this.$bvModal.show('workorderInvalidLineItemsTotalsModal');\n return;\n }\n\n this.$bvModal.show('workorderSubmitToVendorModal');\n },\n workOrderValid(workorder, workorders, projectWorkorderLineItemFundingSources, projectBudgetYearSnapshots, fundingSources) {\n const workOrderFiscalYear = this.getFiscalYear(workorder.requestedDate);\n const workOrderDistrictOrPartnerCost = this.GetWorkOrderDistrictOrPartnerCosts(workorder, projectWorkorderLineItemFundingSources);\n const workOrdersDistrictOrPartnerCost = this.GetOtherWorkOrdersDistrictOrPartnerCosts(workorder, workorders, projectWorkorderLineItemFundingSources, workOrderFiscalYear);\n const paidWorkOrderTotals = this.GetPaidWorkOrderTotals(workorders, projectWorkorderLineItemFundingSources, workOrderFiscalYear);\n const workOrderSnapshotTotal = this.GetWorkOrderSnapshotDistrictOrPartnerTotal(projectBudgetYearSnapshots, projectWorkorderLineItemFundingSources, workOrderFiscalYear);\n const workOrderAnnualIncreaseTotal = this.GetWorkOrderSnapshotAnnualAdjustmentTotal(projectBudgetYearSnapshots, projectWorkorderLineItemFundingSources, workOrderFiscalYear);\n\n const totals = [];\n Object.keys(workOrderDistrictOrPartnerCost).forEach((e) => {\n const workOrderCost = workOrderDistrictOrPartnerCost[e];\n const otherCost = workOrdersDistrictOrPartnerCost[e];\n const payments = paidWorkOrderTotals[e];\n const snapshotTotal = workOrderSnapshotTotal[e];\n const adjustmentTotal = workOrderAnnualIncreaseTotal[e];\n\n const fundingSource = fundingSources.filter((fs) => fs.recorD_ID.toString() === e.toString());\n let fundingSourceName = '';\n if (fundingSource.length === 1) {\n fundingSourceName = fundingSource[0].recorD_NAME;\n }\n\n const item = {\n id: e,\n name: fundingSourceName,\n total: snapshotTotal + adjustmentTotal - (workOrderCost + otherCost + payments),\n };\n totals.push(item);\n });\n\n const exceededItems = totals.filter((e) => e.total < 0);\n return exceededItems;\n },\n GetWorkOrderSnapshotAnnualAdjustmentTotal(projectBudgetYearSnapshots, projectWorkorderLineItemFundingSources, workOrderFiscalYear) {\n const fundingSourceIds = Array.from(new Set(\n projectWorkorderLineItemFundingSources.map(\n (e) => e.fundingSourceId,\n ),\n ));\n\n const adjustmentTotal = {};\n fundingSourceIds.forEach((e) => {\n adjustmentTotal[e.toString()] = 0.0;\n });\n\n const currentProjectBudgetYear = projectBudgetYearSnapshots.find((by) => by.year === workOrderFiscalYear);\n if (!currentProjectBudgetYear || currentProjectBudgetYear === null) {\n return [];\n }\n\n currentProjectBudgetYear.projectBudgetYear.annualBudgetIncreases.forEach((inc) => {\n if (adjustmentTotal[inc.fundingSourceId] !== undefined) {\n adjustmentTotal[inc.fundingSourceId.toString()] += inc.adjustmentToAnnualBudget;\n }\n });\n\n return adjustmentTotal;\n },\n GetWorkOrderSnapshotDistrictOrPartnerTotal(projectBudgetYearSnapshots, projectWorkorderLineItemFundingSources, workOrderFiscalYear) {\n const fundingSourceIds = Array.from(new Set(\n projectWorkorderLineItemFundingSources.map(\n (e) => e.fundingSourceId,\n ),\n ));\n\n const snapshotTotal = {};\n fundingSourceIds.forEach((e) => {\n snapshotTotal[e.toString()] = 0.0;\n });\n\n const projectBudgetLineItemSnapshots = projectBudgetYearSnapshots.filter(\n (e) => e.year === workOrderFiscalYear,\n ).map((e) => e.projectBudgetLineItemSnapshots).flat();\n\n projectBudgetLineItemSnapshots.forEach((e) => {\n const fsource = projectWorkorderLineItemFundingSources.find((fs) => fs.fundingSourceId.toString() === e.fundingSourceId.toString());\n if (fsource && fsource !== null && snapshotTotal[fsource.fundingSourceId.toString()] !== null) {\n const baseCost = ((e.quantity * e.unitCost) * (e.costShare * 0.01));\n const contingency = baseCost * e.contingencyPercent * 0.01;\n snapshotTotal[fsource.fundingSourceId.toString()] += (baseCost + contingency);\n }\n });\n\n return snapshotTotal;\n },\n GetPaidWorkOrderTotals(workorders, projectWorkorderLineItemFundingSources, workOrderFiscalYear) {\n const fundingSourceIds = Array.from(new Set(\n projectWorkorderLineItemFundingSources.map(\n (e) => e.fundingSourceId,\n ),\n ));\n\n const workOrdersPaidBillsTotals = {};\n\n fundingSourceIds.forEach((e) => {\n workOrdersPaidBillsTotals[e.toString()] = 0.0;\n });\n\n const workOrderBills = workorders.filter((e) => e.status === 'Completed'\n && this.getFiscalYear(e.requestedDate) === workOrderFiscalYear).map(\n (e) => e.workOrderBills,\n ).flat();\n\n const workOrderBillLineItems = workOrderBills.filter((e) => e.status === 'Paid').map(\n (e) => e.workOrderBillLineItems,\n ).flat();\n\n workOrderBillLineItems.forEach((e) => {\n const fsource = projectWorkorderLineItemFundingSources.find((fs) => fs.workOrderLineItemId === e.workOrderLineItemId);\n workOrdersPaidBillsTotals[fsource.fundingSourceId.toString()] += ((e.quantity * e.salePrice));\n });\n\n return workOrdersPaidBillsTotals;\n },\n GetOtherWorkOrdersDistrictOrPartnerCosts(workorder, workorders, projectWorkorderLineItemFundingSources, workOrderFiscalYear) {\n const fundingSourceIds = Array.from(new Set(\n projectWorkorderLineItemFundingSources.map(\n (e) => e.fundingSourceId,\n ),\n ));\n\n const workOrdersDistrictOrPartnerCost = {};\n fundingSourceIds.forEach((e) => {\n workOrdersDistrictOrPartnerCost[e.toString()] = 0.0;\n });\n\n const workorderLineItems = workorders.filter((e) => e.id !== workorder.id\n && (this.getFiscalYear(e.requestedDate) === workOrderFiscalYear)\n && (e.status === 'Accepted' || e.status === 'Submitted' || e.status === 'Review')).map(\n (e) => e.workOrderLineItems,\n ).flat();\n\n workorderLineItems.forEach((e) => {\n const fsource = projectWorkorderLineItemFundingSources.find((fs) => fs.workOrderLineItemId === e.workOrderLineItemId);\n workOrdersDistrictOrPartnerCost[fsource.fundingSourceId.toString()] += ((e.quantity * e.salePrice) * (e.districtAndPartnerCost * 0.01));\n });\n\n return workOrdersDistrictOrPartnerCost;\n },\n GetWorkOrderDistrictOrPartnerCosts(workorder, projectWorkorderLineItemFundingSources) {\n const workorderLineItems = workorder.workOrderLineItems;\n const fundingSourceIds = workorderLineItems.map((e) => e.fundingSourceId);\n\n const workOrderDistrictOrPartnerCost = {};\n fundingSourceIds.forEach((e) => {\n workOrderDistrictOrPartnerCost[e.toString()] = 0.0;\n });\n\n workorderLineItems.forEach((e) => {\n const fsource = projectWorkorderLineItemFundingSources.find((fs) => fs.workOrderLineItemId === e.workOrderLineItemId);\n workOrderDistrictOrPartnerCost[fsource.fundingSourceId.toString()] += ((e.quantity * e.salePrice) * (e.districtAndPartnerCost * 0.01));\n });\n\n return workOrderDistrictOrPartnerCost;\n },\n workorderSubmitToVendorOnClickOk() {\n this.workorderSubmitOnClick(\n this.workorder,\n this.config.workOrderForm.submitStatus.Submitted,\n );\n },\n workorderAcceptedByVendorOnClick(workorder, workorders, projectWorkorderLineItemFundingSources, projectBudgetYearSnapshots, fundingSources) {\n this.workorder = workorder;\n if ((!this.workorder.workOrderLineItems || this.workorder.workOrderLineItems === null || this.workorder.workOrderLineItems.length === 0)\n && (!this.workorder.workOrderProjectIncentives || this.workorder.workOrderProjectIncentives === null || this.workorder.workOrderProjectIncentives.length === 0)) {\n this.$bvModal.show('workorderInvalidLineItemsModal');\n return;\n }\n\n const exceededItems = this.workOrderValid(workorder, workorders, projectWorkorderLineItemFundingSources, projectBudgetYearSnapshots, fundingSources);\n if (exceededItems.length !== 0) {\n this.$bvModal.show('workorderInvalidLineItemsTotalsModal');\n return;\n }\n\n this.$bvModal.show('workorderAcceptedByVendorModal');\n },\n workorderAcceptedByVendorOnClickOk() {\n this.workorderSubmitOnClick(\n this.workorder,\n this.config.workOrderForm.submitStatus.Accepted,\n );\n },\n workorderCompleteOnClick(workorder) {\n this.workorder = workorder;\n if ((!this.workorder.workOrderLineItems || this.workorder.workOrderLineItems === null || this.workorder.workOrderLineItems.length === 0)\n && (!this.workorder.workOrderProjectIncentives || this.workorder.workOrderProjectIncentives === null || this.workorder.workOrderProjectIncentives.length === 0)) {\n this.$bvModal.show('workorderInvalidLineItemsModal');\n } else {\n this.$bvModal.show('workorderCompleteModal');\n }\n },\n workorderCompleteOnClickOk() {\n this.workorderSubmitOnClick(\n this.workorder,\n this.config.workOrderForm.submitStatus.Completed,\n );\n },\n workorderCancelOnClick(workorder) {\n this.workorder = workorder;\n this.$bvModal.show('workorderCancelModal');\n },\n workorderCancelOnClickOk() {\n this.workorderSubmitOnClick(\n this.workorder,\n this.config.workOrderForm.submitStatus.Cancelled,\n );\n },\n workorderSubmitOnClick(workorder, status) {\n (async () => {\n await this.$store.dispatch('Workorder/setFormLoading', true);\n const model = { id: workorder.id, status };\n await this.$store.dispatch('Workorder/setWorkorderStatus', model);\n /* eslint-disable-next-line */\n workorder.status = status;\n\n await this.$store.dispatch(\n 'Project/getProjectIncentivePayments',\n this.project.id,\n );\n\n await this.$store.dispatch('Workorder/setFormLoading', false);\n })();\n },\n },\n};\n","/* eslint-disable max-len, padded-blocks, prefer-destructuring */\n\nexport default {\n computed: {\n projectWorkOrderBillableRemaining() {\n let projectWorkOrderBillableRemaining = this.projectWorkOrderBillModel.workOrderTotal - this.projectWorkOrderBillModel.otherBillsTotal - this.getBillPaymentTotal(this.projectWorkOrderBillModel);\n projectWorkOrderBillableRemaining = Math.round(projectWorkOrderBillableRemaining * 100) / 100;\n return projectWorkOrderBillableRemaining;\n },\n },\n methods: {\n getWorkorderTotal(workOrder) {\n const workOrderLineItems = workOrder.workOrderLineItems || [];\n const workOrderIncentives = workOrder.workOrderProjectIncentives || [];\n\n const workOrderLineItemTotals = workOrderLineItems.map((e) => (e.quantity * e.salePrice));\n const workOrderIncentiveTotals = workOrderIncentives.map((e) => (e.paymentAmount));\n\n let workOrderLineItemTotal = 0;\n let workOrderIncentiveTotal = 0;\n\n if (workOrderLineItemTotals.length > 0) {\n workOrderLineItemTotal = workOrderLineItemTotals.reduce((a, b) => a + b);\n }\n if (workOrderIncentiveTotals.length > 0) {\n workOrderIncentiveTotal = workOrderIncentiveTotals.reduce((a, b) => a + b);\n }\n\n workOrderLineItemTotal = Math.round(workOrderLineItemTotal * 100) / 100;\n workOrderIncentiveTotal = Math.round(workOrderIncentiveTotal * 100) / 100;\n\n return workOrderLineItemTotal + workOrderIncentiveTotal;\n },\n getWorkorderIncentivePaymentTotal(workOrder) {\n const workOrderIncentives = workOrder.workOrderProjectIncentives || [];\n const workOrderIncentivesTotals = workOrderIncentives.map((e) => e.paymentAmount);\n\n let workOrderIncentiveTotal = 0;\n if (workOrderIncentivesTotals.length > 0) {\n workOrderIncentiveTotal = workOrderIncentivesTotals.reduce((a, b) => a + b);\n }\n workOrderIncentiveTotal = Math.round(workOrderIncentiveTotal * 100) / 100;\n return workOrderIncentiveTotal;\n },\n getOtherBillsTotal(workOrder) {\n let workOrderBills = workOrder.workOrderBills || [];\n workOrderBills = workOrderBills.filter(\n (e) => e.status !== this.config.workOrderBillForm.submitStatus.Voided,\n );\n\n const workOrderBillLineItems = workOrderBills.map(\n (item) => item.workOrderBillLineItems,\n ).flat();\n\n const workOrderBillLineItemTotals = workOrderBillLineItems.map((e) => (e.quantity * e.salePrice));\n\n let workOrderBillLineItemTotal = 0;\n if (workOrderBillLineItemTotals.length > 0) {\n workOrderBillLineItemTotal = workOrderBillLineItemTotals.reduce((a, b) => a + b);\n }\n workOrderBillLineItemTotal = Math.round(workOrderBillLineItemTotal * 100) / 100;\n\n const workOrderBillIncentives = workOrderBills.map(\n (item) => item.workOrderBillIncentivePayments,\n ).flat();\n\n const workOrderBillIncentiveTotals = workOrderBillIncentives.map((e) => e.amountBilled);\n\n let workOrderBillIncentiveTotal = 0;\n if (workOrderBillIncentiveTotals.length > 0) {\n workOrderBillIncentiveTotal = workOrderBillIncentiveTotals.reduce((a, b) => a + b);\n }\n workOrderBillIncentiveTotal = Math.round(workOrderBillIncentiveTotal * 100) / 100;\n\n return workOrderBillLineItemTotal + workOrderBillIncentiveTotal;\n },\n getOtherWorkOrderBillTotal(workOrder, workOrderBill) {\n let workOrderBills = workOrder.workOrderBills || [];\n workOrderBills = workOrderBills.filter(\n (e) => e.status !== this.config.workOrderBillForm.submitStatus.Voided && e.id !== workOrderBill.id,\n );\n\n const workOrderBillLineItems = workOrderBills.map(\n (item) => item.workOrderBillLineItems,\n ).flat();\n\n const workOrderBillLineItemTotals = workOrderBillLineItems.map((e) => (e.quantity * e.salePrice));\n\n let workOrderBillTotal = 0;\n if (workOrderBillLineItemTotals.length > 0) {\n workOrderBillTotal = workOrderBillLineItemTotals.reduce((a, b) => a + b);\n }\n workOrderBillTotal = Math.round(workOrderBillTotal * 100) / 100;\n return workOrderBillTotal;\n },\n },\n};\n","/* eslint-disable max-len, padded-blocks, prefer-destructuring */\n\nexport default {\n data() {\n return {\n sortBy: 'lineItemProductName',\n sortDesc: false,\n projectWorkOrderBillLineItemFields: [\n {\n key: 'lineItemProductName',\n label: 'Service/Material',\n thClass: 'workorder-table-header',\n sortable: true,\n },\n {\n key: 'salePrice',\n label: 'Unit Cost',\n formatter: (value) => this.$options.filters.toCurrency(value),\n thClass: 'workorder-table-header',\n class: 'text-right currency-column',\n },\n {\n key: 'quantity',\n label: 'Qty Billed',\n thClass: 'workorder-table-header project-workorder-bills-items-quantity-header',\n class: 'text-right number-column',\n },\n {\n key: 'itemCost',\n label: 'Item Cost',\n formatter: (value) => this.$options.filters.toCurrency(value),\n thClass: 'workorder-table-header ',\n class: 'text-right currency-column',\n },\n {\n key: 'fundingSourceId',\n label: 'Funding Source',\n formatter: (value) => {\n if (value) {\n const fundingSource = this.fundingSources.find((e) => e.recorD_ID === value);\n if (fundingSource) {\n return fundingSource.recorD_NAME;\n }\n }\n return 'N/A';\n },\n thClass: 'workorder-table-header',\n sortable: true,\n sortByFormatted: true,\n },\n ],\n projectWorkOrderBillIncentivePaymentFields: [\n {\n key: 'incentiveType',\n label: 'Incentive Type',\n thClass: 'workorder-table-header',\n sortable: true,\n },\n {\n key: 'amountBilled',\n label: 'Amount Billed',\n thClass: 'workorder-table-header project-workorder-bills-items-quantity-header',\n class: 'align-middle text-right currency-column',\n },\n {\n key: 'fundingSourceId',\n label: 'Funding Source',\n formatter: (value) => {\n if (value) {\n const fundingSource = this.fundingSources.find((e) => e.recorD_ID === value);\n if (fundingSource) {\n return fundingSource.recorD_NAME;\n }\n }\n return 'N/A';\n },\n thClass: 'workorder-table-header',\n sortable: true,\n sortByFormatted: true,\n },\n ],\n projectWorkOrderBillLineItemFieldsAdd: [\n {\n key: 'lineItemProductName',\n label: 'Service/Material',\n thClass: 'workorder-table-header',\n class: 'align-middle',\n sortable: true,\n },\n {\n key: 'salePrice',\n label: 'Unit Cost',\n thClass: 'workorder-table-header',\n class: 'align-middle text-right currency-column',\n },\n {\n key: 'lineItemQuantity',\n label: 'Original Qty',\n thClass: 'workorder-table-header project-workorder-bills-items-quantity-header',\n class: 'align-middle text-right number-column',\n },\n {\n key: 'lineItemQuantityBilledToDate',\n label: 'Qty Bill-to-Date',\n thClass: 'workorder-table-header project-workorder-bills-items-quantity-header',\n class: 'align-middle text-right number-column',\n },\n {\n key: 'quantity',\n label: 'Qty Billed',\n thClass: 'workorder-table-header project-workorder-bills-items-quantity-header project-workorder-bills-items-required-header',\n class: 'align-middle text-right number-column',\n },\n {\n key: 'lineItemProductUnit',\n label: 'Units',\n formatter: (value) => {\n if (value) {\n return value;\n }\n return '';\n },\n thClass: 'workorder-table-header',\n class: 'align-middle',\n },\n {\n key: 'itemCost',\n label: 'Item Cost',\n thClass: 'workorder-table-header',\n class: 'align-middle text-right currency-column',\n },\n {\n key: 'fundingSourceId',\n label: 'Funding Source',\n formatter: (value) => {\n if (value) {\n const fundingSource = this.fundingSources.find((e) => e.recorD_ID === value);\n if (fundingSource) {\n return fundingSource.recorD_NAME;\n }\n }\n return 'N/A';\n },\n thClass: 'workorder-table-header',\n class: 'align-middle',\n },\n ],\n projectWorkOrderBillIncentivePaymentFieldsAdd: [\n {\n key: 'billSelected',\n label: 'Select',\n thClass: 'workorder-table-header',\n class: 'align-middle',\n },\n {\n key: 'incentiveType',\n label: 'Incentive Type',\n thClass: 'workorder-table-header',\n class: 'align-middle',\n sortable: true,\n },\n {\n key: 'paymentAmount',\n label: 'Payment Amount',\n thClass: 'workorder-table-header',\n class: 'align-middle text-right currency-column',\n },\n {\n key: 'amountBilled',\n label: 'Amount Billed',\n thClass: 'workorder-table-header project-workorder-bills-items-quantity-header project-workorder-bills-items-required-header',\n class: 'align-middle text-right number-column',\n },\n {\n key: 'fundingSourceId',\n label: 'Funding Source',\n formatter: (value) => {\n if (value) {\n const fundingSource = this.fundingSources.find((e) => e.recorD_ID === value);\n if (fundingSource) {\n return fundingSource.recorD_NAME;\n }\n }\n return 'N/A';\n },\n thClass: 'workorder-table-header',\n class: 'align-middle',\n },\n ],\n projectWorkOrderBillLineItemFieldsEdit: [\n {\n key: 'lineItemProductName',\n label: 'Service/Material',\n thClass: 'workorder-table-header',\n class: 'align-middle',\n sortable: true,\n },\n {\n key: 'salePrice',\n label: 'Unit Cost',\n thClass: 'workorder-table-header',\n class: 'align-middle text-right currency-column',\n },\n {\n key: 'lineItemQuantity',\n label: 'Original Qty',\n thClass: 'workorder-table-header project-workorder-bills-items-quantity-header',\n class: 'align-middle text-right number-column',\n },\n {\n key: 'lineItemQuantityBilledToDate',\n label: 'Qty Bill-to-Date',\n thClass: 'workorder-table-header project-workorder-bills-items-quantity-header',\n class: 'align-middle text-right number-column',\n },\n {\n key: 'quantity',\n label: 'Qty Billed',\n thClass: 'workorder-table-header project-workorder-bills-items-quantity-header project-workorder-bills-items-required-header',\n class: 'align-middle text-right number-column',\n },\n {\n key: 'lineItemProductUnit',\n label: 'Units',\n formatter: (value) => {\n if (value) {\n return value;\n }\n return '';\n },\n thClass: 'workorder-table-header',\n class: 'align-middle',\n },\n {\n key: 'itemCost',\n label: 'Item Cost',\n thClass: 'workorder-table-header',\n class: 'align-middle text-right currency-column',\n },\n {\n key: 'fundingSourceId',\n label: 'Funding Source',\n formatter: (value) => {\n if (value) {\n const fundingSource = this.fundingSources.find((e) => e.recorD_ID === value);\n if (fundingSource) {\n return fundingSource.recorD_NAME;\n }\n }\n return 'N/A';\n },\n thClass: 'workorder-table-header',\n class: 'align-middle',\n },\n ],\n projectWorkOrderBillIncentivePaymentFieldsEdit: [\n {\n key: 'billSelected',\n label: 'Selected',\n thClass: 'workorder-table-header',\n class: 'align-middle',\n },\n {\n key: 'incentiveType',\n label: 'Incentive Type',\n thClass: 'workorder-table-header',\n class: 'align-middle',\n sortable: true,\n },\n {\n key: 'paymentAmount',\n label: 'Payment Amount',\n thClass: 'workorder-table-header',\n class: 'align-middle text-right currency-column',\n },\n {\n key: 'amountBilled',\n label: 'Amount Billed',\n thClass: 'workorder-table-header project-workorder-bills-items-quantity-header project-workorder-bills-items-required-header',\n class: 'align-middle text-right number-column',\n },\n {\n key: 'fundingSourceId',\n label: 'Funding Source',\n formatter: (value) => {\n if (value) {\n const fundingSource = this.fundingSources.find((e) => e.recorD_ID === value);\n if (fundingSource) {\n return fundingSource.recorD_NAME;\n }\n }\n return 'N/A';\n },\n thClass: 'workorder-table-header',\n class: 'align-middle',\n },\n ],\n };\n },\n};\n","/* eslint-disable padded-blocks, prefer-destructuring */\nimport { mapState } from 'vuex';\n\nexport default {\n computed: {\n ...mapState(['config']),\n ...mapState('Membership', {\n memberOf: (state) => state.memberOf,\n }),\n isBillViewer() {\n return this.hasAnyRole(this.config?.workOrderBillForm.viewerRoles);\n },\n isBillEditor() {\n return this.hasAnyRole(this.config?.workOrderBillForm.editorRoles);\n },\n isBillSubmitter() {\n return this.hasAnyRole(this.config?.workOrderBillForm.submitterRoles);\n },\n isBillApprover() {\n return this.hasAnyRole(this.config?.workOrderBillForm.approverRoles);\n },\n },\n methods: {\n hasAnyRole(roles) {\n return roles && this.memberOf?.some((item) => roles.includes(item.displayName));\n },\n isBillAddVisible() {\n return this.isBillEditor;\n },\n isBillEditVisible(bill) {\n if (!this.config || !this.memberOf || this.memberOf.length === 0) return false;\n const billStatus = this.config.workOrderBillForm.submitStatus;\n switch (bill.status) {\n case billStatus.Received:\n if (this.isBillEditor) return true;\n return false;\n case billStatus.SubmittedForApproval:\n if (this.isBillEditor) return true;\n return false;\n case billStatus.SubmittedForPayment:\n if (this.isBillApprover) return true;\n return false;\n case billStatus.ApprovedForPayment:\n if (this.isBillApprover) return true;\n return false;\n default:\n return false;\n }\n },\n isBillSubmitForApprovalVisible(bill) {\n if (!this.isBillEditor) return false;\n if (!this.config || !this.memberOf || this.memberOf.length === 0) return false;\n const billStatus = this.config.workOrderBillForm.submitStatus;\n return bill.status === billStatus.Received;\n },\n isBillSubmitForPaymentVisible(bill) {\n if (!this.isBillSubmitter) return false;\n if (!this.config || !this.memberOf || this.memberOf.length === 0) return false;\n const billStatus = this.config.workOrderBillForm.submitStatus;\n return bill.status === billStatus.SubmittedForApproval;\n },\n isBillApproveVisible(bill) {\n if (!this.isBillApprover) return false;\n if (!this.config || !this.memberOf || this.memberOf.length === 0) return false;\n const billStatus = this.config.workOrderBillForm.submitStatus;\n return bill.status === billStatus.SubmittedForPayment;\n },\n isBillVoidVisible(bill) {\n if (!this.config || !this.memberOf || this.memberOf.length === 0) return false;\n const billStatus = this.config.workOrderBillForm.submitStatus;\n switch (bill.status) {\n case billStatus.SubmittedForApproval:\n if (this.isBillEditor) return true;\n return false;\n case billStatus.SubmittedForPayment:\n if (this.isBillSubmitter) return true;\n if (this.isBillApprover) return true;\n return false;\n case billStatus.ApprovedForPayment:\n if (this.isBillApprover) return true;\n return false;\n default:\n return false;\n }\n },\n isBillPaidVisible(bill) {\n if (!this.isBillApprover) return false;\n if (!this.config || !this.memberOf || this.memberOf.length === 0) return false;\n const workorder = this.projectWorkorders.find((e) => e.id === bill.workOrderId);\n if (workorder.status === this.config.workOrderForm.submitStatus.Cancelled) {\n return false;\n }\n const billStatus = this.config.workOrderBillForm.submitStatus;\n return bill.status === billStatus.ApprovedForPayment;\n },\n },\n};\n","/* eslint-disable max-len, padded-blocks, prefer-destructuring */\n\nexport default {\n data() {\n return {\n projectWorkorderLineItemAddModel: null,\n projectWorkorderIncentivePaymentAddModel: null,\n projectWorkorderLineItemDeleteModel: null,\n projectWorkorderLineItemEditModel: null,\n projectWorkOrderLineItemFields: [\n {\n key: 'productName',\n label: 'Cost Item',\n formatter: (value) => {\n if (value) {\n return value;\n }\n return '';\n },\n thClass: 'workorder-table-header',\n sortable: true,\n sortByFormatted: true,\n },\n {\n key: 'quantity',\n label: 'Qty',\n thClass: 'workorder-table-header',\n class: 'text-right number-column',\n sortable: true,\n },\n {\n key: 'productUnit',\n label: 'Units',\n formatter: (value) => {\n if (value) {\n return value;\n }\n return '';\n },\n thClass: 'workorder-table-header',\n sortable: true,\n sortByFormatted: true,\n },\n {\n key: 'salePrice',\n label: 'Unit Cost',\n formatter: (value) => this.$options.filters.toCurrency(value),\n thClass: 'workorder-table-header',\n class: 'text-right currency-column',\n sortable: true,\n sortByFormatted: false,\n },\n {\n key: 'totalPrice',\n label: 'Item Cost',\n thClass: 'workorder-table-header',\n class: 'text-right currency-column',\n sortable: true,\n sortByFormatted: false,\n },\n {\n key: 'districtPartnerPercent',\n label: '% District or Partner Cost',\n thClass: 'workorder-table-header',\n class: 'text-right district-partner-column',\n sortable: true,\n sortByFormatted: false,\n },\n {\n key: 'districtPartnerCost',\n label: 'District or Partner Cost',\n thClass: 'workorder-table-header',\n class: 'text-right district-partner-column',\n sortable: true,\n sortByFormatted: false,\n },\n {\n key: 'quantityBilledToDate',\n label: 'Qty Bill-to-Date',\n thClass: 'workorder-table-header',\n class: 'text-right currency-column',\n sortable: true,\n },\n {\n key: 'costBilledToDate',\n label: 'Cost Bill-to-Date',\n thClass: 'workorder-table-header',\n class: 'text-right currency-column',\n sortable: true,\n sortByFormatted: false,\n },\n {\n key: 'workOrderLineItemId',\n label: 'Funding Source',\n formatter: (value) => {\n if (value) {\n const lineItemFundingSource = this.lineItemFundingSourceList.find(\n (e) => e.lineItemId === value,\n );\n if (lineItemFundingSource) {\n return lineItemFundingSource.fundingSourceName;\n }\n }\n return 'N/A';\n },\n thClass: 'workorder-table-header',\n sortable: true,\n sortByFormatted: false,\n },\n {\n key: 'billingComplete',\n label: 'Billing Complete',\n thClass: 'workorder-table-header',\n class: 'currency-column',\n },\n {\n key: 'actions',\n label: '',\n thClass: 'workorder-table-header',\n },\n ],\n\n projectWorkOrderIncentivePaymentsFields: [\n {\n key: 'incentiveType',\n label: 'Incentive Type',\n formatter: (value) => {\n if (value) {\n return value;\n }\n return '';\n },\n thClass: 'workorder-table-header',\n sortable: true,\n sortByFormatted: true,\n },\n {\n key: 'paymentAmount',\n label: 'Payment Amount',\n formatter: (value) => this.$options.filters.toCurrency(value),\n thClass: 'workorder-table-header',\n class: 'text-right currency-column',\n sortable: true,\n sortByFormatted: false,\n },\n {\n key: 'fundingSource',\n label: 'Funding Source',\n thClass: 'workorder-table-header',\n sortable: true,\n sortByFormatted: false,\n },\n {\n key: 'incentiveBillingComplete',\n label: 'Billing Complete',\n thClass: 'workorder-table-header',\n class: 'currency-column',\n },\n ],\n\n projectWorkOrderLineItemItems: [],\n projectWorkOrderLineItemFundingSourceValues: [],\n projectWorkOrderIncentivePaymentValues: [],\n };\n },\n methods: {\n getProjectWorkOrderLineItemFields(workOrder) {\n const projectWorkOrderLineItemFields = [...this.projectWorkOrderLineItemFields];\n\n if (workOrder.status !== 'Draft') {\n projectWorkOrderLineItemFields.pop();\n }\n\n return projectWorkOrderLineItemFields;\n },\n getProjectWorkOrderIncentivePaymentFields() {\n const projectWorkOrderIncentivePaymentsFields = [...this.projectWorkOrderIncentivePaymentsFields];\n return projectWorkOrderIncentivePaymentsFields;\n },\n setProjectWorkorderLineItemCalculatedValues(projectWorkorders) {\n projectWorkorders.forEach((projectWorkorder) => {\n\n projectWorkorder.workOrderLineItems.forEach((workOrderLineItem) => {\n /* eslint-disable-next-line */\n workOrderLineItem.quantityBilledToDate = 0;\n });\n\n if (projectWorkorder.workOrderLineItems && projectWorkorder.workOrderBills) {\n projectWorkorder.workOrderLineItems.forEach((workOrderLineItem) => {\n\n const workOrderBills = projectWorkorder.workOrderBills?.filter((e) => e.status !== 'Void');\n\n const workOrderBillLineItems = workOrderBills.map(\n (e) => e.workOrderBillLineItems,\n ).flat().map(\n (e) => e,\n ).filter(\n (e) => e.workOrderLineItemId === workOrderLineItem.workOrderLineItemId,\n );\n\n if (workOrderBillLineItems && workOrderBillLineItems.length > 0) {\n const quantityBilledToDate = workOrderBillLineItems.map((e) => e.quantity).reduce((a, b) => a + b).toFixed(2);\n /* eslint-disable-next-line */\n workOrderLineItem.quantityBilledToDate = quantityBilledToDate;\n }\n\n });\n }\n });\n },\n getProjectWorkOrderLineItemTotal(workorderLineItems) {\n\n let total = 0;\n\n if (workorderLineItems.length > 0) {\n total = workorderLineItems.map(\n (e) => Math.round(e.quantity * (e.salePrice * 100)),\n ).reduce(\n (a, b) => a + b,\n );\n }\n\n /* eslint-disable-next-line */\n total /= Math.pow(10, 2);\n\n return total;\n },\n getDistrictAndPartnerCost(workorderLineItem) {\n\n const districtAndPartnerCost = workorderLineItem.quantity * workorderLineItem.salePrice * workorderLineItem.districtAndPartnerCost * 0.01;\n\n return districtAndPartnerCost;\n },\n getDistrictAndPartnerPercent(workorderLineItem) {\n\n return workorderLineItem.districtAndPartnerCost;\n },\n async initWorkorderLineItemAddModel(workorder) {\n const fiscalYear = this.getFiscalYear(workorder.requestedDate);\n const opportunityBrief = { ...this.opportunityBriefs.find((e) => e.id === workorder.opportunityId) };\n const totalBudgeted = this.getProjectBudgetSummaryTotalBudget(fiscalYear);\n const totalObligated = this.getAnnualBudgetExpenditureTotalObligated(fiscalYear);\n\n const loadWorkOrderLineItemFundingSourceValuesResult = this.loadWorkOrderLineItemFundingSourceValues(workorder);\n if (!loadWorkOrderLineItemFundingSourceValuesResult) {\n console.error('Abort initWorkorderLineItemAddModel()');\n return false;\n }\n\n await this.$store.dispatch('Pricelist/getPricelistEntries', opportunityBrief.pricebookId);\n\n this.projectWorkorderLineItemAddModel = {\n // Add the 'read-only' properties\n opportunityId: opportunityBrief.id,\n opportunityName: opportunityBrief.name,\n workorderId: workorder.id,\n workorderNumber: workorder.workOrderNumber,\n fiscalYear,\n totalBudgeted,\n totalObligated,\n // Add the editable properties\n fundingSources: this.projectWorkOrderLineItemFundingSourceValues,\n fundingSourceId: null,\n pricebookId: opportunityBrief.pricebookId,\n pricebookEntryId: null,\n quantity: 0,\n unitCost: 0,\n itemCost: 0,\n districtAndPartnerCost: null,\n districtAndPartnerCostValue: null,\n };\n\n return true;\n },\n async initWorkorderIncentivePaymentAddModel(workorder) {\n const fiscalYear = this.getFiscalYear(workorder.requestedDate);\n const totalBudgeted = this.getProjectBudgetSummaryTotalBudget(fiscalYear);\n const totalObligated = this.getAnnualBudgetExpenditureTotalObligated(fiscalYear);\n\n const loadWorkOrderIncentivePaymentValuesResult = this.loadWorkOrderIncentivePaymentValues(workorder);\n if (!loadWorkOrderIncentivePaymentValuesResult) {\n console.error('Abort initWorkorderIncentivePaymentAddModel()');\n return false;\n }\n\n this.projectWorkorderIncentivePaymentAddModel = {\n workorderId: workorder.id,\n workorderNumber: workorder.workOrderNumber,\n fiscalYear,\n totalBudgeted,\n totalObligated,\n incentivePayments: this.projectWorkOrderIncentivePaymentValues,\n incentivePaymentId: null,\n paymentDate: null,\n paymentAmount: null,\n };\n\n return true;\n },\n async initWorkorderLineItemEditModel(workorderLineItem) {\n const workorder = this.projectWorkorders.find((e) => e.id === workorderLineItem.workOrderId);\n\n const fiscalYear = this.getFiscalYear(workorder.requestedDate);\n const opportunityBrief = this.opportunityBriefs.find((e) => e.id === workorder.opportunityId);\n const totalBudgeted = this.getProjectBudgetSummaryTotalBudget(fiscalYear);\n const totalObligated = (this.getAnnualBudgetExpenditureTotalObligated(fiscalYear));\n\n const loadWorkOrderLineItemFundingSourceValuesResult = this.loadWorkOrderLineItemFundingSourceValues(workorder);\n if (!loadWorkOrderLineItemFundingSourceValuesResult) {\n console.error('Abort initWorkorderLineItemEditModel()');\n return false;\n }\n\n await this.$store.dispatch('Pricelist/getPricelistEntries', opportunityBrief.pricebookId);\n\n const lineItemFundingSource = this.lineItemFundingSourceList.find(\n (e) => e.lineItemId === workorderLineItem.workOrderLineItemId,\n );\n\n let itemCost = Math.round(workorderLineItem.quantity * (workorderLineItem.salePrice * 100));\n\n /* eslint-disable-next-line */\n itemCost /= Math.pow(10, 2);\n\n this.projectWorkorderLineItemEditModel = {\n // Add the 'read-only' properties\n id: workorderLineItem.workOrderLineItemId,\n opportunityId: opportunityBrief.id,\n workorderId: workorder.id,\n workorderNumber: workorder.workOrderNumber,\n fiscalYear,\n totalBudgeted,\n totalObligated,\n // Add the editable properties\n fundingSources: this.projectWorkOrderLineItemFundingSourceValues,\n fundingSourceId: lineItemFundingSource ? lineItemFundingSource.fundingSourceId : null,\n pricebookId: opportunityBrief.pricebookId,\n pricebookEntryId: workorderLineItem.priceBookEntryId,\n quantity: workorderLineItem.quantity,\n unitCost: workorderLineItem.salePrice,\n itemCost: this.$options.filters.toCurrency(itemCost),\n applyToAll: false,\n billingComplete: workorderLineItem.billingComplete,\n districtAndPartnerCost: workorderLineItem.districtAndPartnerCost,\n districtAndPartnerCostValue: this.getDistrictAndPartnerCost(workorderLineItem),\n };\n\n return true;\n },\n async loadProjectWorkorderLineItemFundingSources() {\n await this.$store.dispatch('Workorder/setFormLoading', true);\n\n await this.$store.dispatch(\n 'Project/fetchProjectBudget',\n parseInt(this.$route.params.id, 10),\n );\n\n if (this.projectWorkorders) {\n await this.$store.dispatch(\n 'Project/getProjectWorkorderLineItemFundingSources',\n this.projectWorkorders.map((e) => e.id),\n );\n }\n\n this.lineItemFundingSourceList = [];\n\n this.projectWorkorderLineItemFundingSources.forEach((e) => {\n const lineItemFundingSource = this.fundingSources.find(\n (fundingSource) => fundingSource.recorD_ID === e.fundingSourceId,\n );\n if (lineItemFundingSource) {\n this.lineItemFundingSourceList.push({\n lineItemId: e.workOrderLineItemId,\n fundingSourceId: lineItemFundingSource.recorD_ID,\n fundingSourceName: lineItemFundingSource.recorD_NAME,\n });\n }\n });\n\n await this.$store.dispatch('Workorder/setFormLoading', false);\n },\n loadWorkOrderLineItemFundingSourceValues(workOrder) {\n const fiscalYear = this.getFiscalYear(workOrder.requestedDate);\n\n const projectBudgetYear = this.projectBudget.projectBudgetYears.find(\n (e) => e.year === fiscalYear,\n );\n\n if (!projectBudgetYear) {\n console.error('Invalid object reference: projectBudgetYear');\n this.showErrorMessageAlert = true;\n this.showErrorMessageAlertBody = `ERROR! The Annual Budget for FY ${fiscalYear} could not be found! Please check your work order's Requested Completion Date (${workOrder.requestedDate})`;\n console.error('Abort loadWorkOrderLineItemFundingSourceValues()');\n return false;\n }\n\n const fundingSourceIds = projectBudgetYear.projectBudgetLineItems.map(\n (e) => e.fundingSourceId,\n ).sort(\n (a, b) => a - b,\n );\n\n let annualBudgetIncreaseFundingSourceIds = [];\n if (projectBudgetYear.annualBudgetIncreases) {\n annualBudgetIncreaseFundingSourceIds = projectBudgetYear.annualBudgetIncreases.map((e) => e.fundingSourceId);\n }\n\n let projectWorkOrderLineItemFundingSourceValues = this.fundingSources.map((e) => {\n const qbAccount = e.customfields.filter((customfield) => customfield.fielD_NAME === 'Account__c')[0];\n const projectFundingSource = {\n id: e.recorD_ID,\n name: e.recorD_NAME,\n source: qbAccount.fielD_VALUE,\n };\n return projectFundingSource;\n });\n\n /* eslint-disable-next-line max-len */\n projectWorkOrderLineItemFundingSourceValues = projectWorkOrderLineItemFundingSourceValues.filter(\n (e) => fundingSourceIds.includes(e.id) || annualBudgetIncreaseFundingSourceIds.includes(e.id),\n );\n\n /* eslint-disable-next-line max-len */\n this.projectWorkOrderLineItemFundingSourceValues = projectWorkOrderLineItemFundingSourceValues.sort(\n (a, b) => a.name.localeCompare(b.name),\n );\n\n return true;\n },\n loadWorkOrderIncentivePaymentValues(workOrder) {\n const fiscalYear = this.getFiscalYear(workOrder.requestedDate);\n\n const projectBudgetYear = this.projectBudget.projectBudgetYears.find(\n (e) => e.year === fiscalYear,\n );\n\n if (!projectBudgetYear) {\n console.error('Invalid object reference: projectBudgetYear');\n this.showErrorMessageAlert = true;\n this.showErrorMessageAlertBody = `ERROR! The Annual Budget for FY ${fiscalYear} could not be found! Please check your work order's Requested Completion Date (${workOrder.requestedDate})`;\n console.error('Abort loadWorkOrderIncentivePaymentValues()');\n return false;\n }\n\n const nonCancelledCompletedWorkOrderIncentives = this.projectWorkorders\n .filter((wo) => wo.status !== 'Cancelled' && wo.status !== 'Completed').map(\n (e) => e.workOrderProjectIncentives,\n ).flat();\n\n const completedWorkOrderIncentives = this.projectWorkorders\n .filter((wo) => wo.status === 'Completed').map(\n (e) => e.workOrderProjectIncentives,\n ).flat();\n\n const billedCompletedWorkOrderIncentives = completedWorkOrderIncentives.filter((ip) => ip.paymentDate != null);\n const existingWorkOrderIncentives = [...new Set([...billedCompletedWorkOrderIncentives, ...nonCancelledCompletedWorkOrderIncentives])];\n\n const incentivesInFiscalYear = this.projectIncentivePayments\n .filter((ip) => this.getFiscalYear(ip.dateDue) === fiscalYear)\n .filter((ip) => existingWorkOrderIncentives.filter((wopi) => wopi.projectIncentivePaymentId === ip.id).length === 0);\n\n this.projectWorkOrderIncentivePaymentValues = incentivesInFiscalYear.map(\n (ip) => (\n {\n name: ip?.incentiveType?.name?.concat(', ')?.concat(this.$options.filters.toCurrency(ip?.amountPaid)?.concat(', ')?.concat(this.fundingSources.find((fundingSource) => fundingSource.recorD_ID === ip?.fundingSourceId).recorD_NAME)),\n id: ip?.id,\n value: ip,\n }),\n );\n\n return true;\n },\n onWorkorderLineItemAddClick(workorder) {\n (async () => {\n await this.$store.dispatch('Workorder/setFormLoading', true);\n\n const initWorkorderLineItemAddModelResult = await this.initWorkorderLineItemAddModel(workorder);\n\n if (!initWorkorderLineItemAddModelResult) {\n await this.$store.dispatch('Workorder/setFormLoading', false);\n return;\n }\n\n this.projectWorkorderLineItemAddIsVisible = false;\n\n this.$store.dispatch('Workorder/setWorkorderLineItemAddModel', this.projectWorkorderLineItemAddModel).then(() => {\n this.projectWorkorderLineItemAddIsVisible = true;\n });\n\n await this.$store.dispatch('Workorder/setFormLoading', false);\n })();\n },\n onWorkorderIncentivePaymentAddClick(workorder) {\n (async () => {\n await this.$store.dispatch('Workorder/setFormLoading', true);\n\n const initWorkorderIncentivePaymentAddModelResult = await this.initWorkorderIncentivePaymentAddModel(workorder);\n\n if (!initWorkorderIncentivePaymentAddModelResult) {\n await this.$store.dispatch('Workorder/setFormLoading', false);\n return;\n }\n\n this.projectWorkorderIncentivePaymentAddIsVisible = false;\n\n this.$store.dispatch('Workorder/setWorkorderIncentivePaymentAddModel', this.projectWorkorderIncentivePaymentAddModel).then(() => {\n this.projectWorkorderIncentivePaymentAddIsVisible = true;\n });\n\n await this.$store.dispatch('Workorder/setFormLoading', false);\n })();\n },\n async onWorkOrderIncentivePaymentBillingCompleteChanged(event, projectWorkorder, item) {\n const model = {\n workOrderIncentivePaymentId: item.id,\n projectIncentivePaymentId: item.projectIncentivePaymentId,\n billingComplete: event,\n };\n\n (async () => {\n try {\n this.workOrderIncentivePaymentsCompleteSaving = true;\n await this.$store.dispatch(\n 'Workorder/setWorkorderIncentivePaymentBillingComplete',\n model,\n );\n\n await this.$store.dispatch(\n 'Project/getProjectIncentivePayments',\n this.project.id,\n );\n\n projectWorkorder.workOrderProjectIncentives.forEach((inc) => {\n if (inc.id === item.id) {\n /* eslint-disable-next-line no-param-reassign */\n inc.paymentDate = event === true ? new Date() : null;\n }\n });\n\n this.workOrderIncentivePaymentsCompleteSaving = false;\n } catch (exception) {\n console.error('Exception caught calling this.$store.dispatch(\\'Workorder/setWorkorderIncentivePaymentBillingComplete\\')');\n console.error('exception: ', exception);\n }\n })();\n },\n async onWorkOrderLineItemBillingCompleteChanged(event, projectWorkorder, item) {\n const model = {\n workOrderId: item.workOrderId,\n workOrderLineItemId: item.workOrderLineItemId,\n billingComplete: event,\n };\n\n (async () => {\n try {\n this.workOrderLineItemBillingCompleteSaving = true;\n await this.$store.dispatch(\n 'Workorder/setWorkorderLineItemBillingComplete',\n model,\n );\n this.workOrderLineItemBillingCompleteSaving = false;\n } catch (exception) {\n console.error('Exception caught calling this.$store.dispatch(\\'Workorder/setWorkorderLineItemBillingComplete\\')');\n console.error('exception: ', exception);\n }\n })();\n },\n onWorkOrderLineItemEditClick(workorderLineItem) {\n (async () => {\n await this.$store.dispatch('Workorder/setFormLoading', true);\n\n await this.initWorkorderLineItemEditModel(workorderLineItem);\n\n this.projectWorkorderLineItemEditIsVisible = false;\n\n const originalItemCost = Math.round(this.projectWorkorderLineItemEditModel.quantity * (this.projectWorkorderLineItemEditModel.unitCost * 100));\n const originalDistrictPartnerCost = originalItemCost * (this.projectWorkorderLineItemEditModel.districtAndPartnerCost * 0.01);\n this.projectWorkorderLineItemEditModel.originalDistrictPartnerCost = originalDistrictPartnerCost;\n\n this.$store.dispatch('Workorder/setWorkorderLineItemEditModel', this.projectWorkorderLineItemEditModel).then(() => {\n this.projectWorkorderLineItemEditIsVisible = true;\n });\n\n await this.$store.dispatch('Workorder/setFormLoading', false);\n })();\n },\n onProjectWorkOrderLineItemEditCancelClick() {\n this.$bvModal.hide(this.projectWorkOrderLineItemEditModalId);\n },\n onValidated(isValid, errors) {\n this.formValid = isValid;\n this.validateRequiredFields(errors || []);\n },\n onWorkOrderLineItemDeleteClick(workorderLineItem) {\n this.projectWorkorderLineItemDeleteModel = { ...workorderLineItem };\n },\n async onWorkOrderLineItemDeleteOkClick() {\n await this.$store.dispatch('Workorder/setFormLoading', true);\n await this.$store.dispatch(\n 'Workorder/deleteWorkorderLineItem',\n this.projectWorkorderLineItemDeleteModel,\n );\n await this.$store.dispatch('Workorder/setFormLoading', false);\n const workorder = this.projectWorkorders.find(\n (e) => e.id === this.projectWorkorderLineItemDeleteModel.workOrderId,\n );\n const workorderLineItem = workorder.workOrderLineItems.find(\n (e) => e.workOrderLineItemId === this.projectWorkorderLineItemDeleteModel.workOrderLineItemId,\n );\n workorder.workOrderLineItems.splice(\n workorder.workOrderLineItems.indexOf(workorderLineItem),\n 1,\n );\n },\n validateRequiredFields(errors) {\n this.formValid = true;\n /* eslint-disable-next-line max-len */\n if (!this.projectWorkorderLineItemEditModel.fundingSourceId) this.formValid = false;\n if (errors && errors.length > 0) this.formValid = false;\n },\n },\n};\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-modal',{attrs:{\"id\":\"workorderEditModal\",\"size\":\"lg\",\"ok-title\":\"Save\",\"ok-disabled\":!_vm.workorderEditModelValid},on:{\"ok\":function($event){return _vm.saveWorkorder()}},scopedSlots:_vm._u([{key:\"modal-title\",fn:function(){return [_vm._v(\"Edit Work Order\")]},proxy:true},{key:\"modal-footer\",fn:function(ref){\nvar cancel = ref.cancel;\nvar ok = ref.ok;\nreturn [_c('b-button',{staticClass:\"btn-danger\",attrs:{\"size\":\"sm\",\"variant\":\"danger\"},on:{\"click\":cancel}},[_vm._v(\"Cancel\")]),_c('b-button',{staticClass:\"btn-success\",attrs:{\"size\":\"sm\",\"variant\":\"success\"},on:{\"click\":ok}},[_vm._v(\"Save\")])]}}])},[_c('b-card-body',{staticClass:\"project-workorder-edit-card-body\"},[_c('div',{staticClass:\"details-label project-workorder-bills-items-details-label\"},[_vm._v(\"Contract\")]),(_vm.workorderEditModel)?_c('div',[_vm._v(_vm._s(_vm.workorderEditModel.opportunityName))]):_vm._e(),_c('div',{staticClass:\"details-label project-workorder-bills-items-details-label\"},[_vm._v(\"Work Order Number\")]),(_vm.workorderEditModel)?_c('div',[_vm._v(_vm._s(_vm.workorderEditModel.workorderNumber))]):_vm._e()]),_c('VueFormGenerator',{attrs:{\"model\":_vm.workorderEditModel,\"schema\":_vm.workorderEditSchema,\"options\":{\n validateAfterLoad: false,\n validateAfterChanged: true,\n validateAsync: true\n }},on:{\"validated\":_vm.onWorkorderEditValidated,\"model-updated\":_vm.onWorkorderEditModelUpdated}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectWorkorderEdit.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectWorkorderEdit.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProjectWorkorderEdit.vue?vue&type=template&id=1f8be0a0&\"\nimport script from \"./ProjectWorkorderEdit.vue?vue&type=script&lang=js&\"\nexport * from \"./ProjectWorkorderEdit.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 null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-modal',{attrs:{\"id\":\"workorderLineItemAddModal\",\"size\":\"lg\"},on:{\"ok\":function($event){return _vm.onWorkorderLineItemAddModalOk()}},scopedSlots:_vm._u([{key:\"modal-title\",fn:function(){return [_vm._v(\"Add Work Order \"+_vm._s(_vm.workorderNumber)+\" Line Item\")]},proxy:true},{key:\"modal-footer\",fn:function(ref){\nvar ok = ref.ok;\nvar cancel = ref.cancel;\nreturn [_c('b-button',{staticClass:\"btn-danger\",attrs:{\"size\":\"sm\",\"variant\":\"danger\"},on:{\"click\":cancel}},[_vm._v(\"Cancel\")]),_c('b-button',{staticClass:\"btn-success\",attrs:{\"size\":\"sm\",\"variant\":\"success\",\"disabled\":!_vm.workorderLineItemAddModelValid},on:{\"click\":ok}},[_vm._v(\"Save\")])]}}])},[(_vm.totalAvailableExceeded)?_c('b-card-body',{staticClass:\"project-workorder-lineitem-edit-card-warning text-danger\"},[_c('span',{staticClass:\"project-workorder-bills-items-details-label\"},[_vm._v(\"This line item exceeds amount remaining for the funding source selected. \")]),_c('span',[_vm._v(\"Please adjust the amount.\")])]):_vm._e(),_c('b-card-body',{staticClass:\"project-workorder-lineitem-edit-card-body\"},[_c('b-row',[_c('b-col',[_c('span',{staticClass:\"details-label project-workorder-bills-items-details-label\"},[_vm._v(\"Budgeted: \")]),_c('span',{staticClass:\"project-workorder-bills-items-details-label\"},[_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")(_vm.totalBudgeted))+\" \")])]),_c('b-col',[_c('span',{staticClass:\"details-label project-workorder-bills-items-details-label\"},[_vm._v(\"Obligated: \")]),_c('span',{staticClass:\"project-workorder-bills-items-details-label\"},[_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")(_vm.totalObligated))+\" \")])]),_c('b-col',[_c('span',{staticClass:\"details-label project-workorder-bills-items-details-label\"},[_vm._v(\"Available: \")]),_c('span',{class:{'project-workorder-bills-items-details-label': true, 'text-danger': _vm.totalAvailable < 0}},[_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")(_vm.totalAvailable))+\" \")])])],1)],1),_c('VueFormGenerator',{attrs:{\"model\":_vm.workorderLineItemAddModel,\"schema\":_vm.workorderLineItemAddSchema,\"options\":{\n validateAfterLoad: false,\n validateAfterChanged: true,\n validateAsync: true\n }},on:{\"model-updated\":_vm.onWorkorderLineItemAddModelUpdated,\"validated\":_vm.onWorkorderLineItemAddModelValidated}}),_c('div',[_c('b-card-body')],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectWorkorderLineItemAdd.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectWorkorderLineItemAdd.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProjectWorkorderLineItemAdd.vue?vue&type=template&id=94df22f0&\"\nimport script from \"./ProjectWorkorderLineItemAdd.vue?vue&type=script&lang=js&\"\nexport * from \"./ProjectWorkorderLineItemAdd.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 null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-modal',{attrs:{\"id\":\"workorderIncentivePaymentAddModal\",\"size\":\"lg\"},on:{\"ok\":function($event){return _vm.onWorkorderIncentivePaymentAddModalOk()}},scopedSlots:_vm._u([{key:\"modal-title\",fn:function(){return [_vm._v(\"Add Work Order \"+_vm._s(_vm.workorderNumber)+\" Incentive Payment\")]},proxy:true},{key:\"modal-footer\",fn:function(ref){\nvar ok = ref.ok;\nvar cancel = ref.cancel;\nreturn [_c('b-button',{staticClass:\"btn-danger\",attrs:{\"size\":\"sm\",\"variant\":\"danger\"},on:{\"click\":cancel}},[_vm._v(\"Cancel\")]),_c('b-button',{staticClass:\"btn-success\",attrs:{\"size\":\"sm\",\"variant\":\"success\",\"disabled\":!_vm.workorderIncentivePaymentAddModelValid},on:{\"click\":ok}},[_vm._v(\"Save\")])]}}])},[(_vm.totalAvailableExceeded)?_c('b-card-body',{staticClass:\"project-workorder-incentivepayment-edit-card-warning text-danger\"},[_c('span',{staticClass:\"project-workorder-bills-items-details-label\"},[_vm._v(\"This incentive payment exceeds the amount available. \")])]):_vm._e(),_c('b-card-body',{staticClass:\"project-workorder-incentivepayment-edit-card-body\"},[_c('b-row',[_c('b-col',[_c('span',{staticClass:\"details-label project-workorder-bills-items-details-label\"},[_vm._v(\"Budgeted: \")]),_c('span',{staticClass:\"project-workorder-bills-items-details-label\"},[_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")(_vm.totalBudgeted))+\" \")])]),_c('b-col',[_c('span',{staticClass:\"details-label project-workorder-bills-items-details-label\"},[_vm._v(\"Obligated: \")]),_c('span',{staticClass:\"project-workorder-bills-items-details-label\"},[_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")(_vm.totalObligated))+\" \")])]),_c('b-col',[_c('span',{staticClass:\"details-label project-workorder-bills-items-details-label\"},[_vm._v(\"Available: \")]),_c('span',{class:{'project-workorder-bills-items-details-label': true, 'text-danger': _vm.totalAvailable < 0}},[_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")(_vm.totalAvailable))+\" \")])])],1)],1),_c('VueFormGenerator',{attrs:{\"model\":_vm.workorderIncentivePaymentAddModel,\"schema\":_vm.workorderIncentivePaymentAddSchema,\"options\":{\n validateAfterLoad: false,\n validateAfterChanged: true,\n validateAsync: true\n }},on:{\"validated\":_vm.onWorkorderIncentivePaymentAddModelValidated}}),_c('div',[_c('b-card-body')],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectWorkorderIncentivePaymentAdd.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectWorkorderIncentivePaymentAdd.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProjectWorkorderIncentivePaymentAdd.vue?vue&type=template&id=50bfc5eb&\"\nimport script from \"./ProjectWorkorderIncentivePaymentAdd.vue?vue&type=script&lang=js&\"\nexport * from \"./ProjectWorkorderIncentivePaymentAdd.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 null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-modal',{attrs:{\"id\":\"workorderLineItemEditModal\",\"size\":\"lg\"},on:{\"ok\":function($event){return _vm.onWorkorderLineItemEditModalOk()}},scopedSlots:_vm._u([{key:\"modal-title\",fn:function(){return [_vm._v(\"Edit Work Order \"+_vm._s(_vm.workorderNumber)+\" Line Item\")]},proxy:true},{key:\"modal-footer\",fn:function(ref){\nvar ok = ref.ok;\nvar cancel = ref.cancel;\nreturn [_c('b-button',{staticClass:\"btn-danger\",attrs:{\"size\":\"sm\",\"variant\":\"danger\"},on:{\"click\":cancel}},[_vm._v(\"Cancel\")]),_c('b-button',{staticClass:\"btn-success\",attrs:{\"size\":\"sm\",\"variant\":\"success\",\"disabled\":!_vm.workorderLineItemEditModelValid},on:{\"click\":ok}},[_vm._v(\"Save\")])]}}])},[(_vm.totalAvailableExceeded)?_c('b-card-body',{staticClass:\"project-workorder-lineitem-edit-card-warning text-danger\"},[_c('span',{staticClass:\"project-workorder-bills-items-details-label\"},[_vm._v(\"This line item exceeds amount remaining for the funding source selected. \")]),_c('span',[_vm._v(\"Please adjust the amount.\")])]):_vm._e(),_c('b-card-body',{staticClass:\"project-workorder-lineitem-edit-card-body\"},[_c('b-row',[_c('b-col',[_c('span',{staticClass:\"details-label project-workorder-bills-items-details-label\"},[_vm._v(\"Budgeted: \")]),_c('span',{staticClass:\"project-workorder-bills-items-details-label\"},[_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")(_vm.totalBudgeted))+\" \")])]),_c('b-col',[_c('span',{staticClass:\"details-label project-workorder-bills-items-details-label\"},[_vm._v(\"Obligated: \")]),_c('span',{staticClass:\"project-workorder-bills-items-details-label\"},[_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")(_vm.totalObligated))+\" \")])]),_c('b-col',[_c('span',{staticClass:\"details-label project-workorder-bills-items-details-label\"},[_vm._v(\"Available: \")]),_c('span',{class:{'project-workorder-bills-items-details-label': true, 'text-danger': _vm.totalAvailable < 0}},[_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")(_vm.totalAvailable))+\" \")])])],1)],1),_c('VueFormGenerator',{attrs:{\"model\":_vm.workorderLineItemEditModel,\"schema\":_vm.workorderLineItemEditSchema,\"options\":{\n validateAfterLoad: false,\n validateAfterChanged: true,\n validateAsync: true\n }},on:{\"model-updated\":_vm.onWorkorderLineItemEditModelUpdated,\"validated\":_vm.onWorkorderLineItemEditModelValidated}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectWorkorderLineItemEdit.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectWorkorderLineItemEdit.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProjectWorkorderLineItemEdit.vue?vue&type=template&id=796ff076&\"\nimport script from \"./ProjectWorkorderLineItemEdit.vue?vue&type=script&lang=js&\"\nexport * from \"./ProjectWorkorderLineItemEdit.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 null,\n null\n \n)\n\nexport default component.exports","/* eslint-disable max-len, padded-blocks, prefer-destructuring */\n\nexport default {\n computed: {\n workorderLookupsLoading() {\n if (!this.contactBriefs || this.contactBriefs === null) return true;\n if (!this.opportunityBriefs || this.opportunityBriefs === null) return true;\n if (!this.organizationBriefs || this.organizationBriefs === null) return true;\n if (!this.products || this.products === null || this.products.length === 0) return true;\n return false;\n },\n },\n methods: {\n getBillVisible(bill) {\n /* eslint-disable-next-line */\n let visible = bill.status != this.config.workOrderBillForm.submitStatus.Paid && bill.status != this.config.workOrderBillForm.submitStatus.Voided;\n return visible;\n },\n getBillIndex(workorder, bill) {\n return workorder.workOrderBills.indexOf(bill);\n },\n getVendorContactName(workorder) {\n if (!workorder.vendorContactId) return '';\n const item = (this.contactBriefs || []).find((e) => e.id === workorder.vendorContactId);\n if (item != null) return item.name;\n return '';\n },\n getVendorOrganizationName(workorder) {\n if (!workorder.vendorOrganizationId) return '';\n const item = (this.organizationBriefs || []).find((e) => e.id === workorder.vendorOrganizationId);\n if (item != null) return item.name;\n return '';\n },\n initWorkorderEditModel(workorder) {\n const fiscalYear = this.getFiscalYear(workorder.requestedDate);\n const fiscalYearStart = new Date(`${fiscalYear - 1}`, 6, 1);\n const fiscalYearEnd = new Date(`${fiscalYear}`, 5, 30, 23, 59, 59, 999);\n const opportunityBrief = this.opportunityBriefs.find((e) => e.id === workorder.opportunityId);\n\n const workorderEditModel = {\n id: workorder.id,\n opportunityId: workorder.opportunityId,\n opportunityName: opportunityBrief.name,\n projectId: this.project.id,\n fiscalYear,\n fiscalYearStart,\n fiscalYearEnd,\n workorderName: workorder.workOrderName,\n workorderNumber: workorder.workOrderNumber,\n requestedDate: workorder.requestedDate,\n vendorTypes: ['Individual Contact', 'Organization'],\n vendorType: 'Individual Contact',\n vendorContacts: this.contactBriefs,\n vendorOrganizations: this.organizationBriefs,\n contractorSpecialInstructions: workorder.contractorSpecialInstructions,\n dateUpdatedUTC: workorder.dateUpdatedUTC,\n status: workorder.status,\n };\n\n if (workorder.vendorContactId != null) {\n workorderEditModel.vendorContactId = workorder.vendorContactId;\n workorderEditModel.vendorContact = this.contactBriefs.find((e) => e.id === workorder.vendorContactId);\n } else if (workorder.vendorOrganizationId != null) {\n workorderEditModel.vendorType = 'Organization';\n workorderEditModel.vendorOrganizationId = workorder.vendorOrganizationId;\n workorderEditModel.vendorOrganization = this.organizationBriefs.find((e) => e.id === workorder.vendorOrganizationId);\n }\n\n return workorderEditModel;\n },\n async loadWorkorderLookups() {\n await this.$store.dispatch('Contact/getContactBriefs');\n await this.$store.dispatch('Organization/getOrganizationBriefs');\n await this.$store.dispatch('Opportunity/getWorkorderOpportunityBriefs');\n await this.$store.dispatch('Project/fetchProducts');\n },\n onWorkorderEditClick(workorder) {\n const workorderEditModel = this.initWorkorderEditModel(workorder);\n this.projectWorkorderEditIsVisible = false;\n this.$store.dispatch('Workorder/setWorkorderEditModel', workorderEditModel).then(() => {\n this.projectWorkorderEditIsVisible = true;\n });\n this.unsubscribeSetWorkorderEditModel = this.$store.subscribe(async (mutation) => {\n if (mutation.type === 'Workorder/SET_WORKORDER_EDIT_MODEL') {\n this.unsubscribeSetWorkorderEditModel();\n const projectWorkorder = this.projectWorkorders.find((e) => e.id === mutation.payload.id);\n if (new Date(mutation.payload.dateUpdatedUTC) > new Date(projectWorkorder.dateUpdatedUTC)) {\n // await this.$store.dispatch('Workorder/setFormLoading', true);\n // await this.$store.dispatch('Project/getProjectWorkorders', this.project.id);\n // await this.$store.dispatch('Workorder/setFormLoading', false);\n this.load();\n }\n }\n });\n },\n },\n};\n","\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectWorkorders.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectWorkorders.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProjectWorkorders.vue?vue&type=template&id=17318a9e&scoped=true&\"\nimport script from \"./ProjectWorkorders.vue?vue&type=script&lang=js&\"\nexport * from \"./ProjectWorkorders.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProjectWorkorders.vue?vue&type=style&index=0&id=17318a9e&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"17318a9e\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"view-contents\"},[(_vm.project)?_c('UnavailablePageModal',{attrs:{\"pageName\":\"Project Outcomes\",\"project\":_vm.project,\"projectId\":_vm.project.id,\"unallowedStatuses\":_vm.unallowedStatuses}}):_vm._e(),_c('b-alert',{attrs:{\"show\":_vm.dismissOutcomeSummarySaveSuccessAlert,\"dismissible\":\"\",\"variant\":\"success\"},on:{\"dismissed\":function($event){_vm.dismissOutcomeSummarySaveSuccessAlert=0},\"dismiss-count-down\":_vm.dismissOutcomeSummarySaveSuccessAlertChanged}},[_c('span',[_vm._v(\"Outcome Summary was successfully saved\")])]),_c('b-modal',{attrs:{\"id\":\"outcomeSummaryEditModal\",\"size\":\"lg\"},on:{\"ok\":function($event){return _vm.saveOutcomeSummary()}},scopedSlots:_vm._u([{key:\"modal-title\",fn:function(){return [_vm._v(\"Edit Outcome Summary\")]},proxy:true},{key:\"modal-footer\",fn:function(ref){\nvar ok = ref.ok;\nvar cancel = ref.cancel;\nreturn [_c('b-button',{staticClass:\"btn-danger\",attrs:{\"size\":\"sm\",\"variant\":\"danger\"},on:{\"click\":cancel}},[_vm._v(\"Cancel\")]),_c('b-button',{staticClass:\"btn-success\",attrs:{\"size\":\"sm\",\"variant\":\"success\"},on:{\"click\":ok}},[_vm._v(\"Save\")])]}}])},[_c('VueFormGenerator',{attrs:{\"model\":_vm.outcomeSummaryFormModel,\"schema\":_vm.outcomeSummaryFormSchema,\"options\":_vm.outcomeSummaryFormOptions}})],1),(_vm.config)?_c('b-modal',{attrs:{\"id\":\"projectTargetMonitoringEventAddModal\",\"size\":\"lg\"},on:{\"ok\":function($event){return _vm.saveProjectTargetMonitoringEventAddModel()}},scopedSlots:_vm._u([{key:\"modal-title\",fn:function(){return [_vm._v(\"Add Monitoring Event\")]},proxy:true},{key:\"modal-footer\",fn:function(ref){\nvar ok = ref.ok;\nvar cancel = ref.cancel;\nreturn [_c('b-button',{staticClass:\"btn-danger\",attrs:{\"size\":\"sm\",\"variant\":\"danger\"},on:{\"click\":cancel}},[_vm._v(\"Cancel\")]),_c('b-button',{staticClass:\"btn-success\",attrs:{\"size\":\"sm\",\"variant\":\"success\",\"disabled\":!_vm.projectTargetMonitoringEventAddModelValid},on:{\"click\":ok}},[_vm._v(\"Save\")])]}}],null,false,181103091)},[_c('VueFormGenerator',{attrs:{\"model\":_vm.projectTargetMonitoringEventAddModel,\"schema\":_vm.projectTargetMonitoringEventAddSchema,\"options\":_vm.projectTargetMonitoringEventAddFormOptions},on:{\"validated\":_vm.onProjectTargetMonitoringEventAddFormValidated,\"model-updated\":_vm.onProjectTargetMonitoringEventAddFormModelUpdated}})],1):_vm._e(),_c('b-modal',{attrs:{\"id\":\"targetMonitoringEventDeleteModal\",\"title\":\"Confirm Delete\"},on:{\"ok\":function($event){return _vm.onProjectTargetMonitoringEventDeleteOkClick()}},scopedSlots:_vm._u([{key:\"modal-footer\",fn:function(ref){\nvar ok = ref.ok;\nvar cancel = ref.cancel;\nreturn [_c('b-button',{staticClass:\"incentive-payments-dialog-no\",attrs:{\"size\":\"sm\",\"variant\":\"danger\"},on:{\"click\":cancel}},[_vm._v(\"No\")]),_c('b-button',{staticClass:\"incentive-payments-dialog-yes\",attrs:{\"size\":\"sm\",\"variant\":\"success\"},on:{\"click\":ok}},[_vm._v(\"Yes\")])]}}])},[_c('div',[_vm._v(\"Are you sure you want to delete this Monitoring Event?\")])]),_vm._m(0),_c('b-overlay',{attrs:{\"show\":_vm.formLoading}},[_c('div',{staticClass:\"card-body project-outcome-summary-card-body\"},[_c('div',{staticClass:\"project-outcome-summary-card-header\"},[_c('b-row',[_c('b-col',{attrs:{\"cols\":\"6\"}},[_c('span',{staticClass:\"details-label\"},[_vm._v(\"Outcome Summary\")]),_c('a',{directives:[{name:\"b-toggle\",rawName:\"v-b-toggle\",value:(\"outcomeSummaryCard\"),expression:\"`outcomeSummaryCard`\"}],staticClass:\"c-pointer\"},[_c('b-icon',{staticClass:\"when-closed\",attrs:{\"icon\":\"caret-right-fill\"}}),_c('b-icon',{staticClass:\"when-opened\",attrs:{\"icon\":\"caret-down-fill\"}})],1)]),_c('b-col',{staticClass:\"text-right\",attrs:{\"cols\":\"6\"}},[_c('span',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover\",modifiers:{\"hover\":true}}],attrs:{\"title\":\"Edit this Outcome Summary\"}},[_c('b-link',{staticClass:\"project-outcome-summary-edit text-right\",on:{\"click\":function($event){return _vm.onOutcomeSummaryEditClick()}}})],1)])],1)],1),_c('b-collapse',{staticClass:\"card\",attrs:{\"id\":\"outcomeSummaryCard\",\"visible\":\"\"}},[(_vm.project && _vm.project.outcomeSummary)?_c('b-form-textarea',{staticClass:\"project-outcome-summary-card-text\",attrs:{\"readonly\":\"\",\"rows\":\"4\"},model:{value:(_vm.project.outcomeSummary),callback:function ($$v) {_vm.$set(_vm.project, \"outcomeSummary\", $$v)},expression:\"project.outcomeSummary\"}}):_vm._e()],1)],1),_vm._l((_vm.projectTargets),function(projectTarget){return _c('div',{key:projectTarget.targetId,staticClass:\"card section-header-no-line\"},[_c('div',{staticClass:\"card-body\"},[_c('b-row',{staticClass:\"details-row\"},[_c('b-col',[_c('span',{staticClass:\"bold-title details-label\"},[_vm._v(\"Target: \")]),_c('span',[_vm._v(_vm._s(projectTarget.target.name))])]),_c('b-col',{staticClass:\"text-right\",attrs:{\"cols\":\"4\"}},[(_vm.config)?_c('b-link',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover\",modifiers:{\"hover\":true}}],staticClass:\"add-link\",attrs:{\"title\":\"Add a new Monitoring Event to this Target\"},on:{\"click\":function($event){return _vm.onProjectTargetMonitoringEventAddClick(projectTarget)}}},[_c('b-icon',{attrs:{\"icon\":\"plus\"}}),_c('span',[_vm._v(\"Add Monitoring Event\")])],1):_vm._e()],1)],1),_c('b-row',[_c('b-col',[_c('span',{staticClass:\"details-label\"},[_vm._v(\"Project Objective(s):\")])])],1),_c('div',[_c('ul',_vm._l((projectTarget.objectives),function(objective){return _c('li',{key:objective.id},[_vm._v(_vm._s(objective.name))])}),0)]),(projectTarget.monitoringEvents.length === 0)?_c('div',[_vm._v(\"No Monitoring Events have been recorded.\")]):_c('div',[_c('b-table',{ref:(\"targetMonitoringEventsTable\" + (projectTarget.targetId)),refInFor:true,attrs:{\"fields\":_vm.getProjectTargetMonitoringEventFields(projectTarget.targetId),\"items\":projectTarget.monitoringEvents,\"bordered\":\"\",\"hover\":\"\",\"small\":\"\",\"striped\":\"\"},scopedSlots:_vm._u([{key:\"cell(actions)\",fn:function(row){return [_c('b-row',[_c('b-col',[_c('b-link',{directives:[{name:\"b-modal\",rawName:\"v-b-modal\",value:('targetMonitoringEventDeleteModal'),expression:\"'targetMonitoringEventDeleteModal'\"},{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover\",modifiers:{\"hover\":true}}],attrs:{\"title\":\"Delete this Monitoring Event\"},on:{\"click\":function($event){return _vm.onProjectTargetMonitoringEventDeleteClick(row.item)}}},[_c('div',{staticClass:\"project-workorder-lineitem-delete\"})])],1)],1)]}},{key:\"cell(monitoringEventUrl)\",fn:function(row){return [_c('b-row',[_c('b-col',[_c('b-link',{staticClass:\"font-weight-bold\",attrs:{\"href\":row.item.monitoringEventUrl,\"target\":\"_blank\"}},[_vm._v(_vm._s(row.item.monitoringEventUrl))])],1)],1)]}}],null,true)})],1)],1)])})],2)],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"section-header\"},[_c('div',{staticClass:\"row bold-title\"},[_c('div',{staticClass:\"col\"},[_vm._v(\"Outcomes\")])])])}]\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectOutcomes.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectOutcomes.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProjectOutcomes.vue?vue&type=template&id=1540bc0e&scoped=true&\"\nimport script from \"./ProjectOutcomes.vue?vue&type=script&lang=js&\"\nexport * from \"./ProjectOutcomes.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProjectOutcomes.vue?vue&type=style&index=0&id=1540bc0e&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1540bc0e\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"sso_view row align-items-center\"},[_c('div',{staticClass:\"col-sm-4\"}),_c('div',{staticClass:\"col-sm-4\"},[_c('div',{staticClass:\"panel panel-default border shadow sso_panel\"},[_c('div',{staticClass:\"panel-body\"},[_c('table',[_c('tr'),_vm._m(0),_vm._m(1),_c('tr',[_c('td',[_c('button',{staticClass:\"btn border rounded\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.signIn}},[_vm._v(\"Sign In\")])])])])])])]),_c('div',{staticClass:\"col-sm-4\"})])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',[_c('td',[_c('img',{attrs:{\"alt\":\"TSWCD Logo\",\"src\":\"/img/tualatin-soilandwater-logomark-color-multicolor.png\"}})])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',[_c('td',[_vm._v(\" You are not authorized to use Acorn. \")])])}]\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NotAuthorized.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NotAuthorized.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./NotAuthorized.vue?vue&type=template&id=2106ed3b&\"\nimport script from \"./NotAuthorized.vue?vue&type=script&lang=js&\"\nexport * from \"./NotAuthorized.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 null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"sso_view row align-items-center\"},[_c('div',{staticClass:\"col-sm-4\"}),_c('div',{staticClass:\"col-sm-4\"},[_c('div',{staticClass:\"panel panel-default border shadow sso_panel\"},[_c('div',{staticClass:\"panel-body\"},[_c('table',[_c('tr'),_vm._m(0),_vm._m(1),_c('tr',[_c('td',[_c('button',{staticClass:\"btn border rounded\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.signIn}},[_vm._v(\"Sign In\")])])])])])])]),_c('div',{staticClass:\"col-sm-4\"})])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',[_c('td',[_c('img',{attrs:{\"alt\":\"TSWCD Logo\",\"src\":\"/img/tualatin-soilandwater-logomark-color-multicolor.png\"}})])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',[_c('td',[_vm._v(\" You are currently signed out of Acorn. \")])])}]\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SignIn.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SignIn.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SignIn.vue?vue&type=template&id=240a799e&\"\nimport script from \"./SignIn.vue?vue&type=script&lang=js&\"\nexport * from \"./SignIn.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 null,\n null\n \n)\n\nexport default component.exports","/* eslint-disable max-len, no-console, padded-blocks, prefer-destructuring */\nimport Vue from 'vue';\nimport VueRouter from 'vue-router';\n/* import * as Msal from '@azure/msal-browser'; */\nimport store from '@/store';\n\nimport MySites from '@/views/MySites.vue';\nimport PlanDetails from '@/components/projects/PlanDetails.vue';\nimport Project from '@/views/Project.vue';\nimport ProjectActions from '@/components/projects/ProjectActions.vue';\nimport ProjectBudget from '@/components/projects/ProjectBudget.vue';\nimport ProjectContacts from '@/components/projects/ProjectContacts.vue';\nimport ProjectGoals from '@/components/projects/ProjectGoals.vue';\nimport ProjectIncentives from '@/components/projects/ProjectIncentives.vue';\nimport ProjectOverview from '@/components/projects/ProjectOverview.vue';\nimport ProjectWorkorders from '@/components/projects/ProjectWorkorders.vue';\nimport ProjectOutcomes from '@/components/projects/ProjectOutcomes.vue';\nimport NotAuthorized from '../views/NotAuthorized.vue';\nimport SignIn from '../views/SignIn.vue';\n\nVue.use(VueRouter);\n\nconst routes = [\n {\n path: '/mysites',\n name: 'MySites',\n component: MySites,\n },\n {\n path: '/',\n name: 'Dashboard',\n // route level code-splitting\n // this generates a separate chunk (about.[hash].js) for this route\n // which is lazy-loaded when the route is visited.\n component: () => import(/* webpackChunkName: \"about\" */ '../views/Dashboard.vue'),\n },\n {\n path: '/newprojectsbudgetstatus',\n name: 'NewProjectsBudgetStatus',\n // route level code-splitting\n // this generates a separate chunk (about.[hash].js) for this route\n // which is lazy-loaded when the route is visited.\n component: () => import(/* webpackChunkName: \"about\" */ '../views/NewProjectsBudgetStatus.vue'),\n },\n {\n path: '/exportBills',\n name: 'ExportBills',\n // route level code-splitting\n // this generates a separate chunk (about.[hash].js) for this route\n // which is lazy-loaded when the route is visited.\n component: () => import(/* webpackChunkName: \"about\" */ '../views/ExportBills.vue'),\n },\n {\n path: '/site/:id',\n name: 'Site',\n // route level code-splitting\n // this generates a separate chunk (about.[hash].js) for this route\n // which is lazy-loaded when the route is visited.\n component: () => import(/* webpackChunkName: \"about\" */ '../views/Site.vue'),\n },\n {\n path: '/site/:id/assessment',\n name: 'SiteAssessment',\n // route level code-splitting\n // this generates a separate chunk (about.[hash].js) for this route\n // which is lazy-loaded when the route is visited.\n component: () => import(/* webpackChunkName: \"about\" */ '../views/SiteAssessment.vue'),\n },\n {\n path: '/managementplan',\n name: 'ManagementPlan',\n // route level code-splitting\n // this generates a separate chunk (about.[hash].js) for this route\n // which is lazy-loaded when the route is visited.\n component: () => import(/* webpackChunkName: \"about\" */ '../views/ManagementPlan.vue'),\n },\n {\n path: '/managementplan/:id',\n name: 'ManagementPlanForm',\n // route level code-splitting\n // this generates a separate chunk (about.[hash].js) for this route\n // which is lazy-loaded when the route is visited.\n component: () => import(/* webpackChunkName: \"about\" */ '../views/ManagementPlanForm.vue'),\n },\n {\n path: '/site/:id/managementplans',\n name: 'ManagementPlans',\n // route level code-splitting\n // this generates a separate chunk (about.[hash].js) for this route\n // which is lazy-loaded when the route is visited.\n component: () => import(/* webpackChunkName: \"about\" */ '../views/ManagementPlans.vue'),\n },\n {\n path: '/project/:id',\n name: 'Project',\n component: Project,\n children: [\n {\n path: 'actions',\n name: 'ProjectActions',\n component: ProjectActions,\n },\n {\n path: 'budget',\n name: 'ProjectBudget',\n component: ProjectBudget,\n },\n {\n path: 'contacts',\n name: 'ProjectContacts',\n component: ProjectContacts,\n },\n {\n path: 'goals',\n name: 'ProjectGoals',\n component: ProjectGoals,\n },\n {\n path: 'incentives',\n name: 'ProjectIncentives',\n component: ProjectIncentives,\n },\n {\n path: 'overview',\n name: 'ProjectOverview',\n component: ProjectOverview,\n },\n {\n path: 'planDetails',\n name: 'PlanDetails',\n component: PlanDetails,\n },\n {\n path: 'workorders',\n name: 'ProjectWorkorders',\n component: ProjectWorkorders,\n },\n {\n path: 'workorders/:workorderId',\n name: 'ProjectWorkorderDrilldown',\n component: ProjectWorkorders,\n },\n {\n path: 'workorders/:workorderId/bill/:billId',\n name: 'ProjectWorkorderBillDrilldown',\n component: ProjectWorkorders,\n },\n {\n path: 'outcomes',\n name: 'ProjectOutcomes',\n component: ProjectOutcomes,\n },\n ],\n },\n {\n path: '/site/:id/visit',\n name: 'SiteVisit',\n // route level code-splitting\n // this generates a separate chunk (about.[hash].js) for this route\n // which is lazy-loaded when the route is visited.\n component: () => import(/* webpackChunkName: \"about\" */ '../views/SiteVisit.vue'),\n },\n {\n path: '/signin',\n name: 'SignIn',\n component: SignIn,\n },\n {\n path: '/notauthorized',\n name: 'NotAuthorized',\n component: NotAuthorized,\n },\n {\n path: '/authorized',\n name: 'Authorized',\n },\n];\n\nconst router = new VueRouter({\n mode: 'history',\n scrollBehavior() {\n return { x: 0, y: 0 };\n },\n routes,\n});\n\nrouter.beforeEach(async (to, from, next) => {\n // these routes don't need authentication\n if (to.name === 'SignIn' || to.name === 'NotAuthorized' || to.name === 'Authorized') {\n next();\n } else if (router.app.$msal.isAuthenticated) {\n next();\n } else {\n await store.dispatch('ReturnTo/setReturnTo', to);\n router.app.$msal.signIn(router);\n }\n});\n\nexport default router;\n","import Vue from 'vue';\nimport { library } from '@fortawesome/fontawesome-svg-core';\nimport {\n faBars,\n faBold,\n faCaretDown,\n faCaretLeft,\n faCaretRight,\n faDownload,\n faItalic,\n faList,\n faListOl,\n faMinusCircle,\n faPen,\n faPlus,\n faPlusCircle,\n faSpinner,\n faStrikethrough,\n faTrash,\n faUnderline,\n} from '@fortawesome/free-solid-svg-icons';\nimport { FontAwesomeIcon } from '@fortawesome/vue-fontawesome';\nimport { BootstrapVue, IconsPlugin } from 'bootstrap-vue';\nimport VueFormGenerator from 'vue-form-generator';\nimport configureFilters from '@/configureFilters';\nimport vfgFieldCustomChecklist from './components/common/vfg-field-custom-checklist.vue';\nimport vfgFieldCustomLookupChecklist from './components/common/vfg-field-custom-lookupchecklist.vue';\nimport vfgFieldCustomDatepicker from './components/common/vfg-field-custom-datepicker.vue';\nimport vfgFieldCustomMonthpicker from './components/common/vfg-field-custom-monthpicker.vue';\nimport vfgFieldCustomRichText from './components/common/vfg-field-custom-richtext.vue';\nimport vfgFieldCustomTextlist from './components/common/vfg-field-custom-textlist.vue';\nimport vfgFieldCustomYearpicker from './components/common/vfg-field-custom-yearpicker.vue';\nimport vfgFieldCustomSelect from './components/common/vfg-field-custom-select.vue';\nimport 'vue-form-generator/dist/vfg.css';\nimport 'vue-select/dist/vue-select.css';\nimport '../sass/vfg-overrides.scss';\nimport '../sass/base.scss';\nimport App from './App.vue';\nimport './registerServiceWorker';\nimport router from './router';\nimport store from './store';\nimport { MsalPlugin } from './plugins/msal-plugin';\n\nVue.config.productionTip = false;\nlibrary.add(\n faBars,\n faBold,\n faCaretDown,\n faCaretLeft,\n faCaretRight,\n faDownload,\n faItalic,\n faList,\n faListOl,\n faMinusCircle,\n faPen,\n faPlus,\n faPlusCircle,\n faSpinner,\n faStrikethrough,\n faTrash,\n faUnderline,\n);\n\nVue.component('font-awesome-icon', FontAwesomeIcon);\nVue.component('field-customChecklist', vfgFieldCustomChecklist);\nVue.component('field-customLookupChecklist', vfgFieldCustomLookupChecklist);\nVue.component('field-customDatepicker', vfgFieldCustomDatepicker);\nVue.component('field-customMonthpicker', vfgFieldCustomMonthpicker);\nVue.component('field-customRichText', vfgFieldCustomRichText);\nVue.component('field-customTextlist', vfgFieldCustomTextlist);\nVue.component('field-customYearpicker', vfgFieldCustomYearpicker);\nVue.component('field-customSelect', vfgFieldCustomSelect);\n\nVue.use(BootstrapVue);\nVue.use(IconsPlugin);\n\nasync function loadConfig() {\n // get the config file before moving on to anything else. We need it for the\n // site to function\n await store.dispatch('fetchConfiguration');\n Vue.use(MsalPlugin, store);\n new Vue({\n router,\n store,\n render: (h) => h(App),\n }).$mount('#app');\n}\n\nVue.use(VueFormGenerator, {\n validators: {\n },\n});\nconfigureFilters();\n\nloadConfig();\n","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectWorkorders.vue?vue&type=style&index=0&id=17318a9e&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectWorkorders.vue?vue&type=style&index=0&id=17318a9e&scoped=true&lang=css&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectIncentives.vue?vue&type=style&index=0&id=cb730d18&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectIncentives.vue?vue&type=style&index=0&id=cb730d18&scoped=true&lang=css&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectDetails.vue?vue&type=style&index=0&id=3a072a68&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectDetails.vue?vue&type=style&index=0&id=3a072a68&scoped=true&lang=css&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectMap.vue?vue&type=style&index=0&id=ffd4ee92&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectMap.vue?vue&type=style&index=0&id=ffd4ee92&scoped=true&lang=css&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PlanDetails.vue?vue&type=style&index=0&id=1dbde4e9&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PlanDetails.vue?vue&type=style&index=0&id=1dbde4e9&scoped=true&lang=css&\"","/* eslint-disable arrow-parens, max-len, padded-blocks */\nimport axios from 'axios';\nimport { getMsalObject } from '@/plugins/msal-plugin';\n\nconst api = axios.create({\n baseURL: '/api',\n});\n\napi.interceptors.request.use(async (config) => {\n // get token through msal and put it in the authorization header\n const bearerToken = await getMsalObject().acquireToken();\n const newConfig = config;\n newConfig.headers.Authorization = `Bearer ${bearerToken}`;\n return newConfig;\n});\n\nexport default api;\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Project.vue?vue&type=style&index=0&id=4132c078&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Project.vue?vue&type=style&index=0&id=4132c078&scoped=true&lang=css&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectGoals.vue?vue&type=style&index=0&id=570f8f0d&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectGoals.vue?vue&type=style&index=0&id=570f8f0d&scoped=true&lang=css&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectActions.vue?vue&type=style&index=0&id=1c71f5b6&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectActions.vue?vue&type=style&index=0&id=1c71f5b6&scoped=true&lang=css&\""],"sourceRoot":""}