mes_home/src/components/Header.vue

394 lines
11 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<!-- 头部整体盒子 -->
<div id="header" class="container-fuild">
<!-- 头部顶部 -->
<div class="header-top container-fuild hidden-xs">
<div class="container">
<div class="server pull-left">
<span class="glyphicon glyphicon-earphone"></span>188-2080-2884
<span class="glyphicon glyphicon-envelope"></span>1724894114@163.com
<span class="glyphicon glyphicon-time"></span>7x24小时为您服务
</div>
<div class="shejiao pull-right">
<span class="glyphicon glyphicon-hand-right"></span>赶快联系我们吧
<span class="glyphicon glyphicon-hand-left"></span>
</div>
</div>
</div>
<!-- 电脑导航 -->
<div class="header-nav container hidden-xs">
<!-- 导航logo -->
<div class="header-nav-logo">
<img src="@/assets/img/logo.png">
<div class="logo-text">
<p class="text-name">{{logoName}}</p>
<p class="text">{{logoText}}</p>
</div>
</div>
<!-- 导航内容 -->
<ul class="header-nav-wrapper">
<li
v-for="(item,index) in navList"
:key="index"
:class="index==navIndex?'active':''"
@click="navClick(index,item.name)"
>
<router-link :to="item.path">
{{item.name}}
<span v-if="item.children.length>0" class="glyphicon glyphicon-menu-down"></span>
<i class="underline"></i>
</router-link>
<dl v-if="item.children.length>0">
<dt v-for="(i,n) in item.children" :key="n">
<router-link :to="i.path">{{i.name}}</router-link>
</dt>
</dl>
</li>
</ul>
</div>
<!-- 手机导航 -->
<div class="header-nav-m container-fuild visible-xs">
<div class="header-nav-m-logo">
<img class="center-block" src="@/assets/img/logo.png" alt="logo">
<div class="logo-text">
<p class="text-name">{{logoName}}</p>
<p class="text">{{logoText}}</p>
</div>
</div>
<!-- 导航栏 -->
<div class="header-nav-m-menu text-center">
{{menuName}}
<div
class="header-nav-m-menu-wrapper"
data-toggle="collapse"
data-target="#menu"
@click="menuClick"
>
<span :class="menuClass"></span>
</div>
<!-- 导航内容 -->
<ul id="menu" class="header-nav-m-wrapper collapse">
<li
v-for="(item,index) in navList"
:key="index"
:class="['text-left',index==navIndex?'active':'']"
@click="navClick(index,item.name)"
data-toggle="collapse"
data-target="#menu"
>
<router-link :to="item.path">
{{item.name}}
<i class="underline"></i>
</router-link>
</li>
</ul>
</div>
</div>
</div>
</template>
<script>
export default {
name: "Header",
data() {
return {
navIndex: sessionStorage.getItem('navIndex') ? sessionStorage.getItem('navIndex') : 0,
menuName: "首页",
menuClass: "glyphicon glyphicon-home",
logoName:'自动化MES管理系统',
logoText:'MES ADMIN LOGIN',
navList: [
{
name: "首页",
path: "/",
children: []
},
{
name: "产品概览",
path: "/jobchance",
children: []
},
// {
// name: "产品概览",
// path: "/software",
// children: [
// {
// name: "智能小镇管理系统",
// path: "/software/smartTown"
// },
// {
// name: "大数据管理系统",
// path: "/software/bigData"
// }
// ]
// },
{
name: "生产数据",
path: "/service",
children: []
},
// {
// name: "新闻动态",
// path: "/newsinformation",
// children: []
// },
{
name: "关于德木",
path: "/companyintroduction",
children: []
},
// {
// name: "工作机会",
// path: "/jobchance",
// children: []
// },
// {
// name: "联系我们",
// path: "/contactus",
// children: []
// }
]
};
},
methods: {
navClick(index, name) {
this.navIndex = index;
sessionStorage.setItem('navIndex',index)
this.menuName = name;
},
menuClick() {
if (this.menuClass == "glyphicon glyphicon-home") {
this.menuClass = "glyphicon glyphicon-th-list";
} else {
this.menuClass = "glyphicon glyphicon-home";
}
}
}
};
</script>
<style scoped>
/* 顶部 */
#header {
background: #f4f4f4;
transition: all ease 0.6s;
}
#header .header-top {
height: 50px;
color: #fff;
font-size: 12px;
line-height: 50px;
background: #474747;
}
/* 顶部的图标 */
#header .header-top span {
margin: 0 8px;
}
/* 导航栏 */
#header .header-nav {
height: 110px;
}
/* 导航栏logo */
#header .header-nav .header-nav-logo {
width: 260px;
height: 100%;
float: left;
position: relative;
display: flex;
align-items: center;
}
/* 导航栏logo图片 */
#header .header-nav .header-nav-logo img {
width: 60px;
height: 60px;
flex-basis: 60px;
}
#header .header-nav .header-nav-logo .logo-text{
flex: 1;
padding-left: 20px;
}
#header .header-nav .header-nav-logo .text-name{
font-size: 18px;
font-weight: 600;
color: #000;
margin-bottom: 5px;
}
#header .header-nav .header-nav-logo .text{
margin-bottom: 0;
margin-top: 5px;
font-size: 14px;
}
/* 导航栏 导航容器 */
#header .header-nav-fixed .header-nav-wrapper {
line-height: 50px;
}
#header .header-nav .header-nav-wrapper {
line-height: 110px;
float: right;
margin: 0;
max-width: 800px;
}
/* 导航栏 每个导航 */
#header .header-nav .header-nav-wrapper > li {
float: left;
margin: 0 15px;
position: relative;
}
/* 导航栏 每个导航下面的 a 链接 */
#header .header-nav .header-nav-wrapper > li > a {
color: #000;
font-size: 15px;
font-weight: bold;
padding: 15px 0;
position: relative;
}
/* 导航栏 每个导航下面的 a 链接的下划线 */
#header .header-nav .header-nav-wrapper > li > a > i {
display: block;
position: absolute;
bottom: -2px;
left: 50%;
width: 0;
height: 2px;
opacity: 0;
transition: all 0.6s ease;
background-color: #009688;
}
/* 导航栏 每个导航下面的 a 链接的右侧小三角 */
#header .header-nav .header-nav-wrapper > li > a > span {
font-size: 12px;
transition: transform ease 0.5s;
}
/* 导航栏 每个导航下面的 a 链接 鼠标滑上去的样式 */
#header .header-nav .header-nav-wrapper > li > a:hover {
color: #009688;
text-decoration: none;
}
/* 导航栏 每个导航下面的 a 链接 鼠标滑上去下划线的样式 */
#header .header-nav .header-nav-wrapper > li > a:hover .underline {
opacity: 1;
width: 100%;
left: 0;
}
/* 导航栏 每个导航下面的 a 链接 鼠标滑上去三角标的样式 */
#header .header-nav .header-nav-wrapper > li > a:hover span {
transform: rotate(180deg);
}
/* 导航栏 每个导航下面的 a 链接 鼠标点击后的样式 */
#header .header-nav .header-nav-wrapper > li.active > a {
color: #009688;
text-decoration: none;
border-bottom: 2px solid #009688;
}
/* 导航栏 每个导航下面的二级导航容器 */
#header .header-nav .header-nav-wrapper > li > dl {
display: none;
position: absolute;
width: 168px;
top: 80%;
left: 0;
z-index: 999999;
box-shadow: 0 0 3px 1px #ccc;
background: #fff;
}
/* 导航栏 每个导航下面的二级导航容器的每个导航 */
#header .header-nav .header-nav-wrapper > li > dl > dt {
width: 100%;
padding: 10px;
border-bottom: 1px solid #ccc;
}
/* 导航栏 每个导航下面的二级导航容器的每个导航 当鼠标滑上时的样式*/
#header .header-nav .header-nav-wrapper > li > dl > dt > a:hover {
text-decoration: none;
}
/* 导航栏 滑上一级导航显示二级导航 */
#header .header-nav .header-nav-wrapper > li:hover dl {
display: block;
}
#header .header-nav .header-nav-wrapper > li > dl > dt:hover {
cursor: pointer;
background: #ccc;
}
@media screen and (max-width: 997px) {
#header .header-nav-m {
position: relative;
}
/* 导航栏logo容器 */
#header .header-nav-m .header-nav-m-logo {
height: 70px;
position: relative;
display: flex;
align-items: center;
justify-content: center;
}
/* 导航栏logo图片 */
#header .header-nav-m .header-nav-m-logo img {
width: 50px;
height: 50px;
margin: 0;
}
#header .header-nav-m .header-nav-m-logo .logo-text{
margin-left: 15px;
}
#header .header-nav-m .header-nav-m-logo .logo-text .text-name{
margin-bottom: 5px;
font-size: 16px;
}
#header .header-nav-m .header-nav-m-logo .logo-text .text{
margin-bottom: 0;
margin-top: 5px;
font-size: 12px;
}
/* 导航栏 菜单容器 */
#header .header-nav-m .header-nav-m-menu {
color: #fff;
font-size: 14px;
line-height: 50px;
background: #474747;
position: relative;
}
/* 导航栏 菜单图标 */
#header .header-nav-m .header-nav-m-menu-wrapper {
position: absolute;
top: 50%;
left: 10px;
margin-top: -20px;
width: 40px;
height: 40px;
color: #fff;
z-index: 999999;
font-size: 14px;
display: flex;
align-items: center;
justify-content: center;
}
/* 导航栏 */
#header .header-nav-m .header-nav-m-wrapper {
position: absolute;
top: 50px;
left: 0;
width: 100%;
background: #474747;
z-index: 9999999;
}
/* 导航栏 每个导航 */
#header .header-nav-m .header-nav-m-wrapper > li {
padding: 0;
border-top: 1px solid #ccc;
}
/* 导航栏 每个导航下面的 a 链接 */
#header .header-nav-m .header-nav-m-wrapper > li > a {
color: #fff;
font-size: 14px;
font-weight: bold;
position: relative;
width: 100%;
padding: 0 20px;
display: inline-block;
}
/* 导航栏 每个导航下面的 a 链接的右侧小三角 */
#header .header-nav .header-nav-wrapper > li > a > span {
font-size: 10px;
}
}
</style>