Commit 1e782eeb authored by youjie's avatar youjie

首页 搜索

parent 35405370
...@@ -6,8 +6,50 @@ ...@@ -6,8 +6,50 @@
<script> <script>
export default { export default {
name: "App" name: "App",
methods: {
disableZoom(event){
if (event.ctrlKey && (event.key === '+' || event.key === '-' || event.key === '=')) {
event.preventDefault(); // 阻止默认行为
console.log('缩放功能已禁用');
}
},
disableZoomByWheel(event) {
if (event.ctrlKey) {
event.preventDefault(); // 阻止缩放
console.log('鼠标滚轮缩放功能已禁用');
}
},
adjustZoom() {
console.log('execute...')
if(window.innerWidth>768){
const scale = window.devicePixelRatio; // 获取用户的系统缩放比例
document.body.style.zoom = 1 / scale; // 设置缩放以抵消系统缩放
// 获取实际视口高度和宽度
const vh = window.innerHeight * scale;
const vw = window.innerWidth * scale;
// 将计算结果应用为 CSS 自定义属性
document.documentElement.style.setProperty('--vh', `${vh}px`);
document.documentElement.style.setProperty('--vw', `${vw}px`);
}
}
},
mounted() {
window.addEventListener('keydown', (event) => this.disableZoom(event));
window.onload = this.adjustZoom();
window.addEventListener('wheel', (event) => this.disableZoomByWheel(event), { passive: false });
window.addEventListener('resize',()=> this.adjustZoom())
},
unmounted() {
window.removeEventListener('keydown', (event) => this.disableZoom(event));
window.removeEventListener('wheel', (event) => this.disableZoomByWheel(event), { passive: false });
window.removeEventListener('resize', ()=>this.adjustZoom())
}
}; };
</script> </script>
<style> <style>
@import url("//at.alicdn.com/t/c/font_1890699_5zxmcxmwvtf.css"); @import url("//at.alicdn.com/t/c/font_1890699_5zxmcxmwvtf.css");
......
...@@ -48,11 +48,11 @@ ul,li{ ...@@ -48,11 +48,11 @@ ul,li{
font-size: 18px; font-size: 18px;
} }
.remText{ .remText{
font-size: .8rem; font-size: 16px;
} }
.remSubText{ .remSubText{
font-size: 1rem; font-size: 16px;
} }
.duration2{ .duration2{
...@@ -79,6 +79,9 @@ ul,li{ ...@@ -79,6 +79,9 @@ ul,li{
.h100{ .h100{
height: 100%; height: 100%;
} }
.vh100{
height: 100vh;
}
.right0{ .right0{
right: 0; right: 0;
} }
...@@ -136,7 +139,7 @@ ul,li{ ...@@ -136,7 +139,7 @@ ul,li{
margin-top: 0px; margin-top: 0px;
} }
.indexNavxcT{ .indexNavxcT{
padding-top: 50%;
} }
.homeContainer{ .homeContainer{
max-width: 100%; max-width: 100%;
...@@ -254,7 +257,7 @@ ul,li{ ...@@ -254,7 +257,7 @@ ul,li{
margin-top: 50px; margin-top: 50px;
} }
.indexNavxcT{ .indexNavxcT{
padding-top: 20%;
} }
.gap-1{ .gap-1{
padding-bottom: 55px; padding-bottom: 55px;
...@@ -330,7 +333,7 @@ ul,li{ ...@@ -330,7 +333,7 @@ ul,li{
} }
@media screen and (min-width: 992px) { @media screen and (min-width: 992px) {
.indexNavxcT{ .indexNavxcT{
padding-top: 20%;
} }
.swipercomTvR2Bj{ .swipercomTvR2Bj{
top: 100%; top: 100%;
...@@ -409,7 +412,7 @@ ul,li{ ...@@ -409,7 +412,7 @@ ul,li{
} }
@media screen and (min-width: 1280px) { @media screen and (min-width: 1280px) {
.indexNavxcT{ .indexNavxcT{
padding-top: 20%;
} }
.homeContainer{ .homeContainer{
max-width: 1280px; max-width: 1280px;
...@@ -448,8 +451,11 @@ ul,li{ ...@@ -448,8 +451,11 @@ ul,li{
} }
} }
@media screen and (min-width: 1440px) { @media screen and (min-width: 1440px) {
.MenuListBoxH{
/* min-height: 150px; */
}
.indexNavxcT{ .indexNavxcT{
padding-top: 20%;
} }
.swipercomSubEnLenR2{ .swipercomSubEnLenR2{
font-size: 1.8rem; font-size: 1.8rem;
...@@ -520,11 +526,14 @@ ul,li{ ...@@ -520,11 +526,14 @@ ul,li{
} }
} }
@media screen and (min-width: 1800px) { @media screen and (min-width: 1800px) {
.MenuListBoxH{
/* min-height: 300px; */
}
.indexRoll2Hd{ .indexRoll2Hd{
width: 468px width: 468px
} }
.indexNavxcT{ .indexNavxcT{
padding-top: 20%;
} }
.swipercomSubEnLenR2{ .swipercomSubEnLenR2{
font-size: 2rem; font-size: 2rem;
...@@ -544,10 +553,10 @@ ul,li{ ...@@ -544,10 +553,10 @@ ul,li{
padding-left: 240px; padding-left: 240px;
} }
.w3{ .w3{
width: 50%; width: 40%;
} }
.insli-leftDescr{ .insli-leftDescr{
width: 55%; width: 266px;
} }
.swipercomTitle{ .swipercomTitle{
padding: 40px 0; padding: 40px 0;
......
...@@ -9,8 +9,9 @@ import message from './message' ...@@ -9,8 +9,9 @@ import message from './message'
import product from './product' import product from './product'
import VueViewer from 'v-viewer' import VueViewer from 'v-viewer'
// import VueCoreVideoPlayer from 'vue-core-video-player' // import VueCoreVideoPlayer from 'vue-core-video-player'
import ElementUI from "element-ui"; import 'animate.css';
Vue.use(ElementUI); // 或者只引入需要的动画类
import 'animate.css/source/attention_seekers/bounce.css';
Vue.prototype.$EventBus = new Vue() Vue.prototype.$EventBus = new Vue()
Vue.use(VueCoreVideoPlayer) Vue.use(VueCoreVideoPlayer)
Vue.use(VueViewer) Vue.use(VueViewer)
...@@ -29,7 +30,6 @@ Vue.prototype.domainManager = function() { ...@@ -29,7 +30,6 @@ Vue.prototype.domainManager = function() {
domainUrl = "http://testapi.oytour.com"; domainUrl = "http://testapi.oytour.com";
} else if (domainNameUrl.indexOf('oytour') !== -1) { } else if (domainNameUrl.indexOf('oytour') !== -1) {
domainUrl = "http://reborn.oytour.com"; domainUrl = "http://reborn.oytour.com";
domainUrl = "http://192.168.5.46";
// domainUrl = 'http://192.168.10.68' //'http://192.168.10.226:8015' ''http://192.168.10.9:8083' ' // domainUrl = 'http://192.168.10.68' //'http://192.168.10.226:8015' ''http://192.168.10.9:8083' '
} }
var obj = { var obj = {
......
This diff is collapsed.
<template> <template>
<div class="indexRoll1Box" @mouseover.stop.prevent="handleMouseMove" @mouseleave.stop.prevent="handleMouseLeave" <div class="indexRoll1Box" @mouseover.stop.prevent="handleMouseMove" @mouseleave.stop.prevent="handleMouseLeave"
:class="[Current=='left'?'activeL':'activeR']" :class="[Current=='left'?'activeL':Current=='right'?'activeR':'']"
@click="carousel(Current)"> @click.stop="carousel(Current)">
<div class="relative gap-1 overflow-hidden" <div class="relative gap-1 overflow-hidden"
:style="{'background-color':plugData.BgColor?plugData.BgColor:'#fff'}"> :style="{'background-color':plugData.BgColor?plugData.BgColor:'#fff'}">
<div class="homeContainer"> <div class="homeContainer">
...@@ -32,10 +32,10 @@ ...@@ -32,10 +32,10 @@
<swiper-slide :key="index" :index="index" <swiper-slide :key="index" :index="index"
class=""> class="">
<div class="relative" :style="{'background':`url(${item.FileUrl})no-repeat`,'background-size':'cover'}" <div class="relative" :style="{'background':`url(${item.FileUrl})no-repeat`,'background-size':'cover'}"
style="border-radius:10px;" @click.stop="OpenNewUrl(item.LinkUrl)" @mouseover.stop.prevent="getINdex(index)"> style="border-radius:10px;" @click.stop="OpenUrl(item.LinkUrl,index)" >
<template v-if="item.FileType==1"> <template v-if="item.FileType==1">
<q-img :src="item.FileUrl" no-default-spinner alt="image" :ratio="16/9" fill="cover" <q-img :src="item.FileUrl" no-default-spinner alt="image" :ratio="16/9" fill="cover"
@click.stop="OpenNewUrl(item.LinkUrl)" class=""> @click.stop="OpenUrl(item.LinkUrl,index)" class="">
<template v-slot:error> <template v-slot:error>
<div class="absolute inSliMLogo"> <div class="absolute inSliMLogo">
<q-img v-if="plugData.MLogo" :src="plugData.MLogo" <q-img v-if="plugData.MLogo" :src="plugData.MLogo"
...@@ -46,7 +46,7 @@ ...@@ -46,7 +46,7 @@
</template> </template>
<q-img v-else alt="" :ratio="16/9" fill="cover"> <q-img v-else alt="" :ratio="16/9" fill="cover">
<q-video class="" style="width: 100%;" :src="item.FileUrl" frameborder="0" <q-video class="" style="width: 100%;" :src="item.FileUrl" frameborder="0"
allowfullscreen @click.stop="OpenNewUrl(item.LinkUrl)"/> allowfullscreen @click.stop="OpenUrl(item.LinkUrl,index)"/>
</q-img> </q-img>
<div class="swipercomSubEnLen absolute bg-white row items-center justify-center"> <div class="swipercomSubEnLen absolute bg-white row items-center justify-center">
<div class="swipercomSubEnNum row" v-if="windowWidth>=992"> <div class="swipercomSubEnNum row" v-if="windowWidth>=992">
...@@ -202,9 +202,9 @@ ...@@ -202,9 +202,9 @@
}, 500); }, 500);
}, },
methods: { methods: {
getINdex(index){ OpenUrl(URL,index) {
this.isRight = this.$refs.mySwiper.swiper.realIndex!=index if(index!=this.slide) return this.carousel(this.Current)
// console.log(this.slide,index) this.OpenNewUrl(URL)
}, },
slideChangeTransitionEnd(){ slideChangeTransitionEnd(){
this.slide = this.$refs.mySwiper.swiper.realIndex this.slide = this.$refs.mySwiper.swiper.realIndex
...@@ -225,7 +225,7 @@ ...@@ -225,7 +225,7 @@
} }
}, },
handleMouseMove(el) { handleMouseMove(el) {
if(this.windowWidth<768) return if(this.windowWidth<768) return this.Current = null
if(!this.isRight){ if(!this.isRight){
this.setRight() this.setRight()
} }
...@@ -238,15 +238,16 @@ ...@@ -238,15 +238,16 @@
}else if(el.x>width) { }else if(el.x>width) {
this.Current = 'right' this.Current = 'right'
} }
this.X = el.x // this.X = el.x
this.Y = el.y+(document.documentElement.scrollTop || document.body.scrollTop) // this.Y = el.y+(document.documentElement.scrollTop || document.body.scrollTop)
}, },
setRight(){ setRight(){
this.isRight = true this.isRight = true
}, },
handleMouseLeave(e){ handleMouseLeave(e){
this.Current = null
return
this.isRight = false this.isRight = false
console.log(this.isRight ,'=====')
} }
} }
} }
......
...@@ -28,6 +28,11 @@ ...@@ -28,6 +28,11 @@
class="swiper" @slideChange="onSlideChange"> class="swiper" @slideChange="onSlideChange">
<swiper-slide :key="index" :index="index" style="width: 12.91vw;" <swiper-slide :key="index" :index="index" style="width: 12.91vw;"
class="cursor-pointer swiperR2W" v-for="(item, index) in plugData.NavList"> class="cursor-pointer swiperR2W" v-for="(item, index) in plugData.NavList">
<div class="relative">
<div class="swipercomSubEnLenR2 absolute font-serifEn">
<span class="writing-modes-vertical">{{item.SubEnName}}</span>
</div>
</div>
<div class="relative swiperR2Hover"> <div class="relative swiperR2Hover">
<template v-if="item.FileType==1"> <template v-if="item.FileType==1">
<q-img :src="item.FileUrl" alt="image" :ratio="0.64" fill="cover" <q-img :src="item.FileUrl" alt="image" :ratio="0.64" fill="cover"
...@@ -44,9 +49,7 @@ ...@@ -44,9 +49,7 @@
<q-video class="cursor-pointer" style="width: 100%;" :src="item.FileUrl" frameborder="0" <q-video class="cursor-pointer" style="width: 100%;" :src="item.FileUrl" frameborder="0"
allowfullscreen @click.stop="OpenNewUrl(item.LinkUrl)"/> allowfullscreen @click.stop="OpenNewUrl(item.LinkUrl)"/>
</q-img> </q-img>
<div class="swipercomSubEnLenR2 absolute writing-modes-vertical font-serifEn">
{{item.SubEnName}}
</div>
<div class="swipercomTvR2BjBox"> <div class="swipercomTvR2BjBox">
<div class="swipercomTvR2Bj absolute">&nbsp;</div> <div class="swipercomTvR2Bj absolute">&nbsp;</div>
<div class="swipercomTvR2 absolute"> <div class="swipercomTvR2 absolute">
...@@ -93,6 +96,7 @@ ...@@ -93,6 +96,7 @@
<script> <script>
import { swiper, swiperSlide } from "vue-awesome-swiper"; import { swiper, swiperSlide } from "vue-awesome-swiper";
import "swiper/dist/css/swiper.css"; import "swiper/dist/css/swiper.css";
const scale = 1 / window.devicePixelRatio;
export default { export default {
components: { swiper, swiperSlide }, components: { swiper, swiperSlide },
props: ['plugData','windowWidth','top','currentHeight'], props: ['plugData','windowWidth','top','currentHeight'],
...@@ -106,43 +110,43 @@ ...@@ -106,43 +110,43 @@
spaceBetween: 50, spaceBetween: 50,
breakpoints: { breakpoints: {
1950: { 1950: {
slidesPerView: 5.8, slidesPerView: 5.8/scale,
spaceBetween: 40 spaceBetween: 40
}, },
1800: { 1800: {
slidesPerView: 4.5, slidesPerView: 4.5/scale,
spaceBetween: 40 spaceBetween: 40
}, },
1700: { 1700: {
slidesPerView: 3, slidesPerView: 3/scale,
spaceBetween: 40 spaceBetween: 40
}, },
1600: { 1600: {
slidesPerView: 3, slidesPerView: 3/scale,
spaceBetween: 40 spaceBetween: 40
}, },
1500: { 1500: {
slidesPerView: 4, slidesPerView: 4/scale,
spaceBetween: 30 spaceBetween: 30
}, },
1400: { 1400: {
slidesPerView: 4, slidesPerView: 4/scale,
spaceBetween: 30 spaceBetween: 30
}, },
1300: { 1300: {
slidesPerView:3.7, slidesPerView:3.7/scale,
spaceBetween: 30 spaceBetween: 30
}, },
1200: { 1200: {
slidesPerView:3.15, slidesPerView:3.15/scale,
spaceBetween: 30 spaceBetween: 30
}, },
1100: { 1100: {
slidesPerView:2.7, slidesPerView:2.7/scale,
spaceBetween: 30 spaceBetween: 30
}, },
800: { 800: {
slidesPerView:1.3, slidesPerView:1.3/scale,
spaceBetween: 30 spaceBetween: 30
}, },
640: { 640: {
...@@ -365,9 +369,10 @@ ...@@ -365,9 +369,10 @@
font-size: 25px; font-size: 25px;
} }
.swipercomR2{ .swipercomR2{
.swiperR2W{
/* max-width: 12.91vw !important; */ }
} .swiperR2W{
} }
.swipercomSubEnLenR2{ .swipercomSubEnLenR2{
font-size: 2rem; font-size: 2rem;
...@@ -375,6 +380,7 @@ ...@@ -375,6 +380,7 @@
top: -1rem; top: -1rem;
letter-spacing: .5rem; letter-spacing: .5rem;
color: $secondary; color: $secondary;
z-index: 2;
} }
.swipercomTvR2BjBox{ .swipercomTvR2BjBox{
......
<template> <template>
<!-- no-course --> <!-- no-course -->
<!-- :class="[Current=='left'?'activeL':Current=='right'?'activeR':'']" -->
<!-- :style="[Current=='left'?`cursor:url(${cursorUrlL}),auto,fontSize:${cursorSize} + 'px'`:Current=='right'?`cursor:url(${cursorUrlR}),auto,fontSize:${cursorSize} + 'px'`:''
]" -->
<div class="indexSliderBox animate__animated duration2" @mousemove="handleMouseMove" @mouseleave="handleMouseLeave" <div class="indexSliderBox animate__animated duration2" @mousemove="handleMouseMove" @mouseleave="handleMouseLeave"
:class="[Current=='left'?'activeL':'activeR']" :style="{ cursor: 'url(' + `${Current=='left'?cursorUrlL:Current=='right'?cursorUrlR:''}` + '), auto',
fontSize: cursorSize + 'px'}"
@click="carousel(Current)"> @click="carousel(Current)">
<div class="relative gap-1 overflow-hidden" <div class="relative gap-1 overflow-hidden"
:style="{'background-color':plugData.BgColor?plugData.BgColor:'#fff'}" :style="{'background-color':plugData.BgColor?plugData.BgColor:'#fff'}"
...@@ -128,6 +132,9 @@ export default { ...@@ -128,6 +132,9 @@ export default {
autoplay: 40000000, autoplay: 40000000,
FileUrlList: [], FileUrlList: [],
isRight: false, isRight: false,
cursorUrlL: require('../../assets/img/home/left.png'),
cursorUrlR: require('../../assets/img/home/right.png'),
cursorSize: 16,
} }
}, },
watch: { watch: {
...@@ -173,18 +180,18 @@ export default { ...@@ -173,18 +180,18 @@ export default {
} }
}, },
handleMouseMove(el) { handleMouseMove(el) {
if(this.windowWidth<768) return if(this.windowWidth<768) return this.Current = null
if(!this.isRight) this.isRight = true if(!this.isRight) this.isRight = true
let width = this.windowWidth/2 let width = this.windowWidth/2
if(el.x<width){ if(el.x<width){
this.Current = 'left' this.Current = 'left'
this.X = el.x+50 // this.X = el.x+50
}else if(el.x>width) { }else if(el.x>width) {
this.Current = 'right' this.Current = 'right'
this.X = el.x-50 // this.X = el.x-50
} }
this.Y = el.y+(document.documentElement.scrollTop || document.body.scrollTop) // this.Y = el.y+(document.documentElement.scrollTop || document.body.scrollTop)
}, },
handleMouseLeave(){ handleMouseLeave(){
this.isRight = false this.isRight = false
...@@ -209,11 +216,19 @@ export default { ...@@ -209,11 +216,19 @@ export default {
height: 100%; height: 100%;
} }
.activeL{ .activeL{
cursor: url('../../assets/img/home/left.png'),auto !important; cursor: url('../../assets/img/home/left.png'),auto!important;
/* 禁止缩放cursor */
-webkit-user-zoom: fixed !important;
-moz-user-zoom: fixed !important;
user-zoom: fixed !important;
/* 以下是针对IE的额外设置 */
-ms-user-zoom: fixed !important;
-ms-touch-action: none !important;
} }
.activeR{ .activeR{
cursor: url('../../assets/img/home/right.png'),auto !important; cursor: url('../../assets/img/home/right.png'),auto !important;
} }
.indexSliderBox.q-py{ .indexSliderBox.q-py{
padding: 80px 0 40px 0; padding: 80px 0 40px 0;
} }
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
</script> </script>
<style scoped> <style scoped>
.sliderRight{ .sliderRight{
z-index: 9; z-index: 1;
opacity: 0; opacity: 0;
margin: -2rem 0 0 -2rem; margin: -2rem 0 0 -2rem;
--tw-backdrop-blur: blur(4px); --tw-backdrop-blur: blur(4px);
......
...@@ -143,7 +143,7 @@ ...@@ -143,7 +143,7 @@
</li> </li>
</ul> </ul>
</div> </div>
<div :class="[windowWidth<1300?'hidden':'']"> <div :class="[!$q.platform.is.desktop?'hidden':'']">
<ul class="l-footer--list row"> <ul class="l-footer--list row">
<li class="l-footer--list__item relative cursor-pointer" v-for="(item,index) in plugData.MenuList"> <li class="l-footer--list__item relative cursor-pointer" v-for="(item,index) in plugData.MenuList">
<a @click="OpenNewUrl(item.LinkUrl)" <a @click="OpenNewUrl(item.LinkUrl)"
......
...@@ -162,4 +162,7 @@ ...@@ -162,4 +162,7 @@
} }
.border-b { .border-b {
border-bottom: 1px solid #eee; border-bottom: 1px solid #eee;
} }
\ No newline at end of file .window-height{
height: var(--vh) !important;
}
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
</style> </style>
<template> <template>
<q-layout view="hHh lpr fFf"> <q-layout view="hHh lpr fFf">
<hor-big-one v-if="isSearch&&windowWidth>1280" :base-data="baseinfo" :dataList="dataList" ref="webhead"></hor-big-one> <hor-big-one v-if="isSearch&&windowWidth>=768" :base-data="baseinfo" :dataList="dataList" ref="webhead"></hor-big-one>
<!-- <hor-big-two v-if="headType==2" :base-data="baseinfo" ref="webhead"></hor-big-two> --> <!-- <hor-big-two v-if="headType==2" :base-data="baseinfo" ref="webhead"></hor-big-two> -->
<q-page-container> <q-page-container>
<div class="flex justify-between" v-if="showUserInfo" :style="$q.platform.is.desktop ? 'width: 1200px; margin: 0 auto' : ''"> <div class="flex justify-between" v-if="showUserInfo" :style="$q.platform.is.desktop ? 'width: 1200px; margin: 0 auto' : ''">
......
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