lanxin 4 weeks ago
parent
commit
9c8a070859
30 changed files with 1961 additions and 184 deletions
  1. 722 154
      src/assets/data/Model/index.ts
  2. BIN
      src/assets/img/map/home/mapBg.jpg
  3. BIN
      src/assets/img/map/home/mapBg2 copy.jpg
  4. BIN
      src/assets/img/map/home/mapBg2.png
  5. BIN
      src/assets/img/map/home/panoramaBG2.jpg
  6. BIN
      src/assets/img/map/nornal/专家楼旧址.png
  7. BIN
      src/assets/img/map/nornal/中国主教公署旧址.png
  8. BIN
      src/assets/img/map/nornal/圣雅各教堂.png
  9. BIN
      src/assets/img/map/nornal/基督教牧师楼旧址.png
  10. BIN
      src/assets/img/map/nornal/外国主教公署旧址.png
  11. BIN
      src/assets/img/map/nornal/孙村章氏祠堂.png
  12. BIN
      src/assets/img/map/nornal/崔国因公馆旧址.png
  13. BIN
      src/assets/img/map/nornal/张氏宗祠.png
  14. BIN
      src/assets/img/map/nornal/新四军七师司令部旧址.png
  15. BIN
      src/assets/img/map/nornal/沈克非、陈翠贞旧居.png
  16. BIN
      src/assets/img/map/nornal/洪巷周氏宗祠.png
  17. BIN
      src/assets/img/map/nornal/牧师楼.png
  18. BIN
      src/assets/img/map/nornal/老芜湖医院旧址.png
  19. BIN
      src/assets/img/map/nornal/胡湾胡氏宗祠.png
  20. BIN
      src/assets/img/map/nornal/院长楼旧址.png
  21. BIN
      src/assets/img/panorama/南陵县.png
  22. BIN
      src/assets/img/panorama/无为市.png
  23. BIN
      src/assets/img/panorama/繁昌区.png
  24. 6 1
      src/auto-import.d.ts
  25. 2 2
      src/view/bldgMap/detail/index.vue
  26. 6 6
      src/view/bldgMap/index.vue
  27. 1 0
      src/view/bldgModel/detail/index.vue
  28. 6 2
      src/view/bldgPanorama/detail/index.vue
  29. 50 19
      src/view/bldgPanorama/index.vue
  30. 1168 0
      yarn.lock

File diff suppressed because it is too large
+ 722 - 154
src/assets/data/Model/index.ts


BIN
src/assets/img/map/home/mapBg.jpg


BIN
src/assets/img/map/home/mapBg2 copy.jpg


BIN
src/assets/img/map/home/mapBg2.png


BIN
src/assets/img/map/home/panoramaBG2.jpg


BIN
src/assets/img/map/nornal/专家楼旧址.png


BIN
src/assets/img/map/nornal/中国主教公署旧址.png


BIN
src/assets/img/map/nornal/圣雅各教堂.png


BIN
src/assets/img/map/nornal/基督教牧师楼旧址.png


BIN
src/assets/img/map/nornal/外国主教公署旧址.png


BIN
src/assets/img/map/nornal/孙村章氏祠堂.png


BIN
src/assets/img/map/nornal/崔国因公馆旧址.png


BIN
src/assets/img/map/nornal/张氏宗祠.png


BIN
src/assets/img/map/nornal/新四军七师司令部旧址.png


BIN
src/assets/img/map/nornal/沈克非、陈翠贞旧居.png


BIN
src/assets/img/map/nornal/洪巷周氏宗祠.png


BIN
src/assets/img/map/nornal/牧师楼.png


BIN
src/assets/img/map/nornal/老芜湖医院旧址.png


BIN
src/assets/img/map/nornal/胡湾胡氏宗祠.png


BIN
src/assets/img/map/nornal/院长楼旧址.png


BIN
src/assets/img/panorama/南陵县.png


BIN
src/assets/img/panorama/无为市.png


BIN
src/assets/img/panorama/繁昌区.png


+ 6 - 1
src/auto-import.d.ts

@@ -37,6 +37,7 @@ declare global {
   const onServerPrefetch: typeof import('vue')['onServerPrefetch']
   const onUnmounted: typeof import('vue')['onUnmounted']
   const onUpdated: typeof import('vue')['onUpdated']
+  const onWatcherCleanup: typeof import('vue')['onWatcherCleanup']
   const provide: typeof import('vue')['provide']
   const reactive: typeof import('vue')['reactive']
   const readonly: typeof import('vue')['readonly']
@@ -54,10 +55,13 @@ declare global {
   const useAttrs: typeof import('vue')['useAttrs']
   const useCssModule: typeof import('vue')['useCssModule']
   const useCssVars: typeof import('vue')['useCssVars']
+  const useId: typeof import('vue')['useId']
   const useLink: typeof import('vue-router')['useLink']
+  const useModel: typeof import('vue')['useModel']
   const useRoute: typeof import('vue-router')['useRoute']
   const useRouter: typeof import('vue-router')['useRouter']
   const useSlots: typeof import('vue')['useSlots']
+  const useTemplateRef: typeof import('vue')['useTemplateRef']
   const watch: typeof import('vue')['watch']
   const watchEffect: typeof import('vue')['watchEffect']
   const watchPostEffect: typeof import('vue')['watchPostEffect']
@@ -66,5 +70,6 @@ declare global {
 // for type re-export
 declare global {
   // @ts-ignore
-  export type { Component, ComponentPublicInstance, ComputedRef, InjectionKey, PropType, Ref, VNode } from 'vue'
+  export type { Component, ComponentPublicInstance, ComputedRef, DirectiveBinding, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, InjectionKey, PropType, Ref, MaybeRef, MaybeRefOrGetter, VNode, WritableComputedRef } from 'vue'
+  import('vue')
 }

+ 2 - 2
src/view/bldgMap/detail/index.vue

@@ -178,8 +178,8 @@ onMounted(async () => {
       <div class="bottom-other">
         <div class="adress">{{ "地址:" + currentScene.adress }}</div>
         <div class="rank">{{ "级别:" + currentScene.rank }}</div>
-        <div class="openTime">{{ "开放时间:" + currentScene.openTime }}</div>
-        <div class="ticketInfo">{{ "门票:" + currentScene.ticketInfo }}</div>
+        <!-- <div class="openTime">{{ "开放时间:" + currentScene.openTime }}</div>
+        <div class="ticketInfo">{{ "门票:" + currentScene.ticketInfo }}</div> -->
       </div>
       <div class="bottom-disc">
         {{ "简介:" + currentScene.disc }}

+ 6 - 6
src/view/bldgMap/index.vue

@@ -44,18 +44,18 @@ const touchMove = (event: any) => {
 
   // console.log(X, Y);
   if (X > 20) {
-    viewTop.value = parseFloat(viewTop.value) - 0.6 + "%";
+    viewTop.value = parseFloat(viewTop.value) - 0.3 + "%";
   }
   if (X < -20) {
-    viewTop.value = parseFloat(viewTop.value) + 0.6 + "%";
+    viewTop.value = parseFloat(viewTop.value) + 0.3 + "%";
   }
   if (Y > 20) {
     // console.log("上滑", viewTop.value, viewLeft.value);
-    viewLeft.value = parseFloat(viewLeft.value) - 0.6 + "%";
+    viewLeft.value = parseFloat(viewLeft.value) - 0.3 + "%";
   }
   if (Y < -20) {
     // console.log("下滑", viewTop.value, viewLeft.value);
-    viewLeft.value = parseFloat(viewLeft.value) + 0.6 + "%";
+    viewLeft.value = parseFloat(viewLeft.value) + 0.3 + "%";
   }
 };
 
@@ -168,8 +168,8 @@ onMounted(() => {
   min-height: 100vh;
   height: 100vh;
   height: calc(var(--vh, 1vh) * 100);
-  background-image: url(../../assets/img/map/home/mapBg2.jpg);
-  background-size: 450%;
+  background-image: url(../../assets/img/map/home/mapBg2.png);
+  background-size: 800%;
   // background-position: 20% 0%;
   overflow: hidden;
   position: relative;

+ 1 - 0
src/view/bldgModel/detail/index.vue

@@ -63,6 +63,7 @@ const goChange = () => {
   .ifr-box {
     width: 100%;
     height: 100%;
+    border: none;
   }
 
   .btn {

+ 6 - 2
src/view/bldgPanorama/detail/index.vue

@@ -122,11 +122,11 @@ onMounted(() => {
     // border: 1px dotted white;
     box-sizing: border-box;
     padding: 5px 15px;
-
     transition: height 2s;
 
     &-top {
       width: 100%;
+      padding-top: 20px;
       display: flex;
       align-items: center;
 
@@ -139,7 +139,7 @@ onMounted(() => {
         .top-item {
           font-size: 0.9rem;
           width: 21%;
-          height: 25px;
+          height: 100%;
           background: url(/src\assets\img\panorama\areabg.png);
           background-size: 100% 100%;
           text-align: center;
@@ -147,6 +147,10 @@ onMounted(() => {
           color: #685e47;
           margin-right: 10px;
           font-weight: bold;
+          cursor: pointer;
+          white-space: nowrap;
+          text-overflow: ellipsis;
+          overflow: hidden;
         }
       }
 

+ 50 - 19
src/view/bldgPanorama/index.vue

@@ -29,7 +29,7 @@ watch(currentIndex, (newVale: any) => {
 });
 
 onMounted(() => {
-  console.log(store.currentIndex)
+  console.log(store.currentIndex);
   currentIndex.value = store.currentIndex == null ? 0 : store.currentIndex;
 });
 </script>
@@ -40,17 +40,28 @@ onMounted(() => {
     <div v-for="(item, index) in countyMapData" :key="index">
       <div v-if="index === currentIndex">
         <img :src="getAssetURL(item.bgImg)" alt="" id="box" />
-        <div class="box-1" v-for="(label, index2) in item.labels" :key="index2" :style="{
-          top: label.top,
-          left: label.left,
-          height: label.height ? label.height : '10rem',
-          width: label.width ? label.width : 'auto',
-        }">
-          <div class="title" @click="goDetail(label.name)" :style="{
-            transform: label.width
-              ? `translate(${label.width},-50%)`
-              : 'translate(-50%,-50%)',
-          }">
+        <div
+          :class="['box-1', { 'box-1-bottom': label.isBottom }]"
+          v-for="(label, index2) in item.labels"
+          :key="index2"
+          :style="{
+            top: label.top,
+            left: label.left,
+            height: label.height ? label.height : '10rem',
+            width: label.width ? label.width : 'auto',
+          }"
+        >
+          <div
+            class="title"
+            @click="goDetail(label.name)"
+            :style="{
+              transform: label.isBottom
+                ? `translate(${label.width},calc(${label.height} - 1.2rem)`
+                : label.width
+                ? `translate(${label.width},-50%)`
+                : 'translate(-50%,-50%)',
+            }"
+          >
             {{ `${label.fullName ? label.fullName : label.name}` }}
           </div>
           <div class="dian-small"></div>
@@ -59,12 +70,21 @@ onMounted(() => {
       </div>
     </div>
     <div class="option-box">
-      <div v-for="(item, index) in countyMapData" :key="index" class="btn"
-        :style="{ background: index == currentIndex ? '#fff' : '#767265' }" @click="() => {
-          currentIndex = index;
-        }
-          ">
-        <div class="circle" :class="{ 'circle-active': index === currentIndex }">
+      <div
+        v-for="(item, index) in countyMapData"
+        :key="index"
+        class="btn"
+        :style="{ background: index == currentIndex ? '#fff' : '#767265' }"
+        @click="
+          () => {
+            currentIndex = index;
+          }
+        "
+      >
+        <div
+          class="circle"
+          :class="{ 'circle-active': index === currentIndex }"
+        >
           {{ item.name }}
         </div>
       </div>
@@ -149,6 +169,17 @@ onMounted(() => {
     }
   }
 
+  .box-1-bottom {
+    border-top: transparent;
+    border-bottom: 1px dashed #2058bd;
+    .dian-small {
+      top: -4px;
+    }
+    .dian-big {
+      top: -10px;
+    }
+  }
+
   .div-1 {
     width: 10%;
     height: 10rem;
@@ -183,6 +214,7 @@ onMounted(() => {
     width: 100%;
     height: 9.5rem;
     position: fixed;
+    z-index: 2;
     bottom: 0;
     background: rgba(83, 83, 83, 0.384);
     display: flex;
@@ -205,7 +237,6 @@ onMounted(() => {
       box-shadow: 0 0 10px #767265;
       margin-right: 10px;
 
-
       .circle {
         width: 5.8rem;
         height: 5.8rem;

File diff suppressed because it is too large
+ 1168 - 0
yarn.lock