|
|
|
@ -1,59 +1,49 @@
|
|
|
|
|
<template> |
|
|
|
|
<header class="header" id="myheader"> |
|
|
|
|
|
|
|
|
|
<div class="wrapper"> |
|
|
|
|
|
|
|
|
|
<!-- left --> |
|
|
|
|
<nav class="nav"> |
|
|
|
|
<a class="nav-item item-lf" v-for="item in leftMenu" :key="item.id" :href="item.url" |
|
|
|
|
:class="{active:item.name==='学院'}">{{item.name}}</a> |
|
|
|
|
<a class="nav-item item-lf" v-for="item in leftMenu" :key="item.id" :href="item.url" :class="{ active: item.name === '学院' }">{{ item.name }}</a> |
|
|
|
|
</nav> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- center --> |
|
|
|
|
<div class="search-box flex-1"> |
|
|
|
|
<form class="searchform" method="get" autocomplete="off" action="https://search.fanruan.com/?q=" target="_blank" |
|
|
|
|
v-if="is_search"> |
|
|
|
|
<form class="searchform" method="get" autocomplete="off" action="https://search.fanruan.com/?q=" target="_blank" v-if="is_search"> |
|
|
|
|
<div class="el-input el-input--small el-input--suffix topsearch flex-1"> |
|
|
|
|
<input class="el-input__inner" name="q" type="text" autocomplete="off" tabindex="" aria-label="" |
|
|
|
|
placeholder="请输入关键词" @focus="isfocus('focus')" @blur="isfocus('blur')" v-on:input="isinput"> |
|
|
|
|
<button class="el-input__suffix search_sub" type="submit" :class="{active_btn:kwbtn}"> |
|
|
|
|
<input class="el-input__inner" name="q" type="text" autocomplete="off" tabindex="" aria-label="" placeholder="请输入关键词" @focus="isfocus('focus')" @blur="isfocus('blur')" v-on:input="isinput" /> |
|
|
|
|
<button class="el-input__suffix search_sub" type="submit" :class="{ active_btn: kwbtn }"> |
|
|
|
|
<span class="el-input__suffix-inner search_btn"> |
|
|
|
|
<i class="iconfont icon-icon_icon-53 icon-ss" :class="{active:kwfocus}"></i> |
|
|
|
|
<i class="iconfont icon-icon_icon-53 icon-ss" :class="{ active: kwfocus }"></i> |
|
|
|
|
</span> |
|
|
|
|
</button> |
|
|
|
|
</div> |
|
|
|
|
</form> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="searchform" v-else> |
|
|
|
|
<div class="el-input el-input--small el-input--suffix topsearch flex-1"> |
|
|
|
|
<div class="el-input__inner" style="color: #B5C1D0; line-height: 30px;">登录后方可搜索</div> |
|
|
|
|
<button class="el-input__suffix search_sub" type="submit" :class="{active_btn:kwbtn}"> |
|
|
|
|
<button class="el-input__suffix search_sub" type="submit" :class="{ active_btn: kwbtn }"> |
|
|
|
|
<span class="el-input__suffix-inner search_btn"> |
|
|
|
|
<i class="iconfont icon-icon_icon-53 icon-ss" :class="{active:kwfocus}"></i> |
|
|
|
|
<i class="iconfont icon-icon_icon-53 icon-ss" :class="{ active: kwfocus }"></i> |
|
|
|
|
</span> |
|
|
|
|
</button> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
<!-- rigt --> |
|
|
|
|
<nav class="infomation"> |
|
|
|
|
<template v-for="item in rightMenu" :key="item.id"> |
|
|
|
|
<template v-if="!item.children"> |
|
|
|
|
<a class="nav-item item-rt" :href="item.url">{{item.name}}</a> |
|
|
|
|
<a class="nav-item item-rt" :href="item.url">{{ item.name }}</a> |
|
|
|
|
</template> |
|
|
|
|
<template v-else> |
|
|
|
|
<el-dropdown :show-timeout="0"> |
|
|
|
|
<span class="el-dropdown-link item-rt"> |
|
|
|
|
{{ item.name }}<i class="el-icon-arrow-down el-icon--right"></i> |
|
|
|
|
</span> |
|
|
|
|
<span class="el-dropdown-link item-rt"> {{ item.name }}<i class="el-icon-arrow-down el-icon--right"></i> </span> |
|
|
|
|
<template #dropdown> |
|
|
|
|
<el-dropdown-menu> |
|
|
|
|
<el-dropdown-item v-for="child in item.children" :key="child.id" style="padding: 0;"> |
|
|
|
|
<a class="nav-item" :href="child.url" style="display:block;">{{child.name}}</a> |
|
|
|
|
<a class="nav-item" :href="child.url" style="display:block;">{{ child.name }}</a> |
|
|
|
|
</el-dropdown-item> |
|
|
|
|
</el-dropdown-menu> |
|
|
|
|
</template> |
|
|
|
@ -86,7 +76,6 @@
|
|
|
|
|
</el-dropdown> |
|
|
|
|
</div> --> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="notice_box"> |
|
|
|
|
<el-dropdown trigger="hover"> |
|
|
|
|
<el-badge :is-dot="is_dot" class="item badge" type="danger"> |
|
|
|
@ -94,7 +83,7 @@
|
|
|
|
|
</el-badge> |
|
|
|
|
<template #dropdown> |
|
|
|
|
<el-dropdown-menu class="i_item"> |
|
|
|
|
<a :href="com_shequ_url+'/home.php?mod=space&do=notice&view=system'" target="_blank"> |
|
|
|
|
<a :href="com_shequ_url + '/home.php?mod=space&do=notice&view=system'" target="_blank"> |
|
|
|
|
<el-dropdown-item class="clearfix"> |
|
|
|
|
<span class="i_txt">我的通知</span> |
|
|
|
|
<el-badge class="mark" :value="u_notice" type="danger" /> |
|
|
|
@ -112,14 +101,13 @@
|
|
|
|
|
</span> |
|
|
|
|
<template #dropdown> |
|
|
|
|
<el-dropdown-menu class="avatar_down"> |
|
|
|
|
|
|
|
|
|
<el-dropdown-item v-for="(item, i) in avatarMenu.baseMenu" :key="i" :icon="item.icon"> |
|
|
|
|
<a class="item-nav" :href="item.url">{{item.name}}</a> |
|
|
|
|
<a class="item-nav" :href="item.url">{{ item.name }}</a> |
|
|
|
|
</el-dropdown-item> |
|
|
|
|
<el-divider></el-divider> |
|
|
|
|
|
|
|
|
|
<el-dropdown-item v-for="(item, i) in avatarMenu.navMenu" :key="i" :icon="item.icon"> |
|
|
|
|
<a class="item-nav" :href="item.url">{{item.name}}</a> |
|
|
|
|
<a class="item-nav" :href="item.url">{{ item.name }}</a> |
|
|
|
|
</el-dropdown-item> |
|
|
|
|
<el-divider></el-divider> |
|
|
|
|
<el-dropdown> |
|
|
|
@ -127,40 +115,35 @@
|
|
|
|
|
</el-dropdown> |
|
|
|
|
<el-divider></el-divider> |
|
|
|
|
<el-dropdown-item v-for="(item, i) in avatarMenu.adminMenu" :key="i" :icon="item.icon"> |
|
|
|
|
<a class="item-nav" :href="item.url">{{item.name}}</a> |
|
|
|
|
<a class="item-nav" :href="item.url">{{ item.name }}</a> |
|
|
|
|
</el-dropdown-item> |
|
|
|
|
<el-divider v-if="avatarMenu.adminMenu?.length>0"></el-divider> |
|
|
|
|
<el-divider v-if="avatarMenu.adminMenu?.length > 0"></el-divider> |
|
|
|
|
|
|
|
|
|
<el-dropdown-item v-for="(item, i) in avatarMenu.footerMenu" :key="i" :icon="item.icon"> |
|
|
|
|
<a class="item-nav" :href="item.url">{{item.name}}</a> |
|
|
|
|
<a class="item-nav" :href="item.url">{{ item.name }}</a> |
|
|
|
|
</el-dropdown-item> |
|
|
|
|
|
|
|
|
|
</el-dropdown-menu> |
|
|
|
|
</template> |
|
|
|
|
</el-dropdown> |
|
|
|
|
<div v-else class="loginReg flex-1"> |
|
|
|
|
<a class="loginbtn" |
|
|
|
|
:href="com_id_url+'/cas/login?service='+com_edu_url+'/v1/user/cas/edu/login/?redirect='+$route.fullPath">登录</a> |
|
|
|
|
<a class="loginbtn" :href="com_id_url + '/cas/login?service=' + com_edu_url + '/v1/user/cas/edu/login/?redirect=' + $route.fullPath">登录</a> |
|
|
|
|
</div> |
|
|
|
|
</nav> |
|
|
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
</header> |
|
|
|
|
|
|
|
|
|
<div class="edu-nav-box" v-if="isPc"> |
|
|
|
|
<div class="mainbox"> |
|
|
|
|
<div class="edu-head"> |
|
|
|
|
<router-link class="logo" to="/"><img src="@/assets/logo.png" /></router-link> |
|
|
|
|
<router-link class="logo" to="/"><img src="@/assets/logo.png"/></router-link> |
|
|
|
|
<div class="edu-nav"> |
|
|
|
|
<router-link to="/">首页</router-link> |
|
|
|
|
<router-link to="/studypath/finereport" :class="$route.meta.active == 'studypath' ? 'active':'' ">学习路径 |
|
|
|
|
</router-link> |
|
|
|
|
<router-link to="/video" :class="$route.meta.active == 'video' ? 'active':'' ">视频课</router-link> |
|
|
|
|
<router-link to="/class" :class="$route.meta.active == 'class' ? 'active':'' ">学习班</router-link> |
|
|
|
|
<router-link to="/live" :class="$route.meta.active == 'live' ? 'active':'' ">直播</router-link> |
|
|
|
|
<router-link to="/cityclass" :class="$route.meta.active == 'cityclass' ? 'active':'' ">城市课堂</router-link> |
|
|
|
|
<router-link to="/more" :class="$route.meta.active == 'more' ? 'active':'' ">资源导航</router-link> |
|
|
|
|
<router-link to="/studypath/finereport" :class="$route.meta.active == 'studypath' ? 'active' : ''">学习路径 </router-link> |
|
|
|
|
<router-link to="/video" :class="$route.meta.active == 'video' ? 'active' : ''">视频课</router-link> |
|
|
|
|
<router-link to="/class" :class="$route.meta.active == 'class' ? 'active' : ''">学习班</router-link> |
|
|
|
|
<router-link to="/live" :class="$route.meta.active == 'live' ? 'active' : ''">直播</router-link> |
|
|
|
|
<router-link to="/cityclass" :class="$route.meta.active == 'cityclass' ? 'active' : ''">城市课堂</router-link> |
|
|
|
|
<router-link to="/more" :class="$route.meta.active == 'more' ? 'active' : ''">资源导航</router-link> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
@ -168,18 +151,15 @@
|
|
|
|
|
|
|
|
|
|
<!-- 移动端 --> |
|
|
|
|
<div class="edu-nav-box-m dn" v-else> |
|
|
|
|
|
|
|
|
|
<!-- search --> |
|
|
|
|
<div class="ss-main-box dn" :class="{showss:ssOpen}"> |
|
|
|
|
<div class="ss-main-box dn" :class="{ showss: ssOpen }"> |
|
|
|
|
<div class="search-box-m"> |
|
|
|
|
<form class="searchform" method="get" autocomplete="off" action="https://search.fanruan.com/?q=" target="_blank" |
|
|
|
|
v-if="is_search"> |
|
|
|
|
<form class="searchform" method="get" autocomplete="off" action="https://search.fanruan.com/?q=" target="_blank" v-if="is_search"> |
|
|
|
|
<div class="el-input el-input--small el-input--suffix topsearch flex-1"> |
|
|
|
|
<input class="el-input__inner" name="q" type="text" autocomplete="off" tabindex="" aria-label="" |
|
|
|
|
placeholder="请输入关键词" @focus="isfocus('focus')" @blur="isfocus('blur')" v-on:input="isinput"> |
|
|
|
|
<button class="el-input__suffix search_sub" type="submit" :class="{active_btn:kwbtn}"> |
|
|
|
|
<input class="el-input__inner" name="q" type="text" autocomplete="off" tabindex="" aria-label="" placeholder="请输入关键词" @focus="isfocus('focus')" @blur="isfocus('blur')" v-on:input="isinput" /> |
|
|
|
|
<button class="el-input__suffix search_sub" type="submit" :class="{ active_btn: kwbtn }"> |
|
|
|
|
<span class="el-input__suffix-inner search_btn"> |
|
|
|
|
<i class="iconfont icon-search icon-ss" :class="{active:kwfocus}"></i> |
|
|
|
|
<i class="iconfont icon-search icon-ss" :class="{ active: kwfocus }"></i> |
|
|
|
|
</span> |
|
|
|
|
</button> |
|
|
|
|
</div> |
|
|
|
@ -188,50 +168,52 @@
|
|
|
|
|
<div class="searchform" v-else> |
|
|
|
|
<div class="el-input el-input--small el-input--suffix topsearch flex-1"> |
|
|
|
|
<div class="el-input__inner" style="color: #B5C1D0; line-height: 30px;">登录后方可搜索</div> |
|
|
|
|
<button class="el-input__suffix search_sub" type="submit" :class="{active_btn:kwbtn}"> |
|
|
|
|
<button class="el-input__suffix search_sub" type="submit" :class="{ active_btn: kwbtn }"> |
|
|
|
|
<span class="el-input__suffix-inner search_btn"> |
|
|
|
|
<i class="iconfont icon-search icon-ss" :class="{active:kwfocus}"></i> |
|
|
|
|
<i class="iconfont icon-search icon-ss" :class="{ active: kwfocus }"></i> |
|
|
|
|
</span> |
|
|
|
|
</button> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
<div class="m-box flex-2"> |
|
|
|
|
<div class="flex-3 flex-1"> |
|
|
|
|
|
|
|
|
|
<!-- left --> |
|
|
|
|
<div @click="drawer=true"> |
|
|
|
|
<div @click="drawer = true"> |
|
|
|
|
<i class="iconfont icon-zhankai1 ff18" style="margin-right: 10px;"></i> |
|
|
|
|
<span class="f18">帆软学院</span> |
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
<!-- right --> |
|
|
|
|
<div class="flex-1"> |
|
|
|
|
|
|
|
|
|
<!-- search-btn --> |
|
|
|
|
<div class="ss-btn-m"> |
|
|
|
|
<i v-if="!ssOpen" class="iconfont icon-search ff18 col617 cur-p" @click="funssOpen(false)"></i> |
|
|
|
|
<i v-else class="iconfont icon-cuohao1 ff18 col617 cur-p" @click="funssOpen(true);isfocus('blur');"></i> |
|
|
|
|
<i |
|
|
|
|
v-else |
|
|
|
|
class="iconfont icon-cuohao1 ff18 col617 cur-p" |
|
|
|
|
@click=" |
|
|
|
|
funssOpen(true); |
|
|
|
|
isfocus('blur'); |
|
|
|
|
" |
|
|
|
|
></i> |
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
<el-dropdown v-if="com_user_token" class="personal" ref="userDropdown" trigger="click" |
|
|
|
|
style="margin-left: 26px;"> |
|
|
|
|
<el-dropdown v-if="com_user_token" class="personal" ref="userDropdown" trigger="click" style="margin-left: 26px;"> |
|
|
|
|
<span class="el-dropdown-link"> |
|
|
|
|
<el-avatar :src="avatarUrl + uid" :size="32" fit="cover" icon="el-icon-user-solid"></el-avatar> |
|
|
|
|
</span> |
|
|
|
|
<template #dropdown> |
|
|
|
|
<el-dropdown-menu class="avatar_down"> |
|
|
|
|
|
|
|
|
|
<el-dropdown-item v-for="(item, i) in avatarMenu.baseMenu" :key="i" :icon="item.icon"> |
|
|
|
|
<a class="item-nav" :href="item.url">{{item.name}}</a> |
|
|
|
|
<a class="item-nav" :href="item.url">{{ item.name }}</a> |
|
|
|
|
</el-dropdown-item> |
|
|
|
|
<el-divider></el-divider> |
|
|
|
|
|
|
|
|
|
<el-dropdown-item v-for="(item, i) in avatarMenu.navMenu" :key="i" :icon="item.icon"> |
|
|
|
|
<a class="item-nav" :href="item.url">{{item.name}}</a> |
|
|
|
|
<a class="item-nav" :href="item.url">{{ item.name }}</a> |
|
|
|
|
</el-dropdown-item> |
|
|
|
|
<el-divider></el-divider> |
|
|
|
|
<el-dropdown> |
|
|
|
@ -239,26 +221,21 @@
|
|
|
|
|
</el-dropdown> |
|
|
|
|
<el-divider></el-divider> |
|
|
|
|
<el-dropdown-item v-for="(item, i) in avatarMenu.adminMenu" :key="i" :icon="item.icon"> |
|
|
|
|
<a class="item-nav" :href="item.url">{{item.name}}</a> |
|
|
|
|
<a class="item-nav" :href="item.url">{{ item.name }}</a> |
|
|
|
|
</el-dropdown-item> |
|
|
|
|
<el-divider v-if="avatarMenu.adminMenu?.length>0"></el-divider> |
|
|
|
|
<el-divider v-if="avatarMenu.adminMenu?.length > 0"></el-divider> |
|
|
|
|
|
|
|
|
|
<el-dropdown-item v-for="(item, i) in avatarMenu.footerMenu" :key="i" :icon="item.icon"> |
|
|
|
|
<a class="item-nav" :href="item.url">{{item.name}}</a> |
|
|
|
|
<a class="item-nav" :href="item.url">{{ item.name }}</a> |
|
|
|
|
</el-dropdown-item> |
|
|
|
|
|
|
|
|
|
</el-dropdown-menu> |
|
|
|
|
</template> |
|
|
|
|
</el-dropdown> |
|
|
|
|
|
|
|
|
|
<div v-else class="loginReg flex-1"> |
|
|
|
|
<a class="loginbtn" :href="com_id_url+'/login/signin/'+'?referrer='+wwwUrl" |
|
|
|
|
v-if="com_node_env==='dist'">登录</a> |
|
|
|
|
<a class="loginbtn" :href="com_id_url+'/signin/'+'?isfridapp=inapp&referrer='+wwwUrl" v-else>登录</a> |
|
|
|
|
<a class="loginbtn" :href="com_login_url">登录</a> |
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
@ -267,91 +244,72 @@
|
|
|
|
|
<div class="lf-nav-box-m"> |
|
|
|
|
<el-scrollbar style="height: 100%; width: 99%; position: absolute;"> |
|
|
|
|
<el-menu default-active="2-1" class="el-menu-lf" @open="handleOpen" @close="handleClose"> |
|
|
|
|
|
|
|
|
|
<li v-for="item in allMenu" :key="item.id"> |
|
|
|
|
|
|
|
|
|
<el-submenu index="item.id" v-if="item.ident==='edu'"> |
|
|
|
|
<el-submenu index="item.id" v-if="item.ident === 'edu'"> |
|
|
|
|
<template #title> |
|
|
|
|
<span class="col008 f16"> |
|
|
|
|
{{item.name}} |
|
|
|
|
{{ item.name }} |
|
|
|
|
</span> |
|
|
|
|
</template> |
|
|
|
|
|
|
|
|
|
<el-menu-item-group> |
|
|
|
|
<el-menu-item index="2-1"> |
|
|
|
|
<router-link to="/" class="lfnav-item" @click="drawer=false">学院首页</router-link> |
|
|
|
|
<router-link to="/" class="lfnav-item" @click="drawer = false">学院首页</router-link> |
|
|
|
|
</el-menu-item> |
|
|
|
|
<el-menu-item index="2-2"> |
|
|
|
|
<router-link to="/studypath/finereport" @click="drawer=false" class="lfnav-item" |
|
|
|
|
:class="$route.meta.active == 'studypath' ? 'active':'' ">学习路径 |
|
|
|
|
</router-link> |
|
|
|
|
<router-link to="/studypath/finereport" @click="drawer = false" class="lfnav-item" :class="$route.meta.active == 'studypath' ? 'active' : ''">学习路径 </router-link> |
|
|
|
|
</el-menu-item> |
|
|
|
|
<el-menu-item> |
|
|
|
|
<router-link to="/video" @click="drawer=false" class="lfnav-item" |
|
|
|
|
:class="$route.meta.active == 'video' ? 'active':'' ">视频课 |
|
|
|
|
</router-link> |
|
|
|
|
<router-link to="/video" @click="drawer = false" class="lfnav-item" :class="$route.meta.active == 'video' ? 'active' : ''">视频课 </router-link> |
|
|
|
|
</el-menu-item> |
|
|
|
|
<el-menu-item> |
|
|
|
|
<router-link to="/class" @click="drawer=false" class="lfnav-item" |
|
|
|
|
:class="$route.meta.active == 'class' ? 'active':'' ">学习班 |
|
|
|
|
</router-link> |
|
|
|
|
<router-link to="/class" @click="drawer = false" class="lfnav-item" :class="$route.meta.active == 'class' ? 'active' : ''">学习班 </router-link> |
|
|
|
|
</el-menu-item> |
|
|
|
|
<el-menu-item> |
|
|
|
|
<router-link to="/live" @click="drawer=false" class="lfnav-item" |
|
|
|
|
:class="$route.meta.active == 'live' ? 'active':'' ">直播 |
|
|
|
|
</router-link> |
|
|
|
|
<router-link to="/live" @click="drawer = false" class="lfnav-item" :class="$route.meta.active == 'live' ? 'active' : ''">直播 </router-link> |
|
|
|
|
</el-menu-item> |
|
|
|
|
<el-menu-item> |
|
|
|
|
<router-link to="/cityclass" @click="drawer=false" class="lfnav-item" |
|
|
|
|
:class="$route.meta.active == 'cityclass' ? 'active':'' "> |
|
|
|
|
城市课堂</router-link> |
|
|
|
|
<router-link to="/cityclass" @click="drawer = false" class="lfnav-item" :class="$route.meta.active == 'cityclass' ? 'active' : ''"> 城市课堂</router-link> |
|
|
|
|
</el-menu-item> |
|
|
|
|
<el-menu-item> |
|
|
|
|
<router-link to="/more" @click="drawer=false" class="lfnav-item" |
|
|
|
|
:class="$route.meta.active == 'more' ? 'active':'' ">资源导航 |
|
|
|
|
</router-link> |
|
|
|
|
<router-link to="/more" @click="drawer = false" class="lfnav-item" :class="$route.meta.active == 'more' ? 'active' : ''">资源导航 </router-link> |
|
|
|
|
</el-menu-item> |
|
|
|
|
</el-menu-item-group> |
|
|
|
|
</el-submenu> |
|
|
|
|
|
|
|
|
|
<el-menu-item :index="item.id" v-if="!item.children && item.ident!='edu'"> |
|
|
|
|
<el-menu-item :index="item.id" v-if="!item.children && item.ident != 'edu'"> |
|
|
|
|
<template #title> |
|
|
|
|
<a class="lfnav-item" :href="item.url">{{item.name}}</a> |
|
|
|
|
<a class="lfnav-item" :href="item.url">{{ item.name }}</a> |
|
|
|
|
</template> |
|
|
|
|
</el-menu-item> |
|
|
|
|
|
|
|
|
|
<el-submenu :index="item.id" v-else-if="item.ident!='edu'"> |
|
|
|
|
<el-submenu :index="item.id" v-else-if="item.ident != 'edu'"> |
|
|
|
|
<template #title> |
|
|
|
|
<span>{{item.name}}</span> |
|
|
|
|
<span>{{ item.name }}</span> |
|
|
|
|
</template> |
|
|
|
|
<el-menu-item-group> |
|
|
|
|
<el-menu-item v-for="child in item.children" :key="child.id"> |
|
|
|
|
<a class="lfnav-item" :href="child.url">{{child.name}}</a> |
|
|
|
|
<a class="lfnav-item" :href="child.url">{{ child.name }}</a> |
|
|
|
|
</el-menu-item> |
|
|
|
|
</el-menu-item-group> |
|
|
|
|
</el-submenu> |
|
|
|
|
|
|
|
|
|
</li> |
|
|
|
|
|
|
|
|
|
</el-menu> |
|
|
|
|
</el-scrollbar> |
|
|
|
|
</div> |
|
|
|
|
</el-drawer> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</template> |
|
|
|
|
<script> |
|
|
|
|
import { defineComponent, reactive, toRefs, ref, getCurrentInstance } from "vue"; |
|
|
|
|
import teacherApplyModal from '@/components/TeacherApply/TeacherApplyModal'; |
|
|
|
|
import { getMenuList } from "@/api/nav"; |
|
|
|
|
import { getNotice, avatarMenu } from "@/api/user"; |
|
|
|
|
import store from '@/store'; |
|
|
|
|
import { onBeforeRouteUpdate } from 'vue-router' |
|
|
|
|
|
|
|
|
|
export default defineComponent({ |
|
|
|
|
import { defineComponent, reactive, toRefs, ref, getCurrentInstance } from "vue"; |
|
|
|
|
import teacherApplyModal from "@/components/TeacherApply/TeacherApplyModal"; |
|
|
|
|
import { getMenuList } from "@/api/nav"; |
|
|
|
|
import { getNotice, avatarMenu } from "@/api/user"; |
|
|
|
|
import store from "@/store"; |
|
|
|
|
import { onBeforeRouteUpdate } from "vue-router"; |
|
|
|
|
|
|
|
|
|
export default defineComponent({ |
|
|
|
|
components: { |
|
|
|
|
teacherApplyModal |
|
|
|
|
teacherApplyModal, |
|
|
|
|
}, |
|
|
|
|
name: "Header", |
|
|
|
|
setup() { |
|
|
|
@ -370,17 +328,17 @@
|
|
|
|
|
is_search: false, |
|
|
|
|
drawer: false, |
|
|
|
|
ssOpen: false, |
|
|
|
|
avatarUrl: 'https://bbs.fanruan.com/uc_server/avatar.php?uid=', |
|
|
|
|
avatarUrl: "https://bbs.fanruan.com/uc_server/avatar.php?uid=", |
|
|
|
|
uid: 0, |
|
|
|
|
wwwUrl: '' |
|
|
|
|
wwwUrl: "", |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
state.wwwUrl = window.location.href; |
|
|
|
|
onBeforeRouteUpdate((to) => { |
|
|
|
|
state.wwwUrl = proxy.$root.com_edu_url + to.path; |
|
|
|
|
}) |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
window.addEventListener('resize', function() { |
|
|
|
|
window.addEventListener("resize", function() { |
|
|
|
|
state.isPc = document.body.clientWidth > 1200; |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
@ -415,7 +373,7 @@
|
|
|
|
|
if (res.code === 200) { |
|
|
|
|
state.u_notice = res.data.system; |
|
|
|
|
if (state.u_notice > 0) { |
|
|
|
|
state.is_dot = true |
|
|
|
|
state.is_dot = true; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
@ -423,7 +381,7 @@
|
|
|
|
|
resNotice(); |
|
|
|
|
state.uid = store.getters.get_uid; |
|
|
|
|
state.is_search = true; |
|
|
|
|
setTimeout(function () { |
|
|
|
|
setTimeout(function() { |
|
|
|
|
fetchavatarMenu(); |
|
|
|
|
}, 500); |
|
|
|
|
} else { |
|
|
|
@ -441,9 +399,9 @@
|
|
|
|
|
function isinput(e) { |
|
|
|
|
const { value } = e.target; |
|
|
|
|
if (value) { |
|
|
|
|
state.kwbtn = 1 |
|
|
|
|
state.kwbtn = 1; |
|
|
|
|
} else { |
|
|
|
|
state.kwbtn = 0 |
|
|
|
|
state.kwbtn = 0; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -457,21 +415,21 @@
|
|
|
|
|
|
|
|
|
|
return { |
|
|
|
|
...toRefs(state), |
|
|
|
|
input: ref(''), |
|
|
|
|
input: ref(""), |
|
|
|
|
isfocus, |
|
|
|
|
isinput, |
|
|
|
|
funssOpen, |
|
|
|
|
}; |
|
|
|
|
}, |
|
|
|
|
}); |
|
|
|
|
}); |
|
|
|
|
</script> |
|
|
|
|
|
|
|
|
|
<style lang="scss" scoped> |
|
|
|
|
.el-divider--horizontal { |
|
|
|
|
.el-divider--horizontal { |
|
|
|
|
margin: 8px 0; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.app_qrcode_box { |
|
|
|
|
.app_qrcode_box { |
|
|
|
|
.toptxt { |
|
|
|
|
i { |
|
|
|
|
font-size: 20px; |
|
|
|
@ -482,10 +440,9 @@
|
|
|
|
|
font-size: 16px; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.qrcode-box { |
|
|
|
|
.qrcode-box { |
|
|
|
|
width: 220px; |
|
|
|
|
font-size: 14px; |
|
|
|
|
|
|
|
|
@ -498,7 +455,7 @@
|
|
|
|
|
height: 40px; |
|
|
|
|
|
|
|
|
|
a { |
|
|
|
|
color: #8C8C8C; |
|
|
|
|
color: #8c8c8c; |
|
|
|
|
margin-left: 12px; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
@ -507,13 +464,13 @@
|
|
|
|
|
height: 40px; |
|
|
|
|
|
|
|
|
|
a { |
|
|
|
|
color: #FF7A45; |
|
|
|
|
color: #ff7a45; |
|
|
|
|
margin-left: 8px; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.header { |
|
|
|
|
.header { |
|
|
|
|
height: 48px; |
|
|
|
|
background: #fff; |
|
|
|
|
padding: 0 40px 0 20px; |
|
|
|
@ -531,7 +488,6 @@
|
|
|
|
|
min-width: 400px; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.nav { |
|
|
|
|
position: relative; |
|
|
|
|
height: 100%; |
|
|
|
@ -596,12 +552,11 @@
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.search-box { |
|
|
|
|
height: 48px; |
|
|
|
|
margin: 0 auto; |
|
|
|
|
width: 40%; |
|
|
|
|
transition: all .2s; |
|
|
|
|
transition: all 0.2s; |
|
|
|
|
|
|
|
|
|
.searchform { |
|
|
|
|
width: 100%; |
|
|
|
@ -634,82 +589,80 @@
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.el-input__inner { |
|
|
|
|
border: none; |
|
|
|
|
border: 1px solid #EEF3FA; |
|
|
|
|
background-color: #EEF3FA; |
|
|
|
|
border: 1px solid #eef3fa; |
|
|
|
|
background-color: #eef3fa; |
|
|
|
|
border-radius: 100px; |
|
|
|
|
font-size: 14px; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.el-input__inner:focus { |
|
|
|
|
border: 1px solid #0082FC; |
|
|
|
|
border: 1px solid #0082fc; |
|
|
|
|
background-color: #fff; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
::placeholder { |
|
|
|
|
color: #8496AB !important; |
|
|
|
|
} |
|
|
|
|
color: #8496ab !important; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/*响应式-小屏幕*/ |
|
|
|
|
@media screen and (max-width: 1800px) { |
|
|
|
|
/*响应式-小屏幕*/ |
|
|
|
|
@media screen and (max-width: 1800px) { |
|
|
|
|
.search-box { |
|
|
|
|
width: 36% !important; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@media screen and (max-width: 1700px) { |
|
|
|
|
@media screen and (max-width: 1700px) { |
|
|
|
|
.search-box { |
|
|
|
|
width: 32% !important; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@media screen and (max-width: 1600px) { |
|
|
|
|
@media screen and (max-width: 1600px) { |
|
|
|
|
.search-box { |
|
|
|
|
width: 28% !important; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@media screen and (max-width: 1500px) { |
|
|
|
|
@media screen and (max-width: 1500px) { |
|
|
|
|
.search-box { |
|
|
|
|
width: 25% !important; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@media screen and (max-width: 1400px) { |
|
|
|
|
@media screen and (max-width: 1400px) { |
|
|
|
|
.search-box { |
|
|
|
|
width: 20% !important; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@media screen and (max-width: 1300px) { |
|
|
|
|
@media screen and (max-width: 1300px) { |
|
|
|
|
.search-box { |
|
|
|
|
width: 15% !important; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.el-popper { |
|
|
|
|
.el-popper { |
|
|
|
|
.nav-item { |
|
|
|
|
padding: 0 20px; |
|
|
|
|
color: #8496AB; |
|
|
|
|
color: #8496ab; |
|
|
|
|
|
|
|
|
|
&:hover { |
|
|
|
|
color: #0082FC; |
|
|
|
|
} |
|
|
|
|
color: #0082fc; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.el-dropdown-selfdefine { |
|
|
|
|
.el-dropdown-selfdefine { |
|
|
|
|
font-size: 16px; |
|
|
|
|
color: #333; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.avatar_down { |
|
|
|
|
.avatar_down { |
|
|
|
|
width: 234px; |
|
|
|
|
display: flex; |
|
|
|
|
justify-content: space-between; |
|
|
|
@ -718,13 +671,13 @@
|
|
|
|
|
.item-nav { |
|
|
|
|
display: inline-block; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.avatar_down li:hover { |
|
|
|
|
.avatar_down li:hover { |
|
|
|
|
background: none; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.loginReg { |
|
|
|
|
.loginReg { |
|
|
|
|
padding-left: 26px; |
|
|
|
|
|
|
|
|
|
span { |
|
|
|
@ -737,7 +690,7 @@
|
|
|
|
|
font-size: 14px; |
|
|
|
|
color: #fff; |
|
|
|
|
padding: 5px 20px; |
|
|
|
|
background: linear-gradient(270deg, #0082FC 0%, #00BBFE 100%); |
|
|
|
|
background: linear-gradient(270deg, #0082fc 0%, #00bbfe 100%); |
|
|
|
|
|
|
|
|
|
@keyframes gradientBG { |
|
|
|
|
0% { |
|
|
|
@ -755,26 +708,22 @@
|
|
|
|
|
|
|
|
|
|
&:hover { |
|
|
|
|
color: #fff; |
|
|
|
|
background: linear-gradient(60deg, #0070d8, #0082FC, #00BBFE, #0ec4fc, #0082FC, #0070d8); |
|
|
|
|
background: linear-gradient(60deg, #0070d8, #0082fc, #00bbfe, #0ec4fc, #0082fc, #0070d8); |
|
|
|
|
background-size: 400% 400%; |
|
|
|
|
animation: gradientBG 4s ease infinite; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
a { |
|
|
|
|
color: #8496ab; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
a:hover { |
|
|
|
|
color: #0082FC; |
|
|
|
|
} |
|
|
|
|
color: #0082fc; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.notice_box { |
|
|
|
|
.notice_box { |
|
|
|
|
padding: 4px 0 0 0px; |
|
|
|
|
|
|
|
|
|
.icon-icon_icon-66 { |
|
|
|
@ -782,89 +731,88 @@
|
|
|
|
|
color: #333; |
|
|
|
|
margin: 0; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.i_item { |
|
|
|
|
.i_item { |
|
|
|
|
.i_txt { |
|
|
|
|
padding-right: 30px; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
::v-deep .el-badge__content { |
|
|
|
|
background-color: #FF3D23 !important; |
|
|
|
|
::v-deep .el-badge__content { |
|
|
|
|
background-color: #ff3d23 !important; |
|
|
|
|
border: none; |
|
|
|
|
margin: 6px 4px 0 0; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
</style> |
|
|
|
|
|
|
|
|
|
<style lang="scss"> |
|
|
|
|
.edu-head { |
|
|
|
|
.edu-head { |
|
|
|
|
height: 70px; |
|
|
|
|
background: #fff; |
|
|
|
|
display: flex; |
|
|
|
|
justify-content: space-between; |
|
|
|
|
align-items: center; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.edu-head .logo img { |
|
|
|
|
.edu-head .logo img { |
|
|
|
|
height: 34px; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.edu-nav a { |
|
|
|
|
.edu-nav a { |
|
|
|
|
margin-left: 40px; |
|
|
|
|
font-size: 18px |
|
|
|
|
} |
|
|
|
|
font-size: 18px; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.edu-nav-box { |
|
|
|
|
.edu-nav-box { |
|
|
|
|
background: #fff; |
|
|
|
|
box-shadow: 0px 4px 6px -3px rgba(179, 193, 211, 0.3); |
|
|
|
|
z-index: 6; |
|
|
|
|
position: relative |
|
|
|
|
} |
|
|
|
|
position: relative; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.el-dropdown-menu__item { |
|
|
|
|
.el-dropdown-menu__item { |
|
|
|
|
min-width: 117px; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
</style> |
|
|
|
|
|
|
|
|
|
<style lang="scss"> |
|
|
|
|
/*响应式-移动端*/ |
|
|
|
|
.edu-nav-box-m { |
|
|
|
|
/*响应式-移动端*/ |
|
|
|
|
.edu-nav-box-m { |
|
|
|
|
background: #fff; |
|
|
|
|
box-shadow: 0px 4px 6px -3px rgba(179, 193, 211, 0.3); |
|
|
|
|
z-index: 6; |
|
|
|
|
position: relative; |
|
|
|
|
height: 50px; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.m-box { |
|
|
|
|
.m-box { |
|
|
|
|
height: 50px; |
|
|
|
|
padding: 0 20px; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.ss-main-box { |
|
|
|
|
.ss-main-box { |
|
|
|
|
position: absolute; |
|
|
|
|
background-color: #fff; |
|
|
|
|
width: 100%; |
|
|
|
|
padding: 0 20px; |
|
|
|
|
transition: all .3s; |
|
|
|
|
transition: all 0.3s; |
|
|
|
|
margin-top: 0; |
|
|
|
|
box-shadow: 0px 4px 6px -3px rgba(179, 193, 211, 0.3); |
|
|
|
|
z-index: -1px; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.showss { |
|
|
|
|
transition: all .3s; |
|
|
|
|
.showss { |
|
|
|
|
transition: all 0.3s; |
|
|
|
|
margin-top: 50px; |
|
|
|
|
display: block !important; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.search-box-m { |
|
|
|
|
.search-box-m { |
|
|
|
|
height: 48px; |
|
|
|
|
padding-top: 3px; |
|
|
|
|
width: 100%; |
|
|
|
|
transition: all .2s; |
|
|
|
|
transition: all 0.2s; |
|
|
|
|
|
|
|
|
|
.searchform { |
|
|
|
|
width: 100%; |
|
|
|
@ -897,32 +845,31 @@
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.el-input__inner { |
|
|
|
|
border: none; |
|
|
|
|
border: 1px solid #EEF3FA; |
|
|
|
|
background-color: #EEF3FA; |
|
|
|
|
border: 1px solid #eef3fa; |
|
|
|
|
background-color: #eef3fa; |
|
|
|
|
border-radius: 100px; |
|
|
|
|
font-size: 14px; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.el-input__inner:focus { |
|
|
|
|
border: 1px solid #0082FC; |
|
|
|
|
border: 1px solid #0082fc; |
|
|
|
|
background-color: #fff; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
::placeholder { |
|
|
|
|
color: #8496AB !important; |
|
|
|
|
} |
|
|
|
|
color: #8496ab !important; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/* 导航 */ |
|
|
|
|
.lfnav-item { |
|
|
|
|
/* 导航 */ |
|
|
|
|
.lfnav-item { |
|
|
|
|
display: block; |
|
|
|
|
font-size: 15px; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.drawerHead { |
|
|
|
|
.drawerHead { |
|
|
|
|
text-align: left; |
|
|
|
|
|
|
|
|
|
.el-submenu__icon-arrow, |
|
|
|
@ -954,5 +901,5 @@
|
|
|
|
|
.el-menu { |
|
|
|
|
border: none; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
</style> |