tremble 3 yıl önce
ebeveyn
işleme
872b584c68
39 değiştirilmiş dosya ile 455 ekleme ve 231 silme
  1. 9 0
      public/index.html
  2. 9 1
      public/mobile.html
  3. 1 1
      public/model/application.js
  4. 1 1
      public/model/assets/main/import/08/08be024f5.json
  5. 1 1
      public/model/assets/main/index.js
  6. 1 1
      public/model/src/settings.json
  7. BIN
      src/assets/images/project/enter_bg.jpg
  8. BIN
      src/assets/images/project/mascot.gif
  9. 13 1
      src/assets/style/public.less
  10. 5 5
      src/components/hotspot/iframe.vue
  11. 2 2
      src/components/hotspot/image.vue
  12. 1 1
      src/components/hotspot/index.vue
  13. 2 2
      src/components/hotspot/model.vue
  14. 1 1
      src/components/hotspot/title.vue
  15. 2 2
      src/components/hotspot/video.vue
  16. 39 16
      src/components/mapsvg/a.vue
  17. 40 17
      src/components/mapsvg/b.vue
  18. 41 18
      src/components/mapsvg/c.vue
  19. 41 17
      src/components/mapsvg/d.vue
  20. 41 17
      src/components/mapsvg/e.vue
  21. 56 29
      src/components/mapsvg/xuting.vue
  22. 9 5
      src/components/popupLayout/Loading.vue
  23. 35 35
      src/data/raw.js
  24. 3 1
      src/pages/enter/model/index.vue
  25. 9 4
      src/pages/mobilescene/aside.vue
  26. 1 1
      src/pages/mobilescene/bar.vue
  27. 2 1
      src/pages/mobilescene/components/content.vue
  28. 2 2
      src/pages/mobilescene/components/daka.vue
  29. 22 13
      src/pages/mobilescene/components/qrcode.vue
  30. 5 3
      src/pages/mobilescene/index.vue
  31. 9 4
      src/pages/mobilescene/map.vue
  32. 8 1
      src/pages/mobilescene/menu.vue
  33. 6 5
      src/pages/mobilescene/search/index.vue
  34. 3 3
      src/pages/scene/aside.vue
  35. 2 1
      src/pages/scene/components/content.vue
  36. 23 13
      src/pages/scene/components/qrcode.vue
  37. 2 2
      src/pages/scene/index.vue
  38. 6 1
      src/pages/scene/menu.vue
  39. 2 3
      src/pages/scene/search/index.vue

+ 9 - 0
public/index.html

@@ -11,6 +11,15 @@
   <meta name="format-detection" content="telephone=no">
   <link rel="icon" href="<%= BASE_URL %>logo.ico">
   <title>2021年全国大众创业万众创新活动周云展览</title>
+  <script>
+    var _hmt = _hmt || [];
+    (function() {
+      var hm = document.createElement("script");
+      hm.src = "https://hm.baidu.com/hm.js?ccd17fc9a51fa252f7a6e9dbf8236a15";
+      var s = document.getElementsByTagName("script")[0]; 
+      s.parentNode.insertBefore(hm, s);
+    })();
+  </script>
 </head>
 
 <body>

+ 9 - 1
public/mobile.html

@@ -9,7 +9,15 @@
     <meta name="format-detection" content="telephone=no">
     <link rel="icon" href="<%= BASE_URL %>logo.ico">
     <title>2021年全国大众创业万众创新活动周云展览</title>
-   
+    <script>
+      var _hmt = _hmt || [];
+      (function() {
+        var hm = document.createElement("script");
+        hm.src = "https://hm.baidu.com/hm.js?ccd17fc9a51fa252f7a6e9dbf8236a15";
+        var s = document.getElementsByTagName("script")[0]; 
+        s.parentNode.insertBefore(hm, s);
+      })();
+    </script>
   </head>
   <body>
     <script src="<%= VUE_APP_STATIC_DIR %>/js/lib/jquery-2.1.1.min.js" class="build keep"></script>

+ 1 - 1
public/model/application.js

@@ -181,7 +181,7 @@ System.register([], function (_export, _context) {
     var launchScene = settings.launchScene; // load scene
 
     cc.director.loadScene(launchScene, null, function () {
-      cc.view.setDesignResolutionSize(414, 736, 2);
+      cc.view.setDesignResolutionSize(414, 736, 1);
       console.log("Success to load scene: ".concat(launchScene));
     });
   }

Dosya farkı çok büyük olduğundan ihmal edildi
+ 1 - 1
public/model/assets/main/import/08/08be024f5.json


Dosya farkı çok büyük olduğundan ihmal edildi
+ 1 - 1
public/model/assets/main/index.js


Dosya farkı çok büyük olduğundan ihmal edildi
+ 1 - 1
public/model/src/settings.json


BIN
src/assets/images/project/enter_bg.jpg


BIN
src/assets/images/project/mascot.gif


+ 13 - 1
src/assets/style/public.less

@@ -143,7 +143,7 @@ input:-ms-input-placeholder{  /* Internet Explorer 10-11 */
       overflow: hidden;
       background-repeat: no-repeat;
       background-position: center;
-      background-color: rgba(0,0,0,0.7);
+      background-color: rgba(0,0,0,0.8);
       font-size: 0;
     }
   }
@@ -158,3 +158,15 @@ input:-ms-input-placeholder{  /* Internet Explorer 10-11 */
     }  
   }
 }
+
+
+.fade-enter-active,.fade-leave-active {
+  transition: all ease .3s;
+}
+.fade-leave-to /* .fade-leave-active below version 2.1.8 */ {
+  max-height: 100vh;
+}
+
+.fade-enter{
+  max-height: 0;
+}

+ 5 - 5
src/components/hotspot/iframe.vue

@@ -17,7 +17,7 @@
       <div class="vtitle" v-html="hotspot.title"></div>
       <div class="img-con">
         <div class="imgmain">
-          <iframe :src="hotspot.iframe[active]" frameborder="0"></iframe>
+          <iframe :key="active" allowfullscreen :src="hotspot.iframe[active]" frameborder="0"></iframe>
         </div>
         <div class="pagna" v-if="hotspot.iframe.length > 1">
           <span>{{ active + 1 }}</span>
@@ -184,14 +184,14 @@ export default {
       position: absolute;
       .imgmain {
         width: 90%;
-        height: 700px;
+        height: 800px;
         overflow-x: hidden;
         overflow-y: auto;
         position: relative;
         margin: 0 auto;
         font-size: 0;
         iframe {
-          width: 394px;
+          width: 400px;
           height: 100%;
         }
       }
@@ -232,7 +232,7 @@ export default {
     position: absolute;
     top: 26px;
     right: 16px;
-    width: 14px;
+    width: 20px;
     z-index: 1000;
   }
   .mbhcon {
@@ -287,7 +287,7 @@ export default {
     .desc {
       position: absolute;
       z-index: 99999;
-      bottom: 8px;
+      bottom: 0;
       left: 50%;
       width: 100%;
       padding: 2% 5%;

+ 2 - 2
src/components/hotspot/image.vue

@@ -303,7 +303,7 @@ export default {
     position: absolute;
     top: 26px;
     right: 16px;
-    width: 14px;
+    width: 20px;
     z-index: 1000;
   }
   .mbhcon {
@@ -358,7 +358,7 @@ export default {
       overflow-y: auto;
       position: absolute;
       z-index: 99999;
-      bottom: 8px;
+      bottom: 0;
       left: 50%;
       width: 100%;
       padding: 2% 5%;

+ 1 - 1
src/components/hotspot/index.vue

@@ -71,7 +71,7 @@ export default {
     position: fixed;
     top: 40px;
     right: 40px;
-    width: 20px;
+    width: 30px;
     height: 70px;
     cursor: pointer;
   }

+ 2 - 2
src/components/hotspot/model.vue

@@ -264,7 +264,7 @@ export default {
     position: absolute;
     top: 26px;
     right: 16px;
-    width: 14px;
+    width: 20px;
     z-index: 1000;
   }
   .mbhcon {
@@ -319,7 +319,7 @@ export default {
     .desc {
       position: absolute;
       z-index: 99999;
-      bottom: 8px;
+      bottom: 0;
       left: 50%;
       width: 100%;
       padding: 2% 5%;

+ 1 - 1
src/components/hotspot/title.vue

@@ -217,7 +217,7 @@ export default {
     position: absolute;
     top: 26px;
     right: 16px;
-    width: 14px;
+    width: 20px;
     z-index: 1000;
   }
   .title {

+ 2 - 2
src/components/hotspot/video.vue

@@ -250,7 +250,7 @@ export default {
     position: absolute;
     top: 26px;
     right: 16px;
-    width: 14px;
+    width: 20px;
     z-index: 1000;
   }
   .mbhcon {
@@ -304,7 +304,7 @@ export default {
     .desc {
       position: absolute;
       z-index: 99999;
-      bottom: 8px;
+      bottom: 0;
       left: 50%;
       width: 100%;
       padding: 2% 5%;

+ 39 - 16
src/components/mapsvg/a.vue

@@ -307,22 +307,25 @@
 export default {
   props: ["data", "currentPano", "cls"],
   data() {
-    return { };
+    return {
+      currentId: "",
+    };
   },
   methods: {
-    hoverItem(e){
+    hoverItem(e) {
       let target = e.target.parentElement;
-      let tt = this.data.find(item=>item.mapId == target.id)
-      this.$emit('hoverPano',tt||{})
+      let tt = this.data.find((item) => item.mapId == target.id);
+      this.$emit("hoverPano", tt || {});
     },
     handleClick(e) {
       let target = e.target.parentElement;
-      let tt = this.data.find(item=>item.mapId == target.id)
+      let tt = this.data.find((item) => item.mapId == target.id);
+      this.currentId = target.id;
       if (tt) {
-        this.$bus.$emit('ifrMessage',{
-          events:'flyToPano',
-          data:tt
-        })
+        this.$bus.$emit("ifrMessage", {
+          events: "flyToPano",
+          data: tt,
+        });
       }
     },
   },
@@ -331,15 +334,35 @@ export default {
       deep: true,
       immediate: true,
       handler: function(newVal) {
-        document.querySelector("." + this.cls) &&
-        Array.from(document.querySelector("." + this.cls).childNodes).forEach(
-          (item) => {
-            item&&item.classList.remove("active");
+        if (!this.currentId) {
+          document.querySelector("." + this.cls) &&
+            Array.from(
+              document.querySelector("." + this.cls).childNodes
+            ).forEach((item) => {
+              item && item.classList.remove("active");
+            });
+          if (newVal) {
+            let ele = document.querySelector("." + newVal.mapId + this.cls);
+            ele && ele.classList.add("active");
           }
-        );
+        }
+      },
+    },
+    currentId: {
+      deep: true,
+      handler: function(newVal) {
         if (newVal) {
-          let ele = document.querySelector("." + newVal.mapId + this.cls)
-          ele&&ele.classList.add("active");
+          console.log(newVal, 111111);
+          document.querySelector("." + this.cls) &&
+            Array.from(
+              document.querySelector("." + this.cls).childNodes
+            ).forEach((item) => {
+              item && item.classList.remove("active");
+            });
+          if (newVal) {
+            let ele = document.querySelector("." + newVal + this.cls);
+            ele && ele.classList.add("active");
+          }
         }
       },
     },

+ 40 - 17
src/components/mapsvg/b.vue

@@ -251,24 +251,27 @@
 
 <script>
 export default {
-  props: ["data", "currentPanoid", "currentPano", "cls"],
+  props: ["data", "currentPano", "cls"],
   data() {
-    return { };
+    return {
+      currentId: "",
+    };
   },
   methods: {
-    hoverItem(e){
+    hoverItem(e) {
       let target = e.target.parentElement;
-      let tt = this.data.find(item=>item.mapId == target.id)
-      this.$emit('hoverPano',tt||{})
+      let tt = this.data.find((item) => item.mapId == target.id);
+      this.$emit("hoverPano", tt || {});
     },
     handleClick(e) {
       let target = e.target.parentElement;
-      let tt = this.data.find(item=>item.mapId == target.id)
+      let tt = this.data.find((item) => item.mapId == target.id);
+      this.currentId = target.id;
       if (tt) {
-        this.$bus.$emit('ifrMessage',{
-          events:'flyToPano',
-          data:tt
-        })
+        this.$bus.$emit("ifrMessage", {
+          events: "flyToPano",
+          data: tt,
+        });
       }
     },
   },
@@ -277,15 +280,35 @@ export default {
       deep: true,
       immediate: true,
       handler: function(newVal) {
-        document.querySelector("." + this.cls) &&
-        Array.from(document.querySelector("." + this.cls).childNodes).forEach(
-          (item) => {
-            item&&item.classList.remove("active");
+        if (!this.currentId) {
+          document.querySelector("." + this.cls) &&
+            Array.from(
+              document.querySelector("." + this.cls).childNodes
+            ).forEach((item) => {
+              item && item.classList.remove("active");
+            });
+          if (newVal) {
+            let ele = document.querySelector("." + newVal.mapId + this.cls);
+            ele && ele.classList.add("active");
           }
-        );
+        }
+      },
+    },
+    currentId: {
+      deep: true,
+      handler: function(newVal) {
         if (newVal) {
-          let ele = document.querySelector("." + newVal.mapId + this.cls)
-          ele&&ele.classList.add("active");
+          console.log(newVal, 111111);
+          document.querySelector("." + this.cls) &&
+            Array.from(
+              document.querySelector("." + this.cls).childNodes
+            ).forEach((item) => {
+              item && item.classList.remove("active");
+            });
+          if (newVal) {
+            let ele = document.querySelector("." + newVal + this.cls);
+            ele && ele.classList.add("active");
+          }
         }
       },
     },

+ 41 - 18
src/components/mapsvg/c.vue

@@ -237,26 +237,30 @@
   </svg>
 </template>
 
+
 <script>
 export default {
-  props: ["data", "currentPanoid", "currentPano", "cls"],
+  props: ["data", "currentPano", "cls"],
   data() {
-    return { };
+    return {
+      currentId: "",
+    };
   },
   methods: {
-    hoverItem(e){
+    hoverItem(e) {
       let target = e.target.parentElement;
-      let tt = this.data.find(item=>item.mapId == target.id)
-      this.$emit('hoverPano',tt||{})
+      let tt = this.data.find((item) => item.mapId == target.id);
+      this.$emit("hoverPano", tt || {});
     },
     handleClick(e) {
       let target = e.target.parentElement;
-      let tt = this.data.find(item=>item.mapId == target.id)
+      let tt = this.data.find((item) => item.mapId == target.id);
+      this.currentId = target.id;
       if (tt) {
-        this.$bus.$emit('ifrMessage',{
-          events:'flyToPano',
-          data:tt
-        })
+        this.$bus.$emit("ifrMessage", {
+          events: "flyToPano",
+          data: tt,
+        });
       }
     },
   },
@@ -265,22 +269,41 @@ export default {
       deep: true,
       immediate: true,
       handler: function(newVal) {
-        document.querySelector("." + this.cls) &&
-        Array.from(document.querySelector("." + this.cls).childNodes).forEach(
-          (item) => {
-            item&&item.classList.remove("active");
+        if (!this.currentId) {
+          document.querySelector("." + this.cls) &&
+            Array.from(
+              document.querySelector("." + this.cls).childNodes
+            ).forEach((item) => {
+              item && item.classList.remove("active");
+            });
+          if (newVal) {
+            let ele = document.querySelector("." + newVal.mapId + this.cls);
+            ele && ele.classList.add("active");
           }
-        );
+        }
+      },
+    },
+    currentId: {
+      deep: true,
+      handler: function(newVal) {
         if (newVal) {
-          let ele = document.querySelector("." + newVal.mapId + this.cls)
-          ele&&ele.classList.add("active");
+          console.log(newVal, 111111);
+          document.querySelector("." + this.cls) &&
+            Array.from(
+              document.querySelector("." + this.cls).childNodes
+            ).forEach((item) => {
+              item && item.classList.remove("active");
+            });
+          if (newVal) {
+            let ele = document.querySelector("." + newVal + this.cls);
+            ele && ele.classList.add("active");
+          }
         }
       },
     },
   },
 };
 </script>
-
 <style lang="less" scoped>
 @color: #ff9700;
 .st0 {

+ 41 - 17
src/components/mapsvg/d.vue

@@ -218,26 +218,30 @@
 </g>
   </svg>
 </template>
+
 <script>
 export default {
-  props: ["data", "currentPanoid", "currentPano", "cls"],
+  props: ["data", "currentPano", "cls"],
   data() {
-    return { };
+    return {
+      currentId: "",
+    };
   },
   methods: {
-    hoverItem(e){
+    hoverItem(e) {
       let target = e.target.parentElement;
-      let tt = this.data.find(item=>item.mapId == target.id)
-      this.$emit('hoverPano',tt||{})
+      let tt = this.data.find((item) => item.mapId == target.id);
+      this.$emit("hoverPano", tt || {});
     },
     handleClick(e) {
       let target = e.target.parentElement;
-      let tt = this.data.find(item=>item.mapId == target.id)
+      let tt = this.data.find((item) => item.mapId == target.id);
+      this.currentId = target.id;
       if (tt) {
-        this.$bus.$emit('ifrMessage',{
-          events:'flyToPano',
-          data:tt
-        })
+        this.$bus.$emit("ifrMessage", {
+          events: "flyToPano",
+          data: tt,
+        });
       }
     },
   },
@@ -246,15 +250,35 @@ export default {
       deep: true,
       immediate: true,
       handler: function(newVal) {
-        document.querySelector("." + this.cls) &&
-        Array.from(document.querySelector("." + this.cls).childNodes).forEach(
-          (item) => {
-            item&&item.classList.remove("active");
+        if (!this.currentId) {
+          document.querySelector("." + this.cls) &&
+            Array.from(
+              document.querySelector("." + this.cls).childNodes
+            ).forEach((item) => {
+              item && item.classList.remove("active");
+            });
+          if (newVal) {
+            let ele = document.querySelector("." + newVal.mapId + this.cls);
+            ele && ele.classList.add("active");
           }
-        );
+        }
+      },
+    },
+    currentId: {
+      deep: true,
+      handler: function(newVal) {
         if (newVal) {
-          let ele = document.querySelector("." + newVal.mapId + this.cls)
-          ele&&ele.classList.add("active");
+          console.log(newVal, 111111);
+          document.querySelector("." + this.cls) &&
+            Array.from(
+              document.querySelector("." + this.cls).childNodes
+            ).forEach((item) => {
+              item && item.classList.remove("active");
+            });
+          if (newVal) {
+            let ele = document.querySelector("." + newVal + this.cls);
+            ele && ele.classList.add("active");
+          }
         }
       },
     },

+ 41 - 17
src/components/mapsvg/e.vue

@@ -312,26 +312,30 @@
     </g>
   </svg>
 </template>
+
 <script>
 export default {
-  props: ["data", "currentPanoid", "currentPano", "cls"],
+  props: ["data", "currentPano", "cls"],
   data() {
-    return { };
+    return {
+      currentId: "",
+    };
   },
   methods: {
-    hoverItem(e){
+    hoverItem(e) {
       let target = e.target.parentElement;
-      let tt = this.data.find(item=>item.mapId == target.id)
-      this.$emit('hoverPano',tt||{})
+      let tt = this.data.find((item) => item.mapId == target.id);
+      this.$emit("hoverPano", tt || {});
     },
     handleClick(e) {
       let target = e.target.parentElement;
-      let tt = this.data.find(item=>item.mapId == target.id)
+      let tt = this.data.find((item) => item.mapId == target.id);
+      this.currentId = target.id;
       if (tt) {
-        this.$bus.$emit('ifrMessage',{
-          events:'flyToPano',
-          data:tt
-        })
+        this.$bus.$emit("ifrMessage", {
+          events: "flyToPano",
+          data: tt,
+        });
       }
     },
   },
@@ -340,15 +344,35 @@ export default {
       deep: true,
       immediate: true,
       handler: function(newVal) {
-        document.querySelector("." + this.cls) &&
-        Array.from(document.querySelector("." + this.cls).childNodes).forEach(
-          (item) => {
-            item&&item.classList.remove("active");
+        if (!this.currentId) {
+          document.querySelector("." + this.cls) &&
+            Array.from(
+              document.querySelector("." + this.cls).childNodes
+            ).forEach((item) => {
+              item && item.classList.remove("active");
+            });
+          if (newVal) {
+            let ele = document.querySelector("." + newVal.mapId + this.cls);
+            ele && ele.classList.add("active");
           }
-        );
+        }
+      },
+    },
+    currentId: {
+      deep: true,
+      handler: function(newVal) {
         if (newVal) {
-          let ele = document.querySelector("." + newVal.mapId + this.cls)
-          ele&&ele.classList.add("active");
+          console.log(newVal, 111111);
+          document.querySelector("." + this.cls) &&
+            Array.from(
+              document.querySelector("." + this.cls).childNodes
+            ).forEach((item) => {
+              item && item.classList.remove("active");
+            });
+          if (newVal) {
+            let ele = document.querySelector("." + newVal + this.cls);
+            ele && ele.classList.add("active");
+          }
         }
       },
     },

+ 56 - 29
src/components/mapsvg/xuting.vue

@@ -102,7 +102,13 @@
         />
       </g>
     </g>
-    <g id="point" :class="cls" @click="handleClick" @mouseleave="$emit('hoverPano',{})" @mouseover="hoverItem">
+    <g
+      id="point"
+      :class="cls"
+      @click="handleClick"
+      @mouseleave="$emit('hoverPano', {})"
+      @mouseover="hoverItem"
+    >
       <g :class="'xt-s1' + cls" id="xt-s1">
         <circle class="st7" cx="230.4" cy="48" r="7.7" />
         <circle class="st7" cx="230.4" cy="48" r="5.5" />
@@ -181,22 +187,25 @@
 export default {
   props: ["data", "currentPano", "cls"],
   data() {
-    return { };
+    return {
+      currentId: "",
+    };
   },
   methods: {
-    hoverItem(e){
+    hoverItem(e) {
       let target = e.target.parentElement;
-      let tt = this.data.find(item=>item.mapId == target.id)
-      this.$emit('hoverPano',tt||{})
+      let tt = this.data.find((item) => item.mapId == target.id);
+      this.$emit("hoverPano", tt || {});
     },
     handleClick(e) {
       let target = e.target.parentElement;
-      let tt = this.data.find(item=>item.mapId == target.id)
+      let tt = this.data.find((item) => item.mapId == target.id);
+      this.currentId = target.id;
       if (tt) {
-        this.$bus.$emit('ifrMessage',{
-          events:'flyToPano',
-          data:tt
-        })
+        this.$bus.$emit("ifrMessage", {
+          events: "flyToPano",
+          data: tt,
+        });
       }
     },
   },
@@ -205,15 +214,35 @@ export default {
       deep: true,
       immediate: true,
       handler: function(newVal) {
-        document.querySelector("." + this.cls) &&
-        Array.from(document.querySelector("." + this.cls).childNodes).forEach(
-          (item) => {
-            item&&item.classList.remove("active");
+        if (!this.currentId) {
+          document.querySelector("." + this.cls) &&
+            Array.from(
+              document.querySelector("." + this.cls).childNodes
+            ).forEach((item) => {
+              item && item.classList.remove("active");
+            });
+          if (newVal) {
+            let ele = document.querySelector("." + newVal.mapId + this.cls);
+            ele && ele.classList.add("active");
           }
-        );
+        }
+      },
+    },
+    currentId: {
+      deep: true,
+      handler: function(newVal) {
         if (newVal) {
-          let ele = document.querySelector("." + newVal.mapId + this.cls)
-          ele&&ele.classList.add("active");
+          console.log(newVal, 111111);
+          document.querySelector("." + this.cls) &&
+            Array.from(
+              document.querySelector("." + this.cls).childNodes
+            ).forEach((item) => {
+              item && item.classList.remove("active");
+            });
+          if (newVal) {
+            let ele = document.querySelector("." + newVal + this.cls);
+            ele && ele.classList.add("active");
+          }
         }
       },
     },
@@ -278,41 +307,39 @@ export default {
     &.active {
       circle:nth-child(even) {
         fill: @color;
-        opacity: 1!important;
+        opacity: 1 !important;
       }
       circle:nth-child(odd) {
-        opacity: 1!important;
+        opacity: 1 !important;
       }
 
       ellipse:nth-child(even) {
         fill: @color;
-        opacity: 1!important;
+        opacity: 1 !important;
       }
       ellipse:nth-child(odd) {
-        opacity: 1!important;
+        opacity: 1 !important;
       }
     }
-    
-    &:hover{
+
+    &:hover {
       circle:nth-child(even) {
         fill: #fff;
-        opacity: 1!important;
+        opacity: 1 !important;
       }
       circle:nth-child(odd) {
-        opacity: 1!important;
+        opacity: 1 !important;
         fill: @color;
       }
 
       ellipse:nth-child(even) {
         fill: #fff;
-        opacity: 1!important;
-
+        opacity: 1 !important;
       }
       ellipse:nth-child(odd) {
-        opacity: 1!important;
+        opacity: 1 !important;
         fill: @color;
       }
-
     }
   }
 }

+ 9 - 5
src/components/popupLayout/Loading.vue

@@ -1,5 +1,6 @@
 <template>
-    <div class="ui-loading">
+    <div class="ui-loading" :style="{
+      backgroundImage: showBg? `url(${require('@/assets/images/project/enter_bg.jpg')})` : 'none' }">
       <div class="ui-con">
         <div class="ld-txt">
            <img :src="require('@/assets/images/project/icon/loading.gif')" />
@@ -12,7 +13,7 @@ export default {
     name: "ui-loading",
     data() {
         return {
-           
+           showBg:false
         };
     },
 };
@@ -24,9 +25,12 @@ export default {
   height: 100%;
   position: fixed;
   z-index: 10086;
-  top: 0;
-  left: 0;
-  background: rgba(0, 0, 0, 1);
+  top: 50%;
+  left: 50%;
+  transform: translate(-50%,-50%);
+  background-color: rgba(0, 0, 0, 0.7);
+  background-size: cover;
+  background-position: center;
   .ui-con{
     position: absolute;
     top: 50%;

+ 35 - 35
src/data/raw.js

@@ -16,15 +16,15 @@ let region = [
     desc: "创新创业支撑科技自立自强",
     company: [61, 62, 63, 64, 65, 66, 67, 68, 69, 610, 611, 612], //序厅展位ID
     spread: calcuSpread(0, 29),
-    firstView:{
+    firstView: {
       panoId: "29",
       panoQuaternion: {
         w: 0.7136848069310208,
         x: -0.0019084363104157679,
         y: 0.7004618967012249,
         z: 0.0018730774187821193,
-      }, 
-    }
+      },
+    },
   },
   {
     id: "a",
@@ -63,15 +63,15 @@ let region = [
       129,
     ], //对应展位id
     spread: calcuSpread(72, 106),
-    firstView:{
+    firstView: {
       panoId: "69",
       panoQuaternion: {
         w: 0.7248763745392001,
         x: -0.00040960177911638973,
         y: 0.6888787538646899,
         z: 0.0003892608210995187,
-      }, 
-    }
+      },
+    },
   },
   {
     id: "b",
@@ -106,15 +106,15 @@ let region = [
       225,
     ], //B区展位ID
     spread: calcuSpread(107, 136),
-    firstView:{
+    firstView: {
       panoId: "226",
       panoQuaternion: {
         w: 0.7055175218180174,
         x: 0.02856187266685435,
         y: 0.7075371265076107,
         z: -0.02864363447031339,
-      }, 
-    }
+      },
+    },
   },
   {
     id: "c",
@@ -150,15 +150,15 @@ let region = [
       326,
     ], //C区展位ID
     spread: calcuSpread(137, 169),
-    firstView:{
+    firstView: {
       panoId: "226",
       panoQuaternion: {
         w: 0.7025372977959743,
         x: 0.03404281418995961,
         y: -0.7099991350228166,
         z: 0.034404392458114295,
-      }, 
-    }
+      },
+    },
   },
   {
     id: "d",
@@ -199,15 +199,15 @@ let region = [
       431,
     ], //D区展位ID
     spread: calcuSpread(170, 200),
-    firstView:{
+    firstView: {
       panoId: "208",
       panoQuaternion: {
         w: -0.3600515275002373,
         x: 0.0035370686330483685,
         y: 0.9328807039103099,
         z: 0.00916441916471697,
-      }, 
-    }
+      },
+    },
   },
   {
     id: "e",
@@ -250,16 +250,16 @@ let region = [
       533,
     ], //E区展位ID
     spread: calcuSpread(30, 68),
-    firstView:{
+    firstView: {
       panoId: "207",
       panoQuaternion: {
         w: 0.3502011027682601,
         x: 0.0028560994705540276,
         y: 0.9366390248430625,
         z: -0.007638851405218204,
-      }, 
-    }
-  }
+      },
+    },
+  },
 ];
 
 // 展位
@@ -294,7 +294,7 @@ let Booth = [
   },
   {
     id: 12,
-    name: "“同建共享”理念引领下的“双创”经营模式",
+    name: "“同建共享”理念引领下的“双创”经营模式<br/>搭建更多人创业就业大舞台",
     panoId: "73",
     panoQuaternion: {
       w: 0.3809795054107849,
@@ -318,7 +318,7 @@ let Booth = [
   },
   {
     id: 14,
-    name: "夜晚经济区 助力退役军人就业创业",
+    name: "助力退役军人就业创业",
     panoId: "76",
     panoQuaternion: {
       w: 0.7231141154185938,
@@ -366,8 +366,8 @@ let Booth = [
   },
   {
     id: 18,
-    name: "双创示范基地展示",
-    panoId: "88",
+    name: "双创高质量发展全国连锁创新基地",
+    panoId: "98",
     panoQuaternion: {
       w: 0.7152029809645365,
       x: 0.012805141471504262,
@@ -393,10 +393,10 @@ let Booth = [
     name: "智慧人居环境系统",
     panoId: "91",
     panoQuaternion: {
-      w: 0.6999549702626774,
-      x: -0.009779808873095312,
-      y: 0.7140503139310479,
-      z: 0.009976750344829343,
+      w: 0.7027844789920533,
+      x: -0.010860061781407734,
+      y: -0.7112350278900635,
+      z: -0.010990646850165292,
     },
     mapId: "a-s10",
   },
@@ -414,7 +414,7 @@ let Booth = [
   },
   {
     id: 112,
-    name: "一木设计",
+    name: "一木设计人才培养",
     panoId: "90",
     panoQuaternion: {
       w: 0.7117818736163622,
@@ -644,7 +644,7 @@ let Booth = [
   },
   {
     id: 22,
-    name: "“特别匠人”困境人群手工文创就业赋能",
+    name: "“特别匠人”文创赋能乡村振兴计划",
     panoId: "110",
     panoQuaternion: {
       w: 0.4132099861533733,
@@ -656,7 +656,7 @@ let Booth = [
   },
   {
     id: 23,
-    name: "太行潞党参—益潞向党 躬参为民",
+    name: "太行潞党参——振兴革命老区的开路先锋",
     panoId: "111",
     panoQuaternion: {
       w: 0.7555009894213077,
@@ -752,7 +752,7 @@ let Booth = [
   },
   {
     id: 211,
-    name: "华润红安智慧小镇建设",
+    name: "华润红安智慧希望小镇建设",
     panoId: "114",
     panoQuaternion: {
       w: 0.7016438705954153,
@@ -837,7 +837,7 @@ let Booth = [
   {
     id: 218,
     name: "蜂蜜产业助推乡村振兴",
-    panoId: "118",
+    panoId: "119",
     panoQuaternion: {
       w: 0.7078842766456017,
       x: -0.005117157557591765,
@@ -1007,7 +1007,7 @@ let Booth = [
   },
   {
     id: 37,
-    name: "”跨省通办“”秒报秒批“",
+    name: "跨省通办 秒报秒批",
     panoId: "140",
     panoQuaternion: {
       w: 0.7081241270415661,
@@ -1321,7 +1321,7 @@ let Booth = [
   },
   {
     id: 47,
-    name: "智能工厂和智慧园区解决方案",
+    name: "流程工业智能工厂一体化平台",
     panoId: "190",
     panoQuaternion: {
       w: 0.9856744394136728,
@@ -2021,7 +2021,7 @@ let Booth = [
   //序厅展位start
   {
     id: 61,
-    name: "创带动就业持续增长",
+    name: "创带动就业持续增长",
     panoId: "4",
     panoQuaternion: {
       w: -0.4721505767328841,

+ 3 - 1
src/pages/enter/model/index.vue

@@ -7,7 +7,9 @@
 <script>
 export default {
   mounted(){
-    this.$showLoading()
+    this.$showLoading({
+      showBg:true
+    })
     this.$nextTick(()=>{
       window.addEventListener("message", (data) => {
         if (Object.prototype.toString.call(data.data) == "[object Object]") {

+ 9 - 4
src/pages/mobilescene/aside.vue

@@ -26,10 +26,9 @@
 import panodata from "@/components/mapsvg/pano.js";
 
 export default {
-  props:['currentPanoid'],
+  props:['currentPanoid','isShow'],
   data(){
     return {
-      isShow:true,
       panodata,
       showMap:false
     }
@@ -59,6 +58,8 @@ export default {
   top: 50px;
   width: @conW;
   height: 100%;
+  max-height: 0;
+  overflow: hidden;
   left: 0;
   z-index: 99999;
   display: flex;
@@ -67,10 +68,11 @@ export default {
   background-repeat: no-repeat;
   background-size: 100% auto;
   background-position: bottom left;
+  transition: .3s ease max-height;
   >img{
       width: 100%;
-      position: fixed;
-      bottom: 0;
+      position: absolute;
+      bottom: 50px;
       left: 0;
       z-index: 0;
       pointer-events: none;
@@ -144,4 +146,7 @@ export default {
   }
 }
 
+.showlaAvtive{
+  max-height: 100%;
+}
 </style>

+ 1 - 1
src/pages/mobilescene/bar.vue

@@ -2,7 +2,7 @@
   <div class="bar-con brightness">
     <img @click="$router.push({name:'home'})" :src="require(`@/assets/images/mobile/icon/home.png`)" alt="">
     <div @click="$emit('openAside')">
-      <span>{{name}}</span>
+      <span v-html="name"></span>
       <img :src="require(`@/assets/images/mobile/icon/xiala.png`)" alt="">
     </div>
     <img  @click="$emit('showSearch')" :src="require(`@/assets/images/mobile/icon/search.png`)" alt="">

+ 2 - 1
src/pages/mobilescene/components/content.vue

@@ -6,7 +6,8 @@
       <div class="cbody">
         <div class="ctitle">
           <span>网友留言</span>
-          <span>共26位网友参与留言</span>
+          <span v-if="list.length>0">共{{list.length}}位网友参与留言</span>
+          <span v-else>暂无留言</span>
         </div>
         <ul v-infinite-scroll="getcontentList" infinite-scroll-disabled="busy" infinite-scroll-distance="10">
           <li v-for="(item,i) in list" :key="i">

+ 2 - 2
src/pages/mobilescene/components/daka.vue

@@ -8,7 +8,7 @@
         <span>打卡</span>
       </div>
       <div class="dakatitle">您正在游览</div>
-      <p>四川省返乡创业联盟 精准扶贫大生态服务体系</p>
+      <p>{{currentPano.name}}</p>
       <div class="s-scroll">
         <ul :style="{top:top+'px'}">
           <li v-for="(item,i) in list" :key="i">
@@ -25,6 +25,7 @@
 import { getdakaList,postdaka } from "@/config/api";
 
 export default {
+  props:['currentPano'],
   data(){
     return {
       list:[],
@@ -45,7 +46,6 @@ export default {
     daka(){
       postdaka(res=>{
         this.$showTips({content:res.msg})
-        console.log(res);
       })
     },
     getdakaList(){

+ 22 - 13
src/pages/mobilescene/components/qrcode.vue

@@ -11,18 +11,19 @@
       </div>
       <div class="ul">
         <div class="li">
-          <p v-if="currentPano.name" v-html="currentPano.name"></p>
-          <!-- <div class="xiala" v-else>
-            <span @click="isShowUl=!isShowUl">
-              {{currentPano.name}}
-              <img :src="require(`@/assets/images/project/icon/jiantour.png`)" alt="">
-            </span>
-            <ul class="brightness" v-if="isShowUl">
-              <li @click="isShowUl=false,currentPano.name='四川省返乡创业'" v-for="(item,i) in 2" :key="i">
-                四川省返乡创业
-              </li>
-            </ul>
-          </div> -->
+          <template  v-if="tmpPano.name">
+            <p v-if="!currentPanoArr" v-html="tmpPano.name || ''"></p>
+            <div v-else class="xiala">
+              <span @click="isShowUl=!isShowUl">
+                {{tmpPano.name}}
+                <img :src="require(`@/assets/images/project/icon/jiantour.png`)" alt="">
+              </span>
+              <ul class="brightness" v-if="isShowUl">
+                <li v-html="item.name" @click="isShowUl=false,tmpPano=item" v-for="(item,i) in currentPanoArr" :key="i"></li>
+              </ul>
+            </div>
+          </template>
+          <p v-else></p>
 
           <img :src="require(`@/assets/images/project/qrcode.jpg`)" alt="" />
         </div>
@@ -37,12 +38,20 @@
 </template>
 
 <script>
+import {Booth} from "@/data/raw.js";
 
 export default {
   props:['currentPano','currentItem'],
   data(){
     return {
-      isShowUl:false
+      isShowUl:false,
+      tmpPano:this.currentPano
+    }
+  },
+  computed:{
+    currentPanoArr:function(){
+      let tmp = Booth.filter(item=>item.panoId == this.currentPano.panoId)
+      return tmp&&tmp.length>1 ? tmp : ''
     }
   }
 }

+ 5 - 3
src/pages/mobilescene/index.vue

@@ -1,9 +1,12 @@
 <template>
   <div :class="`theme${theme}`" class="scene-body">
-    <div class="scene-con" v-show="showAll">
+    <div class="scene-con">
       <vbar :name="currentItem.name" @showSearch="showSearch=true" @openAside="showAside=!showAside"></vbar>
       <scene :tourStatus="tourStatus" v-if="showScene" />
-      <vside v-show="!tourStatus&&showAside" @close="showAside=false" />
+
+      <vside :isShow="!tourStatus&&showAside" @close="showAside=false" />
+
+
       <vmap :currentPano="currentPano" :booth="booth"/>
       <vmenu :tourStatus="tourStatus" @opencp="handlecp" />
       <vsearch :currentPanoid="currentPanoid" @closeSearch="showSearch=false" v-if="showSearch"/>
@@ -110,7 +113,6 @@ export default {
         if (Object.prototype.toString.call(res.data) == "[object Object]") {
           let data = res.data.data;
           if (res.data.source === "showAll") {
-            this.showAll = true;
             setTimeout(() => {
               this.$hideLoading();
             }, 500);

+ 9 - 4
src/pages/mobilescene/map.vue

@@ -20,7 +20,6 @@ import ve from "@/components/mapsvg/e";
 
 export default {
   props:['currentPano','booth'],
-
   components:{
     vxuting,
     va,
@@ -34,9 +33,7 @@ export default {
       isShow:false
     }
   },
-  methods:{
-    
-  },
+
   computed:{
     cp(){
       return 'v' + this.$route.params.type
@@ -90,6 +87,14 @@ export default {
       width: 100%;
       padding: 4% 0;
     }
+    &::after{
+      width: 100%;
+      height: 100%;
+      content: '';
+      position: absolute;
+      left: 0;
+      top: 0;
+    }
   }
 }
 .showlaAvtive{

+ 8 - 1
src/pages/mobilescene/menu.vue

@@ -104,6 +104,11 @@ export default {
     isBgm(newVal) {
       !newVal ? this.$refs.vbgm.pause() : this.$refs.vbgm.play();
     },
+    tourStatus(newVal){
+      if (newVal) {
+        this.isBgm = false
+      }
+    }
   },
   methods: {
     onClick(item) {
@@ -131,7 +136,9 @@ export default {
       })
     }
   },
-  mounted() {},
+  mounted() {
+      this.isBgm = true
+  },
 };
 </script>
 

+ 6 - 5
src/pages/mobilescene/search/index.vue

@@ -22,7 +22,7 @@
       <p>参展项目</p>
       <ul v-if="region.length > 0">
         <li v-for="(item, i) in region" :key="i">
-          <p v-if="item.company.length>0">{{ item.name }} <span>{{item.desc}}</span></p>
+          <p v-if="item.company.length>0">{{ item.name }} <span v-html="item.desc"></span></p>
           <ul>
             <li
               @click="handleItem(sub)"
@@ -30,8 +30,8 @@
                :class="{active:currentPanoid==sub.panoId}"
               v-for="(sub, idx) in item.company"
               :key="idx"
+               v-html="sub.name"
             >
-              {{ sub.name }}
             </li>
           </ul>
         </li>
@@ -148,13 +148,14 @@ export default {
     display: flex;
     justify-content: space-between;
     align-items: center;
-    padding: 10px 15px 0 20px;
+    padding: 10px 15px 0 10px;
     width: 100%;
     > img {
       cursor: pointer;
-      width: 10px;
+      width: 30px;
+      padding: 5px 10px;
       flex-shrink: 0;
-      margin-right: 20px;
+      margin-right: 10px;
     }
     > div {
       display: flex;

+ 3 - 3
src/pages/scene/aside.vue

@@ -7,9 +7,9 @@
         </div>
         <div class="cadname">
           <img :src="require(`@/assets/images/project/icon/location_${theme}.png`)" alt="">
-          <span>{{currentItem.name}}</span>
+          <span v-html="currentItem.name"></span>
         </div>
-        <div>{{currentPano.name}}</div>
+        <div v-html="currentPano.name"></div>
       </div>
       <div class="s-title" v-show="isShow">
         <img :src="require(`@/assets/images/project/icon/t_${theme}.png`)" alt="">
@@ -31,7 +31,7 @@
     <div class="mapccon"  v-show="showMap" @click="showMap=false">
       <showmap class="showmap"  @click.stop.native @close="showMap=false">
         <div slot="body" class="vmap">
-          <p>{{hoverName}}</p>
+          <p v-html="hoverName"></p>
           <component :cls="cp+'_big'" @hoverPano="handleHover" :currentPanoid="currentPanoid" :currentPano="currentPano" :data="booth" :is="cp"/>
         </div>
       </showmap>

+ 2 - 1
src/pages/scene/components/content.vue

@@ -9,7 +9,8 @@
       <div class="cbody">
         <div class="ctitle">
           <span>网友留言</span>
-          <span>共26位网友参与留言</span>
+          <span v-if="list.length>0">共{{list.length}}位网友参与留言</span>
+          <span v-else>暂无留言</span>
         </div>
         <ul>
           <li v-for="(item,i) in list" :key="i">

+ 23 - 13
src/pages/scene/components/qrcode.vue

@@ -11,18 +11,19 @@
       <h3>扫描二维码,手机观展</h3>
       <div class="ul">
         <div class="li">
-          <p v-html="currentPano.name || ''"></p>
-          <!-- <div class="xiala" v-else>
-            <span @click="isShowUl=!isShowUl">
-              {{currentPano.name}}
-              <img :src="require(`@/assets/images/project/icon/jiantour.png`)" alt="">
-            </span>
-            <ul class="brightness" v-if="isShowUl">
-              <li @click="isShowUl=false,currentPano.name='四川省返乡创业'" v-for="(item,i) in 2" :key="i">
-                四川省返乡创业
-              </li>
-            </ul>
-          </div> -->
+          <template  v-if="tmpPano.name">
+            <p v-if="!currentPanoArr" v-html="tmpPano.name || ''"></p>
+            <div v-else class="xiala">
+              <span @click="isShowUl=!isShowUl">
+                {{tmpPano.name}}
+                <img :src="require(`@/assets/images/project/icon/jiantour.png`)" alt="">
+              </span>
+              <ul class="brightness" v-if="isShowUl">
+                <li v-html="item.name" @click="isShowUl=false,tmpPano=item" v-for="(item,i) in currentPanoArr" :key="i"></li>
+              </ul>
+            </div>
+          </template>
+          <p v-else></p>
 
           <img :src="require(`@/assets/images/project/qrcode.jpg`)" alt="" />
           <div @click="download" class="download">下载二维码</div>
@@ -39,13 +40,22 @@
 </template>
 
 <script>
+import {Booth} from "@/data/raw.js";
+
 export default {
   props: ["currentPano", "currentItem"],
   data() {
     return {
-      isShowUl:false
+      isShowUl:false,
+      tmpPano:this.currentPano
     };
   },
+  computed:{
+    currentPanoArr:function(){
+      let tmp = Booth.filter(item=>item.panoId == this.currentPano.panoId)
+      return tmp&&tmp.length>1 ? tmp : ''
+    }
+  },
   methods:{
     download(){
       let elink = document.createElement("a");

+ 2 - 2
src/pages/scene/index.vue

@@ -45,9 +45,9 @@
       </div>
     </vpopup>
 
-    <div v-show="!tourStatus" class="mascot">
+    <!-- <div v-show="!tourStatus" class="mascot">
       <img :src="require('@/assets/images/project/mascot.gif')" />
-    </div>
+    </div> -->
   </div>
 </template>
 

+ 6 - 1
src/pages/scene/menu.vue

@@ -86,6 +86,11 @@ export default {
   watch:{
     isBgm(newVal){
       !newVal?this.$refs.vbgm.pause():this.$refs.vbgm.play()
+    },
+    tourStatus(newVal){
+      if (newVal) {
+        this.isBgm = false
+      }
     }
   },
   methods:{
@@ -115,7 +120,7 @@ export default {
     }
   },
   mounted(){
-    
+      this.isBgm = true
   }
 }
 </script>

+ 2 - 3
src/pages/scene/search/index.vue

@@ -8,10 +8,9 @@
        <p>参展项目</p>
         <ul v-if="region.length>0">
           <li v-for="(item,i) in region" :key="i">
-            <p v-if="item.company.length>0">{{item.name}} <span>{{item.desc}}</span></p>
+            <p v-if="item.company.length>0">{{item.name}} <span v-html="item.desc"></span></p>
             <ul>
-              <li @click="handleItem(sub)" class="textActive" :class="{active:currentPanoid==sub.panoId}" v-for="(sub,idx) in item.company" :key="idx">
-                {{sub.name}}
+              <li v-html="sub.name" @click="handleItem(sub)" class="textActive" :class="{active:currentPanoid==sub.panoId}" v-for="(sub,idx) in item.company" :key="idx">
               </li>
             </ul>
           </li>