Commit e03f68c5 authored by spc's avatar spc

fixed home

parent a7cb8c41
<template> <template>
<view class="home-container" @scroll="onPageScroll"> <view class="home-container" @scroll="onPageScroll">
<!-- 可拖拽悬浮图片 --> <!-- 可拖拽悬浮图片 -->
<view class="floating-image-container" v-if="floatIcon.imageUrl" <view class="floating-image-container" v-if="floatIcon.imageUrl && !isAnyPopupVisible"
:style="{ left: floatIconPosition.left + 'px', top: floatIconPosition.top + 'px' }" :style="{ left: floatIconPosition.left + 'px', top: floatIconPosition.top + 'px' }"
@touchstart="onTouchStart" @touchmove="onTouchMove" @touchend="onTouchEnd" @tap="onfloatIconClick"> @touchstart="onTouchStart" @touchmove="onTouchMove" @touchend="onTouchEnd" @tap="onfloatIconClick">
<image class="floating-image" <image class="floating-image"
...@@ -492,6 +492,9 @@ export default { ...@@ -492,6 +492,9 @@ export default {
channelTabListMianTitle: '', channelTabListMianTitle: '',
popupImageUrl: '', popupImageUrl: '',
popupImageObj: {}, popupImageObj: {},
// 新增变量用于跟踪弹窗状态
isNormalPopupVisible: false,
isImagePopupVisible: false
} }
}, },
components: { components: {
...@@ -501,7 +504,18 @@ export default { ...@@ -501,7 +504,18 @@ export default {
homeStore() { homeStore() {
return useHomeStore(); return useHomeStore();
}, },
// 检查是否有任何弹窗可见
isAnyPopupVisible() {
// 视频弹窗是否显示
if (this.showVideo) return true;
// 注册弹窗是否显示
if (this.showRegisterLayer) return true;
// 普通弹窗是否显示
if (this.isNormalPopupVisible) return true;
// 图片弹窗是否显示
if (this.isImagePopupVisible) return true;
return false;
}
}, },
props: { props: {
scrollTop: { scrollTop: {
...@@ -571,7 +585,7 @@ export default { ...@@ -571,7 +585,7 @@ export default {
this.childrenInfoList = data.childrenInfoList || []; this.childrenInfoList = data.childrenInfoList || [];
this.bottomLinkList = data.bottomLinkList; this.bottomLinkList = data.bottomLinkList;
this.qrInfoList = data.qrInfoList || []; this.qrInfoList = data.qrInfoList || [];
this.toolList = data.toolList; this.toolList = data.toolList || [];
this.expertTeam = data.expertTeam; this.expertTeam = data.expertTeam;
this.vipCardList = data.vipCardList; this.vipCardList = data.vipCardList;
this.voiceStory = data.voiceStory; this.voiceStory = data.voiceStory;
...@@ -801,6 +815,8 @@ export default { ...@@ -801,6 +815,8 @@ export default {
} }
this.popupIndex = _index; this.popupIndex = _index;
this.$refs.popup.open(this.popType); this.$refs.popup.open(this.popType);
// 设置普通弹窗为可见状态
this.isNormalPopupVisible = true;
}, },
showPopup1(_index, type) { showPopup1(_index, type) {
md.sensorLogTake({ md.sensorLogTake({
...@@ -824,9 +840,13 @@ export default { ...@@ -824,9 +840,13 @@ export default {
} }
this.popupIndex = _index; this.popupIndex = _index;
this.$refs.popup.open(this.popType); this.$refs.popup.open(this.popType);
// 设置普通弹窗为可见状态
this.isNormalPopupVisible = true;
}, },
closePop() { closePop() {
this.$refs.popup.close(); this.$refs.popup.close();
// 设置普通弹窗为不可见状态
this.isNormalPopupVisible = false;
}, },
goSearchHandler(e) { goSearchHandler(e) {
md.sensorLog(e); md.sensorLog(e);
...@@ -1044,6 +1064,8 @@ export default { ...@@ -1044,6 +1064,8 @@ export default {
}, },
closeImagePopup() { closeImagePopup() {
this.$refs.imagePopup.close(); this.$refs.imagePopup.close();
// 设置图片弹窗为不可见状态
this.isImagePopupVisible = false;
}, },
imagePopupJump() { imagePopupJump() {
...@@ -1066,9 +1088,13 @@ export default { ...@@ -1066,9 +1088,13 @@ export default {
popName: this.popupImageObj.title || "北纬47°鲜活溯源之旅" popName: this.popupImageObj.title || "北纬47°鲜活溯源之旅"
}); });
this.$refs.imagePopup.open('center'); this.$refs.imagePopup.open('center');
// 设置图片弹窗为可见状态
this.isImagePopupVisible = true;
}, },
closePop1() { closePop1() {
this.$refs.imagePopup.close(); this.$refs.imagePopup.close();
// 设置图片弹窗为不可见状态
this.isImagePopupVisible = false;
}, },
// 重置弹窗状态(可在需要时调用) // 重置弹窗状态(可在需要时调用)
...@@ -1171,6 +1197,7 @@ export default { ...@@ -1171,6 +1197,7 @@ export default {
position: fixed; position: fixed;
width: 75px; width: 75px;
height: 75px; height: 75px;
z-index: -1;
z-index: 999; z-index: 999;
touch-action: none; // 禁止默认触摸行为 touch-action: none; // 禁止默认触摸行为
border-radius: 50%; border-radius: 50%;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment