{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/views/prestation-expertise/rapport/marche/prestation-expertise-rapport-marche-etude-de-marche.vue?c5a2","webpack:///./src/components/captcha.vue?49e1","webpack:///./src/components/rapport-expertise/distribution-interieur.vue?5283","webpack:///./src/components/prestation-expertise/prestation-expertise-mobile-menu.vue?5a36","webpack:///./src/views/prestation-expertise/etude-de-marche/rapport/prestation-expertise-etude-de-marche-rapport.vue?9798","webpack:///./src/components/rapport-expertise/distribution-interieur-etage.vue?62df","webpack:///./src/components/prestation-expertise/prestation-expertise-sections.vue?4443","webpack:///./src/shared/enums/etape-mission.enum.ts","webpack:///./src/components/exp-cuisine.vue?224c","webpack:///./src/shared/components/table-radios.vue?6aea","webpack:///./src/components/exp-commodite.vue?de10","webpack:///./src/shared/components/prestation-expertise/prestation-expertise-plan-cadastre.vue?775a","webpack:///./src/shared/components/radio-boolean.vue?b2fd","webpack:///./src/views/prestation-expertise/prestation-expertise-proprietes.vue?979e","webpack:///./src/views/layouts/prestation-expertise.layout.vue?b64a","webpack:///./src/views/prestation-expertise/etat-avancement-travaux/bien/prestation-expertise-etat-avancement-travaux-bien.vue?f7b2","webpack:///./src/shared/components/radios.vue?9d09","webpack:///./src/mixins/theme.mixin.ts","webpack:///./src/views/prestation-expertise/rapport/description-particuliere/prestation-expertise-rapport-description-particuliere-prestations.vue?df08","webpack:///./src/shared/components/prestation-expertise/prestation-expertise-version-histories.vue?2ec8","webpack:///./src/views/prestation-expertise/etude-de-marche/rapport/prestation-expertise-etude-de-marche-rapport.vue","webpack:///./src/shared/components/back-button.vue?1181","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/views/login.vue?dcc4","webpack:///./src/views/prestation-expertise/prestation-expertise-contact.vue?2173","webpack:///./src/shared/components/visa-display.vue?22b5","webpack:///./src/views/agenda/agenda-desktop.vue?c54a","webpack:///./src/shared/enums/type-prestation-expertise.enum.ts","webpack:///./src/views/prestation-expertise/etat-avancement-travaux/conclusion/prestation-expertise-etat-avancement-travaux-conclusion.vue?f7c3","webpack:///./src/views/prestation-expertise/rapport/conclusion/prestation-expertise-rapport-conclusion-conclusion.vue?1796","webpack:///./src/components/rapport-expertise/Visa.vue?636a","webpack:///./src/App.vue?db16","webpack:///./src/shared/components/multiple-chart.vue?ad92","webpack:///./src/views/prestation-expertise/rapport/prestation-expertise-rapport-proprietes.vue?4b3e","webpack:///./src/shared/components/prestation-expertise/prestation-expertise-file-uploader.vue?17cc","webpack:///./src/views/prestation-expertise/rapport/situation-juridique/prestation-expertise-rapport-situation-juridique-juridique.vue?cfdf","webpack:///./src/components/rapport-expertise/table-surfaces.vue?3bed","webpack:///./src/assets/document_document.svg","webpack:///./src/views/prestation-expertise/rapport/prestation-expertise-rapport.vue?1849","webpack:///./src/views/prestation-expertise/etat-avancement-travaux/commentaires/prestation-expertise-etat-avancement-travaux-avis-expert.vue?f806","webpack:///./src/shared/components/simple-chart.vue?38c4","webpack:///./src/shared/components/rapport-expertise/rapport-expertise-piece-jointe.vue?103b","webpack:///./src/mixins/device.mixin.ts","webpack:///./src/mixins/etude-de-marche-section.mixin.ts","webpack:///./src/shared/components/rapport-expertise/rapport-expertise-file-uploader.vue?f813","webpack:///./src/shared/enums/type-valeur.enum.ts","webpack:///./src/shared/enums/etat-prestation-expertise-point-inspection.enum.ts","webpack:///./src/shared/enums/statut-commande.enum.ts","webpack:///./src/shared/utilities/enums.utility.ts","webpack:///./src/components/prestation-expertise/prestation-expertise-header-actions.vue?1d28","webpack:///./src/shared/dtos/rapport-expertise-business-entry.dto.ts","webpack:///./src/shared/enums/nature-bien.enum.ts","webpack:///./src/shared/components/rapport-expertise/rapport-expertise-dpe.vue?80e9","webpack:///./src/views/diagnostic.vue?b09f","webpack:///./src/views/agenda/agenda-mobile.vue?2f4b","webpack:///./src/components/prestation-expertise/prestation-expertise-push.vue?21e2","webpack:///./src/views/missions-a-controler.vue?c47b","webpack:///./src/views/prestation-expertise/rapport/description-generale/prestation-expertise-rapport-description-generale-references-cadastrales.vue?f279","webpack:///./src/components/element-comparaison.vue?5f26","webpack:///./src/shared/components/prestation-expertise/prestation-expertise-google-maps-street.vue?b11b","webpack:///./src/mixins/prestation-expertise-section.mixin.ts","webpack:///./src/views/layouts/basic.layout.vue?9ded","webpack:///./src/components/rapport-expertise/panel-comparables.vue?9740","webpack:///./src/shared/components/prestation-expertise/prestation-expertise-piece-jointe.vue?0a73","webpack:///./src/shared/enums/point-inspection-categorie.enum.ts","webpack:///./src/views/agenda/agenda-desktop.vue?1248","webpack:///./src/shared/components/choice-popup.vue?faab","webpack:///./src/components/exp-salle-de-bain.vue?90bb","webpack:///./src/components/card-mission.vue?a413","webpack:///./src/components/prestation-expertise/prestation-expertise-desktop-menu.vue?e2af","webpack:///./src/components/visa-section-status.vue?d12f","webpack:///./src/shared/components/prestation-expertise/prestation-expertise-situation-cadastrale.vue?13d4","webpack:///./src/shared/components/header-title.vue?2e11","webpack:///./src/shared/components/date-picker.vue?e7b7","webpack:///./src/shared/components/dropdowns.vue?3814","webpack:///./src/helpers/prestation-expertise.helper.ts","webpack:///./src/views/prestation-expertise/rapport/conclusion/prestation-expertise-rapport-conclusion-annexes.vue?630f","webpack:///./src/shared/store.ts","webpack:///./src/shared/components/visa-note.vue?1bc0","webpack:///./src/views/prestation-expertise/valeur-spot-plus/conclusion/prestation-expertise-valeur-spot-plus-conclusion-valeurs.vue?7db0","webpack:///./src/views/agenda/agenda-mobile.vue?7332","webpack:///./src/services/apis/base-dto-api.service.ts","webpack:///./src/services/apis/etude-de-marche-api.service.ts","webpack:///./src/services/jours-feries.services.ts","webpack:///./src/views/login.vue?bd14","webpack:///./src/views/layouts/basic.layout.vue?e6e3","webpack:///./src/views/layouts/basic.layout.vue","webpack:///./src/shared/enums/annexe-statut.enum.ts","webpack:///./src/shared/enums/evaluation-methode-retenue.enum.ts","webpack:///./src/shared/enums/contrat-type-visite.enum.ts","webpack:///./src/shared/enums/business-entry.enum.ts","webpack:///./src/shared/enums/contrat-type-prestation.enum.ts","webpack:///./src/views/layouts/basic.layout.vue?0f5c","webpack:///./src/views/layouts/basic.layout.vue?3de5","webpack:///./src/helpers/rapport-expertise.helper.ts","webpack:///./src/components/captcha.vue?e9ad","webpack:///./src/components/captcha.vue","webpack:///./src/components/captcha.vue?bc8c","webpack:///./src/components/captcha.vue?75f0","webpack:///./src/views/login.vue","webpack:///./src/views/login.vue?df95","webpack:///./src/views/login.vue?4e96","webpack:///./src/views/agenda/agenda-mobile.vue?6085","webpack:///./src/shared/components/header-title.vue?4a9a","webpack:///./src/shared/components/header-title.vue","webpack:///./src/shared/components/header-title.vue?9238","webpack:///./src/shared/components/header-title.vue?87ee","webpack:///./src/components/card-mission.vue?f330","webpack:///./src/components/card-mission.vue","webpack:///./src/shared/enums/conflit-statut.enum.ts","webpack:///./src/components/card-mission.vue?bc33","webpack:///./src/components/card-mission.vue?cf64","webpack:///./src/shared/utilities/date.utility.ts","webpack:///./src/views/agenda/agenda.ts","webpack:///./src/shared/components/agenda-modals.vue?2d12","webpack:///./src/shared/components/agenda-modals.vue","webpack:///./src/shared/components/agenda-modals.vue?7c4e","webpack:///./src/shared/components/agenda-modals.vue?f89b","webpack:///./src/components/prestation-expertise/prestation-expertise-push.vue?e9a5","webpack:///./src/components/prestation-expertise/prestation-expertise-push.vue","webpack:///./src/components/prestation-expertise/prestation-expertise-push.vue?2a99","webpack:///./src/components/prestation-expertise/prestation-expertise-push.vue?f27a","webpack:///./src/views/agenda/agenda-mobile.vue","webpack:///./src/views/agenda/agenda-mobile.vue?e635","webpack:///./src/views/agenda/agenda-mobile.vue?6146","webpack:///./src/views/agenda/agenda-desktop.vue?d891","webpack:///./src/components/agenda-loading-message.vue?65cd","webpack:///./src/components/agenda-loading-message.vue","webpack:///./src/components/agenda-loading-message.vue?d77d","webpack:///./src/components/agenda-loading-message.vue?744d","webpack:///./src/views/agenda/agenda-desktop.vue","webpack:///./src/shared/enums/severity-level.enum.ts","webpack:///./src/views/agenda/agenda-desktop.vue?3b5f","webpack:///./src/views/agenda/agenda-desktop.vue?06f4","webpack:///./src/views/diagnostic.vue?2e21","webpack:///./src/views/diagnostic.vue","webpack:///./src/views/diagnostic.vue?4787","webpack:///./src/views/diagnostic.vue?d970","webpack:///./src/views/missions.vue?b233","webpack:///./src/shared/directives/sort-aria-label.directive.ts","webpack:///./src/views/missions.vue","webpack:///./src/views/missions.vue?48d0","webpack:///./src/views/missions.vue?63f2","webpack:///./src/views/recherche.vue?23ca","webpack:///./src/shared/dtos/recherche-mission.dto.ts","webpack:///./src/shared/dtos/recherche-localisation-mission.dto.ts","webpack:///./src/shared/utilities/google-maps.utility.ts","webpack:///./src/views/recherche.vue","webpack:///./src/shared/enums/visa-statut.enum.ts","webpack:///./src/views/recherche.vue?f976","webpack:///./src/views/recherche.vue?e13d","webpack:///./src/views/missions-a-controler.vue?6411","webpack:///./src/views/missions-a-controler.vue","webpack:///./src/shared/enums/subject-message-type.enum.ts","webpack:///./src/views/missions-a-controler.vue?b298","webpack:///./src/views/missions-a-controler.vue?6176","webpack:///./src/views/prestation-expertise/rapport/prestation-expertise-rapport.vue?b049","webpack:///./src/views/layouts/prestation-expertise.layout.vue?e14e","webpack:///./src/shared/components/back-button.vue?2d35","webpack:///./src/shared/components/back-button.vue","webpack:///./src/shared/components/back-button.vue?7b63","webpack:///./src/shared/components/back-button.vue?fb4f","webpack:///./src/views/layouts/prestation-expertise.layout.vue","webpack:///./src/shared/enums/type-piece-jointe-rapport.enum.ts","webpack:///./src/views/layouts/prestation-expertise.layout.vue?708e","webpack:///./src/views/layouts/prestation-expertise.layout.vue?39ec","webpack:///./src/views/prestation-expertise/prestation-expertise.ts","webpack:///./src/components/prestation-expertise/prestation-expertise-sections.vue?3355","webpack:///./src/views/prestation-expertise/rapport/prestation-expertise-rapport-indicateurs.vue?9630","webpack:///./src/views/prestation-expertise/rapport/prestation-expertise-rapport-indicateurs.vue","webpack:///./src/views/prestation-expertise/rapport/prestation-expertise-rapport-indicateurs.vue?2e61","webpack:///./src/views/prestation-expertise/rapport/prestation-expertise-rapport-indicateurs.vue?94ca","webpack:///./src/views/prestation-expertise/rapport/prestation-expertise-rapport-proprietes.vue?a97b","webpack:///./src/shared/components/radio-boolean.vue?01fd","webpack:///./src/shared/components/radio-boolean.vue","webpack:///./src/shared/components/radio-boolean.vue?4515","webpack:///./src/shared/components/radio-boolean.vue?79a2","webpack:///./src/shared/components/prestation-expertise/prestation-expertise-version-histories.vue?90aa","webpack:///./src/shared/components/prestation-expertise/prestation-expertise-version-histories.vue","webpack:///./src/shared/components/prestation-expertise/prestation-expertise-version-histories.vue?4e15","webpack:///./src/shared/components/prestation-expertise/prestation-expertise-version-histories.vue?f32e","webpack:///./src/views/prestation-expertise/rapport/prestation-expertise-rapport-proprietes.vue","webpack:///./src/views/prestation-expertise/rapport/prestation-expertise-rapport-proprietes.vue?edb8","webpack:///./src/views/prestation-expertise/rapport/prestation-expertise-rapport-proprietes.vue?1b2d","webpack:///./src/views/prestation-expertise/rapport/contrat/prestation-expertise-rapport-contrat-mission.vue?75f1","webpack:///./src/mixins/rapport-expertise-section.mixin.ts","webpack:///./src/shared/components/choice-popup.vue?90ec","webpack:///./src/shared/components/checkboxs.vue?ca35","webpack:///./src/shared/components/checkboxs.vue","webpack:///./src/shared/components/checkboxs.vue?1e56","webpack:///./src/shared/components/checkboxs.vue?8f4d","webpack:///./src/shared/components/radios.vue?431e","webpack:///./src/shared/components/radios.vue","webpack:///./src/shared/components/radios.vue?599b","webpack:///./src/shared/components/radios.vue?8dba","webpack:///./src/shared/components/dropdowns.vue?bc4d","webpack:///./src/shared/components/dropdowns.vue","webpack:///./src/shared/components/dropdowns.vue?a7d3","webpack:///./src/shared/components/dropdowns.vue?03c2","webpack:///./src/shared/utilities/string.utility.ts","webpack:///./src/shared/components/choice-popup.vue","webpack:///./src/shared/components/choice-popup.vue?c5df","webpack:///./src/shared/components/choice-popup.vue?48e2","webpack:///./src/shared/components/prestation-expertise/prestation-expertise-contexte-intervention.vue?0a5d","webpack:///./src/shared/components/prestation-expertise/prestation-expertise-contexte-intervention.vue","webpack:///./src/shared/enums/contrat-hypothese-evaluation.enum.ts","webpack:///./src/shared/components/prestation-expertise/prestation-expertise-contexte-intervention.vue?9462","webpack:///./src/shared/components/prestation-expertise/prestation-expertise-contexte-intervention.vue?ee65","webpack:///./src/shared/components/date-visite.vue?e6be","webpack:///./src/shared/components/date-picker.vue?4bb4","webpack:///./src/shared/components/date-picker.vue","webpack:///./src/shared/components/date-picker.vue?0884","webpack:///./src/shared/components/date-picker.vue?7308","webpack:///./src/shared/components/date-visite.vue","webpack:///./src/shared/components/date-visite.vue?d272","webpack:///./src/shared/components/date-visite.vue?651b","webpack:///./src/views/prestation-expertise/rapport/contrat/prestation-expertise-rapport-contrat-mission.vue","webpack:///./src/views/prestation-expertise/rapport/contrat/prestation-expertise-rapport-contrat-mission.vue?ead8","webpack:///./src/views/prestation-expertise/rapport/contrat/prestation-expertise-rapport-contrat-mission.vue?924f","webpack:///./src/views/prestation-expertise/rapport/situation-geographique/prestation-expertise-rapport-situation-geographique-geographie.vue?9902","webpack:///./src/shared/components/simple-chart.vue?a1b4","webpack:///./src/shared/components/simple-chart.vue","webpack:///./src/shared/components/simple-chart.vue?72a2","webpack:///./src/shared/components/simple-chart.vue?c40b","webpack:///./src/shared/components/multiple-chart.vue?77d7","webpack:///./src/shared/components/multiple-chart.vue","webpack:///./src/shared/components/multiple-chart.vue?f7b2","webpack:///./src/shared/components/multiple-chart.vue?e24a","webpack:///./src/components/exp-commodite.vue?3b3e","webpack:///./src/components/exp-commodite.vue","webpack:///./src/components/exp-commodite.vue?b52f","webpack:///./src/components/exp-commodite.vue?422b","webpack:///./src/shared/components/visa-display.vue?b592","webpack:///./src/shared/components/visa-display.vue","webpack:///./src/shared/components/visa-display.vue?fc4f","webpack:///./src/shared/components/visa-display.vue?df67","webpack:///./src/shared/components/prestation-expertise/prestation-expertise-situation-adresse.vue?4ee4","webpack:///./src/shared/components/google-map.vue?b77d","webpack:///./src/shared/components/google-map.vue","webpack:///./src/shared/components/google-map.vue?3b9e","webpack:///./src/shared/components/google-map.vue?7e9d","webpack:///./src/shared/components/prestation-expertise/prestation-expertise-situation-adresse.vue","webpack:///./src/shared/components/prestation-expertise/prestation-expertise-situation-adresse.vue?e50d","webpack:///./src/shared/components/prestation-expertise/prestation-expertise-situation-adresse.vue?e1dc","webpack:///./src/views/prestation-expertise/rapport/situation-geographique/prestation-expertise-rapport-situation-geographique-avis-expert.vue?4fc8","webpack:///./src/shared/components/prestation-expertise/prestation-expertise-rapport-avis-expert.vue?406c","webpack:///./src/shared/components/prestation-expertise/prestation-expertise-rapport-avis-expert.vue","webpack:///./src/shared/components/prestation-expertise/prestation-expertise-rapport-avis-expert.vue?3e46","webpack:///./src/shared/components/prestation-expertise/prestation-expertise-rapport-avis-expert.vue?1382","webpack:///./src/views/prestation-expertise/rapport/situation-geographique/prestation-expertise-rapport-situation-geographique-avis-expert.vue","webpack:///./src/shared/enums/donnees-estimation-immobiliere-type.enum.ts","webpack:///./src/views/prestation-expertise/rapport/situation-geographique/prestation-expertise-rapport-situation-geographique-avis-expert.vue?a0ad","webpack:///./src/views/prestation-expertise/rapport/situation-geographique/prestation-expertise-rapport-situation-geographique-avis-expert.vue?edec","webpack:///./src/views/prestation-expertise/rapport/situation-geographique/prestation-expertise-rapport-situation-geographique-geographie.vue","webpack:///./src/views/prestation-expertise/rapport/situation-geographique/prestation-expertise-rapport-situation-geographique-geographie.vue?987a","webpack:///./src/views/prestation-expertise/rapport/situation-geographique/prestation-expertise-rapport-situation-geographique-geographie.vue?cda6","webpack:///./src/views/prestation-expertise/rapport/situation-geographique/prestation-expertise-rapport-situation-geographique-controle.vue?976f","webpack:///./src/shared/components/visa-note.vue?7c07","webpack:///./src/shared/components/visa-note.vue","webpack:///./src/shared/components/visa-note.vue?8928","webpack:///./src/shared/components/visa-note.vue?f56a","webpack:///./src/views/prestation-expertise/rapport/situation-geographique/prestation-expertise-rapport-situation-geographique-controle.vue","webpack:///./src/views/prestation-expertise/rapport/situation-geographique/prestation-expertise-rapport-situation-geographique-controle.vue?a5ad","webpack:///./src/views/prestation-expertise/rapport/situation-geographique/prestation-expertise-rapport-situation-geographique-controle.vue?6d77","webpack:///./src/views/prestation-expertise/rapport/description-generale/prestation-expertise-rapport-description-generale-terrain.vue?5142","webpack:///./src/shared/components/textarea-with-default-value.vue?4478","webpack:///./src/shared/components/textarea-with-default-value.vue","webpack:///./src/shared/components/textarea-with-default-value.vue?b462","webpack:///./src/shared/components/textarea-with-default-value.vue?3acf","webpack:///./src/shared/components/rapport-expertise/rapport-expertise-file-uploader.vue?cac6","webpack:///./src/shared/components/rapport-expertise/rapport-expertise-piece-jointe.vue?1ee6","webpack:///./src/shared/components/rapport-expertise/rapport-expertise-piece-jointe.vue","webpack:///./src/shared/components/rapport-expertise/rapport-expertise-piece-jointe.vue?c677","webpack:///./src/shared/components/rapport-expertise/rapport-expertise-piece-jointe.vue?3fa6","webpack:///./src/shared/components/rapport-expertise/rapport-expertise-file-uploader.vue","webpack:///./src/shared/components/rapport-expertise/rapport-expertise-file-uploader.vue?a1e8","webpack:///./src/shared/components/rapport-expertise/rapport-expertise-file-uploader.vue?75be","webpack:///./src/views/prestation-expertise/rapport/description-generale/prestation-expertise-rapport-description-generale-references-cadastrales.vue?c0a1","webpack:///./src/shared/components/numeric-nullable.vue?8dbb","webpack:///./src/shared/directives/input-mode.directive.ts","webpack:///./src/shared/components/numeric-nullable.vue","webpack:///./src/shared/components/numeric-nullable.vue?38a4","webpack:///./src/shared/components/numeric-nullable.vue?8279","webpack:///./src/shared/utilities/url.utility.ts","webpack:///./src/views/prestation-expertise/rapport/description-generale/prestation-expertise-rapport-description-generale-references-cadastrales.vue","webpack:///./src/views/prestation-expertise/rapport/description-generale/prestation-expertise-rapport-description-generale-references-cadastrales.vue?2fcf","webpack:///./src/views/prestation-expertise/rapport/description-generale/prestation-expertise-rapport-description-generale-references-cadastrales.vue?b9eb","webpack:///./src/views/prestation-expertise/rapport/description-generale/prestation-expertise-rapport-description-generale-avis-expert.vue?37ee","webpack:///./src/views/prestation-expertise/rapport/description-generale/prestation-expertise-rapport-description-generale-avis-expert.vue","webpack:///./src/views/prestation-expertise/rapport/description-generale/prestation-expertise-rapport-description-generale-avis-expert.vue?141e","webpack:///./src/views/prestation-expertise/rapport/description-generale/prestation-expertise-rapport-description-generale-avis-expert.vue?654c","webpack:///./src/shared/dtos/donnees-estimation-immobiliere-update-input.dto.ts","webpack:///./src/views/prestation-expertise/rapport/description-generale/prestation-expertise-rapport-description-generale-terrain.vue","webpack:///./src/views/prestation-expertise/rapport/description-generale/prestation-expertise-rapport-description-generale-terrain.vue?4fce","webpack:///./src/views/prestation-expertise/rapport/description-generale/prestation-expertise-rapport-description-generale-terrain.vue?82ba","webpack:///./src/views/prestation-expertise/rapport/description-generale/prestation-expertise-rapport-description-generale-controle.vue?b980","webpack:///./src/views/prestation-expertise/rapport/description-generale/prestation-expertise-rapport-description-generale-controle.vue","webpack:///./src/views/prestation-expertise/rapport/description-generale/prestation-expertise-rapport-description-generale-controle.vue?e849","webpack:///./src/views/prestation-expertise/rapport/description-generale/prestation-expertise-rapport-description-generale-controle.vue?0b9f","webpack:///./src/views/prestation-expertise/rapport/description-particuliere/prestation-expertise-rapport-description-particuliere-batiment.vue?c220","webpack:///./src/shared/components/rapport-expertise/rapport-expertise-dpe.vue?22f0","webpack:///./src/shared/components/rapport-expertise/rapport-expertise-estimation-dpe.vue?e617","webpack:///./src/shared/models/dossier/property.model.ts","webpack:///./src/shared/models/dossier/dossier-pricehubble.model.ts","webpack:///./src/shared/constants/tableDPE.const.ts","webpack:///./src/shared/components/rapport-expertise/rapport-expertise-estimation-dpe.vue","webpack:///./src/shared/components/rapport-expertise/rapport-expertise-estimation-dpe.vue?8beb","webpack:///./src/shared/components/rapport-expertise/rapport-expertise-estimation-dpe.vue?d60e","webpack:///./src/shared/components/etiquette-dpe.vue?4b65","webpack:///./src/shared/components/etiquette-dpe.vue","webpack:///./src/shared/components/etiquette-dpe.vue?9983","webpack:///./src/shared/components/etiquette-dpe.vue?76da","webpack:///./src/shared/components/rapport-expertise/rapport-expertise-dpe.vue","webpack:///./src/shared/components/rapport-expertise/rapport-expertise-dpe.vue?98e5","webpack:///./src/shared/components/rapport-expertise/rapport-expertise-dpe.vue?feed","webpack:///./src/views/prestation-expertise/rapport/description-particuliere/prestation-expertise-rapport-description-particuliere-batiment.vue","webpack:///./src/views/prestation-expertise/rapport/description-particuliere/prestation-expertise-rapport-description-particuliere-batiment.vue?648b","webpack:///./src/views/prestation-expertise/rapport/description-particuliere/prestation-expertise-rapport-description-particuliere-batiment.vue?a61a","webpack:///./src/views/prestation-expertise/rapport/description-particuliere/prestation-expertise-rapport-description-particuliere-prestations.vue?1a80","webpack:///./src/components/exp-cuisine.vue?872a","webpack:///./src/components/exp-cuisine.vue","webpack:///./src/components/exp-cuisine.vue?6c3c","webpack:///./src/components/exp-cuisine.vue?cf8f","webpack:///./src/components/exp-salle-de-bain.vue?acdc","webpack:///./src/components/exp-salle-de-bain.vue","webpack:///./src/components/exp-salle-de-bain.vue?cf3c","webpack:///./src/components/exp-salle-de-bain.vue?b2ef","webpack:///./src/views/prestation-expertise/rapport/description-particuliere/prestation-expertise-rapport-description-particuliere-prestations.vue","webpack:///./src/views/prestation-expertise/rapport/description-particuliere/prestation-expertise-rapport-description-particuliere-prestations.vue?5ea3","webpack:///./src/views/prestation-expertise/rapport/description-particuliere/prestation-expertise-rapport-description-particuliere-prestations.vue?60c9","webpack:///./src/views/prestation-expertise/rapport/description-particuliere/prestation-expertise-rapport-description-particuliere-surface.vue?6ec9","webpack:///./src/components/rapport-expertise/distribution-interieur.vue?d5b1","webpack:///./src/components/rapport-expertise/distribution-interieur-etage.vue?4152","webpack:///./src/components/rapport-expertise/table-surfaces.vue?f24c","webpack:///./src/components/rapport-expertise/table-surfaces.vue","webpack:///./src/components/rapport-expertise/table-surfaces.vue?22ed","webpack:///./src/components/rapport-expertise/table-surfaces.vue?d329","webpack:///./src/components/rapport-expertise/distribution-interieur-etage.vue","webpack:///./src/components/rapport-expertise/distribution-interieur-etage.vue?0781","webpack:///./src/components/rapport-expertise/distribution-interieur-etage.vue?548d","webpack:///./src/components/rapport-expertise/distribution-interieur.vue","webpack:///./src/components/rapport-expertise/distribution-interieur.vue?8501","webpack:///./src/components/rapport-expertise/distribution-interieur.vue?d93b","webpack:///./src/components/rapport-expertise/exp-surface.vue?6155","webpack:///./src/components/rapport-expertise/exp-surface.vue","webpack:///./src/components/rapport-expertise/exp-surface.vue?b3c2","webpack:///./src/components/rapport-expertise/exp-surface.vue?60c9","webpack:///./src/views/prestation-expertise/rapport/description-particuliere/prestation-expertise-rapport-description-particuliere-avis-expert.vue?9206","webpack:///./src/views/prestation-expertise/rapport/description-particuliere/prestation-expertise-rapport-description-particuliere-avis-expert.vue","webpack:///./src/views/prestation-expertise/rapport/description-particuliere/prestation-expertise-rapport-description-particuliere-avis-expert.vue?3e97","webpack:///./src/views/prestation-expertise/rapport/description-particuliere/prestation-expertise-rapport-description-particuliere-avis-expert.vue?bb4c","webpack:///./src/views/prestation-expertise/rapport/description-particuliere/prestation-expertise-rapport-description-particuliere-surface.vue","webpack:///./src/views/prestation-expertise/rapport/description-particuliere/prestation-expertise-rapport-description-particuliere-surface.vue?8f08","webpack:///./src/views/prestation-expertise/rapport/description-particuliere/prestation-expertise-rapport-description-particuliere-surface.vue?fda3","webpack:///./src/views/prestation-expertise/rapport/description-particuliere/prestation-expertise-rapport-description-particuliere-controle.vue?8d87","webpack:///./src/views/prestation-expertise/rapport/description-particuliere/prestation-expertise-rapport-description-particuliere-controle.vue","webpack:///./src/views/prestation-expertise/rapport/description-particuliere/prestation-expertise-rapport-description-particuliere-controle.vue?2aa6","webpack:///./src/views/prestation-expertise/rapport/description-particuliere/prestation-expertise-rapport-description-particuliere-controle.vue?e63f","webpack:///./src/views/prestation-expertise/rapport/situation-fiscale/prestation-expertise-rapport-situation-fiscale-fiscalite.vue?eeaf","webpack:///./src/views/prestation-expertise/rapport/situation-fiscale/prestation-expertise-rapport-situation-fiscale-fiscalite.vue","webpack:///./src/views/prestation-expertise/rapport/situation-fiscale/prestation-expertise-rapport-situation-fiscale-fiscalite.vue?a341","webpack:///./src/views/prestation-expertise/rapport/situation-fiscale/prestation-expertise-rapport-situation-fiscale-fiscalite.vue?b1e1","webpack:///./src/views/prestation-expertise/rapport/situation-fiscale/prestation-expertise-rapport-situation-fiscale-controle.vue?680d","webpack:///./src/views/prestation-expertise/rapport/situation-fiscale/prestation-expertise-rapport-situation-fiscale-controle.vue","webpack:///./src/views/prestation-expertise/rapport/situation-fiscale/prestation-expertise-rapport-situation-fiscale-controle.vue?9de7","webpack:///./src/views/prestation-expertise/rapport/situation-fiscale/prestation-expertise-rapport-situation-fiscale-controle.vue?1c8e","webpack:///./src/views/prestation-expertise/rapport/situation-juridique/prestation-expertise-rapport-situation-juridique-juridique.vue?d9fb","webpack:///./src/shared/components/extendable-list-string.vue?90fe","webpack:///./src/shared/components/extendable-list.vue?85a0","webpack:///./src/shared/components/extendable-list.vue","webpack:///./src/shared/components/extendable-list.vue?0986","webpack:///./src/shared/components/extendable-list.vue?5535","webpack:///./src/shared/components/extendable-list-string.vue","webpack:///./src/shared/components/extendable-list-string.vue?5427","webpack:///./src/shared/components/extendable-list-string.vue?add5","webpack:///./src/shared/components/table-radios.vue?a11b","webpack:///./src/shared/components/table-radios.vue","webpack:///./src/shared/components/table-radios.vue?d4b0","webpack:///./src/shared/components/table-radios.vue?bbf7","webpack:///./src/views/prestation-expertise/rapport/situation-juridique/prestation-expertise-rapport-situation-juridique-juridique.vue","webpack:///./src/views/prestation-expertise/rapport/situation-juridique/prestation-expertise-rapport-situation-juridique-juridique.vue?9fc3","webpack:///./src/views/prestation-expertise/rapport/situation-juridique/prestation-expertise-rapport-situation-juridique-juridique.vue?062d","webpack:///./src/views/prestation-expertise/rapport/situation-juridique/prestation-expertise-rapport-situation-juridique-controle.vue?7971","webpack:///./src/views/prestation-expertise/rapport/situation-juridique/prestation-expertise-rapport-situation-juridique-controle.vue","webpack:///./src/views/prestation-expertise/rapport/situation-juridique/prestation-expertise-rapport-situation-juridique-controle.vue?d0f0","webpack:///./src/views/prestation-expertise/rapport/situation-juridique/prestation-expertise-rapport-situation-juridique-controle.vue?3af2","webpack:///./src/views/prestation-expertise/rapport/situation-urbanistique/prestation-expertise-rapport-situation-urbanistique-urbanisme.vue?8cf3","webpack:///./src/views/prestation-expertise/rapport/situation-urbanistique/prestation-expertise-rapport-situation-urbanistique-urbanisme.vue","webpack:///./src/views/prestation-expertise/rapport/situation-urbanistique/prestation-expertise-rapport-situation-urbanistique-urbanisme.vue?a599","webpack:///./src/views/prestation-expertise/rapport/situation-urbanistique/prestation-expertise-rapport-situation-urbanistique-urbanisme.vue?890d","webpack:///./src/views/prestation-expertise/rapport/situation-urbanistique/prestation-expertise-rapport-situation-urbanistique-controle.vue?423c","webpack:///./src/views/prestation-expertise/rapport/situation-urbanistique/prestation-expertise-rapport-situation-urbanistique-controle.vue","webpack:///./src/views/prestation-expertise/rapport/situation-urbanistique/prestation-expertise-rapport-situation-urbanistique-controle.vue?ef9b","webpack:///./src/views/prestation-expertise/rapport/situation-urbanistique/prestation-expertise-rapport-situation-urbanistique-controle.vue?1dd4","webpack:///./src/views/prestation-expertise/rapport/situation-locative/prestation-expertise-rapport-situation-locative-locative.vue?48e8","webpack:///./src/views/prestation-expertise/rapport/situation-locative/prestation-expertise-rapport-situation-locative-locative.vue","webpack:///./src/views/prestation-expertise/rapport/situation-locative/prestation-expertise-rapport-situation-locative-locative.vue?be44","webpack:///./src/views/prestation-expertise/rapport/situation-locative/prestation-expertise-rapport-situation-locative-locative.vue?3b58","webpack:///./src/views/prestation-expertise/rapport/situation-locative/prestation-expertise-rapport-situation-locative-controle.vue?29f4","webpack:///./src/views/prestation-expertise/rapport/situation-locative/prestation-expertise-rapport-situation-locative-controle.vue","webpack:///./src/views/prestation-expertise/rapport/situation-locative/prestation-expertise-rapport-situation-locative-controle.vue?1c12","webpack:///./src/views/prestation-expertise/rapport/situation-locative/prestation-expertise-rapport-situation-locative-controle.vue?2b52","webpack:///./src/views/prestation-expertise/rapport/marche/prestation-expertise-rapport-marche-etude-de-marche.vue?dd0d","webpack:///./src/components/element-comparaison.vue?d296","webpack:///./src/components/element-comparaison.vue","webpack:///./src/components/element-comparaison.vue?34e9","webpack:///./src/components/element-comparaison.vue?d03c","webpack:///./src/views/prestation-expertise/rapport/marche/prestation-expertise-rapport-marche-etude-de-marche.vue","webpack:///./src/views/prestation-expertise/rapport/marche/prestation-expertise-rapport-marche-etude-de-marche.vue?86f3","webpack:///./src/views/prestation-expertise/rapport/marche/prestation-expertise-rapport-marche-etude-de-marche.vue?602d","webpack:///./src/views/prestation-expertise/rapport/marche/prestation-expertise-rapport-marche-controle.vue?88e1","webpack:///./src/views/prestation-expertise/rapport/marche/prestation-expertise-rapport-marche-controle.vue","webpack:///./src/views/prestation-expertise/rapport/marche/prestation-expertise-rapport-marche-controle.vue?2a9d","webpack:///./src/views/prestation-expertise/rapport/marche/prestation-expertise-rapport-marche-controle.vue?6bfb","webpack:///./src/views/prestation-expertise/rapport/evaluation/prestation-expertise-rapport-evaluation-evaluation.vue?d737","webpack:///./src/shared/components/rapport-expertise/rapport-scenario-renovation.vue?faf8","webpack:///./src/shared/components/rapport-expertise/rapport-expertise-apercu-renovation.vue?506c","webpack:///./src/shared/components/rapport-expertise/rapport-expertise-apercu-renovation.vue","webpack:///./src/shared/components/rapport-expertise/rapport-expertise-apercu-renovation.vue?a93e","webpack:///./src/shared/components/rapport-expertise/rapport-expertise-apercu-renovation.vue?ba07","webpack:///./src/shared/components/rapport-expertise/rapport-scenario-renovation.vue","webpack:///./src/shared/enums/feature.enum.ts","webpack:///./src/shared/components/rapport-expertise/rapport-scenario-renovation.vue?7fd0","webpack:///./src/shared/components/rapport-expertise/rapport-scenario-renovation.vue?1f94","webpack:///./src/views/prestation-expertise/rapport/evaluation/prestation-expertise-rapport-evaluation-evaluation.vue","webpack:///./src/views/prestation-expertise/rapport/evaluation/prestation-expertise-rapport-evaluation-evaluation.vue?cd66","webpack:///./src/views/prestation-expertise/rapport/evaluation/prestation-expertise-rapport-evaluation-evaluation.vue?6265","webpack:///./src/views/prestation-expertise/rapport/evaluation/prestation-expertise-rapport-evaluation-controle.vue?4afe","webpack:///./src/views/prestation-expertise/rapport/evaluation/prestation-expertise-rapport-evaluation-controle.vue","webpack:///./src/views/prestation-expertise/rapport/evaluation/prestation-expertise-rapport-evaluation-controle.vue?22d5","webpack:///./src/views/prestation-expertise/rapport/evaluation/prestation-expertise-rapport-evaluation-controle.vue?34d9","webpack:///./src/views/prestation-expertise/rapport/conclusion/prestation-expertise-rapport-conclusion-conclusion.vue?6454","webpack:///./src/shared/utilities/type.utility.ts","webpack:///./src/views/prestation-expertise/rapport/conclusion/prestation-expertise-rapport-conclusion-conclusion.vue","webpack:///./src/views/prestation-expertise/rapport/conclusion/prestation-expertise-rapport-conclusion-conclusion.vue?a26a","webpack:///./src/views/prestation-expertise/rapport/conclusion/prestation-expertise-rapport-conclusion-conclusion.vue?4e73","webpack:///./src/views/prestation-expertise/rapport/conclusion/prestation-expertise-rapport-conclusion-controle.vue?bea9","webpack:///./src/views/prestation-expertise/rapport/conclusion/prestation-expertise-rapport-conclusion-controle.vue","webpack:///./src/views/prestation-expertise/rapport/conclusion/prestation-expertise-rapport-conclusion-controle.vue?1ba7","webpack:///./src/views/prestation-expertise/rapport/conclusion/prestation-expertise-rapport-conclusion-controle.vue?2a7c","webpack:///./src/views/prestation-expertise/rapport/conclusion/prestation-expertise-rapport-conclusion-annexes.vue?e8e5","webpack:///./src/views/prestation-expertise/rapport/conclusion/prestation-expertise-rapport-conclusion-annexes.vue","webpack:///./src/views/prestation-expertise/rapport/conclusion/prestation-expertise-rapport-conclusion-annexes.vue?b1ca","webpack:///./src/views/prestation-expertise/rapport/conclusion/prestation-expertise-rapport-conclusion-annexes.vue?3f96","webpack:///./src/views/prestation-expertise/rapport/controle/prestation-expertise-rapport-appreciation-generale.vue?4485","webpack:///./src/components/rapport-expertise/Visa.vue?b4dd","webpack:///./src/components/rapport-expertise/Visa.vue","webpack:///./src/components/rapport-expertise/Visa.vue?c021","webpack:///./src/components/rapport-expertise/Visa.vue?53a5","webpack:///./src/views/prestation-expertise/rapport/controle/prestation-expertise-rapport-appreciation-generale.vue","webpack:///./src/views/prestation-expertise/rapport/controle/prestation-expertise-rapport-appreciation-generale.vue?9dd4","webpack:///./src/views/prestation-expertise/rapport/controle/prestation-expertise-rapport-appreciation-generale.vue?9250","webpack:///./src/views/prestation-expertise/prestation-expertise-proprietes.vue?76f0","webpack:///./src/views/prestation-expertise/prestation-expertise-proprietes.vue","webpack:///./src/views/prestation-expertise/prestation-expertise-proprietes.vue?ec23","webpack:///./src/views/prestation-expertise/prestation-expertise-proprietes.vue?1f84","webpack:///./src/views/prestation-expertise/valeur-spot-plus/contrat/prestation-expertise-valeur-spot-plus-contrat-mission.vue?00ab","webpack:///./src/mixins/valeur-spot-plus-section.mixin.ts","webpack:///./src/views/prestation-expertise/valeur-spot-plus/contrat/prestation-expertise-valeur-spot-plus-contrat-mission.vue","webpack:///./src/views/prestation-expertise/valeur-spot-plus/contrat/prestation-expertise-valeur-spot-plus-contrat-mission.vue?99a8","webpack:///./src/views/prestation-expertise/valeur-spot-plus/contrat/prestation-expertise-valeur-spot-plus-contrat-mission.vue?4811","webpack:///./src/views/prestation-expertise/valeur-spot-plus/situation-geographique/prestation-expertise-valeur-spot-plus-situation-geographique-plans-de-situation.vue?876f","webpack:///./src/views/prestation-expertise/valeur-spot-plus/situation-geographique/prestation-expertise-valeur-spot-plus-situation-geographique-plans-de-situation.vue","webpack:///./src/shared/enums/type-prestation-expertise-piece-jointe.enum.ts","webpack:///./src/views/prestation-expertise/valeur-spot-plus/situation-geographique/prestation-expertise-valeur-spot-plus-situation-geographique-plans-de-situation.vue?807a","webpack:///./src/views/prestation-expertise/valeur-spot-plus/situation-geographique/prestation-expertise-valeur-spot-plus-situation-geographique-plans-de-situation.vue?59c6","webpack:///./src/views/prestation-expertise/valeur-spot-plus/description-generale/prestation-expertise-valeur-spot-plus-description-generale-description-du-bien.vue?dc6c","webpack:///./src/shared/components/prestation-expertise/prestation-expertise-situation-cadastrale.vue?57e7","webpack:///./src/shared/components/prestation-expertise/prestation-expertise-file-uploader.vue?9bda","webpack:///./src/shared/components/prestation-expertise/prestation-expertise-piece-jointe.vue?1237","webpack:///./src/shared/components/prestation-expertise/prestation-expertise-piece-jointe.vue","webpack:///./src/shared/components/prestation-expertise/prestation-expertise-piece-jointe.vue?5bd4","webpack:///./src/shared/components/prestation-expertise/prestation-expertise-piece-jointe.vue?1daf","webpack:///./src/shared/components/prestation-expertise/prestation-expertise-file-uploader.vue","webpack:///./src/shared/components/prestation-expertise/prestation-expertise-file-uploader.vue?67a1","webpack:///./src/shared/components/prestation-expertise/prestation-expertise-file-uploader.vue?55cd","webpack:///./src/shared/components/prestation-expertise/prestation-expertise-plan-cadastre.vue?f295","webpack:///./src/shared/components/prestation-expertise/prestation-expertise-plan-cadastre.vue","webpack:///./src/shared/components/prestation-expertise/prestation-expertise-plan-cadastre.vue?34cd","webpack:///./src/shared/components/prestation-expertise/prestation-expertise-plan-cadastre.vue?6fad","webpack:///./src/shared/components/prestation-expertise/prestation-expertise-situation-cadastrale.vue","webpack:///./src/shared/components/prestation-expertise/prestation-expertise-situation-cadastrale.vue?4b6f","webpack:///./src/shared/components/prestation-expertise/prestation-expertise-situation-cadastrale.vue?d7fb","webpack:///./src/shared/components/prestation-expertise/prestation-expertise-google-maps-street.vue?0d8c","webpack:///./src/shared/components/prestation-expertise/prestation-expertise-google-maps-street.vue","webpack:///./src/shared/components/prestation-expertise/prestation-expertise-google-maps-street.vue?22af","webpack:///./src/shared/components/prestation-expertise/prestation-expertise-google-maps-street.vue?5633","webpack:///./src/views/prestation-expertise/valeur-spot-plus/description-generale/prestation-expertise-valeur-spot-plus-description-generale-description-du-bien.vue","webpack:///./src/views/prestation-expertise/valeur-spot-plus/description-generale/prestation-expertise-valeur-spot-plus-description-generale-description-du-bien.vue?c157","webpack:///./src/views/prestation-expertise/valeur-spot-plus/description-generale/prestation-expertise-valeur-spot-plus-description-generale-description-du-bien.vue?8980","webpack:///./src/views/prestation-expertise/valeur-spot-plus/analyse-du-bien/prestation-expertise-valeur-spot-plus-analyse-du-bien-commentaires.vue?933a","webpack:///./src/views/prestation-expertise/valeur-spot-plus/analyse-du-bien/prestation-expertise-valeur-spot-plus-analyse-du-bien-commentaires.vue","webpack:///./src/views/prestation-expertise/valeur-spot-plus/analyse-du-bien/prestation-expertise-valeur-spot-plus-analyse-du-bien-commentaires.vue?abb2","webpack:///./src/views/prestation-expertise/valeur-spot-plus/analyse-du-bien/prestation-expertise-valeur-spot-plus-analyse-du-bien-commentaires.vue?fc25","webpack:///./src/views/prestation-expertise/valeur-spot-plus/conclusion/prestation-expertise-valeur-spot-plus-conclusion-valeurs.vue?0053","webpack:///./src/views/prestation-expertise/valeur-spot-plus/conclusion/prestation-expertise-valeur-spot-plus-conclusion-valeurs.vue","webpack:///./src/views/prestation-expertise/valeur-spot-plus/conclusion/prestation-expertise-valeur-spot-plus-conclusion-valeurs.vue?8108","webpack:///./src/views/prestation-expertise/valeur-spot-plus/conclusion/prestation-expertise-valeur-spot-plus-conclusion-valeurs.vue?6d76","webpack:///./src/views/prestation-expertise/etat-avancement-travaux/contrat/prestation-expertise-etat-avancement-travaux-contrat-mission.vue?0dad","webpack:///./src/mixins/etat-avancement-travaux-section.mixin.ts","webpack:///./src/views/prestation-expertise/etat-avancement-travaux/contrat/prestation-expertise-etat-avancement-travaux-contrat-mission.vue","webpack:///./src/views/prestation-expertise/etat-avancement-travaux/contrat/prestation-expertise-etat-avancement-travaux-contrat-mission.vue?81b0","webpack:///./src/views/prestation-expertise/etat-avancement-travaux/contrat/prestation-expertise-etat-avancement-travaux-contrat-mission.vue?7355","webpack:///./src/views/prestation-expertise/etat-avancement-travaux/bien/prestation-expertise-etat-avancement-travaux-bien.vue?cd63","webpack:///./src/views/prestation-expertise/etat-avancement-travaux/bien/prestation-expertise-etat-avancement-travaux-bien.vue","webpack:///./src/views/prestation-expertise/etat-avancement-travaux/bien/prestation-expertise-etat-avancement-travaux-bien.vue?8936","webpack:///./src/views/prestation-expertise/etat-avancement-travaux/bien/prestation-expertise-etat-avancement-travaux-bien.vue?3f17","webpack:///./src/views/prestation-expertise/etat-avancement-travaux/points-inspections/prestation-expertise-etat-avancement-travaux-point-inspection.vue?6574","webpack:///./src/shared/components/point-inspection.vue?1393","webpack:///./src/shared/components/point-inspection.vue","webpack:///./src/shared/components/point-inspection.vue?1733","webpack:///./src/shared/components/point-inspection.vue?e5de","webpack:///./src/views/prestation-expertise/etat-avancement-travaux/points-inspections/prestation-expertise-etat-avancement-travaux-point-inspection.vue","webpack:///./src/views/prestation-expertise/etat-avancement-travaux/points-inspections/prestation-expertise-etat-avancement-travaux-point-inspection.vue?7fcf","webpack:///./src/views/prestation-expertise/etat-avancement-travaux/points-inspections/prestation-expertise-etat-avancement-travaux-point-inspection.vue?faeb","webpack:///./src/views/prestation-expertise/etat-avancement-travaux/commentaires/prestation-expertise-etat-avancement-travaux-avis-expert.vue?c94e","webpack:///./src/views/prestation-expertise/etat-avancement-travaux/commentaires/prestation-expertise-etat-avancement-travaux-avis-expert.vue","webpack:///./src/views/prestation-expertise/etat-avancement-travaux/commentaires/prestation-expertise-etat-avancement-travaux-avis-expert.vue?87fd","webpack:///./src/views/prestation-expertise/etat-avancement-travaux/commentaires/prestation-expertise-etat-avancement-travaux-avis-expert.vue?d355","webpack:///./src/views/prestation-expertise/etat-avancement-travaux/conclusion/prestation-expertise-etat-avancement-travaux-conclusion.vue?95ba","webpack:///./src/views/prestation-expertise/etat-avancement-travaux/conclusion/prestation-expertise-etat-avancement-travaux-conclusion.vue","webpack:///./src/views/prestation-expertise/etat-avancement-travaux/conclusion/prestation-expertise-etat-avancement-travaux-conclusion.vue?cf35","webpack:///./src/views/prestation-expertise/etat-avancement-travaux/conclusion/prestation-expertise-etat-avancement-travaux-conclusion.vue?1083","webpack:///./src/views/prestation-expertise/etude-de-marche/contrat/prestation-expertise-etude-de-marche-contrat-mission.vue?3ff2","webpack:///./src/views/prestation-expertise/etude-de-marche/contrat/prestation-expertise-etude-de-marche-contrat-mission.vue","webpack:///./src/views/prestation-expertise/etude-de-marche/contrat/prestation-expertise-etude-de-marche-contrat-mission.vue?31fb","webpack:///./src/views/prestation-expertise/etude-de-marche/contrat/prestation-expertise-etude-de-marche-contrat-mission.vue?691e","webpack:///./src/views/prestation-expertise/etude-de-marche/situation-geographique/prestation-expertise-etude-de-marche-situation-geographique-plans-de-situation.vue?80df","webpack:///./src/views/prestation-expertise/etude-de-marche/situation-geographique/prestation-expertise-etude-de-marche-situation-geographique-plans-de-situation.vue","webpack:///./src/views/prestation-expertise/etude-de-marche/situation-geographique/prestation-expertise-etude-de-marche-situation-geographique-plans-de-situation.vue?b680","webpack:///./src/views/prestation-expertise/etude-de-marche/situation-geographique/prestation-expertise-etude-de-marche-situation-geographique-plans-de-situation.vue?c8a7","webpack:///./src/views/prestation-expertise/etude-de-marche/rapport/prestation-expertise-etude-de-marche-modele-rapport.vue?a643","webpack:///./src/views/prestation-expertise/etude-de-marche/rapport/prestation-expertise-etude-de-marche-modele-rapport.vue","webpack:///./src/views/prestation-expertise/etude-de-marche/rapport/prestation-expertise-etude-de-marche-modele-rapport.vue?e58b","webpack:///./src/views/prestation-expertise/etude-de-marche/rapport/prestation-expertise-etude-de-marche-modele-rapport.vue?0b95","webpack:///./src/views/prestation-expertise/etude-de-marche/rapport/prestation-expertise-etude-de-marche-rapport.vue?7c4f","webpack:///./src/views/prestation-expertise/etude-de-marche/rapport/prestation-expertise-etude-de-marche-rapport.vue?a8cb","webpack:///./src/views/prestation-expertise/etude-de-marche/rapport/prestation-expertise-etude-de-marche-rapport.vue?62ad","webpack:///./src/components/prestation-expertise/prestation-expertise-sections.vue","webpack:///./src/components/prestation-expertise/prestation-expertise-sections.vue?538d","webpack:///./src/components/prestation-expertise/prestation-expertise-sections.vue?e437","webpack:///./src/components/prestation-expertise/prestation-expertise-desktop-menu.vue?99ca","webpack:///./src/components/prestation-expertise/prestation-expertise-menu.ts","webpack:///./src/components/validation-status.vue?50a7","webpack:///./src/components/validation-status.vue","webpack:///./src/components/validation-status.vue?80de","webpack:///./src/components/validation-status.vue?b710","webpack:///./src/components/visa-section-status.vue?7972","webpack:///./src/components/visa-section-status.vue","webpack:///./src/components/visa-section-status.vue?4064","webpack:///./src/components/visa-section-status.vue?0ed9","webpack:///./src/components/prestation-expertise/prestation-expertise-desktop-menu.vue","webpack:///./src/components/prestation-expertise/prestation-expertise-desktop-menu.vue?2fb1","webpack:///./src/components/prestation-expertise/prestation-expertise-desktop-menu.vue?c13c","webpack:///./src/components/prestation-expertise/prestation-expertise-mobile-menu.vue?f384","webpack:///./src/components/prestation-expertise/prestation-expertise-mobile-menu.vue","webpack:///./src/components/prestation-expertise/prestation-expertise-mobile-menu.vue?bd46","webpack:///./src/components/prestation-expertise/prestation-expertise-mobile-menu.vue?16ee","webpack:///./src/components/prestation-expertise/prestation-expertise-header-actions.vue?3a59","webpack:///./src/components/panel-annexes.vue?f641","webpack:///./src/components/panel-annexes.vue","webpack:///./src/components/panel-annexes.vue?5d15","webpack:///./src/components/panel-annexes.vue?654e","webpack:///./src/components/prestation-expertise/prestation-expertise-header-actions.vue","webpack:///./src/components/prestation-expertise/prestation-expertise-header-actions.vue?a78d","webpack:///./src/components/prestation-expertise/prestation-expertise-header-actions.vue?bfa9","webpack:///./src/validations/rapport-expertise.validation.js","webpack:///./src/components/rapport-expertise/panel-comparables.vue?eef6","webpack:///./src/components/rapport-expertise/panel-comparables.vue","webpack:///./src/components/rapport-expertise/panel-comparables.vue?7495","webpack:///./src/components/rapport-expertise/panel-comparables.vue?9e34","webpack:///./src/shared/components/prestation-expertise/prestation-expertise-mission-merge.vue?a6a7","webpack:///./src/shared/components/prestation-expertise/prestation-expertise-mission-merge.vue","webpack:///./src/shared/components/prestation-expertise/prestation-expertise-mission-merge.vue?9281","webpack:///./src/shared/components/prestation-expertise/prestation-expertise-mission-merge.vue?e0cf","webpack:///./src/shared/dtos/intervention.dto.ts","webpack:///./src/helpers/match.helper.ts","webpack:///./src/views/prestation-expertise/rapport/prestation-expertise-rapport.vue","webpack:///./src/views/prestation-expertise/rapport/prestation-expertise-rapport.vue?73b5","webpack:///./src/views/prestation-expertise/rapport/prestation-expertise-rapport.vue?0d32","webpack:///./src/views/prestation-expertise/valeur-spot-plus/prestation-expertise-valeur-spot-plus.vue?3a99","webpack:///./src/validations/valeur-spot-plus.validation.js","webpack:///./src/views/prestation-expertise/valeur-spot-plus/prestation-expertise-valeur-spot-plus.vue","webpack:///./src/views/prestation-expertise/valeur-spot-plus/prestation-expertise-valeur-spot-plus.vue?140a","webpack:///./src/views/prestation-expertise/valeur-spot-plus/prestation-expertise-valeur-spot-plus.vue?df2e","webpack:///./src/views/prestation-expertise/etat-avancement-travaux/prestation-expertise-etat-avancement-travaux.vue?8e18","webpack:///./src/validations/etat-avancement-travaux.validation.js","webpack:///./src/views/prestation-expertise/etat-avancement-travaux/prestation-expertise-etat-avancement-travaux.vue","webpack:///./src/views/prestation-expertise/etat-avancement-travaux/prestation-expertise-etat-avancement-travaux.vue?d947","webpack:///./src/views/prestation-expertise/etat-avancement-travaux/prestation-expertise-etat-avancement-travaux.vue?9b7d","webpack:///./src/views/prestation-expertise/etude-de-marche/prestation-expertise-etude-de-marche.vue?1e71","webpack:///./src/validations/etude-de-marche.validation.js","webpack:///./src/views/prestation-expertise/etude-de-marche/prestation-expertise-etude-de-marche.vue","webpack:///./src/views/prestation-expertise/etude-de-marche/prestation-expertise-etude-de-marche.vue?ff79","webpack:///./src/views/prestation-expertise/etude-de-marche/prestation-expertise-etude-de-marche.vue?aec3","webpack:///./src/views/prestation-expertise/prestation-expertise-contact.vue?c2bd","webpack:///./src/shared/components/html-textarea.vue?3b6e","webpack:///./src/shared/components/html-textarea.vue","webpack:///./src/shared/components/html-textarea.vue?11b1","webpack:///./src/shared/components/html-textarea.vue?f0ee","webpack:///./src/views/prestation-expertise/prestation-expertise-contact.vue","webpack:///./src/views/prestation-expertise/prestation-expertise-contact.vue?71da","webpack:///./src/views/prestation-expertise/prestation-expertise-contact.vue?02f0","webpack:///./src/resolvers/get-mission-by-id.resolver.ts","webpack:///./src/resolvers/get-missions-by-omere-contact-id.resolver.ts","webpack:///./src/resolvers/get-missions-a-controler-by-omere-contact-id.resolver.ts","webpack:///./src/resolvers/get-emails-commande-by-mission-id.resolver.ts","webpack:///./src/router.ts","webpack:///./src/http.ts","webpack:///./src/shared/enums/pending-queue-status.enum.ts","webpack:///./src/App.vue?91f0","webpack:///./src/App.vue","webpack:///./src/registerServiceWorker.ts","webpack:///./src/App.vue?198c","webpack:///./src/App.vue?315a","webpack:///./src/shared/enums/annexe-table.enum.ts","webpack:///./src/services/apis/mission-api.service.ts","webpack:///./src/services/apis/simple-mission-api.service.ts","webpack:///./src/services/apis/prestation-expertise-api.service.ts","webpack:///./src/services/apis/rapport-expertise-api.service.ts","webpack:///./src/services/apis/piece-jointe-rapport-api.service.ts","webpack:///./src/services/apis/valeur-spot-plus-api.service.ts","webpack:///./src/services/apis/prestation-expertise-piece-jointe-api.service.ts","webpack:///./src/services/apis/donnees-estimation-immobiliere-api.service.ts","webpack:///./src/services/apis/expertise-api.service.ts","webpack:///./src/services/apis/email-commande-api.service.ts","webpack:///./src/services/external-authentication.service.ts","webpack:///./src/services/apis/modele-email-api.service.ts","webpack:///./src/services/loading-progression.service.ts","webpack:///./src/services/bien.service.ts","webpack:///./src/services/synchronization.service.ts","webpack:///./src/services/notification.service.ts","webpack:///./src/services/subject-message.service.ts","webpack:///./src/services/local-storage.service.ts","webpack:///./src/services/store/base-store.service.ts","webpack:///./src/services/store/mission-store.service.ts.ts","webpack:///./src/services/store/log-store.service.ts","webpack:///./src/services/apis/mission-for-list-api.service.ts","webpack:///./src/services/apis/annexe-api.service.ts","webpack:///./src/services/apis/diagnostic-application-api.service.ts","webpack:///./src/services/apis/prestation-expertise-proprietes-api.service.ts","webpack:///./src/services/apis/prestation-expertise-version-history-api.service.ts","webpack:///./src/services/authentification.service.ts","webpack:///./src/services/apis/permission.service.ts","webpack:///./src/services/apis/referentiel-api.service.ts","webpack:///./src/services/store/societe-settings-store.service.ts","webpack:///./src/main.ts","webpack:///./src/assets/logo.png","webpack:///./src/shared/constants/roles.const.ts","webpack:///./src/shared/components/prestation-expertise/prestation-expertise-mission-merge.vue?3691","webpack:///./src/views/prestation-expertise/rapport/prestation-expertise-rapport-indicateurs.vue?b404","webpack:///./src/shared/components/google-map.vue?dc5e","webpack:///./src/shared/components/extendable-list.vue?ff53","webpack:///./src/components/panel-annexes.vue?9317","webpack:///./src/views/recherche.vue?20f1","webpack:///./src/shared/enums/nature-visite.enum.ts","webpack:///./src/components/exp-commodite.vue?7dd1","webpack:///./src/components/agenda-loading-message.vue?6b0a","webpack:///./src/views/missions.vue?4af2","webpack:///./src/shared/components/html-textarea.vue?23bc","webpack:///./src/shared/components/checkboxs.vue?25e8","webpack:///./src/shared/enums/rapport-expertise-note-section.enum.ts","webpack:///./src/shared/components/etiquette-dpe.vue?8393","webpack:///./src/views/prestation-expertise/etude-de-marche/rapport/prestation-expertise-etude-de-marche-modele-rapport.vue?2ec1","webpack:///./src/views/recherche.vue?37fe","webpack:///./src/shared/components/extendable-list-string.vue?25a4"],"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","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","EtapeMissionEnum","Color","ThemeMixin","this","colorObject","lighten","toString","darken","color","PrestationExpertiseEtudeDeMarcheRapport","fields","label","$refs","fileUpload","click","e","prepareFileUpload","target","files","pieceJointe","isMobile","onDownloadFileClick","isNew","isLoading","$annexeApiService","getAnnexe","id","then","response","mimeType","headers","openFile","catch","error","$logStoreService","nom","finally","disposition","filename","decodeURI","match","downloadFile","confirmDelete","isDeleted","file","arrayBuffer","buffer","base64Content","Buffer","from","annexe","content","etudeDeMarche","annexes","blob","Blob","type","blobUrl","URL","createObjectURL","open","navigator","msSaveOrOpenBlob","link","document","createElement","href","download","body","appendChild","remove","filter","x","components","map","webpackContext","req","webpackContextResolve","Error","code","keys","resolve","TypePrestationExpertiseEnum","DeviceMixin","isBrowser","EtudeDeMarcheSectionMixin","rapportExpertiseNoteSectionEnum","getRapportExpertiseNoteSectionEnumName","prestationExpertise","TypeValeurEnum","EtatPrestationExpertisePointInspectionEnum","StatutCommandeEnum","typePrestationExpertiseEnumToDictionary","enumDictionary","CertificatExpertise","EtatAvancementTravaux","ExpertiseImmobiliereCFE","ExpertiseCKV","RapportExpertise","ReceptionLot","ValeurSpot","ValeurSpotPlus","VisiteComplementaire","EtudeMarche","getTypePrestationExpertiseEnumName","rapportExpertiseNoteSectionEnumToDictionary","SituationGeographique","DescriptionGenerale","DescriptionParticuliere","SituationFiscale","SituationJuridique","SituationUrbanistique","EtudeDeMarche","Evaluation","Conclusion","Global","SituationLocative","pointInspectionEtatEnumToDictionary","NonEffectue","EnCours","Termine","getPointInspectionEtatEnumName","PointInspectionEtatEnumToBusinessEntries","enumValues","isNaN","item","Number","parseInt","PointInspectionCategorieEnumToDictionary","MenuiseriesExterieures","Electricite","Plomberie","Chauffage","Isolation","Finitions","GrosOeuvre","Raccordement","getPointInspectionCategorieEnumName","natureVisiteEnumToDictionary","Complete","Exterieure","SurPieces","Partielle","getNatureVisiteEnumName","typeValeurEnumToDictionary","ValeurApresTravaux","ValeurLocative","ValeurVenale","ValeurVenteForcee","ValeurVenteRapide","getTypeValeurEnumToDictionary","hasFlag","enumValue","flag","test","RapportExpertiseBusinessEntryDto","displayText","parentId","NatureBienEnum","PrestationExpertiseSectionMixin","mission","user","roles","includes","AdminBPCEEI","Controleur","$can","etape","ValeursAViserVisa1","ValeursAViserVisa2","ExpertiseCompleteAViser","businessEntries","contratTypeBiens","contratCategorieDActifId","PointInspectionCategorieEnum","CATEGORY_MAISON","CATEGORY_APPARTEMENT","CATEGORY_TERRAIN","getTypeDeBien","actifObj","contratCategorieActifs","actif","toLowerCase","typeObj","contratTypeBienId","ParkingBox","isTypeDeBienAppartement","isTypeDeBienMaison","isTypeDeBienTerrain","hasFourchetteValeur","hasValeurVenteForcee","hasValeurVenteRapide","comeFromLoginPage","JSON","parse","localStorage","getItem","loadingProgression","isLogged","undefined","a","auth","getToken","_endpoint","queryParams","fromJson","post","toJson","convertData","items","convertDatas","url","getQueryString","route","put","delete","update","add","fetch","json","_vm","_h","$createElement","_c","_self","staticClass","attrs","slot","_v","on","onSubmit","$v","login","userName","$error","model","callback","$$v","$set","expression","password","showPassword","_e","onPasswordToggleClick","captchaResponse","ref","onCaptchaClick","contratTypePrestationColorDefault","staticRenderFns","staticStyle","_t","isPageRapport","ability","can","_s","directives","rawName","onLogoutButtonClick","scopedSlots","_u","fn","proxy","$router","app","$ability","version","$config","appVersion","$route","fullPath","indexOf","surname","$authentificationService","logout","AnnexeStatutEnum","EvaluationMethodeRetenueEnum","ContratTypeVisiteEnum","BusinessEntryEnum","ContratTypePrestation","component","elementComparaison","typeDeSourceId","isElementComparaisonValorisation","isDistributionInterieureSurfaceTypeAutre","surface","typeBusinessItemId","isDistributionInterieureEtageTypeAutre","etage","contratTypeVisiteId","InterieurEtExterieur","ExterieurUniquement","prestationsSurfaceAnnexe","prestationsDependance","evaluationMethodeRetenueId","Comparaison","ComparaisonEtRendement","Rendement","hasValeurApresTravaux","hasValeurLocative","hasScenarioRenovation","scenarioRenovation","renovationScenarios","some","toExport","isSourceDesSurfacesActeNotarie","sourceDesSurfacesId","isContratConditionOccupationOccupe","contratConditionOccupationId","isFiscaleSourceTaxeFonciereDocumentConsulte","fiscaleSourceTaxeFonciereId","contratTypePrestationId","isEtatJuridiquePrixOk","prixBien","IsInconnu","contratTypePrestationRapportExpertise","contratTypePrestationCertificatExpertise","contratTypePrestationColor","rapport","hasOptionFaciliteDeNegociationESFI","areBusinessEntryRelationsValid","businessEntryQualificationId","annexeDPE","find","businessEntrySelectedId","DPE","Obtenu","captchaApiKey","onVerifyClick","recaptchaApiKey","$emit","captcha","recaptcha","reset","VueRecaptcha","isCaptchaEnabled","$isProduction","event","preventDefault","$invalid","$touch","$bvModal","show","baseURL","baseUrlApi","rep","hide","tokenExpireDate","Date","getTime","expireInSeconds","setToken","accessToken","utils","setCookieValue","encryptedAccessToken","appPath","setItem","stringify","permissions","path","go","refCaptcha","captchaComponent","BasicLayout","Spinner","Captcha","validations","required","missionsPerDay","arg","_f","currentDate","$event","onLastWeekClick","_l","index","class","active","day","isSame","today","onDayClick","onNextWeekClick","selectedMissionsPerDay","missions","missionsAPlanifier","onCardMissionClick","onPullButtonClick","lastPullDate","onPushMissionsButtonClick","onModalPushMissionsClose","title","showTime","timeBetweenTwoVisites","typePrestationExpertiseShort","onDisplayPrestationExpertiseClick","etapeMissionEnum","dateVisite","emprunteur","trim","societeNom","reference","bien","typeBien","typeBienLibelle","natureVisiteLibelle","adresse","codePostal","ville","typePrestationExpertiseString","replace","natureVisite","lastMission","lastDateVisite","utc","valueOf","nextDateVisite","format","ExpertiseVerrouillee","Validee","emailsCommandes","HistoryStatusEnum","getOnlyDate","dateString","dateParsed","getFullYear","getMonth","getDate","getJoursOuvres","date1","date2","joursFeries","startDate","endDate","count","currDate","setDate","dayOfWeek","getDay","currDateFormatted","missionsPlanifiees","missionsDuJour","missionsDelaiOK","missionsHorsDelais","missionsHorsDelaisEtContactPris","$missionStoreService","getAll","setMissionsPlanifiees","setMissionsAPlanifier","$localStorageService","getLastPullDate","calendar","missionId","targetedMissionId","missionsPlanifies","trierMissionsAPlanifier","all","$jourFiereService","forEach","days","commande","dateCommande","info","$synchronizationService","getDonneesTechniques","logMessage","storedMissions","datesModificationsPrestationsExpertisesAndMissionsIds","storedMission","dateModificationUtc","dateUtc","dateModificationUtcPrestationExpertise","$missionApiService","getByOmereContactId","omereContactId","saveMissionsToStorage","setLastPullDate","missionsToStore","missionToStore","dateDeSauvegardeUtc","storedMissionsToDelete","AttribueeALExpert","storedExistingMission","storedMissionAffectee","sectionPieceJointe","piecesJointes","missionToStorePiecesJointes","storedExistingMissionPiecesJointes","missionToStorePieceJointe","storedExistingMissionPieceJointe","dateModification","tempPrestationExpertise","storedMissionToDelete","deleteByPropertyAndValue","addBulk","missionsStatusToPush","missionStatusToPush","isStatusValid","isPushProcessTerminated","hasErrorOccuredDuringPushProcess","onCloseButtonClick","nbPushedMissions","onRetryButtonClick","init","getToPush","missionsToPush","missionToPush","updateMission","hasErrorOccured","querySelector","scrollTo","top","left","use","checkForUpdateAndConflict","addEventListener","onScroll","initDays","getDonneesAgenda","swipe","currentMissionsPerDay","currentIndex","nextIndex","set","tabPlanifieElement","isActive","parentElement","classList","contains","scrollingElement","isScrolling","scrollTop","direction","nextMission","lastIndex","weekStart","startOf","prestationExpertiseIds","$prestationExpertiseVersionHistoryApiService","checkForUpdateAndConflictByPrestationExpertiseIds","prestationExpertiseVersionHistories","nb","prestationExpertiseVersionHistory","historyStatus","UP_TO_DATE","msgBoxOk","HeaderTitle","CardMission","AgendaModals","PrestationExpertisePush","indexMission","clone","missionPerDay","AgendaLoadingMessage","SeverityLevelEnum","onSendDiagnosticsApplicationsButtonClick","filtered","perPage","currentPage","field","filters","domProps","composing","rows","date","level","message","logs","sortable","formatter","$diagnosticApplicationApiService","addLogs","$notificationService","success","every","itemValue","onSelectionChange","selection","scope","dateAffectation","valeurMin","valeurMax","SortAriaLabelDirective","el","binding","vnode","nextTick","elm","setAriaLabel","element","sort","ariaSort","tabIndex","ariaHidden","ariaLabel","directive","store","typePrestationExpertiseLibelle","etapeLibelle","commentaire","meta","$missionForListApiService","getLastOrAllByOmereContactId","refresh","String","onRechercheSubmit","naturesBiens","onNatureBienChange","typesBiens","duree","optionsSuggestions","onLocalisationInputChange","onLocalisationSelected","localisation","onLocalisationClear","dateRestitution","onRapportClick","expertiseId","natureBienId","typeBienId","checkSearchStatus","status","$googleMapsApi","places","PlacesServiceStatus","OK","ZERO_RESULTS","warn","addressInputChange","autoCompleteService","sessionToken","Promise","getPlacePredictions","input","componentRestrictions","country","predictions","description","geocoderService","parameters","geocode","results","types","placeholder","inputClass","apiKey","googleMapApiKey","googleMapsApi","$bienService","getBiens","AutocompleteSessionToken","AutocompleteService","Geocoder","getTypesBiensByNatureBienId","address","setLocalisationValue","search","$expertiseApiService","getRapportById","place","formatted_address","mapPlaceGoogleMapsToLocalisation","adresseGoogleMapsForm","street_number","postal_code","locality","administrative_area_level_1","address_components","addressType","numero","voie","region","Suggestions","StatutVisaEnum","expertise","suiviMission","statutVisa","Accepte","SubjectMessageTypeEnum","hasAccess","isReadOnly","isSaving","isExporting","isDepositing","lastPrestationExpertiseVersionHistory","onEmitSaveButtonClicked","onEmitExportButtonClicked","onEmitDeposerButtonClicked","isSearchingComparables","isPanelComparablesVisible","modifiers","frais","invalid","nbKmEffectues","isFraisDisabled","componentsSections","currentComponentSection","notes","onEmitComponentSectionChanged","componentsSectionsForMobile","societeSettings","comparables","onEmitComparable","_b","modalSuppression","visible","onEmitMergeMission","isSoustraitant","onBackButtonClick","$subjectMessageService","subject","pipe","first","subscribe","subjectMessage","BACK","backUrl","getBackUrl","defaultBackUrl","backUrlHistory","getBackUrlHistory","SousTraitant","BackButton","TypePieceJointeRapportEnum","registerHooks","_modalSuppressionDefaults","_hasErrorOccuredWhenSaving","_needToBeSaved","validation","addPieceJointeProvide","addPieceJointe","deletePieceJointeByIdAndTypeProvide","deletePieceJointeByIdAndType","renamePieceJointeProvide","renamePieceJointe","updateOrdrePiecesJointesProvide","updateOrdrePiecesJointes","confirmDeleteProvide","updateGeolocalisationProvide","updateGeolocalisation","getBusinessEntries","_hasMissionChanged","_hasPrestationExpertiseChanged","_needToByPasseHasPrestationExpertiseChanged","deleteAllScenarioRenovationByRapportId","deleteLowerEntriesByPropertyAndValue","subtract","dateDeRestitution","getLastHistory","_saveInterval","setInterval","saveInStorage","filterComponentSections","setTimeout","$watch","updateDateVisite","deep","handleUnload","to","next","confirm","removeEventListener","clearInterval","componentSection","save","export","deposer","returnValue","isForCustomCondition","filterWithPermissions","children","permissionsParts","permission","split","missionToClean","isPopupDisplayed","getWithRoute","strLastVersion","force","cleanBeforeSaveInStorage","addOrUpdate","$bvToast","cleanBeforeSave","scenario","processExport","axios","responseType","params","touchDatas","$nextTick","console","log","invalidElements","getElementsByClassName","invalidElement","scrollIntoView","typePrestationExpertise","estDepose","proprietes","estEditionForcee","EMPTY","ordre","prestationExpertiseId","isMain","PlanCadastre","pieceJointeToDelete","pieceJointeId","pieceJointeToRename","now","what","assign","$once","INIT_DONNEES_ESTIMATION_IMMOBILIERES","onLine","clonedMission","isOldGenPrestationExpertise","rapportExpertise","isRapportExpertise","isTypeRapportExpertiseRapportExpertise","getMerge","merges","mergesDto","isEquals","SHOW_MERGE_MISSION_MODAL","mergeTypePrestationExpertise","changeTypePrestationExpertise","oldValue","newValue","missionResponse","removeLastHistory","location","reload","componentsSectionsDepth1","isOnlyForDesktop","reduce","componentsSections1","componentsSections2","concat","Expert","ValeursARevoir","style","slug","properties","componentName","_g","tag","commonComponentProperties","outputs","parentComponentSection","doublons","onViewRapportClick","onDownloadRapportClick","nbAnnexes","anchor","removeChild","revokeObjectURL","onShowReferenceToCopyModal","onHandleOk","stopPropagation","onHandleSubmit","referenceToCopyState","referenceToCopy","state","valid","h3","titleBold","isDisabled","onToggleClick","stringTrue","stringFalse","default","onShowSynchronizationLogsModal","synchronizationLogsTableFields","getManyWithRoute","checkFormValidity","form","checkValidity","RadioBoolean","PrestationExpertiseVersionHistories","isVisiteExterieure","intervention","visiteContactNomPrenom","visiteContactEmail","visiteContactTel","informationsComplementaires","surfaceBien","expert","nomComplet","contratTypeVisites","contratVisitePresenceCivilites","contratVisitePresenceCiviliteId","contratVisitePresenceContact","contratVisitePresenceQualificatifs","contratVisitePresenceQualificatifId","contratTypeConditionsOccupations","isConditionOccupationOccupe","isRapportVersionLowerOrEqualsTo","contratTypeHypothesesEvaluations","contratHypotheseEvaluationId","societeId","isRapportVersionGreaterOrEqualsTo","contratTypeHypothesesEvaluationsV2","contratHypotheseEvaluationAutre","mobile","onShowSideBarClick","businessEntryQualifiableSelected","substring","businessEntryParentSelected","iconName","onCancelClick","rapportId","filteredList","updateListQualificationSelected","choiceValue","canDeselect","onCollapseSideBarClick","onShowModalValidationClick","multiple","dropdown","onTerminateClick","validationTitle","onOkModalValidationClick","onCancelModalValidationClick","validationContent","isSelected","isItemDisabled","v","findIndex","rapportExpertiseId","valuesToDisabled","getIconCount","valueToValidate","iconRepetition","BModal","qualificationSelecteds","businessEntry","qualification","onAddItemClick","onDeleteItemClick","businessEntryQualification","businessEntrySelected","list","businessEntryQualifiable","businessEntryQualifications","isNotNullOrEmpty","isNullOrEmpty","toOnlyTextAndNumberLower","listSelected","listQualificationSelected","updateListSelected","closeSidebar","modalValidation","radioElement","submitValidation","cancelValidation","be","minVersion","maxVersion","$root","val","isBusinessEntryVersionValid","BSidebar","Checkboxs","Radios","Dropdowns","dateCreation","noMission","contactNomPrenom","motifPrestationExpertise","adresseComplete","canUpdateCategorieDActif","_m","contratsTypesBiens","descriptionBien","ChoicePopup","ContratHypotheseEvaluationEnum","isWarnMandant","onCancelVisiteClick","reasonState","reason","disabled","onShowCalendarClick","hasTime","fr","$attrs","ok","cancel","hasCancelButton","onClearDatePickerClick","defaultLocale","dateInput","datepicker","$children","inputBlurred","newInputBlurred","parseTypedDate","newParseTypedDate","datetimepicker","showCalendar","keyCode","blur","typeable","parseableDate","parsedDate","typedDate","clearDate","datestr","formatstr","toUpperCase","Datepicker","Datetime","annulerRDV","isValid","DatePicker","cleanPrestations","contratTypeBienSpecificiteId","evaluationSurfaceOuSuperficie","terrainSuperficie","clearDescriptionParticuliere","particuliereSurfaceTotaleHabitable","updateCategorieActif","clearSituationLocative","BienValoriseLibreDeTouteOccupationOuLocation","BienValoriseApresTravaux","BienValoriseEnEtatEtCompteTenuDeSesConditionsOccupation","BienSupposeLoueALaValeurLocativeDeMarche","Autre","piecesJointesRapport","pj","caracteristiquesAnneeConstruction","caracteristiquesMitoyennete","caracteristiquesMitoyenneteCoteId","caracteristiquesGrosOeuvres","caracteristiquesMenuiseries","caracteristiquesToitures","caracteristiquesFacades","caracteristiqueAssainissementId","caracteristiquesDescription","caracteristiquesDPEId","distributionInterieureEtages","prestationsMurs","prestationsPlafonds","prestationsSols","prestationsModesChauffages","prestationsEquipements","prestationsAgrements","prestationsAvisExpert","prestationsCuisines","prestationsSallesDeBains","prestationsSurfaceAnnexes","prestationsDependances","prestationsDescription","prestationsPartiesCommunesId","particuliereSourceDesSurfacesId","prestationsInstallationElectriqueId","prestationsIsolationId","prestationAvecChauffage","isRapport","locativeChargesNonRecuperables","locativeCommentaire","locativeDateBail","locativeLoyerAnnuelBrut","locativeLoyerAnnuelNet","locativeLoyerMensuelBrut","locativeNatureBailId","$rapportExpertiseApiService","serviceWorker","controller","postMessage","DateVisite","PrestationExpertiseContexteIntervention","charts","repartitionAge","getRepartitionAgeOptions","effectifsPopulation","getEffectifsPopulationOptions","getTauxChomageOptions","getDensitePopulationOptions","geographiqueTypeHabitats","geographiqueTypeHabitatId","geographiqueCommodites","situationGeographiqueParticuliereId","situationGeographiqueParticulieres","hasChart","hasDataChart","legend","chart","destroy","Chart","getContext","options","generateLegend","datasets","refInFor","dataset","refChart","filteredCommodites","titre","selected","selectionne","onCommoditeClick","isVoiture","typeDistance","tempsDistanceString","isPieds","metreDistance","itemSelected","b","tempsDistance","categorie","categorieId","sortByTempsDistance","sortByMetreDistance","orderBySousCategories","sousCategorie","localeCompare","values","visa","baseText","isCaptureDisplayed","geographiqueSituationGenerale","geographiqueSituationParticuliere","geographiqueVueAerienne","geographiqueAdresse","geographiqueLongitude","geographiqueLatitude","showCaptureAerienne","styles","onEmitAdresseChanged","onEmitCoordinatesChanged","onEmitSituationGeneraleCaptured","onEmitSituationParticuliereCaptured","onEmitVueAerienneCaptured","onAddressInputChange","addressSelected","suggestedAddress","mapId","onCaptureSituationGeneraleClick","captureGeneraleSrc","onCaptureSituationParticuliereClick","captureParticuliereSrc","onVueSituationAerienneClick","captureVueAerienneSrc","bounds","marker","initComponent","updateCoordinates","autoCompleteId","setSuggestedAddress","addMarker","centerMaker","getCoordinates","getPosition","longitude","latitude","geometry","lat","lng","addressString","Map","getElementById","center","LatLng","zoom","mapPlaceGoogleMapsToAdresse","geolocalisation","deleteMarker","Marker","position","draggable","addListener","markerDragged","setMap","setCenter","captureSituation","mapStyles","styleParts","featureType","elementType","stylers","styler","visibility","join","staticMapUrl","mapCenter","getCenter","markerPosition","mapType","getMapTypeId","getZoom","generateStaticMapStyleUrl","situationGeneraleSrc","startsWith","situationParticuliereSrc","vueAerienneSrc","GoogleMap","geographiqueAvisExpert","validationError","placeHolder","avisExpert","PrestationExpertiseRapportAvisExpert","TypeDonneesEstimationImmobiliereEnum","donneesEstimationImmobiliere","showSituationGeographiqueGraphiques","REFRESH_DONNEES_ESTIMATION_IMMOBILIERES","OuiV1","commodites","allCommodites","getChartTauxChomageOptions","tauxChomage","getChartDensitePopulationOptions","densitePopulation","getChartRepartitionAgeOptions","getChartEffectifsPopulationOptions","SimpleChart","MultipleChart","ExpCommodite","VisaDisplay","PrestationExpertiseSituationAdresse","PrestationExpertiseRapportSituationGeographiqueAvisExpert","isNoteReadOnly","section","isReadonly","VisaNote","geographiqueZoomPlanCadastre","onEmitZoomPlanCadastreChanged","SectionTerrain","onTerrainSuperficieChange","onCalculateSuperficieTerrainClick","terrainFormes","terrainFormeId","terrainClotures","terrainClotureId","terrainAccesEtats","terrainAccesEtatId","terrainEntretiens","terrainEntretienId","terrainInclinaisons","terrainInclinaisonId","terrainPrivatif","terrainPrivatifSuperficie","terrainPrivatifClotureId","terrainPrivatifEntretienId","clear","fill","valeur","text","images","animate","pjIndex","showLabel","handleFileUpload","isUploading","canUpload","isPhoto","onUpdateClick","onDeleteClick","canDefineMainPhoto","onShowConfirmToSetMainPhotoClick","chemin","isEditing","_k","onEditClick","REMOVE_MAIN_PHOTO","fileNameAndExtension","exec","_fileExtension","msgBoxConfirm","size","okTitle","cancelTitle","centered","hideHeaderClose","footerClass","isOK","uploadBlobIfNecessary","nbFiles","nbFileProcessed","maxSizeMB","maxWidthOrHeight","initialQuality","pop","getDataUrlFromFile","order","blobValue","filteredPiecesJointes","workingById","orderBy","RapportExpertisePieceJointe","VueGallery","referenceCadastralesRapport","$anyError","referencesCadastrales","$each","parcelle","isPlanCadastreAutomatic","superficieGouvernement","superficie","onDeleteReferenceCadastraleClick","onAddReferenceCadastraleClick","imagePlanCadastre","isPlanCadastreAnUploadedCanva","width","imageWidth","height","imageHeight","image","polygon","points","stroke","opacity","strokeWidth","closed","planCadastre","zoomOptions","selectedZoom","cadastreBaseUrl","align","currency","onKeypress","onChange","valueWrapped","InputModeDirective","setAttribute","evt","charCode","which","shouldNotAddDecimal","decimalIndex","selectionStart","selectionEnd","substr","output","VueNumeric","urlToData","callbackError","xhr","XMLHttpRequest","onerror","onload","reader","FileReader","onloadend","readAsDataURL","send","boundingBox","cadastreUrl","polygons","isPlanCadastreLoading","addReferencesCadastrales","referenceCadastrale","setBoundingBox","drawPlanCadastreImage","drawPolygons","clearPieceJointePlanCadastre","initPlanCadastre","codeInsee","getReferenceCadastralePolygon","technicalId","forceRefresh","parentWidth","zoneplancadastre","clientWidth","getCodeInsee","Image","dataUrl","src","crossOrigin","getReferencesCadastralesPolygons","start","features","feature","createReferenceCadastrale","totalFeatures","padWithZeros","checkLocation","parcelles","coordinates","flattenCoordinates","polygonCoords","googleMapPolygon","Polygon","paths","poly","containsLocation","existingReferenceCadastrale","contenance","rf","newPolygon","getPixelOnXFromCoordinate","getPixelOnYFromCoordinate","canvas","getElementsByTagName","dataURL","toDataURL","coord","number","my_string","BTable","BTooltip","NumericNullable","RapportExpertiseFileUploader","terrainAvisExpert","annexeEnvironnements","NonObtenu","superficieReferencesCadastrales","landArea","updateDonneesEstimationImmobiliere","sum","curr","TextareaWithDefaultValue","PrestationExpertiseRapportDescriptionGeneraleReferencesCadastrales","PrestationExpertiseRapportDescriptionGeneraleAvisExpert","isAnneeConstructionEstimation","onCaracteristiquesAnneeConstructionChange","onCaracteristiquesAnneeConstructionClick","textDropDownYearRange","selectRange","yearRange","caracteristiquesDPEs","annexesStatuts","onAnnexeDpeEmit","caracteristiquesMitoyenneteCote","SectionGrosOeuvre","caracteristiqueGrosOeuvres","caracteristiqueMenuiseries","caracteristiqueToitures","caracteristiqueFacades","caracteristiqueAssainissements","annexeStatutId","onReceiveEstimation","onDeleteDpeData","isObtenu","dpe","onSelectDpe","caracteristiqueDpeSelected","getDPE","kWhLabel","CO2Label","dossier","glazingTypesOptions","heatingTypesOptions","hotWaterGenerationTypesOptions","isolationRenovationPeriodOptions","airFlowTypesOptions","onClickGetEstimation","buildingYear","livingArea","floorNumber","numberOfWindows","heatingType","hotWaterGenerationType","numberOfExternalFacingWalls","isolationRenovationPeriod","glazingType","airflowType","dealType","selectedOffers","selectedTransactions","countryCode","DpeEnum","A","minusLabel","B","C","D","E","F","G","estimation","hotWaterTypesOptions","loadDossier","loadReferentiel","GetEstimation","$donneesEstimationImmobiliereApiService","getDossierByRapportId","$referentielService","getReferentielDpe","refs","getEstimation","f","energyLabel","onSelectDpeClick","showDetail","refDpe","annexeStatutObject","acc","initDPE","annexeStatut","updateDpe","EtiquetteDpe","defaultTextDropDownYearRange","loadReferentielDate","newVal","equipement","categorieActifType","agrement","EventBus","yearApproximate","getAnneeConstruction","RapportExpertiseDpe","isContratTypeVisiteInterieurEtExterieur","isContratTypeVisiteSurPieces","etatsInstallationElectrique","etatsIsolation","equipements","agrements","etats","cuisine","onAddCuisineClick","salleDeBain","onAddSalleDeBainClick","onAddSalleDEauClick","newLabel","onUpdate","onCancel","onDeleteCuisineClick","photoId","onUploadedFileId","styleId","gammeId","prestationsCuisinesStyles","gammes","prestationsCuisinesEquipements","equipementId","etatId","inputNewLabel","$el","focus","setSelectionRange","prestationsCuisinesGammes","g","onDeleteSalleDeBainClick","prestationsSallesDeBainsGammes","deleteCuisineProvide","deleteSalleDeBainProvide","msg","sdb","typeDeBien","ExpCuisine","ExpSalleDeBain","SectionSurface","updateSurfaceTotaleHabitable","particuliereSourceDesSurfacesTypes","onParticuliereSurfaceTotaleHabitableChange","prestationsSurfaceAnnexeTypes","isPrestationsSurfaceAnnexeTypeAutre","prestationsDependancesTypes","isPrestationsDependanceTypeAutre","deleteEtage","surfacesChanged","onEtageTypeClicked","distributionInterieureSurfaces","distributionInterieureSurfaceTypes","surfaceTypeIsAutre","distributionInterieureEtageTypes","etageTypeIsAutre","customLabel","surfaceTableItems","superficieTotale","row","referenceDataSurfaceTypes","onItemChange","detailsShowing","onShowDetailsClick","onDeleteSurfaceClick","onDeleteCommentaireClick","onSurfaceTypeClicked","thClass","surfaces","onHideDetailsClick","_showDetails","$forceUpdate","toLocaleString","minimumFractionDigits","TableSurfaces","DistributionInterieureEtage","prestationsSurface","surfaceTotale","DistributionInterieure","ExpSurface","PrestationExpertiseRapportDescriptionParticuliereAvisExpert","getTaxeHabitationOptions","getTaxeFonciereOptions","fiscaleTaxeFonciere","fiscaleMontantTaxeFonciere","fiscaleSourcesTaxesFoncieres","getChartTaxeHabitationOptions","taxeHabitation","getChartTaxeFonciereOptions","taxeFonciere","juridiqueModeDeDetentions","juridiqueModesDeDetentions","juridiqueDateAcquisition","juridiqueDateAcquisitionInconnue","onJuridiqueDateAcquisitionInconnueClick","juridiquePrixAcquisition","juridiquePrixAcquisitionInconnue","onJuridiquePrixAcquisitionInconnueClick","juridiqueDesignation","juridiqueNomDuProprietaire","juridiqueAffectationJuridiqueDesLocaux","juridiqueDocumentConsultes","vertical","texteAjouter","onItemAdded","clean","addItem","OnRemoveItemClick","cssClass","initNewItem","isInitializing","refInput","newList","ExtendableList","itemQualifiable","variantItem","beNonDemande","listQualifiable","NonDemande","itemSelectedId","itemSelectedQualificationId","selectedItem","JuridiqueModeDetentionCoproprieteIds","ExtendableListString","TableRadios","urbanistiquePlanLocalUrbanismeDisponibilite","urbanistiqueTypesPlansLocauxUrbanismes","urbanistiquePlanLocalUrbanismeSelectionneId","urbanistiqueDateApprobation","urbanistiqueZone","urbanistiqueZoneCommentaire","isSectionRisquesHidden","onChangeShowSectionRisques","urbanistiqueInondable","urbanistiqueInondationId","goToGeorisques","iconsUrl","urbanistiqueInondations","urbanistiqueSeisme","urbanistiqueSeismeSelectionneId","urbanistiqueDegresSeismes","urbanistiqueMouvementDeTerrain","urbanistiqueMouvementDeTerrains","urbanistiqueTypesMouvementsTerrains","urbanistiqueCaviteSouterraine","urbanistiqueCaviteSouterraines","urbanistiqueTypesCavitesSouterraines","urbanistiqueGonflementDesSolsArgileux","urbanistiqueGonflementDesSolsArgileuxSelectionneId","urbanistiqueDegresGonflementsDesSolsArgileux","urbanistiqueInstallationIndustrielle","urbanistiqueInstallationIndustrielles","urbanistiqueTypesInstallationsIndustrielles","urbanistiqueCommentaire","georisquesBaseRapportUrl","georisquesBaseUrl","srcEvent","ToggleButton","locativeBaux","getProprietairesLocatairesOptions","getMaisonsAppartementsOptions","getNombrePiecesOptions","getSurfaceLogementsOptions","getPrixLoyerOptions","parcLogementsMaisons","getParcLogementsMaisonsOptions","parcLogementsAppartements","getParcLogementsAppartementsOptions","cadresEmployes","getCadresEmployesOptions","getNombreEntreprisesOptions","getImpotFortuneOptions","etudeMarcheSectorielle","etudeMarcheAvisExpert","showPriceHubbleIframe","onShowModalClick","close","onSearchComparableClick","linkPriceHubbleUrl","etudeMarcheElementsComparaisonsVentes","etudeMarcheTypesSources","etudeMarcheElementsComparaisonsLocations","etudeMarcheForces","etudeMarcheFaiblesses","etudeMarcheOpportunites","etudeMarcheMenaces","estVente","imageContent","typeSourceSelectionne","deleteElementComparaison","isTransaction","isValorisation","placeholderDate","dateTransaction","displayDistance","libelle","prixOuLoyer","libelleCalcule","prixOuLoyerCalcule","Math","round","vente","typeSource","obj","$parent","deleteItem","distance","dossierId","initIframe","orderByForEtudeMarcheElementsComparaisons","authenticate","iframe","priceHubbleIframe","priceHubbleIframeBaseUrl","getComparables","listElementsComparaisonsVente","elementComparaisonVenteRef","elementComparaisonVente","addItemsToList","listElementsComparaisonsLocation","elementComparaisonLocationRef","elementComparaisonLocation","removeComparables","priceHubbleModal","getChartProprietairesLocatairesOptions","proprietairesLocataires","getChartMaisonsAppartementsOptions","maisonsAppartements","getChartNombrePiecesOptions","nombrePieces","getChartSurfaceLogementsOptions","surfaceLogements","getChartNombreEntreprisesOptions","nombreEntreprises","getChartImpotFortuneOptions","impotFortune","getChartParcLogementsOptions","getChartCadresEmployesOptions","getChartPrixLoyerOptions","prixLoyer","PriceHubbleV1","ElementComparaison","evaluationMethodesRetenues","isEvaluationMethodeRetenueDisabled","evaluationAvisDeLExpert","isEvaluationMethodeRetenueRendement","evaluationReductionMetriqueTransactionRetenue","isEvaluationMethodeRetenueComparaisonEtRendement","evaluationReductionMetriqueLocationRetenue","evaluationTauxRendementRetenu","evaluationDroitEnregistrementDisplayText","evaluationSurfaceOuSuperficieApresTravaux","titreSurfaceOuSuperficieApresTravaux","evaluationReductionMetriqueApresTravaux","evaluationValeurLocativeMensuelle","evaluationValeurLocativeChargesAnnuelles","caracteristiqueEnergetiqueReferentiel","actualDpe","targetDpe","renovation","getValueFromreferentiel","isSameValue","costs","totalRenovationsCosts","salePriceDifference","backgroundColor","currentEnergyLabel","caracteristiqueActuelle","toFlatKeyValueDictionary","propertyDossier","getToOnlyTextAndNumberLower","currentValue","renovationValue","GetScenarioRenovation","$on","$off","current","getScenarioEstimation","rs","renovations","mapRenovationProperties","normalizedType","dossierValue","ApercuRenovation","FeatureEnum","isScenarioRenovationAllowed","times","toNumber","settings","ScenarioRenovation","dividedBy","evaluationDroitEnregistrement","res","evaluationMethodeRetenue","comparaison","roundComparaison","comparaisonIsCalculableReason","rendement","roundRendement","rendementIsCalculableReason","comparaisonApresTravaux","roundComparaisonApresTravaux","comparaisonApresTravauxIsCalculableReason","conclusionValeurVenale","isEvaluationMethodeRetenueComparaison","conclusionValeurVenaleFourchetteBasseArrondie","conclusionValeurVenaleFourchetteHauteArrondie","conclusionValeurVenaleArrondie","conclusionValeurVenaleApresTravaux","conclusionValeurVenaleApresTravauxFourchetteBasseArrondie","conclusionValeurVenaleApresTravauxFourchetteHauteArrondie","conclusionValeurVenaleApresTravauxArrondie","abattementVenteRapideDisplaytext","sliderStyles","sliderProcessStyle","sliderTooltipStyle","onEmitVenteRapide","conclusionValeurVenteRapideFourchetteBasseArrondie","conclusionValeurVenteRapideFourchetteHauteArrondie","conclusionValeurVenteRapideArrondie","abattementVenteForceeDisplaytext","onEmitVenteForcee","conclusionValeurVenteForceeFourchetteBasseArrondie","conclusionValeurVenteForceeFourchetteHauteArrondie","conclusionValeurVenteForceeArrondie","conclusionValeurLocativeAnnuelle","conclusionValeurLocativeAnnuelleArrondie","conclusionValeurLocativeAnnuelleFourchetteBasseArrondie","conclusionValeurLocativeAnnuelleFourchetteHauteArrondie","conclusionVariationValeur","conclusionObservationValeur","conclusionDateValeur","adequationMarcheDemandeId","adequationMarcheDemandes","conclusionAppreciationGeneraleNiveauLiquidite","showCurrentRating","currentRating","conclusionNiveauLiquiditeESFIId","conclusionNiveauxLiquiditeESFIBusinessEntries","conclusionDelaiDeVenteMoyenId","conclusionDelaisDeVentesMoyens","hasValidNumberValue","ratings","percentFourchetteBasse","percentFourchetteHaute","valeurLocativeRoundAt","REFRESH_VALEURS_DATA","updateValeurs","updateConclusionValeurVenaleArrondie","updateConclusionValeurVenaleFourchettesArrondies","updateConclusionValeurVenteRapide","updateConclusionValeurVenteForcee","updateConclusionValeurVenteRapideFourchettesArrondies","updateConclusionValeurVenteForceeFourchettesArrondies","updateConclusionValeurVenaleApresTravauxFourchettesArrondies","updateConclusionValeurLocativeAnnuelle","updateConclusionValeurLocativeAnnuelleArrondie","updateConclusionValeurLocativeAnnuelleFourchettesArrondies","updateConclusionValeurVenaleApresTravaux","updateConclusionValeurVenaleApresTravauxArrondie","conclusionAbattementVenteForcee","conclusionAbattementVenteRapide","updateEvaluationSurfaceOuSuperficie","at","percent","minus","roundAt","valeurReference","conclusionValeurVenteRapide","calculValeur","calculValeurFourchetteArrondie","conclusionValeurVenteForcee","rating","currentSelectedRating","plus","hideMediocre","HideNiveauDeLiquiditeMediocre","entries","conclusionNiveauxLiquiditeESFI","borderColor","floor","part1","part3","vueSlider","StarRating","hasPlanCadastral","isfiscaleDocumentConsulte","annexeJuridiqueDocumentsConsultes","annexeCadastralStatut","annexePlanLocalUrbanismeStatut","annexeConstructions","annexeSurfaces","annexeSituationsLocatives","annexeTravaux","annexeEnvironnementsToDisabled","onApposerVisaClick","onRefuserVisaClick","canVisa","note","apposerVisa","refuserVisa","Visa","valeurSpotPlus","TypePrestationExpertisePieceJointeEnum","surfaceHabitable","PhotoBien","baseUrlApiAppService","PrestationExpertisePieceJointe","isManuallyDisplayed","onAddPlanCadastreAutoClick","onAddPlanCadastreManuallyClick","getPlanCadastre","setCadastreUrl","bbox","PrestationExpertiseFileUploader","PrestationExpertisePlanCadastre","onAddressSelected","onToggleTabClick","googleRoadMapId","googleStreetId","googleSatelliteMapId","canCapture","onCaptureGoogleStreeViewClick","typeCapturedPieceJointe","_satelliteMap","_roadMap","_street","_satelliteMapMarker","isSatelliteMapDisplayed","initGoogleMapsAndStreetServicesAndComponents","setPosition","setMarker","imageName","streetPosition","pow","getPov","heading","pitch","mapTypeId","mapTypeControl","streetViewControl","StreetViewPanorama","setStreetView","PrestationExpertiseSituationCadastrale","PrestationExpertiseGoogleMapsStreet","reductionMetriqueTransaction","valeurCalculee","roundValeurCalculee","valeurCalculeeIsNotCalculableReason","valeurVenale","valeurVenaleFourchetteBasseArrondie","valeurVenaleFourchetteHauteArrondie","valeurVenaleArrondie","venteRapideChanged","valeurVenteRapideFourchetteBasseArrondie","valeurVenteRapideFourchetteHauteArrondie","valeurVenteRapideArrondie","venteForceeChanged","valeurVenteForceeFourchetteBasseArrondie","valeurVenteForceeFourchetteHauteArrondie","valeurVenteForceeArrondie","appreciationNiveauLiquidite","onCurrentRatingChange","RATINGS","RATING_SUFFIXE","isNull","valeurVenteForceeAbattement","valeurVenteRapideAbattement","updateValeurVenaleArrondie","updateValeurVenaleFourchettesArrondies","updateValeurVenteRapide","updateValeurVenteForcee","updateValeurVenteRapideArrondie","updateValeurVenteRapideFourchettesArrondies","updateValeurVenteForceeArrondie","updateValeurVenteForceeFourchettesArrondies","valeurVenteRapide","valeurVenteForcee","etatAvancementTravaux","pointInspection","getPointsInspectionsRelations","getState","pointsInspectionsRelations","pointInspectionId","etat","PointInspection","isHorsEau","estConclusionValide","etatAvancement","updateStyleRange","range","backgroundSize","typeValeurString","typesValeurs","onModeleDownloadClick","baseUrl","addFileClick","onViewFileClick","onDeleteFileClick","PrestationExpertiseRapportProprietes","PrestationExpertiseRapportIndicateurs","PrestationExpertiseRapportContratMission","PrestationExpertiseRapportSituationGeographiqueGeographie","PrestationExpertiseRapportSituationGeographiqueControle","PrestationExpertiseRapportDescriptionGeneraleTerrain","PrestationExpertiseRapportDescriptionGeneraleControle","PrestationExpertiseRapportDescriptionParticuliereBatiment","PrestationExpertiseRapportDescriptionParticulierePrestations","PrestationExpertiseRapportDescriptionParticuliereSurface","PrestationExpertiseRapportDescriptionParticuliereControle","PrestationExpertiseRapportSituationFiscaleFiscalite","PrestationExpertiseRapportSituationFiscaleControle","PrestationExpertiseRapportSituationJuridiqueJuridique","PrestationExpertiseRapportSituationJuridiqueControle","PrestationExpertiseRapportSituationUrbanistiqueUrbanisme","PrestationExpertiseRapportSituationUrbanistiqueControle","PrestationExpertiseRapportSituationLocativeLocative","PrestationExpertiseRapportSituationLocativeControle","PrestationExpertiseRapportMarcheEtudeDeMarche","PrestationExpertiseRapportMarcheControle","PrestationExpertiseRapportEvaluationEvaluation","PrestationExpertiseRapportEvaluationControle","PrestationExpertiseRapportConclusionConclusion","PrestationExpertiseRapportConclusionControle","PrestationExpertiseRapportConclusionAnnexes","PrestationExpertiseRapportControleAppreciationGenerale","PrestationExpertiseProprietes","PrestationExpertiseValeurSpotPlusContratMission","PrestationExpertiseValeurSpotPlusSituationGeographiquePlansDeSituation","PrestationExpertiseValeurSpotPlusDescriptionGeneraleDescriptionDuBien","PrestationExpertiseValeurSpotPlusAnalyseDuBienCommentaires","PrestationExpertiseValeurSpotPlusConclusionValeurs","PrestationExpertiseEtatAvancementTravauxContratMission","PrestationExpertiseEtatAvancementTravauxBien","PrestationExpertiseEtatAvancementTravauxPointInspection","PrestationExpertiseEtatAvancementTravauxAvisExpert","PrestationExpertiseEtatAvancementTravauxConclusion","PrestationExpertiseEtudeDeMarcheContratMission","PrestationExpertiseEtudeDeMarcheSituationGeographiquePlansDeSituation","PrestationExpertiseEtudeDeMarcheModeleRapport","validationName","noteName","onMenuItemClick","condition","className","icon","behavior","ValidationStatus","VisaSectionStatus","isMenuOpened","onMenuToggleClick","BDropdown","BDropdownItem","isSearchingAnnexes","isPanelAnnexesVisible","onSaveButtonClick","isExportDisplayed","onExportButtonClick","onSendMessageClick","onDeposerButtonClick","onCloseClick","onViewAnnexeClick","onDownloadAnnexeClick","onEscapeKeyPress","isControleur","initAnnexes","getAnnexes","PanelAnnexes","requiredIfTrueForParentVm","testFunction","helpers","withParams","parentVm","requiredIfTrueForRapport","requiredPhotos","photosObligatoires","isNotCertificatExpertise","isContratTypePrestationNotCertificatExpertise","requireIfCertificatExpertise","requireIfRapportExpertise","requireIfVersion","actualVersion","isLessThan","rapportExpertiseValidation","requiredIf","customRequired","minLength","terrainServitudes","isElementComparaisonTransaction","minValue","isBusinessEntryDPEValid","prestationExpertiseprestationAvecChauffage","isOkReno","contratGroup","situationGeographiqueGroup","descriptionGeneraleGroup","descriptionParticuliereGroup","situationFiscaleGroup","situationLocativeGroup","situationJuridiqueGroup","situationUrbanistiqueGroup","etudeMarcheGroup","evaluationGroup","conclusionGroup","onAddComparableClick","onHandleAcceptMerge","fieldName","getNatureVisiteFromContratTypeVisiteId","getContratTypeVisiteIdFromNatureVisiteEnum","addPieceJointeRapport","deletePieceJointeRapportByIdAndType","renamePieceJointeRapport","updateOrdrePiecesJointesRapportProvide","updateOrdrePiecesJointesRapport","apposerVisaProvide","refuserVisaProvide","initComponentSections","initDonneesEstimationImmobiliere","initComparables","initMergeRapportDatas","refModal","is_visible","updateProprietes","updateComponentSections","comparable","prixMoyen","offset","fromReference","updateExpertiseFromReference","timestamp","ComparableVente","ComparableLocation","pieceJointeRapportId","pieceJointeRapport","managePiecesJointes","onReferenceToCopyChanged","onEmitReferenceToCopyChanged","getDonneesEstimationImmobiliere","donnees","getCommodites","loadDonneesEstimationImmobiliere","initMergeDatas","merge","forceReadonly","PrestationExpertiseLayout","PrestationExpertiseSections","PrestationExpertiseDesktopMenu","PrestationExpertiseMobileMenu","PrestationExpertiseHeaderActions","PrestationExpertiseMissionMerge","PanelComparables","valeurSpotPlusValidation","appreciationGeographique","adequationBienVsDemande","analyseBienGroup","$prestationExpertiseProprietesApiService","etatAvancementTravauxValidation","bienGroup","pointsInspectionsGroup","commentairesGroup","pointsInspections","getPointsInspections","isHorsAir","childrenPointsInspections","getComponentsSectionsForHorsAir","getComponentsSectionsForHorsEau","etudeDeMarcheValidation","rapportGroup","isDestinataireMandantChecked","isDestinataireExpertChecked","isDestinataireControleurChecked","autreDestinataire","isCcMandantChecked","isCcExpertChecked","isCcControleurChecked","autreCc","isCciMandantChecked","isCciExpertChecked","isCciControleurChecked","autreCci","isAdminBPCEEI","isExpert","isExpertMission","isSoustraitantAvance","objets","onObjetChange","selectedObjet","corps","emailsCommande","de","cc","objet","innerHTML","activeElement","modelesEmails","SousTraitantAvance","omereMissionId","getByIndex","getModelesEmails","modelEmail","selectedModelEmail","autres","replaceAll","nbArobases","nbSeparators","emails","malformedEmail","email","$emailCommandeApiService","addCustom","HtmlTextarea","getMissionByIdResolver","query","token","$externalAuthenticationService","loginInToOmereAndRedirectToMission","missionid","username","nonce","getMissionAndDonneesTechniques","pathToMatch","$societeSettingsStoreService","reject","$permissionService","getSocieteSettings","spread","getLastByOmereContactId","getAControlerByOmereContactId","getEmailsCommandeByMissionIdResolver","loading","redirectToPrestationExpertiseResolver","getTypePrestationExpertiseByMissionId","router","routes","redirect","beforeEnter","beforeEach","pushBackUrlHistory","afterEach","errorResponseHandler","isGuid","interceptors","request","Authorization","excludedStrings","excludedString","debug","method","PendingQueueStatusEnum","pendingQueueStatus","pendingQueueStatusEnum","currentQueueItemIndex","nbQueueItems","replayingProgress","handleSWMessages","$workbox","messageSW","preventDevToolsReloadLoop","ready","registered","cached","updatefound","caches","cacheNames","cacheName","updated","registration","waiting","installingWorker","onstatechange","isLogOutDuringMep","alert","action","offline","AnnexeTableEnum","dateModiticationUtcPrestationsExpertises","recherche","datas","formData","FormData","append","toISOString","oldTypePrestationExpertise","newTypePrestationExpertise","categorieActifId","patch","loginParams","lastLoggedUserId","clearToken","removeItem","_loadingProgressChunks","chunks","trunc","biens","typesBien","natureBien","bienId","businessEntriesResponse","pointsInspectionsResponse","modelesemailsResponse","getCategorieActifsAsBusinessEntries","getTypesBiensAsBusinessEntries","setBusinessEntries","pointsInpections","setPointsInspections","modelesemails","setModelesEmails","manageAnnexes","logMissionMessage","cleanedMission","cloneDeep","$pieceJointeRapportApiService","$prestationExpertisePieceJointeApiService","pieceJointeApiService","typePieceJointe","piecesJointesToManage","pieceJointeToManage","logPieceJointeMessage","addedPieceJointe","cleanedPieceJointe","annexeToManage","logAnnexeMessage","addFile","Expertise","variant","vm","toast","noCloseButton","solid","addToast","showToaster","fire","_subjectMessageService$","Subject","subjectType","BUSINESS_ENTRIES","LAST_PULL_DATE","POINTS_INSPECTIONS","MODELES_EMAILS","BACK_URL_HISTORY","tableName","indexName","db","_tableName","_indexName","_db","tx","transaction","objectStore","indexValue","IDBKeyRange","only","openCursor","storedValue","deleteCursor","cursor","primaryKey","continue","isDate","cursorValue","keyRangeValue","upperBound","openKeyCursor","stack","DEBUG","INFORMATION","WARNING","ERROR","CRITICAL","addLog","getAllByOmereContactId","tableId","ficheId","appClientVersion","pathname","urlApi","watch","config","productionTip","updateLocale","lastDay","sameDay","nextDay","lastWeek","nextWeek","sameElse","moment","maximumFractionDigits","createObjectsStoresAndServices","$simpleMissionApiService","$prestationExpertiseApiService","$valeurSpotPlusApiService","$modeleEmailApiService","$loadingProgressionService","$etudeDeMarcheApiService","errorHandler","source","ligne","colone","configFile","getDocumentOrigin","origin","port","protocol","hostname","upgrade","oldVersion","newVersion","objectStoreNames","createObjectStore","autoIncrement","keyPath","createIndex","unique","onversionchange","blocked","blocking","terminated","resp","defaults","render","h","$mount","libraries","googleMapApi","Admin","NatureVisiteEnum","RapportExpertiseNoteSectionEnum"],"mappings":"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+C,wBAEFijB,mBAAoB,CAClBjjB,0BAINu/C,cAAe,CACbgM,eADa,SACEtjE,GACb,QAAOqjE,wBAAWtuD,GAA+B/U,KAEnD6xC,MAAO,CACL18B,wBAAyB,CACvB4C,wBAEF/C,6BAA8B,CAC5B+C,wBAEFijB,mBAAoB,CAClBjjB,0BAIN4gC,qBAAsB,CACpB2qB,eADoB,SACLtjE,GACb,QAAOqjE,wBAAWtuD,GAA+B/U,KAEnD6xC,MAAO,CACL18B,wBAAyB,CACvB4C,wBAEF/C,6BAA8B,CAC5B+C,wBAEFijB,mBAAoB,CAClBjjB,2BAKR+rD,aAAc,CACZ,2DACA,kEACA,8DACA,kDACA,uDACA,gDACA,2DACA,2DACA,8DACA,qBACA,6CAEFC,2BAA4B,CAC1B,4DACA,gEACA,sDACA,wDACA,qDACA,mEAEFC,yBAA0B,CACxB,0DACA,gEACA,kEACA,iDACA,+CACA,iDACA,6CACA,mDACA,gDACA,gDACA,8CACA,wDACA,uDACA,yDACA,iDAEFC,6BAA8B,CAC5B,gEACA,0DACA,gEACA,0DACA,0DACA,uDACA,sDACA,8DACA,0DACA,oDACA,qEACA,kEACA,2DACA,8CACA,8CACA,sDACA,yDACA,qDACA,mDACA,oDACA,kDACA,uDACA,wDACA,qDACA,2DACA,kEACA,qDACA,8DACA,iEACA,kDACA,sDAEFC,sBAAuB,CACrB,kDACA,0DACA,0DAEFC,uBAAwB,CACtB,+CACA,mDACA,uDACA,sDACA,6DACA,qDACA,mDAEFC,wBAAyB,CACvB,qEACA,uDACA,yDACA,yDACA,yDACA,mDACA,wDAEFC,2BAA4B,CAC1B,4DACA,6DACA,oEACA,iFACA,oDACA,uDACA,mEACA,oEACA,6DACA,8DACA,iDACA,8DACA,0EACA,0EACA,+CACA,0DACA,uDAEFC,iBAAkB,CAChB,oDACA,uEACA,oEACA,gDACA,oDACA,sDACA,iDACA,sDAEFC,gBAAiB,CACf,yDACA,sDACA,4EACA,yEACA,4DACA,4DACA,wEACA,sEACA,gEACA,uEACA,sEACA,wCAEFC,gBAAiB,CACf,6DACA,qDAC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","file":"js/app.b8a4110d.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 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// 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\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 \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-marche-etude-de-marche.vue?vue&type=style&index=0&id=25bc3f1a&lang=scss&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./captcha.vue?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./distribution-interieur.vue?vue&type=style&index=0&id=0f2ada94&lang=scss&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-mobile-menu.vue?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-etude-de-marche-rapport.vue?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./distribution-interieur-etage.vue?vue&type=style&index=0&id=15ffde74&lang=scss&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-sections.vue?vue&type=style&index=0&lang=scss&\"","export enum EtapeMissionEnum {\r\n EnAttenteDePieces = 55420,\r\n NonAttribuee = 47489,\r\n AttribueeALExpert = 1001341,\r\n ValeursAViserVisa1 = 1001344,\r\n ValeursAViserVisa2 = 2910112,\r\n ExpertiseCompleteAViser = 1001342,\r\n ValeursARevoir = 1001936,\r\n ValeursVisees = 1001343,\r\n ExpertiseCompleteValidee = 47490,\r\n ExpertiseVerrouillee = 1001937,\r\n Abandonnee = 47518,\r\n EtapeTemp = 2935105,\r\n Validee = 1001813,\r\n}\r\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./exp-cuisine.vue?vue&type=style&index=0&id=97844146&lang=scss&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./table-radios.vue?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./exp-commodite.vue?vue&type=style&index=0&id=6b4c2576&lang=scss&scoped=true&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-plan-cadastre.vue?vue&type=style&index=0&id=7487a31e&lang=scss&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./radio-boolean.vue?vue&type=style&index=0&id=0f88bac0&lang=scss&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-proprietes.vue?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise.layout.vue?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-etat-avancement-travaux-bien.vue?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./radios.vue?vue&type=style&index=0&id=d848cdc6&lang=scss&scoped=true&\"","import { Component, Vue, Prop } from 'vue-property-decorator';\r\nconst Color = require('color');\r\n\r\n@Component({\r\n name: 'ThemeMixin',\r\n})\r\nexport default class ThemeMixin extends Vue {\r\n @Prop() public color: string;\r\n\r\n //#region LIFE CYCLES\r\n\r\n //#endregion\r\n\r\n //#region COMPUTED\r\n get cssVars(): any {\r\n return {\r\n '--themeColor': this.colorObject,\r\n '--lightenThemeColor': this.colorObject.lighten(0.2).toString(),\r\n '--darkenThemeColor': this.colorObject.darken(0.2).toString(),\r\n };\r\n }\r\n\r\n get colorObject(): any {\r\n return Color(this.color);\r\n }\r\n //#endregion\r\n\r\n //#region WATCH\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n\r\n //#endregion\r\n}\r\n","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-description-particuliere-prestations.vue?vue&type=style&index=0&lang=css&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-version-histories.vue?vue&type=style&index=0&lang=scss&\"","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport EtudeDeMarcheSectionMixin from '@/mixins/etude-de-marche-section.mixin';\r\nimport { PrestationExpertisePieceJointeDto } from '@/shared/dtos/prestation-expertise/prestation-expertise-piece-jointe.dto';\r\nimport { Vue, Component, Inject, Mixins } from 'vue-property-decorator';\r\nimport store from '@/shared/store';\r\nimport { PrestationExpertiseAnnexeDto } from '@/shared/dtos/prestation-expertise/prestation-expertise-annexe.dto';\r\n\r\n@Component({\r\n name: 'PrestationExpertiseEtudeDeMarcheRapport',\r\n components: {},\r\n})\r\nexport default class PrestationExpertiseEtudeDeMarcheRapport extends Mixins(EtudeDeMarcheSectionMixin) {\r\n @Inject('confirmDelete') public confirmDelete: any;\r\n\r\n public fields: any = [\r\n {\r\n key: 'nom',\r\n label: 'Nom du document',\r\n },\r\n\r\n {\r\n key: 'view',\r\n label: '',\r\n },\r\n {\r\n key: 'action',\r\n label: '',\r\n },\r\n ];\r\n\r\n //#region LIFE CYCLES\r\n //#endregion\r\n //#region COMPUTED\r\n get list(): any {\r\n return this.etudeDeMarche.annexes.filter((x) => !x.isDeleted);\r\n }\r\n //#endregion\r\n //#region WATCH\r\n //#endregion\r\n //#region EVENTS\r\n public addFileClick(): void {\r\n (this.$refs.fileUpload as any).click();\r\n }\r\n\r\n public handleFileUpload(e: any): void {\r\n this.prepareFileUpload(e.target.files);\r\n }\r\n\r\n public async onViewFileClick(pieceJointe: PrestationExpertisePieceJointeDto): Promise {\r\n // En mobile avec l'iphone, on ne peut pas simplement voir le fichier, il faut le télécharger pour le consulter\r\n if (this.isMobile) {\r\n await this.onDownloadFileClick(pieceJointe);\r\n return;\r\n }\r\n\r\n if (pieceJointe.isNew) {\r\n return;\r\n }\r\n\r\n store.isLoading = true;\r\n await Vue.prototype.$annexeApiService\r\n .getAnnexe(pieceJointe.id)\r\n .then((response: any) => {\r\n const mimeType = response.headers['content-type'];\r\n this.openFile(response.data, mimeType);\r\n })\r\n .catch(async (error: any) => {\r\n await Vue.prototype.$logStoreService.error(`Erreur lors du téléchargement du document ${pieceJointe.nom} - ERROR`, error, 'Annexe');\r\n })\r\n .finally(() => {\r\n store.isLoading = false;\r\n });\r\n }\r\n\r\n public async onDownloadFileClick(pieceJointe: PrestationExpertisePieceJointeDto): Promise {\r\n if (pieceJointe.isNew) {\r\n return;\r\n }\r\n\r\n store.isLoading = true;\r\n await Vue.prototype.$annexeApiService\r\n .getAnnexe(pieceJointe.id)\r\n .then((response: any) => {\r\n const disposition = response.headers['content-disposition'];\r\n const filename = decodeURI(disposition.match(/filename[^;=\\n]*=((['\"]).*?\\2|[^;\\n]*)/)[1]);\r\n const mimeType = response.headers['content-type'];\r\n\r\n this.downloadFile(response.data, mimeType, filename);\r\n })\r\n .catch(async (error: any) => {\r\n await Vue.prototype.$logStoreService.error(`Erreur lors du téléchargement du document ${pieceJointe.nom} - ERROR`, error, 'Annexe');\r\n })\r\n .finally(() => {\r\n store.isLoading = false;\r\n });\r\n }\r\n\r\n public onDeleteFileClick(pieceJointe: PrestationExpertisePieceJointeDto): void {\r\n this.confirmDelete(`cette pièce jointe ${pieceJointe.nom} `).then(() => {\r\n pieceJointe.isDeleted = true;\r\n });\r\n }\r\n //#endregion\r\n //#region FUNCTIONS\r\n\r\n private async prepareFileUpload(files: File[]): Promise {\r\n for (let file of files) {\r\n var buffer = await file.arrayBuffer();\r\n var base64Content = Buffer.from(buffer).toString('base64');\r\n\r\n const annexe: PrestationExpertiseAnnexeDto = {\r\n id: 0,\r\n nom: file.name,\r\n content: base64Content,\r\n isNew: true,\r\n isDeleted: false,\r\n };\r\n\r\n this.etudeDeMarche.annexes.push(annexe);\r\n }\r\n }\r\n\r\n private openFile(data: any, mimeType: string): void {\r\n const blob = new Blob([data], { type: mimeType });\r\n var blobUrl = URL.createObjectURL(blob);\r\n window.open(blobUrl, '_blank');\r\n }\r\n\r\n private downloadFile(data: any, mimeType: string, filename: string): void {\r\n const blob = new Blob([data], { type: mimeType });\r\n const navigator: any = window.navigator;\r\n if (navigator && navigator.msSaveOrOpenBlob) {\r\n navigator.msSaveOrOpenBlob(blob, filename);\r\n } else {\r\n let link = document.createElement('a');\r\n link.href = window.URL.createObjectURL(blob);\r\n link.download = filename;\r\n document.body.appendChild(link); // fix for Firefox\r\n link.click();\r\n link.remove();\r\n }\r\n }\r\n //#endregion\r\n}\r\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./back-button.vue?vue&type=style&index=0&id=1a8aee4e&lang=scss&scoped=true&\"","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-bd\": \"9686\",\n\t\"./bn-bd.js\": \"9686\",\n\t\"./bn.js\": \"9043\",\n\t\"./bo\": \"d26a\",\n\t\"./bo.js\": \"d26a\",\n\t\"./br\": \"6887\",\n\t\"./br.js\": \"6887\",\n\t\"./bs\": \"2554\",\n\t\"./bs.js\": \"2554\",\n\t\"./ca\": \"d716\",\n\t\"./ca.js\": \"d716\",\n\t\"./cs\": \"3c0d\",\n\t\"./cs.js\": \"3c0d\",\n\t\"./cv\": \"03ec\",\n\t\"./cv.js\": \"03ec\",\n\t\"./cy\": \"9797\",\n\t\"./cy.js\": \"9797\",\n\t\"./da\": \"0f14\",\n\t\"./da.js\": \"0f14\",\n\t\"./de\": \"b469\",\n\t\"./de-at\": \"b3eb\",\n\t\"./de-at.js\": \"b3eb\",\n\t\"./de-ch\": \"bb71\",\n\t\"./de-ch.js\": \"bb71\",\n\t\"./de.js\": \"b469\",\n\t\"./dv\": \"598a\",\n\t\"./dv.js\": \"598a\",\n\t\"./el\": \"8d47\",\n\t\"./el.js\": \"8d47\",\n\t\"./en-au\": \"0e6b\",\n\t\"./en-au.js\": \"0e6b\",\n\t\"./en-ca\": \"3886\",\n\t\"./en-ca.js\": \"3886\",\n\t\"./en-gb\": \"39a6\",\n\t\"./en-gb.js\": \"39a6\",\n\t\"./en-ie\": \"e1d3\",\n\t\"./en-ie.js\": \"e1d3\",\n\t\"./en-il\": \"7333\",\n\t\"./en-il.js\": \"7333\",\n\t\"./en-in\": \"ec2e\",\n\t\"./en-in.js\": \"ec2e\",\n\t\"./en-nz\": \"6f50\",\n\t\"./en-nz.js\": \"6f50\",\n\t\"./en-sg\": \"b7e9\",\n\t\"./en-sg.js\": \"b7e9\",\n\t\"./eo\": \"65db\",\n\t\"./eo.js\": \"65db\",\n\t\"./es\": \"898b\",\n\t\"./es-do\": \"0a3c\",\n\t\"./es-do.js\": \"0a3c\",\n\t\"./es-mx\": \"b5b7\",\n\t\"./es-mx.js\": \"b5b7\",\n\t\"./es-us\": \"55c9\",\n\t\"./es-us.js\": \"55c9\",\n\t\"./es.js\": \"898b\",\n\t\"./et\": \"ec18\",\n\t\"./et.js\": \"ec18\",\n\t\"./eu\": \"0ff2\",\n\t\"./eu.js\": \"0ff2\",\n\t\"./fa\": \"8df4\",\n\t\"./fa.js\": \"8df4\",\n\t\"./fi\": \"81e9\",\n\t\"./fi.js\": \"81e9\",\n\t\"./fil\": \"d69a\",\n\t\"./fil.js\": \"d69a\",\n\t\"./fo\": \"0721\",\n\t\"./fo.js\": \"0721\",\n\t\"./fr\": \"9f26\",\n\t\"./fr-ca\": \"d9f8\",\n\t\"./fr-ca.js\": \"d9f8\",\n\t\"./fr-ch\": \"0e49\",\n\t\"./fr-ch.js\": \"0e49\",\n\t\"./fr.js\": \"9f26\",\n\t\"./fy\": \"7118\",\n\t\"./fy.js\": \"7118\",\n\t\"./ga\": \"5120\",\n\t\"./ga.js\": \"5120\",\n\t\"./gd\": \"f6b4\",\n\t\"./gd.js\": \"f6b4\",\n\t\"./gl\": \"8840\",\n\t\"./gl.js\": \"8840\",\n\t\"./gom-deva\": \"aaf2\",\n\t\"./gom-deva.js\": \"aaf2\",\n\t\"./gom-latn\": \"0caa\",\n\t\"./gom-latn.js\": \"0caa\",\n\t\"./gu\": \"e0c5\",\n\t\"./gu.js\": \"e0c5\",\n\t\"./he\": \"c7aa\",\n\t\"./he.js\": \"c7aa\",\n\t\"./hi\": \"dc4d\",\n\t\"./hi.js\": \"dc4d\",\n\t\"./hr\": \"4ba9\",\n\t\"./hr.js\": \"4ba9\",\n\t\"./hu\": \"5b14\",\n\t\"./hu.js\": \"5b14\",\n\t\"./hy-am\": \"d6b6\",\n\t\"./hy-am.js\": \"d6b6\",\n\t\"./id\": \"5038\",\n\t\"./id.js\": \"5038\",\n\t\"./is\": \"0558\",\n\t\"./is.js\": \"0558\",\n\t\"./it\": \"6e98\",\n\t\"./it-ch\": \"6f12\",\n\t\"./it-ch.js\": \"6f12\",\n\t\"./it.js\": \"6e98\",\n\t\"./ja\": \"079e\",\n\t\"./ja.js\": \"079e\",\n\t\"./jv\": \"b540\",\n\t\"./jv.js\": \"b540\",\n\t\"./ka\": \"201b\",\n\t\"./ka.js\": \"201b\",\n\t\"./kk\": \"6d79\",\n\t\"./kk.js\": \"6d79\",\n\t\"./km\": \"e81d\",\n\t\"./km.js\": \"e81d\",\n\t\"./kn\": \"3e92\",\n\t\"./kn.js\": \"3e92\",\n\t\"./ko\": \"22f8\",\n\t\"./ko.js\": \"22f8\",\n\t\"./ku\": \"2421\",\n\t\"./ku.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\": \"cf755\",\n\t\"./tlh.js\": \"cf755\",\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 * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./login.vue?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-contact.vue?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./visa-display.vue?vue&type=style&index=0&id=f620ba36&lang=scss&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./agenda-desktop.vue?vue&type=style&index=0&id=220e6c32&lang=scss&scoped=true&\"","export enum TypePrestationExpertiseEnum {\r\n CertificatExpertise = 2937051,\r\n EtatAvancementTravaux = 2937052,\r\n ExpertiseImmobiliereCFE = 2937053,\r\n ExpertiseCKV = 2937054,\r\n RapportExpertise = 2937055,\r\n ReceptionLot = 2937056,\r\n ValeurSpot = 2937057,\r\n ValeurSpotPlus = 2937058,\r\n VisiteComplementaire = 2937732,\r\n EtudeMarche = 2912587,\r\n}\r\n","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-etat-avancement-travaux-conclusion.vue?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-conclusion-conclusion.vue?vue&type=style&index=0&id=e369e9cc&lang=scss&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Visa.vue?vue&type=style&index=0&id=6b6fdde6&lang=scss&scoped=true&\"","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./multiple-chart.vue?vue&type=style&index=0&id=575ede56&lang=scss&scoped=true&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-proprietes.vue?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-file-uploader.vue?vue&type=style&index=0&id=89ec9e2a&lang=scss&scoped=true&\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-situation-juridique-juridique.vue?vue&type=style&index=0&id=16341b14&lang=scss&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./table-surfaces.vue?vue&type=style&index=0&id=8df1ab2e&lang=scss&scoped=true&\"","module.exports = __webpack_public_path__ + \"img/document_document.ad5f1933.svg\";","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport.vue?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-etat-avancement-travaux-avis-expert.vue?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./simple-chart.vue?vue&type=style&index=0&id=4f070422&lang=scss&scoped=true&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./rapport-expertise-piece-jointe.vue?vue&type=style&index=0&id=e9131098&lang=scss&scoped=true&\"","import { Component, Vue } from 'vue-property-decorator';\r\nimport { isBrowser, isTablet, isMobileOnly } from 'mobile-device-detect';\r\n\r\n// isMobile\tbool\treturns true if device type is mobile or tablet\r\n// isMobileOnly\tbool\treturns true if device type is mobile\r\n// isTablet\tbool\treturns true if device type is tablet\r\n// isBrowser\tbool\treturns true if device type is browser\r\n\r\n@Component({\r\n name: 'ComponentsSectionsMenu',\r\n})\r\nexport default class DeviceMixin extends Vue {\r\n public isBrowser = isBrowser || isTablet;\r\n public isMobile = isMobileOnly;\r\n\r\n //#region LIFE CYCLES\r\n\r\n //#endregion\r\n\r\n //#region COMPUTED\r\n\r\n //#endregion\r\n\r\n //#region WATCH\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n\r\n //#endregion\r\n}\r\n","import { EtudeDeMarcheDto } from '@/shared/dtos/etude-de-marche.dto';\r\nimport { Component, Mixins } from 'vue-property-decorator';\r\nimport PrestationExpertiseSectionMixin from './prestation-expertise-section.mixin';\r\nimport { RapportExpertiseNoteSectionEnum } from '@/shared/enums/rapport-expertise-note-section.enum';\r\nimport { getRapportExpertiseNoteSectionEnumName } from '@/shared/utilities/enums.utility';\r\n\r\n@Component({\r\n name: 'EtudeDeMarcheSectionMixin',\r\n})\r\nexport default class EtudeDeMarcheSectionMixin extends Mixins(PrestationExpertiseSectionMixin) {\r\n public rapportExpertiseNoteSectionEnum = RapportExpertiseNoteSectionEnum;\r\n public getRapportExpertiseNoteSectionEnumName = getRapportExpertiseNoteSectionEnumName;\r\n\r\n //#region LIFE CYCLES\r\n\r\n //#endregion\r\n\r\n //#region COMPUTED\r\n\r\n get etudeDeMarche(): EtudeDeMarcheDto {\r\n return this.prestationExpertise as EtudeDeMarcheDto;\r\n }\r\n\r\n //#endregion\r\n\r\n //#region WATCH\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n\r\n //#endregion\r\n}\r\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./rapport-expertise-file-uploader.vue?vue&type=style&index=0&id=3b128a5f&lang=scss&scoped=true&\"","export enum TypeValeurEnum {\r\n ValeurVenale = 2937071,\r\n ValeurLocative = 2912386,\r\n ValeurApresTravaux = 2937072,\r\n ValeurVenteForcee = 2937073,\r\n ValeurVenteRapide = 2937074,\r\n}\r\n","export enum EtatPrestationExpertisePointInspectionEnum {\r\n NonEffectue,\r\n EnCours,\r\n Termine,\r\n}\r\n","export enum StatutCommandeEnum {\r\n Abandonnee = 1001108,\r\n EnCours = 1001109,\r\n Terminee = 1001667,\r\n}\r\n","import { TypeValeurEnum } from './../enums/type-valeur.enum';\r\nimport { NatureVisiteEnum } from './../enums/nature-visite.enum';\r\nimport { RapportExpertiseBusinessEntryDto } from './../dtos/rapport-expertise-business-entry.dto';\r\nimport { EtatPrestationExpertisePointInspectionEnum } from '../enums/etat-prestation-expertise-point-inspection.enum';\r\nimport { NatureBienEnum } from '../enums/nature-bien.enum';\r\nimport { RapportExpertiseNoteSectionEnum } from '../enums/rapport-expertise-note-section.enum';\r\nimport { StatutCommandeEnum } from '../enums/statut-commande.enum';\r\nimport { TypePrestationExpertiseEnum } from '../enums/type-prestation-expertise.enum';\r\nimport { PointInspectionCategorieEnum } from '../enums/point-inspection-categorie.enum';\r\n\r\nfunction typePrestationExpertiseEnumToDictionary(): { [index: number]: string } {\r\n const enumDictionary: { [index: number]: string } = {\r\n [TypePrestationExpertiseEnum.CertificatExpertise]: \"Certificat d'expertise\",\r\n [TypePrestationExpertiseEnum.EtatAvancementTravaux]: \"Etat d'avancement de travaux\",\r\n [TypePrestationExpertiseEnum.ExpertiseImmobiliereCFE]: 'Expertise immobilière CFE',\r\n [TypePrestationExpertiseEnum.ExpertiseCKV]: 'Expertise CKV',\r\n [TypePrestationExpertiseEnum.RapportExpertise]: \"Rapport d'expertise\",\r\n [TypePrestationExpertiseEnum.ReceptionLot]: \"Réception d'un lot\",\r\n [TypePrestationExpertiseEnum.ValeurSpot]: 'Valeur spot',\r\n [TypePrestationExpertiseEnum.ValeurSpotPlus]: 'Valeur spot +',\r\n [TypePrestationExpertiseEnum.VisiteComplementaire]: 'Visite complémentaire',\r\n [TypePrestationExpertiseEnum.EtudeMarche]: 'Etude de marché',\r\n };\r\n\r\n return enumDictionary;\r\n}\r\n\r\nexport function getTypePrestationExpertiseEnumName(value: TypePrestationExpertiseEnum): string {\r\n return typePrestationExpertiseEnumToDictionary()[value] ?? '';\r\n}\r\n\r\nfunction statutCommandeEnumToDictionary(): { [index: number]: string } {\r\n const enumDictionary: { [index: number]: string } = {\r\n [StatutCommandeEnum.Abandonnee]: 'Abandonnée',\r\n [StatutCommandeEnum.EnCours]: 'En cours',\r\n [StatutCommandeEnum.Terminee]: 'Terminée',\r\n };\r\n\r\n return enumDictionary;\r\n}\r\n\r\nexport function getStatutCommandeEnumName(value: StatutCommandeEnum): string {\r\n return statutCommandeEnumToDictionary()[value] ?? '';\r\n}\r\n\r\nfunction natureBienEnumToDictionary(): { [index: number]: string } {\r\n const enumDictionary: { [index: number]: string } = {\r\n [NatureBienEnum.HabitatIndividuel]: 'Habitat individuel',\r\n [NatureBienEnum.HabitatCollectif]: 'Habitat collectif',\r\n [NatureBienEnum.HabitatException]: \"Habitat d'exception\",\r\n [NatureBienEnum.Terrain]: 'Terrain',\r\n [NatureBienEnum.TerresCultives]: 'Terres cultivées',\r\n [NatureBienEnum.ImmeubleRapport]: 'Immeuble de rapport',\r\n [NatureBienEnum.ImmeubleProfessionnel]: 'Immeuble professionnel',\r\n [NatureBienEnum.ResidenceDeServicesTourisme]: 'Résidence de services / tourisme',\r\n };\r\n\r\n return enumDictionary;\r\n}\r\n\r\nexport function getNatureBienEnumName(value: NatureBienEnum): string {\r\n return natureBienEnumToDictionary()[value] ?? '';\r\n}\r\n\r\nfunction rapportExpertiseNoteSectionEnumToDictionary(): { [index: number]: string } {\r\n const enumDictionary: { [index: number]: string } = {\r\n [RapportExpertiseNoteSectionEnum.SituationGeographique]: 'SituationGeographique',\r\n [RapportExpertiseNoteSectionEnum.DescriptionGenerale]: 'DescriptionGenerale',\r\n [RapportExpertiseNoteSectionEnum.DescriptionParticuliere]: 'DescriptionParticuliere',\r\n [RapportExpertiseNoteSectionEnum.SituationFiscale]: 'SituationFiscale',\r\n [RapportExpertiseNoteSectionEnum.SituationJuridique]: 'SituationJuridique',\r\n [RapportExpertiseNoteSectionEnum.SituationUrbanistique]: 'SituationUrbanistique',\r\n [RapportExpertiseNoteSectionEnum.EtudeDeMarche]: 'EtudeDeMarche',\r\n [RapportExpertiseNoteSectionEnum.Evaluation]: 'Evaluation',\r\n [RapportExpertiseNoteSectionEnum.Conclusion]: 'Conclusion',\r\n [RapportExpertiseNoteSectionEnum.Global]: 'Global',\r\n [RapportExpertiseNoteSectionEnum.SituationLocative]: 'SituationLocative',\r\n };\r\n\r\n return enumDictionary;\r\n}\r\n\r\nexport function getRapportExpertiseNoteSectionEnumName(value: RapportExpertiseNoteSectionEnum): string {\r\n return rapportExpertiseNoteSectionEnumToDictionary()[value] ?? '';\r\n}\r\n\r\nexport function pointInspectionEtatEnumToDictionary(): { [index: number]: string } {\r\n const enumDictionary: { [index: string]: string } = {\r\n [EtatPrestationExpertisePointInspectionEnum.NonEffectue]: 'Non effectué',\r\n [EtatPrestationExpertisePointInspectionEnum.EnCours]: 'En cours',\r\n [EtatPrestationExpertisePointInspectionEnum.Termine]: 'Terminé',\r\n };\r\n return enumDictionary;\r\n}\r\n\r\nexport function getPointInspectionEtatEnumName(value: EtatPrestationExpertisePointInspectionEnum): string {\r\n return pointInspectionEtatEnumToDictionary()[value] ?? '';\r\n}\r\n\r\nexport function PointInspectionEtatEnumToBusinessEntries(): RapportExpertiseBusinessEntryDto[] {\r\n const enumValues = EtatPrestationExpertisePointInspectionEnum;\r\n return Object.keys(enumValues)\r\n .filter((value) => !isNaN(+value))\r\n .map((item: any) => {\r\n return new RapportExpertiseBusinessEntryDto(Number.parseInt(item), getPointInspectionEtatEnumName(item));\r\n });\r\n}\r\n\r\nexport function PointInspectionCategorieEnumToDictionary(): { [index: number]: string } {\r\n const enumDictionary: { [index: string]: string } = {\r\n [PointInspectionCategorieEnum.MenuiseriesExterieures]: 'Menuiseries extérieures',\r\n [PointInspectionCategorieEnum.Electricite]: 'Electricité',\r\n [PointInspectionCategorieEnum.Plomberie]: 'Plomberie',\r\n [PointInspectionCategorieEnum.Chauffage]: 'Chauffage',\r\n [PointInspectionCategorieEnum.Isolation]: 'Isolation',\r\n [PointInspectionCategorieEnum.Finitions]: 'Finitions',\r\n [PointInspectionCategorieEnum.GrosOeuvre]: 'Gros oeuvre',\r\n [PointInspectionCategorieEnum.Raccordement]: 'Raccordement',\r\n };\r\n return enumDictionary;\r\n}\r\n\r\nexport function getPointInspectionCategorieEnumName(value: PointInspectionCategorieEnum): string {\r\n return PointInspectionCategorieEnumToDictionary()[value] ?? '';\r\n}\r\n\r\nfunction natureVisiteEnumToDictionary(): { [index: number]: string } {\r\n const enumDictionary: { [index: number]: string } = {\r\n [NatureVisiteEnum.Complete]: 'Complète',\r\n [NatureVisiteEnum.Exterieure]: 'Extérieure',\r\n [NatureVisiteEnum.SurPieces]: 'Sur pièces',\r\n [NatureVisiteEnum.Partielle]: 'Partielle',\r\n };\r\n\r\n return enumDictionary;\r\n}\r\n\r\nexport function getNatureVisiteEnumName(value: NatureVisiteEnum): string {\r\n return natureVisiteEnumToDictionary()[value] ?? '';\r\n}\r\n\r\nfunction typeValeurEnumToDictionary(): { [index: number]: string } {\r\n const enumDictionary: { [index: number]: string } = {\r\n [TypeValeurEnum.ValeurApresTravaux]: 'Valeur après travaux',\r\n [TypeValeurEnum.ValeurLocative]: 'Valeur locative',\r\n [TypeValeurEnum.ValeurVenale]: 'Valeur vénale',\r\n [TypeValeurEnum.ValeurVenteForcee]: 'Valeur en vente forcée',\r\n [TypeValeurEnum.ValeurVenteRapide]: 'Valeur en vente rapide',\r\n };\r\n\r\n return enumDictionary;\r\n}\r\n\r\nexport function getTypeValeurEnumToDictionary(value: TypeValeurEnum): string {\r\n return typeValeurEnumToDictionary()[value] ?? '';\r\n}\r\n\r\nexport function hasFlag(enumValue: T, flag: T): boolean {\r\n const value: number = enumValue as unknown as number;\r\n const test: number = flag as unknown as number;\r\n\r\n if (isNaN(value) || isNaN(test)) return false;\r\n\r\n return (value & test) == test;\r\n}\r\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-header-actions.vue?vue&type=style&index=0&id=15796bad&scoped=true&lang=scss&\"","import { TypeBusinessEntryEnum } from '../enums/type-business-entry.enum';\r\nimport { TypeCategorieActifEnum } from '../enums/type-categorie-actif.enum';\r\n\r\nexport class RapportExpertiseBusinessEntryDto {\r\n id: number;\r\n displayText: string;\r\n orderIndex: number;\r\n isActive: boolean;\r\n iconName: string;\r\n parentId?: number;\r\n categorieActifType: TypeCategorieActifEnum;\r\n abreviated: string;\r\n class: string;\r\n type: TypeBusinessEntryEnum;\r\n iconRepetition: number;\r\n\r\n minVersion: number;\r\n maxVersion: number;\r\n\r\n constructor(id: number, displayText: string, parentId?: number) {\r\n this.id = id;\r\n this.displayText = displayText;\r\n this.parentId = parentId;\r\n }\r\n}\r\n","export enum NatureBienEnum {\r\n HabitatIndividuel = 2937066,\r\n HabitatCollectif = 55352,\r\n HabitatException = 2937067,\r\n Terrain = 55445,\r\n TerresCultives = 2937068,\r\n ImmeubleRapport = 2937069,\r\n ImmeubleProfessionnel = 2912434,\r\n ResidenceDeServicesTourisme = 2937070,\r\n ParkingBox = 2912228,\r\n}\r\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./rapport-expertise-dpe.vue?vue&type=style&index=0&id=42ade5ff&lang=scss&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./diagnostic.vue?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./agenda-mobile.vue?vue&type=style&index=0&id=491b0d9e&lang=scss&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-push.vue?vue&type=style&index=0&id=352a91f6&scoped=true&lang=scss&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./missions-a-controler.vue?vue&type=style&index=0&id=3c92d7c4&lang=scss&scoped=true&\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-description-generale-references-cadastrales.vue?vue&type=style&index=0&id=66717b68&lang=scss&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./element-comparaison.vue?vue&type=style&index=0&id=039f079f&lang=scss&scoped=true&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-google-maps-street.vue?vue&type=style&index=0&lang=scss&\"","import { Component, Mixins, Prop } from 'vue-property-decorator';\r\nimport { PrestationExpertiseDto } from '@/shared/dtos/prestation-expertise/prestation-expertise.dto';\r\nimport DeviceMixin from '@/mixins/device.mixin';\r\nimport ThemeMixin from './theme.mixin';\r\nimport { getTypeDeBien, isTypeDeBienAppartement, isTypeDeBienMaison, isTypeDeBienTerrain } from '@/helpers/prestation-expertise.helper';\r\nimport { MissionDto } from '@/shared/dtos/mission.dto';\r\nimport { EtapeMissionEnum } from '@/shared/enums/etape-mission.enum';\r\nimport store from '@/shared/store';\r\nimport roles from '@/shared/constants/roles.const';\r\nimport { SocieteSettings } from '@/shared/models/societe-settings.model';\r\n\r\n@Component({\r\n name: 'PrestationExpertiseSectionMixin',\r\n})\r\nexport default class PrestationExpertiseSectionMixin extends Mixins(DeviceMixin, ThemeMixin) {\r\n @Prop() public value: MissionDto;\r\n @Prop() public businessEntries: any;\r\n @Prop() public validation: any;\r\n @Prop() public societeSettings: SocieteSettings;\r\n\r\n //#region LIFE CYCLES\r\n\r\n //#endregion\r\n\r\n //#region COMPUTED\r\n get mission(): MissionDto {\r\n return this.value;\r\n }\r\n\r\n get prestationExpertise(): PrestationExpertiseDto {\r\n return this.mission.prestationExpertise;\r\n }\r\n\r\n get isNoteReadOnly() {\r\n if (\r\n (store.user.roles.includes(roles.AdminBPCEEI) || store.user.roles.includes(roles.Controleur)) &&\r\n this.$can('Save', 'Notes') &&\r\n (this.mission.etape === EtapeMissionEnum.ValeursAViserVisa1 ||\r\n this.mission.etape === EtapeMissionEnum.ValeursAViserVisa2 ||\r\n this.mission.etape === EtapeMissionEnum.ExpertiseCompleteAViser)\r\n ) {\r\n return false;\r\n }\r\n\r\n return true;\r\n\r\n // Ancien code à garder pour référence si on emploi le visa tech\r\n // if (!this.$can('Save', 'Notes')) return true;\r\n\r\n // if (this.mission == null || this.mission.dateVisaTech != null) return true;\r\n\r\n // if (\r\n // (this.mission.etape === EtapeMissionEnum.ValeursAViserVisa1 ||\r\n // this.mission.etape === EtapeMissionEnum.ValeursAViserVisa2 ||\r\n // this.mission.flagVisaTech === true\r\n // )\r\n // return false;\r\n // if (this.mission.etape === EtapeMissionEnum.AttribueeALExpert && this.mission.flagVisaTech === true) return false;\r\n\r\n // return true;\r\n }\r\n\r\n get contratsTypesBiens(): any[] {\r\n return this.businessEntries.contratTypeBiens.filter((c: any) => c.parentId == this.prestationExpertise.contratCategorieDActifId);\r\n }\r\n\r\n get isTypeDeBienAppartement(): boolean {\r\n return isTypeDeBienAppartement(this.prestationExpertise, this.businessEntries);\r\n }\r\n\r\n get isTypeDeBienMaison(): boolean {\r\n return isTypeDeBienMaison(this.prestationExpertise, this.businessEntries);\r\n }\r\n\r\n get isTypeDeBienTerrain(): boolean {\r\n return isTypeDeBienTerrain(this.prestationExpertise, this.businessEntries);\r\n }\r\n\r\n get typeDeBien() {\r\n return getTypeDeBien(this.prestationExpertise, this.businessEntries);\r\n }\r\n //#endregion\r\n\r\n //#region WATCH\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n\r\n //#endregion\r\n}\r\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./basic.layout.vue?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./panel-comparables.vue?vue&type=style&index=0&id=294cee53&lang=scss&scoped=true&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-piece-jointe.vue?vue&type=style&index=0&id=766c7cf2&lang=scss&scoped=true&\"","export enum PointInspectionCategorieEnum {\r\n MenuiseriesExterieures,\r\n Electricite,\r\n Plomberie,\r\n Chauffage,\r\n Isolation,\r\n Finitions,\r\n GrosOeuvre,\r\n Raccordement,\r\n}\r\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./agenda-desktop.vue?vue&type=style&index=1&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./choice-popup.vue?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./exp-salle-de-bain.vue?vue&type=style&index=0&id=02afdc02&lang=scss&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./card-mission.vue?vue&type=style&index=0&id=5f8f2ad0&lang=scss&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-desktop-menu.vue?vue&type=style&index=0&id=2cafb5ae&scoped=true&lang=scss&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./visa-section-status.vue?vue&type=style&index=0&id=2f22702e&lang=scss&scoped=true&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-situation-cadastrale.vue?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./header-title.vue?vue&type=style&index=0&id=ba83c53a&lang=scss&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./date-picker.vue?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dropdowns.vue?vue&type=style&index=0&lang=scss&\"","import { MissionDto } from '@/shared/dtos/mission.dto';\r\nimport { NatureBienEnum } from '@/shared/enums/nature-bien.enum';\r\n\r\nconst CATEGORY_MAISON = 1;\r\nconst CATEGORY_APPARTEMENT = 2;\r\nconst CATEGORY_TERRAIN = 3;\r\n\r\nconst getTypeDeBien = function (prestationExpertise: any, businessEntries: any) {\r\n let actifObj = businessEntries.contratCategorieActifs.filter((c: any) => c.id == prestationExpertise.contratCategorieDActifId)[0];\r\n let actif = actifObj ? actifObj.displayText.toLowerCase() : '';\r\n let typeObj = businessEntries.contratTypeBiens.filter((t: any) => t.id == prestationExpertise.contratTypeBienId)[0];\r\n let type = typeObj ? typeObj.displayText.toLowerCase() : '';\r\n\r\n // conditions sur les anciens noms (pre-immoprod)\r\n if (actif.includes('appart') || type.includes('appart')) {\r\n return CATEGORY_APPARTEMENT;\r\n }\r\n\r\n // conditions sur les nouveaux noms\r\n if (actif.includes('collectif') || (actif.includes('tourisme') && actif.includes('services'))) {\r\n return CATEGORY_APPARTEMENT;\r\n }\r\n\r\n // dans une V1 on considère qu'un immeuble est comme un appartement\r\n if (actif.includes('immeuble')) {\r\n return CATEGORY_APPARTEMENT;\r\n }\r\n\r\n if (actif.includes('terrain') || actif.includes('terres') || prestationExpertise.contratCategorieDActifId === NatureBienEnum.ParkingBox) {\r\n return CATEGORY_TERRAIN;\r\n }\r\n\r\n // on considère que tout ce qui n'est pas Appartement est Maison\r\n return CATEGORY_MAISON;\r\n};\r\n\r\nconst isTypeDeBienAppartement = function (prestationExpertise: any, businessEntries: any): boolean {\r\n return getTypeDeBien(prestationExpertise, businessEntries) === CATEGORY_APPARTEMENT;\r\n};\r\n\r\nconst isTypeDeBienMaison = function (prestationExpertise: any, businessEntries: any): boolean {\r\n return getTypeDeBien(prestationExpertise, businessEntries) === CATEGORY_MAISON;\r\n};\r\n\r\nconst isTypeDeBienTerrain = function (prestationExpertise: any, businessEntries: any): boolean {\r\n return getTypeDeBien(prestationExpertise, businessEntries) === CATEGORY_TERRAIN;\r\n};\r\n\r\nconst hasFourchetteValeur = function (mission: MissionDto): boolean {\r\n return mission.hasFourchetteValeur === true;\r\n};\r\n\r\nconst hasValeurVenteForcee = function (mission: MissionDto): boolean {\r\n return mission.hasValeurVenteForcee === true;\r\n};\r\n\r\nconst hasValeurVenteRapide = function (mission: MissionDto): boolean {\r\n return mission.hasValeurVenteRapide === true;\r\n};\r\n\r\nexport {\r\n getTypeDeBien,\r\n isTypeDeBienAppartement,\r\n isTypeDeBienTerrain,\r\n isTypeDeBienMaison,\r\n hasFourchetteValeur,\r\n hasValeurVenteForcee,\r\n hasValeurVenteRapide,\r\n};\r\n","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-conclusion-annexes.vue?vue&type=style&index=0&id=41552ae2&lang=scss&scoped=true&\"","import abp from 'abp-web-resources';\r\nimport { UserLoginInfoDto } from '@/shared/dtos/user-login-info.dto';\r\n\r\nexport default {\r\n user: null as UserLoginInfoDto,\r\n comeFromLoginPage: JSON.parse(localStorage.getItem('comeFromLoginPage')),\r\n isLoading: false,\r\n loadingProgression: null as number,\r\n isLogged: abp.auth.getToken() != undefined && abp.auth.getToken() != '',\r\n};\r\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./visa-note.vue?vue&type=style&index=0&id=c0a8523c&lang=scss&scoped=true&\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-valeur-spot-plus-conclusion-valeurs.vue?vue&type=style&index=0&id=e15b4402&lang=scss&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./agenda-mobile.vue?vue&type=style&index=1&lang=scss&\"","import { IBaseDto } from '@/shared/dtos/ibase.dto';\r\nimport axios from 'axios';\r\nimport * as queryString from 'query-string';\r\n\r\nexport abstract class BaseDtoApiService {\r\n constructor(protected readonly _endpoint: string) {}\r\n\r\n private getQueryString(queryParams: any): string {\r\n return queryParams ? `?${queryString.stringify(queryParams)}` : '';\r\n }\r\n\r\n //#region SERIALIZER\r\n protected fromJson(object: any): T {\r\n return object as T;\r\n }\r\n\r\n protected toJson(object: T): any {\r\n return object;\r\n }\r\n //#endregion\r\n\r\n //#region CONVERT\r\n protected convertData(response: any): T {\r\n return this.fromJson(response.data.result) as T;\r\n }\r\n\r\n protected convertDatas(response: any): T[] {\r\n return response.data.result.map((result: any) => this.fromJson(result) as T);\r\n }\r\n\r\n //#endregion\r\n\r\n //#region CREATE\r\n public add(item: T): Promise {\r\n return axios.post(this._endpoint, this.toJson(item)).then((response: any) => this.convertData(response));\r\n }\r\n\r\n public addMany(items: T[]): Promise {\r\n return axios\r\n .post(\r\n this._endpoint,\r\n items.map((item: T) => this.toJson(item))\r\n )\r\n .then((data: any) => this.convertDatas(data));\r\n }\r\n\r\n //#endregion\r\n\r\n //#region READ\r\n public get(id: number | string): Promise {\r\n const url = `${this._endpoint}/${id}`;\r\n\r\n return axios.get(url).then((response: any) => this.convertData(response));\r\n }\r\n\r\n public getWithParams(queryParams: any): Promise {\r\n const url = `${this._endpoint}${this.getQueryString(queryParams)}`;\r\n\r\n return axios.get(url).then((response: any) => this.convertData(response));\r\n }\r\n\r\n public getManyWithParams(queryParams: any): Promise {\r\n const url = `${this._endpoint}${this.getQueryString(queryParams)}`;\r\n\r\n return axios.get(url).then((response: any) => this.convertDatas(response));\r\n }\r\n\r\n public getWithRoute(route: string): Promise {\r\n const url = `${this._endpoint}/${route}`;\r\n\r\n return axios.get(url).then((response: any) => this.convertData(response));\r\n }\r\n\r\n public getManyWithRoute(route: string): Promise {\r\n const url = `${this._endpoint}/${route}`;\r\n\r\n return axios.get(url).then((response: any) => this.convertDatas(response));\r\n }\r\n\r\n public getWithRouteAndParams(route: string, queryParams: any = null): Promise {\r\n const url = `${this._endpoint}/${route}${this.getQueryString(queryParams)}`;\r\n\r\n return axios.get(url).then((response: any) => this.convertData(response));\r\n }\r\n\r\n public getManyWithRouteAndParams(route: string, queryParams: any = null): Promise {\r\n const url = `${this._endpoint}/${route}${this.getQueryString(queryParams)}`;\r\n\r\n return axios.get(url).then((response: any) => this.convertDatas(response));\r\n }\r\n\r\n public getAll(isInCache = false): Promise {\r\n return axios.get(this._endpoint).then((response: any) => this.convertDatas(response));\r\n }\r\n\r\n //#endregion\r\n\r\n //#region UPDATE\r\n public update(id: number | string, item: T): Promise {\r\n return axios.put(`${this._endpoint}/${id}`, this.toJson(item)).then((response: any) => this.convertData(response));\r\n }\r\n\r\n //#endregion\r\n\r\n //#region DELETE\r\n public delete(id: number | string): Promise {\r\n return axios.delete(`${this._endpoint}/${id}`);\r\n }\r\n\r\n //#endregion\r\n\r\n public addOrUpdate(item: T): Promise {\r\n return item.id > 0 ? this.update(item.id, item) : this.add(item);\r\n }\r\n}\r\n","import { EtudeDeMarcheDto } from '@/shared/dtos/etude-de-marche.dto';\r\nimport { BaseDtoApiService } from './base-dto-api.service';\r\n\r\nexport class EtudeDeMarcheApiService extends BaseDtoApiService {\r\n constructor() {\r\n super('etudedemarche');\r\n }\r\n}\r\n","import { orderBy } from 'lodash';\r\n\r\nexport class JourFerieService {\r\n constructor() {}\r\n\r\n public getAll(): Promise {\r\n return fetch('https://calendrier.api.gouv.fr/jours-feries/metropole.json')\r\n .then((response) => {\r\n return response.json();\r\n })\r\n .then((json: any) => {\r\n return orderBy(Object.keys(json), (x) => x);\r\n });\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('basic-layout',[_c('b-container',{staticClass:\"login-component\",attrs:{\"slot\":\"body\",\"fluid\":\"\"},slot:\"body\"},[_c('h1',{staticClass:\"no-increment mt-0 mb-5\"},[_vm._v(\"Connexion à votre espace ImmoProd\")]),_c('form',{attrs:{\"role\":\"form\"},on:{\"submit\":_vm.onSubmit}},[_c('b-form-group',{staticClass:\"text-right\",attrs:{\"label-cols\":\"4\",\"label\":\"Identifiant\",\"label-for\":\"txtUserName\",\"state\":!_vm.$v.login.userName.$error,\"invalid-feedback\":\"L'identifiant est obligatoire\"}},[_c('b-form-input',{attrs:{\"id\":\"txtUserName\",\"state\":!_vm.$v.login.userName.$error},model:{value:(_vm.login.userName),callback:function ($$v) {_vm.$set(_vm.login, \"userName\", $$v)},expression:\"login.userName\"}})],1),_c('b-form-group',{staticClass:\"text-right\",attrs:{\"label-cols\":\"4\",\"label\":\"Mot de passe\",\"label-for\":\"txtPassword\",\"state\":!_vm.$v.login.password.$error,\"invalid-feedback\":\"Le mot de passe est obligatoire\"}},[(!_vm.showPassword)?_c('b-input-group',[_c('b-form-input',{attrs:{\"id\":\"txtPassword\",\"type\":\"password\",\"state\":!_vm.$v.login.password.$error},model:{value:(_vm.login.password),callback:function ($$v) {_vm.$set(_vm.login, \"password\", $$v)},expression:\"login.password\"}}),_c('b-input-group-append',[_c('b-button',{attrs:{\"variant\":\"primary\",\"aria-label\":\"Afficher en clair le mot de passe\"},on:{\"click\":_vm.onPasswordToggleClick}},[_c('font-awesome-icon',{attrs:{\"icon\":\"eye\"}})],1)],1)],1):_vm._e(),(_vm.showPassword)?_c('b-input-group',[_c('b-form-input',{attrs:{\"id\":\"txtPassword\",\"type\":\"text\",\"state\":!_vm.$v.login.password.$error},model:{value:(_vm.login.password),callback:function ($$v) {_vm.$set(_vm.login, \"password\", $$v)},expression:\"login.password\"}}),_c('b-input-group-append',[_c('b-button',{attrs:{\"variant\":\"primary\",\"aria-label\":\"Ne plus afficher en clair le mot de passe\"},on:{\"click\":_vm.onPasswordToggleClick}},[_c('font-awesome-icon',{attrs:{\"icon\":\"eye-slash\"}})],1)],1)],1):_vm._e()],1),(_vm.isCaptchaEnabled)?_c('b-form-group',{staticClass:\"login-component-captcha\",attrs:{\"content-cols\":\"12\",\"state\":!_vm.$v.login.captchaResponse.$error,\"invalid-feedback\":\"Veuillez prouver que vous n'êtes pas un robot\"}},[_c('Captcha',{ref:\"captchaComponent\",on:{\"outputCaptchaClick\":_vm.onCaptchaClick}})],1):_vm._e(),_c('div',{staticClass:\"button-wrapper\"},[_c('b-button',{attrs:{\"variant\":\"primary\",\"type\":\"submit\"}},[_vm._v(\"Se connecter\")])],1)],1),_c('b-modal',{attrs:{\"id\":\"modal-spinner\",\"hide-footer\":\"\",\"hide-header\":\"\",\"hide-header-close\":\"\",\"size\":\"sm\",\"centered\":\"\",\"no-close-on-esc\":\"\",\"no-close-on-backdrop\":\"\"}},[_c('div',{staticClass:\"d-block text-center\"},[_c('spinner',{staticClass:\"m-auto mt-3\",attrs:{\"color\":_vm.contratTypePrestationColorDefault,\"size\":75,\"depth\":5}}),_c('p',{staticClass:\"mt-3\"},[_vm._v(\"Authentification en cours\")])],1)])],1)],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:\"basic-component\"},[_c('header',{attrs:{\"role\":\"banner\"}},[_c('nav',{staticClass:\"navbar navbar-light fixed-top bg-white d-none d-lg-block\",attrs:{\"role\":\"navigation\"}},[_c('b-row',{attrs:{\"id\":\"top-menu-items\"}},[_c('b-col',{attrs:{\"cols\":\"auto\"}},[_c('a',{staticClass:\"navbar-brand col-auto mr-0 logo\",attrs:{\"href\":\"/\"}},[_c('img',{staticClass:\"img-fluid\",staticStyle:{\"max-height\":\"40px\"},attrs:{\"src\":require(\"../../assets/logo.png\"),\"alt\":\"Logo BPCE Expertises immobilières\"}})])]),(_vm.isPageRapport)?_c('b-col',{attrs:{\"cols\":\"auto\"}},[_c('b-row',[_vm._t(\"header\")],2)],1):_vm._e(),(!_vm.isPageRapport)?_c('b-col',{staticClass:\"align-self-center\"},[(_vm.isLogged)?_c('ul',{staticClass:\"nav\"},[(_vm.ability.can('Agenda', 'Pages'))?_c('li',{staticClass:\"nav-item\"},[_c('router-link',{staticClass:\"nav-link\",attrs:{\"to\":\"/agenda\"}},[_vm._v(\"Agenda\")])],1):_vm._e(),_c('li',{staticClass:\"nav-item\"},[_c('router-link',{staticClass:\"nav-link\",attrs:{\"to\":\"/missions\"}},[_vm._v(\"Missions\")])],1),(_vm.ability.can('Recherche', 'Pages'))?_c('li',{staticClass:\"nav-item\"},[_c('router-link',{staticClass:\"nav-link\",attrs:{\"to\":\"/recherche\"}},[_vm._v(\"Recherche\")])],1):_vm._e(),(_vm.ability.can('MissionsAControler', 'Pages'))?_c('li',{staticClass:\"nav-item\"},[_c('router-link',{staticClass:\"nav-link\",attrs:{\"to\":\"/missions-a-controller\"}},[_vm._v(\"Contrôle\")])],1):_vm._e()]):_vm._e()]):_vm._e(),_c('b-col',{attrs:{\"id\":\"user-name\",\"cols\":\"auto\"}},[_vm._v(\" \"+_vm._s(_vm.userName))]),_c('b-col',{staticClass:\"align-self-center\",attrs:{\"cols\":\"auto\"}},[_c('b-button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isLogged),expression:\"isLogged\"}],attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.onLogoutButtonClick}},[_vm._v(\"Se déconnecter\")])],1)],1)],1),(_vm.isLogged)?_c('nav',{staticClass:\"navbar-mobile navbar-light fixed-bottom bg-white d-block d-lg-none\",attrs:{\"role\":\"navigation\"}},[_c('ul',{staticClass:\"nav mobile\"},[(_vm.ability.can('Agenda', 'Pages'))?_c('li',{staticClass:\"nav-item col-4\"},[_c('router-link',{staticClass:\"nav-link\",attrs:{\"to\":\"/agenda\",\"title\":\"Agenda\"}},[_c('font-awesome-icon',{attrs:{\"icon\":['far', 'calendar'],\"aria-hidden\":\"true\",\"size\":\"lg\"}}),_c('span',[_vm._v(\"Agenda\")])],1)],1):_vm._e(),_c('li',{staticClass:\"nav-item col-4\"},[_c('router-link',{staticClass:\"nav-link\",attrs:{\"to\":\"/missions\",\"title\":\"Missions\"}},[_c('font-awesome-icon',{attrs:{\"icon\":\"list\",\"aria-hidden\":\"true\",\"size\":\"lg\"}}),_c('span',[_vm._v(\"Missions\")])],1)],1),_c('b-nav-item-dropdown',{staticClass:\"col-4\",attrs:{\"dropup\":\"\",\"text\":\"Plus\",\"no-caret\":\"\"},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('font-awesome-icon',{attrs:{\"icon\":\"ellipsis-h\",\"aria-hidden\":\"true\",\"size\":\"lg\"}}),_c('span',[_vm._v(\"Plus\")])]},proxy:true}],null,false,2300547059)},[(_vm.ability.can('Recherche', 'Pages'))?_c('b-dropdown-item',{attrs:{\"to\":\"/recherche\",\"title\":\"Recherche\"}},[_vm._v(\" Recherche \")]):_vm._e(),(_vm.$router.app.$ability.can('MissionsAControler', 'Pages'))?_c('b-dropdown-item',{attrs:{\"to\":\"/missions-a-controller\",\"title\":\"Missions à contrôler\"}},[_vm._v(\" Contrôle \")]):_vm._e(),_c('b-dropdown-item',{attrs:{\"to\":\"/diagnostic\",\"title\":\"Diagnostic\"}},[_vm._v(\" Diagnostic \")]),_c('b-dropdown-item',{attrs:{\"title\":\"Déconnexion\"},on:{\"click\":_vm.onLogoutButtonClick}},[_vm._v(\"Quitter\")])],1)],1)]):_vm._e()]),_c('aside',[_vm._t(\"aside\")],2),_c('main',{attrs:{\"id\":\"main\",\"role\":\"main\"}},[_vm._t(\"body\")],2),_c('footer',{staticClass:\"footer\",attrs:{\"role\":\"contentinfo\"}},[_c('div',{staticClass:\"container-fluid\"},[_c('div',{staticClass:\"row justify-content-between\"},[_c('div',{staticClass:\"col\"},[_vm._v(\"ImmoProd - \"+_vm._s(_vm.version))]),_c('router-link',{staticClass:\"col\",attrs:{\"to\":\"/diagnostic\",\"title\":\"Diagnostic\"}},[_vm._v(\" Diagnostic \")])],1)])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Vue } from 'vue-property-decorator';\r\nimport store from '@/shared/store';\r\n\r\n@Component({\r\n name: 'BasicLayout',\r\n})\r\nexport default class BasicLayout extends Vue {\r\n public version = Vue.prototype.$config.appVersion;\r\n\r\n public isLogged = store.isLogged;\r\n public isPageRapport =\r\n this.$route.fullPath.indexOf('RapportExpertise') !== -1 ||\r\n this.$route.fullPath.indexOf('ValeurSpotPlus') !== -1 ||\r\n this.$route.fullPath.indexOf('CertificatExpertise') !== -1 ||\r\n this.$route.fullPath.indexOf('EtatAvancementTravaux') !== -1;\r\n public userName = '';\r\n\r\n public ability = this.$router.app.$ability;\r\n\r\n //#region LIFE CYCLES\r\n public beforeMount(): void {\r\n this.isLogged = store.isLogged;\r\n\r\n if (store.user) this.userName = store.user.surname + ' ' + store.user.name;\r\n }\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n public onLogoutButtonClick(): void {\r\n Vue.prototype.$authentificationService.logout();\r\n }\r\n\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n\r\n //#endregion\r\n}\r\n","export enum AnnexeStatutEnum {\r\n NonDemande = 2056001,\r\n NonObtenu = 2056002,\r\n Obtenu = 2056003,\r\n}\r\n","export enum EvaluationMethodeRetenueEnum {\r\n Comparaison = 2036001,\r\n ComparaisonEtRendement = 2036002,\r\n Rendement = 2036003,\r\n}\r\n","export enum ContratTypeVisiteEnum {\r\n InterieurEtExterieur = 2023001,\r\n ExterieurUniquement = 2023002,\r\n SurPieces = 2023003,\r\n Partielle = 2023004,\r\n}\r\n","export enum BusinessEntryEnum {\r\n DPE = 2052002,\r\n}\r\n","export enum ContratTypePrestation {\r\n EstimationImmobiliere = 2045001,\r\n RapportExpertise = 2045017,\r\n CertificatExpertise = 2045018,\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./basic.layout.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./basic.layout.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./basic.layout.vue?vue&type=template&id=6dc44d81&\"\nimport script from \"./basic.layout.vue?vue&type=script&lang=ts&\"\nexport * from \"./basic.layout.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./basic.layout.vue?vue&type=style&index=0&lang=scss&\"\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 { AnnexeStatutEnum } from './../shared/enums/annexe-statut.enum';\r\nimport { EvaluationMethodeRetenueEnum } from './../shared/enums/evaluation-methode-retenue.enum';\r\nimport { MissionDto } from '@/shared/dtos/mission.dto';\r\nimport { ContratTypeVisiteEnum } from '@/shared/enums/contrat-type-visite.enum';\r\nimport { RapportExpertiseBusinessEntryRelationDto } from '@/shared/dtos/rapport-expertise-business-entry-relation.dto';\r\nimport { BusinessEntryEnum } from '@/shared/enums/business-entry.enum';\r\nimport { ContratTypePrestation } from '@/shared/enums/contrat-type-prestation.enum';\r\n\r\nconst isElementComparaisonTransaction = function (elementComparaison: any): boolean {\r\n return elementComparaison.typeDeSourceId === 2016001;\r\n};\r\n\r\nconst isElementComparaisonValorisation = function (elementComparaison: any): boolean {\r\n return elementComparaison.typeDeSourceId === 2016004;\r\n};\r\n\r\nconst isDistributionInterieureSurfaceTypeAutre = function (surface: any): boolean {\r\n return surface.typeBusinessItemId === 2036900;\r\n};\r\n\r\nconst isDistributionInterieureEtageTypeAutre = function (etage: any): boolean {\r\n return etage.typeBusinessItemId === 2037900;\r\n};\r\n\r\nconst isContratTypeVisiteInterieurEtExterieur = function (contratTypeVisiteId: any): boolean {\r\n return contratTypeVisiteId === ContratTypeVisiteEnum.InterieurEtExterieur;\r\n};\r\n\r\nconst isContratTypeVisiteExterieur = function (contratTypeVisiteId: any): boolean {\r\n return contratTypeVisiteId === ContratTypeVisiteEnum.ExterieurUniquement;\r\n};\r\n\r\nconst isContratTypeVisiteSurPieces = function (contratTypeVisiteId: any): boolean {\r\n return contratTypeVisiteId === ContratTypeVisiteEnum.SurPieces;\r\n};\r\n\r\nconst isPrestationsSurfaceAnnexeTypeAutre = function (prestationsSurfaceAnnexe: any): boolean {\r\n return prestationsSurfaceAnnexe.typeBusinessItemId === 2038900;\r\n};\r\n\r\nconst isPrestationsDependanceTypeAutre = function (prestationsDependance: any): boolean {\r\n return prestationsDependance.typeBusinessItemId === 2041900;\r\n};\r\n\r\nconst isEvaluationMethodeRetenueComparaison = function (evaluationMethodeRetenueId: number): boolean {\r\n return evaluationMethodeRetenueId === EvaluationMethodeRetenueEnum.Comparaison;\r\n};\r\n\r\nconst isEvaluationMethodeRetenueComparaisonEtRendement = function (evaluationMethodeRetenueId: number): boolean {\r\n return evaluationMethodeRetenueId === EvaluationMethodeRetenueEnum.ComparaisonEtRendement;\r\n};\r\n\r\nconst isEvaluationMethodeRetenueRendement = function (evaluationMethodeRetenueId: number): boolean {\r\n return evaluationMethodeRetenueId === EvaluationMethodeRetenueEnum.Rendement;\r\n};\r\n\r\nconst hasValeurApresTravaux = function (mission: MissionDto): boolean {\r\n return mission.hasValeurApresTravaux === true;\r\n};\r\n\r\nconst hasValeurLocative = function (mission: MissionDto): boolean {\r\n return mission.hasValeurLocative === true;\r\n};\r\n\r\nconst hasScenarioRenovation = function (mission: MissionDto): boolean {\r\n if (mission.scenarioRenovation == null) return true;\r\n else return mission.scenarioRenovation.renovationScenarios.some((r) => r.toExport);\r\n};\r\n\r\nconst isSourceDesSurfacesActeNotarie = function (sourceDesSurfacesId: number): boolean {\r\n return sourceDesSurfacesId === 2042004;\r\n};\r\n\r\nconst isContratConditionOccupationOccupe = function (contratConditionOccupationId: number): boolean {\r\n return contratConditionOccupationId === 2046002;\r\n};\r\n\r\nconst isFiscaleSourceTaxeFonciereDocumentConsulte = function (fiscaleSourceTaxeFonciereId: number): boolean {\r\n return fiscaleSourceTaxeFonciereId === 2015002;\r\n};\r\n\r\nconst isContratTypePrestationNotCertificatExpertise = function (contratTypePrestationId: number): boolean {\r\n return contratTypePrestationId !== ContratTypePrestation.CertificatExpertise;\r\n};\r\n\r\n//Renvois true si le prix est valorisé ou défini comme non obtenu\r\nconst isEtatJuridiquePrixOk = function (prixBien: number, IsInconnu: boolean): boolean {\r\n return prixBien > 0 || (IsInconnu && (prixBien === 0 || prixBien == null));\r\n};\r\n\r\nconst contratTypePrestationColorDefault = '#00ab9d';\r\nconst contratTypePrestationRapportExpertise = '#35a2eb';\r\nconst contratTypePrestationCertificatExpertise = contratTypePrestationColorDefault;\r\n\r\nconst contratTypePrestationColor = function (rapport: any) {\r\n if (!rapport) return contratTypePrestationColorDefault;\r\n return isContratTypePrestationNotCertificatExpertise(rapport.contratTypePrestationId)\r\n ? contratTypePrestationRapportExpertise\r\n : contratTypePrestationCertificatExpertise;\r\n};\r\n\r\nconst hasOptionFaciliteDeNegociationESFI = function (mission: MissionDto): boolean {\r\n return mission.hasOptionFaciliteDeNegociationESFI === true;\r\n};\r\n\r\nconst isRapportVersionGreaterOrEqualsTo = function (rapport: any, version: number): boolean {\r\n return rapport.version && rapport.version >= version;\r\n};\r\n\r\nconst isRapportVersionLowerOrEqualsTo = function (rapport: any, version: number): boolean {\r\n return rapport.version && rapport.version <= version;\r\n};\r\n\r\nconst areBusinessEntryRelationsValid = function (businessEntries: RapportExpertiseBusinessEntryRelationDto[]): boolean {\r\n return businessEntries.length && !businessEntries.some((x) => x.businessEntryQualificationId === null);\r\n};\r\n\r\nconst isBusinessEntryDPEValid = function (businessEntries: RapportExpertiseBusinessEntryRelationDto[]): boolean {\r\n const annexeDPE = businessEntries.find((x: any) => x.businessEntrySelectedId === BusinessEntryEnum.DPE);\r\n return (\r\n annexeDPE !== null &&\r\n (annexeDPE.businessEntryQualificationId === null || annexeDPE.businessEntryQualificationId === AnnexeStatutEnum.Obtenu)\r\n );\r\n};\r\n\r\nexport {\r\n isElementComparaisonTransaction,\r\n isElementComparaisonValorisation,\r\n isDistributionInterieureSurfaceTypeAutre,\r\n isDistributionInterieureEtageTypeAutre,\r\n isContratTypeVisiteInterieurEtExterieur,\r\n isContratTypeVisiteExterieur,\r\n isContratTypeVisiteSurPieces,\r\n contratTypePrestationColor,\r\n contratTypePrestationColorDefault,\r\n contratTypePrestationRapportExpertise,\r\n contratTypePrestationCertificatExpertise,\r\n isPrestationsSurfaceAnnexeTypeAutre,\r\n isEvaluationMethodeRetenueComparaison,\r\n isEvaluationMethodeRetenueComparaisonEtRendement,\r\n isEvaluationMethodeRetenueRendement,\r\n isPrestationsDependanceTypeAutre,\r\n isSourceDesSurfacesActeNotarie,\r\n isContratConditionOccupationOccupe,\r\n isFiscaleSourceTaxeFonciereDocumentConsulte,\r\n isContratTypePrestationNotCertificatExpertise,\r\n hasValeurApresTravaux,\r\n hasValeurLocative,\r\n hasOptionFaciliteDeNegociationESFI,\r\n isRapportVersionGreaterOrEqualsTo,\r\n isRapportVersionLowerOrEqualsTo,\r\n areBusinessEntryRelationsValid,\r\n isBusinessEntryDPEValid,\r\n isEtatJuridiquePrixOk,\r\n hasScenarioRenovation,\r\n};\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"captcha-component\"},[_c('vue-recaptcha',{ref:\"recaptcha\",attrs:{\"sitekey\":_vm.captchaApiKey,\"loadRecaptchaScript\":true},on:{\"verify\":_vm.onVerifyClick}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\r\nimport { Component, Vue } from 'vue-property-decorator';\r\nimport VueRecaptcha from 'vue-recaptcha';\r\n@Component({\r\n name: 'Captcha',\r\n components: {\r\n VueRecaptcha,\r\n },\r\n})\r\nexport default class Captcha extends Vue {\r\n public captchaApiKey: string = Vue.prototype.$config.recaptchaApiKey;\r\n\r\n //#region LIFE CYCLES\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n\r\n public onVerifyClick(response: string): void {\r\n this.$emit('outputCaptchaClick', response);\r\n }\r\n\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n public reset(): void {\r\n const captcha: any = this.$refs.recaptcha;\r\n if (captcha) captcha.reset();\r\n }\r\n //#endregion\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./captcha.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./captcha.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./captcha.vue?vue&type=template&id=e9c3ee8c&\"\nimport script from \"./captcha.vue?vue&type=script&lang=ts&\"\nexport * from \"./captcha.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./captcha.vue?vue&type=style&index=0&lang=scss&\"\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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Vue } from 'vue-property-decorator';\r\n\r\nimport BasicLayout from './layouts/basic.layout.vue';\r\nimport axios from 'axios';\r\nimport Spinner from 'vue-spinner-component/src/Spinner.vue';\r\nimport { required } from 'vuelidate/lib/validators';\r\nimport abp from 'abp-web-resources';\r\nimport { contratTypePrestationColorDefault } from '@/helpers/rapport-expertise.helper';\r\nimport Captcha from '@/components/captcha.vue';\r\nimport store from '@/shared/store';\r\n\r\n@Component({\r\n name: 'Login',\r\n components: {\r\n BasicLayout,\r\n Spinner,\r\n Captcha,\r\n },\r\n validations: {\r\n login: {\r\n userName: {\r\n required,\r\n },\r\n password: {\r\n required,\r\n },\r\n captchaResponse: {\r\n required,\r\n },\r\n },\r\n },\r\n})\r\nexport default class Login extends Vue {\r\n login = {\r\n userName: '',\r\n password: '',\r\n captchaResponse: '',\r\n };\r\n\r\n contratTypePrestationColorDefault = contratTypePrestationColorDefault;\r\n showPassword = false;\r\n isCaptchaEnabled = true;\r\n\r\n //#region LIFE CYCLES\r\n created() {\r\n if (!Vue.prototype.$isProduction || !Vue.prototype.$config.isCaptchaEnabled) {\r\n this.isCaptchaEnabled = false;\r\n this.login.captchaResponse = '04709b78-c0b7-41c6-a3c0-2023e8377ba2-disabled';\r\n }\r\n }\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n\r\n public onSubmit(event: any) {\r\n event.preventDefault();\r\n if (this.$v.login.$invalid) {\r\n this.$v.login.$touch();\r\n return;\r\n }\r\n\r\n this.$bvModal.show('modal-spinner');\r\n axios\r\n .post('api/TokenAuth/Authenticate', this.login, {\r\n baseURL: Vue.prototype.$config.baseUrlApi,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then((rep) => {\r\n this.$bvModal.hide('modal-spinner');\r\n\r\n var tokenExpireDate = new Date(new Date().getTime() + 1000 * rep.data.result.expireInSeconds);\r\n abp.auth.setToken(rep.data.result.accessToken, tokenExpireDate);\r\n abp.utils.setCookieValue('enc_auth_token', rep.data.result.encryptedAccessToken, tokenExpireDate, abp.appPath);\r\n\r\n localStorage.setItem('permissions', JSON.stringify(rep.data.result.permissions));\r\n localStorage.setItem('comeFromLoginPage', JSON.stringify(true));\r\n\r\n this.$router.push({ path: '/' });\r\n this.$router.go(0);\r\n })\r\n .catch(() => {\r\n this.$bvModal.hide('modal-spinner');\r\n const refCaptcha: any = this.$refs.captchaComponent;\r\n if (refCaptcha) {\r\n refCaptcha.reset();\r\n }\r\n });\r\n }\r\n\r\n onCaptchaClick(captchaResponse: any) {\r\n this.login.captchaResponse = captchaResponse;\r\n }\r\n onPasswordToggleClick() {\r\n this.showPassword = !this.showPassword;\r\n }\r\n\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n\r\n //#endregion\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./login.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./login.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./login.vue?vue&type=template&id=3324ebe3&\"\nimport script from \"./login.vue?vue&type=script&lang=ts&\"\nexport * from \"./login.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./login.vue?vue&type=style&index=0&lang=scss&\"\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('basic-layout',[_c('b-container',{staticClass:\"content\",attrs:{\"slot\":\"body\",\"fluid\":\"\"},slot:\"body\"},[_c('header-title'),_c('div',{staticClass:\"agenda-mobile-component\"},[_c('b-tabs',[_c('b-tab',{attrs:{\"title\":\"Planifié\",\"active\":\"\"}},[(_vm.missionsPerDay && _vm.missionsPerDay.length)?_c('div',{directives:[{name:\"hammer\",rawName:\"v-hammer:swipe\",value:(_vm.onSwipe),expression:\"onSwipe\",arg:\"swipe\"}],staticClass:\"agenda-mobile-component-tab-planifie\"},[_c('div',{staticClass:\"agenda-mobile-component-calendar\"},[_c('b-row',{staticClass:\"agenda-mobile-component-calendar-month\"},[_vm._v(\" \"+_vm._s(_vm._f(\"moment\")(_vm.currentDate,'MMMM')))]),_c('b-row',[_c('b-col',{attrs:{\"cols\":\"2\"}},[_c('button',{staticClass:\"agenda-mobile-component-calendar-button\",attrs:{\"title\":\"Précedent\"},on:{\"click\":function($event){return _vm.onLastWeekClick()}}},[_c('font-awesome-icon',{attrs:{\"icon\":\"angle-left\",\"aria-hidden\":\"true\"}})],1)]),_vm._l((_vm.missionsPerDay),function(item,index){return _c('b-col',{key:index,staticClass:\"agenda-mobile-component-calendar-day\"},[_c('button',{class:{\n 'agenda-mobile-component-calendar-button-day': true,\n active: item.day.isSame(_vm.currentDate, 'date'),\n today: item.day.isSame(_vm.today, 'date'),\n },on:{\"click\":function($event){return _vm.onDayClick(item)}}},[_c('span',[_vm._v(_vm._s(_vm._f(\"moment\")(item.day,'ddd')))]),_c('span',[_vm._v(_vm._s(_vm._f(\"moment\")(item.day,'D')))])])])}),_c('b-col',{attrs:{\"cols\":\"2\"}},[_c('button',{staticClass:\"agenda-mobile-component-calendar-button\",attrs:{\"title\":\"Suivant\"},on:{\"click\":function($event){return _vm.onNextWeekClick()}}},[_c('font-awesome-icon',{attrs:{\"icon\":\"angle-right\",\"aria-hidden\":\"true\"}})],1)])],2)],1),(_vm.selectedMissionsPerDay && _vm.selectedMissionsPerDay.missions && _vm.selectedMissionsPerDay.missions.length > 0)?_c('div',{staticClass:\"agenda-mobile-component-missions\"},[_c('div',{attrs:{\"id\":\"missions\"}},_vm._l((_vm.selectedMissionsPerDay.missions),function(mission,index){return _c('card-mission',{key:index,attrs:{\"mission\":mission,\"showTime\":true,\"lastMission\":_vm.selectedMissionsPerDay.missions[index - 1]}})}),1)]):_vm._e(),(!_vm.selectedMissionsPerDay || !_vm.selectedMissionsPerDay.missions || _vm.selectedMissionsPerDay.missions.length === 0)?_c('div',{staticClass:\"no-data\"},[_vm._v(\" Aucune mission n'est prévue ce jour \")]):_vm._e()]):_vm._e(),(!_vm.missionsPerDay || _vm.missionsPerDay.length === 0)?_c('div',{staticClass:\"no-data\"},[_vm._v(\"Aucune mission n'est planifiée\")]):_vm._e()]),_c('b-tab',{attrs:{\"title\":\"RDVs à prendre\"}},[(_vm.missionsAPlanifier.length > 0)?_c('div',{staticClass:\"agenda-mobile-component-missions\"},[(_vm.missionsHorsDelaisEtContactPris)?_c('div',{staticClass:\"mt-3\"},[_c('p',{staticClass:\"agenda-mobile-component-missions-title\"},[_vm._v(\"Hors délais et contact pris\")]),_vm._l((_vm.missionsHorsDelaisEtContactPris),function(mission,index){return _c('div',{key:index,on:{\"click\":function($event){return _vm.onCardMissionClick(mission.id)}}},[_c('card-mission',{attrs:{\"mission\":mission,\"showTime\":false}})],1)})],2):_vm._e(),(_vm.missionsHorsDelais)?_c('div',[_c('p',{staticClass:\"agenda-mobile-component-missions-title\"},[_vm._v(\"Hors délais\")]),_vm._l((_vm.missionsHorsDelais),function(mission,index){return _c('div',{key:index,on:{\"click\":function($event){return _vm.onCardMissionClick(mission.id)}}},[_c('card-mission',{attrs:{\"mission\":mission,\"showTime\":false}})],1)})],2):_vm._e(),(_vm.missionsDelaiOK)?_c('div',[_c('p',{staticClass:\"agenda-mobile-component-missions-title\"},[_vm._v(\"Délai OK\")]),_vm._l((_vm.missionsDelaiOK),function(mission,index){return _c('div',{key:index,on:{\"click\":function($event){return _vm.onCardMissionClick(mission.id)}}},[_c('card-mission',{attrs:{\"mission\":mission,\"showTime\":false}})],1)})],2):_vm._e(),(_vm.missionsDuJour)?_c('div',[_c('p',{staticClass:\"agenda-mobile-component-missions-title\"},[_vm._v(\"Nouveau aujourd'hui\")]),_vm._l((_vm.missionsDuJour),function(mission,index){return _c('div',{key:index,on:{\"click\":function($event){return _vm.onCardMissionClick(mission.id)}}},[_c('card-mission',{attrs:{\"mission\":mission,\"showTime\":false}})],1)})],2):_vm._e()]):_vm._e(),(!_vm.missionsAPlanifier || _vm.missionsAPlanifier.length === 0)?_c('div',{staticClass:\"no-data\"},[_vm._v(\"Aucune mission n'est à planifier\")]):_vm._e()])],1),_c('div',{attrs:{\"id\":\"button-synchro-wrapper\"}},[_c('b-button',{attrs:{\"variant\":\"info\"},on:{\"click\":_vm.onPullButtonClick}},[_c('font-awesome-icon',{attrs:{\"icon\":\"cloud-download-alt\",\"fixed-width\":\"\"}}),_vm._v(\" \"+_vm._s(_vm.lastPullDate))],1),_c('b-button',{attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.onPushMissionsButtonClick}},[_c('font-awesome-icon',{attrs:{\"icon\":\"cloud-upload-alt\",\"fixed-width\":\"\"}})],1)],1),_c('agenda-modals'),_c('b-modal',{attrs:{\"id\":\"modal-push-missions\",\"hide-footer\":\"\",\"hide-header\":\"\",\"hide-header-close\":\"\",\"size\":\"xl\",\"centered\":\"\",\"no-close-on-esc\":\"\",\"no-close-on-backdrop\":\"\"}},[_c('prestation-expertise-push',{on:{\"onClose\":_vm.onModalPushMissionsClose}})],1)],1)],1)],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:\"header-title-component\"},[_c('h1',{staticClass:\"header-title-component-title\"},[_vm._v(_vm._s(_vm.title))]),_vm._t(\"template\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\n@Component({\r\n name: 'HeaderTitle',\r\n})\r\nexport default class HeaderTitle extends Vue {\r\n @Prop() public title: string;\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./header-title.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./header-title.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./header-title.vue?vue&type=template&id=ba83c53a&scoped=true&\"\nimport script from \"./header-title.vue?vue&type=script&lang=ts&\"\nexport * from \"./header-title.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./header-title.vue?vue&type=style&index=0&id=ba83c53a&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 \"ba83c53a\",\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:\"card-mission-component\"},[(_vm.showTime && _vm.timeBetweenTwoVisites)?_c('p',{staticClass:\"card-mission-component-title\"},[_vm._v(\" \"+_vm._s(_vm.timeBetweenTwoVisites)+\" \")]):_vm._e(),_c('b-row',{class:'card-mission-component-body card-mission-component-' + _vm.mission.typePrestationExpertiseShort.toLowerCase(),attrs:{\"role\":\"button\",\"tabindex\":\"0\"},on:{\"click\":function($event){return _vm.onDisplayPrestationExpertiseClick()}}},[_c('b-col',[(_vm.mission.etape === _vm.etapeMissionEnum.ExpertiseCompleteAViser)?_c('div',{staticClass:\"card-mission-component-body-en-controle\"},[_vm._v(\" En contrôle \")]):_vm._e(),_c('b-row',{staticClass:\"card-mission-component-body-time\"},[_vm._v(_vm._s(_vm._f(\"moment\")(_vm.mission.dateVisite,'HH[h]mm')))]),_c('b-row',{staticClass:\"card-mission-component-body-emprunteur\"},[(_vm.mission.emprunteur && _vm.mission.emprunteur.trim())?_c('span',[_vm._v(_vm._s(_vm.mission.emprunteur))]):(_vm.mission.typePrestationExpertiseShort === 'EDM')?_c('span',[_vm._v(_vm._s(_vm.mission.societeNom))]):_vm._e()]),_c('b-row',{staticClass:\"mt-2\"},[_c('span',[_vm._v(_vm._s(_vm.mission.reference))])]),_c('b-row',[_c('span',[(_vm.mission.bien.typeBien == 0)?_c('font-awesome-icon',{attrs:{\"icon\":\"exclamation-triangle\"}}):_vm._e(),_vm._v(\" \"+_vm._s(_vm.mission.bien.typeBienLibelle))],1),(_vm.natureVisiteLibelle)?_c('span',{staticClass:\"ml-1\"},[_vm._v(\"- \"+_vm._s(_vm.natureVisiteLibelle)+\" \")]):_vm._e()]),_c('b-row',{staticClass:\"mt-2\"},[_vm._v(_vm._s(_vm.mission.bien.adresse)+\" \")]),_c('b-row',[_vm._v(_vm._s(_vm.mission.bien.codePostal)+\" \"+_vm._s(_vm.mission.bien.ville)+\" \")]),(_vm.hasMissionCompleted)?_c('b-row',{staticClass:\"card-mission-component-body-mission-badge\"},[_c('p',[_vm._v(\"Terminée \"),_c('font-awesome-icon',{attrs:{\"icon\":\"check\",\"aria-hidden\":\"true\"}})],1)]):_vm._e(),(_vm.hasEmailsCommandes)?_c('b-row',{staticClass:\"card-mission-component-body-mission-badge\"},[_c('p',[_vm._v(\"Message envoyé \"),_c('font-awesome-icon',{attrs:{\"icon\":\"envelope\",\"aria-hidden\":\"true\"}})],1)]):_vm._e()],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { MissionDto } from '@/shared/dtos/mission.dto';\r\nimport { EtapeMissionEnum } from '@/shared/enums/etape-mission.enum';\r\nimport { getNatureVisiteEnumName } from '@/shared/utilities/enums.utility';\r\nimport moment from 'moment';\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\n\r\n@Component({\r\n name: 'CardMission',\r\n})\r\nexport default class CardMission extends Vue {\r\n @Prop() public mission: MissionDto;\r\n @Prop() public showTime: boolean;\r\n @Prop() public lastMission: MissionDto;\r\n\r\n public etapeMissionEnum = EtapeMissionEnum;\r\n\r\n //#region LIFE CYCLES\r\n //#endregion\r\n\r\n //#region COMPUTED\r\n\r\n get natureVisiteLibelle() {\r\n return getNatureVisiteEnumName(this.mission.natureVisite);\r\n }\r\n\r\n get timeBetweenTwoVisites() {\r\n if (this.lastMission === undefined) return null;\r\n\r\n // 30 minutes = 1800000 ms, la visite dure 30 minutes\r\n var lastDateVisite = moment(this.lastMission.dateVisite).utc().valueOf() + 1800000;\r\n var nextDateVisite = moment(this.mission.dateVisite).utc().valueOf();\r\n\r\n var timeBetweenTwoVisites = nextDateVisite - lastDateVisite;\r\n\r\n return moment(timeBetweenTwoVisites).utc().format('HH[h]mm');\r\n }\r\n\r\n get hasMissionCompleted() {\r\n return this.mission.etape === EtapeMissionEnum.ExpertiseVerrouillee || this.mission.etape === EtapeMissionEnum.Validee;\r\n }\r\n\r\n get hasEmailsCommandes() {\r\n return this.mission.dateVisite === null && this.mission.emailsCommandes.length > 0;\r\n }\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n public onDisplayPrestationExpertiseClick(): void {\r\n this.$router.push({ path: `/missions/${this.mission.id}/${this.mission.typePrestationExpertiseString}`, replace: true });\r\n }\r\n\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n //#endregion\r\n}\r\n","export enum HistoryStatusEnum {\r\n UP_TO_DATE,\r\n OLD,\r\n CONFLICT,\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./card-mission.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./card-mission.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./card-mission.vue?vue&type=template&id=5f8f2ad0&scoped=true&\"\nimport script from \"./card-mission.vue?vue&type=script&lang=ts&\"\nexport * from \"./card-mission.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./card-mission.vue?vue&type=style&index=0&id=5f8f2ad0&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 \"5f8f2ad0\",\n null\n \n)\n\nexport default component.exports","import { isEqual } from 'lodash';\r\nimport moment from 'moment';\r\n\r\nexport function getOnlyDate(dateString: string | Date | number) {\r\n const dateParsed = new Date(dateString);\r\n\r\n return new Date(dateParsed.getFullYear(), dateParsed.getMonth(), dateParsed.getDate(), 0, 0, 0, 0);\r\n}\r\n\r\nexport function getJoursOuvres(date1: Date, date2: Date, joursFeries: string[]) {\r\n // Le calcul doit commencer le lendemain\r\n const startDate = getOnlyDate(date1);\r\n const endDate = getOnlyDate(date2);\r\n\r\n if (isEqual(startDate, endDate)) return 0;\r\n\r\n let count = 1;\r\n const currDate = startDate;\r\n currDate.setDate(startDate.getDate() + 1);\r\n\r\n while (currDate < endDate) {\r\n const dayOfWeek = currDate.getDay();\r\n\r\n // 0 = sunday, 6 = saturday\r\n if (dayOfWeek !== 0 && dayOfWeek !== 6) {\r\n const currDateFormatted = moment(currDate).format('YYYY-MM-DD');\r\n\r\n if (!joursFeries.includes(currDateFormatted)) {\r\n count++;\r\n }\r\n }\r\n\r\n currDate.setDate(currDate.getDate() + 1);\r\n }\r\n\r\n return count;\r\n}\r\n","/* eslint-disable no-console */\r\nimport { Component, Mixins, Vue } from 'vue-property-decorator';\r\nimport DeviceMixin from '@/mixins/device.mixin';\r\nimport store from '@/shared/store';\r\nimport moment from 'moment';\r\nimport { orderBy } from 'lodash';\r\nimport { MissionDto } from '@/shared/dtos/mission.dto';\r\nimport { EtapeMissionEnum } from '@/shared/enums/etape-mission.enum';\r\nimport { PrestationExpertisePieceJointeDto } from '@/shared/dtos/prestation-expertise/prestation-expertise-piece-jointe.dto';\r\nimport _ from 'lodash';\r\nimport { getJoursOuvres } from '@/shared/utilities/date.utility';\r\nimport axios from 'axios';\r\n\r\n@Component({})\r\nexport default class Agenda extends Mixins(DeviceMixin) {\r\n public missionsPlanifiees: MissionDto[] = [];\r\n public missionsAPlanifier: MissionDto[] = [];\r\n public missionsDuJour: MissionDto[] = [];\r\n public missionsDelaiOK: MissionDto[] = [];\r\n public missionsHorsDelais: MissionDto[] = [];\r\n public missionsHorsDelaisEtContactPris: MissionDto[] = [];\r\n public lastPullDate: string = null;\r\n public isLoading: boolean = false;\r\n public targetedMissionId: number;\r\n\r\n //#region LIFE CYCLES\r\n public async beforeMount(): Promise {\r\n const missions: MissionDto[] = await Vue.prototype.$missionStoreService.getAll();\r\n\r\n this.setMissionsPlanifiees(missions);\r\n await this.setMissionsAPlanifier(missions);\r\n\r\n const lastPullDate = Vue.prototype.$localStorageService.getLastPullDate();\r\n if (lastPullDate) {\r\n this.lastPullDate = moment(lastPullDate).calendar();\r\n }\r\n }\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n public onCardMissionClick(missionId: number) {\r\n this.targetedMissionId = missionId;\r\n }\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n protected setMissionsPlanifiees(missions: MissionDto[]) {\r\n if (missions && missions.length) {\r\n const missionsPlanifies = missions.filter((mission: MissionDto) => mission !== null && mission.dateVisite !== null);\r\n\r\n this.missionsPlanifiees = orderBy(missionsPlanifies, (mission: MissionDto) => mission.dateVisite, 'asc');\r\n }\r\n }\r\n\r\n protected async setMissionsAPlanifier(missions: MissionDto[]) {\r\n if (missions && missions.length) {\r\n const missionsAPlanifier = missions.filter((mission: MissionDto) => mission !== null && mission.dateVisite === null);\r\n this.missionsAPlanifier = [];\r\n this.missionsAPlanifier = orderBy(missionsAPlanifier, (mission: MissionDto) => mission.reference, 'asc');\r\n await this.trierMissionsAPlanifier();\r\n }\r\n }\r\n\r\n protected async trierMissionsAPlanifier() {\r\n this.missionsDuJour = [];\r\n this.missionsDelaiOK = [];\r\n this.missionsHorsDelais = [];\r\n this.missionsHorsDelaisEtContactPris = [];\r\n\r\n let joursFeries: string[] = [];\r\n await axios\r\n .all([\r\n Vue.prototype.$jourFiereService.getAll().then((json: any) => {\r\n return json;\r\n }),\r\n ])\r\n .then((result) => {\r\n joursFeries = result[0];\r\n });\r\n\r\n this.missionsAPlanifier.forEach(async (item) => {\r\n const days = getJoursOuvres(item.commande.dateCommande, new Date(), joursFeries); // <= 3;\r\n\r\n if (days == 0) {\r\n this.missionsDuJour.push(item);\r\n } else {\r\n // 72 heures == 3 jours\r\n if (days <= 3) {\r\n this.missionsDelaiOK.push(item);\r\n } else {\r\n if (item.emailsCommandes.length > 0) {\r\n this.missionsHorsDelaisEtContactPris.push(item);\r\n } else {\r\n this.missionsHorsDelais.push(item);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n protected async getDonneesTechniques(): Promise {\r\n await Vue.prototype.$logStoreService.info('Synchronisation des données techniques depuis le serveur - START', 'Synchro');\r\n\r\n this.$bvModal.show('modal-pull-donnees-techniques');\r\n this.isLoading = true;\r\n\r\n await Vue.prototype.$synchronizationService.getDonneesTechniques().finally(() => {\r\n this.$bvModal.hide('modal-pull-donnees-techniques');\r\n this.isLoading = false;\r\n });\r\n }\r\n\r\n protected async getDonneesAgenda(): Promise {\r\n const logMessage = `Synchronisation des données de l'agenda depuis le serveur`;\r\n await Vue.prototype.$logStoreService.info(`${logMessage} - START`, 'Synchro');\r\n\r\n this.$bvModal.show('modal-pull-donnees-agenda');\r\n this.isLoading = true;\r\n\r\n const storedMissions: MissionDto[] = await Vue.prototype.$missionStoreService.getAll();\r\n\r\n // To compare to server in order to not get all prestationsExpertises if already up to date\r\n let datesModificationsPrestationsExpertisesAndMissionsIds = storedMissions.map((storedMission: MissionDto) => {\r\n if (\r\n storedMission.prestationExpertise &&\r\n storedMission.prestationExpertise.dateModificationUtc &&\r\n storedMission.prestationExpertise.dateModificationUtc.toString() !== '0001-01-01T00:00:00+00:00'\r\n ) {\r\n return {\r\n missionId: storedMission.id,\r\n dateUtc: storedMission.prestationExpertise.dateModificationUtc,\r\n };\r\n }\r\n });\r\n\r\n datesModificationsPrestationsExpertisesAndMissionsIds = datesModificationsPrestationsExpertisesAndMissionsIds.filter(\r\n (dateModificationUtcPrestationExpertise: any) => dateModificationUtcPrestationExpertise\r\n );\r\n\r\n await Vue.prototype.$missionApiService\r\n .getByOmereContactId(store.user.omereContactId, datesModificationsPrestationsExpertisesAndMissionsIds)\r\n .then(async (missions: MissionDto[]) => {\r\n // Save all Missions into LocalStorage\r\n await this.saveMissionsToStorage(missions);\r\n\r\n await Vue.prototype.$logStoreService.info(`${logMessage} - END`, 'Agenda');\r\n\r\n missions = await Vue.prototype.$missionStoreService.getAll();\r\n this.setMissionsPlanifiees(missions);\r\n this.setMissionsAPlanifier(missions);\r\n\r\n await Vue.prototype.$logStoreService.info(\"Sauvegarde des missions affectées dans l'IndexedDB\", 'Agenda');\r\n\r\n // Set last refresh date in localstorage\r\n const lastPullDate = moment();\r\n this.lastPullDate = lastPullDate.calendar();\r\n\r\n Vue.prototype.$localStorageService.setLastPullDate(lastPullDate);\r\n await Vue.prototype.$logStoreService.info('Sauvegarde de la dernière date de synchronisation dans le LocalStorage', 'Agenda');\r\n })\r\n .catch(async (error: any) => {\r\n await Vue.prototype.$logStoreService.error(`${logMessage} - ERROR`, error, 'Agenda');\r\n })\r\n .finally(() => {\r\n this.$bvModal.hide('modal-pull-donnees-agenda');\r\n this.isLoading = false;\r\n });\r\n }\r\n\r\n private async saveMissionsToStorage(missionsToStore: MissionDto[]): Promise {\r\n // Set missionsToStore as already saved to avoid these missions to be push while the're new and just pulled\r\n missionsToStore.forEach((missionToStore: MissionDto, index: number) => {\r\n if (missionToStore.prestationExpertise) {\r\n missionToStore.prestationExpertise.dateDeSauvegardeUtc = missionToStore.prestationExpertise.dateModificationUtc;\r\n }\r\n });\r\n\r\n // Get all the stored Missions\r\n let storedMissions: MissionDto[] = await Vue.prototype.$missionStoreService.getAll();\r\n\r\n let storedMissionsToDelete: MissionDto[] = [];\r\n\r\n if (storedMissions && storedMissions.length) {\r\n // Delete missions wich doesn't exists anymore. What come from the server represent all of existing missions\r\n storedMissionsToDelete = storedMissions.filter(\r\n (storedMission: MissionDto) => !missionsToStore.map((missionToStore: MissionDto) => missionToStore.id).includes(storedMission.id)\r\n );\r\n\r\n storedMissions = storedMissions.filter((storedMission: MissionDto) =>\r\n missionsToStore.map((missionToStore: MissionDto) => missionToStore.id).includes(storedMission.id)\r\n );\r\n\r\n // Add new missions to stored mission if they doesn't exists or if they are more recent\r\n missionsToStore.forEach((missionToStore: MissionDto, index: number) => {\r\n // If the mission to store has etape === EtapeMissionEnum.AttribueeALExpert, it has a prestationExpertise and it need to be compared with an eventually stored prestationExpertise\r\n if (missionToStore.etape === EtapeMissionEnum.AttribueeALExpert) {\r\n const storedExistingMission = storedMissions.find(\r\n (storedMissionAffectee: MissionDto) => missionToStore.id === storedMissionAffectee.id\r\n );\r\n\r\n // If we locally have the prestationExpertise\r\n if (storedExistingMission) {\r\n if (missionToStore.prestationExpertise && storedExistingMission.prestationExpertise) {\r\n // If the prestationsExpertises to compare have a dateModificationUtc\r\n if (\r\n missionToStore.prestationExpertise.dateModificationUtc &&\r\n storedExistingMission.prestationExpertise.dateModificationUtc &&\r\n missionToStore.prestationExpertise.dateModificationUtc.toString() !== '0001-01-01T00:00:00+00:00' &&\r\n storedExistingMission.prestationExpertise.dateModificationUtc.toString() !== '0001-01-01T00:00:00+00:00'\r\n ) {\r\n // If the local based prestationExpertise is more recent than the one wich come from the server, keep it\r\n if (\r\n moment(storedExistingMission.prestationExpertise.dateModificationUtc).valueOf() >\r\n moment(missionToStore.prestationExpertise.dateModificationUtc).valueOf()\r\n ) {\r\n missionsToStore[index].prestationExpertise = storedExistingMission.prestationExpertise;\r\n missionsToStore[index].prestationExpertise.dateDeSauvegardeUtc =\r\n missionsToStore[index].prestationExpertise.dateModificationUtc;\r\n } else {\r\n // Case of piecesJointes. If we locally have the prestationExpertise, and this one have piecesJointes, they are stored in base64 format, so we need to keep this format instead of url because we're working disconnected\r\n // However we store there other properties\r\n for (let sectionPieceJointe in missionToStore.prestationExpertise.piecesJointes) {\r\n const missionToStorePiecesJointes = missionToStore.prestationExpertise.piecesJointes[sectionPieceJointe];\r\n const storedExistingMissionPiecesJointes = storedExistingMission.prestationExpertise.piecesJointes[sectionPieceJointe];\r\n\r\n if (\r\n missionToStorePiecesJointes &&\r\n storedExistingMissionPiecesJointes &&\r\n missionToStorePiecesJointes.length &&\r\n storedExistingMissionPiecesJointes.length\r\n ) {\r\n for (const missionToStorePieceJointe of missionToStorePiecesJointes) {\r\n const storedExistingMissionPieceJointe = storedExistingMissionPiecesJointes.find(\r\n (pieceJointe: PrestationExpertisePieceJointeDto) => pieceJointe.id === missionToStorePieceJointe.id\r\n );\r\n\r\n if (storedExistingMissionPieceJointe) {\r\n missionToStorePieceJointe.content = storedExistingMissionPieceJointe.content;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n } else if (!missionToStore.prestationExpertise && storedExistingMission.prestationExpertise) {\r\n missionsToStore[index].prestationExpertise = storedExistingMission.prestationExpertise;\r\n }\r\n\r\n if (new Date(missionToStore.dateModification) < new Date(storedExistingMission.dateModification)) {\r\n const tempPrestationExpertise = missionsToStore[index].prestationExpertise;\r\n\r\n missionsToStore[index] = storedExistingMission;\r\n missionsToStore[index].prestationExpertise = tempPrestationExpertise;\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n // Update local storage\r\n // This condition to prevent cleanning IDB when opening a PrestationExpertise wich need IDB (click on tile)\r\n if (this.targetedMissionId === undefined) {\r\n for (let storedMissionToDelete of storedMissionsToDelete) {\r\n await Vue.prototype.$missionStoreService.deleteByPropertyAndValue('id', storedMissionToDelete.id);\r\n }\r\n\r\n await Vue.prototype.$missionStoreService.addBulk(missionsToStore);\r\n }\r\n }\r\n\r\n //#endregion\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"agenda-modals-component\"},[_c('b-modal',{attrs:{\"id\":\"modal-pull-donnees-techniques\",\"hide-footer\":\"\",\"hide-header\":\"\",\"hide-header-close\":\"\",\"size\":\"sm\",\"centered\":\"\",\"no-close-on-esc\":\"\",\"no-close-on-backdrop\":\"\"}},[_c('div',{staticClass:\"d-block text-center\"},[_c('spinner',{staticClass:\"m-auto mt-3\",attrs:{\"color\":\"#00ab9d\",\"size\":75,\"depth\":5}}),_c('p',{staticClass:\"mt-3\"},[_vm._v(\"Récupération des données techniques\")])],1)]),_c('b-modal',{attrs:{\"id\":\"modal-pull-donnees-agenda\",\"hide-footer\":\"\",\"hide-header\":\"\",\"hide-header-close\":\"\",\"size\":\"sm\",\"centered\":\"\",\"no-close-on-esc\":\"\",\"no-close-on-backdrop\":\"\"}},[_c('div',{staticClass:\"d-block text-center\"},[_c('spinner',{staticClass:\"m-auto mt-3\",attrs:{\"color\":\"#00ab9d\",\"size\":75,\"depth\":5}}),_c('p',{staticClass:\"mt-3\"},[_vm._v(\"Chargement de l'agenda... Merci de laisser l'application ouverte\")])],1)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\n/* eslint-disable no-console */\r\nimport { Component, Vue } from 'vue-property-decorator';\r\nimport Spinner from 'vue-spinner-component/src/Spinner.vue';\r\n\r\n@Component({\r\n name: 'AgendaModals',\r\n components: {\r\n Spinner,\r\n },\r\n})\r\nexport default class AgendaModals extends Vue {}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./agenda-modals.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./agenda-modals.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./agenda-modals.vue?vue&type=template&id=fc1a98e4&\"\nimport script from \"./agenda-modals.vue?vue&type=script&lang=ts&\"\nexport * from \"./agenda-modals.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"prestation-expertise-push-component\"},[(_vm.missionsStatusToPush && _vm.missionsStatusToPush.length)?_c('div',{staticClass:\"prestation-expertise-push-component-items\",class:_vm.isBrowser ? 'desktop' : ''},_vm._l((_vm.missionsStatusToPush),function(missionStatusToPush){return _c('div',{key:missionStatusToPush.reference,staticClass:\"prestation-expertise-push-component-items-item\"},[_c('div',{staticClass:\"prestation-expertise-push-component-items-item-status\"},[(missionStatusToPush.isStatusValid === null)?_c('spinner',{staticClass:\"m-auto\",attrs:{\"color\":\"white\",\"size\":20,\"depth\":2}}):_vm._e(),(missionStatusToPush.isStatusValid !== null)?_c('span',{class:{\n 'text-warning': !missionStatusToPush.isStatusValid,\n 'text-success': missionStatusToPush.isStatusValid,\n }},[_c('font-awesome-icon',{staticClass:\"fa-lg\",attrs:{\"icon\":missionStatusToPush.isStatusValid ? 'check-circle' : 'times',\"fixed-width\":\"\"}})],1):_vm._e()],1),_c('div',{staticClass:\"prestation-expertise-push-component-items-item-content\"},[_c('div',[_vm._v(_vm._s(missionStatusToPush.reference))]),_c('div',[_vm._v(_vm._s(missionStatusToPush.emprunteur))])])])}),0):_vm._e(),(!_vm.missionsStatusToPush || !_vm.missionsStatusToPush.length)?_c('div',{staticClass:\"text-center\"},[_vm._v(\"Aucun rapport à envoyer\")]):_vm._e(),(_vm.missionsStatusToPush && !_vm.isPushProcessTerminated)?_c('div',{staticClass:\"prestation-expertise-push-component-status-loader prestation-expertise-push-component-status\"},[_c('spinner',{staticClass:\"m-auto\",attrs:{\"color\":\"white\",\"size\":75,\"depth\":5}}),_c('div',{staticClass:\"prestation-expertise-push-component-status-title\"},[_vm._v(\"Envoi des données\")]),_c('div',[_vm._v(\"Laissez cette page ouverte pour permettre l'envoi des données.\")])],1):_vm._e(),(!_vm.missionsStatusToPush || (_vm.isPushProcessTerminated && !_vm.hasErrorOccuredDuringPushProcess))?_c('div',{staticClass:\"prestation-expertise-push-component-status-empty prestation-expertise-push-component-status\"},[_c('font-awesome-icon',{staticClass:\"icon\",attrs:{\"icon\":\"thumbs-up\",\"fixed-width\":\"\"}}),_c('div',{staticClass:\"prestation-expertise-push-component-status-title\"},[_vm._v(\"Vous avez tout envoyé !\")]),_c('b-button',{staticClass:\"btn btn-light\",on:{\"click\":_vm.onCloseButtonClick}},[_vm._v(\"Fermer\")])],1):_vm._e(),(_vm.missionsStatusToPush && _vm.hasErrorOccuredDuringPushProcess && _vm.isPushProcessTerminated && _vm.nbPushedMissions)?_c('div',{staticClass:\"prestation-expertise-push-component-status-partial prestation-expertise-push-component-status\"},[_c('font-awesome-icon',{staticClass:\"icon\",attrs:{\"icon\":\"times\",\"fixed-width\":\"\"}}),_c('div',{staticClass:\"prestation-expertise-push-component-status-title\"},[_vm._v(\"Envoi partiel...\")]),_c('b-button',{attrs:{\"variant\":\"outline-dark\"},on:{\"click\":_vm.onRetryButtonClick}},[_vm._v(\"Rééssayer\")]),_c('b-button',{staticClass:\"btn btn-light\",on:{\"click\":_vm.onCloseButtonClick}},[_vm._v(\"Fermer\")])],1):_vm._e(),(_vm.missionsStatusToPush && _vm.hasErrorOccuredDuringPushProcess && _vm.isPushProcessTerminated && !_vm.nbPushedMissions)?_c('div',{staticClass:\"prestation-expertise-push-component-status-error prestation-expertise-push-component-status\"},[_c('font-awesome-icon',{staticClass:\"icon\",attrs:{\"icon\":\"times\",\"fixed-width\":\"\"}}),_c('div',{staticClass:\"prestation-expertise-push-component-status-title\"},[_vm._v(\"Echec du traitement...\")]),_c('b-button',{attrs:{\"variant\":\"outline-dark\"},on:{\"click\":_vm.onRetryButtonClick}},[_vm._v(\"Rééssayer\")]),_c('b-button',{staticClass:\"btn btn-light\",on:{\"click\":_vm.onCloseButtonClick}},[_vm._v(\"Fermer\")])],1):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Mixins, Prop, Vue } from 'vue-property-decorator';\r\nimport DeviceMixin from '@/mixins/device.mixin';\r\nimport { MissionDto } from '@/shared/dtos/mission.dto';\r\nimport Spinner from 'vue-spinner-component/src/Spinner.vue';\r\nimport _ from 'lodash';\r\n\r\n@Component({\r\n name: 'PrestationExpertisePush',\r\n components: { Spinner },\r\n})\r\nexport default class PrestationExpertisePush extends Mixins(DeviceMixin) {\r\n public missionsStatusToPush: any[] = [];\r\n public isPushProcessTerminated = true;\r\n public hasErrorOccuredDuringPushProcess = false;\r\n public nbPushedMissions: number;\r\n\r\n @Prop() public missionId: number;\r\n\r\n //#region LIFE CYCLES\r\n public async beforeMount(): Promise {\r\n await this.init();\r\n }\r\n\r\n //#endregion\r\n\r\n //#region COMPUTED\r\n //#endregion\r\n\r\n //#region WATCH\r\n //#endregion\r\n\r\n //#region EVENTS\r\n public onCloseButtonClick(): void {\r\n this.$emit('onClose');\r\n }\r\n\r\n public async onRetryButtonClick(): Promise {\r\n await this.init();\r\n }\r\n\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n public async init(): Promise {\r\n // Get stored missions to push\r\n const missionsToPush: MissionDto[] = await Vue.prototype.$missionStoreService.getToPush();\r\n\r\n if (missionsToPush && missionsToPush.length) {\r\n await Vue.prototype.$logStoreService.info(`UPDATE missions - START`, 'PrestationExpertisePush');\r\n\r\n // Create missionsStatusToPush to display\r\n this.missionsStatusToPush = missionsToPush.map((missionToPush: MissionDto) => {\r\n return { isStatusValid: null, reference: missionToPush.reference, emprunteur: missionToPush.emprunteur } as MissionStatusToPush;\r\n });\r\n\r\n this.isPushProcessTerminated = false;\r\n this.nbPushedMissions = 0;\r\n\r\n // For each missions to push\r\n for (let missionToPush of missionsToPush) {\r\n const missionStatusToPush = this.missionsStatusToPush.find(\r\n (mission: MissionStatusToPush) => mission.reference === missionToPush.reference\r\n );\r\n\r\n // Send mission.prestationExpertise datas\r\n const hasErrorOccured = await Vue.prototype.$synchronizationService.updateMission(missionToPush);\r\n\r\n this.hasErrorOccuredDuringPushProcess = hasErrorOccured;\r\n // Set the current mission to push status\r\n missionStatusToPush.isStatusValid = !hasErrorOccured;\r\n\r\n if (!hasErrorOccured) this.nbPushedMissions++;\r\n\r\n if (this.nbPushedMissions > 4) {\r\n document.querySelector('.prestation-expertise-push-component-items').scrollTo({\r\n top: (this.nbPushedMissions - 4) * 56, // Height = 50px + margin = 16px\r\n left: 0,\r\n });\r\n }\r\n }\r\n\r\n await Vue.prototype.$logStoreService.info(`UPDATE missions - END`, 'PrestationExpertisePush');\r\n\r\n this.isPushProcessTerminated = true;\r\n }\r\n\r\n //#endregion\r\n }\r\n}\r\n\r\ninterface MissionStatusToPush {\r\n isStatusValid?: boolean;\r\n reference: string;\r\n emprunteur: string;\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-push.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-push.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./prestation-expertise-push.vue?vue&type=template&id=352a91f6&scoped=true&\"\nimport script from \"./prestation-expertise-push.vue?vue&type=script&lang=ts&\"\nexport * from \"./prestation-expertise-push.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./prestation-expertise-push.vue?vue&type=style&index=0&id=352a91f6&scoped=true&lang=scss&\"\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 \"352a91f6\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Vue, Watch } from 'vue-property-decorator';\r\nimport BasicLayout from '@/views/layouts/basic.layout.vue';\r\nimport HeaderTitle from '@/shared/components/header-title.vue';\r\nimport CardMission from '@/components/card-mission.vue';\r\nimport moment from 'moment';\r\nimport { VueHammer } from 'vue2-hammer';\r\nimport { MissionsPerDay } from '@/shared/models/missions-per-day';\r\nimport { MissionDto } from '@/shared/dtos/mission.dto';\r\nimport { PrestationExpertiseVersionHistoryDto } from '@/shared/dtos/prestation-expertise/prestation-expertise-version-history.dto';\r\nimport { HistoryStatusEnum } from '@/shared/enums/conflit-statut.enum';\r\nimport Agenda from './agenda';\r\nimport AgendaModals from '@/shared/components/agenda-modals.vue';\r\nimport PrestationExpertisePush from '@/components/prestation-expertise/prestation-expertise-push.vue';\r\nVue.use(VueHammer);\r\n\r\n@Component({\r\n name: 'AgendaMobile',\r\n components: {\r\n BasicLayout,\r\n HeaderTitle,\r\n CardMission,\r\n AgendaModals,\r\n PrestationExpertisePush,\r\n },\r\n})\r\nexport default class AgendaMobile extends Agenda {\r\n public today: moment.Moment;\r\n public currentDate: moment.Moment;\r\n public missionsPerDay: MissionsPerDay[] = [];\r\n public selectedMissionsPerDay: MissionsPerDay = null;\r\n\r\n //#region LIFE CYCLES\r\n public mounted(): void {\r\n this.checkForUpdateAndConflict();\r\n }\r\n\r\n public created(): void {\r\n this.today = moment();\r\n this.currentDate = moment();\r\n window.addEventListener('scroll', this.onScroll);\r\n this.initDays();\r\n }\r\n\r\n //#endregion\r\n\r\n //#region WATCH\r\n @Watch('missionsPlanifiees')\r\n public missionsPlanifieesChanged(): void {\r\n this.initDays();\r\n }\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n public async onPullButtonClick(): Promise {\r\n await this.getDonneesTechniques();\r\n await this.getDonneesAgenda();\r\n }\r\n\r\n public onPushMissionsButtonClick(): void {\r\n this.$bvModal.show('modal-push-missions');\r\n }\r\n\r\n public onModalPushMissionsClose(): void {\r\n this.$bvModal.hide('modal-push-missions');\r\n }\r\n\r\n public onLastWeekClick(swipe = false): void {\r\n this.currentDate = moment(this.currentDate).add(-7, 'days');\r\n this.initDays(swipe);\r\n }\r\n\r\n public onNextWeekClick(swipe = false): void {\r\n this.currentDate = moment(this.currentDate).add(7, 'days');\r\n this.initDays(swipe);\r\n }\r\n\r\n public onDayClick(currentMissionsPerDay: MissionsPerDay) {\r\n const currentIndex = this.missionsPerDay.map((x) => x.day.format('DD/MM/YYYY')).indexOf(this.currentDate.format('DD/MM/YYYY'));\r\n Vue.delete(this.missionsPerDay[currentIndex], 'active');\r\n\r\n this.currentDate = currentMissionsPerDay.day;\r\n this.selectedMissionsPerDay = currentMissionsPerDay;\r\n const nextIndex = this.missionsPerDay.indexOf(currentMissionsPerDay);\r\n\r\n Vue.set(this.missionsPerDay[nextIndex], 'active', true);\r\n }\r\n\r\n public onScroll(event: Event): void {\r\n event.preventDefault();\r\n\r\n const tabPlanifieElement: Element = document.querySelector('.agenda-mobile-component-tab-planifie');\r\n if (!tabPlanifieElement) {\r\n return;\r\n }\r\n\r\n const isActive: boolean = tabPlanifieElement.parentElement.classList.contains('active');\r\n if (!isActive) return;\r\n\r\n const scrollingElement: Element = document.querySelector('.agenda-mobile-component-calendar');\r\n const isScrolling: boolean = scrollingElement.classList.contains('scrolling');\r\n\r\n if (document.scrollingElement.scrollTop < 200) {\r\n if (isScrolling) scrollingElement.classList.remove('scrolling');\r\n } else {\r\n if (!isScrolling) scrollingElement.classList.add('scrolling');\r\n }\r\n }\r\n\r\n public onSwipe(event: any): void {\r\n event.preventDefault();\r\n const currentIndex = this.missionsPerDay.indexOf(this.selectedMissionsPerDay);\r\n\r\n //gauche\r\n if (event.direction === 4) {\r\n let lastIndex = 4;\r\n if (currentIndex === 0) {\r\n this.onLastWeekClick(true);\r\n } else {\r\n lastIndex = currentIndex - 1;\r\n }\r\n\r\n const lastMission = this.missionsPerDay[lastIndex];\r\n this.onDayClick(lastMission);\r\n\r\n return;\r\n }\r\n\r\n //droite\r\n if (event.direction === 2) {\r\n let nextIndex = 0;\r\n if (currentIndex === 4) {\r\n this.onNextWeekClick(true);\r\n } else {\r\n nextIndex = currentIndex + 1;\r\n }\r\n\r\n const nextMission = this.missionsPerDay[nextIndex];\r\n this.onDayClick(nextMission);\r\n return;\r\n }\r\n }\r\n\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n private initDays(swipe = false): void {\r\n var weekStart = this.currentDate.startOf('week');\r\n this.missionsPerDay = [];\r\n for (let i = 0; i < 5; i++) {\r\n const day = moment(weekStart).add(i, 'days');\r\n\r\n if (this.missionsPlanifiees && this.missionsPlanifiees.length) {\r\n this.missionsPerDay.push({\r\n day: day,\r\n missions: this.missionsPlanifiees.filter((mission: MissionDto) => day.isSame(moment(mission.dateVisite), 'days')),\r\n });\r\n }\r\n }\r\n\r\n if (!swipe) {\r\n if (this.missionsPerDay.filter((x) => x.day.isSame(this.today, 'date')).length > 0) {\r\n this.currentDate = moment();\r\n } else {\r\n this.currentDate = weekStart;\r\n }\r\n\r\n this.selectedMissionsPerDay = this.missionsPerDay.find((x) => x.day.isSame(this.currentDate, 'days'));\r\n }\r\n }\r\n\r\n private async checkForUpdateAndConflict(): Promise {\r\n const storedMissions: MissionDto[] = await Vue.prototype.$missionStoreService.getAll();\r\n\r\n const prestationExpertiseIds: string[] = storedMissions\r\n .filter((mission: MissionDto) => mission.prestationExpertise)\r\n .map((mission: MissionDto) => mission.prestationExpertise.id.toString());\r\n\r\n await Vue.prototype.$prestationExpertiseVersionHistoryApiService\r\n .checkForUpdateAndConflictByPrestationExpertiseIds(prestationExpertiseIds)\r\n .then(async (prestationExpertiseVersionHistories: PrestationExpertiseVersionHistoryDto[]) => {\r\n const nb = prestationExpertiseVersionHistories.filter(\r\n (prestationExpertiseVersionHistory: PrestationExpertiseVersionHistoryDto) =>\r\n prestationExpertiseVersionHistory.historyStatus !== HistoryStatusEnum.UP_TO_DATE\r\n ).length;\r\n\r\n if (nb) {\r\n await this.$bvModal.msgBoxOk(`${nb} mission(s) plus récente(s), pensez à récupérer les dernières données`, {\r\n title: 'Des mises à jour disponibles !',\r\n });\r\n }\r\n });\r\n }\r\n\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./agenda-mobile.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./agenda-mobile.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./agenda-mobile.vue?vue&type=template&id=491b0d9e&scoped=true&\"\nimport script from \"./agenda-mobile.vue?vue&type=script&lang=ts&\"\nexport * from \"./agenda-mobile.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./agenda-mobile.vue?vue&type=style&index=0&id=491b0d9e&lang=scss&scoped=true&\"\nimport style1 from \"./agenda-mobile.vue?vue&type=style&index=1&lang=scss&\"\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 \"491b0d9e\",\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('basic-layout',[_c('b-container',{staticClass:\"content\",attrs:{\"slot\":\"body\",\"fluid\":\"\"},slot:\"body\"},[_c('header-title'),_c('div',{staticClass:\"agenda-desktop-component\"},[_c('b-tabs',{staticClass:\"agenda-desktop-component-tabs\",attrs:{\"align\":\"left\"}},[_c('b-tab',{attrs:{\"title\":\"Planifié\",\"active\":\"\"}},[_c('div',{staticClass:\"agenda-desktop-component-calendar\"},[_c('b-row',{staticClass:\"mt-2\"},[_c('b-col',{staticClass:\"text-center\",attrs:{\"cols\":\"1\"}},[_c('button',{staticClass:\"agenda-desktop-component-calendar-button\",attrs:{\"title\":\"Précedent\"},on:{\"click\":function($event){return _vm.onLastWeekClick()}}},[_c('font-awesome-icon',{attrs:{\"icon\":\"angle-left\",\"aria-hidden\":\"true\"}})],1)]),_c('b-col',{staticClass:\"text-center\",attrs:{\"cols\":\"1\",\"offset\":\"10\"}},[_c('button',{staticClass:\"agenda-desktop-component-calendar-button\",attrs:{\"title\":\"Suivant\"},on:{\"click\":function($event){return _vm.onNextWeekClick()}}},[_c('font-awesome-icon',{attrs:{\"icon\":\"angle-right\",\"aria-hidden\":\"true\"}})],1)])],1),_c('b-row',{staticClass:\"mx-2\"},_vm._l((_vm.missionsPerDay),function(item,index){return _c('div',{key:index,staticClass:\"agenda-desktop-component-calendar-day\"},[_c('div',{staticClass:\"m-auto text-center\"},[_c('p',{class:{ today: item.day.isSame(_vm.today, 'date') }},[_vm._v(_vm._s(_vm._f(\"moment\")(item.day,'ddd D MMM')))])]),(item.missions && item.missions.length > 0)?_c('div',{staticClass:\"agenda-desktop-component-missions\"},_vm._l((item.missions),function(mission,indexMission){return _c('div',{key:indexMission,on:{\"click\":function($event){return _vm.onCardMissionClick(mission.id)}}},[_c('card-mission',{attrs:{\"mission\":mission,\"showTime\":true,\"lastMission\":item.missions[indexMission - 1]}})],1)}),0):_vm._e()])}),0)],1)]),_c('b-tab',{staticClass:\"my-3\",attrs:{\"title\":\"RDVs à prendre\"}},[(_vm.missionsAPlanifier.length > 0)?_c('b-row',[_c('b-col',{attrs:{\"sm\":\"6\",\"md\":\"6\",\"lg\":\"3\",\"xl\":\"3\"}},[_c('p',{staticClass:\"agenda-desktop-component-missions-title\"},[_vm._v(\"Hors délais et contact pris\")]),_c('div',{staticClass:\"agenda-desktop-component-missions\"},_vm._l((_vm.missionsHorsDelaisEtContactPris),function(mission,index){return _c('div',{key:index,on:{\"click\":function($event){return _vm.onCardMissionClick(mission.id)}}},[_c('card-mission',{attrs:{\"mission\":mission,\"showTime\":false}})],1)}),0)]),_c('b-col',{attrs:{\"sm\":\"6\",\"md\":\"6\",\"lg\":\"3\",\"xl\":\"3\"}},[_c('p',{staticClass:\"agenda-desktop-component-missions-title\"},[_vm._v(\"Hors délais\")]),_c('div',{staticClass:\"agenda-desktop-component-missions\"},_vm._l((_vm.missionsHorsDelais),function(mission,index){return _c('div',{key:index,on:{\"click\":function($event){return _vm.onCardMissionClick(mission.id)}}},[_c('card-mission',{attrs:{\"mission\":mission,\"showTime\":false}})],1)}),0)]),_c('b-col',{attrs:{\"sm\":\"6\",\"md\":\"6\",\"lg\":\"3\",\"xl\":\"3\"}},[_c('p',{staticClass:\"agenda-desktop-component-missions-title\"},[_vm._v(\"Délai OK\")]),_c('div',{staticClass:\"agenda-desktop-component-missions\"},_vm._l((_vm.missionsDelaiOK),function(mission,index){return _c('div',{key:index,on:{\"click\":function($event){return _vm.onCardMissionClick(mission.id)}}},[_c('card-mission',{attrs:{\"mission\":mission,\"showTime\":false}})],1)}),0)]),_c('b-col',{attrs:{\"sm\":\"6\",\"md\":\"6\",\"lg\":\"3\",\"xl\":\"3\"}},[_c('p',{staticClass:\"agenda-desktop-component-missions-title\"},[_vm._v(\"Nouveau aujourd'hui\")]),_c('div',{staticClass:\"agenda-desktop-component-missions\"},_vm._l((_vm.missionsDuJour),function(mission,index){return _c('div',{key:index,on:{\"click\":function($event){return _vm.onCardMissionClick(mission.id)}}},[_c('card-mission',{attrs:{\"mission\":mission,\"showTime\":false}})],1)}),0)])],1):_vm._e(),(!_vm.missionsAPlanifier || _vm.missionsAPlanifier.length === 0)?_c('div',{staticClass:\"no-data\"},[_vm._v(\"Aucune mission n'est à planifier\")]):_vm._e()],1)],1),_c('agenda-loading-message',{attrs:{\"isDisplayed\":_vm.isLoading}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.isDisplayed)?_c('div',{staticClass:\"agenda-loading-message-component\"},[_c('div',[_c('spinner',{staticClass:\"m-auto mt-3\",attrs:{\"size\":30,\"depth\":3}}),_c('p',{staticClass:\"mt-3 ml-1\"},[_vm._v(\"Recherche de nouvelles missions. Veuillez laisser l'app ouverte...\")])],1)]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\r\n/* eslint-disable no-console */\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\nimport Spinner from 'vue-spinner-component/src/Spinner.vue';\r\n\r\n@Component({\r\n name: 'AgendaLoadingMessage',\r\n components: {\r\n Spinner,\r\n },\r\n})\r\nexport default class AgendaLoadingMessage extends Vue {\r\n @Prop({ required: true }) public isDisplayed: boolean;\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./agenda-loading-message.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./agenda-loading-message.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./agenda-loading-message.vue?vue&type=template&id=d5a3329a&scoped=true&\"\nimport script from \"./agenda-loading-message.vue?vue&type=script&lang=ts&\"\nexport * from \"./agenda-loading-message.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./agenda-loading-message.vue?vue&type=style&index=0&id=d5a3329a&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 \"d5a3329a\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Vue } from 'vue-property-decorator';\r\nimport BasicLayout from '@/views/layouts/basic.layout.vue';\r\nimport HeaderTitle from '@/shared/components/header-title.vue';\r\nimport CardMission from '@/components/card-mission.vue';\r\nimport { MissionsPerDay } from '@/shared/models/missions-per-day';\r\nimport { MissionDto } from '@/shared/dtos/mission.dto';\r\n\r\nimport moment from 'moment';\r\nimport Agenda from './agenda';\r\nimport AgendaLoadingMessage from '@/components/agenda-loading-message.vue';\r\n\r\n@Component({\r\n name: 'AgendaDesktop',\r\n components: {\r\n BasicLayout,\r\n HeaderTitle,\r\n CardMission,\r\n AgendaLoadingMessage,\r\n },\r\n})\r\nexport default class AgendaDesktop extends Agenda {\r\n public today: moment.Moment;\r\n public currentDate: moment.Moment;\r\n public missionsPerDay: MissionsPerDay[] = [];\r\n\r\n //#region LIFE CYCLES\r\n public created(): void {\r\n this.today = moment();\r\n this.currentDate = moment();\r\n }\r\n\r\n public async beforeMount(): Promise {\r\n await this.getDonneesTechniques();\r\n\r\n const storedMissions: MissionDto[] = await Vue.prototype.$missionStoreService.getAll();\r\n\r\n this.setMissionsPlanifiees(storedMissions);\r\n this.setMissionsAPlanifier(storedMissions);\r\n\r\n await this.initDays();\r\n await this.getDonneesAgenda();\r\n await this.initDays();\r\n }\r\n\r\n //#endregion\r\n\r\n //#region WATCH\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n public async onLastWeekClick(): Promise {\r\n this.currentDate.add(-7, 'days');\r\n\r\n await this.initDays();\r\n }\r\n\r\n public async onNextWeekClick(): Promise {\r\n this.currentDate.add(7, 'days');\r\n\r\n await this.initDays();\r\n }\r\n\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n private async initDays(): Promise {\r\n this.missionsPerDay = [];\r\n\r\n for (let i = 0; i < 5; i++) {\r\n const day = moment(this.currentDate.clone().startOf('week')).add(i, 'days');\r\n const missionPerDay = {\r\n day: day,\r\n missions: this.missionsPlanifiees.filter((mission: MissionDto) => day.isSame(moment(mission.dateVisite), 'days')),\r\n };\r\n\r\n this.missionsPerDay.push(missionPerDay);\r\n }\r\n }\r\n\r\n //#endregion\r\n}\r\n","export enum SeverityLevelEnum {\r\n DEBUG = 0,\r\n INFORMATION = 1,\r\n WARNING = 2,\r\n ERROR = 3,\r\n CRITICAL = 4,\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./agenda-desktop.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./agenda-desktop.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./agenda-desktop.vue?vue&type=template&id=220e6c32&scoped=true&\"\nimport script from \"./agenda-desktop.vue?vue&type=script&lang=ts&\"\nexport * from \"./agenda-desktop.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./agenda-desktop.vue?vue&type=style&index=0&id=220e6c32&lang=scss&scoped=true&\"\nimport style1 from \"./agenda-desktop.vue?vue&type=style&index=1&lang=scss&\"\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 \"220e6c32\",\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('basic-layout',[_c('div',{staticClass:\"diagnostic-component content container-fluid\",attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('header-title',{attrs:{\"title\":\"Diagnostic\"}}),_c('b-button',{staticClass:\"mb-3\",on:{\"click\":_vm.onSendDiagnosticsApplicationsButtonClick}},[_vm._v(\"Envoyer les diagnostics au support\")]),_c('b-table',{attrs:{\"id\":\"diagnostic-table\",\"responsive\":\"\",\"stacked\":_vm.isMobile,\"hover\":\"\",\"fields\":_vm.fields,\"items\":_vm.filtered,\"per-page\":_vm.perPage,\"current-page\":_vm.currentPage},scopedSlots:_vm._u([{key:\"top-row\",fn:function(ref){\nvar fields = ref.fields;\nreturn _vm._l((fields),function(field){return _c('td',{key:field.key},[(field.label)?_c('div',[_c('label',{staticClass:\"sr-only\",attrs:{\"for\":'txt' + field.key}},[_vm._v(_vm._s(field.label))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.filters[field.key]),expression:\"filters[field.key]\"}],attrs:{\"id\":'txt' + field.key,\"placeholder\":field.label},domProps:{\"value\":(_vm.filters[field.key])},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.filters, field.key, $event.target.value)}}})]):_vm._e()])})}}])}),_c('b-pagination',{attrs:{\"total-rows\":_vm.rows,\"per-page\":_vm.perPage,\"aria-controls\":\"diagnostic-table\"},model:{value:(_vm.currentPage),callback:function ($$v) {_vm.currentPage=$$v},expression:\"currentPage\"}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Mixins, Vue } from 'vue-property-decorator';\r\n\r\nimport BasicLayout from './layouts/basic.layout.vue';\r\nimport HeaderTitle from '@/shared/components/header-title.vue';\r\n\r\nimport { orderBy } from 'lodash';\r\nimport moment from 'moment';\r\nimport { Log } from '@/shared/models/log';\r\nimport { SeverityLevelEnum } from '@/shared/enums/severity-level.enum';\r\nimport DeviceMixin from '@/mixins/device.mixin';\r\nimport store from '@/shared/store';\r\n\r\n@Component({\r\n name: 'Diagnostic',\r\n components: {\r\n BasicLayout,\r\n HeaderTitle,\r\n },\r\n})\r\nexport default class Diagnostic extends Mixins(DeviceMixin) {\r\n public fields: any[] = [];\r\n public filters: any = {\r\n date: '',\r\n level: '',\r\n message: '',\r\n error: '',\r\n info: '',\r\n };\r\n public logs: Log[] = [];\r\n public perPage = 20;\r\n public currentPage = 1;\r\n\r\n //#region LIFE CYCLES\r\n public async beforeMount(): Promise {\r\n this.fields = [\r\n {\r\n key: 'date',\r\n sortable: true,\r\n formatter: (date: Date) => {\r\n return date ? moment(date).format('DD/MM/YYY HH:mm:ss') : null;\r\n },\r\n },\r\n {\r\n key: 'level',\r\n sortable: true,\r\n formatter: (level: SeverityLevelEnum) => {\r\n return SeverityLevelEnum[level];\r\n },\r\n },\r\n {\r\n key: 'message',\r\n },\r\n {\r\n key: 'error',\r\n },\r\n {\r\n key: 'info',\r\n },\r\n ];\r\n\r\n this.logs = await Vue.prototype.$logStoreService.getAll();\r\n this.logs = orderBy(this.logs, ['date'], ['desc']);\r\n }\r\n\r\n //#endregion\r\n\r\n //#region COMPUTED\r\n get rows(): number {\r\n return this.logs.length;\r\n }\r\n\r\n get filtered(): Log[] {\r\n if (this.logs.length) {\r\n const filtered = this.logs.filter((item: any) => {\r\n return Object.keys(this.filters).every((key) => {\r\n let itemValue = item[key];\r\n\r\n if (key === 'level') {\r\n itemValue = SeverityLevelEnum[itemValue];\r\n }\r\n\r\n if (!itemValue) return true;\r\n\r\n return itemValue.toString().toLowerCase().includes(this.filters[key].toLowerCase());\r\n });\r\n });\r\n\r\n return filtered;\r\n } else\r\n return [\r\n {\r\n id: null,\r\n date: null,\r\n level: null,\r\n message: null,\r\n error: null,\r\n info: null,\r\n },\r\n ];\r\n }\r\n //#endregion\r\n\r\n //#region EVENTS\r\n public async onSendDiagnosticsApplicationsButtonClick(): Promise {\r\n const logs = await Vue.prototype.$logStoreService.getAll();\r\n\r\n store.isLoading = true;\r\n Vue.prototype.$diagnosticApplicationApiService\r\n .addLogs(JSON.stringify(logs))\r\n .then(() => {\r\n Vue.prototype.$notificationService.success(`Envoi des diagnostics de l'application effectué avec succès.`);\r\n })\r\n .catch(async (error: any) => {\r\n Vue.prototype.$notificationService.error(`Une erreur est survenue lors de l'envoi des diagnostics de l'application.`);\r\n })\r\n .finally(() => {\r\n store.isLoading = false;\r\n });\r\n }\r\n\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n\r\n //#endregion\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./diagnostic.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./diagnostic.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./diagnostic.vue?vue&type=template&id=5561528b&\"\nimport script from \"./diagnostic.vue?vue&type=script&lang=ts&\"\nexport * from \"./diagnostic.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./diagnostic.vue?vue&type=style&index=0&lang=scss&\"\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('basic-layout',[_c('b-container',{staticClass:\"missions-component content\",attrs:{\"slot\":\"body\",\"fluid\":\"\"},slot:\"body\"},[_c('header-title',{attrs:{\"title\":\"Liste des missions\"}},[_c('div',{staticClass:\"header-title-component-template\",attrs:{\"slot\":\"template\"},slot:\"template\"},[_c('label',{staticClass:\"sr-only\",attrs:{\"for\":\"sSelection\"}},[_vm._v(\"Sélectionner le type d'affichage des missions\")]),_c('b-form-select',{attrs:{\"id\":\"sSelection\"},on:{\"change\":_vm.onSelectionChange},model:{value:(_vm.selection),callback:function ($$v) {_vm.selection=$$v},expression:\"selection\"}},[_c('b-form-select-option',{attrs:{\"value\":\"last\"}},[_vm._v(\"Les missions des 6 derniers mois\")]),_c('b-form-select-option',{attrs:{\"value\":\"all\"}},[_vm._v(\"Toutes les missions\")])],1)],1)]),_c('b-row',[_c('b-table',{ref:\"missions\",attrs:{\"id\":\"table-missions\",\"striped\":\"\",\"stacked\":\"sm\",\"hover\":\"\",\"responsive\":\"\",\"items\":_vm.filtered,\"fields\":_vm.fields,\"label-sort-asc\":\"Trier par ordre ascendant\",\"label-sort-desc\":\"Trier par ordre descendant\",\"show-empty\":\"\",\"emptyText\":\"Aucune mission vous est affectée\",\"caption-top\":\"\",\"sort-by\":\"dateAffectation\",\"sort-desc\":true,\"per-page\":_vm.perPage,\"current-page\":_vm.currentPage},scopedSlots:_vm._u([{key:\"head()\",fn:function(scope){return [_c('div',{directives:[{name:\"sort-aria-label\",rawName:\"v-sort-aria-label\",value:(scope.label),expression:\"scope.label\"}]},[_vm._v(_vm._s(scope.label))])]}},{key:\"top-row\",fn:function(ref){\nvar fields = ref.fields;\nreturn _vm._l((fields),function(field){return _c('td',{key:field.key,staticClass:\"text-center\"},[(field.label)?_c('div',[_c('label',{staticClass:\"sr-only\",attrs:{\"for\":'txt' + field.key}},[_vm._v(_vm._s(field.label))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.filters[field.key]),expression:\"filters[field.key]\"}],attrs:{\"id\":'txt' + field.key,\"placeholder\":\"Rechercher...\"},domProps:{\"value\":(_vm.filters[field.key])},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.filters, field.key, $event.target.value)}}})]):_vm._e()])})}},{key:\"cell(dateCommande)\",fn:function(data){return [_vm._v(\" \"+_vm._s(_vm._f(\"moment\")(data.item.dateCommande,'DD/MM/YYYY'))+\" \")]}},{key:\"cell(dateAffectation)\",fn:function(data){return [_vm._v(\" \"+_vm._s(_vm._f(\"moment\")(data.item.dateAffectation,'DD/MM/YYYY'))+\" \")]}},{key:\"cell(dateVisite)\",fn:function(data){return [_vm._v(\" \"+_vm._s(_vm._f(\"moment\")(data.item.dateVisite,'DD/MM/YYYY'))+\" \")]}},{key:\"cell(valeurMin)\",fn:function(data){return [_vm._v(\" \"+_vm._s(_vm._f(\"currency\")(data.item.valeurMin))+\" \")]}},{key:\"cell(valeurMax)\",fn:function(data){return [_vm._v(\" \"+_vm._s(_vm._f(\"currency\")(data.item.valeurMax))+\" \")]}},{key:\"cell(openMission)\",fn:function(data){return [_c('b-button',{staticClass:\"mx-2\",attrs:{\"title\":'Ouvrir le rapport ' + data.item.reference,\"variant\":\"secondary\",\"size\":\"sm\"},on:{\"click\":function($event){return _vm.$router.push(data.value)}}},[_vm._v(\" Ouvrir\")])]}}])}),_c('b-pagination',{attrs:{\"total-rows\":_vm.rows,\"per-page\":_vm.perPage,\"aria-controls\":\"table-missions\",\"label-first-page\":\"Première page\",\"label-last-page\":\"Dernière page\",\"label-prev-page\":\"Page précédente\",\"label-next-page\":\"Page suivante\",\"label-page\":\"Aller à la page\"},model:{value:(_vm.currentPage),callback:function ($$v) {_vm.currentPage=$$v},expression:\"currentPage\"}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Vue from 'vue';\r\n\r\nexport const SortAriaLabelDirective = {\r\n bind: (el: any, binding: any, vnode: any) => {\r\n Vue.nextTick(() => {\r\n const parentElement = vnode.elm.parentElement;\r\n setAriaLabel(parentElement, binding.value);\r\n\r\n parentElement.addEventListener('click', function (event: any) {\r\n event.preventDefault();\r\n setAriaLabel(parentElement, binding.value);\r\n });\r\n\r\n parentElement.addEventListener('ontouchstart', function (event: any) {\r\n event.preventDefault();\r\n setAriaLabel(parentElement, binding.value);\r\n });\r\n\r\n parentElement.addEventListener('focusout', function (event: any) {\r\n event.preventDefault();\r\n setAriaLabel(parentElement, binding.value);\r\n });\r\n\r\n parentElement.addEventListener('keydown', function (event: any) {\r\n if (event.key == 'Enter') {\r\n event.preventDefault();\r\n setAriaLabel(parentElement, binding.value);\r\n }\r\n });\r\n\r\n function setAriaLabel(element: any, value: any) {\r\n const sort = element.ariaSort;\r\n\r\n if (sort == null) {\r\n element.tabIndex = -1;\r\n element.ariaHidden = 'true';\r\n\r\n return;\r\n }\r\n if (sort == 'none' || sort == 'descending') {\r\n element.ariaLabel = 'Colonne ' + value + ' - Cliquez pour trier par ordre ascendant';\r\n } else {\r\n element.ariaLabel = 'Colonne ' + value + ' - Cliquez pour trier par ordre descendant';\r\n }\r\n }\r\n });\r\n },\r\n};\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport BasicLayout from './layouts/basic.layout.vue';\r\nimport { SortAriaLabelDirective } from '@/shared/directives/sort-aria-label.directive';\r\nimport { Component, Vue } from 'vue-property-decorator';\r\nimport HeaderTitle from '@/shared/components/header-title.vue';\r\nimport store from '@/shared/store';\r\nimport moment from 'moment';\r\nimport { BTable } from 'bootstrap-vue';\r\nimport { MissionForListDto } from '@/shared/dtos/liste-mission.dto';\r\n\r\nVue.directive('sort-aria-label', SortAriaLabelDirective);\r\n\r\n@Component({\r\n name: 'Missions',\r\n components: {\r\n BasicLayout,\r\n HeaderTitle,\r\n },\r\n})\r\nexport default class Missions extends Vue {\r\n public store = store;\r\n public missions: MissionForListDto[] = null;\r\n public selection: string = 'last';\r\n\r\n public filters: any = {\r\n reference: '',\r\n dateCommande: '',\r\n dateAffectation: '',\r\n societeNom: '',\r\n dateVisite: '',\r\n typePrestationExpertiseLibelle: '',\r\n emprunteur: '',\r\n etapeLibelle: '',\r\n adresse: '',\r\n valeurMin: '',\r\n valeurMax: '',\r\n commentaire: '',\r\n };\r\n\r\n public fields: any = [\r\n {\r\n key: 'reference',\r\n label: 'Référence',\r\n sortable: true,\r\n },\r\n {\r\n key: 'dateCommande',\r\n label: 'Date de la commande',\r\n sortable: true,\r\n },\r\n {\r\n key: 'dateAffectation',\r\n label: `Date d'affectation`,\r\n sortable: true,\r\n },\r\n {\r\n key: 'societeNom',\r\n label: 'Client',\r\n sortable: true,\r\n },\r\n {\r\n key: 'dateVisite',\r\n label: 'Date de RDV',\r\n sortable: true,\r\n },\r\n {\r\n key: 'typePrestationExpertiseLibelle',\r\n label: 'Objet',\r\n sortable: true,\r\n },\r\n {\r\n key: 'emprunteur',\r\n label: 'Emprunteur',\r\n sortable: true,\r\n },\r\n {\r\n key: 'etapeLibelle',\r\n label: 'Etat',\r\n sortable: true,\r\n },\r\n {\r\n key: 'adresse',\r\n label: 'Adresse',\r\n sortable: true,\r\n },\r\n {\r\n key: 'valeurMin',\r\n label: 'Valeur min',\r\n sortable: true,\r\n },\r\n {\r\n key: 'valeurMax',\r\n label: 'Valeur max',\r\n sortable: true,\r\n },\r\n {\r\n key: 'notesVisite',\r\n label: 'Notes pour la visite',\r\n sortable: true,\r\n },\r\n {\r\n key: 'openMission',\r\n label: '',\r\n sortable: false,\r\n formatter: (value: any, key: any, item: MissionForListDto) => {\r\n return '/missions/' + item.id + '/' + item.typePrestationExpertiseString;\r\n },\r\n },\r\n ];\r\n\r\n public perPage = 10;\r\n public currentPage = 1;\r\n\r\n //#region LIFE CYCLES\r\n beforeMount(): void {\r\n this.missions = this.$route.meta.missions as MissionForListDto[];\r\n }\r\n //#endregion\r\n\r\n //#region COMPUTED\r\n get rows(): number {\r\n return this.filtered.length;\r\n }\r\n\r\n get filtered(): MissionForListDto[] {\r\n const filtered = this.missions.filter((item: any) => {\r\n return Object.keys(this.filters).every((key) => {\r\n let itemValue = item[key];\r\n\r\n switch (key) {\r\n case 'dateAffectation':\r\n case 'dateVisite':\r\n case 'dateCommande':\r\n itemValue = moment(String(itemValue)).format('DD/MM/YYYY');\r\n break;\r\n case 'notesVisite':\r\n if (itemValue === null) itemValue = '';\r\n }\r\n\r\n if (itemValue === null || itemValue === undefined) return true;\r\n\r\n return itemValue.toString().toLowerCase().includes(this.filters[key].toLowerCase());\r\n });\r\n });\r\n\r\n return filtered.length > 0 ? filtered : [];\r\n }\r\n //#endregion\r\n\r\n //#region EVENTS\r\n public onSelectionChange(): void {\r\n store.isLoading = true;\r\n Vue.prototype.$missionForListApiService\r\n .getLastOrAllByOmereContactId(store.user.omereContactId, this.selection)\r\n .then((missions: MissionForListDto[]) => {\r\n this.missions = missions;\r\n (this.$refs.missions as BTable).refresh();\r\n })\r\n .finally(() => {\r\n store.isLoading = false;\r\n });\r\n }\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n\r\n //#endregion\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./missions.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./missions.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./missions.vue?vue&type=template&id=863c6e3e&scoped=true&\"\nimport script from \"./missions.vue?vue&type=script&lang=ts&\"\nexport * from \"./missions.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./missions.vue?vue&type=style&index=0&id=863c6e3e&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 \"863c6e3e\",\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('basic-layout',[_c('b-container',{staticClass:\"recherche-component\",attrs:{\"slot\":\"body\",\"fluid\":\"\"},slot:\"body\"},[_c('header-title',{attrs:{\"title\":\"Recherche\"}}),_c('b-form',{staticClass:\"recherche-component-form\",attrs:{\"role\":\"form\"},on:{\"submit\":_vm.onRechercheSubmit}},[_c('b-form-group',{attrs:{\"id\":\"groupNumeroMission\",\"label\":\"Numéro de mission\",\"label-for\":\"txtNumeroMission\"}},[_c('b-form-input',{attrs:{\"id\":\"txtNumeroMission\"},model:{value:(_vm.model.numeroMission),callback:function ($$v) {_vm.$set(_vm.model, \"numeroMission\", $$v)},expression:\"model.numeroMission\"}})],1),_c('b-form-group',{attrs:{\"id\":\"groupEmprunteur\",\"label\":\"Emprunteur\",\"label-for\":\"txtEmprunteur\"}},[_c('b-form-input',{attrs:{\"id\":\"txtEmprunteur\"},model:{value:(_vm.model.emprunteur),callback:function ($$v) {_vm.$set(_vm.model, \"emprunteur\", $$v)},expression:\"model.emprunteur\"}})],1),_c('b-form-group',{attrs:{\"id\":\"groupNaturesBien\",\"label\":\"Nature du bien\",\"label-for\":\"sNaturesBien\"}},[_c('b-form-select',{attrs:{\"id\":\"sNaturesBien\",\"options\":_vm.naturesBiens,\"value-field\":\"id\",\"text-field\":\"title\"},on:{\"change\":_vm.onNatureBienChange},model:{value:(_vm.model.natureBienId),callback:function ($$v) {_vm.$set(_vm.model, \"natureBienId\", $$v)},expression:\"model.natureBienId\"}})],1),_c('b-form-group',{attrs:{\"id\":\"groupTypesBien\",\"label\":\"Type du bien\",\"label-for\":\"sTypesBien\"}},[_c('b-form-select',{attrs:{\"id\":\"sTypesBien\",\"options\":_vm.typesBiens,\"value-field\":\"id\",\"text-field\":\"title\"},model:{value:(_vm.model.typeBienId),callback:function ($$v) {_vm.$set(_vm.model, \"typeBienId\", $$v)},expression:\"model.typeBienId\"}})],1),_c('b-form-group',{attrs:{\"id\":\"groupDureeRapport\",\"label\":\"Rapport de moins de\",\"label-for\":\"txtDureeRapport\",\"state\":!_vm.$v.model.duree.$error,\"invalid-feedback\":\"La durée est obligatoire\"}},[_c('b-input-group',{attrs:{\"append\":\"mois\"}},[_c('b-form-input',{attrs:{\"id\":\"txtDureeRapport\",\"aria-describedby\":\"descDureeRapport\",\"state\":!_vm.$v.model.duree.$error,\"required\":\"\"},on:{\"blur\":_vm.$v.model.duree.$touch},model:{value:(_vm.model.duree),callback:function ($$v) {_vm.$set(_vm.model, \"duree\", $$v)},expression:\"model.duree\"}}),_c('span',{staticClass:\"sr-only\",attrs:{\"id\":\"descDureeRapport\"}},[_vm._v(\"Saisir la durée en nombre de mois\")])],1)],1),_c('b-form-group',{attrs:{\"id\":\"groupLocalisation\",\"label\":\"Localisation\",\"label-for\":\"txtLocalisation\"}},[_c('suggestions',{attrs:{\"id\":\"txtLocalisation\",\"options\":_vm.optionsSuggestions,\"onInputChange\":_vm.onLocalisationInputChange,\"onItemSelected\":_vm.onLocalisationSelected},model:{value:(_vm.localisation),callback:function ($$v) {_vm.localisation=$$v},expression:\"localisation\"}}),_c('b-input-group-append',[_c('b-button',{attrs:{\"variant\":\"primary\",\"aria-label\":\"Effacer la localisation\"},on:{\"click\":_vm.onLocalisationClear}},[_c('font-awesome-icon',{attrs:{\"icon\":\"times\"}})],1)],1)],1),_c('b-form-group',{attrs:{\"id\":\"groupValeur\",\"label\":\"Valeur\"}},[_c('b-input-group',{attrs:{\"prepend\":\"entre\",\"append\":\"€\"}},[_c('b-form-input',{attrs:{\"type\":\"number\",\"min\":\"0\",\"aria-label\":\"Valeur minimale en euros\"},model:{value:(_vm.model.valeurMin),callback:function ($$v) {_vm.$set(_vm.model, \"valeurMin\", $$v)},expression:\"model.valeurMin\"}}),_c('span',{staticClass:\"input-group-text span-between\"},[_vm._v(\"et\")]),_c('b-form-input',{attrs:{\"type\":\"number\",\"min\":\"0\",\"aria-label\":\"Valeur maximale en euros\"},model:{value:(_vm.model.valeurMax),callback:function ($$v) {_vm.$set(_vm.model, \"valeurMax\", $$v)},expression:\"model.valeurMax\"}})],1)],1),_c('b-form-group',{attrs:{\"id\":\"groupSurfaceHabitable\",\"label\":\"Surface habitable\"}},[_c('b-input-group',{attrs:{\"prepend\":\"entre\",\"append\":\"m²\"}},[_c('b-form-input',{attrs:{\"type\":\"number\",\"min\":\"0\",\"aria-label\":\"Surface habitable minimale en mètre carré\"},model:{value:(_vm.model.surfaceHabitableMin),callback:function ($$v) {_vm.$set(_vm.model, \"surfaceHabitableMin\", $$v)},expression:\"model.surfaceHabitableMin\"}}),_c('span',{staticClass:\"input-group-text span-between\"},[_vm._v(\"et\")]),_c('b-form-input',{attrs:{\"type\":\"number\",\"min\":\"0\",\"aria-label\":\"Surface habitable maximale en euros\"},model:{value:(_vm.model.surfaceHabitableMax),callback:function ($$v) {_vm.$set(_vm.model, \"surfaceHabitableMax\", $$v)},expression:\"model.surfaceHabitableMax\"}})],1)],1),_c('b-form-group',{attrs:{\"id\":\"groupSurfaceTerrain\",\"label\":\"Surface du terrain\"}},[_c('b-input-group',{attrs:{\"prepend\":\"entre\",\"append\":\"m²\"}},[_c('b-form-input',{attrs:{\"type\":\"number\",\"min\":\"0\",\"aria-label\":\"Surface du terrain minimale en mètre carré\"},model:{value:(_vm.model.surfaceTerrainMin),callback:function ($$v) {_vm.$set(_vm.model, \"surfaceTerrainMin\", $$v)},expression:\"model.surfaceTerrainMin\"}}),_c('span',{staticClass:\"input-group-text span-between\"},[_vm._v(\"et\")]),_c('b-form-input',{attrs:{\"type\":\"number\",\"min\":\"0\",\"aria-label\":\"Surface du terrain maximale en euros\"},model:{value:(_vm.model.surfaceTerrainMax),callback:function ($$v) {_vm.$set(_vm.model, \"surfaceTerrainMax\", $$v)},expression:\"model.surfaceTerrainMax\"}})],1)],1),_c('b-button',{staticClass:\"mb-3\",attrs:{\"variant\":\"primary\",\"type\":\"submit\"}},[_vm._v(\"Rechercher\")])],1),_c('div',[_c('b-table',{ref:\"missions\",attrs:{\"id\":\"table-missions\",\"responsive\":\"\",\"striped\":\"\",\"stacked\":\"sm\",\"hover\":\"\",\"caption-top\":\"\",\"fields\":_vm.fields,\"items\":_vm.missions,\"per-page\":_vm.perPage,\"current-page\":_vm.currentPage,\"sort-by\":\"reference\",\"sort-desc\":true,\"show-empty\":\"\",\"emptyText\":\"Aucun résultat\",\"label-sort-asc\":\"Trier par ordre ascendant\",\"label-sort-desc\":\"Trier par ordre descendant\"},scopedSlots:_vm._u([{key:\"head()\",fn:function(scope){return [_c('div',{directives:[{name:\"sort-aria-label\",rawName:\"v-sort-aria-label\",value:(scope.label),expression:\"scope.label\"}]},[_vm._v(_vm._s(scope.label))])]}},{key:\"cell(dateRestitution)\",fn:function(data){return [_vm._v(\" \"+_vm._s(_vm._f(\"moment\")(data.item.dateRestitution,'DD/MM/YYYY'))+\" \")]}},{key:\"cell(hasPieceJointeRapport)\",fn:function(data){return [(data.value)?_c('b-button',{attrs:{\"size\":\"sm\",\"variant\":\"secondary\",\"aria-label\":'Voir le rapport ' + data.item.reference},on:{\"click\":function($event){return _vm.onRapportClick(data.item.expertiseId)}}},[_vm._v(\" Voir \")]):_vm._e()]}}])}),_c('b-pagination',{attrs:{\"total-rows\":_vm.rows,\"per-page\":_vm.perPage,\"aria-controls\":\"table-missions\",\"label-first-page\":\"Première page\",\"label-last-page\":\"Dernière page\",\"label-prev-page\":\"Page précédente\",\"label-next-page\":\"Page suivante\",\"label-page\":\"Aller à la page\"},model:{value:(_vm.currentPage),callback:function ($$v) {_vm.currentPage=$$v},expression:\"currentPage\"}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { RechercheLocalisationMissionDto } from './recherche-localisation-mission.dto';\r\n\r\nexport class RechercheMissionDto {\r\n public numeroMission: string;\r\n public emprunteur: string;\r\n public natureBienId: number;\r\n public typeBienId: number;\r\n public duree: number;\r\n public localisation: RechercheLocalisationMissionDto;\r\n public valeurMin: number;\r\n public valeurMax: number;\r\n public surfaceHabitableMin: number;\r\n public surfaceHabitableMax: number;\r\n public surfaceTerrainMin: number;\r\n public surfaceTerrainMax: number;\r\n\r\n constructor() {\r\n this.natureBienId = 0;\r\n this.typeBienId = 0;\r\n this.duree = 12;\r\n }\r\n}\r\n","export class RechercheLocalisationMissionDto {\r\n public numero?: string;\r\n public voie?: string;\r\n public codePostal?: string;\r\n public ville?: string;\r\n public region?: string;\r\n}\r\n","import Vue from 'vue';\r\n\r\nexport async function checkSearchStatus(status: any): Promise {\r\n if (status != Vue.prototype.$googleMapsApi.places.PlacesServiceStatus.OK) {\r\n if (status === Vue.prototype.$googleMapsApi.places.PlacesServiceStatus.ZERO_RESULTS) {\r\n Vue.prototype.$notificationService.warn(`Votre recherche d'adresse n'a retourné aucun résultat`);\r\n } else {\r\n Vue.prototype.$notificationService.error(`Une erreur est survenue lors de la recherche d'adresse`);\r\n await Vue.prototype.$logStoreService.error(\r\n `Une erreur est survenue lors de la recherche d'adresse - ${Vue.prototype.$googleMapsApi.places.PlacesServiceStatus[status]}`,\r\n null,\r\n 'Google Maps Api'\r\n );\r\n }\r\n\r\n return;\r\n }\r\n}\r\n\r\nexport function addressInputChange(value: string, autoCompleteService: any, sessionToken: any): Promise {\r\n return new Promise((resolve) => {\r\n if (value && autoCompleteService) {\r\n return autoCompleteService.getPlacePredictions(\r\n {\r\n input: value,\r\n // types: ['address'],\r\n // on filtre sur les pays : France, Guadeloupe, Martinique, Guyane, La Réunion\r\n // mais la recherche gmaps est limitée à 5 pays sinon en plus on pourrait mettre les autres DOM-TOM :\r\n // \"YT\", \"PM\", \"MF\", \"WF\", \"PF\", \"NC\", \"TF\" (Mayotte, Saint Pierre et Miquelon, Saint Martin, Wallis et Futuna, Polynésie, Nouvelle Calédonie, Terres australes)\r\n componentRestrictions: { country: ['FR', 'GP', 'MQ', 'GF', 'RE'] },\r\n\r\n sessionToken: sessionToken,\r\n },\r\n async (predictions: any, status: any) => {\r\n await checkSearchStatus(status);\r\n resolve(predictions.map((p: any) => p.description));\r\n }\r\n );\r\n }\r\n\r\n resolve([]);\r\n });\r\n}\r\n\r\nexport function geocode(geocoderService: any, parameters: any): any {\r\n return new Promise((resolve: any) => {\r\n geocoderService.geocode(parameters, (results: any, status: any) => {\r\n if (status === 'OK') {\r\n resolve(results[0]);\r\n } else {\r\n Vue.prototype.$notificationService.error(`L'adresse actuelle ne peut pas être géolocalisée.`);\r\n }\r\n });\r\n });\r\n}\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport BasicLayout from './layouts/basic.layout.vue';\r\nimport { Component, Vue, Watch } from 'vue-property-decorator';\r\nimport HeaderTitle from '@/shared/components/header-title.vue';\r\nimport { NatureBien } from '@/shared/models/nature-bien';\r\nimport { Label } from '@/shared/models/label';\r\nimport { RechercheMissionDto } from '@/shared/dtos/recherche-mission.dto';\r\nimport Suggestions from 'v-suggestions';\r\nimport 'v-suggestions/dist/v-suggestions.css';\r\nimport store from '@/shared/store';\r\nimport { BTable } from 'bootstrap-vue';\r\nimport { SortAriaLabelDirective } from '@/shared/directives/sort-aria-label.directive';\r\nimport { RechercheLocalisationMissionDto } from '@/shared/dtos/recherche-localisation-mission.dto';\r\nimport { addressInputChange, geocode } from '@/shared/utilities/google-maps.utility';\r\nimport { ResultatRechercheMissionDto } from '@/shared/dtos/resultat-recherche-mission.dto';\r\nimport { required } from 'vuelidate/lib/validators';\r\nVue.directive('sort-aria-label', SortAriaLabelDirective);\r\n\r\n@Component({\r\n name: 'Recherche',\r\n components: {\r\n BasicLayout,\r\n HeaderTitle,\r\n Suggestions,\r\n },\r\n validations: {\r\n model: {\r\n duree: {\r\n required,\r\n },\r\n },\r\n },\r\n})\r\nexport default class Recherche extends Vue {\r\n public model: RechercheMissionDto = new RechercheMissionDto();\r\n public naturesBiens: NatureBien[] = [\r\n {\r\n id: 0,\r\n title: '',\r\n types: [],\r\n },\r\n ];\r\n public typesBiens: Label[] = [\r\n {\r\n id: 0,\r\n title: '',\r\n },\r\n ];\r\n\r\n public optionsSuggestions: any = {\r\n placeholder: 'Saisissez une adresse, une ville, un département ou bien une région',\r\n inputClass: 'v-suggestions-input fs-1 recherche-component-form-localisation',\r\n };\r\n\r\n public localisation: any = '';\r\n public apiKey: string = Vue.prototype.$config.googleMapApiKey;\r\n public googleMapsApi: any = null;\r\n public autoCompleteService: any = null;\r\n public geocoderService: any = null;\r\n public sessionToken: any = null;\r\n\r\n public missions: ResultatRechercheMissionDto[] = [];\r\n public fields: any[] = [\r\n {\r\n key: 'reference',\r\n label: 'Référence',\r\n sortable: true,\r\n class: 'text-left',\r\n },\r\n {\r\n key: 'emprunteur',\r\n label: 'Emprunteur',\r\n sortable: true,\r\n class: 'text-left',\r\n },\r\n {\r\n key: 'natureBienString',\r\n label: 'Nature du bien',\r\n sortable: true,\r\n class: 'text-left',\r\n },\r\n {\r\n key: 'typeBienString',\r\n label: 'Type de bien',\r\n sortable: true,\r\n class: 'text-left',\r\n },\r\n {\r\n key: 'adresse',\r\n label: 'Adresse',\r\n sortable: true,\r\n class: 'text-left',\r\n },\r\n {\r\n key: 'dateRestitution',\r\n label: 'Date de restitution',\r\n sortable: true,\r\n class: 'text-left',\r\n },\r\n {\r\n key: 'valeurMin',\r\n label: 'Valeur Min',\r\n sortable: true,\r\n class: 'text-right',\r\n },\r\n {\r\n key: 'valeurMax',\r\n label: 'Valeur Max',\r\n sortable: true,\r\n class: 'text-right',\r\n },\r\n {\r\n key: 'surfaceHabitable',\r\n label: 'Surf. habitable',\r\n sortable: true,\r\n class: 'text-right',\r\n },\r\n {\r\n key: 'surfaceTerrain',\r\n label: 'Surf. du terrain',\r\n sortable: true,\r\n class: 'text-right',\r\n },\r\n {\r\n key: 'hasPieceJointeRapport',\r\n label: '',\r\n sortable: false,\r\n },\r\n ];\r\n public perPage = 10;\r\n public currentPage = 1;\r\n\r\n //#region LIFE CYCLES\r\n\r\n public beforeMount(): void {\r\n this.naturesBiens.push(...Vue.prototype.$bienService.getBiens());\r\n }\r\n\r\n public mounted(): void {\r\n this.sessionToken = new Vue.prototype.$googleMapsApi.places.AutocompleteSessionToken();\r\n this.autoCompleteService = new Vue.prototype.$googleMapsApi.places.AutocompleteService();\r\n this.geocoderService = new Vue.prototype.$googleMapsApi.Geocoder();\r\n }\r\n\r\n //#endregion\r\n\r\n //#region COMPUTED\r\n get rows(): number {\r\n return this.missions.length;\r\n }\r\n //#endregion\r\n\r\n //#region WATCH\r\n\r\n public async onLocalisationInputChange(value: string): Promise {\r\n return await addressInputChange(value, this.autoCompleteService, this.sessionToken);\r\n }\r\n //#endregion\r\n\r\n //#region EVENTS\r\n\r\n public onNatureBienChange(natureBienId: number): void {\r\n this.typesBiens = [\r\n {\r\n id: 0,\r\n title: '',\r\n },\r\n ];\r\n this.model.typeBienId = 0;\r\n\r\n if (natureBienId !== 0) {\r\n this.typesBiens.push(...Vue.prototype.$bienService.getTypesBiensByNatureBienId(natureBienId));\r\n }\r\n }\r\n\r\n public onLocalisationSelected(value: any): any {\r\n this.geocode({ address: value }).then(this.setLocalisationValue);\r\n }\r\n\r\n public onLocalisationClear(): void {\r\n this.localisation = null;\r\n }\r\n\r\n public onRechercheSubmit(event: any): void {\r\n event.preventDefault();\r\n\r\n if (this.$v.model.$invalid) {\r\n this.$v.model.$touch();\r\n return;\r\n }\r\n\r\n store.isLoading = true;\r\n Vue.prototype.$missionApiService\r\n .search(this.model)\r\n .then((missions: ResultatRechercheMissionDto[]) => {\r\n this.missions = missions;\r\n (this.$refs.missions as BTable).refresh();\r\n })\r\n .finally(() => {\r\n store.isLoading = false;\r\n });\r\n }\r\n\r\n public onRapportClick(expertiseId: number): void {\r\n store.isLoading = true;\r\n Vue.prototype.$expertiseApiService\r\n .getRapportById(expertiseId)\r\n .then((response: any) => {\r\n let blob = new Blob([response.data], { type: 'application/pdf' });\r\n var blobUrl = URL.createObjectURL(blob);\r\n window.open(blobUrl, '_blank');\r\n })\r\n .finally(() => {\r\n store.isLoading = false;\r\n });\r\n }\r\n\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n\r\n public geocode(parameters: any): any {\r\n return geocode(this.geocoderService, parameters);\r\n }\r\n\r\n private setLocalisationValue(place: any): void {\r\n this.localisation = place.formatted_address;\r\n this.model.localisation = this.mapPlaceGoogleMapsToLocalisation(place);\r\n }\r\n\r\n private mapPlaceGoogleMapsToLocalisation(place: any): RechercheLocalisationMissionDto {\r\n const adresseGoogleMapsForm: any = {\r\n street_number: 'short_name',\r\n route: 'long_name',\r\n postal_code: 'short_name',\r\n locality: 'long_name',\r\n administrative_area_level_1: 'long_name',\r\n country: 'long_name',\r\n };\r\n\r\n const result: any = [];\r\n for (const address of place.address_components) {\r\n const addressType: any = address.types[0];\r\n if (adresseGoogleMapsForm[addressType]) {\r\n result[addressType] = address[adresseGoogleMapsForm[addressType]];\r\n }\r\n }\r\n\r\n let localisation: RechercheLocalisationMissionDto = new RechercheLocalisationMissionDto();\r\n\r\n if (result.street_number) {\r\n localisation.numero = result.street_number;\r\n }\r\n\r\n if (result.route) {\r\n localisation.voie = result.route;\r\n }\r\n\r\n if (result.postal_code) {\r\n localisation.codePostal = result.postal_code;\r\n }\r\n\r\n if (result.locality) {\r\n localisation.ville = result.locality;\r\n }\r\n\r\n if (result.administrative_area_level_1) {\r\n localisation.region = result.administrative_area_level_1;\r\n }\r\n\r\n return localisation;\r\n }\r\n\r\n //#endregion\r\n}\r\n","export enum StatutVisaEnum {\r\n Accepte = 2940435,\r\n Refuse = 2940436,\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./recherche.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./recherche.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./recherche.vue?vue&type=template&id=53aa2f1c&scoped=true&\"\nimport script from \"./recherche.vue?vue&type=script&lang=ts&\"\nexport * from \"./recherche.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./recherche.vue?vue&type=style&index=0&lang=scss&\"\nimport style1 from \"./recherche.vue?vue&type=style&index=1&id=53aa2f1c&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 \"53aa2f1c\",\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('basic-layout',[_c('b-container',{staticClass:\"missions-a-controler-component content\",attrs:{\"slot\":\"body\",\"fluid\":\"\"},slot:\"body\"},[_c('header-title',{attrs:{\"title\":\"Liste des missions à contrôler\"}}),_c('b-row',[_c('b-table',{attrs:{\"striped\":\"\",\"stacked\":\"sm\",\"hover\":\"\",\"responsive\":\"\",\"items\":_vm.missions,\"fields\":_vm.fields,\"label-sort-asc\":\"Colonne - Cliquez pour trier par ordre ascendant\",\"label-sort-desc\":\"Colonne - Cliquez pour trier par ordre descendant\",\"show-empty\":\"\",\"emptyText\":\"Aucune mission vous est affectée\",\"caption-top\":\"\",\"per-page\":_vm.perPage,\"current-page\":_vm.currentPage},scopedSlots:_vm._u([{key:\"head()\",fn:function(scope){return [_c('div',{directives:[{name:\"sort-aria-label\",rawName:\"v-sort-aria-label\",value:(scope.label),expression:\"scope.label\"}]},[_vm._v(_vm._s(scope.label))])]}},{key:\"cell(dateVisite)\",fn:function(data){return [_vm._v(\" \"+_vm._s(_vm._f(\"moment\")(data.item.dateVisite,'DD/MM/YYYY'))+\" \")]}},{key:\"cell(openMission)\",fn:function(data){return [_c('router-link',{staticClass:\"btn btn-secondary btn-sm\",attrs:{\"to\":data.value,\"aria-label\":'Ouvrir le rapport ' + data.item.reference}},[_vm._v(\" Ouvrir le rapport \")])]}}])}),_c('b-pagination',{attrs:{\"total-rows\":_vm.rows,\"per-page\":_vm.perPage,\"aria-controls\":\"table-missions\",\"label-first-page\":\"Première page\",\"label-last-page\":\"Dernière page\",\"label-prev-page\":\"Page précédente\",\"label-next-page\":\"Page suivante\",\"label-page\":\"Aller à la page\"},model:{value:(_vm.currentPage),callback:function ($$v) {_vm.currentPage=$$v},expression:\"currentPage\"}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport BasicLayout from './layouts/basic.layout.vue';\r\nimport { SortAriaLabelDirective } from '@/shared/directives/sort-aria-label.directive';\r\nimport { Component, Vue } from 'vue-property-decorator';\r\nimport HeaderTitle from '@/shared/components/header-title.vue';\r\nimport { getTypePrestationExpertiseEnumName } from '@/shared/utilities/enums.utility';\r\nimport store from '@/shared/store';\r\nimport { TypePrestationExpertiseEnum } from '@/shared/enums/type-prestation-expertise.enum';\r\nimport { MissionDto } from '@/shared/dtos/mission.dto';\r\nimport { StatutVisaEnum } from '@/shared/enums/visa-statut.enum';\r\n\r\nVue.directive('sort-aria-label', SortAriaLabelDirective);\r\n\r\n@Component({\r\n name: 'MissionsAController',\r\n components: {\r\n BasicLayout,\r\n HeaderTitle,\r\n },\r\n})\r\nexport default class MissionsAController extends Vue {\r\n public store = store;\r\n public missions: MissionDto[] = null;\r\n\r\n public fields: any = [\r\n {\r\n key: 'reference',\r\n label: 'Référence',\r\n sortable: true,\r\n },\r\n {\r\n key: 'dateVisite',\r\n label: 'Date mission',\r\n sortable: true,\r\n },\r\n {\r\n key: 'contactNomPrenom',\r\n label: 'Mandant',\r\n sortable: true,\r\n },\r\n {\r\n key: 'societeNom',\r\n label: 'Client',\r\n sortable: true,\r\n },\r\n {\r\n key: 'expertise.expert',\r\n label: 'CDM',\r\n sortable: true,\r\n },\r\n {\r\n key: 'typePrestationExpertise',\r\n label: 'Objet',\r\n sortable: true,\r\n formatter: (value: TypePrestationExpertiseEnum) => {\r\n return getTypePrestationExpertiseEnumName(value);\r\n },\r\n },\r\n {\r\n key: 'bien.adresseComplete',\r\n label: 'Adresse',\r\n sortable: true,\r\n },\r\n {\r\n key: 'expertise.dataRapport.valeurVenaleMin',\r\n label: 'Valeur min.',\r\n sortable: true,\r\n },\r\n {\r\n key: 'expertise.dataRapport.valeurVenaleMax',\r\n label: 'Valeur max.',\r\n sortable: true,\r\n },\r\n {\r\n key: 'expertise.suiviMission.statutVisa',\r\n label: 'Visée',\r\n sortable: true,\r\n formatter: (value: any, key: any, item: MissionDto) => {\r\n return item.expertise.suiviMission.statutVisa === StatutVisaEnum.Accepte ? 'OUI' : 'NON';\r\n },\r\n },\r\n {\r\n key: 'expert.nomComplet',\r\n label: 'Expert',\r\n sortable: true,\r\n },\r\n {\r\n key: 'openMission',\r\n label: '',\r\n sortable: false,\r\n formatter: (value: any, key: any, item: MissionDto) => {\r\n return '/missions/' + item.id + '/' + item.typePrestationExpertiseString;\r\n },\r\n },\r\n ];\r\n\r\n public perPage = 10;\r\n public currentPage = 1;\r\n\r\n //#region LIFE CYCLES\r\n beforeMount(): void {\r\n this.missions = this.$route.meta.missions as MissionDto[];\r\n }\r\n //#endregion\r\n\r\n //#region COMPUTED\r\n get rows(): number {\r\n return this.missions.length;\r\n }\r\n //#endregion\r\n\r\n //#region EVENTS\r\n\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n\r\n //#endregion\r\n}\r\n","export enum SubjectMessageTypeEnum {\r\n INIT_DONNEES_ESTIMATION_IMMOBILIERES,\r\n REFRESH_DONNEES_ESTIMATION_IMMOBILIERES,\r\n SHOW_MERGE_MISSION_MODAL,\r\n REFRESH_VALEURS_DATA,\r\n REMOVE_MAIN_PHOTO,\r\n BACK,\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./missions-a-controler.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./missions-a-controler.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./missions-a-controler.vue?vue&type=template&id=3c92d7c4&scoped=true&\"\nimport script from \"./missions-a-controler.vue?vue&type=script&lang=ts&\"\nexport * from \"./missions-a-controler.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./missions-a-controler.vue?vue&type=style&index=0&id=3c92d7c4&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 \"3c92d7c4\",\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.mission && _vm.hasAccess)?_c('prestation-expertise-layout',[_c('template',{slot:\"prestation-expertise-layout-component-header\"},[_c('div',{staticClass:\"prestation-expertise-layout-component-header-title\"},[_vm._v(\" \"+_vm._s(_vm.mission.emprunteur)+\" \"),_c('br'),_vm._v(\" \"+_vm._s(_vm.mission.reference)+\" \")]),_c('prestation-expertise-header-actions',{attrs:{\"isReadOnly\":_vm.isReadOnly || _vm.isSaving,\"isSaving\":_vm.isSaving,\"isExporting\":_vm.isExporting,\"isDepositing\":_vm.isDepositing,\"mission\":_vm.mission,\"lastPrestationExpertiseVersionHistory\":_vm.lastPrestationExpertiseVersionHistory},on:{\"saveButtonClicked\":_vm.onEmitSaveButtonClicked,\"exportButtonClicked\":_vm.onEmitExportButtonClicked,\"deposerButtonClicked\":_vm.onEmitDeposerButtonClicked}},[_c('template',{slot:\"other-desktop-actions\"},[(_vm.$can('RechercheComparable', 'Rapport'))?_c('b-button',{attrs:{\"variant\":\"light\",\"aria-label\":\"Consulter les missions comparables\",\"disabled\":_vm.isReadOnly || _vm.isSearchingComparables},on:{\"click\":function($event){_vm.isPanelComparablesVisible = true}}},[_c('font-awesome-icon',{attrs:{\"icon\":\"store-alt\",\"aria-hidden\":\"true\"}})],1):_vm._e(),_c('b-button',{directives:[{name:\"b-modal\",rawName:\"v-b-modal.notes\",modifiers:{\"notes\":true}}],attrs:{\"variant\":\"light\",\"aria-label\":\"Ecrire des notes\"}},[_c('font-awesome-icon',{attrs:{\"icon\":\"pencil-alt\",\"aria-hidden\":\"true\"}}),(_vm.rapport.notesExpert)?_c('b-badge',{staticClass:\"badge-top ml-1\",attrs:{\"variant\":\"info\",\"pill\":\"\"}},[_vm._v(\"1\")]):_vm._e()],1),_c('div',[_c('b-input-group',{class:{\n frais: true,\n }},[_c('b-input-group-prepend',[_c('span',{staticClass:\"input-group-text\",class:{ invalid: !_vm.$v.mission.prestationExpertise.nbKmEffectues.$error === false }},[_c('font-awesome-icon',{staticClass:\"fa-lg\",attrs:{\"icon\":\"car\",\"fixed-width\":\"\"}})],1)]),_c('numeric-nullable',{attrs:{\"disabled\":_vm.isFraisDisabled,\"placeholder\":\"ex: 32,00\",\"state\":_vm.$v.mission.prestationExpertise.nbKmEffectues.$error === false},model:{value:(_vm.rapport.nbKmEffectues),callback:function ($$v) {_vm.$set(_vm.rapport, \"nbKmEffectues\", $$v)},expression:\"rapport.nbKmEffectues\"}}),_c('b-input-group-append',[_c('span',{staticClass:\"input-group-text\",class:{ invalid: !_vm.$v.mission.prestationExpertise.nbKmEffectues.$error === false }},[_vm._v(\" km \")])])],1)],1)],1),_c('template',{slot:\"other-mobile-actions\"},[_c('b-button',{directives:[{name:\"b-modal\",rawName:\"v-b-modal.notes\",modifiers:{\"notes\":true}}],attrs:{\"variant\":\"light\",\"aria-label\":\"Ecrire des notes\"}},[_c('font-awesome-icon',{attrs:{\"icon\":\"pencil-alt\",\"aria-hidden\":\"true\"}}),(_vm.rapport.notesExpert)?_c('b-badge',{staticClass:\"badge-top ml-1\",attrs:{\"variant\":\"info\",\"pill\":\"\"}},[_vm._v(\"1\")]):_vm._e()],1)],1)],2)],1),_c('template',{slot:\"prestation-expertise-layout-component-content-desktop-navigation-menu\"},[_c('prestation-expertise-desktop-menu',{attrs:{\"componentsSections\":_vm.componentsSections,\"currentComponentSection\":_vm.currentComponentSection,\"color\":_vm.color,\"validation\":_vm.$v,\"notes\":_vm.rapport.notes},on:{\"componentSectionChanged\":_vm.onEmitComponentSectionChanged}})],1),_c('template',{slot:\"prestation-expertise-layout-component-content-body\"},[_c('prestation-expertise-sections',{attrs:{\"componentsSections\":_vm.isBrowser ? _vm.componentsSections : _vm.componentsSectionsForMobile,\"currentComponentSection\":_vm.currentComponentSection,\"businessEntries\":_vm.businessEntries,\"societeSettings\":_vm.societeSettings,\"validation\":_vm.$v,\"color\":_vm.color,\"isReadOnly\":_vm.isReadOnly},model:{value:(_vm.mission),callback:function ($$v) {_vm.mission=$$v},expression:\"mission\"}}),_c('b-modal',{attrs:{\"id\":\"notes\",\"title\":\"Notes\",\"centered\":\"\",\"title-sr-only\":\"\",\"header-class\":\"border-bottom-0 pb-0\",\"body-class\":\"py-0\",\"header-close-label\":\"Fermer les notes\",\"hide-footer\":\"\"}},[_c('b-form-group',{attrs:{\"label\":\"Notes\",\"label-for\":\"txtNotes\",\"label-class\":\"modal-notes-label\"}},[_c('b-form-textarea',{attrs:{\"id\":\"txtNotes\",\"rows\":\"10\"},model:{value:(_vm.rapport.notesExpert),callback:function ($$v) {_vm.$set(_vm.rapport, \"notesExpert\", $$v)},expression:\"rapport.notesExpert\"}})],1)],1),_c('panel-comparables',{attrs:{\"isVisible\":_vm.isPanelComparablesVisible,\"comparables\":_vm.comparables},on:{\"visibleChanged\":function($event){_vm.isPanelComparablesVisible = $event},\"comparableSelected\":function($event){return _vm.onEmitComparable($event)}}}),_c('b-modal',_vm._b({ref:\"modalSuppression\",on:{\"hidden\":function($event){_vm.modalSuppression.visible = false}}},'b-modal',_vm.modalSuppression,false),[_c('p',{staticClass:\"my-4\"},[_vm._v(_vm._s(_vm.modalSuppression.content))])]),_c('prestation-expertise-mission-merge',{on:{\"mergeAccepted\":function($event){return _vm.onEmitMergeMission($event)}}})],1),_c('template',{slot:\"prestation-expertise-layout-component-mobile-navigation-menu\"},[_c('prestation-expertise-mobile-menu',{attrs:{\"componentsSections\":_vm.componentsSectionsForMobile,\"currentComponentSection\":_vm.currentComponentSection,\"color\":_vm.color},on:{\"componentSectionChanged\":_vm.onEmitComponentSectionChanged}})],1),_c('b-toast',{attrs:{\"id\":\"apposer-visa-toast\",\"solid\":\"\",\"no-auto-hide\":\"\",\"no-close-button\":\"\"},scopedSlots:_vm._u([{key:\"toast-title\",fn:function(){return [_c('div',{staticClass:\"d-flex flex-grow-1 align-items-center\"},[_c('spinner',{attrs:{\"size\":15,\"depth\":2,\"color\":\"white\"}}),_c('strong',{staticClass:\"ml-1\"},[_vm._v(\"Validation du visa...\")])],1)]},proxy:true}],null,false,2069950669)},[_vm._v(\" Laissez cette page ouverte pour permettre la validation du visa \")]),_c('b-toast',{attrs:{\"id\":\"refus-visa-toast\",\"solid\":\"\",\"no-auto-hide\":\"\",\"no-close-button\":\"\"},scopedSlots:_vm._u([{key:\"toast-title\",fn:function(){return [_c('div',{staticClass:\"d-flex flex-grow-1 align-items-center\"},[_c('spinner',{attrs:{\"size\":15,\"depth\":2,\"color\":\"white\"}}),_c('strong',{staticClass:\"ml-1\"},[_vm._v(\"Refus du visa...\")])],1)]},proxy:true}],null,false,3107257009)},[_vm._v(\" Laissez cette page ouverte pour permettre le refus du visa \")])],2):_vm._e()}\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:\"prestation-expertise-layout-component\"},[_c('header',{staticClass:\"prestation-expertise-layout-component-header\"},[(!_vm.isSoustraitant || (_vm.isSoustraitant && _vm.comeFromLoginPage))?_c('back-button',{attrs:{\"defaultBackUrl\":\"/agenda\"}}):_vm._e(),_c('div',{staticClass:\"prestation-expertise-layout-component-header-custom-part\",class:_vm.isBrowser ? 'desktop' : 'mobile'},[_vm._t(\"prestation-expertise-layout-component-header\")],2)],1),_c('div',{staticClass:\"prestation-expertise-layout-component-content\",class:_vm.isBrowser ? 'desktop' : 'mobile'},[(_vm.isBrowser)?_c('nav',{staticClass:\"prestation-expertise-layout-component-content-desktop-navigation-menu\"},[_vm._t(\"prestation-expertise-layout-component-content-desktop-navigation-menu\")],2):_vm._e(),_c('main',{staticClass:\"prestation-expertise-layout-component-content-body\",class:_vm.isBrowser ? 'desktop' : 'mobile',attrs:{\"role\":\"main\",\"id\":\"main\"}},[_vm._t(\"prestation-expertise-layout-component-content-body\")],2)]),(_vm.isMobile)?_c('nav',{staticClass:\"prestation-expertise-layout-component-mobile-navigation-menu\"},[_vm._t(\"prestation-expertise-layout-component-mobile-navigation-menu\")],2):_vm._e()])}\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:\"back-button-component\"},[_c('b-button',{attrs:{\"variant\":\"outline-primary\",\"title\":_vm.title ? _vm.title : 'Retour à la page précédente'},on:{\"click\":_vm.onBackButtonClick}},[_c('font-awesome-icon',{attrs:{\"icon\":\"chevron-left\",\"aria-hidden\":\"true\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\nimport { SubjectMessage } from '../models/subject-message';\r\nimport { SubjectMessageTypeEnum } from '../enums/subject-message-type.enum';\r\nimport { first } from 'rxjs/operators';\r\nimport store from '../store';\r\n@Component({\r\n name: 'BackButton',\r\n})\r\nexport default class BackButton extends Vue {\r\n @Prop() public title?: string;\r\n @Prop() public backUrl?: string;\r\n @Prop() public defaultBackUrl?: string;\r\n\r\n //#region LIFE CYCLES\r\n public beforeMount(): void {\r\n Vue.prototype.$subjectMessageService.subject.pipe(first()).subscribe((subjectMessage: SubjectMessage) => {\r\n if (subjectMessage.type === SubjectMessageTypeEnum.BACK) {\r\n this.onBackButtonClick();\r\n }\r\n });\r\n }\r\n //#endregion\r\n\r\n //#endregion\r\n\r\n //#region WATCH\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n public onBackButtonClick(): void {\r\n const backUrl = this.getBackUrl();\r\n if (backUrl.indexOf('connexion') !== -1 && store.isLogged) {\r\n this.$router.push('/agenda');\r\n return;\r\n }\r\n this.$router.push(this.backUrl ? this.backUrl : backUrl ? backUrl : this.defaultBackUrl);\r\n }\r\n\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n private getBackUrl(): string {\r\n const backUrlHistory = Vue.prototype.$localStorageService.getBackUrlHistory() as any[];\r\n\r\n return backUrlHistory.length ? backUrlHistory[backUrlHistory.length - 1].from : null;\r\n }\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./back-button.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./back-button.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./back-button.vue?vue&type=template&id=1a8aee4e&scoped=true&\"\nimport script from \"./back-button.vue?vue&type=script&lang=ts&\"\nexport * from \"./back-button.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./back-button.vue?vue&type=style&index=0&id=1a8aee4e&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 \"1a8aee4e\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Mixins } from 'vue-property-decorator';\r\nimport DeviceMixin from '@/mixins/device.mixin';\r\nimport BackButton from '@/shared/components/back-button.vue';\r\nimport store from '@/shared/store';\r\nimport roles from '@/shared/constants/roles.const';\r\n\r\n@Component({\r\n name: 'PrestationExpertiseLayout',\r\n components: { BackButton },\r\n})\r\nexport default class PrestationExpertiseLayout extends Mixins(DeviceMixin) {\r\n public isSoustraitant = store.user.roles.includes(roles.SousTraitant);\r\n public comeFromLoginPage = store.comeFromLoginPage;\r\n\r\n //#region LIFE CYCLES\r\n //#endregion\r\n //#region COMPUTED\r\n //#endregion\r\n //#region WATCH\r\n //#endregion\r\n //#region EVENTS\r\n //#endregion\r\n //#region FUNCTIONS\r\n //#endregion\r\n}\r\n","export enum TypePieceJointeRapportEnum {\r\n SectionTerrain = 1,\r\n SectionGrosOeuvre = 2,\r\n SectionSurface = 3,\r\n PlanCadastre = 4,\r\n Cuisine = 5,\r\n SalleDeBain = 6,\r\n ComparableVente = 7,\r\n ComparableLocation = 8,\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise.layout.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise.layout.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./prestation-expertise.layout.vue?vue&type=template&id=192de82c&\"\nimport script from \"./prestation-expertise.layout.vue?vue&type=script&lang=ts&\"\nexport * from \"./prestation-expertise.layout.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./prestation-expertise.layout.vue?vue&type=style&index=0&lang=scss&\"\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-alert */\r\n\r\nimport { Component, Mixins, Provide, Vue, Watch } from 'vue-property-decorator';\r\nimport DeviceMixin from '@/mixins/device.mixin';\r\nimport { PrestationExpertisePieceJointeDto } from '@/shared/dtos/prestation-expertise/prestation-expertise-piece-jointe.dto';\r\nimport { ComponentSection } from '@/shared/models/component-section';\r\nimport store from '@/shared/store';\r\nimport roles from '@/shared/constants/roles.const';\r\nimport * as _ from 'lodash';\r\nimport { BModal } from 'bootstrap-vue';\r\nimport { EtapeMissionEnum } from '@/shared/enums/etape-mission.enum';\r\nimport { MissionDto } from '@/shared/dtos/mission.dto';\r\nimport { Guid } from 'guid-typescript';\r\nimport { TypePrestationExpertisePieceJointeEnum } from '@/shared/enums/type-prestation-expertise-piece-jointe.enum';\r\nimport { TypePrestationExpertiseEnum } from '@/shared/enums/type-prestation-expertise.enum';\r\nimport { RapportExpertiseDto } from '@/shared/dtos/rapport-expertise.dto';\r\nimport { SubjectMessageTypeEnum } from '@/shared/enums/subject-message-type.enum';\r\nimport { MergeDto } from '@/shared/dtos/merge.dto';\r\nimport { PrestationExpertiseProprietesDto } from '@/shared/dtos/prestation-expertise/prestation-expertise-proprietes.dto';\r\nimport { PrestationExpertiseVersionHistoryDto } from '@/shared/dtos/prestation-expertise/prestation-expertise-version-history.dto';\r\nimport moment, { invalid } from 'moment';\r\nimport { TypePieceJointeRapportEnum } from '@/shared/enums/type-piece-jointe-rapport.enum';\r\nimport { isContratTypePrestationNotCertificatExpertise } from '@/helpers/rapport-expertise.helper';\r\nimport { PrestationExpertiseDto } from '@/shared/dtos/prestation-expertise/prestation-expertise.dto';\r\nimport { SocieteSettings } from '@/shared/models/societe-settings.model';\r\n\r\nComponent.registerHooks(['beforeRouteLeave']);\r\n@Component({})\r\n// Cannot create an abstract class with @Component decorator\r\n// Cannot create constructor with arguments with @Component decorator\r\n// Have to use throw not implemented to emulate abstraction\r\nexport default class PrestationExpertise extends Mixins(DeviceMixin) {\r\n private _saveInterval: any;\r\n private _modalSuppressionDefaults: any = {\r\n content: 'Êtes-vous sûr de vouloir supprimer cet élément ?',\r\n // il faut utiliser les mêmes noms que les propriétés de b-modal pour les binder automatiquement\r\n visible: false,\r\n title: 'Supprimer cet élément',\r\n 'ok-title': 'Oui',\r\n 'ok-variant': 'primary',\r\n 'cancel-title': 'Non',\r\n 'cancel-variant': 'light',\r\n };\r\n private _hasErrorOccuredWhenSaving = false;\r\n\r\n protected _hasMissionChanged: boolean;\r\n protected _hasPrestationExpertiseChanged: boolean;\r\n protected _needToByPasseHasPrestationExpertiseChanged: boolean;\r\n protected _needToBeSaved: boolean = true;\r\n\r\n public mission: MissionDto = null;\r\n public societeSettings: SocieteSettings = null;\r\n public lastPrestationExpertiseVersionHistory: PrestationExpertiseVersionHistoryDto = null;\r\n public businessEntries: any = null;\r\n public componentsSections: ComponentSection[] = [];\r\n public currentComponentSection: ComponentSection = null;\r\n public validation: any = null;\r\n public hasAccess: boolean = true;\r\n\r\n public isSaving: boolean = false;\r\n public isExporting: boolean = false;\r\n public isDepositing: boolean = false;\r\n\r\n public modalSuppression: any = {};\r\n\r\n @Provide('addPieceJointe') addPieceJointeProvide: any = this.addPieceJointe;\r\n @Provide('deletePieceJointeByIdAndType') deletePieceJointeByIdAndTypeProvide: any = this.deletePieceJointeByIdAndType;\r\n @Provide('renamePieceJointe') renamePieceJointeProvide: any = this.renamePieceJointe;\r\n @Provide('updateOrdrePiecesJointes') updateOrdrePiecesJointesProvide: any = this.updateOrdrePiecesJointes;\r\n @Provide('confirmDelete') confirmDeleteProvide: any = this.confirmDelete;\r\n @Provide('updateGeolocalisation') updateGeolocalisationProvide: any = this.updateGeolocalisation;\r\n\r\n //#region LIFE CYCLES\r\n public beforeMount(): void {\r\n this.mission = this.$route.meta.mission;\r\n this.societeSettings = this.$route.meta.societeSettings;\r\n this.businessEntries = Vue.prototype.$localStorageService.getBusinessEntries();\r\n this._hasMissionChanged = false;\r\n this._hasPrestationExpertiseChanged = false;\r\n this._needToByPasseHasPrestationExpertiseChanged = false;\r\n this.validation = this.$v;\r\n Vue.prototype.$missionApiService.deleteAllScenarioRenovationByRapportId(this.mission.prestationExpertise.id);\r\n\r\n // Remove old missions from the cache only for non master SousTraitant\r\n if (store.user.roles.includes(roles.SousTraitant) && !store.comeFromLoginPage) {\r\n Vue.prototype.$missionStoreService.deleteLowerEntriesByPropertyAndValue('dateVisite', moment().subtract(30, 'days'), true);\r\n }\r\n\r\n if (\r\n this.mission.expertise.suiviMission.dateDeRestitution &&\r\n moment(this.mission.expertise.suiviMission.dateDeRestitution) < moment().add(-30, 'days') &&\r\n store.user.roles.includes(roles.SousTraitant) &&\r\n !store.comeFromLoginPage\r\n ) {\r\n this.hasAccess = false;\r\n Vue.prototype.$notificationService.success(`Vous n'avez plus accès à ce rapport`);\r\n } else {\r\n if (this.isBrowser) {\r\n // Check for PrestationExpertise updates and conflicts only for the Desktop\r\n this.getLastHistory(true);\r\n }\r\n\r\n this._saveInterval = setInterval(async () => {\r\n if (!this.isReadOnly) {\r\n await this.saveInStorage();\r\n }\r\n }, 3000);\r\n }\r\n }\r\n\r\n public mounted(): void {\r\n if (this.hasAccess) {\r\n this.filterComponentSections();\r\n\r\n setTimeout(() => {\r\n this.$watch(\r\n 'mission.dateVisite',\r\n async () => {\r\n if (!this.mission.dateVisite) return;\r\n\r\n const logMessage = `Mise à jour de la date de visite de la prestation d'expertise attachée à la mission: ${this.mission.reference}`;\r\n\r\n await Vue.prototype.$logStoreService.info(`${logMessage} - START`, 'PrestationExpertise');\r\n\r\n Vue.prototype.$missionApiService\r\n .updateDateVisite(this.mission.id, this.mission.dateVisite)\r\n .then(async () => {\r\n Vue.prototype.$notificationService.success(`La date de visite a bien été mise à jour`);\r\n await Vue.prototype.$logStoreService.info(`${logMessage} - END`, 'PrestationExpertise');\r\n })\r\n .catch(async (error: any) => {\r\n Vue.prototype.$notificationService.error(`Erreur lors de la mise à jour de la date de visite`);\r\n await Vue.prototype.$logStoreService.error(`${logMessage} - ERROR`, error, 'PrestationExpertise');\r\n });\r\n this._hasMissionChanged = true;\r\n },\r\n { deep: true }\r\n );\r\n\r\n this.$watch(\r\n 'mission.prestationExpertise',\r\n () => {\r\n this._hasPrestationExpertiseChanged = true;\r\n },\r\n { deep: true }\r\n );\r\n }, 100);\r\n }\r\n }\r\n\r\n public created() {\r\n window.addEventListener('beforeunload', this.handleUnload);\r\n }\r\n\r\n public async beforeRouteLeave(to: any, from: any, next: any): Promise {\r\n if (this._needToBeSaved && this.isBrowser) {\r\n var result = confirm('Les modifications que vous avez apportées ne seront peut-être pas enregistrées. Voulez-vous continuer ?');\r\n if (!result) {\r\n return next(false);\r\n } else {\r\n return next();\r\n }\r\n } else {\r\n return next();\r\n }\r\n }\r\n\r\n public async beforeDestroy(): Promise {\r\n window.removeEventListener('beforeunload', this.handleUnload);\r\n\r\n await this.saveInStorage();\r\n this._hasMissionChanged = false;\r\n this._hasPrestationExpertiseChanged = false;\r\n clearInterval(this._saveInterval);\r\n }\r\n\r\n //#endregion\r\n\r\n //#region COMPUTED\r\n get componentsSectionsForMobile(): ComponentSection[] {\r\n const componentsSectionsDepth1 = this.componentsSections\r\n .filter((componentSection: ComponentSection) => !componentSection.isOnlyForDesktop)\r\n .map((componentSection: ComponentSection) => componentSection.children);\r\n return componentsSectionsDepth1\r\n .reduce(\r\n (componentsSections1: ComponentSection[], componentsSections2: ComponentSection[]) =>\r\n componentsSections1.concat(componentsSections2),\r\n []\r\n )\r\n .filter((componentSection: ComponentSection) => !componentSection.isOnlyForDesktop);\r\n }\r\n\r\n get isReadOnly(): boolean {\r\n if (\r\n this.mission.prestationExpertise.proprietes &&\r\n (this.mission.prestationExpertise.proprietes as PrestationExpertiseProprietesDto).estEditionForcee &&\r\n (store.user.roles.includes(roles.AdminBPCEEI) || store.user.roles.includes(roles.Expert))\r\n ) {\r\n return false;\r\n }\r\n\r\n if (\r\n !this.$can('Save', 'Rapport') ||\r\n (this.mission.etape !== EtapeMissionEnum.AttribueeALExpert && this.mission.etape !== EtapeMissionEnum.ValeursARevoir) ||\r\n this.mission.expertise.suiviMission.estDepose\r\n ) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n get isLoading(): boolean {\r\n return store.isLoading || this.isSaving || this.isExporting || this.isDepositing;\r\n }\r\n\r\n get color(): string {\r\n throw new Error('Not implemented');\r\n }\r\n\r\n get darkenColor(): string {\r\n throw new Error('Not implemented');\r\n }\r\n\r\n //#endregion\r\n\r\n //#region WATCH\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n public onEmitComponentSectionChanged(componentSection: ComponentSection): void {\r\n this.currentComponentSection = componentSection;\r\n }\r\n\r\n public async onEmitSaveButtonClicked(): Promise {\r\n await this.save();\r\n }\r\n\r\n public async onEmitExportButtonClicked(): Promise {\r\n await this.export();\r\n }\r\n\r\n public onEmitDeposerButtonClicked(): void {\r\n this.deposer();\r\n }\r\n\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n private handleUnload(event: any): void {\r\n if (this._needToBeSaved && this.isBrowser) {\r\n event.preventDefault();\r\n event.returnValue = '';\r\n }\r\n }\r\n\r\n public filterComponentSections(): void {\r\n this.componentsSections = this.componentsSections.filter(\r\n (componentSection: ComponentSection) =>\r\n componentSection.isForCustomCondition === undefined || componentSection.isForCustomCondition === true\r\n );\r\n\r\n // Permission management\r\n this.componentsSections = this.filterWithPermissions(this.componentsSections);\r\n\r\n this.componentsSections.forEach((componentSection: ComponentSection) => {\r\n componentSection.children = this.filterWithPermissions(\r\n componentSection.children.filter((x) => x.isForCustomCondition === undefined || x.isForCustomCondition === true)\r\n );\r\n });\r\n\r\n this.currentComponentSection = this.isBrowser\r\n ? this.componentsSections[0]\r\n : this.componentsSectionsForMobile.find((componentSection: ComponentSection) => componentSection.isActive) ??\r\n this.componentsSectionsForMobile[0];\r\n }\r\n\r\n private filterWithPermissions(componentsSections: ComponentSection[]): ComponentSection[] {\r\n return componentsSections.filter((componentSection: ComponentSection) => {\r\n let permissionsParts = undefined;\r\n\r\n if (componentSection.permission) {\r\n permissionsParts = componentSection.permission.split('|');\r\n }\r\n\r\n return permissionsParts === undefined || this.$can(permissionsParts[0], permissionsParts[1]);\r\n });\r\n }\r\n\r\n protected cleanBeforeSaveInStorage(missionToClean: MissionDto): void {\r\n throw new Error('Not Implemented');\r\n }\r\n\r\n protected async cleanBeforeSave(): Promise {}\r\n\r\n protected touchDatas(): boolean {\r\n throw new Error('Not Implemented');\r\n }\r\n\r\n private async getLastHistory(isPopupDisplayed: boolean): Promise {\r\n await Vue.prototype.$prestationExpertiseVersionHistoryApiService\r\n .getWithRoute(`status/${this.mission.prestationExpertise.id}`)\r\n .then(async (prestationExpertiseVersionHistory: PrestationExpertiseVersionHistoryDto) => {\r\n if (isPopupDisplayed)\r\n Vue.prototype.$notificationService.success(`Version récupérée : ${prestationExpertiseVersionHistory.strLastVersion}`);\r\n\r\n this.lastPrestationExpertiseVersionHistory = prestationExpertiseVersionHistory;\r\n });\r\n }\r\n\r\n protected async saveInStorage(force = false): Promise {\r\n if (((this._hasMissionChanged || this._hasPrestationExpertiseChanged) && !this.isReadOnly) || force) {\r\n const dateModification = new Date();\r\n\r\n if (this._hasMissionChanged) this.mission.dateModification = dateModification;\r\n if (this._hasPrestationExpertiseChanged && !this._needToByPasseHasPrestationExpertiseChanged) {\r\n this.mission.prestationExpertise.dateModificationUtc = dateModification;\r\n this._needToBeSaved = true;\r\n }\r\n\r\n this.cleanBeforeSaveInStorage(this.mission);\r\n\r\n await Vue.prototype.$missionStoreService.addOrUpdate(this.mission);\r\n\r\n this._hasMissionChanged = false;\r\n this._hasPrestationExpertiseChanged = false;\r\n this._needToByPasseHasPrestationExpertiseChanged = false;\r\n }\r\n }\r\n\r\n protected async save(): Promise {\r\n if (this.isReadOnly) return;\r\n\r\n this.isSaving = true;\r\n this._hasErrorOccuredWhenSaving = false;\r\n\r\n this.$bvToast.show('save-toast');\r\n\r\n await this.cleanBeforeSave();\r\n\r\n await Vue.prototype.$missionApiService.deleteAllScenarioRenovationByRapportId(this.mission.prestationExpertise.id);\r\n\r\n if (this.mission.scenarioRenovation != null)\r\n this.mission.scenarioRenovation.renovationScenarios = this.mission.scenarioRenovation.renovationScenarios.filter(\r\n (scenario) => scenario.toExport === true\r\n );\r\n await Vue.prototype.$synchronizationService\r\n .updateMission(this.mission)\r\n .then((result: boolean) => {\r\n this._hasErrorOccuredWhenSaving = result;\r\n this._hasMissionChanged = false;\r\n this._hasPrestationExpertiseChanged = false;\r\n this._needToByPasseHasPrestationExpertiseChanged = false;\r\n this._needToBeSaved = false;\r\n\r\n this.getLastHistory(false);\r\n })\r\n .catch(async (error: any) => {\r\n this._hasErrorOccuredWhenSaving = true;\r\n })\r\n .finally(() => {\r\n this.isSaving = false;\r\n this.$bvToast.hide('save-toast');\r\n });\r\n\r\n if (!this._hasErrorOccuredWhenSaving) {\r\n Vue.prototype.$notificationService.success(`Données synchronisées avec succès.`);\r\n } else {\r\n Vue.prototype.$notificationService.error(`Une erreur est survenue lors de la synchronisation des données.`);\r\n }\r\n }\r\n\r\n protected async export(): Promise {\r\n if (!this.isReadOnly) {\r\n await this.save().then(async () => {\r\n if (this._hasErrorOccuredWhenSaving) {\r\n Vue.prototype.$notificationService.warn(`L'enregistrement à échoué, le rapport PDF risque d'être incomplet.`);\r\n }\r\n await this.processExport();\r\n });\r\n } else {\r\n await this.processExport();\r\n }\r\n }\r\n\r\n private async processExport(): Promise {\r\n this.isExporting = true;\r\n\r\n this.$bvToast.show('export-toast');\r\n\r\n const logMessage = `Téléchargement de la prestation d'expertise attachée à la mission: ${this.mission.reference}`;\r\n\r\n await Vue.prototype.$logStoreService.info(`${logMessage} - START`, 'PrestationExpertise');\r\n\r\n await this.axios\r\n .get(`Export/PrestationExpertise`, {\r\n baseURL: Vue.prototype.$config.baseUrlApi,\r\n responseType: 'blob',\r\n params: { missionId: this.mission.id },\r\n })\r\n .then(async (response: any) => {\r\n await Vue.prototype.$logStoreService.info(`${logMessage} - END`, 'PrestationExpertise');\r\n\r\n let blob = new Blob([response.data], { type: 'application/pdf' });\r\n\r\n let filename;\r\n try {\r\n let disposition = response.headers['content-disposition'];\r\n filename = decodeURI(disposition.match(/filename[^;=\\n]*=((['\"]).*?\\2|[^;\\n]*)/)[1]);\r\n } catch {\r\n filename = `${this.mission.typePrestationExpertiseString}_${this.mission.reference.replace('/', '_')}.pdf`;\r\n }\r\n\r\n //msSaveOrOpenBlob for IE\r\n const navigator: any = window.navigator;\r\n if (navigator && navigator.msSaveOrOpenBlob) {\r\n navigator.msSaveOrOpenBlob(blob, filename);\r\n } else {\r\n let link = document.createElement('a');\r\n link.href = window.URL.createObjectURL(blob);\r\n link.download = filename;\r\n document.body.appendChild(link); // fix for Firefox\r\n link.click();\r\n link.remove();\r\n }\r\n })\r\n .catch(async (error: any) => {\r\n Vue.prototype.$notificationService.error(`Une erreur est survenue lors du téléchargement de la prestation d'expertise.`);\r\n await Vue.prototype.$logStoreService.info(`${logMessage} - ERROR`, error, 'PrestationExpertise');\r\n })\r\n .finally(() => {\r\n this.isExporting = false;\r\n this.$bvToast.hide('export-toast');\r\n });\r\n }\r\n\r\n protected async deposer(): Promise {\r\n if (this.isReadOnly) return;\r\n\r\n if (this.touchDatas()) {\r\n this.$nextTick(() => {\r\n /* eslint-disable no-console */\r\n console.log(`Dépôt de la mission ${this.mission.reference} échoué`, this.validation);\r\n\r\n Vue.prototype.$notificationService.warn(`Veuillez compléter la prestation d'expertise avant de la déposer.`);\r\n\r\n const invalidElements = document.getElementsByClassName('invalid');\r\n\r\n if (invalidElements && invalidElements.length) {\r\n var invalidElement = invalidElements[0];\r\n invalidElement.scrollIntoView();\r\n }\r\n });\r\n return;\r\n }\r\n\r\n await this.save()\r\n .then(async () => {\r\n this.isDepositing = true;\r\n\r\n this.$bvToast.show('depot-toast');\r\n\r\n const logMessage = `Dépot de la prestation d'expertise attachée à la mission: ${this.mission.reference}`;\r\n\r\n await Vue.prototype.$logStoreService.info(`${logMessage} - START`, 'PrestationExpertise');\r\n\r\n await Vue.prototype.$expertiseApiService\r\n .deposer(this.mission.expertise.id, this.mission.id, this.mission.typePrestationExpertise)\r\n .then(async () => {\r\n this.mission.expertise.suiviMission.estDepose = true;\r\n await this.saveInStorage(true);\r\n\r\n await Vue.prototype.$logStoreService.info(`${logMessage} - END`, 'PrestationExpertise');\r\n\r\n Vue.prototype.$notificationService.success(`La prestation d'expertise a bien été déposée.`);\r\n\r\n if (\r\n [TypePrestationExpertiseEnum.CertificatExpertise, TypePrestationExpertiseEnum.RapportExpertise].includes(\r\n this.mission.typePrestationExpertise\r\n )\r\n ) {\r\n this._needToByPasseHasPrestationExpertiseChanged = true;\r\n\r\n (this.mission.prestationExpertise as RapportExpertiseDto).proprietes.estEditionForcee = false;\r\n }\r\n })\r\n .catch(async (error: any) => {\r\n Vue.prototype.$notificationService.error(`Une erreur est survenue lors du dépôt de la prestation d'expertise.`);\r\n await Vue.prototype.$logStoreService.error(`${logMessage} - ERROR`, error, 'PrestationExpertise');\r\n })\r\n .finally(() => {\r\n this.isDepositing = false;\r\n });\r\n })\r\n .finally(() => {\r\n this.isDepositing = false;\r\n this.$bvToast.hide('depot-toast');\r\n });\r\n }\r\n\r\n public async addPieceJointe(type: string, base64Content: string, nom: string): Promise {\r\n const pieceJointe: PrestationExpertisePieceJointeDto = {\r\n id: Guid.EMPTY,\r\n type: type as unknown as TypePrestationExpertisePieceJointeEnum,\r\n content: base64Content,\r\n nom: nom,\r\n ordre: this.mission.prestationExpertise.piecesJointes[type] ? this.mission.prestationExpertise.piecesJointes[type].length + 1 : 1,\r\n prestationExpertiseId: this.mission.prestationExpertise.id.toString(),\r\n dateModificationUtc: new Date(),\r\n isNew: true,\r\n isMain: false,\r\n };\r\n\r\n if (type == TypePieceJointeRapportEnum[TypePieceJointeRapportEnum.PlanCadastre]) {\r\n this.mission.prestationExpertise.piecesJointes[type] = [];\r\n }\r\n\r\n this.mission.prestationExpertise.piecesJointes[type].push(pieceJointe);\r\n\r\n return pieceJointe.id;\r\n }\r\n\r\n public async deletePieceJointeByIdAndType(id: string, type: string): Promise {\r\n const pieceJointeToDelete = this.mission.prestationExpertise.piecesJointes[type].find(\r\n (pieceJointe: PrestationExpertisePieceJointeDto) => pieceJointe.id === id\r\n );\r\n\r\n if (pieceJointeToDelete.isNew) {\r\n this.mission.prestationExpertise.piecesJointes[type] = this.mission.prestationExpertise.piecesJointes[type].filter(\r\n (pieceJointe: PrestationExpertisePieceJointeDto) => pieceJointe.id !== id\r\n );\r\n } else {\r\n pieceJointeToDelete.isDeleted = true;\r\n }\r\n\r\n // Re affect the table to trigger change\r\n this.mission.prestationExpertise.piecesJointes[type] = [...this.mission.prestationExpertise.piecesJointes[type]];\r\n }\r\n\r\n public async renamePieceJointe(pieceJointeId: string, type: string, nom: string): Promise {\r\n const pieceJointeToRename = this.mission.prestationExpertise.piecesJointes[type].find(\r\n (pieceJointe: PrestationExpertisePieceJointeDto) => pieceJointe.id === pieceJointeId\r\n );\r\n const index = this.mission.prestationExpertise.piecesJointes[type].indexOf(pieceJointeToRename);\r\n\r\n pieceJointeToRename.nom = nom;\r\n pieceJointeToRename.dateModificationUtc = new Date();\r\n this.mission.prestationExpertise.piecesJointes[type][index] = pieceJointeToRename;\r\n\r\n await this.saveInStorage();\r\n }\r\n\r\n public async updateOrdrePiecesJointes(piecesJointes: PrestationExpertisePieceJointeDto[], type: string): Promise {\r\n const now = new Date();\r\n piecesJointes.forEach((pieceJointe: PrestationExpertisePieceJointeDto) => (pieceJointe.dateModificationUtc = now));\r\n\r\n this.mission.prestationExpertise.piecesJointes[type] = piecesJointes;\r\n\r\n await this.saveInStorage();\r\n }\r\n\r\n public confirmDelete(what: any, params: any): any {\r\n return new Promise((resolve: any) => {\r\n this.modalSuppression = Object.assign(\r\n {},\r\n this._modalSuppressionDefaults,\r\n {\r\n visible: true,\r\n title: 'Suppression',\r\n content: `Êtes-vous sûr de vouloir supprimer ${what} ?`,\r\n },\r\n params\r\n );\r\n (this.$refs.modalSuppression as BModal).$once('ok', () => resolve());\r\n });\r\n }\r\n\r\n public async updateGeolocalisation(): Promise {\r\n if (this.isReadOnly) return;\r\n\r\n store.isLoading = true;\r\n\r\n const logMessage = `Enregistrement de la géolocalisation pour la mission : ${this.mission.reference}`;\r\n\r\n await Vue.prototype.$logStoreService.info(`${logMessage} - START`, 'PrestationExpertise');\r\n\r\n Vue.prototype.$missionApiService\r\n .updateGeolocalisation(this.mission)\r\n .then(async () => {\r\n await Vue.prototype.$logStoreService.info(`${logMessage} - END`, 'PrestationExpertise');\r\n Vue.prototype.$notificationService.success(`La géolocalisation a été enregistrée avec succès.`);\r\n\r\n Vue.prototype.$subjectMessageService.next(SubjectMessageTypeEnum.INIT_DONNEES_ESTIMATION_IMMOBILIERES);\r\n })\r\n .catch(async (error: any) => {\r\n Vue.prototype.$notificationService.error(`Une erreur est survenue lors de l'enregistrement de géolocalisation.`);\r\n await Vue.prototype.$logStoreService.error(`${logMessage} - ERROR`, error, 'PrestationExpertise');\r\n })\r\n .finally(() => {\r\n store.isLoading = false;\r\n });\r\n }\r\n\r\n public async initMergeDatas(): Promise {\r\n if (!navigator.onLine) return;\r\n\r\n const logMessage = `Merge des données pour la mission : ${this.mission.reference}`;\r\n await Vue.prototype.$logStoreService.info(`${logMessage} - START`, 'PrestationExpertise');\r\n\r\n const clonedMission = _.cloneDeep(this.mission);\r\n clonedMission.prestationExpertise = null;\r\n\r\n const isOldGenPrestationExpertise = [\r\n TypePrestationExpertiseEnum.CertificatExpertise,\r\n TypePrestationExpertiseEnum.RapportExpertise,\r\n ].includes(clonedMission.typePrestationExpertise);\r\n if (isOldGenPrestationExpertise) {\r\n const rapportExpertise = this.mission.prestationExpertise as RapportExpertiseDto;\r\n // Valeur Serexim\r\n const isRapportExpertise: boolean = isContratTypePrestationNotCertificatExpertise(rapportExpertise.contratTypePrestationId);\r\n\r\n // Valeur Omere\r\n const isTypeRapportExpertiseRapportExpertise: boolean =\r\n this.mission.typePrestationExpertise === TypePrestationExpertiseEnum.RapportExpertise;\r\n\r\n // Si les 2 valeurs ne sont pas identiques, alors provoquer le changement de type de rapport\r\n if (isRapportExpertise && !isTypeRapportExpertiseRapportExpertise) {\r\n clonedMission.typePrestationExpertise = TypePrestationExpertiseEnum.RapportExpertise;\r\n } else {\r\n if (!isRapportExpertise && isTypeRapportExpertiseRapportExpertise) {\r\n clonedMission.typePrestationExpertise = TypePrestationExpertiseEnum.CertificatExpertise;\r\n }\r\n }\r\n }\r\n\r\n Vue.prototype.$missionApiService\r\n .getMerge(this.mission.id, clonedMission)\r\n .then(async (merges: MergeDto[]) => {\r\n const mergesDto = merges.filter((x) => x.isEquals === false);\r\n if (mergesDto.length > 0) {\r\n Vue.prototype.$subjectMessageService.next(SubjectMessageTypeEnum.SHOW_MERGE_MISSION_MODAL, mergesDto);\r\n }\r\n await Vue.prototype.$logStoreService.info(`${logMessage} - END`, 'PrestationExpertise');\r\n })\r\n .catch(async (error: any) => {\r\n Vue.prototype.$notificationService.error(\r\n `Une erreur est survenue lors de l'enregistrement de la récupération des données à fusionner.`\r\n );\r\n await Vue.prototype.$logStoreService.error(`${logMessage} - ERROR`, error, 'PrestationExpertise');\r\n });\r\n }\r\n\r\n public async changeTypePrestationExpertise(mergeTypePrestationExpertise: MergeDto, title: string): Promise {\r\n store.isLoading = true;\r\n const logMessage = `Changement de type de prestation d'expertise attachée à la mission ${this.mission.reference}.`;\r\n await Vue.prototype.$logStoreService.info(`${logMessage} - START`, title);\r\n\r\n return await Vue.prototype.$missionApiService\r\n .changeTypePrestationExpertise(\r\n this.mission.id,\r\n Number(mergeTypePrestationExpertise.oldValue),\r\n Number(mergeTypePrestationExpertise.newValue)\r\n )\r\n .then(async () => {\r\n Vue.prototype.$missionApiService.get(this.mission.id).then(async (missionResponse: MissionDto) => {\r\n await Vue.prototype.$missionStoreService.addOrUpdate(missionResponse);\r\n this.$router\r\n .push({\r\n path: `/missions/${this.mission.id}/${TypePrestationExpertiseEnum[mergeTypePrestationExpertise.newValue]}`,\r\n replace: true,\r\n })\r\n .then(async () => {\r\n Vue.prototype.$localStorageService.removeLastHistory();\r\n await Vue.prototype.$logStoreService.info(`${logMessage} - END`, title);\r\n store.isLoading = false;\r\n })\r\n .catch(() => {\r\n window.location.reload();\r\n store.isLoading = false;\r\n });\r\n });\r\n })\r\n .catch(async (error: any) => {\r\n Vue.prototype.$notificationService.error(`Une erreur est survenue lors du changement de type de prestation.`);\r\n await Vue.prototype.$logStoreService.error(`${logMessage} - ERROR`, error, title);\r\n store.isLoading = false;\r\n });\r\n }\r\n\r\n //#endregion\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.componentsSections && _vm.currentComponentSection)?_c('div',{staticClass:\"prestation-expertise-sections-component\",style:(_vm.cssVars)},[(_vm.isMobile)?_vm._l((_vm.componentsSections),function(componentSection){return _c('section',{key:componentSection.slug,staticClass:\"mobile\"},[(\n componentSection.properties !== undefined && componentSection.properties !== undefined\n ? componentSection.properties.isReadOnly\n : _vm.isReadOnly\n )?_c('div',{staticClass:\"backdrop\"}):_vm._e(),(_vm.currentComponentSection.slug === componentSection.slug)?_c('div',{staticClass:\"prestation-expertise-sections-component-item\"},[_c('div',{staticClass:\"prestation-expertise-sections-component-item-title\"},[_c('h2',[_vm._v(_vm._s(componentSection.name))])]),_c('div',{staticClass:\"prestation-expertise-sections-component-item-content\"},[_c(componentSection.componentName,_vm._g(_vm._b({tag:\"component\",model:{value:(_vm.mission),callback:function ($$v) {_vm.mission=$$v},expression:\"mission\"}},'component',Object.assign({}, _vm.commonComponentProperties, componentSection.properties),false),Object.assign({}, componentSection.outputs)))],1)]):_vm._e()])}):_vm._e(),(_vm.isBrowser)?[_c('h1',[_vm._v(_vm._s(_vm.mission.typePrestationExpertiseLibelle))]),_vm._l((_vm.componentsSections),function(parentComponentSection){return _c('section',{key:parentComponentSection.slug},[_c('h2',[_vm._v(\" \"+_vm._s(parentComponentSection.name)+\" \")]),_vm._l((parentComponentSection.children),function(componentSection){return _c('div',{key:componentSection.slug,staticClass:\"prestation-expertise-sections-component-item desktop\",attrs:{\"id\":componentSection.slug}},[_c('div',{staticClass:\"prestation-expertise-sections-component-item-content\"},[(\n componentSection.properties !== undefined && componentSection.properties !== undefined\n ? componentSection.properties.isReadOnly\n : _vm.isReadOnly\n )?_c('div',{staticClass:\"backdrop\"}):_vm._e(),_c(componentSection.componentName,_vm._g(_vm._b({tag:\"component\",model:{value:(_vm.mission),callback:function ($$v) {_vm.mission=$$v},expression:\"mission\"}},'component',Object.assign({}, _vm.commonComponentProperties, componentSection.properties),false),Object.assign({}, componentSection.outputs)))],1)])})],2)})]:_vm._e()],2):_vm._e()}\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:\"prestation-expertise-rapport-indicateurs-component\"},[_c('b-row',[(_vm.doublons.length > 0)?_c('b-col',{staticClass:\"prestation-expertise-rapport-indicateurs-component-col prestation-expertise-rapport-indicateurs-component-doublons\"},[_c('p',{staticClass:\"prestation-expertise-rapport-indicateurs-component-doublons-title\"},[_vm._v(\"Ce bien a potentiellement déjà été expertisé.\")]),_c('div',{staticClass:\"prestation-expertise-rapport-indicateurs-component-doublons-list\"},_vm._l((_vm.doublons),function(item,index){return _c('b-row',{key:index},[_c('b-col',{attrs:{\"cols\":\"2\"}},[_vm._v(\" \"+_vm._s(item.reference)+\" \")]),_c('b-col',[(item.hasRapportPJ)?_c('b-button',{staticClass:\"mr-2\",attrs:{\"size\":\"sm\",\"pill\":\"\",\"variant\":\"outline-primary\",\"aria-label\":'Consulter le rapport de la mission ' + item.reference},on:{\"click\":function($event){return _vm.onViewRapportClick(item.expertiseId)}}},[_c('font-awesome-icon',{attrs:{\"icon\":\"eye\"}})],1):_vm._e(),(item.hasRapportPJ)?_c('b-button',{attrs:{\"pill\":\"\",\"size\":\"sm\",\"variant\":\"outline-primary\",\"aria-label\":'Télécharger le rapport de la mission' + item.reference},on:{\"click\":function($event){return _vm.onDownloadRapportClick(item.expertiseId)}}},[_c('font-awesome-icon',{attrs:{\"icon\":\"file-download\"}})],1):_vm._e()],1)],1)}),1)]):_vm._e(),(_vm.dateRestitution)?_c('b-col',{staticClass:\"prestation-expertise-rapport-indicateurs-component-col prestation-expertise-rapport-indicateurs-component-date-restitution\",class:{ 'full-width': _vm.nbAnnexes <= 0 }},[_c('p',[_vm._v(\" Rapport à restituer au plus tard le \"),_c('span',{staticClass:\"prestation-expertise-rapport-indicateurs-component-date-restitution\"},[_vm._v(_vm._s(_vm._f(\"date\")(_vm.dateRestitution,'DD/MM/YYYY')))])])]):_vm._e(),(_vm.nbAnnexes > 0)?_c('b-col',{staticClass:\"prestation-expertise-rapport-indicateurs-component-col prestation-expertise-rapport-indicateurs-component-annexes\"},[_c('p',[_c('span',{staticClass:\"prestation-expertise-rapport-indicateurs-component-annexes-count\"},[_vm._v(_vm._s(_vm.nbAnnexes))]),_vm._v(\" fichiers sont joints à ce rapport.\"),_c('br'),_vm._v(\"N'oubliez pas de les consulter. \")])]):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { MissionDoublonDto } from '@/shared/dtos/mission-doublon.dto';\r\nimport store from '@/shared/store';\r\nimport { DateTime } from 'luxon';\r\nimport { Component, Vue, Prop } from 'vue-property-decorator';\r\n\r\n@Component({\r\n name: 'PrestationExpertiseRapportIndicateurs',\r\n components: {},\r\n})\r\nexport default class PrestationExpertiseRapportIndicateurs extends Vue {\r\n @Prop() doublons: MissionDoublonDto[];\r\n @Prop() nbAnnexes: number;\r\n @Prop() dateRestitution: DateTime;\r\n\r\n //#region LIFE CYCLES\r\n\r\n //#endregion\r\n\r\n //#region WATCH\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n public onViewRapportClick(expertiseId: number): void {\r\n store.isLoading = true;\r\n Vue.prototype.$expertiseApiService\r\n .getRapportById(expertiseId)\r\n .then((response: any) => {\r\n let blob = new Blob([response.data], { type: 'application/pdf' });\r\n var blobUrl = URL.createObjectURL(blob);\r\n window.open(blobUrl, '_blank');\r\n })\r\n .finally(() => {\r\n store.isLoading = false;\r\n });\r\n }\r\n\r\n public onDownloadRapportClick(expertiseId: number): void {\r\n store.isLoading = true;\r\n Vue.prototype.$expertiseApiService\r\n .getRapportById(expertiseId)\r\n .then((response: any) => {\r\n let blob = new Blob([response.data], { type: 'application/pdf' });\r\n\r\n var filename = response.headers['content-disposition'].split(';')[1].split('filename')[1].split('=')[1].replace(/\"/g, '').trim();\r\n\r\n const anchor = window.document.createElement('a');\r\n anchor.href = window.URL.createObjectURL(blob);\r\n anchor.download = filename;\r\n document.body.appendChild(anchor);\r\n anchor.click();\r\n document.body.removeChild(anchor);\r\n window.URL.revokeObjectURL(anchor.href);\r\n })\r\n .finally(() => {\r\n store.isLoading = false;\r\n });\r\n }\r\n\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-indicateurs.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-indicateurs.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./prestation-expertise-rapport-indicateurs.vue?vue&type=template&id=e326f72a&\"\nimport script from \"./prestation-expertise-rapport-indicateurs.vue?vue&type=script&lang=ts&\"\nexport * from \"./prestation-expertise-rapport-indicateurs.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./prestation-expertise-rapport-indicateurs.vue?vue&type=style&index=0&lang=scss&\"\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:\"prestation-expertise-rapport-proprietes-component\"},[(_vm.proprietes)?[_c('div',{staticClass:\"bloc-info bg-light-grey-blue\"},[_c('p',{staticClass:\"h1\"},[_vm._v(\"Propriétés du rapport\")]),_c('b-button',{directives:[{name:\"b-modal\",rawName:\"v-b-modal.reference-to-copy-modal\",modifiers:{\"reference-to-copy-modal\":true}}]},[_c('font-awesome-icon',{attrs:{\"icon\":\"clone\",\"aria-hidden\":\"true\"}}),_vm._v(\" Importer les données d'un rapport \")],1),_c('p',{staticClass:\"h3\"},[_vm._v(\"Les photos du rapport sont :\")]),_c('radio-boolean',{attrs:{\"stringTrue\":\"Obligatoires\",\"stringFalse\":\"Facultatives\"},model:{value:(_vm.proprietes.photosObligatoires),callback:function ($$v) {_vm.$set(_vm.proprietes, \"photosObligatoires\", $$v)},expression:\"proprietes.photosObligatoires\"}}),_c('p',{staticClass:\"h3\"},[_vm._v(\"Autoriser les modifications du rapport traité\")]),_c('radio-boolean',{attrs:{\"stringTrue\":\"Oui\",\"stringFalse\":\"Non\"},model:{value:(_vm.proprietes.estEditionForcee),callback:function ($$v) {_vm.$set(_vm.proprietes, \"estEditionForcee\", $$v)},expression:\"proprietes.estEditionForcee\"}}),_c('prestation-expertise-version-histories',{attrs:{\"prestationExpertiseId\":_vm.prestationExpertiseId}})],1)]:_vm._e(),_c('b-modal',{ref:\"modal\",attrs:{\"id\":\"reference-to-copy-modal\",\"title\":\"Importer les données d'un rapport\"},on:{\"show\":_vm.onShowReferenceToCopyModal,\"ok\":_vm.onHandleOk}},[_c('form',{ref:\"form\",on:{\"submit\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.onHandleSubmit($event)}}},[_c('b-form-group',{attrs:{\"label\":\"Référence de la mission à importer\",\"description\":\"La référence de la mission au format AAAAMMXXXX/X ou AAAAMMXXXX.X\",\"label-for\":\"reference-to-copy-input\",\"invalid-feedback\":\"La référence de la mission doit être de la forme suivante: AAAAMMXXXX/X ou AAAAMMXXXX.X et être différent de la référence de la mission actuelle\",\"state\":_vm.referenceToCopyState}},[_c('b-form-input',{attrs:{\"id\":\"reference-to-copy-input\",\"state\":_vm.referenceToCopyState,\"required\":\"\",\"type\":\"text\"},model:{value:(_vm.referenceToCopy),callback:function ($$v) {_vm.referenceToCopy=$$v},expression:\"referenceToCopy\"}})],1)],1)])],2)}\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',{class:{ invalid: _vm.state === false, valid: _vm.state === true }},[(_vm.title)?_c('h4',{class:{ h3: _vm.titleBold },domProps:{\"innerHTML\":_vm._s(_vm.title)}}):_vm._e(),_c('ul',[_c('li',{key:true},[_c('b-button',{staticClass:\"btn-radio\",attrs:{\"disabled\":_vm.isDisabled,\"variant\":true === _vm.value ? 'primary' : 'light'},on:{\"click\":function($event){return _vm.onToggleClick(true)}}},[_vm._v(_vm._s(_vm.stringTrue))])],1),_c('li',{key:false},[_c('b-button',{staticClass:\"btn-radio\",attrs:{\"disabled\":_vm.isDisabled,\"variant\":false === _vm.value ? 'primary' : 'light'},on:{\"click\":function($event){return _vm.onToggleClick(false)}}},[_vm._v(_vm._s(_vm.stringFalse))])],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\n@Component({\r\n name: 'RadioBoolean',\r\n})\r\nexport default class RadioBoolean extends Vue {\r\n @Prop() public value: boolean;\r\n @Prop({ default: 'Oui' }) public stringTrue: string;\r\n @Prop({ default: 'Non' }) public stringFalse: string;\r\n\r\n @Prop() public title: string;\r\n @Prop() public titleBold: { type: boolean; default: true };\r\n @Prop() public state: { type: boolean; default: true };\r\n\r\n @Prop() public isDisabled: Boolean;\r\n //#region LIFE CYCLES\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n public onToggleClick(itemValue: string): void {\r\n this.$emit('input', itemValue);\r\n }\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./radio-boolean.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./radio-boolean.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./radio-boolean.vue?vue&type=template&id=0f88bac0&scoped=true&\"\nimport script from \"./radio-boolean.vue?vue&type=script&lang=ts&\"\nexport * from \"./radio-boolean.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./radio-boolean.vue?vue&type=style&index=0&id=0f88bac0&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 \"0f88bac0\",\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:\"prestation-expertise-version-histories-component\"},[_c('p',{staticClass:\"h3\"},[_vm._v(\"Diagnostics\")]),_c('b-button',{directives:[{name:\"b-modal\",rawName:\"v-b-modal.synchronization-logs-modal\",modifiers:{\"synchronization-logs-modal\":true}}]},[_vm._v(\" Consulter l'historique de synchronisation \")]),_c('b-modal',{ref:\"modal\",attrs:{\"id\":\"synchronization-logs-modal\",\"title\":\"Afficher les logs de synchronisation\",\"size\":\"xl\",\"scrollable\":\"\"},on:{\"show\":_vm.onShowSynchronizationLogsModal}},[_c('b-table',{attrs:{\"striped\":\"\",\"stacked\":\"sm\",\"hover\":\"\",\"responsive\":\"\",\"items\":_vm.prestationExpertiseVersionHistories,\"fields\":_vm.synchronizationLogsTableFields,\"show-empty\":\"\",\"emptyText\":\"Aucune donnée n'est disponible\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\nimport { PrestationExpertiseVersionHistoryDto } from '@/shared/dtos/prestation-expertise/prestation-expertise-version-history.dto';\r\nimport store from '@/shared/store';\r\n\r\n@Component({\r\n name: 'PrestationExpertiseVersionHistories',\r\n components: {},\r\n})\r\nexport default class PrestationExpertiseVersionHistories extends Vue {\r\n @Prop() prestationExpertiseId: string;\r\n\r\n public prestationExpertiseVersionHistories: PrestationExpertiseVersionHistoryDto[] = [];\r\n public synchronizationLogsTableFields: any = [\r\n {\r\n key: 'lastPushVersion',\r\n label: 'lastPushVersion',\r\n },\r\n {\r\n key: 'phonePullVersion',\r\n label: 'phonePullVersion',\r\n },\r\n {\r\n key: 'phoneDateModificationUtc',\r\n label: 'phoneDateModificationUtc',\r\n },\r\n {\r\n key: 'desktopPullVersion',\r\n label: 'desktopPullVersion',\r\n },\r\n {\r\n key: 'desktopPushVersion',\r\n label: 'desktopPushVersion',\r\n },\r\n {\r\n key: 'desktopDateModificationUtc',\r\n label: 'desktopDateModificationUtc',\r\n },\r\n ];\r\n\r\n //#region LIFE CYCLES\r\n\r\n //#endregion\r\n\r\n //#region WATCH\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n public onShowSynchronizationLogsModal(): void {\r\n store.isLoading = true;\r\n\r\n Vue.prototype.$prestationExpertiseVersionHistoryApiService\r\n .getManyWithRoute(this.prestationExpertiseId)\r\n .then((prestationExpertiseVersionHistories: PrestationExpertiseVersionHistoryDto[]) => {\r\n this.prestationExpertiseVersionHistories = prestationExpertiseVersionHistories;\r\n\r\n store.isLoading = false;\r\n });\r\n }\r\n\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-version-histories.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-version-histories.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./prestation-expertise-version-histories.vue?vue&type=template&id=cd21af04&\"\nimport script from \"./prestation-expertise-version-histories.vue?vue&type=script&lang=ts&\"\nexport * from \"./prestation-expertise-version-histories.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./prestation-expertise-version-histories.vue?vue&type=style&index=0&lang=scss&\"\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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\nimport RadioBoolean from '@/shared/components/radio-boolean.vue';\r\nimport { RapportProprieteDto } from '@/shared/dtos/rapport-propriete.dto';\r\nimport PrestationExpertiseVersionHistories from '@/shared/components/prestation-expertise/prestation-expertise-version-histories.vue';\r\n\r\n@Component({\r\n name: 'PrestationExpertiseRapportProprietes',\r\n components: {\r\n RadioBoolean,\r\n PrestationExpertiseVersionHistories,\r\n },\r\n})\r\nexport default class PrestationExpertiseRapportProprietes extends Vue {\r\n @Prop() reference: string;\r\n @Prop() proprietes: RapportProprieteDto;\r\n @Prop() prestationExpertiseId: string;\r\n\r\n public referenceToCopy: string = '';\r\n public referenceToCopyState: boolean = null;\r\n\r\n //#region LIFE CYCLES\r\n\r\n //#endregion\r\n\r\n //#region WATCH\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n public onShowReferenceToCopyModal(): void {\r\n this.referenceToCopy = '';\r\n }\r\n\r\n public onHandleOk(event: Event) {\r\n // Prevent modal from closing\r\n event.preventDefault();\r\n // Trigger submit handler\r\n this.onHandleSubmit();\r\n }\r\n\r\n public onHandleSubmit(): void {\r\n // Exit when the form isn't valid\r\n if (!this.checkFormValidity()) {\r\n return;\r\n }\r\n\r\n this.$emit('onReferenceToCopyChanged', this.referenceToCopy);\r\n\r\n // Hide the modal manually\r\n this.$nextTick(() => {\r\n this.$bvModal.hide('reference-to-copy-modal');\r\n });\r\n }\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n /* eslint-disable no-useless-escape */\r\n private checkFormValidity(): boolean {\r\n const valid =\r\n (this.$refs.form as any).checkValidity() &&\r\n (/^\\d{1,10}\\/\\d{1}$/.test(this.referenceToCopy) || /^\\d{1,10}[.]{1}[A-Za-z]{1}$/.test(this.referenceToCopy)) &&\r\n this.referenceToCopy !== this.reference;\r\n\r\n this.referenceToCopyState = valid;\r\n return valid;\r\n }\r\n\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-proprietes.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-proprietes.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./prestation-expertise-rapport-proprietes.vue?vue&type=template&id=a27e91f2&\"\nimport script from \"./prestation-expertise-rapport-proprietes.vue?vue&type=script&lang=ts&\"\nexport * from \"./prestation-expertise-rapport-proprietes.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./prestation-expertise-rapport-proprietes.vue?vue&type=style&index=0&lang=scss&\"\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:\"prestation-expertise-rapport-contrat-mission-component\"},[_c('h3',[_vm._v(\"Contexte d'intervention et bases de valeurs\")]),_c('prestation-expertise-contexte-intervention',{attrs:{\"businessEntries\":_vm.businessEntries,\"societeSettings\":_vm.societeSettings,\"validation\":_vm.validation,\"isShowSpecificites\":true},model:{value:(_vm.mission),callback:function ($$v) {_vm.mission=$$v},expression:\"mission\"}}),_c('h3',[_vm._v(\"Visite\")]),_c('div',[_c('date-visite',{attrs:{\"mission\":_vm.mission,\"validation\":_vm.validation,\"isWarnMandant\":!_vm.isVisiteExterieure}}),(_vm.mission.intervention)?_c('b-row',{staticClass:\"bloc-info bloc no-gutter-left-right\"},[_c('b-col',{attrs:{\"cols\":\"4\",\"lg\":\"3\"}},[_vm._v(\" Personne en charge de la visite \")]),_c('b-col',[_c('span',[_vm._v(_vm._s(_vm.mission.intervention.visiteContactNomPrenom))]),(_vm.mission.intervention.visiteContactEmail)?_c('span',{staticClass:\"d-block\"},[_vm._v(_vm._s(_vm.mission.intervention.visiteContactEmail))]):_vm._e(),(_vm.mission.intervention.visiteContactTel)?_c('span',{staticClass:\"d-block\"},[_vm._v(_vm._s(_vm.mission.intervention.visiteContactTel))]):_vm._e()])],1):_vm._e(),(_vm.mission.intervention && _vm.mission.intervention.informationsComplementaires)?_c('b-row',{staticClass:\"bloc-info bloc no-gutter-left-right\"},[_c('b-col',{staticClass:\"ellipsis\",attrs:{\"cols\":\"4\",\"lg\":\"3\"}},[_vm._v(\" Informations complémentaires \")]),_c('b-col',[_c('span',[_vm._v(\" \"+_vm._s(_vm.mission.intervention.informationsComplementaires))])])],1):_vm._e(),(_vm.mission.bien.prixBien)?_c('b-row',{staticClass:\"bloc-info bloc no-gutter-left-right\"},[_c('b-col',{staticClass:\"ellipsis\",attrs:{\"cols\":\"4\",\"lg\":\"3\"}},[_vm._v(\" Prix du bien \")]),_c('b-col',[_c('span',[_vm._v(\" \"+_vm._s(_vm._f(\"currency\")(_vm.mission.bien.prixBien)))])])],1):_vm._e(),(_vm.mission.bien.surfaceBien)?_c('b-row',{staticClass:\"bloc-info bloc no-gutter-left-right\"},[_c('b-col',{staticClass:\"ellipsis\",attrs:{\"cols\":\"4\",\"lg\":\"3\"}},[_vm._v(\" Surface du bien \")]),_c('b-col',[_c('span',[_vm._v(\" \"+_vm._s(_vm.mission.bien.surfaceBien)+\" m²\")])])],1):_vm._e(),_c('b-row',{staticClass:\"bloc no-gutter-left-right\"},[_c('b-col',{attrs:{\"cols\":\"4\",\"lg\":\"3\"}},[_vm._v(\" Notes pour la visite \")]),_c('b-col',[_c('b-textarea',{attrs:{\"rows\":2},model:{value:(_vm.mission.prestationExpertise.notesVisite),callback:function ($$v) {_vm.$set(_vm.mission.prestationExpertise, \"notesVisite\", $$v)},expression:\"mission.prestationExpertise.notesVisite\"}})],1)],1),(_vm.mission.expert)?_c('b-row',{staticClass:\"bloc-info bloc no-gutter-left-right\"},[_c('b-col',{attrs:{\"cols\":\"4\",\"lg\":\"3\"}},[_vm._v(\"Effectuée par\")]),_c('b-col',[_vm._v(\" \"+_vm._s(_vm.mission.expert.nomComplet))])],1):_vm._e()],1),_c('choice-popup',{attrs:{\"list\":_vm.businessEntries.contratTypeVisites,\"version\":_vm.rapport.version,\"state\":!_vm.validation.mission.prestationExpertise.contratTypeVisiteId.$error,\"isDisabled\":true,\"title\":\"Nature de visite\",\"id\":\"TypeDeVisite\"},model:{value:(_vm.rapport.contratTypeVisiteId),callback:function ($$v) {_vm.$set(_vm.rapport, \"contratTypeVisiteId\", $$v)},expression:\"rapport.contratTypeVisiteId\"}}),_c('b-form-text',[_vm._v(\"Contactez le SRC si vous avez besoin de changer le type de visite.\")]),(_vm.isVisiteInterieurEtExterieur)?_c('choice-popup',{attrs:{\"list\":_vm.businessEntries.contratVisitePresenceCivilites,\"title\":\"En présence de\",\"version\":_vm.rapport.version,\"state\":!_vm.validation.mission.prestationExpertise.contratVisitePresenceCiviliteId.$error,\"id\":\"PresenceCivilite\"},model:{value:(_vm.rapport.contratVisitePresenceCiviliteId),callback:function ($$v) {_vm.$set(_vm.rapport, \"contratVisitePresenceCiviliteId\", $$v)},expression:\"rapport.contratVisitePresenceCiviliteId\"}}):_vm._e(),(_vm.isVisiteInterieurEtExterieur)?_c('b-form-group',{attrs:{\"state\":!_vm.validation.mission.prestationExpertise.contratVisitePresenceContact.$error}},[_c('b-form-input',{attrs:{\"type\":\"text\",\"state\":!_vm.validation.mission.prestationExpertise.contratVisitePresenceContact.$error},model:{value:(_vm.rapport.contratVisitePresenceContact),callback:function ($$v) {_vm.$set(_vm.rapport, \"contratVisitePresenceContact\", $$v)},expression:\"rapport.contratVisitePresenceContact\"}})],1):_vm._e(),(_vm.isVisiteInterieurEtExterieur)?_c('choice-popup',{attrs:{\"list\":_vm.businessEntries.contratVisitePresenceQualificatifs,\"state\":!_vm.validation.mission.prestationExpertise.contratVisitePresenceQualificatifId.$error,\"version\":_vm.rapport.version,\"title\":\"En qualité de\",\"titleBold\":false,\"id\":\"VisitePresenceQualificatif\"},model:{value:(_vm.rapport.contratVisitePresenceQualificatifId),callback:function ($$v) {_vm.$set(_vm.rapport, \"contratVisitePresenceQualificatifId\", $$v)},expression:\"rapport.contratVisitePresenceQualificatifId\"}}):_vm._e(),_c('h3',[_vm._v(\"Hypothèse d'évaluation\")]),_c('choice-popup',{attrs:{\"list\":_vm.businessEntries.contratTypeConditionsOccupations,\"state\":!_vm.validation.mission.prestationExpertise.contratConditionOccupationId.$error,\"version\":_vm.rapport.version,\"title\":\"Condition d'occupation\",\"id\":\"ConditionOccupation\"},model:{value:(_vm.rapport.contratConditionOccupationId),callback:function ($$v) {_vm.$set(_vm.rapport, \"contratConditionOccupationId\", $$v)},expression:\"rapport.contratConditionOccupationId\"}}),(_vm.isConditionOccupationOccupe && _vm.isRapportVersionLowerOrEqualsTo(2.0))?_c('div',[_c('choice-popup',{attrs:{\"list\":_vm.businessEntries.contratTypeHypothesesEvaluations,\"state\":!_vm.validation.mission.prestationExpertise.contratHypotheseEvaluationId.$error,\"version\":_vm.rapport.version,\"title\":\"Hypothèse d'évaluation\",\"id\":\"HypotheseEvaluation\",\"isDisabled\":_vm.value.societeId == 630370},model:{value:(_vm.rapport.contratHypotheseEvaluationId),callback:function ($$v) {_vm.$set(_vm.rapport, \"contratHypotheseEvaluationId\", $$v)},expression:\"rapport.contratHypotheseEvaluationId\"}})],1):(_vm.isRapportVersionGreaterOrEqualsTo(3.0))?_c('div',[_c('choice-popup',{attrs:{\"list\":_vm.businessEntries.contratTypeHypothesesEvaluationsV2,\"state\":!_vm.validation.mission.prestationExpertise.contratHypotheseEvaluationId.$error,\"version\":_vm.rapport.version,\"title\":\"Hypothèse d'évaluation\",\"id\":\"HypotheseEvaluation\",\"isDisabled\":_vm.value.societeId == 630370},model:{value:(_vm.rapport.contratHypotheseEvaluationId),callback:function ($$v) {_vm.$set(_vm.rapport, \"contratHypotheseEvaluationId\", $$v)},expression:\"rapport.contratHypotheseEvaluationId\"}}),(_vm.isHypotheseEvaluationAutre)?_c('b-form-group',{class:{ invalid: _vm.validation.mission.prestationExpertise.contratHypotheseEvaluationAutre.$error },attrs:{\"label\":\"Autre\",\"state\":!_vm.validation.mission.prestationExpertise.contratHypotheseEvaluationAutre.$error}},[_c('b-form-input',{attrs:{\"type\":\"text\",\"state\":!_vm.validation.mission.prestationExpertise.contratHypotheseEvaluationAutre.$error},model:{value:(_vm.rapport.contratHypotheseEvaluationAutre),callback:function ($$v) {_vm.$set(_vm.rapport, \"contratHypotheseEvaluationAutre\", $$v)},expression:\"rapport.contratHypotheseEvaluationAutre\"}})],1):_vm._e()],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Mixins } from 'vue-property-decorator';\r\nimport { RapportExpertiseDto } from '@/shared/dtos/rapport-expertise.dto';\r\nimport PrestationExpertiseSectionMixin from '@/mixins/prestation-expertise-section.mixin';\r\nimport {\r\n isContratTypePrestationNotCertificatExpertise,\r\n isRapportVersionGreaterOrEqualsTo,\r\n isRapportVersionLowerOrEqualsTo,\r\n} from '@/helpers/rapport-expertise.helper';\r\nimport { RapportExpertiseNoteSectionEnum } from '@/shared/enums/rapport-expertise-note-section.enum';\r\nimport { getRapportExpertiseNoteSectionEnumName } from '@/shared/utilities/enums.utility';\r\n\r\n@Component({\r\n name: 'RapportExpertiseSectionMixin',\r\n})\r\nexport default class RapportExpertiseSectionMixin extends Mixins(PrestationExpertiseSectionMixin) {\r\n public rapportExpertiseNoteSectionEnum = RapportExpertiseNoteSectionEnum;\r\n public getRapportExpertiseNoteSectionEnumName: any = getRapportExpertiseNoteSectionEnumName;\r\n\r\n //#region LIFE CYCLES\r\n\r\n //#endregion\r\n\r\n //#region COMPUTED\r\n get rapport(): RapportExpertiseDto {\r\n return this.prestationExpertise as RapportExpertiseDto;\r\n }\r\n\r\n get isRapport(): boolean {\r\n return this.rapport != null ? isContratTypePrestationNotCertificatExpertise(this.rapport.contratTypePrestationId) : null;\r\n }\r\n\r\n //#endregion\r\n\r\n //#region WATCH\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n public isRapportVersionGreaterOrEqualsTo(version: number) {\r\n return isRapportVersionGreaterOrEqualsTo(this.rapport, version);\r\n }\r\n\r\n public isRapportVersionLowerOrEqualsTo(version: number) {\r\n return isRapportVersionLowerOrEqualsTo(this.rapport, version);\r\n }\r\n\r\n //#endregion\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"choice-popup-component highlighted\"},[(_vm.title)?_c('div',{class:{ invalid: _vm.state === false, valid: _vm.state === true, 'choice-popup-component-title': true, mobile: _vm.isMobile }},[_c('h4',{staticClass:\"choice-popup-component-title-text\"},[_vm._v(_vm._s(_vm.title))]),(!_vm.isDisabled)?_c('b-button',{staticClass:\"choice-popup-component-title-button\",on:{\"click\":_vm.onShowSideBarClick}},[(_vm.isEdit)?_c('span',[_c('font-awesome-icon',{attrs:{\"icon\":\"pencil-alt\",\"fixed-width\":\"\"}}),_vm._v(\" Modifier \")],1):_c('span',[_c('font-awesome-icon',{attrs:{\"icon\":\"plus\",\"fixed-width\":\"\"}}),_vm._v(\" Ajouter \")],1)]):_vm._e()],1):_vm._e(),_c('div',{staticClass:\"choice-popup-component-body\"},[(_vm.dropdown)?_c('ul',_vm._l((_vm.listQualificationSelected),function(item){return _c('li',{key:item.id},[(item.businessEntryQualifiableSelected.class)?_c('span',[_c('font-awesome-icon',{staticClass:\"square-etat\",class:item.businessEntryQualifiableSelected.class,attrs:{\"icon\":\"square\"}})],1):_c('span',{staticClass:\"square\"},[_vm._v(_vm._s(item.businessEntryQualifiableSelected.displayText.substring(0, 1)))]),_vm._v(\" \"+_vm._s(item.businessEntryParentSelected.displayText)+\" \")])}),0):_c('ul',{staticClass:\"choice-popup-component-body-dropdown\"},_vm._l((_vm.listSelected),function(item){return _c('li',{key:item.id},[(item.iconName)?_c('img',{attrs:{\"src\":_vm.baseURL + 'images/icons/' + item.iconName + '.svg',\"width\":\"20\",\"height\":\"20\",\"aria-hidden\":\"true\"}}):_vm._e(),_vm._v(\" \"+_vm._s(item.displayText)+\" \")])}),0)]),_c('b-sidebar',{attrs:{\"id\":'s' + _vm.id,\"sidebar-class\":\"choice-popup-component-sidebar bg-white\",\"no-slide\":\"\",\"shadow\":\"\",\"backdrop\":\"\",\"no-close-on-esc\":\"\",\"no-close-on-backdrop\":\"\"},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('div',{staticClass:\"choice-popup-component-sidebar-header\"},[_c('div',{staticClass:\"choice-popup-component-sidebar-header-title\"},[_vm._v(\" \"+_vm._s(_vm.title)+\" \")]),_c('div',{staticClass:\"choice-popup-component-sidebar-header-close\"},[_c('b-button',{attrs:{\"variant\":\"outline-dark\"},on:{\"click\":_vm.onCancelClick}},[_c('font-awesome-icon',{attrs:{\"icon\":\"times\",\"aria-hidden\":\"true\"}})],1)],1)])]},proxy:true}])},[[_c('div',{staticClass:\"choice-popup-component-sidebar-body\"},[(_vm.dropdown)?_c('dropdowns',{attrs:{\"rapportId\":_vm.rapportId,\"list\":_vm.filteredList,\"isDisabled\":_vm.isDisabled},on:{\"updateListQualificationSelected\":_vm.updateListQualificationSelected},model:{value:(_vm.choiceValue),callback:function ($$v) {_vm.choiceValue=$$v},expression:\"choiceValue\"}}):(_vm.multiple)?_c('checkboxs',{attrs:{\"rapportId\":_vm.rapportId,\"list\":_vm.filteredList,\"isDisabled\":_vm.isDisabled},model:{value:(_vm.choiceValue),callback:function ($$v) {_vm.choiceValue=$$v},expression:\"choiceValue\"}}):_c('radios',{ref:\"radioElement\",attrs:{\"list\":_vm.filteredList,\"isDisabled\":_vm.isDisabled,\"validation\":_vm.validation,\"canDeselect\":_vm.canDeselect},on:{\"onCloseChoicePopup\":_vm.onCollapseSideBarClick,\"onShowModalValidation\":_vm.onShowModalValidationClick},model:{value:(_vm.choiceValue),callback:function ($$v) {_vm.choiceValue=$$v},expression:\"choiceValue\"}})],1)],(_vm.multiple || _vm.dropdown)?[_c('b-button',{staticClass:\"choice-popup-component-sidebar-submit\",attrs:{\"variant\":\"dark\"},on:{\"click\":_vm.onTerminateClick}},[_vm._v(\"Valider\")])]:_vm._e()],2),(_vm.validation)?_c('b-modal',{ref:\"modalValidation\",attrs:{\"footer-class\":\"modal-footer-relative\",\"title\":_vm.validationTitle,\"no-close-on-esc\":\"\",\"no-close-on-backdrop\":\"\",\"hide-header-close\":\"\",\"ok-title\":\"Oui\",\"cancel-variant\":\"outline-dark\",\"cancel-title\":\"Non\",\"static\":true},on:{\"ok\":_vm.onOkModalValidationClick,\"cancel\":_vm.onCancelModalValidationClick}},[_c('p',{staticClass:\"m-4\"},[_vm._v(_vm._s(_vm.validationContent))])]):_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:\"checkboxs-component\",class:{ invalid: _vm.state === false, valid: _vm.state === true }},[(_vm.title)?_c('div',{class:{ h3: _vm.titleBold },domProps:{\"innerHTML\":_vm._s(_vm.title)}}):_vm._e(),(!_vm.title)?_c('div',{staticClass:\"mb-3\"},[_vm._v(\"Vous pouvez en sélectionner plusieurs\")]):_vm._e(),_c('ul',_vm._l((_vm.list),function(item){return _c('li',{key:item.id},[_c('b-button',{staticClass:\"radio\",attrs:{\"variant\":_vm.isSelected(item.id) ? 'primary' : 'light',\"disabled\":_vm.isItemDisabled(item.id)},on:{\"click\":function($event){return _vm.onToggleClick(item.id)}}},[(item.iconName)?_c('img',{attrs:{\"src\":_vm.baseURL + 'images/icons/' + item.iconName + '.svg',\"width\":\"20\",\"height\":\"20\",\"aria-hidden\":\"true\"}}):_vm._e(),_vm._v(\" \"+_vm._s(item.displayText))])],1)}),0)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { RapportExpertiseBusinessEntryRelationDto } from '@/shared/dtos/rapport-expertise-business-entry-relation.dto';\r\nimport { RapportExpertiseBusinessEntryDto } from '@/shared/dtos/rapport-expertise-business-entry.dto';\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\n\r\n@Component({\r\n name: 'Checkboxs',\r\n})\r\nexport default class Checkboxs extends Vue {\r\n @Prop() public value: RapportExpertiseBusinessEntryRelationDto[];\r\n @Prop() public list: RapportExpertiseBusinessEntryDto[];\r\n @Prop() public rapportId: number;\r\n @Prop() public isDisabled: boolean;\r\n @Prop() public title: string;\r\n @Prop({ default: true }) public titleBold: boolean;\r\n @Prop({ default: true }) public state: boolean;\r\n @Prop() public valuesToDisabled: number[];\r\n\r\n public baseURL: string = Vue.prototype.$config.baseUrlApi;\r\n //#region LIFE CYCLES\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n\r\n public onToggleClick(id: number): void {\r\n if (this.value.map((v: any) => v.businessEntrySelectedId).includes(id)) {\r\n var index = this.value.findIndex((v: any) => v.businessEntrySelectedId == id);\r\n this.value.splice(index, 1);\r\n } else {\r\n this.value.push({\r\n rapportExpertiseId: this.rapportId,\r\n businessEntrySelectedId: id,\r\n });\r\n }\r\n\r\n this.$emit('input', this.value);\r\n }\r\n\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n\r\n public isSelected(id: number): boolean {\r\n return this.value.map((v: any) => v.businessEntrySelectedId).includes(id);\r\n }\r\n\r\n public isItemDisabled(id: number): boolean {\r\n return this.isDisabled || this.valuesToDisabled?.includes(id);\r\n }\r\n\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./checkboxs.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./checkboxs.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./checkboxs.vue?vue&type=template&id=06e311c2&\"\nimport script from \"./checkboxs.vue?vue&type=script&lang=ts&\"\nexport * from \"./checkboxs.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./checkboxs.vue?vue&type=style&index=0&lang=scss&\"\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:\"radios-component\",class:{ invalid: _vm.state === false, valid: _vm.state === true }},[(_vm.title)?_c('h4',{domProps:{\"innerHTML\":_vm._s(_vm.title)}}):_vm._e(),_vm._t(\"default\"),_c('ul',_vm._l((_vm.list),function(item){return _c('li',{key:item.id},[_c('b-button',{staticClass:\"btn-radio\",attrs:{\"variant\":item.id === _vm.value ? 'primary' : 'light',\"disabled\":_vm.isDisabled},on:{\"click\":function($event){return _vm.onToggleClick(item.id)}}},[(item.iconName)?_c('span',_vm._l((_vm.getIconCount(item)),function(n){return _c('img',{key:n,attrs:{\"src\":_vm.baseURL + 'images/icons/' + item.iconName + '.svg',\"width\":\"20\",\"height\":\"20\",\"aria-hidden\":\"true\"}})}),0):_vm._e(),_vm._v(\" \"+_vm._s(item.displayText))])],1)}),0),(!_vm.state && !_vm.title)?_c('span',{staticClass:\"invalid-feedback d-block\"},[_vm._v(\"Vous devez sélectionner une valeur\")]):_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\nimport { BModal } from 'bootstrap-vue';\r\n\r\n@Component({\r\n name: 'Radios',\r\n components: {\r\n BModal,\r\n },\r\n})\r\nexport default class Radios extends Vue {\r\n @Prop() public value: any;\r\n @Prop() public list: any;\r\n @Prop() public validation: Boolean;\r\n @Prop() public canDeselect: Boolean;\r\n @Prop() public isDisabled: Boolean;\r\n @Prop() public title: String;\r\n @Prop({ default: true }) public titleBold: boolean;\r\n @Prop({ default: true }) public state: boolean;\r\n\r\n public baseURL: string = Vue.prototype.$config.baseUrlApi;\r\n public valueToValidate: any = null;\r\n\r\n //#region LIFE CYCLES\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n public onToggleClick(itemValue: any): void {\r\n if (this.validation) {\r\n this.valueToValidate = itemValue;\r\n this.$emit('onShowModalValidation');\r\n } else {\r\n if (this.canDeselect && this.value == itemValue) {\r\n this.$emit('input', null);\r\n } else {\r\n this.$emit('input', itemValue);\r\n }\r\n\r\n this.$emit('onCloseChoicePopup');\r\n }\r\n }\r\n\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n public submitValidation(): void {\r\n this.$emit('input', this.valueToValidate);\r\n this.valueToValidate = null;\r\n }\r\n\r\n public cancelValidation(): void {\r\n this.valueToValidate = null;\r\n }\r\n\r\n public getIconCount(item: any): number {\r\n return item.iconRepetition != null && item.iconRepetition > 0 ? item.iconRepetition : 1;\r\n }\r\n\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./radios.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./radios.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./radios.vue?vue&type=template&id=d848cdc6&scoped=true&\"\nimport script from \"./radios.vue?vue&type=script&lang=ts&\"\nexport * from \"./radios.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./radios.vue?vue&type=style&index=0&id=d848cdc6&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 \"d848cdc6\",\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:\"dropdowns-component\",class:{ invalid: _vm.state === false, valid: _vm.state === true }},[(!_vm.title)?_c('div',{staticClass:\"mb-3\"},[_vm._v(\"Vous pouvez en sélectionner plusieurs\")]):_vm._e(),(_vm.title)?_c('div',{class:{ h3: _vm.titleBold },domProps:{\"innerHTML\":_vm._s(_vm.title)}}):_vm._e(),_c('ul',{staticClass:\"dropdowns-component-items\"},_vm._l((this.list),function(item,index){return _c('li',{key:item.id},[_c('b-dropdown',{attrs:{\"variant\":_vm.qualificationSelecteds[index] != null ? 'primary' : 'light'}},[_c('template',{slot:\"button-content\"},[(_vm.qualificationSelecteds[index] != null && _vm.qualificationSelecteds[index].class != null)?_c('span',[_c('font-awesome-icon',{staticClass:\"square-etat\",class:_vm.qualificationSelecteds[index].class,attrs:{\"icon\":\"square\"}})],1):(_vm.qualificationSelecteds[index] != null && _vm.qualificationSelecteds[index].class == null)?_c('span',{staticClass:\"square\"},[_vm._v(_vm._s(_vm.qualificationSelecteds[index].displayText.substring(0, 1)))]):_vm._e(),_vm._v(\" \"+_vm._s(item.businessEntry.displayText)+\" \")]),_c('div',{staticClass:\"ml-1\"},[_vm._l((item.businessEntryQualifications),function(qualification){return _c('b-dropdown-item',{key:qualification.id,on:{\"click\":function($event){$event.preventDefault();return _vm.onAddItemClick(item, qualification)}}},[(qualification.class != null)?_c('span',[_c('font-awesome-icon',{class:qualification.class,attrs:{\"icon\":\"square\",\"aria-hidden\":\"true\"}})],1):_vm._e(),_vm._v(\" \"+_vm._s(qualification.displayText)+\" \")])}),_c('b-dropdown-divider'),_c('b-dropdown-item',{on:{\"click\":function($event){$event.preventDefault();return _vm.onDeleteItemClick(item)}}},[_c('font-awesome-icon',{attrs:{\"icon\":\"times\",\"aria-hidden\":\"true\"}}),_vm._v(\" Supprimer \")],1)],2)],2)],1)}),0)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\n\r\n@Component({\r\n name: 'Dropdowns',\r\n})\r\nexport default class Dropdowns extends Vue {\r\n @Prop() public value: any;\r\n @Prop() public list: any;\r\n @Prop() public rapportId: number;\r\n @Prop() public title: string;\r\n @Prop({ default: true }) public titleBold: boolean;\r\n @Prop({ default: true }) public state: boolean;\r\n\r\n //#region LIFE CYCLES\r\n\r\n //#endregion\r\n\r\n //#region COMPUTED\r\n\r\n get qualificationSelecteds() {\r\n let result: any = [];\r\n this.list.forEach((businessEntryQualifiable: any, index: number) => {\r\n var businessEntrySelected = this.value.find(function (element: any) {\r\n return element.businessEntrySelectedId == businessEntryQualifiable.businessEntry.id;\r\n });\r\n\r\n if (businessEntrySelected !== undefined) {\r\n result[index] = businessEntryQualifiable.businessEntryQualifications.find(function (qualification: any) {\r\n return qualification.id == businessEntrySelected.businessEntryQualificationId;\r\n });\r\n }\r\n });\r\n return result;\r\n }\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n\r\n public onAddItemClick(item: any, businessEntryQualification: any): void {\r\n if (this.value.map((v: any) => v.businessEntrySelectedId).includes(item.businessEntry.id)) {\r\n var businessEntrySelected = this.value.find(function (element: any) {\r\n return element.businessEntrySelectedId == item.businessEntry.id;\r\n });\r\n\r\n businessEntrySelected.businessEntryQualificationId = businessEntryQualification.id;\r\n this.$emit('updateListQualificationSelected');\r\n } else {\r\n this.value.push({\r\n id: 0,\r\n businessEntrySelectedId: item.businessEntry.id,\r\n businessEntryQualificationId: businessEntryQualification.id,\r\n rapportExpertiseId: this.rapportId,\r\n });\r\n }\r\n }\r\n\r\n public onDeleteItemClick(item: any) {\r\n if (this.value.length > 0) {\r\n if (this.value.map((v: any) => v.businessEntrySelectedId).includes(item.businessEntry.id)) {\r\n var index = this.value.findIndex((v: any) => v.businessEntrySelectedId == item.businessEntry.id);\r\n this.value.splice(index, 1);\r\n }\r\n }\r\n }\r\n\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dropdowns.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dropdowns.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./dropdowns.vue?vue&type=template&id=051ebfb2&\"\nimport script from \"./dropdowns.vue?vue&type=script&lang=ts&\"\nexport * from \"./dropdowns.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./dropdowns.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export function isNotNullOrEmpty(value: string | number): boolean {\r\n return value !== undefined && value !== null && value !== '';\r\n}\r\n\r\nexport function isNullOrEmpty(value: string | number): boolean {\r\n return value === undefined || value === null || value === '' || value === 'null';\r\n}\r\n\r\n//Ne conserve que les lettre et les chiffres\r\nexport function toOnlyTextAndNumberLower(input: string): string {\r\n return input.replace(/[^a-zA-Z0-9]/g, '').toLowerCase();\r\n}\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Mixins, Prop, Vue, Watch } from 'vue-property-decorator';\r\nimport { BModal, BSidebar } from 'bootstrap-vue';\r\nimport { RapportExpertiseBusinessEntryRelationDto } from '@/shared/dtos/rapport-expertise-business-entry-relation.dto';\r\nimport { RapportExpertiseBusinessEntryDto } from '@/shared/dtos/rapport-expertise-business-entry.dto';\r\nimport Checkboxs from '@/shared/components/checkboxs.vue';\r\nimport Radios from '@/shared/components/radios.vue';\r\nimport Dropdowns from '@/shared/components/dropdowns.vue';\r\nimport { isNotNullOrEmpty } from '@/shared/utilities/string.utility';\r\nimport DeviceMixin from '@/mixins/device.mixin';\r\n\r\n@Component({\r\n name: 'ChoicePopup',\r\n components: {\r\n BSidebar,\r\n Checkboxs,\r\n Radios,\r\n Dropdowns,\r\n },\r\n})\r\nexport default class ChoicePopup extends Mixins(DeviceMixin) {\r\n @Prop() public value: RapportExpertiseBusinessEntryRelationDto[] | number;\r\n @Prop() public list: RapportExpertiseBusinessEntryDto[];\r\n @Prop() public rapportId: number;\r\n @Prop() public isDisabled: boolean;\r\n @Prop() public title: string;\r\n @Prop() public id: string;\r\n @Prop({ default: 0 }) public version: number;\r\n @Prop({ default: true }) public titleBold: boolean;\r\n @Prop({ default: true }) public state: boolean;\r\n @Prop({ default: false }) public multiple: boolean;\r\n @Prop({ default: false }) public dropdown: boolean;\r\n\r\n /* for radios */\r\n @Prop({ default: false }) public validation: boolean;\r\n @Prop() public validationTitle: String;\r\n @Prop() public validationContent: String;\r\n @Prop({ default: false }) public canDeselect: boolean;\r\n\r\n public baseURL: string = Vue.prototype.$config.baseUrlApi;\r\n public listSelected: RapportExpertiseBusinessEntryDto[] = [];\r\n\r\n //for dropdown\r\n public listQualificationSelected: any = [];\r\n public oldValue: RapportExpertiseBusinessEntryRelationDto[] | number = null;\r\n //#region LIFE CYCLES\r\n\r\n beforeMount(): void {\r\n if (this.dropdown) {\r\n this.updateListQualificationSelected();\r\n } else {\r\n this.updateListSelected();\r\n }\r\n }\r\n //#endregion\r\n\r\n //#region WATCH\r\n @Watch('value')\r\n public valueChanged(): any {\r\n if (this.dropdown) {\r\n this.updateListQualificationSelected();\r\n } else {\r\n this.updateListSelected();\r\n }\r\n }\r\n //#endregion\r\n\r\n //#region COMPUTED\r\n\r\n get choiceValue() {\r\n return this.value;\r\n }\r\n\r\n set choiceValue(val: RapportExpertiseBusinessEntryRelationDto[] | number) {\r\n this.$emit('input', val);\r\n }\r\n\r\n get filteredList(): any[] {\r\n return this.list.filter((item: any) => {\r\n if (item.businessEntry) {\r\n return this.isBusinessEntryVersionValid(item.businessEntry);\r\n } else {\r\n return this.isBusinessEntryVersionValid(item);\r\n }\r\n });\r\n }\r\n\r\n get isEdit(): boolean {\r\n if (typeof this.value === 'number') {\r\n return isNotNullOrEmpty(this.value);\r\n }\r\n\r\n return this.value && this.value.length > 0;\r\n }\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n\r\n public onShowSideBarClick(): void {\r\n this.oldValue = JSON.parse(JSON.stringify(this.choiceValue));\r\n this.closeSidebar();\r\n }\r\n\r\n public onCollapseSideBarClick(): void {\r\n this.closeSidebar();\r\n }\r\n\r\n public onShowModalValidationClick(): void {\r\n (this.$refs.modalValidation as BModal).show();\r\n }\r\n\r\n public onOkModalValidationClick(): void {\r\n (this.$refs.radioElement as Radios).submitValidation();\r\n (this.$refs.modalValidation as BModal).hide();\r\n this.closeSidebar();\r\n }\r\n\r\n public onCancelModalValidationClick(): void {\r\n (this.$refs.radioElement as Radios).cancelValidation();\r\n (this.$refs.modalValidation as BModal).hide();\r\n }\r\n\r\n public onTerminateClick(): void {\r\n this.closeSidebar();\r\n }\r\n\r\n public onCancelClick(): void {\r\n this.choiceValue = this.oldValue;\r\n this.closeSidebar();\r\n }\r\n\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n private isBusinessEntryVersionValid(be: RapportExpertiseBusinessEntryDto): boolean {\r\n return be && (be.minVersion == null || this.version >= be.minVersion) && (be.maxVersion == null || this.version <= be.maxVersion);\r\n }\r\n\r\n public closeSidebar(): void {\r\n this.$root.$emit('bv::toggle::collapse', 's' + this.id);\r\n }\r\n\r\n public isSelected(id: number): boolean {\r\n if (this.value === null || this.value === undefined) return false;\r\n\r\n if (typeof this.value === 'number') {\r\n return this.value === id;\r\n }\r\n\r\n return this.value.map((v: any) => v.businessEntrySelectedId).includes(id);\r\n }\r\n\r\n private updateListSelected(): void {\r\n this.listSelected = this.list.filter((x) => this.isSelected(x.id));\r\n }\r\n\r\n public updateListQualificationSelected(): void {\r\n this.listQualificationSelected = [];\r\n this.list.forEach((businessEntryQualifiable: any, index: number) => {\r\n var businessEntrySelected = (this.value as RapportExpertiseBusinessEntryRelationDto[]).find((element: any) => {\r\n return element.businessEntrySelectedId == businessEntryQualifiable.businessEntry.id;\r\n });\r\n\r\n if (businessEntrySelected !== undefined) {\r\n var businessEntryQualifiableSelected = businessEntryQualifiable.businessEntryQualifications.find((qualification: any) => {\r\n return qualification.id == businessEntrySelected.businessEntryQualificationId;\r\n });\r\n\r\n const businessEntryParentSelected = businessEntryQualifiable.businessEntry;\r\n\r\n this.listQualificationSelected.push({\r\n businessEntryParentSelected,\r\n businessEntryQualifiableSelected,\r\n });\r\n }\r\n });\r\n }\r\n\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./choice-popup.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./choice-popup.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./choice-popup.vue?vue&type=template&id=24cfb444&\"\nimport script from \"./choice-popup.vue?vue&type=script&lang=ts&\"\nexport * from \"./choice-popup.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./choice-popup.vue?vue&type=style&index=0&lang=scss&\"\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:\"prestation-expertise-contexte-intervention-component\"},[_c('div',{staticClass:\"bloc-info\"},[_c('b-row',[_c('b-col',{attrs:{\"cols\":\"4\",\"lg\":\"3\"}},[_vm._v(\" Date de commande \")]),_c('b-col',[_vm._v(\" \"+_vm._s(_vm._f(\"moment\")(_vm.mission.dateCreation,'DD/MM/YYYY'))+\" \")])],1),_c('b-row',[_c('b-col',{attrs:{\"cols\":\"4\",\"lg\":\"3\"}},[_vm._v(\" Référence \")]),_c('b-col',[_vm._v(\" \"+_vm._s(_vm.mission.reference)+\" \")])],1),_c('b-row',[_c('b-col',{attrs:{\"cols\":\"4\",\"lg\":\"3\"}},[_vm._v(\" Numéro de commande \")]),_c('b-col',[_vm._v(\" \"+_vm._s(_vm.mission.noMission)+\" \")])],1),(_vm.$can('VoirMandant', 'Rapport'))?_c('b-row',[_c('b-col',{attrs:{\"cols\":\"4\",\"lg\":\"3\"}},[_vm._v(\" Mandataire \")]),_c('b-col',[_vm._v(\" \"+_vm._s(_vm.mission.contactNomPrenom)+\" \"),_c('br'),_vm._v(\" \"+_vm._s(_vm.mission.societeNom)+\" \")])],1):_vm._e(),_c('b-row',[_c('b-col',{attrs:{\"cols\":\"4\",\"lg\":\"3\"}},[_vm._v(\" Motif de la commande \")]),_c('b-col',[_c('span',[_vm._v(_vm._s(_vm.mission.typePrestationExpertiseLibelle)+\" \"+_vm._s(_vm.mission.motifPrestationExpertise != null ? ' - ' + _vm.mission.motifPrestationExpertise : ''))])])],1),(_vm.isMobile)?_c('b-row',[_c('b-col',{attrs:{\"cols\":\"4\",\"lg\":\"3\"}},[_vm._v(\"Adresse du bien\")]),_c('b-col',[_vm._v(\" \"+_vm._s(_vm.mission.bien.adresseComplete)+\" \")])],1):_vm._e()],1),_c('choice-popup',{attrs:{\"list\":_vm.businessEntries.contratCategorieActifs,\"validation\":true,\"validationTitle\":\"Confirmation\",\"validationContent\":\"Êtes-vous sûr de vouloir changer la catégorie d'actif ?\",\"state\":!_vm.validation.mission.prestationExpertise.contratCategorieDActifId.$error,\"title\":\"Catégorie d'actif\",\"id\":\"CategorieActif\",\"isDisabled\":!_vm.canUpdateCategorieDActif},model:{value:(_vm.mission.prestationExpertise.contratCategorieDActifId),callback:function ($$v) {_vm.$set(_vm.mission.prestationExpertise, \"contratCategorieDActifId\", $$v)},expression:\"mission.prestationExpertise.contratCategorieDActifId\"}}),_vm._m(0),(_vm.contratsTypesBiens.length != 0)?_c('div',[_c('choice-popup',{attrs:{\"list\":_vm.contratsTypesBiens,\"title\":\"Type de bien\",\"state\":!_vm.validation.mission.prestationExpertise.contratTypeBienId.$error,\"id\":\"TypeBien\"},model:{value:(_vm.mission.prestationExpertise.contratTypeBienId),callback:function ($$v) {_vm.$set(_vm.mission.prestationExpertise, \"contratTypeBienId\", $$v)},expression:\"mission.prestationExpertise.contratTypeBienId\"}})],1):_vm._e(),(_vm.mission.intervention.descriptionBien)?_c('div',{staticClass:\"bloc-info mt-3\"},[_c('b-row',[_c('b-col',{attrs:{\"cols\":\"4\",\"lg\":\"3\"}},[_vm._v(\" Description du bien \")]),_c('b-col',[_c('span',[_vm._v(_vm._s(_vm.mission.intervention.descriptionBien))])])],1)],1):_vm._e()],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',{staticClass:\"small\"},[_c('span',{staticClass:\"text-secondary\"},[_c('b',[_vm._v(\"Important !\")])]),_vm._v(\" La modification de la catégorie d'actif a des répercussions sur les choix disponibles dans la suite de la mission. Assurez-vous dès maintenant qu’il s'agisse de la bonne catégorie. \")])}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Mixins, Prop } from 'vue-property-decorator';\r\n\r\nimport PrestationExpertiseSectionMixin from '@/mixins/prestation-expertise-section.mixin';\r\n\r\nimport ChoicePopup from '@/shared/components/choice-popup.vue';\r\n\r\n@Component({\r\n name: 'PrestationExpertiseContexteIntervention',\r\n components: {\r\n ChoicePopup,\r\n },\r\n})\r\nexport default class PrestationExpertiseContexteIntervention extends Mixins(PrestationExpertiseSectionMixin) {\r\n @Prop({ default: false }) isShowSpecificites: boolean;\r\n @Prop({ default: true }) canUpdateCategorieDActif: boolean;\r\n\r\n //#region LIFE CYCLES\r\n //#endregion\r\n //#region COMPUTED\r\n //#endregion\r\n //#region WATCH\r\n //#endregion\r\n //#region EVENTS\r\n //#endregion\r\n //#region FUNCTIONS\r\n //#endregion\r\n}\r\n","export enum ContratHypotheseEvaluationEnum {\r\n BienValoriseLibreDeTouteOccupationOuLocation = 2047101,\r\n BienValoriseEnEtatEtCompteTenuDeSesConditionsOccupation = 2047102,\r\n BienSupposeLoueALaValeurLocativeDeMarche = 2047103,\r\n BienValoriseApresTravaux = 2047104,\r\n Autre = 2047105,\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-contexte-intervention.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-contexte-intervention.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./prestation-expertise-contexte-intervention.vue?vue&type=template&id=abddb29c&\"\nimport script from \"./prestation-expertise-contexte-intervention.vue?vue&type=script&lang=ts&\"\nexport * from \"./prestation-expertise-contexte-intervention.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-row',{staticClass:\"bloc no-gutter-left-right\"},[_c('b-col',{class:{ invalid: _vm.validation.mission.dateVisite.$error },attrs:{\"cols\":\"12\",\"md\":\"4\",\"lg\":\"3\"}},[_c('h4',[_vm._v(_vm._s(_vm.label))])]),_c('b-col',[_c('b-row',{staticClass:\"m-0\"},[_c('date-picker',{attrs:{\"format\":\"dd/MM/yyyy HH:mm\",\"minimumView\":\"day\",\"state\":!_vm.validation.mission.dateVisite.$error,\"hasTime\":true,\"hasCancelButton\":!_vm.isWarnMandant,\"disabled\":_vm.mission.dateVisite && _vm.isWarnMandant},model:{value:(_vm.mission.dateVisite),callback:function ($$v) {_vm.$set(_vm.mission, \"dateVisite\", $$v)},expression:\"mission.dateVisite\"}}),(_vm.mission.dateVisite && _vm.isWarnMandant)?_c('b-button',{directives:[{name:\"b-modal\",rawName:\"v-b-modal.cancelVisiteModal\",modifiers:{\"cancelVisiteModal\":true}}],staticClass:\"btn btn-light ml-3\"},[_vm._v(\" Annuler le RDV et prévenir le mandant \")]):_vm._e(),_c('b-modal',{attrs:{\"id\":\"cancelVisiteModal\",\"title\":\"Annuler la visite et prévenir le mandant\",\"centered\":\"\",\"header-class\":\"border-bottom-0 pb-0\",\"body-class\":\"py-0\",\"header-close-label\":\"Fermer l'annulation du RDV\",\"ok-only\":\"\",\"ok-title\":\"Annuler la visite et prévenir le mandant\",\"title-sr-only\":\"\"},on:{\"ok\":_vm.onCancelVisiteClick}},[_c('form',{ref:\"form\"},[_c('b-form-group',{attrs:{\"label\":\"Motif de l'annulation\",\"label-for\":\"txtReason\",\"invalid-feedback\":\"Vous devez renseigner le motif de l'annulation du RDV\",\"state\":_vm.reasonState}},[_c('b-form-textarea',{attrs:{\"id\":\"txtReason\",\"required\":\"\",\"rows\":\"10\",\"state\":_vm.reasonState},model:{value:(_vm.reason),callback:function ($$v) {_vm.reason=$$v},expression:\"reason\"}})],1)],1)])],1),(_vm.validation.mission.dateVisite.$error)?_c('b-row',[_c('span',{staticClass:\"invalid\"},[_vm._v(\"La date de la visite est obligatoire, merci de modifier la date dans la fiche mission\")])]):_vm._e()],1)],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:\"date-picker-component\",class:{ invalid: _vm.state === false, valid: _vm.state === true }},[(_vm.title)?_c('div',{class:{ h3: _vm.titleBold },domProps:{\"innerHTML\":_vm._s(_vm.title)}}):_vm._e(),_c('div',{staticClass:\"input-group\"},[_c('div',{staticClass:\"input-group-prepend\"},[_c('b-button',{attrs:{\"variant\":_vm.state ? 'primary' : 'danger',\"disabled\":_vm.disabled},on:{\"click\":_vm.onShowCalendarClick}},[_c('font-awesome-icon',{attrs:{\"icon\":['far', 'calendar-alt'],\"aria-hidden\":\"true\"}})],1)],1),(!_vm.hasTime)?_c('datepicker',_vm._b({ref:\"datepicker\",attrs:{\"language\":_vm.fr,\"format\":_vm.format,\"monday-first\":true,\"bootstrap-styling\":true,\"input-class\":{ invalid: _vm.state === false, 'bg-white': true },\"typeable\":true,\"disabled\":_vm.disabled},model:{value:(_vm.date),callback:function ($$v) {_vm.date=$$v},expression:\"date\"}},'datepicker',_vm.$attrs,false)):_vm._e(),(_vm.hasTime)?_c('datetime',{ref:\"datetimepicker\",staticClass:\"theme-calendar\",attrs:{\"input-class\":{\n invalid: _vm.state === false,\n 'bg-white': true,\n 'form-control': true,\n },\"type\":\"datetime\",\"format\":_vm.format,\"language\":_vm.fr,\"minute-step\":5,\"phrases\":{ ok: 'Valider', cancel: 'Annuler' },\"disabled\":_vm.disabled},model:{value:(_vm.date),callback:function ($$v) {_vm.date=$$v},expression:\"date\"}}):_vm._e(),(_vm.date && _vm.hasCancelButton)?_c('div',{staticClass:\"input-group-append\"},[_c('b-button',{staticClass:\"btn btn-light\",on:{\"click\":_vm.onClearDatePickerClick}},[_c('font-awesome-icon',{attrs:{\"icon\":\"times\"}})],1)],1):_vm._e()],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\n\r\nimport Datepicker from 'vuejs-datepicker';\r\nimport { fr } from 'vuejs-datepicker/dist/locale';\r\nimport moment from 'moment';\r\n\r\nimport { Datetime } from 'vue-datetime';\r\n// You need a specific loader for CSS files\r\nimport 'vue-datetime/dist/vue-datetime.css';\r\n\r\nimport { Settings } from 'luxon';\r\nSettings.defaultLocale = 'fr';\r\n\r\n@Component({\r\n name: 'DatePicker',\r\n components: { Datepicker, Datetime },\r\n})\r\nexport default class DatePicker extends Vue {\r\n @Prop() public value: string;\r\n @Prop({ default: 'dd/MM/yyyy', required: false }) public format: string;\r\n @Prop() public title: string;\r\n @Prop({ default: true }) public titleBold: boolean;\r\n @Prop({ default: true }) public state: boolean;\r\n @Prop({ default: false }) public hasTime: boolean;\r\n @Prop({ default: true }) public hasCancelButton: boolean;\r\n @Prop({ default: false }) public disabled: boolean;\r\n\r\n public fr: any;\r\n public dateInput: any = null;\r\n\r\n //#region LIFE CYCLES\r\n created() {\r\n this.fr = fr;\r\n }\r\n\r\n mounted() {\r\n // C'est pas ouf, mais pour régler les soucis de typeable & format qui ne fonctionnent pas ensemble\r\n // voir https://github.com/charliekassel/vuejs-datepicker/pull/633\r\n // on override les méthodes inputBlurred & parseTypedDate à la mano\r\n if (!this.hasTime) {\r\n this.dateInput = (this.$refs.datepicker as any).$children[0];\r\n this.dateInput.inputBlurred = this.newInputBlurred;\r\n this.dateInput.parseTypedDate = this.newParseTypedDate;\r\n }\r\n }\r\n\r\n //#endregion\r\n\r\n //#region COMPUTED\r\n\r\n get date() {\r\n return this.value;\r\n }\r\n\r\n set date(val: string) {\r\n const value = val ? moment(val).format() : null;\r\n this.$emit('input', value);\r\n }\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n\r\n public onClearDatePickerClick(): void {\r\n this.date = null;\r\n }\r\n\r\n public onShowCalendarClick(e: any): void {\r\n if (this.hasTime) {\r\n (this.$refs.datetimepicker as any).open(e);\r\n } else {\r\n (this.$refs.datepicker as any).showCalendar();\r\n }\r\n }\r\n\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n\r\n public newParseTypedDate(event: any): void {\r\n // close calendar if escape or enter are pressed\r\n if (\r\n [\r\n 27, // escape\r\n 13, // enter\r\n ].includes(event.keyCode)\r\n ) {\r\n this.dateInput.input.blur();\r\n }\r\n\r\n if (this.dateInput.typeable) {\r\n var parseableDate = this.parseableDate(this.dateInput.input.value, this.dateInput.format);\r\n var parsedDate = Date.parse(parseableDate);\r\n if (!isNaN(parsedDate)) {\r\n this.dateInput.typedDate = this.dateInput.input.value;\r\n this.dateInput.$emit('typedDate', new Date(parsedDate));\r\n }\r\n }\r\n }\r\n\r\n public newInputBlurred(): void {\r\n var parseableDate = this.parseableDate(this.dateInput.input.value, this.dateInput.format);\r\n if (isNaN(Date.parse(parseableDate))) {\r\n this.dateInput.clearDate();\r\n this.dateInput.input.value = null;\r\n this.dateInput.typedDate = null;\r\n }\r\n this.dateInput.$emit('closeCalendar');\r\n }\r\n\r\n public parseableDate(datestr: any, formatstr: any): string {\r\n if (!(datestr && formatstr)) {\r\n return datestr;\r\n }\r\n\r\n // moment a besoin d'un format en majuscule (MM/YYYY)\r\n return moment(datestr, formatstr.toUpperCase()).format();\r\n }\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./date-picker.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./date-picker.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./date-picker.vue?vue&type=template&id=c41d1c2a&\"\nimport script from \"./date-picker.vue?vue&type=script&lang=ts&\"\nexport * from \"./date-picker.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./date-picker.vue?vue&type=style&index=0&lang=scss&\"\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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Vue, Component, Prop } from 'vue-property-decorator';\r\nimport DatePicker from '@/shared/components/date-picker.vue';\r\nimport store from '../store';\r\n@Component({\r\n name: 'DateVisite',\r\n components: {\r\n DatePicker,\r\n },\r\n})\r\nexport default class DateVisite extends Vue {\r\n @Prop({ default: 'Date de la visite' }) public label: string;\r\n @Prop() public mission: any;\r\n @Prop() public validation: any;\r\n @Prop({ default: true }) public isWarnMandant: boolean;\r\n\r\n public reason: string = null;\r\n public reasonState: any = null;\r\n\r\n //#region LIFE CYCLES\r\n public beforeMount(): void {\r\n this.reason = `Bonjour,\\n\\nLe rendez-vous est modifié pour la raison suivante :\\n\\n\\nCordialement,\\n\\n${store.user.surname} ${store.user.name}`;\r\n }\r\n //#endregion\r\n\r\n //#region COMPUTED\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n public async onCancelVisiteClick(event: any): Promise {\r\n if (!this.checkFormValidity()) {\r\n event.preventDefault();\r\n return;\r\n }\r\n\r\n store.isLoading = true;\r\n const logMessage = `Annulation du RDV attaché à la mission: ${this.mission.reference}`;\r\n\r\n await Vue.prototype.$logStoreService.info(`${logMessage} - START`, 'PrestationExpertise');\r\n\r\n Vue.prototype.$missionApiService\r\n .annulerRDV(this.mission.id, this.reason)\r\n .then(async () => {\r\n Vue.prototype.$notificationService.success(`Le RDV a bien été annulé et le mail envoyé au mandant`);\r\n await Vue.prototype.$logStoreService.info(`${logMessage} - END`, 'PrestationExpertise');\r\n this.mission.dateVisite = null;\r\n this.reason = null;\r\n this.$bvModal.hide('cancelVisiteModal');\r\n })\r\n .catch(async (error: any) => {\r\n Vue.prototype.$notificationService.error(`Erreur lors de l'annulation du RDV ou l'envoi du mail au mandant`);\r\n await Vue.prototype.$logStoreService.error(`${logMessage} - ERROR`, error, 'PrestationExpertise');\r\n })\r\n .finally(() => {\r\n store.isLoading = false;\r\n });\r\n }\r\n\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n public checkFormValidity(): boolean {\r\n const isValid = (this.$refs.form as any).checkValidity();\r\n this.reasonState = isValid;\r\n return isValid;\r\n }\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./date-visite.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./date-visite.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./date-visite.vue?vue&type=template&id=32a871fa&\"\nimport script from \"./date-visite.vue?vue&type=script&lang=ts&\"\nexport * from \"./date-visite.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Vue, Component, Inject, Mixins, Watch } from 'vue-property-decorator';\r\n\r\nimport RapportExpertiseSectionMixin from '@/mixins/rapport-expertise-section.mixin';\r\n\r\nimport {\r\n isContratConditionOccupationOccupe,\r\n isContratTypeVisiteExterieur,\r\n isContratTypeVisiteInterieurEtExterieur,\r\n} from '@/helpers/rapport-expertise.helper';\r\nimport ChoicePopup from '@/shared/components/choice-popup.vue';\r\nimport PrestationExpertiseContexteIntervention from '@/shared/components/prestation-expertise/prestation-expertise-contexte-intervention.vue';\r\nimport { PieceJointeRapportDto } from '@/shared/dtos/piece-jointe-rapport.dto';\r\nimport { EvaluationMethodeRetenueEnum } from '@/shared/enums/evaluation-methode-retenue.enum';\r\nimport { ContratHypotheseEvaluationEnum } from '@/shared/enums/contrat-hypothese-evaluation.enum';\r\nimport DateVisite from '@/shared/components/date-visite.vue';\r\n\r\n@Component({\r\n name: 'PrestationExpertiseRapportContratMission',\r\n components: {\r\n DateVisite,\r\n ChoicePopup,\r\n PrestationExpertiseContexteIntervention,\r\n },\r\n})\r\nexport default class PrestationExpertiseRapportContratMission extends Mixins(RapportExpertiseSectionMixin) {\r\n @Inject('deletePieceJointeByIdAndType') public deletePieceJointeByIdAndType: any;\r\n //#region LIFE CYCLES\r\n public beforeMount(): void {\r\n if (this.isVisiteExterieure) {\r\n this.cleanPrestations();\r\n }\r\n }\r\n\r\n //#endregion\r\n\r\n //#region COMPUTED\r\n get isConditionOccupationOccupe(): boolean {\r\n return isContratConditionOccupationOccupe(this.rapport.contratConditionOccupationId);\r\n }\r\n\r\n get isVisiteExterieure(): boolean {\r\n return isContratTypeVisiteExterieur(this.rapport.contratTypeVisiteId);\r\n }\r\n\r\n get isVisiteInterieurEtExterieur(): boolean {\r\n return isContratTypeVisiteInterieurEtExterieur(this.rapport.contratTypeVisiteId);\r\n }\r\n\r\n get isHypotheseEvaluationAutre(): boolean {\r\n return this.rapport.contratHypotheseEvaluationId === ContratHypotheseEvaluationEnum.Autre;\r\n }\r\n\r\n //#endregion\r\n\r\n //#region WATCH\r\n @Watch('rapport.contratCategorieDActifId')\r\n public contratCategorieDActifIdChanged(): void {\r\n this.rapport.contratTypeBienId = null;\r\n\r\n if (!this.isTypeDeBienAppartement) {\r\n this.rapport.contratTypeBienSpecificiteId = null;\r\n }\r\n\r\n if (this.isTypeDeBienTerrain) {\r\n this.rapport.evaluationSurfaceOuSuperficie = this.rapport.terrainSuperficie;\r\n this.clearDescriptionParticuliere();\r\n } else {\r\n this.rapport.evaluationSurfaceOuSuperficie = this.rapport.particuliereSurfaceTotaleHabitable;\r\n }\r\n\r\n this.updateCategorieActif();\r\n }\r\n\r\n @Watch('rapport.contratTypeVisiteId')\r\n public contratTypeVisiteIdChange(): void {\r\n if (this.isVisiteExterieure) {\r\n this.cleanPrestations();\r\n }\r\n }\r\n\r\n @Watch('rapport.contratConditionOccupationId')\r\n public contratConditionOccupationIdChanged(): void {\r\n if (this.isRapportVersionLowerOrEqualsTo(2.0)) {\r\n if (this.isConditionOccupationOccupe) {\r\n this.rapport.evaluationMethodeRetenueId = EvaluationMethodeRetenueEnum.ComparaisonEtRendement;\r\n } else {\r\n this.rapport.evaluationMethodeRetenueId = EvaluationMethodeRetenueEnum.Comparaison;\r\n this.rapport.contratHypotheseEvaluationId = null;\r\n }\r\n } else {\r\n if (!this.isConditionOccupationOccupe) this.clearSituationLocative();\r\n }\r\n }\r\n\r\n @Watch('rapport.contratHypotheseEvaluationId')\r\n public contratHypotheseEvaluationIdChanged(val: number): void {\r\n if (this.isRapportVersionGreaterOrEqualsTo(3.0)) {\r\n switch (val) {\r\n case ContratHypotheseEvaluationEnum.BienValoriseLibreDeTouteOccupationOuLocation:\r\n case ContratHypotheseEvaluationEnum.BienValoriseApresTravaux:\r\n this.rapport.evaluationMethodeRetenueId = EvaluationMethodeRetenueEnum.Comparaison;\r\n break;\r\n case ContratHypotheseEvaluationEnum.BienValoriseEnEtatEtCompteTenuDeSesConditionsOccupation:\r\n case ContratHypotheseEvaluationEnum.BienSupposeLoueALaValeurLocativeDeMarche:\r\n this.rapport.evaluationMethodeRetenueId = EvaluationMethodeRetenueEnum.ComparaisonEtRendement;\r\n break;\r\n case ContratHypotheseEvaluationEnum.Autre:\r\n this.rapport.evaluationMethodeRetenueId = EvaluationMethodeRetenueEnum.Comparaison;\r\n break;\r\n }\r\n\r\n if (val !== ContratHypotheseEvaluationEnum.Autre) this.rapport.contratHypotheseEvaluationAutre = null;\r\n }\r\n }\r\n //#endregion\r\n\r\n //#region EVENTS\r\n\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n public clearDescriptionParticuliere(): void {\r\n if (this.rapport.piecesJointesRapport != null) {\r\n this.rapport.piecesJointesRapport['SectionGrosOeuvre'].forEach((pj: PieceJointeRapportDto) => {\r\n this.deletePieceJointeByIdAndType(pj.id, 'SectionGrosOeuvre');\r\n });\r\n this.rapport.piecesJointesRapport['SectionSurface'].forEach((pj: PieceJointeRapportDto) => {\r\n this.deletePieceJointeByIdAndType(pj.id, 'SectionSurface');\r\n });\r\n\r\n this.rapport.piecesJointesRapport['Cuisine'].forEach((pj: PieceJointeRapportDto) => {\r\n this.deletePieceJointeByIdAndType(pj.id, 'Cuisine');\r\n });\r\n\r\n this.rapport.piecesJointesRapport['SalleDeBain'].forEach((pj: PieceJointeRapportDto) => {\r\n this.deletePieceJointeByIdAndType(pj.id, 'SalleDeBain');\r\n });\r\n }\r\n\r\n this.rapport.caracteristiquesAnneeConstruction = null;\r\n this.rapport.caracteristiquesMitoyennete = null;\r\n this.rapport.caracteristiquesMitoyenneteCoteId = null;\r\n this.rapport.caracteristiquesGrosOeuvres = [];\r\n this.rapport.caracteristiquesMenuiseries = [];\r\n this.rapport.caracteristiquesToitures = [];\r\n this.rapport.caracteristiquesFacades = [];\r\n this.rapport.caracteristiqueAssainissementId = null;\r\n this.rapport.caracteristiquesDescription = null;\r\n this.rapport.caracteristiquesDPEId = null;\r\n\r\n this.rapport.distributionInterieureEtages = [];\r\n this.rapport.prestationsMurs = [];\r\n this.rapport.prestationsPlafonds = [];\r\n this.rapport.prestationsSols = [];\r\n this.rapport.prestationsModesChauffages = [];\r\n this.rapport.prestationsEquipements = [];\r\n this.rapport.prestationsAgrements = [];\r\n this.rapport.prestationsAvisExpert = null;\r\n this.rapport.prestationsCuisines = [];\r\n this.rapport.prestationsSallesDeBains = [];\r\n this.rapport.prestationsSurfaceAnnexes = [];\r\n this.rapport.prestationsDependances = [];\r\n this.rapport.prestationsDescription = null;\r\n\r\n this.rapport.prestationsPartiesCommunesId = null;\r\n this.rapport.particuliereSourceDesSurfacesId = null;\r\n this.rapport.particuliereSurfaceTotaleHabitable = null;\r\n this.rapport.prestationsInstallationElectriqueId = null;\r\n this.rapport.prestationsIsolationId = null;\r\n }\r\n\r\n public cleanPrestations() {\r\n this.rapport.piecesJointesRapport['SectionSurface'].forEach((pj: PieceJointeRapportDto) => {\r\n this.deletePieceJointeByIdAndType(pj.id, 'SectionSurface');\r\n });\r\n\r\n this.rapport.piecesJointesRapport['Cuisine'].forEach((pj: PieceJointeRapportDto) => {\r\n this.deletePieceJointeByIdAndType(pj.id, 'Cuisine');\r\n });\r\n\r\n this.rapport.piecesJointesRapport['SalleDeBain'].forEach((pj: PieceJointeRapportDto) => {\r\n this.deletePieceJointeByIdAndType(pj.id, 'SalleDeBain');\r\n });\r\n\r\n this.rapport.prestationsMurs = [];\r\n this.rapport.prestationsSols = [];\r\n this.rapport.prestationsPlafonds = [];\r\n this.rapport.prestationAvecChauffage = null;\r\n this.rapport.prestationsModesChauffages = [];\r\n this.rapport.prestationsEquipements = [];\r\n this.rapport.prestationsAgrements = [];\r\n this.rapport.prestationsCuisines = [];\r\n this.rapport.prestationsSallesDeBains = [];\r\n this.rapport.prestationsPartiesCommunesId = null;\r\n this.rapport.contratVisitePresenceCiviliteId = null;\r\n this.rapport.prestationsDescription = null;\r\n this.rapport.prestationsInstallationElectriqueId = null;\r\n this.rapport.prestationsIsolationId = null;\r\n }\r\n\r\n public clearSituationLocative(): void {\r\n if (!this.isRapport) return;\r\n this.rapport.locativeChargesNonRecuperables = null;\r\n this.rapport.locativeCommentaire = null;\r\n this.rapport.locativeDateBail = null;\r\n this.rapport.locativeLoyerAnnuelBrut = null;\r\n this.rapport.locativeLoyerAnnuelNet = null;\r\n this.rapport.locativeLoyerMensuelBrut = null;\r\n this.rapport.locativeNatureBailId = null;\r\n }\r\n\r\n public async updateCategorieActif(): Promise {\r\n if (navigator.onLine) {\r\n const logMessage = `Mise à jour de la catégorie d'actif de la mission ${this.mission.reference}.`;\r\n await Vue.prototype.$logStoreService.info(`${logMessage} - START`, 'PrestationExpertiseRapport');\r\n await Vue.prototype.$rapportExpertiseApiService\r\n .updateCategorieActif(this.rapport.id, this.rapport.contratCategorieDActifId)\r\n .then(async () => {\r\n await Vue.prototype.$logStoreService.info(`${logMessage} - END`, 'PrestationExpertiseRapport');\r\n });\r\n } else {\r\n navigator.serviceWorker.controller.postMessage({\r\n type: 'ADD_REQUEST',\r\n data: Vue.prototype.$rapportExpertiseApiService.updateCategorieActif(this.rapport.id, this.rapport.contratCategorieDActifId),\r\n });\r\n }\r\n }\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-contrat-mission.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-contrat-mission.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./prestation-expertise-rapport-contrat-mission.vue?vue&type=template&id=0388d684&\"\nimport script from \"./prestation-expertise-rapport-contrat-mission.vue?vue&type=script&lang=ts&\"\nexport * from \"./prestation-expertise-rapport-contrat-mission.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"prestation-expertise-rapport-situation-geographique-geographie-component\"},[_c('visa-display',{attrs:{\"visa\":_vm.rapport.notes[_vm.getRapportExpertiseNoteSectionEnumName(_vm.rapportExpertiseNoteSectionEnum.SituationGeographique)]}}),(_vm.showSituationGeographiqueGraphiques)?_c('div',[_c('h3',[_vm._v(\"Données INSEE\")]),(_vm.isRapport)?_c('div',[(_vm.charts)?_c('b-row',[_c('b-col',{attrs:{\"cols\":\"auto\"}},[_c('multiple-chart',{attrs:{\"title\":\"Répartition par âges\",\"name\":\"repartitionAge\",\"data\":_vm.charts.repartitionAge,\"options\":_vm.getRepartitionAgeOptions}})],1),_c('b-col',{attrs:{\"cols\":\"auto\"}},[_c('multiple-chart',{attrs:{\"title\":\"Répartition des effectifs de la population\",\"name\":\"effectifsPopulation\",\"data\":_vm.charts.effectifsPopulation,\"options\":_vm.getEffectifsPopulationOptions}})],1)],1):_vm._e()],1):_vm._e(),_c('b-row',[_c('b-col',{attrs:{\"cols\":\"auto\"}},[_c('simple-chart',{attrs:{\"name\":\"chartTauxChomage\",\"title\":\"Taux de chômage\",\"options\":_vm.getTauxChomageOptions}})],1),_c('b-col',{attrs:{\"cols\":\"auto\"}},[_c('simple-chart',{attrs:{\"name\":\"chartDensitePopulation\",\"title\":\"Densité de population\",\"options\":_vm.getDensitePopulationOptions}})],1)],1)],1):_vm._e(),_c('prestation-expertise-situation-adresse',{attrs:{\"validation\":_vm.validation,\"showCaptureAerienne\":_vm.isRapportVersionGreaterOrEqualsTo(3.3)},model:{value:(_vm.mission),callback:function ($$v) {_vm.mission=$$v},expression:\"mission\"}}),_c('choice-popup',{attrs:{\"list\":_vm.businessEntries.geographiqueTypeHabitats,\"version\":_vm.rapport.version,\"state\":!_vm.validation.mission.prestationExpertise.geographiqueTypeHabitatId.$error,\"title\":\"Type d'habitat\",\"id\":\"TypeHabitat\"},model:{value:(_vm.rapport.geographiqueTypeHabitatId),callback:function ($$v) {_vm.$set(_vm.rapport, \"geographiqueTypeHabitatId\", $$v)},expression:\"rapport.geographiqueTypeHabitatId\"}}),_c('h3',[_vm._v(\"Commodités\")]),(_vm.rapport.geographiqueCommodites && _vm.rapport.geographiqueCommodites.length > 0)?_c('div',[_c('exp-commodite',{attrs:{\"categorieId\":1,\"titre\":\"Transports\"},model:{value:(_vm.rapport.geographiqueCommodites),callback:function ($$v) {_vm.$set(_vm.rapport, \"geographiqueCommodites\", $$v)},expression:\"rapport.geographiqueCommodites\"}}),_c('exp-commodite',{attrs:{\"categorieId\":2,\"titre\":\"Enseignements\"},model:{value:(_vm.rapport.geographiqueCommodites),callback:function ($$v) {_vm.$set(_vm.rapport, \"geographiqueCommodites\", $$v)},expression:\"rapport.geographiqueCommodites\"}}),_c('exp-commodite',{attrs:{\"categorieId\":3,\"titre\":\"Commerces\"},model:{value:(_vm.rapport.geographiqueCommodites),callback:function ($$v) {_vm.$set(_vm.rapport, \"geographiqueCommodites\", $$v)},expression:\"rapport.geographiqueCommodites\"}}),_c('exp-commodite',{attrs:{\"categorieId\":4,\"titre\":\"Santé\"},model:{value:(_vm.rapport.geographiqueCommodites),callback:function ($$v) {_vm.$set(_vm.rapport, \"geographiqueCommodites\", $$v)},expression:\"rapport.geographiqueCommodites\"}}),_c('exp-commodite',{attrs:{\"categorieId\":5,\"titre\":\"Loisirs\"},model:{value:(_vm.rapport.geographiqueCommodites),callback:function ($$v) {_vm.$set(_vm.rapport, \"geographiqueCommodites\", $$v)},expression:\"rapport.geographiqueCommodites\"}})],1):_vm._e(),(!_vm.rapport.geographiqueCommodites || _vm.rapport.geographiqueCommodites.length == 0)?_c('div',[_c('span',[_vm._v(\"Les commodités seront disponibles lorsque le bien sera géolocalisé.\")])]):_vm._e(),(_vm.isRapport && !_vm.isMobile && _vm.isRapportVersionGreaterOrEqualsTo(3.3))?_c('div',{class:{\n invalid: _vm.validation.mission.prestationExpertise.situationGeographiqueParticuliereId.$error,\n }},[_c('radios',{attrs:{\"list\":_vm.businessEntries.situationGeographiqueParticulieres,\"state\":!_vm.validation.mission.prestationExpertise.situationGeographiqueParticuliereId.$error,\"title\":\"Situation géographique particulière\"},model:{value:(_vm.rapport.situationGeographiqueParticuliereId),callback:function ($$v) {_vm.$set(_vm.rapport, \"situationGeographiqueParticuliereId\", $$v)},expression:\"rapport.situationGeographiqueParticuliereId\"}})],1):_vm._e(),(_vm.isMobile)?_c('prestation-expertise-rapport-situation-geographique-avis-expert',{attrs:{\"validation\":_vm.validation},model:{value:(_vm.mission),callback:function ($$v) {_vm.mission=$$v},expression:\"mission\"}}):_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',[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.hasChart && _vm.hasDataChart),expression:\"hasChart && hasDataChart\"}]},[_c('h4',{staticClass:\"mb-2\"},[_vm._v(_vm._s(_vm.title))]),_c('canvas',{ref:_vm.name}),_c('div',{staticClass:\"legend\",domProps:{\"innerHTML\":_vm._s(_vm.legend)}})]),_c('b-row',[_c('b-col',[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.hasChart),expression:\"!hasChart\"}],staticClass:\"bloc-info\"},[_c('h4',{staticClass:\"mb-2\"},[_vm._v(_vm._s(_vm.title))]),_c('font-awesome-icon',{staticClass:\"center fa-5x mb-2 d-block\",attrs:{\"icon\":\"chart-pie\"}}),_c('span',[_vm._v(\"Ce graphique sera disponible lorsque le bien sera géolocalisé.\")])],1)])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\n\r\n@Component({\r\n name: 'SimpleChart',\r\n})\r\nexport default class SimpleChart extends Vue {\r\n @Prop() public title: string;\r\n @Prop() public name: string;\r\n @Prop() public options: Function;\r\n\r\n public legend: any = null;\r\n public chart: any = null;\r\n\r\n //#region LIFE CYCLES\r\n public mounted(): void {\r\n this.init();\r\n }\r\n\r\n public beforeUpdate(): void {\r\n this.update();\r\n }\r\n\r\n public beforeDestroy(): void {\r\n this.destroy();\r\n }\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n\r\n //#endregion\r\n\r\n //#region COMPUTED\r\n\r\n get hasChart() {\r\n return this.options() != null;\r\n }\r\n\r\n get hasDataChart() {\r\n return this.hasChart && this.options().data != null && this.options().data.datasets.length > 0;\r\n }\r\n\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n public init(): void {\r\n if (this.hasChart) {\r\n try {\r\n this.chart = new (window as any).Chart((this.$refs[this.name] as any).getContext('2d'), this.options());\r\n this.legend = this.chart.generateLegend();\r\n } catch (error) {\r\n // En cas d'erreur, on rejoue une deuxième fois. On est obligé de faire ça si on veut éviter des exceptions bizarroides.\r\n this.chart = null;\r\n this.init();\r\n }\r\n }\r\n }\r\n\r\n public update(): void {\r\n this.destroy();\r\n this.init();\r\n }\r\n\r\n public destroy(): void {\r\n if (this.chart) {\r\n this.chart.destroy();\r\n }\r\n }\r\n\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./simple-chart.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./simple-chart.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./simple-chart.vue?vue&type=template&id=4f070422&scoped=true&\"\nimport script from \"./simple-chart.vue?vue&type=script&lang=ts&\"\nexport * from \"./simple-chart.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./simple-chart.vue?vue&type=style&index=0&id=4f070422&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 \"4f070422\",\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.hasChart)?_c('div',[_c('h4',[_vm._v(_vm._s(_vm.title))]),_c('b-row',[_vm._l((_vm.data),function(chart,index){return _c('b-col',{key:index,attrs:{\"cols\":\"auto\"}},[_c('canvas',{ref:_vm.name + index,refInFor:true})])}),_c('b-col',{staticClass:\"legend\",attrs:{\"cols\":\"auto\"},domProps:{\"innerHTML\":_vm._s(_vm.legend)}})],2)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\n\r\n@Component({\r\n name: 'MultipleChart',\r\n})\r\nexport default class MultipleChart extends Vue {\r\n @Prop() public title: string;\r\n @Prop() public data: any;\r\n @Prop() public name: any;\r\n @Prop() public options: Function;\r\n\r\n public legend: any = null;\r\n public charts: any = [];\r\n\r\n //#region LIFE CYCLES\r\n public mounted(): void {\r\n this.init();\r\n }\r\n\r\n public beforeUpdate(): void {\r\n this.update();\r\n }\r\n\r\n public beforeDestroy(): void {\r\n this.destroy();\r\n }\r\n //#endregion\r\n\r\n //#region COMPUTED\r\n get hasChart() {\r\n return this.data != null;\r\n }\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n\r\n public init(): void {\r\n if (this.data == null) return;\r\n let chart;\r\n for (let i = 0; i < this.data.length; i++) {\r\n let dataset = this.data[i];\r\n const refChart: any = this.$refs[this.name + i];\r\n try {\r\n chart = new (window as any).Chart(refChart[0].getContext('2d'), this.options(dataset));\r\n } catch (error) {\r\n // En cas d'erreur, on rejoue une deuxième fois. On est obligé de faire ça si on veut éviter des exceptions bizarroides.\r\n chart = null;\r\n chart = new (window as any).Chart(refChart[0].getContext('2d'), this.options(dataset));\r\n }\r\n this.charts.push(chart);\r\n }\r\n this.legend = chart.generateLegend();\r\n }\r\n\r\n public update(): void {\r\n this.destroy();\r\n this.init();\r\n }\r\n\r\n public destroy(): void {\r\n for (let i = 0; i < this.charts.length; i++) {\r\n let chart = this.charts[i];\r\n chart.destroy();\r\n }\r\n this.charts = [];\r\n }\r\n\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./multiple-chart.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./multiple-chart.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./multiple-chart.vue?vue&type=template&id=575ede56&scoped=true&\"\nimport script from \"./multiple-chart.vue?vue&type=script&lang=ts&\"\nexport * from \"./multiple-chart.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./multiple-chart.vue?vue&type=style&index=0&id=575ede56&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 \"575ede56\",\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.filteredCommodites.length > 0)?_c('div',{staticClass:\"commodite-component mb-5\"},[_c('h4',{staticClass:\"commodite-component-title\"},[_vm._v(_vm._s(_vm.titre))]),(_vm.isSousCategorieNullOrEmpty)?_c('div',[_c('b-form-group',{staticClass:\"m-0\"},_vm._l((_vm.filteredCommodites),function(item,index){return _c('b-form-checkbox',{key:index,staticClass:\"commodite-component-checkbox\",class:{ selected: item.selectionne === true },on:{\"click\":function($event){return _vm.onCommoditeClick(item)}},model:{value:(item.selectionne),callback:function ($$v) {_vm.$set(item, \"selectionne\", $$v)},expression:\"item.selectionne\"}},[_c('b-row',{attrs:{\"no-gutters\":\"\"}},[_c('b-col',{staticClass:\"col-commodite-nom\",attrs:{\"cols\":\"8\"}},[_vm._v(_vm._s(item.nom))]),(item.typeDistance)?_c('b-col',{staticClass:\"col-commodite-distance\",attrs:{\"cols\":\"2\"}},[(_vm.isVoiture(item.typeDistance))?_c('div',[_c('font-awesome-icon',{attrs:{\"icon\":\"car\",\"aria-hidden\":\"true\"}}),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(item.tempsDistanceString))])],1):_vm._e()]):_vm._e(),(item.typeDistance)?_c('b-col',{staticClass:\"col-commodite-distance\",attrs:{\"cols\":\"2\"}},[(_vm.isPieds(item.typeDistance))?_c('div',[_c('font-awesome-icon',{attrs:{\"icon\":\"walking\",\"aria-hidden\":\"true\"}}),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(item.tempsDistanceString))])],1):_vm._e()]):_vm._e(),(item.metreDistance)?_c('b-col',{staticClass:\"col-commodite-distance\",attrs:{\"cols\":\"4\"}},[_c('div',[_c('font-awesome-icon',{attrs:{\"icon\":\"arrows-alt-h\",\"aria-hidden\":\"true\"}}),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(item.metreDistance)+\" mètres\")])],1)]):_vm._e()],1)],1)}),1)],1):_c('div',_vm._l((_vm.filteredCommoditesBySousCategories),function(items,value){return _c('div',{key:value},[_c('h5',{staticClass:\"commodite-component-subtitle\"},[_vm._v(_vm._s(value))]),_c('b-form-group',{staticClass:\"m-0\"},_vm._l((items),function(item,index){return _c('b-form-checkbox',{key:index,staticClass:\"commodite-component-checkbox\",class:{ selected: item.selectionne === true },on:{\"click\":function($event){return _vm.onCommoditeClick(item)}},model:{value:(item.selectionne),callback:function ($$v) {_vm.$set(item, \"selectionne\", $$v)},expression:\"item.selectionne\"}},[_c('b-row',{attrs:{\"no-gutters\":\"\"}},[_c('b-col',{staticClass:\"col-commodite-nom\",attrs:{\"cols\":\"9\"}},[_vm._v(_vm._s(item.nom))]),(item.metreDistance)?_c('b-col',{staticClass:\"col-commodite-distance\",attrs:{\"cols\":\"3\"}},[_c('div',[_c('font-awesome-icon',{attrs:{\"icon\":\"arrows-alt-h\",\"aria-hidden\":\"true\"}}),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(item.metreDistance)+\" mètres\")])],1)]):_vm._e()],1)],1)}),1)],1)}),0)]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { GeographiqueCommoditeDto } from '@/shared/dtos/geographique-commodite.dto';\r\nimport { isNullOrEmpty } from '@/shared/utilities/string.utility';\r\nimport { groupBy, orderBy } from 'lodash';\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\n\r\n@Component({\r\n name: 'ExpCommodite',\r\n})\r\nexport default class ExpCommodite extends Vue {\r\n @Prop() public value: GeographiqueCommoditeDto[];\r\n @Prop() public categorieId: number;\r\n @Prop() public titre: string;\r\n\r\n //#region LIFE CYCLES\r\n\r\n //#endregion\r\n\r\n //#region COMPUTED\r\n\r\n get filteredCommodites() {\r\n return (\r\n this.value\r\n .filter((p: any) => p.categorie == this.categorieId)\r\n .sort((a: any, b: any) => {\r\n if (a.typeDistance && b.typeDistance) {\r\n return this.sortByTempsDistance(a, b);\r\n } else {\r\n return this.sortByMetreDistance(a, b);\r\n }\r\n }) || []\r\n );\r\n }\r\n\r\n get filteredCommoditesBySousCategories() {\r\n var orderBySousCategories = this.filteredCommodites.sort((a: any, b: any) => {\r\n return a.sousCategorie.localeCompare(b.sousCategorie);\r\n });\r\n return groupBy(orderBySousCategories, (x) => x.sousCategorie);\r\n }\r\n\r\n get isSousCategorieNullOrEmpty() {\r\n var values = this.value.filter((p: any) => p.categorie == this.categorieId) || [];\r\n return values.length === 0 || isNullOrEmpty(values[0].sousCategorie);\r\n }\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n\r\n onCommoditeClick(item: any) {\r\n var itemSelected = this.value.filter((v: any) => v == item)[0];\r\n if (itemSelected.selectionne) {\r\n itemSelected.selectionne = false;\r\n } else {\r\n itemSelected.selectionne = true;\r\n }\r\n this.$emit('input', this.value);\r\n }\r\n\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n isPieds(value: any) {\r\n return value === null || value === 1;\r\n }\r\n\r\n isVoiture(value: any) {\r\n return value === null || value === 2;\r\n }\r\n\r\n private sortByTempsDistance(a: any, b: any): number {\r\n if (a.typeDistance == b.typeDistance) {\r\n if (a.tempsDistance == b.tempsDistance) {\r\n return 0;\r\n }\r\n if (a.tempsDistance > b.tempsDistance) {\r\n return 1;\r\n }\r\n }\r\n\r\n if (a.typeDistance > b.typeDistance) {\r\n return 1;\r\n }\r\n\r\n return -1;\r\n }\r\n\r\n private sortByMetreDistance(a: any, b: any): number {\r\n if (a.metreDistance == b.metreDistance) {\r\n return 0;\r\n }\r\n if (a.metreDistance > b.metreDistance) {\r\n return 1;\r\n }\r\n\r\n return -1;\r\n }\r\n\r\n //#endregion\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./exp-commodite.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./exp-commodite.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./exp-commodite.vue?vue&type=template&id=6b4c2576&scoped=true&\"\nimport script from \"./exp-commodite.vue?vue&type=script&lang=ts&\"\nexport * from \"./exp-commodite.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./exp-commodite.vue?vue&type=style&index=0&id=6b4c2576&lang=scss&scoped=true&\"\nimport style1 from \"./exp-commodite.vue?vue&type=style&index=1&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 \"6b4c2576\",\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.visa && _vm.visa.isValid !== null && _vm.$can('Get', 'Notes') && !_vm.$can('Save', 'Notes'))?_c('div',{staticClass:\"bloc-visa p-3\"},[_c('h3',[_c('span',{class:{\n 'text-warning': _vm.visa.isValid === false,\n 'text-success': _vm.visa.isValid,\n }},[(_vm.visa.isValid === false)?_c('font-awesome-icon',{staticClass:\"fa-lg\",attrs:{\"icon\":\"times\",\"fixed-width\":\"\"}}):_vm._e(),(_vm.visa.isValid)?_c('font-awesome-icon',{staticClass:\"fa-lg\",attrs:{\"icon\":\"check\",\"fixed-width\":\"\"}}):_vm._e()],1),_vm._v(\" \"+_vm._s(_vm.baseText)+\" \"+_vm._s(_vm.visa.isValid ? 'acceptée' : 'refusée')+\" \")]),(_vm.visa.commentaire)?_c('div',[_c('i',[_vm._v(\"Commentaire du contrôleur :\")]),_c('p',[_vm._v(_vm._s(_vm.visa.commentaire))])]):_vm._e()]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\n\r\n@Component({\r\n name: 'VisaDisplay',\r\n})\r\nexport default class VisaDisplay extends Vue {\r\n @Prop({ required: true }) public visa: any;\r\n @Prop({ default: 'Cette section a été' }) public baseText: string;\r\n\r\n //#region LIFE CYCLES\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./visa-display.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./visa-display.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./visa-display.vue?vue&type=template&id=f620ba36&scoped=true&\"\nimport script from \"./visa-display.vue?vue&type=script&lang=ts&\"\nexport * from \"./visa-display.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./visa-display.vue?vue&type=style&index=0&id=f620ba36&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 \"f620ba36\",\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:\"prestation-expertise-situation-adresse-component\"},[_c('h3',[_vm._v(\"Situation\")]),_c('div',{staticClass:\"bloc-info\"},[_c('b-row',[_c('b-col',{attrs:{\"cols\":\"4\",\"lg\":\"3\"}},[_vm._v(\"Adresse du bien\")]),_c('b-col',[_vm._v(\" \"+_vm._s(_vm.mission.bien.adresseComplete)+\" \")])],1)],1),_c('div',{class:{\n invalid:\n _vm.isCaptureDisplayed &&\n (_vm.validation.mission.prestationExpertise.geographiqueSituationGenerale.$error ||\n _vm.validation.mission.prestationExpertise.geographiqueSituationParticuliere.$error ||\n (_vm.validation.mission.prestationExpertise.geographiqueVueAerienne &&\n _vm.validation.mission.prestationExpertise.geographiqueVueAerienne.$error)),\n }},[_c('h4',[_vm._v(\"Plans de situation\")]),_c('p',{staticClass:\"small text-muted\"},[_vm._v(\"Si l'adresse n'est pas géocodée, vous pouvez utiliser le champ adresse ci-dessous.\")]),_c('GoogleMap',{attrs:{\"id\":\"plans-situation\",\"address\":_vm.prestationExpertise.geographiqueAdresse,\"longitude\":_vm.prestationExpertise.geographiqueLongitude,\"latitude\":_vm.prestationExpertise.geographiqueLatitude,\"situationGeneraleSrc\":_vm.prestationExpertise.geographiqueSituationGenerale,\"situationParticuliereSrc\":_vm.prestationExpertise.geographiqueSituationParticuliere,\"vueAerienneSrc\":_vm.prestationExpertise.geographiqueVueAerienne,\"isCaptureDisplayed\":_vm.isCaptureDisplayed,\"showCaptureAerienne\":_vm.showCaptureAerienne,\"styles\":_vm.styles},on:{\"adresseChanged\":_vm.onEmitAdresseChanged,\"coordinatesChanged\":_vm.onEmitCoordinatesChanged,\"situationGeneraleCaptured\":_vm.onEmitSituationGeneraleCaptured,\"situationParticuliereCaptured\":_vm.onEmitSituationParticuliereCaptured,\"situationAerienneCaptured\":_vm.onEmitVueAerienneCaptured}})],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:\"google-maps-component\"},[_c('div',{staticClass:\"position-relative\"},[_c('suggestions',{attrs:{\"options\":_vm.options,\"onInputChange\":_vm.onAddressInputChange,\"onItemSelected\":_vm.addressSelected},model:{value:(_vm.suggestedAddress),callback:function ($$v) {_vm.suggestedAddress=$$v},expression:\"suggestedAddress\"}}),_c('span',{staticClass:\"search-icon\"},[_c('font-awesome-icon',{attrs:{\"icon\":\"map-marker-alt\"}})],1)],1),_c('div',{staticClass:\"google-map-container border\"},[_c('div',{staticClass:\"google-map\",attrs:{\"id\":_vm.mapId}}),(_vm.isCaptureDisplayed)?_c('b-row',{staticClass:\"text-center my-2\"},[_c('b-col',{attrs:{\"cols\":\"10\",\"lg\":\"4\"}},[_c('b-button',{attrs:{\"block\":\"\",\"variant\":\"secondary\"},on:{\"click\":_vm.onCaptureSituationGeneraleClick}},[_vm._v(\" Capturer une situation \"),_c('span',{staticClass:\"text-uppercase\"},[_vm._v(\"générale\")])]),(_vm.captureGeneraleSrc)?_c('img',{staticClass:\"google-capture mt-2\",attrs:{\"src\":_vm.captureGeneraleSrc}}):_c('div',{staticClass:\"google-capture mt-2 d-flex align-items-center text-muted small\"},[_vm._v(\" Capturez une situation GÉNÉRALE pour voir le plan apparaître ici ! \")])],1),_c('b-col',{attrs:{\"cols\":\"10\",\"lg\":\"4\"}},[_c('b-button',{attrs:{\"block\":\"\",\"variant\":\"secondary\"},on:{\"click\":_vm.onCaptureSituationParticuliereClick}},[_vm._v(\" Capturer une situation \"),_c('span',{staticClass:\"text-uppercase\"},[_vm._v(\"particulière\")])]),(_vm.captureParticuliereSrc)?_c('img',{staticClass:\"google-capture mt-2\",attrs:{\"src\":_vm.captureParticuliereSrc}}):_c('div',{staticClass:\"google-capture mt-2 d-flex align-items-center text-muted small\"},[_vm._v(\" Capturez une situation PARTICULIÈRE pour voir le plan apparaître ici ! \")])],1),(_vm.showCaptureAerienne)?_c('b-col',{attrs:{\"cols\":\"10\",\"lg\":\"4\"}},[_c('b-button',{attrs:{\"block\":\"\",\"variant\":\"secondary\"},on:{\"click\":_vm.onVueSituationAerienneClick}},[_vm._v(\" Capturer une vue \"),_c('span',{staticClass:\"text-uppercase\"},[_vm._v(\"aérienne\")])]),(_vm.captureVueAerienneSrc)?_c('img',{staticClass:\"google-capture mt-2\",attrs:{\"src\":_vm.captureVueAerienneSrc}}):_c('div',{staticClass:\"google-capture mt-2 d-flex align-items-center text-muted small\"},[_vm._v(\" Capturez une vue AÉRIENNE satellite pour voir le plan apparaître ici ! \")])],1):_vm._e()],1):_vm._e()],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\r\n\r\nimport Suggestions from 'v-suggestions';\r\nimport 'v-suggestions/dist/v-suggestions.css';\r\nimport urljoin from 'url-join';\r\nimport { geocode, addressInputChange } from '../utilities/google-maps.utility';\r\nimport { MapStyle } from '../models/google-map/map-style.model';\r\nimport { Style } from 'util';\r\n\r\n@Component({\r\n name: 'google-map',\r\n components: {\r\n Suggestions,\r\n },\r\n})\r\nexport default class GoogleMap extends Vue {\r\n @Prop() public id: string;\r\n @Prop() public address: string;\r\n @Prop() public situationGeneraleSrc: string;\r\n @Prop() public situationParticuliereSrc: string;\r\n @Prop() public vueAerienneSrc: string;\r\n @Prop() public latitude: number;\r\n @Prop() public longitude: number;\r\n @Prop() public styles: MapStyle[];\r\n\r\n @Prop({ default: true }) public isCaptureDisplayed: boolean;\r\n @Prop({ required: true }) public showCaptureAerienne: boolean;\r\n\r\n public mapId: string;\r\n public autoCompleteId: string;\r\n public suggestedAddress: string = null;\r\n public autoCompleteService: any = null;\r\n public apiKey: string = Vue.prototype.$config.googleMapApiKey;\r\n public map: any = null;\r\n public bounds: any = null;\r\n public marker: any = null;\r\n public sessionToken: any = null;\r\n public geocoderService: any = null;\r\n public options: any = {\r\n placeholder: 'Géolocaliser une adresse',\r\n inputClass: 'v-suggestions-input col mb-3 search',\r\n };\r\n\r\n //#region LIFE CYCLES\r\n public mounted(): void {\r\n this.initComponent();\r\n this.updateCoordinates();\r\n }\r\n\r\n public beforeUpdate(): void {\r\n this.updateCoordinates();\r\n }\r\n\r\n public created(): void {\r\n this.mapId = this.id + '-map';\r\n this.autoCompleteId = this.id + '-autoComplete';\r\n this.suggestedAddress = this.address;\r\n }\r\n //#endregion\r\n\r\n //#region COMPUTED\r\n get captureGeneraleSrc() {\r\n if (this.situationGeneraleSrc != null && !this.situationGeneraleSrc.startsWith('http')) {\r\n return urljoin(Vue.prototype.$config.baseUrlApi, this.situationGeneraleSrc);\r\n }\r\n\r\n return this.situationGeneraleSrc;\r\n }\r\n\r\n get captureParticuliereSrc() {\r\n if (this.situationParticuliereSrc != null && !this.situationParticuliereSrc.startsWith('http')) {\r\n return urljoin(Vue.prototype.$config.baseUrlApi, this.situationParticuliereSrc);\r\n }\r\n\r\n return this.situationParticuliereSrc;\r\n }\r\n\r\n get captureVueAerienneSrc() {\r\n if (this.vueAerienneSrc != null && !this.vueAerienneSrc.startsWith('http')) {\r\n return urljoin(Vue.prototype.$config.baseUrlApi, this.vueAerienneSrc);\r\n }\r\n\r\n return this.vueAerienneSrc;\r\n }\r\n\r\n //#endregion\r\n\r\n //#region WATCH\r\n @Watch('address')\r\n public addressValueChanged(value: any): void {\r\n this.suggestedAddress = value;\r\n }\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n public async onAddressInputChange(value: string): Promise {\r\n return await addressInputChange(value, this.autoCompleteService, this.sessionToken);\r\n }\r\n\r\n public addressSelected(value: any): any {\r\n this.geocode({ address: value }).then(this.setSuggestedAddress).then(this.addMarker).then(this.centerMaker).then(this.getCoordinates);\r\n }\r\n\r\n public markerDragged(): void {\r\n this.geocode({ location: this.marker.getPosition() })\r\n .then(this.setSuggestedAddress)\r\n .then(this.addMarker)\r\n .then(this.centerMaker)\r\n .then(this.getCoordinates);\r\n }\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n private updateCoordinates(): void {\r\n if (this.longitude != null && this.latitude != null) {\r\n this.addMarker({\r\n geometry: { location: { lat: this.latitude, lng: this.longitude } },\r\n }).then(this.centerMaker);\r\n } else {\r\n this.geocode({ address: this.suggestedAddress }).then(this.addMarker).then(this.centerMaker).then(this.getCoordinates);\r\n }\r\n }\r\n\r\n private mapPlaceGoogleMapsToAdresse(place: any): string {\r\n const adresseGoogleMapsForm: any = {\r\n street_number: 'short_name',\r\n route: 'long_name',\r\n postal_code: 'short_name',\r\n locality: 'long_name',\r\n country: 'long_name',\r\n };\r\n\r\n const result: any = [];\r\n for (const address of place.address_components) {\r\n const addressType: any = address.types[0];\r\n if (adresseGoogleMapsForm[addressType]) {\r\n result[addressType] = address[adresseGoogleMapsForm[addressType]];\r\n }\r\n }\r\n\r\n if (result.postal_code === undefined) {\r\n Vue.prototype.$notificationService.error(`Le code postal n'a pas été retourné par Google Maps, veuillez réessayer.`);\r\n return null;\r\n }\r\n\r\n let addressString = '';\r\n if (result.street_number) {\r\n addressString += ` ${result.street_number}`;\r\n }\r\n\r\n if (result.route) {\r\n addressString += ` ${result.route}`;\r\n }\r\n\r\n if (result.postal_code) {\r\n addressString += ` ${result.postal_code}`;\r\n }\r\n\r\n if (result.locality) {\r\n addressString += ` ${result.locality}`;\r\n }\r\n\r\n if (result.country) {\r\n addressString += ` ${result.country}`;\r\n }\r\n\r\n return addressString.substring(1);\r\n }\r\n\r\n public initComponent(): void {\r\n this.map = new Vue.prototype.$googleMapsApi.Map(document.getElementById(this.mapId), {\r\n center: new Vue.prototype.$googleMapsApi.LatLng(40.725118, -73.997699),\r\n zoom: 14,\r\n });\r\n\r\n this.geocoderService = new Vue.prototype.$googleMapsApi.Geocoder();\r\n this.sessionToken = new Vue.prototype.$googleMapsApi.places.AutocompleteSessionToken();\r\n this.autoCompleteService = new Vue.prototype.$googleMapsApi.places.AutocompleteService();\r\n }\r\n\r\n public geocode(parameters: any): any {\r\n return geocode(this.geocoderService, parameters);\r\n }\r\n\r\n public setSuggestedAddress(place: any): any {\r\n const value = this.mapPlaceGoogleMapsToAdresse(place);\r\n if (value) {\r\n this.suggestedAddress = value;\r\n return place;\r\n }\r\n }\r\n\r\n public addMarker(geolocalisation: any): any {\r\n return new Promise((resolve: any) => {\r\n this.deleteMarker();\r\n const location = geolocalisation.geometry.location;\r\n this.marker = new Vue.prototype.$googleMapsApi.Marker({\r\n map: this.map,\r\n position: location,\r\n draggable: true,\r\n });\r\n this.marker.addListener('dragend', this.markerDragged);\r\n resolve();\r\n });\r\n }\r\n\r\n public deleteMarker(): void {\r\n if (this.marker) {\r\n this.marker.setMap(null);\r\n this.marker = null;\r\n }\r\n }\r\n\r\n public centerMaker(): void {\r\n this.map.setCenter(this.marker.getPosition());\r\n }\r\n\r\n public getCoordinates(): void {\r\n this.$emit('adresseChanged', this.suggestedAddress);\r\n this.$emit('coordinatesChanged', this.marker.position.lat(), this.marker.position.lng());\r\n }\r\n\r\n public onCaptureSituationGeneraleClick(): void {\r\n this.$emit('situationGeneraleCaptured', this.captureSituation());\r\n }\r\n\r\n public onCaptureSituationParticuliereClick(): void {\r\n this.$emit('situationParticuliereCaptured', this.captureSituation());\r\n }\r\n\r\n public onVueSituationAerienneClick(): void {\r\n this.$emit('situationAerienneCaptured', this.captureSituation(this.styles));\r\n }\r\n\r\n generateStaticMapStyleUrl(mapStyles: MapStyle[]): string {\r\n if (mapStyles == undefined) return '';\r\n return mapStyles\r\n .map((style) => {\r\n const styleParts = [`feature:${style.featureType}`, `element:${style.elementType}`];\r\n style.stylers.forEach((styler) => {\r\n if (styler.visibility) {\r\n styleParts.push(`visibility:${styler.visibility}`);\r\n }\r\n });\r\n return `${styleParts.join('|')}`;\r\n })\r\n .join('&');\r\n }\r\n\r\n public captureSituation(style?: MapStyle[]): string {\r\n const staticMapUrl = 'https://maps.googleapis.com/maps/api/staticmap';\r\n const mapCenter = this.map.getCenter();\r\n const markerPosition = this.marker.getPosition();\r\n const mapType = this.map.getMapTypeId();\r\n\r\n return (\r\n `${staticMapUrl}` +\r\n `?center=${mapCenter.lat()},${mapCenter.lng()}` +\r\n `&zoom=${this.map.getZoom()}` +\r\n `&style=${this.generateStaticMapStyleUrl(style)}` +\r\n `&size=640x400` +\r\n `&key=${this.apiKey}` +\r\n `&markers=${markerPosition.lat()},${markerPosition.lng()}` +\r\n `&scale=2` +\r\n `&maptype=${mapType}`\r\n );\r\n }\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./google-map.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./google-map.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./google-map.vue?vue&type=template&id=1ea72539&scoped=true&\"\nimport script from \"./google-map.vue?vue&type=script&lang=ts&\"\nexport * from \"./google-map.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./google-map.vue?vue&type=style&index=0&id=1ea72539&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 \"1ea72539\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Inject, Mixins, Prop } from 'vue-property-decorator';\r\n\r\nimport PrestationExpertiseSectionMixin from '@/mixins/prestation-expertise-section.mixin';\r\n\r\nimport GoogleMap from '@/shared/components/google-map.vue';\r\nimport { MapStyle } from '@/shared/models/google-map/map-style.model';\r\n\r\n@Component({\r\n name: 'PrestationExpertiseSituationAdresse',\r\n components: {\r\n GoogleMap,\r\n },\r\n})\r\nexport default class PrestationExpertiseSituationAdresse extends Mixins(PrestationExpertiseSectionMixin) {\r\n @Inject('updateGeolocalisation') public updateGeolocalisation: any;\r\n\r\n @Prop({ default: true }) public isCaptureDisplayed: boolean;\r\n @Prop({ required: true }) public showCaptureAerienne: boolean;\r\n\r\n styles: MapStyle[] = [{ elementType: 'all', featureType: 'poi', stylers: [{ visibility: 'off' }] }];\r\n\r\n //#region LIFE CYCLES\r\n\r\n //#endregion\r\n\r\n //#region COMPUTED\r\n\r\n //#endregion\r\n\r\n //#region WATCH\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n public onEmitAdresseChanged(value: any): void {\r\n this.prestationExpertise.geographiqueAdresse = value;\r\n }\r\n\r\n public onEmitCoordinatesChanged(latitude: any, longitude: any): void {\r\n if (this.prestationExpertise.geographiqueLatitude != latitude || this.prestationExpertise.geographiqueLongitude != longitude) {\r\n this.prestationExpertise.geographiqueLatitude = latitude;\r\n this.prestationExpertise.geographiqueLongitude = longitude;\r\n this.prestationExpertise.geographiqueSituationGenerale = null;\r\n this.prestationExpertise.geographiqueSituationParticuliere = null;\r\n this.prestationExpertise.geographiqueVueAerienne = null;\r\n this.updateGeolocalisation();\r\n }\r\n }\r\n\r\n public onEmitLatitudeChanged(value: any): void {\r\n if (this.prestationExpertise.geographiqueLatitude != value) {\r\n this.prestationExpertise.geographiqueLatitude = value;\r\n }\r\n }\r\n\r\n public onEmitLongitudeChanged(value: any): void {\r\n if (this.prestationExpertise.geographiqueLongitude != value) {\r\n this.prestationExpertise.geographiqueLongitude = value;\r\n }\r\n }\r\n\r\n public onEmitSituationGeneraleCaptured(value: any): void {\r\n this.prestationExpertise.geographiqueSituationGenerale = value;\r\n }\r\n\r\n public onEmitSituationParticuliereCaptured(value: any): void {\r\n this.prestationExpertise.geographiqueSituationParticuliere = value;\r\n }\r\n\r\n public onEmitVueAerienneCaptured(value: any): void {\r\n this.prestationExpertise.geographiqueVueAerienne = value;\r\n }\r\n\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-situation-adresse.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-situation-adresse.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./prestation-expertise-situation-adresse.vue?vue&type=template&id=1420404a&\"\nimport script from \"./prestation-expertise-situation-adresse.vue?vue&type=script&lang=ts&\"\nexport * from \"./prestation-expertise-situation-adresse.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"prestation-expertise-rapport-situation-geographique-avis-expert-component\"},[_c('prestation-expertise-rapport-avis-expert',{attrs:{\"validationError\":_vm.validation.mission.prestationExpertise.geographiqueAvisExpert.$error,\"placeHolder\":\"Quel est votre avis sur la situation générale du bien ?\"},model:{value:(_vm.rapport.geographiqueAvisExpert),callback:function ($$v) {_vm.$set(_vm.rapport, \"geographiqueAvisExpert\", $$v)},expression:\"rapport.geographiqueAvisExpert\"}})],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:\"prestation-expertise-rapport-avis-expert-component\"},[_c('b-form-group',{class:{ invalid: _vm.validationError },attrs:{\"state\":!_vm.validationError,\"label\":\"Avis de l'expert\",\"label-class\":\"text-secondary\"}},[_c('b-form-textarea',{attrs:{\"type\":\"text\",\"state\":!_vm.validationError,\"rows\":8,\"placeholder\":_vm.placeHolder},model:{value:(_vm.avisExpert),callback:function ($$v) {_vm.avisExpert=$$v},expression:\"avisExpert\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\r\nimport { Component, Prop } from 'vue-property-decorator';\r\nimport Vue from 'vue';\r\n\r\n@Component({\r\n name: 'PrestationExpertiseRapportAvisExpert',\r\n})\r\nexport default class PrestationExpertiseRapportAvisExpert extends Vue {\r\n @Prop() public value: string;\r\n @Prop() public validationError: any;\r\n @Prop() public placeHolder: string;\r\n //#region LIFE CYCLES\r\n //#endregion\r\n //#region COMPUTED\r\n\r\n get avisExpert() {\r\n return this.value;\r\n }\r\n\r\n set avisExpert(val: any) {\r\n this.$emit('input', val);\r\n }\r\n\r\n //#endregion\r\n //#region WATCH\r\n //#endregion\r\n //#region EVENTS\r\n //#endregion\r\n //#region FUNCTIONS\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-avis-expert.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-avis-expert.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./prestation-expertise-rapport-avis-expert.vue?vue&type=template&id=175c3287&\"\nimport script from \"./prestation-expertise-rapport-avis-expert.vue?vue&type=script&lang=ts&\"\nexport * from \"./prestation-expertise-rapport-avis-expert.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Mixins } from 'vue-property-decorator';\r\nimport RapportExpertiseSectionMixin from '@/mixins/rapport-expertise-section.mixin';\r\nimport PrestationExpertiseRapportAvisExpert from '@/shared/components/prestation-expertise/prestation-expertise-rapport-avis-expert.vue';\r\n\r\n@Component({\r\n name: 'PrestationExpertiseRapportSituationGeographiqueAvisExpert',\r\n components: {\r\n PrestationExpertiseRapportAvisExpert,\r\n },\r\n})\r\nexport default class PrestationExpertiseRapportSituationGeographiqueAvisExpert extends Mixins(RapportExpertiseSectionMixin) {\r\n //#region LIFE CYCLES\r\n //#endregion\r\n //#region COMPUTED\r\n //#endregion\r\n //#region WATCH\r\n //#endregion\r\n //#region EVENTS\r\n //#endregion\r\n //#region FUNCTIONS\r\n //#endregion\r\n}\r\n","export enum TypeDonneesEstimationImmobiliereEnum {\r\n OuiV1 = 1,\r\n PriceHubbleV1 = 2,\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-situation-geographique-avis-expert.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-situation-geographique-avis-expert.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./prestation-expertise-rapport-situation-geographique-avis-expert.vue?vue&type=template&id=abbced9e&\"\nimport script from \"./prestation-expertise-rapport-situation-geographique-avis-expert.vue?vue&type=script&lang=ts&\"\nexport * from \"./prestation-expertise-rapport-situation-geographique-avis-expert.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Vue, Component, Mixins } from 'vue-property-decorator';\r\n\r\nimport RapportExpertiseSectionMixin from '@/mixins/rapport-expertise-section.mixin';\r\n\r\nimport SimpleChart from '@/shared/components/simple-chart.vue';\r\nimport MultipleChart from '@/shared/components/multiple-chart.vue';\r\nimport ExpCommodite from '@/components/exp-commodite.vue';\r\nimport ChoicePopup from '@/shared/components/choice-popup.vue';\r\nimport VisaDisplay from '@/shared/components/visa-display.vue';\r\nimport PrestationExpertiseSituationAdresse from '@/shared/components/prestation-expertise/prestation-expertise-situation-adresse.vue';\r\nimport PrestationExpertiseRapportSituationGeographiqueAvisExpert from './prestation-expertise-rapport-situation-geographique-avis-expert.vue';\r\nimport { TypeDonneesEstimationImmobiliereEnum } from '@/shared/enums/donnees-estimation-immobiliere-type.enum';\r\nimport { DonneesEstimationImmobiliereDto } from '@/shared/dtos/donnees-estimation-immobiliere.dto';\r\nimport { SubjectMessageTypeEnum } from '@/shared/enums/subject-message-type.enum';\r\nimport { SubjectMessage } from '@/shared/models/subject-message';\r\nimport Radios from '@/shared/components/radios.vue';\r\n\r\n@Component({\r\n name: 'PrestationExpertiseRapportSituationGeographiqueGeographie',\r\n components: {\r\n SimpleChart,\r\n MultipleChart,\r\n ExpCommodite,\r\n ChoicePopup,\r\n VisaDisplay,\r\n PrestationExpertiseSituationAdresse,\r\n PrestationExpertiseRapportSituationGeographiqueAvisExpert,\r\n Radios,\r\n },\r\n})\r\nexport default class PrestationExpertiseRapportSituationGeographiqueGeographie extends Mixins(RapportExpertiseSectionMixin) {\r\n public donneesEstimationImmobiliere: DonneesEstimationImmobiliereDto = null;\r\n public charts: any = null;\r\n public showSituationGeographiqueGraphiques: boolean = false;\r\n\r\n //#region LIFE CYCLES\r\n public beforeMount(): void {\r\n Vue.prototype.$subjectMessageService.subject.subscribe((subjectMessage: SubjectMessage) => {\r\n if (subjectMessage.type === SubjectMessageTypeEnum.REFRESH_DONNEES_ESTIMATION_IMMOBILIERES) {\r\n this.donneesEstimationImmobiliere = subjectMessage.message;\r\n if (this.donneesEstimationImmobiliere) {\r\n this.charts = this.donneesEstimationImmobiliere.charts;\r\n this.showSituationGeographiqueGraphiques = this.donneesEstimationImmobiliere.type === TypeDonneesEstimationImmobiliereEnum.OuiV1;\r\n\r\n if (!this.rapport.geographiqueCommodites) {\r\n this.rapport.geographiqueCommodites = this.donneesEstimationImmobiliere.commodites.allCommodites;\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n //#endregion\r\n\r\n //#region COMPUTED\r\n\r\n //#endregion\r\n\r\n //#region WATCH\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n public getTauxChomageOptions(): any {\r\n if (!this.charts) return null;\r\n return (window as any).getChartTauxChomageOptions(this.charts.tauxChomage);\r\n }\r\n\r\n public getDensitePopulationOptions(): any {\r\n if (!this.charts) return null;\r\n return (window as any).getChartDensitePopulationOptions(this.charts.densitePopulation);\r\n }\r\n\r\n public getRepartitionAgeOptions(dataset: any): any {\r\n if (!this.charts) return null;\r\n return (window as any).getChartRepartitionAgeOptions(dataset);\r\n }\r\n\r\n public getEffectifsPopulationOptions(dataset: any): any {\r\n if (!this.charts) return null;\r\n return (window as any).getChartEffectifsPopulationOptions(dataset);\r\n }\r\n\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-situation-geographique-geographie.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-situation-geographique-geographie.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./prestation-expertise-rapport-situation-geographique-geographie.vue?vue&type=template&id=2e2da574&\"\nimport script from \"./prestation-expertise-rapport-situation-geographique-geographie.vue?vue&type=script&lang=ts&\"\nexport * from \"./prestation-expertise-rapport-situation-geographique-geographie.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"prestation-expertise-rapport-situation-geographique-controle-component\"},[_c('visa-note',{attrs:{\"visa\":_vm.rapport.notes[_vm.getRapportExpertiseNoteSectionEnumName(_vm.rapportExpertiseNoteSectionEnum.SituationGeographique)],\"section\":\"Situation géographique\",\"isReadonly\":_vm.isNoteReadOnly}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.visa)?_c('div',{staticClass:\"visa-note-component p-3\"},[_c('h4',[_vm._v(\"Contrôle du rapport\")]),_c('div',[_vm._v(\" \"+_vm._s(_vm.section)+\" \"),_c('span',{staticClass:\"ml-3 btn-group btn-group-lg\"},[_c('b-button',{attrs:{\"size\":\"sm\",\"disabled\":_vm.isReadonly,\"variant\":_vm.isValid === false ? 'warning' : 'light'},on:{\"click\":function($event){_vm.visa.isValid = false}}},[_c('font-awesome-icon',{attrs:{\"icon\":\"times\",\"fixed-width\":\"\"}})],1),_c('b-button',{attrs:{\"size\":\"sm\",\"disabled\":_vm.isReadonly,\"variant\":_vm.isValid ? 'success' : 'light'},on:{\"click\":function($event){_vm.visa.isValid = true}}},[_c('font-awesome-icon',{attrs:{\"icon\":\"check\",\"fixed-width\":\"\"}})],1)],1)]),_c('b-form-group',[_c('b-form-textarea',{attrs:{\"placeholder\":\"Commentaire (facultatif si section valide)\",\"rows\":6,\"readonly\":_vm.isReadonly},model:{value:(_vm.visa.commentaire),callback:function ($$v) {_vm.$set(_vm.visa, \"commentaire\", $$v)},expression:\"visa.commentaire\"}})],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\nimport { RapportExpertiseNoteSectionDto } from '../dtos/rapport-expertise-section-note.dto';\r\n\r\n@Component({\r\n name: 'VisaNote',\r\n})\r\nexport default class VisaNote extends Vue {\r\n @Prop({ required: true }) public section: string;\r\n @Prop({ required: true }) public visa: RapportExpertiseNoteSectionDto;\r\n @Prop({ required: true }) public isReadonly: boolean;\r\n\r\n //#region LIFE CYCLES\r\n\r\n //#endregion\r\n\r\n //#region COMPUTED\r\n public get isValid(): boolean | null {\r\n return this.visa.isValid;\r\n }\r\n //#endregion\r\n\r\n //#region EVENTS\r\n\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./visa-note.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./visa-note.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./visa-note.vue?vue&type=template&id=c0a8523c&scoped=true&\"\nimport script from \"./visa-note.vue?vue&type=script&lang=ts&\"\nexport * from \"./visa-note.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./visa-note.vue?vue&type=style&index=0&id=c0a8523c&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 \"c0a8523c\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Mixins } from 'vue-property-decorator';\r\nimport RapportExpertiseSectionMixin from '@/mixins/rapport-expertise-section.mixin';\r\n\r\nimport VisaNote from '@/shared/components/visa-note.vue';\r\n\r\n@Component({\r\n name: 'PrestationExpertiseRapportSituationGeographiqueControle',\r\n components: {\r\n VisaNote,\r\n },\r\n})\r\nexport default class PrestationExpertiseRapportSituationGeographiqueControle extends Mixins(RapportExpertiseSectionMixin) {\r\n //#region LIFE CYCLES\r\n //#endregion\r\n //#region COMPUTED\r\n //#endregion\r\n //#region WATCH\r\n //#endregion\r\n //#region EVENTS\r\n //#endregion\r\n //#region FUNCTIONS\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-situation-geographique-controle.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-situation-geographique-controle.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./prestation-expertise-rapport-situation-geographique-controle.vue?vue&type=template&id=0a620da2&\"\nimport script from \"./prestation-expertise-rapport-situation-geographique-controle.vue?vue&type=script&lang=ts&\"\nexport * from \"./prestation-expertise-rapport-situation-geographique-controle.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"prestation-expertise-rapport-description-generale-terrain-component\"},[_c('visa-display',{attrs:{\"visa\":_vm.rapport.notes[_vm.getRapportExpertiseNoteSectionEnumName(_vm.rapportExpertiseNoteSectionEnum.DescriptionGenerale)]}}),_c('h3',[_vm._v(\"Situation cadastrale\")]),_c('prestation-expertise-rapport-description-generale-references-cadastrales',{attrs:{\"rapportId\":_vm.rapport.id,\"validation\":_vm.validation.mission.prestationExpertise,\"latitude\":_vm.rapport.geographiqueLatitude,\"longitude\":_vm.rapport.geographiqueLongitude,\"piecesJointesRapport\":_vm.rapport.piecesJointesRapport,\"zoom\":_vm.rapport.geographiqueZoomPlanCadastre},on:{\"zoomPlanCadastreChanged\":_vm.onEmitZoomPlanCadastreChanged},model:{value:(_vm.rapport.referenceCadastralesRapport),callback:function ($$v) {_vm.$set(_vm.rapport, \"referenceCadastralesRapport\", $$v)},expression:\"rapport.referenceCadastralesRapport\"}}),_c('h3',[_vm._v(\"Caractéristiques Terrain\")]),_c('rapport-expertise-file-uploader',{attrs:{\"id\":\"fileuploader-terrain\",\"type\":\"SectionTerrain\",\"piecesJointes\":_vm.rapport.piecesJointesRapport,\"state\":!_vm.validation.mission.prestationExpertise.piecesJointesRapport.SectionTerrain.$error,\"title\":\"Photos du terrain\"}}),(!_vm.isTypeDeBienAppartement)?_c('div',{class:{ invalid: _vm.validation.mission.prestationExpertise.terrainSuperficie.$error }},[_c('h3',[_vm._v(\"Superficie du terrain\")]),_c('numeric-nullable',{staticClass:\"text-right d-inline-block mr-3\",staticStyle:{\"width\":\"300px\",\"vertical-align\":\"middle\"},attrs:{\"placeholder\":\"ex: 250,00\",\"state\":!_vm.validation.mission.prestationExpertise.terrainSuperficie.$error,\"currency\":\"m²\"},on:{\"change\":_vm.onTerrainSuperficieChange},model:{value:(_vm.rapport.terrainSuperficie),callback:function ($$v) {_vm.$set(_vm.rapport, \"terrainSuperficie\", $$v)},expression:\"rapport.terrainSuperficie\"}}),_c('b-button',{attrs:{\"variant\":\"outline-secondary\",\"title\":\"Remplir avec la somme des superficies des références cadastrales\"},on:{\"click\":_vm.onCalculateSuperficieTerrainClick}},[_c('font-awesome-icon',{attrs:{\"icon\":\"sync-alt\"}})],1)],1):_vm._e(),(!_vm.isTypeDeBienAppartement)?_c('choice-popup',{attrs:{\"list\":_vm.businessEntries.terrainFormes,\"version\":_vm.rapport.version,\"state\":!_vm.validation.mission.prestationExpertise.terrainFormeId.$error,\"title\":\"Forme\",\"id\":\"Forme\"},model:{value:(_vm.rapport.terrainFormeId),callback:function ($$v) {_vm.$set(_vm.rapport, \"terrainFormeId\", $$v)},expression:\"rapport.terrainFormeId\"}}):_vm._e(),_c('choice-popup',{attrs:{\"list\":_vm.businessEntries.terrainClotures,\"version\":_vm.rapport.version,\"state\":!_vm.validation.mission.prestationExpertise.terrainClotureId.$error,\"title\":\"Clôture\",\"id\":\"Cloture\"},model:{value:(_vm.rapport.terrainClotureId),callback:function ($$v) {_vm.$set(_vm.rapport, \"terrainClotureId\", $$v)},expression:\"rapport.terrainClotureId\"}}),(!_vm.isTypeDeBienAppartement)?_c('choice-popup',{attrs:{\"list\":_vm.businessEntries.terrainAccesEtats,\"version\":_vm.rapport.version,\"state\":!_vm.validation.mission.prestationExpertise.terrainAccesEtatId.$error,\"title\":\"Voie d'accès\",\"id\":\"VoieAcces\"},model:{value:(_vm.rapport.terrainAccesEtatId),callback:function ($$v) {_vm.$set(_vm.rapport, \"terrainAccesEtatId\", $$v)},expression:\"rapport.terrainAccesEtatId\"}}):_vm._e(),_c('choice-popup',{attrs:{\"list\":_vm.businessEntries.terrainEntretiens,\"version\":_vm.rapport.version,\"state\":!_vm.validation.mission.prestationExpertise.terrainEntretienId.$error,\"title\":\"Etat d'entretien\",\"id\":\"EtatEntretien\"},model:{value:(_vm.rapport.terrainEntretienId),callback:function ($$v) {_vm.$set(_vm.rapport, \"terrainEntretienId\", $$v)},expression:\"rapport.terrainEntretienId\"}}),(!_vm.isTypeDeBienAppartement)?_c('choice-popup',{attrs:{\"list\":_vm.businessEntries.terrainInclinaisons,\"version\":_vm.rapport.version,\"state\":!_vm.validation.mission.prestationExpertise.terrainInclinaisonId.$error,\"title\":\"Inclinaison\",\"id\":\"Inclinaison\"},model:{value:(_vm.rapport.terrainInclinaisonId),callback:function ($$v) {_vm.$set(_vm.rapport, \"terrainInclinaisonId\", $$v)},expression:\"rapport.terrainInclinaisonId\"}}):_vm._e(),(_vm.isTypeDeBienAppartement)?_c('div',[_c('h4',[_vm._v(\"Terrain privatif\")]),_c('radio-boolean',{attrs:{\"state\":!_vm.validation.mission.prestationExpertise.terrainPrivatif.$error},model:{value:(_vm.rapport.terrainPrivatif),callback:function ($$v) {_vm.$set(_vm.rapport, \"terrainPrivatif\", $$v)},expression:\"rapport.terrainPrivatif\"}}),(_vm.rapport.terrainPrivatif)?_c('div',[_c('h4',[_vm._v(\"Superficie du terrain privatif\")]),_c('numeric-nullable',{staticClass:\"text-right\",attrs:{\"placeholder\":\"ex: 250,00\",\"state\":!_vm.validation.mission.prestationExpertise.terrainPrivatifSuperficie.$error,\"currency\":\"m²\"},model:{value:(_vm.rapport.terrainPrivatifSuperficie),callback:function ($$v) {_vm.$set(_vm.rapport, \"terrainPrivatifSuperficie\", $$v)},expression:\"rapport.terrainPrivatifSuperficie\"}}),_c('choice-popup',{attrs:{\"list\":_vm.businessEntries.terrainClotures,\"version\":_vm.rapport.version,\"state\":!_vm.validation.mission.prestationExpertise.terrainPrivatifClotureId.$error,\"title\":\"Clôture du terrain privatif\",\"id\":\"ClotureTerrainPrivatif\"},model:{value:(_vm.rapport.terrainPrivatifClotureId),callback:function ($$v) {_vm.$set(_vm.rapport, \"terrainPrivatifClotureId\", $$v)},expression:\"rapport.terrainPrivatifClotureId\"}}),_c('choice-popup',{attrs:{\"list\":_vm.businessEntries.terrainEntretiens,\"version\":_vm.rapport.version,\"state\":!_vm.validation.mission.prestationExpertise.terrainPrivatifEntretienId.$error,\"title\":\"Entretien du terrain privatif\",\"id\":\"EntretienTerrainPrivatif\"},model:{value:(_vm.rapport.terrainPrivatifEntretienId),callback:function ($$v) {_vm.$set(_vm.rapport, \"terrainPrivatifEntretienId\", $$v)},expression:\"rapport.terrainPrivatifEntretienId\"}})],1):_vm._e()],1):_vm._e(),(_vm.isRapport && _vm.isRapportVersionGreaterOrEqualsTo(3.0))?_c('b-form-group',{class:{ invalid: _vm.validation.mission.prestationExpertise.caracteristiquesDescription.$error },attrs:{\"state\":!_vm.validation.mission.prestationExpertise.caracteristiquesDescription.$error,\"label\":\"Description\"}},[_c('b-form-textarea',{attrs:{\"type\":\"text\",\"state\":!_vm.validation.mission.prestationExpertise.caracteristiquesDescription.$error,\"rows\":8,\"placeholder\":\"Description complémentaire du terrain\"},model:{value:(_vm.rapport.caracteristiquesDescription),callback:function ($$v) {_vm.$set(_vm.rapport, \"caracteristiquesDescription\", $$v)},expression:\"rapport.caracteristiquesDescription\"}})],1):_vm._e(),_c('textarea-with-default-value',{attrs:{\"text\":\"Nous n’avons pas eu communication d’informations concernant l’existence d’éventuelles servitudes. Si tel n’était pas le cas, il conviendrait de revoir les conclusions de notre rapport.\",\"title\":\"Servitudes\"},model:{value:(_vm.rapport.terrainServitudes),callback:function ($$v) {_vm.$set(_vm.rapport, \"terrainServitudes\", $$v)},expression:\"rapport.terrainServitudes\"}}),(_vm.isMobile)?_c('prestation-expertise-rapport-description-generale-avis-expert',{attrs:{\"validation\":_vm.validation},model:{value:(_vm.mission),callback:function ($$v) {_vm.mission=$$v},expression:\"mission\"}}):_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('b-form-group',{attrs:{\"label\":_vm.title,\"label-class\":\"h3\"}},[_c('b-form-text',[_vm._v(\"Si le texte par défaut vous convient, vous pouvez le conserver. Sinon vous pouvez le modifier.\")]),_c('b-form-textarea',{attrs:{\"type\":\"text\",\"rows\":8},on:{\"click\":_vm.clear,\"blur\":_vm.fill},model:{value:(_vm.valeur),callback:function ($$v) {_vm.valeur=$$v},expression:\"valeur\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\r\nimport { isNullOrEmpty } from '@/shared/utilities/string.utility';\r\n@Component({\r\n name: 'TextareaWithDefaultValue',\r\n})\r\nexport default class TextareaWithDefaultValue extends Vue {\r\n @Prop() public value: string;\r\n @Prop() public text: string;\r\n @Prop() public title: string;\r\n\r\n public valeur: string = null;\r\n\r\n //#region LIFE CYCLES\r\n\r\n created() {\r\n this.valeur = this.value;\r\n }\r\n\r\n beforeMount() {\r\n this.fill();\r\n }\r\n\r\n //#endregion\r\n\r\n //#region WATCH\r\n\r\n @Watch('valeur')\r\n public valeurChanged(val: string) {\r\n this.$emit('input', val);\r\n }\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n clear() {\r\n if (this.valeur === this.text) {\r\n this.valeur = null;\r\n }\r\n }\r\n fill() {\r\n if (isNullOrEmpty(this.valeur)) {\r\n this.valeur = this.text;\r\n }\r\n }\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./textarea-with-default-value.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./textarea-with-default-value.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./textarea-with-default-value.vue?vue&type=template&id=02f8f84a&\"\nimport script from \"./textarea-with-default-value.vue?vue&type=script&lang=ts&\"\nexport * from \"./textarea-with-default-value.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"rapport-expertise-file-uploader-component\"},[(_vm.title)?_c('h4',{class:{ invalid: !_vm.state },domProps:{\"innerHTML\":_vm._s(_vm.title)}}):_vm._e(),(_vm.piecesJointes)?_c('vue-gallery',{attrs:{\"id\":'gallery-' + _vm.type,\"images\":_vm.images,\"index\":_vm.index},on:{\"close\":function($event){_vm.index = null}}}):_vm._e(),_c('transition-group',{staticClass:\"row no-gutters photos-wrapper\",class:_vm.isMobile ? 'mobile' : 'desktop',attrs:{\"name\":_vm.animate ? 'fade' : 'no-animate',\"duration\":_vm.animate ? 500 : 0,\"tag\":\"div\"}},[(_vm.piecesJointes)?_vm._l((_vm.filteredPiecesJointes),function(pieceJointe,pjIndex){return _c('div',{key:_vm.type + pjIndex,staticClass:\"photos-wrapper-item col-auto\",class:_vm.isMobile ? 'mobile' : 'desktop'},[_c('rapport-expertise-piece-jointe',{attrs:{\"pieceJointe\":pieceJointe,\"type\":_vm.type,\"showLabel\":_vm.showLabel},on:{\"click\":function($event){_vm.index = pjIndex}}})],1)}):_vm._e(),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.canUpload),expression:\"canUpload\"}],key:'gallery-' + _vm.type,staticClass:\"photos-wrapper-item col-auto uploader-gallery\"},[_c('input',{attrs:{\"type\":\"file\",\"name\":'gallery-' + _vm.id,\"id\":'gallery-' + _vm.id,\"multiple\":_vm.multiple,\"accept\":\"image/*\"},on:{\"change\":_vm.handleFileUpload}}),(!_vm.isUploading && _vm.canUpload)?_c('label',{staticClass:\"d-flex justify-content-center align-items-center text-center drop-box\",attrs:{\"for\":'gallery-' + _vm.id}},[(!_vm.isPhoto)?_c('span',[_c('font-awesome-icon',{staticClass:\"icon\",attrs:{\"icon\":\"folder-open\"}}),_c('br'),_vm._v(\" Choisissez \"+_vm._s(_vm.multiple ? 'des fichiers' : 'un fichier')+\" \"),_c('br'),_vm._v(\" ou déposez-le\"+_vm._s(_vm.multiple ? 's' : '')+\" ici. \")],1):_c('span',[_c('font-awesome-icon',{staticClass:\"icon\",attrs:{\"icon\":\"image\"}}),_c('br'),_vm._v(\" Ajouter \"+_vm._s(_vm.multiple ? 'des photos' : 'une photo')+\" \")],1)]):_vm._e(),(_vm.isUploading)?_c('label',{staticClass:\"d-flex justify-content-center align-items-center text-center\"},[_c('span',[_c('spinner',{attrs:{\"status\":_vm.isUploading,\"color\":_vm.contratTypePrestationColorDefault}}),_vm._v(\" Envoi \"+_vm._s(_vm.multiple ? 'des fichiers' : 'du fichier')+\" en cours... \")],1)]):_vm._e()])],2),(_vm.isMobile)?_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.canUpload),expression:\"canUpload\"}],key:'phone-camera-' + _vm.type,staticClass:\"uploader-photo\"},[_c('input',{attrs:{\"type\":\"file\",\"name\":'phone-camera-' + _vm.id,\"id\":'phone-camera-' + _vm.id,\"accept\":\".png, .jpg, .jpeg\",\"capture\":\"environment\"},on:{\"change\":_vm.handleFileUpload}}),_c('label',{staticClass:\"d-flex justify-content-center align-items-center text-center\",attrs:{\"for\":'phone-camera-' + _vm.id}},[_c('b-button',{attrs:{\"disabled\":_vm.isUploading}},[(!_vm.isUploading && _vm.canUpload)?_c('font-awesome-icon',{staticClass:\"icon\",attrs:{\"icon\":\"camera\"}}):_vm._e(),(_vm.isUploading)?_c('spinner',{attrs:{\"status\":_vm.isUploading,\"color\":_vm.contratTypePrestationColorDefault}}):_vm._e(),_c('span',{staticClass:\"ml-1\"},[_vm._v(\"Prendre une photo\")])],1)],1)]):_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:\"position-relative\",class:{\n 'is-main': _vm.isBrowser && _vm.pieceJointe.isMain,\n }},[_c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.onUpdateClick()}}},[_c('div',{staticClass:\"pan\"}),_c('a',{staticClass:\"delete p-1\",attrs:{\"title\":\"Supprimer la photo\"},on:{\"click\":_vm.onDeleteClick}},[_c('font-awesome-icon',{attrs:{\"icon\":\"trash\",\"fixed-width\":\"\"}})],1),_c('a',{staticClass:\"zoom p-1\",attrs:{\"title\":\"Zoomer la photo\"},on:{\"click\":function($event){return _vm.$emit('click')}}},[_c('font-awesome-icon',{attrs:{\"icon\":\"search-plus\",\"fixed-width\":\"\"}})],1),(_vm.canDefineMainPhoto && !_vm.pieceJointe.isMain)?_c('a',{staticClass:\"thumbtack p-1\",attrs:{\"title\":\"Mettre la photo en couverture sur le rapport\"},on:{\"click\":_vm.onShowConfirmToSetMainPhotoClick}},[_c('font-awesome-icon',{attrs:{\"icon\":\"thumbtack\",\"fixed-width\":\"\"}})],1):_vm._e(),_c('div',{staticClass:\"d-flex align-items-center justify-content-center thumbnail\"},[_c('img',{attrs:{\"src\":_vm.pieceJointe.chemin,\"data-pieceJointeId\":_vm.pieceJointe.id}})]),(_vm.showLabel)?_c('div',{staticClass:\"row no-gutters editline\"},[_c('div',{staticClass:\"col\"},[(!_vm.isEditing)?_c('span',[_vm._v(_vm._s(_vm.pieceJointe.nom))]):_vm._e(),(_vm.isEditing)?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.nom),expression:\"nom\"}],attrs:{\"type\":\"text\",\"maxlength\":\"95\"},domProps:{\"value\":(_vm.nom)},on:{\"keyup\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.onUpdateClick($event)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.onCancelClick($event)}],\"input\":function($event){if($event.target.composing){ return; }_vm.nom=$event.target.value}}}):_vm._e()]),_c('div',{staticClass:\"col-auto align-self-center\"},[(!_vm.isEditing)?_c('a',{on:{\"click\":_vm.onEditClick}},[_c('font-awesome-icon',{attrs:{\"icon\":\"pencil-alt\",\"fixed-width\":\"\"}})],1):_vm._e(),(_vm.isEditing)?_c('a',{on:{\"click\":_vm.onUpdateClick}},[_c('font-awesome-icon',{attrs:{\"icon\":\"check\",\"fixed-width\":\"\"}})],1):_vm._e(),(_vm.isEditing)?_c('a',{on:{\"click\":_vm.onCancelClick}},[_c('font-awesome-icon',{attrs:{\"icon\":\"ban\",\"fixed-width\":\"\"}})],1):_vm._e()])]):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport DeviceMixin from '@/mixins/device.mixin';\r\nimport { SubjectMessageTypeEnum } from '@/shared/enums/subject-message-type.enum';\r\nimport { TypePieceJointeRapportEnum } from '@/shared/enums/type-piece-jointe-rapport.enum';\r\nimport { SubjectMessage } from '@/shared/models/subject-message';\r\nimport { Component, Inject, Mixins, Prop, Vue } from 'vue-property-decorator';\r\n\r\n@Component({\r\n name: 'RapportExpertisePieceJointe',\r\n})\r\nexport default class RapportExpertisePieceJointe extends Mixins(DeviceMixin) {\r\n private _fileExtension: string;\r\n\r\n @Inject('deletePieceJointeByIdAndType') public deletePieceJointeByIdAndType: any;\r\n @Inject('confirmDelete') public confirmDelete: any;\r\n @Inject('renamePieceJointe') public renamePieceJointe: any;\r\n\r\n @Prop({ required: true }) public type: string;\r\n @Prop() public pieceJointe: any;\r\n @Prop({ default: true }) public showLabel: boolean;\r\n\r\n public isEditing: boolean = false;\r\n public nom: string = null;\r\n public canDefineMainPhoto: boolean = true;\r\n\r\n //#region LIFE CYCLES\r\n public beforeMount(): void {\r\n Vue.prototype.$subjectMessageService.subject.subscribe((subjectMessage: SubjectMessage) => {\r\n if (subjectMessage.type === SubjectMessageTypeEnum.REMOVE_MAIN_PHOTO) {\r\n this.pieceJointe.isMain = false;\r\n this.pieceJointe.dateModificationUtc = new Date();\r\n }\r\n });\r\n }\r\n\r\n public mounted(): void {\r\n this.canDefineMainPhoto = this.isBrowser && this.type !== TypePieceJointeRapportEnum[TypePieceJointeRapportEnum.PlanCadastre];\r\n }\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n public onEditClick(): void {\r\n this.isEditing = true;\r\n\r\n const fileNameAndExtension = /\\.[^/.]+$/.exec(this.pieceJointe.nom);\r\n\r\n if (fileNameAndExtension && fileNameAndExtension.length) {\r\n this._fileExtension = /\\.[^/.]+$/.exec(this.pieceJointe.nom)[0];\r\n this.nom = this.pieceJointe.nom.replace(/\\.[^/.]+$/, '');\r\n } else {\r\n this._fileExtension = '.jpg';\r\n this.nom = this.pieceJointe.nom;\r\n }\r\n }\r\n\r\n public async onUpdateClick(): Promise {\r\n if (this.nom == '') {\r\n Vue.prototype.$notificationService.error(`Vous devez renseigner un nom sur cette photo`);\r\n return;\r\n }\r\n\r\n await this.renamePieceJointe(this.pieceJointe.id, this.type, this.nom + this._fileExtension);\r\n this.isEditing = false;\r\n }\r\n\r\n public onCancelClick(): void {\r\n this.isEditing = false;\r\n }\r\n\r\n public onDeleteClick(): void {\r\n this.confirmDelete('cette pièce jointe').then(() => {\r\n this.deletePieceJointeByIdAndType(this.pieceJointe.id, this.type);\r\n });\r\n }\r\n\r\n public onShowConfirmToSetMainPhotoClick(): void {\r\n this.$bvModal\r\n .msgBoxConfirm('Voulez-vous mettre cette photo en couverture sur le rapport ?', {\r\n title: 'Confirmation',\r\n size: 'sm',\r\n okTitle: 'Oui',\r\n cancelTitle: 'Non',\r\n centered: true,\r\n hideHeaderClose: false,\r\n footerClass: 'p-2 text-right',\r\n })\r\n .then((isOK) => {\r\n if (isOK) {\r\n Vue.prototype.$subjectMessageService.next(SubjectMessageTypeEnum.REMOVE_MAIN_PHOTO);\r\n this.pieceJointe.isMain = true;\r\n this.pieceJointe.dateModificationUtc = new Date();\r\n }\r\n });\r\n }\r\n\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./rapport-expertise-piece-jointe.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./rapport-expertise-piece-jointe.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./rapport-expertise-piece-jointe.vue?vue&type=template&id=e9131098&scoped=true&\"\nimport script from \"./rapport-expertise-piece-jointe.vue?vue&type=script&lang=ts&\"\nexport * from \"./rapport-expertise-piece-jointe.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./rapport-expertise-piece-jointe.vue?vue&type=style&index=0&id=e9131098&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 \"e9131098\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Inject, Mixins, Prop, Vue } from 'vue-property-decorator';\r\nimport DeviceMixin from '@/mixins/device.mixin';\r\nimport RapportExpertisePieceJointe from '@/shared/components/rapport-expertise/rapport-expertise-piece-jointe.vue';\r\nimport Spinner from 'vue-spinner-component/src/Spinner.vue';\r\nimport VueGallery from 'vue-gallery';\r\nimport { contratTypePrestationColorDefault } from '@/helpers/rapport-expertise.helper';\r\nimport { PieceJointeRapportDto } from '@/shared/dtos/piece-jointe-rapport.dto';\r\nimport _ from 'lodash';\r\nimport imageCompression from 'browser-image-compression';\r\n\r\n@Component({\r\n name: 'RapportExpertiseFileUploader',\r\n components: {\r\n RapportExpertisePieceJointe,\r\n Spinner,\r\n VueGallery,\r\n },\r\n})\r\nexport default class RapportExpertiseFileUploader extends Mixins(DeviceMixin) {\r\n @Inject('addPieceJointe') public addPieceJointe: any;\r\n @Inject('updateOrdrePiecesJointes') public updateOrdrePiecesJointes: any;\r\n\r\n @Prop({ required: true }) public id: string;\r\n @Prop({ required: true }) public type: string;\r\n @Prop() public piecesJointes: { [index: string]: PieceJointeRapportDto[] };\r\n @Prop() public pieceJointeId: number;\r\n @Prop() public workingById: boolean;\r\n @Prop({ default: true }) public multiple: boolean;\r\n @Prop({ default: true }) public showLabel: boolean;\r\n @Prop({ default: true }) public animate: boolean;\r\n @Prop({ default: true }) public state: boolean;\r\n @Prop() public title: string;\r\n @Prop({ default: false }) public isPhoto: boolean;\r\n @Prop({ default: null }) public blobValue: string;\r\n @Prop({ default: null }) public order: number;\r\n @Prop({ default: false }) public isMain: boolean;\r\n\r\n public isUploading: boolean = false;\r\n public index: number = null;\r\n public contratTypePrestationColorDefault: string = contratTypePrestationColorDefault;\r\n\r\n //#region LIFE CYCLES\r\n async mounted() {\r\n this.uploadBlobIfNecessary();\r\n }\r\n\r\n //#endregion\r\n\r\n //#region COMPUTED\r\n get canUpload(): boolean {\r\n return this.multiple || (!this.multiple && this.piecesJointes != null && this.filteredPiecesJointes.length == 0);\r\n }\r\n\r\n get filteredPiecesJointes(): PieceJointeRapportDto[] {\r\n let filteredPiecesJointes: PieceJointeRapportDto[] = [];\r\n if (this.workingById) {\r\n if (this.pieceJointeId != null && this.pieceJointeId != 0)\r\n filteredPiecesJointes = this.piecesJointes[this.type].filter((p: any) => p.id == this.pieceJointeId);\r\n else return [];\r\n } else filteredPiecesJointes = this.piecesJointes[this.type] || [];\r\n\r\n return _.orderBy(\r\n filteredPiecesJointes.filter((pieceJointe: PieceJointeRapportDto) => !pieceJointe.isDeleted),\r\n 'ordre',\r\n 'asc'\r\n );\r\n }\r\n\r\n get images(): string[] {\r\n return this.filteredPiecesJointes.map((pj: any) => pj.chemin);\r\n }\r\n\r\n //#endregion\r\n\r\n //#region WATCH\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n /**\r\n * Attention, cette méthode prépare l'upload mais ne le déclenche pas !\r\n * La méthode en charge de l'upload se trouve dans \"synchronization.service.ts\" : managePiecesJointes()\r\n */\r\n private async prepareFileUpload(files: any[]): Promise {\r\n const nbFiles = files.length;\r\n let nbFileProcessed = 0;\r\n\r\n if (!nbFiles) return;\r\n\r\n // https://www.npmjs.com/package/browser-image-compression\r\n const options = {\r\n maxSizeMB: 0.3, // (default: Number.POSITIVE_INFINITY)\r\n maxWidthOrHeight: 1536, // compressedFile will scale down by ratio to a point that width or height is smaller than maxWidthOrHeight (default: undefined)\r\n // but, automatically reduce the size to smaller than the maximum Canvas size supported by each browser.\r\n // Please check the Caveat part for details.\r\n initialQuality: 0.75, // optional, initial quality value between 0 and 1 (default: 1)\r\n };\r\n\r\n for (let file of files) {\r\n if (!'jpg|jpeg|png'.includes(file.name.toLowerCase().split('.').pop())) {\r\n this.isUploading = false;\r\n Vue.prototype.$notificationService.warn(`Le fichier ${file.name} n'est pas une image valide (.jpg,.jpeg,.png)`);\r\n } else {\r\n this.isUploading = true;\r\n // console.log('---------');\r\n // console.log('originalFile instanceof Blob', file instanceof Blob); // true\r\n // console.log(`originalFile size ${file.size / 1024 / 1024} MB`);\r\n file = await imageCompression(file, options);\r\n // console.log('compressedFile instanceof Blob', file instanceof Blob); // true\r\n // console.log(`compressedFile size ${file.size / 1024 / 1024} MB`); // smaller than maxSizeMB\r\n\r\n const base64Content = await imageCompression.getDataUrlFromFile(file);\r\n\r\n this.addPieceJointe(this.type, base64Content, file.name, this.order, this.isMain).then((id: number) => {\r\n if (id) {\r\n this.$emit('uploadedFileId', id);\r\n // 13/11/2024 : La ligne suivante à été commenté car il ne faut jamais modifier une @Prop dans le composant enfant\r\n // le emit ci-dessus semble s'en charger, en cas de régression, il faut passer par lui pour modifier pieceJointeId\r\n // this.pieceJointeId = id;\r\n }\r\n\r\n nbFileProcessed++;\r\n\r\n if (nbFileProcessed >= nbFiles) {\r\n this.isUploading = false;\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n public async handleFileUpload(e: any): Promise {\r\n this.prepareFileUpload(e.target.files);\r\n }\r\n\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n public async uploadBlobIfNecessary(): Promise {\r\n if (this.blobValue != null && this.blobValue !== '' && (this.pieceJointeId == 0 || this.pieceJointeId == null)) {\r\n const filename = `photo_${new Date().getTime()}.jpg`;\r\n this.isUploading = true;\r\n\r\n // Utilisez ceci pour éviter que l'ID, qui est basé sur un timestamp, soit remplacé par l'ID de l'upload précédent. (WTF ?)\r\n await new Promise((resolve) => setTimeout(resolve, 500));\r\n\r\n let id = await this.addPieceJointe(this.type, this.blobValue, filename, this.order, this.isMain);\r\n if (id) {\r\n this.$emit('uploadedFileId', id);\r\n this.isUploading = false;\r\n }\r\n }\r\n }\r\n\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./rapport-expertise-file-uploader.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./rapport-expertise-file-uploader.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./rapport-expertise-file-uploader.vue?vue&type=template&id=3b128a5f&scoped=true&\"\nimport script from \"./rapport-expertise-file-uploader.vue?vue&type=script&lang=ts&\"\nexport * from \"./rapport-expertise-file-uploader.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./rapport-expertise-file-uploader.vue?vue&type=style&index=0&id=3b128a5f&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 \"3b128a5f\",\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:\"prestation-expertise-rapport-decription-generale-references-cadastrales-component\"},[_c('div',{staticClass:\"prestation-expertise-rapport-decription-generale-references-cadastrales-component-references-cadastrales\",class:{ invalid: _vm.validation.referenceCadastralesRapport.$anyError }},[_c('h4',{staticClass:\"mb-2\"},[_vm._v(\"Références cadastrales et plan\")]),_c('b-table',{staticClass:\"prestation-expertise-rapport-decription-generale-references-cadastrales-component-references-cadastrales-table\",attrs:{\"small\":\"\",\"responsive\":\"\",\"fields\":_vm.fields,\"items\":_vm.referencesCadastrales},scopedSlots:_vm._u([{key:\"cell(section)\",fn:function(data){return [_c('b-form-input',{staticClass:\"section-input\",attrs:{\"type\":\"text\",\"placeholder\":\"ex : AS\",\"state\":!_vm.validation.referenceCadastralesRapport.$each[data.index].section.$error},model:{value:(data.item.section),callback:function ($$v) {_vm.$set(data.item, \"section\", $$v)},expression:\"data.item.section\"}})]}},{key:\"cell(parcelle)\",fn:function(data){return [_c('div',{staticClass:\"d-flex parcelle\"},[_c('b-form-input',{attrs:{\"type\":\"text\",\"placeholder\":\"ex : 250\",\"state\":!_vm.validation.referenceCadastralesRapport.$each[data.index].parcelle.$error},model:{value:(data.item.parcelle),callback:function ($$v) {_vm.$set(data.item, \"parcelle\", $$v)},expression:\"data.item.parcelle\"}})],1)]}},{key:\"cell(superficie)\",fn:function(data){return [_c('b-input-group',{class:_vm.isPlanCadastreAutomatic && data.item.superficieGouvernement != data.item.superficie ? 'tooltip-prepend' : ''},[_c('numeric-nullable',{attrs:{\"placeholder\":\"ex: 23,45\",\"state\":!_vm.validation.referenceCadastralesRapport.$each[data.index].superficie.$error,\"currency\":\"m²\"},model:{value:(data.item.superficie),callback:function ($$v) {_vm.$set(data.item, \"superficie\", $$v)},expression:\"data.item.superficie\"}})],1)]}},{key:\"cell(action)\",fn:function(data){return [_c('b-input-group',[_c('b-btn',{attrs:{\"variant\":\"outline-dark\"},on:{\"click\":function($event){return _vm.onDeleteReferenceCadastraleClick(data.index)}}},[_c('font-awesome-icon',{attrs:{\"icon\":\"trash\"}})],1)],1)]}}])}),_c('b-button',{attrs:{\"variant\":\"link\"},on:{\"click\":_vm.onAddReferenceCadastraleClick}},[_c('font-awesome-icon',{attrs:{\"icon\":\"plus-circle\"}}),_vm._v(\" Ajouter une référence cadastrale \")],1)],1),_c('div',{ref:\"zoneplancadastre\",staticClass:\"prestation-expertise-rapport-decription-generale-references-cadastrales-component-plan-cadastre\"},[_c('h4',{class:{ invalid: _vm.validation.piecesJointesRapport.PlanCadastre.$error }},[_vm._v(\"Plan de cadastre\")]),(_vm.isPlanCadastreAutomatic)?_c('div',[(_vm.imagePlanCadastre || _vm.isPlanCadastreAnUploadedCanva)?_c('div',[_c('v-stage',{ref:\"stage\",attrs:{\"config\":{ width: _vm.imageWidth, height: _vm.imageHeight },\"id\":\"canva\"}},[_c('v-layer',{ref:\"layer\"},[_c('v-image',{attrs:{\"config\":{\n image: _vm.imagePlanCadastre,\n }}}),_vm._l((_vm.polygons),function(polygon,index){return _c('v-line',{key:index,attrs:{\"config\":{\n points: polygon,\n fill: '#521da5',\n stroke: 'black',\n opacity: 0.3,\n strokeWidth: 2,\n closed: true,\n }}})})],2)],1)],1):_c('div',[_c('img',{attrs:{\"src\":_vm.planCadastre.chemin}})]),_c('div',[_c('b-form-group',{attrs:{\"label\":\"Niveau de zoom\"}},[_c('b-form-radio-group',{attrs:{\"id\":\"btn-radios-2\",\"options\":_vm.zoomOptions,\"button-variant\":\"outline-primary\",\"size\":\"md\",\"name\":\"radio-btn-outline\",\"buttons\":\"\"},model:{value:(_vm.selectedZoom),callback:function ($$v) {_vm.selectedZoom=$$v},expression:\"selectedZoom\"}})],1)],1)]):_c('div',[_c('rapport-expertise-file-uploader',{attrs:{\"id\":\"fileuploader-cadastre\",\"type\":\"PlanCadastre\",\"piecesJointes\":_vm.piecesJointesRapport,\"multiple\":false,\"showLabel\":false}}),_c('a',{staticClass:\"btn btn-secondary mt-2 mb-2 text-white\",attrs:{\"href\":_vm.cadastreBaseUrl,\"target\":\"_blank\"}},[_c('font-awesome-icon',{staticClass:\"mr-1\",attrs:{\"icon\":\"eye\"}}),_vm._v(\"Consulter le site cadastre.gouv.fr \")],1)],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',{class:{ invalid: _vm.state === false, valid: _vm.state === true }},[(_vm.title)?_c('h4',{domProps:{\"innerHTML\":_vm._s(_vm.title)}}):_vm._e(),_c('vue-numeric',_vm._b({directives:[{name:\"input-mode\",rawName:\"v-input-mode\",value:('decimal'),expression:\"'decimal'\"}],staticClass:\"form-control\",class:{\n invalid: !_vm.state,\n 'text-right': _vm.align === 'right',\n 'text-center': _vm.align === 'center',\n },attrs:{\"empty-value\":null,\"placeholder\":_vm.value ? null : _vm.$attrs.placeholder || 'ex: 250,00',\"min\":0,\"separator\":\" \",\"thousand-separator\":\" \",\"decimal-separator\":',',\"precision\":2,\"currency\":_vm.currency,\"currency-symbol-position\":\"suffix\",\"minus\":false},on:{\"keypress\":_vm.onKeypress,\"blur\":_vm.onChange},model:{value:(_vm.valueWrapped),callback:function ($$v) {_vm.valueWrapped=$$v},expression:\"valueWrapped\"}},'vue-numeric',_vm.$attrs,false))],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Vue from 'vue';\r\nexport const InputModeDirective = {\r\n bind: (el: any, binding: any, vnode: any) => {\r\n Vue.nextTick(() => {\r\n const element: HTMLElement = vnode.elm;\r\n element.setAttribute('inputmode', binding.value);\r\n });\r\n },\r\n};\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Mixins, Prop, Vue } from 'vue-property-decorator';\r\nimport VueNumeric from 'vue-numeric';\r\nimport { InputModeDirective } from '@/shared/directives/input-mode.directive';\r\nimport DeviceMixin from '@/mixins/device.mixin';\r\nVue.directive('input-mode', InputModeDirective);\r\n@Component({\r\n name: 'NumericNullable',\r\n components: {\r\n VueNumeric,\r\n },\r\n})\r\nexport default class NumericNullable extends Mixins(DeviceMixin) {\r\n @Prop({ required: false }) public value: number;\r\n @Prop() public title: string;\r\n @Prop({ default: true }) public titleBold: boolean;\r\n @Prop({ default: true }) public state: boolean;\r\n @Prop({ default: 'right' }) public align: string;\r\n @Prop() public currency: string;\r\n\r\n //#region LIFE CYCLES\r\n\r\n //#endregion\r\n\r\n //#region COMPUTED\r\n get valueWrapped() {\r\n return this.value || '';\r\n }\r\n set valueWrapped(val: any) {\r\n var output = null;\r\n if (val != '') output = val;\r\n this.$emit('input', output);\r\n }\r\n\r\n //#endregion\r\n\r\n //#region WATCH\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n public onKeypress(event: any) {\r\n var evt = event ? event : window.event;\r\n var charCode = evt.which ? evt.which : evt.keyCode;\r\n\r\n const shouldNotAddDecimal = function (evt: any) {\r\n var val = evt.target.value;\r\n var decimalIndex = val.indexOf(',');\r\n return decimalIndex > -1 && (decimalIndex < evt.target.selectionStart || decimalIndex >= evt.target.selectionEnd);\r\n };\r\n\r\n // 46 -> '.'\r\n if (charCode === 46) {\r\n // empêche de rentrer une deuxième virgule\r\n if (shouldNotAddDecimal(evt)) {\r\n evt.preventDefault();\r\n return false;\r\n }\r\n\r\n // insère une virgule à l'endroit où le point aurait été inséré\r\n var val = evt.target.value;\r\n var selectionStart = evt.target.selectionStart;\r\n val = val.substr(0, selectionStart) + ',' + val.substr(evt.target.selectionEnd);\r\n evt.target.value = val;\r\n evt.target.selectionStart = evt.target.selectionEnd = selectionStart + 1;\r\n\r\n evt.preventDefault();\r\n return false;\r\n }\r\n\r\n // empêche de rentrer une deuxième virgule\r\n // 44 -> ','\r\n if (charCode === 44) {\r\n if (shouldNotAddDecimal(evt)) {\r\n evt.preventDefault();\r\n return false;\r\n }\r\n }\r\n\r\n // empêche tout caractère non numeric et non virgule\r\n if (charCode > 31 && (charCode < 48 || charCode > 57) && charCode !== 44) {\r\n evt.preventDefault();\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n public onChange(event: any): void {\r\n this.$emit('change', event.target.value.replace(',', '.'));\r\n }\r\n\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./numeric-nullable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./numeric-nullable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./numeric-nullable.vue?vue&type=template&id=2eb7a02c&\"\nimport script from \"./numeric-nullable.vue?vue&type=script&lang=ts&\"\nexport * from \"./numeric-nullable.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export function urlToData(url: any, callback: any, callbackError: any = null): void {\r\n var xhr = new XMLHttpRequest();\r\n (xhr.onerror = function () {\r\n if (callbackError != null) callbackError();\r\n }),\r\n (xhr.onload = function () {\r\n var reader = new FileReader();\r\n reader.onloadend = function () {\r\n callback(reader.result);\r\n };\r\n reader.readAsDataURL(xhr.response);\r\n });\r\n xhr.open('GET', url);\r\n xhr.responseType = 'blob';\r\n xhr.send();\r\n}\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Inject, Mixins, Prop, Vue, Watch } from 'vue-property-decorator';\r\nimport { BTable, BTooltip } from 'bootstrap-vue';\r\nimport RapportExpertiseFileUploader from '@/shared/components/rapport-expertise/rapport-expertise-file-uploader.vue';\r\nimport NumericNullable from '@/shared/components/numeric-nullable.vue';\r\nimport { ReferenceCadastraleDto } from '@/shared/dtos/reference-cadastrale.dto';\r\nimport { TypePieceJointeRapportEnum } from '@/shared/enums/type-piece-jointe-rapport.enum';\r\nimport axios from 'axios';\r\nimport { Guid } from 'guid-typescript';\r\nimport { urlToData } from '@/shared/utilities/url.utility';\r\nimport Spinner from 'vue-spinner-component/src/Spinner.vue';\r\nimport DeviceMixin from '@/mixins/device.mixin';\r\n@Component({\r\n name: 'PrestationExpertiseRapportDescriptionGeneraleReferencesCadastrales',\r\n components: {\r\n BTable,\r\n BTooltip,\r\n NumericNullable,\r\n RapportExpertiseFileUploader,\r\n Spinner,\r\n },\r\n})\r\nexport default class PrestationExpertiseRapportDescriptionGeneraleReferencesCadastrales extends Mixins(DeviceMixin) {\r\n @Inject('addPieceJointe') public addPieceJointe: any;\r\n @Inject('deletePieceJointeByIdAndType') public deletePieceJointeByIdAndType: any;\r\n\r\n // Reférences cadastrales\r\n @Prop() public value: ReferenceCadastraleDto[];\r\n @Prop() public rapportId: number;\r\n @Prop() public validation: any;\r\n\r\n // Plan cadastre\r\n @Prop() public latitude: number;\r\n @Prop() public longitude: number;\r\n @Prop() public piecesJointesRapport: any;\r\n @Prop() public zoom: number;\r\n\r\n // Private\r\n // Plan cadastre\r\n private codeInsee: number;\r\n private type = TypePieceJointeRapportEnum[TypePieceJointeRapportEnum.PlanCadastre];\r\n private boundingBox: number[] = [];\r\n private imageWidth = 400;\r\n private imageHeight = 400;\r\n\r\n // Public\r\n // References cadastrales\r\n public fields: any = [\r\n { key: 'section', label: 'Section' },\r\n { key: 'parcelle', label: 'Parcelle' },\r\n { key: 'superficie', label: 'Superficie' },\r\n { key: 'action', label: '' },\r\n ];\r\n\r\n // Plan cadastre\r\n public imagePlanCadastre: HTMLImageElement = null;\r\n public cadastreUrl: string = '';\r\n public cadastreBaseUrl: string = Vue.prototype.$config.cadastreBaseUrl;\r\n public selectedZoom: number = 0.00075;\r\n //public isPlanCadastreAutomatic = true;\r\n public isPlanCadastreAutomatic = false;\r\n public isPlanCadastreAnUploadedCanva = false;\r\n public zoomOptions = [\r\n { text: 'Large', value: 0.0025 },\r\n { text: 'Moyen', value: 0.00075 },\r\n { text: 'Rapproché', value: 0.0005 },\r\n ];\r\n public polygons: number[][] = [];\r\n public isPlanCadastreLoading = false;\r\n public apiKey: string = Vue.prototype.$config.googleMapApiKey;\r\n\r\n //#region LIFE CYCLES\r\n public async mounted(): Promise {\r\n if (!this.referencesCadastrales.length) this.addReferencesCadastrales();\r\n // await this.initPlanCadastreType();\r\n // this.initZoom();\r\n // this.initPlanCadastre();\r\n\r\n // this.$watch(\r\n // () => [this.latitude, this.longitude],\r\n // () => {\r\n // if (this.isPlanCadastreAutomatic) this.initPlanCadastre(true);\r\n // },\r\n // {\r\n // deep: true,\r\n // }\r\n // );\r\n }\r\n\r\n //#endregion\r\n\r\n //#region COMPUTED\r\n get referencesCadastrales(): ReferenceCadastraleDto[] {\r\n return this.value;\r\n }\r\n\r\n set referencesCadastrales(referencesCadastrales: ReferenceCadastraleDto[]) {\r\n this.value = referencesCadastrales;\r\n }\r\n\r\n get planCadastre(): any {\r\n return this.piecesJointesRapport[this.type];\r\n }\r\n\r\n //#endregion\r\n\r\n //#region WATCH\r\n @Watch('value', { deep: true })\r\n public async referencesCadastresChanged(): Promise {\r\n this.referencesCadastrales.forEach((referenceCadastrale: ReferenceCadastraleDto) => {\r\n if (!referenceCadastrale.superficie) referenceCadastrale.superficie = referenceCadastrale.superficieGouvernement;\r\n });\r\n }\r\n\r\n @Watch('selectedZoom')\r\n public async selectedZoomChanged(): Promise {\r\n if (this.zoom !== this.selectedZoom) {\r\n this.$emit('zoomPlanCadastreChanged', this.selectedZoom);\r\n this.setBoundingBox();\r\n this.drawPlanCadastreImage();\r\n }\r\n }\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n // Références cadastrales\r\n public onAddReferenceCadastraleClick(): void {\r\n this.addReferencesCadastrales();\r\n }\r\n\r\n public onDeleteReferenceCadastraleClick(index: number): void {\r\n this.referencesCadastrales.splice(index, 1);\r\n\r\n this.drawPolygons();\r\n }\r\n\r\n // Plan cadastre\r\n public onDisplayPlanCadastreManuallyClick(): void {\r\n this.cadastreUrl = null;\r\n this.isPlanCadastreAutomatic = false;\r\n this.clearPieceJointePlanCadastre();\r\n }\r\n\r\n public async onDisplayPlanCadastreAutoClick(): Promise {\r\n this.isPlanCadastreAutomatic = true;\r\n this.isPlanCadastreLoading = false;\r\n }\r\n\r\n public async onGetCadastreForAddresseClick(): Promise {\r\n this.isPlanCadastreAutomatic = true;\r\n this.isPlanCadastreLoading = false;\r\n this.clearPieceJointePlanCadastre();\r\n await this.initPlanCadastre(true);\r\n }\r\n\r\n public async onGetReferenceCadastraleClick(referenceCadastrale: ReferenceCadastraleDto): Promise {\r\n if (!this.codeInsee) {\r\n Vue.prototype.$notificationService.warn(`Veuillez d'abord récupérer le plan de cadastre pour l'adresse.`);\r\n } else {\r\n this.getReferenceCadastralePolygon(referenceCadastrale);\r\n }\r\n }\r\n\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n // Références cadastrales\r\n private addReferencesCadastrales(): void {\r\n this.referencesCadastrales.push({\r\n technicalId: Guid.create(),\r\n section: '',\r\n parcelle: '',\r\n superficie: null,\r\n rapportExpertiseId: this.rapportId,\r\n polygon: [],\r\n });\r\n }\r\n\r\n // Plan cadastre\r\n private clearPieceJointePlanCadastre(): void {\r\n if (this.planCadastre.length > 0) {\r\n this.imagePlanCadastre = null;\r\n this.deletePieceJointeByIdAndType(this.planCadastre[0].id, this.type);\r\n }\r\n this.piecesJointesRapport[this.type] = [];\r\n }\r\n\r\n private initPlanCadastreType(): void {\r\n if (this.planCadastre && this.planCadastre.length) {\r\n if (this.planCadastre[0].nom === 'PlanCadastreInspire') {\r\n this.isPlanCadastreAutomatic = true;\r\n this.isPlanCadastreAnUploadedCanva = true;\r\n } else {\r\n this.isPlanCadastreAutomatic = false;\r\n this.isPlanCadastreAnUploadedCanva = false;\r\n }\r\n } else {\r\n this.isPlanCadastreAutomatic = true;\r\n this.isPlanCadastreAnUploadedCanva = false; // The first time, the view is the automatic view but image has not been still been uploaded\r\n }\r\n }\r\n\r\n private initZoom(): void {\r\n if (this.zoom === null) {\r\n this.selectedZoom = this.zoomOptions[1].value;\r\n this.$emit('zoomPlanCadastreChanged', this.selectedZoom);\r\n } else {\r\n this.selectedZoom = this.zoom;\r\n }\r\n }\r\n\r\n private initPlanCadastre(forceRefresh = false): void {\r\n if (this.isPlanCadastreAutomatic || forceRefresh) {\r\n if (this.isMobile) {\r\n var parentWidth = (this.$refs.zoneplancadastre as Element).clientWidth;\r\n\r\n this.imageWidth = parentWidth;\r\n this.imageHeight = parentWidth;\r\n }\r\n\r\n this.setBoundingBox();\r\n this.getCodeInsee();\r\n }\r\n }\r\n\r\n private setBoundingBox(): void {\r\n // Longitude = X = 3.xx ; Latitude = Y = 43.xx\r\n this.boundingBox = [\r\n this.latitude - this.selectedZoom,\r\n this.longitude - this.selectedZoom,\r\n this.latitude + this.selectedZoom,\r\n this.longitude + this.selectedZoom,\r\n ];\r\n }\r\n\r\n private async getCodeInsee(): Promise {\r\n this.isPlanCadastreLoading = true;\r\n axios\r\n .get(`https://geo.api.gouv.fr/communes?lat=${this.latitude}&lon=${this.longitude}&fields=nom,code&format=json&geometry=centre`)\r\n .then(async (response: any) => {\r\n if (response.data.length && response.data[0].code) {\r\n this.codeInsee = response.data[0].code;\r\n\r\n this.drawPlanCadastreImage();\r\n } else {\r\n Vue.prototype.$notificationService.error(`Les coordonnées géographiques ne correspondent à aucun code INSEE.`);\r\n }\r\n })\r\n .catch(async (error: any) => {\r\n this.isPlanCadastreLoading = false;\r\n var logMessage = `Une erreur est survenue lors de la récupération du code INSEE.`;\r\n Vue.prototype.$notificationService.error(logMessage);\r\n await Vue.prototype.$logStoreService.error(`${logMessage} - ERROR`, error, 'RapportExpertisePlanCadastre');\r\n });\r\n }\r\n\r\n private async drawPlanCadastreImage(): Promise {\r\n this.isPlanCadastreLoading = true;\r\n this.cadastreUrl = `https://inspire.cadastre.gouv.fr/scpc/${this.codeInsee}.wms?service=wms&version=1.3&request=GetMap&layers=AMORCES_CAD,LIEUDIT,CP.CadastralParcel,BU.Building,CLOTURE,DETAIL_TOPO,HYDRO,VOIE_COMMUNICATION,BU.Building,BORNE_REPERE&format=image/png&crs=EPSG:4326&bbox=${this.boundingBox[0]},${this.boundingBox[1]},${this.boundingBox[2]},${this.boundingBox[3]}&width=${this.imageWidth}&height=${this.imageHeight}&styles=`;\r\n const image = new window.Image();\r\n\r\n urlToData(\r\n this.cadastreUrl,\r\n async (dataUrl: any) => {\r\n image.src = dataUrl;\r\n image.crossOrigin = 'Anonymous';\r\n image.onload = () => {\r\n this.imagePlanCadastre = image;\r\n };\r\n\r\n for (let i = this.referencesCadastrales.length - 1; i >= 0; i--) {\r\n if (!this.referencesCadastrales[i].section && !this.referencesCadastrales[i].parcelle) {\r\n this.referencesCadastrales.splice(i, 1);\r\n }\r\n }\r\n\r\n await this.getReferencesCadastralesPolygons();\r\n this.isPlanCadastreLoading = false;\r\n },\r\n async () => {\r\n this.isPlanCadastreLoading = false;\r\n Vue.prototype.$notificationService.error(\r\n \"Une erreur est survenue lors de la récupération de l'image du cadastre. Si l'erreur persiste, vous pouvez toujours ajouter manuellement un plan de cadastre.\"\r\n );\r\n }\r\n );\r\n }\r\n\r\n private async getReferencesCadastralesPolygons(start: number = 0): Promise {\r\n const logMessage = `Une erreur est survenue lors de l'identification du cadastre. Si l'erreur persiste, vous pouvez toujours ajouter manuellement un plan de cadastre.`;\r\n\r\n this.isPlanCadastreLoading = true;\r\n\r\n await axios\r\n .get(`https://apicarto.ign.fr/api/cadastre/parcelle?code_insee=${this.codeInsee}${start ? `&_start=${start}` : ''}`)\r\n .then(async (response: any) => {\r\n if (response.data && !response.data.message && response.data.features && response.data.features.length) {\r\n // Pour chaque feature, on va isoler la liste des parcelles et leurs polygons pour tester l'inclusivité du point geographique\r\n response.data.features.forEach((feature: any) => {\r\n this.createReferenceCadastrale(feature, true);\r\n });\r\n\r\n if (start < response.data.totalFeatures && start + 1000 < response.data.totalFeatures) {\r\n await this.getReferencesCadastralesPolygons(start + 1000);\r\n } else {\r\n this.drawPolygons();\r\n }\r\n } else {\r\n Vue.prototype.$notificationService.error(logMessage);\r\n }\r\n })\r\n .catch(async (error: any) => {\r\n Vue.prototype.$notificationService.error(logMessage);\r\n await Vue.prototype.$logStoreService.error(`${logMessage} - ERROR`, error, 'RapportExpertisePlanCadastre');\r\n })\r\n .finally(() => {\r\n this.isPlanCadastreLoading = false;\r\n });\r\n }\r\n\r\n private async getReferenceCadastralePolygon(referenceCadastrale: ReferenceCadastraleDto): Promise {\r\n const logMessage = `Une erreur est survenue lors de l'identification de la section ${referenceCadastrale.section} parcelle ${referenceCadastrale.parcelle}. Êtes-vous sur d'avoir correctement saisi la référence cadastrale ? Si l'erreur persiste, vous pouvez toujours ajouter manuellement un plan de cadastre.`;\r\n\r\n this.isPlanCadastreLoading = true;\r\n\r\n await axios\r\n .get(\r\n `https://apicarto.ign.fr/api/cadastre/parcelle?code_insee=${\r\n this.codeInsee\r\n }§ion=${referenceCadastrale.section.toUpperCase()}&numero=${this.padWithZeros(+referenceCadastrale.parcelle, 4)}`\r\n )\r\n .then(async (response: any) => {\r\n if (response.data && !response.data.message && response.data.features && response.data.features.length) {\r\n this.createReferenceCadastrale(response.data.features[0]);\r\n\r\n this.drawPolygons();\r\n } else {\r\n Vue.prototype.$notificationService.error(logMessage);\r\n }\r\n })\r\n .catch(async (error: any) => {\r\n Vue.prototype.$notificationService.error(logMessage);\r\n await Vue.prototype.$logStoreService.error(`${logMessage} - ERROR`, error, 'RapportExpertisePlanCadastre');\r\n })\r\n .finally(() => {\r\n this.isPlanCadastreLoading = false;\r\n });\r\n }\r\n\r\n private createReferenceCadastrale(feature: any, checkLocation = false) {\r\n /* Exemple pour comprendre. Une parcelle peut contenir plusieurs découpages et pour chaque découpage, il peut y avoir un trou\r\n {\r\n ...,\r\n coordinates: [\r\n [\r\n [\r\n [40, 40], [20, 45], [45, 30], [40, 40]\r\n ]\r\n ],\r\n [\r\n [\r\n [20, 35], [10, 30], [10, 10], [30, 5]...\r\n ],\r\n [\r\n [30, 20], [20, 15], [20, 25], [30, 20] => trou\r\n ]\r\n ]\r\n ]\r\n }\r\n */\r\n\r\n var parcelles: number[][][][] = feature.geometry.coordinates;\r\n parcelles.forEach((parcelle: number[][][]) => {\r\n parcelle.forEach((polygon: number[][]) => {\r\n let flattenCoordinates = polygon.map((polygonCoords) => {\r\n return { lng: polygonCoords[0], lat: polygonCoords[1] };\r\n });\r\n // Test d'inclusion du point geographique\r\n const googleMapPolygon = new Vue.prototype.$googleMapsApi.Polygon({\r\n paths: flattenCoordinates,\r\n });\r\n\r\n if (\r\n !checkLocation ||\r\n (checkLocation &&\r\n Vue.prototype.$googleMapsApi.geometry.poly.containsLocation({ lat: this.latitude, lng: this.longitude }, googleMapPolygon))\r\n ) {\r\n var existingReferenceCadastrale = this.referencesCadastrales.find(\r\n (referenceCadastrale: ReferenceCadastraleDto) =>\r\n referenceCadastrale.section === feature.properties.section &&\r\n this.padWithZeros(referenceCadastrale.parcelle, 4) === feature.properties.numero\r\n );\r\n\r\n if (existingReferenceCadastrale) {\r\n existingReferenceCadastrale.polygon = polygon;\r\n existingReferenceCadastrale.superficieGouvernement = feature.properties.contenance;\r\n existingReferenceCadastrale.superficie = existingReferenceCadastrale.superficieGouvernement;\r\n } else {\r\n this.referencesCadastrales.push({\r\n technicalId: Guid.create(),\r\n section: feature.properties.section,\r\n parcelle: parseInt(feature.properties.numero).toString(),\r\n superficie: feature.properties.contenance,\r\n superficieGouvernement: feature.properties.contenance,\r\n polygon: polygon,\r\n });\r\n }\r\n }\r\n });\r\n });\r\n }\r\n\r\n private drawPolygons(): void {\r\n this.polygons = [];\r\n\r\n this.referencesCadastrales\r\n .filter((rf) => rf.polygon)\r\n .forEach((referenceCadastrale: ReferenceCadastraleDto) => {\r\n var newPolygon: number[] = [];\r\n referenceCadastrale.polygon.forEach((polygon: number[]) => {\r\n newPolygon.push(this.getPixelOnXFromCoordinate(polygon[0]));\r\n newPolygon.push(this.getPixelOnYFromCoordinate(polygon[1]));\r\n });\r\n this.polygons.push(newPolygon);\r\n });\r\n\r\n // WTF ?\r\n setTimeout(async () => {\r\n // Capture whole canva and save it to PiecesJointes\r\n var canvas = document.getElementsByTagName('canvas')[0] as HTMLCanvasElement;\r\n var dataURL = canvas.toDataURL();\r\n await this.addPieceJointe(this.type, dataURL, 'PlanCadastreInspire.png');\r\n }, 1000);\r\n }\r\n\r\n private getPixelOnXFromCoordinate(coord: number): number {\r\n return ((coord - this.boundingBox[1]) / (this.boundingBox[3] - this.boundingBox[1])) * this.imageWidth;\r\n }\r\n\r\n private getPixelOnYFromCoordinate(coord: number): number {\r\n return this.imageHeight - ((coord - this.boundingBox[0]) / (this.boundingBox[2] - this.boundingBox[0])) * this.imageHeight;\r\n }\r\n\r\n private padWithZeros(number: number | string, length: number) {\r\n var my_string = '' + number;\r\n while (my_string.length < length) {\r\n my_string = '0' + my_string;\r\n }\r\n\r\n return my_string;\r\n }\r\n\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-description-generale-references-cadastrales.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-description-generale-references-cadastrales.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./prestation-expertise-rapport-description-generale-references-cadastrales.vue?vue&type=template&id=66717b68&scoped=true&\"\nimport script from \"./prestation-expertise-rapport-description-generale-references-cadastrales.vue?vue&type=script&lang=ts&\"\nexport * from \"./prestation-expertise-rapport-description-generale-references-cadastrales.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./prestation-expertise-rapport-description-generale-references-cadastrales.vue?vue&type=style&index=0&id=66717b68&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 \"66717b68\",\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:\"prestation-expertise-rapport-description-generale-terrain-avis-expert-component\"},[_c('prestation-expertise-rapport-avis-expert',{attrs:{\"validationError\":_vm.validation.mission.prestationExpertise.terrainAvisExpert.$error,\"placeHolder\":\"Quel est votre avis sur le terrain ?\"},model:{value:(_vm.rapport.terrainAvisExpert),callback:function ($$v) {_vm.$set(_vm.rapport, \"terrainAvisExpert\", $$v)},expression:\"rapport.terrainAvisExpert\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Mixins } from 'vue-property-decorator';\r\nimport RapportExpertiseSectionMixin from '@/mixins/rapport-expertise-section.mixin';\r\nimport PrestationExpertiseRapportAvisExpert from '@/shared/components/prestation-expertise/prestation-expertise-rapport-avis-expert.vue';\r\n\r\n@Component({\r\n name: 'PrestationExpertiseRapportDescriptionGeneraleAvisExpert',\r\n components: {\r\n PrestationExpertiseRapportAvisExpert,\r\n },\r\n})\r\nexport default class PrestationExpertiseRapportDescriptionGeneraleAvisExpert extends Mixins(RapportExpertiseSectionMixin) {\r\n //#region LIFE CYCLES\r\n //#endregion\r\n //#region COMPUTED\r\n //#endregion\r\n //#region WATCH\r\n //#endregion\r\n //#region EVENTS\r\n //#endregion\r\n //#region FUNCTIONS\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-description-generale-avis-expert.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-description-generale-avis-expert.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./prestation-expertise-rapport-description-generale-avis-expert.vue?vue&type=template&id=1417450c&\"\nimport script from \"./prestation-expertise-rapport-description-generale-avis-expert.vue?vue&type=script&lang=ts&\"\nexport * from \"./prestation-expertise-rapport-description-generale-avis-expert.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export class DonneesEstimationImmobiliereUpdateInputDto {\r\n buildingYear: number;\r\n isAnneeConstructionEstimation: boolean;\r\n livingArea: number;\r\n landArea: number;\r\n}\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Vue, Component, Mixins, Watch } from 'vue-property-decorator';\r\nimport RapportExpertiseSectionMixin from '@/mixins/rapport-expertise-section.mixin';\r\n\r\nimport TextareaWithDefaultValue from '@/shared/components/textarea-with-default-value.vue';\r\nimport RapportExpertiseFileUploader from '@/shared/components/rapport-expertise/rapport-expertise-file-uploader.vue';\r\nimport PrestationExpertiseRapportDescriptionGeneraleReferencesCadastrales from './prestation-expertise-rapport-description-generale-references-cadastrales.vue';\r\nimport PrestationExpertiseRapportDescriptionGeneraleAvisExpert from './prestation-expertise-rapport-description-generale-avis-expert.vue';\r\nimport RadioBoolean from '@/shared/components/radio-boolean.vue';\r\nimport NumericNullable from '@/shared/components/numeric-nullable.vue';\r\nimport ChoicePopup from '@/shared/components/choice-popup.vue';\r\nimport VisaDisplay from '@/shared/components/visa-display.vue';\r\nimport { isNullOrEmpty } from '@/shared/utilities/string.utility';\r\nimport { DonneesEstimationImmobiliereUpdateInputDto } from '@/shared/dtos/donnees-estimation-immobiliere-update-input.dto';\r\nimport { BusinessEntryEnum } from '@/shared/enums/business-entry.enum';\r\nimport { AnnexeStatutEnum } from '@/shared/enums/annexe-statut.enum';\r\n\r\n@Component({\r\n name: 'PrestationExpertiseRapportDescriptionGeneraleTerrain',\r\n components: {\r\n TextareaWithDefaultValue,\r\n RapportExpertiseFileUploader,\r\n PrestationExpertiseRapportDescriptionGeneraleReferencesCadastrales,\r\n RadioBoolean,\r\n NumericNullable,\r\n ChoicePopup,\r\n VisaDisplay,\r\n PrestationExpertiseRapportDescriptionGeneraleAvisExpert,\r\n },\r\n})\r\nexport default class PrestationExpertiseRapportDescriptionGeneraleTerrain extends Mixins(RapportExpertiseSectionMixin) {\r\n //#region LIFE CYCLES\r\n public mounted(): void {\r\n if (this.isTypeDeBienTerrain) {\r\n const annexeDPE = this.rapport.annexeEnvironnements.find((x: any) => x.businessEntrySelectedId === BusinessEntryEnum.DPE);\r\n if (annexeDPE) annexeDPE.businessEntryQualificationId = AnnexeStatutEnum.NonObtenu;\r\n }\r\n }\r\n\r\n //#endregion\r\n\r\n //#region COMPUTED\r\n get superficieReferencesCadastrales(): number {\r\n return this.rapport.referenceCadastralesRapport.reduce((sum: any, curr: any) => sum + (curr.superficie || 0), 0);\r\n }\r\n\r\n //#endregion\r\n\r\n //#region WATCH\r\n @Watch('typeDeBien')\r\n public typeDeBienChanged(): void {\r\n if (this.isTypeDeBienAppartement) {\r\n this.rapport.terrainSuperficie = null;\r\n this.rapport.terrainFormeId = null;\r\n this.rapport.terrainAccesEtatId = null;\r\n this.rapport.terrainInclinaisonId = null;\r\n } else {\r\n this.rapport.terrainPrivatif = null;\r\n this.rapport.terrainPrivatifSuperficie = null;\r\n this.rapport.terrainPrivatifClotureId = null;\r\n this.rapport.terrainPrivatifEntretienId = null;\r\n this.rapport.prestationsPartiesCommunesId = null;\r\n }\r\n\r\n if (this.isTypeDeBienTerrain) {\r\n const annexeDPE = this.rapport.annexeEnvironnements.find((x: any) => x.businessEntrySelectedId === BusinessEntryEnum.DPE);\r\n if (annexeDPE) annexeDPE.businessEntryQualificationId = AnnexeStatutEnum.NonObtenu;\r\n }\r\n }\r\n\r\n @Watch('superficieReferencesCadastrales')\r\n public superficieReferencesCadastralesChanged(newValue: any, oldValue: any) {\r\n if (!this.isTypeDeBienAppartement && this.rapport.terrainSuperficie == oldValue) {\r\n this.rapport.terrainSuperficie = newValue;\r\n }\r\n }\r\n\r\n @Watch('rapport.terrainSuperficie')\r\n public terrainSuperficieChanged(value: any) {\r\n if (this.isTypeDeBienTerrain) {\r\n this.rapport.evaluationSurfaceOuSuperficie = value;\r\n }\r\n }\r\n\r\n @Watch('rapport.terrainPrivatif')\r\n public terrainPrivatifChanged(): void {\r\n if (this.rapport.terrainPrivatif === false) {\r\n this.rapport.terrainPrivatifSuperficie = null;\r\n this.rapport.terrainPrivatifClotureId = null;\r\n this.rapport.terrainPrivatifEntretienId = null;\r\n }\r\n }\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n public async onCalculateSuperficieTerrainClick(): Promise {\r\n this.rapport.terrainSuperficie = this.superficieReferencesCadastrales;\r\n await this.onTerrainSuperficieChange(this.rapport.terrainSuperficie);\r\n }\r\n\r\n public async onTerrainSuperficieChange(value: number): Promise {\r\n if (this.isMobile || isNullOrEmpty(value) || value === 0) return;\r\n var input = new DonneesEstimationImmobiliereUpdateInputDto();\r\n input.landArea = value;\r\n await Vue.prototype.$rapportExpertiseApiService.updateDonneesEstimationImmobiliere(this.rapport.id, input);\r\n }\r\n\r\n public onEmitZoomPlanCadastreChanged(value: number): void {\r\n this.rapport.geographiqueZoomPlanCadastre = value;\r\n }\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-description-generale-terrain.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-description-generale-terrain.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./prestation-expertise-rapport-description-generale-terrain.vue?vue&type=template&id=7294e5dc&\"\nimport script from \"./prestation-expertise-rapport-description-generale-terrain.vue?vue&type=script&lang=ts&\"\nexport * from \"./prestation-expertise-rapport-description-generale-terrain.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"prestation-expertise-rapport-description-generale-terrain-controle-component\"},[_c('visa-note',{attrs:{\"visa\":_vm.rapport.notes[_vm.getRapportExpertiseNoteSectionEnumName(_vm.rapportExpertiseNoteSectionEnum.DescriptionGenerale)],\"section\":\"Description générale\",\"isReadonly\":_vm.isNoteReadOnly}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Mixins } from 'vue-property-decorator';\r\nimport RapportExpertiseSectionMixin from '@/mixins/rapport-expertise-section.mixin';\r\n\r\nimport VisaNote from '@/shared/components/visa-note.vue';\r\n\r\n@Component({\r\n name: 'PrestationExpertiseRapportDescriptionGeneraleControle',\r\n components: {\r\n VisaNote,\r\n },\r\n})\r\nexport default class PrestationExpertiseRapportDescriptionGeneraleControle extends Mixins(RapportExpertiseSectionMixin) {\r\n //#region LIFE CYCLES\r\n //#endregion\r\n //#region COMPUTED\r\n //#endregion\r\n //#region WATCH\r\n //#endregion\r\n //#region EVENTS\r\n //#endregion\r\n //#region FUNCTIONS\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-description-generale-controle.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-description-generale-controle.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./prestation-expertise-rapport-description-generale-controle.vue?vue&type=template&id=0eb0290d&\"\nimport script from \"./prestation-expertise-rapport-description-generale-controle.vue?vue&type=script&lang=ts&\"\nexport * from \"./prestation-expertise-rapport-description-generale-controle.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"prestation-expertise-rapport-description-particuliere-batiment-component\"},[_c('visa-display',{attrs:{\"visa\":_vm.rapport.notes[_vm.getRapportExpertiseNoteSectionEnumName(_vm.rapportExpertiseNoteSectionEnum.DescriptionParticuliere)]}}),_c('h3',[_vm._v(\"Construction\")]),_c('b-form-group',{class:{ invalid: _vm.validation.mission.prestationExpertise.caracteristiquesAnneeConstruction.$error },attrs:{\"label\":\"Année de construction\",\"label-class\":\"h3\",\"state\":!_vm.validation.mission.prestationExpertise.caracteristiquesAnneeConstruction.$error}},[_c('b-row',[_c('b-col',{staticClass:\"d-flex\",attrs:{\"cols\":\"3\"}},[_c('b-form-input',{staticClass:\"text-right\",style:({ color: _vm.rapport.isAnneeConstructionEstimation ? 'transparent' : 'inherit' }),attrs:{\"type\":\"number\",\"placeholder\":\"ex : 1989\",\"state\":!_vm.validation.mission.prestationExpertise.caracteristiquesAnneeConstruction.$error},on:{\"change\":_vm.onCaracteristiquesAnneeConstructionChange,\"click\":_vm.onCaracteristiquesAnneeConstructionClick},model:{value:(_vm.rapport.caracteristiquesAnneeConstruction),callback:function ($$v) {_vm.$set(_vm.rapport, \"caracteristiquesAnneeConstruction\", $$v)},expression:\"rapport.caracteristiquesAnneeConstruction\"}})],1),_c('b-col',{staticClass:\"d-flex\",attrs:{\"cols\":\"3\"}},[_c('b-dropdown',{staticClass:\"text-right\",staticStyle:{\"min-width\":\"230px\"},attrs:{\"text\":_vm.textDropDownYearRange,\"variant\":\"light\"},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('strong',[_vm._v(_vm._s(_vm.textDropDownYearRange))])]},proxy:true}])},_vm._l((_vm.yearRange),function(key,value){return _c('b-dropdown-item',{key:key,staticClass:\"monospaced-text\",attrs:{\"value\":value},on:{\"click\":function($event){return _vm.selectRange(key, value)}}},[_vm._v(\" \"+_vm._s(_vm.yearRange[value])+\" \")])}),1)],1)],1)],1),_c('rapport-expertise-dpe',{attrs:{\"rapport\":_vm.rapport,\"caracteristiquesDPEs\":_vm.businessEntries.caracteristiquesDPEs,\"annexesStatuts\":_vm.businessEntries.annexesStatuts,\"state\":!_vm.validation.mission.prestationExpertise.caracteristiquesDPEId.$error},on:{\"AnnexeDpeEmit\":_vm.onAnnexeDpeEmit},model:{value:(_vm.rapport.caracteristiquesDPEId),callback:function ($$v) {_vm.$set(_vm.rapport, \"caracteristiquesDPEId\", $$v)},expression:\"rapport.caracteristiquesDPEId\"}}),(!_vm.isTypeDeBienAppartement)?_c('radio-boolean',{attrs:{\"state\":!_vm.validation.mission.prestationExpertise.caracteristiquesMitoyennete.$error,\"title\":\"Mitoyenneté\"},model:{value:(_vm.rapport.caracteristiquesMitoyennete),callback:function ($$v) {_vm.$set(_vm.rapport, \"caracteristiquesMitoyennete\", $$v)},expression:\"rapport.caracteristiquesMitoyennete\"}}):_vm._e(),(_vm.rapport.caracteristiquesMitoyennete)?_c('choice-popup',{attrs:{\"list\":_vm.businessEntries.caracteristiquesMitoyenneteCote,\"version\":_vm.version,\"state\":!_vm.validation.mission.prestationExpertise.caracteristiquesMitoyenneteCoteId.$error,\"title\":\"Sur combien de côtés ?\",\"titleBold\":false,\"id\":\"Mitoyennete\"},model:{value:(_vm.rapport.caracteristiquesMitoyenneteCoteId),callback:function ($$v) {_vm.$set(_vm.rapport, \"caracteristiquesMitoyenneteCoteId\", $$v)},expression:\"rapport.caracteristiquesMitoyenneteCoteId\"}}):_vm._e(),_c('h3',[_vm._v(\"Caractéristiques du gros œuvre et second œuvre\")]),_c('rapport-expertise-file-uploader',{attrs:{\"id\":\"fileuploader-grosoeuvre\",\"type\":\"SectionGrosOeuvre\",\"piecesJointes\":_vm.rapport.piecesJointesRapport,\"state\":!_vm.validation.mission.prestationExpertise.piecesJointesRapport.SectionGrosOeuvre.$error,\"title\":\"Photos du gros œuvre\"}}),_c('choice-popup',{attrs:{\"rapportId\":_vm.rapport.id,\"list\":_vm.businessEntries.caracteristiqueGrosOeuvres,\"version\":_vm.rapport.version,\"state\":!_vm.validation.mission.prestationExpertise.caracteristiquesGrosOeuvres.$error &&\n !_vm.validation.mission.prestationExpertise.caracteristiquesGrosOeuvres.$anyError,\"title\":\"Gros œuvre\",\"id\":\"GrosOeuvre\",\"multiple\":true},model:{value:(_vm.rapport.caracteristiquesGrosOeuvres),callback:function ($$v) {_vm.$set(_vm.rapport, \"caracteristiquesGrosOeuvres\", $$v)},expression:\"rapport.caracteristiquesGrosOeuvres\"}}),_c('choice-popup',{attrs:{\"list\":_vm.businessEntries.caracteristiqueMenuiseries,\"version\":_vm.rapport.version,\"rapportId\":_vm.rapport.id,\"state\":!_vm.validation.mission.prestationExpertise.caracteristiquesMenuiseries.$error &&\n !_vm.validation.mission.prestationExpertise.caracteristiquesMenuiseries.$anyError,\"title\":\"Menuiseries\",\"dropdown\":true,\"id\":\"Menuiseries\"},model:{value:(_vm.rapport.caracteristiquesMenuiseries),callback:function ($$v) {_vm.$set(_vm.rapport, \"caracteristiquesMenuiseries\", $$v)},expression:\"rapport.caracteristiquesMenuiseries\"}}),_c('choice-popup',{attrs:{\"list\":_vm.businessEntries.caracteristiqueToitures,\"version\":_vm.rapport.version,\"rapportId\":_vm.rapport.id,\"state\":!_vm.validation.mission.prestationExpertise.caracteristiquesToitures.$error &&\n !_vm.validation.mission.prestationExpertise.caracteristiquesToitures.$anyError,\"title\":\"Toiture\",\"dropdown\":true,\"id\":\"Toiture\"},model:{value:(_vm.rapport.caracteristiquesToitures),callback:function ($$v) {_vm.$set(_vm.rapport, \"caracteristiquesToitures\", $$v)},expression:\"rapport.caracteristiquesToitures\"}}),_c('choice-popup',{attrs:{\"list\":_vm.businessEntries.caracteristiqueFacades,\"version\":_vm.rapport.version,\"rapportId\":_vm.rapport.id,\"state\":!_vm.validation.mission.prestationExpertise.caracteristiquesFacades.$error &&\n !_vm.validation.mission.prestationExpertise.caracteristiquesFacades.$anyError,\"title\":\"Façade\",\"dropdown\":true,\"id\":\"Facade\"},model:{value:(_vm.rapport.caracteristiquesFacades),callback:function ($$v) {_vm.$set(_vm.rapport, \"caracteristiquesFacades\", $$v)},expression:\"rapport.caracteristiquesFacades\"}}),(!_vm.isTypeDeBienAppartement)?_c('choice-popup',{attrs:{\"list\":_vm.businessEntries.caracteristiqueAssainissements,\"version\":_vm.rapport.version,\"state\":!_vm.validation.mission.prestationExpertise.caracteristiqueAssainissementId.$error,\"title\":\"Assainissement\",\"id\":\"Assainissement\"},model:{value:(_vm.rapport.caracteristiqueAssainissementId),callback:function ($$v) {_vm.$set(_vm.rapport, \"caracteristiqueAssainissementId\", $$v)},expression:\"rapport.caracteristiqueAssainissementId\"}}):_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 (_vm.isRapportVersionGreaterOrEqualsTo(3.1))?_c('div',{staticClass:\"dpe-component\"},[_c('h4',{class:{ invalid: _vm.state === false, valid: _vm.state === true }},[_vm._v(\"Diagnostic de performance énergétique\")]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-auto\"},[_c('radios',{attrs:{\"list\":_vm.annexesStatuts},model:{value:(_vm.annexeStatutId),callback:function ($$v) {_vm.annexeStatutId=$$v},expression:\"annexeStatutId\"}})],1)]),_c('div',{staticClass:\"row\"},[(_vm.isNonObtenu)?_c('div',{staticClass:\"col-auto\"},[_c('b-button',{directives:[{name:\"b-modal\",rawName:\"v-b-modal.modal-estimation-dpe\",modifiers:{\"modal-estimation-dpe\":true}}],staticClass:\"btn-secondary mr-2\"},[_c('font-awesome-icon',{staticClass:\"icon\",attrs:{\"icon\":\"leaf\"}}),_vm._v(\" \"+_vm._s(this.rapport.caracteristiquesDPEId == null ? 'Estimer un DPE' : 'Modifier')+\" \")],1),_c('b-modal',{attrs:{\"id\":\"modal-estimation-dpe\",\"size\":\"xl\",\"title\":\"Estimer un DPE\",\"hide-footer\":\"\"}},[_c('rapport-expertise-estimation-dpe',{staticStyle:{\"position\":\"relative\"},attrs:{\"rapportId\":_vm.rapport.id,\"showDetail\":true},on:{\"estimationDPE\":_vm.onReceiveEstimation}})],1),(this.rapport.caracteristiquesDPEId != null)?_c('b-button',{staticClass:\"btn-light\",on:{\"click\":function($event){return _vm.onDeleteDpeData()}}},[_c('font-awesome-icon',{staticClass:\"icon\",attrs:{\"icon\":\"trash\"}}),_vm._v(\" Supprimer \")],1):_vm._e()],1):_vm._e()]),(_vm.isObtenu || this.rapport.caracteristiquesDPEId != null)?_c('div',[_c('div',{staticClass:\"row\"},[(_vm.isObtenu == false && this.rapport.caracteristiquesDPEId != null)?_c('div',{staticClass:\"col-auto\"},[_c('br'),_c('p',[_vm._v(\" Ce DPE est fourni à titre indicatif, basé sur les informations disponibles. Il n’a pas de valeur contractuelle et ne remplace pas un diagnostic réalisé par un diagnostiqueur énergétique certifié \")])]):_vm._e()]),(_vm.isBrowser)?_c('div',{staticClass:\"dpe-component-list\"},_vm._l((_vm.refDpe),function(dpe){return _c('etiquette-dpe',{key:dpe.id,attrs:{\"showDetail\":_vm.rapport.caracteristiquesDPEId == dpe.id,\"value\":dpe},on:{\"dpeSelected\":_vm.onSelectDpe}})}),1):_c('div',{staticClass:\"dpe-component-list-mobile\"},[_c('b-dropdown',{attrs:{\"variant\":_vm.caracteristiqueDpeSelected != null ? 'primary' : 'light'}},[_c('template',{slot:\"button-content\"},[(_vm.caracteristiqueDpeSelected != null)?_c('span',[_c('font-awesome-icon',{staticClass:\"square-etat\",class:_vm.caracteristiqueDpeSelected.class,attrs:{\"icon\":\"square\"}}),_vm._v(\" \"+_vm._s(_vm.caracteristiqueDpeSelected.displayText)+\" \")],1):_c('span',[_vm._v(\" Sélectionner le DPE \")])]),_c('div',{staticClass:\"ml-1\"},_vm._l((_vm.caracteristiquesDPEs),function(dpe){return _c('b-dropdown-item',{key:dpe.id,on:{\"click\":function($event){$event.preventDefault();return _vm.onSelectDpe(dpe)}}},[_c('font-awesome-icon',{staticClass:\"square-etat\",class:dpe.class,attrs:{\"icon\":\"square\"}}),_vm._v(\" \"),_c('span',{staticClass:\"mr-3\"},[_vm._v(\" \"+_vm._s(dpe.displayText))]),_c('span',[_vm._v(\" \"+_vm._s(_vm.getDPE(dpe.id).kWhLabel)+\" KWh/m².an | \"+_vm._s(_vm.getDPE(dpe.id).CO2Label)+\" CO₂/m².an \")])],1)}),1)],2)],1)]):_vm._e()]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-container',[_c('p',[_vm._v(\" Complétez les caractéristiques du bien afin d'obtenir une estimation du DPE. Veillez à compléter le plus de champs possible afin d'obtenir la simulation la plus précise. \")]),_c('b-form',{attrs:{\"role\":\"form\"}},[_c('b-card',{staticClass:\"mb-4\",attrs:{\"border-variant\":\"light\"}},[_c('div',{staticClass:\"card-title mb-2\"},[_c('h4',{staticClass:\"text-muted\"},[_c('font-awesome-icon',{attrs:{\"icon\":\"home\"}})],1)]),_c('b-row',[_c('b-col',{attrs:{\"md\":\"3\"}},[_c('b-form-group',{attrs:{\"label\":\"Numéro d'étage\",\"label-for\":\"floorNumberTxt\"}},[_c('b-input-group',[_c('span',{staticClass:\"input-group-text rounded-0\"},[_c('font-awesome-icon',{attrs:{\"icon\":\"building\"}})],1),_c('b-form-input',{staticClass:\"rounded-0\",attrs:{\"min\":\"0\",\"max\":\"50\",\"type\":\"number\",\"id\":\"floorNumberTxt\",\"placeholder\":\"Numéro d'étage\"},model:{value:(_vm.dossier.property.floorNumber),callback:function ($$v) {_vm.$set(_vm.dossier.property, \"floorNumber\", $$v)},expression:\"dossier.property.floorNumber\"}})],1)],1)],1),_c('b-col',{attrs:{\"md\":\"3\"}},[_c('b-form-group',{attrs:{\"label\":\"Nombre de fenêtres\",\"label-for\":\"numberOfWindowsTxt\"}},[_c('b-input-group',[_c('span',{staticClass:\"input-group-text rounded-0\"},[_c('font-awesome-icon',{attrs:{\"icon\":\"columns\"}})],1),_c('b-form-input',{attrs:{\"type\":\"number\",\"id\":\"numberOfWindowsTxt\",\"placeholder\":\"Nombre de fenêtres\"},model:{value:(_vm.dossier.property.numberOfWindows),callback:function ($$v) {_vm.$set(_vm.dossier.property, \"numberOfWindows\", $$v)},expression:\"dossier.property.numberOfWindows\"}})],1)],1)],1),_c('b-col',{attrs:{\"md\":\"3\"}},[_c('b-form-group',{attrs:{\"label\":\"Nombre de murs extérieurs\",\"label-for\":\"numberOfExternalFacingWallsTxt\"}},[_c('b-input-group',[_c('span',{staticClass:\"input-group-text rounded-0\"},[_c('font-awesome-icon',{attrs:{\"icon\":\"home\"}})],1),_c('b-form-input',{attrs:{\"type\":\"number\",\"id\":\"numberOfExternalFacingWallsTxt\",\"placeholder\":\"Nombre de murs extérieurs\"},model:{value:(_vm.dossier.property.numberOfExternalFacingWalls),callback:function ($$v) {_vm.$set(_vm.dossier.property, \"numberOfExternalFacingWalls\", $$v)},expression:\"dossier.property.numberOfExternalFacingWalls\"}})],1)],1)],1),_c('b-col',{attrs:{\"md\":\"3\"}},[_c('b-form-group',{attrs:{\"label\":\"Type de vitrage\",\"label-for\":\"glazingType\"}},[_c('b-input-group',[_c('span',{staticClass:\"input-group-text rounded-0\"},[_c('font-awesome-icon',{attrs:{\"icon\":\"clone\"}})],1),_c('b-form-select',{attrs:{\"options\":_vm.glazingTypesOptions,\"id\":\"glazingType\"},model:{value:(_vm.dossier.property.glazingType),callback:function ($$v) {_vm.$set(_vm.dossier.property, \"glazingType\", $$v)},expression:\"dossier.property.glazingType\"}})],1)],1)],1)],1)],1),_c('b-card',{staticClass:\"mb-4\",attrs:{\"border-variant\":\"light\"}},[_c('h4',{staticClass:\"text-muted\"},[_c('font-awesome-icon',{attrs:{\"icon\":\"bolt\"}})],1),_c('b-row',[_c('b-col',{attrs:{\"md\":\"3\"}},[_c('b-form-group',{attrs:{\"label\":\"Type de chauffage\",\"label-for\":\"heatingType\"}},[_c('b-input-group',[_c('span',{staticClass:\"input-group-text rounded-0\"},[_c('font-awesome-icon',{attrs:{\"icon\":\"fire\"}})],1),_c('b-form-select',{attrs:{\"options\":_vm.heatingTypesOptions,\"id\":\"heatingType\"},model:{value:(_vm.dossier.property.heatingType),callback:function ($$v) {_vm.$set(_vm.dossier.property, \"heatingType\", $$v)},expression:\"dossier.property.heatingType\"}})],1)],1)],1),_c('b-col',{attrs:{\"md\":\"3\"}},[_c('b-form-group',{attrs:{\"label\":\"Type d'énergie de l'eau chaude\",\"label-for\":\"hotWaterGenerationType\"}},[_c('b-input-group',[_c('span',{staticClass:\"input-group-text rounded-0\"},[_c('font-awesome-icon',{attrs:{\"icon\":\"tint\"}})],1),_c('b-form-select',{attrs:{\"options\":_vm.hotWaterGenerationTypesOptions,\"id\":\"hotWaterGenerationType\"},model:{value:(_vm.dossier.property.hotWaterGenerationType),callback:function ($$v) {_vm.$set(_vm.dossier.property, \"hotWaterGenerationType\", $$v)},expression:\"dossier.property.hotWaterGenerationType\"}})],1)],1)],1),_c('b-col',{attrs:{\"md\":\"3\"}},[_c('b-form-group',{attrs:{\"label\":\"Isolation thermique\",\"label-for\":\"isolationRenovationPeriod\"}},[_c('b-input-group',[_c('span',{staticClass:\"input-group-text rounded-0\"},[_c('font-awesome-icon',{attrs:{\"icon\":\"thermometer-half\"}})],1),_c('b-form-select',{attrs:{\"options\":_vm.isolationRenovationPeriodOptions,\"id\":\"isolationRenovationPeriod\"},model:{value:(_vm.dossier.property.isolationRenovationPeriod),callback:function ($$v) {_vm.$set(_vm.dossier.property, \"isolationRenovationPeriod\", $$v)},expression:\"dossier.property.isolationRenovationPeriod\"}})],1)],1)],1),_c('b-col',{attrs:{\"md\":\"3\"}},[_c('b-form-group',{attrs:{\"label\":\"Type de flux d'air\",\"label-for\":\"airflowType\"}},[_c('b-input-group',[_c('span',{staticClass:\"input-group-text rounded-0\"},[_c('font-awesome-icon',{attrs:{\"icon\":\"wind\"}})],1),_c('b-form-select',{attrs:{\"options\":_vm.airFlowTypesOptions,\"id\":\"airflowType\"},model:{value:(_vm.dossier.property.airflowType),callback:function ($$v) {_vm.$set(_vm.dossier.property, \"airflowType\", $$v)},expression:\"dossier.property.airflowType\"}})],1)],1)],1)],1)],1),_c('b-row',[_c('b-col',{attrs:{\"cols\":\"12\"}},[_c('b-button',{staticClass:\"w-100\",attrs:{\"variant\":\"dark\"},on:{\"click\":_vm.onClickGetEstimation}},[_vm._v(\" Valider \")])],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export class PropertyDossier {\r\n buildingYear: number;\r\n livingArea: number;\r\n landArea?: number; // Optional property (nullable in C#)\r\n floorNumber: number;\r\n numberOfWindows: number;\r\n heatingType: string;\r\n hotWaterGenerationType: string;\r\n numberOfExternalFacingWalls: number;\r\n isolationRenovationPeriod: string;\r\n glazingType: string;\r\n airflowType: string;\r\n\r\n constructor() {\r\n this.buildingYear = 0;\r\n this.livingArea = 0;\r\n this.landArea = undefined;\r\n this.floorNumber = 0;\r\n this.numberOfWindows = 0;\r\n this.heatingType = '';\r\n this.hotWaterGenerationType = '';\r\n this.numberOfExternalFacingWalls = 0;\r\n this.isolationRenovationPeriod = '';\r\n this.glazingType = '';\r\n this.airflowType = '';\r\n }\r\n}\r\n","import { DonneesEstimationImmobiliereUpdateInputDto } from '@/shared/dtos/donnees-estimation-immobiliere-update-input.dto';\r\nimport { PropertyDossier } from './property.model';\r\n\r\nexport class DossierPriceHubble {\r\n id: string;\r\n title: string;\r\n property: PropertyDossier;\r\n dealType: string;\r\n selectedOffers: string[];\r\n selectedTransactions: string[];\r\n countryCode: string;\r\n\r\n constructor() {\r\n this.id = '';\r\n this.title = '';\r\n this.property = new PropertyDossier();\r\n this.dealType = undefined;\r\n this.selectedOffers = [];\r\n this.selectedTransactions = [];\r\n this.countryCode = '';\r\n }\r\n}\r\n","import { Dpe } from '../models/dpe.model';\r\n\r\nexport const DpeEnum: { [key: string]: Dpe } = {\r\n A: {\r\n id: 2059001,\r\n minusLabel: 'a',\r\n label: 'A',\r\n kWhLabel: '<= 70',\r\n CO2Label: '<= 6',\r\n color: '#006644',\r\n },\r\n B: {\r\n id: 2059002,\r\n minusLabel: 'b',\r\n label: 'B',\r\n kWhLabel: '71 à 110',\r\n CO2Label: '7 à 11',\r\n color: '#4eb353',\r\n },\r\n C: {\r\n id: 2059003,\r\n minusLabel: 'c',\r\n label: 'C',\r\n kWhLabel: '111 à 180',\r\n CO2Label: '12 à 30',\r\n color: '#a5cd75',\r\n },\r\n D: {\r\n id: 2059004,\r\n minusLabel: 'd',\r\n label: 'D',\r\n kWhLabel: '181 à 250',\r\n CO2Label: '31 à 50',\r\n color: '#f2e814',\r\n },\r\n E: {\r\n id: 2059005,\r\n minusLabel: 'e',\r\n label: 'E',\r\n kWhLabel: '251 à 330',\r\n CO2Label: '51 à 70',\r\n color: '#f0b511',\r\n },\r\n F: {\r\n id: 2059006,\r\n minusLabel: 'f',\r\n label: 'F',\r\n kWhLabel: '331 à 420',\r\n CO2Label: '71 à 100',\r\n color: '#ec8432',\r\n },\r\n G: {\r\n id: 2059007,\r\n minusLabel: 'g',\r\n label: 'G',\r\n kWhLabel: '>= 421',\r\n CO2Label: '>= 101',\r\n color: '#af1b19',\r\n },\r\n};\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { EstimationDpeInput } from '@/shared/dtos/estimation-dpe.dto';\r\nimport { PriceHubbleDto } from '@/shared/dtos/price-hubble.dto';\r\nimport { Component, Inject, Mixins, Prop, Vue } from 'vue-property-decorator';\r\nimport { DossierPriceHubble } from '@/shared/models/dossier/dossier-pricehubble.model';\r\nimport { EstimationDpeResponse } from '@/shared/dtos/estimation-dpe-response.dto';\r\nimport store from '@/shared/store';\r\nimport { Dpe } from '@/shared/models/dpe.model';\r\nimport { DpeEnum } from '@/shared/constants/tableDPE.const';\r\n\r\n@Component({\r\n name: 'rapport-expertise-estimation-dpe',\r\n components: {},\r\n})\r\nexport default class RapportExpertiseEstimationDPE extends Vue {\r\n @Prop() public rapportId: number;\r\n @Prop() public title?: string;\r\n dossier: DossierPriceHubble = new DossierPriceHubble();\r\n estimation: Dpe = null;\r\n\r\n airFlowTypesOptions: { [key: string]: string } = null;\r\n glazingTypesOptions: { [key: string]: string } = null;\r\n hotWaterTypesOptions: { [key: string]: string } = null;\r\n heatingTypesOptions: { [key: string]: string } = null;\r\n hotWaterGenerationTypesOptions: { [key: string]: string } = null;\r\n isolationRenovationPeriodOptions: { [key: string]: string } = null;\r\n\r\n //#region LIFE CYCLES\r\n\r\n public async mounted() {\r\n store.isLoading = true;\r\n await this.loadDossier();\r\n await this.loadReferentiel();\r\n store.isLoading = false;\r\n }\r\n\r\n //#endregion\r\n //#region COMPUTED\r\n\r\n //#endregion\r\n //#region WATCH\r\n //#endregion\r\n //#region EVENTS\r\n\r\n async onClickGetEstimation() {\r\n store.isLoading = true;\r\n await this.GetEstimation();\r\n this.$emit('estimationDPE', this.estimation);\r\n store.isLoading = false;\r\n this.$bvModal.hide('modal-estimation-dpe');\r\n }\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n private async loadDossier() {\r\n await Vue.prototype.$donneesEstimationImmobiliereApiService\r\n .getDossierByRapportId(this.rapportId)\r\n .then(async (dossier: DossierPriceHubble) => {\r\n this.dossier = dossier;\r\n })\r\n .catch(async (error: any) => {\r\n Vue.prototype.$notificationService.error(`Une erreur est survenue lors de la récupération du dossier.`);\r\n await Vue.prototype.$logStoreService.error(`Dossier - ERROR`, error, 'Dossier');\r\n });\r\n }\r\n\r\n private async loadReferentiel() {\r\n await Vue.prototype.$referentielService\r\n .getReferentielDpe()\r\n .then(async (refs: Array<{ [key: string]: string }>) => {\r\n this.glazingTypesOptions = refs[0];\r\n this.hotWaterTypesOptions = refs[1];\r\n this.heatingTypesOptions = refs[2];\r\n this.hotWaterGenerationTypesOptions = refs[3];\r\n this.isolationRenovationPeriodOptions = refs[4];\r\n this.airFlowTypesOptions = refs[5];\r\n })\r\n .catch(async (error: any) => {\r\n Vue.prototype.$notificationService.error(`Une erreur est survenue lors de la récupération du dossier.`);\r\n await Vue.prototype.$logStoreService.error(`Estimation DPE - ERROR`, error, 'Referentiel');\r\n });\r\n }\r\n\r\n private async GetEstimation() {\r\n await Vue.prototype.$donneesEstimationImmobiliereApiService\r\n .getEstimation(this.dossier.id, this.dossier.property)\r\n .then(async (estimation: EstimationDpeResponse) => {\r\n this.estimation = Object.values(DpeEnum).find((f) => f.minusLabel == estimation.energyLabel.value);\r\n })\r\n .catch(async (error: any) => {\r\n Vue.prototype.$notificationService.error(\r\n `Une erreur est survenue lors de l'estimation du DPE. Assurez vous que l'adresse, le type du bien ainsi que le titre de l'annonce soit correctement complétés.`\r\n );\r\n await Vue.prototype.$logStoreService.error(`Estimation - ERROR`, error, 'Estimation');\r\n });\r\n }\r\n\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./rapport-expertise-estimation-dpe.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./rapport-expertise-estimation-dpe.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./rapport-expertise-estimation-dpe.vue?vue&type=template&id=dda993b6&\"\nimport script from \"./rapport-expertise-estimation-dpe.vue?vue&type=script&lang=ts&\"\nexport * from \"./rapport-expertise-estimation-dpe.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.summary)?_c('div',[_c('svg',{attrs:{\"width\":\"60\",\"height\":\"30\",\"xmlns\":\"http://www.w3.org/2000/svg\"},on:{\"click\":function($event){return _vm.onSelectDpeClick()}}},[_c('polygon',{attrs:{\"points\":\"0,0 40,0 50,15 40,30 0,30\",\"fill\":_vm.value.color}}),_c('text',{attrs:{\"x\":\"8\",\"y\":\"20\",\"font-family\":\"Arial\",\"font-size\":\"15\",\"font-weight\":\"700\",\"fill\":\"white\"}},[_vm._v(_vm._s(_vm.value.label))])])]):_c('div',{class:['dpe-component-list-item dpe-' + _vm.value.minusLabel, _vm.value.CO2Label, { active: _vm.showDetail }]},[_c('b-button',{attrs:{\"variant\":\"none\"},on:{\"click\":function($event){return _vm.onSelectDpeClick()}}},[_c('p',{staticClass:\"label\"},[_vm._v(\" \"+_vm._s(_vm.value.label)+\" \")])]),_c('div',{staticClass:\"dpe-component-list-item-hover\"},[_c('p',{staticClass:\"kwh\"},[_c('span',[_vm._v(\" \"+_vm._s(_vm.value.kWhLabel)+\" \")]),_c('span',[_vm._v(\" KWh/m².an \")])]),_c('p',{staticClass:\"co2\"},[_c('span',[_vm._v(_vm._s(_vm.value.CO2Label))]),_c('span',[_vm._v(\" CO₂/m².an\")])])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Inject, Mixins } from 'vue-property-decorator';\r\nimport { BTable, BTooltip } from 'bootstrap-vue';\r\nimport DeviceMixin from '@/mixins/device.mixin';\r\nimport ChoicePopup from '@/shared/components/choice-popup.vue';\r\nimport { AnnexeStatutEnum } from '@/shared/enums/annexe-statut.enum';\r\nimport { BusinessEntryEnum } from '@/shared/enums/business-entry.enum';\r\nimport { mixins } from 'vue-class-component';\r\nimport { Vue, Component, Prop, Watch } from 'vue-property-decorator';\r\nimport { PrestationExpertiseVersionHistoryDto } from '@/shared/dtos/prestation-expertise/prestation-expertise-version-history.dto';\r\nimport RapportExpertiseEstimationDPE from '@/shared/components/rapport-expertise/rapport-expertise-estimation-dpe.vue';\r\nimport Radios from '../radios.vue';\r\nimport { EstimationDpeResponse } from '@/shared/dtos/estimation-dpe-response.dto';\r\nimport { DpeEnum } from '../constants/tableDPE.const';\r\nimport { Dpe } from '../models/dpe.model';\r\n\r\n@Component({\r\n name: 'etiquette-dpe',\r\n components: {},\r\n})\r\nexport default class EtiquetteDpe extends mixins(DeviceMixin) {\r\n @Prop() public value: Dpe;\r\n @Prop() public showDetail: boolean;\r\n @Prop() public summary: boolean;\r\n\r\n //#region LIFE CYCLES\r\n\r\n //#endregion\r\n\r\n //#region COMPUTED\r\n public static getDPE(label: string): Dpe {\r\n return Object.values(DpeEnum).find((f) => f.label == label.toUpperCase());\r\n }\r\n\r\n //#endregion\r\n\r\n //#region WATCH\r\n //#endregion\r\n //#region EVENTS\r\n\r\n public onSelectDpeClick() {\r\n this.$emit('dpeSelected', this.value);\r\n }\r\n\r\n //#endregion\r\n //#region FUNCTIONS\r\n\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./etiquette-dpe.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./etiquette-dpe.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./etiquette-dpe.vue?vue&type=template&id=5bbbefdd&scoped=true&\"\nimport script from \"./etiquette-dpe.vue?vue&type=script&lang=ts&\"\nexport * from \"./etiquette-dpe.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./etiquette-dpe.vue?vue&type=style&index=0&id=5bbbefdd&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 \"5bbbefdd\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Inject, Mixins } from 'vue-property-decorator';\r\nimport { BTable, BTooltip } from 'bootstrap-vue';\r\nimport DeviceMixin from '@/mixins/device.mixin';\r\nimport ChoicePopup from '@/shared/components/choice-popup.vue';\r\nimport { AnnexeStatutEnum } from '@/shared/enums/annexe-statut.enum';\r\nimport { BusinessEntryEnum } from '@/shared/enums/business-entry.enum';\r\nimport { mixins } from 'vue-class-component';\r\nimport { Vue, Component, Prop, Watch } from 'vue-property-decorator';\r\nimport { PrestationExpertiseVersionHistoryDto } from '@/shared/dtos/prestation-expertise/prestation-expertise-version-history.dto';\r\nimport RapportExpertiseEstimationDPE from '@/shared/components/rapport-expertise/rapport-expertise-estimation-dpe.vue';\r\nimport Radios from '../radios.vue';\r\nimport { EstimationDpeResponse } from '@/shared/dtos/estimation-dpe-response.dto';\r\nimport EtiquetteDpe from '../etiquette-dpe.vue';\r\nimport { Dpe } from '@/shared/models/dpe.model';\r\nimport { DpeEnum } from '@/shared/constants/tableDPE.const';\r\nimport { RapportExpertiseDto } from '@/shared/dtos/rapport-expertise.dto';\r\n\r\n@Component({\r\n name: 'RapportExpertiseDpe',\r\n components: {\r\n 'rapport-expertise-estimation-dpe': RapportExpertiseEstimationDPE,\r\n Radios,\r\n EtiquetteDpe,\r\n },\r\n})\r\nexport default class RapportExpertiseDpe extends mixins(DeviceMixin) {\r\n @Prop() public rapport: RapportExpertiseDto;\r\n @Prop() public caracteristiquesDPEs: any;\r\n @Prop() public annexesStatuts: any;\r\n @Prop() public state: any;\r\n\r\n public annexeStatutId?: number = null;\r\n public refDpe: Dpe[] = Object.values(DpeEnum);\r\n public annexeStatutObject: { [key: string]: number } = Object.values(AnnexeStatutEnum).reduce((acc, key) => {\r\n acc[key] = AnnexeStatutEnum[key as keyof typeof AnnexeStatutEnum];\r\n return acc;\r\n }, {} as { [key: string]: number });\r\n\r\n //#region LIFE CYCLES\r\n\r\n public beforeMount(): void {\r\n this.initDPE();\r\n }\r\n\r\n //#endregion\r\n\r\n //#region COMPUTED\r\n\r\n get isObtenu() {\r\n return this.annexeStatutId == AnnexeStatutEnum.Obtenu;\r\n }\r\n\r\n get isNonObtenu() {\r\n return this.annexeStatutId == AnnexeStatutEnum.NonObtenu;\r\n }\r\n\r\n get caracteristiqueDpeSelected() {\r\n return this.caracteristiquesDPEs.find((x: any) => x.id === this.rapport.caracteristiquesDPEId);\r\n }\r\n\r\n //#endregion\r\n\r\n //#region WATCH\r\n @Watch('annexeStatutId')\r\n public annexeStatutIdChanged(annexeStatut: number) {\r\n this.$emit('AnnexeDpeEmit', annexeStatut);\r\n this.annexeStatutId = annexeStatut;\r\n }\r\n\r\n //#endregion\r\n //#region EVENTS\r\n // input => obtenu/non obtenu\r\n public onSelectDpe(dpe: Dpe) {\r\n this.rapport.caracteristiquesDPEId = dpe.id;\r\n this.$emit('AnnexeDpeEmit', this.annexeStatutId);\r\n this.$emit('input', dpe.id);\r\n Vue.prototype.$donneesEstimationImmobiliereApiService.updateDpe(dpe.minusLabel, this.rapport.id);\r\n }\r\n\r\n public onReceiveEstimation(dpe: Dpe) {\r\n this.rapport.caracteristiquesDPEId = dpe.id;\r\n this.$emit('AnnexeDpeEmit', this.annexeStatutId);\r\n this.$emit('input', dpe.id);\r\n }\r\n\r\n public onDeleteDpeData() {\r\n this.rapport.caracteristiquesDPEId = null;\r\n\r\n this.annexeStatutId = AnnexeStatutEnum.NonObtenu;\r\n this.$emit('AnnexeDpeEmit', AnnexeStatutEnum.NonObtenu);\r\n this.$emit('input', null);\r\n Vue.prototype.$missionApiService.deleteAllScenarioRenovationByRapportId(this.rapport.id);\r\n }\r\n\r\n //#endregion\r\n //#region FUNCTIONS\r\n\r\n private initDPE(): void {\r\n const annexeDPE = this.rapport.annexeEnvironnements.find((x: any) => x.businessEntrySelectedId === BusinessEntryEnum.DPE);\r\n if (annexeDPE) this.annexeStatutId = annexeDPE.businessEntryQualificationId;\r\n }\r\n\r\n public getDPE(id: number): any {\r\n return this.refDpe.find((x: any) => x.id == id);\r\n }\r\n\r\n public isRapportVersionGreaterOrEqualsTo(version: number): boolean {\r\n return this.rapport.version && this.rapport.version >= version;\r\n }\r\n\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./rapport-expertise-dpe.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./rapport-expertise-dpe.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./rapport-expertise-dpe.vue?vue&type=template&id=42ade5ff&scoped=true&\"\nimport script from \"./rapport-expertise-dpe.vue?vue&type=script&lang=ts&\"\nexport * from \"./rapport-expertise-dpe.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./rapport-expertise-dpe.vue?vue&type=style&index=0&id=42ade5ff&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 \"42ade5ff\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Vue, Component, Mixins, Watch } from 'vue-property-decorator';\r\nimport RapportExpertiseSectionMixin from '@/mixins/rapport-expertise-section.mixin';\r\n\r\nimport VisaDisplay from '@/shared/components/visa-display.vue';\r\nimport RapportExpertiseFileUploader from '@/shared/components/rapport-expertise/rapport-expertise-file-uploader.vue';\r\nimport RadioBoolean from '@/shared/components/radio-boolean.vue';\r\nimport ChoicePopup from '@/shared/components/choice-popup.vue';\r\nimport RapportExpertiseDpe from '@/shared/components/rapport-expertise/rapport-expertise-dpe.vue';\r\nimport { DonneesEstimationImmobiliereUpdateInputDto } from '@/shared/dtos/donnees-estimation-immobiliere-update-input.dto';\r\nimport { isNullOrEmpty } from '@/shared/utilities/string.utility';\r\nimport { BusinessEntryEnum } from '@/shared/enums/business-entry.enum';\r\nimport { EventBus } from '@/main';\r\n\r\n@Component({\r\n name: 'PrestationExpertiseRapportDescriptionParticuliereBatiment',\r\n components: {\r\n VisaDisplay,\r\n RapportExpertiseFileUploader,\r\n RadioBoolean,\r\n ChoicePopup,\r\n RapportExpertiseDpe,\r\n },\r\n})\r\nexport default class PrestationExpertiseRapportDescriptionParticuliereBatiment extends Mixins(RapportExpertiseSectionMixin) {\r\n public yearRange: any = {};\r\n public defaultTextDropDownYearRange = \"Sélectionnez une plage d'années\";\r\n public textDropDownYearRange = this.defaultTextDropDownYearRange;\r\n\r\n //#region LIFE CYCLES\r\n async mounted(): Promise {\r\n await this.loadReferentielDate();\r\n if (this.rapport.isAnneeConstructionEstimation)\r\n this.textDropDownYearRange = this.yearRange[this.rapport.caracteristiquesAnneeConstruction];\r\n }\r\n //#endregion\r\n\r\n //#region COMPUTED\r\n //#endregion\r\n\r\n //#region WATCH\r\n @Watch('typeDeBien')\r\n public typeDeBienChanged(newVal: any): void {\r\n if (this.isTypeDeBienAppartement) {\r\n this.rapport.caracteristiqueAssainissementId = null;\r\n this.rapport.caracteristiquesMitoyennete = null;\r\n this.rapport.caracteristiquesMitoyenneteCoteId = null;\r\n }\r\n\r\n // on clean les équipements & agréments non-valides au changement de type de bien\r\n for (let i = 0; i < this.rapport.prestationsEquipements.length; i++) {\r\n let equipement = this.businessEntries.prestationsEquipements.filter(\r\n (e: any) => e.id == this.rapport.prestationsEquipements[i].businessEntrySelectedId\r\n )[0];\r\n\r\n if (equipement.categorieActifType != 0 && equipement.categorieActifType != newVal) this.rapport.prestationsEquipements.splice(i--, 1);\r\n }\r\n\r\n for (let j = 0; j < this.rapport.prestationsAgrements.length; j++) {\r\n let agrement = this.businessEntries.prestationsAgrements.filter(\r\n (e: any) => e.id == this.rapport.prestationsAgrements[j].businessEntrySelectedId\r\n )[0];\r\n\r\n if (agrement.categorieActifType != 0 && agrement.categorieActifType != newVal) this.rapport.prestationsAgrements.splice(j--, 1);\r\n }\r\n }\r\n\r\n @Watch('rapport.caracteristiquesMitoyennete')\r\n public caracteristiquesMitoyenneteChanged(value: boolean): void {\r\n if (value === false) this.rapport.caracteristiquesMitoyenneteCoteId = null;\r\n }\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n public async onCaracteristiquesAnneeConstructionChange(value: number) {\r\n if (this.isMobile || isNullOrEmpty(value)) return;\r\n\r\n this.textDropDownYearRange = this.defaultTextDropDownYearRange;\r\n this.rapport.isAnneeConstructionEstimation = false;\r\n this.rapport.caracteristiquesAnneeConstruction = value;\r\n\r\n var input = new DonneesEstimationImmobiliereUpdateInputDto();\r\n input.buildingYear = value;\r\n input.isAnneeConstructionEstimation = true;\r\n await Vue.prototype.$rapportExpertiseApiService.updateDonneesEstimationImmobiliere(this.rapport.id, input);\r\n }\r\n\r\n public async onCaracteristiquesAnneeConstructionClick() {\r\n this.textDropDownYearRange = this.defaultTextDropDownYearRange;\r\n this.rapport.isAnneeConstructionEstimation = false;\r\n this.rapport.caracteristiquesAnneeConstruction = null;\r\n }\r\n\r\n //value = obtenu/non obtenu\r\n public async onAnnexeDpeEmit(value: any): Promise {\r\n await Vue.prototype.$missionApiService.deleteAllScenarioRenovationByRapportId(this.mission.prestationExpertise.id);\r\n const annexeDPE = this.rapport.annexeEnvironnements.find((x: any) => x.businessEntrySelectedId === BusinessEntryEnum.DPE);\r\n if (annexeDPE) annexeDPE.businessEntryQualificationId = value;\r\n\r\n EventBus.$emit('GetScenarioRenovationEmit', this.rapport.caracteristiquesDPEId);\r\n }\r\n\r\n public async selectRange(value: string, yearApproximate: number) {\r\n if (this.isMobile || isNullOrEmpty(value)) return;\r\n\r\n this.textDropDownYearRange = value;\r\n this.rapport.isAnneeConstructionEstimation = true;\r\n this.rapport.caracteristiquesAnneeConstruction = yearApproximate;\r\n\r\n var input = new DonneesEstimationImmobiliereUpdateInputDto();\r\n input.buildingYear = yearApproximate;\r\n input.isAnneeConstructionEstimation = true;\r\n await Vue.prototype.$rapportExpertiseApiService.updateDonneesEstimationImmobiliere(this.rapport.id, input);\r\n }\r\n\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n\r\n private async loadReferentielDate() {\r\n await Vue.prototype.$referentielService\r\n .getAnneeConstruction()\r\n .then(async (refs: { [key: number]: string }) => {\r\n this.yearRange = refs;\r\n })\r\n .catch(async (error: any) => {\r\n Vue.prototype.$notificationService.error(`Une erreur est survenue lors de la récupération des périodes de construction.`);\r\n await Vue.prototype.$logStoreService.error(`Referentiel - ERROR`, error, 'Périodes de construction');\r\n });\r\n }\r\n\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-description-particuliere-batiment.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-description-particuliere-batiment.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./prestation-expertise-rapport-description-particuliere-batiment.vue?vue&type=template&id=19270864&\"\nimport script from \"./prestation-expertise-rapport-description-particuliere-batiment.vue?vue&type=script&lang=ts&\"\nexport * from \"./prestation-expertise-rapport-description-particuliere-batiment.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"prestation-expertise-rapport-description-particuliere-prestations-component\"},[(_vm.isContratTypeVisiteExterieur)?_c('div',[_vm._v(\"Non disponible car mission en visite extérieure uniquement\")]):_vm._e(),(_vm.isContratTypeVisiteInterieurEtExterieur || _vm.isContratTypeVisiteSurPieces)?_c('div',[_c('choice-popup',{attrs:{\"list\":_vm.businessEntries.prestationsSols,\"rapportId\":_vm.rapport.id,\"version\":_vm.rapport.version,\"state\":!_vm.validation.mission.prestationExpertise.prestationsSols.$anyError,\"title\":\"Sols\",\"dropdown\":true,\"id\":\"Sols\"},model:{value:(_vm.rapport.prestationsSols),callback:function ($$v) {_vm.$set(_vm.rapport, \"prestationsSols\", $$v)},expression:\"rapport.prestationsSols\"}}),_c('choice-popup',{attrs:{\"list\":_vm.businessEntries.prestationsMurs,\"rapportId\":_vm.rapport.id,\"version\":_vm.rapport.version,\"state\":!_vm.validation.mission.prestationExpertise.prestationsMurs.$anyError,\"title\":\"Murs\",\"dropdown\":true,\"id\":\"Murs\"},model:{value:(_vm.rapport.prestationsMurs),callback:function ($$v) {_vm.$set(_vm.rapport, \"prestationsMurs\", $$v)},expression:\"rapport.prestationsMurs\"}}),(_vm.isRapportVersionGreaterOrEqualsTo(3.3))?_c('choice-popup',{attrs:{\"list\":_vm.businessEntries.prestationsPlafonds,\"rapportId\":_vm.rapport.id,\"version\":_vm.rapport.version,\"state\":!_vm.validation.mission.prestationExpertise.prestationsPlafonds.$anyError,\"title\":\"Plafonds\",\"dropdown\":true,\"id\":\"Plafonds\"},model:{value:(_vm.rapport.prestationsPlafonds),callback:function ($$v) {_vm.$set(_vm.rapport, \"prestationsPlafonds\", $$v)},expression:\"rapport.prestationsPlafonds\"}}):_vm._e(),(_vm.isRapportVersionGreaterOrEqualsTo(3.3))?_c('choice-popup',{attrs:{\"list\":_vm.businessEntries.etatsInstallationElectrique,\"state\":!_vm.validation.mission.prestationExpertise.prestationsInstallationElectriqueId.$error,\"version\":_vm.rapport.version,\"title\":\"Installation électrique\",\"id\":\"InstallationElectrique\"},model:{value:(_vm.rapport.prestationsInstallationElectriqueId),callback:function ($$v) {_vm.$set(_vm.rapport, \"prestationsInstallationElectriqueId\", $$v)},expression:\"rapport.prestationsInstallationElectriqueId\"}}):_vm._e(),(_vm.isRapportVersionGreaterOrEqualsTo(3.3))?[_c('choice-popup',{attrs:{\"list\":_vm.businessEntries.etatsIsolation,\"version\":_vm.rapport.version,\"state\":!_vm.validation.mission.prestationExpertise.prestationsIsolationId.$error,\"title\":\"Isolation\",\"id\":\"Isolation\"},model:{value:(_vm.rapport.prestationsIsolationId),callback:function ($$v) {_vm.$set(_vm.rapport, \"prestationsIsolationId\", $$v)},expression:\"rapport.prestationsIsolationId\"}}),_c('div',{staticClass:\"toast-container\"},[_c('b-link',{staticClass:\"mb-2\",on:{\"click\":function($event){$event.preventDefault();return _vm.$bvToast.show('voir-echelle')},\"mouseover\":function($event){return _vm.$bvToast.show('voir-echelle')}}},[_vm._v(\"Voir l'échelle\")]),_c('b-toast',{attrs:{\"id\":\"voir-echelle\",\"title\":\"Niveaux d'Isolation des Bâtiments\",\"static\":\"\",\"auto-hide-delay\":\"5000\",\"no-close-button\":\"\"}},[_c('ul',{staticClass:\"mt-1\"},[_c('li',[_c('strong',[_vm._v(\"Inexistante :\")]),_vm._v(\" Aucune mesure d'isolation visible ou identifiable. Les composants structurels n'indiquent pas la présence d'isolation (fenêtres à simple vitrage, absence de volets isolants, etc.). \")]),_c('li',[_c('strong',[_vm._v(\"Insuffisante :\")]),_vm._v(\" Présence d'éléments d'isolation de base, comme des doubles vitrages anciens ou une isolation minimale perceptible sans caractéristiques modernes d'efficacité énergétique. \")]),_c('li',[_c('strong',[_vm._v(\"Correcte :\")]),_vm._v(\" Signes d'une isolation conforme aux pratiques courantes, telles que des doubles vitrages de bonne qualité, des portes et fenêtres avec des joints en bon état. \")]),_c('li',[_c('strong',[_vm._v(\"Améliorée :\")]),_vm._v(\" Observations suggérant une isolation au-dessus du standard moyen, incluant des améliorations telles que des systèmes de fenêtres à haute performance. \")]),_c('li',[_c('strong',[_vm._v(\"Optimale :\")]),_vm._v(\" Preuves visuelles d'une isolation de très haute qualité et de technologies d'efficacité énergétique avancées, comme le triple vitrage et des systèmes de ventilation avec récupération de chaleur. \")])])])],1)]:_vm._e(),_c('radio-boolean',{attrs:{\"state\":!_vm.validation.mission.prestationExpertise.prestationAvecChauffage.$error,\"title\":\"Chauffage\"},model:{value:(_vm.rapport.prestationAvecChauffage),callback:function ($$v) {_vm.$set(_vm.rapport, \"prestationAvecChauffage\", $$v)},expression:\"rapport.prestationAvecChauffage\"}}),(_vm.rapport.prestationAvecChauffage)?_c('choice-popup',{attrs:{\"list\":_vm.prestationsModesChauffages,\"version\":_vm.rapport.version,\"rapportId\":_vm.rapport.id,\"state\":!_vm.validation.mission.prestationExpertise.prestationsModesChauffages.$anyError,\"title\":\"Mode de chauffage\",\"dropdown\":true,\"id\":\"ModeDeChauffage\"},model:{value:(_vm.rapport.prestationsModesChauffages),callback:function ($$v) {_vm.$set(_vm.rapport, \"prestationsModesChauffages\", $$v)},expression:\"rapport.prestationsModesChauffages\"}}):_vm._e(),_c('choice-popup',{attrs:{\"list\":_vm.equipements,\"version\":_vm.rapport.version,\"rapportId\":_vm.rapport.id,\"state\":!_vm.validation.mission.prestationExpertise.prestationsEquipements.$error,\"title\":\"Equipements valorisants\",\"id\":\"EquipementsValorisants\",\"multiple\":true},model:{value:(_vm.rapport.prestationsEquipements),callback:function ($$v) {_vm.$set(_vm.rapport, \"prestationsEquipements\", $$v)},expression:\"rapport.prestationsEquipements\"}}),_c('choice-popup',{attrs:{\"list\":_vm.agrements,\"version\":_vm.rapport.version,\"rapportId\":_vm.rapport.id,\"state\":!_vm.validation.mission.prestationExpertise.prestationsAgrements.$error,\"title\":\"Agréments\",\"id\":\"Agrements\",\"multiple\":true},model:{value:(_vm.rapport.prestationsAgrements),callback:function ($$v) {_vm.$set(_vm.rapport, \"prestationsAgrements\", $$v)},expression:\"rapport.prestationsAgrements\"}}),(_vm.isTypeDeBienAppartement)?_c('choice-popup',{attrs:{\"list\":_vm.businessEntries.etats,\"version\":_vm.rapport.version,\"state\":!_vm.validation.mission.prestationExpertise.prestationsPartiesCommunesId.$error,\"title\":\"Parties communes\",\"id\":\"PartiesCommunes\"},model:{value:(_vm.rapport.prestationsPartiesCommunesId),callback:function ($$v) {_vm.$set(_vm.rapport, \"prestationsPartiesCommunesId\", $$v)},expression:\"rapport.prestationsPartiesCommunesId\"}}):_vm._e(),_c('h3',[_vm._v(\"Cuisines\")]),_c('b-container',{staticClass:\"mx-0\",class:{ invalid: _vm.validation.mission.prestationExpertise.prestationsCuisines.$anyError }},[_vm._l((_vm.rapport.prestationsCuisines),function(cuisine,index){return _c('div',{key:'cuisine' + index},[_c('exp-cuisine',{attrs:{\"rapportId\":_vm.rapport.id,\"index\":index,\"piecesJointes\":_vm.rapport.piecesJointesRapport,\"businessEntries\":_vm.businessEntries,\"societeSettings\":_vm.societeSettings,\"validation\":_vm.validation.mission.prestationExpertise.prestationsCuisines.$each[index]},model:{value:(_vm.rapport.prestationsCuisines[index]),callback:function ($$v) {_vm.$set(_vm.rapport.prestationsCuisines, index, $$v)},expression:\"rapport.prestationsCuisines[index]\"}})],1)}),_c('b-button',{attrs:{\"variant\":\"link\"},on:{\"click\":_vm.onAddCuisineClick}},[_c('font-awesome-icon',{attrs:{\"icon\":\"plus-circle\"}}),_vm._v(\" Ajouter une cuisine \")],1)],2),_c('h3',[_vm._v(\"Salles de bains / Salles d'eau\")]),_c('b-container',{staticClass:\"mx-0\",class:{ invalid: _vm.validation.mission.prestationExpertise.prestationsSallesDeBains.$anyError }},[_vm._l((_vm.rapport.prestationsSallesDeBains),function(salleDeBain,index){return _c('div',{key:'sdb' + index},[_c('exp-salle-de-bain',{attrs:{\"rapportId\":_vm.rapport.id,\"index\":index,\"piecesJointes\":_vm.rapport.piecesJointesRapport,\"businessEntries\":_vm.businessEntries,\"societeSettings\":_vm.societeSettings,\"validation\":_vm.validation.mission.prestationExpertise.prestationsSallesDeBains.$each[index]},model:{value:(_vm.rapport.prestationsSallesDeBains[index]),callback:function ($$v) {_vm.$set(_vm.rapport.prestationsSallesDeBains, index, $$v)},expression:\"rapport.prestationsSallesDeBains[index]\"}})],1)}),_c('b-button',{attrs:{\"variant\":\"link\"},on:{\"click\":_vm.onAddSalleDeBainClick}},[_c('font-awesome-icon',{attrs:{\"icon\":\"plus-circle\"}}),_vm._v(\" Ajouter une salle de bains \")],1),_c('b-button',{attrs:{\"variant\":\"link\"},on:{\"click\":_vm.onAddSalleDEauClick}},[_c('font-awesome-icon',{attrs:{\"icon\":\"plus-circle\"}}),_vm._v(\" Ajouter une salle d'eau \")],1)],2)],2):_vm._e()])}\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:\"cuisine\"},[_c('b-row',{staticClass:\"row-title\"},[_c('b-col',[(_vm.isEditing)?_c('b-form-input',{ref:\"inputNewLabel\",attrs:{\"type\":\"text\",\"state\":!_vm.$v.newLabel.$invalid},on:{\"keyup\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.onUpdate($event)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.onCancel($event)}]},model:{value:(_vm.newLabel),callback:function ($$v) {_vm.newLabel=$$v},expression:\"newLabel\"}}):_vm._e(),(!_vm.isEditing)?_c('span',[_vm._v(_vm._s(_vm.cuisine.label))]):_vm._e(),_c('b-button-group',{staticClass:\"pl-2\",attrs:{\"size\":\"sm\"}},[(!_vm.isEditing)?_c('b-button',{attrs:{\"variant\":\"outline-dark\"},on:{\"click\":_vm.onEditClick}},[_c('font-awesome-icon',{attrs:{\"icon\":\"pencil-alt\",\"fixed-width\":\"\"}})],1):_vm._e(),(_vm.isEditing)?_c('b-button',{attrs:{\"variant\":\"outline-success\",\"disabled\":_vm.$v.newLabel.$invalid},on:{\"click\":_vm.onUpdateClick}},[_c('font-awesome-icon',{attrs:{\"icon\":\"check\",\"fixed-width\":\"\"}})],1):_vm._e(),(_vm.isEditing)?_c('b-button',{attrs:{\"variant\":\"outline-danger\"},on:{\"click\":_vm.onCancelClick}},[_c('font-awesome-icon',{attrs:{\"icon\":\"ban\",\"fixed-width\":\"\"}})],1):_vm._e()],1)],1),_c('b-col',{attrs:{\"cols\":\"auto\"}},[_c('b-button',{attrs:{\"variant\":\"outline-dark\"},on:{\"click\":function($event){return _vm.onDeleteCuisineClick(_vm.index)}}},[_c('font-awesome-icon',{attrs:{\"icon\":\"trash\"}})],1)],1)],1),_c('b-row',[_c('b-col',{attrs:{\"cols\":\"auto\"}},[_c('rapport-expertise-file-uploader',{attrs:{\"id\":'fileuploader-cuisine-' + _vm.index,\"type\":\"Cuisine\",\"piecesJointes\":_vm.piecesJointes,\"workingById\":\"true\",\"pieceJointeId\":_vm.cuisine.photoId,\"showLabel\":false,\"multiple\":false,\"animate\":false,\"state\":!_vm.validation.photoId.$error},on:{\"uploadedFileId\":_vm.onUploadedFileId}})],1),_c('b-col',[_c('b-row',[_c('b-col',{class:{ invalid: _vm.validation.styleId.$error || _vm.validation.gammeId.$error },attrs:{\"cols\":\"12\"}},[_c('h3',[_vm._v(\"Style / Gamme\")])]),_c('b-col',{attrs:{\"cols\":\"auto\"}},[_c('radios',{attrs:{\"list\":_vm.businessEntries.prestationsCuisinesStyles,\"state\":!_vm.validation.styleId.$error},model:{value:(_vm.cuisine.styleId),callback:function ($$v) {_vm.$set(_vm.cuisine, \"styleId\", $$v)},expression:\"cuisine.styleId\"}})],1),_c('b-col',[(_vm.cuisine.styleId)?_c('radios',{attrs:{\"list\":_vm.gammes,\"state\":!_vm.validation.gammeId.$error},model:{value:(_vm.cuisine.gammeId),callback:function ($$v) {_vm.$set(_vm.cuisine, \"gammeId\", $$v)},expression:\"cuisine.gammeId\"}}):_vm._e()],1)],1),_c('radios',{attrs:{\"list\":_vm.businessEntries.prestationsCuisinesEquipements,\"state\":!_vm.validation.equipementId.$error,\"title\":\"Equipement\"},model:{value:(_vm.cuisine.equipementId),callback:function ($$v) {_vm.$set(_vm.cuisine, \"equipementId\", $$v)},expression:\"cuisine.equipementId\"}}),_c('radios',{attrs:{\"list\":_vm.businessEntries.etats,\"state\":!_vm.validation.etatId.$error,\"title\":\"Etat\"},model:{value:(_vm.cuisine.etatId),callback:function ($$v) {_vm.$set(_vm.cuisine, \"etatId\", $$v)},expression:\"cuisine.etatId\"}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Inject, Prop, Vue, Watch } from 'vue-property-decorator';\r\n\r\nimport RapportExpertiseFileUploader from '@/shared/components/rapport-expertise/rapport-expertise-file-uploader.vue';\r\nimport Radios from '@/shared/components/radios.vue';\r\nimport { required } from 'vuelidate/lib/validators';\r\nimport { PrestationCuisineDto } from '@/shared/dtos/prestation-cuisine.dto';\r\n\r\n@Component({\r\n name: 'ExpCuisine',\r\n components: { RapportExpertiseFileUploader, Radios },\r\n validations: {\r\n newLabel: { required },\r\n },\r\n})\r\nexport default class ExpCuisine extends Vue {\r\n @Inject('onDeleteCuisineClick') public onDeleteCuisineClick: any;\r\n\r\n @Prop() public value: PrestationCuisineDto;\r\n @Prop() public index: number;\r\n @Prop() public piecesJointes: any;\r\n @Prop() public businessEntries: any;\r\n @Prop() public validation: any;\r\n\r\n public isEditing: boolean = false;\r\n public newLabel: string = null;\r\n\r\n //#region LIFE CYCLES\r\n\r\n //#endregion\r\n\r\n //#region COMPUTED\r\n\r\n get cuisine() {\r\n return this.value;\r\n }\r\n\r\n get gammes() {\r\n return this.businessEntries.prestationsCuisinesGammes.filter((g: any) => g.parentId == this.value.styleId);\r\n }\r\n\r\n //#endregion\r\n\r\n //#region WATCH\r\n\r\n @Watch('value.styleId')\r\n public styleIdChanged(): void {\r\n this.value.gammeId = null;\r\n }\r\n\r\n @Watch('piecesJointes.cuisine')\r\n public cuisineChanged(newValue: any): void {\r\n if (!newValue.some((pj: any) => pj.id == this.value.photoId)) this.value.photoId = null; // gère le cas où on supprime la photo uniquement\r\n }\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n onEditClick() {\r\n this.isEditing = true;\r\n this.newLabel = this.value.label;\r\n this.$nextTick(() => {\r\n let el = (this.$refs.inputNewLabel as any).$el;\r\n el.focus();\r\n el.setSelectionRange(el.value.length, el.value.length);\r\n });\r\n }\r\n\r\n onUpdateClick() {\r\n if (this.$v.newLabel.$invalid) return;\r\n this.isEditing = false;\r\n this.value.label = this.newLabel;\r\n }\r\n\r\n onCancelClick() {\r\n this.isEditing = false;\r\n }\r\n\r\n onUploadedFileId(id: number) {\r\n if (id != null && id !== 0) this.value.photoId = id;\r\n }\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n\r\n //#endregion\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./exp-cuisine.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./exp-cuisine.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./exp-cuisine.vue?vue&type=template&id=97844146&scoped=true&\"\nimport script from \"./exp-cuisine.vue?vue&type=script&lang=ts&\"\nexport * from \"./exp-cuisine.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./exp-cuisine.vue?vue&type=style&index=0&id=97844146&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 \"97844146\",\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:\"salle-de-bain\"},[_c('b-row',{staticClass:\"row-title\"},[_c('b-col',[(_vm.isEditing)?_c('b-form-input',{ref:\"inputNewLabel\",attrs:{\"type\":\"text\",\"state\":!_vm.$v.newLabel.$invalid},on:{\"keyup\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.onUpdateClick($event)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.onCancelClick($event)}]},model:{value:(_vm.newLabel),callback:function ($$v) {_vm.newLabel=$$v},expression:\"newLabel\"}}):_vm._e(),(!_vm.isEditing)?_c('span',[_vm._v(_vm._s(_vm.salleDeBain.label))]):_vm._e(),_c('b-button-group',{staticClass:\"pl-2\",attrs:{\"size\":\"sm\"}},[(!_vm.isEditing)?_c('b-button',{attrs:{\"variant\":\"outline-dark\"},on:{\"click\":_vm.onEditClick}},[_c('font-awesome-icon',{attrs:{\"icon\":\"pencil-alt\",\"fixed-width\":\"\"}})],1):_vm._e(),(_vm.isEditing)?_c('b-button',{attrs:{\"variant\":\"outline-success\",\"disabled\":_vm.$v.newLabel.$invalid},on:{\"click\":_vm.onUpdateClick}},[_c('font-awesome-icon',{attrs:{\"icon\":\"check\",\"fixed-width\":\"\"}})],1):_vm._e(),(_vm.isEditing)?_c('b-button',{attrs:{\"variant\":\"outline-danger\"},on:{\"click\":_vm.onCancelClick}},[_c('font-awesome-icon',{attrs:{\"icon\":\"ban\",\"fixed-width\":\"\"}})],1):_vm._e()],1)],1),_c('b-col',{attrs:{\"cols\":\"auto\"}},[_c('b-button',{attrs:{\"variant\":\"outline-dark\"},on:{\"click\":function($event){return _vm.onDeleteSalleDeBainClick(_vm.index)}}},[_c('font-awesome-icon',{attrs:{\"icon\":\"trash\"}})],1)],1)],1),_c('b-row',[_c('b-col',{attrs:{\"cols\":\"auto\"}},[_c('rapport-expertise-file-uploader',{attrs:{\"id\":'fileuploader-salle-de-bain-' + _vm.index,\"type\":\"SalleDeBain\",\"piecesJointes\":_vm.piecesJointes,\"workingById\":\"true\",\"pieceJointeId\":_vm.value.photoId,\"showLabel\":false,\"multiple\":false,\"animate\":false,\"state\":!_vm.validation.photoId.$error},on:{\"uploadedFileId\":_vm.onUploadedFileId}})],1),_c('b-col',[_c('radios',{attrs:{\"list\":_vm.businessEntries.prestationsSallesDeBainsGammes,\"state\":!_vm.validation.gammeId.$error,\"title\":\"Gamme\"},model:{value:(_vm.salleDeBain.gammeId),callback:function ($$v) {_vm.$set(_vm.salleDeBain, \"gammeId\", $$v)},expression:\"salleDeBain.gammeId\"}}),_c('radios',{attrs:{\"list\":_vm.businessEntries.etats,\"state\":!_vm.validation.etatId.$error,\"title\":\"Etat\"},model:{value:(_vm.salleDeBain.etatId),callback:function ($$v) {_vm.$set(_vm.salleDeBain, \"etatId\", $$v)},expression:\"salleDeBain.etatId\"}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Inject, Prop, Vue, Watch } from 'vue-property-decorator';\r\n\r\nimport RapportExpertiseFileUploader from '@/shared/components/rapport-expertise/rapport-expertise-file-uploader.vue';\r\nimport Radios from '@/shared/components/radios.vue';\r\nimport { required } from 'vuelidate/lib/validators';\r\nimport { PrestationSalleDeBainDto } from '@/shared/dtos/prestation-salle-de-bain.dto';\r\n\r\n@Component({\r\n name: 'ExpSalleDeBain',\r\n validations: {\r\n newLabel: { required },\r\n },\r\n components: { RapportExpertiseFileUploader, Radios },\r\n})\r\nexport default class ExpSalleDeBain extends Vue {\r\n @Inject('onDeleteSalleDeBainClick') public onDeleteSalleDeBainClick: any;\r\n\r\n @Prop() public value: PrestationSalleDeBainDto;\r\n @Prop() public index: number;\r\n @Prop() public piecesJointes: any;\r\n @Prop() public businessEntries: any;\r\n @Prop() public validation: any;\r\n\r\n public isEditing: boolean = false;\r\n public newLabel: string = null;\r\n\r\n //#region LIFE CYCLES\r\n\r\n //#endregion\r\n\r\n //#region COMPUTED\r\n\r\n get rapport() {\r\n return this.value;\r\n }\r\n\r\n get salleDeBain() {\r\n return this.value;\r\n }\r\n\r\n //#endregion\r\n\r\n //#region WATCH\r\n\r\n @Watch('piecesJointes.salleDeBain')\r\n public salleDeBainChanged(newValue: any) {\r\n if (!newValue.some((pj: any) => pj.id == this.value.photoId)) this.value.photoId = null; // gère le cas où on supprime la photo uniquement\r\n }\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n public onEditClick(): void {\r\n this.isEditing = true;\r\n this.newLabel = this.value.label;\r\n this.$nextTick(() => {\r\n let el = (this.$refs.inputNewLabel as any).$el;\r\n el.focus();\r\n el.setSelectionRange(el.value.length, el.value.length);\r\n });\r\n }\r\n public onUpdateClick(): void {\r\n if (this.$v.newLabel.$invalid) return;\r\n this.isEditing = false;\r\n this.value.label = this.newLabel;\r\n }\r\n\r\n public onCancelClick(): void {\r\n this.isEditing = false;\r\n }\r\n\r\n public onUploadedFileId(id: number) {\r\n if (id != null && id !== 0) this.value.photoId = id;\r\n }\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n\r\n //#endregion\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./exp-salle-de-bain.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./exp-salle-de-bain.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./exp-salle-de-bain.vue?vue&type=template&id=02afdc02&scoped=true&\"\nimport script from \"./exp-salle-de-bain.vue?vue&type=script&lang=ts&\"\nexport * from \"./exp-salle-de-bain.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./exp-salle-de-bain.vue?vue&type=style&index=0&id=02afdc02&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 \"02afdc02\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Inject, Mixins, Provide, Watch } from 'vue-property-decorator';\r\nimport RapportExpertiseSectionMixin from '@/mixins/rapport-expertise-section.mixin';\r\n\r\nimport RadioBoolean from '@/shared/components/radio-boolean.vue';\r\nimport ChoicePopup from '@/shared/components/choice-popup.vue';\r\nimport ExpCuisine from '@/components/exp-cuisine.vue';\r\nimport ExpSalleDeBain from '@/components/exp-salle-de-bain.vue';\r\nimport {\r\n isContratTypeVisiteInterieurEtExterieur,\r\n isContratTypeVisiteExterieur,\r\n isContratTypeVisiteSurPieces,\r\n} from '@/helpers/rapport-expertise.helper';\r\nimport { RapportExpertiseBusinessEntryQualifiableDto } from '@/shared/dtos/rapport-expertise-business-entry-qualifiable.dto';\r\n\r\n@Component({\r\n name: 'PrestationExpertiseRapportDescriptionParticulierePrestations',\r\n components: {\r\n RadioBoolean,\r\n ChoicePopup,\r\n ExpCuisine,\r\n ExpSalleDeBain,\r\n },\r\n})\r\nexport default class PrestationExpertiseRapportDescriptionParticulierePrestations extends Mixins(RapportExpertiseSectionMixin) {\r\n @Inject('deletePieceJointeByIdAndType') public deletePieceJointeByIdAndType: any;\r\n @Inject('confirmDelete') public confirmDelete: any;\r\n\r\n @Provide('onDeleteCuisineClick') public deleteCuisineProvide: any = this.onDeleteCuisineClick;\r\n @Provide('onDeleteSalleDeBainClick') public deleteSalleDeBainProvide: any = this.onDeleteSalleDeBainClick;\r\n\r\n //#region LIFE CYCLES\r\n //#endregion\r\n\r\n //#region COMPUTED\r\n\r\n get prestationsModesChauffages(): RapportExpertiseBusinessEntryQualifiableDto[] {\r\n return this.businessEntries.prestationsModesChauffages;\r\n }\r\n\r\n get equipements(): any {\r\n return this.businessEntries.prestationsEquipements.filter(\r\n (e: any) => e.categorieActifType === 0 || e.categorieActifType === this.typeDeBien\r\n );\r\n }\r\n\r\n get agrements(): any {\r\n return this.businessEntries.prestationsAgrements.filter(\r\n (e: any) => e.categorieActifType === 0 || e.categorieActifType === this.typeDeBien\r\n );\r\n }\r\n\r\n get isContratTypeVisiteInterieurEtExterieur(): boolean {\r\n return isContratTypeVisiteInterieurEtExterieur(this.rapport.contratTypeVisiteId);\r\n }\r\n\r\n get isContratTypeVisiteExterieur(): boolean {\r\n return isContratTypeVisiteExterieur(this.rapport.contratTypeVisiteId);\r\n }\r\n\r\n get isContratTypeVisiteSurPieces(): boolean {\r\n return isContratTypeVisiteSurPieces(this.rapport.contratTypeVisiteId);\r\n }\r\n\r\n //#endregion\r\n\r\n //#region WATCH\r\n @Watch('rapport.prestationAvecChauffage')\r\n public prestationAvecChauffageChanged(value: boolean) {\r\n if (value === false) this.rapport.prestationsModesChauffages = [];\r\n }\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n public onAddCuisineClick(): void {\r\n this.rapport.prestationsCuisines.push({\r\n id: 0,\r\n label: 'Cuisine',\r\n photoId: null,\r\n styleId: null,\r\n gammeId: null,\r\n equipementId: null,\r\n rapportExpertiseId: +this.rapport.id,\r\n });\r\n }\r\n\r\n public onDeleteCuisineClick(index: number): any {\r\n let cuisine = this.rapport.prestationsCuisines[index];\r\n let msg = cuisine.photoId != null ? ' et sa photo associée' : '';\r\n\r\n return this.confirmDelete(`cette cuisine${msg}`).then(() => {\r\n this.rapport.prestationsCuisines.splice(index, 1);\r\n if (cuisine.photoId != null) {\r\n this.deletePieceJointeByIdAndType(cuisine.photoId, 'Cuisine');\r\n }\r\n });\r\n }\r\n\r\n public onAddSalleDeBainClick(): void {\r\n this.rapport.prestationsSallesDeBains.push({\r\n id: 0,\r\n label: 'Salle de bains',\r\n photoId: null,\r\n gammeId: null,\r\n etatId: null,\r\n rapportExpertiseId: +this.rapport.id,\r\n });\r\n }\r\n\r\n public onAddSalleDEauClick(): void {\r\n this.rapport.prestationsSallesDeBains.push({\r\n id: 0,\r\n label: \"Salle d'eau\",\r\n photoId: null,\r\n gammeId: null,\r\n etatId: null,\r\n rapportExpertiseId: +this.rapport.id,\r\n });\r\n }\r\n\r\n public onDeleteSalleDeBainClick(index: number): any {\r\n let sdb = this.rapport.prestationsSallesDeBains[index];\r\n let msg = sdb.photoId != null ? ' et sa photo associée' : '';\r\n\r\n return this.confirmDelete(`cette salle de bains / d'eau${msg}`).then(() => {\r\n this.rapport.prestationsSallesDeBains.splice(index, 1);\r\n if (sdb.photoId != null) {\r\n this.deletePieceJointeByIdAndType(sdb.photoId, 'SalleDeBain');\r\n }\r\n });\r\n }\r\n\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-description-particuliere-prestations.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-description-particuliere-prestations.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./prestation-expertise-rapport-description-particuliere-prestations.vue?vue&type=template&id=3abce61a&\"\nimport script from \"./prestation-expertise-rapport-description-particuliere-prestations.vue?vue&type=script&lang=ts&\"\nexport * from \"./prestation-expertise-rapport-description-particuliere-prestations.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./prestation-expertise-rapport-description-particuliere-prestations.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"prestation-expertise-rapport-description-particuliere-surface-component\"},[(_vm.isContratTypeVisiteInterieurEtExterieur || _vm.isContratTypeVisiteSurPieces)?_c('rapport-expertise-file-uploader',{attrs:{\"id\":\"fileuploader-surface\",\"type\":\"SectionSurface\",\"piecesJointes\":_vm.rapport.piecesJointesRapport,\"state\":!_vm.validation.mission.prestationExpertise.piecesJointesRapport.SectionSurface.$error,\"title\":\"Photos des surfaces\"}}):_vm._e(),_c('distribution-interieure',{attrs:{\"businessEntries\":_vm.businessEntries,\"societeSettings\":_vm.societeSettings,\"surfacesChanged\":_vm.updateSurfaceTotaleHabitable,\"validation\":_vm.validation},model:{value:(_vm.mission),callback:function ($$v) {_vm.mission=$$v},expression:\"mission\"}}),_c('choice-popup',{attrs:{\"list\":_vm.businessEntries.particuliereSourceDesSurfacesTypes,\"version\":_vm.rapport.version,\"state\":!_vm.validation.mission.prestationExpertise.particuliereSourceDesSurfacesId.$error,\"title\":\"Source des surfaces\",\"id\":\"SourceDesSurfaces\"},model:{value:(_vm.rapport.particuliereSourceDesSurfacesId),callback:function ($$v) {_vm.$set(_vm.rapport, \"particuliereSourceDesSurfacesId\", $$v)},expression:\"rapport.particuliereSourceDesSurfacesId\"}}),_c('numeric-nullable',{attrs:{\"placeholder\":\"ex: 250,00\",\"state\":!_vm.validation.mission.prestationExpertise.particuliereSurfaceTotaleHabitable.$error,\"currency\":\"m²\",\"read-only\":!_vm.isSourceDesSurfacesActeNotarie,\"read-only-class\":\"form-control text-right disabled\",\"title\":\"Surface totale habitable\"},on:{\"change\":_vm.onParticuliereSurfaceTotaleHabitableChange},model:{value:(_vm.rapport.particuliereSurfaceTotaleHabitable),callback:function ($$v) {_vm.$set(_vm.rapport, \"particuliereSurfaceTotaleHabitable\", $$v)},expression:\"rapport.particuliereSurfaceTotaleHabitable\"}}),_c('b-form-text',[_vm._v(\"La surface totale habitable est utilisée pour le calcul des valeurs.\")]),_c('h3',[_vm._v(\"Surfaces annexes\")]),_c('exp-surface',{attrs:{\"surfaces\":_vm.rapport.prestationsSurfaceAnnexes,\"referenceDataSurfaceTypes\":_vm.businessEntries.prestationsSurfaceAnnexeTypes,\"surfaceTypeIsAutre\":_vm.isPrestationsSurfaceAnnexeTypeAutre,\"validation\":_vm.validation.mission.prestationExpertise.prestationsSurfaceAnnexes}}),_c('h3',[_vm._v(\"Dépendances\")]),_c('exp-surface',{attrs:{\"surfaces\":_vm.rapport.prestationsDependances,\"referenceDataSurfaceTypes\":_vm.businessEntries.prestationsDependancesTypes,\"surfaceTypeIsAutre\":_vm.isPrestationsDependanceTypeAutre,\"validation\":_vm.validation.mission.prestationExpertise.prestationsDependances}}),(\n _vm.isRapport && _vm.isRapportVersionGreaterOrEqualsTo(3.0) && (_vm.isContratTypeVisiteInterieurEtExterieur || _vm.isContratTypeVisiteSurPieces)\n )?_c('b-form-group',{class:{ invalid: _vm.validation.mission.prestationExpertise.prestationsDescription.$error },attrs:{\"state\":!_vm.validation.mission.prestationExpertise.prestationsDescription.$error,\"label\":\"Description\"}},[_c('b-form-textarea',{attrs:{\"type\":\"text\",\"state\":!_vm.validation.mission.prestationExpertise.prestationsDescription.$error,\"rows\":8,\"placeholder\":\"Description complémentaire du bien\"},model:{value:(_vm.rapport.prestationsDescription),callback:function ($$v) {_vm.$set(_vm.rapport, \"prestationsDescription\", $$v)},expression:\"rapport.prestationsDescription\"}})],1):_vm._e(),(_vm.isMobile)?_c('prestation-expertise-rapport-description-particuliere-avis-expert',{attrs:{\"validation\":_vm.validation},model:{value:(_vm.mission),callback:function ($$v) {_vm.mission=$$v},expression:\"mission\"}}):_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('b-container',{staticClass:\"px-0 ml-0\",class:{ invalid: _vm.validation.mission.prestationExpertise.distributionInterieureEtages.$anyError }},[_c('h4',[_vm._v(\"Surfaces\")]),_c('ul',[_vm._l((_vm.rapport.distributionInterieureEtages),function(etage,index){return _c('li',{key:index},[_c('distribution-interieure-etage',{attrs:{\"etage\":_vm.rapport.distributionInterieureEtages[index],\"businessEntries\":_vm.businessEntries,\"societeSettings\":_vm.societeSettings,\"deleteEtage\":function () { return _vm.deleteEtage(index); },\"surfacesChanged\":_vm.surfacesChanged,\"validation\":_vm.validation.mission.prestationExpertise.distributionInterieureEtages.$each[index]}})],1)}),_c('li',[_c('b-dropdown',{attrs:{\"variant\":\"light\"}},[_c('template',{slot:\"button-content\"},[_c('font-awesome-icon',{attrs:{\"icon\":\"plus-circle\"}}),_c('span',{staticClass:\"px-2\"},[_vm._v(\"Ajouter un niveau\")])],1),_vm._l((_vm.businessEntries.distributionInterieureEtageTypes),function(type){return _c('b-dropdown-item',{key:type.id,on:{\"click\":function($event){return _vm.onEtageTypeClicked(type)}}},[_vm._v(_vm._s(type.displayText))])})],2)],1)],2)])}\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:\"mb-5\"},[_c('table-surfaces',{attrs:{\"surfaces\":_vm.etage.distributionInterieureSurfaces,\"referenceDataSurfaceTypes\":_vm.businessEntries.distributionInterieureSurfaceTypes,\"surfaceTypeIsAutre\":_vm.surfaceTypeIsAutre,\"surfacesChanged\":_vm.surfacesChanged,\"validation\":_vm.validation.distributionInterieureSurfaces}},[_c('template',{slot:\"table_HEAD_type\"},[_c('b-form-select',{staticClass:\"test\",attrs:{\"options\":_vm.businessEntries.distributionInterieureEtageTypes,\"text-field\":\"displayText\",\"value-field\":\"id\"},model:{value:(_vm.etage.typeBusinessItemId),callback:function ($$v) {_vm.$set(_vm.etage, \"typeBusinessItemId\", $$v)},expression:\"etage.typeBusinessItemId\"}})],1),(_vm.etageTypeIsAutre(_vm.etage))?_c('template',{slot:\"table_HEAD_customLabel\"},[_c('b-form-input',{attrs:{\"type\":\"text\",\"placeholder\":\"Veuillez préciser\",\"state\":!_vm.validation.customLabel.$error},on:{\"click\":function($event){$event.stopPropagation();},\"keydown\":function($event){$event.stopPropagation();}},model:{value:(_vm.etage.customLabel),callback:function ($$v) {_vm.$set(_vm.etage, \"customLabel\", $$v)},expression:\"etage.customLabel\"}})],1):_vm._e(),_c('template',{slot:\"table_HEAD_commentaire\"},[_c('b-btn',{staticClass:\"invisible\",attrs:{\"variant\":\"outline-dark\"}},[_c('font-awesome-icon',{attrs:{\"icon\":\"comment-alt\"}})],1)],1),_c('template',{slot:\"table_HEAD_action\"},[_c('b-input-group',[_c('b-btn',{attrs:{\"variant\":\"outline-dark\"},on:{\"click\":_vm.deleteEtage}},[_c('font-awesome-icon',{attrs:{\"icon\":\"trash\"}})],1)],1)],1)],2)],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:\"mb-5\"},[_c('b-table',{staticClass:\"surface-table\",attrs:{\"small\":\"\",\"responsive\":\"\",\"show-empty\":\"\",\"items\":_vm.surfaceTableItems,\"fields\":_vm.fields,\"thead-class\":\"etage-header\"},scopedSlots:_vm._u([{key:\"empty\",fn:function(){return [_c('div',{staticClass:\"div-surfaces-empty\",class:{ invalid: _vm.validation && _vm.validation.$anyError }},[_vm._v(\"Veuillez ajouter des surfaces\")])]},proxy:true},{key:\"head(type)\",fn:function(){return [_vm._t(\"table_HEAD_type\",[_vm._v(\"Type\")])]},proxy:true},{key:\"head(customLabel)\",fn:function(){return [_vm._t(\"table_HEAD_customLabel\",[_c('span')])]},proxy:true},{key:\"head(commentaire)\",fn:function(){return [_vm._t(\"table_HEAD_commentaire\",[_c('b-btn',{staticClass:\"invisible\",attrs:{\"variant\":\"outline-dark\"}},[_c('font-awesome-icon',{attrs:{\"icon\":\"comment-alt\"}})],1)])]},proxy:true},{key:\"head(superficie)\",fn:function(){return [_vm._t(\"table_HEAD_superficie\",[_vm._v(_vm._s(_vm.superficieTotale)+\" m²\")])]},proxy:true},{key:\"head(action)\",fn:function(){return [_vm._t(\"table_HEAD_action\",[_c('b-btn',{staticClass:\"invisible\",attrs:{\"variant\":\"outline-dark\"}},[_c('font-awesome-icon',{attrs:{\"icon\":\"trash\"}})],1)])]},proxy:true},{key:\"cell(type)\",fn:function(row){return [_c('b-form-select',{attrs:{\"options\":_vm.referenceDataSurfaceTypes,\"text-field\":\"displayText\",\"value-field\":\"id\"},on:{\"input\":function($event){return _vm.onItemChange(row.item)}},model:{value:(row.item.typeBusinessItemId),callback:function ($$v) {_vm.$set(row.item, \"typeBusinessItemId\", $$v)},expression:\"row.item.typeBusinessItemId\"}})]}},{key:\"cell(customLabel)\",fn:function(data){return [(_vm.surfaceTypeIsAutre(data.item))?_c('b-form-input',{attrs:{\"type\":\"text\",\"placeholder\":\"Veuillez préciser\",\"state\":!_vm.validation.$each[data.index].customLabel.$error},model:{value:(data.item.customLabel),callback:function ($$v) {_vm.$set(data.item, \"customLabel\", $$v)},expression:\"data.item.customLabel\"}}):_vm._e()]}},{key:\"cell(commentaire)\",fn:function(row){return [_c('b-btn',{class:row.detailsShowing ? 'invisible' : '',attrs:{\"variant\":\"outline-dark\"},on:{\"click\":function($event){return _vm.onShowDetailsClick(row.index)}}},[_c('font-awesome-icon',{attrs:{\"icon\":\"comment-alt\"}})],1)]}},{key:\"cell(superficie)\",fn:function(data){return [_c('numeric-nullable',{attrs:{\"currency\":\"m²\",\"state\":!_vm.validation.$each[data.index].superficie.$error},on:{\"change\":_vm.surfacesChanged},model:{value:(data.item.superficie),callback:function ($$v) {_vm.$set(data.item, \"superficie\", $$v)},expression:\"data.item.superficie\"}})]}},{key:\"cell(action)\",fn:function(data){return [_c('b-input-group',[_c('b-btn',{attrs:{\"variant\":\"outline-dark\"},on:{\"click\":function($event){return _vm.onDeleteSurfaceClick(data.index)}}},[_c('font-awesome-icon',{attrs:{\"icon\":\"trash\"}})],1)],1)]}},{key:\"row-details\",fn:function(data){return [_c('b-container',{staticClass:\"px-0\",attrs:{\"fluid\":\"\"}},[_c('b-row',{staticClass:\"no-gutters\"},[_c('b-col',{staticClass:\"col-comment-icon\",attrs:{\"cols\":\"auto\"}},[_c('font-awesome-icon',{attrs:{\"icon\":\"caret-right\"}})],1),_c('b-col',[_c('span',{staticClass:\"input-inner-append-group append-right\"},[_c('b-textarea',{attrs:{\"rows\":1,\"placeholder\":\"Commentaire\"},model:{value:(data.item.commentaire),callback:function ($$v) {_vm.$set(data.item, \"commentaire\", $$v)},expression:\"data.item.commentaire\"}}),_c('span',{staticClass:\"append\"},[_c('b-button-close',{on:{\"click\":function($event){return _vm.onDeleteCommentaireClick(data.index)}}})],1)],1)])],1)],1)]}}],null,true)}),_c('b-dropdown',{attrs:{\"variant\":\"outline-dark\"}},[_c('template',{slot:\"button-content\"},[_c('font-awesome-icon',{attrs:{\"icon\":\"plus-circle\"}}),_c('span',{staticClass:\"px-2\"},[_vm._v(\"Ajouter une surface\")])],1),_vm._l((_vm.referenceDataSurfaceTypes),function(type){return _c('b-dropdown-item',{key:type.id,on:{\"click\":function($event){return _vm.onSurfaceTypeClicked(type)}}},[_vm._v(_vm._s(type.displayText))])})],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\nimport NumericNullable from '@/shared/components/numeric-nullable.vue';\r\nimport { mixins } from 'vue-class-component';\r\nimport RapportExpertiseSectionMixin from '@/mixins/rapport-expertise-section.mixin';\r\n\r\n@Component({\r\n name: 'TableSurfaces',\r\n components: {\r\n NumericNullable,\r\n },\r\n})\r\nexport default class TableSurfaces extends mixins(RapportExpertiseSectionMixin) {\r\n @Prop() public referenceDataSurfaceTypes: any;\r\n @Prop() public surfaceTypeIsAutre: Function;\r\n @Prop() public surfaces: any;\r\n @Prop() public surfacesChanged: Function;\r\n\r\n public fields: any = [\r\n {\r\n key: 'type',\r\n class: 'table-column-type',\r\n },\r\n {\r\n key: 'customLabel',\r\n class: 'table-column-customLabel',\r\n },\r\n {\r\n key: 'commentaire',\r\n class: 'table-column-commentaire',\r\n },\r\n {\r\n key: 'superficie',\r\n class: 'table-column-superficie',\r\n thClass: 'table-head-superficie',\r\n },\r\n {\r\n key: 'action',\r\n class: 'table-column-action',\r\n },\r\n ];\r\n\r\n //#region LIFE CYCLES\r\n\r\n //#endregion\r\n\r\n //#region COMPUTED\r\n\r\n get superficieTotale() {\r\n return this.surfaces.reduce((sum: any, curr: any) => sum + curr.superficie, 0).toLocaleString('fr-FR', { minimumFractionDigits: 2 });\r\n }\r\n\r\n get surfaceTableItems() {\r\n return this.surfaces.map((s: any) => {\r\n if (s.commentaire && !s._showDetails)\r\n Object.assign(s, {\r\n _showDetails: true,\r\n });\r\n else if (s._showDetails == null)\r\n Object.assign(s, {\r\n _showDetails: false,\r\n });\r\n return s;\r\n });\r\n }\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n\r\n public onSurfaceTypeClicked(type: any): void {\r\n this.surfaces.push({\r\n typeBusinessItemId: type.id,\r\n customLabel: null,\r\n commentaire: null,\r\n superficie: null,\r\n });\r\n }\r\n\r\n public onDeleteSurfaceClick(index: number) {\r\n this.surfaces.splice(index, 1);\r\n this.surfacesChanged();\r\n }\r\n\r\n public onDeleteCommentaireClick(index: number) {\r\n this.surfaces[index].commentaire = null;\r\n this.onHideDetailsClick(index);\r\n }\r\n\r\n public onShowDetailsClick(index: number): void {\r\n this.surfaces[index]._showDetails = true;\r\n this.$forceUpdate(); // LT ajouté parce que b-table ne semble pas réagir et après moults essais, j'ai craqué\r\n }\r\n\r\n public onHideDetailsClick(index: number): void {\r\n this.surfaces[index]._showDetails = false;\r\n this.$forceUpdate();\r\n }\r\n\r\n public onItemChange(item: any): void {\r\n if (!this.surfaceTypeIsAutre(item)) {\r\n item.customLabel = null;\r\n }\r\n }\r\n\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./table-surfaces.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./table-surfaces.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./table-surfaces.vue?vue&type=template&id=8df1ab2e&scoped=true&\"\nimport script from \"./table-surfaces.vue?vue&type=script&lang=ts&\"\nexport * from \"./table-surfaces.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./table-surfaces.vue?vue&type=style&index=0&id=8df1ab2e&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 \"8df1ab2e\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\nimport TableSurfaces from '@/components/rapport-expertise/table-surfaces.vue';\r\nimport { isDistributionInterieureSurfaceTypeAutre, isDistributionInterieureEtageTypeAutre } from '@/helpers/rapport-expertise.helper';\r\nimport { mixins } from 'vue-class-component';\r\nimport RapportExpertiseSectionMixin from '@/mixins/rapport-expertise-section.mixin';\r\n\r\n@Component({\r\n name: 'DistributionInterieureEtage',\r\n components: {\r\n TableSurfaces,\r\n },\r\n})\r\nexport default class DistributionInterieureEtage extends mixins(RapportExpertiseSectionMixin) {\r\n @Prop() public etage: any;\r\n @Prop() public deleteEtage: Function;\r\n @Prop() public surfacesChanged: Function;\r\n\r\n //#region LIFE CYCLES\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n\r\n public surfaceTypeIsAutre(surface: any): boolean {\r\n return isDistributionInterieureSurfaceTypeAutre(surface);\r\n }\r\n public etageTypeIsAutre(etage: any): boolean {\r\n return isDistributionInterieureEtageTypeAutre(etage);\r\n }\r\n\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./distribution-interieur-etage.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./distribution-interieur-etage.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./distribution-interieur-etage.vue?vue&type=template&id=15ffde74&scoped=true&\"\nimport script from \"./distribution-interieur-etage.vue?vue&type=script&lang=ts&\"\nexport * from \"./distribution-interieur-etage.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./distribution-interieur-etage.vue?vue&type=style&index=0&id=15ffde74&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 \"15ffde74\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Inject, Prop } from 'vue-property-decorator';\r\nimport { mixins } from 'vue-class-component';\r\n\r\nimport DistributionInterieureEtage from '@/components/rapport-expertise/distribution-interieur-etage.vue';\r\nimport RapportExpertiseSectionMixin from '@/mixins/rapport-expertise-section.mixin';\r\n\r\n@Component({\r\n name: 'DistributionInterieure',\r\n components: {\r\n DistributionInterieureEtage,\r\n },\r\n})\r\nexport default class DistributionInterieure extends mixins(RapportExpertiseSectionMixin) {\r\n public fields: string[] = ['label', 'superficie', 'action'];\r\n\r\n @Prop() public surfacesChanged: Function;\r\n\r\n @Inject('confirmDelete') public confirmDelete: any;\r\n\r\n //#region LIFE CYCLES\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n public onEtageTypeClicked(type: any): void {\r\n this.rapport.distributionInterieureEtages.push({\r\n typeBusinessItemId: type.id,\r\n customLabel: null,\r\n distributionInterieureSurfaces: [],\r\n });\r\n }\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n\r\n public deleteEtage(index: any) {\r\n this.confirmDelete('ce niveau').then(() => {\r\n this.rapport.distributionInterieureEtages.splice(index, 1);\r\n this.surfacesChanged();\r\n });\r\n }\r\n\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./distribution-interieur.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./distribution-interieur.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./distribution-interieur.vue?vue&type=template&id=0f2ada94&scoped=true&\"\nimport script from \"./distribution-interieur.vue?vue&type=script&lang=ts&\"\nexport * from \"./distribution-interieur.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./distribution-interieur.vue?vue&type=style&index=0&id=0f2ada94&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 \"0f2ada94\",\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-container',{staticClass:\"px-0 ml-0 mb-5\"},[_c('table-surfaces',{attrs:{\"surfaces\":_vm.surfaces,\"referenceDataSurfaceTypes\":_vm.referenceDataSurfaceTypes,\"surfaceTypeIsAutre\":_vm.surfaceTypeIsAutre,\"surfacesChanged\":function () { return void 0; },\"validation\":_vm.validation}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop } from 'vue-property-decorator';\r\nimport { mixins } from 'vue-class-component';\r\nimport TableSurfaces from '@/components/rapport-expertise/table-surfaces.vue';\r\nimport RapportExpertiseSectionMixin from '@/mixins/rapport-expertise-section.mixin';\r\n\r\n@Component({\r\n name: 'ExpSurface',\r\n components: {\r\n TableSurfaces,\r\n },\r\n})\r\nexport default class ExpSurface extends mixins(RapportExpertiseSectionMixin) {\r\n @Prop() public referenceDataSurfaceTypes: any;\r\n @Prop() public surfaceTypeIsAutre: Function;\r\n @Prop() public surfaces: any;\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./exp-surface.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./exp-surface.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./exp-surface.vue?vue&type=template&id=fcd0e5d0&scoped=true&\"\nimport script from \"./exp-surface.vue?vue&type=script&lang=ts&\"\nexport * from \"./exp-surface.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"fcd0e5d0\",\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:\"prestation-expertise-rapport-description-particuliere-prestation-avis-expert-component\"},[_c('prestation-expertise-rapport-avis-expert',{attrs:{\"validationError\":_vm.validation.mission.prestationExpertise.prestationsAvisExpert.$error,\"placeHolder\":\"Quel est votre avis sur les prestations du bien ?\"},model:{value:(_vm.rapport.prestationsAvisExpert),callback:function ($$v) {_vm.$set(_vm.rapport, \"prestationsAvisExpert\", $$v)},expression:\"rapport.prestationsAvisExpert\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Mixins } from 'vue-property-decorator';\r\nimport RapportExpertiseSectionMixin from '@/mixins/rapport-expertise-section.mixin';\r\nimport PrestationExpertiseRapportAvisExpert from '@/shared/components/prestation-expertise/prestation-expertise-rapport-avis-expert.vue';\r\n\r\n@Component({\r\n name: 'PrestationExpertiseRapportDescriptionParticuliereAvisExpert',\r\n components: {\r\n PrestationExpertiseRapportAvisExpert,\r\n },\r\n})\r\nexport default class PrestationExpertiseRapportDescriptionParticuliereAvisExpert extends Mixins(RapportExpertiseSectionMixin) {\r\n //#region LIFE CYCLES\r\n //#endregion\r\n //#region COMPUTED\r\n //#endregion\r\n //#region WATCH\r\n //#endregion\r\n //#region EVENTS\r\n //#endregion\r\n //#region FUNCTIONS\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-description-particuliere-avis-expert.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-description-particuliere-avis-expert.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./prestation-expertise-rapport-description-particuliere-avis-expert.vue?vue&type=template&id=85aeeaea&\"\nimport script from \"./prestation-expertise-rapport-description-particuliere-avis-expert.vue?vue&type=script&lang=ts&\"\nexport * from \"./prestation-expertise-rapport-description-particuliere-avis-expert.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Vue, Component, Mixins, Watch } from 'vue-property-decorator';\r\nimport RapportExpertiseSectionMixin from '@/mixins/rapport-expertise-section.mixin';\r\n\r\nimport DistributionInterieure from '@/components/rapport-expertise/distribution-interieur.vue';\r\nimport ExpSurface from '@/components/rapport-expertise/exp-surface.vue';\r\nimport RapportExpertiseFileUploader from '@/shared/components/rapport-expertise/rapport-expertise-file-uploader.vue';\r\nimport NumericNullable from '@/shared/components/numeric-nullable.vue';\r\nimport ChoicePopup from '@/shared/components/choice-popup.vue';\r\n\r\nimport {\r\n isContratTypeVisiteInterieurEtExterieur,\r\n isContratTypeVisiteSurPieces,\r\n isPrestationsDependanceTypeAutre,\r\n isPrestationsSurfaceAnnexeTypeAutre,\r\n isSourceDesSurfacesActeNotarie,\r\n} from '@/helpers/rapport-expertise.helper';\r\nimport { DonneesEstimationImmobiliereUpdateInputDto } from '@/shared/dtos/donnees-estimation-immobiliere-update-input.dto';\r\nimport { isNullOrEmpty } from '@/shared/utilities/string.utility';\r\nimport PrestationExpertiseRapportDescriptionParticuliereAvisExpert from './prestation-expertise-rapport-description-particuliere-avis-expert.vue';\r\n\r\n@Component({\r\n name: 'PrestationExpertiseRapportDescriptionParticuliereSurface',\r\n components: {\r\n DistributionInterieure,\r\n ExpSurface,\r\n RapportExpertiseFileUploader,\r\n NumericNullable,\r\n ChoicePopup,\r\n PrestationExpertiseRapportDescriptionParticuliereAvisExpert,\r\n },\r\n})\r\nexport default class PrestationExpertiseRapportDescriptionParticuliereSurface extends Mixins(RapportExpertiseSectionMixin) {\r\n //#region LIFE CYCLES\r\n\r\n //#endregion\r\n\r\n //#region COMPUTED\r\n get isContratTypeVisiteInterieurEtExterieur(): boolean {\r\n return isContratTypeVisiteInterieurEtExterieur(this.rapport.contratTypeVisiteId);\r\n }\r\n\r\n get isContratTypeVisiteSurPieces(): boolean {\r\n return isContratTypeVisiteSurPieces(this.rapport.contratTypeVisiteId);\r\n }\r\n\r\n get isSourceDesSurfacesActeNotarie(): boolean {\r\n return isSourceDesSurfacesActeNotarie(this.rapport.particuliereSourceDesSurfacesId);\r\n }\r\n\r\n //#endregion\r\n\r\n //#region WATCH\r\n @Watch('rapport.particuliereSourceDesSurfacesId')\r\n public particuliereSourceDesSurfacesIdChanged(): void {\r\n this.updateSurfaceTotaleHabitable();\r\n }\r\n\r\n @Watch('rapport.particuliereSurfaceTotaleHabitable')\r\n public particuliereSurfaceTotaleHabitableChanged(value: any): void {\r\n if (!this.isTypeDeBienTerrain) {\r\n this.rapport.evaluationSurfaceOuSuperficie = value;\r\n }\r\n }\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n public async onParticuliereSurfaceTotaleHabitableChange(value: any) {\r\n if (this.isMobile || isNullOrEmpty(value) || value === 0) return;\r\n var input = new DonneesEstimationImmobiliereUpdateInputDto();\r\n input.livingArea = value;\r\n await Vue.prototype.$rapportExpertiseApiService.updateDonneesEstimationImmobiliere(this.rapport.id, input);\r\n }\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n public isPrestationsSurfaceAnnexeTypeAutre(prestationsSurface: any): boolean {\r\n return isPrestationsSurfaceAnnexeTypeAutre(prestationsSurface);\r\n }\r\n\r\n public isPrestationsDependanceTypeAutre(prestationsDependance: any): boolean {\r\n return isPrestationsDependanceTypeAutre(prestationsDependance);\r\n }\r\n\r\n public async updateSurfaceTotaleHabitable(): Promise {\r\n if (!this.isSourceDesSurfacesActeNotarie) {\r\n let surfaceTotale = 0;\r\n this.rapport.distributionInterieureEtages.forEach((etage: any) => {\r\n etage.distributionInterieureSurfaces.forEach((surface: any) => {\r\n surfaceTotale = surfaceTotale + surface.superficie;\r\n });\r\n });\r\n\r\n this.rapport.particuliereSurfaceTotaleHabitable = surfaceTotale;\r\n await this.onParticuliereSurfaceTotaleHabitableChange(this.rapport.particuliereSurfaceTotaleHabitable);\r\n }\r\n }\r\n\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-description-particuliere-surface.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-description-particuliere-surface.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./prestation-expertise-rapport-description-particuliere-surface.vue?vue&type=template&id=1d3a7a7b&\"\nimport script from \"./prestation-expertise-rapport-description-particuliere-surface.vue?vue&type=script&lang=ts&\"\nexport * from \"./prestation-expertise-rapport-description-particuliere-surface.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"prestation-expertise-rapport-description-particuliere-controle-component\"},[_c('visa-note',{attrs:{\"visa\":_vm.rapport.notes[_vm.getRapportExpertiseNoteSectionEnumName(_vm.rapportExpertiseNoteSectionEnum.DescriptionParticuliere)],\"section\":\"Description particulière\",\"isReadonly\":_vm.isNoteReadOnly}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Mixins } from 'vue-property-decorator';\r\n\r\nimport RapportExpertiseSectionMixin from '@/mixins/rapport-expertise-section.mixin';\r\n\r\nimport VisaNote from '@/shared/components/visa-note.vue';\r\n\r\n@Component({\r\n name: 'PrestationExpertiseRapportDescriptionParticuliereControle',\r\n components: {\r\n VisaNote,\r\n },\r\n})\r\nexport default class PrestationExpertiseRapportDescriptionParticuliereControle extends Mixins(RapportExpertiseSectionMixin) {\r\n //#region LIFE CYCLES\r\n //#endregion\r\n //#region WATCH\r\n //#endregion\r\n //#region EVENTS\r\n //#endregion\r\n //#region FUNCTIONS\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-description-particuliere-controle.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-description-particuliere-controle.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./prestation-expertise-rapport-description-particuliere-controle.vue?vue&type=template&id=0ab9de52&\"\nimport script from \"./prestation-expertise-rapport-description-particuliere-controle.vue?vue&type=script&lang=ts&\"\nexport * from \"./prestation-expertise-rapport-description-particuliere-controle.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"prestation-expertise-rapport-situation-fiscale-fiscalite-component\"},[_c('visa-display',{attrs:{\"visa\":_vm.rapport.notes[_vm.getRapportExpertiseNoteSectionEnumName(_vm.rapportExpertiseNoteSectionEnum.SituationFiscale)]}}),_c('h3',[_vm._v(\"Taxe foncière\")]),_c('b-row',[_c('b-col',{attrs:{\"cols\":\"auto\"}},[_c('simple-chart',{attrs:{\"name\":\"chartTaxeHabitation\",\"title\":\"Taux de taxe d'habitation\",\"options\":_vm.getTaxeHabitationOptions}})],1),_c('b-col',{attrs:{\"cols\":\"auto\"}},[_c('simple-chart',{attrs:{\"name\":\"chartTaxeFonciere\",\"title\":\"Taux de taxe foncière\",\"options\":_vm.getTaxeFonciereOptions}})],1)],1),_c('radio-boolean',{attrs:{\"stringTrue\":\"Produit\",\"stringFalse\":\"Non Produit\",\"state\":!_vm.validation.mission.prestationExpertise.fiscaleTaxeFonciere.$error,\"title\":\"Disponibilité ?\"},model:{value:(_vm.rapport.fiscaleTaxeFonciere),callback:function ($$v) {_vm.$set(_vm.rapport, \"fiscaleTaxeFonciere\", $$v)},expression:\"rapport.fiscaleTaxeFonciere\"}}),(_vm.rapport.fiscaleTaxeFonciere)?_c('div',[_c('numeric-nullable',{attrs:{\"state\":!_vm.validation.mission.prestationExpertise.fiscaleMontantTaxeFonciere.$error,\"currency\":\"€\",\"title\":\"Montant de la taxe foncière\"},model:{value:(_vm.rapport.fiscaleMontantTaxeFonciere),callback:function ($$v) {_vm.$set(_vm.rapport, \"fiscaleMontantTaxeFonciere\", $$v)},expression:\"rapport.fiscaleMontantTaxeFonciere\"}}),_c('choice-popup',{attrs:{\"list\":_vm.businessEntries.fiscaleSourcesTaxesFoncieres,\"version\":_vm.rapport.version,\"state\":!_vm.validation.mission.prestationExpertise.fiscaleSourceTaxeFonciereId.$error,\"title\":\"Source taxe foncière\",\"id\":\"SourceTaxeFonciere\"},model:{value:(_vm.rapport.fiscaleSourceTaxeFonciereId),callback:function ($$v) {_vm.$set(_vm.rapport, \"fiscaleSourceTaxeFonciereId\", $$v)},expression:\"rapport.fiscaleSourceTaxeFonciereId\"}})],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Vue, Component, Mixins, Prop, Watch } from 'vue-property-decorator';\r\n\r\nimport RapportExpertiseSectionMixin from '@/mixins/rapport-expertise-section.mixin';\r\n\r\nimport RadioBoolean from '@/shared/components/radio-boolean.vue';\r\nimport SimpleChart from '@/shared/components/simple-chart.vue';\r\nimport NumericNullable from '@/shared/components/numeric-nullable.vue';\r\nimport ChoicePopup from '@/shared/components/choice-popup.vue';\r\nimport VisaDisplay from '@/shared/components/visa-display.vue';\r\nimport { DonneesEstimationImmobiliereDto } from '@/shared/dtos/donnees-estimation-immobiliere.dto';\r\nimport { SubjectMessageTypeEnum } from '@/shared/enums/subject-message-type.enum';\r\nimport { SubjectMessage } from '@/shared/models/subject-message';\r\n\r\n@Component({\r\n name: 'PrestationExpertiseRapportSituationFiscaleFiscalite',\r\n components: {\r\n RadioBoolean,\r\n SimpleChart,\r\n NumericNullable,\r\n ChoicePopup,\r\n VisaDisplay,\r\n },\r\n})\r\nexport default class PrestationExpertiseRapportSituationFiscaleFiscalite extends Mixins(RapportExpertiseSectionMixin) {\r\n public donneesEstimationImmobiliere: DonneesEstimationImmobiliereDto = null;\r\n public charts: any = null;\r\n\r\n //#region LIFE CYCLES\r\n public beforeMount(): void {\r\n Vue.prototype.$subjectMessageService.subject.subscribe((subjectMessage: SubjectMessage) => {\r\n if (subjectMessage.type === SubjectMessageTypeEnum.REFRESH_DONNEES_ESTIMATION_IMMOBILIERES) {\r\n this.donneesEstimationImmobiliere = subjectMessage.message;\r\n if (this.donneesEstimationImmobiliere) {\r\n this.charts = this.donneesEstimationImmobiliere.charts;\r\n }\r\n }\r\n });\r\n }\r\n\r\n //#endregion\r\n\r\n //#region WATCH\r\n\r\n @Watch('rapport.fiscaleTaxeFonciere')\r\n public fiscaleTaxeFonciereChanged(val: any): void {\r\n if (val !== true) {\r\n this.rapport.fiscaleSourceTaxeFonciereId = null;\r\n this.rapport.fiscaleMontantTaxeFonciere = null;\r\n }\r\n }\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n\r\n getTaxeHabitationOptions() {\r\n if (!this.charts) return null;\r\n return (window as any).getChartTaxeHabitationOptions(this.charts.taxeHabitation);\r\n }\r\n getTaxeFonciereOptions() {\r\n if (!this.charts) return null;\r\n return (window as any).getChartTaxeFonciereOptions(this.charts.taxeFonciere);\r\n }\r\n\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-situation-fiscale-fiscalite.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-situation-fiscale-fiscalite.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./prestation-expertise-rapport-situation-fiscale-fiscalite.vue?vue&type=template&id=02b3e11e&\"\nimport script from \"./prestation-expertise-rapport-situation-fiscale-fiscalite.vue?vue&type=script&lang=ts&\"\nexport * from \"./prestation-expertise-rapport-situation-fiscale-fiscalite.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"prestation-expertise-rapport-situation-fiscale-controle-component\"},[_c('visa-note',{attrs:{\"visa\":_vm.rapport.notes[_vm.getRapportExpertiseNoteSectionEnumName(_vm.rapportExpertiseNoteSectionEnum.SituationFiscale)],\"section\":\"Situation fiscale\",\"isReadonly\":_vm.isNoteReadOnly}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Mixins } from 'vue-property-decorator';\r\n\r\nimport RapportExpertiseSectionMixin from '@/mixins/rapport-expertise-section.mixin';\r\n\r\nimport VisaNote from '@/shared/components/visa-note.vue';\r\n\r\n@Component({\r\n name: 'PrestationExpertiseRapportSituationFiscaleControle',\r\n components: {\r\n VisaNote,\r\n },\r\n})\r\nexport default class PrestationExpertiseRapportSituationFiscaleControle extends Mixins(RapportExpertiseSectionMixin) {\r\n //#region LIFE CYCLES\r\n //#endregion\r\n //#region WATCH\r\n //#endregion\r\n //#region EVENTS\r\n //#endregion\r\n //#region FUNCTIONS\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-situation-fiscale-controle.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-situation-fiscale-controle.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./prestation-expertise-rapport-situation-fiscale-controle.vue?vue&type=template&id=39249aab&\"\nimport script from \"./prestation-expertise-rapport-situation-fiscale-controle.vue?vue&type=script&lang=ts&\"\nexport * from \"./prestation-expertise-rapport-situation-fiscale-controle.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"prestation-expertise-rapport-situation-juridique-juridique-component\"},[_c('visa-display',{attrs:{\"visa\":_vm.rapport.notes[_vm.getRapportExpertiseNoteSectionEnumName(_vm.rapportExpertiseNoteSectionEnum.SituationJuridique)]}}),_c('h3',[_vm._v(\"Etat de propriété\")]),_c('choice-popup',{attrs:{\"rapportId\":_vm.rapport.id,\"list\":_vm.businessEntries.juridiqueModeDeDetentions,\"version\":_vm.rapport.version,\"state\":!_vm.validation.mission.prestationExpertise.juridiqueModesDeDetentions.$error,\"title\":\"Modes de détention\",\"id\":\"ModesDetention\",\"multiple\":true},model:{value:(_vm.rapport.juridiqueModesDeDetentions),callback:function ($$v) {_vm.$set(_vm.rapport, \"juridiqueModesDeDetentions\", $$v)},expression:\"rapport.juridiqueModesDeDetentions\"}}),_c('div',{staticClass:\"prestation-expertise-rapport-situation-juridique-juridique-component-date-acquisition\"},[_c('date-picker',{attrs:{\"placeholder\":\"Sélectionner une date\",\"format\":\"MM/yyyy\",\"minimumView\":\"month\",\"state\":!_vm.validation.mission.prestationExpertise.juridiqueDateAcquisition.$error,\"title\":\"Date d'acquisition\"},model:{value:(_vm.rapport.juridiqueDateAcquisition),callback:function ($$v) {_vm.$set(_vm.rapport, \"juridiqueDateAcquisition\", $$v)},expression:\"rapport.juridiqueDateAcquisition\"}}),_c('b-button',{staticClass:\"prestation-expertise-rapport-situation-juridique-juridique-component-date-acquisition-button\",attrs:{\"variant\":_vm.rapport.juridiqueDateAcquisitionInconnue ? 'primary' : 'light'},on:{\"click\":function($event){return _vm.onJuridiqueDateAcquisitionInconnueClick()}}},[_vm._v(\" Date inconnue \")])],1),(_vm.isRapportVersionGreaterOrEqualsTo(3.3))?_c('div',{staticClass:\"prestation-expertise-rapport-situation-juridique-juridique-component-prix-acquisition\"},[_c('b-form-group',{attrs:{\"label\":\"Prix d'acquisition\"}},[_c('b-form-input',{attrs:{\"type\":\"number\",\"placeholder\":\"ex: 100000\",\"state\":!_vm.validation.mission.prestationExpertise.juridiquePrixAcquisition.$error || _vm.rapport.juridiquePrixAcquisitionInconnue},model:{value:(_vm.rapport.juridiquePrixAcquisition),callback:function ($$v) {_vm.$set(_vm.rapport, \"juridiquePrixAcquisition\", $$v)},expression:\"rapport.juridiquePrixAcquisition\"}})],1),_c('b-button',{staticClass:\"prestation-expertise-rapport-situation-juridique-juridique-component-prix-acquisition-button\",attrs:{\"variant\":_vm.rapport.juridiquePrixAcquisitionInconnue ? 'primary' : 'light'},on:{\"click\":function($event){return _vm.onJuridiquePrixAcquisitionInconnueClick()}}},[_vm._v(\" Prix inconnu \")])],1):_vm._e(),(_vm.isRapport && _vm.isRapportVersionGreaterOrEqualsTo(3.3))?_c('b-form-group',{class:_vm.validation.mission.prestationExpertise.juridiqueDesignation.$error,attrs:{\"label\":\"Désignation juridique\",\"state\":!_vm.validation.mission.prestationExpertise.juridiqueDesignation.$error}},[_c('b-form-textarea',{attrs:{\"type\":\"text\",\"placeholder\":\"Exemple : appartement, étage, tantième, nombre de pièces…\",\"rows\":4,\"state\":!_vm.validation.mission.prestationExpertise.juridiqueDesignation.$error},model:{value:(_vm.rapport.juridiqueDesignation),callback:function ($$v) {_vm.$set(_vm.rapport, \"juridiqueDesignation\", $$v)},expression:\"rapport.juridiqueDesignation\"}})],1):_vm._e(),_c('b-form-group',{class:{ invalid: _vm.validation.mission.prestationExpertise.juridiqueNomDuProprietaire.$error },attrs:{\"label\":\"Nom du propriétaire\",\"label-class\":\"h3\",\"state\":!_vm.validation.mission.prestationExpertise.juridiqueNomDuProprietaire.$error}},[_c('b-form-input',{attrs:{\"type\":\"text\",\"placeholder\":\"ex: Bertrand DELAFAGE\",\"state\":!_vm.validation.mission.prestationExpertise.juridiqueNomDuProprietaire.$error},model:{value:(_vm.rapport.juridiqueNomDuProprietaire),callback:function ($$v) {_vm.$set(_vm.rapport, \"juridiqueNomDuProprietaire\", $$v)},expression:\"rapport.juridiqueNomDuProprietaire\"}})],1),(_vm.isModeDetentionCopropriete)?_c('div',[_c('h5',[_vm._v(\"Numéros de lots\")]),_c('ExtendableListString',{attrs:{\"rapportId\":_vm.rapport.id},model:{value:(_vm.rapport.juridiqueNumerosDeLots),callback:function ($$v) {_vm.$set(_vm.rapport, \"juridiqueNumerosDeLots\", $$v)},expression:\"rapport.juridiqueNumerosDeLots\"}})],1):_vm._e(),_c('h3',[_vm._v(\"Affectation juridique des locaux\")]),_c('textarea-with-default-value',{attrs:{\"text\":\"Selon les documents consultés, les biens sont affectés à usage d'habitation.\",\"state\":_vm.validation.mission.prestationExpertise.juridiqueAffectationJuridiqueDesLocaux.$error,\"title\":\"Affectation juridique des locaux\"},model:{value:(_vm.rapport.juridiqueAffectationJuridiqueDesLocaux),callback:function ($$v) {_vm.$set(_vm.rapport, \"juridiqueAffectationJuridiqueDesLocaux\", $$v)},expression:\"rapport.juridiqueAffectationJuridiqueDesLocaux\"}}),_c('h3',[_vm._v(\"Documents consultés\")]),(_vm.isRapportVersionLowerOrEqualsTo(2.0))?_c('choice-popup',{attrs:{\"rapportId\":_vm.rapport.id,\"list\":_vm.businessEntries.juridiqueDocumentConsultes,\"version\":_vm.rapport.version,\"state\":!_vm.validation.mission.prestationExpertise.juridiqueDocumentConsultes.$error,\"title\":\"Documents consultés\",\"id\":\"DocumentsConsultes\",\"multiple\":true},model:{value:(_vm.rapport.juridiqueDocumentConsultes),callback:function ($$v) {_vm.$set(_vm.rapport, \"juridiqueDocumentConsultes\", $$v)},expression:\"rapport.juridiqueDocumentConsultes\"}}):_c('table-radios',{attrs:{\"rapportId\":_vm.rapport.id,\"list\":_vm.businessEntries.juridiqueDocumentConsultes,\"listQualifiable\":_vm.businessEntries.annexesStatuts,\"state\":!_vm.validation.mission.prestationExpertise.juridiqueDocumentConsultes.$error},model:{value:(_vm.rapport.juridiqueDocumentConsultes),callback:function ($$v) {_vm.$set(_vm.rapport, \"juridiqueDocumentConsultes\", $$v)},expression:\"rapport.juridiqueDocumentConsultes\"}})],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('ExtendableList',{ref:\"list\",class:{ 'ul-vertical': _vm.vertical },attrs:{\"list\":_vm.list,\"rapportId\":_vm.rapportId,\"texteAjouter\":_vm.texteAjouter},on:{\"itemAdded\":_vm.onItemAdded}},_vm._l((_vm.list),function(item,index){return _c('li',{key:index},[_c('b-input-group',[_c('b-form-input',{ref:\"input\",refInFor:true,attrs:{\"state\":_vm.validation && !_vm.validation.$each[index].$error},on:{\"blur\":_vm.clean,\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.$refs.list.addItem($event)}},model:{value:(item.value),callback:function ($$v) {_vm.$set(item, \"value\", $$v)},expression:\"item.value\"}}),_c('b-input-group-append',[_c('b-btn',{attrs:{\"variant\":\"light\"},on:{\"click\":function($event){return _vm.OnRemoveItemClick(index)}}},[_c('font-awesome-icon',{attrs:{\"icon\":\"trash\"}})],1)],1)],1)],1)}),0)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',{staticClass:\"highlighted\",class:_vm.cssClass},[_vm._t(\"default\"),_c('li',[_c('b-button',{attrs:{\"variant\":\"link\"},on:{\"click\":_vm.addItem}},[_c('font-awesome-icon',{attrs:{\"icon\":\"plus-circle\"}}),_vm._v(\" \"+_vm._s(_vm.texteAjouter)+\" \")],1)],1)],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\n\r\n@Component({\r\n name: 'ExtendableList',\r\n})\r\nexport default class ExtendableList extends Vue {\r\n @Prop() public list: any;\r\n @Prop() public rapportId: number;\r\n @Prop({ default: 'Ajouter' }) public texteAjouter: string;\r\n @Prop() public cssClass: string;\r\n\r\n //#region LIFE CYCLES\r\n\r\n //#endregion\r\n\r\n //#region COMPUTED\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n\r\n public addItem(): void {\r\n this.list.push(this.initNewItem());\r\n this.$emit('input', this.list);\r\n this.$emit('itemAdded');\r\n }\r\n\r\n public deleteItem(index: number): void {\r\n this.list.splice(index, 1);\r\n this.$emit('input', this.list);\r\n this.$emit('itemDeleted');\r\n }\r\n\r\n public initNewItem(): any {\r\n return {\r\n id: 0,\r\n value: '',\r\n rapportExpertiseId: this.rapportId,\r\n };\r\n }\r\n\r\n public addItemsToList(items: any): void {\r\n for (let i = 0; i < items.length; i++) {\r\n this.list.push(items[i]);\r\n }\r\n this.$emit('input', this.list);\r\n this.$emit('itemAdded');\r\n }\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./extendable-list.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./extendable-list.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./extendable-list.vue?vue&type=template&id=183cbb10&scoped=true&\"\nimport script from \"./extendable-list.vue?vue&type=script&lang=ts&\"\nexport * from \"./extendable-list.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./extendable-list.vue?vue&type=style&index=0&id=183cbb10&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 \"183cbb10\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\nimport ExtendableList from '@/shared/components/extendable-list.vue';\r\n\r\n@Component({\r\n name: 'ExtendableListString',\r\n components: {\r\n ExtendableList,\r\n },\r\n})\r\nexport default class ExtendableListString extends Vue {\r\n @Prop() public value: any;\r\n @Prop() public rapportId: number;\r\n @Prop() public vertical: boolean;\r\n @Prop() public texteAjouter: string;\r\n @Prop() public validation: any;\r\n\r\n public isInitializing: boolean;\r\n\r\n //#region LIFE CYCLES\r\n\r\n mounted() {\r\n this.init();\r\n }\r\n\r\n updated() {\r\n this.init();\r\n }\r\n //#endregion\r\n\r\n //#region COMPUTED\r\n get list() {\r\n return this.value;\r\n }\r\n set list(newList: any) {\r\n this.value = newList;\r\n }\r\n //#endregion\r\n\r\n //#region WATCH\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n\r\n public onItemAdded(): void {\r\n this.clean();\r\n if (this.isInitializing) {\r\n this.$nextTick(() => {\r\n const refInput: any = this.$refs.input;\r\n refInput[refInput.length - 1].$el.focus();\r\n });\r\n }\r\n }\r\n\r\n public OnRemoveItemClick(index: number): void {\r\n this.list.splice(index, 1);\r\n if (this.list.length == 0) {\r\n (this.$refs.list as ExtendableList).addItem();\r\n }\r\n this.$emit('input', this.list);\r\n }\r\n\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n private init(): void {\r\n if (this.list.length == 0) {\r\n (this.$refs.list as ExtendableList).addItem();\r\n this.$emit('input', this.list);\r\n }\r\n this.isInitializing = true;\r\n }\r\n\r\n public clean(): void {\r\n var i = this.list.length - 1;\r\n while (--i >= 0) {\r\n if (this.list[i] === undefined || this.list[i].value === undefined || (this.list[i].value = this.list[i].value.trim()) === '') {\r\n this.list.splice(i, 1);\r\n this.$emit('input', this.list);\r\n }\r\n }\r\n }\r\n\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./extendable-list-string.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./extendable-list-string.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./extendable-list-string.vue?vue&type=template&id=265efc2e&\"\nimport script from \"./extendable-list-string.vue?vue&type=script&lang=ts&\"\nexport * from \"./extendable-list-string.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./extendable-list-string.vue?vue&type=style&index=0&lang=scss&\"\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:\"table-radios-component\",class:{ invalid: _vm.state === false, valid: _vm.state === true }},[(_vm.title)?_c('h4',{domProps:{\"innerHTML\":_vm._s(_vm.title)}}):_vm._e(),_vm._l((_vm.list),function(item,index){return _c('b-row',{key:index},[_c('b-col',{staticClass:\"m-auto\"},[_vm._v(\" \"+_vm._s(item.displayText)+\" \")]),_c('b-col',{staticClass:\"m-auto\"},[_c('ul',_vm._l((_vm.listQualifiable),function(itemQualifiable){return _c('li',{key:itemQualifiable.id},[_c('b-button',{staticClass:\"btn-radio\",attrs:{\"variant\":_vm.variantItem(item.id, itemQualifiable.id),\"disabled\":_vm.isItemDisabled(item.id)},on:{\"click\":function($event){return _vm.onToggleClick(item.id, itemQualifiable.id)}}},[_vm._v(\" \"+_vm._s(itemQualifiable.displayText)+\" \")])],1)}),0)])],1)})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\nimport { RapportExpertiseBusinessEntryRelationDto } from '../dtos/rapport-expertise-business-entry-relation.dto';\r\nimport { RapportExpertiseBusinessEntryDto } from '../dtos/rapport-expertise-business-entry.dto';\r\nimport { AnnexeStatutEnum } from '../enums/annexe-statut.enum';\r\n\r\n@Component({\r\n name: 'TableRadios',\r\n components: {},\r\n})\r\nexport default class TableRadios extends Vue {\r\n @Prop() public value: RapportExpertiseBusinessEntryRelationDto[];\r\n @Prop() public list: RapportExpertiseBusinessEntryDto[];\r\n @Prop() public listQualifiable: RapportExpertiseBusinessEntryDto[];\r\n @Prop() public title: String;\r\n @Prop() public rapportId: number;\r\n @Prop({ default: true }) public state: boolean;\r\n @Prop() public isDisabled: boolean;\r\n @Prop() public valuesToDisabled: number[];\r\n\r\n //#region LIFE CYCLES\r\n public beforeMount(): void {\r\n if (this.isDisabled) return;\r\n\r\n if (this.list.length > 0 && this.value.length === 0) {\r\n var beNonDemande = this.listQualifiable.find((x) => x.id === AnnexeStatutEnum.NonDemande);\r\n\r\n this.list.forEach((item) => {\r\n this.value.push({\r\n rapportExpertiseId: this.rapportId,\r\n businessEntrySelectedId: item.id,\r\n businessEntryQualificationId: beNonDemande ? AnnexeStatutEnum.NonDemande : null,\r\n });\r\n });\r\n }\r\n }\r\n //#endregion\r\n\r\n //#region WATCH\r\n\r\n //#endregion\r\n\r\n //#region COMPUTED\r\n\r\n public variantItem(itemSelectedId: any, itemSelectedQualificationId: any): string {\r\n var selectedItem = this.value.find((x) => x.businessEntrySelectedId === itemSelectedId);\r\n if (selectedItem) {\r\n return selectedItem.businessEntryQualificationId === itemSelectedQualificationId ? 'primary' : 'light';\r\n }\r\n }\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n\r\n public onToggleClick(itemSelectedId: any, itemSelectedQualificationId: any): void {\r\n var selectedItem = this.value.find((x) => x.businessEntrySelectedId === itemSelectedId);\r\n if (selectedItem) {\r\n selectedItem.businessEntryQualificationId = itemSelectedQualificationId;\r\n }\r\n }\r\n //#endregion\r\n //#region FUNCTIONS\r\n\r\n public isItemDisabled(id: number): boolean {\r\n return this.isDisabled || this.valuesToDisabled?.includes(id);\r\n }\r\n //#endregion\r\n\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./table-radios.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./table-radios.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./table-radios.vue?vue&type=template&id=1540863a&\"\nimport script from \"./table-radios.vue?vue&type=script&lang=ts&\"\nexport * from \"./table-radios.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./table-radios.vue?vue&type=style&index=0&lang=scss&\"\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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Mixins, Watch } from 'vue-property-decorator';\r\nimport RapportExpertiseSectionMixin from '@/mixins/rapport-expertise-section.mixin';\r\n\r\nimport VisaDisplay from '@/shared/components/visa-display.vue';\r\nimport VisaNote from '@/shared/components/visa-note.vue';\r\nimport DatePicker from '@/shared/components/date-picker.vue';\r\nimport ExtendableListString from '@/shared/components/extendable-list-string.vue';\r\nimport TextareaWithDefaultValue from '@/shared/components/textarea-with-default-value.vue';\r\nimport ChoicePopup from '@/shared/components/choice-popup.vue';\r\nimport TableRadios from '@/shared/components/table-radios.vue';\r\n\r\nconst JuridiqueModeDetentionCoproprieteIds = [2013003, 2013004];\r\n\r\n@Component({\r\n name: 'PrestationExpertiseRapportSituationJuridiqueJuridique',\r\n components: {\r\n VisaNote,\r\n VisaDisplay,\r\n DatePicker,\r\n ExtendableListString,\r\n TextareaWithDefaultValue,\r\n ChoicePopup,\r\n TableRadios,\r\n },\r\n})\r\nexport default class PrestationExpertiseRapportSituationJuridiqueJuridique extends Mixins(RapportExpertiseSectionMixin) {\r\n //#region LIFE CYCLES\r\n\r\n //#endregion\r\n\r\n //#region COMPUTED\r\n get isModeDetentionCopropriete(): boolean {\r\n return this.rapport.juridiqueModesDeDetentions.some(\r\n (m: any) => JuridiqueModeDetentionCoproprieteIds.indexOf(m.businessEntrySelectedId) != -1\r\n );\r\n }\r\n\r\n //#endregion\r\n\r\n //#region WATCH\r\n @Watch('rapport.juridiqueDateAcquisition')\r\n public onJuridiqueDateAcquisitionChanged(value: any): void {\r\n if (value !== null) {\r\n this.rapport.juridiqueDateAcquisitionInconnue = false;\r\n }\r\n }\r\n\r\n @Watch('rapport.juridiquePrixAcquisition')\r\n public onJuridiquePrixAcquisitionChanged(value: any): void {\r\n if (value !== null) {\r\n this.rapport.juridiquePrixAcquisitionInconnue = false;\r\n }\r\n }\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n public onJuridiqueDateAcquisitionInconnueClick(): void {\r\n this.rapport.juridiqueDateAcquisition = new Date(); // To trigger the validation\r\n this.rapport.juridiqueDateAcquisition = null;\r\n this.rapport.juridiqueDateAcquisitionInconnue = true;\r\n }\r\n\r\n public onJuridiquePrixAcquisitionInconnueClick(): void {\r\n this.rapport.juridiquePrixAcquisition = null;\r\n this.rapport.juridiquePrixAcquisitionInconnue = true;\r\n }\r\n\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-situation-juridique-juridique.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-situation-juridique-juridique.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./prestation-expertise-rapport-situation-juridique-juridique.vue?vue&type=template&id=16341b14&scoped=true&\"\nimport script from \"./prestation-expertise-rapport-situation-juridique-juridique.vue?vue&type=script&lang=ts&\"\nexport * from \"./prestation-expertise-rapport-situation-juridique-juridique.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./prestation-expertise-rapport-situation-juridique-juridique.vue?vue&type=style&index=0&id=16341b14&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 \"16341b14\",\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:\"prestation-expertise-rapport-situation-juridique-controle-component\"},[_c('visa-note',{attrs:{\"visa\":_vm.rapport.notes[_vm.getRapportExpertiseNoteSectionEnumName(_vm.rapportExpertiseNoteSectionEnum.SituationJuridique)],\"section\":\"Situation juridique\",\"isReadonly\":_vm.isNoteReadOnly}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Mixins } from 'vue-property-decorator';\r\nimport RapportExpertiseSectionMixin from '@/mixins/rapport-expertise-section.mixin';\r\n\r\nimport VisaNote from '@/shared/components/visa-note.vue';\r\n\r\n@Component({\r\n name: 'PrestationExpertiseRapportSituationJuridiqueControle',\r\n components: {\r\n VisaNote,\r\n },\r\n})\r\nexport default class PrestationExpertiseRapportSituationJuridiqueControle extends Mixins(RapportExpertiseSectionMixin) {\r\n //#region LIFE CYCLES\r\n //#endregion\r\n //#region COMPUTED\r\n //#endregion\r\n //#region WATCH\r\n //#endregion\r\n //#region EVENTS\r\n //#endregion\r\n //#region FUNCTIONS\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-situation-juridique-controle.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-situation-juridique-controle.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./prestation-expertise-rapport-situation-juridique-controle.vue?vue&type=template&id=0202ef32&\"\nimport script from \"./prestation-expertise-rapport-situation-juridique-controle.vue?vue&type=script&lang=ts&\"\nexport * from \"./prestation-expertise-rapport-situation-juridique-controle.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"prestation-expertise-rapport-situation-urbanistique-urbanisme-component\"},[_c('visa-display',{attrs:{\"visa\":_vm.rapport.notes[_vm.getRapportExpertiseNoteSectionEnumName(_vm.rapportExpertiseNoteSectionEnum.SituationUrbanistique)]}}),_c('h3',[_vm._v(\"Situation réglementaire\")]),_c('radio-boolean',{attrs:{\"stringTrue\":\"Prévu dans la mission\",\"stringFalse\":\"Non prévu\",\"state\":!_vm.validation.mission.prestationExpertise.urbanistiquePlanLocalUrbanismeDisponibilite.$error,\"title\":\"Plan local d'urbanisme\"},model:{value:(_vm.rapport.urbanistiquePlanLocalUrbanismeDisponibilite),callback:function ($$v) {_vm.$set(_vm.rapport, \"urbanistiquePlanLocalUrbanismeDisponibilite\", $$v)},expression:\"rapport.urbanistiquePlanLocalUrbanismeDisponibilite\"}}),(_vm.rapport.urbanistiquePlanLocalUrbanismeDisponibilite)?_c('div',[_c('choice-popup',{attrs:{\"list\":_vm.businessEntries.urbanistiqueTypesPlansLocauxUrbanismes,\"version\":_vm.rapport.version,\"state\":!_vm.validation.mission.prestationExpertise.urbanistiquePlanLocalUrbanismeSelectionneId.$error,\"title\":\"Type de document\",\"id\":\"TypeDocument\"},model:{value:(_vm.rapport.urbanistiquePlanLocalUrbanismeSelectionneId),callback:function ($$v) {_vm.$set(_vm.rapport, \"urbanistiquePlanLocalUrbanismeSelectionneId\", $$v)},expression:\"rapport.urbanistiquePlanLocalUrbanismeSelectionneId\"}}),_c('date-picker',{attrs:{\"placeholder\":\"Sélectionner une date\",\"state\":!_vm.validation.mission.prestationExpertise.urbanistiqueDateApprobation.$error,\"title\":\"Date d'approbation\"},model:{value:(_vm.rapport.urbanistiqueDateApprobation),callback:function ($$v) {_vm.$set(_vm.rapport, \"urbanistiqueDateApprobation\", $$v)},expression:\"rapport.urbanistiqueDateApprobation\"}}),_c('b-form-group',{attrs:{\"label\":\"Zone\",\"label-class\":\"h3\",\"state\":!_vm.validation.mission.prestationExpertise.urbanistiqueZone.$error}},[_c('b-form-input',{attrs:{\"state\":!_vm.validation.mission.prestationExpertise.urbanistiqueZone.$error},model:{value:(_vm.rapport.urbanistiqueZone),callback:function ($$v) {_vm.$set(_vm.rapport, \"urbanistiqueZone\", $$v)},expression:\"rapport.urbanistiqueZone\"}})],1),_c('b-form-group',{attrs:{\"label\":\"Commentaires sur la zone\",\"label-class\":\"h3\",\"state\":!_vm.validation.mission.prestationExpertise.urbanistiqueZoneCommentaire.$error}},[_c('b-form-textarea',{attrs:{\"rows\":8,\"state\":!_vm.validation.mission.prestationExpertise.urbanistiqueZoneCommentaire.$error},model:{value:(_vm.rapport.urbanistiqueZoneCommentaire),callback:function ($$v) {_vm.$set(_vm.rapport, \"urbanistiqueZoneCommentaire\", $$v)},expression:\"rapport.urbanistiqueZoneCommentaire\"}})],1)],1):_vm._e(),_c('h3',[_vm._v(\"Etat des risques naturels et technologiques\")]),_c('div',{staticClass:\"mb-2\"},[_c('b-row',{attrs:{\"align-items\":\"center\"}},[_c('b-col',{attrs:{\"cols\":\"auto\"}},[_vm._v(\" Ne pas inclure cette section dans le rapport. \")]),_c('b-col',{attrs:{\"cols\":\"auto\"}},[_c('toggle-button',{attrs:{\"value\":_vm.rapport.isSectionRisquesHidden,\"color\":\"#007BFF\",\"labels\":false},on:{\"change\":_vm.onChangeShowSectionRisques},model:{value:(_vm.rapport.isSectionRisquesHidden),callback:function ($$v) {_vm.$set(_vm.rapport, \"isSectionRisquesHidden\", $$v)},expression:\"rapport.isSectionRisquesHidden\"}})],1)],1)],1),(!_vm.rapport.isSectionRisquesHidden)?_c('div',[_c('div',{class:{\n invalid:\n _vm.validation.mission.prestationExpertise.urbanistiqueInondable.$error ||\n _vm.validation.mission.prestationExpertise.urbanistiqueInondationId.$error,\n }},[_c('b-row',[_c('b-col',[_c('b-button',{attrs:{\"variant\":\"secondary\"},on:{\"click\":_vm.goToGeorisques}},[_c('font-awesome-icon',{attrs:{\"icon\":\"eye\"}}),_vm._v(\" Consulter le site georisques.fr \")],1)],1)],1),_c('h4',[_vm._v(\"Inondations\")]),_c('b-row',[_c('b-col',{attrs:{\"cols\":\"auto\",\"align-self\":\"center\"}},[_c('img',{attrs:{\"src\":_vm.iconsUrl + 'INONDATION.svg',\"width\":\"70\"}})]),_c('b-col',[_c('radio-boolean',{model:{value:(_vm.rapport.urbanistiqueInondable),callback:function ($$v) {_vm.$set(_vm.rapport, \"urbanistiqueInondable\", $$v)},expression:\"rapport.urbanistiqueInondable\"}}),(_vm.rapport.urbanistiqueInondable)?_c('choice-popup',{attrs:{\"list\":_vm.businessEntries.urbanistiqueInondations,\"version\":_vm.rapport.version,\"state\":!_vm.validation.mission.prestationExpertise.urbanistiqueInondationId.$error,\"title\":\"Quel est le degré du risque ?\",\"titleBold\":false,\"id\":\"UrbanistiqueInondable\"},model:{value:(_vm.rapport.urbanistiqueInondationId),callback:function ($$v) {_vm.$set(_vm.rapport, \"urbanistiqueInondationId\", $$v)},expression:\"rapport.urbanistiqueInondationId\"}}):_vm._e()],1)],1)],1),_c('div',{class:{\n invalid:\n _vm.validation.mission.prestationExpertise.urbanistiqueSeisme.$error ||\n _vm.validation.mission.prestationExpertise.urbanistiqueSeismeSelectionneId.$error,\n }},[_c('h4',[_vm._v(\"Séismes\")]),_c('b-row',[_c('b-col',{attrs:{\"cols\":\"auto\",\"align-self\":\"center\"}},[_c('img',{attrs:{\"src\":_vm.iconsUrl + 'SEISME.svg',\"width\":\"70\"}})]),_c('b-col',[_c('radio-boolean',{model:{value:(_vm.rapport.urbanistiqueSeisme),callback:function ($$v) {_vm.$set(_vm.rapport, \"urbanistiqueSeisme\", $$v)},expression:\"rapport.urbanistiqueSeisme\"}}),(_vm.rapport.urbanistiqueSeisme)?_c('choice-popup',{attrs:{\"list\":_vm.businessEntries.urbanistiqueDegresSeismes,\"version\":_vm.rapport.version,\"state\":!_vm.validation.mission.prestationExpertise.urbanistiqueSeismeSelectionneId.$error,\"title\":\"Quel est le degré du risque ?\",\"titleBold\":false,\"id\":\"UrbanistiqueSeisme\"},model:{value:(_vm.rapport.urbanistiqueSeismeSelectionneId),callback:function ($$v) {_vm.$set(_vm.rapport, \"urbanistiqueSeismeSelectionneId\", $$v)},expression:\"rapport.urbanistiqueSeismeSelectionneId\"}}):_vm._e()],1)],1)],1),_c('div',{class:{\n invalid:\n _vm.validation.mission.prestationExpertise.urbanistiqueMouvementDeTerrain.$error ||\n _vm.validation.mission.prestationExpertise.urbanistiqueMouvementDeTerrains.$error,\n }},[_c('h4',[_vm._v(\"Mouvements de terrain\")]),_c('b-row',[_c('b-col',{attrs:{\"cols\":\"auto\",\"align-self\":\"center\"}},[_c('img',{attrs:{\"src\":_vm.iconsUrl + 'MOUVEMENT DE TERRAIN.svg',\"width\":\"70\"}})]),_c('b-col',[_c('radio-boolean',{model:{value:(_vm.rapport.urbanistiqueMouvementDeTerrain),callback:function ($$v) {_vm.$set(_vm.rapport, \"urbanistiqueMouvementDeTerrain\", $$v)},expression:\"rapport.urbanistiqueMouvementDeTerrain\"}}),(_vm.rapport.urbanistiqueMouvementDeTerrain)?_c('choice-popup',{attrs:{\"rapportId\":_vm.rapport.id,\"list\":_vm.businessEntries.urbanistiqueTypesMouvementsTerrains,\"version\":_vm.rapport.version,\"state\":!_vm.validation.mission.prestationExpertise.urbanistiqueMouvementDeTerrains.$error,\"title\":\"Quels sont les risques possibles ?\",\"titleBold\":false,\"id\":\"MouvementDeTerrains\",\"multiple\":true},model:{value:(_vm.rapport.urbanistiqueMouvementDeTerrains),callback:function ($$v) {_vm.$set(_vm.rapport, \"urbanistiqueMouvementDeTerrains\", $$v)},expression:\"rapport.urbanistiqueMouvementDeTerrains\"}}):_vm._e()],1)],1)],1),_c('div',{class:{\n invalid:\n _vm.validation.mission.prestationExpertise.urbanistiqueCaviteSouterraine.$error ||\n _vm.validation.mission.prestationExpertise.urbanistiqueCaviteSouterraines.$error,\n }},[_c('h4',[_vm._v(\"Cavités souterraines\")]),_c('b-row',[_c('b-col',{attrs:{\"cols\":\"auto\",\"align-self\":\"center\"}},[_c('img',{attrs:{\"src\":_vm.iconsUrl + 'cavite-souterraine.svg',\"width\":\"70\"}})]),_c('b-col',[_c('radio-boolean',{model:{value:(_vm.rapport.urbanistiqueCaviteSouterraine),callback:function ($$v) {_vm.$set(_vm.rapport, \"urbanistiqueCaviteSouterraine\", $$v)},expression:\"rapport.urbanistiqueCaviteSouterraine\"}}),(_vm.rapport.urbanistiqueCaviteSouterraine)?_c('choice-popup',{attrs:{\"rapportId\":_vm.rapport.id,\"list\":_vm.businessEntries.urbanistiqueTypesCavitesSouterraines,\"version\":_vm.rapport.version,\"state\":!_vm.validation.mission.prestationExpertise.urbanistiqueCaviteSouterraines.$error,\"title\":\"Quels sont les risques possibles ?\",\"titleBold\":false,\"id\":\"CavitesSouterraines\",\"multiple\":true},model:{value:(_vm.rapport.urbanistiqueCaviteSouterraines),callback:function ($$v) {_vm.$set(_vm.rapport, \"urbanistiqueCaviteSouterraines\", $$v)},expression:\"rapport.urbanistiqueCaviteSouterraines\"}}):_vm._e()],1)],1)],1),_c('div',{class:{\n invalid:\n _vm.validation.mission.prestationExpertise.urbanistiqueGonflementDesSolsArgileux.$error ||\n _vm.validation.mission.prestationExpertise.urbanistiqueGonflementDesSolsArgileuxSelectionneId.$error,\n }},[_c('h4',[_vm._v(\"Retrait-gonflement des sols argileux\")]),_c('b-row',[_c('b-col',{attrs:{\"cols\":\"auto\",\"align-self\":\"center\"}},[_c('img',{attrs:{\"src\":_vm.iconsUrl + 'GONFLEMENT SOLS ARGILEUX.svg',\"width\":\"70\"}})]),_c('b-col',[_c('radio-boolean',{model:{value:(_vm.rapport.urbanistiqueGonflementDesSolsArgileux),callback:function ($$v) {_vm.$set(_vm.rapport, \"urbanistiqueGonflementDesSolsArgileux\", $$v)},expression:\"rapport.urbanistiqueGonflementDesSolsArgileux\"}}),(_vm.rapport.urbanistiqueGonflementDesSolsArgileux)?_c('choice-popup',{attrs:{\"list\":_vm.businessEntries.urbanistiqueDegresGonflementsDesSolsArgileux,\"version\":_vm.rapport.version,\"state\":!_vm.validation.mission.prestationExpertise.urbanistiqueGonflementDesSolsArgileuxSelectionneId.$error,\"title\":\"Quel est le degré du risque ?\",\"titleBold\":false,\"id\":\"GonglementDesSolsArgileux\"},model:{value:(_vm.rapport.urbanistiqueGonflementDesSolsArgileuxSelectionneId),callback:function ($$v) {_vm.$set(_vm.rapport, \"urbanistiqueGonflementDesSolsArgileuxSelectionneId\", $$v)},expression:\"rapport.urbanistiqueGonflementDesSolsArgileuxSelectionneId\"}}):_vm._e()],1)],1)],1),_c('div',{class:{\n invalid:\n _vm.validation.mission.prestationExpertise.urbanistiqueInstallationIndustrielle.$error ||\n _vm.validation.mission.prestationExpertise.urbanistiqueInstallationIndustrielles.$error,\n }},[_c('h4',[_vm._v(\"Installations industrielles\")]),_c('b-row',[_c('b-col',{attrs:{\"cols\":\"auto\",\"align-self\":\"center\"}},[_c('img',{attrs:{\"src\":_vm.iconsUrl + 'INSTALLATION INDUSTRIELLE.svg',\"width\":\"70\"}})]),_c('b-col',[_c('radio-boolean',{model:{value:(_vm.rapport.urbanistiqueInstallationIndustrielle),callback:function ($$v) {_vm.$set(_vm.rapport, \"urbanistiqueInstallationIndustrielle\", $$v)},expression:\"rapport.urbanistiqueInstallationIndustrielle\"}}),(_vm.rapport.urbanistiqueInstallationIndustrielle)?_c('choice-popup',{attrs:{\"rapportId\":_vm.rapport.id,\"list\":_vm.businessEntries.urbanistiqueTypesInstallationsIndustrielles,\"version\":_vm.rapport.version,\"state\":!_vm.validation.mission.prestationExpertise.urbanistiqueInstallationIndustrielles.$error,\"title\":\"Quelles sont les installations présentes à proximité ?\",\"titleBold\":false,\"id\":\"InstallationsIndustrielles\",\"multiple\":true},model:{value:(_vm.rapport.urbanistiqueInstallationIndustrielles),callback:function ($$v) {_vm.$set(_vm.rapport, \"urbanistiqueInstallationIndustrielles\", $$v)},expression:\"rapport.urbanistiqueInstallationIndustrielles\"}}):_vm._e()],1)],1),(_vm.isRapportVersionGreaterOrEqualsTo(3.0))?_c('b-form-group',{class:{ invalid: _vm.validation.mission.prestationExpertise.urbanistiqueCommentaire.$error },attrs:{\"state\":!_vm.validation.mission.prestationExpertise.urbanistiqueCommentaire.$error,\"label\":\"Commentaire\"}},[_c('b-form-textarea',{attrs:{\"type\":\"text\",\"rows\":8,\"state\":!_vm.validation.mission.prestationExpertise.urbanistiqueCommentaire.$error},model:{value:(_vm.rapport.urbanistiqueCommentaire),callback:function ($$v) {_vm.$set(_vm.rapport, \"urbanistiqueCommentaire\", $$v)},expression:\"rapport.urbanistiqueCommentaire\"}})],1):_vm._e()],1)]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Vue, Mixins, Watch } from 'vue-property-decorator';\r\n\r\nimport RapportExpertiseSectionMixin from '@/mixins/rapport-expertise-section.mixin';\r\n\r\nimport DatePicker from '@/shared/components/date-picker.vue';\r\nimport ChoicePopup from '@/shared/components/choice-popup.vue';\r\nimport RadioBoolean from '@/shared/components/radio-boolean.vue';\r\nimport VisaDisplay from '@/shared/components/visa-display.vue';\r\nimport { ToggleButton } from 'vue-js-toggle-button';\r\n\r\n@Component({\r\n name: 'PrestationExpertiseRapportSituationUrbanistiqueUrbanisme',\r\n components: {\r\n RadioBoolean,\r\n DatePicker,\r\n ChoicePopup,\r\n VisaDisplay,\r\n ToggleButton,\r\n },\r\n})\r\nexport default class PrestationExpertiseRapportSituationUrbanistiqueUrbanisme extends Mixins(RapportExpertiseSectionMixin) {\r\n public iconsUrl: string = Vue.prototype.$config.baseUrlApi + 'images/icons/';\r\n\r\n //#region LIFE CYCLES\r\n //#endregion\r\n //#region WATCH\r\n\r\n @Watch('rapport.urbanistiquePlanLocalUrbanismeDisponibilite')\r\n public urbanistiquePlanLocalUrbanismeDisponibiliteChanged(val: any): void {\r\n if (val !== true) {\r\n this.rapport.urbanistiquePlanLocalUrbanismeSelectionneId = null;\r\n this.rapport.urbanistiqueZone = null;\r\n this.rapport.urbanistiqueZoneCommentaire = null;\r\n this.rapport.urbanistiqueDateApprobation = null;\r\n }\r\n }\r\n\r\n @Watch('rapport.urbanistiqueInondable')\r\n public urbanistiqueInondableChanged(val: boolean): void {\r\n if (val !== true) {\r\n this.rapport.urbanistiqueInondationId = null;\r\n }\r\n }\r\n\r\n @Watch('rapport.urbanistiqueSeisme')\r\n public urbanistiqueSeismeChanged(val: boolean): void {\r\n if (val !== true) {\r\n this.rapport.urbanistiqueSeismeSelectionneId = null;\r\n }\r\n }\r\n\r\n @Watch('rapport.urbanistiqueMouvementDeTerrain')\r\n public urbanistiqueMouvementDeTerrainChanged(val: boolean): void {\r\n if (val !== true) {\r\n this.rapport.urbanistiqueMouvementDeTerrains = [];\r\n }\r\n }\r\n\r\n @Watch('rapport.urbanistiqueCaviteSouterraine')\r\n public urbanistiqueCaviteSouterraineChanged(val: boolean): void {\r\n if (val !== true) {\r\n this.rapport.urbanistiqueCaviteSouterraines = [];\r\n }\r\n }\r\n @Watch('rapport.urbanistiqueGonflementDesSolsArgileux')\r\n public urbanistiqueGonflementDesSolsArgileuxChanged(val: boolean): void {\r\n if (val !== true) {\r\n this.rapport.urbanistiqueGonflementDesSolsArgileuxSelectionneId = null;\r\n }\r\n }\r\n\r\n @Watch('rapport.urbanistiqueInstallationIndustrielle')\r\n public urbanistiqueInstallationIndustrielleChanged(val: boolean): void {\r\n if (val !== true) {\r\n this.rapport.urbanistiqueInstallationIndustrielles = [];\r\n }\r\n }\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n public goToGeorisques() {\r\n if (this.rapport.geographiqueLongitude && this.rapport.geographiqueLatitude) {\r\n const href = Vue.prototype.$config.georisquesBaseRapportUrl\r\n .replace('{0}', this.rapport.geographiqueLongitude)\r\n .replace('{1}', this.rapport.geographiqueLatitude)\r\n .replace('{2}', 'false');\r\n\r\n window.open(href, '_blank');\r\n } else {\r\n window.open(Vue.prototype.$config.georisquesBaseUrl, '_blank');\r\n }\r\n }\r\n\r\n public onChangeShowSectionRisques(srcEvent: any) {\r\n if (srcEvent.value) {\r\n this.rapport.urbanistiqueInondable = null;\r\n this.rapport.urbanistiqueSeisme = null;\r\n this.rapport.urbanistiqueMouvementDeTerrain = null;\r\n this.rapport.urbanistiqueCaviteSouterraine = null;\r\n this.rapport.urbanistiqueGonflementDesSolsArgileux = null;\r\n this.rapport.urbanistiqueInstallationIndustrielle = null;\r\n this.rapport.urbanistiqueSeismeSelectionneId = null;\r\n }\r\n }\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-situation-urbanistique-urbanisme.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-situation-urbanistique-urbanisme.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./prestation-expertise-rapport-situation-urbanistique-urbanisme.vue?vue&type=template&id=0e17cb56&scoped=true&\"\nimport script from \"./prestation-expertise-rapport-situation-urbanistique-urbanisme.vue?vue&type=script&lang=ts&\"\nexport * from \"./prestation-expertise-rapport-situation-urbanistique-urbanisme.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0e17cb56\",\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:\"prestation-expertise-rapport-situation-urbanistique-controle-component\"},[(_vm.rapport.notes)?_c('visa-note',{attrs:{\"visa\":_vm.rapport.notes[_vm.getRapportExpertiseNoteSectionEnumName(_vm.rapportExpertiseNoteSectionEnum.SituationUrbanistique)],\"section\":\"Situation urbanistique\",\"isReadonly\":_vm.isNoteReadOnly}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Mixins } from 'vue-property-decorator';\r\n\r\nimport RapportExpertiseSectionMixin from '@/mixins/rapport-expertise-section.mixin';\r\n\r\nimport VisaNote from '@/shared/components/visa-note.vue';\r\n\r\n@Component({\r\n name: 'PrestationExpertiseRapportSituationUrbanistiqueControle',\r\n components: {\r\n VisaNote,\r\n },\r\n})\r\nexport default class PrestationExpertiseRapportSituationUrbanistiqueControle extends Mixins(RapportExpertiseSectionMixin) {\r\n //#region LIFE CYCLES\r\n //#endregion\r\n //#region WATCH\r\n //#endregion\r\n //#region EVENTS\r\n //#endregion\r\n //#region FUNCTIONS\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-situation-urbanistique-controle.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-situation-urbanistique-controle.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./prestation-expertise-rapport-situation-urbanistique-controle.vue?vue&type=template&id=545df1f8&\"\nimport script from \"./prestation-expertise-rapport-situation-urbanistique-controle.vue?vue&type=script&lang=ts&\"\nexport * from \"./prestation-expertise-rapport-situation-urbanistique-controle.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"prestation-expertise-rapport-situation-locative-locative-component\"},[_c('visa-display',{attrs:{\"visa\":_vm.rapport.notes[_vm.getRapportExpertiseNoteSectionEnumName(_vm.rapportExpertiseNoteSectionEnum.SituationLocative)]}}),_c('h3',[_vm._v(\"Etat locatif\")]),_c('date-picker',{attrs:{\"placeholder\":\"Sélectionner une date\",\"format\":\"dd/MM/yyyy\",\"minimumView\":\"day\",\"state\":!_vm.validation.mission.prestationExpertise.locativeDateBail.$error,\"title\":\"Date du bail\"},model:{value:(_vm.rapport.locativeDateBail),callback:function ($$v) {_vm.$set(_vm.rapport, \"locativeDateBail\", $$v)},expression:\"rapport.locativeDateBail\"}}),_c('choice-popup',{attrs:{\"rapportId\":_vm.rapport.id,\"list\":_vm.businessEntries.locativeBaux,\"version\":_vm.rapport.version,\"state\":!_vm.validation.mission.prestationExpertise.locativeNatureBailId.$error,\"title\":\"Nature du bail\",\"id\":\"NatureBails\"},model:{value:(_vm.rapport.locativeNatureBailId),callback:function ($$v) {_vm.$set(_vm.rapport, \"locativeNatureBailId\", $$v)},expression:\"rapport.locativeNatureBailId\"}}),_c('numeric-nullable',{attrs:{\"placeholder\":\"ex: 3 300,00\",\"state\":!_vm.validation.mission.prestationExpertise.locativeLoyerMensuelBrut.$error,\"currency\":\"€\",\"title\":\"Loyer mensuel brut\"},model:{value:(_vm.rapport.locativeLoyerMensuelBrut),callback:function ($$v) {_vm.$set(_vm.rapport, \"locativeLoyerMensuelBrut\", $$v)},expression:\"rapport.locativeLoyerMensuelBrut\"}}),_c('numeric-nullable',{attrs:{\"placeholder\":\"ex: 3 300,00\",\"state\":!_vm.validation.mission.prestationExpertise.locativeLoyerAnnuelBrut.$error,\"currency\":\"€\",\"title\":\"Loyer annuel brut\"},model:{value:(_vm.rapport.locativeLoyerAnnuelBrut),callback:function ($$v) {_vm.$set(_vm.rapport, \"locativeLoyerAnnuelBrut\", $$v)},expression:\"rapport.locativeLoyerAnnuelBrut\"}}),_c('numeric-nullable',{attrs:{\"placeholder\":\"ex: 3 300,00\",\"state\":!_vm.validation.mission.prestationExpertise.locativeChargesNonRecuperables.$error,\"currency\":\"€\",\"title\":\"Charges non récupérables\"},model:{value:(_vm.rapport.locativeChargesNonRecuperables),callback:function ($$v) {_vm.$set(_vm.rapport, \"locativeChargesNonRecuperables\", $$v)},expression:\"rapport.locativeChargesNonRecuperables\"}}),_c('numeric-nullable',{attrs:{\"placeholder\":\"ex: 3 300,00\",\"state\":!_vm.validation.mission.prestationExpertise.locativeLoyerAnnuelNet.$error,\"currency\":\"€\",\"title\":\"Loyer annuel net\",\"read-only-class\":\"form-control text-right disabled\",\"read-only\":\"\"},model:{value:(_vm.rapport.locativeLoyerAnnuelNet),callback:function ($$v) {_vm.$set(_vm.rapport, \"locativeLoyerAnnuelNet\", $$v)},expression:\"rapport.locativeLoyerAnnuelNet\"}}),_c('b-form-group',{class:{ invalid: _vm.validation.mission.prestationExpertise.locativeCommentaire.$error },attrs:{\"state\":!_vm.validation.mission.prestationExpertise.locativeCommentaire.$error,\"label\":\"Commentaire\"}},[_c('b-form-textarea',{attrs:{\"type\":\"text\",\"rows\":8,\"state\":!_vm.validation.mission.prestationExpertise.locativeCommentaire.$error},model:{value:(_vm.rapport.locativeCommentaire),callback:function ($$v) {_vm.$set(_vm.rapport, \"locativeCommentaire\", $$v)},expression:\"rapport.locativeCommentaire\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport RapportExpertiseSectionMixin from '@/mixins/rapport-expertise-section.mixin';\r\nimport ChoicePopup from '@/shared/components/choice-popup.vue';\r\nimport DatePicker from '@/shared/components/date-picker.vue';\r\nimport NumericNullable from '@/shared/components/numeric-nullable.vue';\r\nimport VisaDisplay from '@/shared/components/visa-display.vue';\r\nimport { Component, Mixins, Watch } from 'vue-property-decorator';\r\n@Component({\r\n name: 'PrestationExpertiseRapportSituationLocativeLocative',\r\n components: {\r\n VisaDisplay,\r\n DatePicker,\r\n ChoicePopup,\r\n NumericNullable,\r\n },\r\n})\r\nexport default class PrestationExpertiseRapportSituationLocativeLocative extends Mixins(RapportExpertiseSectionMixin) {\r\n //#region LIFE CYCLES\r\n //#endregion\r\n //#region WATCH\r\n @Watch('rapport.locativeLoyerMensuelBrut')\r\n public locativeLoyerMensuelBrutChanged(val: number): void {\r\n if (val) {\r\n this.rapport.locativeLoyerAnnuelBrut = val * 12;\r\n } else {\r\n this.rapport.locativeLoyerAnnuelBrut = null;\r\n }\r\n }\r\n\r\n @Watch('rapport.locativeLoyerAnnuelBrut')\r\n public locativeLoyerAnnuelBrutChanged(val: number): void {\r\n if (val) {\r\n this.rapport.locativeLoyerMensuelBrut = val / 12;\r\n if (this.rapport.locativeChargesNonRecuperables) {\r\n this.rapport.locativeLoyerAnnuelNet = val - this.rapport.locativeChargesNonRecuperables;\r\n }\r\n } else {\r\n this.rapport.locativeLoyerMensuelBrut = null;\r\n }\r\n }\r\n\r\n @Watch('rapport.locativeChargesNonRecuperables')\r\n public locativeChargesNonRecuperablesChanged(val: number): void {\r\n if (val) {\r\n this.rapport.locativeLoyerAnnuelNet = this.rapport.locativeLoyerAnnuelBrut - val;\r\n } else {\r\n this.rapport.locativeLoyerAnnuelNet = null;\r\n }\r\n }\r\n //#endregion\r\n //#region COMPUTED\r\n //#endregion\r\n //#region EVENTS\r\n //#endregion\r\n //#region FUNCTIONS\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-situation-locative-locative.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-situation-locative-locative.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./prestation-expertise-rapport-situation-locative-locative.vue?vue&type=template&id=0d25837d&scoped=true&\"\nimport script from \"./prestation-expertise-rapport-situation-locative-locative.vue?vue&type=script&lang=ts&\"\nexport * from \"./prestation-expertise-rapport-situation-locative-locative.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0d25837d\",\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:\"prestation-expertise-rapport-situation-locative-controle-component\"},[(_vm.rapport.notes)?_c('visa-note',{attrs:{\"visa\":_vm.rapport.notes[_vm.getRapportExpertiseNoteSectionEnumName(_vm.rapportExpertiseNoteSectionEnum.SituationLocative)],\"section\":\"Situation locative\",\"isReadonly\":_vm.isNoteReadOnly}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Mixins } from 'vue-property-decorator';\r\n\r\nimport RapportExpertiseSectionMixin from '@/mixins/rapport-expertise-section.mixin';\r\n\r\nimport VisaNote from '@/shared/components/visa-note.vue';\r\n\r\n@Component({\r\n name: 'PrestationExpertiseRapportSituationLocativeControle',\r\n components: {\r\n VisaNote,\r\n },\r\n})\r\nexport default class PrestationExpertiseRapportSituationLocativeControle extends Mixins(RapportExpertiseSectionMixin) {\r\n //#region LIFE CYCLES\r\n //#endregion\r\n //#region WATCH\r\n //#endregion\r\n //#region EVENTS\r\n //#endregion\r\n //#region FUNCTIONS\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-situation-locative-controle.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-situation-locative-controle.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./prestation-expertise-rapport-situation-locative-controle.vue?vue&type=template&id=37d33f83&\"\nimport script from \"./prestation-expertise-rapport-situation-locative-controle.vue?vue&type=script&lang=ts&\"\nexport * from \"./prestation-expertise-rapport-situation-locative-controle.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"prestation-expertise-rapport-marche-etude-de-marche-component\"},[_c('visa-display',{attrs:{\"visa\":_vm.rapport.notes[_vm.getRapportExpertiseNoteSectionEnumName(_vm.rapportExpertiseNoteSectionEnum.EtudeDeMarche)]}}),_c('h3',[_vm._v(\"Place du bien sur le marché immobilier local\")]),_c('b-row',[_c('b-col',{attrs:{\"cols\":\"auto\"}},[_c('simple-chart',{attrs:{\"name\":\"chartProprietairesLocataires\",\"title\":\"Proportion de propriétaires et locataires\",\"options\":_vm.getProprietairesLocatairesOptions}})],1),_c('b-col',{attrs:{\"cols\":\"auto\"}},[_c('simple-chart',{attrs:{\"name\":\"chartMaisonsAppartements\",\"title\":\"Répartition maisons et appartements\",\"options\":_vm.getMaisonsAppartementsOptions}})],1),_c('b-col',{attrs:{\"cols\":\"auto\"}},[_c('simple-chart',{attrs:{\"name\":\"chartNombrePieces\",\"title\":\"Nombre de pièces\",\"options\":_vm.getNombrePiecesOptions}})],1),_c('b-col',{attrs:{\"cols\":\"auto\"}},[_c('simple-chart',{attrs:{\"name\":\"chartSurfaceLogements\",\"title\":\"Surface des logements\",\"options\":_vm.getSurfaceLogementsOptions}})],1),(_vm.isEvaluationMethodeRetenueComparaisonEtRendement)?_c('b-col',{attrs:{\"cols\":\"auto\"}},[_c('simple-chart',{attrs:{\"name\":\"chartPrixLoyer\",\"title\":\"Prix du loyer\",\"options\":_vm.getPrixLoyerOptions}})],1):_vm._e()],1),(_vm.isRapport)?_c('div',[(_vm.charts)?_c('b-row',[_c('b-col',{attrs:{\"cols\":\"auto\"}},[_c('multiple-chart',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.isTypeDeBienAppartement),expression:\"!isTypeDeBienAppartement\"}],attrs:{\"name\":\"parcLogementsMaisons\",\"title\":\"Période de construction du parc de logements\",\"data\":_vm.charts.parcLogementsMaisons,\"options\":_vm.getParcLogementsMaisonsOptions}}),_c('multiple-chart',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isTypeDeBienAppartement),expression:\"isTypeDeBienAppartement\"}],attrs:{\"name\":\"parcLogementsAppartements\",\"title\":\"Période de construction du parc de logements\",\"data\":_vm.charts.parcLogementsAppartements,\"options\":_vm.getParcLogementsAppartementsOptions}})],1),_c('b-col',{attrs:{\"cols\":\"auto\"}},[_c('multiple-chart',{attrs:{\"title\":\"Proportion de cadres / employés\",\"name\":\"parcLogementsAppartements\",\"data\":_vm.charts.cadresEmployes,\"options\":_vm.getCadresEmployesOptions}})],1)],1):_vm._e(),_c('b-row',[_c('b-col',{attrs:{\"cols\":\"auto\"}},[_c('simple-chart',{attrs:{\"name\":\"chartNombreEntreprises\",\"title\":\"Nombre d'entreprises\",\"options\":_vm.getNombreEntreprisesOptions}})],1),_c('b-col',{attrs:{\"cols\":\"auto\"}},[_c('simple-chart',{attrs:{\"name\":\"chartImpotFortune\",\"title\":\"Impôt sur la fortune en % de contribuables\",\"options\":_vm.getImpotFortuneOptions}})],1)],1)],1):_vm._e(),(_vm.isRapportVersionGreaterOrEqualsTo(3.0))?_c('b-form-group',{class:{ invalid: _vm.validation.mission.prestationExpertise.etudeMarcheSectorielle.$error },attrs:{\"state\":!_vm.validation.mission.prestationExpertise.etudeMarcheSectorielle.$error,\"label\":\"Etude de marché sectorielle\"}},[_c('b-form-textarea',{attrs:{\"type\":\"text\",\"rows\":8,\"state\":!_vm.validation.mission.prestationExpertise.etudeMarcheSectorielle.$error},model:{value:(_vm.rapport.etudeMarcheSectorielle),callback:function ($$v) {_vm.$set(_vm.rapport, \"etudeMarcheSectorielle\", $$v)},expression:\"rapport.etudeMarcheSectorielle\"}})],1):_vm._e(),_c('b-form-group',{attrs:{\"state\":!_vm.validation.mission.prestationExpertise.etudeMarcheAvisExpert.$error,\"label\":\"Avis de l'expert\",\"label-class\":\"text-secondary\"}},[_c('b-form-textarea',{attrs:{\"type\":\"text\",\"state\":!_vm.validation.mission.prestationExpertise.etudeMarcheAvisExpert.$error,\"rows\":8,\"placeholder\":\"Quel est votre avis sur la place du bien sur le marché immobilier local ?\"},model:{value:(_vm.rapport.etudeMarcheAvisExpert),callback:function ($$v) {_vm.$set(_vm.rapport, \"etudeMarcheAvisExpert\", $$v)},expression:\"rapport.etudeMarcheAvisExpert\"}})],1),_c('h3',[_vm._v(\"Eléments de comparaison\")]),(_vm.showPriceHubbleIframe && _vm.$can('RechercheComparable', 'Rapport'))?_c('b-button',{directives:[{name:\"b-modal\",rawName:\"v-b-modal.priceHubbleModal\",modifiers:{\"priceHubbleModal\":true}}],attrs:{\"variant\":\"secondary\"}},[_c('font-awesome-icon',{attrs:{\"icon\":\"eye\"}}),_vm._v(\" Rechercher des éléments de comparaison sur PriceHubble \")],1):_vm._e(),_c('b-modal',{ref:\"priceHubbleModal\",staticClass:\"modal-container\",attrs:{\"id\":\"priceHubbleModal\",\"size\":\"lg\",\"hide-header\":false,\"hide-footer\":true,\"modalClass\":\"modal-fullscreen\",\"lazy\":\"\",\"centered\":\"\",\"title\":\"Recherche d'éléments de comparaison Price Hubble\",\"static\":true},on:{\"show\":_vm.onShowModalClick},scopedSlots:_vm._u([{key:\"modal-header\",fn:function(ref){\nvar close = ref.close;\nreturn [_c('b-button',{staticClass:\"float-right\",attrs:{\"variant\":\"secondary\"},on:{\"click\":_vm.onSearchComparableClick}},[_vm._v(\"Importer les comparables\")]),_c('b-button',{attrs:{\"variant\":\"outline-primary\"},on:{\"click\":function($event){return close()}}},[_vm._v(\" Fermer \")])]}}])},[_c('iframe',{ref:\"priceHubbleIframe\",attrs:{\"id\":\"priceHubbleIframe\",\"url\":_vm.linkPriceHubbleUrl}}),_c('div',{staticClass:\"modal-container-zone-scroll\"},[_c('div',[_vm._v(\"Zone pour scroller\")]),_c('div',{staticClass:\"modal-container-zone-scroll-icon\"},[_c('font-awesome-icon',{attrs:{\"icon\":\"arrow-down\",\"aria-hidden\":\"true\"}})],1)])]),_c('div',{class:{\n invalid: _vm.validation.mission.prestationExpertise.etudeMarcheElementsComparaisonsVentes.$anyError,\n }},[_c('h4',[_vm._v(\"Eléments de comparaison vente\")]),(\n _vm.validation.mission.prestationExpertise.etudeMarcheElementsComparaisonsVentes.$error &&\n !_vm.validation.mission.prestationExpertise.etudeMarcheElementsComparaisonsVentes.required\n )?_c('div',{staticClass:\"empty-error\"},[_vm._v(\" Veuillez saisir à minima un élément de comparaison vente ou location \")]):_vm._e(),_c('ExtendableList',{ref:\"elementComparaisonVente\",attrs:{\"list\":_vm.rapport.etudeMarcheElementsComparaisonsVentes,\"rapportId\":_vm.rapport.id,\"texteAjouter\":\"Ajouter un élément de comparaison\",\"cssClass\":\"elementComparaison\"}},_vm._l((_vm.rapport.etudeMarcheElementsComparaisonsVentes),function(item,index){return _c('li',{key:index},[_c('ElementComparaison',{attrs:{\"typeSource\":_vm.businessEntries.etudeMarcheTypesSources,\"index\":index,\"estVente\":true,\"validation\":_vm.validation.mission.prestationExpertise.etudeMarcheElementsComparaisonsVentes.$each[index],\"piecesJointes\":_vm.rapport.piecesJointesRapport},model:{value:(_vm.rapport.etudeMarcheElementsComparaisonsVentes[index]),callback:function ($$v) {_vm.$set(_vm.rapport.etudeMarcheElementsComparaisonsVentes, index, $$v)},expression:\"rapport.etudeMarcheElementsComparaisonsVentes[index]\"}})],1)}),0)],1),_c('div',{class:{\n invalid: _vm.validation.mission.prestationExpertise.etudeMarcheElementsComparaisonsLocations.$anyError,\n }},[_c('h4',[_vm._v(\"Eléments de comparaison location\")]),(\n _vm.validation.mission.prestationExpertise.etudeMarcheElementsComparaisonsLocations.$error &&\n !_vm.validation.mission.prestationExpertise.etudeMarcheElementsComparaisonsLocations.required\n )?_c('div',{staticClass:\"empty-error\"},[_vm._v(\" Veuillez saisir à minima un élément de comparaison vente ou location \")]):_vm._e(),_c('ExtendableList',{ref:\"elementComparaisonLocation\",attrs:{\"list\":_vm.rapport.etudeMarcheElementsComparaisonsLocations,\"rapportId\":_vm.rapport.id,\"texteAjouter\":\"Ajouter un élément de comparaison\",\"cssClass\":\"elementComparaison\"}},_vm._l((_vm.rapport.etudeMarcheElementsComparaisonsLocations),function(item,index){return _c('li',{key:index},[_c('ElementComparaison',{attrs:{\"typeSource\":_vm.businessEntries.etudeMarcheTypesSources,\"index\":index,\"estVente\":false,\"validation\":_vm.validation.mission.prestationExpertise.etudeMarcheElementsComparaisonsLocations.$each[index],\"piecesJointes\":_vm.rapport.piecesJointesRapport},model:{value:(_vm.rapport.etudeMarcheElementsComparaisonsLocations[index]),callback:function ($$v) {_vm.$set(_vm.rapport.etudeMarcheElementsComparaisonsLocations, index, $$v)},expression:\"rapport.etudeMarcheElementsComparaisonsLocations[index]\"}})],1)}),0)],1),_c('h3',[_vm._v(\"Forces et faiblesses\")]),_c('b-row',[_c('b-col',{staticClass:\"text-center\",attrs:{\"cols\":\"12\",\"lg\":\"6\"}},[_c('font-awesome-icon',{staticClass:\"forces-title\",attrs:{\"icon\":\"plus-circle\"}}),_c('ExtendableListString',{attrs:{\"rapportId\":_vm.rapport.id,\"texteAjouter\":\"Ajouter une force\",\"vertical\":true,\"validation\":_vm.validation.mission.prestationExpertise.etudeMarcheForces},model:{value:(_vm.rapport.etudeMarcheForces),callback:function ($$v) {_vm.$set(_vm.rapport, \"etudeMarcheForces\", $$v)},expression:\"rapport.etudeMarcheForces\"}})],1),_c('b-col',{staticClass:\"text-center\",attrs:{\"cols\":\"12\",\"lg\":\"6\"}},[_c('font-awesome-icon',{staticClass:\"faiblesses-title\",attrs:{\"icon\":\"minus-circle\"}}),_c('ExtendableListString',{attrs:{\"rapportId\":_vm.rapport.id,\"texteAjouter\":\"Ajouter une faiblesse\",\"vertical\":true,\"validation\":_vm.validation.mission.prestationExpertise.etudeMarcheFaiblesses},model:{value:(_vm.rapport.etudeMarcheFaiblesses),callback:function ($$v) {_vm.$set(_vm.rapport, \"etudeMarcheFaiblesses\", $$v)},expression:\"rapport.etudeMarcheFaiblesses\"}})],1)],1),(_vm.isRapportVersionGreaterOrEqualsTo(3.3) && _vm.isRapport)?[_c('h3',[_vm._v(\"Opportunités et Menaces\")]),_c('b-row',[_c('b-col',{staticClass:\"text-center\",attrs:{\"cols\":\"12\",\"lg\":\"6\"}},[_c('font-awesome-icon',{staticClass:\"forces-title\",attrs:{\"icon\":\"rocket\"}}),_c('ExtendableListString',{attrs:{\"rapportId\":_vm.rapport.id,\"texteAjouter\":\"Ajouter une opportunité\",\"vertical\":true,\"validation\":_vm.validation.mission.prestationExpertise.etudeMarcheOpportunites},model:{value:(_vm.rapport.etudeMarcheOpportunites),callback:function ($$v) {_vm.$set(_vm.rapport, \"etudeMarcheOpportunites\", $$v)},expression:\"rapport.etudeMarcheOpportunites\"}})],1),_c('b-col',{staticClass:\"text-center\",attrs:{\"cols\":\"12\",\"lg\":\"6\"}},[_c('font-awesome-icon',{staticClass:\"faiblesses-title\",attrs:{\"icon\":\"exclamation-triangle\"}}),_c('ExtendableListString',{attrs:{\"rapportId\":_vm.rapport.id,\"texteAjouter\":\"Ajouter une menace\",\"vertical\":true,\"validation\":_vm.validation.mission.prestationExpertise.etudeMarcheMenaces},model:{value:(_vm.rapport.etudeMarcheMenaces),callback:function ($$v) {_vm.$set(_vm.rapport, \"etudeMarcheMenaces\", $$v)},expression:\"rapport.etudeMarcheMenaces\"}})],1)],1)]:_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-row',{staticClass:\"mb-5\"},[_c('b-col',{attrs:{\"cols\":\"auto\"}},[_c('span',{staticClass:\"index fa-2x\"},[_vm._v(_vm._s(_vm.index + 1)+\".\")])]),_c('b-col',{attrs:{\"cols\":\"auto\"}},[_c('rapport-expertise-file-uploader',{attrs:{\"id\":'fileuploader-' + (_vm.estVente ? 'vente' : 'location') + '-photo-' + _vm.index,\"type\":_vm.estVente ? 'ComparableVente' : 'ComparableLocation',\"piecesJointes\":_vm.piecesJointes,\"workingById\":true,\"pieceJointeId\":_vm.value.photoId,\"showLabel\":false,\"multiple\":false,\"animate\":false,\"isPhoto\":true,\"blobValue\":_vm.value.imageContent,\"order\":_vm.index,\"isMain\":true},on:{\"uploadedFileId\":_vm.onUploadedFileId}})],1),_c('b-col',[_c('b-row',{attrs:{\"align-h\":\"between\"}},[_c('b-col',{attrs:{\"cols\":\"auto\"}},[_c('radios',{attrs:{\"list\":_vm.typeSourceSelectionne,\"state\":!_vm.validation.typeDeSourceId.$error},model:{value:(_vm.value.typeDeSourceId),callback:function ($$v) {_vm.$set(_vm.value, \"typeDeSourceId\", $$v)},expression:\"value.typeDeSourceId\"}})],1),_c('b-col',{attrs:{\"cols\":\"auto\"}},[_c('b-button',{attrs:{\"variant\":\"outline-dark\"},on:{\"click\":_vm.deleteElementComparaison}},[_c('font-awesome-icon',{attrs:{\"icon\":\"trash\"}}),_vm._v(\" Supprimer \")],1)],1)],1),_c('div',{staticClass:\"mb-2\"},[_c('b-row',[(_vm.isTransaction || _vm.isValorisation)?_c('b-col',{attrs:{\"cols\":\"auto\"}},[_c('date-picker',{attrs:{\"placeholder\":_vm.placeholderDate,\"format\":\"MM/yyyy\",\"minimumView\":\"month\",\"state\":!_vm.validation.dateTransaction.$error},model:{value:(_vm.value.dateTransaction),callback:function ($$v) {_vm.$set(_vm.value, \"dateTransaction\", $$v)},expression:\"value.dateTransaction\"}})],1):_vm._e(),_c('b-col',{staticStyle:{\"display\":\"flex\",\"flex-direction\":\"row\"},attrs:{\"cols\":\"auto\"}},[_c('b-row',[_c('b-col',{staticClass:\"distance\"},[_vm._v(\" Distance en km (facultatif)\")]),_c('b-col',[_c('numeric-nullable',{staticClass:\"section-input\",attrs:{\"placeholder\":\"Distance (km)\"},model:{value:(_vm.displayDistance),callback:function ($$v) {_vm.displayDistance=$$v},expression:\"displayDistance\"}})],1)],1)],1)],1)],1),_c('b-form-group',{attrs:{\"state\":!_vm.validation.description.$error}},[_c('b-form-textarea',{attrs:{\"type\":\"text\",\"placeholder\":\"Description\",\"rows\":4,\"state\":!_vm.validation.description.$error},model:{value:(_vm.value.description),callback:function ($$v) {_vm.$set(_vm.value, \"description\", $$v)},expression:\"value.description\"}})],1),_c('b-row',{staticClass:\"bg-light m-0 text-center\"},[_c('b-col',{staticClass:\"pt-3 border-right\"},[_c('span',[_vm._v(\"Surface (m²)\")]),_c('numeric-nullable',{attrs:{\"align\":\"center\",\"state\":!_vm.validation.surface.$error},model:{value:(_vm.value.surface),callback:function ($$v) {_vm.$set(_vm.value, \"surface\", $$v)},expression:\"value.surface\"}})],1),_c('b-col',{staticClass:\"pt-3 border-right\"},[_c('span',[_vm._v(_vm._s(_vm.libelle)+\" (€)\")]),_c('numeric-nullable',{attrs:{\"align\":\"center\",\"state\":!_vm.validation.prixOuLoyer.$error},model:{value:(_vm.value.prixOuLoyer),callback:function ($$v) {_vm.$set(_vm.value, \"prixOuLoyer\", $$v)},expression:\"value.prixOuLoyer\"}})],1),_c('b-col',{staticClass:\"pt-3 prix-calcule\"},[_c('span',[_vm._v(_vm._s(_vm.libelleCalcule)+\" (€)\")]),_c('p',[_c('numeric-nullable',{attrs:{\"align\":\"center\",\"read-only\":true},model:{value:(_vm.value.prixOuLoyerCalcule),callback:function ($$v) {_vm.$set(_vm.value, \"prixOuLoyerCalcule\", $$v)},expression:\"value.prixOuLoyerCalcule\"}})],1)])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue, Watch, Inject } from 'vue-property-decorator';\r\n\r\nimport Radios from '@/shared/components/radios.vue';\r\nimport DatePicker from '@/shared/components/date-picker.vue';\r\nimport NumericNullable from '@/shared/components/numeric-nullable.vue';\r\nimport { isElementComparaisonTransaction, isElementComparaisonValorisation } from '@/helpers/rapport-expertise.helper';\r\nimport RapportExpertiseFileUploader from '@/shared/components/rapport-expertise/rapport-expertise-file-uploader.vue';\r\nimport { EtudeMarcheElementComparaisonDto } from '@/shared/dtos/etude-marche-element-comparaison.dto';\r\n// eslint-disable-next-line no-unused-vars\r\nimport ExtendableList from '@/shared/components/extendable-list.vue';\r\n\r\n@Component({\r\n name: 'ElementComparaison',\r\n components: { Radios, DatePicker, NumericNullable, RapportExpertiseFileUploader },\r\n})\r\nexport default class ElementComparaison extends Vue {\r\n @Prop() public value: EtudeMarcheElementComparaisonDto;\r\n @Prop() public typeSource: any;\r\n @Prop() public index: number;\r\n @Prop() public estVente: boolean;\r\n @Prop() public validation: any;\r\n @Prop() public piecesJointes: any;\r\n\r\n @Inject('addPieceJointe') public addPieceJointe: any;\r\n\r\n public libelle: any = null;\r\n public libelleCalcule: any = null;\r\n public typeSourceSelectionne: any = null;\r\n public placeholderDate: any = null;\r\n\r\n //#region LIFE CYCLES\r\n beforeMount() {\r\n this.$nextTick(() => {\r\n this.init();\r\n });\r\n }\r\n //#endregion\r\n\r\n //#region COMPUTED\r\n\r\n get isTransaction() {\r\n return isElementComparaisonTransaction(this.value);\r\n }\r\n\r\n get isValorisation() {\r\n return isElementComparaisonValorisation(this.value);\r\n }\r\n\r\n get displayDistance(): number {\r\n return this.value ? this.value.distance / 1000 : 0;\r\n }\r\n\r\n set displayDistance(val: number) {\r\n if (this.value) {\r\n this.value.distance = val * 1000;\r\n }\r\n }\r\n\r\n //#endregion\r\n\r\n //#region WATCH\r\n @Watch('value.surface')\r\n public surfaceChanged(val: any): void {\r\n if (val != null && val !== 0 && this.value.prixOuLoyer != null && this.value.prixOuLoyer !== 0) {\r\n this.value.prixOuLoyerCalcule = Math.round(this.value.prixOuLoyer / val);\r\n } else {\r\n this.value.prixOuLoyerCalcule = null;\r\n }\r\n }\r\n\r\n @Watch('value.prixOuLoyer')\r\n public prixOuLoyerChanged(val: any): void {\r\n if (val != null && val !== 0 && this.value.surface != null && this.value.surface !== 0) {\r\n this.value.prixOuLoyerCalcule = Math.round(val / this.value.surface);\r\n } else {\r\n this.value.prixOuLoyerCalcule = null;\r\n }\r\n }\r\n\r\n @Watch('value.prixOuLoyerCalcule')\r\n public prixOuLoyerCalculeChanged(val: any): void {\r\n if (isNaN(val)) {\r\n this.value.prixOuLoyerCalcule = 0;\r\n }\r\n }\r\n\r\n @Watch('isTransaction')\r\n public isTransactionChanged(val: boolean): void {\r\n if (val !== true) {\r\n this.value.dateTransaction = null;\r\n } else {\r\n this.placeholderDate = 'Date de la transaction';\r\n }\r\n }\r\n\r\n @Watch('isValorisation')\r\n public isValorisationChanged(val: boolean): void {\r\n if (val !== true) {\r\n this.value.dateTransaction = null;\r\n } else {\r\n this.placeholderDate = 'Date de la valorisation';\r\n }\r\n }\r\n\r\n @Watch('piecesJointes.comparable')\r\n public comparablePhotoChanged(newValue: any) {\r\n if (!newValue.some((pj: any) => pj.id == this.value.photoId)) this.value.photoId = null; // gère le cas où on supprime la photo uniquement\r\n }\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n public onUploadedFileId(id: number) {\r\n if (id != null && id !== 0) this.value.photoId = id;\r\n }\r\n\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n public async init(): Promise {\r\n this.value.vente = this.estVente;\r\n\r\n if (this.estVente === true) {\r\n this.libelle = 'Prix';\r\n this.libelleCalcule = 'Prix m² calculé';\r\n this.typeSourceSelectionne = this.typeSource.filter((obj: any) => {\r\n return obj.id !== 2016003;\r\n });\r\n } else {\r\n this.libelle = 'Loyer mensuel';\r\n this.libelleCalcule = 'Loyer mensuel calculé / m²';\r\n this.typeSourceSelectionne = this.typeSource.filter((obj: any) => {\r\n return obj.id !== 2016002;\r\n });\r\n }\r\n }\r\n\r\n public deleteElementComparaison() {\r\n (this.$parent as ExtendableList).deleteItem(this.index);\r\n }\r\n //#endregion\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./element-comparaison.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./element-comparaison.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./element-comparaison.vue?vue&type=template&id=039f079f&scoped=true&\"\nimport script from \"./element-comparaison.vue?vue&type=script&lang=ts&\"\nexport * from \"./element-comparaison.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./element-comparaison.vue?vue&type=style&index=0&id=039f079f&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 \"039f079f\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Mixins, Vue } from 'vue-property-decorator';\r\nimport RapportExpertiseSectionMixin from '@/mixins/rapport-expertise-section.mixin';\r\n\r\nimport VisaDisplay from '@/shared/components/visa-display.vue';\r\nimport ExtendableList from '@/shared/components/extendable-list.vue';\r\nimport ExtendableListString from '@/shared/components/extendable-list-string.vue';\r\nimport ElementComparaison from '@/components/element-comparaison.vue';\r\nimport { isElementComparaisonTransaction, isEvaluationMethodeRetenueComparaisonEtRendement } from '@/helpers/rapport-expertise.helper';\r\n\r\nimport SimpleChart from '@/shared/components/simple-chart.vue';\r\nimport MultipleChart from '@/shared/components/multiple-chart.vue';\r\nimport { TypeDonneesEstimationImmobiliereEnum } from '@/shared/enums/donnees-estimation-immobiliere-type.enum';\r\nimport { PriceHubbleDto } from '@/shared/dtos/price-hubble.dto';\r\nimport { EtudeMarcheElementComparaisonDto } from '@/shared/dtos/etude-marche-element-comparaison.dto';\r\nimport { DonneesEstimationImmobiliereDto } from '@/shared/dtos/donnees-estimation-immobiliere.dto';\r\nimport { SubjectMessage } from '@/shared/models/subject-message';\r\nimport { SubjectMessageTypeEnum } from '@/shared/enums/subject-message-type.enum';\r\nimport { orderBy } from 'lodash';\r\n\r\n@Component({\r\n name: 'PrestationExpertiseRapportMarcheEtudeDeMarche',\r\n components: {\r\n VisaDisplay,\r\n ExtendableList,\r\n ExtendableListString,\r\n ElementComparaison,\r\n SimpleChart,\r\n MultipleChart,\r\n },\r\n})\r\nexport default class PrestationExpertiseRapportMarcheEtudeDeMarche extends Mixins(RapportExpertiseSectionMixin) {\r\n public donneesEstimationImmobiliere: DonneesEstimationImmobiliereDto = null;\r\n\r\n public showPriceHubbleIframe: boolean = false;\r\n public dossierId: string = null;\r\n public linkPriceHubbleUrl: string = null;\r\n public charts: any = null;\r\n\r\n //#region LIFE CYCLES\r\n public beforeMount(): void {\r\n Vue.prototype.$subjectMessageService.subject.subscribe((subjectMessage: SubjectMessage) => {\r\n if (subjectMessage.type === SubjectMessageTypeEnum.REFRESH_DONNEES_ESTIMATION_IMMOBILIERES) {\r\n this.donneesEstimationImmobiliere = subjectMessage.message;\r\n if (this.donneesEstimationImmobiliere) {\r\n this.initIframe();\r\n this.charts = this.donneesEstimationImmobiliere.charts;\r\n }\r\n }\r\n });\r\n\r\n this.orderByForEtudeMarcheElementsComparaisons();\r\n }\r\n\r\n //#endregion\r\n\r\n //#region COMPUTED\r\n get isEvaluationMethodeRetenueComparaisonEtRendement(): boolean {\r\n return isEvaluationMethodeRetenueComparaisonEtRendement(this.rapport.evaluationMethodeRetenueId);\r\n }\r\n\r\n //#endregion\r\n\r\n //#region WATCH\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n public async onShowModalClick(): Promise {\r\n await Vue.prototype.$donneesEstimationImmobiliereApiService\r\n .authenticate()\r\n .then(async (accessToken: string) => {\r\n let iframe = this.$refs.priceHubbleIframe as HTMLIFrameElement;\r\n iframe.src = `${Vue.prototype.$config.priceHubbleIframeBaseUrl}my-dash?access_token=${accessToken}`;\r\n\r\n // Bug 1839 : solution de recontournement pour avoir correctement les comparables (solution proposée par PriceHubble eux-mêmes)\r\n setTimeout(() => {\r\n iframe.src = `${Vue.prototype.$config.priceHubbleIframeBaseUrl}dossier/${this.dossierId}/similar?access_token=${accessToken}`;\r\n }, 2000);\r\n })\r\n .catch(async (error: any) => {\r\n await Vue.prototype.$logStoreService.error(`Erreur lors de la connexion à PriceHubble - ERROR`, error, 'PriceHubble');\r\n });\r\n }\r\n\r\n public onSearchComparableClick(): void {\r\n Vue.prototype.$donneesEstimationImmobiliereApiService\r\n .getComparables(this.dossierId)\r\n .then((comparables: EtudeMarcheElementComparaisonDto[]) => {\r\n comparables.forEach((x) => (x.rapportExpertiseId = +this.rapport.id));\r\n const listElementsComparaisonsVente = comparables.filter((x) => x.vente);\r\n if (listElementsComparaisonsVente.length > 0) {\r\n const elementComparaisonVenteRef: ExtendableList = this.$refs.elementComparaisonVente as unknown as ExtendableList;\r\n elementComparaisonVenteRef.addItemsToList(listElementsComparaisonsVente);\r\n }\r\n\r\n const listElementsComparaisonsLocation = comparables.filter((x) => !x.vente);\r\n if (listElementsComparaisonsLocation.length > 0) {\r\n const elementComparaisonLocationRef: ExtendableList = this.$refs.elementComparaisonLocation as unknown as ExtendableList;\r\n elementComparaisonLocationRef.addItemsToList(listElementsComparaisonsLocation);\r\n }\r\n\r\n Vue.prototype.$donneesEstimationImmobiliereApiService.removeComparables(this.dossierId);\r\n\r\n this.orderByForEtudeMarcheElementsComparaisons();\r\n\r\n (this.$refs.priceHubbleModal as any).hide();\r\n });\r\n }\r\n\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n\r\n private orderByForEtudeMarcheElementsComparaisons(): void {\r\n this.rapport.etudeMarcheElementsComparaisonsVentes = orderBy(this.rapport.etudeMarcheElementsComparaisonsVentes, (x) => x.distance);\r\n\r\n this.rapport.etudeMarcheElementsComparaisonsLocations = orderBy(\r\n this.rapport.etudeMarcheElementsComparaisonsLocations,\r\n (x) => x.distance\r\n );\r\n }\r\n\r\n public isElementComparaisonTransaction(elementComparaison: any): boolean {\r\n return isElementComparaisonTransaction(elementComparaison);\r\n }\r\n\r\n public getProprietairesLocatairesOptions(): any {\r\n if (!this.charts) return null;\r\n return (window as any).getChartProprietairesLocatairesOptions(this.charts.proprietairesLocataires);\r\n }\r\n\r\n public getMaisonsAppartementsOptions(): any {\r\n if (!this.charts) return null;\r\n return (window as any).getChartMaisonsAppartementsOptions(this.charts.maisonsAppartements);\r\n }\r\n public getNombrePiecesOptions(): any {\r\n if (!this.charts) return null;\r\n return (window as any).getChartNombrePiecesOptions(this.charts.nombrePieces);\r\n }\r\n public getSurfaceLogementsOptions(): any {\r\n if (!this.charts) return null;\r\n return (window as any).getChartSurfaceLogementsOptions(this.charts.surfaceLogements);\r\n }\r\n public getNombreEntreprisesOptions(): any {\r\n if (!this.charts) return null;\r\n return (window as any).getChartNombreEntreprisesOptions(this.charts.nombreEntreprises);\r\n }\r\n public getImpotFortuneOptions(): any {\r\n if (!this.charts) return null;\r\n return (window as any).getChartImpotFortuneOptions(this.charts.impotFortune);\r\n }\r\n\r\n public getParcLogementsMaisonsOptions(dataset: any): any {\r\n if (!this.charts) return null;\r\n return (window as any).getChartParcLogementsOptions(dataset, 'maisons');\r\n }\r\n\r\n public getParcLogementsAppartementsOptions(dataset: any): any {\r\n if (!this.charts) return null;\r\n return (window as any).getChartParcLogementsOptions(dataset, 'appartements');\r\n }\r\n\r\n public getCadresEmployesOptions(dataset: any): any {\r\n if (!this.charts) return null;\r\n return (window as any).getChartCadresEmployesOptions(dataset);\r\n }\r\n\r\n public getPrixLoyerOptions(): any {\r\n if (!this.charts) return null;\r\n return (window as any).getChartPrixLoyerOptions(this.charts.prixLoyer);\r\n }\r\n\r\n private initIframe(): void {\r\n this.showPriceHubbleIframe =\r\n this.donneesEstimationImmobiliere.type === TypeDonneesEstimationImmobiliereEnum.PriceHubbleV1 &&\r\n this.$can('RechercheComparable', 'Rapport');\r\n if (this.showPriceHubbleIframe) {\r\n this.dossierId = (this.donneesEstimationImmobiliere as PriceHubbleDto).dossierId;\r\n this.linkPriceHubbleUrl = Vue.prototype.$config.priceHubbleIframeBaseUrl;\r\n }\r\n }\r\n\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-marche-etude-de-marche.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-marche-etude-de-marche.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./prestation-expertise-rapport-marche-etude-de-marche.vue?vue&type=template&id=25bc3f1a&scoped=true&\"\nimport script from \"./prestation-expertise-rapport-marche-etude-de-marche.vue?vue&type=script&lang=ts&\"\nexport * from \"./prestation-expertise-rapport-marche-etude-de-marche.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./prestation-expertise-rapport-marche-etude-de-marche.vue?vue&type=style&index=0&id=25bc3f1a&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 \"25bc3f1a\",\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:\"prestation-expertise-marche-controle-component\"},[_c('visa-note',{attrs:{\"visa\":_vm.rapport.notes[_vm.getRapportExpertiseNoteSectionEnumName(_vm.rapportExpertiseNoteSectionEnum.EtudeDeMarche)],\"section\":\"Etude de marché\",\"isReadonly\":_vm.isNoteReadOnly}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Mixins } from 'vue-property-decorator';\r\nimport RapportExpertiseSectionMixin from '@/mixins/rapport-expertise-section.mixin';\r\n\r\nimport VisaNote from '@/shared/components/visa-note.vue';\r\n\r\n@Component({\r\n name: 'PrestationExpertiseRapportMarcheControle',\r\n components: {\r\n VisaNote,\r\n },\r\n})\r\nexport default class PrestationExpertiseRapportMarcheControle extends Mixins(RapportExpertiseSectionMixin) {\r\n //#region LIFE CYCLES\r\n //#endregion\r\n //#region COMPUTED\r\n //#endregion\r\n //#region WATCH\r\n //#endregion\r\n //#region EVENTS\r\n //#endregion\r\n //#region FUNCTIONS\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-marche-controle.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-marche-controle.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./prestation-expertise-rapport-marche-controle.vue?vue&type=template&id=1be254d6&\"\nimport script from \"./prestation-expertise-rapport-marche-controle.vue?vue&type=script&lang=ts&\"\nexport * from \"./prestation-expertise-rapport-marche-controle.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"prestation-expertise-rapport-evaluation-evaluation\"},[_c('visa-display',{attrs:{\"visa\":_vm.rapport.notes[_vm.getRapportExpertiseNoteSectionEnumName(_vm.rapportExpertiseNoteSectionEnum.Evaluation)]}}),_c('h3',[_vm._v(\"Méthode(s) retenue(s)\")]),_c('radios',{attrs:{\"list\":_vm.evaluationMethodesRetenues,\"state\":!_vm.validation.mission.prestationExpertise.evaluationMethodeRetenueId.$error,\"title\":\"Méthode retenue\",\"isDisabled\":_vm.value.societeId == 630370 || _vm.isEvaluationMethodeRetenueDisabled},model:{value:(_vm.rapport.evaluationMethodeRetenueId),callback:function ($$v) {_vm.$set(_vm.rapport, \"evaluationMethodeRetenueId\", $$v)},expression:\"rapport.evaluationMethodeRetenueId\"}}),_c('b-form-group',{attrs:{\"state\":!_vm.validation.mission.prestationExpertise.evaluationAvisDeLExpert.$error,\"label\":_vm.isRapportVersionLowerOrEqualsTo(2.0) ? \"Avis de l'expert\" : 'Justification et positionnement de la valeur'}},[_c('b-form-textarea',{attrs:{\"type\":\"text\",\"state\":!_vm.validation.mission.prestationExpertise.evaluationAvisDeLExpert.$error,\"rows\":8,\"placeholder\":\"Quel est votre avis sur l'évaluation ?\"},model:{value:(_vm.rapport.evaluationAvisDeLExpert),callback:function ($$v) {_vm.$set(_vm.rapport, \"evaluationAvisDeLExpert\", $$v)},expression:\"rapport.evaluationAvisDeLExpert\"}})],1),(!_vm.isEvaluationMethodeRetenueRendement)?_c('numeric-nullable',{attrs:{\"placeholder\":\"ex: 3 300,00\",\"state\":!_vm.validation.mission.prestationExpertise.evaluationReductionMetriqueTransactionRetenue.$error,\"currency\":\"€\",\"title\":\"Réduction métrique transaction retenue (hors droits)\"},model:{value:(_vm.rapport.evaluationReductionMetriqueTransactionRetenue),callback:function ($$v) {_vm.$set(_vm.rapport, \"evaluationReductionMetriqueTransactionRetenue\", $$v)},expression:\"rapport.evaluationReductionMetriqueTransactionRetenue\"}}):_vm._e(),(_vm.isEvaluationMethodeRetenueComparaisonEtRendement || _vm.isEvaluationMethodeRetenueRendement)?_c('div',[_c('numeric-nullable',{attrs:{\"placeholder\":\"ex: 12,00\",\"state\":!_vm.validation.mission.prestationExpertise.evaluationReductionMetriqueLocationRetenue.$error,\"currency\":\"€/mois\",\"title\":\"Réduction métrique location retenue\"},model:{value:(_vm.rapport.evaluationReductionMetriqueLocationRetenue),callback:function ($$v) {_vm.$set(_vm.rapport, \"evaluationReductionMetriqueLocationRetenue\", $$v)},expression:\"rapport.evaluationReductionMetriqueLocationRetenue\"}}),_c('numeric-nullable',{attrs:{\"placeholder\":\"ex: 5,9\",\"state\":!_vm.validation.mission.prestationExpertise.evaluationTauxRendementRetenu.$error,\"currency\":\"%\",\"title\":\"Taux de rendement retenu\"},model:{value:(_vm.evaluationTauxRendementRetenu),callback:function ($$v) {_vm.evaluationTauxRendementRetenu=$$v},expression:\"evaluationTauxRendementRetenu\"}}),_c('span',[_vm._v(\"Droit d'enregistrement = \"+_vm._s(_vm.evaluationDroitEnregistrementDisplayText)+\" %\")])],1):_vm._e(),(_vm.hasValeurApresTravaux)?_c('div',[_c('h4',[_vm._v(\"Valeurs après travaux\")]),_c('numeric-nullable',{attrs:{\"placeholder\":\"ex: 12,00\",\"state\":!_vm.validation.mission.prestationExpertise.evaluationSurfaceOuSuperficieApresTravaux.$error,\"currency\":\"m²\",\"title\":_vm.titreSurfaceOuSuperficieApresTravaux},model:{value:(_vm.rapport.evaluationSurfaceOuSuperficieApresTravaux),callback:function ($$v) {_vm.$set(_vm.rapport, \"evaluationSurfaceOuSuperficieApresTravaux\", $$v)},expression:\"rapport.evaluationSurfaceOuSuperficieApresTravaux\"}}),_c('numeric-nullable',{attrs:{\"placeholder\":\"ex: 3 300,00\",\"state\":!_vm.validation.mission.prestationExpertise.evaluationReductionMetriqueApresTravaux.$error,\"currency\":\"€\",\"title\":\"Réduction métrique transaction retenue après travaux (hors droits)\"},model:{value:(_vm.rapport.evaluationReductionMetriqueApresTravaux),callback:function ($$v) {_vm.$set(_vm.rapport, \"evaluationReductionMetriqueApresTravaux\", $$v)},expression:\"rapport.evaluationReductionMetriqueApresTravaux\"}})],1):_vm._e(),(false)?_c('h3',[_vm._v(\"Valorisation des travaux énergetiques\")]):_vm._e(),(false)?_c('scenario-renovation',{attrs:{\"rapport\":_vm.rapport,\"mission\":_vm.mission}}):_vm._e(),(_vm.hasValeurLocative)?_c('div',[_c('h4',[_vm._v(\"Valeur locative de marché\")]),_c('numeric-nullable',{attrs:{\"state\":!_vm.validation.mission.prestationExpertise.evaluationValeurLocativeMensuelle.$error,\"currency\":\"€\",\"title\":\"Valeur locative mensuelle\"},model:{value:(_vm.rapport.evaluationValeurLocativeMensuelle),callback:function ($$v) {_vm.$set(_vm.rapport, \"evaluationValeurLocativeMensuelle\", $$v)},expression:\"rapport.evaluationValeurLocativeMensuelle\"}}),_c('numeric-nullable',{attrs:{\"state\":!_vm.validation.mission.prestationExpertise.evaluationValeurLocativeChargesAnnuelles.$error,\"currency\":\"€\",\"title\":\"Charges annuelles\"},model:{value:(_vm.rapport.evaluationValeurLocativeChargesAnnuelles),callback:function ($$v) {_vm.$set(_vm.rapport, \"evaluationValeurLocativeChargesAnnuelles\", $$v)},expression:\"rapport.evaluationValeurLocativeChargesAnnuelles\"}})],1):_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',[(_vm.mission.scenarioRenovation != null)?_c('div',_vm._l((_vm.mission.scenarioRenovation.renovationScenarios),function(scenario,index){return _c('apercu-renovation',{key:index,attrs:{\"value\":scenario,\"scenario\":scenario,\"mission\":_vm.mission,\"propertyDossier\":_vm.dossier.property,\"caracteristiqueEnergetiqueReferentiel\":_vm.caracteristiqueEnergetiqueReferentiel}})}),1):(_vm.rapport.caracteristiquesDPEId == null || _vm.rapport.caracteristiquesDPEId == 0)?_c('div',[_c('p',[_vm._v(\"Merci d'estimer ou renseigner un DPE pour obtenir les scénarios de rénovation énergétique\")])]):_c('div',[_c('p',[_vm._v(\"Le bien ne nécessite pas de rénovation énergétique\")])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card',{attrs:{\"header-tag\":\"header\",\"footer-tag\":\"footer\"},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('b-row',{},[_c('b-col',{attrs:{\"cols\":\"auto\"}},[_c('b-form-checkbox',{model:{value:(_vm.scenario.toExport),callback:function ($$v) {_vm.$set(_vm.scenario, \"toExport\", $$v)},expression:\"scenario.toExport\"}})],1),_c('b-col',{attrs:{\"cols\":\"auto\"}},[_c('span',{staticClass:\"fw-bold fs-1\",staticStyle:{\"font-size\":\"1.2em\"}},[_vm._v(\"Scénario\")])]),_c('b-col',{attrs:{\"cols\":\"auto\"}},[_c('etiquette-dpe',{attrs:{\"value\":_vm.actualDpe,\"showDetail\":false,\"summary\":true}})],1),_c('span',{staticStyle:{\"font-size\":\"1.2em\"}},[_vm._v(\"à\")]),_c('b-col',{attrs:{\"cols\":\"auto\"}},[_c('etiquette-dpe',{attrs:{\"value\":_vm.targetDpe,\"showDetail\":false,\"summary\":true}})],1)],1)]},proxy:true}])},[_c('div',{staticClass:\"container col-md-9 pull-left\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-md-12 text-left\"},[_c('table',{staticClass:\"table table-borderless\",staticStyle:{\"font-size\":\"1.2em\"}},_vm._l((_vm.scenario.renovations),function(renovation){return _c('tr',{key:renovation.type},[_c('td',[_vm._v(_vm._s(_vm.getValueFromreferentiel(renovation.type))+\" : \"+_vm._s(_vm.isSameValue(renovation)))]),_c('td',{staticClass:\"text-right font-weight-bold\"},[_vm._v(_vm._s(_vm._f(\"thousandSeparator\")(renovation.costs.value))+\" €\")])])}),0)]),_c('div',{staticClass:\"col-md-9\"}),_c('div',{staticClass:\"col-md-3\"},[_c('div',[_c('table',{staticClass:\"table table-borderless\",staticStyle:{\"font-size\":\"1.2em\",\"background-color\":\"#f5f5f5\",\"border-radius\":\"10px !important\"}},[_c('tr',[_c('td',[_vm._v(\"Montant travaux\")]),_c('td',{staticClass:\"text-right font-weight-bold\"},[_vm._v(_vm._s(_vm._f(\"thousandSeparator\")(_vm.scenario.totalRenovationsCosts.value))+\" €\")])]),_c('tr',[_c('td',[_vm._v(\"Impact prix\")]),_c('td',{staticClass:\"text-right font-weight-bold\"},[_vm._v(_vm._s(_vm._f(\"thousandSeparator\")(_vm.scenario.salePriceDifference.value))+\" €\")])])])]),_c('div',[_c('table',{staticClass:\"table table-borderless\",staticStyle:{\"font-size\":\"1.2em\",\"border-radius\":\"10px\"}},[_c('tr',{style:({\n backgroundColor: _vm.scenario.salePriceDifference.value - _vm.scenario.totalRenovationsCosts.value > 0 ? '#4eb353' : '#af1b19',\n })},[_c('td',[_vm._v(\"Plus value\")]),_c('td',{staticClass:\"text-right font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm._f(\"thousandSeparator\")((_vm.scenario.salePriceDifference.value - _vm.scenario.totalRenovationsCosts.value)))+\" € \")])]),_c('tr',[_c('td'),_c('td',{staticClass:\"text-right\"})])])])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Inject, Mixins, Prop, Vue } from 'vue-property-decorator';\r\nimport { Dpe } from '@/shared/models/dpe.model';\r\nimport { DpeEnum } from '@/shared/constants/tableDPE.const';\r\nimport { Renovation, RenovationScenarioDetailed } from '@/shared/dtos/scenario-renovation.dto';\r\nimport EtiquetteDpe from '../etiquette-dpe.vue';\r\nimport { PropertyDossier } from '@/shared/models/dossier/property.model';\r\nimport { MissionDto } from '@/shared/dtos/mission.dto';\r\nimport { toOnlyTextAndNumberLower } from '@/shared/utilities/string.utility';\r\n\r\n@Component({\r\n name: 'apercu-renovation',\r\n components: { EtiquetteDpe },\r\n})\r\nexport default class ApercuRenovation extends Vue {\r\n @Prop() public propertyDossier: PropertyDossier;\r\n @Prop() public scenario: RenovationScenarioDetailed;\r\n @Prop() public mission: MissionDto;\r\n @Prop() public caracteristiqueEnergetiqueReferentiel: Record;\r\n\r\n public targetDpe: Dpe = DpeEnum.G;\r\n public actualDpe: Dpe = DpeEnum.G;\r\n\r\n public refDpe: Dpe[] = Object.values(DpeEnum);\r\n public caracteristiqueActuelle: Record;\r\n public plusValue: number;\r\n\r\n //#region LIFE CYCLES\r\n beforeMount() {\r\n this.targetDpe = EtiquetteDpe.getDPE(this.scenario.energyLabel.value);\r\n this.actualDpe = EtiquetteDpe.getDPE(this.mission.scenarioRenovation.currentEnergyLabel.value);\r\n this.caracteristiqueActuelle = this.toFlatKeyValueDictionary(this.propertyDossier);\r\n }\r\n\r\n //#endregion\r\n\r\n //#region COMPUTED\r\n\r\n //#endregion\r\n\r\n //#region WATCH\r\n //#endregion\r\n //#region EVENTS\r\n\r\n //#endregion\r\n //#region FUNCTIONS\r\n\r\n toFlatKeyValueDictionary(obj: any): Record {\r\n let result: Record = {};\r\n for (const key in obj) {\r\n const value = obj[key];\r\n if (typeof value == 'number' || typeof value == 'string' || value === null) {\r\n result[this.getToOnlyTextAndNumberLower(key)] = value;\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n\r\n private getValueFromreferentiel(key: string) {\r\n if (this.getToOnlyTextAndNumberLower(key) in this.caracteristiqueEnergetiqueReferentiel)\r\n return this.caracteristiqueEnergetiqueReferentiel[toOnlyTextAndNumberLower(key)];\r\n\r\n Vue.prototype.$logStoreService.error(\r\n `Scenario Renovation - ERROR - ${toOnlyTextAndNumberLower(key)} n'est pas défini dans le referentiel`\r\n );\r\n return ' ';\r\n }\r\n\r\n private getToOnlyTextAndNumberLower(input: string) {\r\n return toOnlyTextAndNumberLower(input);\r\n }\r\n\r\n private isSameValue(renovation: Renovation) {\r\n const currentValue = this.getValueFromreferentiel(\r\n this.caracteristiqueActuelle[this.getToOnlyTextAndNumberLower(renovation.type)].toString()\r\n );\r\n const renovationValue = this.getValueFromreferentiel(renovation.value);\r\n\r\n return currentValue === renovationValue ? currentValue : `${currentValue} → ${renovationValue}`;\r\n }\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./rapport-expertise-apercu-renovation.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./rapport-expertise-apercu-renovation.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./rapport-expertise-apercu-renovation.vue?vue&type=template&id=455c4907&scoped=true&\"\nimport script from \"./rapport-expertise-apercu-renovation.vue?vue&type=script&lang=ts&\"\nexport * from \"./rapport-expertise-apercu-renovation.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"455c4907\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { EstimationDpeInput } from '@/shared/dtos/estimation-dpe.dto';\r\nimport { PriceHubbleDto } from '@/shared/dtos/price-hubble.dto';\r\nimport { Component, Inject, Mixins, Prop, Vue } from 'vue-property-decorator';\r\nimport { DossierPriceHubble } from '@/shared/models/dossier/dossier-pricehubble.model';\r\nimport { EstimationDpeResponse } from '@/shared/dtos/estimation-dpe-response.dto';\r\nimport { Renovation, RenovationScenarioDetailed, ScenarioRenovationDto } from '@/shared/dtos/scenario-renovation.dto';\r\nimport ApercuRenovation from './rapport-expertise-apercu-renovation.vue';\r\nimport { MissionDto } from '@/shared/dtos/mission.dto';\r\nimport { toOnlyTextAndNumberLower } from '@/shared/utilities/string.utility';\r\nimport { EventBus } from '@/main';\r\nimport { AnnexeStatutEnum } from '@/shared/enums/annexe-statut.enum';\r\nimport { RapportExpertiseDto } from '@/shared/dtos/rapport-expertise.dto';\r\n\r\n@Component({\r\n components: {\r\n ApercuRenovation,\r\n },\r\n})\r\nexport default class ScenarioRenovation extends Vue {\r\n @Prop() public rapport: RapportExpertiseDto;\r\n @Prop() public mission: MissionDto;\r\n\r\n public caracteristiqueEnergetiqueReferentiel: Record = {};\r\n public dossier: DossierPriceHubble = new DossierPriceHubble();\r\n\r\n //#region LIFE CYCLES\r\n\r\n public async mounted() {\r\n await this.loadDossier();\r\n await this.loadReferentiel();\r\n if (this.rapport.caracteristiquesDPEId != null) this.GetScenarioRenovation();\r\n EventBus.$on('GetScenarioRenovationEmit', (value: number | null) => {\r\n if (value == null || value == 0) this.mission.scenarioRenovation = null;\r\n else if (this.rapport.caracteristiquesDPEId != null) this.GetScenarioRenovation();\r\n });\r\n }\r\n\r\n beforeDestroy() {\r\n // Nettoyer l'écouteur d'événements pour éviter les fuites de mémoire\r\n EventBus.$off('GetScenarioRenovationEmit');\r\n }\r\n //#endregion\r\n\r\n //#region COMPUTED\r\n\r\n //#endregion\r\n\r\n //#region WATCH\r\n //#endregion\r\n //#region EVENTS\r\n\r\n //#endregion\r\n //#region FUNCTIONS\r\n\r\n private async loadDossier() {\r\n await Vue.prototype.$donneesEstimationImmobiliereApiService\r\n .getDossierByRapportId(this.rapport.id)\r\n .then(async (dossier: DossierPriceHubble) => {\r\n this.dossier = dossier;\r\n })\r\n .catch(async (error: any) => {\r\n Vue.prototype.$notificationService.error(`Une erreur est survenue lors de la récupération du dossier.`);\r\n await Vue.prototype.$logStoreService.error(`Dossier - ERROR`, error, 'Dossier');\r\n });\r\n }\r\n\r\n private async loadReferentiel() {\r\n await Vue.prototype.$referentielService.getReferentielDpe().then((refs: Record[]) => {\r\n this.caracteristiqueEnergetiqueReferentiel = refs.reduce((acc, current) => {\r\n return { ...acc, ...current };\r\n }, {} as Record);\r\n });\r\n }\r\n\r\n public async GetScenarioRenovation() {\r\n await Vue.prototype.$donneesEstimationImmobiliereApiService\r\n .getScenarioEstimation(this.dossier.id)\r\n .then(async (scenarioRenovation: ScenarioRenovationDto) => {\r\n if (scenarioRenovation.renovationScenarios != null && scenarioRenovation.renovationScenarios.length > 0) {\r\n scenarioRenovation.renovationScenarios.forEach(\r\n (x) => (x.toExport = x.salePriceDifference.value - x.totalRenovationsCosts.value > 0)\r\n );\r\n this.mission.scenarioRenovation = scenarioRenovation;\r\n this.mission.scenarioRenovation.renovationScenarios.forEach((rs) => {\r\n if (rs.renovations != null)\r\n rs.renovations.forEach((r) => {\r\n this.mapRenovationProperties(r);\r\n });\r\n });\r\n\r\n //On trie les scenarios en affichant ceux ayant la meilleure différence de prix #moulaga\r\n if (this.mission.scenarioRenovation != null)\r\n this.mission.scenarioRenovation.renovationScenarios.sort((a, b) =>\r\n a.salePriceDifference.value - a.totalRenovationsCosts.value > b.salePriceDifference.value - b.totalRenovationsCosts.value\r\n ? -1\r\n : 1\r\n );\r\n } else {\r\n this.mission.scenarioRenovation = null;\r\n }\r\n })\r\n .catch(async (error: any) => {\r\n Vue.prototype.$notificationService.error(\r\n `Une erreur est survenue lors de l'estimation du DPE. Assurez vous que l'adresse, le type du bien ainsi que le titre de l'annonce soit correctement complétés.`\r\n );\r\n await Vue.prototype.$logStoreService.error(`Estimation - ERROR`, error, 'Estimation');\r\n });\r\n }\r\n\r\n private async mapRenovationProperties(r: Renovation) {\r\n const normalizedType = toOnlyTextAndNumberLower(r.type);\r\n\r\n switch (normalizedType) {\r\n case 'floornumber':\r\n r.dossierValue = this.dossier.property.floorNumber.toString();\r\n break;\r\n case 'numberofwindows':\r\n r.dossierValue = this.dossier.property.numberOfWindows.toString();\r\n break;\r\n case 'heatingtype':\r\n r.dossierValue = this.dossier.property.heatingType.toString();\r\n break;\r\n case 'hotwatergenerationtype':\r\n r.dossierValue = this.dossier.property.hotWaterGenerationType;\r\n break;\r\n case 'numberofexternalfacingwalls':\r\n r.dossierValue = this.dossier.property.numberOfExternalFacingWalls.toString();\r\n break;\r\n case 'isolationrenovationperiod':\r\n r.dossierValue = this.dossier.property.isolationRenovationPeriod;\r\n break;\r\n case 'glazingtype':\r\n r.dossierValue = this.dossier.property.glazingType;\r\n break;\r\n case 'airflowtype':\r\n r.dossierValue = this.dossier.property.airflowType;\r\n break;\r\n case 'heatinggenerationtype':\r\n r.dossierValue = this.dossier.property.heatingType;\r\n break;\r\n default:\r\n await Vue.prototype.$logStoreService.error(`Scenario Renovation - ERROR - ${r.type} non référencé lors du mapping`);\r\n break;\r\n }\r\n }\r\n\r\n //#endregion\r\n}\r\n","export enum FeatureEnum {\r\n /** Indique que le client a accès aux scénarios de rénovation */\r\n ScenarioRenovation = 1,\r\n\r\n /** Indique que le client a le droit de sélectionner \"Médiocre\" dans le niveau de liquidité. */\r\n HideNiveauDeLiquiditeMediocre = 2,\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./rapport-scenario-renovation.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./rapport-scenario-renovation.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./rapport-scenario-renovation.vue?vue&type=template&id=ffb37d46&scoped=true&\"\nimport script from \"./rapport-scenario-renovation.vue?vue&type=script&lang=ts&\"\nexport * from \"./rapport-scenario-renovation.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"ffb37d46\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Vue, Component, Mixins, Watch } from 'vue-property-decorator';\r\nimport RapportExpertiseSectionMixin from '@/mixins/rapport-expertise-section.mixin';\r\nimport { RenovationScenarioDetailed, ScenarioRenovationDto } from '@/shared/dtos/scenario-renovation.dto';\r\nimport VisaDisplay from '@/shared/components/visa-display.vue';\r\nimport NumericNullable from '@/shared/components/numeric-nullable.vue';\r\nimport Radios from '@/shared/components/radios.vue';\r\nimport {\r\n isEvaluationMethodeRetenueComparaisonEtRendement,\r\n isEvaluationMethodeRetenueRendement,\r\n isContratConditionOccupationOccupe,\r\n hasValeurApresTravaux,\r\n hasValeurLocative,\r\n} from '@/helpers/rapport-expertise.helper';\r\nimport Decimal from 'decimal.js';\r\nimport { ContratHypotheseEvaluationEnum } from '@/shared/enums/contrat-hypothese-evaluation.enum';\r\nimport { RapportExpertiseBusinessEntryDto } from '@/shared/dtos/rapport-expertise-business-entry.dto';\r\nimport { EvaluationMethodeRetenueEnum } from '@/shared/enums/evaluation-methode-retenue.enum';\r\nimport ScenarioRenovation from '@/shared/components/rapport-expertise/rapport-scenario-renovation.vue';\r\nimport { hasFlag } from '@/shared/utilities/enums.utility';\r\nimport { FeatureEnum } from '@/shared/enums/feature.enum';\r\n\r\n@Component({\r\n name: 'PrestationExpertiseRapportEvaluationEvaluation',\r\n components: {\r\n VisaDisplay,\r\n NumericNullable,\r\n Radios,\r\n ScenarioRenovation,\r\n },\r\n})\r\nexport default class PrestationExpertiseRapportEvaluationEvaluation extends Mixins(RapportExpertiseSectionMixin) {\r\n public evaluationTauxRendementRetenu: number = null;\r\n public isEvaluationMethodeRetenueDisabled: Boolean = false;\r\n public isScenarioRenovationAllowed: boolean = false;\r\n\r\n //#region LIFE CYCLES\r\n public async mounted(): Promise {\r\n if (this.rapport.evaluationTauxRendementRetenu)\r\n this.evaluationTauxRendementRetenu = new Decimal(this.rapport.evaluationTauxRendementRetenu).times(100).toNumber();\r\n\r\n if (!this.hasValeurApresTravaux) {\r\n this.rapport.evaluationSurfaceOuSuperficieApresTravaux = null;\r\n this.rapport.evaluationReductionMetriqueApresTravaux = null;\r\n }\r\n\r\n if (!this.hasValeurLocative) {\r\n this.rapport.evaluationValeurLocativeMensuelle = null;\r\n this.rapport.evaluationValeurLocativeChargesAnnuelles = null;\r\n }\r\n\r\n this.isScenarioRenovationAllowed =\r\n this.societeSettings &&\r\n hasFlag(this.societeSettings.settings, FeatureEnum.ScenarioRenovation) &&\r\n this.mission.societeId == this.societeSettings.societeId;\r\n }\r\n //#endregion\r\n\r\n //#region COMPUTED\r\n get isEvaluationMethodeRetenueComparaisonEtRendement(): boolean {\r\n return isEvaluationMethodeRetenueComparaisonEtRendement(this.rapport.evaluationMethodeRetenueId);\r\n }\r\n\r\n get isEvaluationMethodeRetenueRendement(): boolean {\r\n return isEvaluationMethodeRetenueRendement(this.rapport.evaluationMethodeRetenueId);\r\n }\r\n\r\n get evaluationDroitEnregistrementDisplayText(): number {\r\n return new Decimal(this.rapport.evaluationDroitEnregistrement).times(100).toNumber();\r\n }\r\n\r\n get isContratConditionOccupationOccupe(): boolean {\r\n return isContratConditionOccupationOccupe(this.rapport.contratConditionOccupationId);\r\n }\r\n\r\n get hasValeurApresTravaux(): boolean {\r\n return hasValeurApresTravaux(this.mission);\r\n }\r\n\r\n get hasValeurLocative(): boolean {\r\n return hasValeurLocative(this.mission);\r\n }\r\n\r\n get titreSurfaceOuSuperficieApresTravaux(): string {\r\n if (this.isTypeDeBienTerrain) {\r\n return 'Superficie du terrain après travaux';\r\n } else {\r\n return 'Surface totale habitable après travaux';\r\n }\r\n }\r\n\r\n get evaluationMethodesRetenues(): RapportExpertiseBusinessEntryDto[] {\r\n let res = this.businessEntries.evaluationMethodeRetenue;\r\n this.isEvaluationMethodeRetenueDisabled = false;\r\n\r\n switch (this.rapport.contratHypotheseEvaluationId) {\r\n case ContratHypotheseEvaluationEnum.BienValoriseLibreDeTouteOccupationOuLocation:\r\n case ContratHypotheseEvaluationEnum.BienValoriseApresTravaux:\r\n this.rapport.evaluationMethodeRetenueId = EvaluationMethodeRetenueEnum.Comparaison;\r\n this.isEvaluationMethodeRetenueDisabled = true;\r\n res = this.businessEntries.evaluationMethodeRetenue.filter(\r\n (x: RapportExpertiseBusinessEntryDto) => x.id == EvaluationMethodeRetenueEnum.Comparaison\r\n );\r\n break;\r\n case ContratHypotheseEvaluationEnum.BienValoriseEnEtatEtCompteTenuDeSesConditionsOccupation:\r\n case ContratHypotheseEvaluationEnum.BienSupposeLoueALaValeurLocativeDeMarche:\r\n this.rapport.evaluationMethodeRetenueId = EvaluationMethodeRetenueEnum.ComparaisonEtRendement;\r\n res = this.businessEntries.evaluationMethodeRetenue.filter(\r\n (x: RapportExpertiseBusinessEntryDto) => x.id !== EvaluationMethodeRetenueEnum.Comparaison\r\n );\r\n break;\r\n case ContratHypotheseEvaluationEnum.Autre:\r\n this.rapport.evaluationMethodeRetenueId = EvaluationMethodeRetenueEnum.Comparaison;\r\n break;\r\n default:\r\n this.rapport.evaluationMethodeRetenueId = null;\r\n }\r\n\r\n return res;\r\n }\r\n\r\n //#endregion\r\n\r\n //#region WATCH\r\n @Watch('evaluationTauxRendementRetenu')\r\n public evaluationTauxRendementRetenuChanged(value: any): any {\r\n if (value) {\r\n this.rapport.evaluationTauxRendementRetenu = new Decimal(value).dividedBy(100).toNumber();\r\n } else {\r\n this.rapport.evaluationTauxRendementRetenu = null;\r\n }\r\n }\r\n\r\n @Watch('rapport.evaluationMethodeRetenueId')\r\n public evaluationMethodeRetenueIdChanged() {\r\n if (!this.isEvaluationMethodeRetenueComparaisonEtRendement) {\r\n this.evaluationTauxRendementRetenu = null;\r\n this.rapport.evaluationReductionMetriqueLocationRetenue = null;\r\n }\r\n }\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-evaluation-evaluation.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-evaluation-evaluation.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./prestation-expertise-rapport-evaluation-evaluation.vue?vue&type=template&id=b09a1892&\"\nimport script from \"./prestation-expertise-rapport-evaluation-evaluation.vue?vue&type=script&lang=ts&\"\nexport * from \"./prestation-expertise-rapport-evaluation-evaluation.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"prestation-expertise-evaluation-controle-component\"},[_c('visa-note',{attrs:{\"visa\":_vm.rapport.notes[_vm.getRapportExpertiseNoteSectionEnumName(_vm.rapportExpertiseNoteSectionEnum.Evaluation)],\"section\":\"Evaluation\",\"isReadonly\":_vm.isNoteReadOnly}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Mixins } from 'vue-property-decorator';\r\nimport RapportExpertiseSectionMixin from '@/mixins/rapport-expertise-section.mixin';\r\n\r\nimport VisaNote from '@/shared/components/visa-note.vue';\r\n\r\n@Component({\r\n name: 'PrestationExpertiseRapportEvaluationControle',\r\n components: {\r\n VisaNote,\r\n },\r\n})\r\nexport default class PrestationExpertiseRapportEvaluationControle extends Mixins(RapportExpertiseSectionMixin) {\r\n //#region LIFE CYCLES\r\n //#endregion\r\n //#region COMPUTED\r\n //#endregion\r\n //#region WATCH\r\n //#endregion\r\n //#region EVENTS\r\n //#endregion\r\n //#region FUNCTIONS\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-evaluation-controle.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-evaluation-controle.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./prestation-expertise-rapport-evaluation-controle.vue?vue&type=template&id=60f98a4e&\"\nimport script from \"./prestation-expertise-rapport-evaluation-controle.vue?vue&type=script&lang=ts&\"\nexport * from \"./prestation-expertise-rapport-evaluation-controle.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"prestation-expertise-rapport-conclusion-conclusion-component\"},[_c('visa-display',{attrs:{\"visa\":_vm.rapport.notes[_vm.getRapportExpertiseNoteSectionEnumName(_vm.rapportExpertiseNoteSectionEnum.Conclusion)]}}),(!_vm.isEvaluationMethodeRetenueRendement)?[_c('h4',[_vm._v(\"Comparaison\")]),_c('div',{staticClass:\"bg-grey font-weight-bold text-center py-3\"},[(_vm.comparaisonIsCalculable)?_c('div',[_c('p',[_vm._v(\" \"+_vm._s(_vm._f(\"currency\")(_vm.rapport.evaluationReductionMetriqueTransactionRetenue))+\"/m² × \"+_vm._s(_vm.rapport.evaluationSurfaceOuSuperficie)+\" m² = \"+_vm._s(_vm._f(\"currency\")(_vm.comparaison))+\" \")]),_c('span',[_vm._v(\"Arrondi à \"+_vm._s(_vm._f(\"currency\")(_vm.roundComparaison))+\" Hors Droits\")])]):_c('div',[_c('span',[_vm._v(_vm._s(_vm.comparaisonIsCalculableReason))])])])]:_vm._e(),(_vm.isEvaluationMethodeRetenueComparaisonEtRendement || _vm.isEvaluationMethodeRetenueRendement)?_c('div',[_c('h4',[_vm._v(\"Rendement\")]),_c('div',{staticClass:\"bg-grey font-weight-bold text-center py-3\"},[(_vm.rendementIsCalculable)?_c('div',[_c('p',[(!_vm.isEvaluationMethodeRetenueRendement)?[_vm._v(\"(\"+_vm._s(_vm._f(\"currency\")(_vm.rapport.evaluationReductionMetriqueLocationRetenue))+\"/mois/m² ×\")]:_vm._e(),_vm._v(\" \"+_vm._s(_vm.rapport.evaluationSurfaceOuSuperficie)+\" m² × 12mois) / \"+_vm._s(_vm.rapport.evaluationTauxRendementRetenu)+\" / \"+_vm._s(1 + _vm.rapport.evaluationDroitEnregistrement)+\" = \"+_vm._s(_vm._f(\"currency\")(_vm.rendement))+\" \")],2),_c('span',[_vm._v(\"Arrondi à \"+_vm._s(_vm._f(\"currency\")(_vm.roundRendement))+\" Hors Droits\")])]):_c('div',[_c('span',[_vm._v(_vm._s(_vm.rendementIsCalculableReason))])])])]):_vm._e(),(_vm.hasValeurApresTravaux && !_vm.isEvaluationMethodeRetenueRendement)?_c('div',[_c('h4',[_vm._v(\"Valeur par comparaison après travaux\")]),_c('div',{staticClass:\"bg-grey font-weight-bold text-center py-3\"},[(_vm.comparaisonApresTravauxIsCalculable)?_c('div',[_c('p',[_vm._v(\" \"+_vm._s(_vm._f(\"currency\")(_vm.rapport.evaluationReductionMetriqueApresTravaux))+\"/m² × \"+_vm._s(_vm.rapport.evaluationSurfaceOuSuperficieApresTravaux)+\" m² = \"+_vm._s(_vm._f(\"currency\")(_vm.comparaisonApresTravaux))+\" \")]),_c('span',[_vm._v(\"Arrondi à \"+_vm._s(_vm._f(\"currency\")(_vm.roundComparaisonApresTravaux))+\" Hors Droits\")])]):_c('div',[_c('span',[_vm._v(_vm._s(_vm.comparaisonApresTravauxIsCalculableReason))])])])]):_vm._e(),_c('div',{staticClass:\"container-fluid\",class:{ invalid: _vm.validation.mission.prestationExpertise.conclusionValeurVenale.$error }},[_c('div',{staticClass:\"row align-items-stretch\"},[_c('div',{staticClass:\"col\"},[_c('numeric-nullable',{attrs:{\"placeholder\":\"ex: 150 000\",\"read-only-class\":\"form-control text-right disabled\",\"read-only\":_vm.isEvaluationMethodeRetenueComparaison || _vm.isEvaluationMethodeRetenueRendement,\"state\":!_vm.validation.mission.prestationExpertise.conclusionValeurVenale.$error,\"currency\":\"€\",\"title\":\"Valeur vénale retenue\",\"titleBold\":false},model:{value:(_vm.rapport.conclusionValeurVenale),callback:function ($$v) {_vm.$set(_vm.rapport, \"conclusionValeurVenale\", $$v)},expression:\"rapport.conclusionValeurVenale\"}})],1),_c('div',{staticClass:\"col d-flex align-items-center font-weight-bold text-white bg-primary\",staticStyle:{\"min-height\":\"100px\"}},[(_vm.hasFourchetteValeur)?_c('div',[_vm._v(\" Résultat : \"),_c('ul',[_c('li',[_vm._v(\" Fourchette basse : \"+_vm._s(_vm._f(\"currency\")(_vm.rapport.conclusionValeurVenaleFourchetteBasseArrondie))+\" \")]),_c('li',[_vm._v(\" Fourchette haute : \"+_vm._s(_vm._f(\"currency\")(_vm.rapport.conclusionValeurVenaleFourchetteHauteArrondie))+\" \")])])]):_c('div',[_vm._v(\"Résultat : \"+_vm._s(_vm._f(\"currency\")(_vm.rapport.conclusionValeurVenaleArrondie)))])])])]),(_vm.hasValeurApresTravaux)?_c('div',{staticClass:\"container-fluid\",class:{\n invalid: _vm.validation.mission.prestationExpertise.conclusionValeurVenaleApresTravaux.$error,\n }},[_c('h4',[_vm._v(\"Valeur vénale après travaux retenue\")]),_c('div',{staticClass:\"row align-items-stretch\"},[_c('div',{staticClass:\"col\"},[_c('numeric-nullable',{attrs:{\"placeholder\":\"ex: 150 000\",\"read-only-class\":\"form-control text-right disabled\",\"read-only\":\"\",\"state\":!_vm.validation.mission.prestationExpertise.conclusionValeurVenale.$error,\"currency\":\"€\",\"title\":\"Quelle est la valeur vénale après travaux que vous retenez pour cette expertise ?\",\"titleBold\":false},model:{value:(_vm.rapport.conclusionValeurVenaleApresTravaux),callback:function ($$v) {_vm.$set(_vm.rapport, \"conclusionValeurVenaleApresTravaux\", $$v)},expression:\"rapport.conclusionValeurVenaleApresTravaux\"}})],1),_c('div',{staticClass:\"col d-flex align-items-center font-weight-bold text-white bg-blue\",staticStyle:{\"min-height\":\"100px\"}},[(_vm.hasFourchetteValeur)?_c('div',[_vm._v(\" Résultat : \"),_c('ul',[_c('li',[_vm._v(\" Fourchette basse : \"+_vm._s(_vm._f(\"currency\")(_vm.rapport.conclusionValeurVenaleApresTravauxFourchetteBasseArrondie))+\" \")]),_c('li',[_vm._v(\" Fourchette haute : \"+_vm._s(_vm._f(\"currency\")(_vm.rapport.conclusionValeurVenaleApresTravauxFourchetteHauteArrondie))+\" \")])])]):_c('div',[_vm._v(\" Résultat : \"+_vm._s(_vm._f(\"currency\")(_vm.rapport.conclusionValeurVenaleApresTravauxArrondie))+\" \")])])])]):_vm._e(),(_vm.hasValeurVenteRapide)?_c('div',{staticClass:\"container-fluid\"},[_c('h4',[_vm._v(\"Valeur en vente rapide\")]),_c('div',{staticClass:\"row align-items-stretch\"},[_c('div',{staticClass:\"col\"},[_c('p',[_vm._v(\"Quel est l'abattement à appliquer sur la valeur vénale ?\")]),_c('vue-slider',{ref:\"slider\",staticClass:\"slider\",attrs:{\"formatter\":_vm.abattementVenteRapideDisplaytext,\"process-style\":_vm.sliderStyles.sliderProcessStyle,\"tooltip-style\":_vm.sliderStyles.sliderTooltipStyle,\"tooltip-dir\":\"bottom\",\"dot-size\":25,\"height\":\"9\",\"min\":0,\"max\":1,\"interval\":0.05},on:{\"callback\":_vm.onEmitVenteRapide},model:{value:(_vm.rapport.conclusionAbattementVenteRapide),callback:function ($$v) {_vm.$set(_vm.rapport, \"conclusionAbattementVenteRapide\", $$v)},expression:\"rapport.conclusionAbattementVenteRapide\"}})],1),_c('div',{staticClass:\"col d-flex align-items-center font-weight-bold text-white bg-orange\"},[(_vm.hasFourchetteValeur)?_c('div',[_vm._v(\" Résultat : \"),_c('ul',[_c('li',[_vm._v(\" Fourchette basse : \"+_vm._s(_vm._f(\"currency\")(_vm.rapport.conclusionValeurVenteRapideFourchetteBasseArrondie))+\" \")]),_c('li',[_vm._v(\" Fourchette haute : \"+_vm._s(_vm._f(\"currency\")(_vm.rapport.conclusionValeurVenteRapideFourchetteHauteArrondie))+\" \")])])]):_c('div',[_vm._v(\" Résultat : \"+_vm._s(_vm._f(\"currency\")(_vm.rapport.conclusionValeurVenteRapideArrondie))+\" \")])])])]):_vm._e(),(_vm.hasValeurVenteForcee)?_c('div',{staticClass:\"container-fluid\"},[_c('h4',[_vm._v(\"Valeur en vente forcée\")]),_c('div',{staticClass:\"row align-items-stretch\"},[_c('div',{staticClass:\"col\"},[_c('p',[_vm._v(\"Quel est l'abattement à appliquer sur la valeur vénale ?\")]),_c('vue-slider',{ref:\"slider\",staticClass:\"slider\",attrs:{\"formatter\":_vm.abattementVenteForceeDisplaytext,\"process-style\":_vm.sliderStyles.sliderProcessStyle,\"tooltip-style\":_vm.sliderStyles.sliderTooltipStyle,\"tooltip-dir\":\"bottom\",\"dot-size\":25,\"height\":\"9\",\"min\":0,\"max\":1,\"interval\":0.05},on:{\"callback\":_vm.onEmitVenteForcee},model:{value:(_vm.rapport.conclusionAbattementVenteForcee),callback:function ($$v) {_vm.$set(_vm.rapport, \"conclusionAbattementVenteForcee\", $$v)},expression:\"rapport.conclusionAbattementVenteForcee\"}})],1),_c('div',{staticClass:\"col d-flex align-items-center font-weight-bold text-white bg-pink\"},[(_vm.hasFourchetteValeur)?_c('div',[_vm._v(\" Résultat : \"),_c('ul',[_c('li',[_vm._v(\" Fourchette basse : \"+_vm._s(_vm._f(\"currency\")(_vm.rapport.conclusionValeurVenteForceeFourchetteBasseArrondie))+\" \")]),_c('li',[_vm._v(\" Fourchette haute : \"+_vm._s(_vm._f(\"currency\")(_vm.rapport.conclusionValeurVenteForceeFourchetteHauteArrondie))+\" \")])])]):_c('div',[_vm._v(\" Résultat : \"+_vm._s(_vm._f(\"currency\")(_vm.rapport.conclusionValeurVenteForceeArrondie))+\" \")])])])]):_vm._e(),(_vm.hasValeurLocative)?_c('div',[_c('h4',[_vm._v(\"Valeur locative de marché\")]),_c('b-row',{staticClass:\"align-items-stretch\"},[_c('b-col',[_c('numeric-nullable',{attrs:{\"placeholder\":\"ex: 150 000\",\"read-only-class\":\"form-control text-right disabled\",\"read-only\":\"\",\"state\":!_vm.validation.mission.prestationExpertise.conclusionValeurLocativeAnnuelle.$error,\"currency\":\"€\"},model:{value:(_vm.rapport.conclusionValeurLocativeAnnuelle),callback:function ($$v) {_vm.$set(_vm.rapport, \"conclusionValeurLocativeAnnuelle\", $$v)},expression:\"rapport.conclusionValeurLocativeAnnuelle\"}}),_c('b-form-text',[_vm._v(_vm._s(_vm.rapport.evaluationValeurLocativeMensuelle || 0)+\"*12+\"+_vm._s(_vm.rapport.evaluationValeurLocativeChargesAnnuelles || 0)+\"=\"+_vm._s(_vm.rapport.conclusionValeurLocativeAnnuelle || 0)+\" arrondie à \"+_vm._s(_vm.rapport.conclusionValeurLocativeAnnuelleArrondie || 0))])],1),_c('b-col',{staticClass:\"d-flex align-items-center font-weight-bold text-white bg-violet\",staticStyle:{\"min-height\":\"100px\"}},[(_vm.hasFourchetteValeur)?_c('div',[_vm._v(\" Résultat : \"),_c('ul',[_c('li',[_vm._v(\" Fourchette basse : \"+_vm._s(_vm._f(\"currency\")(_vm.rapport.conclusionValeurLocativeAnnuelleFourchetteBasseArrondie))+\" \")]),_c('li',[_vm._v(\" Fourchette haute : \"+_vm._s(_vm._f(\"currency\")(_vm.rapport.conclusionValeurLocativeAnnuelleFourchetteHauteArrondie))+\" \")])])]):_c('div',[_vm._v(\" Résultat : \"+_vm._s(_vm._f(\"currency\")(_vm.rapport.conclusionValeurLocativeAnnuelleArrondie))+\" \")])])],1)],1):_vm._e(),(_vm.hasOptionFaciliteDeNegociationESFI)?_c('div',[_c('b-form-group',{attrs:{\"state\":!_vm.validation.mission.prestationExpertise.conclusionVariationValeur.$error,\"label\":\"Variation de la valeur\",\"label-class\":\"text-secondary h4\"}},[_c('b-form-textarea',{attrs:{\"type\":\"text\",\"state\":!_vm.validation.mission.prestationExpertise.conclusionVariationValeur.$error,\"rows\":8,\"placeholder\":\"Quelle est la variation de la valeur ?\"},model:{value:(_vm.rapport.conclusionVariationValeur),callback:function ($$v) {_vm.$set(_vm.rapport, \"conclusionVariationValeur\", $$v)},expression:\"rapport.conclusionVariationValeur\"}})],1)],1):_vm._e(),_c('div',[_c('b-form-group',{attrs:{\"state\":!_vm.validation.mission.prestationExpertise.conclusionObservationValeur.$error,\"label\":\"Observation sur la valeur\"}},[(_vm.isRapportVersionGreaterOrEqualsTo(3.2))?_c('b-form-textarea',{attrs:{\"type\":\"text\",\"state\":!_vm.validation.mission.prestationExpertise.conclusionObservationValeur.$error,\"rows\":4,\"placeholder\":\"Quel est votre observation sur la valeur ?\"},model:{value:(_vm.rapport.conclusionObservationValeur),callback:function ($$v) {_vm.$set(_vm.rapport, \"conclusionObservationValeur\", $$v)},expression:\"rapport.conclusionObservationValeur\"}}):_vm._e()],1),(_vm.isRapportVersionGreaterOrEqualsTo(3.0))?_c('date-picker',{attrs:{\"placeholder\":\"Sélectionner une date\",\"format\":\"dd/MM/yyyy\",\"minimumView\":\"day\",\"state\":!_vm.validation.mission.prestationExpertise.conclusionDateValeur.$error,\"title\":\"Date de valeur\"},model:{value:(_vm.rapport.conclusionDateValeur),callback:function ($$v) {_vm.$set(_vm.rapport, \"conclusionDateValeur\", $$v)},expression:\"rapport.conclusionDateValeur\"}}):_vm._e()],1),(_vm.isRapportVersionGreaterOrEqualsTo(3.3) && _vm.isRapport && !_vm.isMobile)?_c('div',{class:{\n invalid: _vm.validation.mission.prestationExpertise.adequationMarcheDemandeId.$error,\n }},[_c('radios',{attrs:{\"list\":_vm.businessEntries.adequationMarcheDemandes,\"state\":!_vm.validation.mission.prestationExpertise.adequationMarcheDemandeId.$error,\"title\":\"Adéquation par rapport à la demande (marché)\"},model:{value:(_vm.rapport.adequationMarcheDemandeId),callback:function ($$v) {_vm.$set(_vm.rapport, \"adequationMarcheDemandeId\", $$v)},expression:\"rapport.adequationMarcheDemandeId\"}})],1):_vm._e(),_c('div',[(!_vm.isRapportVersionGreaterOrEqualsTo(3.3))?_c('div',{class:{\n invalid: _vm.validation.mission.prestationExpertise.conclusionAppreciationGeneraleNiveauLiquidite.$error,\n }},[_c('h4',[_vm._v(\"Appréciation générale sur le niveau de liquidité\")]),_c('div',{on:{\"mouseleave\":function($event){return _vm.showCurrentRating(0)}}},[_c('star-rating',{attrs:{\"show-rating\":false},on:{\"current-rating\":_vm.showCurrentRating},model:{value:(_vm.rapport.conclusionAppreciationGeneraleNiveauLiquidite),callback:function ($$v) {_vm.$set(_vm.rapport, \"conclusionAppreciationGeneraleNiveauLiquidite\", $$v)},expression:\"rapport.conclusionAppreciationGeneraleNiveauLiquidite\"}})],1),_c('div',{staticClass:\"mt-2\",domProps:{\"innerHTML\":_vm._s(_vm.currentRating)}})]):_vm._e(),(_vm.isRapportVersionGreaterOrEqualsTo(3.3))?_c('div',{class:{\n invalid: _vm.validation.mission.prestationExpertise.conclusionNiveauLiquiditeESFIId.$error,\n }},[_c('radios',{attrs:{\"list\":_vm.conclusionNiveauxLiquiditeESFIBusinessEntries,\"state\":!_vm.validation.mission.prestationExpertise.conclusionNiveauLiquiditeESFIId.$error,\"title\":\"Niveau de liquidité\"},model:{value:(_vm.rapport.conclusionNiveauLiquiditeESFIId),callback:function ($$v) {_vm.$set(_vm.rapport, \"conclusionNiveauLiquiditeESFIId\", $$v)},expression:\"rapport.conclusionNiveauLiquiditeESFIId\"}})],1):_vm._e()]),_c('div',{class:{\n invalid: _vm.validation.mission.prestationExpertise.conclusionDelaiDeVenteMoyenId.$error,\n }},[_c('radios',{attrs:{\"list\":_vm.businessEntries.conclusionDelaisDeVentesMoyens,\"state\":!_vm.validation.mission.prestationExpertise.conclusionDelaiDeVenteMoyenId.$error,\"title\":\"Délai moyen de vente\"},model:{value:(_vm.rapport.conclusionDelaiDeVenteMoyenId),callback:function ($$v) {_vm.$set(_vm.rapport, \"conclusionDelaiDeVenteMoyenId\", $$v)},expression:\"rapport.conclusionDelaiDeVenteMoyenId\"}})],1)],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export function hasValidNumberValue(object: any): boolean {\r\n return object !== null && object > 0;\r\n}\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Vue, Component, Mixins, Watch } from 'vue-property-decorator';\r\nimport RapportExpertiseSectionMixin from '@/mixins/rapport-expertise-section.mixin';\r\n\r\nimport VisaDisplay from '@/shared/components/visa-display.vue';\r\nimport VisaNote from '@/shared/components/visa-note.vue';\r\nimport NumericNullable from '@/shared/components/numeric-nullable.vue';\r\nimport Radios from '@/shared/components/radios.vue';\r\nimport {\r\n contratTypePrestationColor,\r\n isEvaluationMethodeRetenueComparaison,\r\n isEvaluationMethodeRetenueComparaisonEtRendement,\r\n isEvaluationMethodeRetenueRendement,\r\n hasValeurApresTravaux,\r\n hasValeurLocative,\r\n hasOptionFaciliteDeNegociationESFI,\r\n} from '@/helpers/rapport-expertise.helper';\r\nimport { hasFourchetteValeur, hasValeurVenteForcee, hasValeurVenteRapide } from '@/helpers/prestation-expertise.helper';\r\nimport Decimal from 'decimal.js';\r\nimport vueSlider from 'vue-slider-component';\r\nimport StarRating from 'vue-star-rating';\r\nimport { hasValidNumberValue } from '@/shared/utilities/type.utility';\r\nimport { SubjectMessageTypeEnum } from '@/shared/enums/subject-message-type.enum';\r\nimport { SubjectMessage } from '@/shared/models/subject-message';\r\nimport DatePicker from '@/shared/components/date-picker.vue';\r\nimport { RapportExpertiseBusinessEntryDto } from '@/shared/dtos/rapport-expertise-business-entry.dto';\r\nimport { hasFlag } from '@/shared/utilities/enums.utility';\r\nimport { FeatureEnum } from '@/shared/enums/feature.enum';\r\n\r\n@Component({\r\n name: 'PrestationExpertiseRapportConclusionConclusion',\r\n components: {\r\n VisaNote,\r\n VisaDisplay,\r\n NumericNullable,\r\n vueSlider,\r\n StarRating,\r\n Radios,\r\n DatePicker,\r\n },\r\n})\r\nexport default class PrestationExpertiseRapportConclusionConclusion extends Mixins(RapportExpertiseSectionMixin) {\r\n public currentRating: string = null;\r\n public ratings: string[] = ['', 'Médiocre niveau', 'Faible niveau', 'Niveau moyen', 'Bon niveau', 'Très bon niveau'];\r\n\r\n public percentFourchetteBasse: number = 0.975;\r\n public percentFourchetteHaute: number = 1.025;\r\n public valeurLocativeRoundAt: number = 100;\r\n\r\n public get conclusionNiveauxLiquiditeESFIBusinessEntries(): RapportExpertiseBusinessEntryDto[] {\r\n const hideMediocre =\r\n this.societeSettings &&\r\n hasFlag(this.societeSettings.settings, FeatureEnum.HideNiveauDeLiquiditeMediocre) &&\r\n this.mission.societeId == this.societeSettings.societeId;\r\n\r\n if (hideMediocre) {\r\n const entries = this.businessEntries.conclusionNiveauxLiquiditeESFI.filter(\r\n (be: RapportExpertiseBusinessEntryDto) => be.displayText.toLowerCase() != 'médiocre'\r\n );\r\n\r\n // Cette méthode permet d'éviter les \"trous\" dans le nombre d'étoiles (par exemple ça évite d'avoir : 1 étoile, 3 étoiles, 4 étoiles, 5 étoiles si\r\n // l'item correspondant à 2 étoiles - médiocre a été supprimé par le filtre précédent)\r\n // entries.forEach((be: RapportExpertiseBusinessEntryDto, index: number) => (be.iconRepetition = index + 1));\r\n\r\n return entries;\r\n } else return this.businessEntries.conclusionNiveauxLiquiditeESFI;\r\n }\r\n\r\n //#region LIFE CYCLES\r\n public mounted(): void {\r\n this.showCurrentRating(this.rapport.conclusionAppreciationGeneraleNiveauLiquidite);\r\n\r\n Vue.prototype.$subjectMessageService.subject.subscribe((subjectMessage: SubjectMessage) => {\r\n if (subjectMessage.type === SubjectMessageTypeEnum.REFRESH_VALEURS_DATA) {\r\n this.updateValeurs();\r\n }\r\n });\r\n }\r\n\r\n //#endregion\r\n\r\n //#region COMPUTED\r\n get sliderStyles() {\r\n var color = contratTypePrestationColor(this.rapport);\r\n return {\r\n sliderProcessStyle: {\r\n backgroundColor: color,\r\n },\r\n sliderTooltipStyle: {\r\n backgroundColor: color,\r\n borderColor: color,\r\n },\r\n };\r\n }\r\n\r\n get isEvaluationMethodeRetenueComparaison(): boolean {\r\n return isEvaluationMethodeRetenueComparaison(this.rapport.evaluationMethodeRetenueId);\r\n }\r\n\r\n get isEvaluationMethodeRetenueComparaisonEtRendement(): boolean {\r\n return isEvaluationMethodeRetenueComparaisonEtRendement(this.rapport.evaluationMethodeRetenueId);\r\n }\r\n\r\n get isEvaluationMethodeRetenueRendement(): boolean {\r\n return isEvaluationMethodeRetenueRendement(this.rapport.evaluationMethodeRetenueId);\r\n }\r\n\r\n get comparaisonIsCalculable(): boolean {\r\n return (\r\n hasValidNumberValue(this.rapport.evaluationReductionMetriqueTransactionRetenue) &&\r\n hasValidNumberValue(this.rapport.evaluationSurfaceOuSuperficie)\r\n );\r\n }\r\n\r\n get comparaisonIsCalculableReason(): string {\r\n if (!this.rapport.evaluationReductionMetriqueTransactionRetenue) {\r\n return 'Réduction métrique transaction retenue manquante';\r\n }\r\n\r\n if (!this.rapport.evaluationSurfaceOuSuperficie) {\r\n if (this.isTypeDeBienTerrain) {\r\n return 'Superficie du terrain manquante';\r\n } else {\r\n return 'Surface totale habitable manquante';\r\n }\r\n }\r\n\r\n return 'Information(s) manquante(s) pour calculer la valeur.';\r\n }\r\n\r\n get comparaison(): number {\r\n return new Decimal(this.rapport.evaluationReductionMetriqueTransactionRetenue || 0)\r\n .times(this.rapport.evaluationSurfaceOuSuperficie || 0)\r\n .floor()\r\n .toNumber();\r\n }\r\n\r\n get roundComparaison(): number {\r\n return this.round(this.comparaison);\r\n }\r\n\r\n get hasValeurApresTravaux(): boolean {\r\n return hasValeurApresTravaux(this.mission);\r\n }\r\n\r\n get comparaisonApresTravauxIsCalculable(): boolean {\r\n return (\r\n hasValidNumberValue(this.rapport.evaluationReductionMetriqueApresTravaux) &&\r\n hasValidNumberValue(this.rapport.evaluationSurfaceOuSuperficieApresTravaux)\r\n );\r\n }\r\n\r\n get comparaisonApresTravauxIsCalculableReason(): string {\r\n if (!this.rapport.evaluationReductionMetriqueApresTravaux) {\r\n return 'Réduction métrique transaction retenue après travaux manquante';\r\n }\r\n\r\n if (!this.rapport.evaluationSurfaceOuSuperficieApresTravaux) {\r\n if (this.isTypeDeBienTerrain) {\r\n return 'Superficie du terrain après travaux manquante';\r\n } else {\r\n return 'Surface totale habitable après travaux manquante';\r\n }\r\n }\r\n\r\n return 'Information(s) manquante(s) pour calculer la valeur.';\r\n }\r\n\r\n get comparaisonApresTravaux(): number {\r\n return new Decimal(this.rapport.evaluationReductionMetriqueApresTravaux || 0)\r\n .times(this.rapport.evaluationSurfaceOuSuperficieApresTravaux || 0)\r\n .floor()\r\n .toNumber();\r\n }\r\n\r\n get roundComparaisonApresTravaux(): number {\r\n return this.round(this.comparaisonApresTravaux);\r\n }\r\n\r\n get rendementIsCalculable(): boolean {\r\n return (\r\n hasValidNumberValue(this.rapport.evaluationReductionMetriqueLocationRetenue) &&\r\n hasValidNumberValue(this.rapport.evaluationSurfaceOuSuperficie) &&\r\n hasValidNumberValue(this.rapport.evaluationTauxRendementRetenu) &&\r\n hasValidNumberValue(this.rapport.evaluationDroitEnregistrement)\r\n );\r\n }\r\n\r\n get rendementIsCalculableReason(): string {\r\n if (!this.rapport.evaluationReductionMetriqueLocationRetenue) {\r\n return 'Réduction métrique location retenue manquante';\r\n }\r\n\r\n if (!this.rapport.evaluationSurfaceOuSuperficie) {\r\n if (this.isTypeDeBienTerrain) {\r\n return 'Superficie du terrain manquante';\r\n } else {\r\n return 'Surface de construction manquante';\r\n }\r\n }\r\n\r\n if (!this.rapport.evaluationTauxRendementRetenu) {\r\n return 'Taux de rendement retenu manquant';\r\n }\r\n\r\n if (!this.rapport.evaluationDroitEnregistrement) {\r\n return \"Droits d'enregistrement manquant\";\r\n }\r\n\r\n return 'Information(s) manquante(s) pour calculer la valeur.';\r\n }\r\n\r\n get rendement(): number {\r\n if (this.rapport.evaluationTauxRendementRetenu) {\r\n var part1 = new Decimal(this.rapport.evaluationReductionMetriqueLocationRetenue || 0)\r\n .times(this.rapport.evaluationSurfaceOuSuperficie || 0)\r\n .times(12);\r\n\r\n const part3: Decimal = new Decimal(this.rapport.evaluationDroitEnregistrement).plus(1);\r\n\r\n return new Decimal(part1).dividedBy(this.rapport.evaluationTauxRendementRetenu).dividedBy(part3).floor().toNumber();\r\n }\r\n\r\n return 0;\r\n }\r\n\r\n get roundRendement(): number {\r\n return this.round(this.rendement);\r\n }\r\n\r\n get currentSelectedRating(): string {\r\n return this.rapport.conclusionAppreciationGeneraleNiveauLiquidite > 0\r\n ? this.ratings[this.rapport.conclusionAppreciationGeneraleNiveauLiquidite] + ' de liquidité à la valeur vénale établie'\r\n : ' ';\r\n }\r\n\r\n get hasValeurLocative(): boolean {\r\n return hasValeurLocative(this.mission);\r\n }\r\n\r\n get hasFourchetteValeur(): boolean {\r\n return hasFourchetteValeur(this.mission);\r\n }\r\n\r\n get hasValeurVenteForcee(): boolean {\r\n return hasValeurVenteForcee(this.mission);\r\n }\r\n\r\n get hasValeurVenteRapide(): boolean {\r\n return hasValeurVenteRapide(this.mission);\r\n }\r\n\r\n get hasOptionFaciliteDeNegociationESFI(): boolean {\r\n return hasOptionFaciliteDeNegociationESFI(this.mission);\r\n }\r\n\r\n get abattementVenteRapideDisplaytext(): string {\r\n const percent = new Decimal(this.rapport.conclusionAbattementVenteRapide || 0).times(100).toNumber();\r\n return `${percent} %`;\r\n }\r\n\r\n get abattementVenteForceeDisplaytext(): string {\r\n const percent = new Decimal(this.rapport.conclusionAbattementVenteForcee || 0).times(100).toNumber();\r\n return `${percent} %`;\r\n }\r\n\r\n //#endregion\r\n\r\n //#region WATCH\r\n @Watch('rapport.evaluationMethodeRetenueId')\r\n public evaluationMethodeRetenueIdChanged(): void {\r\n if (this.isEvaluationMethodeRetenueComparaison) {\r\n this.rapport.conclusionValeurVenale = this.comparaison;\r\n } else if (this.isEvaluationMethodeRetenueRendement) {\r\n this.rapport.conclusionValeurVenale = this.rendement;\r\n }\r\n }\r\n\r\n @Watch('comparaison')\r\n public comparaisonChanged(): void {\r\n if (this.isEvaluationMethodeRetenueComparaison) {\r\n this.rapport.conclusionValeurVenale = this.comparaison || 0;\r\n }\r\n }\r\n\r\n @Watch('rendement')\r\n public rendementChanged(): void {\r\n if (this.isEvaluationMethodeRetenueRendement) {\r\n this.rapport.conclusionValeurVenale = this.rendement || 0;\r\n }\r\n }\r\n\r\n @Watch('rapport.conclusionValeurVenale')\r\n public conclusionValeurVenaleChanged(): void {\r\n this.updateConclusionValeurVenaleArrondie();\r\n this.updateConclusionValeurVenaleFourchettesArrondies();\r\n this.updateConclusionValeurVenteRapide();\r\n this.updateConclusionValeurVenteForcee();\r\n }\r\n\r\n @Watch('rapport.conclusionAbattementVenteRapide')\r\n public conclusionAbattementonEmitVenteRapide(): void {\r\n this.updateConclusionValeurVenteRapide();\r\n }\r\n\r\n @Watch('rapport.conclusionValeurVenteRapide')\r\n public conclusionValeuronEmitVenteRapide(newValue: number) {\r\n this.rapport.conclusionValeurVenteRapideArrondie = !this.hasFourchetteValeur && this.hasValeurVenteRapide ? this.round(newValue) : null;\r\n this.updateConclusionValeurVenteRapideFourchettesArrondies();\r\n }\r\n\r\n @Watch('rapport.conclusionAbattementVenteForcee')\r\n public conclusionAbattementonEmitVenteForcee(): void {\r\n this.updateConclusionValeurVenteForcee();\r\n }\r\n\r\n @Watch('rapport.conclusionValeurVenteForcee')\r\n public conclusionValeuronEmitVenteForcee(newValue: number): void {\r\n this.rapport.conclusionValeurVenteForceeArrondie = !this.hasFourchetteValeur && this.hasValeurVenteForcee ? this.round(newValue) : null;\r\n this.updateConclusionValeurVenteForceeFourchettesArrondies();\r\n }\r\n\r\n @Watch('rapport.conclusionValeurVenaleApresTravaux')\r\n public conclusionValeurVenaleApresTravauxChanged(): void {\r\n this.updateConclusionValeurVenaleApresTravauxFourchettesArrondies();\r\n this.updateConclusionValeurVenteRapide();\r\n this.updateConclusionValeurVenteForcee();\r\n }\r\n\r\n @Watch('rapport.evaluationValeurLocativeMensuelle')\r\n public evaluationValeurLocativeMensuelleChanged(): void {\r\n this.updateConclusionValeurLocativeAnnuelle();\r\n }\r\n\r\n @Watch('rapport.evaluationValeurLocativeChargesAnnuelles')\r\n public evaluationValeurLocativeChargesAnnuellesChanged(): void {\r\n this.updateConclusionValeurLocativeAnnuelle();\r\n }\r\n\r\n @Watch('rapport.conclusionValeurLocativeAnnuelle')\r\n public conclusionValeurLocativeAnnuelleChanged(): void {\r\n this.updateConclusionValeurLocativeAnnuelleArrondie();\r\n this.updateConclusionValeurLocativeAnnuelleFourchettesArrondies();\r\n }\r\n\r\n @Watch('comparaisonApresTravaux')\r\n public comparaisonApresTravauxChanged() {\r\n this.updateConclusionValeurVenaleApresTravaux();\r\n }\r\n\r\n @Watch('roundComparaisonApresTravaux')\r\n public roundComparaisonApresTravauxChanged() {\r\n this.updateConclusionValeurVenaleApresTravauxArrondie();\r\n }\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n public onEmitVenteRapide(value: number): void {\r\n if (value > this.rapport.conclusionAbattementVenteForcee) this.rapport.conclusionAbattementVenteForcee = value;\r\n }\r\n\r\n public onEmitVenteForcee(value: number) {\r\n if (value < this.rapport.conclusionAbattementVenteRapide) this.rapport.conclusionAbattementVenteRapide = value;\r\n }\r\n\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n\r\n private updateValeurs(): void {\r\n this.updateEvaluationSurfaceOuSuperficie();\r\n\r\n this.updateConclusionValeurVenaleArrondie();\r\n this.updateConclusionValeurVenaleFourchettesArrondies();\r\n\r\n this.updateConclusionValeurVenaleApresTravaux();\r\n this.updateConclusionValeurVenaleApresTravauxArrondie();\r\n\r\n this.updateConclusionValeurVenteRapide();\r\n this.updateConclusionValeurVenteRapideFourchettesArrondies();\r\n\r\n this.updateConclusionValeurVenteForcee();\r\n this.updateConclusionValeurVenteForceeFourchettesArrondies();\r\n this.updateConclusionValeurVenaleApresTravauxFourchettesArrondies();\r\n\r\n this.updateConclusionValeurLocativeAnnuelle();\r\n this.updateConclusionValeurLocativeAnnuelleArrondie();\r\n this.updateConclusionValeurLocativeAnnuelleFourchettesArrondies();\r\n }\r\n\r\n private round(value: number, at?: number): number {\r\n at = at || (value < 150000 ? 1000 : 5000);\r\n return Math.round(value / at) * at;\r\n }\r\n\r\n public calculValeur(value: Decimal.Value, percent: Decimal.Value): number {\r\n const p = new Decimal(1).minus(percent);\r\n return new Decimal(value || 0).times(p).toNumber();\r\n }\r\n\r\n public calculValeurFourchetteArrondie(value: Decimal.Value, percent: Decimal.Value, roundAt?: number | undefined): number {\r\n return this.round(new Decimal(value || 0).times(percent).toNumber(), roundAt);\r\n }\r\n\r\n public updateConclusionValeurVenteRapide(): void {\r\n if (this.hasValeurVenteRapide) {\r\n var valeurReference = hasValeurApresTravaux(this.mission)\r\n ? this.rapport.conclusionValeurVenaleApresTravaux\r\n : this.rapport.conclusionValeurVenale;\r\n this.rapport.conclusionValeurVenteRapide = this.calculValeur(valeurReference, this.rapport.conclusionAbattementVenteRapide);\r\n } else {\r\n this.rapport.conclusionValeurVenteRapide = null;\r\n }\r\n }\r\n\r\n public updateConclusionValeurVenteRapideFourchettesArrondies(): void {\r\n if (this.hasFourchetteValeur && this.hasValeurVenteRapide) {\r\n this.rapport.conclusionValeurVenteRapideFourchetteBasseArrondie = this.calculValeurFourchetteArrondie(\r\n this.rapport.conclusionValeurVenteRapide,\r\n this.percentFourchetteBasse\r\n );\r\n this.rapport.conclusionValeurVenteRapideFourchetteHauteArrondie = this.calculValeurFourchetteArrondie(\r\n this.rapport.conclusionValeurVenteRapide,\r\n this.percentFourchetteHaute\r\n );\r\n } else {\r\n this.rapport.conclusionValeurVenteRapideFourchetteBasseArrondie = null;\r\n this.rapport.conclusionValeurVenteRapideFourchetteHauteArrondie = null;\r\n }\r\n }\r\n\r\n public updateConclusionValeurVenteForcee(): void {\r\n if (this.hasValeurVenteForcee) {\r\n var valeurReference = hasValeurApresTravaux(this.mission)\r\n ? this.rapport.conclusionValeurVenaleApresTravaux\r\n : this.rapport.conclusionValeurVenale;\r\n this.rapport.conclusionValeurVenteForcee = this.calculValeur(valeurReference, this.rapport.conclusionAbattementVenteForcee);\r\n } else {\r\n this.rapport.conclusionValeurVenteForcee = null;\r\n }\r\n }\r\n\r\n public updateConclusionValeurVenteForceeFourchettesArrondies(): void {\r\n if (this.hasFourchetteValeur && this.hasValeurVenteForcee) {\r\n this.rapport.conclusionValeurVenteForceeFourchetteBasseArrondie = this.calculValeurFourchetteArrondie(\r\n this.rapport.conclusionValeurVenteForcee,\r\n this.percentFourchetteBasse\r\n );\r\n this.rapport.conclusionValeurVenteForceeFourchetteHauteArrondie = this.calculValeurFourchetteArrondie(\r\n this.rapport.conclusionValeurVenteForcee,\r\n this.percentFourchetteHaute\r\n );\r\n } else {\r\n this.rapport.conclusionValeurVenteForceeFourchetteBasseArrondie = null;\r\n this.rapport.conclusionValeurVenteForceeFourchetteHauteArrondie = null;\r\n }\r\n }\r\n\r\n public updateConclusionValeurVenaleArrondie(): void {\r\n if (!this.hasFourchetteValeur) {\r\n this.rapport.conclusionValeurVenaleArrondie = this.round(this.rapport.conclusionValeurVenale);\r\n } else {\r\n this.rapport.conclusionValeurVenaleArrondie = null;\r\n }\r\n }\r\n\r\n public updateConclusionValeurVenaleFourchettesArrondies(): void {\r\n if (this.hasFourchetteValeur) {\r\n this.rapport.conclusionValeurVenaleFourchetteBasseArrondie = this.calculValeurFourchetteArrondie(\r\n this.rapport.conclusionValeurVenale,\r\n this.percentFourchetteBasse\r\n );\r\n this.rapport.conclusionValeurVenaleFourchetteHauteArrondie = this.calculValeurFourchetteArrondie(\r\n this.rapport.conclusionValeurVenale,\r\n this.percentFourchetteHaute\r\n );\r\n } else {\r\n this.rapport.conclusionValeurVenaleFourchetteBasseArrondie = null;\r\n this.rapport.conclusionValeurVenaleFourchetteHauteArrondie = null;\r\n }\r\n }\r\n\r\n public updateConclusionValeurVenaleApresTravauxFourchettesArrondies(): void {\r\n if (this.hasFourchetteValeur && this.hasValeurApresTravaux) {\r\n this.rapport.conclusionValeurVenaleApresTravauxFourchetteBasseArrondie = this.calculValeurFourchetteArrondie(\r\n this.rapport.conclusionValeurVenaleApresTravaux,\r\n this.percentFourchetteBasse\r\n );\r\n this.rapport.conclusionValeurVenaleApresTravauxFourchetteHauteArrondie = this.calculValeurFourchetteArrondie(\r\n this.rapport.conclusionValeurVenaleApresTravaux,\r\n this.percentFourchetteHaute\r\n );\r\n } else {\r\n this.rapport.conclusionValeurVenaleApresTravauxFourchetteBasseArrondie = null;\r\n this.rapport.conclusionValeurVenaleApresTravauxFourchetteHauteArrondie = null;\r\n }\r\n }\r\n\r\n public showCurrentRating(rating: number): void {\r\n if (rating === 0 ? this.currentSelectedRating : rating == null) {\r\n this.currentRating = ' ';\r\n } else {\r\n this.currentRating = this.ratings[rating] + ' de liquidité à la valeur vénale établie';\r\n }\r\n }\r\n\r\n public updateConclusionValeurLocativeAnnuelle(): void {\r\n if (this.hasValeurLocative) {\r\n this.rapport.conclusionValeurLocativeAnnuelle = new Decimal(this.rapport.evaluationValeurLocativeMensuelle || 0)\r\n .times(12)\r\n .plus(this.rapport.evaluationValeurLocativeChargesAnnuelles || 0)\r\n .toNumber();\r\n } else {\r\n this.rapport.conclusionValeurLocativeAnnuelle = null;\r\n }\r\n }\r\n\r\n public updateConclusionValeurLocativeAnnuelleArrondie(): void {\r\n if (this.hasValeurLocative && !this.hasFourchetteValeur) {\r\n this.rapport.conclusionValeurLocativeAnnuelleArrondie = this.round(\r\n this.rapport.conclusionValeurLocativeAnnuelle,\r\n this.valeurLocativeRoundAt\r\n );\r\n } else {\r\n this.rapport.conclusionValeurLocativeAnnuelleArrondie = null;\r\n }\r\n }\r\n\r\n public updateConclusionValeurLocativeAnnuelleFourchettesArrondies(): void {\r\n if (this.hasValeurLocative && this.hasFourchetteValeur) {\r\n this.rapport.conclusionValeurLocativeAnnuelleFourchetteBasseArrondie = this.calculValeurFourchetteArrondie(\r\n this.rapport.conclusionValeurLocativeAnnuelle,\r\n this.percentFourchetteBasse,\r\n this.valeurLocativeRoundAt\r\n );\r\n this.rapport.conclusionValeurLocativeAnnuelleFourchetteHauteArrondie = this.calculValeurFourchetteArrondie(\r\n this.rapport.conclusionValeurLocativeAnnuelle,\r\n this.percentFourchetteHaute,\r\n this.valeurLocativeRoundAt\r\n );\r\n } else {\r\n this.rapport.conclusionValeurLocativeAnnuelleFourchetteBasseArrondie = null;\r\n this.rapport.conclusionValeurLocativeAnnuelleFourchetteHauteArrondie = null;\r\n }\r\n }\r\n\r\n public updateEvaluationSurfaceOuSuperficie(): void {\r\n if (!this.rapport.evaluationSurfaceOuSuperficie) {\r\n if (this.isTypeDeBienTerrain) {\r\n this.rapport.evaluationSurfaceOuSuperficie = this.rapport.terrainSuperficie;\r\n } else {\r\n this.rapport.evaluationSurfaceOuSuperficie = this.rapport.particuliereSurfaceTotaleHabitable;\r\n }\r\n }\r\n }\r\n\r\n public updateConclusionValeurVenaleApresTravaux(): void {\r\n this.rapport.conclusionValeurVenaleApresTravaux = this.hasValeurApresTravaux ? this.comparaisonApresTravaux : null;\r\n }\r\n\r\n public updateConclusionValeurVenaleApresTravauxArrondie(): void {\r\n if (this.hasValeurApresTravaux && !this.hasFourchetteValeur) {\r\n this.rapport.conclusionValeurVenaleApresTravauxArrondie = this.roundComparaisonApresTravaux;\r\n } else {\r\n this.rapport.conclusionValeurVenaleApresTravauxArrondie = null;\r\n }\r\n }\r\n\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-conclusion-conclusion.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-conclusion-conclusion.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./prestation-expertise-rapport-conclusion-conclusion.vue?vue&type=template&id=e369e9cc&scoped=true&\"\nimport script from \"./prestation-expertise-rapport-conclusion-conclusion.vue?vue&type=script&lang=ts&\"\nexport * from \"./prestation-expertise-rapport-conclusion-conclusion.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./prestation-expertise-rapport-conclusion-conclusion.vue?vue&type=style&index=0&id=e369e9cc&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 \"e369e9cc\",\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:\"prestation-expertise-rapport-conclusion-controle-component\"},[_c('visa-note',{attrs:{\"visa\":_vm.rapport.notes[_vm.getRapportExpertiseNoteSectionEnumName(_vm.rapportExpertiseNoteSectionEnum.Conclusion)],\"section\":\"Conclusion\",\"isReadonly\":_vm.isNoteReadOnly}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Mixins } from 'vue-property-decorator';\r\n\r\nimport RapportExpertiseSectionMixin from '@/mixins/rapport-expertise-section.mixin';\r\n\r\nimport VisaNote from '@/shared/components/visa-note.vue';\r\n\r\n@Component({\r\n name: 'PrestationExpertiseRapportConclusionControle',\r\n components: {\r\n VisaNote,\r\n },\r\n})\r\nexport default class PrestationExpertiseRapportConclusionControle extends Mixins(RapportExpertiseSectionMixin) {\r\n //#region LIFE CYCLES\r\n //#endregion\r\n //#region WATCH\r\n //#endregion\r\n //#region EVENTS\r\n //#endregion\r\n //#region FUNCTIONS\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-conclusion-controle.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-conclusion-controle.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./prestation-expertise-rapport-conclusion-controle.vue?vue&type=template&id=77de4bea&\"\nimport script from \"./prestation-expertise-rapport-conclusion-controle.vue?vue&type=script&lang=ts&\"\nexport * from \"./prestation-expertise-rapport-conclusion-controle.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"prestation-expertise-rapport-conclusion-annexes\"},[_c('h3',[_vm._v(\"Documents déjà cochés précédemment dans le rapport\")]),(_vm.isRapportVersionLowerOrEqualsTo(2.0))?_c('div',[(_vm.isNotCertificat)?_c('h4',[_vm._v(\"Propriété / régime juridique\")]):_vm._e(),(_vm.isNotCertificat)?_c('checkboxs',{attrs:{\"rapportId\":_vm.rapport.id,\"list\":_vm.businessEntries.juridiqueDocumentConsultes,\"isDisabled\":true,\"state\":!_vm.validation.mission.prestationExpertise.juridiqueDocumentConsultes.$error},model:{value:(_vm.rapport.juridiqueDocumentConsultes),callback:function ($$v) {_vm.$set(_vm.rapport, \"juridiqueDocumentConsultes\", $$v)},expression:\"rapport.juridiqueDocumentConsultes\"}}):_vm._e(),(_vm.isNotCertificat)?_c('h4',[_vm._v(\"Cadastre / urbanisme\")]):_c('h4',[_vm._v(\"Cadastre\")]),_c('div',[_c('ul',[_c('li',[_c('b-button',{staticClass:\"btn-radio\",attrs:{\"disabled\":\"\",\"variant\":_vm.hasPlanCadastral ? 'primary' : 'light'}},[_vm._v(\"Plan et relevé cadastral\")])],1),(_vm.isNotCertificat)?_c('li',[_c('b-button',{staticClass:\"btn-radio\",attrs:{\"disabled\":\"\",\"variant\":_vm.rapport.urbanistiquePlanLocalUrbanismeDisponibilite ? 'primary' : 'light'}},[_vm._v(\"Plan local d'urbanisme\")])],1):_vm._e()])]),(_vm.isNotCertificat)?_c('h4',[_vm._v(\"Situation locative\")]):_vm._e(),(_vm.isNotCertificat)?_c('div',[_c('ul',[_c('li',[_c('b-button',{staticClass:\"btn-radio\",attrs:{\"disabled\":\"\",\"variant\":_vm.isfiscaleDocumentConsulte ? 'primary' : 'light'}},[_vm._v(\"Etat des taxes (impôt foncier, taxe d’habitation)\")])],1)])]):_vm._e()],1):_c('div',[(_vm.isNotCertificat)?_c('div',[_c('table-radios',{attrs:{\"title\":\"Propriété / régime juridique\",\"rapportId\":_vm.rapport.id,\"list\":_vm.businessEntries.juridiqueDocumentConsultes,\"listQualifiable\":_vm.businessEntries.annexesStatuts,\"isDisabled\":true,\"state\":!_vm.validation.mission.prestationExpertise.juridiqueDocumentConsultes.$error},model:{value:(_vm.annexeJuridiqueDocumentsConsultes),callback:function ($$v) {_vm.annexeJuridiqueDocumentsConsultes=$$v},expression:\"annexeJuridiqueDocumentsConsultes\"}})],1):_vm._e(),(_vm.isNotCertificat)?_c('h4',[_vm._v(\"Cadastre / urbanisme\")]):_c('h4',[_vm._v(\"Cadastre\")]),_c('b-row',[_c('b-col',{staticClass:\"m-auto\"},[_vm._v(\"Plan et relevé cadastral\")]),_c('b-col',{staticClass:\"m-auto\"},[_c('radios',{attrs:{\"isDisabled\":true,\"list\":_vm.businessEntries.annexesStatuts},model:{value:(_vm.annexeCadastralStatut),callback:function ($$v) {_vm.annexeCadastralStatut=$$v},expression:\"annexeCadastralStatut\"}})],1)],1),(_vm.isNotCertificat)?_c('b-row',[_c('b-col',{staticClass:\"m-auto\"},[_vm._v(\"Plan local d'urbanisme\")]),_c('b-col',{staticClass:\"m-auto\"},[_c('radios',{attrs:{\"isDisabled\":true,\"list\":_vm.businessEntries.annexesStatuts},model:{value:(_vm.annexePlanLocalUrbanismeStatut),callback:function ($$v) {_vm.annexePlanLocalUrbanismeStatut=$$v},expression:\"annexePlanLocalUrbanismeStatut\"}})],1)],1):_vm._e()],1),_c('h3',[_vm._v(\"Documents supplémentaires\")]),(_vm.isRapportVersionLowerOrEqualsTo(2.0))?_c('div',[_c('h4',[_vm._v(\"Construction\")]),_c('checkboxs',{attrs:{\"rapportId\":_vm.rapport.id,\"list\":_vm.businessEntries.annexeConstructions,\"state\":!_vm.validation.mission.prestationExpertise.annexeConstructions.$error},model:{value:(_vm.rapport.annexeConstructions),callback:function ($$v) {_vm.$set(_vm.rapport, \"annexeConstructions\", $$v)},expression:\"rapport.annexeConstructions\"}}),_c('h4',[_vm._v(\"Surfaces / Plans\")]),_c('checkboxs',{attrs:{\"rapportId\":_vm.rapport.id,\"list\":_vm.businessEntries.annexeSurfaces,\"state\":!_vm.validation.mission.prestationExpertise.annexeSurfaces.$error},model:{value:(_vm.rapport.annexeSurfaces),callback:function ($$v) {_vm.$set(_vm.rapport, \"annexeSurfaces\", $$v)},expression:\"rapport.annexeSurfaces\"}}),_c('h4',[_vm._v(\"Situation locative\")]),_c('checkboxs',{attrs:{\"rapportId\":_vm.rapport.id,\"list\":_vm.businessEntries.annexeSituationsLocatives,\"state\":!_vm.validation.mission.prestationExpertise.annexeSituationsLocatives.$error},model:{value:(_vm.rapport.annexeSituationsLocatives),callback:function ($$v) {_vm.$set(_vm.rapport, \"annexeSituationsLocatives\", $$v)},expression:\"rapport.annexeSituationsLocatives\"}}),_c('h4',[_vm._v(\"Travaux\")]),_c('checkboxs',{attrs:{\"rapportId\":_vm.rapport.id,\"list\":_vm.businessEntries.annexeTravaux,\"state\":!_vm.validation.mission.prestationExpertise.annexeTravaux.$error},model:{value:(_vm.rapport.annexeTravaux),callback:function ($$v) {_vm.$set(_vm.rapport, \"annexeTravaux\", $$v)},expression:\"rapport.annexeTravaux\"}}),_c('h4',[_vm._v(\"Environnement / pollution\")]),_c('checkboxs',{attrs:{\"rapportId\":_vm.rapport.id,\"list\":_vm.businessEntries.annexeEnvironnements,\"state\":!_vm.validation.mission.prestationExpertise.annexeEnvironnements.$error},model:{value:(_vm.rapport.annexeEnvironnements),callback:function ($$v) {_vm.$set(_vm.rapport, \"annexeEnvironnements\", $$v)},expression:\"rapport.annexeEnvironnements\"}})],1):_c('div',[_c('table-radios',{attrs:{\"title\":\"Construction\",\"rapportId\":_vm.rapport.id,\"list\":_vm.businessEntries.annexeConstructions,\"listQualifiable\":_vm.businessEntries.annexesStatuts,\"state\":!_vm.validation.mission.prestationExpertise.annexeConstructions.$error},model:{value:(_vm.rapport.annexeConstructions),callback:function ($$v) {_vm.$set(_vm.rapport, \"annexeConstructions\", $$v)},expression:\"rapport.annexeConstructions\"}}),_c('table-radios',{attrs:{\"title\":\"Surfaces / Plans\",\"rapportId\":_vm.rapport.id,\"list\":_vm.businessEntries.annexeSurfaces,\"listQualifiable\":_vm.businessEntries.annexesStatuts,\"state\":!_vm.validation.mission.prestationExpertise.annexeSurfaces.$error},model:{value:(_vm.rapport.annexeSurfaces),callback:function ($$v) {_vm.$set(_vm.rapport, \"annexeSurfaces\", $$v)},expression:\"rapport.annexeSurfaces\"}}),_c('table-radios',{attrs:{\"title\":\"Situation locative\",\"rapportId\":_vm.rapport.id,\"list\":_vm.businessEntries.annexeSituationsLocatives,\"listQualifiable\":_vm.businessEntries.annexesStatuts,\"state\":!_vm.validation.mission.prestationExpertise.annexeSituationsLocatives.$error},model:{value:(_vm.rapport.annexeSituationsLocatives),callback:function ($$v) {_vm.$set(_vm.rapport, \"annexeSituationsLocatives\", $$v)},expression:\"rapport.annexeSituationsLocatives\"}}),_c('table-radios',{attrs:{\"title\":\"Travaux\",\"rapportId\":_vm.rapport.id,\"list\":_vm.businessEntries.annexeTravaux,\"listQualifiable\":_vm.businessEntries.annexesStatuts,\"state\":!_vm.validation.mission.prestationExpertise.annexeTravaux.$error},model:{value:(_vm.rapport.annexeTravaux),callback:function ($$v) {_vm.$set(_vm.rapport, \"annexeTravaux\", $$v)},expression:\"rapport.annexeTravaux\"}}),_c('table-radios',{attrs:{\"title\":\"Environnement / pollution\",\"rapportId\":_vm.rapport.id,\"list\":_vm.businessEntries.annexeEnvironnements,\"listQualifiable\":_vm.businessEntries.annexesStatuts,\"state\":!_vm.validation.mission.prestationExpertise.annexeEnvironnements.$error,\"valuesToDisabled\":_vm.annexeEnvironnementsToDisabled},model:{value:(_vm.rapport.annexeEnvironnements),callback:function ($$v) {_vm.$set(_vm.rapport, \"annexeEnvironnements\", $$v)},expression:\"rapport.annexeEnvironnements\"}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Mixins, Watch } from 'vue-property-decorator';\r\nimport RapportExpertiseSectionMixin from '@/mixins/rapport-expertise-section.mixin';\r\n\r\nimport Checkboxs from '@/shared/components/checkboxs.vue';\r\n\r\nimport {\r\n isFiscaleSourceTaxeFonciereDocumentConsulte,\r\n isContratTypePrestationNotCertificatExpertise,\r\n} from '@/helpers/rapport-expertise.helper';\r\nimport Radios from '@/shared/components/radios.vue';\r\nimport TableRadios from '@/shared/components/table-radios.vue';\r\nimport { RapportExpertiseBusinessEntryRelationDto } from '@/shared/dtos/rapport-expertise-business-entry-relation.dto';\r\nimport { AnnexeStatutEnum } from '@/shared/enums/annexe-statut.enum';\r\nimport { BusinessEntryEnum } from '@/shared/enums/business-entry.enum';\r\n\r\n@Component({\r\n name: 'PrestationExpertiseRapportConclusionAnnexes',\r\n components: {\r\n Checkboxs,\r\n Radios,\r\n TableRadios,\r\n },\r\n})\r\nexport default class PrestationExpertiseRapportConclusionAnnexes extends Mixins(RapportExpertiseSectionMixin) {\r\n public annexeEnvironnementsToDisabled: number[] = [BusinessEntryEnum.DPE];\r\n\r\n //#region LIFE CYCLES\r\n\r\n //#endregion\r\n\r\n //#region COMPUTED\r\n get hasPlanCadastral(): boolean {\r\n return (\r\n this.rapport.piecesJointesRapport &&\r\n this.rapport.piecesJointesRapport.PlanCadastre &&\r\n this.rapport.piecesJointesRapport.PlanCadastre.length > 0\r\n );\r\n }\r\n\r\n get isfiscaleDocumentConsulte(): boolean {\r\n return isFiscaleSourceTaxeFonciereDocumentConsulte(this.rapport.fiscaleSourceTaxeFonciereId);\r\n }\r\n\r\n get isNotCertificat(): boolean {\r\n return isContratTypePrestationNotCertificatExpertise(this.rapport.contratTypePrestationId);\r\n }\r\n\r\n get annexeCadastralStatut(): number {\r\n return this.hasPlanCadastral ? AnnexeStatutEnum.Obtenu : AnnexeStatutEnum.NonObtenu;\r\n }\r\n\r\n get annexePlanLocalUrbanismeStatut(): number {\r\n return this.rapport.urbanistiquePlanLocalUrbanismeDisponibilite ? AnnexeStatutEnum.Obtenu : AnnexeStatutEnum.NonDemande;\r\n }\r\n\r\n get annexeJuridiqueDocumentsConsultes(): RapportExpertiseBusinessEntryRelationDto[] {\r\n return this.rapport.juridiqueDocumentConsultes;\r\n }\r\n\r\n //#endregion\r\n\r\n //#region WATCH\r\n //#endregion\r\n\r\n //#region EVENTS\r\n\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-conclusion-annexes.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-conclusion-annexes.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./prestation-expertise-rapport-conclusion-annexes.vue?vue&type=template&id=41552ae2&scoped=true&\"\nimport script from \"./prestation-expertise-rapport-conclusion-annexes.vue?vue&type=script&lang=ts&\"\nexport * from \"./prestation-expertise-rapport-conclusion-annexes.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./prestation-expertise-rapport-conclusion-annexes.vue?vue&type=style&index=0&id=41552ae2&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 \"41552ae2\",\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:\"prestation-expertise-rapport-controle-appreciation-generale-component\"},[_c('visa-display',{attrs:{\"visa\":_vm.rapport.notes[_vm.getRapportExpertiseNoteSectionEnumName(_vm.rapportExpertiseNoteSectionEnum.Global)],\"baseText\":\"L'appréciation générale de ce rapport a été\"}}),_c('visa-note',{attrs:{\"visa\":_vm.rapport.notes[_vm.getRapportExpertiseNoteSectionEnumName(_vm.rapportExpertiseNoteSectionEnum.Global)],\"section\":\"Appréciation générale\",\"isReadonly\":_vm.isNoteReadOnly}}),_c('visa',{attrs:{\"businessEntries\":_vm.businessEntries,\"societeSettings\":_vm.societeSettings,\"isNoteReadOnly\":_vm.isNoteReadOnly},on:{\"onApposerVisaClick\":_vm.onApposerVisaClick,\"onRefuserVisaClick\":_vm.onRefuserVisaClick},model:{value:(_vm.rapport),callback:function ($$v) {_vm.rapport=$$v},expression:\"rapport\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.isNoteReadOnly && _vm.$can('Visa', 'Rapport'))?_c('div',{staticClass:\"bloc-visa text-center p-5\"},[_vm._m(0),(!_vm.canVisa)?_c('p',[_vm._v(\" Vous devez cocher chaque section afin de pouvoir valider ou refuser le VISA. Et pour chaque refus, vous devez commenter votre refus. \")]):_vm._e(),_c('b-button',{attrs:{\"variant\":\"warning\",\"disabled\":!_vm.canVisa},on:{\"click\":_vm.onRefuserVisaClick}},[_c('font-awesome-icon',{attrs:{\"icon\":\"times\",\"fixed-width\":\"\"}}),_vm._v(\"Refuser le VISA \")],1),_c('b-button',{attrs:{\"variant\":\"success\",\"disabled\":!_vm.canVisa},on:{\"click\":_vm.onApposerVisaClick}},[_c('font-awesome-icon',{attrs:{\"icon\":\"check\",\"fixed-width\":\"\"}}),_vm._v(\"Apposer le VISA \")],1)],1):_vm._e()}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('strong',[_vm._v(\"Après lecture complète, apposez-vous le VISA sur ce rapport ?\")])])}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { RapportExpertiseNoteSectionDto } from '@/shared/dtos/rapport-expertise-section-note.dto';\r\nimport { RapportExpertiseDto } from '@/shared/dtos/rapport-expertise.dto';\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\n\r\n@Component({\r\n name: 'Visa',\r\n})\r\nexport default class Visa extends Vue {\r\n @Prop() public value: RapportExpertiseDto;\r\n @Prop() public businessEntries: any;\r\n @Prop() public isNoteReadOnly: boolean;\r\n\r\n //#region LIFE CYCLES\r\n\r\n //#endregion\r\n\r\n //#region COMPUTED\r\n\r\n get rapport() {\r\n return this.value;\r\n }\r\n\r\n get canVisa() {\r\n return (\r\n this.$can('Save', 'Notes') &&\r\n this.rapport.notes &&\r\n Object.values(this.rapport.notes).every(\r\n (note: RapportExpertiseNoteSectionDto) =>\r\n note && note.isValid !== null && (note.isValid || (note.isValid === false && note.commentaire != null && note.commentaire != ''))\r\n )\r\n );\r\n }\r\n //#endregion\r\n\r\n //#region EVENTS\r\n public onApposerVisaClick(): void {\r\n this.$emit('onApposerVisaClick');\r\n }\r\n\r\n public onRefuserVisaClick(): void {\r\n this.$emit('onRefuserVisaClick');\r\n }\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Visa.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Visa.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Visa.vue?vue&type=template&id=6b6fdde6&scoped=true&\"\nimport script from \"./Visa.vue?vue&type=script&lang=ts&\"\nexport * from \"./Visa.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Visa.vue?vue&type=style&index=0&id=6b6fdde6&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 \"6b6fdde6\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Inject, Mixins, Provide } from 'vue-property-decorator';\r\nimport RapportExpertiseSectionMixin from '@/mixins/rapport-expertise-section.mixin';\r\n\r\nimport VisaDisplay from '@/shared/components/visa-display.vue';\r\nimport VisaNote from '@/shared/components/visa-note.vue';\r\nimport Visa from '@/components/rapport-expertise/Visa.vue';\r\n\r\n@Component({\r\n name: 'PrestationExpertiseRapportControleAppreciationGenerale',\r\n components: {\r\n VisaDisplay,\r\n VisaNote,\r\n Visa,\r\n },\r\n})\r\nexport default class PrestationExpertiseRapportControleAppreciationGenerale extends Mixins(RapportExpertiseSectionMixin) {\r\n @Inject('apposerVisa') public apposerVisa: any;\r\n @Inject('refuserVisa') public refuserVisa: any;\r\n\r\n //#region LIFE CYCLES\r\n\r\n //#endregion\r\n\r\n //#region COMPUTED\r\n\r\n //#endregion\r\n\r\n //#region WATCH\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n public onApposerVisaClick(): void {\r\n this.apposerVisa();\r\n }\r\n\r\n public onRefuserVisaClick(): void {\r\n this.refuserVisa();\r\n }\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-appreciation-generale.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-appreciation-generale.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./prestation-expertise-rapport-appreciation-generale.vue?vue&type=template&id=5820ea1f&\"\nimport script from \"./prestation-expertise-rapport-appreciation-generale.vue?vue&type=script&lang=ts&\"\nexport * from \"./prestation-expertise-rapport-appreciation-generale.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"prestation-expertise-proprietes-component\"},[(_vm.proprietes)?[_c('div',{staticClass:\"bloc-info bg-light-grey-blue\"},[_c('p',{staticClass:\"h1\"},[_vm._v(\"Propriétés du rapport\")]),_c('p',{staticClass:\"h3\"},[_vm._v(\"Autoriser les modifications du rapport traité\")]),_c('radio-boolean',{attrs:{\"stringTrue\":\"Oui\",\"stringFalse\":\"Non\"},model:{value:(_vm.proprietes.estEditionForcee),callback:function ($$v) {_vm.$set(_vm.proprietes, \"estEditionForcee\", $$v)},expression:\"proprietes.estEditionForcee\"}}),_c('prestation-expertise-version-histories',{attrs:{\"prestationExpertiseId\":_vm.prestationExpertiseId}})],1)]:_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\nimport { PrestationExpertiseProprietesDto } from '@/shared/dtos/prestation-expertise/prestation-expertise-proprietes.dto';\r\nimport RadioBoolean from '@/shared/components/radio-boolean.vue';\r\nimport PrestationExpertiseVersionHistories from '@/shared/components/prestation-expertise/prestation-expertise-version-histories.vue';\r\n\r\n@Component({\r\n name: 'PrestationExpertiseProprietes',\r\n components: {\r\n RadioBoolean,\r\n PrestationExpertiseVersionHistories,\r\n },\r\n})\r\nexport default class PrestationExpertiseProprietes extends Vue {\r\n @Prop() proprietes: PrestationExpertiseProprietesDto;\r\n @Prop() prestationExpertiseId: string;\r\n\r\n //#region LIFE CYCLES\r\n\r\n //#endregion\r\n\r\n //#region WATCH\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-proprietes.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-proprietes.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./prestation-expertise-proprietes.vue?vue&type=template&id=38fcef45&\"\nimport script from \"./prestation-expertise-proprietes.vue?vue&type=script&lang=ts&\"\nexport * from \"./prestation-expertise-proprietes.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./prestation-expertise-proprietes.vue?vue&type=style&index=0&lang=scss&\"\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:\"prestation-expertise-valeur-spot-plus-contrat-mission-component\"},[_c('h3',[_vm._v(\"Contexte d'intervention et bases de valeurs\")]),_c('prestation-expertise-contexte-intervention',{attrs:{\"businessEntries\":_vm.businessEntries,\"societeSettings\":_vm.societeSettings,\"validation\":_vm.validation},model:{value:(_vm.mission),callback:function ($$v) {_vm.mission=$$v},expression:\"mission\"}}),_c('h3',[_vm._v(\"Visite\")]),_c('div',[_c('date-visite',{attrs:{\"mission\":_vm.mission,\"validation\":_vm.validation,\"label\":\"Date de réalisation\",\"isWarnMandant\":false}})],1),_c('h3',[_vm._v(\"Realisation\")]),(_vm.mission.intervention && _vm.mission.intervention.informationsComplementaires)?_c('b-row',{staticClass:\"bloc-info bloc no-gutter-left-right\"},[_c('b-col',{staticClass:\"ellipsis\",attrs:{\"cols\":\"4\",\"lg\":\"3\"}},[_vm._v(\" Informations complémentaires \")]),_c('b-col',[_c('span',[_vm._v(\" \"+_vm._s(_vm.mission.intervention.informationsComplementaires))])])],1):_vm._e(),(_vm.mission.bien.prixBien)?_c('b-row',{staticClass:\"bloc-info bloc no-gutter-left-right\"},[_c('b-col',{staticClass:\"ellipsis\",attrs:{\"cols\":\"4\",\"lg\":\"3\"}},[_vm._v(\" Prix du bien \")]),_c('b-col',[_c('span',[_vm._v(\" \"+_vm._s(_vm._f(\"currency\")(_vm.mission.bien.prixBien))+\" €\")])])],1):_vm._e(),(_vm.mission.bien.surfaceBien)?_c('b-row',{staticClass:\"bloc-info bloc no-gutter-left-right\"},[_c('b-col',{staticClass:\"ellipsis\",attrs:{\"cols\":\"4\",\"lg\":\"3\"}},[_vm._v(\" Surface du bien \")]),_c('b-col',[_c('span',[_vm._v(\" \"+_vm._s(_vm.mission.bien.surfaceBien)+\" m²\")])])],1):_vm._e(),_c('b-row',{staticClass:\"bloc no-gutter-left-right\"},[_c('b-col',{attrs:{\"cols\":\"4\",\"lg\":\"3\"}},[_vm._v(\" Notes pour la visite \")]),_c('b-col',[_c('b-textarea',{attrs:{\"rows\":2},model:{value:(_vm.mission.prestationExpertise.notesVisite),callback:function ($$v) {_vm.$set(_vm.mission.prestationExpertise, \"notesVisite\", $$v)},expression:\"mission.prestationExpertise.notesVisite\"}})],1)],1),(_vm.mission.expert)?_c('b-row',{staticClass:\"bloc-info bloc no-gutter-left-right\"},[_c('b-col',{attrs:{\"cols\":\"4\",\"lg\":\"3\"}},[_vm._v(\"Effectuée par\")]),_c('b-col',[_vm._v(\" \"+_vm._s(_vm.mission.expert.nomComplet))])],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Mixins } from 'vue-property-decorator';\r\nimport PrestationExpertiseSectionMixin from '@/mixins/prestation-expertise-section.mixin';\r\nimport { RapportExpertiseNoteSectionEnum } from '@/shared/enums/rapport-expertise-note-section.enum';\r\nimport { getRapportExpertiseNoteSectionEnumName } from '@/shared/utilities/enums.utility';\r\nimport { ValeurSpotPlusDto } from '@/shared/dtos/valeur-spot-plus.dto';\r\n\r\n@Component({\r\n name: 'ValeurSpotPlusSectionMixin',\r\n})\r\nexport default class ValeurSpotPlusSectionMixin extends Mixins(PrestationExpertiseSectionMixin) {\r\n public rapportExpertiseNoteSectionEnum = RapportExpertiseNoteSectionEnum;\r\n public getRapportExpertiseNoteSectionEnumName = getRapportExpertiseNoteSectionEnumName;\r\n\r\n //#region LIFE CYCLES\r\n\r\n //#endregion\r\n\r\n //#region COMPUTED\r\n get valeurSpotPlus(): ValeurSpotPlusDto {\r\n return this.prestationExpertise as ValeurSpotPlusDto;\r\n }\r\n\r\n //#endregion\r\n\r\n //#region WATCH\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n\r\n //#endregion\r\n}\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Mixins, Watch } from 'vue-property-decorator';\r\nimport ValeurSpotPlusSectionMixin from '@/mixins/valeur-spot-plus-section.mixin';\r\n\r\nimport PrestationExpertiseContexteIntervention from '@/shared/components/prestation-expertise/prestation-expertise-contexte-intervention.vue';\r\nimport DateVisite from '@/shared/components/date-visite.vue';\r\n\r\n@Component({\r\n name: 'PrestationExpertiseValeurSpotPlusContratMission',\r\n components: {\r\n PrestationExpertiseContexteIntervention,\r\n DateVisite,\r\n },\r\n})\r\nexport default class PrestationExpertiseValeurSpotPlusContratMission extends Mixins(ValeurSpotPlusSectionMixin) {\r\n //#region LIFE CYCLES\r\n //#endregion\r\n //#region COMPUTED\r\n //#endregion\r\n //#region WATCH\r\n @Watch('valeurSpotPlus.contratCategorieDActifId')\r\n public contratCategorieDActifIdChanged(): void {\r\n this.valeurSpotPlus.contratTypeBienId = null;\r\n }\r\n //#endregion\r\n //#region EVENTS\r\n //#endregion\r\n //#region FUNCTIONS\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-valeur-spot-plus-contrat-mission.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-valeur-spot-plus-contrat-mission.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./prestation-expertise-valeur-spot-plus-contrat-mission.vue?vue&type=template&id=2f360330&\"\nimport script from \"./prestation-expertise-valeur-spot-plus-contrat-mission.vue?vue&type=script&lang=ts&\"\nexport * from \"./prestation-expertise-valeur-spot-plus-contrat-mission.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"prestation-expertise-valeur-spot-plus-situation-geographique-plans-de-situation-component\"},[_c('prestation-expertise-situation-adresse',{attrs:{\"validation\":_vm.validation,\"showCaptureAerienne\":false},model:{value:(_vm.mission),callback:function ($$v) {_vm.mission=$$v},expression:\"mission\"}}),_c('h4',[_vm._v(\"Appréciation générale du positionnement géographique\")]),_c('star-rating',{attrs:{\"show-rating\":false},model:{value:(_vm.valeurSpotPlus.appreciationGeographique),callback:function ($$v) {_vm.$set(_vm.valeurSpotPlus, \"appreciationGeographique\", $$v)},expression:\"valeurSpotPlus.appreciationGeographique\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\r\nimport { Component, Mixins } from 'vue-property-decorator';\r\n\r\nimport ValeurSpotPlusSectionMixin from '@/mixins/valeur-spot-plus-section.mixin';\r\n\r\nimport PrestationExpertiseSituationAdresse from '@/shared/components/prestation-expertise/prestation-expertise-situation-adresse.vue';\r\nimport StarRating from 'vue-star-rating';\r\n\r\n@Component({\r\n name: 'PrestationExpertiseValeurSpotPlusSituationGeographiquePlansDeSituation',\r\n components: {\r\n PrestationExpertiseSituationAdresse,\r\n StarRating,\r\n },\r\n})\r\nexport default class PrestationExpertiseValeurSpotPlusSituationGeographiquePlansDeSituation extends Mixins(ValeurSpotPlusSectionMixin) {\r\n //#region LIFE CYCLES\r\n //#endregion\r\n //#region COMPUTED\r\n //#endregion\r\n //#region WATCH\r\n //#endregion\r\n //#region EVENTS\r\n //#endregion\r\n //#region FUNCTIONS\r\n //#endregion\r\n}\r\n","export enum TypePrestationExpertisePieceJointeEnum {\r\n PlanCadastre,\r\n PhotoBien,\r\n EtudeDeMarche,\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-valeur-spot-plus-situation-geographique-plans-de-situation.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-valeur-spot-plus-situation-geographique-plans-de-situation.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./prestation-expertise-valeur-spot-plus-situation-geographique-plans-de-situation.vue?vue&type=template&id=44de31da&\"\nimport script from \"./prestation-expertise-valeur-spot-plus-situation-geographique-plans-de-situation.vue?vue&type=script&lang=ts&\"\nexport * from \"./prestation-expertise-valeur-spot-plus-situation-geographique-plans-de-situation.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"prestation-expertise-valeur-spot-plus-description-generale-description-du-bien-component\"},[_c('prestation-expertise-situation-cadastrale',{attrs:{\"prestationExpertise\":_vm.valeurSpotPlus,\"piecesJointes\":_vm.valeurSpotPlus.piecesJointes,\"validation\":_vm.validation.mission.prestationExpertise,\"zoom\":_vm.prestationExpertise.geographiqueZoomPlanCadastre},model:{value:(_vm.valeurSpotPlus.referencesCadastrales),callback:function ($$v) {_vm.$set(_vm.valeurSpotPlus, \"referencesCadastrales\", $$v)},expression:\"valeurSpotPlus.referencesCadastrales\"}}),_c('h3',[_vm._v(\"Surface\")]),_c('numeric-nullable',{attrs:{\"placeholder\":\"ex: 100,00\",\"state\":!_vm.validation.mission.prestationExpertise.surfaceHabitable.$error,\"currency\":\"m²\",\"title\":\"Surface habitable retenue\"},model:{value:(_vm.valeurSpotPlus.surfaceHabitable),callback:function ($$v) {_vm.$set(_vm.valeurSpotPlus, \"surfaceHabitable\", $$v)},expression:\"valeurSpotPlus.surfaceHabitable\"}}),_c('h3',[_vm._v(\"Photos du bien\")]),_c('prestation-expertise-google-maps-street',{attrs:{\"address\":_vm.prestationExpertise.geographiqueAdresse,\"latitude\":_vm.prestationExpertise.geographiqueLatitude,\"longitude\":_vm.prestationExpertise.geographiqueLongitude,\"typeCapturedPieceJointe\":\"PhotoBien\",\"piecesJointes\":_vm.prestationExpertise.piecesJointes,\"validation\":_vm.validation.mission.prestationExpertise.piecesJointes.PhotoBien}}),_c('h4',[_vm._v(\"Adéquation du bien par rapport à la demande\")]),_c('star-rating',{attrs:{\"show-rating\":false},model:{value:(_vm.valeurSpotPlus.adequationBienVsDemande),callback:function ($$v) {_vm.$set(_vm.valeurSpotPlus, \"adequationBienVsDemande\", $$v)},expression:\"valeurSpotPlus.adequationBienVsDemande\"}})],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:\"prestation-expertise-situation-cadastrale-component\"},[_c('div',{staticClass:\"prestation-expertise-situation-cadastrale-component-references-cadastrales\",class:{ invalid: _vm.validation.referencesCadastrales.$anyError }},[_c('h4',{staticClass:\"mb-2\"},[_vm._v(\"Références cadastrales et plan\")]),_c('b-table',{staticClass:\"prestation-expertise-situation-cadastrale-component-references-cadastrales-table\",attrs:{\"small\":\"\",\"responsive\":\"\",\"fields\":_vm.fields,\"items\":_vm.referencesCadastrales},scopedSlots:_vm._u([{key:\"cell(section)\",fn:function(data){return [_c('b-form-input',{staticClass:\"section-input\",attrs:{\"type\":\"text\",\"placeholder\":\"ex : AS\",\"state\":!_vm.validation.referencesCadastrales.$each[data.index].section.$error},model:{value:(data.item.section),callback:function ($$v) {_vm.$set(data.item, \"section\", $$v)},expression:\"data.item.section\"}})]}},{key:\"cell(parcelle)\",fn:function(data){return [_c('div',{staticClass:\"d-flex parcelle\"},[_c('b-form-input',{attrs:{\"type\":\"text\",\"placeholder\":\"ex : 250\",\"state\":!_vm.validation.referencesCadastrales.$each[data.index].parcelle.$error},model:{value:(data.item.parcelle),callback:function ($$v) {_vm.$set(data.item, \"parcelle\", $$v)},expression:\"data.item.parcelle\"}})],1)]}},{key:\"cell(superficie)\",fn:function(data){return [_c('b-input-group',{class:_vm.isPlanCadastreAutomatic && data.item.superficieGouvernement != data.item.superficie ? 'tooltip-prepend' : ''},[_c('numeric-nullable',{attrs:{\"placeholder\":\"ex: 23,45\",\"state\":!_vm.validation.referencesCadastrales.$each[data.index].superficie.$error,\"currency\":\"m²\"},model:{value:(data.item.superficie),callback:function ($$v) {_vm.$set(data.item, \"superficie\", $$v)},expression:\"data.item.superficie\"}})],1)]}},{key:\"cell(action)\",fn:function(data){return [_c('b-input-group',[_c('b-btn',{attrs:{\"variant\":\"outline-dark\"},on:{\"click\":function($event){return _vm.onDeleteReferenceCadastraleClick(data.index)}}},[_c('font-awesome-icon',{attrs:{\"icon\":\"trash\"}})],1)],1)]}}])}),_c('b-button',{attrs:{\"variant\":\"link\"},on:{\"click\":_vm.onAddReferenceCadastraleClick}},[_c('font-awesome-icon',{attrs:{\"icon\":\"plus-circle\"}}),_vm._v(\" Ajouter une référence cadastrale \")],1)],1),_c('div',{ref:\"zoneplancadastre\",staticClass:\"prestation-expertise-situation-cadastrale-component-plan-cadastre\"},[_c('h4',{class:{ invalid: _vm.validation.piecesJointes.PlanCadastre.$error }},[_vm._v(\"Plan de cadastre\")]),(_vm.isPlanCadastreAutomatic)?_c('div',[(_vm.imagePlanCadastre || _vm.isPlanCadastreAnUploadedCanva)?_c('div',[_c('v-stage',{ref:\"stage\",attrs:{\"config\":{ width: _vm.imageWidth, height: _vm.imageHeight },\"id\":\"canva\"}},[_c('v-layer',{ref:\"layer\"},[_c('v-image',{attrs:{\"config\":{\n image: _vm.imagePlanCadastre,\n }}}),_vm._l((_vm.polygons),function(polygon,index){return _c('v-line',{key:index,attrs:{\"config\":{\n points: polygon,\n fill: '#521da5',\n stroke: 'black',\n opacity: 0.3,\n strokeWidth: 2,\n closed: true,\n }}})})],2)],1)],1):_c('div',[_c('img',{attrs:{\"src\":_vm.planCadastre.chemin}})]),_c('div',[_c('b-form-group',{attrs:{\"label\":\"Niveau de zoom\"}},[_c('b-form-radio-group',{attrs:{\"id\":\"btn-radios-2\",\"options\":_vm.zoomOptions,\"button-variant\":\"outline-primary\",\"size\":\"md\",\"name\":\"radio-btn-outline\",\"buttons\":\"\"},model:{value:(_vm.selectedZoom),callback:function ($$v) {_vm.selectedZoom=$$v},expression:\"selectedZoom\"}})],1)],1)]):_c('div',[_c('prestation-expertise-file-uploader',{attrs:{\"id\":\"fileuploader-cadastre\",\"type\":\"PlanCadastre\",\"piecesJointes\":_vm.piecesJointes,\"multiple\":false,\"showLabel\":false,\"state\":_vm.state}}),_c('a',{staticClass:\"btn btn-secondary mt-2 mb-2 text-white\",attrs:{\"href\":_vm.cadastreBaseUrl,\"target\":\"_blank\"}},[_c('font-awesome-icon',{staticClass:\"mr-1\",attrs:{\"icon\":\"eye\"}}),_vm._v(\"Consulter le site cadastre.gouv.fr \")],1)],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:\"prestation-expertise-file-uploader-component\",class:{ invalid: !_vm.state }},[(_vm.title)?_c('h4',{domProps:{\"innerHTML\":_vm._s(_vm.title)}}):_vm._e(),(_vm.piecesJointes)?_c('vue-gallery',{attrs:{\"id\":'gallery-' + _vm.type,\"images\":_vm.images,\"index\":_vm.index},on:{\"close\":function($event){_vm.index = null}}}):_vm._e(),_c('transition-group',{staticClass:\"row no-gutters photos-wrapper\",class:_vm.isMobile ? 'mobile' : 'desktop',attrs:{\"name\":_vm.animate ? 'fade' : 'no-animate',\"duration\":_vm.animate ? 500 : 0,\"tag\":\"div\"}},[(_vm.piecesJointes)?_vm._l((_vm.filteredPiecesJointes),function(pieceJointe,pjIndex){return _c('div',{key:_vm.type + pjIndex,staticClass:\"photos-wrapper-item col-auto\",class:_vm.isMobile ? 'mobile' : 'desktop'},[_c('prestation-expertise-piece-jointe',{attrs:{\"pieceJointe\":pieceJointe,\"type\":_vm.type,\"showLabel\":_vm.showLabel},on:{\"click\":function($event){_vm.index = pjIndex}}})],1)}):_vm._e(),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.canUpload),expression:\"canUpload\"}],key:'gallery-' + _vm.type,staticClass:\"photos-wrapper-item col-auto uploader-gallery\"},[_c('input',{attrs:{\"type\":\"file\",\"name\":'gallery-' + _vm.id,\"id\":'gallery-' + _vm.id,\"multiple\":_vm.multiple,\"accept\":\"image/*\"},on:{\"change\":_vm.handleFileUpload}}),(!_vm.isUploading && _vm.canUpload)?_c('label',{staticClass:\"d-flex justify-content-center align-items-center text-center drop-box\",attrs:{\"for\":'gallery-' + _vm.id}},[_c('span',[_c('font-awesome-icon',{staticClass:\"icon\",attrs:{\"icon\":\"folder-open\"}}),_c('br'),_vm._v(\" Choisissez \"+_vm._s(_vm.multiple ? 'des fichiers' : 'un fichier')+\" \"),_c('br'),_vm._v(\" ou déposez-le\"+_vm._s(_vm.multiple ? 's' : '')+\" ici. \")],1)]):_vm._e(),(_vm.isUploading)?_c('label',{staticClass:\"d-flex justify-content-center align-items-center text-center\"},[_c('span',[_c('spinner',{attrs:{\"status\":_vm.isUploading,\"color\":_vm.contratTypePrestationColorDefault}}),_vm._v(\" Envoi \"+_vm._s(_vm.multiple ? 'des fichiers' : 'du fichier')+\" en cours... \")],1)]):_vm._e()])],2),(_vm.isMobile)?_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.canUpload),expression:\"canUpload\"}],key:'phone-camera-' + _vm.type,staticClass:\"uploader-photo\"},[_c('input',{attrs:{\"type\":\"file\",\"name\":'phone-camera-' + _vm.id,\"id\":'phone-camera-' + _vm.id,\"accept\":\".png, .jpg, .jpeg\",\"capture\":\"environment\"},on:{\"change\":_vm.handleFileUpload}}),_c('label',{staticClass:\"d-flex justify-content-center align-items-center text-center\",attrs:{\"for\":'phone-camera-' + _vm.id}},[_c('b-button',{attrs:{\"disabled\":_vm.isUploading}},[(!_vm.isUploading && _vm.canUpload)?_c('font-awesome-icon',{staticClass:\"icon\",attrs:{\"icon\":\"camera\"}}):_vm._e(),(_vm.isUploading)?_c('spinner',{attrs:{\"status\":_vm.isUploading,\"color\":_vm.contratTypePrestationColorDefault}}):_vm._e(),_c('span',{staticClass:\"ml-1\"},[_vm._v(\"Prendre une photo\")])],1)],1)]):_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:\"prestation-expertise-piece-jointe-component position-relative\",class:{\n 'is-main': _vm.isBrowser && _vm.pieceJointe.isMain,\n }},[_c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.onUpdateClick()}}},[_c('div',{staticClass:\"pan\"}),_c('a',{staticClass:\"delete p-1\",attrs:{\"title\":\"Supprimer la photo\"},on:{\"click\":_vm.onDeleteClick}},[_c('font-awesome-icon',{attrs:{\"icon\":\"trash\",\"fixed-width\":\"\"}})],1),_c('a',{staticClass:\"zoom p-1\",attrs:{\"title\":\"Zoomer la photo\"},on:{\"click\":function($event){return _vm.$emit('click')}}},[_c('font-awesome-icon',{attrs:{\"icon\":\"search-plus\",\"fixed-width\":\"\"}})],1),(_vm.canDefineMainPhoto && !_vm.pieceJointe.isMain)?_c('a',{staticClass:\"thumbtack p-1\",attrs:{\"title\":\"Mettre la photo en couverture sur le rapport\"},on:{\"click\":_vm.onShowConfirmToSetMainPhotoClick}},[_c('font-awesome-icon',{attrs:{\"icon\":\"thumbtack\",\"fixed-width\":\"\"}})],1):_vm._e(),_c('div',{staticClass:\"d-flex align-items-center justify-content-center thumbnail\"},[_c('img',{attrs:{\"src\":_vm.path,\"data-pieceJointeId\":_vm.pieceJointe.id}})]),(_vm.showLabel)?_c('div',{staticClass:\"row no-gutters editline\"},[_c('div',{staticClass:\"col\"},[(!_vm.isEditing)?_c('span',[_vm._v(_vm._s(_vm.pieceJointe.nom))]):_vm._e(),(_vm.isEditing)?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.nom),expression:\"nom\"}],attrs:{\"type\":\"text\",\"maxlength\":\"95\"},domProps:{\"value\":(_vm.nom)},on:{\"keyup\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.onUpdateClick($event)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.onCancelClick($event)}],\"input\":function($event){if($event.target.composing){ return; }_vm.nom=$event.target.value}}}):_vm._e()]),_c('div',{staticClass:\"col-auto align-self-center\"},[(!_vm.isEditing)?_c('a',{on:{\"click\":_vm.onEditClick}},[_c('font-awesome-icon',{attrs:{\"icon\":\"pencil-alt\",\"fixed-width\":\"\"}})],1):_vm._e(),(_vm.isEditing)?_c('a',{on:{\"click\":_vm.onUpdateClick}},[_c('font-awesome-icon',{attrs:{\"icon\":\"check\",\"fixed-width\":\"\"}})],1):_vm._e(),(_vm.isEditing)?_c('a',{on:{\"click\":_vm.onCancelClick}},[_c('font-awesome-icon',{attrs:{\"icon\":\"ban\",\"fixed-width\":\"\"}})],1):_vm._e()])]):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport DeviceMixin from '@/mixins/device.mixin';\r\nimport { PrestationExpertisePieceJointeDto } from '@/shared/dtos/prestation-expertise/prestation-expertise-piece-jointe.dto';\r\nimport { SubjectMessageTypeEnum } from '@/shared/enums/subject-message-type.enum';\r\nimport { TypePrestationExpertisePieceJointeEnum } from '@/shared/enums/type-prestation-expertise-piece-jointe.enum';\r\nimport { SubjectMessage } from '@/shared/models/subject-message';\r\nimport { Component, Inject, Mixins, Prop, Vue } from 'vue-property-decorator';\r\n\r\n@Component({\r\n name: 'PrestationExpertisePieceJointe',\r\n})\r\nexport default class PrestationExpertisePieceJointe extends Mixins(DeviceMixin) {\r\n private _fileExtension: string;\r\n\r\n @Inject('deletePieceJointeByIdAndType') public deletePieceJointeByIdAndType: any;\r\n @Inject('confirmDelete') public confirmDelete: any;\r\n @Inject('renamePieceJointe') public renamePieceJointe: any;\r\n\r\n @Prop({ required: true }) public type: string;\r\n @Prop() public pieceJointe: PrestationExpertisePieceJointeDto;\r\n @Prop({ default: true }) public showLabel: boolean;\r\n\r\n public isEditing: boolean = false;\r\n public nom: string = null;\r\n public canDefineMainPhoto: boolean = true;\r\n\r\n //#region LIFE CYCLES\r\n public beforeMount(): void {\r\n Vue.prototype.$subjectMessageService.subject.subscribe((subjectMessage: SubjectMessage) => {\r\n if (subjectMessage.type === SubjectMessageTypeEnum.REMOVE_MAIN_PHOTO) {\r\n this.pieceJointe.isMain = false;\r\n this.pieceJointe.dateModificationUtc = new Date();\r\n }\r\n });\r\n }\r\n\r\n public mounted(): void {\r\n this.canDefineMainPhoto =\r\n this.isBrowser && this.type !== TypePrestationExpertisePieceJointeEnum[TypePrestationExpertisePieceJointeEnum.PlanCadastre];\r\n }\r\n //#endregion\r\n\r\n //#region COMPUTED\r\n get path() {\r\n if (this.pieceJointe.content.indexOf('base64') === -1) {\r\n return `${Vue.prototype.$config.baseUrlApiAppService}${this.pieceJointe.content}`;\r\n }\r\n return this.pieceJointe.content;\r\n }\r\n //#endregion\r\n\r\n //#region EVENTS\r\n public onEditClick(): void {\r\n this.isEditing = true;\r\n\r\n const fileNameAndExtension = /\\.[^/.]+$/.exec(this.pieceJointe.nom);\r\n\r\n if (fileNameAndExtension && fileNameAndExtension.length) {\r\n this._fileExtension = /\\.[^/.]+$/.exec(this.pieceJointe.nom)[0];\r\n this.nom = this.pieceJointe.nom.replace(/\\.[^/.]+$/, '');\r\n } else {\r\n this._fileExtension = '.jpg';\r\n this.nom = this.pieceJointe.nom;\r\n }\r\n }\r\n\r\n public async onUpdateClick(): Promise {\r\n if (this.nom == '') {\r\n Vue.prototype.$notificationService.error(`Vous devez renseigner un nom sur cette photo`);\r\n return;\r\n }\r\n\r\n await this.renamePieceJointe(this.pieceJointe.id, this.type, this.nom + this._fileExtension);\r\n this.isEditing = false;\r\n }\r\n\r\n public onCancelClick(): void {\r\n this.isEditing = false;\r\n }\r\n\r\n public onDeleteClick(): void {\r\n this.confirmDelete('cette pièce jointe').then(() => {\r\n this.deletePieceJointeByIdAndType(this.pieceJointe.id, this.type);\r\n });\r\n }\r\n\r\n public onShowConfirmToSetMainPhotoClick(): void {\r\n this.$bvModal\r\n .msgBoxConfirm('Voulez-vous mettre cette photo en couverture sur le rapport ?', {\r\n title: 'Confirmation',\r\n size: 'sm',\r\n okTitle: 'Oui',\r\n cancelTitle: 'Non',\r\n centered: true,\r\n hideHeaderClose: false,\r\n footerClass: 'p-2 text-right',\r\n })\r\n .then((isOK) => {\r\n if (isOK) {\r\n Vue.prototype.$subjectMessageService.next(SubjectMessageTypeEnum.REMOVE_MAIN_PHOTO);\r\n this.pieceJointe.isMain = true;\r\n this.pieceJointe.dateModificationUtc = new Date();\r\n }\r\n });\r\n }\r\n\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-piece-jointe.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-piece-jointe.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./prestation-expertise-piece-jointe.vue?vue&type=template&id=766c7cf2&scoped=true&\"\nimport script from \"./prestation-expertise-piece-jointe.vue?vue&type=script&lang=ts&\"\nexport * from \"./prestation-expertise-piece-jointe.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./prestation-expertise-piece-jointe.vue?vue&type=style&index=0&id=766c7cf2&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 \"766c7cf2\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Inject, Mixins, Prop, Vue } from 'vue-property-decorator';\r\nimport DeviceMixin from '@/mixins/device.mixin';\r\nimport PrestationExpertisePieceJointe from '@/shared/components/prestation-expertise/prestation-expertise-piece-jointe.vue';\r\nimport Spinner from 'vue-spinner-component/src/Spinner.vue';\r\nimport VueGallery from 'vue-gallery';\r\nimport { contratTypePrestationColorDefault } from '@/helpers/rapport-expertise.helper';\r\nimport { PrestationExpertisePieceJointeDto } from '@/shared/dtos/prestation-expertise/prestation-expertise-piece-jointe.dto';\r\nimport _ from 'lodash';\r\nimport imageCompression from 'browser-image-compression';\r\n\r\n@Component({\r\n name: 'PrestationExpertiseFileUploader',\r\n components: {\r\n PrestationExpertisePieceJointe,\r\n Spinner,\r\n VueGallery,\r\n },\r\n})\r\nexport default class PrestationExpertiseFileUploader extends Mixins(DeviceMixin) {\r\n @Inject('addPieceJointe') public addPieceJointe: any;\r\n @Inject('updateOrdrePiecesJointes') public updateOrdrePiecesJointes: any;\r\n\r\n @Prop({ required: true }) public id: string;\r\n @Prop({ required: true }) public type: string;\r\n @Prop() public piecesJointes: { [index: string]: PrestationExpertisePieceJointeDto[] };\r\n @Prop() public pieceJointeId: number;\r\n @Prop() public workingById: boolean;\r\n @Prop({ default: true }) public multiple: boolean;\r\n @Prop({ default: true }) public showLabel: boolean;\r\n @Prop({ default: true }) public animate: boolean;\r\n @Prop({ default: true }) public state: boolean;\r\n @Prop() public title: string;\r\n\r\n public isUploading: boolean = false;\r\n public index: number = null;\r\n public contratTypePrestationColorDefault: string = contratTypePrestationColorDefault;\r\n\r\n //#region LIFE CYCLES\r\n\r\n //#endregion\r\n\r\n //#region COMPUTED\r\n get canUpload(): boolean {\r\n return this.multiple || (!this.multiple && this.piecesJointes != null && this.filteredPiecesJointes.length == 0);\r\n }\r\n\r\n get filteredPiecesJointes(): PrestationExpertisePieceJointeDto[] {\r\n let filteredPiecesJointes: PrestationExpertisePieceJointeDto[] = [];\r\n\r\n if (this.workingById) {\r\n filteredPiecesJointes = this.piecesJointes[this.type].filter((p: any) => p.id == this.pieceJointeId);\r\n } else filteredPiecesJointes = this.piecesJointes[this.type] || [];\r\n\r\n return _.orderBy(\r\n filteredPiecesJointes.filter((pieceJointe: PrestationExpertisePieceJointeDto) => !pieceJointe.isDeleted),\r\n 'ordre',\r\n 'asc'\r\n );\r\n }\r\n\r\n get images(): string[] {\r\n return this.filteredPiecesJointes.map((pj: any) => {\r\n if (pj.content.indexOf('base64') === -1) {\r\n return `${Vue.prototype.$config.baseUrlApiAppService}${pj.content}`;\r\n }\r\n return pj.content;\r\n });\r\n }\r\n\r\n //#endregion\r\n\r\n //#region WATCH\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n /**\r\n * Attention, cette méthode prépare l'upload mais ne le déclenche pas !\r\n * La méthode en charge de l'upload se trouve dans \"synchronization.service.ts\" : managePiecesJointes()\r\n */\r\n private async prepareFileUpload(files: any[]): Promise {\r\n const nbFiles = files.length;\r\n let nbFileProcessed = 0;\r\n\r\n if (!nbFiles) return;\r\n\r\n // https://www.npmjs.com/package/browser-image-compression\r\n const options = {\r\n maxSizeMB: 0.25, // (default: Number.POSITIVE_INFINITY)\r\n maxWidthOrHeight: 1024, // compressedFile will scale down by ratio to a point that width or height is smaller than maxWidthOrHeight (default: undefined)\r\n // but, automatically reduce the size to smaller than the maximum Canvas size supported by each browser.\r\n // Please check the Caveat part for details.\r\n\r\n initialQuality: 1, // optional, initial quality value between 0 and 1 (default: 1)\r\n };\r\n\r\n for (let file of files) {\r\n if (!'jpg|jpeg|png'.includes(file.name.toLowerCase().split('.').pop())) {\r\n this.isUploading = false;\r\n Vue.prototype.$notificationService.warn(`Le fichier ${file.name} n'est pas une image valide (.jpg,.jpeg,.png)`);\r\n } else {\r\n this.isUploading = true;\r\n // console.log('---------');\r\n // console.log('originalFile instanceof Blob', file instanceof Blob); // true\r\n // console.log(`originalFile size ${file.size / 1024 / 1024} MB`);\r\n file = await imageCompression(file, options);\r\n // console.log('compressedFile instanceof Blob', file instanceof Blob); // true\r\n // console.log(`compressedFile size ${file.size / 1024 / 1024} MB`); // smaller than maxSizeMB\r\n\r\n const base64Content = await imageCompression.getDataUrlFromFile(file);\r\n\r\n this.addPieceJointe(this.type, base64Content, file.name).then((id: string) => {\r\n if (id) this.$emit('uploadedFileId', id);\r\n\r\n nbFileProcessed++;\r\n\r\n if (nbFileProcessed >= nbFiles) {\r\n this.isUploading = false;\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n public async handleFileUpload(e: any): Promise {\r\n this.prepareFileUpload(e.target.files);\r\n }\r\n\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-file-uploader.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-file-uploader.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./prestation-expertise-file-uploader.vue?vue&type=template&id=89ec9e2a&scoped=true&\"\nimport script from \"./prestation-expertise-file-uploader.vue?vue&type=script&lang=ts&\"\nexport * from \"./prestation-expertise-file-uploader.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./prestation-expertise-file-uploader.vue?vue&type=style&index=0&id=89ec9e2a&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 \"89ec9e2a\",\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:\"prestation-expertise-plan-cadastre-component\"},[_c('h4',{class:{ invalid: !_vm.state }},[_vm._v(\"Plan de cadastre\")]),(!_vm.isManuallyDisplayed)?_c('div',[_c('p',[_vm._v(\" La récupération du plan de cadastre est automatique. Vous pouvez jouer sur le niveau de zoom pour obtenir le meilleur plan. En cas de résultat non exploitable : \"),_c('b-button',{staticClass:\"mb-2 text-white\",attrs:{\"variant\":\"link\"},on:{\"click\":_vm.onAddPlanCadastreManuallyClick}},[_vm._v(\" ajouter un plan de cadastre manuellement. \")])],1),(_vm.cadastreUrl)?_c('img',{attrs:{\"src\":_vm.cadastreUrl,\"alt\":\"Plan de cadastre\"}}):_vm._e(),_c('div',{staticClass:\"prestation-expertise-plan-cadastre-component-buttons\"},[_c('b-form-group',{attrs:{\"label\":\"Niveau de zoom\"}},[_c('b-form-radio-group',{attrs:{\"id\":\"btn-radios-2\",\"options\":_vm.zoomOptions,\"button-variant\":\"outline-primary\",\"size\":\"md\",\"name\":\"radio-btn-outline\",\"buttons\":\"\"},model:{value:(_vm.selectedZoom),callback:function ($$v) {_vm.selectedZoom=$$v},expression:\"selectedZoom\"}})],1)],1)]):_c('div',[_c('b-button',{staticClass:\"mb-4 text-white\",attrs:{\"variant\":\"gray5\"},on:{\"click\":_vm.onAddPlanCadastreAutoClick}},[_c('font-awesome-icon',{staticClass:\"mr-1\",attrs:{\"icon\":\"magic\"}}),_vm._v(\"Utiliser la récupération automatique \")],1),_c('prestation-expertise-file-uploader',{attrs:{\"id\":\"fileuploader-cadastre\",\"type\":\"PlanCadastre\",\"piecesJointes\":_vm.piecesJointes,\"multiple\":false,\"showLabel\":false,\"state\":_vm.state}}),_c('a',{staticClass:\"btn btn-secondary mt-2 mb-2 text-white\",attrs:{\"href\":_vm.cadastreBaseUrl,\"target\":\"_blank\"}},[_c('font-awesome-icon',{staticClass:\"mr-1\",attrs:{\"icon\":\"eye\"}}),_vm._v(\"Consulter le site cadastre.gouv.fr \")],1)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Vue, Component, Mixins, Prop, Watch, Inject } from 'vue-property-decorator';\r\nimport DeviceMixin from '@/mixins/device.mixin';\r\nimport Spinner from 'vue-spinner-component/src/Spinner.vue';\r\nimport VueGallery from 'vue-gallery';\r\nimport _ from 'lodash';\r\nimport axios from 'axios';\r\nimport PrestationExpertiseFileUploader from './prestation-expertise-file-uploader.vue';\r\nimport { TypePrestationExpertisePieceJointeEnum } from '@/shared/enums/type-prestation-expertise-piece-jointe.enum';\r\nimport { urlToData } from '@/shared/utilities/url.utility';\r\n\r\n@Component({\r\n name: 'PrestationExpertisePlanCadastre',\r\n components: {\r\n PrestationExpertiseFileUploader,\r\n Spinner,\r\n VueGallery,\r\n },\r\n})\r\nexport default class PrestationExpertisePlanCadastre extends Mixins(DeviceMixin) {\r\n @Inject('addPieceJointe') public addPieceJointe: any;\r\n @Inject('deletePieceJointeByIdAndType') public deletePieceJointeByIdAndType: any;\r\n\r\n private codeInsee: number;\r\n private type = TypePrestationExpertisePieceJointeEnum[TypePrestationExpertisePieceJointeEnum.PlanCadastre];\r\n\r\n @Prop() public latitude: number;\r\n @Prop() public longitude: number;\r\n @Prop() public piecesJointes: any;\r\n @Prop() public state: any;\r\n @Prop() public zoom: number;\r\n\r\n public cadastreUrl: string = '';\r\n public cadastreBaseUrl: string = Vue.prototype.$config.cadastreBaseUrl;\r\n\r\n public zoomOptions = [\r\n { text: 'Large', value: 0.001 },\r\n { text: 'Moyen', value: 0.00075 },\r\n { text: 'Rapproché', value: 0.0005 },\r\n ];\r\n public selectedZoom: number = 0.00075;\r\n public isManuallyDisplayed = false;\r\n\r\n //#region LIFE CYCLES\r\n\r\n public async mounted(): Promise {\r\n if (this.zoom === null) {\r\n this.selectedZoom = this.zoomOptions[1].value;\r\n this.$emit('zoomPlanCadastreChanged', this.selectedZoom);\r\n } else {\r\n this.selectedZoom = this.zoom;\r\n }\r\n\r\n if (this.PlanCadastre.length === 0) {\r\n await this.getPlanCadastre();\r\n } else {\r\n var planCadastre = this.PlanCadastre[0];\r\n if (planCadastre.nom.indexOf('PlanCadastreInspire') >= 0) {\r\n this.cadastreUrl = `${Vue.prototype.$config.baseUrlApiAppService}${planCadastre.content}`;\r\n } else {\r\n this.isManuallyDisplayed = true;\r\n }\r\n }\r\n\r\n // watching multiple properties with a single handler\r\n // https://thewebdev.info/2021/05/22/how-to-watch-multiple-properties-with-a-single-handler-in-vue-js/\r\n this.$watch(\r\n () => [this.latitude, this.longitude],\r\n () => {\r\n if (!this.isManuallyDisplayed) {\r\n this.getPlanCadastre();\r\n }\r\n },\r\n {\r\n deep: true,\r\n }\r\n );\r\n }\r\n\r\n //#endregion\r\n\r\n //#region COMPUTED\r\n get PlanCadastre(): any {\r\n if (this.piecesJointes) return this.piecesJointes[this.type];\r\n\r\n return null;\r\n }\r\n //#endregion\r\n\r\n //#region WATCH\r\n @Watch('selectedZoom')\r\n public async selectedZoomChanged(): Promise {\r\n if (this.zoom !== this.selectedZoom) {\r\n this.$emit('zoomPlanCadastreChanged', this.selectedZoom);\r\n await this.getPlanCadastre();\r\n }\r\n }\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n public onAddPlanCadastreManuallyClick(): void {\r\n this.cadastreUrl = null;\r\n this.isManuallyDisplayed = true;\r\n this.clearPieceJointePlanCadastre();\r\n }\r\n\r\n public async onAddPlanCadastreAutoClick(): Promise {\r\n this.isManuallyDisplayed = false;\r\n this.clearPieceJointePlanCadastre();\r\n await this.getPlanCadastre();\r\n }\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n\r\n private clearPieceJointePlanCadastre(): void {\r\n if (this.PlanCadastre.length > 0) {\r\n this.deletePieceJointeByIdAndType(this.PlanCadastre[0].id, this.type);\r\n }\r\n this.piecesJointes[this.type] = [];\r\n }\r\n\r\n private async getPlanCadastre(): Promise {\r\n await axios\r\n .get(`https://geo.api.gouv.fr/communes?lat=${this.latitude}&lon=${this.longitude}&fields=nom,code&format=json&geometry=centre`)\r\n .then(async (response: any) => {\r\n this.codeInsee = response.data[0].code;\r\n await this.setCadastreUrl();\r\n })\r\n .catch(async (error: any) => {\r\n var logMessage = `Une erreur est survenue lors de la récupération du plan de cadastre.`;\r\n Vue.prototype.$notificationService.error(logMessage);\r\n await Vue.prototype.$logStoreService.error(`${logMessage} - ERROR`, error, 'PrestationExpertisePlanCadastre');\r\n });\r\n }\r\n\r\n private async setCadastreUrl(): Promise {\r\n const bbox = `${this.latitude - this.selectedZoom},${this.longitude - this.selectedZoom},${this.latitude + this.selectedZoom},${\r\n this.longitude + this.selectedZoom\r\n }`;\r\n\r\n if (this.codeInsee !== undefined) {\r\n this.cadastreUrl = `https://inspire.cadastre.gouv.fr/scpc/${this.codeInsee}.wms?service=wms&version=1.3&request=GetMap&layers=AMORCES_CAD,LIEUDIT,CP.CadastralParcel,BU.Building,CLOTURE,DETAIL_TOPO,HYDRO,VOIE_COMMUNICATION,BU.Building,BORNE_REPERE&format=image/png&crs=EPSG:4326&bbox=${bbox}&width=900&height=900&styles=`;\r\n\r\n urlToData(this.cadastreUrl, async (dataUrl: any) => {\r\n await this.addPieceJointe(this.type, dataUrl, 'PlanCadastreInspire.png');\r\n });\r\n }\r\n }\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-plan-cadastre.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-plan-cadastre.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./prestation-expertise-plan-cadastre.vue?vue&type=template&id=7487a31e&scoped=true&\"\nimport script from \"./prestation-expertise-plan-cadastre.vue?vue&type=script&lang=ts&\"\nexport * from \"./prestation-expertise-plan-cadastre.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./prestation-expertise-plan-cadastre.vue?vue&type=style&index=0&id=7487a31e&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 \"7487a31e\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Vue, Component, Mixins, Prop, Watch, Inject } from 'vue-property-decorator';\r\nimport { BTable, BTooltip } from 'bootstrap-vue';\r\nimport NumericNullable from '@/shared/components/numeric-nullable.vue';\r\nimport PrestationExpertiseFileUploader from './prestation-expertise-file-uploader.vue';\r\nimport { Guid } from 'guid-typescript';\r\nimport { PrestationExpertiseReferenceCadastraleDto } from '@/shared/dtos/prestation-expertise/prestation-expertise-reference-cadastrale.dto';\r\nimport { PrestationExpertiseDto } from '@/shared/dtos/prestation-expertise/prestation-expertise.dto';\r\nimport PrestationExpertisePlanCadastre from './prestation-expertise-plan-cadastre.vue';\r\nimport Spinner from 'vue-spinner-component/src/Spinner.vue';\r\nimport VueGallery from 'vue-gallery';\r\nimport _ from 'lodash';\r\nimport axios from 'axios';\r\nimport { TypePrestationExpertisePieceJointeEnum } from '@/shared/enums/type-prestation-expertise-piece-jointe.enum';\r\nimport { urlToData } from '@/shared/utilities/url.utility';\r\nimport DeviceMixin from '@/mixins/device.mixin';\r\n\r\n@Component({\r\n name: 'PrestationExpertiseSituationCadastrale',\r\n components: {\r\n BTable,\r\n PrestationExpertiseFileUploader,\r\n NumericNullable,\r\n PrestationExpertisePlanCadastre,\r\n Spinner,\r\n VueGallery,\r\n },\r\n})\r\nexport default class PrestationExpertiseSituationCadastrale extends Mixins(DeviceMixin) {\r\n @Inject('addPieceJointe') public addPieceJointe: any;\r\n @Inject('deletePieceJointeByIdAndType') public deletePieceJointeByIdAndType: any;\r\n\r\n // Reférences cadastrales\r\n @Prop() public value: PrestationExpertiseReferenceCadastraleDto[];\r\n @Prop() public prestationExpertise: PrestationExpertiseDto;\r\n @Prop() public validation: any;\r\n\r\n // Plan cadastre\r\n @Prop() public piecesJointes: any;\r\n @Prop() public state: any;\r\n @Prop() public zoom: number;\r\n\r\n // Private\r\n // Plan cadastre\r\n private codeInsee: number;\r\n private type = TypePrestationExpertisePieceJointeEnum[TypePrestationExpertisePieceJointeEnum.PlanCadastre];\r\n private boundingBox: number[] = [];\r\n private imageWidth = 400;\r\n private imageHeight = 400;\r\n private longitude = 0;\r\n private latitude = 0;\r\n\r\n // Public\r\n // References cadastrales\r\n public fields: any = [\r\n { key: 'section', label: 'Section' },\r\n { key: 'parcelle', label: 'Parcelle' },\r\n { key: 'superficie', label: 'Superficie' },\r\n { key: 'action', label: '' },\r\n ];\r\n\r\n // Plan cadastre\r\n public imagePlanCadastre: HTMLImageElement = null;\r\n public cadastreUrl: string = '';\r\n public cadastreBaseUrl: string = Vue.prototype.$config.cadastreBaseUrl;\r\n public selectedZoom: number = 0.00075;\r\n //public isPlanCadastreAutomatic = true;\r\n public isPlanCadastreAutomatic = false;\r\n public isPlanCadastreAnUploadedCanva = false;\r\n public zoomOptions = [\r\n { text: 'Large', value: 0.0025 },\r\n { text: 'Moyen', value: 0.00075 },\r\n { text: 'Rapproché', value: 0.0005 },\r\n ];\r\n public polygons: number[][] = [];\r\n public isPlanCadastreLoading = false;\r\n public apiKey: string = Vue.prototype.$config.googleMapApiKey;\r\n\r\n //#region LIFE CYCLES\r\n public async mounted(): Promise {\r\n this.longitude = this.prestationExpertise.geographiqueLongitude;\r\n this.latitude = this.prestationExpertise.geographiqueLatitude;\r\n\r\n if (!this.referencesCadastrales.length) this.addReferencesCadastrales();\r\n // await this.initPlanCadastreType();\r\n // this.initZoom();\r\n // this.initPlanCadastre();\r\n\r\n // this.$watch(\r\n // () => [this.latitude, this.longitude],\r\n // () => {\r\n // if (this.isPlanCadastreAutomatic) this.initPlanCadastre(true);\r\n // },\r\n // {\r\n // deep: true,\r\n // }\r\n // );\r\n }\r\n\r\n //#region COMPUTED\r\n get referencesCadastrales(): PrestationExpertiseReferenceCadastraleDto[] {\r\n return this.value;\r\n }\r\n\r\n set referencesCadastrales(referencesCadastrales: PrestationExpertiseReferenceCadastraleDto[]) {\r\n this.value = referencesCadastrales;\r\n }\r\n\r\n get planCadastre(): any {\r\n return this.piecesJointes[this.type];\r\n }\r\n\r\n //#endregion\r\n\r\n //#region WATCH\r\n @Watch('value', { deep: true })\r\n public async referencesCadastresChanged(): Promise {\r\n this.referencesCadastrales.forEach((referenceCadastrale: PrestationExpertiseReferenceCadastraleDto) => {\r\n if (!referenceCadastrale.superficie) referenceCadastrale.superficie = referenceCadastrale.superficieGouvernement;\r\n });\r\n }\r\n\r\n @Watch('selectedZoom')\r\n public async selectedZoomChanged(): Promise {\r\n if (this.zoom !== this.selectedZoom) {\r\n this.$emit('zoomPlanCadastreChanged', this.selectedZoom);\r\n this.setBoundingBox();\r\n this.drawPlanCadastreImage();\r\n }\r\n }\r\n\r\n //#region EVENTS\r\n // Références cadastrales\r\n public onAddReferenceCadastraleClick(): void {\r\n this.addReferencesCadastrales();\r\n }\r\n\r\n public onDeleteReferenceCadastraleClick(index: number): void {\r\n this.referencesCadastrales.splice(index, 1);\r\n\r\n this.drawPolygons();\r\n }\r\n\r\n // Plan cadastre\r\n public onDisplayPlanCadastreManuallyClick(): void {\r\n this.cadastreUrl = null;\r\n this.isPlanCadastreAutomatic = false;\r\n this.clearPieceJointePlanCadastre();\r\n }\r\n\r\n public async onDisplayPlanCadastreAutoClick(): Promise {\r\n this.isPlanCadastreAutomatic = true;\r\n this.isPlanCadastreLoading = false;\r\n }\r\n\r\n public async onGetCadastreForAddresseClick(): Promise {\r\n this.isPlanCadastreAutomatic = true;\r\n this.isPlanCadastreLoading = false;\r\n this.clearPieceJointePlanCadastre();\r\n await this.initPlanCadastre(true);\r\n }\r\n\r\n public async onGetReferenceCadastraleClick(referenceCadastrale: PrestationExpertiseReferenceCadastraleDto): Promise {\r\n if (!this.codeInsee) {\r\n Vue.prototype.$notificationService.warn(`Veuillez d'abord récupérer le plan de cadastre pour l'adresse.`);\r\n } else {\r\n this.getReferenceCadastralePolygon(referenceCadastrale);\r\n }\r\n }\r\n\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n // Références cadastrales\r\n private addReferencesCadastrales(): void {\r\n this.referencesCadastrales.push({\r\n id: Guid.EMPTY,\r\n prestationExpertiseId: this.prestationExpertise.id.toString(),\r\n technicalId: Guid.create(),\r\n section: '',\r\n parcelle: '',\r\n superficie: null,\r\n polygon: [],\r\n });\r\n }\r\n\r\n // Plan cadastre\r\n private clearPieceJointePlanCadastre(): void {\r\n if (this.planCadastre.length > 0) {\r\n this.imagePlanCadastre = null;\r\n this.deletePieceJointeByIdAndType(this.planCadastre[0].id, this.type);\r\n }\r\n this.piecesJointes[this.type] = [];\r\n }\r\n\r\n private initPlanCadastreType(): void {\r\n if (this.planCadastre && this.planCadastre.length) {\r\n if (this.planCadastre[0].nom === 'PlanCadastreInspire') {\r\n this.isPlanCadastreAutomatic = true;\r\n this.isPlanCadastreAnUploadedCanva = true;\r\n } else {\r\n this.isPlanCadastreAutomatic = false;\r\n this.isPlanCadastreAnUploadedCanva = false;\r\n }\r\n } else {\r\n this.isPlanCadastreAutomatic = true;\r\n this.isPlanCadastreAnUploadedCanva = false; // The first time, the view is the automatic view but image has not been still been uploaded\r\n }\r\n }\r\n\r\n private initZoom(): void {\r\n if (this.zoom === null) {\r\n this.selectedZoom = this.zoomOptions[1].value;\r\n this.$emit('zoomPlanCadastreChanged', this.selectedZoom);\r\n } else {\r\n this.selectedZoom = this.zoom;\r\n }\r\n }\r\n\r\n private initPlanCadastre(forceRefresh = false): void {\r\n if (this.isPlanCadastreAutomatic || forceRefresh) {\r\n if (this.isMobile) {\r\n var parentWidth = (this.$refs.zoneplancadastre as Element).clientWidth;\r\n\r\n this.imageWidth = parentWidth;\r\n this.imageHeight = parentWidth;\r\n }\r\n\r\n this.setBoundingBox();\r\n this.getCodeInsee();\r\n }\r\n }\r\n\r\n private setBoundingBox(): void {\r\n // Longitude = X = 3.xx ; Latitude = Y = 43.xx\r\n\r\n this.boundingBox = [\r\n this.latitude - this.selectedZoom,\r\n this.longitude - this.selectedZoom,\r\n this.latitude + this.selectedZoom,\r\n this.longitude + this.selectedZoom,\r\n ];\r\n }\r\n\r\n private async getCodeInsee(): Promise {\r\n this.isPlanCadastreLoading = true;\r\n axios\r\n .get(`https://geo.api.gouv.fr/communes?lat=${this.latitude}&lon=${this.longitude}&fields=nom,code&format=json&geometry=centre`)\r\n .then(async (response: any) => {\r\n if (response.data.length && response.data[0].code) {\r\n this.codeInsee = response.data[0].code;\r\n\r\n this.drawPlanCadastreImage();\r\n } else {\r\n Vue.prototype.$notificationService.error(`Les coordonnées géographiques ne correspondent à aucun code INSEE.`);\r\n }\r\n })\r\n .catch(async (error: any) => {\r\n this.isPlanCadastreLoading = false;\r\n var logMessage = `Une erreur est survenue lors de la récupération du code INSEE.`;\r\n Vue.prototype.$notificationService.error(logMessage);\r\n await Vue.prototype.$logStoreService.error(`${logMessage} - ERROR`, error, 'PrestationExpertisePlanCadastre');\r\n });\r\n }\r\n\r\n private async drawPlanCadastreImage(): Promise {\r\n this.isPlanCadastreLoading = true;\r\n this.cadastreUrl = `https://inspire.cadastre.gouv.fr/scpc/${this.codeInsee}.wms?service=wms&version=1.3&request=GetMap&layers=AMORCES_CAD,LIEUDIT,CP.CadastralParcel,BU.Building,CLOTURE,DETAIL_TOPO,HYDRO,VOIE_COMMUNICATION,BU.Building,BORNE_REPERE&format=image/png&crs=EPSG:4326&bbox=${this.boundingBox[0]},${this.boundingBox[1]},${this.boundingBox[2]},${this.boundingBox[3]}&width=${this.imageWidth}&height=${this.imageHeight}&styles=`;\r\n const image = new window.Image();\r\n\r\n urlToData(\r\n this.cadastreUrl,\r\n async (dataUrl: any) => {\r\n image.src = dataUrl;\r\n image.crossOrigin = 'Anonymous';\r\n image.onload = () => {\r\n this.imagePlanCadastre = image;\r\n };\r\n\r\n for (let i = this.referencesCadastrales.length - 1; i >= 0; i--) {\r\n if (!this.referencesCadastrales[i].section && !this.referencesCadastrales[i].parcelle) {\r\n this.referencesCadastrales.splice(i, 1);\r\n }\r\n }\r\n\r\n await this.getReferencesCadastralesPolygons();\r\n this.isPlanCadastreLoading = false;\r\n },\r\n async () => {\r\n this.isPlanCadastreLoading = false;\r\n Vue.prototype.$notificationService.error(\r\n \"Une erreur est survenue lors de la récupération de l'image du cadastre. Si l'erreur persiste, vous pouvez toujours ajouter manuellement un plan de cadastre.\"\r\n );\r\n }\r\n );\r\n }\r\n\r\n private async getReferencesCadastralesPolygons(start: number = 0): Promise {\r\n const logMessage = `Une erreur est survenue lors de l'identification du cadastre. Si l'erreur persiste, vous pouvez toujours ajouter manuellement un plan de cadastre.`;\r\n\r\n this.isPlanCadastreLoading = true;\r\n\r\n await axios\r\n .get(`https://apicarto.ign.fr/api/cadastre/parcelle?code_insee=${this.codeInsee}${start ? `&_start=${start}` : ''}`)\r\n .then(async (response: any) => {\r\n if (response.data && !response.data.message && response.data.features && response.data.features.length) {\r\n // Pour chaque feature, on va isoler la liste des parcelles et leurs polygons pour tester l'inclusivité du point geographique\r\n response.data.features.forEach((feature: any) => {\r\n this.createReferenceCadastrale(feature, true);\r\n });\r\n\r\n if (start < response.data.totalFeatures && start + 1000 < response.data.totalFeatures) {\r\n await this.getReferencesCadastralesPolygons(start + 1000);\r\n } else {\r\n this.drawPolygons();\r\n }\r\n } else {\r\n Vue.prototype.$notificationService.error(logMessage);\r\n }\r\n })\r\n .catch(async (error: any) => {\r\n Vue.prototype.$notificationService.error(logMessage);\r\n await Vue.prototype.$logStoreService.error(`${logMessage} - ERROR`, error, 'PrestationExpertisePlanCadastre');\r\n })\r\n .finally(() => {\r\n this.isPlanCadastreLoading = false;\r\n });\r\n }\r\n\r\n private async getReferenceCadastralePolygon(referenceCadastrale: PrestationExpertiseReferenceCadastraleDto): Promise {\r\n const logMessage = `Une erreur est survenue lors de l'identification de la section ${referenceCadastrale.section} parcelle ${referenceCadastrale.parcelle}. Êtes-vous sur d'avoir correctement saisi la référence cadastrale ? Si l'erreur persiste, vous pouvez toujours ajouter manuellement un plan de cadastre.`;\r\n\r\n this.isPlanCadastreLoading = true;\r\n\r\n await axios\r\n .get(\r\n `https://apicarto.ign.fr/api/cadastre/parcelle?code_insee=${\r\n this.codeInsee\r\n }§ion=${referenceCadastrale.section.toUpperCase()}&numero=${this.padWithZeros(+referenceCadastrale.parcelle, 4)}`\r\n )\r\n .then(async (response: any) => {\r\n if (response.data && !response.data.message && response.data.features && response.data.features.length) {\r\n this.createReferenceCadastrale(response.data.features[0]);\r\n\r\n this.drawPolygons();\r\n } else {\r\n Vue.prototype.$notificationService.error(logMessage);\r\n }\r\n })\r\n .catch(async (error: any) => {\r\n Vue.prototype.$notificationService.error(logMessage);\r\n await Vue.prototype.$logStoreService.error(`${logMessage} - ERROR`, error, 'PrestationExpertisePlanCadastre');\r\n })\r\n .finally(() => {\r\n this.isPlanCadastreLoading = false;\r\n });\r\n }\r\n\r\n private createReferenceCadastrale(feature: any, checkLocation = false) {\r\n /* Exemple pour comprendre. Une parcelle peut contenir plusieurs découpages et pour chaque découpage, il peut y avoir un trou\r\n {\r\n ...,\r\n coordinates: [\r\n [\r\n [\r\n [40, 40], [20, 45], [45, 30], [40, 40]\r\n ]\r\n ],\r\n [\r\n [\r\n [20, 35], [10, 30], [10, 10], [30, 5]...\r\n ],\r\n [\r\n [30, 20], [20, 15], [20, 25], [30, 20] => trou\r\n ]\r\n ]\r\n ]\r\n }\r\n */\r\n\r\n var parcelles: number[][][][] = feature.geometry.coordinates;\r\n parcelles.forEach((parcelle: number[][][]) => {\r\n parcelle.forEach((polygon: number[][]) => {\r\n let flattenCoordinates = polygon.map((polygonCoords) => {\r\n return { lng: polygonCoords[0], lat: polygonCoords[1] };\r\n });\r\n // Test d'inclusion du point geographique\r\n const googleMapPolygon = new Vue.prototype.$googleMapsApi.Polygon({\r\n paths: flattenCoordinates,\r\n });\r\n\r\n if (\r\n !checkLocation ||\r\n (checkLocation &&\r\n Vue.prototype.$googleMapsApi.geometry.poly.containsLocation({ lat: this.latitude, lng: this.longitude }, googleMapPolygon))\r\n ) {\r\n var existingReferenceCadastrale = this.referencesCadastrales.find(\r\n (referenceCadastrale: PrestationExpertiseReferenceCadastraleDto) =>\r\n referenceCadastrale.section === feature.properties.section &&\r\n this.padWithZeros(referenceCadastrale.parcelle, 4) === feature.properties.numero\r\n );\r\n\r\n if (existingReferenceCadastrale) {\r\n existingReferenceCadastrale.polygon = polygon;\r\n existingReferenceCadastrale.superficieGouvernement = feature.properties.contenance;\r\n existingReferenceCadastrale.superficie = existingReferenceCadastrale.superficieGouvernement;\r\n } else {\r\n this.referencesCadastrales.push({\r\n id: Guid.EMPTY,\r\n prestationExpertiseId: this.prestationExpertise.id.toString(),\r\n technicalId: Guid.create(),\r\n section: feature.properties.section,\r\n parcelle: parseInt(feature.properties.numero).toString(),\r\n superficie: feature.properties.contenance,\r\n superficieGouvernement: feature.properties.contenance,\r\n polygon: polygon,\r\n });\r\n }\r\n }\r\n });\r\n });\r\n }\r\n\r\n private drawPolygons(): void {\r\n this.polygons = [];\r\n\r\n this.referencesCadastrales\r\n .filter((rf) => rf.polygon)\r\n .forEach((referenceCadastrale: PrestationExpertiseReferenceCadastraleDto) => {\r\n var newPolygon: number[] = [];\r\n\r\n referenceCadastrale.polygon.forEach((polygon: number[]) => {\r\n newPolygon.push(this.getPixelOnXFromCoordinate(polygon[0]));\r\n newPolygon.push(this.getPixelOnYFromCoordinate(polygon[1]));\r\n });\r\n this.polygons.push(newPolygon);\r\n });\r\n\r\n setTimeout(async () => {\r\n // Capture whole canva and save it to PiecesJointes\r\n var canvas = document.getElementsByTagName('canvas')[0] as HTMLCanvasElement;\r\n var dataURL = canvas.toDataURL();\r\n await this.addPieceJointe(this.type, dataURL, 'PlanCadastreInspire.png');\r\n }, 1000);\r\n }\r\n\r\n private getPixelOnXFromCoordinate(coord: number): number {\r\n return ((coord - this.boundingBox[1]) / (this.boundingBox[3] - this.boundingBox[1])) * this.imageWidth;\r\n }\r\n\r\n private getPixelOnYFromCoordinate(coord: number): number {\r\n return this.imageHeight - ((coord - this.boundingBox[0]) / (this.boundingBox[2] - this.boundingBox[0])) * this.imageHeight;\r\n }\r\n\r\n private padWithZeros(number: number | string, length: number) {\r\n var my_string = '' + number;\r\n while (my_string.length < length) {\r\n my_string = '0' + my_string;\r\n }\r\n\r\n return my_string;\r\n }\r\n\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-situation-cadastrale.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-situation-cadastrale.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./prestation-expertise-situation-cadastrale.vue?vue&type=template&id=418b724c&\"\nimport script from \"./prestation-expertise-situation-cadastrale.vue?vue&type=script&lang=ts&\"\nexport * from \"./prestation-expertise-situation-cadastrale.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./prestation-expertise-situation-cadastrale.vue?vue&type=style&index=0&lang=scss&\"\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:\"google-street-maps-component\"},[_c('div',{staticClass:\"position-relative\"},[_c('suggestions',{attrs:{\"options\":_vm.options,\"onInputChange\":_vm.onAddressInputChange,\"onItemSelected\":_vm.onAddressSelected},model:{value:(_vm.suggestedAddress),callback:function ($$v) {_vm.suggestedAddress=$$v},expression:\"suggestedAddress\"}}),_c('span',{staticClass:\"search-icon\"},[_c('font-awesome-icon',{attrs:{\"icon\":\"map-marker-alt\"}})],1)],1),_c('div',{staticClass:\"google-street-maps-component-container border\"},[_c('b-tabs',{attrs:{\"pills\":\"\",\"card\":\"\",\"content-class\":\"mt-3\"}},[_c('b-tab',{attrs:{\"title\":\"Vue Street View\",\"active\":\"\"},on:{\"click\":function($event){return _vm.onToggleTabClick(false)}}},[_c('div',{staticClass:\"google-street-maps-component-container-google-maps\",attrs:{\"id\":_vm.googleRoadMapId}}),_c('div',{staticClass:\"google-street-maps-component-container-google-street\",attrs:{\"id\":_vm.googleStreetId}})]),_c('b-tab',{attrs:{\"title\":\"Vue satellite\"},on:{\"click\":function($event){return _vm.onToggleTabClick(true)}}},[_c('div',{staticClass:\"google-street-maps-component-container-google-maps-satellite\",attrs:{\"id\":_vm.googleSatelliteMapId}})])],1),_c('div',{staticClass:\"google-street-maps-component-container-images\"},[_c('b-button',{staticClass:\"mb-3\",attrs:{\"block\":\"\",\"variant\":\"secondary\",\"disabled\":!_vm.canCapture},on:{\"click\":_vm.onCaptureGoogleStreeViewClick}},[_vm._v(_vm._s(_vm.label))]),_c('prestation-expertise-file-uploader',{attrs:{\"id\":\"google-street-file-uploader-\",\"type\":_vm.typeCapturedPieceJointe,\"piecesJointes\":_vm.piecesJointes,\"multiple\":_vm.multiple,\"showLabel\":true,\"state\":!_vm.validation.$error}})],1)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Inject, Prop, Vue, Watch } from 'vue-property-decorator';\r\n\r\nimport Suggestions from 'v-suggestions';\r\nimport PrestationExpertiseFileUploader from '@/shared/components/prestation-expertise/prestation-expertise-file-uploader.vue';\r\n\r\nimport 'v-suggestions/dist/v-suggestions.css';\r\nimport { Guid } from 'guid-typescript';\r\nimport { urlToData } from '@/shared/utilities/url.utility';\r\nimport { addressInputChange, geocode } from '@/shared/utilities/google-maps.utility';\r\nimport { PrestationExpertisePieceJointeDto } from '@/shared/dtos/prestation-expertise/prestation-expertise-piece-jointe.dto';\r\n\r\n@Component({\r\n name: 'prestation-expertise-google-maps-street',\r\n components: {\r\n Suggestions,\r\n PrestationExpertiseFileUploader,\r\n },\r\n})\r\nexport default class PrestationExpertiseGoogleMapsStreet extends Vue {\r\n private _satelliteMap: any = null;\r\n private _roadMap: any = null;\r\n private _street: any = null;\r\n private _satelliteMapMarker: any = null;\r\n\r\n @Inject('addPieceJointe') public addPieceJointe: any;\r\n\r\n @Prop() public address: string;\r\n @Prop() public latitude: number;\r\n @Prop() public longitude: number;\r\n @Prop() public typeCapturedPieceJointe: string;\r\n @Prop() public piecesJointes: { [index: string]: PrestationExpertisePieceJointeDto[] };\r\n @Prop() public validation: any;\r\n @Prop({ default: 'Capturer et ajouter aux photos' }) public label: string;\r\n @Prop({ default: true }) multiple: boolean;\r\n\r\n public googleSatelliteMapId: string;\r\n public googleRoadMapId: string;\r\n public googleStreetId: string;\r\n public suggestedAddress: string = null;\r\n public autoCompleteService: any = null;\r\n public apiKey: string = Vue.prototype.$config.googleMapApiKey;\r\n public sessionToken: any = null;\r\n public geocoderService: any = null;\r\n public options: any = {\r\n placeholder: 'Géolocaliser une adresse',\r\n inputClass: 'v-suggestions-input col mb-3 search',\r\n };\r\n\r\n public isSatelliteMapDisplayed = false;\r\n\r\n //#region LIFE CYCLES\r\n public beforeMount(): void {\r\n const id = Guid.create();\r\n this.googleSatelliteMapId = 'google-satellite-map-' + id;\r\n this.googleRoadMapId = 'google-road-map-' + id;\r\n this.googleStreetId = 'google-street-' + id;\r\n this.suggestedAddress = this.address;\r\n }\r\n\r\n public mounted(): void {\r\n this.initGoogleMapsAndStreetServicesAndComponents();\r\n }\r\n\r\n //#endregion\r\n\r\n //#region COMPUTED\r\n\r\n get canCapture(): boolean {\r\n return this.multiple || (!this.multiple && this.filteredPiecesJointes.length < 1);\r\n }\r\n\r\n get filteredPiecesJointes(): PrestationExpertisePieceJointeDto[] {\r\n return this.piecesJointes[this.typeCapturedPieceJointe] || [];\r\n }\r\n\r\n //#endregion\r\n\r\n //#region WATCH\r\n @Watch('address')\r\n public addressValueChanged(value: any): void {\r\n this.suggestedAddress = value;\r\n this.onAddressSelected(value);\r\n }\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n public onAddressSelected(address: any): any {\r\n this.geocode({ address }).then(this.setSuggestedAddress).then(this.setPosition).then(this.setMarker);\r\n }\r\n\r\n public async onAddressInputChange(value: string): Promise {\r\n return await addressInputChange(value, this.autoCompleteService, this.sessionToken);\r\n }\r\n\r\n public toDataURL(url: any, callback: any): void {\r\n var xhr = new XMLHttpRequest();\r\n xhr.onload = function () {\r\n var reader = new FileReader();\r\n reader.onloadend = function () {\r\n callback(reader.result);\r\n };\r\n reader.readAsDataURL(xhr.response);\r\n };\r\n xhr.open('GET', url);\r\n xhr.responseType = 'blob';\r\n xhr.send();\r\n }\r\n\r\n public onCaptureGoogleStreeViewClick(): void {\r\n if (!this.canCapture) {\r\n return;\r\n }\r\n\r\n const imageName = `google-street-view-${Guid.create().toString()}.jpg`;\r\n const streetPosition = this._street.getPosition();\r\n\r\n let staticMapUrl: string;\r\n\r\n if (this.isSatelliteMapDisplayed) {\r\n const mapCenter = this._satelliteMap.getCenter();\r\n const mapType = this._satelliteMap.getMapTypeId();\r\n\r\n staticMapUrl =\r\n `https://maps.googleapis.com/maps/api/staticmap` +\r\n `?center=${mapCenter.lat()},${mapCenter.lng()}` +\r\n `&zoom=${this._satelliteMap.getZoom()}` +\r\n `&size=640x400` +\r\n `&key=${this.apiKey}` +\r\n `&scale=2` +\r\n `&maptype=${mapType}`;\r\n } else {\r\n staticMapUrl =\r\n 'https://maps.googleapis.com/maps/api/streetview' +\r\n `?size=640x400` +\r\n `&location=${streetPosition.lat()},${streetPosition.lng()}` +\r\n `&fov=${180 / Math.pow(2, this._street.getZoom())}` +\r\n `&heading=${this._street.getPov().heading}` +\r\n `&pitch=${this._street.getPov().pitch}` +\r\n `&key=${this.apiKey}`;\r\n }\r\n\r\n urlToData(staticMapUrl, async (dataUrl: any) => {\r\n await this.addPieceJointe(this.typeCapturedPieceJointe, dataUrl, imageName);\r\n });\r\n }\r\n\r\n public onToggleTabClick(value: boolean): void {\r\n this.isSatelliteMapDisplayed = value;\r\n }\r\n\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n private initGoogleMapsAndStreetServicesAndComponents(): void {\r\n this.geocoderService = new Vue.prototype.$googleMapsApi.Geocoder();\r\n this.sessionToken = new Vue.prototype.$googleMapsApi.places.AutocompleteSessionToken();\r\n this.autoCompleteService = new Vue.prototype.$googleMapsApi.places.AutocompleteService();\r\n\r\n const coordinates = { lat: this.latitude, lng: this.longitude };\r\n\r\n this._satelliteMap = new Vue.prototype.$googleMapsApi.Map(document.getElementById(this.googleSatelliteMapId), {\r\n center: coordinates,\r\n zoom: 14,\r\n mapTypeId: 'hybrid',\r\n mapTypeControl: false,\r\n streetViewControl: false,\r\n styles: [\r\n {\r\n featureType: 'poi',\r\n stylers: [{ visibility: 'off' }],\r\n },\r\n ],\r\n });\r\n\r\n this.setMarker({\r\n geometry: { location: { lat: this.latitude, lng: this.longitude } },\r\n });\r\n\r\n this._roadMap = new Vue.prototype.$googleMapsApi.Map(document.getElementById(this.googleRoadMapId), {\r\n center: coordinates,\r\n zoom: 14,\r\n mapTypeId: 'roadmap',\r\n mapTypeControl: false,\r\n });\r\n\r\n this._street = new Vue.prototype.$googleMapsApi.StreetViewPanorama(document.getElementById(this.googleStreetId), {\r\n position: coordinates,\r\n });\r\n\r\n this._roadMap.setStreetView(this._street);\r\n\r\n this._street.addListener('position_changed', () => {\r\n this.geocode({ location: this._street.getPosition() }).then(this.setSuggestedAddress);\r\n });\r\n }\r\n\r\n private setPosition(place: any) {\r\n this._street.setPosition(place.geometry.location);\r\n this._roadMap.setCenter(place.geometry.location);\r\n this._satelliteMap.setCenter(place.geometry.location);\r\n\r\n return place;\r\n }\r\n\r\n private geocode(parameters: any): any {\r\n return geocode(this.geocoderService, parameters);\r\n }\r\n\r\n private setSuggestedAddress(place: any): any {\r\n const adresseGoogleMapsForm: any = {\r\n street_number: 'short_name',\r\n route: 'long_name',\r\n postal_code: 'short_name',\r\n locality: 'long_name',\r\n country: 'long_name',\r\n };\r\n\r\n const result: any = [];\r\n for (const address of place.address_components) {\r\n const addressType: any = address.types[0];\r\n if (adresseGoogleMapsForm[addressType]) {\r\n result[addressType] = address[adresseGoogleMapsForm[addressType]];\r\n }\r\n }\r\n\r\n let addressString = '';\r\n if (result.street_number) {\r\n addressString += ` ${result.street_number}`;\r\n }\r\n\r\n if (result.route) {\r\n addressString += ` ${result.route}`;\r\n }\r\n\r\n if (result.postal_code) {\r\n addressString += ` ${result.postal_code}`;\r\n }\r\n\r\n if (result.locality) {\r\n addressString += ` ${result.locality}`;\r\n }\r\n\r\n if (result.country) {\r\n addressString += ` ${result.country}`;\r\n }\r\n\r\n this.suggestedAddress = addressString.substring(1);\r\n\r\n return place;\r\n }\r\n\r\n public setMarker(geolocalisation: any): any {\r\n if (this._satelliteMapMarker) {\r\n this._satelliteMapMarker.setMap(null);\r\n this._satelliteMapMarker = null;\r\n }\r\n\r\n return new Promise((resolve: any) => {\r\n const location = geolocalisation.geometry.location;\r\n\r\n this._satelliteMapMarker = new Vue.prototype.$googleMapsApi.Marker({\r\n map: this._satelliteMap,\r\n position: location,\r\n draggable: false,\r\n });\r\n resolve();\r\n });\r\n }\r\n\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-google-maps-street.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-google-maps-street.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./prestation-expertise-google-maps-street.vue?vue&type=template&id=3e539d21&\"\nimport script from \"./prestation-expertise-google-maps-street.vue?vue&type=script&lang=ts&\"\nexport * from \"./prestation-expertise-google-maps-street.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./prestation-expertise-google-maps-street.vue?vue&type=style&index=0&lang=scss&\"\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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Mixins } from 'vue-property-decorator';\r\n\r\nimport ValeurSpotPlusSectionMixin from '@/mixins/valeur-spot-plus-section.mixin';\r\n\r\nimport NumericNullable from '@/shared/components/numeric-nullable.vue';\r\nimport PrestationExpertiseSituationCadastrale from '@/shared/components/prestation-expertise/prestation-expertise-situation-cadastrale.vue';\r\nimport PrestationExpertiseGoogleMapsStreet from '@/shared/components/prestation-expertise/prestation-expertise-google-maps-street.vue';\r\nimport StarRating from 'vue-star-rating';\r\n\r\n@Component({\r\n name: 'PrestationExpertiseValeurSpotPlusDescriptionGeneraleDescriptionDuBien',\r\n components: {\r\n NumericNullable,\r\n PrestationExpertiseSituationCadastrale,\r\n StarRating,\r\n PrestationExpertiseGoogleMapsStreet,\r\n },\r\n})\r\nexport default class PrestationExpertiseValeurSpotPlusDescriptionGeneraleDescriptionDuBien extends Mixins(ValeurSpotPlusSectionMixin) {\r\n //#region LIFE CYCLES\r\n //#endregion\r\n //#region COMPUTED\r\n //#endregion\r\n //#region WATCH\r\n //#endregion\r\n //#region EVENTS\r\n //#endregion\r\n //#region FUNCTIONS\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-valeur-spot-plus-description-generale-description-du-bien.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-valeur-spot-plus-description-generale-description-du-bien.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./prestation-expertise-valeur-spot-plus-description-generale-description-du-bien.vue?vue&type=template&id=88440d2e&\"\nimport script from \"./prestation-expertise-valeur-spot-plus-description-generale-description-du-bien.vue?vue&type=script&lang=ts&\"\nexport * from \"./prestation-expertise-valeur-spot-plus-description-generale-description-du-bien.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"prestation-expertise-valeur-spot-plus-analyse-du-bien-commentaires-component\"},[_c('b-form-group',{attrs:{\"state\":!_vm.validation.mission.prestationExpertise.avisExpert.$error,\"label\":\"Avis de l'expert\",\"label-class\":\"text-secondary\"}},[_c('b-form-textarea',{attrs:{\"type\":\"text\",\"state\":!_vm.validation.mission.prestationExpertise.avisExpert.$error,\"rows\":8,\"placeholder\":\"Quel est votre avis sur le bien immobilier, son positionnement par rapport au marché, l'explication de la valeur retenue\"},model:{value:(_vm.valeurSpotPlus.avisExpert),callback:function ($$v) {_vm.$set(_vm.valeurSpotPlus, \"avisExpert\", $$v)},expression:\"valeurSpotPlus.avisExpert\"}})],1),_c('numeric-nullable',{attrs:{\"placeholder\":\"ex: 1000,00\",\"state\":!_vm.validation.mission.prestationExpertise.reductionMetriqueTransaction.$error,\"currency\":\"€/m²\",\"title\":\"Réduction métrique transaction retenue hors droits\"},model:{value:(_vm.valeurSpotPlus.reductionMetriqueTransaction),callback:function ($$v) {_vm.$set(_vm.valeurSpotPlus, \"reductionMetriqueTransaction\", $$v)},expression:\"valeurSpotPlus.reductionMetriqueTransaction\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Mixins } from 'vue-property-decorator';\r\n\r\nimport ValeurSpotPlusSectionMixin from '@/mixins/valeur-spot-plus-section.mixin';\r\n\r\nimport NumericNullable from '@/shared/components/numeric-nullable.vue';\r\n\r\n@Component({\r\n name: 'PrestationExpertiseValeurSpotPlusAnalyseDuBienCommentaires',\r\n components: {\r\n NumericNullable,\r\n },\r\n})\r\nexport default class PrestationExpertiseValeurSpotPlusAnalyseDuBienCommentaires extends Mixins(ValeurSpotPlusSectionMixin) {\r\n //#region LIFE CYCLES\r\n //#endregion\r\n //#region COMPUTED\r\n //#endregion\r\n //#region WATCH\r\n //#endregion\r\n //#region EVENTS\r\n //#endregion\r\n //#region FUNCTIONS\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-valeur-spot-plus-analyse-du-bien-commentaires.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-valeur-spot-plus-analyse-du-bien-commentaires.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./prestation-expertise-valeur-spot-plus-analyse-du-bien-commentaires.vue?vue&type=template&id=f7fda4ac&\"\nimport script from \"./prestation-expertise-valeur-spot-plus-analyse-du-bien-commentaires.vue?vue&type=script&lang=ts&\"\nexport * from \"./prestation-expertise-valeur-spot-plus-analyse-du-bien-commentaires.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"prestation-expertise-valeur-spot-plus-conclusion-valeurs-component\"},[_c('h4',[_vm._v(\"Valeur calculée\")]),_c('div',{staticClass:\"bg-grey font-weight-bold text-center py-3\"},[(_vm.valeurCalculeeIsCalculable)?_c('div',[_c('p',[_vm._v(\" \"+_vm._s(_vm._f(\"currency\")(_vm.valeurSpotPlus.reductionMetriqueTransaction))+\"/m² × \"+_vm._s(_vm.valeurSpotPlus.surfaceHabitable)+\" m² = \"+_vm._s(_vm._f(\"currency\")(_vm.valeurCalculee))+\" \")]),_c('span',[_vm._v(\"Arrondi à \"+_vm._s(_vm._f(\"currency\")(_vm.roundValeurCalculee))+\" Hors Droits\")])]):_c('div',[_c('span',[_vm._v(_vm._s(_vm.valeurCalculeeIsNotCalculableReason))])])]),_c('div',{class:{ invalid: _vm.validation.mission.prestationExpertise.valeurVenale.$error }},[_c('div',{staticClass:\"row no-gutter-left-right align-items-stretch\"},[_c('div',{staticClass:\"col\"},[_c('numeric-nullable',{attrs:{\"placeholder\":\"ex: 150 000\",\"read-only-class\":\"form-control text-right disabled\",\"read-only\":true,\"state\":!_vm.validation.mission.prestationExpertise.valeurVenale.$error,\"currency\":\"€\",\"title\":\"Valeur vénale retenue\",\"titleBold\":false},model:{value:(_vm.valeurSpotPlus.valeurVenale),callback:function ($$v) {_vm.$set(_vm.valeurSpotPlus, \"valeurVenale\", $$v)},expression:\"valeurSpotPlus.valeurVenale\"}})],1),_c('div',{staticClass:\"col d-flex align-items-center font-weight-bold text-white bg-primary\",staticStyle:{\"min-height\":\"100px\"}},[(_vm.hasFourchetteValeur)?_c('div',[_vm._v(\" Résultat : \"),_c('ul',[_c('li',[_vm._v(\" Fourchette basse : \"+_vm._s(_vm._f(\"currency\")(_vm.valeurSpotPlus.valeurVenaleFourchetteBasseArrondie))+\" \")]),_c('li',[_vm._v(\" Fourchette haute : \"+_vm._s(_vm._f(\"currency\")(_vm.valeurSpotPlus.valeurVenaleFourchetteHauteArrondie))+\" \")])])]):_c('div',[_vm._v(\"Résultat : \"+_vm._s(_vm._f(\"currency\")(_vm.valeurSpotPlus.valeurVenaleArrondie)))])])])]),(_vm.hasValeurVenteRapide)?[_c('h4',[_vm._v(\"Valeur en vente rapide\")]),_c('div',{staticClass:\"row no-gutter-left-right align-items-stretch\"},[_c('div',{staticClass:\"col\"},[_c('p',[_vm._v(\"Quel est l'abattement à appliquer sur la valeur vénale ?\")]),_c('vue-slider',{ref:\"slider\",staticClass:\"slider\",attrs:{\"formatter\":_vm.abattementVenteRapideDisplaytext,\"process-style\":_vm.sliderStyles.sliderProcessStyle,\"tooltip-style\":_vm.sliderStyles.sliderTooltipStyle,\"tooltip-dir\":\"bottom\",\"dot-size\":25,\"height\":\"9\",\"min\":0,\"max\":1,\"interval\":0.05},on:{\"callback\":_vm.venteRapideChanged},model:{value:(_vm.valeurSpotPlus.valeurVenteRapideAbattement),callback:function ($$v) {_vm.$set(_vm.valeurSpotPlus, \"valeurVenteRapideAbattement\", $$v)},expression:\"valeurSpotPlus.valeurVenteRapideAbattement\"}})],1),_c('div',{staticClass:\"col d-flex align-items-center font-weight-bold text-white bg-orange\"},[(_vm.hasFourchetteValeur)?_c('div',[_vm._v(\" Résultat : \"),_c('ul',[_c('li',[_vm._v(\" Fourchette basse : \"+_vm._s(_vm._f(\"currency\")(_vm.valeurSpotPlus.valeurVenteRapideFourchetteBasseArrondie))+\" \")]),_c('li',[_vm._v(\" Fourchette haute : \"+_vm._s(_vm._f(\"currency\")(_vm.valeurSpotPlus.valeurVenteRapideFourchetteHauteArrondie))+\" \")])])]):_c('div',[_vm._v(\" Résultat : \"+_vm._s(_vm._f(\"currency\")(_vm.valeurSpotPlus.valeurVenteRapideArrondie))+\" \")])])])]:_vm._e(),(_vm.hasValeurVenteForcee)?[_c('h4',[_vm._v(\"Valeur en vente forcée\")]),_c('div',{staticClass:\"row no-gutter-left-right align-items-stretch\"},[_c('div',{staticClass:\"col\"},[_c('p',[_vm._v(\"Quel est l'abattement à appliquer sur la valeur vénale ?\")]),_c('vue-slider',{ref:\"slider\",staticClass:\"slider\",attrs:{\"formatter\":_vm.abattementVenteForceeDisplaytext,\"process-style\":_vm.sliderStyles.sliderProcessStyle,\"tooltip-style\":_vm.sliderStyles.sliderTooltipStyle,\"tooltip-dir\":\"bottom\",\"dot-size\":25,\"height\":\"9\",\"min\":0,\"max\":1,\"interval\":0.05},on:{\"callback\":_vm.venteForceeChanged},model:{value:(_vm.valeurSpotPlus.valeurVenteForceeAbattement),callback:function ($$v) {_vm.$set(_vm.valeurSpotPlus, \"valeurVenteForceeAbattement\", $$v)},expression:\"valeurSpotPlus.valeurVenteForceeAbattement\"}})],1),_c('div',{staticClass:\"col d-flex align-items-center font-weight-bold text-white bg-pink\"},[(_vm.hasFourchetteValeur)?_c('div',[_vm._v(\" Résultat : \"),_c('ul',[_c('li',[_vm._v(\" Fourchette basse : \"+_vm._s(_vm._f(\"currency\")(_vm.valeurSpotPlus.valeurVenteForceeFourchetteBasseArrondie))+\" \")]),_c('li',[_vm._v(\" Fourchette haute : \"+_vm._s(_vm._f(\"currency\")(_vm.valeurSpotPlus.valeurVenteForceeFourchetteHauteArrondie))+\" \")])])]):_c('div',[_vm._v(\" Résultat : \"+_vm._s(_vm._f(\"currency\")(_vm.valeurSpotPlus.valeurVenteForceeArrondie))+\" \")])])])]:_vm._e(),_c('div',{class:{\n invalid: _vm.validation.mission.prestationExpertise.appreciationNiveauLiquidite.$error,\n }},[_c('h3',[_vm._v(\"Appréciation générale sur le niveau de liquidité\")]),_c('div',{on:{\"mouseleave\":function($event){return _vm.onCurrentRatingChange(0)}}},[_c('star-rating',{attrs:{\"show-rating\":false},on:{\"current-rating\":_vm.onCurrentRatingChange},model:{value:(_vm.valeurSpotPlus.appreciationNiveauLiquidite),callback:function ($$v) {_vm.$set(_vm.valeurSpotPlus, \"appreciationNiveauLiquidite\", $$v)},expression:\"valeurSpotPlus.appreciationNiveauLiquidite\"}})],1),_c('div',{staticClass:\"mt-2\",domProps:{\"innerHTML\":_vm._s(_vm.currentRating)}})]),_c('div',{class:{\n invalid: _vm.validation.mission.prestationExpertise.conclusionDelaiDeVenteMoyenId.$error,\n }},[_c('radios',{attrs:{\"list\":_vm.businessEntries.conclusionDelaisDeVentesMoyens,\"state\":!_vm.validation.mission.prestationExpertise.conclusionDelaiDeVenteMoyenId.$error,\"title\":\"Délai moyen de vente\"},model:{value:(_vm.valeurSpotPlus.conclusionDelaiDeVenteMoyenId),callback:function ($$v) {_vm.$set(_vm.valeurSpotPlus, \"conclusionDelaiDeVenteMoyenId\", $$v)},expression:\"valeurSpotPlus.conclusionDelaiDeVenteMoyenId\"}})],1)],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Vue, Component, Mixins, Watch } from 'vue-property-decorator';\r\n\r\nimport ValeurSpotPlusSectionMixin from '@/mixins/valeur-spot-plus-section.mixin';\r\n\r\nimport vueSlider from 'vue-slider-component';\r\nimport StarRating from 'vue-star-rating';\r\nimport Radios from '@/shared/components/radios.vue';\r\nimport NumericNullable from '@/shared/components/numeric-nullable.vue';\r\nimport Decimal from 'decimal.js';\r\nimport { hasValidNumberValue } from '@/shared/utilities/type.utility';\r\nimport { hasFourchetteValeur, hasValeurVenteForcee, hasValeurVenteRapide } from '@/helpers/prestation-expertise.helper';\r\nimport { SubjectMessage } from '@/shared/models/subject-message';\r\nimport { SubjectMessageTypeEnum } from '@/shared/enums/subject-message-type.enum';\r\n\r\nconst RATINGS: string[] = ['', 'Médiocre niveau', 'Faible niveau', 'Niveau moyen', 'Bon niveau', 'Très bon niveau'];\r\nconst RATING_SUFFIXE = ' de liquidité à la valeur vénale établie';\r\n\r\n@Component({\r\n name: 'PrestationExpertiseValeurSpotPlusConclusionValeurs',\r\n components: {\r\n vueSlider,\r\n StarRating,\r\n Radios,\r\n NumericNullable,\r\n },\r\n})\r\nexport default class PrestationExpertiseValeurSpotPlusConclusionValeurs extends Mixins(ValeurSpotPlusSectionMixin) {\r\n public currentRating: string = null;\r\n\r\n public percentFourchetteBasse: number = 0.975;\r\n public percentFourchetteHaute: number = 1.025;\r\n\r\n //#region LIFE CYCLES\r\n\r\n public beforeMount(): void {\r\n // fix bugs error for vue-slider : Cannot read properties of null (reading '0')\r\n if (this.isNull(this.valeurSpotPlus.valeurVenteForceeAbattement)) {\r\n this.valeurSpotPlus.valeurVenteForceeAbattement = 0;\r\n }\r\n\r\n if (this.isNull(this.valeurSpotPlus.valeurVenteRapideAbattement)) {\r\n this.valeurSpotPlus.valeurVenteRapideAbattement = 0;\r\n }\r\n }\r\n\r\n public mounted(): void {\r\n this.updateValeurs();\r\n Vue.prototype.$subjectMessageService.subject.subscribe((subjectMessage: SubjectMessage) => {\r\n if (subjectMessage.type === SubjectMessageTypeEnum.REFRESH_VALEURS_DATA) {\r\n this.updateValeurs();\r\n }\r\n });\r\n }\r\n //#endregion\r\n //#region COMPUTED\r\n\r\n get valeurCalculee(): number {\r\n return new Decimal(this.valeurSpotPlus.reductionMetriqueTransaction || 0)\r\n .times(this.valeurSpotPlus.surfaceHabitable || 0)\r\n .floor()\r\n .toNumber();\r\n }\r\n\r\n get roundValeurCalculee(): number {\r\n return this.round(this.valeurCalculee);\r\n }\r\n\r\n get valeurCalculeeIsCalculable(): boolean {\r\n return (\r\n hasValidNumberValue(this.valeurSpotPlus.surfaceHabitable) && hasValidNumberValue(this.valeurSpotPlus.reductionMetriqueTransaction)\r\n );\r\n }\r\n\r\n get valeurCalculeeIsNotCalculableReason(): string {\r\n if (!this.valeurSpotPlus.surfaceHabitable) {\r\n return 'Surface totale habitable manquante';\r\n }\r\n\r\n if (!this.valeurSpotPlus.reductionMetriqueTransaction) {\r\n return 'Réduction métrique transaction retenue manquante';\r\n }\r\n\r\n return 'Information(s) manquante(s) pour calculer la valeur.';\r\n }\r\n\r\n get hasFourchetteValeur(): boolean {\r\n return hasFourchetteValeur(this.mission);\r\n }\r\n\r\n get hasValeurVenteForcee(): boolean {\r\n return hasValeurVenteForcee(this.mission);\r\n }\r\n\r\n get hasValeurVenteRapide(): boolean {\r\n return hasValeurVenteRapide(this.mission);\r\n }\r\n\r\n get currentSelectedRating(): string {\r\n return this.valeurSpotPlus.appreciationNiveauLiquidite > 0\r\n ? RATINGS[this.valeurSpotPlus.appreciationNiveauLiquidite] + RATING_SUFFIXE\r\n : ' ';\r\n }\r\n\r\n get sliderStyles() {\r\n var color = '#00ab9d';\r\n return {\r\n sliderProcessStyle: {\r\n backgroundColor: color,\r\n },\r\n sliderTooltipStyle: {\r\n backgroundColor: color,\r\n borderColor: color,\r\n },\r\n };\r\n }\r\n get abattementVenteRapideDisplaytext(): string {\r\n const percent = new Decimal(this.valeurSpotPlus.valeurVenteRapideAbattement || 0).times(100).toNumber();\r\n return `${percent} %`;\r\n }\r\n\r\n get abattementVenteForceeDisplaytext(): string {\r\n const percent = new Decimal(this.valeurSpotPlus.valeurVenteForceeAbattement || 0).times(100).toNumber();\r\n return `${percent} %`;\r\n }\r\n\r\n //#endregion\r\n //#region WATCH\r\n\r\n @Watch('valeurCalculee')\r\n public valeurCalculeeChanged(value: number): void {\r\n this.valeurSpotPlus.valeurVenale = value ?? 0;\r\n }\r\n\r\n @Watch('valeurSpotPlus.valeurVenale')\r\n public valeurVenaleChanged(): void {\r\n this.updateValeurVenaleArrondie();\r\n this.updateValeurVenaleFourchettesArrondies();\r\n this.updateValeurVenteRapide();\r\n this.updateValeurVenteForcee();\r\n }\r\n\r\n @Watch('valeurSpotPlus.valeurVenteRapideAbattement')\r\n public valeurVenteRapideAbattementChanged(): void {\r\n this.updateValeurVenteRapide();\r\n this.updateValeurVenteRapideArrondie();\r\n this.updateValeurVenteRapideFourchettesArrondies();\r\n }\r\n\r\n @Watch('valeurSpotPlus.valeurVenteRapide')\r\n public valeurVenteRapideChanged(newValue: number) {\r\n this.valeurSpotPlus.valeurVenteRapideArrondie = !this.hasFourchetteValeur && this.hasValeurVenteRapide ? this.round(newValue) : null;\r\n this.updateValeurVenteRapideFourchettesArrondies();\r\n }\r\n\r\n @Watch('valeurSpotPlus.valeurVenteForceeAbattement')\r\n public valeurVenteForceeAbattementChanged(): void {\r\n this.updateValeurVenteForcee();\r\n this.updateValeurVenteForceeArrondie();\r\n this.updateValeurVenteForceeFourchettesArrondies();\r\n }\r\n\r\n @Watch('valeurSpotPlus.valeurVenteForcee')\r\n public valeurVenteForceeChanged(newValue: number): void {\r\n this.valeurSpotPlus.valeurVenteForceeArrondie = !this.hasFourchetteValeur && this.hasValeurVenteForcee ? this.round(newValue) : null;\r\n this.updateValeurVenteForceeFourchettesArrondies();\r\n }\r\n\r\n //#endregion\r\n //#region EVENTS\r\n public onCurrentRatingChange(rating: number): void {\r\n if (rating === 0 ? this.currentSelectedRating : rating == null) {\r\n this.currentRating = ' ';\r\n } else {\r\n this.currentRating = RATINGS[rating] + RATING_SUFFIXE;\r\n }\r\n }\r\n\r\n public venteForceeChanged(value: number): void {\r\n if (value > this.valeurSpotPlus.valeurVenteForceeAbattement) this.valeurSpotPlus.valeurVenteForceeAbattement = value;\r\n }\r\n\r\n public venteRapideChanged(value: number) {\r\n if (value < this.valeurSpotPlus.valeurVenteRapideAbattement) this.valeurSpotPlus.valeurVenteRapideAbattement = value;\r\n }\r\n //#endregion\r\n //#region FUNCTIONS\r\n private round(value: number, at?: number): number {\r\n if (value === null || value === undefined) return 0;\r\n at = at || (value < 150000 ? 1000 : 5000);\r\n return Math.round(value / at) * at;\r\n }\r\n\r\n private calculValeur(value: Decimal.Value, percent: Decimal.Value): number {\r\n const p = new Decimal(1).minus(percent || 0);\r\n return new Decimal(value || 0).times(p).toNumber();\r\n }\r\n\r\n private updateValeurs(): void {\r\n this.updateValeurVenaleArrondie();\r\n this.updateValeurVenaleFourchettesArrondies();\r\n\r\n this.updateValeurVenteRapide();\r\n this.updateValeurVenteRapideArrondie();\r\n this.updateValeurVenteRapideFourchettesArrondies();\r\n\r\n this.updateValeurVenteForcee();\r\n this.updateValeurVenteForceeArrondie();\r\n this.updateValeurVenteForceeFourchettesArrondies();\r\n }\r\n\r\n public updateValeurVenaleArrondie(): void {\r\n if (!this.hasFourchetteValeur) {\r\n this.valeurSpotPlus.valeurVenaleArrondie = this.round(this.valeurSpotPlus.valeurVenale);\r\n } else {\r\n this.valeurSpotPlus.valeurVenaleArrondie = null;\r\n }\r\n }\r\n\r\n public updateValeurVenaleFourchettesArrondies(): void {\r\n if (this.hasFourchetteValeur) {\r\n this.valeurSpotPlus.valeurVenaleFourchetteBasseArrondie = this.calculValeurFourchetteArrondie(\r\n this.valeurSpotPlus.valeurVenale,\r\n this.percentFourchetteBasse\r\n );\r\n this.valeurSpotPlus.valeurVenaleFourchetteHauteArrondie = this.calculValeurFourchetteArrondie(\r\n this.valeurSpotPlus.valeurVenale,\r\n this.percentFourchetteHaute\r\n );\r\n } else {\r\n this.valeurSpotPlus.valeurVenaleFourchetteBasseArrondie = null;\r\n this.valeurSpotPlus.valeurVenaleFourchetteHauteArrondie = null;\r\n }\r\n }\r\n\r\n public updateValeurVenteRapide(): void {\r\n if (this.hasValeurVenteRapide) {\r\n var valeurReference = this.valeurSpotPlus.valeurVenale ?? 0;\r\n this.valeurSpotPlus.valeurVenteRapide = this.calculValeur(valeurReference, this.valeurSpotPlus.valeurVenteRapideAbattement);\r\n } else {\r\n this.valeurSpotPlus.valeurVenteRapide = null;\r\n }\r\n }\r\n\r\n public updateValeurVenteRapideArrondie(): void {\r\n if (!this.hasFourchetteValeur && this.hasValeurVenteRapide) {\r\n this.valeurSpotPlus.valeurVenteRapideArrondie = this.round(this.valeurSpotPlus.valeurVenteRapide);\r\n } else {\r\n this.valeurSpotPlus.valeurVenteRapideArrondie = null;\r\n }\r\n }\r\n\r\n public updateValeurVenteRapideFourchettesArrondies(): void {\r\n if (this.hasFourchetteValeur && this.hasValeurVenteRapide) {\r\n this.valeurSpotPlus.valeurVenteRapideFourchetteBasseArrondie = this.calculValeurFourchetteArrondie(\r\n this.valeurSpotPlus.valeurVenteRapide,\r\n this.percentFourchetteBasse\r\n );\r\n this.valeurSpotPlus.valeurVenteRapideFourchetteHauteArrondie = this.calculValeurFourchetteArrondie(\r\n this.valeurSpotPlus.valeurVenteRapide,\r\n this.percentFourchetteHaute\r\n );\r\n } else {\r\n this.valeurSpotPlus.valeurVenteRapideFourchetteBasseArrondie = null;\r\n this.valeurSpotPlus.valeurVenteRapideFourchetteHauteArrondie = null;\r\n }\r\n }\r\n\r\n public updateValeurVenteForcee(): void {\r\n if (this.hasValeurVenteForcee) {\r\n var valeurReference = this.valeurSpotPlus.valeurVenale ?? 0;\r\n this.valeurSpotPlus.valeurVenteForcee = this.calculValeur(valeurReference, this.valeurSpotPlus.valeurVenteForceeAbattement);\r\n } else {\r\n this.valeurSpotPlus.valeurVenteForcee = null;\r\n }\r\n }\r\n\r\n public updateValeurVenteForceeArrondie(): void {\r\n if (!this.hasFourchetteValeur && this.hasValeurVenteForcee) {\r\n this.valeurSpotPlus.valeurVenteForceeArrondie = this.round(this.valeurSpotPlus.valeurVenteForcee);\r\n } else {\r\n this.valeurSpotPlus.valeurVenteForceeArrondie = null;\r\n }\r\n }\r\n\r\n public updateValeurVenteForceeFourchettesArrondies(): void {\r\n if (this.hasFourchetteValeur && this.hasValeurVenteForcee) {\r\n this.valeurSpotPlus.valeurVenteForceeFourchetteBasseArrondie = this.calculValeurFourchetteArrondie(\r\n this.valeurSpotPlus.valeurVenteForcee,\r\n this.percentFourchetteBasse\r\n );\r\n this.valeurSpotPlus.valeurVenteForceeFourchetteHauteArrondie = this.calculValeurFourchetteArrondie(\r\n this.valeurSpotPlus.valeurVenteForcee,\r\n this.percentFourchetteHaute\r\n );\r\n } else {\r\n this.valeurSpotPlus.valeurVenteForceeFourchetteBasseArrondie = null;\r\n this.valeurSpotPlus.valeurVenteForceeFourchetteHauteArrondie = null;\r\n }\r\n }\r\n\r\n public calculValeurFourchetteArrondie(value: Decimal.Value, percent: Decimal.Value, roundAt?: number | undefined): number {\r\n return this.round(new Decimal(value || 0).times(percent || 0).toNumber(), roundAt);\r\n }\r\n\r\n private isNull(value: Decimal.Value): boolean {\r\n return value === null || value === undefined;\r\n }\r\n\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-valeur-spot-plus-conclusion-valeurs.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-valeur-spot-plus-conclusion-valeurs.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./prestation-expertise-valeur-spot-plus-conclusion-valeurs.vue?vue&type=template&id=e15b4402&scoped=true&\"\nimport script from \"./prestation-expertise-valeur-spot-plus-conclusion-valeurs.vue?vue&type=script&lang=ts&\"\nexport * from \"./prestation-expertise-valeur-spot-plus-conclusion-valeurs.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./prestation-expertise-valeur-spot-plus-conclusion-valeurs.vue?vue&type=style&index=0&id=e15b4402&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 \"e15b4402\",\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:\"prestation-expertise-etat-avancement-travaux-contrat-mission-component\"},[_c('h3',[_vm._v(\"Contexte d'intervention et bases de valeurs\")]),_c('prestation-expertise-contexte-intervention',{attrs:{\"businessEntries\":_vm.businessEntries,\"societeSettings\":_vm.societeSettings,\"validation\":_vm.validation},model:{value:(_vm.mission),callback:function ($$v) {_vm.mission=$$v},expression:\"mission\"}}),_c('h3',[_vm._v(\"Réalisation\")]),_c('date-visite',{attrs:{\"mission\":_vm.mission,\"validation\":_vm.validation}}),(_vm.mission.intervention)?_c('b-row',{staticClass:\"bloc-info bloc no-gutter-left-right\"},[_c('b-col',{attrs:{\"cols\":\"4\",\"lg\":\"3\"}},[_vm._v(\" Personne en charge de la visite \")]),_c('b-col',[_c('span',[_vm._v(_vm._s(_vm.mission.intervention.visiteContactNomPrenom))]),(_vm.mission.intervention.visiteContactEmail)?_c('span',{staticClass:\"d-block\"},[_vm._v(_vm._s(_vm.mission.intervention.visiteContactEmail))]):_vm._e(),(_vm.mission.intervention.visiteContactTel)?_c('span',{staticClass:\"d-block\"},[_vm._v(_vm._s(_vm.mission.intervention.visiteContactTel))]):_vm._e()])],1):_vm._e(),(_vm.mission.intervention && _vm.mission.intervention.informationsComplementaires)?_c('b-row',{staticClass:\"bloc-info bloc no-gutter-left-right\"},[_c('b-col',{staticClass:\"ellipsis\",attrs:{\"cols\":\"4\",\"lg\":\"3\"}},[_vm._v(\" Informations complémentaires \")]),_c('b-col',[_c('span',[_vm._v(\" \"+_vm._s(_vm.mission.intervention.informationsComplementaires))])])],1):_vm._e(),(_vm.mission.bien.prixBien)?_c('b-row',{staticClass:\"bloc-info bloc no-gutter-left-right\"},[_c('b-col',{staticClass:\"ellipsis\",attrs:{\"cols\":\"4\",\"lg\":\"3\"}},[_vm._v(\" Prix du bien \")]),_c('b-col',[_c('span',[_vm._v(\" \"+_vm._s(_vm._f(\"currency\")(_vm.mission.bien.prixBien))+\" \")])])],1):_vm._e(),(_vm.mission.bien.surfaceBien)?_c('b-row',{staticClass:\"bloc-info bloc no-gutter-left-right\"},[_c('b-col',{staticClass:\"ellipsis\",attrs:{\"cols\":\"4\",\"lg\":\"3\"}},[_vm._v(\" Surface du bien \")]),_c('b-col',[_c('span',[_vm._v(\" \"+_vm._s(_vm.mission.bien.surfaceBien)+\" m²\")])])],1):_vm._e(),_c('b-row',{staticClass:\"bloc no-gutter-left-right\"},[_c('b-col',{attrs:{\"cols\":\"4\",\"lg\":\"3\"}},[_vm._v(\" Notes pour la visite \")]),_c('b-col',[_c('b-textarea',{attrs:{\"rows\":2},model:{value:(_vm.mission.prestationExpertise.notesVisite),callback:function ($$v) {_vm.$set(_vm.mission.prestationExpertise, \"notesVisite\", $$v)},expression:\"mission.prestationExpertise.notesVisite\"}})],1)],1),(_vm.mission.expert)?_c('b-row',{staticClass:\"bloc-info bloc no-gutter-left-right\"},[_c('b-col',{attrs:{\"cols\":\"4\",\"lg\":\"3\"}},[_vm._v(\"Effectuée par\")]),_c('b-col',[_vm._v(\" \"+_vm._s(_vm.mission.expert.nomComplet))])],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { EtatAvancementTravauxDto } from '@/shared/dtos/etat-avancement-travaux.dto';\r\nimport PrestationExpertiseSectionMixin from '@/mixins/prestation-expertise-section.mixin';\r\nimport { Component, Mixins } from 'vue-property-decorator';\r\nimport { RapportExpertiseNoteSectionEnum } from '@/shared/enums/rapport-expertise-note-section.enum';\r\nimport { getRapportExpertiseNoteSectionEnumName } from '@/shared/utilities/enums.utility';\r\n@Component({\r\n name: 'EtatAvancementTravauxSectionMixin',\r\n})\r\nexport default class EtatAvancementTravauxSectionMixin extends Mixins(PrestationExpertiseSectionMixin) {\r\n public rapportExpertiseNoteSectionEnum = RapportExpertiseNoteSectionEnum;\r\n public getRapportExpertiseNoteSectionEnumName = getRapportExpertiseNoteSectionEnumName;\r\n\r\n //#region LIFE CYCLES\r\n //#endregion\r\n //#region COMPUTED\r\n get etatAvancementTravaux(): EtatAvancementTravauxDto {\r\n return this.prestationExpertise as EtatAvancementTravauxDto;\r\n }\r\n\r\n //#endregion\r\n //#region WATCH\r\n //#endregion\r\n //#region EVENTS\r\n //#endregion\r\n //#region FUNCTIONS\r\n //#endregion\r\n}\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Mixins, Watch } from 'vue-property-decorator';\r\n\r\nimport PrestationExpertiseContexteIntervention from '@/shared/components/prestation-expertise/prestation-expertise-contexte-intervention.vue';\r\n\r\nimport EtatAvancementSectionMixin from '@/mixins/etat-avancement-travaux-section.mixin';\r\nimport DateVisite from '@/shared/components/date-visite.vue';\r\n\r\n@Component({\r\n name: 'PrestationExpertiseEtatAvancementTravauxContratMission',\r\n components: {\r\n PrestationExpertiseContexteIntervention,\r\n DateVisite,\r\n },\r\n})\r\nexport default class PrestationExpertiseEtatAvancementTravauxContratMission extends Mixins(EtatAvancementSectionMixin) {\r\n //#region LIFE CYCLES\r\n //#endregion\r\n //#region COMPUTED\r\n //#endregion\r\n //#region WATCH\r\n @Watch('etatAvancementTravaux.contratCategorieDActifId')\r\n public contratCategorieDActifIdChanged(): void {\r\n this.etatAvancementTravaux.contratTypeBienId = null;\r\n }\r\n //#endregion\r\n //#region EVENTS\r\n //#endregion\r\n //#region FUNCTIONS\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-etat-avancement-travaux-contrat-mission.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-etat-avancement-travaux-contrat-mission.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./prestation-expertise-etat-avancement-travaux-contrat-mission.vue?vue&type=template&id=16fcf55c&\"\nimport script from \"./prestation-expertise-etat-avancement-travaux-contrat-mission.vue?vue&type=script&lang=ts&\"\nexport * from \"./prestation-expertise-etat-avancement-travaux-contrat-mission.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"prestation-expertise-etat-avancement-travaux-bien-component\"},[_c('h3',{staticClass:\"prestation-expertise-etat-avancement-travaux-bien-component-title\"},[_vm._v(\"Photos du bien\")]),_c('prestation-expertise-file-uploader',{attrs:{\"id\":\"fileuploader-bien\",\"type\":\"PhotoBien\",\"piecesJointes\":_vm.etatAvancementTravaux.piecesJointes,\"state\":!_vm.validation.mission.prestationExpertise.piecesJointes.PhotoBien.$error}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\r\nimport EtatAvancementSectionMixin from '@/mixins/etat-avancement-travaux-section.mixin';\r\nimport { Component, Mixins } from 'vue-property-decorator';\r\nimport PrestationExpertiseFileUploader from '@/shared/components/prestation-expertise/prestation-expertise-file-uploader.vue';\r\n@Component({\r\n name: 'PrestationExpertiseEtatAvancementTravauxBien',\r\n components: {\r\n PrestationExpertiseFileUploader,\r\n },\r\n})\r\nexport default class PrestationExpertiseEtatAvancementTravauxBien extends Mixins(EtatAvancementSectionMixin) {\r\n //#region LIFE CYCLES\r\n //#endregion\r\n //#region COMPUTED\r\n //#endregion\r\n //#region WATCH\r\n //#endregion\r\n //#region EVENTS\r\n //#endregion\r\n //#region FUNCTIONS\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-etat-avancement-travaux-bien.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-etat-avancement-travaux-bien.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./prestation-expertise-etat-avancement-travaux-bien.vue?vue&type=template&id=30f67d52&\"\nimport script from \"./prestation-expertise-etat-avancement-travaux-bien.vue?vue&type=script&lang=ts&\"\nexport * from \"./prestation-expertise-etat-avancement-travaux-bien.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./prestation-expertise-etat-avancement-travaux-bien.vue?vue&type=style&index=0&lang=scss&\"\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:\"prestation-expertise-etat-avancement-travaux-point-inspection\"},[_c('h3',[_vm._v(_vm._s(_vm.nom))]),_vm._l((_vm.pointsInspections),function(pointInspection){return _c('div',{key:pointInspection.id},[_c('point-inspection',{attrs:{\"nom\":pointInspection.nom,\"pointInspection\":_vm.getPointsInspectionsRelations(pointInspection.id),\"state\":_vm.getState(pointInspection.id)}})],1)})],2)}\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:\"point-inspection-component\"},[_c('h4',{class:{ invalid: _vm.state === false, valid: _vm.state === true }},[_vm._v(_vm._s(_vm.nom))]),_c('radios',{attrs:{\"list\":_vm.etats,\"state\":_vm.state},model:{value:(_vm.pointInspection.etat),callback:function ($$v) {_vm.$set(_vm.pointInspection, \"etat\", $$v)},expression:\"pointInspection.etat\"}}),_c('b-textarea',{attrs:{\"placeholder\":\"Commentaires éventuels\"},model:{value:(_vm.pointInspection.commentaire),callback:function ($$v) {_vm.$set(_vm.pointInspection, \"commentaire\", $$v)},expression:\"pointInspection.commentaire\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\nimport Radios from '@/shared/components/radios.vue';\r\nimport { PointInspectionEtatEnumToBusinessEntries } from '@/shared/utilities/enums.utility';\r\nimport { PrestationExpertisePointInspectionRelationDto } from '@/shared/dtos/prestation-expertise/prestation-expertise-point-inspection-relation.dto';\r\n@Component({\r\n name: 'PointInspection',\r\n components: {\r\n Radios,\r\n },\r\n})\r\nexport default class PointInspection extends Vue {\r\n @Prop() nom: string;\r\n @Prop() pointInspection: PrestationExpertisePointInspectionRelationDto;\r\n @Prop() state: any;\r\n\r\n public etats = PointInspectionEtatEnumToBusinessEntries();\r\n\r\n //#region LIFE CYCLES\r\n //#endregion\r\n //#region COMPUTED\r\n //#endregion\r\n //#region WATCH\r\n //#endregion\r\n //#region EVENTS\r\n //#endregion\r\n //#region FUNCTIONS\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./point-inspection.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./point-inspection.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./point-inspection.vue?vue&type=template&id=1816d190&\"\nimport script from \"./point-inspection.vue?vue&type=script&lang=ts&\"\nexport * from \"./point-inspection.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport EtatAvancementSectionMixin from '@/mixins/etat-avancement-travaux-section.mixin';\r\nimport { Component, Mixins, Prop } from 'vue-property-decorator';\r\nimport PointInspection from '@/shared/components/point-inspection.vue';\r\nimport { PrestationExpertisePointInspectionDto } from '@/shared/dtos/prestation-expertise/prestation-expertise-point-inspection.dto';\r\nimport { PrestationExpertisePointInspectionRelationDto } from '@/shared/dtos/prestation-expertise/prestation-expertise-point-inspection-relation.dto';\r\n\r\n@Component({\r\n name: 'PrestationExpertiseEtatAvancementTravauxPointInspection',\r\n components: {\r\n PointInspection,\r\n },\r\n})\r\nexport default class PrestationExpertiseEtatAvancementTravauxPointInspection extends Mixins(EtatAvancementSectionMixin) {\r\n @Prop() nom: string;\r\n @Prop() pointsInspections: PrestationExpertisePointInspectionDto[];\r\n //#region LIFE CYCLES\r\n //#endregion\r\n //#region COMPUTED\r\n //#endregion\r\n //#region WATCH\r\n //#endregion\r\n //#region EVENTS\r\n //#endregion\r\n //#region FUNCTIONS\r\n public getPointsInspectionsRelations(id: number): PrestationExpertisePointInspectionRelationDto {\r\n return this.etatAvancementTravaux.pointsInspectionsRelations.find((x) => x.pointInspectionId === id);\r\n }\r\n\r\n public getState(id: number): any {\r\n const index = this.etatAvancementTravaux.pointsInspectionsRelations.findIndex((x) => x.pointInspectionId === id);\r\n return !this.validation.mission.prestationExpertise.pointsInspectionsRelations.$each[index].etat.$error;\r\n }\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-etat-avancement-travaux-point-inspection.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-etat-avancement-travaux-point-inspection.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./prestation-expertise-etat-avancement-travaux-point-inspection.vue?vue&type=template&id=454de68c&\"\nimport script from \"./prestation-expertise-etat-avancement-travaux-point-inspection.vue?vue&type=script&lang=ts&\"\nexport * from \"./prestation-expertise-etat-avancement-travaux-point-inspection.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"prestation-expertise-etat-avancement-travaux-avis-expert-component\"},[_c('b-form-group',{attrs:{\"state\":!_vm.validation.mission.prestationExpertise.avisExpert.$error,\"label\":\"Avis de l'expert\",\"label-class\":\"prestation-expertise-etat-avancement-travaux-avis-expert-component-label\"}},[_c('b-form-textarea',{attrs:{\"type\":\"text\",\"state\":!_vm.validation.mission.prestationExpertise.avisExpert.$error,\"rows\":8,\"placeholder\":\"Quel est votre avis sur l'état d'avancement des travaux ?\"},model:{value:(_vm.etatAvancementTravaux.avisExpert),callback:function ($$v) {_vm.$set(_vm.etatAvancementTravaux, \"avisExpert\", $$v)},expression:\"etatAvancementTravaux.avisExpert\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport EtatAvancementSectionMixin from '@/mixins/etat-avancement-travaux-section.mixin';\r\nimport { Component, Mixins } from 'vue-property-decorator';\r\n\r\n@Component({\r\n name: 'PrestationExpertiseEtatAvancementTravauxAvisExpert',\r\n components: {},\r\n})\r\nexport default class PrestationExpertiseEtatAvancementTravauxAvisExpert extends Mixins(EtatAvancementSectionMixin) {\r\n //#region LIFE CYCLES\r\n //#endregion\r\n //#region COMPUTED\r\n //#endregion\r\n //#region WATCH\r\n //#endregion\r\n //#region EVENTS\r\n //#endregion\r\n //#region FUNCTIONS\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-etat-avancement-travaux-avis-expert.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-etat-avancement-travaux-avis-expert.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./prestation-expertise-etat-avancement-travaux-avis-expert.vue?vue&type=template&id=68d93876&\"\nimport script from \"./prestation-expertise-etat-avancement-travaux-avis-expert.vue?vue&type=script&lang=ts&\"\nexport * from \"./prestation-expertise-etat-avancement-travaux-avis-expert.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./prestation-expertise-etat-avancement-travaux-avis-expert.vue?vue&type=style&index=0&lang=scss&\"\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:\"prestation-expertise-etat-avancement-travaux-conclusion-component\"},[_c('div',[_c('radio-boolean',{attrs:{\"title\":_vm.isHorsEau ? 'Le bien est-il hors d’eau ?' : 'Le bien est-il hors air ?',\"state\":!_vm.validation.mission.prestationExpertise.estConclusionValide.$error},model:{value:(_vm.etatAvancementTravaux.estConclusionValide),callback:function ($$v) {_vm.$set(_vm.etatAvancementTravaux, \"estConclusionValide\", $$v)},expression:\"etatAvancementTravaux.estConclusionValide\"}})],1),_c('div',{staticClass:\"prestation-expertise-etat-avancement-travaux-conclusion-component-form\"},[_c('label',{class:{\n 'prestation-expertise-etat-avancement-travaux-conclusion-component-form-label': true,\n invalid: _vm.validation.mission.prestationExpertise.etatAvancement.$error,\n },attrs:{\"for\":\"range-etat-avancement\"}},[_vm._v(\"Quel est l’état d’avancement du bien ?\")]),_c('span',{staticClass:\"pl-3\"},[_vm._v(_vm._s(_vm.etatAvancementTravaux.etatAvancement ? _vm.etatAvancementTravaux.etatAvancement + ' %' : ''))]),_c('b-form-input',{ref:\"range\",staticClass:\"prestation-expertise-etat-avancement-travaux-conclusion-component-form-range\",attrs:{\"id\":\"range-etat-avancement\",\"type\":\"range\",\"step\":\"10\",\"min\":\"0\",\"max\":\"100\"},model:{value:(_vm.etatAvancementTravaux.etatAvancement),callback:function ($$v) {_vm.$set(_vm.etatAvancementTravaux, \"etatAvancement\", $$v)},expression:\"etatAvancementTravaux.etatAvancement\"}}),_c('b-row',{staticClass:\"prestation-expertise-etat-avancement-travaux-conclusion-component-form-percent\"},[_c('b-col',[_vm._v(\"0%\")]),_c('b-col',[_vm._v(\"100%\")])],1),_c('div',{staticClass:\"mt-3\"},[_vm._v(\" \"+_vm._s(_vm.etatAvancementTravaux.etatAvancement >= 100 ? 'Le bien est achevé' : \"Le bien n'est pas achevé\")+\" \")])],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport EtatAvancementSectionMixin from '@/mixins/etat-avancement-travaux-section.mixin';\r\nimport { Component, Mixins, Watch } from 'vue-property-decorator';\r\nimport RadioBoolean from '@/shared/components/radio-boolean.vue';\r\n@Component({\r\n name: 'PrestationExpertiseEtatAvancementTravauxConclusion',\r\n components: {\r\n RadioBoolean,\r\n },\r\n})\r\nexport default class PrestationExpertiseEtatAvancementTravauxConclusion extends Mixins(EtatAvancementSectionMixin) {\r\n public isHorsEau: boolean = false;\r\n\r\n //#region LIFE CYCLES\r\n public beforeMount(): void {\r\n this.isHorsEau = this.mission.motifPrestationExpertise === \"Hors d'eau\";\r\n }\r\n\r\n public mounted(): void {\r\n this.updateStyleRange();\r\n }\r\n //#endregion\r\n //#region COMPUTED\r\n //#endregion\r\n //#region WATCH\r\n @Watch('etatAvancementTravaux.etatAvancement')\r\n public etatAvancementChanged(): void {\r\n this.updateStyleRange();\r\n }\r\n //#endregion\r\n //#region FUNCTIONS\r\n private updateStyleRange(): void {\r\n var range: HTMLElement = (this.$refs.range as any).$el as HTMLElement;\r\n range.style.backgroundSize = `${this.etatAvancementTravaux.etatAvancement}% 100%`;\r\n }\r\n //#endregion\r\n //#region EVENTS\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-etat-avancement-travaux-conclusion.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-etat-avancement-travaux-conclusion.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./prestation-expertise-etat-avancement-travaux-conclusion.vue?vue&type=template&id=e8d0ec56&\"\nimport script from \"./prestation-expertise-etat-avancement-travaux-conclusion.vue?vue&type=script&lang=ts&\"\nexport * from \"./prestation-expertise-etat-avancement-travaux-conclusion.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./prestation-expertise-etat-avancement-travaux-conclusion.vue?vue&type=style&index=0&lang=scss&\"\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:\"prestation-expertise-etude-de-marche-contrat-mission-component\"},[_c('h3',[_vm._v(\"Contexte d'intervention et bases de valeurs\")]),_c('prestation-expertise-contexte-intervention',{attrs:{\"businessEntries\":_vm.businessEntries,\"societeSettings\":_vm.societeSettings,\"validation\":_vm.validation,\"canUpdateCategorieDActif\":false},model:{value:(_vm.mission),callback:function ($$v) {_vm.mission=$$v},expression:\"mission\"}}),_c('h3',[_vm._v(\"Visite\")]),_c('b-row',{staticClass:\"bloc no-gutter-left-right\"},[_c('b-col',{class:{ invalid: _vm.validation.mission.dateVisite.$invalid },attrs:{\"cols\":\"3\",\"md\":\"4\",\"lg\":\"3\"}},[_vm._v(\" Date de la visite \")]),_c('b-col',[_c('date-picker',{attrs:{\"format\":\"dd/MM/yyyy HH:mm\",\"minimumView\":\"day\",\"state\":!_vm.validation.mission.dateVisite.$error,\"hasTime\":true},model:{value:(_vm.mission.dateVisite),callback:function ($$v) {_vm.$set(_vm.mission, \"dateVisite\", $$v)},expression:\"mission.dateVisite\"}})],1)],1),_c('b-row',{staticClass:\"bloc no-gutter-left-right\"},[_c('b-col',{attrs:{\"cols\":\"4\",\"lg\":\"3\"}},[_vm._v(\"Notes pour la visite \")]),_c('b-col',[_c('b-textarea',{attrs:{\"rows\":2},model:{value:(_vm.mission.prestationExpertise.notesVisite),callback:function ($$v) {_vm.$set(_vm.mission.prestationExpertise, \"notesVisite\", $$v)},expression:\"mission.prestationExpertise.notesVisite\"}})],1)],1),(_vm.mission.expert)?_c('b-row',{staticClass:\"bloc-info bloc no-gutter-left-right\"},[_c('b-col',{attrs:{\"cols\":\"4\",\"lg\":\"3\"}},[_vm._v(\"Effectuée par\")]),_c('b-col',[_vm._v(\" \"+_vm._s(_vm.mission.expert.nomComplet))])],1):_vm._e(),(_vm.typeValeurString)?_c('b-row',{staticClass:\"bloc-info bloc no-gutter-left-right\"},[_c('b-col',{attrs:{\"cols\":\"4\",\"lg\":\"3\"}},[_vm._v(\"Type de valeurs\")]),_c('b-col',[_vm._v(_vm._s(_vm.typeValeurString)+\" \")])],1):_vm._e(),_c('b-row',{staticClass:\"bloc-info bloc no-gutter-left-right\"},[_c('b-col',{attrs:{\"cols\":\"4\",\"lg\":\"3\"}},[_vm._v(\"Nom de l'emprunteur\")]),_c('b-col',[(_vm.mission.emprunteur)?_c('span',[_vm._v(_vm._s(_vm.mission.emprunteur))]):_c('span',[_vm._v(_vm._s(_vm.mission.societeNom))])])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Mixins, Watch } from 'vue-property-decorator';\r\n\r\nimport EtudeDeMarcheSectionMixin from '@/mixins/etude-de-marche-section.mixin';\r\n\r\nimport PrestationExpertiseContexteIntervention from '@/shared/components/prestation-expertise/prestation-expertise-contexte-intervention.vue';\r\nimport DatePicker from '@/shared/components/date-picker.vue';\r\nimport { getTypeValeurEnumToDictionary } from '@/shared/utilities/enums.utility';\r\n@Component({\r\n name: 'PrestationExpertiseEtudeDeMarcheContratMission',\r\n components: {\r\n PrestationExpertiseContexteIntervention,\r\n DatePicker,\r\n },\r\n})\r\nexport default class PrestationExpertiseEtudeDeMarcheContratMission extends Mixins(EtudeDeMarcheSectionMixin) {\r\n //#region LIFE CYCLES\r\n //#endregion\r\n //#region COMPUTED\r\n\r\n get typeValeurString() {\r\n let typeValeurString = '';\r\n\r\n this.mission.typesValeurs.forEach((item) => {\r\n typeValeurString += `${getTypeValeurEnumToDictionary(item)}, `;\r\n });\r\n\r\n return typeValeurString.substring(0, typeValeurString.length - 2);\r\n }\r\n\r\n //#endregion\r\n //#region WATCH\r\n //#endregion\r\n //#region EVENTS\r\n //#endregion\r\n //#region FUNCTIONS\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-etude-de-marche-contrat-mission.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-etude-de-marche-contrat-mission.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./prestation-expertise-etude-de-marche-contrat-mission.vue?vue&type=template&id=2e32731c&\"\nimport script from \"./prestation-expertise-etude-de-marche-contrat-mission.vue?vue&type=script&lang=ts&\"\nexport * from \"./prestation-expertise-etude-de-marche-contrat-mission.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"prestation-expertise-etude-de-marche-situation-geographique-plans-de-situation-component\"},[_c('prestation-expertise-situation-adresse',{attrs:{\"validation\":_vm.validation,\"isCaptureDisplayed\":false},model:{value:(_vm.mission),callback:function ($$v) {_vm.mission=$$v},expression:\"mission\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\r\nimport { Component, Mixins } from 'vue-property-decorator';\r\n\r\nimport EtudeDeMarcheSectionMixin from '@/mixins/etude-de-marche-section.mixin';\r\n\r\nimport PrestationExpertiseSituationAdresse from '@/shared/components/prestation-expertise/prestation-expertise-situation-adresse.vue';\r\nimport StarRating from 'vue-star-rating';\r\n\r\n@Component({\r\n name: 'PrestationExpertiseEtudeDeMarcheSituationGeographiquePlansDeSituation',\r\n components: {\r\n PrestationExpertiseSituationAdresse,\r\n StarRating,\r\n },\r\n})\r\nexport default class PrestationExpertiseEtudeDeMarcheSituationGeographiquePlansDeSituation extends Mixins(EtudeDeMarcheSectionMixin) {\r\n //#region LIFE CYCLES\r\n //#endregion\r\n //#region COMPUTED\r\n //#endregion\r\n //#region WATCH\r\n //#endregion\r\n //#region EVENTS\r\n //#endregion\r\n //#region FUNCTIONS\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-etude-de-marche-situation-geographique-plans-de-situation.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-etude-de-marche-situation-geographique-plans-de-situation.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./prestation-expertise-etude-de-marche-situation-geographique-plans-de-situation.vue?vue&type=template&id=684c7ee5&\"\nimport script from \"./prestation-expertise-etude-de-marche-situation-geographique-plans-de-situation.vue?vue&type=script&lang=ts&\"\nexport * from \"./prestation-expertise-etude-de-marche-situation-geographique-plans-de-situation.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"prestation-expertise-etude-de-marche-modele-rapport-component\"},[_c('h3',[_vm._v(\"Modèle de rapport\")]),_c('div',{staticClass:\"prestation-expertise-etude-de-marche-modele-rapport-component-button\",attrs:{\"tabindex\":\"0\",\"role\":\"button\"}},[_c('b-row',[_c('b-col',{staticClass:\"prestation-expertise-etude-de-marche-modele-rapport-component-button-icon\",attrs:{\"cols\":\"2\"}},[_c('font-awesome-icon',{attrs:{\"icon\":\"download\",\"aria-hidden\":\"true\"}})],1),_c('b-col',{staticClass:\"prestation-expertise-etude-de-marche-modele-rapport-component-button-label\",attrs:{\"cols\":\"8\"},on:{\"click\":_vm.onModeleDownloadClick}},[_vm._v(\" Télécharger le modèle de rapport\")]),_c('b-col',{staticClass:\"prestation-expertise-etude-de-marche-modele-rapport-component-button-img\",attrs:{\"cols\":\"2\"}},[_c('img',{attrs:{\"alt\":\"\",\"src\":require(\"../../../../assets/document_document.svg\")}})])],1)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport EtudeDeMarcheSectionMixin from '@/mixins/etude-de-marche-section.mixin';\r\nimport { Vue, Component, Mixins } from 'vue-property-decorator';\r\n@Component({\r\n name: 'PrestationExpertiseEtudeDeMarcheModeleRapport',\r\n})\r\nexport default class PrestationExpertiseEtudeDeMarcheModeleRapport extends Mixins(EtudeDeMarcheSectionMixin) {\r\n //#region LIFE CYCLES\r\n //#endregion\r\n //#region COMPUTED\r\n //#endregion\r\n //#region WATCH\r\n //#endregion\r\n //#region EVENTS\r\n public onModeleDownloadClick(): void {\r\n let link = document.createElement('a');\r\n link.href = Vue.prototype.$config.baseUrl + '/templates/Modele_rapport_etude_de_marche.xlsx';\r\n link.download = 'Modele_rapport_etude_de_marche.xlsx';\r\n document.body.appendChild(link); // fix for Firefox\r\n link.click();\r\n link.remove();\r\n }\r\n //#endregion\r\n //#region FUNCTIONS\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-etude-de-marche-modele-rapport.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-etude-de-marche-modele-rapport.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./prestation-expertise-etude-de-marche-modele-rapport.vue?vue&type=template&id=f10a7138&\"\nimport script from \"./prestation-expertise-etude-de-marche-modele-rapport.vue?vue&type=script&lang=ts&\"\nexport * from \"./prestation-expertise-etude-de-marche-modele-rapport.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./prestation-expertise-etude-de-marche-modele-rapport.vue?vue&type=style&index=0&lang=scss&\"\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:\"prestation-expertise-etude-de-marche-rapport-component\",class:{ invalid: _vm.validation.mission.prestationExpertise.annexes.$error }},[_c('h3',[_vm._v(\"Rapport terminé \"),_c('font-awesome-icon',{attrs:{\"icon\":\"check-circle\",\"aria-hidden\":\"true\"}})],1),_c('b-row',{staticClass:\"my-4 mx-0\"},[_c('input',{ref:\"fileUpload\",staticStyle:{\"display\":\"none\"},attrs:{\"type\":\"file\",\"multiple\":\"\"},on:{\"change\":_vm.handleFileUpload}}),_c('b-button',{attrs:{\"variant\":\"bpce-primary\"},on:{\"click\":_vm.addFileClick}},[_vm._v(\" Ajouter un fichier \")])],1),_c('b-table',{attrs:{\"items\":_vm.list,\"fields\":_vm.fields,\"thead-class\":\"thead\",\"responsive\":\"sm\",\"show-empty\":\"\",\"empty-text\":\"Aucun document.\"},scopedSlots:_vm._u([{key:\"cell(nom)\",fn:function(data){return [_c('span',{domProps:{\"innerHTML\":_vm._s(data.item.nom)}})]}},{key:\"cell(view)\",fn:function(data){return [(!data.item.isNew)?_c('b-button',{staticClass:\"mr-2\",attrs:{\"size\":\"sm\",\"pill\":\"\",\"variant\":\"outline-bpce-primary\",\"aria-label\":'Visualiser le document ' + data.item.nom},on:{\"click\":function($event){return _vm.onViewFileClick(data.item)}}},[_c('font-awesome-icon',{attrs:{\"icon\":\"eye\"}})],1):_vm._e(),(!data.item.isNew)?_c('b-button',{staticClass:\"mr-2\",attrs:{\"size\":\"sm\",\"pill\":\"\",\"variant\":\"outline-bpce-primary\",\"aria-label\":'Télécharger le document ' + data.item.nom},on:{\"click\":function($event){return _vm.onDownloadFileClick(data.item)}}},[_c('font-awesome-icon',{attrs:{\"icon\":\"download\"}})],1):_vm._e()]}},{key:\"cell(action)\",fn:function(data){return [(!data.item.isDeleted)?_c('b-button',{staticClass:\"mr-2\",attrs:{\"size\":\"sm\",\"pill\":\"\",\"variant\":\"outline-bpce-primary\",\"aria-label\":'Supprimer le document ' + data.item.nom},on:{\"click\":function($event){return _vm.onDeleteFileClick(data.item)}}},[_c('font-awesome-icon',{attrs:{\"icon\":\"trash\"}})],1):_vm._e()]}}])})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-etude-de-marche-rapport.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-etude-de-marche-rapport.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./prestation-expertise-etude-de-marche-rapport.vue?vue&type=template&id=4f4694ed&\"\nimport script from \"./prestation-expertise-etude-de-marche-rapport.vue?vue&type=script&lang=ts&\"\nexport * from \"./prestation-expertise-etude-de-marche-rapport.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./prestation-expertise-etude-de-marche-rapport.vue?vue&type=style&index=0&lang=scss&\"\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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Mixins, Prop } from 'vue-property-decorator';\r\n\r\nimport { ComponentSection } from '@/shared/models/component-section';\r\nimport PrestationExpertiseSectionMixin from '@/mixins/prestation-expertise-section.mixin';\r\n\r\n//#region Rapport\r\n// Rapport\r\nimport PrestationExpertiseRapportIndicateurs from '@/views/prestation-expertise/rapport/prestation-expertise-rapport-indicateurs.vue';\r\nimport PrestationExpertiseRapportProprietes from '@/views/prestation-expertise/rapport/prestation-expertise-rapport-proprietes.vue';\r\n// Contrat\r\nimport PrestationExpertiseRapportContratMission from '@/views/prestation-expertise/rapport/contrat/prestation-expertise-rapport-contrat-mission.vue';\r\n// Situation Geographique\r\nimport PrestationExpertiseRapportSituationGeographiqueGeographie from '@/views/prestation-expertise/rapport/situation-geographique/prestation-expertise-rapport-situation-geographique-geographie.vue';\r\nimport PrestationExpertiseRapportSituationGeographiqueAvisExpert from '@/views/prestation-expertise/rapport/situation-geographique/prestation-expertise-rapport-situation-geographique-avis-expert.vue';\r\nimport PrestationExpertiseRapportSituationGeographiqueControle from '@/views/prestation-expertise/rapport/situation-geographique/prestation-expertise-rapport-situation-geographique-controle.vue';\r\n// Description Générale\r\nimport PrestationExpertiseRapportDescriptionGeneraleTerrain from '@/views/prestation-expertise/rapport/description-generale/prestation-expertise-rapport-description-generale-terrain.vue';\r\nimport PrestationExpertiseRapportDescriptionGeneraleAvisExpert from '@/views/prestation-expertise/rapport/description-generale/prestation-expertise-rapport-description-generale-avis-expert.vue';\r\nimport PrestationExpertiseRapportDescriptionGeneraleControle from '@/views/prestation-expertise/rapport/description-generale/prestation-expertise-rapport-description-generale-controle.vue';\r\n// Description Particulière\r\nimport PrestationExpertiseRapportDescriptionParticuliereBatiment from '@/views/prestation-expertise/rapport/description-particuliere/prestation-expertise-rapport-description-particuliere-batiment.vue';\r\nimport PrestationExpertiseRapportDescriptionParticulierePrestations from '@/views/prestation-expertise/rapport/description-particuliere/prestation-expertise-rapport-description-particuliere-prestations.vue';\r\nimport PrestationExpertiseRapportDescriptionParticuliereSurface from '@/views/prestation-expertise/rapport/description-particuliere/prestation-expertise-rapport-description-particuliere-surface.vue';\r\nimport PrestationExpertiseRapportDescriptionParticuliereAvisExpert from '@/views/prestation-expertise/rapport/description-particuliere/prestation-expertise-rapport-description-particuliere-avis-expert.vue';\r\nimport PrestationExpertiseRapportDescriptionParticuliereControle from '@/views/prestation-expertise/rapport/description-particuliere/prestation-expertise-rapport-description-particuliere-controle.vue';\r\n// Situation Fiscale\r\nimport PrestationExpertiseRapportSituationFiscaleFiscalite from '@/views/prestation-expertise/rapport/situation-fiscale/prestation-expertise-rapport-situation-fiscale-fiscalite.vue';\r\nimport PrestationExpertiseRapportSituationFiscaleControle from '@/views/prestation-expertise/rapport/situation-fiscale/prestation-expertise-rapport-situation-fiscale-controle.vue';\r\n// Situation Juridique\r\nimport PrestationExpertiseRapportSituationJuridiqueJuridique from '@/views/prestation-expertise/rapport/situation-juridique/prestation-expertise-rapport-situation-juridique-juridique.vue';\r\nimport PrestationExpertiseRapportSituationJuridiqueControle from '@/views/prestation-expertise/rapport/situation-juridique/prestation-expertise-rapport-situation-juridique-controle.vue';\r\n// Situation Urbanistique\r\nimport PrestationExpertiseRapportSituationUrbanistiqueUrbanisme from '@/views/prestation-expertise/rapport/situation-urbanistique/prestation-expertise-rapport-situation-urbanistique-urbanisme.vue';\r\nimport PrestationExpertiseRapportSituationUrbanistiqueControle from '@/views/prestation-expertise/rapport/situation-urbanistique/prestation-expertise-rapport-situation-urbanistique-controle.vue';\r\n// Situation Locative\r\nimport PrestationExpertiseRapportSituationLocativeLocative from '@/views/prestation-expertise/rapport/situation-locative/prestation-expertise-rapport-situation-locative-locative.vue';\r\nimport PrestationExpertiseRapportSituationLocativeControle from '@/views/prestation-expertise/rapport/situation-locative/prestation-expertise-rapport-situation-locative-controle.vue';\r\n// Marche\r\nimport PrestationExpertiseRapportMarcheEtudeDeMarche from '@/views/prestation-expertise/rapport/marche/prestation-expertise-rapport-marche-etude-de-marche.vue';\r\nimport PrestationExpertiseRapportMarcheControle from '@/views/prestation-expertise/rapport/marche/prestation-expertise-rapport-marche-controle.vue';\r\n//Evaluation\r\nimport PrestationExpertiseRapportEvaluationEvaluation from '@/views/prestation-expertise/rapport/evaluation/prestation-expertise-rapport-evaluation-evaluation.vue';\r\nimport PrestationExpertiseRapportEvaluationControle from '@/views/prestation-expertise/rapport/evaluation/prestation-expertise-rapport-evaluation-controle.vue';\r\n//Conclusion\r\nimport PrestationExpertiseRapportConclusionConclusion from '@/views/prestation-expertise/rapport/conclusion/prestation-expertise-rapport-conclusion-conclusion.vue';\r\nimport PrestationExpertiseRapportConclusionControle from '@/views/prestation-expertise/rapport/conclusion/prestation-expertise-rapport-conclusion-controle.vue';\r\nimport PrestationExpertiseRapportConclusionAnnexes from '@/views/prestation-expertise/rapport/conclusion/prestation-expertise-rapport-conclusion-annexes.vue';\r\n// Controle\r\nimport PrestationExpertiseRapportControleAppreciationGenerale from '@/views/prestation-expertise/rapport/controle/prestation-expertise-rapport-appreciation-generale.vue';\r\n//#endregion\r\n\r\n//#region PrestationExpertise\r\nimport PrestationExpertiseProprietes from '@/views/prestation-expertise/prestation-expertise-proprietes.vue';\r\n//#endregion\r\n\r\n//#region ValeurSpotPlus\r\n// Contrat\r\nimport PrestationExpertiseValeurSpotPlusContratMission from '@/views/prestation-expertise/valeur-spot-plus/contrat/prestation-expertise-valeur-spot-plus-contrat-mission.vue';\r\n// Situation Géographique\r\nimport PrestationExpertiseValeurSpotPlusSituationGeographiquePlansDeSituation from '@/views/prestation-expertise/valeur-spot-plus/situation-geographique/prestation-expertise-valeur-spot-plus-situation-geographique-plans-de-situation.vue';\r\n// Description Générale\r\nimport PrestationExpertiseValeurSpotPlusDescriptionGeneraleDescriptionDuBien from '@/views/prestation-expertise/valeur-spot-plus/description-generale/prestation-expertise-valeur-spot-plus-description-generale-description-du-bien.vue';\r\n// Analyse du bien\r\nimport PrestationExpertiseValeurSpotPlusAnalyseDuBienCommentaires from '@/views/prestation-expertise/valeur-spot-plus/analyse-du-bien/prestation-expertise-valeur-spot-plus-analyse-du-bien-commentaires.vue';\r\n// Conclusion\r\nimport PrestationExpertiseValeurSpotPlusConclusionValeurs from '@/views/prestation-expertise/valeur-spot-plus/conclusion/prestation-expertise-valeur-spot-plus-conclusion-valeurs.vue';\r\n//#endregion\r\n\r\n//#region Etat Avancement des Travaux\r\n// Contrat\r\nimport PrestationExpertiseEtatAvancementTravauxContratMission from '@/views/prestation-expertise/etat-avancement-travaux/contrat/prestation-expertise-etat-avancement-travaux-contrat-mission.vue';\r\nimport PrestationExpertiseEtatAvancementTravauxBien from '@/views/prestation-expertise/etat-avancement-travaux/bien/prestation-expertise-etat-avancement-travaux-bien.vue';\r\nimport PrestationExpertiseEtatAvancementTravauxPointInspection from '@/views/prestation-expertise/etat-avancement-travaux/points-inspections/prestation-expertise-etat-avancement-travaux-point-inspection.vue';\r\nimport PrestationExpertiseEtatAvancementTravauxAvisExpert from '@/views/prestation-expertise/etat-avancement-travaux/commentaires/prestation-expertise-etat-avancement-travaux-avis-expert.vue';\r\nimport PrestationExpertiseEtatAvancementTravauxConclusion from '@/views/prestation-expertise/etat-avancement-travaux/conclusion/prestation-expertise-etat-avancement-travaux-conclusion.vue';\r\n//#endregion\r\n\r\n//#region Etude de marché\r\n\r\nimport PrestationExpertiseEtudeDeMarcheContratMission from '@/views/prestation-expertise/etude-de-marche/contrat/prestation-expertise-etude-de-marche-contrat-mission.vue';\r\nimport PrestationExpertiseEtudeDeMarcheSituationGeographiquePlansDeSituation from '@/views/prestation-expertise/etude-de-marche/situation-geographique/prestation-expertise-etude-de-marche-situation-geographique-plans-de-situation.vue';\r\nimport PrestationExpertiseEtudeDeMarcheModeleRapport from '@/views/prestation-expertise/etude-de-marche/rapport/prestation-expertise-etude-de-marche-modele-rapport.vue';\r\nimport PrestationExpertiseEtudeDeMarcheRapport from '@/views/prestation-expertise/etude-de-marche/rapport/prestation-expertise-etude-de-marche-rapport.vue';\r\n\r\n//#endregion\r\n\r\n@Component({\r\n name: 'PrestationExpertiseSections',\r\n components: {\r\n //#region Rapport\r\n // Rapport\r\n PrestationExpertiseRapportProprietes,\r\n PrestationExpertiseRapportIndicateurs,\r\n // Contrat\r\n PrestationExpertiseRapportContratMission,\r\n // Situation Geographique\r\n PrestationExpertiseRapportSituationGeographiqueGeographie,\r\n PrestationExpertiseRapportSituationGeographiqueAvisExpert,\r\n PrestationExpertiseRapportSituationGeographiqueControle,\r\n // Description Générale\r\n PrestationExpertiseRapportDescriptionGeneraleTerrain,\r\n PrestationExpertiseRapportDescriptionGeneraleAvisExpert,\r\n PrestationExpertiseRapportDescriptionGeneraleControle,\r\n // Description Particulière\r\n PrestationExpertiseRapportDescriptionParticuliereBatiment,\r\n PrestationExpertiseRapportDescriptionParticulierePrestations,\r\n PrestationExpertiseRapportDescriptionParticuliereSurface,\r\n PrestationExpertiseRapportDescriptionParticuliereAvisExpert,\r\n PrestationExpertiseRapportDescriptionParticuliereControle,\r\n // Situation Fiscale\r\n PrestationExpertiseRapportSituationFiscaleFiscalite,\r\n PrestationExpertiseRapportSituationFiscaleControle,\r\n // Situation Juridique\r\n PrestationExpertiseRapportSituationJuridiqueJuridique,\r\n PrestationExpertiseRapportSituationJuridiqueControle,\r\n // Situation Urbanistique\r\n PrestationExpertiseRapportSituationUrbanistiqueUrbanisme,\r\n PrestationExpertiseRapportSituationUrbanistiqueControle,\r\n //Situation Locative\r\n PrestationExpertiseRapportSituationLocativeLocative,\r\n PrestationExpertiseRapportSituationLocativeControle,\r\n // Marche\r\n PrestationExpertiseRapportMarcheEtudeDeMarche,\r\n PrestationExpertiseRapportMarcheControle,\r\n // Evaluation\r\n PrestationExpertiseRapportEvaluationEvaluation,\r\n PrestationExpertiseRapportEvaluationControle,\r\n // Conclusion\r\n PrestationExpertiseRapportConclusionConclusion,\r\n PrestationExpertiseRapportConclusionControle,\r\n PrestationExpertiseRapportConclusionAnnexes,\r\n // Controle\r\n PrestationExpertiseRapportControleAppreciationGenerale,\r\n //#endregion\r\n\r\n //#region PrestationExpertise\r\n PrestationExpertiseProprietes,\r\n //#endregion\r\n\r\n //#region ValeurSpotPlus\r\n // Contrat\r\n PrestationExpertiseValeurSpotPlusContratMission,\r\n // Situation Géographique\r\n PrestationExpertiseValeurSpotPlusSituationGeographiquePlansDeSituation,\r\n // Description Générale\r\n PrestationExpertiseValeurSpotPlusDescriptionGeneraleDescriptionDuBien,\r\n // Analyse du bien\r\n PrestationExpertiseValeurSpotPlusAnalyseDuBienCommentaires,\r\n // Conclusion\r\n PrestationExpertiseValeurSpotPlusConclusionValeurs,\r\n //#endregion\r\n\r\n //#region Etat Avancement des travaux\r\n PrestationExpertiseEtatAvancementTravauxContratMission,\r\n PrestationExpertiseEtatAvancementTravauxBien,\r\n PrestationExpertiseEtatAvancementTravauxPointInspection,\r\n PrestationExpertiseEtatAvancementTravauxAvisExpert,\r\n PrestationExpertiseEtatAvancementTravauxConclusion,\r\n //#endregion\r\n\r\n //#region Etude de marché\r\n PrestationExpertiseEtudeDeMarcheContratMission,\r\n PrestationExpertiseEtudeDeMarcheSituationGeographiquePlansDeSituation,\r\n PrestationExpertiseEtudeDeMarcheModeleRapport,\r\n PrestationExpertiseEtudeDeMarcheRapport,\r\n //#endregion\r\n },\r\n})\r\nexport default class PrestationExpertiseSections extends Mixins(PrestationExpertiseSectionMixin) {\r\n @Prop() public componentsSections: ComponentSection[];\r\n @Prop() public currentComponentSection: ComponentSection;\r\n @Prop() public isReadOnly: boolean;\r\n\r\n //#region LIFE CYCLES\r\n\r\n //#endregion\r\n\r\n //#region COMPUTED\r\n get commonComponentProperties(): any {\r\n return {\r\n businessEntries: this.businessEntries,\r\n societeSettings: this.societeSettings,\r\n validation: this.validation,\r\n color: this.color,\r\n };\r\n }\r\n\r\n //#endregion\r\n\r\n //#region WATCH\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-sections.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-sections.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./prestation-expertise-sections.vue?vue&type=template&id=f64d6dd4&\"\nimport script from \"./prestation-expertise-sections.vue?vue&type=script&lang=ts&\"\nexport * from \"./prestation-expertise-sections.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./prestation-expertise-sections.vue?vue&type=style&index=0&lang=scss&\"\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.componentsSections && _vm.currentComponentSection)?_c('div',{directives:[{name:\"b-scrollspy\",rawName:\"v-b-scrollspy:main\",arg:\"main\"}],staticClass:\"prestation-expertise-desktop-menu-component\",style:(_vm.cssVars)},[_c('nav',{attrs:{\"role\":\"navigation\"}},[_c('ul',_vm._l((_vm.componentsSections),function(parentComponentSection){return _c('li',{key:parentComponentSection.slug},[_c('div',{staticClass:\"prestation-expertise-desktop-menu-component-parent-section-name\"},[_vm._v(\" \"+_vm._s(parentComponentSection.name)+\" \")]),(parentComponentSection.validationName)?_c('validation-status',{attrs:{\"condition\":_vm.validation && !_vm.validation.mission[parentComponentSection.validationName].$invalid}}):_vm._e(),(parentComponentSection.noteName)?_c('visa-section-status',{attrs:{\"note\":_vm.notes[parentComponentSection.noteName]}}):_vm._e(),_vm._l((parentComponentSection.children),function(componentSection){return _c('a',{key:componentSection.slug,staticClass:\"prestation-expertise-desktop-menu-component-child-section-name\",class:{ active: _vm.currentComponentSection.slug === componentSection.slug },on:{\"click\":function($event){return _vm.onMenuItemClick(componentSection)}}},[_vm._v(\" \"+_vm._s(componentSection.name)+\" \")])})],2)}),0)])]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Mixins, Prop } from 'vue-property-decorator';\r\nimport { ComponentSection } from '@/shared/models/component-section';\r\nimport ThemeMixin from '@/mixins/theme.mixin';\r\n\r\n@Component({})\r\nexport default class PrestationExpertiseMenu extends Mixins(ThemeMixin) {\r\n @Prop() public componentsSections: ComponentSection[];\r\n @Prop() public currentComponentSection: ComponentSection;\r\n\r\n //#region LIFE CYCLES\r\n\r\n //#endregion\r\n\r\n //#region COMPUTED\r\n\r\n //#endregion\r\n\r\n //#region WATCH\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n public onMenuItemClick(componentSection: ComponentSection): void {\r\n throw new Error('Not implemented');\r\n }\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n\r\n //#endregion\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.$can('Deposer', 'Rapport') && _vm.condition)?_c('span',{attrs:{\"title\":\"Section complète\"}},[_c('font-awesome-icon',{attrs:{\"icon\":\"check-circle\",\"fixed-width\":\"\"}})],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\n@Component({\r\n name: 'ValidationStatus',\r\n})\r\nexport default class ValidationStatus extends Vue {\r\n @Prop({ default: true }) public condition: boolean;\r\n\r\n //#region LIFE CYCLES\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n\r\n //#endregion\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./validation-status.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./validation-status.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./validation-status.vue?vue&type=template&id=401b7c62&scoped=true&\"\nimport script from \"./validation-status.vue?vue&type=script&lang=ts&\"\nexport * from \"./validation-status.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"401b7c62\",\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('span',{attrs:{\"title\":_vm.title}},[(_vm.display)?_c('font-awesome-icon',{class:_vm.className,attrs:{\"icon\":_vm.icon,\"fixed-width\":\"\"}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\r\nimport { RapportExpertiseNoteSectionDto } from '@/shared/dtos/rapport-expertise-section-note.dto';\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\n\r\n@Component({\r\n name: 'VisaSectionStatus',\r\n})\r\nexport default class VisaSectionStatus extends Vue {\r\n @Prop({ required: true }) public note: RapportExpertiseNoteSectionDto;\r\n\r\n //#region LIFE CYCLES\r\n //#endregion\r\n\r\n //#region COMPUTED\r\n get display(): boolean {\r\n if (this.$can('Save', 'Notes')) return true;\r\n if (this.note && this.note.isValid === false && this.$can('Get', 'Notes')) return true;\r\n return false;\r\n }\r\n\r\n get title(): string {\r\n if (this.note && this.note.isValid === false) return 'Cette section a été refusée';\r\n if (this.note && this.note.isValid) return 'Cette section a été acceptée';\r\n\r\n return \"Cette section n'a pas été notée\";\r\n }\r\n\r\n get icon(): string {\r\n if (this.note && this.note.isValid === false) return 'times';\r\n if (this.note && this.note.isValid) return 'check';\r\n\r\n return 'ban';\r\n }\r\n\r\n get className(): any {\r\n return {\r\n 'text-warning': this.note && this.note.isValid === false,\r\n 'text-success': this.note && this.note.isValid,\r\n };\r\n }\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n\r\n //#endregion\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./visa-section-status.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./visa-section-status.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./visa-section-status.vue?vue&type=template&id=2f22702e&scoped=true&\"\nimport script from \"./visa-section-status.vue?vue&type=script&lang=ts&\"\nexport * from \"./visa-section-status.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./visa-section-status.vue?vue&type=style&index=0&id=2f22702e&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 \"2f22702e\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop } from 'vue-property-decorator';\r\nimport PrestationExpertiseMenu from '@/components/prestation-expertise/prestation-expertise-menu';\r\nimport { ComponentSection } from '@/shared/models/component-section';\r\nimport ValidationStatus from '@/components/validation-status.vue';\r\nimport VisaSectionStatus from '@/components/visa-section-status.vue';\r\nimport { RapportExpertiseNoteSectionDto } from '@/shared/dtos/rapport-expertise-section-note.dto';\r\n\r\n@Component({\r\n name: 'PrestationExpertiseDesktopMenu',\r\n components: {\r\n ValidationStatus,\r\n VisaSectionStatus,\r\n },\r\n})\r\nexport default class PrestationExpertiseDesktopMenu extends PrestationExpertiseMenu {\r\n @Prop() validation: any;\r\n @Prop() notes: { [index: number]: RapportExpertiseNoteSectionDto };\r\n\r\n //#region LIFE CYCLES\r\n\r\n //#endregion\r\n\r\n //#region COMPUTED\r\n\r\n //#endregion\r\n\r\n //#region WATCH\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n public onMenuItemClick(componentSection: ComponentSection): void {\r\n const el = document.querySelector('#' + componentSection.slug);\r\n\r\n if (el) {\r\n el.scrollIntoView({ behavior: 'smooth' });\r\n }\r\n\r\n this.$emit('componentSectionChanged', componentSection);\r\n }\r\n\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-desktop-menu.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-desktop-menu.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./prestation-expertise-desktop-menu.vue?vue&type=template&id=2cafb5ae&scoped=true&\"\nimport script from \"./prestation-expertise-desktop-menu.vue?vue&type=script&lang=ts&\"\nexport * from \"./prestation-expertise-desktop-menu.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./prestation-expertise-desktop-menu.vue?vue&type=style&index=0&id=2cafb5ae&scoped=true&lang=scss&\"\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 \"2cafb5ae\",\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.componentsSections && _vm.currentComponentSection)?_c('div',{staticClass:\"prestation-expertise-mobile-menu-component\",class:_vm.isMenuOpened ? 'open' : '',style:(_vm.cssVars)},[_c('b-dropdown',{attrs:{\"dropup\":\"\",\"text\":_vm.currentComponentSection.name,\"role\":\"navigation\"},on:{\"toggle\":function($event){return _vm.onMenuToggleClick()}}},_vm._l((_vm.componentsSections),function(componentSection){return _c('b-dropdown-item',{key:componentSection.slug,class:{ active: componentSection.slug === _vm.currentComponentSection.slug },on:{\"click\":function($event){return _vm.onMenuItemClick(componentSection)}}},[_vm._v(_vm._s(componentSection.name))])}),1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component } from 'vue-property-decorator';\r\nimport PrestationExpertiseMenu from '@/components/prestation-expertise/prestation-expertise-menu';\r\nimport { BDropdown, BDropdownItem } from 'bootstrap-vue';\r\nimport { ComponentSection } from '@/shared/models/component-section';\r\n\r\n@Component({\r\n name: 'PrestationExpertiseMobileMenu',\r\n components: {\r\n BDropdown,\r\n BDropdownItem,\r\n },\r\n})\r\nexport default class PrestationExpertiseMobileMenu extends PrestationExpertiseMenu {\r\n public isMenuOpened = false;\r\n\r\n //#region LIFE CYCLES\r\n\r\n //#endregion\r\n\r\n //#region COMPUTED\r\n\r\n //#endregion\r\n\r\n //#region WATCH\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n public onMenuToggleClick(): void {\r\n this.isMenuOpened = !this.isMenuOpened;\r\n }\r\n\r\n public onMenuItemClick(componentSection: ComponentSection): void {\r\n this.isMenuOpened = false;\r\n\r\n document.querySelector('main').scrollTo({\r\n top: 0,\r\n left: 0,\r\n });\r\n\r\n this.$emit('componentSectionChanged', componentSection);\r\n }\r\n\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-mobile-menu.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-mobile-menu.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./prestation-expertise-mobile-menu.vue?vue&type=template&id=21ade4b4&\"\nimport script from \"./prestation-expertise-mobile-menu.vue?vue&type=script&lang=ts&\"\nexport * from \"./prestation-expertise-mobile-menu.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./prestation-expertise-mobile-menu.vue?vue&type=style&index=0&lang=scss&\"\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:\"prestation-expertise-header-component\",class:_vm.isBrowser ? 'desktop' : 'mobile'},[(_vm.isBrowser)?_c('div',[_c('b-button',{attrs:{\"variant\":\"light\",\"disabled\":_vm.isSearchingAnnexes,\"aria-label\":\"Consulter les pièces jointes\"},on:{\"click\":function($event){_vm.isPanelAnnexesVisible = true}}},[_c('font-awesome-icon',{attrs:{\"icon\":\"paperclip\",\"aria-hidden\":\"true\"}}),(_vm.annexes)?_c('b-badge',{staticClass:\"badge-top ml-1\",attrs:{\"variant\":\"info\",\"pill\":\"\"}},[_vm._v(_vm._s(_vm.annexes.length))]):_vm._e()],1),_vm._t(\"other-desktop-actions\"),(_vm.isBrowser)?_c('b-button',{attrs:{\"variant\":\"primary\",\"disabled\":_vm.isReadOnly || _vm.isSaving},on:{\"click\":_vm.onSaveButtonClick}},[_vm._v(\" Enregistrer \")]):_vm._e(),(_vm.lastPrestationExpertiseVersionHistory)?_c('div',[_vm._v(\" Dernière sauvegarde\"),_c('br'),_vm._v(\" \"+_vm._s(_vm.lastPrestationExpertiseVersionHistory.strLastVersion)+\" \")]):_vm._e(),(_vm.isBrowser && _vm.$can('Export', 'Rapport') && _vm.isExportDisplayed)?_c('b-button',{attrs:{\"variant\":\"outline-primary\",\"disabled\":_vm.isSaving || _vm.isExporting},on:{\"click\":_vm.onExportButtonClick}},[_c('font-awesome-icon',{attrs:{\"icon\":\"file-download\",\"aria-hidden\":\"true\"}})],1):_vm._e(),(_vm.canSendMessage)?_c('b-button',{attrs:{\"variant\":\"outline-primary\"},on:{\"click\":_vm.onSendMessageClick}},[_c('font-awesome-icon',{attrs:{\"icon\":\"envelope\",\"aria-hidden\":\"true\"}})],1):_vm._e(),_c('b-toast',{attrs:{\"id\":\"save-toast\",\"solid\":\"\",\"no-auto-hide\":\"\",\"no-close-button\":\"\"},scopedSlots:_vm._u([{key:\"toast-title\",fn:function(){return [_c('div',{staticClass:\"d-flex flex-grow-1 align-items-center\"},[_c('spinner',{attrs:{\"size\":15,\"depth\":2,\"color\":\"white\"}}),_c('strong',{staticClass:\"ml-1\"},[_vm._v(\"Envoi des données...\")])],1)]},proxy:true}],null,false,2191302055)},[_vm._v(\" Laissez cette page ouverte pour permettre l'envoi des données \")]),_c('b-toast',{attrs:{\"id\":\"copy-toast\",\"solid\":\"\",\"no-auto-hide\":\"\",\"no-close-button\":\"\"},scopedSlots:_vm._u([{key:\"toast-title\",fn:function(){return [_c('div',{staticClass:\"d-flex flex-grow-1 align-items-center\"},[_c('spinner',{attrs:{\"size\":15,\"depth\":2,\"color\":\"white\"}}),_c('strong',{staticClass:\"ml-1\"},[_vm._v(\"Copie des données...\")])],1)]},proxy:true}],null,false,327054188)},[_vm._v(\" Laissez cette page ouverte pour permettre la copie des données \")]),_c('b-toast',{attrs:{\"id\":\"export-toast\",\"solid\":\"\",\"no-auto-hide\":\"\",\"no-close-button\":\"\"},scopedSlots:_vm._u([{key:\"toast-title\",fn:function(){return [_c('div',{staticClass:\"d-flex flex-grow-1 align-items-center\"},[_c('spinner',{attrs:{\"size\":15,\"depth\":2,\"color\":\"white\"}}),_c('strong',{staticClass:\"ml-1\"},[_vm._v(\"Génération du rapport...\")])],1)]},proxy:true}],null,false,1352045079)},[_vm._v(\" Laissez cette page ouverte pour permettre le téléchargement du rapport \")]),_c('b-toast',{attrs:{\"id\":\"depot-toast\",\"solid\":\"\",\"no-auto-hide\":\"\",\"no-close-button\":\"\"},scopedSlots:_vm._u([{key:\"toast-title\",fn:function(){return [_c('div',{staticClass:\"d-flex flex-grow-1 align-items-center\"},[_c('spinner',{attrs:{\"size\":15,\"depth\":2,\"color\":\"white\"}}),_c('strong',{staticClass:\"ml-1\"},[_vm._v(\"Dépôt du rapport...\")])],1)]},proxy:true}],null,false,2603821324)},[_vm._v(\" Laissez cette page ouverte pour permettre le dépot du rapport \")])],2):_vm._e(),(_vm.isMobile)?_c('div',[_vm._t(\"other-mobile-actions\"),_c('b-dropdown',{attrs:{\"variant\":\"outline-primary\",\"aria-label\":\"Voir les autres actions\"},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('font-awesome-icon',{attrs:{\"icon\":\"bolt\",\"aria-hidden\":\"true\"}})]},proxy:true}],null,false,1426858667)},[_vm._t(\"other-mobile-dropdown-actions\"),_c('b-dropdown-item-button',{on:{\"click\":function($event){_vm.isPanelAnnexesVisible = true}}},[_c('font-awesome-icon',{staticClass:\"mr-2\",attrs:{\"icon\":\"paperclip\",\"aria-hidden\":\"true\"}}),_vm._v(\"Consulter les pièces jointes\")],1),_c('b-dropdown-divider'),(_vm.canSendMessage)?_c('b-dropdown-item-button',{on:{\"click\":_vm.onSendMessageClick}},[_c('font-awesome-icon',{staticClass:\"mr-2\",attrs:{\"icon\":\"envelope\",\"aria-hidden\":\"true\"}}),_vm._v(\"Envoyer un message\")],1):_vm._e()],2)],2):_vm._e(),(_vm.canDeposer)?_c('b-button',{attrs:{\"variant\":_vm.isReadOnly ? 'outline-dark' : 'secondary',\"disabled\":_vm.isReadOnly || _vm.isSaving},on:{\"click\":_vm.onDeposerButtonClick}},[(!_vm.isDepositing)?_c('font-awesome-icon',{attrs:{\"icon\":\"paper-plane\",\"aria-hidden\":\"true\"}}):_vm._e(),(_vm.isDepositing)?_c('spinner',{attrs:{\"size\":20,\"depth\":2,\"color\":\"white\"}}):_vm._e()],1):_vm._e(),_c('panel-annexes',{attrs:{\"isVisible\":_vm.isPanelAnnexesVisible,\"disabled\":_vm.isSearchingAnnexes,\"annexes\":_vm.annexes},on:{\"visibleChanged\":function($event){_vm.isPanelAnnexesVisible = $event}}})],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('transition',{attrs:{\"name\":\"slideIn\"}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isVisible),expression:\"isVisible\"}],staticClass:\"panel-annexes-template-slideout\"},[_c('div',{staticClass:\"panel-annexes-template-body\"},[_c('div',{staticClass:\"mb-3 d-flex\"},[_c('h2',{staticClass:\"m-auto\"},[_vm._v(\"Liste des pièces jointes\")]),_c('b-button',{staticClass:\"ml-2 mb-2\",attrs:{\"variant\":\"outline-dark\",\"pill\":\"\"},on:{\"click\":_vm.onCloseClick}},[_c('font-awesome-icon',{attrs:{\"icon\":\"times\",\"aria-label\":\"Fermer\"}})],1)],1),_c('b-table',{attrs:{\"items\":_vm.list,\"fields\":_vm.fields,\"small\":\"\",\"thead-class\":\"bg-primary text-white\"},scopedSlots:_vm._u([{key:\"cell(nom)\",fn:function(data){return [_c('span',{domProps:{\"innerHTML\":_vm._s(data.value)}})]}},{key:\"cell(action)\",fn:function(data){return [_c('b-button',{staticClass:\"mr-2\",attrs:{\"size\":\"sm\",\"pill\":\"\",\"variant\":\"outline-primary\",\"aria-label\":'Visualiser le document ' + data.item.nom},on:{\"click\":function($event){return _vm.onViewAnnexeClick(data.item.id)}}},[_c('font-awesome-icon',{attrs:{\"icon\":\"eye\"}})],1),_c('b-button',{staticClass:\"mr-2\",attrs:{\"size\":\"sm\",\"pill\":\"\",\"variant\":\"outline-primary\",\"aria-label\":'Télécharger le document ' + data.item.nom},on:{\"click\":function($event){return _vm.onDownloadAnnexeClick(data.item.id)}}},[_c('font-awesome-icon',{attrs:{\"icon\":\"download\"}})],1)]}}])})],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Mixins, Prop, Vue } from 'vue-property-decorator';\r\nimport { AnnexeDto } from '@/shared/dtos/annexe.dto';\r\nimport store from '@/shared/store';\r\nimport DeviceMixin from '@/mixins/device.mixin';\r\n@Component({\r\n name: 'PanelAnnexes',\r\n})\r\nexport default class PanelAnnexes extends Mixins(DeviceMixin) {\r\n @Prop({ default: false }) public isVisible: boolean;\r\n @Prop() public annexes: AnnexeDto[];\r\n\r\n public fields: any = [\r\n 'nom',\r\n {\r\n key: 'action',\r\n label: '',\r\n },\r\n ];\r\n\r\n //#region LIFE CYCLES\r\n public created(): void {\r\n document.addEventListener('keydown', this.onEscapeKeyPress);\r\n }\r\n\r\n public destroyed(): void {\r\n document.removeEventListener('keydown', this.onEscapeKeyPress);\r\n }\r\n //#endregion\r\n\r\n //#region COMPUTED\r\n get list(): any {\r\n return this.annexes;\r\n }\r\n //#endregion\r\n\r\n //#region WATCH\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n public onEscapeKeyPress(e: any): void {\r\n if (e.keyCode === 27) {\r\n this.onCloseClick();\r\n }\r\n }\r\n\r\n public onCloseClick(): void {\r\n this.$emit('visibleChanged', false);\r\n }\r\n\r\n public async onViewAnnexeClick(id: number): Promise {\r\n // En mobile avec l'iphone, on ne peut pas simplement voir le fichier, il faut le télécharger pour le consulter\r\n if (this.isMobile) {\r\n await this.onDownloadAnnexeClick(id);\r\n return;\r\n }\r\n\r\n store.isLoading = true;\r\n await Vue.prototype.$annexeApiService\r\n .getAnnexe(id)\r\n .then((response: any) => {\r\n const mimeType = response.headers['content-type'];\r\n const blob = new Blob([response.data], { type: mimeType });\r\n var blobUrl = URL.createObjectURL(blob);\r\n window.open(blobUrl, '_blank');\r\n })\r\n .catch(async (error: any) => {\r\n await Vue.prototype.$logStoreService.error(`Erreur lors du téléchargement du document ${id} - ERROR`, error, 'Annexe');\r\n })\r\n .finally(() => {\r\n store.isLoading = false;\r\n });\r\n }\r\n\r\n public async onDownloadAnnexeClick(id: number): Promise {\r\n store.isLoading = true;\r\n await Vue.prototype.$annexeApiService\r\n .getAnnexe(id)\r\n .then((response: any) => {\r\n const disposition = response.headers['content-disposition'];\r\n const filename = decodeURI(disposition.match(/filename[^;=\\n]*=((['\"]).*?\\2|[^;\\n]*)/)[1]);\r\n\r\n const mimeType = response.headers['content-type'];\r\n const blob = new Blob([response.data], { type: mimeType });\r\n\r\n const navigator: any = window.navigator;\r\n if (navigator && navigator.msSaveOrOpenBlob) {\r\n navigator.msSaveOrOpenBlob(blob, filename);\r\n } else {\r\n let link = document.createElement('a');\r\n link.href = window.URL.createObjectURL(blob);\r\n link.download = filename;\r\n document.body.appendChild(link); // fix for Firefox\r\n link.click();\r\n link.remove();\r\n }\r\n })\r\n .catch(async (error: any) => {\r\n await Vue.prototype.$logStoreService.error(`Erreur lors du téléchargement du document ${id} - ERROR`, error, 'Annexe');\r\n })\r\n .finally(() => {\r\n store.isLoading = false;\r\n });\r\n }\r\n\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n //#endregion\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./panel-annexes.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./panel-annexes.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./panel-annexes.vue?vue&type=template&id=58b4d9fd&scoped=true&\"\nimport script from \"./panel-annexes.vue?vue&type=script&lang=ts&\"\nexport * from \"./panel-annexes.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./panel-annexes.vue?vue&type=style&index=0&id=58b4d9fd&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 \"58b4d9fd\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Vue, Component, Mixins, Prop } from 'vue-property-decorator';\r\nimport DeviceMixin from '@/mixins/device.mixin';\r\nimport PanelAnnexes from '@/components/panel-annexes.vue';\r\nimport Spinner from 'vue-spinner-component/src/Spinner.vue';\r\nimport { AnnexeDto } from '@/shared/dtos/annexe.dto';\r\nimport { MissionDto } from '@/shared/dtos/mission.dto';\r\nimport { PrestationExpertiseVersionHistoryDto } from '@/shared/dtos/prestation-expertise/prestation-expertise-version-history.dto';\r\nimport { EtapeMissionEnum } from '@/shared/enums/etape-mission.enum';\r\nimport store from '@/shared/store';\r\nimport roles from '@/shared/constants/roles.const';\r\n\r\n@Component({\r\n name: 'PrestationExpertiseHeaderActions',\r\n components: { Spinner, PanelAnnexes },\r\n})\r\nexport default class PrestationExpertiseHeaderActions extends Mixins(DeviceMixin) {\r\n @Prop() public isReadOnly: boolean;\r\n @Prop() public isSaving: boolean = false;\r\n @Prop() public isExporting: boolean = false;\r\n @Prop() public isDepositing: boolean = false;\r\n @Prop() public mission: MissionDto;\r\n @Prop() public lastPrestationExpertiseVersionHistory: PrestationExpertiseVersionHistoryDto;\r\n @Prop({ default: true }) public isExportDisplayed: boolean;\r\n\r\n public isPanelAnnexesVisible: boolean = false;\r\n public isSearchingAnnexes: boolean = false;\r\n public annexes: AnnexeDto[] = [];\r\n\r\n public etapeMissionEnum = EtapeMissionEnum;\r\n public isControleur = store.user.roles.includes(roles.Controleur);\r\n //#region LIFE CYCLES\r\n\r\n public async beforeMount(): Promise {\r\n await this.initAnnexes();\r\n }\r\n\r\n //#endregion\r\n\r\n //#region COMPUTED\r\n get canDeposer() {\r\n return (\r\n this.isBrowser &&\r\n this.$can('Deposer', 'Rapport') &&\r\n (!(\r\n this.mission.etape === this.etapeMissionEnum.ValeursAViserVisa1 ||\r\n this.mission.etape === this.etapeMissionEnum.ValeursAViserVisa2 ||\r\n this.mission.etape === this.etapeMissionEnum.ExpertiseCompleteAViser\r\n ) ||\r\n (this.isControleur && this.mission.expert.id === store.user.omereContactId))\r\n );\r\n }\r\n\r\n get canSendMessage() {\r\n return this.$can('EmailCommande', 'Pages') || this.mission.expert.id === store.user.omereContactId;\r\n }\r\n //#endregion\r\n\r\n //#region WATCH\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n public onSaveButtonClick(): void {\r\n this.$emit('saveButtonClicked');\r\n }\r\n\r\n public onExportButtonClick(): void {\r\n this.$emit('exportButtonClicked');\r\n }\r\n\r\n public onDeposerButtonClick(): void {\r\n this.$emit('deposerButtonClicked');\r\n }\r\n\r\n public onSendMessageClick(): void {\r\n this.$router.push({ path: `/missions/${this.mission.id}/contact`, replace: true });\r\n }\r\n\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n public async initAnnexes(): Promise {\r\n if (!navigator.onLine) return;\r\n\r\n this.isSearchingAnnexes = true;\r\n\r\n const logMessage = `Recherche des annexes attachées à la mission: ${this.mission.id}`;\r\n\r\n await Vue.prototype.$logStoreService.info(`${logMessage} - START`, 'PrestationExpertiseHeaderActions');\r\n\r\n await Vue.prototype.$missionApiService\r\n .getAnnexes(this.mission.id)\r\n .then(async (annexes: AnnexeDto[]) => {\r\n await Vue.prototype.$logStoreService.info(`${logMessage} - END`, 'PrestationExpertiseHeaderActions');\r\n\r\n this.annexes = annexes;\r\n })\r\n .catch(async (error: any) => {\r\n await Vue.prototype.$logStoreService.info(`${logMessage} - ERROR`, error, 'PrestationExpertiseHeaderActions');\r\n Vue.prototype.$notificationService.error(`Une erreur est survenue lors de la récupération des annexes attachées à la mission`);\r\n })\r\n .finally(() => {\r\n this.isSearchingAnnexes = false;\r\n });\r\n }\r\n\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-header-actions.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-header-actions.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./prestation-expertise-header-actions.vue?vue&type=template&id=15796bad&scoped=true&\"\nimport script from \"./prestation-expertise-header-actions.vue?vue&type=script&lang=ts&\"\nexport * from \"./prestation-expertise-header-actions.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./prestation-expertise-header-actions.vue?vue&type=style&index=0&id=15796bad&scoped=true&lang=scss&\"\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 \"15796bad\",\n null\n \n)\n\nexport default component.exports","import { required, requiredIf, minValue, minLength, helpers } from 'vuelidate/lib/validators';\r\nimport {\r\n isElementComparaisonTransaction,\r\n isContratTypeVisiteInterieurEtExterieur,\r\n isContratTypeVisiteSurPieces,\r\n isDistributionInterieureEtageTypeAutre,\r\n isDistributionInterieureSurfaceTypeAutre,\r\n isPrestationsSurfaceAnnexeTypeAutre,\r\n isEvaluationMethodeRetenueComparaisonEtRendement,\r\n isPrestationsDependanceTypeAutre,\r\n isSourceDesSurfacesActeNotarie,\r\n isContratConditionOccupationOccupe,\r\n isContratTypePrestationNotCertificatExpertise,\r\n hasValeurApresTravaux,\r\n hasValeurLocative,\r\n hasOptionFaciliteDeNegociationESFI,\r\n areBusinessEntryRelationsValid,\r\n isRapportVersionGreaterOrEqualsTo,\r\n isBusinessEntryDPEValid,\r\n isEtatJuridiquePrixOk,\r\n hasScenarioRenovation,\r\n} from '@/helpers/rapport-expertise.helper';\r\n\r\nimport {\r\n isTypeDeBienTerrain,\r\n isTypeDeBienAppartement,\r\n isTypeDeBienMaison,\r\n hasFourchetteValeur,\r\n hasValeurVenteForcee,\r\n hasValeurVenteRapide,\r\n} from '@/helpers/prestation-expertise.helper';\r\nimport { ContratTypePrestation } from '@/shared/enums/contrat-type-prestation.enum';\r\nimport { isNullOrEmpty } from '@/shared/utilities/string.utility';\r\nimport { ContratHypotheseEvaluationEnum } from '@/shared/enums/contrat-hypothese-evaluation.enum';\r\n\r\n// custom validator qui fait qu'un champs est requis si la fonction en paramètre renvoie true quand on lui passe le parentVm\r\n// par exemple, la déclaration suivante va exécuter isPrestationsSurfaceAnnexeTypeAutre pour tester si le type de surface est 'autre' et que le champs est requis:\r\n// required: requiredIfTrueForParentVm(isPrestationsSurfaceAnnexeTypeAutre)\r\nconst requiredIfTrueForParentVm = (testFunction) =>\r\n helpers.withParams({ type: 'requiredIfTrueForParentVm', testFunction }, function (value, parentVm) {\r\n return testFunction(parentVm) ? helpers.req(value) : true;\r\n });\r\n\r\nconst requiredIfTrueForRapport = (testFunction) =>\r\n helpers.withParams({ type: 'requiredIfTrueForRapport', testFunction }, function (value) {\r\n return testFunction(this.mission.prestationExpertise) ? helpers.req(value) : true;\r\n });\r\n\r\nconst requiredPhotos = helpers.withParams({ type: 'requiredPhotos' }, function (value) {\r\n return this.mission.prestationExpertise.proprietes.photosObligatoires ? helpers.req(value) : true;\r\n});\r\n\r\nconst isNotCertificatExpertise = function (rapport) {\r\n return isContratTypePrestationNotCertificatExpertise(rapport.contratTypePrestationId);\r\n};\r\n\r\nconst requireIfCertificatExpertise = function (rapport) {\r\n return rapport.contratTypePrestationId === ContratTypePrestation.CertificatExpertise;\r\n};\r\n\r\nconst requireIfRapportExpertise = function (rapport) {\r\n return rapport.contratTypePrestationId === ContratTypePrestation.RapportExpertise;\r\n};\r\n\r\nconst requireIfVersion = function (version, actualVersion, isLessThan = false) {\r\n if (isLessThan) {\r\n return isNullOrEmpty(version) || version <= actualVersion;\r\n } else {\r\n return version >= actualVersion;\r\n }\r\n};\r\n\r\n// Validation pour pouvoir déposer le rapport\r\nconst rapportExpertiseValidation = {\r\n mission: {\r\n dateVisite: {\r\n required,\r\n },\r\n prestationExpertise: {\r\n nbKmEffectues: {\r\n required,\r\n },\r\n contratVisitePresenceContact: {\r\n requiredIf: requiredIf((rapport) => isContratTypeVisiteInterieurEtExterieur(rapport.contratTypeVisiteId)),\r\n },\r\n contratVisitePresenceQualificatifId: {\r\n required: requiredIf((rapport) => isContratTypeVisiteInterieurEtExterieur(rapport.contratTypeVisiteId)),\r\n },\r\n contratVisitePresenceCiviliteId: {\r\n required: requiredIf((rapport) => isContratTypeVisiteInterieurEtExterieur(rapport.contratTypeVisiteId)),\r\n },\r\n contratTypeVisiteId: {\r\n required,\r\n },\r\n contratCategorieDActifId: { required },\r\n contratTypeBienId: {\r\n customRequired(value) {\r\n return this.businessEntries.contratTypeBiens.filter(\r\n (b) => b.parentId == this.mission.prestationExpertise.contratCategorieDActifId\r\n ).length > 0\r\n ? helpers.req(value)\r\n : true;\r\n },\r\n },\r\n contratConditionOccupationId: {\r\n required,\r\n },\r\n // Dans la version 2 ou moins, c'est obligatoire si le contrat d'occupation est \"occupé par le locataire\"\r\n // Dans la version 3, c'est tout le temps obligatoire\r\n contratHypotheseEvaluationId: {\r\n required: requiredIf(\r\n (rapport) =>\r\n (requireIfVersion(rapport.version, 2.0, true) && isContratConditionOccupationOccupe(rapport.contratConditionOccupationId)) ||\r\n requireIfVersion(rapport.version, 3.0)\r\n ),\r\n },\r\n contratHypotheseEvaluationAutre: {\r\n required: requiredIf((rapport) => rapport.contratHypotheseEvaluationId === ContratHypotheseEvaluationEnum.Autre),\r\n },\r\n geographiqueSituationGenerale: {\r\n required,\r\n },\r\n geographiqueSituationParticuliere: {\r\n required,\r\n },\r\n geographiqueVueAerienne: {\r\n required: requiredIf((rapport) => requireIfVersion(rapport.version, 3.3)),\r\n },\r\n geographiqueTypeHabitatId: {\r\n required,\r\n },\r\n geographiqueAvisExpert: {\r\n required,\r\n },\r\n situationGeographiqueParticuliereId: {\r\n required: requiredIf((rapport) => requireIfRapportExpertise(rapport) && requireIfVersion(rapport.version, 3.3)),\r\n },\r\n juridiqueAffectationJuridiqueDesLocaux: {\r\n required: requiredIf((rapport) => isNotCertificatExpertise(rapport)),\r\n },\r\n juridiqueDateAcquisition: {\r\n required: requiredIf((rapport) => {\r\n return requireIfCertificatExpertise(rapport) ? false : !rapport.juridiqueDateAcquisitionInconnue;\r\n }),\r\n },\r\n juridiqueModesDeDetentions: {\r\n required: requiredIf((rapport) => isNotCertificatExpertise(rapport)),\r\n },\r\n juridiqueNomDuProprietaire: {\r\n required: requiredIf((rapport) => isNotCertificatExpertise(rapport)),\r\n },\r\n juridiqueDesignation: {\r\n required: requiredIf((rapport) => isNotCertificatExpertise(rapport) && requireIfVersion(rapport.version, 3.3)),\r\n },\r\n juridiquePrixAcquisition: {\r\n customRequired(value) {\r\n const rapport = this.mission.prestationExpertise;\r\n\r\n return requireIfVersion(rapport.version, 3.3) &&\r\n isNotCertificatExpertise(rapport) &&\r\n !isEtatJuridiquePrixOk(rapport.juridiquePrixAcquisition, rapport.juridiquePrixAcquisitionInconnue)\r\n ? false\r\n : true;\r\n },\r\n },\r\n referenceCadastralesRapport: {\r\n required,\r\n minLength: minLength(1),\r\n $each: {\r\n section: { required },\r\n parcelle: { required },\r\n superficie: {},\r\n /*rapportExpertiseId: {\r\n required\r\n }*/\r\n },\r\n },\r\n terrainAccesEtatId: {\r\n customRequired(value) {\r\n return !isTypeDeBienAppartement(this.mission.prestationExpertise, this.businessEntries) ? helpers.req(value) : true;\r\n },\r\n },\r\n terrainClotureId: {\r\n required,\r\n },\r\n terrainEntretienId: {\r\n required,\r\n },\r\n terrainFormeId: {\r\n customRequired(value) {\r\n return !isTypeDeBienAppartement(this.mission.prestationExpertise, this.businessEntries) ? helpers.req(value) : true;\r\n },\r\n },\r\n terrainInclinaisonId: {\r\n customRequired(value) {\r\n return !isTypeDeBienAppartement(this.mission.prestationExpertise, this.businessEntries) ? helpers.req(value) : true;\r\n },\r\n },\r\n terrainSuperficie: {\r\n customRequired(value) {\r\n return !isTypeDeBienAppartement(this.mission.prestationExpertise, this.businessEntries) ? helpers.req(value) : true;\r\n },\r\n },\r\n terrainServitudes: {\r\n required,\r\n },\r\n terrainPrivatif: {\r\n customRequired(value) {\r\n return isTypeDeBienAppartement(this.mission.prestationExpertise, this.businessEntries) ? helpers.req(value) : true;\r\n },\r\n },\r\n terrainPrivatifSuperficie: {\r\n customRequired(value) {\r\n return isTypeDeBienAppartement(this.mission.prestationExpertise, this.businessEntries) &&\r\n this.mission.prestationExpertise.terrainPrivatif === true\r\n ? helpers.req(value)\r\n : true;\r\n },\r\n },\r\n terrainPrivatifClotureId: {\r\n customRequired(value) {\r\n return isTypeDeBienAppartement(this.mission.prestationExpertise, this.businessEntries) &&\r\n this.mission.prestationExpertise.terrainPrivatif === true\r\n ? helpers.req(value)\r\n : true;\r\n },\r\n },\r\n terrainPrivatifEntretienId: {\r\n customRequired(value) {\r\n return isTypeDeBienAppartement(this.mission.prestationExpertise, this.businessEntries) &&\r\n this.mission.prestationExpertise.terrainPrivatif === true\r\n ? helpers.req(value)\r\n : true;\r\n },\r\n },\r\n terrainAvisExpert: {\r\n required,\r\n },\r\n fiscaleTaxeFonciere: {\r\n customRequired(value) {\r\n return isContratTypePrestationNotCertificatExpertise(this.mission.prestationExpertise.contratTypePrestationId) &&\r\n requireIfVersion(this.rapport.version, 2.0, true)\r\n ? helpers.req(value)\r\n : true;\r\n },\r\n },\r\n fiscaleSourceTaxeFonciereId: {\r\n customRequired(value) {\r\n return isContratTypePrestationNotCertificatExpertise(this.mission.prestationExpertise.contratTypePrestationId) &&\r\n requireIfVersion(this.rapport.version, 2.0, true) &&\r\n this.mission.prestationExpertise.fiscaleTaxeFonciere\r\n ? helpers.req(value)\r\n : true;\r\n },\r\n },\r\n fiscaleMontantTaxeFonciere: {\r\n customRequired(value) {\r\n return isContratTypePrestationNotCertificatExpertise(this.mission.prestationExpertise.contratTypePrestationId) &&\r\n requireIfVersion(this.rapport.version, 2.0, true) &&\r\n this.mission.prestationExpertise.fiscaleTaxeFonciere\r\n ? helpers.req(value)\r\n : true;\r\n },\r\n },\r\n locativeDateBail: {\r\n customRequired(value) {\r\n return isContratTypePrestationNotCertificatExpertise(this.mission.prestationExpertise.contratTypePrestationId) &&\r\n isContratConditionOccupationOccupe(this.rapport.contratConditionOccupationId) &&\r\n requireIfVersion(this.rapport.version, 3.0)\r\n ? helpers.req(value)\r\n : true;\r\n },\r\n },\r\n locativeNatureBailId: {\r\n customRequired(value) {\r\n return isContratTypePrestationNotCertificatExpertise(this.mission.prestationExpertise.contratTypePrestationId) &&\r\n isContratConditionOccupationOccupe(this.rapport.contratConditionOccupationId) &&\r\n requireIfVersion(this.rapport.version, 3.0)\r\n ? helpers.req(value)\r\n : true;\r\n },\r\n },\r\n locativeLoyerMensuelBrut: {\r\n customRequired(value) {\r\n return isContratTypePrestationNotCertificatExpertise(this.mission.prestationExpertise.contratTypePrestationId) &&\r\n isContratConditionOccupationOccupe(this.rapport.contratConditionOccupationId) &&\r\n requireIfVersion(this.rapport.version, 3.0)\r\n ? helpers.req(value)\r\n : true;\r\n },\r\n },\r\n locativeLoyerAnnuelBrut: {\r\n customRequired(value) {\r\n return isContratTypePrestationNotCertificatExpertise(this.mission.prestationExpertise.contratTypePrestationId) &&\r\n isContratConditionOccupationOccupe(this.rapport.contratConditionOccupationId) &&\r\n requireIfVersion(this.rapport.version, 3.0)\r\n ? helpers.req(value)\r\n : true;\r\n },\r\n },\r\n locativeChargesNonRecuperables: {\r\n customRequired(value) {\r\n return isContratTypePrestationNotCertificatExpertise(this.mission.prestationExpertise.contratTypePrestationId) &&\r\n isContratConditionOccupationOccupe(this.rapport.contratConditionOccupationId) &&\r\n requireIfVersion(this.rapport.version, 3.0)\r\n ? helpers.req(value)\r\n : true;\r\n },\r\n },\r\n locativeLoyerAnnuelNet: {\r\n customRequired(value) {\r\n return isContratTypePrestationNotCertificatExpertise(this.mission.prestationExpertise.contratTypePrestationId) &&\r\n isContratConditionOccupationOccupe(this.rapport.contratConditionOccupationId) &&\r\n requireIfVersion(this.rapport.version, 3.0)\r\n ? helpers.req(value)\r\n : true;\r\n },\r\n },\r\n locativeCommentaire: {\r\n customRequired(value) {\r\n return isContratTypePrestationNotCertificatExpertise(this.mission.prestationExpertise.contratTypePrestationId) &&\r\n isContratConditionOccupationOccupe(this.rapport.contratConditionOccupationId) &&\r\n requireIfVersion(this.rapport.version, 3.0)\r\n ? helpers.req(value)\r\n : true;\r\n },\r\n },\r\n urbanistiqueCaviteSouterraine: {\r\n required: requiredIf((rapport) => isNotCertificatExpertise(rapport) && !rapport.isSectionRisquesHidden),\r\n },\r\n urbanistiqueCaviteSouterraines: {\r\n required: requiredIf((rapport) => rapport.urbanistiqueCaviteSouterraine && !rapport.isSectionRisquesHidden),\r\n },\r\n urbanistiqueGonflementDesSolsArgileux: {\r\n required: requiredIf((rapport) => isNotCertificatExpertise(rapport) && !rapport.isSectionRisquesHidden),\r\n },\r\n urbanistiqueGonflementDesSolsArgileuxSelectionneId: {\r\n required: requiredIf((rapport) => rapport.urbanistiqueGonflementDesSolsArgileux && !rapport.isSectionRisquesHidden),\r\n },\r\n urbanistiqueInondable: {\r\n required: requiredIf((rapport) => isNotCertificatExpertise(rapport) && !rapport.isSectionRisquesHidden),\r\n },\r\n urbanistiqueInondationId: {\r\n required: requiredIf((rapport) => rapport.urbanistiqueInondable && !rapport.isSectionRisquesHidden),\r\n },\r\n urbanistiqueInstallationIndustrielle: {\r\n required: requiredIf((rapport) => isNotCertificatExpertise(rapport) && !rapport.isSectionRisquesHidden),\r\n },\r\n urbanistiqueInstallationIndustrielles: {\r\n required: requiredIf((rapport) => rapport.urbanistiqueInstallationIndustrielle && !rapport.isSectionRisquesHidden),\r\n },\r\n urbanistiqueMouvementDeTerrain: {\r\n required: requiredIf((rapport) => isNotCertificatExpertise(rapport) && !rapport.isSectionRisquesHidden),\r\n },\r\n urbanistiqueMouvementDeTerrains: {\r\n required: requiredIf((rapport) => rapport.urbanistiqueMouvementDeTerrain && !rapport.isSectionRisquesHidden),\r\n },\r\n urbanistiqueSeisme: {\r\n required: requiredIf((rapport) => isNotCertificatExpertise(rapport) && !rapport.isSectionRisquesHidden),\r\n },\r\n urbanistiqueSeismeSelectionneId: {\r\n required: requiredIf((rapport) => rapport.urbanistiqueSeisme && !rapport.isSectionRisquesHidden),\r\n },\r\n urbanistiquePlanLocalUrbanismeDisponibilite: {\r\n required: requiredIf((rapport) => isNotCertificatExpertise(rapport)),\r\n },\r\n urbanistiquePlanLocalUrbanismeSelectionneId: {\r\n required: requiredIf((rapport) => rapport.urbanistiquePlanLocalUrbanismeDisponibilite),\r\n },\r\n urbanistiqueZone: {\r\n required: requiredIf((rapport) => rapport.urbanistiquePlanLocalUrbanismeDisponibilite),\r\n },\r\n urbanistiqueZoneCommentaire: {\r\n required: requiredIf((rapport) => rapport.urbanistiquePlanLocalUrbanismeDisponibilite && !rapport.isSectionRisquesHidden),\r\n },\r\n urbanistiqueDateApprobation: {\r\n required: requiredIf((rapport) => rapport.urbanistiquePlanLocalUrbanismeDisponibilite),\r\n },\r\n urbanistiqueCommentaire: {\r\n customRequired(value) {\r\n return !this.rapport.isSectionRisquesHidden &&\r\n isContratTypePrestationNotCertificatExpertise(this.mission.prestationExpertise.contratTypePrestationId) &&\r\n requireIfVersion(this.rapport.version, 3.0)\r\n ? helpers.req(value)\r\n : true;\r\n },\r\n },\r\n etudeMarcheAvisExpert: {\r\n required,\r\n },\r\n etudeMarcheElementsComparaisonsLocations: {\r\n required: requiredIf(\r\n (rapport) => !rapport.etudeMarcheElementsComparaisonsVentes || rapport.etudeMarcheElementsComparaisonsVentes.length === 0\r\n ),\r\n $each: {\r\n typeDeSourceId: {\r\n required,\r\n },\r\n dateTransaction: {\r\n required: requiredIf((elementComparaison) => isElementComparaisonTransaction(elementComparaison)),\r\n },\r\n description: {\r\n required,\r\n },\r\n surface: {\r\n required,\r\n minValue: minValue(1),\r\n },\r\n prixOuLoyer: {\r\n required,\r\n minValue: minValue(1),\r\n },\r\n },\r\n },\r\n etudeMarcheElementsComparaisonsVentes: {\r\n required: requiredIf(\r\n (rapport) => !rapport.etudeMarcheElementsComparaisonsLocations || rapport.etudeMarcheElementsComparaisonsLocations.length === 0\r\n ),\r\n $each: {\r\n typeDeSourceId: {\r\n required,\r\n },\r\n dateTransaction: {\r\n required: requiredIf((elementComparaison) => isElementComparaisonTransaction(elementComparaison)),\r\n },\r\n description: {\r\n required,\r\n },\r\n surface: {\r\n required,\r\n minValue: minValue(1),\r\n },\r\n prixOuLoyer: {\r\n required,\r\n minValue: minValue(1),\r\n },\r\n },\r\n },\r\n etudeMarcheForces: {\r\n required,\r\n $each: {\r\n value: { required },\r\n },\r\n },\r\n etudeMarcheFaiblesses: {\r\n required,\r\n $each: {\r\n value: { required },\r\n },\r\n },\r\n etudeMarcheOpportunites: {\r\n required: requiredIf((rapport) => requireIfVersion(rapport.version, 3.3) && rapport.isRapport),\r\n $each: {\r\n value: {\r\n required: requiredIf((rapport) => requireIfVersion(rapport.version, 3.3) && rapport.isRapport),\r\n },\r\n },\r\n },\r\n etudeMarcheMenaces: {\r\n required: requiredIf((rapport) => requireIfVersion(rapport.version, 3.3) && rapport.isRapport),\r\n $each: {\r\n value: {\r\n required: requiredIf((rapport) => requireIfVersion(rapport.version, 3.3) && rapport.isRapport),\r\n },\r\n },\r\n },\r\n\r\n etudeMarcheSectorielle: {\r\n required: requiredIf((rapport) => requireIfVersion(rapport.version, 3.0)),\r\n },\r\n caracteristiquesAnneeConstruction: {\r\n customRequired(value) {\r\n return !isTypeDeBienTerrain(this.mission.prestationExpertise, this.businessEntries) ? helpers.req(value) : true;\r\n },\r\n },\r\n caracteristiquesMitoyennete: {\r\n customRequired(value) {\r\n return isTypeDeBienMaison(this.mission.prestationExpertise, this.businessEntries) ? helpers.req(value) : true;\r\n },\r\n },\r\n caracteristiquesMitoyenneteCoteId: {\r\n required: requiredIf('caracteristiquesMitoyennete'),\r\n },\r\n caracteristiquesGrosOeuvres: {\r\n customRequired(value) {\r\n return !isTypeDeBienTerrain(this.mission.prestationExpertise, this.businessEntries) ? helpers.req(value) : true;\r\n },\r\n minLength: minLength(1),\r\n $each: {\r\n businessEntrySelectedId: {\r\n required,\r\n },\r\n rapportExpertiseId: {\r\n required,\r\n },\r\n },\r\n },\r\n caracteristiquesMenuiseries: {\r\n customRequired(value) {\r\n return !isTypeDeBienTerrain(this.mission.prestationExpertise, this.businessEntries) ? helpers.req(value) : true;\r\n },\r\n minLength: minLength(1),\r\n $each: {\r\n businessEntrySelectedId: {\r\n required,\r\n },\r\n businessEntryQualificationId: {\r\n required,\r\n },\r\n rapportExpertiseId: {\r\n required,\r\n },\r\n },\r\n },\r\n caracteristiquesToitures: {\r\n customRequired(value) {\r\n return !isTypeDeBienTerrain(this.mission.prestationExpertise, this.businessEntries) ? helpers.req(value) : true;\r\n },\r\n minLength: minLength(1),\r\n $each: {\r\n businessEntrySelectedId: {\r\n required,\r\n },\r\n businessEntryQualificationId: {\r\n required,\r\n },\r\n rapportExpertiseId: {\r\n required,\r\n },\r\n },\r\n },\r\n caracteristiquesFacades: {\r\n customRequired(value) {\r\n return !isTypeDeBienTerrain(this.mission.prestationExpertise, this.businessEntries) ? helpers.req(value) : true;\r\n },\r\n minLength: minLength(1),\r\n $each: {\r\n businessEntrySelectedId: {\r\n required,\r\n },\r\n businessEntryQualificationId: {\r\n required,\r\n },\r\n rapportExpertiseId: {\r\n required,\r\n },\r\n },\r\n },\r\n caracteristiqueAssainissementId: {\r\n customRequired(value) {\r\n return isTypeDeBienMaison(this.mission.prestationExpertise, this.businessEntries) ? helpers.req(value) : true;\r\n },\r\n },\r\n caracteristiquesDescription: {\r\n customRequired(value) {\r\n return isContratTypePrestationNotCertificatExpertise(this.mission.prestationExpertise.contratTypePrestationId) &&\r\n requireIfVersion(this.rapport.version, 3.0)\r\n ? helpers.req(value)\r\n : true;\r\n },\r\n },\r\n caracteristiquesDPEId: {\r\n required: requiredIf((rapport) => {\r\n return isBusinessEntryDPEValid(rapport.annexeEnvironnements) && isRapportVersionGreaterOrEqualsTo(rapport, 3.1);\r\n }),\r\n },\r\n distributionInterieureEtages: {\r\n customRequired(value) {\r\n return !isTypeDeBienTerrain(this.mission.prestationExpertise, this.businessEntries) &&\r\n (isContratTypeVisiteInterieurEtExterieur(this.mission.prestationExpertise.contratTypeVisiteId) ||\r\n isContratTypeVisiteSurPieces(this.mission.prestationExpertise.contratTypeVisiteId)) &&\r\n !isSourceDesSurfacesActeNotarie(this.mission.prestationExpertise.particuliereSourceDesSurfacesId)\r\n ? helpers.req(value)\r\n : true;\r\n },\r\n $each: {\r\n typeBusinessItemId: { required },\r\n customLabel: {\r\n required: requiredIfTrueForParentVm(isDistributionInterieureEtageTypeAutre),\r\n },\r\n distributionInterieureSurfaces: {\r\n required,\r\n minLength: minLength(1),\r\n $each: {\r\n typeBusinessItemId: { required },\r\n customLabel: {\r\n required: requiredIfTrueForParentVm(isDistributionInterieureSurfaceTypeAutre),\r\n },\r\n superficie: {\r\n required: requiredIfTrueForRapport((rapport) => !isSourceDesSurfacesActeNotarie(rapport.particuliereSourceDesSurfacesId)),\r\n },\r\n },\r\n },\r\n },\r\n },\r\n particuliereSourceDesSurfacesId: {\r\n customRequired(value) {\r\n return !isTypeDeBienTerrain(this.mission.prestationExpertise, this.businessEntries) &&\r\n (isContratTypeVisiteInterieurEtExterieur(this.mission.prestationExpertise.contratTypeVisiteId) ||\r\n isContratTypeVisiteSurPieces(this.mission.prestationExpertise.contratTypeVisiteId))\r\n ? helpers.req(value)\r\n : true;\r\n },\r\n },\r\n particuliereSurfaceTotaleHabitable: {\r\n customRequired(value) {\r\n return !isTypeDeBienTerrain(this.mission.prestationExpertise, this.businessEntries) &&\r\n (isContratTypeVisiteInterieurEtExterieur(this.mission.prestationExpertise.contratTypeVisiteId) ||\r\n isContratTypeVisiteSurPieces(this.mission.prestationExpertise.contratTypeVisiteId))\r\n ? helpers.req(value)\r\n : true;\r\n },\r\n },\r\n prestationsSurfaceAnnexes: {\r\n $each: {\r\n typeBusinessItemId: { required },\r\n customLabel: {\r\n required: requiredIfTrueForParentVm(isPrestationsSurfaceAnnexeTypeAutre),\r\n },\r\n superficie: {\r\n // pas d'obligation - nécessaire pour simplifier la validation\r\n },\r\n },\r\n },\r\n prestationsDependances: {\r\n $each: {\r\n typeBusinessItemId: { required },\r\n customLabel: {\r\n required: requiredIfTrueForParentVm(isPrestationsDependanceTypeAutre),\r\n },\r\n superficie: {\r\n // pas d'obligation - nécessaire pour simplifier la validation\r\n },\r\n },\r\n },\r\n prestationsAgrements: {\r\n // Pas d'obligation a priori\r\n },\r\n prestationsAvisExpert: {\r\n customRequired(value) {\r\n return !isTypeDeBienTerrain(this.mission.prestationExpertise, this.businessEntries) &&\r\n (isContratTypeVisiteInterieurEtExterieur(this.mission.prestationExpertise.contratTypeVisiteId) ||\r\n isContratTypeVisiteSurPieces(this.mission.prestationExpertise.contratTypeVisiteId))\r\n ? helpers.req(value)\r\n : true;\r\n },\r\n },\r\n prestationsCuisines: {\r\n $each: {\r\n label: { required },\r\n equipementId: { required },\r\n gammeId: { required },\r\n styleId: { required },\r\n etatId: { required },\r\n rapportExpertiseId: { required },\r\n photoId: { requiredPhotos },\r\n },\r\n },\r\n prestationsEquipements: {\r\n // devrait plutôt être facultatif\r\n // required: requiredIf(rapport =>\r\n // isContratTypeVisiteInterieurEtExterieur(rapport.contratTypeVisiteId)\r\n // )\r\n },\r\n prestationAvecChauffage: {\r\n customRequired(value) {\r\n return !isTypeDeBienTerrain(this.mission.prestationExpertise, this.businessEntries) &&\r\n (isContratTypeVisiteInterieurEtExterieur(this.mission.prestationExpertise.contratTypeVisiteId) ||\r\n isContratTypeVisiteSurPieces(this.mission.prestationExpertise.contratTypeVisiteId))\r\n ? helpers.req(value)\r\n : true;\r\n },\r\n },\r\n prestationsModesChauffages: {\r\n customRequired(value) {\r\n return !isTypeDeBienTerrain(this.mission.prestationExpertise, this.businessEntries) &&\r\n (isContratTypeVisiteInterieurEtExterieur(this.mission.prestationExpertise.contratTypeVisiteId) ||\r\n isContratTypeVisiteSurPieces(this.mission.prestationExpertise.contratTypeVisiteId)) &&\r\n this.mission.prestationExpertiseprestationAvecChauffage\r\n ? helpers.req(value)\r\n : true;\r\n },\r\n },\r\n prestationsMurs: {\r\n customRequired(value) {\r\n return !isTypeDeBienTerrain(this.mission.prestationExpertise, this.businessEntries) &&\r\n (isContratTypeVisiteInterieurEtExterieur(this.mission.prestationExpertise.contratTypeVisiteId) ||\r\n isContratTypeVisiteSurPieces(this.mission.prestationExpertise.contratTypeVisiteId))\r\n ? helpers.req(value)\r\n : true;\r\n },\r\n },\r\n prestationsPlafonds: {\r\n customRequired(value) {\r\n return !isTypeDeBienTerrain(this.mission.prestationExpertise, this.businessEntries) &&\r\n (isContratTypeVisiteInterieurEtExterieur(this.mission.prestationExpertise.contratTypeVisiteId) ||\r\n isContratTypeVisiteSurPieces(this.mission.prestationExpertise.contratTypeVisiteId)) &&\r\n requireIfVersion(this.mission.prestationExpertise.version, 3.3)\r\n ? helpers.req(value)\r\n : true;\r\n },\r\n },\r\n prestationsSallesDeBains: {\r\n $each: {\r\n label: { required },\r\n gammeId: { required },\r\n etatId: { required },\r\n rapportExpertiseId: { required },\r\n photoId: { requiredPhotos },\r\n },\r\n },\r\n prestationsSols: {\r\n customRequired(value) {\r\n return !isTypeDeBienTerrain(this.mission.prestationExpertise, this.businessEntries) &&\r\n (isContratTypeVisiteInterieurEtExterieur(this.mission.prestationExpertise.contratTypeVisiteId) ||\r\n isContratTypeVisiteSurPieces(this.mission.prestationExpertise.contratTypeVisiteId))\r\n ? helpers.req(value)\r\n : true;\r\n },\r\n },\r\n prestationsPartiesCommunesId: {\r\n customRequired(value) {\r\n return isTypeDeBienAppartement(this.mission.prestationExpertise, this.businessEntries) &&\r\n (isContratTypeVisiteInterieurEtExterieur(this.mission.prestationExpertise.contratTypeVisiteId) ||\r\n isContratTypeVisiteSurPieces(this.mission.prestationExpertise.contratTypeVisiteId))\r\n ? helpers.req(value)\r\n : true;\r\n },\r\n },\r\n prestationsInstallationElectriqueId: {\r\n customRequired(value) {\r\n return !isTypeDeBienTerrain(this.mission.prestationExpertise, this.businessEntries) &&\r\n (isContratTypeVisiteInterieurEtExterieur(this.mission.prestationExpertise.contratTypeVisiteId) ||\r\n isContratTypeVisiteSurPieces(this.mission.prestationExpertise.contratTypeVisiteId)) &&\r\n requireIfVersion(this.mission.prestationExpertise.version, 3.3)\r\n ? helpers.req(value)\r\n : true;\r\n },\r\n },\r\n prestationsIsolationId: {\r\n customRequired(value) {\r\n return !isTypeDeBienTerrain(this.mission.prestationExpertise, this.businessEntries) &&\r\n (isContratTypeVisiteInterieurEtExterieur(this.mission.prestationExpertise.contratTypeVisiteId) ||\r\n isContratTypeVisiteSurPieces(this.mission.prestationExpertise.contratTypeVisiteId)) &&\r\n requireIfVersion(this.mission.prestationExpertise.version, 3.3)\r\n ? helpers.req(value)\r\n : true;\r\n },\r\n },\r\n prestationsDescription: {\r\n customRequired(value) {\r\n return isContratTypePrestationNotCertificatExpertise(this.mission.prestationExpertise.contratTypePrestationId) &&\r\n requireIfVersion(this.mission.prestationExpertise.version, 3.0) &&\r\n !isTypeDeBienTerrain(this.mission.prestationExpertise, this.businessEntries) &&\r\n (isContratTypeVisiteInterieurEtExterieur(this.mission.prestationExpertise.contratTypeVisiteId) ||\r\n isContratTypeVisiteSurPieces(this.mission.prestationExpertise.contratTypeVisiteId))\r\n ? helpers.req(value)\r\n : true;\r\n },\r\n },\r\n evaluationMethodeRetenueId: {\r\n required,\r\n },\r\n evaluationAvisDeLExpert: {\r\n required,\r\n },\r\n evaluationReductionMetriqueTransactionRetenue: {\r\n required,\r\n },\r\n evaluationReductionMetriqueLocationRetenue: {\r\n required: requiredIf((rapport) => isEvaluationMethodeRetenueComparaisonEtRendement(rapport.evaluationMethodeRetenueId)),\r\n },\r\n evaluationTauxRendementRetenu: {\r\n required: requiredIf((rapport) => isEvaluationMethodeRetenueComparaisonEtRendement(rapport.evaluationMethodeRetenueId)),\r\n },\r\n evaluationSurfaceOuSuperficie: {\r\n required,\r\n },\r\n evaluationSurfaceOuSuperficieApresTravaux: {\r\n required: requiredIf((r) => hasValeurApresTravaux(r)),\r\n },\r\n evaluationReductionMetriqueApresTravaux: {\r\n required: requiredIf((r) => hasValeurApresTravaux(r)),\r\n },\r\n evaluationValeurLocativeMensuelle: {\r\n required: requiredIf((r) => hasValeurLocative(r)),\r\n },\r\n evaluationValeurLocativeChargesAnnuelles: {\r\n required: requiredIf((r) => hasValeurLocative(r)),\r\n },\r\n isOkReno: {\r\n customRequired(value) {\r\n return hasScenarioRenovation(this.mission);\r\n },\r\n },\r\n adequationMarcheDemandeId: {\r\n required: requiredIf((rapport) => requireIfRapportExpertise(rapport) && requireIfVersion(rapport.version, 3.3)),\r\n },\r\n conclusionValeurVenale: {\r\n required,\r\n },\r\n conclusionValeurVenaleArrondie: {\r\n customRequired(value) {\r\n return !hasFourchetteValeur(this.mission) ? helpers.req(value) : true;\r\n },\r\n },\r\n conclusionValeurVenaleFourchetteBasseArrondie: {\r\n customRequired(value) {\r\n return hasFourchetteValeur(this.mission) ? helpers.req(value) : true;\r\n },\r\n },\r\n conclusionValeurVenaleFourchetteHauteArrondie: {\r\n customRequired(value) {\r\n return hasFourchetteValeur(this.mission) ? helpers.req(value) : true;\r\n },\r\n },\r\n conclusionAppreciationGeneraleNiveauLiquidite: {\r\n required: requiredIf((rapport) => !requireIfVersion(rapport.version, 3.3)),\r\n },\r\n conclusionValeurVenaleApresTravaux: {\r\n customRequired(value) {\r\n return hasValeurApresTravaux(this.mission) ? helpers.req(value) : true;\r\n },\r\n },\r\n conclusionValeurVenaleApresTravauxArrondie: {\r\n customRequired(value) {\r\n return hasValeurApresTravaux(this.mission) && !hasFourchetteValeur(this.mission) ? helpers.req(value) : true;\r\n },\r\n },\r\n conclusionValeurVenaleApresTravauxFourchetteBasseArrondie: {\r\n customRequired(value) {\r\n return hasValeurApresTravaux(this.mission) && hasFourchetteValeur(this.mission) ? helpers.req(value) : true;\r\n },\r\n },\r\n conclusionValeurVenaleApresTravauxFourchetteHauteArrondie: {\r\n customRequired(value) {\r\n return hasValeurApresTravaux(this.mission) && hasFourchetteValeur(this.mission) ? helpers.req(value) : true;\r\n },\r\n },\r\n conclusionValeurLocativeAnnuelle: {\r\n customRequired(value) {\r\n return hasValeurLocative(this.mission) ? helpers.req(value) : true;\r\n },\r\n },\r\n conclusionValeurLocativeAnnuelleArrondie: {\r\n customRequired(value) {\r\n return hasValeurLocative(this.mission) && !hasFourchetteValeur(this.mission) ? helpers.req(value) : true;\r\n },\r\n },\r\n conclusionValeurLocativeAnnuelleFourchetteBasseArrondie: {\r\n customRequired(value) {\r\n return hasValeurLocative(this.mission) && hasFourchetteValeur(this.mission) ? helpers.req(value) : true;\r\n },\r\n },\r\n conclusionValeurLocativeAnnuelleFourchetteHauteArrondie: {\r\n customRequired(value) {\r\n return hasValeurLocative(this.mission) && hasFourchetteValeur(this.mission) ? helpers.req(value) : true;\r\n },\r\n },\r\n conclusionAbattementVenteForcee: {\r\n customRequired(value) {\r\n return hasValeurVenteForcee(this.mission) ? helpers.req(value) : true;\r\n },\r\n },\r\n conclusionValeurVenteForcee: {\r\n customRequired(value) {\r\n return hasValeurVenteForcee(this.mission) ? helpers.req(value) : true;\r\n },\r\n },\r\n conclusionValeurVenteForceeArrondie: {\r\n customRequired(value) {\r\n return hasValeurVenteForcee(this.mission) && !hasFourchetteValeur(this.mission) ? helpers.req(value) : true;\r\n },\r\n },\r\n conclusionValeurVenteForceeFourchetteBasseArrondie: {\r\n customRequired(value) {\r\n return hasValeurVenteForcee(this.mission) && hasFourchetteValeur(this.mission) ? helpers.req(value) : true;\r\n },\r\n },\r\n conclusionValeurVenteForceeFourchetteHauteArrondie: {\r\n customRequired(value) {\r\n return hasValeurVenteForcee(this.mission) && hasFourchetteValeur(this.mission) ? helpers.req(value) : true;\r\n },\r\n },\r\n conclusionAbattementVenteRapide: {\r\n customRequired(value) {\r\n return hasValeurVenteRapide(this.mission) ? helpers.req(value) : true;\r\n },\r\n },\r\n conclusionValeurVenteRapide: {\r\n customRequired(value) {\r\n return hasValeurVenteRapide(this.mission) ? helpers.req(value) : true;\r\n },\r\n },\r\n conclusionValeurVenteRapideArrondie: {\r\n customRequired(value) {\r\n return hasValeurVenteRapide(this.mission) && !hasFourchetteValeur(this.mission) ? helpers.req(value) : true;\r\n },\r\n },\r\n conclusionValeurVenteRapideFourchetteBasseArrondie: {\r\n customRequired(value) {\r\n return hasValeurVenteRapide(this.mission) && hasFourchetteValeur(this.mission) ? helpers.req(value) : true;\r\n },\r\n },\r\n conclusionValeurVenteRapideFourchetteHauteArrondie: {\r\n customRequired(value) {\r\n return hasValeurVenteRapide(this.mission) && hasFourchetteValeur(this.mission) ? helpers.req(value) : true;\r\n },\r\n },\r\n conclusionVariationValeur: {\r\n customRequired(value) {\r\n return hasOptionFaciliteDeNegociationESFI(this.mission) ? helpers.req(value) : true;\r\n },\r\n },\r\n conclusionNiveauLiquiditeESFIId: {\r\n // customRequired(value) {\r\n // const rapport = this.mission.prestationExpertise;\r\n // return !requireIfVersion(rapport.version, 3.3) ? true : hasOptionFaciliteDeNegociationESFI(this.mission) && helpers.req(value);\r\n // },\r\n },\r\n conclusionDelaiDeVenteMoyenId: {\r\n required,\r\n },\r\n conclusionDateValeur: {\r\n required: requiredIf((rapport) => requireIfVersion(rapport.version, 3.0)),\r\n },\r\n conclusionObservationValeur: {\r\n required: requiredIf((rapport) => requireIfVersion(rapport.version, 3.2)),\r\n },\r\n piecesJointesRapport: {\r\n PlanCadastre: {\r\n required,\r\n },\r\n SectionTerrain: {\r\n requiredPhotos,\r\n },\r\n SectionGrosOeuvre: {\r\n customRequired(value) {\r\n return !isTypeDeBienTerrain(this.mission.prestationExpertise, this.businessEntries) &&\r\n this.mission.prestationExpertise.proprietes.photosObligatoires\r\n ? helpers.req(value)\r\n : true;\r\n },\r\n },\r\n SectionSurface: {\r\n customRequired(value) {\r\n return !isTypeDeBienTerrain(this.mission.prestationExpertise, this.businessEntries) &&\r\n (isContratTypeVisiteInterieurEtExterieur(this.mission.prestationExpertise.contratTypeVisiteId) ||\r\n isContratTypeVisiteSurPieces(this.mission.prestationExpertise.contratTypeVisiteId)) &&\r\n this.mission.prestationExpertise.proprietes.photosObligatoires\r\n ? helpers.req(value)\r\n : true;\r\n },\r\n },\r\n },\r\n juridiqueDocumentConsultes: {\r\n customRequired(value) {\r\n return isNotCertificatExpertise(this.mission.prestationExpertise) && areBusinessEntryRelationsValid(value)\r\n ? helpers.req(value)\r\n : true;\r\n },\r\n $each: {\r\n businessEntrySelectedId: {\r\n required: requiredIf((rapport) => isNotCertificatExpertise(rapport)),\r\n },\r\n businessEntryQualificationId: {\r\n required: requiredIf((rapport) => isNotCertificatExpertise(rapport)),\r\n },\r\n rapportExpertiseId: {\r\n required: requiredIf((rapport) => isNotCertificatExpertise(rapport)),\r\n },\r\n },\r\n },\r\n annexeConstructions: {\r\n customRequired(value) {\r\n return areBusinessEntryRelationsValid(value);\r\n },\r\n $each: {\r\n businessEntrySelectedId: {\r\n required,\r\n },\r\n businessEntryQualificationId: {\r\n required,\r\n },\r\n rapportExpertiseId: {\r\n required,\r\n },\r\n },\r\n },\r\n annexeSurfaces: {\r\n customRequired(value) {\r\n return areBusinessEntryRelationsValid(value);\r\n },\r\n $each: {\r\n businessEntrySelectedId: {\r\n required,\r\n },\r\n businessEntryQualificationId: {\r\n required,\r\n },\r\n rapportExpertiseId: {\r\n required,\r\n },\r\n },\r\n },\r\n annexeSituationsLocatives: {\r\n customRequired(value) {\r\n return requiredIf(areBusinessEntryRelationsValid(value)) ? true : false;\r\n },\r\n $each: {\r\n businessEntrySelectedId: {\r\n required,\r\n },\r\n businessEntryQualificationId: {\r\n required,\r\n },\r\n rapportExpertiseId: {\r\n required,\r\n },\r\n },\r\n },\r\n annexeTravaux: {\r\n customRequired(value) {\r\n return requiredIf(areBusinessEntryRelationsValid(value)) ? true : false;\r\n },\r\n $each: {\r\n businessEntrySelectedId: {\r\n required,\r\n },\r\n businessEntryQualificationId: {\r\n required,\r\n },\r\n rapportExpertiseId: {\r\n required,\r\n },\r\n },\r\n },\r\n annexeEnvironnements: {\r\n customRequired(value) {\r\n return requiredIf(areBusinessEntryRelationsValid(value)) ? true : false;\r\n },\r\n $each: {\r\n businessEntrySelectedId: {\r\n required,\r\n },\r\n businessEntryQualificationId: {\r\n required,\r\n },\r\n rapportExpertiseId: {\r\n required,\r\n },\r\n },\r\n },\r\n },\r\n contratGroup: [\r\n 'mission.prestationExpertise.contratVisitePresenceContact',\r\n 'mission.prestationExpertise.contratVisitePresenceQualificatifId',\r\n 'mission.prestationExpertise.contratVisitePresenceCiviliteId',\r\n 'mission.prestationExpertise.contratTypeVisiteId',\r\n 'mission.prestationExpertise.contratCategorieDActifId',\r\n 'mission.prestationExpertise.contratTypeBienId',\r\n 'mission.prestationExpertise.contratConditionOccupationId',\r\n 'mission.prestationExpertise.contratHypotheseEvaluationId',\r\n 'mission.prestationExpertise.contratHypotheseEvaluationAutre',\r\n 'mission.dateVisite',\r\n 'mission.prestationExpertise.nbKmEffectues',\r\n ],\r\n situationGeographiqueGroup: [\r\n 'mission.prestationExpertise.geographiqueSituationGenerale',\r\n 'mission.prestationExpertise.geographiqueSituationParticuliere',\r\n 'mission.prestationExpertise.geographiqueVueAerienne',\r\n 'mission.prestationExpertise.geographiqueTypeHabitatId',\r\n 'mission.prestationExpertise.geographiqueAvisExpert',\r\n 'mission.prestationExpertise.situationGeographiqueParticuliereId',\r\n ],\r\n descriptionGeneraleGroup: [\r\n 'mission.prestationExpertise.referenceCadastralesRapport',\r\n 'mission.prestationExpertise.piecesJointesRapport.PlanCadastre',\r\n 'mission.prestationExpertise.piecesJointesRapport.SectionTerrain',\r\n 'mission.prestationExpertise.terrainAccesEtatId',\r\n 'mission.prestationExpertise.terrainClotureId',\r\n 'mission.prestationExpertise.terrainEntretienId',\r\n 'mission.prestationExpertise.terrainFormeId',\r\n 'mission.prestationExpertise.terrainInclinaisonId',\r\n 'mission.prestationExpertise.terrainSuperficie',\r\n 'mission.prestationExpertise.terrainServitudes',\r\n 'mission.prestationExpertise.terrainPrivatif',\r\n 'mission.prestationExpertise.terrainPrivatifSuperficie',\r\n 'mission.prestationExpertise.terrainPrivatifClotureId',\r\n 'mission.prestationExpertise.terrainPrivatifEntretienId',\r\n 'mission.prestationExpertise.terrainAvisExpert',\r\n ],\r\n descriptionParticuliereGroup: [\r\n 'mission.prestationExpertise.caracteristiquesAnneeConstruction',\r\n 'mission.prestationExpertise.caracteristiquesMitoyennete',\r\n 'mission.prestationExpertise.caracteristiquesMitoyenneteCoteId',\r\n 'mission.prestationExpertise.caracteristiquesGrosOeuvres',\r\n 'mission.prestationExpertise.caracteristiquesMenuiseries',\r\n 'mission.prestationExpertise.caracteristiquesToitures',\r\n 'mission.prestationExpertise.caracteristiquesFacades',\r\n 'mission.prestationExpertise.caracteristiqueAssainissementId',\r\n 'mission.prestationExpertise.caracteristiquesDescription',\r\n 'mission.prestationExpertise.caracteristiquesDPEId',\r\n 'mission.prestationExpertise.piecesJointesRapport.SectionGrosOeuvre',\r\n 'mission.prestationExpertise.piecesJointesRapport.SectionSurface',\r\n 'mission.prestationExpertise.distributionInterieureEtages',\r\n 'mission.prestationExpertise.prestationsMurs',\r\n 'mission.prestationExpertise.prestationsSols',\r\n 'mission.prestationExpertise.prestationAvecChauffage',\r\n 'mission.prestationExpertise.prestationsModesChauffages',\r\n 'mission.prestationExpertise.prestationsEquipements',\r\n 'mission.prestationExpertise.prestationsAgrements',\r\n 'mission.prestationExpertise.prestationsAvisExpert',\r\n 'mission.prestationExpertise.prestationsCuisines',\r\n 'mission.prestationExpertise.prestationsSallesDeBains',\r\n 'mission.prestationExpertise.prestationsSurfaceAnnexes',\r\n 'mission.prestationExpertise.prestationsDependances',\r\n 'mission.prestationExpertise.prestationsPartiesCommunesId',\r\n 'mission.prestationExpertise.prestationsInstallationElectriqueId',\r\n 'mission.prestationExpertise.prestationsDescription',\r\n 'mission.prestationExpertise.particuliereSourceDesSurfacesId',\r\n 'mission.prestationExpertise.particuliereSurfaceTotaleHabitable',\r\n 'mission.prestationExpertise.prestationsPlafonds',\r\n 'mission.prestationExpertise.prestationsIsolationId',\r\n ],\r\n situationFiscaleGroup: [\r\n 'mission.prestationExpertise.fiscaleTaxeFonciere',\r\n 'mission.prestationExpertise.fiscaleSourceTaxeFonciereId',\r\n 'mission.prestationExpertise.fiscaleMontantTaxeFonciere',\r\n ],\r\n situationLocativeGroup: [\r\n 'mission.prestationExpertise.locativeDateBail',\r\n 'mission.prestationExpertise.locativeNatureBailId',\r\n 'mission.prestationExpertise.locativeLoyerMensuelBrut',\r\n 'mission.prestationExpertise.locativeLoyerAnnuelBrut',\r\n 'mission.prestationExpertise.locativeChargesNonRecuperables',\r\n 'mission.prestationExpertise.locativeLoyerAnnuelNet',\r\n 'mission.prestationExpertise.locativeCommentaire',\r\n ],\r\n situationJuridiqueGroup: [\r\n 'mission.prestationExpertise.juridiqueAffectationJuridiqueDesLocaux',\r\n 'mission.prestationExpertise.juridiqueDateAcquisition',\r\n 'mission.prestationExpertise.juridiqueModesDeDetentions',\r\n 'mission.prestationExpertise.juridiqueNomDuProprietaire',\r\n 'mission.prestationExpertise.juridiqueDocumentConsultes',\r\n 'mission.prestationExpertise.juridiqueDesignation',\r\n 'mission.prestationExpertise.juridiquePrixAcquisition',\r\n ],\r\n situationUrbanistiqueGroup: [\r\n 'mission.prestationExpertise.urbanistiqueCaviteSouterraine',\r\n 'mission.prestationExpertise.urbanistiqueCaviteSouterraines',\r\n 'mission.prestationExpertise.urbanistiqueGonflementDesSolsArgileux',\r\n 'mission.prestationExpertise.urbanistiqueGonflementDesSolsArgileuxSelectionneId',\r\n 'mission.prestationExpertise.urbanistiqueInondable',\r\n 'mission.prestationExpertise.urbanistiqueInondationId',\r\n 'mission.prestationExpertise.urbanistiqueInstallationIndustrielle',\r\n 'mission.prestationExpertise.urbanistiqueInstallationIndustrielles',\r\n 'mission.prestationExpertise.urbanistiqueMouvementDeTerrain',\r\n 'mission.prestationExpertise.urbanistiqueMouvementDeTerrains',\r\n 'mission.prestationExpertise.urbanistiqueSeisme',\r\n 'mission.prestationExpertise.urbanistiqueSeismeSelectionneId',\r\n 'mission.prestationExpertise.urbanistiquePlanLocalUrbanismeDisponibilite',\r\n 'mission.prestationExpertise.urbanistiquePlanLocalUrbanismeSelectionneId',\r\n 'mission.prestationExpertise.urbanistiqueZone',\r\n 'mission.prestationExpertise.urbanistiqueZoneCommentaire',\r\n 'mission.prestationExpertise.urbanistiqueCommentaire',\r\n ],\r\n etudeMarcheGroup: [\r\n 'mission.prestationExpertise.etudeMarcheAvisExpert',\r\n 'mission.prestationExpertise.etudeMarcheElementsComparaisonsLocations',\r\n 'mission.prestationExpertise.etudeMarcheElementsComparaisonsVentes',\r\n 'mission.prestationExpertise.etudeMarcheForces',\r\n 'mission.prestationExpertise.etudeMarcheFaiblesses',\r\n 'mission.prestationExpertise.etudeMarcheOpportunites',\r\n 'mission.prestationExpertise.etudeMarcheMenaces',\r\n 'mission.prestationExpertise.etudeMarcheSectorielle',\r\n ],\r\n evaluationGroup: [\r\n 'mission.prestationExpertise.evaluationMethodeRetenueId',\r\n 'mission.prestationExpertise.evaluationAvisDeLExpert',\r\n 'mission.prestationExpertise.evaluationReductionMetriqueTransactionRetenue',\r\n 'mission.prestationExpertise.evaluationReductionMetriqueLocationRetenue',\r\n 'mission.prestationExpertise.evaluationTauxRendementRetenu',\r\n 'mission.prestationExpertise.evaluationSurfaceOuSuperficie',\r\n 'mission.prestationExpertise.evaluationSurfaceOuSuperficieApresTravaux',\r\n 'mission.prestationExpertise.evaluationReductionMetriqueApresTravaux',\r\n 'mission.prestationExpertise.evaluationValeurLocativeMensuelle',\r\n 'mission.prestationExpertise.evaluationValeurLocativeChargesAnnuelles',\r\n 'mission.prestationExpertise.evaluationReductionMetriqueApresTravaux',\r\n 'mission.prestationExpertise.isOkReno',\r\n ],\r\n conclusionGroup: [\r\n 'mission.prestationExpertise.conclusionValeurVenaleArrondie',\r\n 'mission.prestationExpertise.conclusionValeurVenale',\r\n 'mission.prestationExpertise.conclusionValeurVenaleFourchetteBasseArrondie',\r\n 'mission.prestationExpertise.conclusionValeurVenaleFourchetteHauteArrondie',\r\n 'mission.prestationExpertise.conclusionAppreciationGeneraleNiveauLiquidite',\r\n 'mission.prestationExpertise.conclusionValeurVenaleApresTravauxArrondie',\r\n 'mission.prestationExpertise.conclusionValeurVenaleApresTravaux',\r\n 'mission.prestationExpertise.conclusionValeurVenaleApresTravauxFourchetteBasseArrondie',\r\n 'mission.prestationExpertise.conclusionValeurVenaleApresTravauxFourchetteHauteArrondie',\r\n 'mission.prestationExpertise.conclusionValeurLocativeAnnuelleArrondie',\r\n 'mission.prestationExpertise.conclusionValeurLocativeAnnuelle',\r\n 'mission.prestationExpertise.conclusionValeurLocativeAnnuelleFourchetteBasseArrondie',\r\n 'mission.prestationExpertise.conclusionValeurLocativeAnnuelleFourchetteHauteArrondie',\r\n 'mission.prestationExpertise.conclusionAbattementVenteForcee',\r\n 'mission.prestationExpertise.conclusionValeurVenteForcee',\r\n 'mission.prestationExpertise.conclusionValeurVenteForceeArrondie',\r\n 'mission.prestationExpertise.conclusionValeurVenteForceeFourchetteBasseArrondie',\r\n 'mission.prestationExpertise.conclusionValeurVenteForceeFourchetteHauteArrondie',\r\n 'mission.prestationExpertise.conclusionAbattementVenteRapide',\r\n 'mission.prestationExpertise.conclusionValeurVenteRapide',\r\n 'mission.prestationExpertise.conclusionValeurVenteRapideArrondie',\r\n 'mission.prestationExpertise.conclusionValeurVenteRapideFourchetteBasseArrondie',\r\n 'mission.prestationExpertise.conclusionVariationValeur',\r\n 'mission.prestationExpertise.conclusionNiveauLiquiditeESFIId',\r\n 'mission.prestationExpertise.conclusionDelaiDeVenteMoyenId',\r\n 'mission.prestationExpertise.conclusionDateValeur',\r\n 'mission.prestationExpertise.annexeConstructions',\r\n 'mission.prestationExpertise.annexeSurfaces',\r\n 'mission.prestationExpertise.annexeSituationsLocatives',\r\n 'mission.prestationExpertise.annexeTravaux',\r\n 'mission.prestationExpertise.annexeEnvironnements',\r\n 'mission.prestationExpertise.adequationMarcheDemandeId',\r\n ],\r\n },\r\n};\r\n\r\nexport { rapportExpertiseValidation };\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"slideIn\"}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isVisible),expression:\"isVisible\"}],staticClass:\"slideout\"},[_c('div',{staticClass:\"mb-3 d-flex\"},[_c('h2',{staticClass:\"m-auto\"},[_vm._v(\"Liste des missions comparables\")]),_c('b-button',{staticClass:\"ml-2 mb-2\",attrs:{\"variant\":\"outline-dark\",\"pill\":\"\"},on:{\"click\":_vm.onCloseClick}},[_c('font-awesome-icon',{attrs:{\"icon\":\"times\",\"aria-label\":\"Fermer\"}})],1)],1),_c('b-table',{attrs:{\"items\":_vm.list,\"fields\":_vm.fields,\"small\":\"\",\"thead-class\":\"bg-primary text-white\",\"tbody-tr-class\":\"bg-light\"},scopedSlots:_vm._u([{key:\"cell(description)\",fn:function(data){return [_c('span',{domProps:{\"innerHTML\":_vm._s(data.value)}})]}},{key:\"cell(action)\",fn:function(data){return [_c('b-button',{staticClass:\"mr-2\",attrs:{\"size\":\"sm\",\"pill\":\"\",\"variant\":\"outline-primary\",\"aria-label\":'Consulter le rapport de la mission ' + data.item.reference},on:{\"click\":function($event){return _vm.onViewRapportClick(data.item.expertiseId)}}},[_c('font-awesome-icon',{attrs:{\"icon\":\"eye\"}})],1),_c('b-button',{attrs:{\"pill\":\"\",\"size\":\"sm\",\"variant\":\"primary\",\"aria-label\":'Ajouter cette mission ' + data.item.reference + ' aux éléments de comparaison de l\\'étude de marché'},on:{\"click\":function($event){return _vm.onAddComparableClick(data.item)}}},[_c('font-awesome-icon',{attrs:{\"icon\":\"plus\"}})],1)]}}])})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { MissionComparableDto } from '@/shared/dtos/mission-comparable.dto';\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\nimport store from '@/shared/store';\r\n\r\n@Component({\r\n name: 'PanelComparables',\r\n})\r\nexport default class PanelComparables extends Vue {\r\n @Prop({ default: false }) public isVisible: boolean;\r\n @Prop({ default: [] }) public comparables: MissionComparableDto[];\r\n\r\n public fields: any = [\r\n 'description',\r\n 'surface',\r\n 'prix',\r\n {\r\n key: 'dateRapport',\r\n label: 'Date',\r\n },\r\n {\r\n key: 'action',\r\n label: '',\r\n },\r\n ];\r\n\r\n //#region LIFE CYCLES\r\n public created(): void {\r\n document.addEventListener('keydown', this.onEscapeKeyPress);\r\n }\r\n\r\n public destroyed(): void {\r\n document.removeEventListener('keydown', this.onEscapeKeyPress);\r\n }\r\n //#endregion\r\n\r\n //#region COMPUTED\r\n\r\n get list(): any {\r\n return this.comparables;\r\n }\r\n //#endregion\r\n\r\n //#region WATCH\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n public onEscapeKeyPress(e: any): void {\r\n if (e.keyCode === 27) {\r\n this.onCloseClick();\r\n }\r\n }\r\n\r\n //#endregion\r\n\r\n public onCloseClick(): void {\r\n this.$emit('visibleChanged', false);\r\n }\r\n\r\n public onAddComparableClick(data: any): void {\r\n this.$emit('comparableSelected', data);\r\n }\r\n\r\n public onViewRapportClick(expertiseId: number): void {\r\n store.isLoading = true;\r\n Vue.prototype.$expertiseApiService\r\n .getRapportById(expertiseId)\r\n .then((response: any) => {\r\n let blob = new Blob([response.data], { type: 'application/pdf' });\r\n var blobUrl = URL.createObjectURL(blob);\r\n window.open(blobUrl, '_blank');\r\n })\r\n .finally(() => {\r\n store.isLoading = false;\r\n });\r\n }\r\n\r\n //#region FUNCTIONS\r\n\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./panel-comparables.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./panel-comparables.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./panel-comparables.vue?vue&type=template&id=294cee53&scoped=true&\"\nimport script from \"./panel-comparables.vue?vue&type=script&lang=ts&\"\nexport * from \"./panel-comparables.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./panel-comparables.vue?vue&type=style&index=0&id=294cee53&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 \"294cee53\",\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-modal',{attrs:{\"id\":\"mission-merge-modal\",\"title\":\"Mettre à jour les données de la mission\",\"no-close-on-esc\":\"\",\"hide-header-close\":\"\",\"no-close-on-backdrop\":\"\",\"no-fade\":\"\"},scopedSlots:_vm._u([{key:\"modal-footer\",fn:function(ref){\nvar cancel = ref.cancel;\nreturn [_c('b-button',{attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.onHandleAcceptMerge}},[_vm._v(\" Accepter \")]),_c('b-button',{attrs:{\"variant\":\"outline-secondary\"},on:{\"click\":function($event){return cancel()}}},[_vm._v(\" Refuser \")])]}}])},[_c('b-table',{attrs:{\"id\":\"merge-table\",\"responsive\":\"\",\"hover\":\"\",\"stacked\":_vm.isMobile,\"fields\":_vm.fields,\"items\":_vm.items}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport DeviceMixin from '@/mixins/device.mixin';\r\nimport { MergeDto } from '@/shared/dtos/merge.dto';\r\nimport { SubjectMessageTypeEnum } from '@/shared/enums/subject-message-type.enum';\r\nimport { SubjectMessage } from '@/shared/models/subject-message';\r\nimport { getNatureVisiteEnumName, getTypePrestationExpertiseEnumName } from '@/shared/utilities/enums.utility';\r\nimport { Component, Mixins, Vue } from 'vue-property-decorator';\r\n@Component({\r\n name: 'PrestationExpertiseMissionMerge',\r\n components: {},\r\n})\r\nexport default class PrestationExpertiseMissionMerge extends Mixins(DeviceMixin) {\r\n public items: MergeDto[] = [];\r\n\r\n public fields: any[] = [\r\n {\r\n key: 'label',\r\n label: 'Champ',\r\n },\r\n {\r\n key: 'oldValue',\r\n label: 'Ancienne valeur',\r\n formatter: (value: any, key: any, item: MergeDto) => {\r\n if (value === null || value === undefined) return '';\r\n\r\n switch (item.fieldName) {\r\n case 'TypePrestationExpertise':\r\n return getTypePrestationExpertiseEnumName(value);\r\n case 'NatureVisite':\r\n return getNatureVisiteEnumName(value);\r\n }\r\n\r\n if (value === true) return 'Oui';\r\n if (value === false) return 'Non';\r\n\r\n return value;\r\n },\r\n },\r\n {\r\n key: 'newValue',\r\n label: 'Nouvelle valeur',\r\n formatter: (value: any, key: any, item: MergeDto) => {\r\n if (value === null || value === undefined) return '';\r\n\r\n switch (item.fieldName) {\r\n case 'TypePrestationExpertise':\r\n return getTypePrestationExpertiseEnumName(value);\r\n case 'NatureVisite':\r\n return getNatureVisiteEnumName(value);\r\n }\r\n\r\n if (value === true) return 'Oui';\r\n if (value === false) return 'Non';\r\n\r\n return value;\r\n },\r\n },\r\n ];\r\n //#region LIFE CYCLES\r\n public beforeMount(): void {\r\n Vue.prototype.$subjectMessageService.subject.subscribe((subjectMessage: SubjectMessage) => {\r\n if (subjectMessage.type === SubjectMessageTypeEnum.SHOW_MERGE_MISSION_MODAL) {\r\n this.items = subjectMessage.message;\r\n this.$bvModal.show('mission-merge-modal');\r\n }\r\n });\r\n }\r\n //#endregion\r\n\r\n //#region COMPUTED\r\n //#endregion\r\n\r\n //#region WATCH\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n public onHandleAcceptMerge(): void {\r\n this.$emit('mergeAccepted', this.items);\r\n this.$bvModal.hide('mission-merge-modal');\r\n }\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-mission-merge.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-mission-merge.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./prestation-expertise-mission-merge.vue?vue&type=template&id=0c41a69d&\"\nimport script from \"./prestation-expertise-mission-merge.vue?vue&type=script&lang=ts&\"\nexport * from \"./prestation-expertise-mission-merge.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./prestation-expertise-mission-merge.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export class InterventionDto {\r\n id: number;\r\n visiteContactNomPrenom: string;\r\n visiteContactEmail: string;\r\n visiteContactTel: string;\r\n informationsComplementaires: string;\r\n descriptionBien: string;\r\n expertiseId: number;\r\n}\r\n","import { ContratTypeVisiteEnum } from '@/shared/enums/contrat-type-visite.enum';\r\nimport { NatureVisiteEnum } from '@/shared/enums/nature-visite.enum';\r\n\r\nexport function getNatureVisiteFromContratTypeVisiteId(contratTypeVisiteId: number): NatureVisiteEnum {\r\n switch (contratTypeVisiteId) {\r\n default:\r\n case ContratTypeVisiteEnum.InterieurEtExterieur:\r\n return NatureVisiteEnum.Complete;\r\n\r\n case ContratTypeVisiteEnum.ExterieurUniquement:\r\n return NatureVisiteEnum.Exterieure;\r\n\r\n case ContratTypeVisiteEnum.SurPieces:\r\n return NatureVisiteEnum.SurPieces;\r\n\r\n case ContratTypeVisiteEnum.Partielle:\r\n return NatureVisiteEnum.Partielle;\r\n }\r\n}\r\n\r\nexport function getContratTypeVisiteIdFromNatureVisiteEnum(natureVisite: NatureVisiteEnum): number {\r\n switch (natureVisite) {\r\n default:\r\n case NatureVisiteEnum.Complete:\r\n return ContratTypeVisiteEnum.InterieurEtExterieur;\r\n case NatureVisiteEnum.Exterieure:\r\n return ContratTypeVisiteEnum.ExterieurUniquement;\r\n case NatureVisiteEnum.SurPieces:\r\n return ContratTypeVisiteEnum.SurPieces;\r\n case NatureVisiteEnum.Partielle:\r\n return ContratTypeVisiteEnum.Partielle;\r\n }\r\n}\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Provide, Vue, Watch } from 'vue-property-decorator';\r\nimport PrestationExpertiseLayout from '@/views/layouts/prestation-expertise.layout.vue';\r\nimport PrestationExpertise from '@/views/prestation-expertise/prestation-expertise';\r\nimport PrestationExpertiseSections from '@/components/prestation-expertise/prestation-expertise-sections.vue';\r\nimport PrestationExpertiseDesktopMenu from '@/components/prestation-expertise/prestation-expertise-desktop-menu.vue';\r\nimport PrestationExpertiseMobileMenu from '@/components/prestation-expertise/prestation-expertise-mobile-menu.vue';\r\nimport PrestationExpertiseHeaderActions from '@/components/prestation-expertise/prestation-expertise-header-actions.vue';\r\nimport { rapportExpertiseValidation } from '@/validations/rapport-expertise.validation';\r\nimport store from '@/shared/store';\r\nimport roles from '@/shared/constants/roles.const';\r\nimport { RapportExpertiseDto } from '@/shared/dtos/rapport-expertise.dto';\r\nimport {\r\n isContratConditionOccupationOccupe,\r\n isContratTypePrestationNotCertificatExpertise,\r\n isRapportVersionGreaterOrEqualsTo,\r\n isRapportVersionLowerOrEqualsTo,\r\n isContratTypeVisiteExterieur,\r\n} from '@/helpers/rapport-expertise.helper';\r\nimport { PieceJointeRapportDto } from '@/shared/dtos/piece-jointe-rapport.dto';\r\nimport { BModal } from 'bootstrap-vue';\r\nimport { MissionComparableDto } from '@/shared/dtos/mission-comparable.dto';\r\nimport NumericNullable from '@/shared/components/numeric-nullable.vue';\r\nimport PanelComparables from '@/components/rapport-expertise/panel-comparables.vue';\r\nimport VueScrollTo from 'vue-scrollto';\r\nimport moment from 'moment';\r\nimport { EtapeMissionEnum } from '@/shared/enums/etape-mission.enum';\r\nimport { MissionDto } from '@/shared/dtos/mission.dto';\r\nimport { getRapportExpertiseNoteSectionEnumName } from '@/shared/utilities/enums.utility';\r\nimport { RapportExpertiseNoteSectionEnum } from '@/shared/enums/rapport-expertise-note-section.enum';\r\nimport { isTypeDeBienTerrain } from '@/helpers/prestation-expertise.helper';\r\nimport { DonneesEstimationImmobiliereDto } from '@/shared/dtos/donnees-estimation-immobiliere.dto';\r\nimport { TypePieceJointeRapportEnum } from '@/shared/enums/type-piece-jointe-rapport.enum';\r\nimport { SubjectMessageTypeEnum } from '@/shared/enums/subject-message-type.enum';\r\nimport { GeographiqueCommoditeDto } from '@/shared/dtos/geographique-commodite.dto';\r\nimport { SubjectMessage } from '@/shared/models/subject-message';\r\nimport { MergeDto } from '@/shared/dtos/merge.dto';\r\nimport { PrestationExpertiseVersionHistoryDto } from '@/shared/dtos/prestation-expertise/prestation-expertise-version-history.dto';\r\nimport PrestationExpertiseMissionMerge from '@/shared/components/prestation-expertise/prestation-expertise-mission-merge.vue';\r\nimport { InterventionDto } from '@/shared/dtos/intervention.dto';\r\nimport { getContratTypeVisiteIdFromNatureVisiteEnum, getNatureVisiteFromContratTypeVisiteId } from '@/helpers/match.helper';\r\nimport { DonneesEstimationImmobiliereUpdateInputDto } from '@/shared/dtos/donnees-estimation-immobiliere-update-input.dto';\r\nimport { TypePrestationExpertiseEnum } from '@/shared/enums/type-prestation-expertise.enum';\r\n\r\n@Component({\r\n name: 'PrestationExpertiseRapport',\r\n components: {\r\n // Layout\r\n PrestationExpertiseLayout,\r\n PrestationExpertiseSections,\r\n PrestationExpertiseDesktopMenu,\r\n PrestationExpertiseMobileMenu,\r\n PrestationExpertiseHeaderActions,\r\n PrestationExpertiseMissionMerge,\r\n NumericNullable,\r\n PanelComparables,\r\n },\r\n validations: rapportExpertiseValidation,\r\n})\r\nexport default class PrestationExpertiseRapport extends PrestationExpertise {\r\n public rapportExpertiseNoteSectionEnum = RapportExpertiseNoteSectionEnum;\r\n\r\n @Provide('addPieceJointe') addPieceJointeProvide: any = this.addPieceJointeRapport;\r\n @Provide('deletePieceJointeByIdAndType') deletePieceJointeByIdAndTypeProvide: any = this.deletePieceJointeRapportByIdAndType;\r\n @Provide('renamePieceJointe') renamePieceJointeProvide: any = this.renamePieceJointeRapport;\r\n @Provide('updateOrdrePiecesJointes') updateOrdrePiecesJointesRapportProvide: any = this.updateOrdrePiecesJointesRapport;\r\n @Provide('apposerVisa') apposerVisaProvide: any = this.apposerVisa;\r\n @Provide('refuserVisa') refuserVisaProvide: any = this.refuserVisa;\r\n\r\n public isPanelComparablesVisible: boolean = false;\r\n public isSearchingComparables: boolean = false;\r\n public comparables: MissionComparableDto[] = [];\r\n public donneesEstimationImmobiliere: DonneesEstimationImmobiliereDto = null;\r\n\r\n constructor() {\r\n // Cannot pass componentsSections in the parent bescause @Component doesn't support properties in contructor...\r\n super();\r\n }\r\n\r\n //#region LIFE CYCLES\r\n public async beforeMount(): Promise {\r\n if (this.hasAccess) {\r\n this.initComponentSections();\r\n\r\n await this.initDonneesEstimationImmobiliere();\r\n await this.initComparables();\r\n await this.initMergeRapportDatas();\r\n\r\n Vue.prototype.$subjectMessageService.subject.subscribe(async (subjectMessage: SubjectMessage) => {\r\n if (subjectMessage.type === SubjectMessageTypeEnum.INIT_DONNEES_ESTIMATION_IMMOBILIERES) {\r\n await this.initDonneesEstimationImmobiliere();\r\n }\r\n });\r\n }\r\n }\r\n\r\n public mounted(): void {\r\n // En v3.1 on n'affiche plus Non demandé\r\n if (isRapportVersionGreaterOrEqualsTo(this.rapport, 3.1)) {\r\n this.businessEntries.annexesStatuts = this.businessEntries.annexesStatuts.slice(1);\r\n }\r\n\r\n if (this.hasAccess) {\r\n const refModal = this.$refs.modalSuppression as unknown as BModal;\r\n refModal.$on('change', (is_visible: boolean) => {\r\n if (!is_visible) {\r\n refModal.$off('ok');\r\n refModal.$off('cancel');\r\n }\r\n });\r\n\r\n // Watch à cet endroit là pour éviter de le trigger dès le début et MAJ la date de modification sans le vouloir\r\n // VueJS semble mettre à jour l'objet mission\r\n setTimeout(() => {\r\n this.$watch(\r\n 'rapport.proprietes.estEditionForcee',\r\n async () => {\r\n this._needToByPasseHasPrestationExpertiseChanged = true;\r\n const logMessage = `Sauvegarde des propriétés: ${this.mission.reference}`;\r\n this.saveInStorage(true);\r\n\r\n await Vue.prototype.$logStoreService.info(`${logMessage} - START`, 'RapportExpertise');\r\n\r\n Vue.prototype.$rapportExpertiseApiService\r\n .updateProprietes(this.rapport.id, this.rapport.proprietes)\r\n .then(async () => {\r\n await Vue.prototype.$logStoreService.info(`${logMessage} - END`, 'RapportExpertise');\r\n Vue.prototype.$notificationService.success(`Les propriétés ont été sauvegardées avec succès.`);\r\n })\r\n .catch(async (error: any) => {\r\n Vue.prototype.$notificationService.error(`Une erreur est survenue lors de la sauvegarde des propriétés.`);\r\n await Vue.prototype.$logStoreService.info(`${logMessage} - ERROR`, error, 'RapportExpertise');\r\n });\r\n },\r\n { deep: true }\r\n );\r\n }, 50);\r\n }\r\n }\r\n //#endregion\r\n\r\n //#region COMPUTED\r\n get rapport(): RapportExpertiseDto {\r\n return this.mission.prestationExpertise as RapportExpertiseDto;\r\n }\r\n\r\n set rapport(value: RapportExpertiseDto) {\r\n this.mission.prestationExpertise = value;\r\n }\r\n\r\n get isReadOnly(): boolean {\r\n if (\r\n this.rapport.proprietes.estEditionForcee &&\r\n (store.user.roles.includes(roles.AdminBPCEEI) || store.user.roles.includes(roles.Expert))\r\n ) {\r\n return false;\r\n }\r\n\r\n if (\r\n this.rapport.forceReadonly ||\r\n !this.$can('Save', 'Rapport') ||\r\n (this.mission.etape !== EtapeMissionEnum.AttribueeALExpert &&\r\n this.mission.etape !== EtapeMissionEnum.ValeursAViserVisa1 &&\r\n this.mission.etape !== EtapeMissionEnum.ValeursAViserVisa2 &&\r\n this.mission.etape !== EtapeMissionEnum.ValeursARevoir &&\r\n this.mission.etape !== EtapeMissionEnum.ExpertiseCompleteAViser) ||\r\n this.mission.expertise.suiviMission.estDepose\r\n ) {\r\n return true;\r\n }\r\n\r\n // On garde ce code au cas ou visatech\r\n // if (\r\n // (this.mission.etape === EtapeMissionEnum.ValeursAViserVisa1 || this.mission.etape === EtapeMissionEnum.ValeursAViserVisa2) &&\r\n // this.$can('SaveWhileVisa', 'Rapport')\r\n // ) {\r\n // return this.mission.dateVisaTech != null;\r\n // }\r\n\r\n return false;\r\n }\r\n\r\n get isRapport(): boolean {\r\n return this.rapport != null ? isContratTypePrestationNotCertificatExpertise(this.rapport.contratTypePrestationId) : null;\r\n }\r\n\r\n get color(): string {\r\n return this.isRapport ? '#35a2eb' : '#00ab9d';\r\n }\r\n\r\n get isFraisDisabled(): boolean {\r\n return this.isReadOnly || (this.mission.expert && this.mission.expert.id !== store.user.omereContactId && !this.$can('Save', 'Frais'));\r\n }\r\n\r\n //#endregion\r\n\r\n //#region WATCH\r\n\r\n //#endregion\r\n\r\n @Watch('mission.prestationExpertise.contratCategorieDActifId')\r\n public contratCategorieDActifIdChanged(newValue: any, oldValue: number): void {\r\n if (oldValue !== undefined && oldValue !== newValue) {\r\n this.updateComponentSections();\r\n }\r\n }\r\n\r\n @Watch('mission.prestationExpertise.contratConditionOccupationId')\r\n public contratConditionOccupationIdChanged(newValue: number, oldValue: number): void {\r\n if (oldValue !== undefined && oldValue !== newValue) {\r\n this.updateComponentSections();\r\n }\r\n }\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n public onEmitComparable(comparable: any): void {\r\n if (this.isReadOnly) {\r\n Vue.prototype.$notificationService.warn(`Impossible d'ajouter un élément de comparaison.`, 'Le rapport en lecture seule');\r\n\r\n return;\r\n }\r\n\r\n this.rapport.etudeMarcheElementsComparaisonsVentes.push({\r\n id: 0,\r\n dateTransaction: moment(comparable.date, 'DD/MM/YYYY').format(),\r\n description: comparable.description.replace('
', '\\n'),\r\n prixOuLoyer: comparable.prixMoyen,\r\n rapportExpertiseId: +this.rapport.id,\r\n surface: comparable.surface,\r\n typeDeSourceId: 2016004, // Valorisation\r\n vente: true,\r\n });\r\n\r\n Vue.prototype.$notificationService.success(`L'élément de comparaison a été ajouté avec succès.`);\r\n\r\n VueScrollTo.scrollTo('.elementComparaison > li:last-child', 500, {\r\n offset: -75,\r\n });\r\n }\r\n\r\n public async onEmitReferenceToCopyChanged(fromReference: string): Promise {\r\n this.isSaving = true;\r\n\r\n this.$bvToast.show('copy-toast');\r\n\r\n const logMessage = `Copie des données de la prestation d'expertise attachée à la mission: ${this.mission.reference}`;\r\n\r\n await Vue.prototype.$logStoreService.info(`${logMessage} - START`, 'PrestationExpertiseRapport');\r\n\r\n Vue.prototype.$missionApiService\r\n .updateExpertiseFromReference(this.mission, fromReference.toUpperCase())\r\n .then(async (mission: MissionDto) => {\r\n this.mission = mission;\r\n\r\n this.mission.prestationExpertise.dateDeSauvegardeUtc = this.mission.prestationExpertise.dateModificationUtc;\r\n\r\n this._hasMissionChanged = false;\r\n this._hasPrestationExpertiseChanged = false;\r\n\r\n await this.saveInStorage(true);\r\n this.$forceUpdate();\r\n\r\n document.querySelector('main').scrollTo({\r\n top: 0,\r\n left: 0,\r\n });\r\n\r\n Vue.prototype.$notificationService.success(`Les données du rapport de la mission ${fromReference} ont été copiées avec succès.`);\r\n\r\n await Vue.prototype.$logStoreService.info(`${logMessage} - END`, 'PrestationExpertiseRapport');\r\n })\r\n .catch(async (error: any) => {\r\n Vue.prototype.$notificationService.error(\r\n `Une erreur est survenue lors de la copie des données de la prestation d'expertise attachée à la mission ${fromReference}.`\r\n );\r\n await Vue.prototype.$logStoreService.error(`${logMessage} - ERROR`, error, 'PrestationExpertiseRapport');\r\n })\r\n .finally(() => {\r\n this.isSaving = false;\r\n this.$bvToast.hide('copy-toast');\r\n });\r\n }\r\n\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n protected cleanBeforeSaveInStorage(missionToClean: MissionDto): void {}\r\n\r\n protected async cleanBeforeSave(): Promise {}\r\n\r\n protected touchDatas(): boolean {\r\n this.$v.mission.prestationExpertise.$touch();\r\n this.$v.mission.prestationExpertise.piecesJointesRapport.$touch();\r\n\r\n if (this.$v.mission.prestationExpertise.$invalid)\r\n Object.keys(this.$v.mission.prestationExpertise).forEach((key) => {\r\n let val: any = this.$v.mission.prestationExpertise[key as keyof FormData];\r\n\r\n if (val && val.$error == true) {\r\n /* eslint-disable no-console */\r\n console.log('Invalid value for: ', key);\r\n }\r\n });\r\n\r\n return this.$v.mission.prestationExpertise.$invalid || this.$v.mission.prestationExpertise.piecesJointesRapport.$invalid;\r\n }\r\n\r\n public async addPieceJointeRapport(\r\n type: string,\r\n base64Content: string,\r\n nom: string,\r\n index: number = null,\r\n isMain: boolean = false\r\n ): Promise {\r\n const timestamp = new Date().getTime();\r\n\r\n const pieceJointe: PieceJointeRapportDto = {\r\n id: timestamp,\r\n type: type as unknown as TypePieceJointeRapportEnum,\r\n chemin: base64Content,\r\n nom: nom,\r\n ordre: index ?? (this.rapport.piecesJointesRapport[type] ? this.rapport.piecesJointesRapport[type].length + 1 : 1),\r\n rapportExpertiseId: +this.rapport.id,\r\n dateModificationUtc: new Date(),\r\n isNew: true,\r\n isMain: isMain,\r\n };\r\n\r\n if (type == TypePieceJointeRapportEnum[TypePieceJointeRapportEnum.PlanCadastre]) {\r\n this.rapport.piecesJointesRapport[type] = [];\r\n }\r\n\r\n if (\r\n type == TypePieceJointeRapportEnum[TypePieceJointeRapportEnum.ComparableVente] ||\r\n type == TypePieceJointeRapportEnum[TypePieceJointeRapportEnum.ComparableLocation]\r\n ) {\r\n if (this.rapport.piecesJointesRapport[type].length - 1 < index) {\r\n this.rapport.piecesJointesRapport[type].push(pieceJointe);\r\n } else {\r\n this.rapport.piecesJointesRapport[type][index] = pieceJointe;\r\n }\r\n } else {\r\n this.rapport.piecesJointesRapport[type].push(pieceJointe);\r\n }\r\n\r\n return pieceJointe.id;\r\n }\r\n\r\n public async deletePieceJointeRapportByIdAndType(id: number, type: string): Promise {\r\n const pieceJointeToDelete = this.rapport.piecesJointesRapport[type].find((pieceJointe: PieceJointeRapportDto) => pieceJointe.id === id);\r\n\r\n if (pieceJointeToDelete.isNew) {\r\n this.rapport.piecesJointesRapport[type] = this.rapport.piecesJointesRapport[type].filter(\r\n (pieceJointe: PieceJointeRapportDto) => pieceJointe.id !== id\r\n );\r\n } else {\r\n pieceJointeToDelete.isDeleted = true;\r\n }\r\n\r\n // Re affect the table to trigger change\r\n this.rapport.piecesJointesRapport[type] = [...this.rapport.piecesJointesRapport[type]];\r\n }\r\n\r\n public async renamePieceJointeRapport(pieceJointeRapportId: number, type: string, nom: string): Promise {\r\n const pieceJointeToRename = this.rapport.piecesJointesRapport[type].find(\r\n (pieceJointeRapport: PieceJointeRapportDto) => pieceJointeRapport.id === pieceJointeRapportId\r\n );\r\n const index = this.rapport.piecesJointesRapport[type].indexOf(pieceJointeToRename);\r\n\r\n pieceJointeToRename.nom = nom;\r\n pieceJointeToRename.dateModificationUtc = new Date();\r\n this.rapport.piecesJointesRapport[type][index] = pieceJointeToRename;\r\n\r\n await this.saveInStorage();\r\n }\r\n\r\n public async updateOrdrePiecesJointesRapport(piecesJointesRapport: PieceJointeRapportDto[], type: string): Promise {\r\n const now = new Date();\r\n piecesJointesRapport.forEach((pieceJointe: PieceJointeRapportDto) => (pieceJointe.dateModificationUtc = now));\r\n\r\n this.rapport.piecesJointesRapport[type] = piecesJointesRapport;\r\n\r\n await this.saveInStorage();\r\n }\r\n\r\n public async apposerVisa(): Promise {\r\n store.isLoading = true;\r\n\r\n await this.cleanBeforeSave();\r\n\r\n const logMessage = `Validation du visa sur la prestation d'expertise attachée à la mission: ${this.mission.reference}`;\r\n\r\n await Vue.prototype.$logStoreService.info(`${logMessage} - START`, 'PrestationExpertiseRapport');\r\n\r\n const isOldGenPrestationExpertise = [\r\n TypePrestationExpertiseEnum.CertificatExpertise,\r\n TypePrestationExpertiseEnum.RapportExpertise,\r\n ].includes(this.mission.typePrestationExpertise);\r\n\r\n // PrestationExpertise.piecesJointes\r\n if (this.mission.prestationExpertise) {\r\n await Vue.prototype.$synchronizationService.managePiecesJointes(this.mission, isOldGenPrestationExpertise, false);\r\n }\r\n\r\n Vue.prototype.$rapportExpertiseApiService\r\n .apposerVisa(this.rapport.id, this.rapport)\r\n .then(async (response: any) => {\r\n if (response.status === 200) {\r\n this.mission.etape = EtapeMissionEnum.ExpertiseVerrouillee;\r\n Vue.prototype.$notificationService.success(`Le rapport a été visé avec succès.`);\r\n await Vue.prototype.$logStoreService.info(`${logMessage} - END`, 'PrestationExpertiseRapport');\r\n this._needToBeSaved = false;\r\n }\r\n })\r\n .catch(async (error: any) => {\r\n Vue.prototype.$notificationService.error(`Une erreur est survenue lors de la validation du visa.`);\r\n await Vue.prototype.$logStoreService.error(`${logMessage} - ERROR`, error, 'PrestationExpertiseRapport');\r\n })\r\n .finally(() => {\r\n store.isLoading = false;\r\n });\r\n }\r\n\r\n public async refuserVisa(): Promise {\r\n store.isLoading = true;\r\n\r\n await this.cleanBeforeSave();\r\n\r\n const logMessage = `Refus du visa sur la prestation d'expertise attachée à la mission: ${this.mission.reference}`;\r\n\r\n await Vue.prototype.$logStoreService.info(`${logMessage} - START`, 'PrestationExpertiseRapport');\r\n\r\n const isOldGenPrestationExpertise = [\r\n TypePrestationExpertiseEnum.CertificatExpertise,\r\n TypePrestationExpertiseEnum.RapportExpertise,\r\n ].includes(this.mission.typePrestationExpertise);\r\n\r\n // PrestationExpertise.piecesJointes\r\n if (this.mission.prestationExpertise) {\r\n await Vue.prototype.$synchronizationService.managePiecesJointes(this.mission, isOldGenPrestationExpertise, false);\r\n }\r\n\r\n Vue.prototype.$rapportExpertiseApiService\r\n .refuserVisa(this.rapport.id, this.rapport)\r\n .then(async (response: any) => {\r\n if (response.status === 200) {\r\n this.mission.etape = EtapeMissionEnum.ValeursARevoir;\r\n Vue.prototype.$notificationService.success(`Le visa du rapport a été refusé avec succès.`);\r\n await Vue.prototype.$logStoreService.info(`${logMessage} - END`, 'PrestationExpertiseRapport');\r\n this._needToBeSaved = false;\r\n }\r\n })\r\n .catch(async (error: any) => {\r\n Vue.prototype.$notificationService.error(`Une erreur est survenue lors du refus du visa.`);\r\n await Vue.prototype.$logStoreService.error(`${logMessage} - ERROR`, error, 'PrestationExpertiseRapport');\r\n })\r\n .finally(() => {\r\n store.isLoading = false;\r\n });\r\n }\r\n\r\n private initComponentSections(): void {\r\n this.componentsSections = [\r\n {\r\n slug: 'rapport',\r\n name: '',\r\n isOnlyForDesktop: false,\r\n children: [\r\n {\r\n slug: 'rapport-proprietes',\r\n name: 'propriétés',\r\n isOnlyForDesktop: false,\r\n componentName: 'PrestationExpertiseRapportProprietes',\r\n properties: {\r\n reference: this.mission.reference,\r\n proprietes: this.rapport.proprietes,\r\n prestationExpertiseId: this.rapport.id,\r\n isReadOnly: false,\r\n },\r\n outputs: {\r\n onReferenceToCopyChanged: this.onEmitReferenceToCopyChanged,\r\n },\r\n permission: 'SavePropriete|Rapport',\r\n },\r\n {\r\n slug: 'rapport-indicateurs',\r\n name: 'indicateurs',\r\n isOnlyForDesktop: true,\r\n isForCustomCondition:\r\n this.isBrowser &&\r\n ((this.mission.doublons != null && this.mission.doublons.length > 0) ||\r\n this.mission.commande.nbAnnexes > 0 ||\r\n this.mission.dateRestitution != null),\r\n componentName: 'PrestationExpertiseRapportIndicateurs',\r\n properties: {\r\n doublons: this.mission.doublons,\r\n nbAnnexes: this.mission.commande.nbAnnexes,\r\n dateRestitution: this.mission.dateRestitution,\r\n },\r\n },\r\n ],\r\n },\r\n {\r\n slug: 'contrat',\r\n name: 'contrat',\r\n isOnlyForDesktop: false,\r\n children: [\r\n {\r\n slug: 'contrat-mission',\r\n name: 'mission',\r\n isOnlyForDesktop: false,\r\n isActive: true,\r\n componentName: 'PrestationExpertiseRapportContratMission',\r\n },\r\n ],\r\n validationName: 'contratGroup',\r\n },\r\n {\r\n slug: 'situation-geographique',\r\n name: 'situation géographique',\r\n isOnlyForDesktop: true,\r\n children: [\r\n {\r\n slug: 'situation-geographique-geographie',\r\n name: 'géographie',\r\n componentName: 'PrestationExpertiseRapportSituationGeographiqueGeographie',\r\n },\r\n {\r\n slug: 'situation-geographique-avis-expert',\r\n name: 'avis expert',\r\n isOnlyForDesktop: true,\r\n componentName: 'PrestationExpertiseRapportSituationGeographiqueAvisExpert',\r\n },\r\n {\r\n slug: 'situation-geographique-controle',\r\n name: 'contrôle',\r\n componentName: 'PrestationExpertiseRapportSituationGeographiqueControle',\r\n permission: 'Save|Notes',\r\n },\r\n ],\r\n validationName: 'situationGeographiqueGroup',\r\n noteName: getRapportExpertiseNoteSectionEnumName(this.rapportExpertiseNoteSectionEnum.SituationGeographique),\r\n },\r\n {\r\n slug: 'situation-juridique',\r\n name: 'situation juridique',\r\n isOnlyForDesktop: false,\r\n isForCustomCondition: this.isRapport,\r\n children: [\r\n {\r\n slug: 'situation-juridique-juridique',\r\n name: 'juridique',\r\n isOnlyForDesktop: false,\r\n componentName: 'PrestationExpertiseRapportSituationJuridiqueJuridique',\r\n },\r\n {\r\n slug: 'situation-juridique-controle',\r\n name: 'contrôle',\r\n componentName: 'PrestationExpertiseRapportSituationJuridiqueControle',\r\n permission: 'Save|Notes',\r\n },\r\n ],\r\n validationName: 'situationJuridiqueGroup',\r\n noteName: getRapportExpertiseNoteSectionEnumName(this.rapportExpertiseNoteSectionEnum.SituationJuridique),\r\n },\r\n {\r\n slug: 'description-generale',\r\n name: 'description générale',\r\n isOnlyForDesktop: false,\r\n children: [\r\n {\r\n slug: 'description-generale-terrain',\r\n name: 'terrain',\r\n isOnlyForDesktop: false,\r\n componentName: 'PrestationExpertiseRapportDescriptionGeneraleTerrain',\r\n },\r\n {\r\n slug: 'description-generale-avis-expert',\r\n name: 'avis expert',\r\n isOnlyForDesktop: true,\r\n componentName: 'PrestationExpertiseRapportDescriptionGeneraleAvisExpert',\r\n },\r\n {\r\n slug: 'description-generale-controle',\r\n name: 'contrôle',\r\n isOnlyForDesktop: true,\r\n componentName: 'PrestationExpertiseRapportDescriptionGeneraleControle',\r\n permission: 'Save|Notes',\r\n },\r\n ],\r\n validationName: 'descriptionGeneraleGroup',\r\n noteName: getRapportExpertiseNoteSectionEnumName(this.rapportExpertiseNoteSectionEnum.DescriptionGenerale),\r\n },\r\n {\r\n slug: 'description-particuliere',\r\n name: 'description particulière',\r\n isOnlyForDesktop: false,\r\n isForCustomCondition: !isTypeDeBienTerrain(this.rapport, this.businessEntries),\r\n children: [\r\n {\r\n slug: 'description-particuliere-batiment',\r\n name: 'bâtiment',\r\n isOnlyForDesktop: false,\r\n componentName: 'PrestationExpertiseRapportDescriptionParticuliereBatiment',\r\n },\r\n {\r\n slug: 'description-particuliere-prestations',\r\n name: 'prestations',\r\n isOnlyForDesktop: false,\r\n isForCustomCondition: !isContratTypeVisiteExterieur(this.rapport.contratTypeVisiteId),\r\n componentName: 'PrestationExpertiseRapportDescriptionParticulierePrestations',\r\n },\r\n {\r\n slug: 'description-particuliere-surface',\r\n name: 'surface',\r\n isOnlyForDesktop: false,\r\n componentName: 'PrestationExpertiseRapportDescriptionParticuliereSurface',\r\n },\r\n {\r\n slug: 'description-particuliere-avis-expert',\r\n name: 'avis expert',\r\n isOnlyForDesktop: true,\r\n componentName: 'PrestationExpertiseRapportDescriptionParticuliereAvisExpert',\r\n },\r\n {\r\n slug: 'description-particuliere-controle',\r\n name: 'contrôle',\r\n componentName: 'PrestationExpertiseRapportDescriptionParticuliereControle',\r\n permission: 'Save|Notes',\r\n },\r\n ],\r\n validationName: 'descriptionParticuliereGroup',\r\n noteName: getRapportExpertiseNoteSectionEnumName(this.rapportExpertiseNoteSectionEnum.DescriptionParticuliere),\r\n },\r\n {\r\n slug: 'situation-fiscale',\r\n name: 'situation fiscale',\r\n isForCustomCondition: this.isRapport && isRapportVersionLowerOrEqualsTo(this.rapport, 2.0),\r\n isOnlyForDesktop: true,\r\n children: [\r\n {\r\n slug: 'situation-fiscale-fiscale',\r\n name: 'fiscalité',\r\n componentName: 'PrestationExpertiseRapportSituationFiscaleFiscalite',\r\n },\r\n {\r\n slug: 'situation-fiscale-controle',\r\n name: 'contrôle',\r\n componentName: 'PrestationExpertiseRapportSituationFiscaleControle',\r\n permission: 'Save|Notes',\r\n },\r\n ],\r\n validationName: 'situationFiscaleGroup',\r\n noteName: getRapportExpertiseNoteSectionEnumName(this.rapportExpertiseNoteSectionEnum.SituationFiscale),\r\n },\r\n {\r\n slug: 'situation-locative',\r\n name: 'situation locative',\r\n isForCustomCondition:\r\n this.isRapport &&\r\n isRapportVersionGreaterOrEqualsTo(this.rapport, 3.0) &&\r\n isContratConditionOccupationOccupe(this.rapport.contratConditionOccupationId),\r\n isOnlyForDesktop: true,\r\n children: [\r\n {\r\n slug: 'situation-locative-locative',\r\n name: 'locative',\r\n componentName: 'PrestationExpertiseRapportSituationLocativeLocative',\r\n },\r\n {\r\n slug: 'situation-locative-controle',\r\n name: 'contrôle',\r\n componentName: 'PrestationExpertiseRapportSituationLocativeControle',\r\n permission: 'Save|Notes',\r\n },\r\n ],\r\n validationName: 'situationLocativeGroup',\r\n noteName: getRapportExpertiseNoteSectionEnumName(this.rapportExpertiseNoteSectionEnum.SituationLocative),\r\n },\r\n {\r\n slug: 'situation-urbanistique',\r\n name: 'situation urbanistique',\r\n isForCustomCondition: this.isRapport,\r\n isOnlyForDesktop: true,\r\n children: [\r\n {\r\n slug: 'situation-urbanistique-urbanisme',\r\n name: 'urbanisme',\r\n componentName: 'PrestationExpertiseRapportSituationUrbanistiqueUrbanisme',\r\n },\r\n {\r\n slug: 'situation-urbanistique-controle',\r\n name: 'contrôle',\r\n componentName: 'PrestationExpertiseRapportSituationUrbanistiqueControle',\r\n permission: 'Save|Notes',\r\n },\r\n ],\r\n validationName: 'situationUrbanistiqueGroup',\r\n noteName: getRapportExpertiseNoteSectionEnumName(this.rapportExpertiseNoteSectionEnum.SituationUrbanistique),\r\n },\r\n {\r\n slug: 'marche',\r\n name: 'marché',\r\n isOnlyForDesktop: true,\r\n children: [\r\n {\r\n slug: 'marche-etude-marche',\r\n name: 'étude de marché',\r\n isOnlyForDesktop: true,\r\n componentName: 'PrestationExpertiseRapportMarcheEtudeDeMarche',\r\n },\r\n {\r\n slug: 'marche-controle',\r\n name: 'contrôle',\r\n componentName: 'PrestationExpertiseRapportMarcheControle',\r\n permission: 'Save|Notes',\r\n },\r\n ],\r\n validationName: 'etudeMarcheGroup',\r\n noteName: getRapportExpertiseNoteSectionEnumName(this.rapportExpertiseNoteSectionEnum.EtudeDeMarche),\r\n },\r\n {\r\n slug: 'evaluation',\r\n name: 'évaluation',\r\n isOnlyForDesktop: true,\r\n children: [\r\n {\r\n slug: 'evaluation-evaluation',\r\n name: 'évaluation',\r\n componentName: 'PrestationExpertiseRapportEvaluationEvaluation',\r\n },\r\n {\r\n slug: 'evaluation-controle',\r\n name: 'contrôle',\r\n componentName: 'PrestationExpertiseRapportEvaluationControle',\r\n permission: 'Save|Notes',\r\n },\r\n ],\r\n validationName: 'evaluationGroup',\r\n noteName: getRapportExpertiseNoteSectionEnumName(this.rapportExpertiseNoteSectionEnum.Evaluation),\r\n },\r\n {\r\n slug: 'conclusion',\r\n name: 'conclusion',\r\n isOnlyForDesktop: true,\r\n children: [\r\n {\r\n slug: 'conclusion-conclusion',\r\n name: 'conclusion',\r\n componentName: 'PrestationExpertiseRapportConclusionConclusion',\r\n },\r\n {\r\n slug: 'conclusion-controle',\r\n name: 'contrôle',\r\n componentName: 'PrestationExpertiseRapportConclusionControle',\r\n permission: 'Save|Notes',\r\n },\r\n {\r\n slug: 'conclusion-annexes',\r\n name: 'annexes',\r\n componentName: 'PrestationExpertiseRapportConclusionAnnexes',\r\n },\r\n ],\r\n validationName: 'conclusionGroup',\r\n noteName: getRapportExpertiseNoteSectionEnumName(this.rapportExpertiseNoteSectionEnum.Conclusion),\r\n },\r\n {\r\n slug: 'controle',\r\n name: 'contrôle',\r\n isOnlyForDesktop: true,\r\n children: [\r\n {\r\n slug: 'controle-appreciation-generale',\r\n name: 'appréciation générale',\r\n isOnlyForDesktop: true,\r\n componentName: 'PrestationExpertiseRapportControleAppreciationGenerale',\r\n },\r\n ],\r\n permission: 'Save|Notes',\r\n noteName: getRapportExpertiseNoteSectionEnumName(this.rapportExpertiseNoteSectionEnum.Global),\r\n },\r\n ];\r\n }\r\n\r\n public updateComponentSections(): void {\r\n this.initComponentSections();\r\n this.filterComponentSections();\r\n }\r\n\r\n public async initComparables(): Promise {\r\n if (!navigator.onLine || this.isReadOnly || this.isMobile || !this.$can('RechercheComparable', 'Rapport')) return;\r\n\r\n const logMessage = `Recherche des missions comparables attachée à la mission: ${this.mission.noMission}`;\r\n\r\n await Vue.prototype.$logStoreService.info(`${logMessage} - START`, 'PrestationExpertiseRapport');\r\n\r\n this.isSearchingComparables = true;\r\n\r\n await Vue.prototype.$missionApiService\r\n .getComparables(this.mission.id)\r\n .then(async (comparables: MissionComparableDto[]) => {\r\n this.comparables = comparables;\r\n await Vue.prototype.$logStoreService.info(`${logMessage} - END`, 'PrestationExpertiseRapport');\r\n })\r\n .catch(async (error: any) => {\r\n Vue.prototype.$notificationService.error(`Une erreur est survenue lors de la récupération des comparables.`);\r\n await Vue.prototype.$logStoreService.error(`${logMessage} - ERROR`, error, 'PrestationExpertiseRapport');\r\n })\r\n .finally(() => {\r\n this.isSearchingComparables = false;\r\n });\r\n }\r\n\r\n public async initDonneesEstimationImmobiliere(): Promise {\r\n if (this.isMobile) return;\r\n\r\n store.isLoading = true;\r\n\r\n const logMessage = `Récupération des données PriceHubble de la prestation d'expertise attachée à la mission ${this.mission.reference}.`;\r\n\r\n await Vue.prototype.$logStoreService.info(`${logMessage} - START`, 'PrestationExpertiseRapport');\r\n\r\n return await Vue.prototype.$rapportExpertiseApiService\r\n .getDonneesEstimationImmobiliere(this.rapport.id)\r\n .then(async (donnees: DonneesEstimationImmobiliereDto) => {\r\n this.donneesEstimationImmobiliere = donnees;\r\n\r\n await Vue.prototype.$rapportExpertiseApiService\r\n .getCommodites(this.rapport.id)\r\n .then(async (commodites: GeographiqueCommoditeDto[]) => {\r\n this._needToByPasseHasPrestationExpertiseChanged = true;\r\n this.rapport.geographiqueCommodites = commodites;\r\n });\r\n\r\n if (!this.lastPrestationExpertiseVersionHistory) {\r\n // Si les données ne sont pas disponibles à ce stade, on force le chargement\r\n await Vue.prototype.$prestationExpertiseVersionHistoryApiService\r\n .getWithRoute(`status/${this.mission.prestationExpertise.id}`)\r\n .then(async (prestationExpertiseVersionHistory: PrestationExpertiseVersionHistoryDto) => {\r\n this.lastPrestationExpertiseVersionHistory = prestationExpertiseVersionHistory;\r\n\r\n await this.loadDonneesEstimationImmobiliere();\r\n });\r\n } else {\r\n await this.loadDonneesEstimationImmobiliere();\r\n }\r\n\r\n Vue.prototype.$subjectMessageService.next(SubjectMessageTypeEnum.REFRESH_DONNEES_ESTIMATION_IMMOBILIERES, donnees);\r\n await Vue.prototype.$logStoreService.info(`${logMessage} - END`, 'PrestationExpertiseRapport');\r\n })\r\n .catch(async (error: any) => {\r\n Vue.prototype.$notificationService.error(`Une erreur est survenue lors de la récupération des données PriceHubble.`);\r\n await Vue.prototype.$logStoreService.error(`${logMessage} - ERROR`, error, 'PrestationExpertiseRapport');\r\n })\r\n .finally(() => {\r\n store.isLoading = false;\r\n });\r\n }\r\n\r\n private async loadDonneesEstimationImmobiliere(): Promise {\r\n // Si le rapport n'est pas en lecture seule et si le dernier push venant du mobile, alors on met à jour PriceHubble\r\n if (!this.isReadOnly && this.lastPrestationExpertiseVersionHistory?.strLastVersion.indexOf('iPhone') !== -1) {\r\n const input: DonneesEstimationImmobiliereUpdateInputDto = new DonneesEstimationImmobiliereUpdateInputDto();\r\n input.buildingYear = this.rapport.caracteristiquesAnneeConstruction;\r\n input.landArea = this.rapport.terrainSuperficie;\r\n input.livingArea = this.rapport.particuliereSurfaceTotaleHabitable;\r\n\r\n await Vue.prototype.$rapportExpertiseApiService.updateDonneesEstimationImmobiliere(this.rapport.id, input);\r\n }\r\n }\r\n\r\n public async initMergeRapportDatas(): Promise {\r\n if (!navigator.onLine) return;\r\n\r\n this.mission.natureVisite = getNatureVisiteFromContratTypeVisiteId(this.rapport.contratTypeVisiteId);\r\n this.initMergeDatas();\r\n }\r\n\r\n public async onEmitMergeMission(merges: MergeDto[]): Promise {\r\n if (merges.length === 1 && merges[0].fieldName === 'TypePrestationExpertise') {\r\n const mergeTypePrestationExpertise = merges[0];\r\n return await this.changeTypePrestationExpertise(mergeTypePrestationExpertise, 'PrestationExpertiseRapport');\r\n }\r\n\r\n if (this.mission.intervention === undefined || this.mission.intervention === null) {\r\n this.mission.intervention = new InterventionDto();\r\n }\r\n\r\n merges.forEach((merge: MergeDto) => {\r\n switch (merge.fieldName) {\r\n case 'HasFourchetteValeur':\r\n this.mission.hasFourchetteValeur = merge.newValue;\r\n break;\r\n case 'HasValeurApresTravaux':\r\n this.mission.hasValeurApresTravaux = merge.newValue;\r\n break;\r\n case 'HasValeurLocative':\r\n this.mission.hasValeurLocative = merge.newValue;\r\n break;\r\n case 'HasValeurVenteForcee':\r\n this.mission.hasValeurVenteForcee = merge.newValue;\r\n break;\r\n case 'HasValeurVenteRapide':\r\n this.mission.hasValeurVenteRapide = merge.newValue;\r\n break;\r\n case 'NatureVisite':\r\n this.mission.natureVisite = merge.newValue;\r\n this.rapport.contratTypeVisiteId = getContratTypeVisiteIdFromNatureVisiteEnum(this.mission.natureVisite);\r\n break;\r\n case 'VisiteContactNomPrenom':\r\n this.mission.intervention.visiteContactNomPrenom = merge.newValue;\r\n break;\r\n case 'VisiteContactEmail':\r\n this.mission.intervention.visiteContactEmail = merge.newValue;\r\n break;\r\n case 'VisiteContactTel':\r\n this.mission.intervention.visiteContactTel = merge.newValue;\r\n break;\r\n case 'MotifPrestationExpertise':\r\n this.mission.motifPrestationExpertise = merge.newValue;\r\n break;\r\n }\r\n });\r\n Vue.prototype.$subjectMessageService.next(SubjectMessageTypeEnum.REFRESH_VALEURS_DATA);\r\n this._hasMissionChanged = true;\r\n await this.saveInStorage();\r\n }\r\n\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./prestation-expertise-rapport.vue?vue&type=template&id=2e374747&\"\nimport script from \"./prestation-expertise-rapport.vue?vue&type=script&lang=ts&\"\nexport * from \"./prestation-expertise-rapport.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./prestation-expertise-rapport.vue?vue&type=style&index=0&lang=scss&\"\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.mission && _vm.hasAccess)?_c('prestation-expertise-layout',[_c('template',{slot:\"prestation-expertise-layout-component-header\"},[_c('div',{staticClass:\"prestation-expertise-layout-component-header-title\"},[_vm._v(\" \"+_vm._s(_vm.mission.emprunteur)+\" \"),_c('br'),_vm._v(\" \"+_vm._s(_vm.mission.reference)+\" \")]),_c('prestation-expertise-header-actions',{attrs:{\"isReadOnly\":_vm.isReadOnly || _vm.isSaving,\"isSaving\":_vm.isSaving,\"isExporting\":_vm.isExporting,\"isDepositing\":_vm.isDepositing,\"mission\":_vm.mission,\"lastPrestationExpertiseVersionHistory\":_vm.lastPrestationExpertiseVersionHistory},on:{\"saveButtonClicked\":_vm.onEmitSaveButtonClicked,\"exportButtonClicked\":_vm.onEmitExportButtonClicked,\"deposerButtonClicked\":_vm.onEmitDeposerButtonClicked}})],1),_c('template',{slot:\"prestation-expertise-layout-component-content-desktop-navigation-menu\"},[_c('prestation-expertise-desktop-menu',{attrs:{\"componentsSections\":_vm.componentsSections,\"currentComponentSection\":_vm.currentComponentSection,\"color\":_vm.color,\"validation\":_vm.$v},on:{\"componentSectionChanged\":_vm.onEmitComponentSectionChanged}})],1),_c('template',{slot:\"prestation-expertise-layout-component-content-body\"},[_c('prestation-expertise-sections',{attrs:{\"componentsSections\":_vm.isBrowser ? _vm.componentsSections : _vm.componentsSectionsForMobile,\"currentComponentSection\":_vm.currentComponentSection,\"businessEntries\":_vm.businessEntries,\"societeSettings\":_vm.societeSettings,\"validation\":_vm.$v,\"color\":_vm.color,\"isReadOnly\":_vm.isReadOnly},model:{value:(_vm.mission),callback:function ($$v) {_vm.mission=$$v},expression:\"mission\"}}),_c('b-modal',_vm._b({ref:\"modalSuppression\",on:{\"hidden\":function($event){_vm.modalSuppression.visible = false}}},'b-modal',_vm.modalSuppression,false),[_c('p',{staticClass:\"my-4\"},[_vm._v(_vm._s(_vm.modalSuppression.content))])]),_c('prestation-expertise-mission-merge',{on:{\"mergeAccepted\":function($event){return _vm.onEmitMergeMission($event)}}})],1),_c('template',{slot:\"prestation-expertise-layout-component-mobile-navigation-menu\"},[_c('prestation-expertise-mobile-menu',{attrs:{\"componentsSections\":_vm.componentsSectionsForMobile,\"currentComponentSection\":_vm.currentComponentSection,\"color\":_vm.color},on:{\"componentSectionChanged\":_vm.onEmitComponentSectionChanged}})],1)],2):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { required, requiredIf, minLength, helpers } from 'vuelidate/lib/validators';\r\nimport { hasFourchetteValeur, hasValeurVenteRapide, hasValeurVenteForcee } from '@/helpers/prestation-expertise.helper';\r\n\r\n// Validation pour pouvoir déposer la ValeurSpotPlus\r\nconst valeurSpotPlusValidation = {\r\n mission: {\r\n dateVisite: {\r\n required,\r\n },\r\n prestationExpertise: {\r\n contratCategorieDActifId: { required },\r\n contratTypeBienId: {\r\n customRequired(value) {\r\n return this.businessEntries.contratTypeBiens.filter((b) => b.parentId == this.valeurSpotPlus.contratCategorieDActifId).length > 0\r\n ? helpers.req(value)\r\n : true;\r\n },\r\n },\r\n geographiqueSituationGenerale: {\r\n required,\r\n },\r\n geographiqueSituationParticuliere: {\r\n required,\r\n },\r\n appreciationGeographique: {\r\n required,\r\n },\r\n referencesCadastrales: {\r\n required,\r\n minLength: minLength(1),\r\n $each: {\r\n section: { required },\r\n parcelle: { required },\r\n superficie: {},\r\n },\r\n },\r\n piecesJointes: {\r\n PlanCadastre: {\r\n required,\r\n },\r\n PhotoBien: {\r\n required,\r\n },\r\n },\r\n surfaceHabitable: {\r\n required,\r\n },\r\n adequationBienVsDemande: {\r\n required,\r\n },\r\n avisExpert: {\r\n required,\r\n },\r\n reductionMetriqueTransaction: {\r\n required,\r\n },\r\n valeurVenale: {\r\n required,\r\n },\r\n valeurVenaleArrondie: {\r\n customRequired(value) {\r\n return !hasFourchetteValeur(this.mission) ? helpers.req(value) : true;\r\n },\r\n },\r\n valeurVenaleFourchetteBasseArrondie: {\r\n customRequired(value) {\r\n return hasFourchetteValeur(this.mission) ? helpers.req(value) : true;\r\n },\r\n },\r\n valeurVenaleFourchetteHauteArrondie: {\r\n customRequired(value) {\r\n return hasFourchetteValeur(this.mission) ? helpers.req(value) : true;\r\n },\r\n },\r\n valeurVenteRapide: {\r\n customRequired(value) {\r\n return hasValeurVenteRapide(this.mission) ? helpers.req(value) : true;\r\n },\r\n },\r\n valeurVenteRapideArrondie: {\r\n customRequired(value) {\r\n return hasValeurVenteRapide(this.mission) && !hasFourchetteValeur(this.mission) ? helpers.req(value) : true;\r\n },\r\n },\r\n valeurVenteRapideFourchetteBasseArrondie: {\r\n customRequired(value) {\r\n return hasValeurVenteRapide(this.mission) && hasFourchetteValeur(this.mission) ? helpers.req(value) : true;\r\n },\r\n },\r\n valeurVenteRapideFourchetteHauteArrondie: {\r\n customRequired(value) {\r\n return hasValeurVenteRapide(this.mission) && hasFourchetteValeur(this.mission) ? helpers.req(value) : true;\r\n },\r\n },\r\n valeurVenteRapideAbattement: {\r\n customRequired(value) {\r\n return hasValeurVenteRapide(this.mission) ? helpers.req(value) : true;\r\n },\r\n },\r\n valeurVenteForcee: {\r\n customRequired(value) {\r\n return hasValeurVenteForcee(this.mission) ? helpers.req(value) : true;\r\n },\r\n },\r\n valeurVenteForceeArrondie: {\r\n customRequired(value) {\r\n return hasValeurVenteForcee(this.mission) && !hasFourchetteValeur(this.mission) ? helpers.req(value) : true;\r\n },\r\n },\r\n valeurVenteForceeFourchetteBasseArrondie: {\r\n customRequired(value) {\r\n return hasValeurVenteForcee(this.mission) && hasFourchetteValeur(this.mission) ? helpers.req(value) : true;\r\n },\r\n },\r\n valeurVenteForceeFourchetteHauteArrondie: {\r\n customRequired(value) {\r\n return hasValeurVenteForcee(this.mission) && hasFourchetteValeur(this.mission) ? helpers.req(value) : true;\r\n },\r\n },\r\n valeurVenteForceeAbattement: {\r\n customRequired(value) {\r\n return hasValeurVenteForcee(this.mission) ? helpers.req(value) : true;\r\n },\r\n },\r\n appreciationNiveauLiquidite: {\r\n required,\r\n },\r\n conclusionDelaiDeVenteMoyenId: {\r\n required,\r\n },\r\n },\r\n contratGroup: [\r\n 'mission.prestationExpertise.contratCategorieDActifId',\r\n 'mission.prestationExpertise.contratTypeBienId',\r\n 'mission.dateVisite',\r\n ],\r\n situationGeographiqueGroup: [\r\n 'mission.prestationExpertise.geographiqueSituationGenerale',\r\n 'mission.prestationExpertise.geographiqueSituationParticuliere',\r\n 'mission.prestationExpertise.appreciationGeographique',\r\n ],\r\n descriptionGeneraleGroup: [\r\n 'mission.prestationExpertise.referencesCadastrales',\r\n 'mission.prestationExpertise.piecesJointes.PlanCadastre',\r\n 'mission.prestationExpertise.piecesJointes.PhotoBien',\r\n 'mission.prestationExpertise.surfaceHabitable',\r\n 'mission.prestationExpertise.adequationBienVsDemande',\r\n ],\r\n analyseBienGroup: ['mission.prestationExpertise.avisExpert', 'mission.prestationExpertise.reductionMetriqueTransaction'],\r\n conclusionGroup: [\r\n 'mission.prestationExpertise.valeurVenale',\r\n 'mission.prestationExpertise.valeurVenaleArrondie',\r\n 'mission.prestationExpertise.valeurVenaleFourchetteBasseArrondie',\r\n 'mission.prestationExpertise.valeurVenaleFourchetteHauteArrondie',\r\n 'mission.prestationExpertise.valeurVenteRapide',\r\n 'mission.prestationExpertise.valeurVenteRapideArrondie',\r\n 'mission.prestationExpertise.valeurVenteRapideFourchetteBasseArrondie',\r\n 'mission.prestationExpertise.valeurVenteRapideFourchetteHauteArrondie',\r\n 'mission.prestationExpertise.valeurVenteRapideAbattement',\r\n 'mission.prestationExpertise.valeurVenteForcee',\r\n 'mission.prestationExpertise.valeurVenteForceeArrondie',\r\n 'mission.prestationExpertise.valeurVenteForceeFourchetteBasseArrondie',\r\n 'mission.prestationExpertise.valeurVenteForceeFourchetteHauteArrondie',\r\n 'mission.prestationExpertise.valeurVenteForceeAbattement',\r\n 'mission.prestationExpertise.appreciationNiveauLiquidite',\r\n 'mission.prestationExpertise.conclusionDelaiDeVenteMoyenId',\r\n ],\r\n },\r\n};\r\n\r\nexport { valeurSpotPlusValidation };\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Vue, Component } from 'vue-property-decorator';\r\nimport PrestationExpertiseLayout from '@/views/layouts/prestation-expertise.layout.vue';\r\nimport PrestationExpertise from '@/views/prestation-expertise/prestation-expertise';\r\nimport PrestationExpertiseSections from '@/components/prestation-expertise/prestation-expertise-sections.vue';\r\nimport PrestationExpertiseDesktopMenu from '@/components/prestation-expertise/prestation-expertise-desktop-menu.vue';\r\nimport PrestationExpertiseMobileMenu from '@/components/prestation-expertise/prestation-expertise-mobile-menu.vue';\r\nimport PrestationExpertiseHeaderActions from '@/components/prestation-expertise/prestation-expertise-header-actions.vue';\r\n\r\nimport { valeurSpotPlusValidation } from '@/validations/valeur-spot-plus.validation';\r\n\r\nimport { ValeurSpotPlusDto } from '@/shared/dtos/valeur-spot-plus.dto';\r\nimport { MissionDto } from '@/shared/dtos/mission.dto';\r\nimport PrestationExpertiseMissionMerge from '@/shared/components/prestation-expertise/prestation-expertise-mission-merge.vue';\r\nimport { MergeDto } from '@/shared/dtos/merge.dto';\r\nimport { SubjectMessageTypeEnum } from '@/shared/enums/subject-message-type.enum';\r\nimport { PrestationExpertiseProprietesDto } from '@/shared/dtos/prestation-expertise/prestation-expertise-proprietes.dto';\r\n\r\n@Component({\r\n name: 'PrestationExpertiseValeurSpotPlus',\r\n components: {\r\n // Layout\r\n PrestationExpertiseLayout,\r\n PrestationExpertiseSections,\r\n PrestationExpertiseDesktopMenu,\r\n PrestationExpertiseMobileMenu,\r\n PrestationExpertiseHeaderActions,\r\n PrestationExpertiseMissionMerge,\r\n },\r\n validations: valeurSpotPlusValidation,\r\n})\r\nexport default class PrestationExpertiseValeurSpotPlus extends PrestationExpertise {\r\n constructor() {\r\n // Cannot pass componentsSections in the parent bescause @Component doesn't support properties in contructor...\r\n super();\r\n }\r\n\r\n //#region LIFE CYCLES\r\n public async beforeMount(): Promise {\r\n if (this.hasAccess) {\r\n this.initComponentSections();\r\n\r\n await this.initMergeDatas();\r\n }\r\n }\r\n\r\n public mounted(): void {\r\n // Watch à cet endroit là pour éviter de le trigger dès le début et MAJ la date de modification sans le vouloir\r\n // VueJS semble mettre à jour l'objet mission\r\n setTimeout(() => {\r\n this.$watch(\r\n 'valeurSpotPlus.proprietes.estEditionForcee',\r\n async () => {\r\n this._needToByPasseHasPrestationExpertiseChanged = true;\r\n const logMessage = `Sauvegarde des propriétés: ${this.mission.reference}`;\r\n this.saveInStorage(true);\r\n\r\n await Vue.prototype.$logStoreService.info(`${logMessage} - START`, 'PrestationExpertiseValeurSpotPlus');\r\n\r\n Vue.prototype.$prestationExpertiseProprietesApiService\r\n .update((this.valeurSpotPlus.proprietes as PrestationExpertiseProprietesDto).id, this.valeurSpotPlus.proprietes)\r\n .then(async () => {\r\n await Vue.prototype.$logStoreService.info(`${logMessage} - END`, 'PrestationExpertiseValeurSpotPlus');\r\n Vue.prototype.$notificationService.success(`Les propriétés ont été sauvegardées avec succès.`);\r\n })\r\n .catch(async (error: any) => {\r\n Vue.prototype.$notificationService.error(`Une erreur est survenue lors de la sauvegarde des propriétés.`);\r\n await Vue.prototype.$logStoreService.info(`${logMessage} - ERROR`, error, 'PrestationExpertiseValeurSpotPlus');\r\n });\r\n },\r\n { deep: true }\r\n );\r\n }, 50);\r\n }\r\n\r\n //#endregion\r\n\r\n //#region COMPUTED\r\n get valeurSpotPlus(): ValeurSpotPlusDto {\r\n return this.mission.prestationExpertise as ValeurSpotPlusDto;\r\n }\r\n\r\n set valeurSpotPlus(value: ValeurSpotPlusDto) {\r\n this.mission.prestationExpertise = value;\r\n }\r\n\r\n get color(): string {\r\n return '#00ab9d';\r\n }\r\n\r\n //#endregion\r\n\r\n //#region WATCH\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n protected cleanBeforeSaveInStorage(missionToClean: MissionDto): void {}\r\n\r\n protected async cleanBeforeSave(): Promise {}\r\n\r\n protected touchDatas(): boolean {\r\n this.$v.mission.prestationExpertise.$touch();\r\n this.$v.mission.prestationExpertise.piecesJointes.$touch();\r\n\r\n return this.$v.mission.prestationExpertise.$invalid || this.$v.mission.prestationExpertise.piecesJointes.$invalid;\r\n }\r\n\r\n public initComponentSections(): void {\r\n this.componentsSections = [\r\n {\r\n slug: 'rapport',\r\n name: 'rapport',\r\n isOnlyForDesktop: false,\r\n children: [\r\n {\r\n slug: 'rapport-proprietes',\r\n name: 'propriétés',\r\n isOnlyForDesktop: false,\r\n componentName: 'PrestationExpertiseProprietes',\r\n properties: {\r\n proprietes: this.valeurSpotPlus.proprietes as PrestationExpertiseProprietesDto,\r\n prestationExpertiseId: this.valeurSpotPlus.id,\r\n isReadOnly: false,\r\n },\r\n permission: 'SavePropriete|Rapport',\r\n },\r\n ],\r\n permission: 'SavePropriete|Rapport',\r\n },\r\n {\r\n slug: 'contrat',\r\n name: 'contrat',\r\n children: [\r\n {\r\n slug: 'contrat-mission',\r\n name: 'mission',\r\n isActive: true,\r\n componentName: 'PrestationExpertiseValeurSpotPlusContratMission',\r\n },\r\n ],\r\n validationName: 'contratGroup',\r\n },\r\n {\r\n slug: 'situation-geographique',\r\n name: 'situation géographique',\r\n children: [\r\n {\r\n slug: 'situation-geographique-plans-de-situation',\r\n name: 'plans de situation',\r\n componentName: 'PrestationExpertiseValeurSpotPlusSituationGeographiquePlansDeSituation',\r\n },\r\n ],\r\n validationName: 'situationGeographiqueGroup',\r\n },\r\n {\r\n slug: 'description-generale',\r\n name: 'description générale',\r\n children: [\r\n {\r\n slug: 'description-generale-description-du-bien',\r\n name: 'description du bien',\r\n componentName: 'PrestationExpertiseValeurSpotPlusDescriptionGeneraleDescriptionDuBien',\r\n },\r\n ],\r\n validationName: 'descriptionGeneraleGroup',\r\n },\r\n {\r\n slug: 'analyse-du-bien',\r\n name: 'analyse du bien',\r\n children: [\r\n {\r\n slug: 'analyse-du-bien-commentaires',\r\n name: 'commentaires',\r\n componentName: 'PrestationExpertiseValeurSpotPlusAnalyseDuBienCommentaires',\r\n },\r\n ],\r\n validationName: 'analyseBienGroup',\r\n },\r\n {\r\n slug: 'conclusion',\r\n name: 'conclusion',\r\n children: [\r\n {\r\n slug: 'conclusion-valeurs',\r\n name: 'valeurs',\r\n componentName: 'PrestationExpertiseValeurSpotPlusConclusionValeurs',\r\n },\r\n ],\r\n validationName: 'conclusionGroup',\r\n },\r\n ];\r\n }\r\n\r\n public async onEmitMergeMission(merges: MergeDto[]): Promise {\r\n if (merges.length === 1 && merges[0].fieldName === 'TypePrestationExpertise') {\r\n const mergeTypePrestationExpertise = merges[0];\r\n return await this.changeTypePrestationExpertise(mergeTypePrestationExpertise, 'PrestationExpertiseValeurSpotPlus');\r\n }\r\n\r\n merges.forEach((merge: MergeDto) => {\r\n switch (merge.fieldName) {\r\n case 'HasFourchetteValeur':\r\n this.mission.hasFourchetteValeur = merge.newValue;\r\n break;\r\n case 'HasValeurVenteForcee':\r\n this.mission.hasValeurVenteForcee = merge.newValue;\r\n break;\r\n case 'HasValeurVenteRapide':\r\n this.mission.hasValeurVenteRapide = merge.newValue;\r\n break;\r\n }\r\n });\r\n\r\n Vue.prototype.$subjectMessageService.next(SubjectMessageTypeEnum.REFRESH_VALEURS_DATA);\r\n this._hasMissionChanged = true;\r\n await this.saveInStorage();\r\n }\r\n\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-valeur-spot-plus.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-valeur-spot-plus.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./prestation-expertise-valeur-spot-plus.vue?vue&type=template&id=f083b3e8&\"\nimport script from \"./prestation-expertise-valeur-spot-plus.vue?vue&type=script&lang=ts&\"\nexport * from \"./prestation-expertise-valeur-spot-plus.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.mission && _vm.hasAccess)?_c('prestation-expertise-layout',[_c('template',{slot:\"prestation-expertise-layout-component-header\"},[_c('div',{staticClass:\"prestation-expertise-layout-component-header-title\"},[_vm._v(\" \"+_vm._s(_vm.mission.emprunteur)+\" \"),_c('br'),_vm._v(\" \"+_vm._s(_vm.mission.reference)+\" \")]),_c('prestation-expertise-header-actions',{attrs:{\"isReadOnly\":_vm.isReadOnly,\"isSaving\":_vm.isSaving,\"isExporting\":_vm.isExporting,\"isDepositing\":_vm.isDepositing,\"mission\":_vm.mission,\"lastPrestationExpertiseVersionHistory\":_vm.lastPrestationExpertiseVersionHistory},on:{\"saveButtonClicked\":_vm.onEmitSaveButtonClicked,\"exportButtonClicked\":_vm.onEmitExportButtonClicked,\"deposerButtonClicked\":_vm.onEmitDeposerButtonClicked}})],1),_c('template',{slot:\"prestation-expertise-layout-component-content-desktop-navigation-menu\"},[_c('prestation-expertise-desktop-menu',{attrs:{\"componentsSections\":_vm.componentsSections,\"currentComponentSection\":_vm.currentComponentSection,\"color\":_vm.color,\"validation\":_vm.$v},on:{\"componentSectionChanged\":_vm.onEmitComponentSectionChanged}})],1),_c('template',{slot:\"prestation-expertise-layout-component-content-body\"},[_c('prestation-expertise-sections',{attrs:{\"componentsSections\":_vm.isBrowser ? _vm.componentsSections : _vm.componentsSectionsForMobile,\"currentComponentSection\":_vm.currentComponentSection,\"businessEntries\":_vm.businessEntries,\"societeSettings\":_vm.societeSettings,\"validation\":_vm.$v,\"color\":_vm.color,\"isReadOnly\":_vm.isReadOnly},model:{value:(_vm.mission),callback:function ($$v) {_vm.mission=$$v},expression:\"mission\"}}),_c('b-modal',_vm._b({ref:\"modalSuppression\",on:{\"hidden\":function($event){_vm.modalSuppression.visible = false}}},'b-modal',_vm.modalSuppression,false),[_c('p',{staticClass:\"my-4\"},[_vm._v(_vm._s(_vm.modalSuppression.content))])]),_c('prestation-expertise-mission-merge',{on:{\"mergeAccepted\":function($event){return _vm.onEmitMergeMission($event)}}})],1),_c('template',{slot:\"prestation-expertise-layout-component-mobile-navigation-menu\"},[_c('prestation-expertise-mobile-menu',{attrs:{\"componentsSections\":_vm.componentsSectionsForMobile,\"currentComponentSection\":_vm.currentComponentSection,\"color\":_vm.color},on:{\"componentSectionChanged\":_vm.onEmitComponentSectionChanged}})],1)],2):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { required, helpers } from 'vuelidate/lib/validators';\r\nconst etatAvancementTravauxValidation = {\r\n mission: {\r\n dateVisite: {\r\n required,\r\n },\r\n prestationExpertise: {\r\n contratCategorieDActifId: { required },\r\n contratTypeBienId: {\r\n customRequired(value) {\r\n return this.businessEntries.contratTypeBiens.filter((b) => b.parentId == this.etatAvancementTravaux.contratCategorieDActifId)\r\n .length > 0\r\n ? helpers.req(value)\r\n : true;\r\n },\r\n },\r\n piecesJointes: {\r\n PhotoBien: {\r\n required,\r\n },\r\n },\r\n avisExpert: {\r\n required,\r\n },\r\n pointsInspectionsRelations: {\r\n $each: {\r\n etat: { required },\r\n },\r\n },\r\n estConclusionValide: {\r\n required,\r\n },\r\n etatAvancement: {\r\n required,\r\n },\r\n },\r\n contratGroup: [\r\n 'mission.prestationExpertise.contratCategorieDActifId',\r\n 'mission.prestationExpertise.contratTypeBienId',\r\n 'mission.dateVisite',\r\n ],\r\n bienGroup: ['mission.prestationExpertise.piecesJointes.PhotoBien'],\r\n pointsInspectionsGroup: ['mission.prestationExpertise.pointsInspectionsRelations'],\r\n commentairesGroup: ['mission.prestationExpertise.avisExpert'],\r\n conclusionGroup: ['mission.prestationExpertise.estConclusionValide', 'mission.prestationExpertise.etatAvancement'],\r\n },\r\n};\r\n\r\nexport { etatAvancementTravauxValidation };\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Vue } from 'vue-property-decorator';\r\n\r\nimport PrestationExpertiseLayout from '@/views/layouts/prestation-expertise.layout.vue';\r\nimport PrestationExpertise from '@/views/prestation-expertise/prestation-expertise';\r\nimport PrestationExpertiseSections from '@/components/prestation-expertise/prestation-expertise-sections.vue';\r\nimport PrestationExpertiseDesktopMenu from '@/components/prestation-expertise/prestation-expertise-desktop-menu.vue';\r\nimport PrestationExpertiseMobileMenu from '@/components/prestation-expertise/prestation-expertise-mobile-menu.vue';\r\nimport PrestationExpertiseHeaderActions from '@/components/prestation-expertise/prestation-expertise-header-actions.vue';\r\n\r\nimport { etatAvancementTravauxValidation } from '@/validations/etat-avancement-travaux.validation';\r\nimport { EtatAvancementTravauxDto } from '@/shared/dtos/etat-avancement-travaux.dto';\r\nimport { ComponentSection } from '@/shared/models/component-section';\r\nimport { PrestationExpertisePointInspectionDto } from '@/shared/dtos/prestation-expertise/prestation-expertise-point-inspection.dto';\r\nimport { PointInspectionCategorieEnum } from '@/shared/enums/point-inspection-categorie.enum';\r\nimport { getPointInspectionCategorieEnumName } from '@/shared/utilities/enums.utility';\r\nimport { MissionDto } from '@/shared/dtos/mission.dto';\r\nimport { PrestationExpertiseProprietesDto } from '@/shared/dtos/prestation-expertise/prestation-expertise-proprietes.dto';\r\nimport { MergeDto } from '@/shared/dtos/merge.dto';\r\nimport PrestationExpertiseMissionMerge from '@/shared/components/prestation-expertise/prestation-expertise-mission-merge.vue';\r\nimport { SubjectMessageTypeEnum } from '@/shared/enums/subject-message-type.enum';\r\n\r\n@Component({\r\n name: 'PrestationExpertiseEtatAvancementTravaux',\r\n components: {\r\n // Layout\r\n PrestationExpertiseLayout,\r\n PrestationExpertiseSections,\r\n PrestationExpertiseDesktopMenu,\r\n PrestationExpertiseMobileMenu,\r\n PrestationExpertiseHeaderActions,\r\n PrestationExpertiseMissionMerge,\r\n },\r\n validations: etatAvancementTravauxValidation,\r\n})\r\nexport default class PrestationExpertiseEtatAvancementTravaux extends PrestationExpertise {\r\n constructor() {\r\n // Cannot pass componentsSections in the parent bescause @Component doesn't support properties in contructor...\r\n super();\r\n }\r\n\r\n //#region LIFE CYCLES\r\n public async beforeMount(): Promise {\r\n if (this.hasAccess) {\r\n this.initComponentSections();\r\n\r\n await this.initMergeDatas();\r\n }\r\n }\r\n\r\n public mounted(): void {\r\n // Watch à cet endroit là pour éviter de le trigger dès le début et MAJ la date de modification sans le vouloir\r\n // VueJS semble mettre à jour l'objet mission\r\n setTimeout(() => {\r\n this.$watch(\r\n 'etatAvancementTravaux.proprietes.estEditionForcee',\r\n async () => {\r\n this._needToByPasseHasPrestationExpertiseChanged = true;\r\n const logMessage = `Sauvegarde des propriétés: ${this.mission.reference}`;\r\n this.saveInStorage(true);\r\n\r\n await Vue.prototype.$logStoreService.info(`${logMessage} - START`, 'PrestationExpertiseEtatAvancementTravaux');\r\n\r\n Vue.prototype.$prestationExpertiseProprietesApiService\r\n .update((this.etatAvancementTravaux.proprietes as PrestationExpertiseProprietesDto).id, this.etatAvancementTravaux.proprietes)\r\n .then(async () => {\r\n await Vue.prototype.$logStoreService.info(`${logMessage} - END`, 'PrestationExpertiseEtatAvancementTravaux');\r\n Vue.prototype.$notificationService.success(`Les propriétés ont été sauvegardées avec succès.`);\r\n })\r\n .catch(async (error: any) => {\r\n Vue.prototype.$notificationService.error(`Une erreur est survenue lors de la sauvegarde des propriétés.`);\r\n await Vue.prototype.$logStoreService.info(`${logMessage} - ERROR`, error, 'PrestationExpertiseEtatAvancementTravaux');\r\n });\r\n },\r\n { deep: true }\r\n );\r\n }, 50);\r\n }\r\n\r\n //#endregion\r\n\r\n //#region COMPUTED\r\n get etatAvancementTravaux(): EtatAvancementTravauxDto {\r\n return this.mission.prestationExpertise as EtatAvancementTravauxDto;\r\n }\r\n\r\n set etatAvancementTravaux(value: EtatAvancementTravauxDto) {\r\n this.mission.prestationExpertise = value;\r\n }\r\n\r\n get color(): string {\r\n return '#00ab9d';\r\n }\r\n //#endregion\r\n\r\n //#region WATCH\r\n //#endregion\r\n\r\n //#region EVENTS\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n protected cleanBeforeSaveInStorage(missionToClean: MissionDto): void {}\r\n\r\n protected async cleanBeforeSave(): Promise {}\r\n\r\n private initComponentSections(): void {\r\n var pointsInspections: PrestationExpertisePointInspectionDto[] = Vue.prototype.$localStorageService.getPointsInspections();\r\n var isHorsAir = this.mission.motifPrestationExpertise === \"Hors d'air\";\r\n\r\n var childrenPointsInspections: ComponentSection[] = isHorsAir\r\n ? this.getComponentsSectionsForHorsAir(pointsInspections)\r\n : this.getComponentsSectionsForHorsEau(pointsInspections);\r\n\r\n this.componentsSections = [\r\n {\r\n slug: 'rapport',\r\n name: 'rapport',\r\n isOnlyForDesktop: false,\r\n children: [\r\n {\r\n slug: 'rapport-proprietes',\r\n name: 'propriétés',\r\n isOnlyForDesktop: false,\r\n componentName: 'PrestationExpertiseProprietes',\r\n properties: {\r\n proprietes: this.etatAvancementTravaux.proprietes as PrestationExpertiseProprietesDto,\r\n prestationExpertiseId: this.etatAvancementTravaux.id,\r\n isReadOnly: false,\r\n },\r\n permission: 'SavePropriete|Rapport',\r\n },\r\n ],\r\n permission: 'SavePropriete|Rapport',\r\n },\r\n {\r\n slug: 'contrat',\r\n name: 'contrat',\r\n children: [\r\n {\r\n slug: 'contrat-mission',\r\n name: 'mission',\r\n isActive: true,\r\n componentName: 'PrestationExpertiseEtatAvancementTravauxContratMission',\r\n },\r\n ],\r\n validationName: 'contratGroup',\r\n },\r\n {\r\n slug: 'bien',\r\n name: 'bien',\r\n children: [\r\n {\r\n slug: 'photos-bien',\r\n name: 'photos du bien',\r\n isActive: true,\r\n componentName: 'PrestationExpertiseEtatAvancementTravauxBien',\r\n },\r\n ],\r\n validationName: 'bienGroup',\r\n },\r\n {\r\n slug: 'points-inspections',\r\n name: `points d'inspection`,\r\n children: childrenPointsInspections,\r\n validationName: 'pointsInspectionsGroup',\r\n },\r\n {\r\n slug: 'commentaires',\r\n name: 'commentaires',\r\n children: [\r\n {\r\n slug: 'avis-expert',\r\n name: `Avis de l'expert`,\r\n isActive: true,\r\n componentName: 'PrestationExpertiseEtatAvancementTravauxAvisExpert',\r\n },\r\n ],\r\n validationName: 'commentairesGroup',\r\n },\r\n {\r\n slug: 'conclusion',\r\n name: 'conclusion',\r\n children: [\r\n {\r\n slug: 'conclusion',\r\n name: `conclusion`,\r\n isActive: true,\r\n componentName: 'PrestationExpertiseEtatAvancementTravauxConclusion',\r\n },\r\n ],\r\n validationName: 'conclusionGroup',\r\n },\r\n ];\r\n }\r\n\r\n protected touchDatas(): boolean {\r\n this.$v.mission.prestationExpertise.$touch();\r\n this.$v.mission.prestationExpertise.pointsInspectionsRelations.$touch();\r\n this.$v.mission.prestationExpertise.piecesJointes.$touch();\r\n\r\n return (\r\n this.$v.mission.prestationExpertise.$invalid ||\r\n this.$v.mission.prestationExpertise.pointsInspectionsRelations.$invalid ||\r\n this.$v.mission.prestationExpertise.piecesJointes.$invalid\r\n );\r\n }\r\n\r\n private getComponentsSectionsForHorsAir(pointsInspections: PrestationExpertisePointInspectionDto[]): ComponentSection[] {\r\n return [\r\n {\r\n slug: 'menuiseries-exterieures',\r\n name: 'Menuiseries extérieures',\r\n isActive: true,\r\n componentName: 'PrestationExpertiseEtatAvancementTravauxPointInspection',\r\n properties: {\r\n nom: getPointInspectionCategorieEnumName(PointInspectionCategorieEnum.MenuiseriesExterieures),\r\n pointsInspections: pointsInspections.filter((x) => x.categorie === PointInspectionCategorieEnum.MenuiseriesExterieures),\r\n },\r\n },\r\n {\r\n slug: 'electricite',\r\n name: 'Electricité',\r\n isActive: true,\r\n componentName: 'PrestationExpertiseEtatAvancementTravauxPointInspection',\r\n properties: {\r\n nom: getPointInspectionCategorieEnumName(PointInspectionCategorieEnum.Electricite),\r\n pointsInspections: pointsInspections.filter((x) => x.categorie === PointInspectionCategorieEnum.Electricite),\r\n },\r\n },\r\n {\r\n slug: 'plomberie',\r\n name: 'Plomberie',\r\n isActive: true,\r\n componentName: 'PrestationExpertiseEtatAvancementTravauxPointInspection',\r\n properties: {\r\n nom: getPointInspectionCategorieEnumName(PointInspectionCategorieEnum.Plomberie),\r\n pointsInspections: pointsInspections.filter((x) => x.categorie === PointInspectionCategorieEnum.Plomberie),\r\n },\r\n },\r\n {\r\n slug: 'chauffage',\r\n name: 'Chauffage',\r\n isActive: true,\r\n componentName: 'PrestationExpertiseEtatAvancementTravauxPointInspection',\r\n properties: {\r\n nom: getPointInspectionCategorieEnumName(PointInspectionCategorieEnum.Chauffage),\r\n pointsInspections: pointsInspections.filter((x) => x.categorie === PointInspectionCategorieEnum.Chauffage),\r\n },\r\n },\r\n {\r\n slug: 'isolation',\r\n name: 'Isolation',\r\n isActive: true,\r\n componentName: 'PrestationExpertiseEtatAvancementTravauxPointInspection',\r\n properties: {\r\n nom: getPointInspectionCategorieEnumName(PointInspectionCategorieEnum.Isolation),\r\n pointsInspections: pointsInspections.filter((x) => x.categorie === PointInspectionCategorieEnum.Isolation),\r\n },\r\n },\r\n {\r\n slug: 'finitions',\r\n name: 'Finitions',\r\n isActive: true,\r\n componentName: 'PrestationExpertiseEtatAvancementTravauxPointInspection',\r\n properties: {\r\n nom: getPointInspectionCategorieEnumName(PointInspectionCategorieEnum.Finitions),\r\n pointsInspections: pointsInspections.filter((x) => x.categorie === PointInspectionCategorieEnum.Finitions),\r\n },\r\n },\r\n ];\r\n }\r\n\r\n private getComponentsSectionsForHorsEau(pointsInspections: PrestationExpertisePointInspectionDto[]): ComponentSection[] {\r\n return [\r\n {\r\n slug: 'gros-oeuvre',\r\n name: 'Gros oeuvre',\r\n isActive: true,\r\n componentName: 'PrestationExpertiseEtatAvancementTravauxPointInspection',\r\n properties: {\r\n nom: getPointInspectionCategorieEnumName(PointInspectionCategorieEnum.GrosOeuvre),\r\n pointsInspections: pointsInspections.filter((x) => x.categorie === PointInspectionCategorieEnum.GrosOeuvre),\r\n },\r\n },\r\n {\r\n slug: 'raccordement',\r\n name: 'Raccordement',\r\n isActive: true,\r\n componentName: 'PrestationExpertiseEtatAvancementTravauxPointInspection',\r\n properties: {\r\n nom: getPointInspectionCategorieEnumName(PointInspectionCategorieEnum.Raccordement),\r\n pointsInspections: pointsInspections.filter((x) => x.categorie === PointInspectionCategorieEnum.Raccordement),\r\n },\r\n },\r\n ];\r\n }\r\n\r\n public async onEmitMergeMission(merges: MergeDto[]): Promise {\r\n if (merges.length === 1 && merges[0].fieldName === 'TypePrestationExpertise') {\r\n const mergeTypePrestationExpertise = merges[0];\r\n return await this.changeTypePrestationExpertise(mergeTypePrestationExpertise, 'PrestationExpertiseEtatAvancementTravaux');\r\n }\r\n\r\n /* A Reactiver s'il y a des champs à merger\r\n merges.forEach((merge: MergeDto) => {\r\n });\r\n\r\n Vue.prototype.$subjectMessageService.next(SubjectMessageTypeEnum.REFRESH_VALEURS_DATA);\r\n this._hasMissionChanged = true;\r\n await this.saveInStorage();*/\r\n }\r\n\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-etat-avancement-travaux.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-etat-avancement-travaux.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./prestation-expertise-etat-avancement-travaux.vue?vue&type=template&id=0a8c9042&\"\nimport script from \"./prestation-expertise-etat-avancement-travaux.vue?vue&type=script&lang=ts&\"\nexport * from \"./prestation-expertise-etat-avancement-travaux.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.mission && _vm.hasAccess)?_c('prestation-expertise-layout',[_c('template',{slot:\"prestation-expertise-layout-component-header\"},[_c('div',{staticClass:\"prestation-expertise-layout-component-header-title\"},[(_vm.mission.emprunteur)?_c('span',[_vm._v(_vm._s(_vm.mission.emprunteur))]):_c('span',[_vm._v(_vm._s(_vm.mission.societeNom))]),_c('br'),_vm._v(\" \"+_vm._s(_vm.mission.reference)+\" \")]),_c('prestation-expertise-header-actions',{attrs:{\"isReadOnly\":_vm.isReadOnly || _vm.isSaving,\"isSaving\":_vm.isSaving,\"isExporting\":_vm.isExporting,\"isDepositing\":_vm.isDepositing,\"mission\":_vm.mission,\"lastPrestationExpertiseVersionHistory\":_vm.lastPrestationExpertiseVersionHistory,\"isExportDisplayed\":false},on:{\"saveButtonClicked\":_vm.onEmitSaveButtonClicked,\"exportButtonClicked\":_vm.onEmitExportButtonClicked,\"deposerButtonClicked\":_vm.onEmitDeposerButtonClicked}})],1),_c('template',{slot:\"prestation-expertise-layout-component-content-desktop-navigation-menu\"},[_c('prestation-expertise-desktop-menu',{attrs:{\"componentsSections\":_vm.componentsSections,\"currentComponentSection\":_vm.currentComponentSection,\"color\":_vm.color,\"validation\":_vm.$v},on:{\"componentSectionChanged\":_vm.onEmitComponentSectionChanged}})],1),_c('template',{slot:\"prestation-expertise-layout-component-content-body\"},[_c('prestation-expertise-sections',{attrs:{\"componentsSections\":_vm.isBrowser ? _vm.componentsSections : _vm.componentsSectionsForMobile,\"currentComponentSection\":_vm.currentComponentSection,\"businessEntries\":_vm.businessEntries,\"societeSettings\":_vm.societeSettings,\"validation\":_vm.$v,\"color\":_vm.color,\"isReadOnly\":_vm.isReadOnly},model:{value:(_vm.mission),callback:function ($$v) {_vm.mission=$$v},expression:\"mission\"}}),_c('b-modal',_vm._b({ref:\"modalSuppression\",on:{\"hidden\":function($event){_vm.modalSuppression.visible = false}}},'b-modal',_vm.modalSuppression,false),[_c('p',{staticClass:\"my-4\"},[_vm._v(_vm._s(_vm.modalSuppression.content))])])],1),_c('template',{slot:\"prestation-expertise-layout-component-mobile-navigation-menu\"},[_c('prestation-expertise-mobile-menu',{attrs:{\"componentsSections\":_vm.componentsSectionsForMobile,\"currentComponentSection\":_vm.currentComponentSection,\"color\":_vm.color},on:{\"componentSectionChanged\":_vm.onEmitComponentSectionChanged}})],1)],2):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { required, helpers } from 'vuelidate/lib/validators';\r\n\r\nconst etudeDeMarcheValidation = {\r\n mission: {\r\n dateVisite: {\r\n required,\r\n },\r\n prestationExpertise: {\r\n contratCategorieDActifId: { required },\r\n contratTypeBienId: {\r\n customRequired(value) {\r\n return this.businessEntries.contratTypeBiens.filter((b) => b.parentId == this.etudeDeMarche.contratCategorieDActifId).length > 0\r\n ? helpers.req(value)\r\n : true;\r\n },\r\n },\r\n annexes: {\r\n required,\r\n },\r\n },\r\n contratGroup: [\r\n 'mission.prestationExpertise.contratCategorieDActifId',\r\n 'mission.prestationExpertise.contratTypeBienId',\r\n 'mission.dateVisite',\r\n ],\r\n situationGeographiqueGroup: [],\r\n rapportGroup: ['mission.prestationExpertise.annexes'],\r\n },\r\n};\r\n\r\nexport { etudeDeMarcheValidation };\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Vue, Component } from 'vue-property-decorator';\r\nimport PrestationExpertiseLayout from '@/views/layouts/prestation-expertise.layout.vue';\r\nimport PrestationExpertise from '@/views/prestation-expertise/prestation-expertise';\r\nimport PrestationExpertiseSections from '@/components/prestation-expertise/prestation-expertise-sections.vue';\r\nimport PrestationExpertiseDesktopMenu from '@/components/prestation-expertise/prestation-expertise-desktop-menu.vue';\r\nimport PrestationExpertiseMobileMenu from '@/components/prestation-expertise/prestation-expertise-mobile-menu.vue';\r\nimport PrestationExpertiseHeaderActions from '@/components/prestation-expertise/prestation-expertise-header-actions.vue';\r\nimport { EtudeDeMarcheDto } from '@/shared/dtos/etude-de-marche.dto';\r\nimport { MissionDto } from '@/shared/dtos/mission.dto';\r\nimport { PrestationExpertiseProprietesDto } from '@/shared/dtos/prestation-expertise/prestation-expertise-proprietes.dto';\r\nimport { etudeDeMarcheValidation } from '@/validations/etude-de-marche.validation';\r\n\r\n@Component({\r\n name: 'PrestationExpertiseEtudeDeMarche',\r\n components: {\r\n // Layout\r\n PrestationExpertiseLayout,\r\n PrestationExpertiseSections,\r\n PrestationExpertiseDesktopMenu,\r\n PrestationExpertiseMobileMenu,\r\n PrestationExpertiseHeaderActions,\r\n },\r\n validations: etudeDeMarcheValidation,\r\n})\r\nexport default class PrestationExpertiseEtudeDeMarche extends PrestationExpertise {\r\n constructor() {\r\n // Cannot pass componentsSections in the parent bescause @Component doesn't support properties in contructor...\r\n super();\r\n }\r\n\r\n //#region LIFE CYCLES\r\n public async beforeMount(): Promise {\r\n if (this.hasAccess) {\r\n this.initComponentSections();\r\n }\r\n }\r\n\r\n public mounted(): void {\r\n // Watch à cet endroit là pour éviter de le trigger dès le début et MAJ la date de modification sans le vouloir\r\n // VueJS semble mettre à jour l'objet mission\r\n setTimeout(() => {\r\n this.$watch(\r\n 'etudeDeMarche.proprietes.estEditionForcee',\r\n async () => {\r\n this._needToByPasseHasPrestationExpertiseChanged = true;\r\n const logMessage = `Sauvegarde des propriétés: ${this.mission.reference}`;\r\n this.saveInStorage(true);\r\n\r\n await Vue.prototype.$logStoreService.info(`${logMessage} - START`, 'PrestationExpertiseEtudeDeMarche');\r\n\r\n Vue.prototype.$prestationExpertiseProprietesApiService\r\n .update((this.etudeDeMarche.proprietes as PrestationExpertiseProprietesDto).id, this.etudeDeMarche.proprietes)\r\n .then(async () => {\r\n await Vue.prototype.$logStoreService.info(`${logMessage} - END`, 'PrestationExpertiseEtudeDeMarche');\r\n Vue.prototype.$notificationService.success(`Les propriétés ont été sauvegardées avec succès.`);\r\n })\r\n .catch(async (error: any) => {\r\n Vue.prototype.$notificationService.error(`Une erreur est survenue lors de la sauvegarde des propriétés.`);\r\n await Vue.prototype.$logStoreService.info(`${logMessage} - ERROR`, error, 'PrestationExpertiseEtudeDeMarche');\r\n });\r\n },\r\n { deep: true }\r\n );\r\n }, 50);\r\n }\r\n\r\n //#endregion\r\n\r\n //#region COMPUTED\r\n get etudeDeMarche(): EtudeDeMarcheDto {\r\n return this.mission.prestationExpertise as EtudeDeMarcheDto;\r\n }\r\n\r\n set etudeDeMarche(value: EtudeDeMarcheDto) {\r\n this.mission.prestationExpertise = value;\r\n }\r\n\r\n get color(): string {\r\n return '#00ab9d';\r\n }\r\n\r\n //#endregion\r\n\r\n //#region WATCH\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n protected cleanBeforeSaveInStorage(missionToClean: MissionDto): void {}\r\n\r\n protected async cleanBeforeSave(): Promise {}\r\n\r\n protected touchDatas(): boolean {\r\n this.$v.mission.prestationExpertise.$touch();\r\n this.$v.mission.prestationExpertise.annexes.$touch();\r\n\r\n return this.$v.mission.prestationExpertise.$invalid || this.$v.mission.prestationExpertise.annexes.$invalid;\r\n }\r\n\r\n public initComponentSections(): void {\r\n this.componentsSections = [\r\n {\r\n slug: 'edm',\r\n name: 'Etude de marché',\r\n isOnlyForDesktop: false,\r\n children: [\r\n {\r\n slug: 'rapport-proprietes',\r\n name: 'propriétés',\r\n isOnlyForDesktop: false,\r\n componentName: 'PrestationExpertiseProprietes',\r\n properties: {\r\n proprietes: this.etudeDeMarche.proprietes as PrestationExpertiseProprietesDto,\r\n prestationExpertiseId: this.etudeDeMarche.id,\r\n isReadOnly: false,\r\n },\r\n permission: 'SavePropriete|Rapport',\r\n },\r\n ],\r\n permission: 'SavePropriete|Rapport',\r\n },\r\n {\r\n slug: 'contrat',\r\n name: 'contrat',\r\n children: [\r\n {\r\n slug: 'contrat-mission',\r\n name: 'mission',\r\n isActive: true,\r\n componentName: 'PrestationExpertiseEtudeDeMarcheContratMission',\r\n },\r\n ],\r\n validationName: 'contratGroup',\r\n },\r\n {\r\n slug: 'situation-geographique',\r\n name: 'situation géographique',\r\n children: [\r\n {\r\n slug: 'situation-geographique-plans-de-situation',\r\n name: 'plans de situation',\r\n componentName: 'PrestationExpertiseEtudeDeMarcheSituationGeographiquePlansDeSituation',\r\n },\r\n ],\r\n validationName: 'situationGeographiqueGroup',\r\n },\r\n {\r\n slug: 'rapport',\r\n name: 'rapport',\r\n children: [\r\n {\r\n slug: 'modele',\r\n name: 'modèle de rapport',\r\n componentName: 'PrestationExpertiseEtudeDeMarcheModeleRapport',\r\n },\r\n {\r\n slug: 'documents',\r\n name: 'rapport',\r\n componentName: 'PrestationExpertiseEtudeDeMarcheRapport',\r\n },\r\n ],\r\n validationName: 'rapportGroup',\r\n },\r\n ];\r\n }\r\n\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-etude-de-marche.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-etude-de-marche.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./prestation-expertise-etude-de-marche.vue?vue&type=template&id=6132f461&\"\nimport script from \"./prestation-expertise-etude-de-marche.vue?vue&type=script&lang=ts&\"\nexport * from \"./prestation-expertise-etude-de-marche.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"prestation-expertise-contact-component\"},[_c('header',{staticClass:\"prestation-expertise-contact-component-header\"},[_c('back-button',{attrs:{\"title\":\"Retour à la mission\"}})],1),_c('main',{staticClass:\"prestation-expertise-contact-component-content container-fluid\",attrs:{\"role\":\"main\",\"id\":\"main\"}},[_c('b-row',[_c('b-col',[_c('form',{attrs:{\"role\":\"form\"},on:{\"submit\":_vm.onSubmit}},[_c('div',{staticClass:\"prestation-expertise-contact-component-content-section\"},[(_vm.isAdminBPCEEI)?_c('div',{staticClass:\"prestation-expertise-contact-component-content-section-body\"},[_c('div',{staticClass:\"prestation-expertise-contact-component-content-section-body-item\"},[_c('div',{staticClass:\"prestation-expertise-contact-component-content-section-body-item-header\"},[_vm._v(\"Destinataire\")]),_c('b-form-group',[_c('b-form-checkbox',{model:{value:(_vm.isDestinataireMandantChecked),callback:function ($$v) {_vm.isDestinataireMandantChecked=$$v},expression:\"isDestinataireMandantChecked\"}},[_vm._v(\" Mandant \")]),_c('b-form-checkbox',{model:{value:(_vm.isDestinataireExpertChecked),callback:function ($$v) {_vm.isDestinataireExpertChecked=$$v},expression:\"isDestinataireExpertChecked\"}},[_vm._v(\" Expert \")]),_c('b-form-checkbox',{model:{value:(_vm.isDestinataireControleurChecked),callback:function ($$v) {_vm.isDestinataireControleurChecked=$$v},expression:\"isDestinataireControleurChecked\"}},[_vm._v(\" Contrôleur \")]),_c('b-form-input',{attrs:{\"type\":\"text\",\"placeholder\":\"Autre(s)\"},model:{value:(_vm.autreDestinataire),callback:function ($$v) {_vm.autreDestinataire=$$v},expression:\"autreDestinataire\"}}),_c('small',[_vm._v(\"Adresses e-mail séparées par des points virgules\")])],1)],1),_c('div',{staticClass:\"prestation-expertise-contact-component-content-section-body-item\"},[_c('div',{staticClass:\"prestation-expertise-contact-component-content-section-body-item-header\"},[_vm._v(\"Cc\")]),_c('b-form-group',[_c('b-form-checkbox',{model:{value:(_vm.isCcMandantChecked),callback:function ($$v) {_vm.isCcMandantChecked=$$v},expression:\"isCcMandantChecked\"}},[_vm._v(\" Mandant \")]),_c('b-form-checkbox',{model:{value:(_vm.isCcExpertChecked),callback:function ($$v) {_vm.isCcExpertChecked=$$v},expression:\"isCcExpertChecked\"}},[_vm._v(\" Expert \")]),_c('b-form-checkbox',{model:{value:(_vm.isCcControleurChecked),callback:function ($$v) {_vm.isCcControleurChecked=$$v},expression:\"isCcControleurChecked\"}},[_vm._v(\" Contrôleur \")]),_c('b-form-input',{attrs:{\"type\":\"text\",\"placeholder\":\"Autre(s)\"},model:{value:(_vm.autreCc),callback:function ($$v) {_vm.autreCc=$$v},expression:\"autreCc\"}}),_c('small',[_vm._v(\"Adresses e-mail séparées par des points virgules\")])],1)],1),_c('div',{staticClass:\"prestation-expertise-contact-component-content-section-body-item\"},[_c('div',{staticClass:\"prestation-expertise-contact-component-content-section-body-item-header\"},[_vm._v(\"Cci\")]),_c('b-form-group',[_c('b-form-checkbox',{model:{value:(_vm.isCciMandantChecked),callback:function ($$v) {_vm.isCciMandantChecked=$$v},expression:\"isCciMandantChecked\"}},[_vm._v(\" Mandant \")]),_c('b-form-checkbox',{model:{value:(_vm.isCciExpertChecked),callback:function ($$v) {_vm.isCciExpertChecked=$$v},expression:\"isCciExpertChecked\"}},[_vm._v(\" Expert \")]),_c('b-form-checkbox',{model:{value:(_vm.isCciControleurChecked),callback:function ($$v) {_vm.isCciControleurChecked=$$v},expression:\"isCciControleurChecked\"}},[_vm._v(\" Contrôleur \")]),_c('b-form-input',{attrs:{\"type\":\"text\",\"placeholder\":\"Autre(s)\"},model:{value:(_vm.autreCci),callback:function ($$v) {_vm.autreCci=$$v},expression:\"autreCci\"}}),_c('small',[_vm._v(\"Adresses e-mail séparées par des points virgules\")])],1)],1)]):_vm._e(),(!_vm.isAdminBPCEEI && (_vm.isExpert || _vm.isSoustraitant || _vm.isExpertMission || _vm.isSoustraitantAvance))?_c('div',{staticClass:\"prestation-expertise-contact-component-content-section-body\"},[_c('div',{staticClass:\"prestation-expertise-contact-component-content-section-body-item\"},[_c('div',{staticClass:\"prestation-expertise-contact-component-content-section-body-item-header\"},[_vm._v(\"Destinataires\")]),_c('b-form-checkbox',{attrs:{\"checked\":\"true\",\"disabled\":\"\"}},[_vm._v(\" Mandant, Contrôleur, SRC \")]),_c('b-form-group',[_c('b-form-input',{attrs:{\"type\":\"text\",\"placeholder\":\"Autre(s)\"},model:{value:(_vm.autreDestinataire),callback:function ($$v) {_vm.autreDestinataire=$$v},expression:\"autreDestinataire\"}}),_c('small',[_vm._v(\"Adresses e-mail séparées par des points virgules\")])],1)],1)]):_vm._e()]),_c('div',{staticClass:\"prestation-expertise-contact-component-content-section\"},[_c('div',{staticClass:\"prestation-expertise-contact-component-content-section-header\"},[_vm._v(\"Choisir un objet\")]),_c('div',{staticClass:\"prestation-expertise-contact-component-content-section-body\"},[_c('b-form-select',{attrs:{\"options\":_vm.objets},on:{\"change\":_vm.onObjetChange},model:{value:(_vm.selectedObjet),callback:function ($$v) {_vm.selectedObjet=$$v},expression:\"selectedObjet\"}})],1)]),_c('div',{staticClass:\"prestation-expertise-contact-component-content-section\"},[_c('div',{staticClass:\"prestation-expertise-contact-component-content-section-header\"},[_vm._v(\"Message\")]),_c('div',{staticClass:\"prestation-expertise-contact-component-content-section-body\"},[_c('html-textarea',{model:{value:(_vm.corps),callback:function ($$v) {_vm.corps=$$v},expression:\"corps\"}})],1)]),_c('b-button',{attrs:{\"variant\":\"primary\",\"type\":\"submit\",\"disabled\":_vm.isLoading}},[_vm._v(\" Envoyer le message \"),(_vm.isLoading)?_c('spinner',{staticClass:\"ml-1\",attrs:{\"size\":20,\"depth\":2,\"color\":\"white\"}}):_vm._e()],1)],1)]),_c('b-col',{staticClass:\"prestation-expertise-contact-component-content-historique\",attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('h1',{staticClass:\"prestation-expertise-contact-component-content-historique-title\"},[_vm._v(\"Historique des échanges\")]),_c('div',{staticClass:\"prestation-expertise-contact-component-content-historique-mails\"},[(_vm.emailsCommande.length === 0)?_c('p',[_vm._v(\"Aucun message n'a été envoyé.\")]):_vm._e(),_vm._l((_vm.emailsCommande),function(item,index){return _c('div',{key:index,staticClass:\"prestation-expertise-contact-component-content-historique-mails-item\"},[_c('p',{staticClass:\"prestation-expertise-contact-component-content-historique-mails-item-date\"},[_vm._v(\" \"+_vm._s(_vm._f(\"moment\")(item.date,'dddd D MMMM YYYY à HH[h]mm'))+\" \")]),_c('div',{staticClass:\"prestation-expertise-contact-component-content-historique-mails-item-body\"},[_c('p',[_vm._v(\"De : \"+_vm._s(item.de))]),_c('p',[_vm._v(\"@ : \"+_vm._s(item.a))]),(item.cc)?_c('p',[_vm._v(\"cc : \"+_vm._s(item.cc))]):_vm._e(),_c('p',{staticClass:\"mt-3\"},[_vm._v(_vm._s(item.objet))]),_c('div',{staticClass:\"prestation-expertise-contact-component-content-historique-mails-item-body-link\"},[_c('a',{directives:[{name:\"b-toggle\",rawName:\"v-b-toggle\"}],attrs:{\"href\":'#mail-body-' + item.id},on:{\"click\":function($event){$event.preventDefault();}}},[_c('span',{staticClass:\"when-open\"},[_vm._v(\"Masquer le message \"),_c('font-awesome-icon',{attrs:{\"icon\":\"chevron-up\",\"aria-hidden\":\"true\"}})],1),_c('span',{staticClass:\"when-closed\"},[_vm._v(\"Voir le message \"),_c('font-awesome-icon',{attrs:{\"icon\":\"chevron-down\",\"aria-hidden\":\"true\"}})],1)]),_c('b-collapse',{attrs:{\"id\":'mail-body-' + item.id}},[_c('div',{staticClass:\"prestation-expertise-contact-component-content-historique-mails-item-body-content\",domProps:{\"innerHTML\":_vm._s(item.corps)}})])],1)])])})],2)])],1),_c('b-toast',{attrs:{\"id\":\"validation-toast\",\"solid\":\"\",\"no-auto-hide\":\"\",\"no-close-button\":\"\",\"variant\":\"success\"},scopedSlots:_vm._u([{key:\"toast-title\",fn:function(){return [_c('div',{staticClass:\"d-flex flex-grow-1 align-items-center\"},[_c('strong',{staticClass:\"ml-1\"},[_vm._v(\"Votre e-mail a été envoyé avec succès\")])])]},proxy:true}])},[_vm._v(\" Vous allez être redirigé vers votre rapport... \")])],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"textarea\",staticClass:\"html-textarea\",attrs:{\"contenteditable\":\"\"},domProps:{\"innerHTML\":_vm._s(_vm.value)},on:{\"input\":function($event){return _vm.$emit('input', $event.target.innerHTML)}}})}]\n\nexport { render, staticRenderFns }","\n\n\n\r\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\r\n@Component({\r\n name: 'HtmlTextarea',\r\n})\r\nexport default class PointInspection extends Vue {\r\n @Prop() public value: string;\r\n\r\n //#region LIFE CYCLES\r\n\r\n //#endregion\r\n\r\n //#region COMPUTED\r\n\r\n //#endregion\r\n\r\n //#region WATCH\r\n @Watch('value')\r\n public hasValueChanged(newValue: string): void {\r\n if (document.activeElement == this.$el) {\r\n return;\r\n }\r\n\r\n this.$el.innerHTML = newValue;\r\n }\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./html-textarea.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./html-textarea.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./html-textarea.vue?vue&type=template&id=4e2ffe2e&scoped=true&\"\nimport script from \"./html-textarea.vue?vue&type=script&lang=ts&\"\nexport * from \"./html-textarea.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./html-textarea.vue?vue&type=style&index=0&id=4e2ffe2e&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 \"4e2ffe2e\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Mixins, Vue } from 'vue-property-decorator';\r\n\r\nimport DeviceMixin from '@/mixins/device.mixin';\r\nimport { ModeleEmailDto } from '@/shared/dtos/modele-email.dto';\r\nimport BackButton from '@/shared/components/back-button.vue';\r\nimport HtmlTextarea from '@/shared/components/html-textarea.vue';\r\nimport Spinner from 'vue-spinner-component/src/Spinner.vue';\r\nimport store from '@/shared/store';\r\nimport roles from '@/shared/constants/roles.const';\r\nimport { SubjectMessageTypeEnum } from '@/shared/enums/subject-message-type.enum';\r\nimport { EmailCommandeDto } from '@/shared/dtos/email-commande.dto';\r\nimport { MissionDto } from '@/shared/dtos/mission.dto';\r\n\r\n@Component({\r\n name: 'PrestationExpertiseContact',\r\n components: {\r\n BackButton,\r\n Spinner,\r\n HtmlTextarea,\r\n },\r\n})\r\nexport default class PrestationExpertiseContact extends Mixins(DeviceMixin) {\r\n public omereMissionId: number;\r\n public modelesEmails: ModeleEmailDto[] = [];\r\n public isLoading = false;\r\n public selectedObjet: number;\r\n public objets: any[] = [];\r\n public objet = '';\r\n public corps = '';\r\n public isDestinataireMandantChecked = false;\r\n public isDestinataireExpertChecked = false;\r\n public isDestinataireControleurChecked = false;\r\n public autreDestinataire = '';\r\n public isCcMandantChecked = false;\r\n public isCcExpertChecked = false;\r\n public isCcControleurChecked = false;\r\n public autreCc = '';\r\n public isCciMandantChecked = false;\r\n public isCciExpertChecked = false;\r\n public isCciControleurChecked = false;\r\n public autreCci = '';\r\n public isExpert = store.user.roles.includes(roles.Expert);\r\n public isExpertMission = false;\r\n public isSoustraitant = store.user.roles.includes(roles.SousTraitant);\r\n public isAdminBPCEEI = store.user.roles.includes(roles.AdminBPCEEI);\r\n public isSoustraitantAvance = store.user.roles.includes(roles.SousTraitantAvance);\r\n public emailsCommande: EmailCommandeDto[] = [];\r\n\r\n //#region LIFE CYCLES\r\n public async beforeMount(): Promise {\r\n this.omereMissionId = +this.$route.params.omereMissionId;\r\n\r\n // Si l'utilisateur est controleur et s'il est également l'expert de cette mission\r\n if (store.user.roles.includes(roles.Controleur)) {\r\n const mission: MissionDto = await Vue.prototype.$missionStoreService.getByIndex('id', +this.omereMissionId);\r\n if (mission != null && mission.expert.id === store.user.omereContactId) {\r\n this.isExpertMission = true;\r\n }\r\n }\r\n\r\n this.emailsCommande = this.$route.meta.emailsCommande as EmailCommandeDto[];\r\n this.modelesEmails = Vue.prototype.$localStorageService.getModelesEmails();\r\n\r\n this.objets = this.modelesEmails.map((modelEmail: ModeleEmailDto) => {\r\n return { value: modelEmail.id, text: modelEmail.objet };\r\n });\r\n\r\n this.selectedObjet = this.modelesEmails[0].id;\r\n const selectedModelEmail = this.modelesEmails.find((modelEmail: ModeleEmailDto) => modelEmail.id === this.selectedObjet);\r\n this.corps = selectedModelEmail.corps;\r\n this.objet = selectedModelEmail.objet;\r\n\r\n if (!this.isAdminBPCEEI && (this.isExpert || this.isSoustraitant || this.isExpertMission || this.isSoustraitantAvance)) {\r\n this.isDestinataireMandantChecked = true;\r\n this.isCcExpertChecked = true;\r\n this.isCcControleurChecked = true;\r\n }\r\n }\r\n\r\n //#endregion\r\n\r\n //#endregion\r\n\r\n //#region WATCH\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n public onObjetChange(value: any): void {\r\n this.selectedObjet = value;\r\n this.objet = this.modelesEmails.find((modelEmail: ModeleEmailDto) => modelEmail.id === this.selectedObjet).objet;\r\n this.corps = this.modelesEmails.find((modelEmail: ModeleEmailDto) => modelEmail.id === this.selectedObjet).corps;\r\n }\r\n\r\n public async onSubmit(event: any): Promise {\r\n event.preventDefault();\r\n\r\n if (\r\n !this.isDestinataireMandantChecked &&\r\n !this.isDestinataireExpertChecked &&\r\n !this.isDestinataireControleurChecked &&\r\n !this.autreDestinataire.length\r\n ) {\r\n Vue.prototype.$notificationService.warn('Vous devez saisir au moins un destinataire');\r\n return;\r\n }\r\n\r\n const autres = (this.autreDestinataire + this.autreCc + this.autreCci).replaceAll(' ', '');\r\n const nbArobases = (autres.match(/@/g) || []).length;\r\n const nbSeparators = (autres.match(/;/g) || []).length;\r\n\r\n if (nbArobases > 1 && nbArobases !== nbSeparators + 1) {\r\n Vue.prototype.$notificationService.warn(\r\n `Les adresses e-mail saisies dans les champs Autre(s) doivent être séparées par des points virgules`\r\n );\r\n return;\r\n } else {\r\n var emails = autres.split(';');\r\n const malformedEmail = emails.find((email: string) => !email.match(/^\\w+([.-]?\\w+)*@\\w+([.-]?\\\\w+)*(.\\w{2,})+$/g));\r\n\r\n if (malformedEmail) {\r\n Vue.prototype.$notificationService.warn(`Une ou plusieurs adresses e-mail ne sont pas au bon format`);\r\n return;\r\n }\r\n }\r\n\r\n this.isLoading = true;\r\n\r\n const logMessage = `Envoi d'un email pour la mission id : ${this.omereMissionId}`;\r\n\r\n await Vue.prototype.$logStoreService.info(`${logMessage} - START`, 'PrestationExpertiseContact');\r\n\r\n Vue.prototype.$emailCommandeApiService\r\n .addCustom(\r\n this.omereMissionId,\r\n this.objet,\r\n this.corps,\r\n this.isDestinataireMandantChecked,\r\n this.isDestinataireExpertChecked,\r\n this.isDestinataireControleurChecked,\r\n this.autreDestinataire,\r\n this.isCcMandantChecked,\r\n this.isCcExpertChecked,\r\n this.isCcControleurChecked,\r\n this.autreCc,\r\n this.isCciMandantChecked,\r\n this.isCciExpertChecked,\r\n this.isCciControleurChecked,\r\n this.autreCci\r\n )\r\n .then(async (res: any) => {\r\n this.$bvToast.show('validation-toast');\r\n setTimeout(() => {\r\n Vue.prototype.$subjectMessageService.next(SubjectMessageTypeEnum.BACK);\r\n this.$bvToast.hide('validation-toast');\r\n }, 2000);\r\n await Vue.prototype.$logStoreService.info(`${logMessage} - END`, 'PrestationExpertiseContact');\r\n })\r\n .catch(async (error: any) => {\r\n Vue.prototype.$notificationService.error(`Une erreur est survenue lors de l'envoi de l'email.`);\r\n await Vue.prototype.$logStoreService.error(`${logMessage} - ERROR`, error, 'PrestationExpertiseContact');\r\n })\r\n .finally(() => {\r\n this.isLoading = false;\r\n });\r\n }\r\n\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n\r\n //#endregion\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-contact.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-contact.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./prestation-expertise-contact.vue?vue&type=template&id=457c26b8&\"\nimport script from \"./prestation-expertise-contact.vue?vue&type=script&lang=ts&\"\nexport * from \"./prestation-expertise-contact.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./prestation-expertise-contact.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from 'vue';\r\nimport { MissionDto } from '@/shared/dtos/mission.dto';\r\nimport axios from 'axios';\r\nimport { isMobile } from 'mobile-device-detect';\r\nimport { SocieteSettings } from '@/shared/models/societe-settings.model';\r\n\r\nexport const getMissionByIdResolver = async (to: any, from: any, next: any) => {\r\n // If come from Omere, we need to authenticate the user and then retrieve the mission from the api\r\n if (to.query && to.query.token) {\r\n const logMessage = 'GET mission and données techniques';\r\n await Vue.prototype.$logStoreService.info(`${logMessage} - START`, 'getMissionByIdResolver');\r\n\r\n await Vue.prototype.$externalAuthenticationService\r\n .loginInToOmereAndRedirectToMission(\r\n to.query.token,\r\n to.query.missionId ?? to.query.missionid,\r\n to.query.username,\r\n to.query.nonce,\r\n to.query.timestamp\r\n )\r\n .then(async () => {\r\n await getMissionAndDonneesTechniques(to, from, next);\r\n next();\r\n });\r\n }\r\n // Check before the storage\r\n else {\r\n const mission: MissionDto = await Vue.prototype.$missionStoreService.getByIndex('id', +to.params.omereMissionId);\r\n\r\n if (mission && mission.prestationExpertise && isMobile) {\r\n // Par mesure de sécurité, vérifier si le type de prestation est identique\r\n // sinon rediriger vers le bon lien pour éviter qu'on saisisse le mauvais rapport\r\n const pathToMatch = `/missions/${mission.id}/${mission.typePrestationExpertiseString}`;\r\n if (to.fullPath !== pathToMatch) {\r\n next({ path: pathToMatch, replace: true });\r\n }\r\n\r\n to.meta.mission = mission;\r\n to.meta.societeSettings = await Vue.prototype.$societeSettingsStoreService.getByIndex('societeId', mission.societeId);\r\n\r\n next();\r\n }\r\n // If the storage doesn't match or if we are on desktop, then retrieve the mission from the api and set it in the storage\r\n else {\r\n await getMissionAndDonneesTechniques(to, from, next);\r\n }\r\n }\r\n};\r\n\r\nasync function getMissionAndDonneesTechniques(to: any, from: any, next: any): Promise {\r\n const logMessage = 'GET mission and données techniques';\r\n await Vue.prototype.$logStoreService.info(`${logMessage} - START`, 'getMissionByIdResolver');\r\n\r\n await axios\r\n .all([\r\n Vue.prototype.$missionApiService.get(to.params.omereMissionId).then(async (missionResponse: MissionDto) => {\r\n if (!missionResponse) {\r\n return Promise.reject();\r\n }\r\n\r\n // Par mesure de sécurité, vérifier si le type de prestation est identique\r\n // sinon rediriger vers le bon lien pour éviter qu'on saisisse le mauvais rapport\r\n const pathToMatch = `/missions/${missionResponse.id}/${missionResponse.typePrestationExpertiseString}`;\r\n if (to.fullPath !== pathToMatch) {\r\n next({\r\n path: pathToMatch,\r\n replace: true,\r\n });\r\n }\r\n\r\n await Vue.prototype.$missionStoreService.addOrUpdate(missionResponse);\r\n\r\n await Vue.prototype.$permissionService.getSocieteSettings(missionResponse.societeId).then(async (settings: SocieteSettings) => {\r\n if (!settings) return;\r\n\r\n await Vue.prototype.$societeSettingsStoreService.addOrUpdate(settings);\r\n to.meta.societeSettings = settings;\r\n });\r\n\r\n return Promise.resolve(missionResponse);\r\n }),\r\n\r\n Vue.prototype.$synchronizationService.getDonneesTechniques(),\r\n ])\r\n .then(\r\n axios.spread(async (missionResponse) => {\r\n to.meta.mission = missionResponse;\r\n next();\r\n })\r\n )\r\n .catch(async (error: any) => {\r\n await Vue.prototype.$logStoreService.error(`${logMessage} - ERROR`, error, 'getMissionByIdResolver');\r\n });\r\n}\r\n","import { MissionForListDto } from '@/shared/dtos/liste-mission.dto';\r\nimport store from '@/shared/store';\r\nimport Vue from 'vue';\r\n\r\nexport const getMissionsByOmereContactIdResolver = (to: any, from: any, next: any) => {\r\n Vue.prototype.$missionForListApiService.getLastByOmereContactId(store.user.omereContactId).then((missions: MissionForListDto[]) => {\r\n to.meta.missions = missions;\r\n next();\r\n });\r\n};\r\n","import { MissionDto } from '@/shared/dtos/mission.dto';\r\nimport store from '@/shared/store';\r\nimport Vue from 'vue';\r\n\r\nexport const getMissionsAControlerByOmereContactIdResolver = (to: any, from: any, next: any) => {\r\n Vue.prototype.$missionApiService.getAControlerByOmereContactId(store.user.omereContactId).then((missions: MissionDto[]) => {\r\n to.meta.missions = missions;\r\n next();\r\n });\r\n};\r\n","import { EmailCommandeDto } from './../shared/dtos/email-commande.dto';\r\nimport Vue from 'vue';\r\n\r\nexport const getEmailsCommandeByMissionIdResolver = async (to: any, from: any, next: any) => {\r\n Vue.prototype.$emailCommandeApiService\r\n .getManyWithRoute(`mission/${to.params.omereMissionId}`)\r\n .then((emailsCommande: EmailCommandeDto[]) => {\r\n to.meta.emailsCommande = emailsCommande;\r\n next();\r\n });\r\n};\r\n","import abp from 'abp-web-resources';\r\nimport Login from './views/login.vue';\r\nimport AgendaMobile from './views/agenda/agenda-mobile.vue';\r\nimport AgendaDesktop from './views/agenda/agenda-desktop.vue';\r\nimport Diagnostic from './views/diagnostic.vue';\r\nimport Missions from './views/missions.vue';\r\nimport Recherche from './views/recherche.vue';\r\nimport MissionsAControler from './views/missions-a-controler.vue';\r\nimport PrestationExpertiseRapport from './views/prestation-expertise/rapport/prestation-expertise-rapport.vue';\r\nimport PrestationExpertiseValeurSpotPlus from './views/prestation-expertise/valeur-spot-plus/prestation-expertise-valeur-spot-plus.vue';\r\nimport PrestationExpertiseEtatAvancementTravaux from './views/prestation-expertise/etat-avancement-travaux/prestation-expertise-etat-avancement-travaux.vue';\r\nimport PrestationExpertiseEtudeDeMarche from './views/prestation-expertise/etude-de-marche/prestation-expertise-etude-de-marche.vue';\r\nimport PrestationExpertiseContact from './views/prestation-expertise/prestation-expertise-contact.vue';\r\nimport Router from 'vue-router';\r\nimport Vue from 'vue';\r\nimport { getMissionByIdResolver } from './resolvers/get-mission-by-id.resolver';\r\nimport { getMissionsByOmereContactIdResolver } from './resolvers/get-missions-by-omere-contact-id.resolver';\r\nimport { getMissionsAControlerByOmereContactIdResolver } from './resolvers/get-missions-a-controler-by-omere-contact-id.resolver';\r\nimport store from '@/shared/store';\r\nimport { getEmailsCommandeByMissionIdResolver } from './resolvers/get-emails-commande-by-mission-id.resolver';\r\nimport { isBrowser } from 'mobile-device-detect';\r\nimport { MissionDto } from './shared/dtos/mission.dto';\r\n\r\nVue.use(Router);\r\n\r\nlet loading = false;\r\nasync function redirectToPrestationExpertiseResolver(to: any, from: any, next: any): Promise {\r\n if (loading) return;\r\n\r\n loading = true;\r\n\r\n await Vue.prototype.$externalAuthenticationService\r\n .loginInToOmereAndRedirectToMission(\r\n to.query.token,\r\n to.query.missionId ?? to.query.missionid,\r\n to.query.username,\r\n to.query.nonce,\r\n to.query.timestamp\r\n )\r\n .then(() => {\r\n return Vue.prototype.$missionApiService.getTypePrestationExpertiseByMissionId(to.query.missionId);\r\n })\r\n .then((typePrestationExpertise: string) => {\r\n next({\r\n path: '/missions/' + to.query.missionId + '/' + typePrestationExpertise,\r\n replace: true,\r\n });\r\n })\r\n .catch(() => {});\r\n}\r\n\r\nconst router = new Router({\r\n mode: 'history',\r\n routes: [\r\n {\r\n path: '/',\r\n redirect: '/agenda',\r\n },\r\n {\r\n path: '/diagnostic',\r\n component: Diagnostic,\r\n meta: {\r\n title: 'Diagnostic',\r\n },\r\n },\r\n {\r\n path: '/compte/connexion',\r\n component: Login,\r\n meta: {\r\n title: 'Connexion',\r\n },\r\n beforeEnter: async (to, from, next) => {\r\n if (abp.auth.getToken()) {\r\n next({\r\n path: '/',\r\n replace: true,\r\n });\r\n\r\n return;\r\n }\r\n\r\n next();\r\n },\r\n },\r\n {\r\n path: '/agenda',\r\n component: isBrowser ? AgendaDesktop : AgendaMobile,\r\n beforeEnter: async (to, from, next) => {\r\n if (!router.app.$ability.can('Agenda', 'Pages')) {\r\n store.isLoading = false;\r\n next({\r\n path: '/missions',\r\n replace: true,\r\n });\r\n }\r\n next();\r\n },\r\n\r\n meta: {\r\n title: 'Agenda',\r\n },\r\n },\r\n {\r\n path: '/recherche',\r\n component: Recherche,\r\n meta: {\r\n title: 'Recherche',\r\n },\r\n },\r\n {\r\n path: '/missions-a-controller',\r\n component: MissionsAControler,\r\n beforeEnter: async (to, from, next) => {\r\n if (!router.app.$ability.can('MissionsAControler', 'Pages')) {\r\n store.isLoading = false;\r\n return;\r\n }\r\n getMissionsAControlerByOmereContactIdResolver(to, from, next);\r\n },\r\n meta: {\r\n title: 'Liste des missions à contrôler',\r\n },\r\n },\r\n {\r\n path: '/missions',\r\n component: Missions,\r\n beforeEnter: getMissionsByOmereContactIdResolver,\r\n meta: {\r\n title: 'Liste des missions',\r\n },\r\n },\r\n {\r\n path: '/account/loginomere/mission',\r\n beforeEnter: redirectToPrestationExpertiseResolver,\r\n meta: {\r\n title: 'Connexion depuis Omère',\r\n },\r\n },\r\n {\r\n path: '/missions/:omereMissionId/RapportExpertise',\r\n beforeEnter: getMissionByIdResolver,\r\n component: PrestationExpertiseRapport,\r\n meta: {\r\n title: \"Rapport d'expertise\",\r\n },\r\n },\r\n {\r\n path: '/missions/:omereMissionId/CertificatExpertise',\r\n beforeEnter: getMissionByIdResolver,\r\n component: PrestationExpertiseRapport,\r\n meta: {\r\n title: \"Certificat d'expertise\",\r\n },\r\n },\r\n {\r\n path: '/missions/:omereMissionId/ValeurSpotPlus',\r\n beforeEnter: getMissionByIdResolver,\r\n component: PrestationExpertiseValeurSpotPlus,\r\n meta: {\r\n title: 'Valeur Spot +',\r\n },\r\n },\r\n {\r\n path: '/missions/:omereMissionId/EtatAvancementTravaux',\r\n beforeEnter: getMissionByIdResolver,\r\n component: PrestationExpertiseEtatAvancementTravaux,\r\n meta: {\r\n title: \"Etat d'Avancement de Travaux\",\r\n },\r\n },\r\n {\r\n path: '/missions/:omereMissionId/EtudeDeMarche',\r\n beforeEnter: getMissionByIdResolver,\r\n component: PrestationExpertiseEtudeDeMarche,\r\n meta: {\r\n title: 'Etude de marché',\r\n },\r\n },\r\n {\r\n path: '/missions/:omereMissionId/contact',\r\n component: PrestationExpertiseContact,\r\n beforeEnter: async (to, from, next) => {\r\n const mission: MissionDto = await Vue.prototype.$missionStoreService.getByIndex('id', +to.params.omereMissionId);\r\n if (router.app.$ability.can('EmailCommande', 'Pages') || mission.expert.id === store.user.omereContactId) {\r\n getEmailsCommandeByMissionIdResolver(to, from, next);\r\n } else {\r\n store.isLoading = false;\r\n }\r\n },\r\n meta: {\r\n title: 'Contact',\r\n },\r\n },\r\n ],\r\n});\r\n\r\n// obligé de le faire ici parce que quand on ouvre une nouvelle page directement dans l'URL, on n'arrive pas dans le beforeEach de App.vue (déclaré trop tard)\r\nrouter.beforeEach((to, from, next) => {\r\n document.title = to.meta.title + ' - BPCE Expertises immobilières' || 'BPCE Expertises immobilières';\r\n store.isLoading = true;\r\n\r\n Vue.prototype.$localStorageService.pushBackUrlHistory(from, to);\r\n\r\n // l'utilisateur est connecté\r\n if (abp.auth.getToken()) {\r\n const permissions: any = localStorage.getItem('permissions');\r\n router.app.$ability.update(JSON.parse(permissions));\r\n next();\r\n } else {\r\n if (to.fullPath == '/compte/connexion' || to.fullPath.toLowerCase().indexOf('/account/loginomere/mission') != -1) {\r\n next();\r\n } else {\r\n next({ path: '/compte/connexion' });\r\n }\r\n }\r\n});\r\n\r\nrouter.afterEach((to, from) => {\r\n store.isLoading = false;\r\n});\r\n\r\nexport default router;\r\n","/* eslint-disable no-alert */\r\n\r\nimport Vue from 'vue';\r\nimport axios from 'axios';\r\nimport abp from 'abp-web-resources';\r\nimport { Guid } from 'guid-typescript';\r\nimport store from './shared/store';\r\n\r\nasync function errorResponseHandler(error: any) {\r\n //Vue.prototype.$loadingProgressionService.stop();\r\n\r\n if (error.response) {\r\n switch (error.response.status) {\r\n // Si on a un erreur d'authentification alors qu'on est normalement déconnecté, on force la déconnexion\r\n case 401:\r\n Vue.prototype.$authentificationService.logout();\r\n break;\r\n // Si on a une 404 on retourne une réponse valide avec un null ou une liste vide\r\n case 404:\r\n return Promise.resolve(error.response);\r\n // Si erreur gérée\r\n case 900:\r\n if (!Guid.isGuid(error.response)) {\r\n Vue.prototype.$notificationService.error(error.response.data, null, true);\r\n\r\n store.isLoading = false;\r\n\r\n return Promise.reject(error.response);\r\n }\r\n break;\r\n case 901:\r\n if (!Guid.isGuid(error.response)) {\r\n Vue.prototype.$notificationService.warn(error.response.data);\r\n\r\n store.isLoading = false;\r\n\r\n return Promise.resolve(error.response);\r\n }\r\n break;\r\n default:\r\n var message = '';\r\n if (error.response && error.response.data) {\r\n // The request was made and the server responded with a status code\r\n // that falls out of the range of 2xx\r\n message = error.response.data;\r\n } else {\r\n // Something happened in setting up the request that triggered an Error\r\n message = error.message;\r\n }\r\n\r\n Vue.prototype.$notificationService.error(`Une erreur est survenue lors de l'appel au serveur.`);\r\n\r\n store.isLoading = false;\r\n\r\n await Vue.prototype.$logStoreService.error(message, error, `HTTP (${error.response.status})`);\r\n\r\n return Promise.reject(error);\r\n }\r\n } else {\r\n store.isLoading = false;\r\n return Promise.reject(error);\r\n }\r\n}\r\n\r\naxios.interceptors.response.use((response) => response, errorResponseHandler);\r\n\r\naxios.interceptors.request.use(\r\n async (request) => {\r\n if (\r\n (request.baseURL == Vue.prototype.$config.baseUrlApiAppService ||\r\n request.baseURL == Vue.prototype.$config.baseUrl ||\r\n request.baseURL == Vue.prototype.$config.baseUrlApi) &&\r\n !request.headers.Authorization\r\n ) {\r\n if (abp.auth.getToken()) {\r\n request.headers.Authorization = 'Bearer ' + abp.auth.getToken();\r\n }\r\n }\r\n\r\n // Do not log some requests\r\n var excludedStrings = ['tokenauth', 'getcurrentlogininformations', 'status'];\r\n if (\r\n !excludedStrings.some((excludedString: string) => {\r\n return request.url.toLowerCase().indexOf(excludedString) !== -1;\r\n })\r\n ) {\r\n await Vue.prototype.$logStoreService.debug(`${request.method.toUpperCase()} - url : ${request.url}`);\r\n }\r\n\r\n return request;\r\n },\r\n (error) => Promise.reject(error)\r\n);\r\n","export enum PendingQueueStatusEnum {\r\n EMPTY,\r\n FAILING,\r\n RETRYING,\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.store.isLoading)?_c('div',{attrs:{\"id\":\"backdrop-spinner\"}},[(_vm.store.loadingProgression !== null)?_c('div',{attrs:{\"id\":\"backdrop-spinner-progress\"}},[_vm._v(_vm._s(_vm.store.loadingProgression)+\"%\")]):_vm._e(),_c('spinner',{attrs:{\"status\":true,\"size\":100,\"depth\":5,\"color\":_vm.contratTypePrestationColorDefault}})],1):_vm._e(),_c('router-view',{key:_vm.$route.fullPath})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Vue } from 'vue-property-decorator';\r\nimport { contratTypePrestationColorDefault } from '@/helpers/rapport-expertise.helper';\r\nimport Spinner from 'vue-spinner-component/src/Spinner.vue';\r\nimport store from '@/shared/store';\r\nimport { PendingQueueStatusEnum } from '@/shared/enums/pending-queue-status.enum';\r\n\r\n@Component({\r\n name: 'app',\r\n components: {\r\n Spinner,\r\n },\r\n})\r\nexport default class App extends Vue {\r\n public isLoading: boolean = false;\r\n public contratTypePrestationColorDefault = contratTypePrestationColorDefault;\r\n public pendingQueueStatus = 0;\r\n public pendingQueueStatusEnum = PendingQueueStatusEnum;\r\n public store = store;\r\n public currentQueueItemIndex = 0;\r\n public nbQueueItems = 0;\r\n public replayingProgress = 0;\r\n\r\n //#region LIFE CYCLES\r\n mounted() {\r\n this.handleSWMessages();\r\n }\r\n\r\n handleSWMessages(): void {\r\n if (navigator.serviceWorker) {\r\n navigator.serviceWorker.addEventListener('message', (event) => {\r\n switch (event.data.type) {\r\n default:\r\n break;\r\n }\r\n });\r\n }\r\n }\r\n\r\n //#endregion\r\n\r\n //#region WATCH\r\n\r\n //#endregion\r\n\r\n //#region EVENTS\r\n\r\n //#endregion\r\n\r\n //#region FUNCTIONS\r\n async accept() {\r\n await Vue.prototype.$workbox.messageSW({ type: 'SKIP_WAITING' });\r\n }\r\n\r\n //#endregion\r\n}\r\n","/* eslint-disable no-console */\r\n/* eslint-disable no-alert */\r\n\r\nimport { register } from 'register-service-worker';\r\nimport Vue from 'vue';\r\nimport store from '@/shared/store';\r\n\r\nif (process.env.NODE_ENV === 'production') {\r\n register(`${process.env.BASE_URL}service-worker.js`, {\r\n ready() {\r\n console.log('[APP] - App is being served from cache by a service worker.\\n' + 'For more details, visit https://goo.gl/AFskqB');\r\n },\r\n registered() {\r\n console.log('[APP] - Service worker has been registered.');\r\n },\r\n cached() {\r\n console.log('[APP] - Content has been cached for offline use.');\r\n },\r\n updatefound() {\r\n // https://stackoverflow.com/a/60309577/17072923\r\n // new content clear cache so user gets the new version\r\n caches.keys().then((cacheNames) => {\r\n cacheNames.forEach((cacheName) => {\r\n caches.delete(cacheName);\r\n });\r\n });\r\n console.log('[APP] - New content is downloading.');\r\n },\r\n updated(registration) {\r\n if (registration == null || registration.waiting == null) return;\r\n\r\n const installingWorker = registration.waiting;\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'activated') {\r\n if (Vue.prototype.$config.isLogOutDuringMep && store.isLogged) {\r\n console.log('[APP] - Session is disconnecting...');\r\n Vue.prototype.$authentificationService.logout();\r\n }\r\n }\r\n };\r\n\r\n console.log('[APP] - Service worker has been updated.');\r\n let message = `Une mise à jour est disponible. L’application va être rechargée.`;\r\n if (Vue.prototype.$config.isLogOutDuringMep && store.isLogged) {\r\n message = `Une mise à jour est disponible. L’application va être rechargée et vous allez être déconnecté(e).`;\r\n }\r\n\r\n alert(message);\r\n registration.waiting.postMessage({ action: 'SKIP_WAITING' });\r\n },\r\n offline() {\r\n console.log('[APP] - No internet connection found. App is running in offline mode.');\r\n },\r\n error(error) {\r\n console.error('[APP] - Error during service worker registration:', error);\r\n },\r\n });\r\n\r\n var preventDevToolsReloadLoop: boolean;\r\n if (navigator.serviceWorker) {\r\n navigator.serviceWorker.addEventListener('controllerchange', (event) => {\r\n // Ensure refresh is only called once.\r\n // This works around a bug in \"force update on reload\".\r\n if (preventDevToolsReloadLoop) return;\r\n preventDevToolsReloadLoop = true;\r\n window.location.reload();\r\n });\r\n }\r\n}\r\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--15-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??ref--15-3!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--15-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??ref--15-3!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=736d01aa&\"\nimport script from \"./App.vue?vue&type=script&lang=ts&\"\nexport * from \"./App.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export enum AnnexeTableEnum {\r\n Commande = 13600,\r\n Expertise = 13800,\r\n Mission = 16300,\r\n}\r\n","import { MissionComparableDto } from '@/shared/dtos/mission-comparable.dto';\r\nimport { MissionDto } from '@/shared/dtos/mission.dto';\r\nimport axios from 'axios';\r\nimport { RechercheMissionDto } from '@/shared/dtos/recherche-mission.dto';\r\nimport { BaseDtoApiService } from './base-dto-api.service';\r\nimport { AnnexeDto } from '@/shared/dtos/annexe.dto';\r\nimport moment from 'moment';\r\nimport { MergeDto } from '@/shared/dtos/merge.dto';\r\n\r\nexport class MissionApiService extends BaseDtoApiService {\r\n constructor() {\r\n super('missions');\r\n }\r\n\r\n public getByOmereContactId(omereContactId: number, dateModiticationUtcPrestationsExpertises: any): Promise {\r\n return axios\r\n .post(`${this._endpoint}/contact/${omereContactId}`, dateModiticationUtcPrestationsExpertises)\r\n .then((data: any) => this.convertDatas(data));\r\n }\r\n\r\n public getAControlerByOmereContactId(omereContactId: number): Promise {\r\n return axios.get(`${this._endpoint}/controle/${omereContactId}`).then((data: any) => this.convertDatas(data));\r\n }\r\n\r\n public getTypePrestationExpertiseByMissionId(omereMissionId: number): Promise {\r\n return axios.get(`${this._endpoint}/${omereMissionId}/typeprestationexpertise`).then((response: any) => {\r\n return response.data.result;\r\n });\r\n }\r\n\r\n public updateGeolocalisation(mission: MissionDto): Promise {\r\n return axios.put(`${this._endpoint}/${mission.id}/prestationexpertise/${mission.prestationExpertise.id}/geolocalisation`, {\r\n typePrestationExpertise: mission.typePrestationExpertise,\r\n adresse: mission.prestationExpertise.geographiqueAdresse,\r\n latitude: mission.prestationExpertise.geographiqueLatitude,\r\n longitude: mission.prestationExpertise.geographiqueLongitude,\r\n });\r\n }\r\n\r\n public updateExpertiseFromReference(mission: MissionDto, fromReference: string): Promise {\r\n return axios\r\n .put(`${this._endpoint}/${mission.id}/prestationexpertise/${mission.prestationExpertise.id}/fromreference`, {\r\n typePrestationExpertise: mission.typePrestationExpertise,\r\n reference: fromReference.replace('/', '_'),\r\n })\r\n .then((data: any) => this.convertData(data));\r\n }\r\n\r\n public search(recherche: RechercheMissionDto): Promise {\r\n return axios.post(`${this._endpoint}/search`, recherche).then((datas: any) => this.convertDatas(datas));\r\n }\r\n\r\n public getComparables(id: number): Promise {\r\n return axios.get(`${this._endpoint}/${id}/comparables/`).then((response: any) => {\r\n return response.data.result;\r\n });\r\n }\r\n\r\n public getAnnexes(id: number): Promise {\r\n return axios.get(`${this._endpoint}/${id}/annexes/`).then((response: any) => {\r\n return response.data.result;\r\n });\r\n }\r\n\r\n public updateDateVisite(id: number, dateVisite: Date): Promise {\r\n const formData = new FormData();\r\n formData.append('dateVisite', dateVisite ? moment(dateVisite).toISOString() : '');\r\n return axios.put(`${this._endpoint}/${id}/datevisite`, formData);\r\n }\r\n\r\n public annulerRDV(id: number, message: string): Promise {\r\n const formData = new FormData();\r\n formData.append('message', message);\r\n return axios.put(`${this._endpoint}/${id}/annulerRDV`, formData);\r\n }\r\n\r\n public getMerge(id: number, mission: MissionDto): Promise {\r\n return axios.post(`${this._endpoint}/${id}/merge/`, mission).then((response: any) => {\r\n return response.data.result;\r\n });\r\n }\r\n\r\n public changeTypePrestationExpertise(id: number, oldTypePrestationExpertise: number, newTypePrestationExpertise: number): Promise {\r\n return axios.put(`${this._endpoint}/${id}/typeprestationexpertise/from/${oldTypePrestationExpertise}/to/${newTypePrestationExpertise}`);\r\n }\r\n\r\n public deleteAllScenarioRenovationByRapportId(rapportId: number): Promise {\r\n //return axios.delete(`${this._endpoint}/${rapportId}/scenariosrenovation/`);\r\n return Promise.resolve();\r\n }\r\n}\r\n","import { SimpleMissionDto } from '@/shared/dtos/simple-mission.dto';\r\nimport axios from 'axios';\r\nimport { BaseDtoApiService } from './base-dto-api.service';\r\n\r\nexport class SimpleMissionApiService extends BaseDtoApiService {\r\n constructor() {\r\n super('missions');\r\n }\r\n\r\n public getByOmereContactId(omereContactId: number): Promise {\r\n return axios.get(`${this._endpoint}/contact/${omereContactId}/simple`).then((data: any) => this.convertDatas(data));\r\n }\r\n}\r\n","import { PrestationExpertiseDto } from '@/shared/dtos/prestation-expertise/prestation-expertise.dto';\r\nimport { TypePrestationExpertiseEnum } from '@/shared/enums/type-prestation-expertise.enum';\r\nimport axios from 'axios';\r\nimport moment, { Moment } from 'moment';\r\nimport { BaseDtoApiService } from './base-dto-api.service';\r\n\r\nexport class PrestationExpertiseApiService extends BaseDtoApiService {\r\n constructor() {\r\n super('prestationsexpertises');\r\n }\r\n\r\n public getDateModificationUtcByMissionIdAndTypePrestationExpertise(\r\n missionId: number,\r\n typePrestationExpertise: TypePrestationExpertiseEnum\r\n ): Promise {\r\n return axios\r\n .get(`${this._endpoint}/mission/${missionId}/typeprestation/${typePrestationExpertise}/datemodificationutc`)\r\n .then((response: any) => {\r\n return moment(response.data.result);\r\n });\r\n }\r\n}\r\n","import { DonneesEstimationImmobiliereUpdateInputDto } from '@/shared/dtos/donnees-estimation-immobiliere-update-input.dto';\r\nimport { RapportExpertiseDto } from '@/shared/dtos/rapport-expertise.dto';\r\nimport { RapportProprieteDto } from '@/shared/dtos/rapport-propriete.dto';\r\nimport axios from 'axios';\r\nimport { BaseDtoApiService } from './base-dto-api.service';\r\n\r\nexport class RapportExpertiseApiService extends BaseDtoApiService {\r\n constructor() {\r\n super('rapportsexpertises');\r\n }\r\n\r\n public updateProprietes(id: number, proprietes: RapportProprieteDto): Promise {\r\n return axios.put(`${this._endpoint}/${id}/proprietes`, proprietes);\r\n }\r\n\r\n public apposerVisa(id: number, rapport: RapportExpertiseDto): Promise {\r\n return axios.put(`${this._endpoint}/${id}/apposervisa`, rapport);\r\n }\r\n\r\n public refuserVisa(id: number, rapport: RapportExpertiseDto): Promise {\r\n return axios.put(`${this._endpoint}/${id}/refuservisa`, rapport);\r\n }\r\n\r\n public getDonneesEstimationImmobiliere(id: number): Promise {\r\n return axios.get(`${this._endpoint}/${id}/donneesEstimationImmobiliere`).then((response: any) => {\r\n return response.data.result;\r\n });\r\n }\r\n\r\n public getCommodites(id: number): Promise {\r\n return axios.get(`${this._endpoint}/${id}/commodites`).then((response: any) => {\r\n return response.data.result;\r\n });\r\n }\r\n\r\n public updateCategorieActif(id: number, categorieActifId: number): Promise {\r\n return axios.put(`${this._endpoint}/${id}/categorieActif/${categorieActifId}`);\r\n }\r\n\r\n public updateDonneesEstimationImmobiliere(id: number, input: DonneesEstimationImmobiliereUpdateInputDto): Promise {\r\n return axios.put(`${this._endpoint}/${id}/donneesEstimationImmobiliere/`, input);\r\n }\r\n}\r\n","import { PieceJointeRapportDto } from '@/shared/dtos/piece-jointe-rapport.dto';\r\nimport { BaseDtoApiService } from './base-dto-api.service';\r\n\r\nexport class PieceJointeRapportApiService extends BaseDtoApiService {\r\n constructor() {\r\n super('piecesjointesrapport');\r\n }\r\n}\r\n","import { ValeurSpotPlusDto } from '@/shared/dtos/valeur-spot-plus.dto';\r\nimport { BaseDtoApiService } from './base-dto-api.service';\r\n\r\nexport class ValeurSpotPlusApiService extends BaseDtoApiService {\r\n constructor() {\r\n super('valeurspotplus');\r\n }\r\n}\r\n","import { PrestationExpertisePieceJointeDto } from '@/shared/dtos/prestation-expertise/prestation-expertise-piece-jointe.dto';\r\nimport { BaseDtoApiService } from './base-dto-api.service';\r\nimport axios from 'axios';\r\n\r\nexport class PrestationExpertisePieceJointeApiService extends BaseDtoApiService {\r\n constructor() {\r\n super('prestationexpertisepiecesjointes');\r\n }\r\n\r\n public getFile(id: number): Promise {\r\n return axios.get(`${this._endpoint}/${id}`, {\r\n responseType: 'blob',\r\n });\r\n }\r\n}\r\n","import { DonneesEstimationImmobiliereDto } from '@/shared/dtos/donnees-estimation-immobiliere.dto';\r\nimport { EtudeMarcheElementComparaisonDto } from '@/shared/dtos/etude-marche-element-comparaison.dto';\r\nimport axios from 'axios';\r\nimport { BaseDtoApiService } from './base-dto-api.service';\r\nimport { EstimationDpeResponse } from '@/shared/dtos/estimation-dpe-response.dto';\r\nimport { EstimationDpeInput } from '@/shared/dtos/estimation-dpe.dto';\r\nimport { DossierPriceHubble } from '@/shared/models/dossier/dossier-pricehubble.model';\r\nimport { ScenarioRenovationDto } from '@/shared/dtos/scenario-renovation.dto';\r\n\r\nexport class DonneesEstimationImmobiliereApiService extends BaseDtoApiService {\r\n constructor() {\r\n super('donneesEstimationImmobiliere');\r\n }\r\n\r\n public authenticate(): Promise {\r\n return axios.get(`${this._endpoint}/authenticate`).then((response: any) => {\r\n return response.data.result as string;\r\n });\r\n }\r\n\r\n public getComparables(dossierId: string): Promise {\r\n return axios.get(`${this._endpoint}/${dossierId}/comparables`).then((response: any) => {\r\n return response.data.result as EtudeMarcheElementComparaisonDto[];\r\n });\r\n }\r\n\r\n public getEstimation(dossierId: string, form: EstimationDpeInput): Promise {\r\n return axios.post(`${this._endpoint}/estimation/${dossierId}`, form).then((response: any) => {\r\n return response.data.result as EstimationDpeResponse;\r\n });\r\n }\r\n\r\n public updateDpe(dpe: string, rapportId: number): Promise {\r\n return axios.patch(`${this._endpoint}/dpe/${dpe}/rapport/${rapportId}`);\r\n }\r\n\r\n public getDossierByRapportId(rapportId: string): Promise {\r\n return axios.get(`${this._endpoint}/rapports/${rapportId}/dossier`).then((response: any) => {\r\n return response.data.result as DossierPriceHubble;\r\n });\r\n }\r\n\r\n public getScenarioEstimation(dossierId: string): Promise {\r\n return axios.get(`${this._endpoint}/scenariosrenovation/${dossierId}/dossier`).then((response: any) => {\r\n return response.data.result as ScenarioRenovationDto;\r\n });\r\n }\r\n\r\n public removeComparables(dossierId: string): Promise {\r\n return axios.delete(`${this._endpoint}/${dossierId}/comparables`);\r\n }\r\n}\r\n","import { ExpertiseDto } from '@/shared/dtos/expertise.dto';\r\nimport { TypePrestationExpertiseEnum } from '@/shared/enums/type-prestation-expertise.enum';\r\nimport axios from 'axios';\r\nimport { BaseDtoApiService } from './base-dto-api.service';\r\n\r\nexport class ExpertiseApiService extends BaseDtoApiService {\r\n constructor() {\r\n super('expertises');\r\n }\r\n\r\n public deposer(expertiseId: number, missionId: number, typePrestationExpertise: TypePrestationExpertiseEnum): Promise {\r\n return axios.put(`${this._endpoint}/deposer/${expertiseId}/mission/${missionId}`, typePrestationExpertise, {\r\n headers: { 'content-type': 'application/json' },\r\n });\r\n }\r\n\r\n public getRapportById(id: number): Promise {\r\n return axios.get(`${this._endpoint}/${id}/rapport`, {\r\n responseType: 'blob' as 'json',\r\n });\r\n }\r\n}\r\n","import { EmailCommandeDto } from '@/shared/dtos/email-commande.dto';\r\nimport axios from 'axios';\r\nimport { BaseDtoApiService } from './base-dto-api.service';\r\n\r\nexport class EmailCommandeApiService extends BaseDtoApiService {\r\n constructor() {\r\n super('emailscommandes');\r\n }\r\n\r\n public addCustom(\r\n missionId: number,\r\n objet: string,\r\n corps: string,\r\n isDestinataireMandantChecked: boolean,\r\n isDestinataireExpertChecked: boolean,\r\n isDestinataireControleurChecked: boolean,\r\n autreDestinataire: string,\r\n isCcMandantChecked: boolean,\r\n isCcExpertChecked: boolean,\r\n isCcControleurChecked: boolean,\r\n autreCc: string,\r\n isCciMandantChecked: boolean,\r\n isCciExpertChecked: boolean,\r\n isCciControleurChecked: boolean,\r\n autreCci: string\r\n ) {\r\n return axios\r\n .post(this._endpoint, {\r\n missionId,\r\n objet,\r\n corps,\r\n isDestinataireMandantChecked,\r\n isDestinataireExpertChecked,\r\n isDestinataireControleurChecked,\r\n autreDestinataire,\r\n isCcMandantChecked,\r\n isCcExpertChecked,\r\n isCcControleurChecked,\r\n autreCc,\r\n isCciMandantChecked,\r\n isCciExpertChecked,\r\n isCciControleurChecked,\r\n autreCci,\r\n })\r\n .then((response: any) => this.convertData(response));\r\n }\r\n}\r\n","import Vue from 'vue';\r\nimport router from '@/router';\r\nimport abp from 'abp-web-resources';\r\nimport store from '@/shared/store';\r\n\r\nexport class ExternalAuthenticationService {\r\n constructor() {}\r\n\r\n public async loginInToOmereAndRedirectToMission(\r\n token: string,\r\n missionId: string,\r\n username: string,\r\n nonce: string,\r\n timestamp: string\r\n ): Promise {\r\n const loginParams = {\r\n token,\r\n missionId,\r\n username,\r\n nonce,\r\n timestamp,\r\n };\r\n\r\n await Vue.prototype.$logStoreService.info(\r\n `Connexion depuis Omere pour l'utilisateur ${username} - START`,\r\n 'loginInToOmereAndRedirectToMission'\r\n );\r\n\r\n return new Promise((resolve, reject) => {\r\n Vue.axios\r\n .post('api/tokenauth/authenticatefromomere', loginParams, {\r\n baseURL: Vue.prototype.$config.baseUrlApi,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then(async (response) => {\r\n store.user = response.data.result.user;\r\n if (store.user) {\r\n var lastLoggedUserId = localStorage.getItem('userId');\r\n\r\n if (lastLoggedUserId && +lastLoggedUserId !== store.user.id) {\r\n Vue.prototype.$missionStoreService.clear();\r\n Vue.prototype.$localStorageService.setLastPullDate(null);\r\n }\r\n\r\n localStorage.setItem('userId', store.user.id.toString());\r\n }\r\n\r\n abp.auth.setToken(response.data.result.accessToken, undefined);\r\n abp.utils.setCookieValue('enc_auth_token', response.data.result.encryptedAccessToken, undefined, abp.appPath);\r\n\r\n localStorage.setItem('permissions', JSON.stringify(response.data.result.permissions));\r\n localStorage.setItem('comeFromLoginPage', JSON.stringify(false));\r\n\r\n await Vue.prototype.$logStoreService.info(\r\n `Connexion directe depuis Omere pour l'utilisateur ${username} - END`,\r\n 'loginInToOmereAndRedirectToMission'\r\n );\r\n\r\n resolve(response);\r\n })\r\n .catch(async (error) => {\r\n abp.auth.clearToken();\r\n abp.utils.setCookieValue('enc_auth_token', undefined, undefined, abp.appPath);\r\n\r\n localStorage.removeItem('permissions');\r\n\r\n router.push({ path: '/compte/connexion' });\r\n\r\n reject(error);\r\n });\r\n });\r\n }\r\n}\r\n","import { ModeleEmailDto } from '@/shared/dtos/modele-email.dto';\r\nimport { BaseDtoApiService } from './base-dto-api.service';\r\n\r\nexport class ModeleEmailApiService extends BaseDtoApiService {\r\n constructor() {\r\n super('modelesemails');\r\n }\r\n}\r\n","import store from '@/shared/store';\r\n\r\nexport class LoadingProgressionService {\r\n private _loadingProgressChunks?: number = null;\r\n\r\n public start(chunks?: number): void {\r\n store.isLoading = true;\r\n store.loadingProgression = 0;\r\n this._loadingProgressChunks = chunks;\r\n }\r\n\r\n public stop(): void {\r\n store.isLoading = false;\r\n store.loadingProgression = null;\r\n }\r\n\r\n public progress(): void {\r\n store.loadingProgression += Math.trunc(100 / this._loadingProgressChunks);\r\n }\r\n}\r\n","import { Label } from './../shared/models/label';\r\nimport { RapportExpertiseBusinessEntryDto } from './../shared/dtos/rapport-expertise-business-entry.dto';\r\nimport { NatureBien } from '@/shared/models/nature-bien';\r\nimport biens from '../referentiels/biens.json';\r\nexport class BienService {\r\n constructor() {}\r\n\r\n public getBiens(): NatureBien[] {\r\n return biens;\r\n }\r\n\r\n public getTypesBiensByNatureBienId(natureBienId: number): Label[] {\r\n const bien: NatureBien = biens.find((x) => x.id === natureBienId);\r\n if (bien) {\r\n return bien.types;\r\n }\r\n\r\n return [];\r\n }\r\n\r\n public getCategorieActifsAsBusinessEntries(): RapportExpertiseBusinessEntryDto[] {\r\n return biens.map((x: NatureBien) => new RapportExpertiseBusinessEntryDto(x.id, x.title));\r\n }\r\n\r\n public getTypesBiensAsBusinessEntries(): RapportExpertiseBusinessEntryDto[] {\r\n const typesBien: RapportExpertiseBusinessEntryDto[] = [];\r\n\r\n biens.forEach((natureBien: NatureBien) => {\r\n typesBien.push(...natureBien.types.map((type: Label) => new RapportExpertiseBusinessEntryDto(type.id, type.title, natureBien.id)));\r\n });\r\n\r\n return typesBien;\r\n }\r\n\r\n public getTypesBiensAsBusinessEntriesByBienId(bienId: number): RapportExpertiseBusinessEntryDto[] {\r\n const bien: NatureBien = biens.find((x) => x.id === bienId);\r\n if (bien) {\r\n return bien.types.map((x: Label) => new RapportExpertiseBusinessEntryDto(x.id, x.title, bien.id));\r\n }\r\n\r\n return [];\r\n }\r\n}\r\n","import { AnnexeTableEnum } from './../shared/enums/annexe-table.enum';\r\nimport { PrestationExpertiseAnnexeDto } from '@/shared/dtos/prestation-expertise/prestation-expertise-annexe.dto';\r\nimport Vue from 'vue';\r\nimport { MissionDto } from '@/shared/dtos/mission.dto';\r\nimport { TypePrestationExpertiseEnum } from '@/shared/enums/type-prestation-expertise.enum';\r\nimport { RapportExpertiseDto } from '@/shared/dtos/rapport-expertise.dto';\r\nimport { PieceJointeRapportDto } from '@/shared/dtos/piece-jointe-rapport.dto';\r\nimport { PrestationExpertisePieceJointeDto } from '@/shared/dtos/prestation-expertise/prestation-expertise-piece-jointe.dto';\r\nimport moment from 'moment';\r\nimport _ from 'lodash';\r\nimport axios from 'axios';\r\n\r\nexport class SynchronizationService {\r\n constructor() {}\r\n\r\n public async getDonneesTechniques(): Promise {\r\n const logMessage = 'GET données techniques';\r\n await Vue.prototype.$logStoreService.info(`${logMessage} - START`, 'SynchronizationService');\r\n\r\n await axios\r\n .all([\r\n axios.get('businessentries').then((businessEntriesResponse: any) => {\r\n return Promise.resolve(businessEntriesResponse);\r\n }),\r\n axios.get('prestationsexpertisespointsinspections').then((pointsInspectionsResponse: any) => {\r\n return Promise.resolve(pointsInspectionsResponse);\r\n }),\r\n axios.get('modelesemails').then((modelesemailsResponse: any) => {\r\n return Promise.resolve(modelesemailsResponse);\r\n }),\r\n ])\r\n .then(\r\n axios.spread(async (businessEntriesResponse, pointsInspectionsResponse, modelesemailsResponse) => {\r\n await Vue.prototype.$logStoreService.info('Synchronisation des données techniques depuis le serveur - END', 'Synchro');\r\n\r\n // BusinessEntries\r\n const businessEntries = businessEntriesResponse.data.result;\r\n businessEntries.contratCategorieActifs = Vue.prototype.$bienService.getCategorieActifsAsBusinessEntries();\r\n businessEntries.contratTypeBiens = Vue.prototype.$bienService.getTypesBiensAsBusinessEntries();\r\n Vue.prototype.$localStorageService.setBusinessEntries(businessEntries);\r\n await Vue.prototype.$logStoreService.info('Sauvegarde des BusinessEntries dans le LocalStorage', 'Synchro');\r\n\r\n // Points d'inspections\r\n const pointsInpections = pointsInspectionsResponse.data.result;\r\n Vue.prototype.$localStorageService.setPointsInspections(pointsInpections);\r\n await Vue.prototype.$logStoreService.info(\"Sauvegarde des points d'inspection dans le LocalStorage\", 'Synchro');\r\n\r\n // Modèles d'emails\r\n const modelesemails = modelesemailsResponse.data.result;\r\n Vue.prototype.$localStorageService.setModelesEmails(modelesemails);\r\n await Vue.prototype.$logStoreService.info(\"Sauvegarde des modèles d'email dans le LocalStorage\", 'Synchro');\r\n\r\n await Vue.prototype.$logStoreService.info(`${logMessage} - END`, 'SynchronizationService');\r\n })\r\n )\r\n .catch(async (error: any) => {\r\n Vue.prototype.$notificationService.error(`Une erreur est survenue lors de la récupération des données techniques.`);\r\n await Vue.prototype.$logStoreService.error(`${logMessage} - ERROR`, error, 'SynchronizationService');\r\n });\r\n }\r\n\r\n public async updateMission(missionToPush: MissionDto): Promise {\r\n let hasErrorOccured = false;\r\n\r\n const isOldGenPrestationExpertise = [\r\n TypePrestationExpertiseEnum.CertificatExpertise,\r\n TypePrestationExpertiseEnum.RapportExpertise,\r\n ].includes(missionToPush.typePrestationExpertise);\r\n\r\n // PrestationExpertise.piecesJointes\r\n if (missionToPush.prestationExpertise) {\r\n await this.managePiecesJointes(missionToPush, isOldGenPrestationExpertise, hasErrorOccured);\r\n }\r\n\r\n if (missionToPush.prestationExpertise.annexes) {\r\n await this.manageAnnexes(missionToPush, missionToPush.prestationExpertise.annexes, hasErrorOccured);\r\n }\r\n\r\n missionToPush.prestationExpertise.contratTypeBienId ??= 0;\r\n\r\n const logMissionMessage = `UPDATE mission : ${missionToPush.reference}`;\r\n\r\n await Vue.prototype.$logStoreService.info(`${logMissionMessage} - START`, 'SynchronizationService');\r\n\r\n missionToPush.prestationExpertise.dateModificationUtc = new Date();\r\n\r\n const cleanedMission = _.cloneDeep(missionToPush);\r\n\r\n if (isOldGenPrestationExpertise) {\r\n (cleanedMission.prestationExpertise as RapportExpertiseDto).piecesJointesRapport = null;\r\n } else {\r\n cleanedMission.prestationExpertise.piecesJointes = null;\r\n cleanedMission.prestationExpertise.annexes = null;\r\n }\r\n\r\n // Send mission.prestationExpertise datas\r\n await Vue.prototype.$missionApiService\r\n .update(missionToPush.id, cleanedMission)\r\n .then(async () => {\r\n await Vue.prototype.$logStoreService.info(`${logMissionMessage} - END`, 'SynchronizationService');\r\n })\r\n .catch(async (error: any) => {\r\n hasErrorOccured = true;\r\n await Vue.prototype.$logStoreService.error(`${logMissionMessage} - ERROR`, error, 'SynchronizationService');\r\n });\r\n\r\n if (!hasErrorOccured) {\r\n // Update locally\r\n missionToPush.prestationExpertise.dateDeSauvegardeUtc = new Date();\r\n await Vue.prototype.$missionStoreService.addOrUpdate(missionToPush);\r\n\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n public async managePiecesJointes(missionToPush: MissionDto, isOldGenPrestationExpertise: boolean, hasErrorOccured: boolean) {\r\n if (missionToPush.prestationExpertise) {\r\n // Do the part between Old Gen and Next Gen PrestationExpertise\r\n const piecesJointes = isOldGenPrestationExpertise\r\n ? (missionToPush.prestationExpertise as RapportExpertiseDto).piecesJointesRapport\r\n : missionToPush.prestationExpertise.piecesJointes;\r\n\r\n const pieceJointeApiService = isOldGenPrestationExpertise\r\n ? await Vue.prototype.$pieceJointeRapportApiService\r\n : await Vue.prototype.$prestationExpertisePieceJointeApiService;\r\n\r\n if (piecesJointes) {\r\n // For each type of piecesJointes\r\n for (const typePieceJointe in piecesJointes) {\r\n const piecesJointesToManage = piecesJointes[typePieceJointe];\r\n\r\n // If we have some piecesJointes to process\r\n if (piecesJointesToManage && piecesJointesToManage.length) {\r\n // For each piecesJointes, push them and get its id in callback\r\n for (const pieceJointeToManage of piecesJointesToManage) {\r\n // Case of new pieceJointe\r\n if (pieceJointeToManage.isNew) {\r\n const logPieceJointeMessage = `ADD pièce jointe ${pieceJointeToManage.nom}, mission : ${missionToPush.reference}`;\r\n\r\n await Vue.prototype.$logStoreService.info(`${logPieceJointeMessage} - START`, 'SynchronizationService');\r\n\r\n await pieceJointeApiService\r\n .add(pieceJointeToManage)\r\n .then(async (addedPieceJointe: PieceJointeRapportDto | PrestationExpertisePieceJointeDto) => {\r\n pieceJointeToManage.id = addedPieceJointe.id;\r\n pieceJointeToManage.isNew = false;\r\n pieceJointeToManage.dateDeSauvegardeUtc = new Date();\r\n\r\n // Update locally\r\n await Vue.prototype.$missionStoreService.addOrUpdate(missionToPush);\r\n\r\n await Vue.prototype.$logStoreService.info(`${logPieceJointeMessage} - END`, 'SynchronizationService');\r\n })\r\n .catch(async (error: any) => {\r\n hasErrorOccured = true;\r\n await Vue.prototype.$logStoreService.info(`${logPieceJointeMessage} - ERROR`, error, 'SynchronizationService');\r\n });\r\n // Case of existing pieceJointe to remove\r\n } else if (pieceJointeToManage.id && pieceJointeToManage.isDeleted) {\r\n const logPieceJointeMessage = `DELETE pièce jointe ${pieceJointeToManage.nom}, mission : ${missionToPush.reference}`;\r\n\r\n await Vue.prototype.$logStoreService.info(`${logPieceJointeMessage} - START`, 'SynchronizationService');\r\n\r\n await pieceJointeApiService\r\n .delete(pieceJointeToManage.id)\r\n .then(async () => {\r\n // If delete succeeded on server part, remove it locally\r\n piecesJointes[typePieceJointe] = (piecesJointes[typePieceJointe] as any).filter(\r\n (pieceJointe: PieceJointeRapportDto | PrestationExpertisePieceJointeDto) => pieceJointe.id !== pieceJointeToManage.id\r\n );\r\n\r\n // Update locally\r\n await Vue.prototype.$missionStoreService.addOrUpdate(missionToPush);\r\n\r\n await Vue.prototype.$logStoreService.info(`${logPieceJointeMessage} - END`, 'SynchronizationService');\r\n })\r\n .catch(async (error: any) => {\r\n hasErrorOccured = true;\r\n\r\n await Vue.prototype.$logStoreService.error(`${logPieceJointeMessage} - ERROR`, error, 'SynchronizationService');\r\n });\r\n // Case of updated pieceJointe\r\n } else if (\r\n (!pieceJointeToManage.dateDeSauvegardeUtc && pieceJointeToManage.dateModificationUtc) ||\r\n (pieceJointeToManage.dateModificationUtc &&\r\n pieceJointeToManage.dateDeSauvegardeUtc &&\r\n moment(pieceJointeToManage.dateModificationUtc).valueOf() > moment(pieceJointeToManage.dateDeSauvegardeUtc).valueOf())\r\n ) {\r\n const logPieceJointeMessage = `UPDATE pièce jointe ${pieceJointeToManage.nom}, mission : ${missionToPush.reference}`;\r\n\r\n await Vue.prototype.$logStoreService.info(`${logPieceJointeMessage} - START`, 'SynchronizationService');\r\n\r\n // Do not send base64 data to prevent huge request\r\n const cleanedPieceJointe = _.cloneDeep(pieceJointeToManage);\r\n\r\n if (!isOldGenPrestationExpertise) (cleanedPieceJointe as PrestationExpertisePieceJointeDto).content = null;\r\n\r\n await pieceJointeApiService\r\n .update(cleanedPieceJointe.id, cleanedPieceJointe)\r\n .then(async () => {\r\n pieceJointeToManage.dateDeSauvegardeUtc = new Date();\r\n\r\n // Update locally\r\n await Vue.prototype.$missionStoreService.addOrUpdate(missionToPush);\r\n\r\n await Vue.prototype.$logStoreService.info(`${logPieceJointeMessage} - END`, 'SynchronizationService');\r\n })\r\n .catch(async (error: any) => {\r\n hasErrorOccured = true;\r\n await Vue.prototype.$logStoreService.error(`${logPieceJointeMessage} - ERROR`, error, 'SynchronizationService');\r\n })\r\n .finally(async () => {});\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n private async manageAnnexes(missionToPush: MissionDto, annexes: PrestationExpertiseAnnexeDto[], hasErrorOccured: boolean) {\r\n for (const annexe in annexes) {\r\n const annexeToManage = annexes[annexe] as PrestationExpertiseAnnexeDto;\r\n if (annexeToManage.isNew) {\r\n const logAnnexeMessage = `ADD annexe ${annexeToManage.nom}, mission : ${missionToPush.reference}`;\r\n\r\n await Vue.prototype.$logStoreService.info(`${logAnnexeMessage} - START`, 'SynchronizationService');\r\n\r\n await Vue.prototype.$annexeApiService\r\n .addFile(AnnexeTableEnum.Expertise, missionToPush.expertiseId, annexeToManage)\r\n .then(async (addedPieceJointe: PrestationExpertiseAnnexeDto) => {\r\n annexeToManage.id = addedPieceJointe.id;\r\n annexeToManage.isNew = false;\r\n annexeToManage.dateDeSauvegardeUtc = new Date();\r\n\r\n // Update locally\r\n await Vue.prototype.$missionStoreService.addOrUpdate(missionToPush);\r\n\r\n await Vue.prototype.$logStoreService.info(`${logAnnexeMessage} - END`, 'SynchronizationService');\r\n })\r\n .catch(async (error: any) => {\r\n hasErrorOccured = true;\r\n await Vue.prototype.$logStoreService.info(`${logAnnexeMessage} - ERROR`, error, 'SynchronizationService');\r\n });\r\n } else if (annexeToManage.id && annexeToManage.isDeleted) {\r\n const logAnnexeMessage = `DELETE annexe ${annexeToManage.nom}, mission : ${missionToPush.reference}`;\r\n await Vue.prototype.$logStoreService.info(`${logAnnexeMessage} - START`, 'SynchronizationService');\r\n\r\n await Vue.prototype.$annexeApiService\r\n .delete(annexeToManage.id)\r\n .then(async () => {\r\n missionToPush.prestationExpertise.annexes = missionToPush.prestationExpertise.annexes.filter((x) => x.id !== annexeToManage.id);\r\n\r\n // Update locally\r\n await Vue.prototype.$missionStoreService.addOrUpdate(missionToPush);\r\n\r\n await Vue.prototype.$logStoreService.info(`${logAnnexeMessage} - END`, 'SynchronizationService');\r\n })\r\n .catch(async (error: any) => {\r\n hasErrorOccured = true;\r\n\r\n await Vue.prototype.$logStoreService.error(`${logAnnexeMessage} - ERROR`, error, 'SynchronizationService');\r\n });\r\n }\r\n }\r\n }\r\n}\r\n","import Vue from 'vue';\r\nimport Swal from 'sweetalert2';\r\n\r\nexport class NotificationService {\r\n constructor() {}\r\n\r\n private addToast(variant: string, message: string, title: string = undefined): void {\r\n const vm = new Vue();\r\n\r\n vm.$bvToast.toast(message, {\r\n title: title,\r\n variant: variant,\r\n noCloseButton: true,\r\n solid: true,\r\n });\r\n }\r\n\r\n public default(message: string, title: string = undefined): void {\r\n this.addToast('default', message, title);\r\n }\r\n\r\n public primary(message: string, title: string = undefined): void {\r\n this.addToast('primary', message, title);\r\n }\r\n\r\n public secondary(message: string, title: string = undefined): void {\r\n this.addToast('secondary', message, title);\r\n }\r\n\r\n public info(message: string, title: string = undefined): void {\r\n this.addToast('info', message, title);\r\n }\r\n\r\n public success(message: string, title: string = undefined): void {\r\n this.addToast('success', message, title);\r\n }\r\n\r\n public warn(message: string, title: string = undefined): void {\r\n this.addToast('warning', message, title);\r\n }\r\n\r\n public error(message: string, title: string = undefined, showToaster = false): void {\r\n if (showToaster) {\r\n Swal.fire({\r\n title: title,\r\n text: message,\r\n icon: 'error',\r\n });\r\n } else {\r\n this.addToast('danger', message, title);\r\n }\r\n }\r\n}\r\n","import { SubjectMessageTypeEnum } from '@/shared/enums/subject-message-type.enum';\r\nimport { SubjectMessage } from '@/shared/models/subject-message';\r\nimport { Subject } from 'rxjs';\r\n\r\nexport class SubjectMessageService {\r\n private _subjectMessageService$ = new Subject();\r\n\r\n get subject(): Subject {\r\n return this._subjectMessageService$;\r\n }\r\n\r\n constructor() {}\r\n\r\n public next(subjectType: SubjectMessageTypeEnum, message: any = null): void {\r\n this._subjectMessageService$.next({ type: subjectType, message: message } as SubjectMessage);\r\n }\r\n}\r\n","import moment from 'moment';\r\nimport { PrestationExpertisePointInspectionDto } from '@/shared/dtos/prestation-expertise/prestation-expertise-point-inspection.dto';\r\nimport { ModeleEmailDto } from '@/shared/dtos/modele-email.dto';\r\nimport _ from 'lodash';\r\n\r\nconst BUSINESS_ENTRIES = 'businessentries';\r\nconst LAST_PULL_DATE = 'lastPullDate';\r\nconst POINTS_INSPECTIONS = 'pointsinspections';\r\nconst MODELES_EMAILS = 'modelesEmails';\r\nconst BACK_URL_HISTORY = 'backUrlHistory';\r\n\r\nexport class LocalStorageService {\r\n constructor() {}\r\n\r\n //#region missions\r\n\r\n //#endregion\r\n\r\n //#region missions\r\n\r\n //#endregion\r\n\r\n //#region BusinessEntries\r\n public getBusinessEntries(): any {\r\n return JSON.parse(localStorage.getItem(BUSINESS_ENTRIES));\r\n }\r\n\r\n public setBusinessEntries(businessEntries: any): void {\r\n return localStorage.setItem(BUSINESS_ENTRIES, JSON.stringify(businessEntries));\r\n }\r\n\r\n //#endregion\r\n\r\n //#region PointsInspections\r\n public getPointsInspections(): PrestationExpertisePointInspectionDto[] {\r\n return JSON.parse(localStorage.getItem(POINTS_INSPECTIONS));\r\n }\r\n\r\n public setPointsInspections(pointsInspections: PrestationExpertisePointInspectionDto[]): void {\r\n return localStorage.setItem(POINTS_INSPECTIONS, JSON.stringify(pointsInspections));\r\n }\r\n\r\n //#endregion\r\n\r\n //#region ModelesEmails\r\n public getModelesEmails(): ModeleEmailDto[] {\r\n return JSON.parse(localStorage.getItem(MODELES_EMAILS));\r\n }\r\n\r\n public setModelesEmails(modelesEmails: ModeleEmailDto[]): void {\r\n return localStorage.setItem(MODELES_EMAILS, JSON.stringify(modelesEmails));\r\n }\r\n\r\n //#endregion\r\n\r\n //#region Synchronization Dates\r\n public getLastPullDate(): string {\r\n return JSON.parse(localStorage.getItem(LAST_PULL_DATE)) as string;\r\n }\r\n\r\n public setLastPullDate(date: moment.Moment | null): void {\r\n return localStorage.setItem(LAST_PULL_DATE, JSON.stringify(date));\r\n }\r\n\r\n //#endregion\r\n\r\n //#region BackUrlHistory\r\n public getBackUrlHistory(): any[] {\r\n let backUrlHistory = localStorage.getItem(BACK_URL_HISTORY);\r\n\r\n if (backUrlHistory) return JSON.parse(backUrlHistory);\r\n else return [];\r\n }\r\n\r\n public pushBackUrlHistory(from: any, to: any): void {\r\n if (from.fullPath && from.fullPath !== '/') {\r\n let backUrlHistory = this.getBackUrlHistory() as any[];\r\n\r\n if (backUrlHistory.length > 0 && backUrlHistory[backUrlHistory.length - 1].from === to.fullPath) {\r\n backUrlHistory.pop();\r\n localStorage.setItem(BACK_URL_HISTORY, JSON.stringify(backUrlHistory));\r\n } else {\r\n backUrlHistory.push({ from: from.fullPath, to: to.fullPath });\r\n localStorage.setItem(BACK_URL_HISTORY, JSON.stringify(backUrlHistory));\r\n }\r\n\r\n if (backUrlHistory.length === 0) {\r\n backUrlHistory.push({ from: from.fullPath, to: to.fullPath });\r\n localStorage.setItem(BACK_URL_HISTORY, JSON.stringify(backUrlHistory));\r\n }\r\n }\r\n }\r\n\r\n public removeLastHistory(): void {\r\n let backUrlHistory = this.getBackUrlHistory() as any[];\r\n if (backUrlHistory.length > 0) {\r\n backUrlHistory.pop();\r\n localStorage.setItem(BACK_URL_HISTORY, JSON.stringify(backUrlHistory));\r\n }\r\n }\r\n\r\n //#endregion\r\n}\r\n","import { IDBPDatabase } from 'idb';\r\nimport moment from 'moment';\r\n\r\nexport class BaseStoreService {\r\n protected _tableName: string;\r\n protected _indexName: string;\r\n protected _db: IDBPDatabase;\r\n\r\n constructor(tableName: string, indexName: string, db: IDBPDatabase) {\r\n this._tableName = tableName;\r\n this._indexName = indexName;\r\n this._db = db;\r\n }\r\n\r\n public async clear(): Promise {\r\n try {\r\n await this._db.clear(this._tableName);\r\n } catch (error) {\r\n return false;\r\n }\r\n }\r\n\r\n public async getByKey(key: number): Promise {\r\n const tx = this._db.transaction(this._tableName, 'readonly');\r\n const store = tx.objectStore(this._tableName);\r\n const result = await store.get(key);\r\n return result as T;\r\n }\r\n\r\n public async getByIndex(indexName: string, indexValue: any): Promise {\r\n const tx = this._db.transaction(this._tableName, 'readonly');\r\n const store = tx.objectStore(this._tableName);\r\n const index = store.index(indexName);\r\n const result = await index.get(IDBKeyRange.only(indexValue));\r\n return result as T;\r\n }\r\n\r\n public async getAll(): Promise {\r\n const tx = this._db.transaction(this._tableName, 'readonly');\r\n const store = tx.objectStore(this._tableName);\r\n const result = await store.getAll();\r\n return result as T[];\r\n }\r\n\r\n public async getLastEntry(): Promise {\r\n const tx = this._db.transaction(this._tableName, 'readonly');\r\n const store = tx.objectStore(this._tableName);\r\n var request = store.openCursor(null, 'prev');\r\n return await request.then((event: any) => {\r\n return event.value;\r\n });\r\n }\r\n\r\n public async put(value: T): Promise {\r\n const tx = this._db.transaction(this._tableName, 'readwrite');\r\n const store = tx.objectStore(this._tableName);\r\n const key = await store.put(value);\r\n const result = await store.get(key);\r\n return result as T;\r\n }\r\n\r\n public async addOrUpdate(value: T): Promise {\r\n let storedValue = await this.getByIndex(this._indexName, (value as any)[this._indexName]);\r\n storedValue = { ...storedValue, ...value };\r\n return await this.put(storedValue);\r\n }\r\n\r\n public async addBulk(values: T[]): Promise {\r\n var results: T[] = [];\r\n for (const value of values) {\r\n results.push(await this.addOrUpdate(value));\r\n }\r\n return results;\r\n }\r\n\r\n public async deleteByKey(key: number): Promise {\r\n const tx = this._db.transaction(this._tableName, 'readwrite');\r\n const store = tx.objectStore(this._tableName);\r\n const result = await store.get(key);\r\n\r\n if (!result) {\r\n return false;\r\n }\r\n await store.delete(key);\r\n return true;\r\n }\r\n\r\n public async deleteByPropertyAndValue(property: string, value: any): Promise {\r\n const tx = this._db.transaction(this._tableName, 'readwrite');\r\n const store = tx.objectStore(this._tableName);\r\n\r\n var request = store.openCursor(null);\r\n return await request.then(function deleteCursor(cursor: any): any {\r\n if (!cursor) return;\r\n\r\n if (cursor.value[property] === value) store.delete(cursor.primaryKey);\r\n\r\n return cursor.continue().then(deleteCursor);\r\n });\r\n }\r\n\r\n public async deleteLowerEntriesByPropertyAndValue(property: string, value: any, isDate = false): Promise {\r\n const tx = this._db.transaction(this._tableName, 'readwrite');\r\n const store = tx.objectStore(this._tableName);\r\n\r\n var request = store.openCursor(null);\r\n return await request.then(function deleteCursor(cursor: any): any {\r\n if (!cursor) return;\r\n\r\n var cursorValue = property.split('.').reduce(function (a, b) {\r\n return a[b];\r\n }, cursor.value);\r\n\r\n if (isDate) {\r\n cursorValue = moment(cursorValue);\r\n value = moment(value);\r\n }\r\n\r\n if (cursorValue && cursorValue < value) store.delete(cursor.primaryKey);\r\n\r\n return cursor.continue().then(deleteCursor);\r\n });\r\n }\r\n\r\n public async deleteLowerIndexEntriesByValue(indexName: string, value: any): Promise {\r\n const tx = this._db.transaction(this._tableName, 'readwrite');\r\n const store = tx.objectStore(this._tableName);\r\n const index = store.index(indexName);\r\n\r\n var keyRangeValue = IDBKeyRange.upperBound(value);\r\n var request = index.openKeyCursor(keyRangeValue);\r\n return await request.then(function deleteCursor(cursor: any): any {\r\n if (!cursor) return;\r\n\r\n store.delete(cursor.primaryKey);\r\n return cursor.continue().then(deleteCursor);\r\n });\r\n }\r\n}\r\n","import { BaseStoreService } from './base-store.service';\r\nimport { IDBPDatabase } from 'idb';\r\nimport { MissionDto } from '@/shared/dtos/mission.dto';\r\nimport moment from 'moment';\r\nimport { EtapeMissionEnum } from '@/shared/enums/etape-mission.enum';\r\n\r\nexport class MissionStoreService extends BaseStoreService {\r\n constructor(db: IDBPDatabase) {\r\n super('missions', 'id', db);\r\n }\r\n\r\n public async getToPush(): Promise {\r\n const storedMissions = await this.getAll();\r\n\r\n const missionsToPush = storedMissions.filter(\r\n (missionToPush: MissionDto) =>\r\n missionToPush.prestationExpertise &&\r\n missionToPush.prestationExpertise.dateModificationUtc &&\r\n missionToPush.prestationExpertise.dateModificationUtc.toString() !== '0001-01-01T00:00:00+00:00' &&\r\n (!missionToPush.prestationExpertise.dateDeSauvegardeUtc ||\r\n moment(missionToPush.prestationExpertise.dateModificationUtc).valueOf() >\r\n moment(missionToPush.prestationExpertise.dateDeSauvegardeUtc).valueOf()) &&\r\n missionToPush.etape === EtapeMissionEnum.AttribueeALExpert\r\n );\r\n\r\n return missionsToPush;\r\n }\r\n}\r\n","/* eslint-disable no-console */\r\n\r\nimport { BaseStoreService } from './base-store.service';\r\nimport { IDBPDatabase } from 'idb';\r\nimport { Log } from '@/shared/models/log';\r\nimport { SeverityLevelEnum } from '@/shared/enums/severity-level.enum';\r\nimport { Guid } from 'guid-typescript';\r\nimport moment from 'moment';\r\n\r\nexport class LogStoreService extends BaseStoreService {\r\n constructor(db: IDBPDatabase) {\r\n super('logs', 'id', db);\r\n\r\n this.deleteLowerEntriesByPropertyAndValue('date', moment().subtract(3, 'days'), true);\r\n }\r\n\r\n private async addLog(level: SeverityLevelEnum, message: any, error: any = null, info: string = null): Promise {\r\n if (error && typeof error === 'object') {\r\n error = {\r\n name: error.name,\r\n message: error.message,\r\n stack: error.stack,\r\n };\r\n }\r\n\r\n const log = {\r\n id: Guid.create().toString(),\r\n date: new Date(),\r\n level,\r\n message,\r\n error: error,\r\n info,\r\n } as Log;\r\n\r\n await this.put(log);\r\n\r\n switch (level) {\r\n case SeverityLevelEnum.DEBUG:\r\n case SeverityLevelEnum.INFORMATION:\r\n console.log(log.message);\r\n break;\r\n case SeverityLevelEnum.WARNING:\r\n console.warn(log.message);\r\n break;\r\n case SeverityLevelEnum.ERROR:\r\n case SeverityLevelEnum.CRITICAL:\r\n console.error(log.message, log.error);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n public async debug(message: any, info: string = null): Promise {\r\n await this.addLog(SeverityLevelEnum.DEBUG, message, null, info);\r\n }\r\n\r\n public async info(message: any, info: string = null): Promise {\r\n await this.addLog(SeverityLevelEnum.INFORMATION, message, null, info);\r\n }\r\n\r\n public async warn(message: any, info: string = null): Promise {\r\n await this.addLog(SeverityLevelEnum.INFORMATION, message, null, info);\r\n }\r\n\r\n public async error(message: any, error: any = null, info: string = null): Promise {\r\n await this.addLog(SeverityLevelEnum.ERROR, message, error, info);\r\n }\r\n\r\n public async critical(message: any, error: any = null, info: string = null): Promise {\r\n await this.addLog(SeverityLevelEnum.CRITICAL, message, error, info);\r\n }\r\n}\r\n","import { MissionForListDto } from '@/shared/dtos/liste-mission.dto';\r\nimport axios from 'axios';\r\nimport { BaseDtoApiService } from './base-dto-api.service';\r\n\r\nexport class MissionForListApiService extends BaseDtoApiService {\r\n constructor() {\r\n super('missions');\r\n }\r\n\r\n public getAllByOmereContactId(omereContactId: number): Promise {\r\n return axios.get(`${this._endpoint}/contact/${omereContactId}/list/all`).then((data: any) => this.convertDatas(data));\r\n }\r\n\r\n public getLastByOmereContactId(omereContactId: number): Promise {\r\n return axios.get(`${this._endpoint}/contact/${omereContactId}/list/last`).then((data: any) => this.convertDatas(data));\r\n }\r\n\r\n public getLastOrAllByOmereContactId(omereContactId: number, selection: string): Promise {\r\n if (selection === 'last') return this.getLastByOmereContactId(omereContactId);\r\n\r\n return this.getAllByOmereContactId(omereContactId);\r\n }\r\n}\r\n","import { AnnexeDto } from '@/shared/dtos/annexe.dto';\r\nimport { PrestationExpertiseAnnexeDto } from '@/shared/dtos/prestation-expertise/prestation-expertise-annexe.dto';\r\nimport axios from 'axios';\r\nimport { BaseDtoApiService } from './base-dto-api.service';\r\nexport class AnnexeApiService extends BaseDtoApiService {\r\n constructor() {\r\n super('annexes');\r\n }\r\n\r\n public getAnnexe(id: number): Promise {\r\n return axios.get(`${this._endpoint}/${id}`, {\r\n responseType: 'blob',\r\n });\r\n }\r\n\r\n public addFile(\r\n tableId: number,\r\n ficheId: number,\r\n annexe: PrestationExpertiseAnnexeDto\r\n ): Promise {\r\n return axios\r\n .post(`${this._endpoint}/${tableId}/fiche/${ficheId}`, this.toJson(annexe))\r\n .then((response: any) => this.convertData(response));\r\n }\r\n}\r\n","import { DiagnosticApplicationDto } from '@/shared/dtos/diagnostic-application.dto';\r\nimport axios from 'axios';\r\nimport Vue from 'vue';\r\nimport { BaseDtoApiService } from './base-dto-api.service';\r\n\r\nexport class DiagnosticApplicationApiService extends BaseDtoApiService {\r\n constructor() {\r\n super('diagnosticsapplications');\r\n }\r\n\r\n public addLogs(logs: string): Promise {\r\n return axios.post(this._endpoint, { appClientVersion: Vue.prototype.$config.appVersion, content: logs });\r\n }\r\n}\r\n","import { BaseDtoApiService } from './base-dto-api.service';\r\nimport { PrestationExpertiseProprietesDto } from '@/shared/dtos/prestation-expertise/prestation-expertise-proprietes.dto';\r\n\r\nexport class PrestationExpertiseProprietesApiService extends BaseDtoApiService {\r\n constructor() {\r\n super('prestationexpertiseproprietes');\r\n }\r\n}\r\n","import { PrestationExpertiseVersionHistoryDto } from '@/shared/dtos/prestation-expertise/prestation-expertise-version-history.dto';\r\nimport axios from 'axios';\r\nimport { BaseDtoApiService } from './base-dto-api.service';\r\n\r\nexport class PrestationExpertiseVersionHistoryApiService extends BaseDtoApiService {\r\n constructor() {\r\n super('prestationexpertiseversionhistories');\r\n }\r\n\r\n public checkForUpdateAndConflictByPrestationExpertiseIds(prestationExpertiseIds: number[]): Promise {\r\n return axios.post(`${this._endpoint}/status`, prestationExpertiseIds).then((response: any) => response.data.result);\r\n }\r\n}\r\n","import axios from 'axios';\r\nimport Vue from 'vue';\r\nimport router from './../router';\r\nimport abp from 'abp-web-resources';\r\n\r\nexport class AuthentificationService {\r\n constructor() {}\r\n\r\n public logout(): void {\r\n axios\r\n .get('api/TokenAuth/logout', {\r\n baseURL: Vue.prototype.$config.baseUrlApi,\r\n })\r\n .then(() => {\r\n abp.auth.clearToken();\r\n abp.utils.setCookieValue('enc_auth_token', undefined, undefined, abp.appPath);\r\n localStorage.setItem('comeFromLoginPage', JSON.stringify(false));\r\n\r\n // Ces vérifications permettent d'éviter les erreurs au chargement de l'application, et les redirections en boucle\r\n if (router.app && window.location.pathname !== '/' && window.location.pathname !== '/compte/connexion') {\r\n router.app.$ability.update([]);\r\n location.href = '/';\r\n }\r\n });\r\n }\r\n}\r\n","import { PrestationExpertisePieceJointeDto } from '@/shared/dtos/prestation-expertise/prestation-expertise-piece-jointe.dto';\r\nimport { BaseDtoApiService } from './base-dto-api.service';\r\nimport axios from 'axios';\r\nimport { SocieteSettings } from '@/shared/models/societe-settings.model';\r\n\r\nexport class PermissionsService {\r\n constructor() {}\r\n\r\n public getSocieteSettings(societeId: number): Promise {\r\n return axios.get(`societes/${societeId}/settings`).then((response: any) => {\r\n return response.data.result as SocieteSettings;\r\n });\r\n }\r\n}\r\n","import axios from 'axios';\r\n\r\nexport class ReferentielApiService {\r\n public urlApi: string = '/referentiel';\r\n\r\n public getReferentielDpe(): Promise> {\r\n return axios.get(`${this.urlApi}/dpe`).then((response: any) => {\r\n return response.data.result as Array<{ [key: string]: string }>;\r\n });\r\n }\r\n\r\n public getAnneeConstruction(): Promise<{ [key: number]: string }> {\r\n return axios.get(`${this.urlApi}/anneeConstruction`).then((response: any) => {\r\n return response.data.result as { [key: number]: string };\r\n });\r\n }\r\n}\r\n","/* eslint-disable no-console */\r\n\r\nimport { BaseStoreService } from './base-store.service';\r\nimport { IDBPDatabase } from 'idb';\r\nimport { SocieteSettings } from '@/shared/models/societe-settings.model';\r\n\r\nexport class SocieteSettingsStoreService extends BaseStoreService {\r\n constructor(db: IDBPDatabase) {\r\n super('societe-settings', 'societeId', db);\r\n }\r\n}\r\n","import { EtudeDeMarcheApiService } from './services/apis/etude-de-marche-api.service';\r\nimport { JourFerieService } from './services/jours-feries.services';\r\nimport ToggleButton from 'vue-js-toggle-button';\r\n/* eslint-disable no-console */\r\n/* eslint-disable no-alert */\r\nimport Vue from 'vue';\r\nimport Vuelidate from 'vuelidate';\r\nimport router from './router';\r\nimport './http';\r\nimport VueMoment from 'vue-moment';\r\nimport moment from 'moment';\r\nimport { abilitiesPlugin } from '@casl/vue';\r\nimport { BootstrapVue, BootstrapVueIcons } from 'bootstrap-vue';\r\nimport App from './App.vue';\r\nrequire('moment/locale/fr');\r\n\r\nimport { library, dom } from '@fortawesome/fontawesome-svg-core';\r\nimport {\r\n faThermometerHalf,\r\n faWind,\r\n faFire,\r\n faTrash,\r\n faPlus,\r\n faTimes,\r\n faSquare,\r\n faCloudUploadAlt,\r\n faCloudDownloadAlt,\r\n faPencilAlt,\r\n faCheck,\r\n faBan,\r\n faHeart,\r\n faPaperPlane,\r\n faPlusCircle,\r\n faMinusCircle,\r\n faCheckCircle,\r\n faEye,\r\n faMapMarkerAlt,\r\n faArrowLeft,\r\n faCommentAlt,\r\n faCaretRight,\r\n faCar,\r\n faWalking,\r\n faChartPie,\r\n faExclamation,\r\n faSyncAlt,\r\n faStoreAlt,\r\n faSearchPlus,\r\n faHome,\r\n faList,\r\n faSignOutAlt,\r\n faEyeSlash,\r\n faEllipsisH,\r\n faBars,\r\n faAngleLeft,\r\n faAngleRight,\r\n faArrowDown,\r\n faArrowUp,\r\n faClone,\r\n faChevronLeft,\r\n faSave,\r\n faFileDownload,\r\n faArrowsAltH,\r\n faCog,\r\n faEnvelope,\r\n faPaperclip,\r\n faDownload,\r\n faBolt,\r\n faLeaf,\r\n faUpload,\r\n faThumbsUp,\r\n faThumbsDown,\r\n faCamera,\r\n faFolderOpen,\r\n faInfo,\r\n faThumbtack,\r\n faChevronDown,\r\n faChevronUp,\r\n faMagic,\r\n faRocket,\r\n faExclamationTriangle,\r\n faImage,\r\n faTint,\r\n faBuilding,\r\n faColumns,\r\n} from '@fortawesome/free-solid-svg-icons';\r\nimport { faCircle, faCalendar, faCalendarAlt } from '@fortawesome/free-regular-svg-icons';\r\nimport { FontAwesomeIcon, FontAwesomeLayers } from '@fortawesome/vue-fontawesome';\r\n\r\nimport './styles/styles.scss';\r\nimport './registerServiceWorker';\r\nimport axios from 'axios';\r\nimport VueAxios from 'vue-axios';\r\nimport VueKonva from 'vue-konva';\r\nimport { MissionApiService } from './services/apis/mission-api.service';\r\nimport { SimpleMissionApiService } from './services/apis/simple-mission-api.service';\r\nimport { PrestationExpertiseApiService } from '@/services/apis/prestation-expertise-api.service';\r\nimport { RapportExpertiseApiService } from '@/services/apis/rapport-expertise-api.service';\r\nimport { PieceJointeRapportApiService } from './services/apis/piece-jointe-rapport-api.service';\r\nimport { ValeurSpotPlusApiService } from './services/apis/valeur-spot-plus-api.service';\r\nimport { PrestationExpertisePieceJointeApiService } from './services/apis/prestation-expertise-piece-jointe-api.service';\r\nimport { DonneesEstimationImmobiliereApiService } from '@/services/apis/donnees-estimation-immobiliere-api.service';\r\nimport { ExpertiseApiService } from '@/services/apis/expertise-api.service';\r\nimport { EmailCommandeApiService } from './services/apis/email-commande-api.service';\r\nimport { ExternalAuthenticationService } from './services/external-authentication.service';\r\nimport { ModeleEmailApiService } from './services/apis/modele-email-api.service';\r\nimport { LoadingProgressionService } from './services/loading-progression.service';\r\nimport { BienService } from './services/bien.service';\r\nimport { SynchronizationService } from './services/synchronization.service';\r\nimport { NotificationService } from './services/notification.service';\r\nimport { SubjectMessageService } from './services/subject-message.service';\r\nimport { LocalStorageService } from './services/local-storage.service';\r\nimport { IDBPDatabase, openDB } from 'idb';\r\nimport { MissionStoreService } from './services/store/mission-store.service.ts';\r\nimport { LogStoreService } from './services/store/log-store.service';\r\nimport { MissionForListApiService } from './services/apis/mission-for-list-api.service';\r\nimport { AnnexeApiService } from './services/apis/annexe-api.service';\r\nimport { DiagnosticApplicationApiService } from './services/apis/diagnostic-application-api.service';\r\nimport { PrestationExpertiseProprietesApiService } from './services/apis/prestation-expertise-proprietes-api.service';\r\nimport { PrestationExpertiseVersionHistoryApiService } from './services/apis/prestation-expertise-version-history-api.service';\r\nimport { AuthentificationService } from './services/authentification.service';\r\n\r\nimport store from './shared/store';\r\nimport loadGoogleMapsApi from 'load-google-maps-api';\r\nimport { PermissionsService } from './services/apis/permission.service';\r\nimport { ReferentielApiService } from './services/apis/referentiel-api.service';\r\nimport { DateTime } from 'luxon';\r\nimport { SocieteSettingsStoreService } from './services/store/societe-settings-store.service';\r\n\r\ndom.watch();\r\n\r\nVue.config.productionTip = false;\r\n\r\nVue.use(Vuelidate);\r\n\r\nmoment.updateLocale('fr', {\r\n calendar: {\r\n lastDay: '[hier à] LTS',\r\n sameDay: '[aujd. à] LTS',\r\n nextDay: '[demain à] LTS',\r\n lastWeek: 'ddd [der. à] LTS',\r\n nextWeek: 'ddd [à] LTS',\r\n sameElse: 'L [à] LTS',\r\n },\r\n});\r\n\r\nVue.use(VueMoment, { moment });\r\n\r\nVue.use(abilitiesPlugin);\r\nlibrary.add(\r\n faThermometerHalf,\r\n faBuilding,\r\n faWind,\r\n faColumns,\r\n faTint,\r\n faFire,\r\n faLeaf,\r\n faBolt,\r\n faTrash,\r\n faPlus,\r\n faTimes,\r\n faSquare,\r\n faCloudUploadAlt,\r\n faCloudDownloadAlt,\r\n faPencilAlt,\r\n faCheck,\r\n faBan,\r\n faCalendarAlt,\r\n faHeart,\r\n faCircle,\r\n faPaperPlane,\r\n faPlusCircle,\r\n faMinusCircle,\r\n faCheckCircle,\r\n faEye,\r\n faEyeSlash,\r\n faMapMarkerAlt,\r\n faArrowLeft,\r\n faCommentAlt,\r\n faCaretRight,\r\n faCar,\r\n faWalking,\r\n faChartPie,\r\n faExclamation,\r\n faSyncAlt,\r\n faStoreAlt,\r\n faSearchPlus,\r\n faHome,\r\n faList,\r\n faSignOutAlt,\r\n faEllipsisH,\r\n faCalendar,\r\n faBars,\r\n faAngleLeft,\r\n faAngleRight,\r\n faArrowDown,\r\n faArrowUp,\r\n faClone,\r\n faChevronLeft,\r\n faSave,\r\n faFileDownload,\r\n faArrowsAltH,\r\n faCog,\r\n faEnvelope,\r\n faPaperclip,\r\n faDownload,\r\n faBolt,\r\n faLeaf,\r\n faUpload,\r\n faThumbsUp,\r\n faThumbsDown,\r\n faCamera,\r\n faFolderOpen,\r\n faList,\r\n faInfo,\r\n faThumbtack,\r\n faChevronDown,\r\n faChevronUp,\r\n faMagic,\r\n faRocket,\r\n faExclamationTriangle,\r\n faImage\r\n);\r\nVue.component('font-awesome-icon', FontAwesomeIcon);\r\nVue.component('font-awesome-layers', FontAwesomeLayers);\r\nVue.use(BootstrapVue);\r\nVue.use(BootstrapVueIcons);\r\nVue.use(VueKonva);\r\nVue.use(ToggleButton);\r\n\r\nVue.filter('currency', (value: any) => {\r\n return value != null\r\n ? value.toLocaleString('fr-FR', {\r\n style: 'currency',\r\n currency: 'EUR',\r\n minimumFractionDigits: 0,\r\n maximumFractionDigits: 2,\r\n })\r\n : null;\r\n});\r\n\r\nVue.filter('date', (value: DateTime, format: string) => {\r\n return !value ? 'n.a.' : moment(value).format(format);\r\n});\r\n\r\nVue.filter('thousandSeparator', function (value: number) {\r\n if (!value) return '0';\r\n return value.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, ' ');\r\n});\r\n\r\n// Services\r\nVue.prototype.$localStorageService = new LocalStorageService();\r\ncreateObjectsStoresAndServices();\r\n\r\n// APIs Services\r\nVue.prototype.$missionApiService = new MissionApiService();\r\nVue.prototype.$simpleMissionApiService = new SimpleMissionApiService();\r\nVue.prototype.$prestationExpertiseApiService = new PrestationExpertiseApiService();\r\nVue.prototype.$missionForListApiService = new MissionForListApiService();\r\nVue.prototype.$rapportExpertiseApiService = new RapportExpertiseApiService();\r\nVue.prototype.$pieceJointeRapportApiService = new PieceJointeRapportApiService();\r\nVue.prototype.$valeurSpotPlusApiService = new ValeurSpotPlusApiService();\r\nVue.prototype.$prestationExpertisePieceJointeApiService = new PrestationExpertisePieceJointeApiService();\r\nVue.prototype.$donneesEstimationImmobiliereApiService = new DonneesEstimationImmobiliereApiService();\r\nVue.prototype.$expertiseApiService = new ExpertiseApiService();\r\nVue.prototype.$emailCommandeApiService = new EmailCommandeApiService();\r\nVue.prototype.$externalAuthenticationService = new ExternalAuthenticationService();\r\nVue.prototype.$modeleEmailApiService = new ModeleEmailApiService();\r\nVue.prototype.$loadingProgressionService = new LoadingProgressionService();\r\nVue.prototype.$bienService = new BienService();\r\nVue.prototype.$annexeApiService = new AnnexeApiService();\r\nVue.prototype.$subjectMessageService = new SubjectMessageService();\r\nVue.prototype.$synchronizationService = new SynchronizationService();\r\nVue.prototype.$notificationService = new NotificationService();\r\nVue.prototype.$diagnosticApplicationApiService = new DiagnosticApplicationApiService();\r\nVue.prototype.$prestationExpertiseProprietesApiService = new PrestationExpertiseProprietesApiService();\r\nVue.prototype.$prestationExpertiseVersionHistoryApiService = new PrestationExpertiseVersionHistoryApiService();\r\nVue.prototype.$jourFiereService = new JourFerieService();\r\nVue.prototype.$etudeDeMarcheApiService = new EtudeDeMarcheApiService();\r\nVue.prototype.$authentificationService = new AuthentificationService();\r\nVue.prototype.$permissionService = new PermissionsService();\r\nVue.prototype.$referentielService = new ReferentielApiService();\r\n\r\n// Error handling\r\nVue.config.errorHandler = async function (error: Error, vm: any, info: any) {\r\n console.error(error, vm, info);\r\n\r\n Vue.prototype.$notificationService.error(`Une erreur est survenue.`);\r\n\r\n store.isLoading = false;\r\n\r\n await Vue.prototype.$logStoreService.error(error?.message, error, info.toString());\r\n};\r\n\r\nwindow.onerror = async function (message: any, source: string, ligne: number, colone: number, error: Error) {\r\n console.error(message, source, ligne, colone, error);\r\n\r\n await Vue.prototype.$logStoreService.error(message.toString(), error, `Source: ${source} - Ligne: ${ligne} - Colonne: ${colone}}`);\r\n};\r\n\r\n// Déclare le bus d'événements pour la communication entre component\r\nexport const EventBus = new Vue();\r\n\r\n// Initialisation\r\nlet configFile = 'app-config.json';\r\nif (process.env.NODE_ENV !== 'production') {\r\n configFile = 'app-config.local.json';\r\n}\r\nfetch(getDocumentOrigin() + '/' + configFile).then((resp: any) => {\r\n resp.json().then((config: any) => {\r\n Vue.prototype.$config = config;\r\n Vue.prototype.$isProduction = process.env.NODE_ENV === 'production';\r\n Vue.use(VueAxios, axios);\r\n Vue.axios.defaults.baseURL = Vue.prototype.$config.baseUrlApiAppService;\r\n\r\n axios\r\n .get(config.baseUrlApiAppService + 'services/app/Session/GetCurrentLoginInformations')\r\n .then((response: any) => {\r\n if (response.data.result) {\r\n store.user = response.data.result.user;\r\n\r\n if (store.user) {\r\n var lastLoggedUserId = localStorage.getItem('userId');\r\n\r\n if (lastLoggedUserId && +lastLoggedUserId !== store.user.id) {\r\n Vue.prototype.$missionStoreService.clear();\r\n Vue.prototype.$localStorageService.setLastPullDate(null);\r\n }\r\n\r\n localStorage.setItem('userId', store.user.id.toString());\r\n }\r\n }\r\n\r\n new Vue({\r\n router,\r\n render: (h: any) => h(App),\r\n }).$mount('#app');\r\n })\r\n .catch((error) => {\r\n // En cas d'erreur on veut quand même lancer l'application pour permettre l'accès à la page d'accueil\r\n new Vue({\r\n router,\r\n render: (h: any) => h(App),\r\n }).$mount('#app');\r\n });\r\n\r\n loadGoogleMapsApi({\r\n key: Vue.prototype.$config.googleMapApiKey,\r\n libraries: ['places', 'geometry'],\r\n }).then(\r\n (googleMapApi: any) => {\r\n Vue.prototype.$googleMapsApi = googleMapApi;\r\n },\r\n async (error: any) => {\r\n Vue.prototype.$notificationService.error(`Erreur au chargement de la carte Google Maps.`);\r\n await Vue.prototype.$logStoreService.error(`Erreur au chargement de la carte Google Maps.`, error, 'Google Map Api');\r\n }\r\n );\r\n });\r\n});\r\n\r\nfunction getDocumentOrigin() {\r\n if (!document.location.origin) {\r\n const port = document.location.port ? ':' + document.location.port : '';\r\n return document.location.protocol + '//' + document.location.hostname + port;\r\n }\r\n\r\n return document.location.origin;\r\n}\r\n\r\nasync function createObjectsStoresAndServices() {\r\n let db = await openDB('immoprod', 3, {\r\n upgrade(db: IDBPDatabase, oldVersion: number, newVersion: number) {\r\n console.log(`Database Versions : Old: ${oldVersion} - New : ${newVersion} `);\r\n\r\n if (!db.objectStoreNames.contains('missions')) {\r\n const store = db.createObjectStore('missions', { autoIncrement: true, keyPath: 'key' });\r\n store.createIndex('id', 'id', { unique: true });\r\n }\r\n\r\n if (!db.objectStoreNames.contains('societe-settings')) {\r\n const store = db.createObjectStore('societe-settings', { autoIncrement: true, keyPath: 'key' });\r\n store.createIndex('societeId', 'societeId', { unique: true });\r\n }\r\n\r\n if (!db.objectStoreNames.contains('logs')) {\r\n const store = db.createObjectStore('logs', { autoIncrement: true, keyPath: 'key' });\r\n store.createIndex('id', 'id', { unique: true });\r\n }\r\n\r\n db.onversionchange = (event) => {\r\n db.close();\r\n };\r\n },\r\n blocked() {\r\n alert(`La base de donnée locale n'est plus à jour. Veuillez recharger l'application`);\r\n },\r\n blocking() {\r\n alert(`La base de donnée locale n'est plus à jour. Veuillez recharger l'application`);\r\n },\r\n terminated() {\r\n alert(`La connexion à la base de données locale s'est interrompue pour une raison inconue. Veuillez recharger l'application`);\r\n },\r\n });\r\n\r\n Vue.prototype.$missionStoreService = new MissionStoreService(db);\r\n Vue.prototype.$logStoreService = new LogStoreService(db);\r\n Vue.prototype.$societeSettingsStoreService = new SocieteSettingsStoreService(db);\r\n}\r\n","module.exports = __webpack_public_path__ + \"img/logo.67a66832.png\";","export default {\r\n Admin: 'Admin',\r\n AdminBPCEEI: 'AdminBPCEEI',\r\n Expert: 'Expert',\r\n SousTraitant: 'Sous Traitant',\r\n SousTraitantAvance: 'Sous Traitant Avancé',\r\n Controleur: 'Contrôleur',\r\n};\r\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-mission-merge.vue?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-rapport-indicateurs.vue?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./google-map.vue?vue&type=style&index=0&id=1ea72539&lang=scss&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./extendable-list.vue?vue&type=style&index=0&id=183cbb10&lang=scss&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./panel-annexes.vue?vue&type=style&index=0&id=58b4d9fd&lang=scss&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./recherche.vue?vue&type=style&index=0&lang=scss&\"","export enum NatureVisiteEnum {\r\n Complete = 1001348,\r\n Exterieure = 55280,\r\n Partielle = 2911342,\r\n SurPieces = 1001483,\r\n}\r\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./exp-commodite.vue?vue&type=style&index=1&lang=css&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./agenda-loading-message.vue?vue&type=style&index=0&id=d5a3329a&lang=scss&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./missions.vue?vue&type=style&index=0&id=863c6e3e&lang=scss&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./html-textarea.vue?vue&type=style&index=0&id=4e2ffe2e&lang=scss&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./checkboxs.vue?vue&type=style&index=0&lang=scss&\"","export enum RapportExpertiseNoteSectionEnum {\r\n //Contrat = 11, // pas de note pour le contrat, mais on réserve le numéro au cas où...\r\n SituationGeographique = 12,\r\n DescriptionGenerale = 13,\r\n DescriptionParticuliere = 14,\r\n SituationFiscale = 15,\r\n SituationJuridique = 16,\r\n SituationUrbanistique = 17,\r\n EtudeDeMarche = 18,\r\n Evaluation = 19,\r\n Conclusion = 20,\r\n Global = 21,\r\n SituationLocative = 22,\r\n}\r\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./etiquette-dpe.vue?vue&type=style&index=0&id=5bbbefdd&lang=scss&scoped=true&\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prestation-expertise-etude-de-marche-modele-rapport.vue?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./recherche.vue?vue&type=style&index=1&id=53aa2f1c&lang=scss&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./extendable-list-string.vue?vue&type=style&index=0&lang=scss&\""],"sourceRoot":""}