mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-13 04:46:46 +08:00
--fix 字典管理
This commit is contained in:
@@ -1,45 +1,46 @@
|
|||||||
<template>
|
<template>
|
||||||
<div
|
<div
|
||||||
class="navLeft"
|
class="navLeft"
|
||||||
:style="{
|
:style="{
|
||||||
width: packup ? '100px' : '208px',
|
width: packup ? '100px' : '208px',
|
||||||
'min-height': screenHeight - 80 + 'px',
|
'min-height': screenHeight - 80 + 'px',
|
||||||
}"
|
}"
|
||||||
>
|
>
|
||||||
<div style="display: flex; justify-content: flex-end">
|
<div style="display: flex; justify-content: flex-end">
|
||||||
<img
|
<img
|
||||||
class="packup"
|
class="packup"
|
||||||
src="../assets/images/navleft/packup.png"
|
src="../assets/images/navleft/packup.png"
|
||||||
@click="packUp"
|
@click="packUp"
|
||||||
:style="{ 'margin-right': packup ? '36px' : '14px' }"
|
:style="{ 'margin-right': packup ? '36px' : '14px' }"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
style="width: 100%; margin-top: 26px"
|
style="width: 100%; margin-top: 26px"
|
||||||
:style="{ display: packup ? 'none' : 'block' }"
|
:style="{ display: packup ? 'none' : 'block' }"
|
||||||
>
|
>
|
||||||
<a-menu
|
<a-menu
|
||||||
id="dddddd"
|
id="dddddd"
|
||||||
:open-keys="openKeys"
|
:open-keys="openKeys"
|
||||||
:selectedKeys="selectedKeys"
|
:selectedKeys="selectedKeys"
|
||||||
style="width: 208px"
|
style="width: 208px"
|
||||||
mode="inline"
|
mode="inline"
|
||||||
@openChange="onOpenChange"
|
@openChange="onOpenChange"
|
||||||
@select="selectItem"
|
@select="selectItem"
|
||||||
>
|
>
|
||||||
<a-sub-menu v-if="checkMenu('coursereviewedn,coursereviewed,projectreviewedn,projectreviewed')" key="sub10" @titleClick="titleClick">
|
<a-sub-menu v-if="checkMenu('coursereviewedn,coursereviewed,projectreviewedn,projectreviewed')" key="sub10"
|
||||||
|
@titleClick="titleClick">
|
||||||
<template #icon>
|
<template #icon>
|
||||||
<div class="imgBox">
|
<div class="imgBox">
|
||||||
<img
|
<img
|
||||||
style="width: 22px; height: 22px"
|
style="width: 22px; height: 22px"
|
||||||
src="../assets/images/navleft/review.png"
|
src="../assets/images/navleft/review.png"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<template #title>审核管理</template>
|
<template #title>审核管理</template>
|
||||||
<a-menu-item key="sub10-1" v-if="checkMenu('coursereviewedn')">
|
<a-menu-item key="sub10-1" v-if="checkMenu('coursereviewedn')">
|
||||||
<span
|
<span
|
||||||
:class="{
|
:class="{
|
||||||
circleActive: selectedKeys[0] === 'sub10-1' ? true : false,
|
circleActive: selectedKeys[0] === 'sub10-1' ? true : false,
|
||||||
circle: selectedKeys[0] === 'sub10-1' ? false : true,
|
circle: selectedKeys[0] === 'sub10-1' ? false : true,
|
||||||
}"
|
}"
|
||||||
@@ -48,7 +49,7 @@
|
|||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
<a-menu-item key="sub10-2" v-if="checkMenu('coursereviewed')">
|
<a-menu-item key="sub10-2" v-if="checkMenu('coursereviewed')">
|
||||||
<span
|
<span
|
||||||
:class="{
|
:class="{
|
||||||
circleActive: selectedKeys[0] === 'sub10-2' ? true : false,
|
circleActive: selectedKeys[0] === 'sub10-2' ? true : false,
|
||||||
circle: selectedKeys[0] === 'sub10-2' ? false : true,
|
circle: selectedKeys[0] === 'sub10-2' ? false : true,
|
||||||
}"
|
}"
|
||||||
@@ -57,7 +58,7 @@
|
|||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
<a-menu-item key="sub10-3" v-if="checkMenu('projectreviewedn')">
|
<a-menu-item key="sub10-3" v-if="checkMenu('projectreviewedn')">
|
||||||
<span
|
<span
|
||||||
:class="{
|
:class="{
|
||||||
circleActive: selectedKeys[0] === 'sub10-3' ? true : false,
|
circleActive: selectedKeys[0] === 'sub10-3' ? true : false,
|
||||||
circle: selectedKeys[0] === 'sub10-3' ? false : true,
|
circle: selectedKeys[0] === 'sub10-3' ? false : true,
|
||||||
}"
|
}"
|
||||||
@@ -66,7 +67,7 @@
|
|||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
<a-menu-item key="sub10-4" v-if="checkMenu('projectreviewed')">
|
<a-menu-item key="sub10-4" v-if="checkMenu('projectreviewed')">
|
||||||
<span
|
<span
|
||||||
:class="{
|
:class="{
|
||||||
circleActive: selectedKeys[0] === 'sub10-4' ? true : false,
|
circleActive: selectedKeys[0] === 'sub10-4' ? true : false,
|
||||||
circle: selectedKeys[0] === 'sub10-4' ? false : true,
|
circle: selectedKeys[0] === 'sub10-4' ? false : true,
|
||||||
}"
|
}"
|
||||||
@@ -78,8 +79,8 @@
|
|||||||
<a-menu-item key="sub1" @titleClick="titleClick" v-if="checkMenu('learningpath')">
|
<a-menu-item key="sub1" @titleClick="titleClick" v-if="checkMenu('learningpath')">
|
||||||
<div class="imgBox">
|
<div class="imgBox">
|
||||||
<img
|
<img
|
||||||
style="width: 20px; height: 18px"
|
style="width: 20px; height: 18px"
|
||||||
src="../assets/images/navleft/studyPath.png"
|
src="../assets/images/navleft/studyPath.png"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<router-link to="/learningpath">学习路径图</router-link>
|
<router-link to="/learningpath">学习路径图</router-link>
|
||||||
@@ -89,15 +90,15 @@
|
|||||||
<template #icon>
|
<template #icon>
|
||||||
<div class="imgBox">
|
<div class="imgBox">
|
||||||
<img
|
<img
|
||||||
style="width: 15px; height: 15px"
|
style="width: 15px; height: 15px"
|
||||||
src="../assets/images/navleft/project.png"
|
src="../assets/images/navleft/project.png"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<template #title>项目中心</template>
|
<template #title>项目中心</template>
|
||||||
<a-menu-item key="sub2-1" v-if="checkMenu('projectmanage')">
|
<a-menu-item key="sub2-1" v-if="checkMenu('projectmanage')">
|
||||||
<span
|
<span
|
||||||
:class="{
|
:class="{
|
||||||
circleActive: selectedKeys[0] === 'sub2-1' ? true : false,
|
circleActive: selectedKeys[0] === 'sub2-1' ? true : false,
|
||||||
circle: selectedKeys[0] === 'sub2-1' ? false : true,
|
circle: selectedKeys[0] === 'sub2-1' ? false : true,
|
||||||
}"
|
}"
|
||||||
@@ -106,7 +107,7 @@
|
|||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
<a-menu-item key="sub2-2" v-if="checkMenu('templatelibrary')">
|
<a-menu-item key="sub2-2" v-if="checkMenu('templatelibrary')">
|
||||||
<span
|
<span
|
||||||
:class="{
|
:class="{
|
||||||
circleActive: selectedKeys[0] === 'sub2-2' ? true : false,
|
circleActive: selectedKeys[0] === 'sub2-2' ? true : false,
|
||||||
circle: selectedKeys[0] === 'sub2-2' ? false : true,
|
circle: selectedKeys[0] === 'sub2-2' ? false : true,
|
||||||
}"
|
}"
|
||||||
@@ -119,15 +120,15 @@
|
|||||||
<template #icon>
|
<template #icon>
|
||||||
<div class="imgBox">
|
<div class="imgBox">
|
||||||
<img
|
<img
|
||||||
style="width: 18px; height: 15px"
|
style="width: 18px; height: 15px"
|
||||||
src="../assets/images/navleft/course.png"
|
src="../assets/images/navleft/course.png"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<template #title>课程库</template>
|
<template #title>课程库</template>
|
||||||
<a-menu-item key="sub3-1" v-if="checkMenu('coursewaremanage')">
|
<a-menu-item key="sub3-1" v-if="checkMenu('coursewaremanage')">
|
||||||
<span
|
<span
|
||||||
:class="{
|
:class="{
|
||||||
circleActive: selectedKeys[0] === 'sub3-1' ? true : false,
|
circleActive: selectedKeys[0] === 'sub3-1' ? true : false,
|
||||||
circle: selectedKeys[0] === 'sub3-1' ? false : true,
|
circle: selectedKeys[0] === 'sub3-1' ? false : true,
|
||||||
}"
|
}"
|
||||||
@@ -136,7 +137,7 @@
|
|||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
<a-menu-item key="sub3-2" v-if="checkMenu('onlinemanage')">
|
<a-menu-item key="sub3-2" v-if="checkMenu('onlinemanage')">
|
||||||
<span
|
<span
|
||||||
:class="{
|
:class="{
|
||||||
circleActive: selectedKeys[0] === 'sub3-2' ? true : false,
|
circleActive: selectedKeys[0] === 'sub3-2' ? true : false,
|
||||||
circle: selectedKeys[0] === 'sub3-2' ? false : true,
|
circle: selectedKeys[0] === 'sub3-2' ? false : true,
|
||||||
}"
|
}"
|
||||||
@@ -145,7 +146,7 @@
|
|||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
<a-menu-item key="sub3-3" v-if="checkMenu('coursemanage')">
|
<a-menu-item key="sub3-3" v-if="checkMenu('coursemanage')">
|
||||||
<span
|
<span
|
||||||
:class="{
|
:class="{
|
||||||
circleActive: selectedKeys[0] === 'sub3-3' ? true : false,
|
circleActive: selectedKeys[0] === 'sub3-3' ? true : false,
|
||||||
circle: selectedKeys[0] === 'sub3-3' ? false : true,
|
circle: selectedKeys[0] === 'sub3-3' ? false : true,
|
||||||
}"
|
}"
|
||||||
@@ -166,12 +167,40 @@
|
|||||||
<a-menu-item key="sub5" @titleClick="titleClick" v-if="checkMenu('researchmanage')">
|
<a-menu-item key="sub5" @titleClick="titleClick" v-if="checkMenu('researchmanage')">
|
||||||
<div class="imgBox">
|
<div class="imgBox">
|
||||||
<img
|
<img
|
||||||
style="width: 16px; height: 16px"
|
style="width: 16px; height: 16px"
|
||||||
src="../assets/images/navleft/survey.png"
|
src="../assets/images/navleft/survey.png"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<router-link to="/researchmanage">评估管理</router-link>
|
<router-link to="/researchmanage">评估管理</router-link>
|
||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
|
|
||||||
|
<a-sub-menu key="sub6">
|
||||||
|
<template #icon>
|
||||||
|
<div class="imgBox">
|
||||||
|
<img
|
||||||
|
style="width: 22px; height: 22px"
|
||||||
|
src="../assets/images/navleft/review.png"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<template #title>系统管理</template>
|
||||||
|
<a-menu-item key="sub6-1">
|
||||||
|
<span
|
||||||
|
:class="{
|
||||||
|
circleActive: selectedKeys[0] === 'sub6-1',
|
||||||
|
circle: selectedKeys[0]!=='sub6-1',
|
||||||
|
}"
|
||||||
|
></span>
|
||||||
|
<router-link to="/dictmanage">字典管理</router-link>
|
||||||
|
</a-menu-item>
|
||||||
|
</a-sub-menu>
|
||||||
|
|
||||||
|
<a-menu-item key="sub5" v-if="checkMenu('systemManage')">
|
||||||
|
<div class="imgBox">
|
||||||
|
<img style="width: 16px; height: 16px" src="../assets/images/navleft/system.png"/>
|
||||||
|
</div>
|
||||||
|
<router-link to="/researchmanage">评估管理</router-link>
|
||||||
|
</a-menu-item>
|
||||||
<!-- 2022-12-10注释 后面放开 -->
|
<!-- 2022-12-10注释 后面放开 -->
|
||||||
<!-- <a-menu-item key="sub6" @titleClick="titleClick">
|
<!-- <a-menu-item key="sub6" @titleClick="titleClick">
|
||||||
<div class="imgBox">
|
<div class="imgBox">
|
||||||
@@ -213,19 +242,20 @@
|
|||||||
<!-- <router-link to="/systemmanage">系统管理</router-link> -->
|
<!-- <router-link to="/systemmanage">系统管理</router-link> -->
|
||||||
<!-- </a-menu-item> -->
|
<!-- </a-menu-item> -->
|
||||||
|
|
||||||
<a-sub-menu key="sub11" @titleClick="titleClick" v-if="checkMenu('questionmanage,papermanage,examinationcenter')">
|
<a-sub-menu key="sub11" @titleClick="titleClick"
|
||||||
|
v-if="checkMenu('questionmanage,papermanage,examinationcenter')">
|
||||||
<template #icon>
|
<template #icon>
|
||||||
<div class="imgBox">
|
<div class="imgBox">
|
||||||
<img
|
<img
|
||||||
style="width: 16px; height: 16px"
|
style="width: 16px; height: 16px"
|
||||||
src="../assets/images/navleft/test.png"
|
src="../assets/images/navleft/test.png"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<template #title>考试</template>
|
<template #title>考试</template>
|
||||||
<a-menu-item key="sub11-1" v-if="checkMenu('questionmanage')">
|
<a-menu-item key="sub11-1" v-if="checkMenu('questionmanage')">
|
||||||
<span
|
<span
|
||||||
:class="{
|
:class="{
|
||||||
circleActive: selectedKeys[0] === 'sub11-1' ? true : false,
|
circleActive: selectedKeys[0] === 'sub11-1' ? true : false,
|
||||||
circle: selectedKeys[0] === 'sub11-1' ? false : true,
|
circle: selectedKeys[0] === 'sub11-1' ? false : true,
|
||||||
}"
|
}"
|
||||||
@@ -234,7 +264,7 @@
|
|||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
<a-menu-item key="sub11-2" v-if="checkMenu('papermanage')">
|
<a-menu-item key="sub11-2" v-if="checkMenu('papermanage')">
|
||||||
<span
|
<span
|
||||||
:class="{
|
:class="{
|
||||||
circleActive: selectedKeys[0] === 'sub11-2' ? true : false,
|
circleActive: selectedKeys[0] === 'sub11-2' ? true : false,
|
||||||
circle: selectedKeys[0] === 'sub11-2' ? false : true,
|
circle: selectedKeys[0] === 'sub11-2' ? false : true,
|
||||||
}"
|
}"
|
||||||
@@ -243,7 +273,7 @@
|
|||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
<a-menu-item key="sub11-3" v-if="checkMenu('examinationcenter')">
|
<a-menu-item key="sub11-3" v-if="checkMenu('examinationcenter')">
|
||||||
<span
|
<span
|
||||||
:class="{
|
:class="{
|
||||||
circleActive: selectedKeys[0] === 'sub11-3' ? true : false,
|
circleActive: selectedKeys[0] === 'sub11-3' ? true : false,
|
||||||
circle: selectedKeys[0] === 'sub11-3' ? false : true,
|
circle: selectedKeys[0] === 'sub11-3' ? false : true,
|
||||||
}"
|
}"
|
||||||
@@ -254,8 +284,8 @@
|
|||||||
<a-menu-item key="sub12" @titleClick="titleClick" v-if="checkMenu('casemanage')">
|
<a-menu-item key="sub12" @titleClick="titleClick" v-if="checkMenu('casemanage')">
|
||||||
<div class="imgBox">
|
<div class="imgBox">
|
||||||
<img
|
<img
|
||||||
style="width: 20px; height: 20px"
|
style="width: 20px; height: 20px"
|
||||||
src="../assets/images/navleft/case.png"
|
src="../assets/images/navleft/case.png"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<router-link to="/casemanage">案例管理</router-link>
|
<router-link to="/casemanage">案例管理</router-link>
|
||||||
@@ -263,8 +293,8 @@
|
|||||||
<a-menu-item key="sub13" @titleClick="titleClick" v-if="checkMenu('articlemanage')">
|
<a-menu-item key="sub13" @titleClick="titleClick" v-if="checkMenu('articlemanage')">
|
||||||
<div class="imgBox">
|
<div class="imgBox">
|
||||||
<img
|
<img
|
||||||
style="width: 20px; height: 20px"
|
style="width: 20px; height: 20px"
|
||||||
src="../assets/images/navleft/article.png"
|
src="../assets/images/navleft/article.png"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<router-link to="/articlemanage">文章管理</router-link>
|
<router-link to="/articlemanage">文章管理</router-link>
|
||||||
@@ -272,8 +302,8 @@
|
|||||||
<a-menu-item key="sub14" @titleClick="titleClick" v-if="checkMenu('qamanage')">
|
<a-menu-item key="sub14" @titleClick="titleClick" v-if="checkMenu('qamanage')">
|
||||||
<div class="imgBox">
|
<div class="imgBox">
|
||||||
<img
|
<img
|
||||||
style="width: 20px; height: 20px"
|
style="width: 20px; height: 20px"
|
||||||
src="../assets/images/navleft/qa.png"
|
src="../assets/images/navleft/qa.png"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<router-link to="/qamanage">问答管理</router-link>
|
<router-link to="/qamanage">问答管理</router-link>
|
||||||
@@ -281,8 +311,8 @@
|
|||||||
<a-menu-item key="sub15" @titleClick="titleClick" v-if="checkMenu('download')">
|
<a-menu-item key="sub15" @titleClick="titleClick" v-if="checkMenu('download')">
|
||||||
<div class="imgBox">
|
<div class="imgBox">
|
||||||
<img
|
<img
|
||||||
style="width: 20px; height: 20px"
|
style="width: 20px; height: 20px"
|
||||||
src="../assets/images/navleft/qa.png"
|
src="../assets/images/navleft/qa.png"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<router-link to="/download">下载中心</router-link>
|
<router-link to="/download">下载中心</router-link>
|
||||||
@@ -290,17 +320,17 @@
|
|||||||
</a-menu>
|
</a-menu>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
style="width: 100%; margin-top: 26px"
|
style="width: 100%; margin-top: 26px"
|
||||||
:style="{ display: packup ? 'block' : 'none' }"
|
:style="{ display: packup ? 'block' : 'none' }"
|
||||||
class="packupMenu"
|
class="packupMenu"
|
||||||
>
|
>
|
||||||
<a-menu
|
<a-menu
|
||||||
id="dddddd"
|
id="dddddd"
|
||||||
v-model:openKeys="openKeys2"
|
v-model:openKeys="openKeys2"
|
||||||
v-model:selectedKeys="selectedKeys2"
|
v-model:selectedKeys="selectedKeys2"
|
||||||
style="width: 100px"
|
style="width: 100px"
|
||||||
mode="inline"
|
mode="inline"
|
||||||
@click="handleClick"
|
@click="handleClick"
|
||||||
>
|
>
|
||||||
<a-menu-item key="sub10" @titleClick="titleClick">
|
<a-menu-item key="sub10" @titleClick="titleClick">
|
||||||
<router-link to="/coursereviewedn">审核</router-link>
|
<router-link to="/coursereviewedn">审核</router-link>
|
||||||
@@ -361,10 +391,11 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { reactive, toRefs, onMounted, onUnmounted, watch } from "vue";
|
import {reactive, toRefs, onMounted, onUnmounted, watch} from "vue";
|
||||||
import { useRoute } from "vue-router";
|
import {useRoute} from "vue-router";
|
||||||
import { useStore } from "vuex";
|
import {useStore} from "vuex";
|
||||||
import { checkMenu } from "@/utils/utils";
|
import {checkMenu} from "@/utils/utils";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "NavLeft",
|
name: "NavLeft",
|
||||||
setup() {
|
setup() {
|
||||||
@@ -390,17 +421,17 @@ export default {
|
|||||||
"sub15",
|
"sub15",
|
||||||
],
|
],
|
||||||
openKeys: localStorage.getItem("openKeys")
|
openKeys: localStorage.getItem("openKeys")
|
||||||
? JSON.parse(localStorage.getItem("openKeys"))
|
? JSON.parse(localStorage.getItem("openKeys"))
|
||||||
: ["sub1"], //默认打开以及打开的一级导航
|
: ["sub1"], //默认打开以及打开的一级导航
|
||||||
selectedKeys: localStorage.getItem("selectedKeys")
|
selectedKeys: localStorage.getItem("selectedKeys")
|
||||||
? JSON.parse(localStorage.getItem("selectedKeys"))
|
? JSON.parse(localStorage.getItem("selectedKeys"))
|
||||||
: ["sub1"], //默认选择以及选择的二级导航
|
: ["sub1"], //默认选择以及选择的二级导航
|
||||||
openKeys2: localStorage.getItem("openKeys")
|
openKeys2: localStorage.getItem("openKeys")
|
||||||
? JSON.parse(localStorage.getItem("openKeys"))
|
? JSON.parse(localStorage.getItem("openKeys"))
|
||||||
: ["sub1"], //默认打开以及打开的一级导航
|
: ["sub1"], //默认打开以及打开的一级导航
|
||||||
selectedKeys2: localStorage.getItem("openKeys")
|
selectedKeys2: localStorage.getItem("openKeys")
|
||||||
? JSON.parse(localStorage.getItem("openKeys"))
|
? JSON.parse(localStorage.getItem("openKeys"))
|
||||||
: ["sub1"], //默认选择以及选择的二级导航
|
: ["sub1"], //默认选择以及选择的二级导航
|
||||||
|
|
||||||
keysList: [
|
keysList: [
|
||||||
{
|
{
|
||||||
@@ -562,7 +593,7 @@ export default {
|
|||||||
|
|
||||||
const onOpenChange = (openKeys) => {
|
const onOpenChange = (openKeys) => {
|
||||||
const latestOpenKey = openKeys.find(
|
const latestOpenKey = openKeys.find(
|
||||||
(key) => state.openKeys.indexOf(key) === -1
|
(key) => state.openKeys.indexOf(key) === -1
|
||||||
);
|
);
|
||||||
if (state.rootSubmenuKeys.indexOf(latestOpenKey) === -1) {
|
if (state.rootSubmenuKeys.indexOf(latestOpenKey) === -1) {
|
||||||
state.openKeys = openKeys;
|
state.openKeys = openKeys;
|
||||||
@@ -577,8 +608,8 @@ export default {
|
|||||||
if (e.key === value.selectedKeys) {
|
if (e.key === value.selectedKeys) {
|
||||||
localStorage.setItem("openKeys", JSON.stringify([value.openKeys]));
|
localStorage.setItem("openKeys", JSON.stringify([value.openKeys]));
|
||||||
localStorage.setItem(
|
localStorage.setItem(
|
||||||
"selectedKeys",
|
"selectedKeys",
|
||||||
JSON.stringify([value.selectedKeys])
|
JSON.stringify([value.selectedKeys])
|
||||||
);
|
);
|
||||||
state.openKeys = [value.openKeys];
|
state.openKeys = [value.openKeys];
|
||||||
state.selectedKeys = [value.selectedKeys];
|
state.selectedKeys = [value.selectedKeys];
|
||||||
@@ -590,70 +621,70 @@ export default {
|
|||||||
|
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
watch(
|
watch(
|
||||||
() => route.fullPath,
|
() => route.fullPath,
|
||||||
(n) => {
|
(n) => {
|
||||||
console.log("监听路由", n, store.state.openpages, state.keysList);
|
console.log("监听路由", n, store.state.openpages, state.keysList);
|
||||||
// console.log("new:" + n.toLowerCase() + ",old:" + o);
|
// console.log("new:" + n.toLowerCase() + ",old:" + o);
|
||||||
let arr = state.keysList;
|
let arr = state.keysList;
|
||||||
arr.map((value) => {
|
arr.map((value) => {
|
||||||
if (n.toLowerCase() === value.href) {
|
if (n.toLowerCase() === value.href) {
|
||||||
localStorage.setItem("openKeys", JSON.stringify([value.openKeys]));
|
localStorage.setItem("openKeys", JSON.stringify([value.openKeys]));
|
||||||
localStorage.setItem(
|
localStorage.setItem(
|
||||||
"selectedKeys",
|
"selectedKeys",
|
||||||
JSON.stringify([value.selectedKeys])
|
JSON.stringify([value.selectedKeys])
|
||||||
);
|
);
|
||||||
state.openKeys = [value.openKeys];
|
state.openKeys = [value.openKeys];
|
||||||
state.selectedKeys = [value.selectedKeys];
|
state.selectedKeys = [value.selectedKeys];
|
||||||
state.openKeys2 = [value.openKeys];
|
state.openKeys2 = [value.openKeys];
|
||||||
state.selectedKeys2 = [value.openKeys];
|
state.selectedKeys2 = [value.openKeys];
|
||||||
}
|
}
|
||||||
});
|
|
||||||
let openpages = store.state.openpages;
|
|
||||||
if (openpages.length === 0) {
|
|
||||||
let pagename = state.keysList.filter((a) => {
|
|
||||||
return a.href === n.toLowerCase();
|
|
||||||
});
|
});
|
||||||
if (pagename && pagename.length !== 0) {
|
let openpages = store.state.openpages;
|
||||||
let obj = {
|
if (openpages.length === 0) {
|
||||||
pagename: pagename[0].pagename,
|
let pagename = state.keysList.filter((a) => {
|
||||||
href: n.toLowerCase(),
|
return a.href === n.toLowerCase();
|
||||||
active: true,
|
});
|
||||||
};
|
if (pagename && pagename.length !== 0) {
|
||||||
openpages.push(obj);
|
let obj = {
|
||||||
}
|
pagename: pagename[0].pagename,
|
||||||
} else {
|
href: n.toLowerCase(),
|
||||||
for (let i = 0; i < openpages.length; i++) {
|
active: true,
|
||||||
openpages[i].active = false;
|
};
|
||||||
}
|
openpages.push(obj);
|
||||||
for (let i = 0; i < openpages.length; i++) {
|
}
|
||||||
openpages[i].active = false;
|
} else {
|
||||||
if (n.toLowerCase() === openpages[i].href) {
|
for (let i = 0; i < openpages.length; i++) {
|
||||||
console.log("已存在", openpages[i]);
|
openpages[i].active = false;
|
||||||
openpages[i].active = true;
|
}
|
||||||
break;
|
for (let i = 0; i < openpages.length; i++) {
|
||||||
} else {
|
openpages[i].active = false;
|
||||||
if (i === openpages.length - 1) {
|
if (n.toLowerCase() === openpages[i].href) {
|
||||||
let pagename = state.keysList.filter((a) => {
|
console.log("已存在", openpages[i]);
|
||||||
return a.href === n.toLowerCase();
|
openpages[i].active = true;
|
||||||
});
|
break;
|
||||||
if (pagename && pagename.length !== 0) {
|
} else {
|
||||||
let obj = {
|
if (i === openpages.length - 1) {
|
||||||
pagename: pagename[0].pagename,
|
let pagename = state.keysList.filter((a) => {
|
||||||
href: n.toLowerCase(),
|
return a.href === n.toLowerCase();
|
||||||
active: true,
|
});
|
||||||
};
|
if (pagename && pagename.length !== 0) {
|
||||||
openpages.push(obj);
|
let obj = {
|
||||||
|
pagename: pagename[0].pagename,
|
||||||
|
href: n.toLowerCase(),
|
||||||
|
active: true,
|
||||||
|
};
|
||||||
|
openpages.push(obj);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
localStorage.setItem("openpages", JSON.stringify(openpages));
|
||||||
|
store.commit("chengeOpenpages", openpages);
|
||||||
|
|
||||||
|
// store.getters.chengeOpenpages(openpages)
|
||||||
}
|
}
|
||||||
|
|
||||||
localStorage.setItem("openpages", JSON.stringify(openpages));
|
|
||||||
store.commit("chengeOpenpages", openpages);
|
|
||||||
|
|
||||||
// store.getters.chengeOpenpages(openpages)
|
|
||||||
}
|
|
||||||
);
|
);
|
||||||
const packUp = () => {
|
const packUp = () => {
|
||||||
state.packup = !state.packup;
|
state.packup = !state.packup;
|
||||||
@@ -688,6 +719,7 @@ export default {
|
|||||||
box-shadow: 0px 1px 35px 0px rgba(118, 136, 166, 0.21);
|
box-shadow: 0px 1px 35px 0px rgba(118, 136, 166, 0.21);
|
||||||
// margin-top: -50px;
|
// margin-top: -50px;
|
||||||
flex-shrink: 0;
|
flex-shrink: 0;
|
||||||
|
|
||||||
.packup {
|
.packup {
|
||||||
width: 19px;
|
width: 19px;
|
||||||
height: 15px;
|
height: 15px;
|
||||||
@@ -702,16 +734,19 @@ export default {
|
|||||||
border: none;
|
border: none;
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
//图标和字放在一行
|
//图标和字放在一行
|
||||||
.ant-menu-title-content {
|
.ant-menu-title-content {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.packupMenu .ant-menu-title-content {
|
.packupMenu .ant-menu-title-content {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
//修改导航文字颜色
|
//修改导航文字颜色
|
||||||
.ant-menu-title-content {
|
.ant-menu-title-content {
|
||||||
padding: 0px !important;
|
padding: 0px !important;
|
||||||
@@ -723,6 +758,7 @@ export default {
|
|||||||
border-right: 3px solid rgba(255, 255, 255, 0);
|
border-right: 3px solid rgba(255, 255, 255, 0);
|
||||||
margin-left: 0 !important;
|
margin-left: 0 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ant-menu-item a,
|
.ant-menu-item a,
|
||||||
.ant-menu-item a:hover {
|
.ant-menu-item a:hover {
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
@@ -730,6 +766,7 @@ export default {
|
|||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
line-height: 36px;
|
line-height: 36px;
|
||||||
}
|
}
|
||||||
|
|
||||||
//修改二级导航背景色
|
//修改二级导航背景色
|
||||||
.ant-menu-sub.ant-menu-inline {
|
.ant-menu-sub.ant-menu-inline {
|
||||||
background-color: rgba(56, 139, 225, 0);
|
background-color: rgba(56, 139, 225, 0);
|
||||||
@@ -755,10 +792,12 @@ export default {
|
|||||||
justify-content: center;
|
justify-content: center;
|
||||||
margin-right: 15px;
|
margin-right: 15px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ant-menu-submenu-arrow {
|
.ant-menu-submenu-arrow {
|
||||||
color: rgba(255, 255, 255, 1) !important;
|
color: rgba(255, 255, 255, 1) !important;
|
||||||
right: 14px !important;
|
right: 14px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
// .ant-menu-submenu-active .ant-menu-submenu-arrow {
|
// .ant-menu-submenu-active .ant-menu-submenu-arrow {
|
||||||
// right: 11px !important;
|
// right: 11px !important;
|
||||||
// }
|
// }
|
||||||
@@ -767,11 +806,13 @@ export default {
|
|||||||
background: rgba(236, 245, 255, 0.43) !important;
|
background: rgba(236, 245, 255, 0.43) !important;
|
||||||
border-right: 3px solid rgba(255, 255, 255, 1);
|
border-right: 3px solid rgba(255, 255, 255, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
//选中背景
|
//选中背景
|
||||||
.ant-menu-item-selected {
|
.ant-menu-item-selected {
|
||||||
background: rgba(236, 245, 255, 0.43) !important;
|
background: rgba(236, 245, 255, 0.43) !important;
|
||||||
border-right: 3px solid rgba(255, 255, 255, 1);
|
border-right: 3px solid rgba(255, 255, 255, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
.ant-menu-vertical .ant-menu-item::after,
|
.ant-menu-vertical .ant-menu-item::after,
|
||||||
.ant-menu-vertical-left .ant-menu-item::after,
|
.ant-menu-vertical-left .ant-menu-item::after,
|
||||||
.ant-menu-vertical-right .ant-menu-item::after,
|
.ant-menu-vertical-right .ant-menu-item::after,
|
||||||
@@ -788,6 +829,7 @@ export default {
|
|||||||
margin-right: 18px;
|
margin-right: 18px;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
}
|
}
|
||||||
|
|
||||||
.circleActive {
|
.circleActive {
|
||||||
width: 10px;
|
width: 10px;
|
||||||
height: 10px;
|
height: 10px;
|
||||||
|
|||||||
@@ -1,43 +1,19 @@
|
|||||||
<!--
|
|
||||||
* @Author: lixg lixg@dongwu-inc.com
|
|
||||||
* @Date: 2022-11-09 09:26:26
|
|
||||||
* @LastEditors: lixg lixg@dongwu-inc.com
|
|
||||||
* @LastEditTime: 2022-11-25 17:37:05
|
|
||||||
* @FilePath: /fe-manage/src/views/courselibrary/CourseManage.vue
|
|
||||||
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
|
||||||
-->
|
|
||||||
<!-- 课件管理页面 -->
|
|
||||||
<!-- sandbox="allow-forms allow-scripts allow-same-origin allow-popups" -->
|
|
||||||
<template>
|
<template>
|
||||||
<div class="courseManage">
|
<div class="courseManage">
|
||||||
<iframe
|
<iframe
|
||||||
id="iframe"
|
id="iframe"
|
||||||
style="width: 100%; height: 100%"
|
style="width: 100%; height: 100%"
|
||||||
src="http://43.143.139.204/platform/"
|
:src="`${BOE_URL}/platform/sys/dwdictionary`"
|
||||||
frameborder="0"
|
|
||||||
name="myframe"
|
name="myframe"
|
||||||
security="restricted"
|
security="restricted"
|
||||||
sandbox="allow-forms allow-scripts allow-same-origin allow-popups"
|
sandbox="allow-forms allow-scripts allow-same-origin allow-popups"
|
||||||
></iframe>
|
></iframe>
|
||||||
<OnlineClassModelStudent ref="stuRef"></OnlineClassModelStudent>
|
|
||||||
<div @click="test">
|
|
||||||
asdfasdf
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script setup>
|
<script setup>
|
||||||
import {onMounted, ref} from "vue";
|
|
||||||
import OnlineClassModelStudent from "@/components/student/OnlineClassModelStudent";
|
|
||||||
|
|
||||||
const stuRef = ref()
|
const BOE_URL = window.location.protocol + process.env.VUE_APP_BOE_API_URL
|
||||||
|
|
||||||
onMounted(()=>{
|
|
||||||
window.openStudentModel = stuRef.value.openDrawer
|
|
||||||
})
|
|
||||||
|
|
||||||
function test(){
|
|
||||||
window.openStudentModel()
|
|
||||||
}
|
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
.courseManage {
|
.courseManage {
|
||||||
|
|||||||
Reference in New Issue
Block a user