Ver código fonte

proximites main features done !

bach 1 ano atrás
pai
commit
fba8fcd6d7
2 arquivos alterados com 49 adições e 2 exclusões
  1. 25 0
      src/components/ConcernementMapItem.vue
  2. 24 2
      src/views/Concernement.vue

+ 25 - 0
src/components/ConcernementMapItem.vue

@@ -1797,6 +1797,9 @@ export default {
             case "terraindevie":
               group_to_hit = this.paper_main_object.children['entites'];
               break;
+            case "proximite":
+              group_to_hit = this.paper_main_object.children['entites_proximites_references'];
+              break;
             case "superposition":
               group_to_hit = this.paper_main_object.children['entites_superposes'];
               break;
@@ -1826,6 +1829,28 @@ export default {
                     hash: `#${this.map_mode}`,
                   });    
                   break;
+                case "proximite":
+                  switch (result.item.item_type) {
+                    case "entite_proximite":
+                      this.$router.push({
+                        name: 'concernement',
+                        params: {cid: this.cid, eid: result.item.item_id},
+                        hash: `#${this.map_mode}`,
+                      });
+                      break;
+                    case "entite_proximite_reference":
+                      this.$router.push({
+                        name: 'concernement',
+                        params: {cid: this.cid, eid: result.item.parent_eid},
+                        query: {
+                          proximite_cid: result.item.ref_cid,
+                          proximite_eid: result.item.item_id
+                        },
+                        hash: `#${this.map_mode}`,
+                      });
+                      break;
+                  }
+                  
                 case "doleancer":
                   this.setOpenedDoleanceField(this.cid, result.item.did, result.item.field, result.item.field_index);
                   break;

+ 24 - 2
src/views/Concernement.vue

@@ -29,6 +29,7 @@ export default {
   data(){
     return {
       // entite: null,
+      proximite_cid_eid: null,
       superposition_id: null,
       superposition: null,
       opened_besoin_id: null,
@@ -84,7 +85,15 @@ export default {
     console.log('Concernement view created, allSuperpositions_byid', this.allSuperpositions_byid);
     console.log("superposition", this.superposition);
 
-    if(this.map_mode === "superposition" && this.$route.query.superposition_id){
+    if(this.map_mode === "proximite" && this.$route.query.proximite_cid && this.$route.query.proximite_eid){
+      this.proximite_cid_eid = {
+        cid: this.$route.query.proximite_cid,
+        eid: this.$route.query.proximite_eid,
+      }
+      // as we have two content to show multiply the cartouch with by 2
+      // necessary for mapitem opening scale and position
+      this.setCartoucheWidth(2)
+    }else if(this.map_mode === "superposition" && this.$route.query.superposition_id){
       this.getSuperposition()
       // as we have two content to show multiply the cartouch with by 2
       // necessary for mapitem opening scale and position
@@ -94,7 +103,7 @@ export default {
       // necessary for mapitem opening scale and position
       this.setCartoucheWidth(1)
     }
-
+    
     // when we arrived directly to the url, load the entite
     // this.eid provided by route params
     if (this.map_mode === "terraindevie" && this.eid) {
@@ -125,6 +134,16 @@ export default {
         if (n.query && n.query.superposition_id) {
           this.getSuperposition()
         }
+        if (n.query && n.query.proximite_cid && n.query.proximite_eid) {
+          this.proximite_cid_eid = {
+            cid: n.query.proximite_cid,
+            eid: n.query.proximite_eid,
+          }
+          this.setCartoucheWidth(2)
+        }else{
+          this.proximite_cid_eid = null;
+          this.setCartoucheWidth(1)
+        }
       },
       deep: true
     }
@@ -176,6 +195,9 @@ export default {
   <section v-if="map_mode === 'superposition' && superposition && superposed_cid_eid" class="concernement clone">
     <TerrainDeVie :cid="superposed_cid_eid.cid" :eid="superposed_cid_eid.eid" />
   </section>
+  <section v-if="map_mode === 'proximite' && proximite_cid_eid" class="concernement clone">
+    <TerrainDeVie :cid="proximite_cid_eid.cid" :eid="proximite_cid_eid.eid" />
+  </section>
   <nav class="close-concernement" @click="closeConcernement">
     <svg class="close-btn" viewbox="0 0 24 24" width="24" height="24" style="--sx: 1; --sy: 1; --r: 0deg;">
       <mask id="arrowMask">