| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369 |
- <template>
- <!-- 顶部导航栏 -->
- <view class="topMenuBox df jcsb">
- <view class="df fdr">
- <!-- 左侧导航icon -->
- <view class="df aic jcc topMenu-lefticon" @click="onTopMenuIconClick">
- <img src="../assets/topMenu/leftUpIcon.png" />
- </view>
- <!-- 左上角标题 -->
- <view class="df aic topMenu-lefttitle-box">
- <view v-show="middleShowIndex==0">影视现场实时特效虚拟仿真实验</view>
- <view v-show="middleShowIndex==1" class="df fdr aic">
- <img src="../assets/learning/icon_ksxx_qxzb.png"></img>
- <view>前序准备</view>
- <view class="topMenu-lefttitle-line"></view>
- </view>
- <view v-show="middleShowIndex==2" class="df fdr aic">
- <img src="../assets/learning/icon_ksxx_xxysy.png"></img>
- <view>学习与实验</view>
- <view class="topMenu-lefttitle-line"></view>
- </view>
- <view v-show="middleShowIndex==3" class="df fdr aic">
- <img src="../assets/learning/icon_ksxx_qxzb.png"></img>
- <view>原理认知</view>
- <view class="topMenu-lefttitle-line"></view>
- </view>
- <view v-show="middleShowIndex==4" class="df fdr aic">
- <img src="../assets/learning/icon_ksxx_qxzb.png"></img>
- <view v-for="(syjjTitle,syjjTitleI) in titleSYJJ" :key="syjjTitleI" v-show="syjjTitleI==checkedIndexSYJJ">
- {{syjjTitle}}
- </view>
- <view class="topMenu-lefttitle-line"></view>
- </view>
- <view v-show="middleShowIndex==9">虚拟仿真实验后台</view>
- </view>
- </view>
- <!-- 中间几个导航标题 -->
- <!-- 首页开始学习那几个 -->
- <view class="df aic topMenu-middleMenu" v-show="middleShowIndex==0">
- <view v-for="(item,i) in titleText" :key="i" @click="onTitleClick_SY(i)" class="df fdr aic jcc topMenu-middleMenu-item">
- <view>
- <img :src="curTitleSrc[i]"></img>
- </view>
- <view class="topMenu-middleMenu-item-text" :style="{color:curTitleColor[i]}">{{item}}</view>
- </view>
- </view>
- <!-- 前序准备 -->
- <view class="df aic topMenu-middleMenu" v-show="middleShowIndex==1">
- <view v-for="(item,i) in titleQXZB" :key="i" @click="onTitleClick_QXZB(i)" class="df fdc aic jcc top2thTitle-item">
- <view class="top2thTitle-item-text df aic" :style="{color:checkedIndexQXZB==i?titleColorChecked:titleColorUnchecked}">{{item}}</view>
- <view class="top2thTitle-item-line" :style="{opacity: checkedIndexQXZB==i?1:0}"></view>
- </view>
- </view>
- <!-- 学习与实验 -->
- <view class="df aic topMenu-middleMenu" v-show="middleShowIndex==2">
- <view v-for="(item,i) in titleXXYSY" :key="i" @click="onTitleClick_XXYSY(i)" class="df fdc aic jcc top2thTitle-item">
- <view class="top2thTitle-item-text df aic" :style="{color:checkedIndexXXYSY==i?titleColorChecked:titleColorUnchecked}">{{item}}</view>
- <view class="top2thTitle-item-line" :style="{opacity: checkedIndexXXYSY==i?1:0}"></view>
- </view>
- </view>
- <!-- 右侧登录或个人头像名字等 -->
- <view class="df jcc aic topMenu-rightbox">
- <!-- 原理认知页面-返回上一层 -->
- <view class="ylrz-return df aic fdr" v-show="returnShowIndex==1" @click="onClick_return">
- <view class="df">
- <img src="../assets/topMenu/icon_return.png" />
- </view>
- <view class="ylrz-return-text">返回上一层</view>
- </view>
- <!-- 登录按钮 -->
- <view v-show="loginShowIndex==0" class="df jcc aic btnLogin" id="btnLogin" @click="onLoginClick">登录</view>
- <!-- 头像名字 -->
- <view v-show="loginShowIndex==1" class="df aic">
- <view>
- <img src="../assets/topMenu/introductionToTheExperimentChecked.png" />
- </view>
- <view class="topMenu-rightbox-text">学生</view>
- <view>
- <img src="../assets/topMenu/arrowDown.png" />
- </view>
- </view>
- </view>
- </view>
- </template>
- <script>
- export default {
- data() {
- return {
- //中间导航状态 0首页1前序准备2学习与实验3原理认知
- middleShowIndex: 0,
- // //右侧显示信息0登录按钮1个人头像信息2返回上一层
- // rightShowIndex: 0,
- //0登录按钮1个人头像信息
- loginShowIndex: 0,
- //返回上一层 0不显示1显示
- returnShowIndex: 0,
- // visibleLogin: true,
- // visibleInfo: false,
- visibleMiddle: true,
- curTitleSrc: [
- require("../assets/topMenu/introductionToTheExperimentUnchecked.png"),
- require("../assets/topMenu/learningProcessUnchecked.png"),
- require("../assets/topMenu/startLearningUnchecked.png")
- ],
- curTitleColor: [
- "#020202",
- "#020202",
- "#020202"
- ],
- checkedIndexQXZB: 0, //选中的前序准备的菜单
- checkedIndexXXYSY: 0, //选中的学习与实验的菜单
- checkedIndexSYJJ: 0, //选中的实验简介的菜单
- //////////////////////以下皆为静态
- titleText: ["实验简介", "学习流程", "开始学习"],
- //首页-中间标题选中时icon
- titleSrcChecked: [
- require("../assets/topMenu/introductionToTheExperimentChecked.png"),
- require("../assets/topMenu/learningProcessChecked.png"),
- require("../assets/topMenu/startLearningChecked.png")
- ],
- //首页-中间标题未选中时icon
- titleSrcUnchecked: [
- require("../assets/topMenu/introductionToTheExperimentUnchecked.png"),
- require("../assets/topMenu/learningProcessUnchecked.png"),
- require("../assets/topMenu/startLearningUnchecked.png")
- ],
- //首页-中间标题选中时颜色
- titleColorChecked: "#EA252C",
- //首页-中间标题未选中时颜色
- titleColorUnchecked: "#020202",
- //前序准备
- titleQXZB: ["实验前言", "实验流程步骤", "教学引导视频", "基础知识"],
- //学习与实验
- titleXXYSY: ["原理认知", "实景勘察", "虚拟技术搭建", "虚拟艺术创作", "虚拟资源库建设"],
- //实验简介
- titleSYJJ: ['评审账号', '快速进入实验', '实验概述', '使用环境与技术构架', '项目简介视频'],
- titleManager: ["虚拟仿真实验后台"]
- }
- },
- methods: {
- //初始化数据
- initData() {
- this.curTitleSrc = this.titleSrcUnchecked;
- this.curTitleColor = this.titleColorUnchecked;
- },
- onLoginClick() {
- this.$emit("onLoginClick");
- },
- //首页标题点击
- onTitleClick_SY(index) {
- // console.log("点击了", index);
- this.$emit("onTopSYClick", index);
- this.$forceUpdate();
- //改变颜色
- for (let i = 0; i < 3; i++) {
- if (i == index) {
- this.curTitleSrc[i] = this.titleSrcChecked[i];
- this.curTitleColor[i] = this.titleColorChecked;
- } else {
- this.curTitleSrc[i] = this.titleSrcUnchecked[i];
- this.curTitleColor[i] = this.titleColorUnchecked;
- }
- }
- },
- //切换右侧状态
- // switchRightState(index) {
- // this.rightShowIndex = index;
- // },
- //切换登录状态
- switchLoginState(isLogged) {
- if (isLogged) {
- // this.visibleLogin = false;
- // this.visibleInfo = true;
- // this.switchRightState(1);
- this.loginShowIndex = 1;
- } else {
- // this.visibleLogin = true;
- // this.visibleInfo = false;
- // this.switchRightState(0);
- this.loginShowIndex = 0;
- }
- },
- //切换中间导航状态
- switchMiddleState(state) {
- switch (state) {
- case topMenuS.SY:
- this.middleShowIndex = 0;
- // this.switchRightState(0);
- this.returnShowIndex = 0;
- this.loginShowIndex = 0;
- break;
- case topMenuS.QXZB:
- this.middleShowIndex = 1
- // this.switchRightState(0);
- this.returnShowIndex = 0;
- this.loginShowIndex = 0;
- break;
- case topMenuS.XXYSY:
- this.middleShowIndex = 2
- // this.switchRightState(0);
- this.returnShowIndex = 0;
- this.loginShowIndex = 0;
- break;
- case topMenuS.YLRZ:
- this.middleShowIndex = 3
- // this.switchRightState(2);
- this.returnShowIndex = 1;
- this.loginShowIndex = -1;
- break;
- case topMenuS.SYJJ:
- this.middleShowIndex = 4
- // this.switchRightState(2);
- this.returnShowIndex = 1;
- this.loginShowIndex = 0;
- break;
- case topMenuS.manager:
- this.middleShowIndex = 9;
- this.returnShowIndex = 2;
- this.loginShowIndex = -1;
- break;
- default:
- console.log("切换中间导航状态", state);
- }
- },
- //前序准备标题点击
- onTitleClick_QXZB(index) {
- // console.log("前序准备标题点击",index);
- this.checkedIndexQXZB = index;
- this.$emit("onTopQXZBClick", index);
- // this.$forceUpdate();
- },
- onTitleClick_XXYSY(index) {
- this.checkedIndexXXYSY = index;
- this.$emit("onTopXXYSYClick", index);
- // console.log("学习与实验topmenu",index);
- },
- onTopMenuIconClick() {
- this.$emit("onTopMenuIconClick");
- console.log("顶部icon点击");
- },
- //原理认知-返回上一层:返回到开始学习-学习与实验的展开页 type-3
- //实验简介-返回上一层:返回到实验简介的展开页 type-4
- onClick_return() {
- let type = this.middleShowIndex;
- this.$emit("onClick_return", type);
- this.switchMiddleState(topMenuS.SY);
- },
- switchState_syjj(index) {
- this.checkedIndexSYJJ = index;
- }
- }
- }
- </script>
- <style lang="scss">
- .topMenuBox {
- width: 100%;
- // height: px2vw(119);
- // height: 11%;
- background: #FFFFFF;
- box-shadow: 3px 0px 6px 0px rgba(0, 0, 0, 0.1);
- position: fixed;
- }
- .topMenu-lefticon {
- width: 6.2vw;
- height: 6.2vw;
- background: #EA252C;
- }
- .topMenu-lefttitle-box {
- margin-left: 2.4vw;
- font-size: 1.5vw;
- font-family: MicrosoftYaHei;
- color: #323232;
- margin-right: 2.4vw;
- }
- .topMenu-lefttitle-box img {
- width: px2vw(50);
- margin-right: px2vw(18);
- }
- .topMenu-lefttitle-line {
- width: px2vw(2);
- // width: 1px;
- height: px2vw(53);
- background: #D5D5D5;
- margin-left: px2vw(32);
- }
- .topMenu-middleMenu {
- /* display: none; */
- flex-grow: 1;
- /* justify-content: center; */
- justify-content: space-evenly;
- }
- /* .topMenu-middleMenu-item {
- margin-left: 71px;
- } */
- .topMenu-middleMenu-item-text {
- margin-left: px2vw(20);
- }
- .topMenu-rightbox {
- margin-right: px2vw(58);
- margin-left: px2vw(58);
- }
- .btnLogin {
- width: 6.2vw;
- height: 3vw;
- background: #EA252C;
- border-radius: 8px;
- font-size: 1.14vw;
- font-family: MicrosoftYaHei;
- color: #FFFFFF;
- line-height: 1.5vw;
- letter-spacing: 1px;
- }
- .topMenu-rightbox-text {
- margin-left: px2vw(18);
- margin-right: px2vw(23);
- }
- .top2thTitle-item {
- height: 100%;
- }
- // 二级目录标题字
- .top2thTitle-item-text {
- flex: 1;
- font-size: px2vw(24);
- color: #323232;
- }
- // 二级目录标题红线
- .top2thTitle-item-line {
- width: px2vw(110);
- height: px2vw(6);
- background: #EA252C;
- border-radius: px2vw(5);
- }
- //返回上一层
- .ylrz-return {
- margin-right: px2vw(43);
- }
- .ylrz-return img {
- width: px2vw(23);
- }
- .ylrz-return-text {
- font-size: px2vw(24);
- color: #EA252C;
- margin-left: px2vw(14);
- }
- </style>
|