BAI преди 2 седмици
родител
ревизия
8333eb8ec0
променени са 1 файла, в които са добавени 15 реда и са изтрити 1 реда
  1. 15 1
      src/views/map/index.vue

+ 15 - 1
src/views/map/index.vue

@@ -23,7 +23,8 @@
       <img src="@/assets/images/背景图.png" alt="背景图" />
     </div>
     <div class="study-bg" v-show="state.activeIndex === '6'">
-      <img src="@/assets/images/昆山水文站.jpg" alt="昆山水文站" />
+      <img v-if="state.studyBgImage === 'default'" src="@/assets/images/昆山水文站.jpg" alt="昆山水文站" />
+      <img v-else src="@/assets/images/image.png" alt="技术实践区" />
     </div>
     <!-- 视频背景 -->
     <div class="video-background" v-if="state.showVideoPlayer">
@@ -219,6 +220,8 @@ const state = reactive({
   showHistoryImage: false,
   // 当前地图模式: 'kunshan' | 'suzhou',默认苏州地图
   currentMapMode: 'suzhou',
+  // 研学联建背景图状态
+  studyBgImage: 'default', // 'default' 或 'practice'
   // 卡片统计数据
   totalView: [
     {
@@ -247,6 +250,11 @@ const state = reactive({
     },
   ],
 })
+
+// 切换研学联建背景图
+function switchStudyBgImage(type) {
+  state.studyBgImage = type
+}
 onMounted(() => {
   // 监听地图播放完成,执行事件
   emitter.$on("mapPlayComplete", handleMapPlayComplete)
@@ -256,6 +264,8 @@ onMounted(() => {
   emitter.$on("mapModeChanged", handleMapModeChanged)
   // 监听切换到区域总览页面事件
   emitter.$on("switchToRegionOverview", handleSwitchToRegionOverview)
+  // 监听研学联建背景图切换事件
+  emitter.$on("switchStudyBgImage", switchStudyBgImage)
   // 自动适配
   assets.value = autofit.init({
     dh: 1080,
@@ -278,6 +288,7 @@ onBeforeUnmount(() => {
   emitter.$off("waterStationClick", handleWaterStationClick)
   emitter.$off("mapModeChanged", handleMapModeChanged)
   emitter.$off("switchToRegionOverview", handleSwitchToRegionOverview)
+  emitter.$off("switchStudyBgImage", switchStudyBgImage)
 })
 
 // 处理地图模式变化
@@ -399,6 +410,9 @@ function handleMenuSelect(index) {
       gsap.to(".history-content .timeline-container", { y: 0, opacity: 1, duration: 0.5, delay: 0.2 })
     } else if (index === "5") {
       gsap.to(".science-content .science-card", { y: 0, opacity: 1, duration: 0.6, stagger: 0.15 })
+    } else if (index === "6") {
+      gsap.to(".study-content .left-column .module-card", { x: 0, opacity: 1, duration: 0.5, stagger: 0.1 })
+      gsap.to(".study-content .right-column .module-card", { x: 0, opacity: 1, duration: 0.5, stagger: 0.1 })
     }
   })
 }