Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
million
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
viitto
million
Commits
1e782eeb
Commit
1e782eeb
authored
Dec 03, 2024
by
youjie
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
首页 搜索
parent
35405370
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
494 additions
and
111 deletions
+494
-111
App.vue
src/App.vue
+43
-1
home.css
src/assets/css/home.css
+19
-10
utils.js
src/boot/utils.js
+3
-3
indexNav.vue
src/components/home/indexNav.vue
+366
-59
indexRoll1.vue
src/components/home/indexRoll1.vue
+13
-12
indexRoll2.vue
src/components/home/indexRoll2.vue
+22
-16
indexSlider.vue
src/components/home/indexSlider.vue
+21
-6
mouse.vue
src/components/home/mouse.vue
+1
-1
newHor-btm.vue
src/components/navs/newHor-btm.vue
+1
-1
app.scss
src/css/app.scss
+4
-1
HomeLayout.vue
src/layouts/HomeLayout.vue
+1
-1
No files found.
src/App.vue
View file @
1e782eeb
...
@@ -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")
;
...
...
src/assets/css/home.css
View file @
1e782eeb
...
@@ -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
:
1
rem
;
font-size
:
1
6px
;
}
}
.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
:
5
0%
;
width
:
4
0%
;
}
}
.insli-leftDescr
{
.insli-leftDescr
{
width
:
55%
;
width
:
266px
;
}
}
.swipercomTitle
{
.swipercomTitle
{
padding
:
40px
0
;
padding
:
40px
0
;
...
...
src/boot/utils.js
View file @
1e782eeb
...
@@ -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
=
{
...
...
src/components/home/indexNav.vue
View file @
1e782eeb
<
template
>
<
template
>
<!-- @mouseleave="ClearData" -->
<!-- @mouseleave="ClearData" -->
<q-page
class=
"relative gap-1 overflow-hidden animate__animated duration5"
@
mouseleave=
"ClearData"
<q-page
class=
"relative gap-1 animate__animated duration5 overflow-hidden"
:style=
"
{'background-color':plugData.BgColor?plugData.BgColor:'#fff'}" style="height: 100vh;">
:class=
"[$q.platform.is.desktop?'window-height':'vh100']"
@
mouseleave=
"ClearData"
<div
class=
"absolute top0 right0 bottom0 left0 indexNavFormP row"
>
:style=
"
{'background-color':plugData.BgColor?plugData.BgColor:'#fff'}">
<div
class=
"col column carousel1-left relative"
@
mouseenter
.
stop
.
prevent=
"ClearData"
>
<div
class=
"absolute top0 right0 bottom0 left0 indexNavFormP row no-wrap"
>
<!--
<div
class=
"row justify-center"
@
mouseenter=
"ClearData"
>
<div
class=
"column justify-between carousel1-left relative"
@
mouseenter
.
stop
.
prevent=
"ClearData"
<q-img
class=
"carousel1-leftImg"
:src=
"plugData.Logo"
/>
v-if=
"$q.platform.is.desktop"
>
</div>
-->
<div
class=
"text-center"
style=
"padding-top: 100px;"
<div
class=
"text-center col"
style=
"padding-top: 5rem;"
@
mouseenter
.
stop
.
prevent=
"ClearData"
>
@
mouseenter
.
stop
.
prevent=
"ClearData"
<img
class=
"carousel1-leftImg inline-block"
:src=
"plugData.Logo"
/>
>
<img
class=
"carousel1-leftImg inline-block"
:src=
"plugData.Logo"
>
<p
class=
"font-serifEn fz20 q-pt-lg text-secondary opacity-80"
>
{{
plugData
.
SubTitle
}}
</p>
</div>
</div>
<div
class=
"col
column"
style=
"position: relative; z-index: 2
;"
>
<div
class=
"col
umn relative"
style=
"z-index: 3
;"
>
<
div
class=
"column col"
@
mouseenter
.
stop
.
prevent=
"ClearData"
<
!-- style="padding-top: 60px;" -->
style=
"padding-top: 40px;flex-grow: 1;
"
<div
class=
"column"
@
mouseenter
.
stop
.
prevent=
"ClearData
"
:style=
"
{'z-index': CurrentIndex==null?-2:2}">
:style=
"
{'z-index': CurrentIndex==null?-2:2}">
<ul
class=
"column MenuListBox
row relative
"
>
<ul
class=
"column MenuListBox
MenuListBoxH row relative justify-end
"
>
<div
class=
"p-x40 row no-wrap justify-center"
>
<div
class=
"p-x40 row no-wrap justify-center"
>
<template
v-for=
"(item,index) in plugData.MenuList"
>
<template
v-for=
"(item,index) in plugData.MenuList"
>
<li
class=
"MenuListLi row justify-center cursor-pointer"
<li
class=
"MenuListLi row justify-center cursor-pointer"
:class=
"[CurrentIndex>=0&&CurrentIndex==index?' active':'']"
:class=
"[CurrentIndex>=0&&CurrentIndex==index?' active':'']"
>
>
<div
class=
"cursor-pointer flex flex-col items-center relative"
<div
class=
"cursor-pointer flex flex-col items-center relative"
>
@
click=
"OpenNewUrl(item.LinkUrl)"
>
<div
class=
"row min-w-50px"
v-on:mouseenter=
"handleMouseEnter($event,index)"
>
<div
class=
"row min-w-50px"
v-on:mouseenter=
"handleMouseEnter($event,index)"
>
<div
class=
"font-serifEn writing-modes-vertical p text-gray-700"
>
<div
class=
"font-serifEn writing-modes-vertical p text-gray-700"
>
<span
class=
"inline-block tracking-6 fontW300 remTetil"
>
<span
class=
"inline-block tracking-6 fontW300 remTetil"
>
...
@@ -40,9 +42,10 @@
...
@@ -40,9 +42,10 @@
</ul>
</ul>
<div
class=
"col
"
>
<div
class=
"col
full-height full-width"
style=
"min-height: 250px;"
>
<div
class=
"SubMenuListBox2 full-height full-width "
<div
class=
"SubMenuListBox2 full-height full-width "
:class=
"[CurrentIndex==null?'':'full-height full-width animate__fadeInUpBig']"
>
:class=
"[CurrentIndex==null?'':'full-height full-width animate__fadeInUpBig relative']"
>
<ul
class=
"MenuListBox row justify-center"
>
<ul
class=
"MenuListBox row justify-center"
>
<
template
v-for=
"(item,index) in plugData.MenuList"
>
<
template
v-for=
"(item,index) in plugData.MenuList"
>
<li
class=
"MenuListLi row justify-center cursor-pointer"
>
<li
class=
"MenuListLi row justify-center cursor-pointer"
>
...
@@ -53,8 +56,9 @@
...
@@ -53,8 +56,9 @@
</
template
>
</
template
>
</ul>
</ul>
<
template
v-for=
"(item,index) in plugData.MenuList"
>
<
template
v-for=
"(item,index) in plugData.MenuList"
>
<div
class=
"row justify-center items-center SubMenuListBox q-py-lg textOverEllipsis"
v-show=
"CurrentIndex==index"
<div
class=
"row justify-center items-center SubMenuListBox q-py-lg textOverEllipsis"
:class=
"[CurrentIndex==index?'full-height full-width active':'']"
>
:class=
"[CurrentIndex==index?'full-height full-width active':'']"
v-show=
"CurrentIndex==index"
>
<div
class=
"row justify-center"
>
<div
class=
"row justify-center"
>
<template
v-for=
"(items,i) in item.SubMenuList"
>
<template
v-for=
"(items,i) in item.SubMenuList"
>
<a
class=
"SubMenuListText relative writing-modes-vertical
<a
class=
"SubMenuListText relative writing-modes-vertical
...
@@ -74,14 +78,14 @@
...
@@ -74,14 +78,14 @@
<li
class=
"q-py-sm q-px-lg relative cursor-pointer"
v-for=
"(item,index) in plugData.BottomList"
<li
class=
"q-py-sm q-px-lg relative cursor-pointer"
v-for=
"(item,index) in plugData.BottomList"
@
click
.
stop=
"OpenNewUrl(item.LinkUrl)"
>
@
click
.
stop=
"OpenNewUrl(item.LinkUrl)"
>
<a
class=
"text-grey-7 transition-base"
>
<a
class=
"text-grey-7 transition-base"
>
<span
class=
"
text-xs
font-serif tracking-1 cursor-pointer"
>
{{item.LinkTitle}}
</span>
<span
class=
"
fz14
font-serif tracking-1 cursor-pointer"
>
{{item.LinkTitle}}
</span>
</a>
</a>
</li>
</li>
</ul>
</ul>
</div>
</div>
</div>
</div>
<div
class=
"carousel1-right overflow-hidden relative"
<div
class=
"carousel1-right overflow-hidden relative"
:class=
"[
windowWidth>=1280
?'col':'col-12']"
@
mouseenter
.
stop
.
prevent=
"ClearData"
>
:class=
"[
$q.platform.is.desktop
?'col':'col-12']"
@
mouseenter
.
stop
.
prevent=
"ClearData"
>
<
template
v-if=
"windowWidth>=768"
>
<
template
v-if=
"windowWidth>=768"
>
<q-img
v-if=
"ImgObj.FileType!=2"
class=
"carousel1-rightImg"
@
mouseenter
.
stop
.
prevent=
"ClearData"
<q-img
v-if=
"ImgObj.FileType!=2"
class=
"carousel1-rightImg"
@
mouseenter
.
stop
.
prevent=
"ClearData"
:class=
"[oldCoverImg!=coverImg?'active':'']"
:class=
"[oldCoverImg!=coverImg?'active':'']"
...
@@ -103,43 +107,183 @@
...
@@ -103,43 +107,183 @@
<q-carousel-slide
:name=
"index+1"
:img-src=
"item"
/>
<q-carousel-slide
:name=
"index+1"
:img-src=
"item"
/>
</
template
>
</
template
>
</q-carousel>
</q-carousel>
<div
class=
"MBgColorBox
row
justify-center items-center"
>
<div
class=
"MBgColorBox
column
justify-center items-center"
>
<q-img
class=
"MBgColorImg"
:src=
"plugData.MLogo"
fill=
"contain"
></q-img>
<q-img
class=
"MBgColorImg"
:src=
"plugData.MLogo"
fill=
"contain"
></q-img>
<p
class=
"font-serifEn fz20 q-pt-lg text-white opacity-80"
>
{{plugData.SubTitle}}
</p>
</div>
</div>
</template>
</template>
<
template
v-if=
"windowWidth<1280"
>
<div
class=
"absolute indexNavxcText cursor-pointer"
<span
class=
"absolute indexNavxcText writing-modes-vertical cursor-pointer"
@
click=
"isMenu=true"
>
行程线路
</span>
:class=
"[$q.platform.is.desktop?'':'writing-modes-vertical active']"
<div
class=
"absolute indexNavxcBox"
v-if=
"isMenu"
>
@
click=
"isMenu=true"
>
<div
class=
"relative"
style=
"height: 100vh;"
>
<div
class=
"row item-center q-py-md q-px-md"
>
<i
class=
"iconfont absolute indexNavxcIcon cursor-pointer"
style=
"right: 20px;top: 20px;font-size: 25px; "
<
template
v-if=
"$q.platform.is.desktop"
>
<span>
Search
</span>
<div
class=
"q-px-md"
><q-separator
style=
"height: 1px;width: 30px; margin: auto 0;background: rgba(225,225,225,.7);"
vertical
/></div>
</
template
>
<span>
行程日期搜索
</span>
</div>
</div>
<div
class=
"indexNavxcBox row item-center justify-center"
v-if=
"isMenu"
>
<div
class=
""
:class=
"[$q.platform.is.mobile?'indexNavxcBoxCenter':'']"
>
<i
class=
"iconfont absolute indexNavxcIcon cursor-pointer"
style=
"right: 20px;top: 20px;font-size: 38px; "
@
click
.
stop=
"isMenu=false"
>
×
</i>
@
click
.
stop=
"isMenu=false"
>
×
</i>
<div
class=
"q-pb-lg"
>
<div
class=
"q-pb-lg"
>
<div
class=
"text-center indexNavxcT"
>
<div
class=
"text-center indexNavxcT"
>
<p
class=
"font-serifEn text-stone q-pb-sm"
>
Travel Line
</p>
<p
class=
"font-serifEn text-stone q-pb-sm"
>
Search
</p>
<p
class=
"font-serif h3 text-gray-900"
>
<p
class=
"font-serif h3 text-gray-900"
>
<span
class=
"inline-block"
>
行程
线路
</span></p></div>
<span
class=
"inline-block"
>
行程
日期搜寻
</span></p></div>
</div>
</div>
<!--
<ul
class=
"q-px-sm row indexNavxcTitleM"
>
<div
class=
"indexNavxcBoxS"
<template
v-for=
"(item,index) in plugData.MenuList"
>
:class=
"[$q.platform.is.mobile?'active':'']"
>
<li
@
click=
"CurrentIndex=index"
>
{{
item
.
MenuName
}}
</li>
<div
class=
"column"
>
</
template
>
<p
class=
"fz15 opacity-50"
>
关键词
</p>
</ul>
-->
<q-input
<ul
class=
"row indexNavxcTM justify-center"
>
outlined
<
template
v-for=
"(item,index) in plugData.MenuList"
>
id=
"search_key"
<li
@
click
.
stop=
"OpenNewUrl(item.LinkUrl)"
>
{{
item
.
MenuName
}}
</li>
v-model=
"searchKey"
</
template
>
class=
"col"
</ul>
clearable
<ul
class=
"BottomListBox absolute row justify-center"
style=
"bottom: 0;"
>
label=
"搜尋目的地、景點、行程觀光或酒店名稱..."
<li
class=
"q-py-sm q-px-lg relative cursor-pointer"
v-for=
"(item,index) in plugData.BottomList"
@
focus=
"searchFocusHandler"
@
click
.
stop=
"OpenNewUrl(item.LinkUrl)"
v-if=
"item.LinkUrl"
>
@
blur=
"searchBlurHandler"
<a
class=
"text-grey-7 transition-base"
>
@
keyup
.
enter=
"goSearchHandler"
<span
class=
"text-xs font-serif tracking-1 pointer-events-none"
>
{{item.LinkTitle}}
</span>
clearable
</a>
/>
</li>
</div>
</ul>
<div
class=
""
:class=
"[$q.platform.is.mobile?'column':'row q-pt-md']"
>
<div
class=
"col column"
>
<p
class=
"fz15 opacity-50"
>
线路
</p>
<div>
<q-select
outlined
v-model=
"line"
:options=
"plugData.MenuList"
emit-value
map-options
option-label=
"MenuName"
option-value=
"MenuName"
@
input=
"getLine"
clearable
>
</q-select>
</div>
</div>
<
template
v-if=
"!isSeries&&SubMenuList.length>0"
>
<div
class=
"split-word q-pl-xs q-pr-xs full-height"
v-if=
"$q.platform.is.desktop"
>
</div>
<div
class=
"col column"
>
<p
class=
"fz15 opacity-50"
>
系列
</p>
<div>
<q-select
outlined
v-model=
"series"
:options=
"SubMenuList"
emit-value
map-options
option-label=
"MenuName"
option-value=
"MenuName"
@
input=
"getSeries"
clearable
>
</q-select>
</div>
</div>
</
template
>
</div>
<div
class=
""
:class=
"[$q.platform.is.mobile?'column':'row q-pt-md']"
v-if=
"isSeries"
>
<div
class=
"col column"
>
<p
class=
"fz15 opacity-50"
>
门票/住宿/交通
</p>
<div>
<q-select
outlined
v-model=
"type1"
:options=
"CategoryList"
emit-value
map-options
option-label=
"CategoryName"
option-value=
"Id"
@
input=
"getType1"
clearable
>
</q-select>
</div>
</div>
<
template
v-if=
"optionsList.length>0"
>
<div
class=
"split-word q-pl-xs q-pr-xs full-height"
v-if=
"$q.platform.is.desktop"
>
</div>
<div
class=
"col column"
:class=
"[$q.platform.is.mobile?'':'q-pt-md']"
>
<p
class=
"fz15 opacity-50"
>
分类
</p>
<div>
<q-select
outlined
v-model=
"type2"
:options=
"optionsList"
emit-value
map-options
option-label=
"CategoryName"
option-value=
"Id"
@
input=
"getType2"
clearable
>
</q-select>
</div>
</div>
</
template
>
</div>
<div
class=
"column"
:class=
"[$q.platform.is.mobile?'':'q-pt-md']"
>
<p
class=
"fz15 opacity-50"
>
出发时间
</p>
<div
class=
""
:class=
"[$q.platform.is.mobile?'column':'row item-center']"
>
<div
class=
"col"
>
<q-input
outlined
v-model=
"searchDate"
mask=
"date"
class=
""
clearable
>
<
template
v-slot:append
>
<q-icon
name=
"event"
class=
"cursor-pointer"
>
<q-popup-proxy
ref=
"qS3DateProxy"
>
<q-date
mask=
"YYYY-MM-DD"
subtitle=
"选择"
v-model=
"searchDate"
@
input=
"() => $refs.qS3DateProxy.hide()"
/>
</q-popup-proxy>
</q-icon>
</
template
>
</q-input>
</div>
<div
class=
"split-word q-pl-xs q-pr-xs full-height"
>
至
</div>
<div
class=
"col"
>
<q-input
outlined
v-model=
"searchEndDate"
mask=
"date"
class=
""
clearable
>
<
template
v-slot:append
>
<q-icon
name=
"event"
class=
"cursor-pointer"
>
<q-popup-proxy
ref=
"qS4DateProxy"
>
<q-date
mask=
"YYYY-MM-DD"
subtitle=
"选择"
v-model=
"searchEndDate"
@
input=
"() => $refs.qS4DateProxy.hide()"
/>
</q-popup-proxy>
</q-icon>
</
template
>
</q-input>
</div>
</div>
</div>
<div
class=
"row"
:class=
"[$q.platform.is.mobile?'':'q-pt-lg']"
>
<q-btn
unelevated
color=
"secondary"
label=
"搜 寻"
class=
"col q-mt-lg fz18"
@
click=
"goUrl"
/>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
</div>
</div>
</div>
</div>
...
@@ -147,6 +291,7 @@
...
@@ -147,6 +291,7 @@
</q-page>
</q-page>
</template>
</template>
<
script
>
<
script
>
import
{
date
}
from
'quasar'
export
default
{
export
default
{
props
:
[
'plugData'
,
'Current'
,
'windowWidth'
,
'top'
,
'currentHeight'
],
props
:
[
'plugData'
,
'Current'
,
'windowWidth'
,
'top'
,
'currentHeight'
],
data
()
{
data
()
{
...
@@ -159,6 +304,21 @@ export default {
...
@@ -159,6 +304,21 @@ export default {
slide
:
1
,
slide
:
1
,
autoplay
:
5000
,
autoplay
:
5000
,
FileUrlList
:
[],
FileUrlList
:
[],
searchKey
:
''
,
searchDate
:
""
,
searchEndDate
:
""
,
showSplitPannel
:
false
,
CategoryList
:
[],
optionsList
:
[],
SubMenuList
:
[],
line
:
''
,
lineUrl
:
''
,
series
:
''
,
seriesUrl
:
''
,
isSeries
:
false
,
type1
:
''
,
type2
:
''
,
LinkUrl
:
''
,
}
}
},
},
watch
:
{
watch
:
{
...
@@ -179,9 +339,118 @@ export default {
...
@@ -179,9 +339,118 @@ export default {
this
.
FileUrlList
.
push
(
x
.
FileUrl
)
this
.
FileUrlList
.
push
(
x
.
FileUrl
)
}
}
})
})
console
.
log
(
this
.
windowWidth
,
'---==='
)
if
(
localStorage
.
baseifo
)
{
var
jObj
=
JSON
.
parse
(
window
.
localStorage
.
getItem
(
'baseifo'
))
this
.
CategoryList
=
jObj
.
CategoryList
this
.
CategoryList
.
splice
(
0
,
1
)
}
},
},
methods
:
{
methods
:
{
goUrl
(){
let
URL
=
''
if
(
this
.
LinkUrl
)
{
URL
=
`
${
this
.
LinkUrl
.
indexOf
(
'/#/searchProduct'
)
!=-
1
?
this
.
LinkUrl
:
this
.
LinkUrl
+
'?'
}${
this
.
searchKey
?
'&qsearchKey='
+
this
.
searchKey
:
''
}${
this
.
searchDate
?
'&qsearchDate='
+
this
.
searchDate
:
''
}${
this
.
searchEndDate
?
'&qsearchEndDate='
+
this
.
searchEndDate
:
''
}${
this
.
type1
&&
this
.
type2
?
'&categoryId='
+
this
.
type2
:
this
.
type1
&&!
this
.
type2
?
'&categoryId='
+
this
.
type1
:
''
}
`
console
.
log
(
URL
,
'----'
)
this
.
OpenNewUrl
(
URL
)
}
else
{
this
.
OpenNewUrl
(
'http://www.oytour.com/#/searchProduct'
)
// this.CommonJump('/searchProduct',{})
// setTimeout(()=>{
// window.location.reload()
// },300)
}
},
getType2
(
e
){
console
.
log
(
this
.
type2
,
'----type2222222'
)
},
getType1
(
e
){
this
.
optionsList
=
[]
console
.
log
(
this
.
type1
,
'----type111111'
)
let
list
=
this
.
CategoryList
.
filter
(
x
=>
{
if
(
x
.
Id
==
e
){
this
.
lineUrl
=
x
.
LinkUrl
return
x
.
Id
==
e
}
})
let
obj
=
{
BackgroundImage
:
""
,
CategoryName
:
"不限"
,
Icon
:
""
,
Id
:
''
,
IsHot
:
''
,
IsSelfGuidedTour
:
''
,
Level
:
0
,
LinkUrl
:
''
,
ParentId
:
0
,
Sort
:
0
,
SubList
:
null
}
if
(
list
[
0
].
SubList
[
0
].
CategoryName
!=
'不限'
)
list
[
0
].
SubList
.
unshift
(
obj
)
this
.
optionsList
=
list
[
0
].
SubList
},
getSeries
(
e
){
let
list
=
this
.
SubMenuList
.
filter
(
x
=>
{
if
(
x
.
MenuName
==
e
){
this
.
LinkUrl
=
this
.
seriesUrl
=
x
.
LinkUrl
console
.
log
(
this
.
LinkUrl
,
'----222'
)
if
(
x
.
LinkUrl
.
indexOf
(
'/#/searchProduct'
)
!=-
1
)
{
this
.
isSeries
=
false
}
else
if
(
x
.
LinkUrl
)
{
this
.
isSeries
=
true
}
else
{
this
.
LinkUrl
=
this
.
lineUrl
}
return
x
.
MenuName
==
e
}
})
console
.
log
(
this
.
LinkUrl
,
'----'
)
},
getLine
(
e
){
this
.
SubMenuList
=
[]
this
.
optionsList
=
[]
this
.
isSeries
=
false
this
.
series
=
'不限'
this
.
seriesUrl
=
''
this
.
type1
=
''
this
.
type2
=
''
let
list
=
this
.
plugData
.
MenuList
.
filter
(
x
=>
{
if
(
x
.
MenuName
==
e
){
this
.
LinkUrl
=
this
.
lineUrl
=
x
.
LinkUrl
console
.
log
(
this
.
LinkUrl
,
'----11111'
)
if
(
x
.
LinkUrl
.
indexOf
(
'/#/searchProduct'
)
!=-
1
)
{
this
.
isSeries
=
false
}
else
if
(
x
.
LinkUrl
)
{
this
.
isSeries
=
true
}
return
x
.
MenuName
==
e
}
})
let
obj
=
{
FileType
:
''
,
FileUrl
:
''
,
LinkTitle
:
''
,
LinkUrl
:
''
,
MenuName
:
'不限'
,
MenuSubName
:
''
,
SubMenuList
:
null
,
}
if
(
list
.
length
>
0
&&
list
[
0
].
SubMenuList
[
0
].
MenuName
!=
'不限'
)
list
[
0
].
SubMenuList
.
unshift
(
obj
)
if
(
list
.
length
>
0
)
this
.
SubMenuList
=
list
[
0
].
SubMenuList
},
searchFocusHandler
()
{
if
(
this
.
searchKey
==
""
)
{
setTimeout
(()
=>
{
this
.
showSplitPannel
=
true
;
},
200
);
}
},
searchBlurHandler
()
{
//this.showSplitPannel = false;
},
handleMouseEnter
(
$event
,
index
){
handleMouseEnter
(
$event
,
index
){
this
.
oldCoverImg
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
coverImg
))
this
.
oldCoverImg
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
coverImg
))
if
(
this
.
CurrentIndex
==
index
)
return
if
(
this
.
CurrentIndex
==
index
)
return
...
@@ -203,7 +472,41 @@ export default {
...
@@ -203,7 +472,41 @@ export default {
}
}
}
}
</
script
>
</
script
>
<
style
scoped
>
::v-deep
.indexNavxcBoxS
.q-field__control
{
height
:
45px
;
}
::v-deep
.indexNavxcBoxS
.q-field--auto-height
.q-field__native
{
min-height
:
45px
;
}
::v-deep
.indexNavxcBoxS
.q-field--auto-height
.q-field__control
{
min-height
:
45px
;
}
/* ::v-deep .indexNavxcBoxS.active .q-field__control{
height:40px;
}
::v-deep .indexNavxcBoxS.active .q-field--auto-height .q-field__native{
min-height: 40px;
}
::v-deep .indexNavxcBoxS.active .q-field--auto-height .q-field__control{
min-height: 40px;
} */
</
style
>
<
style
lang=
"scss"
>
<
style
lang=
"scss"
>
.indexNavxcBoxCenter
{
width
:
90%
;
}
.indexNavxcBoxS
{
width
:
750px
;
padding
:
60px
80px
;
border-radius
:
10px
;
margin
:
auto
;
background
:
#fff
;
}
.indexNavxcBoxS.active
{
width
:
100%
;
padding
:
20px
10px
;
}
.indexNavxcTitleM
{
.indexNavxcTitleM
{
font-size
:
15px
;
font-size
:
15px
;
}
}
...
@@ -226,25 +529,29 @@ export default {
...
@@ -226,25 +529,29 @@ export default {
color
:
$secondary
;
color
:
$secondary
;
}
}
.indexNavxcBox
{
.indexNavxcBox
{
position
:
fixed
;
top
:
0
;
top
:
0
;
left
:
0
;
left
:
0
;
right
:
0
;
right
:
0
;
bottom
:
0
;
bottom
:
0
;
z-index
:
4
;
z-index
:
3
;
background
:
#
fff
;
background
:
#
eee
;
}
}
.indexNavxcText
{
.indexNavxcText
{
right
:
0
;
top
:
50%
;
z-index
:
3
;
z-index
:
3
;
letter-spacing
:
3px
;
background
:
$secondary
;
background
:
$secondary
;
padding
:
8px
8px
;
padding
:
8px
8px
;
color
:
#fff
;
color
:
#fff
;
top
:
0
;
right
:
0
;
}
.indexNavxcText.active
{
top
:
40%
;
letter-spacing
:
3px
;
}
}
@media
only
screen
and
(
max-width
:
1280px
)
{
@media
only
screen
and
(
max-width
:
1280px
)
{
.carousel1-left
{
.carousel1-left
{
display
:
none
;
}
}
}
}
.indexNavForm
{
.indexNavForm
{
...
@@ -259,10 +566,11 @@ export default {
...
@@ -259,10 +566,11 @@ export default {
}
}
.carousel1-leftImg
{
.carousel1-leftImg
{
width
:
80px
;
display
:
block
;
display
:
block
;
}
}
.MenuListBox
{
.MenuListBox
{
padding
:
0
4
0px
;
padding
:
0
6
0px
;
}
}
.MenuListBox
li
{
.MenuListBox
li
{
width
:
81px
;
width
:
81px
;
...
@@ -289,14 +597,13 @@ export default {
...
@@ -289,14 +597,13 @@ export default {
transition
:
all
.4s
;
transition
:
all
.4s
;
opacity
:
0
;
opacity
:
0
;
background-color
:
$primary
;
background-color
:
$primary
;
z-index
:
3
;
}
}
.SubMenuListBox.active
{
.SubMenuListBox.active
{
opacity
:
1
;
opacity
:
1
;
}
}
.MenuListItem.active
{
.MenuListItem.active
{
opacity
:
1
;
opacity
:
1
;
bottom
:
-
8px
;
bottom
:
-
.6rem
;
}
}
.MenuListLi.active
.SubMenuListBox
{
.MenuListLi.active
.SubMenuListBox
{
position
:
absolute
;
position
:
absolute
;
...
@@ -325,7 +632,7 @@ export default {
...
@@ -325,7 +632,7 @@ export default {
}
}
.SubMenuListText
{
.SubMenuListText
{
width
:
39px
;
width
:
39px
;
letter-spacing
:
normal
;
letter-spacing
:
4px
;
line-height
:
23px
;
line-height
:
23px
;
color
:
rgb
(
255
,
255
,
255
);
color
:
rgb
(
255
,
255
,
255
);
transition
:
all
.5s
;
transition
:
all
.5s
;
...
@@ -379,6 +686,6 @@ export default {
...
@@ -379,6 +686,6 @@ export default {
z-index
:
2
;
z-index
:
2
;
}
}
.MBgColorImg
{
.MBgColorImg
{
width
:
7
.
5rem
;
width
:
5rem
;
}
}
</
style
>
</
style
>
src/components/home/indexRoll1.vue
View file @
1e782eeb
<
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="Open
NewUrl(item.LinkUrl)" @mouseover.stop.prevent="getINdex(index)"
>
style="border-radius:10px;" @click.stop="Open
Url(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=
"Open
NewUrl(item.LinkUrl
)"
class=
""
>
@
click
.
stop=
"Open
Url(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=
"Open
NewUrl(item.LinkUrl
)"
/>
allowfullscreen
@
click
.
stop=
"Open
Url(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
,
'====='
)
}
}
}
}
}
}
...
...
src/components/home/indexRoll2.vue
View file @
1e782eeb
...
@@ -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"
>
</div>
<div
class=
"swipercomTvR2Bj absolute"
>
</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
{
...
...
src/components/home/indexSlider.vue
View file @
1e782eeb
<
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
;
}
}
...
...
src/components/home/mouse.vue
View file @
1e782eeb
...
@@ -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
);
...
...
src/components/navs/newHor-btm.vue
View file @
1e782eeb
...
@@ -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)"
...
...
src/css/app.scss
View file @
1e782eeb
...
@@ -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
;
}
src/layouts/HomeLayout.vue
View file @
1e782eeb
...
@@ -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' : ''"
>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment