Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
E
exhibition_page
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
龙菲
exhibition_page
Commits
dcba3a6d
提交
dcba3a6d
authored
12月 20, 2022
作者:
龙菲
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
首页更新
上级
664acb4a
隐藏空白字符变更
内嵌
并排
正在显示
10 个修改的文件
包含
516 行增加
和
180 行删除
+516
-180
组12.png
src/assets/imgs/home-new/组12.png
+0
-0
组20.png
src/assets/imgs/home-new/组20.png
+0
-0
variable.scss
src/assets/styles/variable.scss
+1
-1
index.vue
src/components/NavBar/index.vue
+176
-93
CulturalRelic.vue
src/views/home/components/CulturalRelic.vue
+93
-35
Display.vue
src/views/home/components/Display.vue
+66
-23
MuseumMap.vue
src/views/home/components/MuseumMap.vue
+126
-26
index.vue
src/views/home/index.vue
+2
-2
tempCr.json
src/views/home/tempCr.json
+52
-0
tempDisplay.json
src/views/home/tempDisplay.json
+0
-0
没有找到文件。
src/assets/imgs/home-new/组12.png
deleted
100644 → 0
浏览文件 @
664acb4a
4.4 KB
src/assets/imgs/home-new/组20.png
deleted
100644 → 0
浏览文件 @
664acb4a
538 Bytes
src/assets/styles/variable.scss
浏览文件 @
dcba3a6d
...
@@ -10,6 +10,6 @@ $font-size-sm:14px;
...
@@ -10,6 +10,6 @@ $font-size-sm:14px;
$font-size-base
:
16px
;
$font-size-base
:
16px
;
$font-size-lg
:
22px
;
$font-size-lg
:
22px
;
$nav-height
:
1
2
0px
;
$nav-height
:
1
3
0px
;
$defaultFontFamily
:
Avenir
,
Helvetica
Neue
,
Arial
,
Helvetica
,
sans-serif
;
$defaultFontFamily
:
Avenir
,
Helvetica
Neue
,
Arial
,
Helvetica
,
sans-serif
;
src/components/NavBar/index.vue
浏览文件 @
dcba3a6d
<
template
>
<
template
>
<div
:class=
"
{
<div
:class=
"
{
nav: true,
nav: true,
'header-absolute': isAbsolute,
'header-absolute': isAbsolute,
'header-fixed ': isFixed,
'header-fixed ': isFixed,
...
@@ -11,7 +12,9 @@
...
@@ -11,7 +12,9 @@
isSMGZ: navbarStyle == '5'
&&
isFixed,
isSMGZ: navbarStyle == '5'
&&
isFixed,
isJYYCC: navbarStyle == '6'
&&
isFixed,
isJYYCC: navbarStyle == '6'
&&
isFixed,
isYLGDYW: navbarStyle == '7'
&&
isFixed,
isYLGDYW: navbarStyle == '7'
&&
isFixed,
}" id="navbar">
}"
id="navbar"
>
<div
class=
"container"
>
<div
class=
"container"
>
<div
class=
"logo-container animate__animated animate__fadeInLeft"
>
<div
class=
"logo-container animate__animated animate__fadeInLeft"
>
<img
src=
"@/assets/imgs/home/logo3.png"
/>
<img
src=
"@/assets/imgs/home/logo3.png"
/>
...
@@ -19,12 +22,23 @@
...
@@ -19,12 +22,23 @@
</div>
</div>
<div
class=
"right"
>
<div
class=
"right"
>
<div
class=
"tabs animate__animated animate__fadeInUp"
>
<div
class=
"tabs animate__animated animate__fadeInUp"
>
<div
class=
"tab-item"
:class=
"
{
<div
activeHome: currentTab.name == item.name
&&
isHome,
class=
"tab-item"
:class=
"
{
active: currentTab.name == item.name,
active: currentTab.name == item.name,
}" v-for="(item, index) in pages" :key="index" @click="handleClickTab(item)" @mouseenter="handleEnterTabItem(item)" @mouseleave="handleLeaveTabItem(item)">
}"
v-for="(item, index) in pages"
:key="index"
@click="handleClickTab(item)"
@mouseenter="handleEnterTabItem(item)"
@mouseleave="handleLeaveTabItem(item)"
>
<span
@
click=
"handleToPage(item.path)"
>
{{
item
.
name
}}
</span>
<span
@
click=
"handleToPage(item.path)"
>
{{
item
.
name
}}
</span>
<i
v-if=
"item.name == '陈列展览'"
class=
"el-icon-arrow-down"
style=
"transform: translate(30%, 30%); cursor: pointer"
></i>
<i
v-if=
"item.name == '陈列展览'"
:class=
"currentTab.name=='陈列展览'?'el-icon-arrow-up':'el-icon-arrow-down'"
style=
"transform: translate(30%, 30%); cursor: pointer"
></i>
</div>
</div>
</div>
</div>
<div
class=
"tools animate__animated animate__fadeInRight"
>
<div
class=
"tools animate__animated animate__fadeInRight"
>
...
@@ -36,10 +50,19 @@
...
@@ -36,10 +50,19 @@
<!--
<i
class=
"el-icon-arrow-down el-icon--right"
></i>
-->
<!--
<i
class=
"el-icon-arrow-down el-icon--right"
></i>
-->
</el-button>
</el-button>
<el-dropdown-menu
slot=
"dropdown"
>
<el-dropdown-menu
slot=
"dropdown"
>
<el-dropdown-item
v-if=
"!hasToken"
@
click
.
native=
"handleToLogin"
class=
"operation-item"
>
登录
<el-dropdown-item
v-if=
"!hasToken"
@
click
.
native=
"handleToLogin"
class=
"operation-item"
>
登录
</el-dropdown-item>
</el-dropdown-item>
<el-dropdown-item
v-if=
"hasToken"
class=
"operation-item"
@
click
.
native=
"handleToPersonal"
>
<el-dropdown-item
个人中心
</el-dropdown-item>
v-if=
"hasToken"
class=
"operation-item"
@
click
.
native=
"handleToPersonal"
>
个人中心
</el-dropdown-item
>
<el-dropdown-item
v-if=
"hasToken"
@
click
.
native=
"handleLogOut"
>
<el-dropdown-item
v-if=
"hasToken"
@
click
.
native=
"handleLogOut"
>
<span>
退出
</span>
<span>
退出
</span>
</el-dropdown-item>
</el-dropdown-item>
...
@@ -49,14 +72,27 @@
...
@@ -49,14 +72,27 @@
</div>
</div>
</div>
</div>
</div>
</div>
<transition
name=
"el-zoom-in-top"
>
<!-- 加特效会有抖动 -->
<div
class=
"submenu"
v-show=
"showSubMenu"
@
mouseenter=
"handleEnterSubmenu"
@
mouseleave=
"handleMouseLeaveSubMenu"
>
<!--
<transition
name=
"el-zoom-in-top"
>
-->
<ul>
<div
<li
v-for=
"(item, index) in typeList"
:key=
"index"
@
click=
"handleToPage('/display/', item.value, true)"
>
class=
"submenu"
<span>
{{
item
.
label
}}
</span>
v-show=
"showSubMenu"
<svg-icon
icon-class=
"wenshi"
v-if=
"index != typeList.length - 1"
></svg-icon>
@
mouseenter=
"handleEnterSubmenu"
</li>
@
mouseleave=
"handleMouseLeaveSubMenu"
<!--
<li>
>
<ul>
<li
v-for=
"(item, index) in typeList"
:key=
"index"
@
click=
"handleToPage('/display/', item.value, true)"
>
<span>
{{
item
.
label
}}
</span>
<svg-icon
icon-class=
"wenshi"
v-if=
"index != typeList.length - 1"
></svg-icon>
</li>
<!--
<li>
<span
@
click=
"handleToPage('/display', true)"
>
基本陈列
</span>
<span
@
click=
"handleToPage('/display', true)"
>
基本陈列
</span>
<svg-icon
icon-class=
"wenshi"
></svg-icon>
<svg-icon
icon-class=
"wenshi"
></svg-icon>
</li>
</li>
...
@@ -65,43 +101,95 @@
...
@@ -65,43 +101,95 @@
<svg-icon
icon-class=
"wenshi"
></svg-icon>
<svg-icon
icon-class=
"wenshi"
></svg-icon>
</li>
</li>
<li><span
@
click=
"handleToPage('/virtual', true)"
>
虚拟展厅
</span></li>
-->
<li><span
@
click=
"handleToPage('/virtual', true)"
>
虚拟展厅
</span></li>
-->
</ul>
</ul>
</div>
</div>
</transition>
<!--
</transition>
-->
<el-dialog
:visible
.
sync=
"loginVisible"
append-to-body
v-loading=
"loading"
element-loading-background=
"rgba(0, 0, 0, 0.5)"
:element-loading-text=
"loadingText"
:before-close=
"handleCloseLogin"
>
<el-dialog
:visible
.
sync=
"loginVisible"
append-to-body
v-loading=
"loading"
element-loading-background=
"rgba(0, 0, 0, 0.5)"
:element-loading-text=
"loadingText"
:before-close=
"handleCloseLogin"
>
<div
slot=
"title"
class=
"login-title"
>
<div
slot=
"title"
class=
"login-title"
>
<div
:class=
"['title-item', isLoginByUsername ? 'active' : '']"
@
click=
"handleChangeLoginWay('username')"
>
<div
:class=
"['title-item', isLoginByUsername ? 'active' : '']"
@
click=
"handleChangeLoginWay('username')"
>
账号登录
账号登录
</div>
</div>
<div
:class=
"['title-item', isLoginByUsername ? '' : 'active']"
@
click=
"handleChangeLoginWay('phone')"
>
<div
:class=
"['title-item', isLoginByUsername ? '' : 'active']"
@
click=
"handleChangeLoginWay('phone')"
>
手机号登录
手机号登录
</div>
</div>
<div
class=
"line"
></div>
<div
class=
"line"
></div>
</div>
</div>
<div
class=
"login"
>
<div
class=
"login"
>
<el-form
:model=
"loginForm"
:label-position=
"labelPosition"
ref=
"loginForm"
:rules=
"loginRules"
>
<el-form
:model=
"loginForm"
:label-position=
"labelPosition"
ref=
"loginForm"
:rules=
"loginRules"
>
<el-form-item
:label-width=
"formLabelWidth"
prop=
"account"
>
<el-form-item
:label-width=
"formLabelWidth"
prop=
"account"
>
<el-input
v-model=
"loginForm.account"
autocomplete=
"off"
clearable
:placeholder=
"isLoginByUsername ? '账号' : '手机号'"
></el-input>
<el-input
v-model=
"loginForm.account"
autocomplete=
"off"
clearable
:placeholder=
"isLoginByUsername ? '账号' : '手机号'"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
:label-width=
"formLabelWidth"
prop=
"password"
>
<el-form-item
:label-width=
"formLabelWidth"
prop=
"password"
>
<el-input
v-model=
"loginForm.password"
autocomplete=
"off"
type=
"password"
clearable
show-password
placeholder=
"密码"
></el-input>
<el-input
v-model=
"loginForm.password"
autocomplete=
"off"
type=
"password"
clearable
show-password
placeholder=
"密码"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
:label-width=
"formLabelWidth"
>
<el-form-item
:label-width=
"formLabelWidth"
>
<el-row
:gutter=
"10"
>
<el-row
:gutter=
"10"
>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
prop=
"captcha"
>
<el-form-item
prop=
"captcha"
>
<el-input
ref=
"captcha"
v-model=
"loginForm.captcha"
placeholder=
"请输入验证码"
name=
"captcha"
tabindex=
"3"
auto-complete=
"on"
@
keyup
.
enter
.
native=
"handleLoginSubmit"
/>
<el-input
ref=
"captcha"
v-model=
"loginForm.captcha"
placeholder=
"请输入验证码"
name=
"captcha"
tabindex=
"3"
auto-complete=
"on"
@
keyup
.
enter
.
native=
"handleLoginSubmit"
/>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"12"
class=
"captcha"
>
<el-col
:span=
"12"
class=
"captcha"
>
<img
v-if=
"requestCodeSuccess"
:src=
"captchaImgSrc"
@
click=
"handleGetCaptcha"
/>
<img
<img
v-else
src=
"@/assets/404_images/checkcode.png"
@
click=
"handleGetCaptcha"
/>
v-if=
"requestCodeSuccess"
:src=
"captchaImgSrc"
@
click=
"handleGetCaptcha"
/>
<img
v-else
src=
"@/assets/404_images/checkcode.png"
@
click=
"handleGetCaptcha"
/>
</el-col>
</el-col>
</el-row>
</el-row>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
<div
class=
"opration"
>
<div
class=
"opration"
>
<el-button
round
@
click=
"handleLoginSubmit"
size=
"small"
class=
"loginBtn"
>
登 陆
</el-button>
<el-button
round
@
click=
"handleLoginSubmit"
size=
"small"
class=
"loginBtn"
>
登 陆
</el-button
>
<div
class=
"register"
@
click=
"handleToRegister"
>
注册
</div>
<div
class=
"register"
@
click=
"handleToRegister"
>
注册
</div>
</div>
</div>
</div>
</div>
...
@@ -124,7 +212,7 @@ export default {
...
@@ -124,7 +212,7 @@ export default {
"showLoginDialog"
,
"showLoginDialog"
,
"navbarStyle"
,
"navbarStyle"
,
]),
]),
hasToken
()
{
hasToken
()
{
return
this
.
token
;
return
this
.
token
;
},
},
},
},
...
@@ -173,22 +261,22 @@ export default {
...
@@ -173,22 +261,22 @@ export default {
},
},
immediate
:
true
,
immediate
:
true
,
},
},
navBarFixed
(
value
)
{
navBarFixed
(
value
)
{
console
.
log
(
"navBarFixed"
,
value
);
console
.
log
(
"navBarFixed"
,
value
);
},
},
showLoginDialog
(
value
)
{
showLoginDialog
(
value
)
{
this
.
loginVisible
=
value
;
this
.
loginVisible
=
value
;
},
},
loginVisible
(
value
)
{
loginVisible
(
value
)
{
if
(
value
)
{
if
(
value
)
{
this
.
handleGetCaptcha
();
this
.
handleGetCaptcha
();
}
}
},
},
'$route.path'
(
cur
)
{
"$route.path"
(
cur
)
{
this
.
getAbsolute
(
cur
)
this
.
getAbsolute
(
cur
)
;
}
}
,
},
},
data
()
{
data
()
{
var
validateAccout
=
(
rule
,
value
,
callback
)
=>
{
var
validateAccout
=
(
rule
,
value
,
callback
)
=>
{
if
(
value
===
""
)
{
if
(
value
===
""
)
{
let
text
=
this
.
isLoginByUsername
?
"账号"
:
"手机号"
;
let
text
=
this
.
isLoginByUsername
?
"账号"
:
"手机号"
;
...
@@ -290,10 +378,10 @@ export default {
...
@@ -290,10 +378,10 @@ export default {
value
:
""
,
value
:
""
,
},
},
],
],
isAbsolute
:
true
isAbsolute
:
true
,
};
};
},
},
mounted
()
{
mounted
()
{
window
.
addEventListener
(
"scroll"
,
this
.
initHeight
);
window
.
addEventListener
(
"scroll"
,
this
.
initHeight
);
this
.
$nextTick
(()
=>
{
this
.
$nextTick
(()
=>
{
...
@@ -303,20 +391,20 @@ export default {
...
@@ -303,20 +391,20 @@ export default {
});
});
this
.
loadDisplayTypeList
();
this
.
loadDisplayTypeList
();
let
path
=
this
.
$route
.
path
let
path
=
this
.
$route
.
path
;
this
.
getAbsolute
(
path
)
this
.
getAbsolute
(
path
)
;
},
},
methods
:
{
methods
:
{
getAbsolute
(
path
)
{
getAbsolute
(
path
)
{
let
arr
=
path
.
split
(
'/'
)
let
arr
=
path
.
split
(
"/"
);
console
.
log
(
'path'
,
path
)
console
.
log
(
"path"
,
path
);
if
(
path
.
indexOf
(
'/display'
)
===
0
&&
arr
.
length
===
4
)
{
if
(
path
.
indexOf
(
"/display"
)
===
0
&&
arr
.
length
===
4
)
{
this
.
isAbsolute
=
false
this
.
isAbsolute
=
false
;
}
else
{
}
else
{
this
.
isAbsolute
=
true
this
.
isAbsolute
=
true
;
}
}
},
},
initHeight
()
{
initHeight
()
{
let
scrollTop
=
let
scrollTop
=
window
.
pageYOffset
||
window
.
pageYOffset
||
document
.
documentElement
.
scrollTop
||
document
.
documentElement
.
scrollTop
||
...
@@ -324,20 +412,20 @@ export default {
...
@@ -324,20 +412,20 @@ export default {
this
.
isFixed
=
scrollTop
>
this
.
offsetTop
?
true
:
false
;
this
.
isFixed
=
scrollTop
>
this
.
offsetTop
?
true
:
false
;
},
},
handleToRegister
()
{
handleToRegister
()
{
this
.
$router
.
push
(
"/register?redirect="
+
this
.
$route
.
fullPath
);
this
.
$router
.
push
(
"/register?redirect="
+
this
.
$route
.
fullPath
);
this
.
handleCloseLogin
();
this
.
handleCloseLogin
();
},
},
handleToLogin
()
{
handleToLogin
()
{
this
.
loginVisible
=
true
;
this
.
loginVisible
=
true
;
},
},
handleToPersonal
()
{
handleToPersonal
()
{
this
.
$router
.
push
(
"/personal"
);
this
.
$router
.
push
(
"/personal"
);
},
},
async
handleLogOut
()
{
async
handleLogOut
()
{
this
.
$confirm
(
"是否确定退出?"
,
"提示"
,
{
this
.
$confirm
(
"是否确定退出?"
,
"提示"
,
{
confirmButtonText
:
"确定"
,
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
cancelButtonText
:
"取消"
,
...
@@ -356,11 +444,11 @@ export default {
...
@@ -356,11 +444,11 @@ export default {
});
});
},
},
handleClickTab
(
tab
)
{
handleClickTab
(
tab
)
{
this
.
currentTab
=
tab
;
this
.
currentTab
=
tab
;
},
},
handleLoginSubmit
()
{
handleLoginSubmit
()
{
this
.
$refs
.
loginForm
.
validate
((
valid
)
=>
{
this
.
$refs
.
loginForm
.
validate
((
valid
)
=>
{
if
(
valid
)
{
if
(
valid
)
{
// debugger
// debugger
...
@@ -401,7 +489,7 @@ export default {
...
@@ -401,7 +489,7 @@ export default {
});
});
},
},
handleCloseLogin
()
{
handleCloseLogin
()
{
this
.
loginVisible
=
false
;
this
.
loginVisible
=
false
;
this
.
$refs
[
"loginForm"
].
resetFields
;
this
.
$refs
[
"loginForm"
].
resetFields
;
if
(
this
.
showLoginDialog
)
{
if
(
this
.
showLoginDialog
)
{
...
@@ -409,7 +497,7 @@ export default {
...
@@ -409,7 +497,7 @@ export default {
}
}
},
},
handleGetCaptcha
()
{
handleGetCaptcha
()
{
this
.
currdatetime
=
new
Date
().
getTime
();
this
.
currdatetime
=
new
Date
().
getTime
();
getVerify
()
getVerify
()
.
then
((
res
)
=>
{
.
then
((
res
)
=>
{
...
@@ -422,7 +510,7 @@ export default {
...
@@ -422,7 +510,7 @@ export default {
});
});
},
},
handleChangeLoginWay
(
type
)
{
handleChangeLoginWay
(
type
)
{
this
.
isLoginByUsername
=
type
===
"username"
;
this
.
isLoginByUsername
=
type
===
"username"
;
let
line
=
document
.
getElementsByClassName
(
"line"
)[
0
];
let
line
=
document
.
getElementsByClassName
(
"line"
)[
0
];
if
(
this
.
isLoginByUsername
)
{
if
(
this
.
isLoginByUsername
)
{
...
@@ -432,7 +520,7 @@ export default {
...
@@ -432,7 +520,7 @@ export default {
}
}
},
},
handleToPage
(
path
,
type
,
isOpenNewPage
)
{
handleToPage
(
path
,
type
,
isOpenNewPage
)
{
if
(
path
)
{
if
(
path
)
{
if
(
isOpenNewPage
)
{
if
(
isOpenNewPage
)
{
const
newPage
=
this
.
$router
.
resolve
({
const
newPage
=
this
.
$router
.
resolve
({
...
@@ -448,41 +536,40 @@ export default {
...
@@ -448,41 +536,40 @@ export default {
}
}
},
},
handleEnterTabItem
(
item
)
{
handleEnterTabItem
(
item
)
{
if
(
item
.
name
==
"陈列展览"
)
{
if
(
item
.
name
==
"陈列展览"
)
{
this
.
showSubMenu
=
true
;
this
.
showSubMenu
=
true
;
}
}
},
},
handleLeaveTabItem
(
item
)
{
handleLeaveTabItem
(
item
)
{
if
(
item
.
name
==
"陈列展览"
&&
this
.
showSubMenu
)
{
if
(
item
.
name
==
"陈列展览"
&&
this
.
showSubMenu
)
{
this
.
showSubMenu
=
false
;
this
.
showSubMenu
=
false
;
}
}
},
},
handleEnterSubmenu
()
{
handleEnterSubmenu
()
{
if
(
!
this
.
showSubMenu
)
{
if
(
!
this
.
showSubMenu
)
{
this
.
showSubMenu
=
true
;
this
.
showSubMenu
=
true
;
}
}
},
},
handleMouseLeaveSubMenu
()
{
handleMouseLeaveSubMenu
()
{
if
(
this
.
showSubMenu
)
{
if
(
this
.
showSubMenu
)
{
this
.
showSubMenu
=
false
;
this
.
showSubMenu
=
false
;
}
}
},
},
async
loadDisplayTypeList
()
{
async
loadDisplayTypeList
()
{
let
res
=
await
getDisplayExistDict
();
let
res
=
await
getDisplayExistDict
();
// debugger
// debugger
this
.
typeList
=
[...
this
.
typeList
,
...
res
.
data
.
typeList
];
this
.
typeList
=
[...
this
.
typeList
,
...
res
.
data
.
typeList
];
},
},
},
},
destroyed
()
{
destroyed
()
{
window
.
removeEventListener
(
"scroll"
,
this
.
initHeight
);
window
.
removeEventListener
(
"scroll"
,
this
.
initHeight
);
},
},
};
};
</
script
>
</
script
>
...
@@ -534,17 +621,13 @@ export default {
...
@@ -534,17 +621,13 @@ export default {
}
}
.nav
{
.nav
{
height
:
120px
;
height
:
$nav-height
;
width
:
100%
;
width
:
100%
;
transition
:
all
0
.5s
ease
;
transition
:
all
0
.5s
ease
;
background-color
:
$themeColor
;
background-color
:
$themeColor
;
// background-color: rgba(0, 0, 0, 0.3);
position
:
relative
;
position
:
relative
;
z-index
:
99
;
z-index
:
99
;
// background-color: #fff;
// background-image: url('@/assets/imgs/home/panel-bg.png');
box-shadow
:
rgba
(
0
,
0
,
0
,
0
.3
)
0
1px
5px
0px
;
box-shadow
:
rgba
(
0
,
0
,
0
,
0
.3
)
0
1px
5px
0px
;
// padding: 10px 0;
padding-top
:
10px
;
padding-top
:
10px
;
.container
{
.container
{
width
:
100%
;
width
:
100%
;
...
@@ -557,7 +640,7 @@ export default {
...
@@ -557,7 +640,7 @@ export default {
.logo-container
{
.logo-container
{
display
:
flex
;
display
:
flex
;
align-items
:
center
;
align-items
:
center
;
margin-bottom
:
16px
;
img
{
img
{
width
:
50px
;
width
:
50px
;
height
:
50px
;
height
:
50px
;
...
@@ -568,7 +651,7 @@ export default {
...
@@ -568,7 +651,7 @@ export default {
.name
{
.name
{
font-size
:
30px
;
font-size
:
30px
;
font-weight
:
bold
;
font-weight
:
bold
;
font-family
:
'SourceHanSerifCN-Bold'
;
font-family
:
"SourceHanSerifCN-Bold"
;
color
:
#fff
;
color
:
#fff
;
margin-left
:
8px
;
margin-left
:
8px
;
}
}
...
@@ -578,33 +661,29 @@ export default {
...
@@ -578,33 +661,29 @@ export default {
display
:
flex
;
display
:
flex
;
height
:
100%
;
height
:
100%
;
align-items
:
center
;
align-items
:
center
;
.tabs
{
.tabs
{
display
:
flex
;
display
:
flex
;
// margin-right: 80px;
min-width
:
900px
;
min-width
:
900px
;
height
:
100%
;
height
:
100%
;
justify-content
:
space-between
;
justify-content
:
space-between
;
.tab-item
{
.tab-item
{
// margin-right: 70px;
color
:
#fff
;
color
:
#fff
;
display
:
flex
;
display
:
flex
;
align-items
:
center
;
align-items
:
center
;
font-family
:
'Alibaba-PuHuiTi'
;
font-family
:
"Alibaba-PuHuiTi"
;
position
:
relative
;
position
:
relative
;
height
:
100%
;
height
:
100%
;
text-align
:
center
;
text-align
:
center
;
padding-bottom
:
16px
;
&
:
:
after
{
&
:
:
after
{
position
:
absolute
;
position
:
absolute
;
content
:
''
;
content
:
""
;
left
:
50%
;
left
:
50%
;
bottom
:
0
;
bottom
:
0
;
transform
:
translateX
(
-50%
);
transform
:
translateX
(
-50%
);
width
:
0
;
width
:
0
;
height
:
0
;
height
:
0
;
border
:
8px
solid
#fff
;
border
:
8px
solid
rgba
(
#000
,
0
.3
)
;
border-left
:
8px
solid
transparent
;
border-left
:
8px
solid
transparent
;
border-right
:
8px
solid
transparent
;
border-right
:
8px
solid
transparent
;
border-top
:
8px
solid
transparent
;
border-top
:
8px
solid
transparent
;
...
@@ -616,22 +695,28 @@ export default {
...
@@ -616,22 +695,28 @@ export default {
opacity
:
1
;
opacity
:
1
;
}
}
&
:hover
{
cursor
:
pointer
;
color
:
#f5c872
;
&
>
i
{
color
:
#f5c872
;
transform
:
rotate
(
180deg
);
}
}
&
>
span
{
&
>
span
{
transform
:
translateY
(
4px
);
transform
:
translateY
(
4px
);
font-size
:
2
0
px
;
font-size
:
2
6
px
;
display
:
inline-block
;
display
:
inline-block
;
position
:
relative
;
position
:
relative
;
&
:hover
{
cursor
:
pointer
;
}
}
}
.router-link-exact-active
{
&
>
i
{
color
:
#fff8a3
;
transition
:
all
ease
0
.3s
;
text-shadow
:
0
1px
2px
#9fafcb
,
1px
0px
2px
#9fafcb
;
}
}
}
}
.active
{
color
:
#f5c872
;
}
.
active
:
:
after
{
.
active
:
:
after
{
opacity
:
1
;
opacity
:
1
;
}
}
...
@@ -649,12 +734,10 @@ export default {
...
@@ -649,12 +734,10 @@ export default {
position
:
absolute
;
position
:
absolute
;
width
:
100%
;
width
:
100%
;
z-index
:
99
;
z-index
:
99
;
// border-bottom: 1px solid #f2f2f2;
ul
{
ul
{
display
:
flex
;
display
:
flex
;
align-items
:
center
;
align-items
:
center
;
transform
:
translateX
(
50%
);
// transform: translateX(50%); //往后移会导致不容易移动到想选择的子菜单中
li
{
li
{
margin-right
:
40px
;
margin-right
:
40px
;
...
...
src/views/home/components/CulturalRelic.vue
浏览文件 @
dcba3a6d
...
@@ -3,8 +3,8 @@
...
@@ -3,8 +3,8 @@
<div
class=
"home-cr"
>
<div
class=
"home-cr"
>
<div
class=
"text wow animate__animated animate__fadeIn"
>
文物
</div>
<div
class=
"text wow animate__animated animate__fadeIn"
>
文物
</div>
<div
class=
"title wow animate__animated animate__fadeInUp"
>
<div
class=
"title wow animate__animated animate__fadeInUp"
>
<!--
<div
class=
"ch"
>
每日推送
</div>
<!--
<div
class=
"ch"
>
每日推送
</div>
-->
<div
class=
"en"
>
Daily Exhibition Push
</div>
--
>
<div
class=
"en"
>
Cultural Relic
</div
>
<!--
<div
class=
"title-img"
>
<!--
<div
class=
"title-img"
>
<img
src=
"@/assets/imgs/home-new/daily.png"
alt=
""
/>
<img
src=
"@/assets/imgs/home-new/daily.png"
alt=
""
/>
</div>
-->
</div>
-->
...
@@ -20,11 +20,19 @@
...
@@ -20,11 +20,19 @@
:key=
"index"
:key=
"index"
@
click=
"handleClick(v)"
@
click=
"handleClick(v)"
>
>
<div
class=
"img"
>
<div
class=
"
cr-
img"
>
<img
:src=
"$getFullUrl(v.faceImageMiddleUrl || v.faceImageUrl)"
/>
<img
:src=
"$getFullUrl(v.faceImageMiddleUrl || v.faceImageUrl)"
/>
<div
class=
"title"
>
<div
class=
"title"
>
{{
v
.
name
}}
{{
v
.
name
}}
</div>
</div>
<div
class=
"detail"
>
<div
class=
"detail-title"
>
{{
v
.
name
}}
</div>
<div
class=
"detail-intro"
>
{{
v
.
intro
}}
</div>
<div
class=
"detail-dianji"
@
click=
"handleClick(v)"
>
展品更多信息
<img
src=
"@/assets/imgs/home-new/dianji.png"
alt=
""
/>
</div>
</div>
</div>
</div>
</div>
</div>
<!--
<div
class=
"list"
v-if=
"list.length>0"
>
-->
<!--
<div
class=
"list"
v-if=
"list.length>0"
>
-->
...
@@ -62,17 +70,17 @@
...
@@ -62,17 +70,17 @@
<
script
>
<
script
>
import
{
getRecommendCr
}
from
"@/api/culturalRelic"
;
import
{
getRecommendCr
}
from
"@/api/culturalRelic"
;
import
tempCrs
from
"../tempCr.json"
;
export
default
{
export
default
{
name
:
"CulturalRelic"
,
name
:
"CulturalRelic"
,
data
()
{
data
()
{
return
{
return
{
list
:
[]
,
list
:
tempCrs
,
length
:
""
,
length
:
""
,
};
};
},
},
created
()
{
created
()
{
this
.
loadList
();
//
this.loadList();
},
},
watch
:
{
watch
:
{
list
:
{
list
:
{
...
@@ -139,35 +147,32 @@ $blue: $themeColor;
...
@@ -139,35 +147,32 @@ $blue: $themeColor;
display
:
flex
;
display
:
flex
;
flex-direction
:
column
;
flex-direction
:
column
;
align-items
:
center
;
align-items
:
center
;
padding
:
60px
0
0
0
;
font-family
:
"Alibaba PuHuiTi"
;
font-family
:
"Alibaba PuHuiTi"
;
.ch
{
//
.ch {
color
:
#2d4bb5
;
//
color: #2d4bb5;
margin-bottom
:
12px
;
//
margin-bottom: 12px;
font-size
:
32px
;
//
font-size: 32px;
font-weight
:
bold
;
//
font-weight: bold;
}
//
}
.en
{
.en
{
width
:
393px
;
height
:
35px
;
height
:
35px
;
font-size
:
36px
;
font-size
:
36px
;
font-family
:
PingFang
SC
;
font-family
:
PingFang
SC
;
font-weight
:
bold
;
font-weight
:
bold
;
color
:
#2d4ab5
;
color
:
#2d4ab5
;
line-height
:
34px
;
line-height
:
34px
;
margin-bottom
:
4
0px
;
margin-bottom
:
3
0px
;
}
}
.title-img
{
//
.title-img {
height
:
100px
;
//
height: 100px;
margin-bottom
:
40px
;
//
margin-bottom: 40px;
img
{
//
img {
width
:
100%
;
//
width: 100%;
height
:
100%
;
//
height: 100%;
}
//
}
}
//
}
.all
{
.all
{
// margin-top: 65px;
height
:
29px
;
height
:
29px
;
cursor
:
pointer
;
cursor
:
pointer
;
img
{
img
{
...
@@ -177,8 +182,8 @@ $blue: $themeColor;
...
@@ -177,8 +182,8 @@ $blue: $themeColor;
}
}
.text
{
.text
{
color
:
#2d4ab5
;
color
:
#2d4ab5
;
margin-bottom
:
36
px
;
margin-bottom
:
8
px
;
margin-top
:
40px
;
//
margin-top: 40px;
font-family
:
"Alibaba PuHuiTi"
;
font-family
:
"Alibaba PuHuiTi"
;
font-size
:
48px
;
font-size
:
48px
;
font-weight
:
bold
;
font-weight
:
bold
;
...
@@ -190,11 +195,10 @@ $blue: $themeColor;
...
@@ -190,11 +195,10 @@ $blue: $themeColor;
display
:
flex
;
display
:
flex
;
position
:
relative
;
position
:
relative
;
.list-item
{
.list-item
{
.
img
{
&
>
.cr-
img
{
width
:
280px
;
width
:
280px
;
height
:
280px
;
height
:
280px
;
background-color
:
#a5b8d4
;
background-color
:
#a5b8d4
;
border-radius
:
50%
;
border-radius
:
50%
;
display
:
flex
;
display
:
flex
;
justify-content
:
center
;
justify-content
:
center
;
...
@@ -202,28 +206,67 @@ $blue: $themeColor;
...
@@ -202,28 +206,67 @@ $blue: $themeColor;
transition
:
all
ease
0
.5s
;
transition
:
all
ease
0
.5s
;
position
:
relative
;
position
:
relative
;
cursor
:
pointer
;
cursor
:
pointer
;
img
{
img
{
// width: 100%;
height
:
100%
;
height
:
100%
;
object-fit
:
contain
;
object-fit
:
contain
;
}
}
&
:hover
{
&
:hover
{
background-color
:
transparent
;
background-color
:
transparent
;
background-image
:
url("@/assets/imgs/home-new/cr-bg.png")
;
.detail
{
background-size
:
contain
;
opacity
:
1
;
}
.title
{
opacity
:
0
;
}
}
}
&
>
.title
{
&
>
.title
{
background-image
:
url("@/assets/imgs/home-new/title-bg.png")
;
background-image
:
url("@/assets/imgs/home-new/title-bg.png")
;
width
:
56px
;
color
:
#fff
;
color
:
#fff
;
font-size
:
18px
;
font-size
:
18px
;
writing-mode
:
vertical-
lr
;
writing-mode
:
vertical-
rl
;
background-size
:
100%
100%
;
background-size
:
100%
100%
;
display
:
flex
;
display
:
flex
;
justify-content
:
center
;
justify-content
:
center
;
align-items
:
center
;
align-items
:
center
;
padding
:
20px
0
;
padding
:
20px
8px
;
position
:
absolute
;
}
&
>
.detail
{
opacity
:
0
;
position
:
absolute
;
position
:
absolute
;
left
:
-200px
;
top
:
100px
;
background-color
:
rgba
(
#11203a
,
0
.8
);
width
:
300px
;
height
:
300px
;
border-radius
:
50%
;
color
:
#fff
;
display
:
flex
;
flex-direction
:
column
;
align-items
:
center
;
padding
:
60px
24px
;
transition
:
all
ease
0
.5s
;
z-index
:
2
;
.detail-title
{
font-size
:
28px
;
margin-bottom
:
16px
;
}
.detail-intro
{
font-size
:
16px
;
margin-bottom
:
16px
;
display
:
-
webkit-box
;
-webkit-box-orient
:
vertical
;
-webkit-line-clamp
:
3
;
overflow
:
hidden
;
}
.detail-dianji
{
display
:
flex
;
align-items
:
center
;
&
>
img
{
margin-left
:
8px
;
}
}
}
}
}
}
...
@@ -238,14 +281,25 @@ $blue: $themeColor;
...
@@ -238,14 +281,25 @@ $blue: $themeColor;
}
}
&
:nth-child
(
1
)
{
&
:nth-child
(
1
)
{
top
:
0
;
top
:
0
;
.detail
{
right
:
-180px
!
important
;
left
:
auto
;
}
}
}
&
:nth-child
(
2
)
{
&
:nth-child
(
2
)
{
top
:
calc
(
130px
);
top
:
calc
(
130px
);
left
:
570px
;
left
:
570px
;
&
>
.cr-img
{
background-image
:
url("@/assets/imgs/home-new/cr-bg.png")
;
background-size
:
contain
;
}
}
}
&
:nth-child
(
3
)
{
&
:nth-child
(
3
)
{
top
:
calc
(
200px
*
2
-
50px
);
top
:
calc
(
200px
*
2
-
50px
);
.detail
{
right
:
-140px
!
important
;
left
:
auto
;
}
}
}
&
:nth-child
(
4
),
&
:nth-child
(
4
),
&
:nth-child
(
5
),
&
:nth-child
(
5
),
...
@@ -265,6 +319,10 @@ $blue: $themeColor;
...
@@ -265,6 +319,10 @@ $blue: $themeColor;
}
}
&
:nth-child
(
6
)
{
&
:nth-child
(
6
)
{
top
:
calc
(
240px
*
2
-
50px
);
top
:
calc
(
240px
*
2
-
50px
);
&
>
.cr-img
{
background-image
:
url("@/assets/imgs/home-new/cr-bg.png")
;
background-size
:
contain
;
}
}
}
}
}
}
}
...
...
src/views/home/components/Display.vue
浏览文件 @
dcba3a6d
...
@@ -2,24 +2,43 @@
...
@@ -2,24 +2,43 @@
<
template
>
<
template
>
<div
class=
"home-display"
>
<div
class=
"home-display"
>
<div
class=
"title wow animate__animated animate__fadeInUp"
>
展览
</div>
<div
class=
"title wow animate__animated animate__fadeInUp"
>
展览
</div>
<EntranceIcon
<div
class=
"en wow animate__animated animate__fadeInUp"
>
Exhibition
</div>
<div
class=
"dianji wow animate__animated animate__fadeInUp"
@
click=
"handleClickAll"
>
查看全部
<img
src=
"@/assets/imgs/home-new/dianji.png"
alt=
""
/>
</div>
<!--
<EntranceIcon
color=
"#fff"
color=
"#fff"
text=
"查看更多"
text=
"查看更多"
@
click
.
native=
"handleClickAll"
@
click
.
native=
"handleClickAll"
class=
"dianji wow animate__animated animate__fadeInUp"
class=
"dianji wow animate__animated animate__fadeInUp"
/>
/>
-->
<div
class=
"wrapper wow animate__animated animate__fadeInUp"
>
<div
class=
"wrapper wow animate__animated animate__fadeInUp"
>
<div
class=
"sliders"
>
<div
class=
"slide-item"
v-if=
"list[0]"
>
<div
class=
"content"
>
<div
class=
"content-name"
>
{{
list
[
0
].
title
}}
</div>
<div
class=
"content-intro"
v-html=
"list[0].intro || ''"
></div>
<div
class=
"dianji"
@
click=
"handleClick(list[0])"
>
<span
class=
"txt"
>
点击查看
</span>
<img
src=
"@/assets/imgs/home-new/dianji.png"
alt=
""
/>
</div>
</div>
<div
class=
"img"
@
click=
"handleClick(list[0])"
>
<img
:src=
"$getFullUrl(list[0].faceImageMiddleUrl)"
alt=
""
/>
<div
class=
"img-name"
>
{{
list
[
0
].
title
}}
</div>
</div>
</div>
</div>
<!--
<div
<!--
<div
class=
"sliders"
class=
"sliders"
:style=
"
{
:style=
"
{
transform: `translateX(-${currentIndex * sliderItemWidth}px)`,
transform: `translateX(-${currentIndex * sliderItemWidth}px)`,
}"
}"
> -->
<div
class=
"sliders"
:style=
"
{
transform: `translateX(-${currentIndex * sliderItemWidth}px)`,
}"
v-if="list.length > 0"
v-if="list.length > 0"
>
>
<div
<div
...
@@ -34,7 +53,6 @@
...
@@ -34,7 +53,6 @@
<span
class=
"txt"
>
点击体验
</span>
<span
class=
"txt"
>
点击体验
</span>
<img
src=
"@/assets/imgs/home-new/dianji.png"
alt=
""
/>
<img
src=
"@/assets/imgs/home-new/dianji.png"
alt=
""
/>
</div>
</div>
<!--
<EntranceIcon
color=
"#fff"
@
click
.
native=
"handleClick(item)"
/>
-->
</div>
</div>
<div
class=
"img"
@
click=
"handleClick(item)"
>
<div
class=
"img"
@
click=
"handleClick(item)"
>
<img
<img
...
@@ -44,7 +62,7 @@
...
@@ -44,7 +62,7 @@
<div
class=
"img-name"
>
{{
item
.
title
}}
</div>
<div
class=
"img-name"
>
{{
item
.
title
}}
</div>
</div>
</div>
</div>
</div>
</div>
</div>
-->
<!--
<div
class=
"pagination wow animate__animated animate__fadeInUp"
>
<!--
<div
class=
"pagination wow animate__animated animate__fadeInUp"
>
<ul>
<ul>
<li
v-for=
"(item, index) in list"
:key=
"index"
:class=
"list[currentIndex] == item ? 'active' : ''"
<li
v-for=
"(item, index) in list"
:key=
"index"
:class=
"list[currentIndex] == item ? 'active' : ''"
...
@@ -60,6 +78,7 @@
...
@@ -60,6 +78,7 @@
<
script
>
<
script
>
import
{
getRecommendDisplay
}
from
"@/api/display"
;
import
{
getRecommendDisplay
}
from
"@/api/display"
;
import
EntranceIcon
from
"@/components/EntranceIcon"
;
import
EntranceIcon
from
"@/components/EntranceIcon"
;
import
{
titles
}
from
"../../display/boutiqueTitles"
;
export
default
{
export
default
{
name
:
"Display"
,
name
:
"Display"
,
components
:
{
components
:
{
...
@@ -70,6 +89,7 @@ export default {
...
@@ -70,6 +89,7 @@ export default {
list
:
[],
list
:
[],
currentIndex
:
0
,
currentIndex
:
0
,
sliderItemWidth
:
0
,
sliderItemWidth
:
0
,
boutiqueTitles
:
titles
};
};
},
},
mounted
()
{
mounted
()
{
...
@@ -87,12 +107,21 @@ export default {
...
@@ -87,12 +107,21 @@ export default {
console
.
log
(
-
this
.
currentIndex
*
this
.
sliderItemWidth
);
console
.
log
(
-
this
.
currentIndex
*
this
.
sliderItemWidth
);
},
},
handleClick
(
item
)
{
handleClick
(
item
)
{
const
{
exhibitionId
,
themeType
}
=
item
;
let
index
=
this
.
boutiqueTitles
.
indexOf
(
item
.
title
);
const
newPage
=
this
.
$router
.
resolve
({
let
newPage
;
path
:
`display/
${
themeType
}
/
${
exhibitionId
}
`
,
if
(
index
==
-
1
)
{
});
const
{
themeType
,
exhibitionId
}
=
item
;
window
.
open
(
newPage
.
href
,
"_blank"
);
newPage
=
this
.
$router
.
resolve
({
// this.$router.push(`display/${themeType}/${exhibitionId}`);
path
:
`/display/
${
themeType
}
/
${
exhibitionId
}
`
,
});
}
else
{
newPage
=
this
.
$router
.
resolve
({
path
:
`/boutique/
${
item
.
title
}
`
,
});
}
setTimeout
(()
=>
{
window
.
open
(
newPage
.
href
,
"_blank"
);
},
300
);
},
},
getSlideItemWidth
()
{
getSlideItemWidth
()
{
setTimeout
(()
=>
{
setTimeout
(()
=>
{
...
@@ -131,9 +160,20 @@ export default {
...
@@ -131,9 +160,20 @@ export default {
flex-basis
:
auto
;
flex-basis
:
auto
;
font-size
:
48px
;
font-size
:
48px
;
font-weight
:
bold
;
font-weight
:
bold
;
margin-bottom
:
20px
;
margin-bottom
:
8px
;
}
.en
{
height
:
35px
;
font-size
:
36px
;
font-family
:
PingFang
SC
;
font-weight
:
bold
;
color
:
#fff
;
line-height
:
34px
;
margin-bottom
:
30px
;
}
}
.dianji
{
.dianji
{
color
:
#fff
;
font-size
:
22px
;
margin-bottom
:
50px
;
margin-bottom
:
50px
;
}
}
...
@@ -168,17 +208,19 @@ export default {
...
@@ -168,17 +208,19 @@ export default {
height
:
100%
;
height
:
100%
;
.content-name
{
.content-name
{
font-size
:
2
4
px
;
font-size
:
2
8
px
;
font-weight
:
bold
;
font-weight
:
bold
;
margin-bottom
:
40px
;
margin-bottom
:
40px
;
display
:
flex
;
justify-content
:
center
;
}
}
.content-intro
{
.content-intro
{
font-size
:
18
px
;
font-size
:
22
px
;
font-weight
:
400
;
font-weight
:
400
;
line-height
:
1
.5
;
line-height
:
1
.5
;
margin-bottom
:
40px
;
margin-bottom
:
40px
;
text-indent
:
44px
;
display
:
-
webkit-box
;
display
:
-
webkit-box
;
-webkit-box-orient
:
vertical
;
-webkit-box-orient
:
vertical
;
-webkit-line-clamp
:
6
;
-webkit-line-clamp
:
6
;
...
@@ -191,11 +233,13 @@ export default {
...
@@ -191,11 +233,13 @@ export default {
// line-height: 48px;
// line-height: 48px;
}
}
.dianji
{
.dianji
{
font-size
:
32
px
;
font-size
:
26
px
;
font-family
:
PingFang
SC
;
font-family
:
PingFang
SC
;
font-weight
:
bold
;
font-weight
:
bold
;
color
:
#ffffff
;
color
:
#ffffff
;
cursor
:
pointer
;
cursor
:
pointer
;
display
:
flex
;
align-items
:
center
;
.txt
{
.txt
{
margin-right
:
10px
;
margin-right
:
10px
;
}
}
...
@@ -205,10 +249,9 @@ export default {
...
@@ -205,10 +249,9 @@ export default {
.img
{
.img
{
// margin-top: 240px;
// margin-top: 240px;
width
:
580px
;
width
:
580px
;
height
:
6
40px
;
height
:
3
40px
;
cursor
:
pointer
;
cursor
:
pointer
;
overflow
:
hidden
;
overflow
:
hidden
;
height
:
250px
;
&
:hover
{
&
:hover
{
box-shadow
:
2px
6px
6px
2px
rgba
(
0
,
0
,
0
,
0
.3
);
box-shadow
:
2px
6px
6px
2px
rgba
(
0
,
0
,
0
,
0
.3
);
...
...
src/views/home/components/MuseumMap.vue
浏览文件 @
dcba3a6d
...
@@ -158,7 +158,6 @@ export default {
...
@@ -158,7 +158,6 @@ export default {
coordinateSystem
:
"geo"
,
coordinateSystem
:
"geo"
,
data
:
v
.
data
,
data
:
v
.
data
,
renderItem
(
params
,
api
)
{
renderItem
(
params
,
api
)
{
console
.
log
(
"params"
,
v
.
data
[
params
.
dataIndex
].
type
);
let
type
=
v
.
data
[
params
.
dataIndex
].
type
;
let
type
=
v
.
data
[
params
.
dataIndex
].
type
;
let
url
;
let
url
;
let
width
;
let
width
;
...
@@ -167,7 +166,7 @@ export default {
...
@@ -167,7 +166,7 @@ export default {
width
=
8
;
width
=
8
;
}
else
{
}
else
{
url
=
"ms-icon"
;
url
=
"ms-icon"
;
width
=
20
width
=
20
;
}
}
//具体实现自定义图标的方法
//具体实现自定义图标的方法
return
{
return
{
...
@@ -182,7 +181,7 @@ export default {
...
@@ -182,7 +181,7 @@ export default {
v
.
data
[
params
.
dataIndex
].
value
[
0
],
v
.
data
[
params
.
dataIndex
].
value
[
0
],
v
.
data
[
params
.
dataIndex
].
value
[
1
],
v
.
data
[
params
.
dataIndex
].
value
[
1
],
])[
1
],
])[
1
],
width
:
width
width
:
width
,
},
},
};
};
},
},
...
@@ -209,6 +208,7 @@ export default {
...
@@ -209,6 +208,7 @@ export default {
faceImageUrl
=
`<div>
faceImageUrl
=
`<div>
<div style="text-align:center;line-height:26px;color:#000;font-weight:bold">
${
item
.
name
}
<div style="text-align:center;line-height:26px;color:#000;font-weight:bold">
${
item
.
name
}
<div/>
<div/>
<div style="font-size:12px;color:#999;font-weight:400">点击图标立即查看>></div>
</div>`
;
</div>`
;
that
.
curMuseum
=
item
;
that
.
curMuseum
=
item
;
return
;
return
;
...
@@ -217,6 +217,13 @@ export default {
...
@@ -217,6 +217,13 @@ export default {
return
faceImageUrl
;
return
faceImageUrl
;
},
},
},
},
// dataRange: {
// min : 0,//值域控件最小值
// max : maxRange,//值域控件最大值
// calculable : true,//默认为false,设置为true时值域显示为线性渐变
// precision:0,//小数精度,默认为0
// color: ['red', 'orange', 'yellow','#FFFCEC']//值域颜色,最少两个
// },
// visualMap: {
// visualMap: {
// min: 0,
// min: 0,
// max: 20000,
// max: 20000,
...
@@ -239,7 +246,7 @@ export default {
...
@@ -239,7 +246,7 @@ export default {
//静态的时候展示样式
//静态的时候展示样式
show
:
true
,
//是否显示地图省份得名称
show
:
true
,
//是否显示地图省份得名称
textStyle
:
{
textStyle
:
{
color
:
"#
333
"
,
color
:
"#
fff
"
,
fontSize
:
10
,
fontSize
:
10
,
fontFamily
:
"Arial"
,
fontFamily
:
"Arial"
,
},
},
...
@@ -258,12 +265,8 @@ export default {
...
@@ -258,12 +265,8 @@ export default {
// 地图区域的多边形 图形样式。
// 地图区域的多边形 图形样式。
normal
:
{
normal
:
{
borderColor
:
"#fff"
,
// 边框颜色
borderColor
:
"#fff"
,
// 边框颜色
// areaColor: "#2759af", // 区域颜色
areaColor
:
"#a5c3e7"
,
areaColor
:
"#a5c3e7"
,
// areaColor:'#294046',
color
:
"#fff"
,
color
:
"#ff5555"
,
// shadowBlur: 10, // 图形阴影的模糊大小
// shadowOffsetX: 10, // 阴影水平方向上的偏移距离。
},
},
emphasis
:
{
emphasis
:
{
// areaColor: "#2759af",
// areaColor: "#2759af",
...
@@ -275,6 +278,108 @@ export default {
...
@@ -275,6 +278,108 @@ export default {
shadowBlur
:
3
,
shadowBlur
:
3
,
},
},
},
},
regions
:
[
{
name
:
"贵阳市"
,
itemStyle
:
{
normal
:
{
areaColor
:
"rgba(26, 90, 79,1)"
,
},
emphasis
:
{
areaColor
:
"rgba(26, 90, 79,0.9)"
,
},
},
},
{
name
:
"遵义市"
,
itemStyle
:
{
normal
:
{
areaColor
:
"rgba(156, 30, 30,1)"
,
},
emphasis
:
{
areaColor
:
"rgba(156, 30, 30,0.9)"
,
},
},
},
{
name
:
"毕节市"
,
itemStyle
:
{
normal
:
{
areaColor
:
"rgba(212, 123, 45,1)"
,
},
emphasis
:
{
areaColor
:
"rgba(212, 123, 45,0.9)"
,
},
},
},
{
name
:
"六盘水市"
,
itemStyle
:
{
normal
:
{
areaColor
:
"rgba(236, 184, 66,1)"
,
},
emphasis
:
{
areaColor
:
"rgba(236, 184, 66,0.9)"
,
},
},
},
{
name
:
"安顺市"
,
itemStyle
:
{
normal
:
{
areaColor
:
"rgba(30, 97, 140,1)"
,
},
emphasis
:
{
areaColor
:
"rgba(30, 97, 140,0.9)"
,
},
},
},
{
name
:
"铜仁市"
,
itemStyle
:
{
normal
:
{
areaColor
:
"rgba(62,56,65,1)"
,
},
emphasis
:
{
areaColor
:
"rgba(62,56,65,0.9)"
,
},
},
},
{
name
:
"黔西南布依族苗族自治州"
,
itemStyle
:
{
normal
:
{
areaColor
:
"rgba(21,85,154,1)"
,
},
emphasis
:
{
areaColor
:
"rgba(21,85,154,0.8)"
,
},
},
},
{
name
:
"黔南布依族苗族自治州"
,
itemStyle
:
{
normal
:
{
areaColor
:
"rgba(20,74,116,1)"
,
},
emphasis
:
{
areaColor
:
"rgba(20,74,116,0.8)"
,
},
},
},
{
name
:
"黔东南苗族侗族自治州"
,
itemStyle
:
{
normal
:
{
areaColor
:
"rgba(37, 47, 87,1)"
,
},
emphasis
:
{
areaColor
:
"rgba(37, 47, 87,0.8)"
,
},
},
},
],
},
},
};
};
...
@@ -320,10 +425,10 @@ export default {
...
@@ -320,10 +425,10 @@ export default {
},
},
handleClick
(
item
)
{
handleClick
(
item
)
{
const
{
id
}
=
item
;
const
{
id
}
=
item
;
//
const newPage = this.$router.resolve({
const
newPage
=
this
.
$router
.
resolve
({
//
path: `museum/${id}`,
path
:
`museum/
${
id
}
`
,
//
});
});
//
window.open(newPage.href, "_blank");
window
.
open
(
newPage
.
href
,
"_blank"
);
// this.$router.push({
// this.$router.push({
// path: `museum/${id}`,
// path: `museum/${id}`,
// });
// });
...
@@ -384,7 +489,6 @@ export default {
...
@@ -384,7 +489,6 @@ export default {
background-repeat
:
no-repeat
;
background-repeat
:
no-repeat
;
.title
{
.title
{
color
:
#fff
;
color
:
#fff
;
// margin-bottom: 43px;
display
:
flex
;
display
:
flex
;
flex-direction
:
column
;
flex-direction
:
column
;
align-items
:
center
;
align-items
:
center
;
...
@@ -403,7 +507,6 @@ export default {
...
@@ -403,7 +507,6 @@ export default {
.title-img
{
.title-img
{
height
:
100px
;
height
:
100px
;
// height: 136px;
img
{
img
{
width
:
100%
;
width
:
100%
;
height
:
100%
;
height
:
100%
;
...
@@ -424,10 +527,9 @@ export default {
...
@@ -424,10 +527,9 @@ export default {
display
:
flex
;
display
:
flex
;
justify-content
:
space-between
;
justify-content
:
space-between
;
align-items
:
flex-start
;
align-items
:
flex-start
;
// padding-top: 100px;
.content
{
.content
{
// margin-top: 100px;//去除上间距
width
:
600px
;
width
:
600px
;
margin-top
:
100px
;
color
:
#333
;
color
:
#333
;
font-family
:
"Alibaba PuHuiTi"
;
font-family
:
"Alibaba PuHuiTi"
;
height
:
50vh
;
height
:
50vh
;
...
@@ -452,7 +554,6 @@ export default {
...
@@ -452,7 +554,6 @@ export default {
left
:
0
;
left
:
0
;
width
:
100%
;
width
:
100%
;
height
:
100%
;
height
:
100%
;
// background-color:rgba(#2069c4,0.8);
background-color
:
rgba
(
0
,
0
,
0
,
0
.7
);
background-color
:
rgba
(
0
,
0
,
0
,
0
.7
);
}
}
}
}
...
@@ -465,16 +566,13 @@ export default {
...
@@ -465,16 +566,13 @@ export default {
}
}
.intro
{
.intro
{
font-size
:
2
0
px
;
font-size
:
2
2
px
;
font-weight
:
3
00
;
font-weight
:
6
00
;
margin-bottom
:
85px
;
margin-bottom
:
85px
;
overflow
:
hidden
;
overflow
:
hidden
;
color
:
#255780
;
color
:
#255780
;
width
:
400px
;
width
:
400px
;
// display: -webkit-box;
text-indent
:
44px
;
// -webkit-box-orient: vertical;
// -webkit-line-clamp: 6;
// overflow: hidden;
}
}
.entrance
{
.entrance
{
...
@@ -531,11 +629,13 @@ export default {
...
@@ -531,11 +629,13 @@ export default {
&
>
p
{
&
>
p
{
color
:
#fff
;
color
:
#fff
;
.label
{
.label
{
font-size
:
32
px
;
font-size
:
28
px
;
}
}
.num
{
.num
{
font-weight
:
bold
;
// font-weight: bold;
font-family
:
$puHuiTi
;
font-size
:
60px
;
font-size
:
60px
;
margin
:
0
4px
;
}
}
}
}
}
}
...
...
src/views/home/index.vue
浏览文件 @
dcba3a6d
...
@@ -45,9 +45,9 @@ export default {
...
@@ -45,9 +45,9 @@ export default {
display
:
flex
;
display
:
flex
;
flex-direction
:
column
;
flex-direction
:
column
;
background-color
:
#fff
;
background-color
:
#fff
;
padding-bottom
:
100px
;
.home-item
{
.home-item
{
height
:
calc
(
100vh
-
120px
);
height
:
calc
(
100vh
-
$nav-height
);
width
:
100%
;
width
:
100%
;
position
:
relative
;
position
:
relative
;
}
}
...
...
src/views/home/tempCr.json
0 → 100644
浏览文件 @
dcba3a6d
[{
"crId"
:
"80f7c57c768749fbad359e0ce9bce4a1"
,
"deptName"
:
"贵州省博物馆"
,
"faceImageMiddleUrl"
:
"http://114.115.157.218:9602/files/culturalRelicImport/2022-12-20-ba663e0ebd1445298631d77df692d414/贵州省博物馆-文物2/faceImage/54螭首金杯、金盘/middle/54.1螭首金杯.png"
,
"faceImagePressUrl"
:
"http://114.115.157.218:9602/files/culturalRelicImport/2022-12-20-ba663e0ebd1445298631d77df692d414/贵州省博物馆-文物2/faceImage/54螭首金杯、金盘/low/54.1螭首金杯.png"
,
"faceImageUrl"
:
"http://114.115.157.218:9602/files/culturalRelicImport/2022-12-20-ba663e0ebd1445298631d77df692d414/贵州省博物馆-文物2/faceImage/54螭首金杯、金盘/54.1螭首金杯.png"
,
"intro"
:
"金杯系夹层,双螭缠绕其上,两螭首对称探出杯口成杯柄。承盘纹饰与金杯呼应,盘心为翻涌的浪花,双螭盘旋,口尾互衔。金杯、金盘共同构成教子升天纹。教子升天纹是宋代已降流行的纹饰,由天上的大龙和海水中的小龙组成,通过大龙呼唤小龙升天来借喻父母望子成龙的愿望,也可祝人高升。"
,
"name"
:
"螭首金杯、金盘"
},
{
"crId"
:
"4df7d6c888524cac89a2095be5a1d305"
,
"faceImageMiddleUrl"
:
"http://114.115.157.218:9602/files/culturalRelicImport/2022-12-20-ba663e0ebd1445298631d77df692d414/贵州省博物馆-文物2/faceImage/21鎏金三足铜鍪/middle/21.鎏金三足铜鍪.png"
,
"faceImagePressUrl"
:
"http://114.115.157.218:9602/files/culturalRelicImport/2022-12-20-ba663e0ebd1445298631d77df692d414/贵州省博物馆-文物2/faceImage/21鎏金三足铜鍪/low/21.鎏金三足铜鍪.png"
,
"faceImageUrl"
:
"http://114.115.157.218:9602/files/culturalRelicImport/2022-12-20-ba663e0ebd1445298631d77df692d414/贵州省博物馆-文物2/faceImage/21鎏金三足铜鍪/21.鎏金三足铜鍪.png"
,
"intro"
:
"侈口束颈,圆鼓腹,圜底,腹上部一侧有一环形耳,腹下接三矮蹄足,器表鎏金。其原型为巴文化器物中的铜鍪,在赫章可乐地域中,将其增加三足并鎏金。"
,
"name"
:
"鎏金三足铜鍪"
},
{
"crId"
:
"7ccbc32192e5486ca944a12f9002edc2"
,
"deptName"
:
"贵州省博物馆"
,
"faceImageMiddleUrl"
:
"http://114.115.157.218:9602/files/culturalRelicImport/2022-12-20-ba663e0ebd1445298631d77df692d414/贵州省博物馆-文物2/faceImage/59平播鼎/middle/59.平播鼎.png"
,
"faceImagePressUrl"
:
"http://114.115.157.218:9602/files/culturalRelicImport/2022-12-20-ba663e0ebd1445298631d77df692d414/贵州省博物馆-文物2/faceImage/59平播鼎/low/59.平播鼎.png"
,
"faceImageUrl"
:
"http://114.115.157.218:9602/files/culturalRelicImport/2022-12-20-ba663e0ebd1445298631d77df692d414/贵州省博物馆-文物2/faceImage/59平播鼎/59.平播鼎.png"
,
"intro"
:
"器身圆形,深腹,弧形底,附兽首柱状三足。口沿处饰两道弦纹,中间饰云雷纹,下面横列篆书“平播安黔之鼎”,6字环钟一圈,腹部满铸篆体铭文,计56行,每行5字,起首行多一字。铭文之下也是两道弦纹夹一圈云雷纹。"
,
"name"
:
"平播鼎"
},
{
"crId"
:
"07e32dbd6db9478d904c48e024f0adb1"
,
"deptName"
:
"贵州省博物馆"
,
"faceImageMiddleUrl"
:
"http://114.115.157.218:9602/files/culturalRelicImport/2022-12-20-ba663e0ebd1445298631d77df692d414/贵州省博物馆-文物2/faceImage/31铜车马/middle/31.铜车马.png"
,
"faceImagePressUrl"
:
"http://114.115.157.218:9602/files/culturalRelicImport/2022-12-20-ba663e0ebd1445298631d77df692d414/贵州省博物馆-文物2/faceImage/31铜车马/low/31.铜车马.png"
,
"faceImageUrl"
:
"http://114.115.157.218:9602/files/culturalRelicImport/2022-12-20-ba663e0ebd1445298631d77df692d414/贵州省博物馆-文物2/faceImage/31铜车马/31.铜车马.png"
,
"intro"
:
"铜车马属于辎车,马由首、尾、颈、足、躯、耳等11段装配,除双耳外,其余9段钧用砂模空心浇铸,铜壳菲薄,铸技高超,马的神态逼真,昂首翘尾,鬃毛平整,竖耳咧嘴作嘶鸣状,十分矫健。车属双曲辕车,双轮十二幅。卷曲成U形覆瓦状的车棚厚度仅1毫米,轻柔如纸,是迄今为止国内出土的汉墓中的车马里最完整的一个,这对了解汉代车制、冶炼工艺具有相当重要的价值。"
,
"name"
:
"铜车马"
},
{
"crId"
:
"2f670d1ebf8e4297b1c89f3299a6187a"
,
"faceImageMiddleUrl"
:
"http://114.115.157.218:9602/files/culturalRelicImport/2022-12-20-ba663e0ebd1445298631d77df692d414/贵州省博物馆-文物2/faceImage/71青釉陶兽水盂/middle/71.青釉陶兽水盂.png"
,
"faceImagePressUrl"
:
"http://114.115.157.218:9602/files/culturalRelicImport/2022-12-20-ba663e0ebd1445298631d77df692d414/贵州省博物馆-文物2/faceImage/71青釉陶兽水盂/low/71.青釉陶兽水盂.png"
,
"faceImageUrl"
:
"http://114.115.157.218:9602/files/culturalRelicImport/2022-12-20-ba663e0ebd1445298631d77df692d414/贵州省博物馆-文物2/faceImage/71青釉陶兽水盂/71.青釉陶兽水盂.png"
,
"intro"
:
"塑为狮形,昂首站立,全身用细纹刻画出卷曲的毛发,狮背有一长颈口,狮身饰青釉,开鱼牙片纹,看起来形态生动、雄浑。"
,
"name"
:
"青釉陶兽水盂"
},
{
"crId"
:
"056c729a98cc47de852de5a499f95d19"
,
"deptName"
:
"贵州省博物馆"
,
"faceImageMiddleUrl"
:
"http://114.115.157.218:9602/files/culturalRelicImport/2022-12-20-ba663e0ebd1445298631d77df692d414/贵州省博物馆-文物2/faceImage/46漆盘/middle/46.漆盘.png"
,
"faceImagePressUrl"
:
"http://114.115.157.218:9602/files/culturalRelicImport/2022-12-20-ba663e0ebd1445298631d77df692d414/贵州省博物馆-文物2/faceImage/46漆盘/low/46.漆盘.png"
,
"faceImageUrl"
:
"http://114.115.157.218:9602/files/culturalRelicImport/2022-12-20-ba663e0ebd1445298631d77df692d414/贵州省博物馆-文物2/faceImage/46漆盘/46.漆盘.png"
,
"intro"
:
"麻胎,黑地,朱绘兼有鎏金的色彩搭配,形如满月,敞口折唇,上大下小,浅平底,唇边铜扣鎏金。盘身内壁绘夔纹图案,外壁绘海潮纹图案。平底中央线描凤鸟纹样。折唇背面针刻隶书铭文共61字,详细记载该器制作时间、地点、工序、工匠及管理人员姓氏等。"
,
"name"
:
"漆盘"
}
]
\ No newline at end of file
src/views/home/tempDisplay.json
0 → 100644
浏览文件 @
dcba3a6d
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论