mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/learning-system-portal.git
synced 2025-12-12 04:16:45 +08:00
左侧菜单
This commit is contained in:
@@ -9,12 +9,13 @@
|
|||||||
> -->
|
> -->
|
||||||
<!-- <i class="el-icon-collection-tag"></i> 我的导航 -->
|
<!-- <i class="el-icon-collection-tag"></i> 我的导航 -->
|
||||||
<!-- </div> -->
|
<!-- </div> -->
|
||||||
|
<!-- :default-openeds="['manageTodo','manageFinish','teacherTodo','teacherFinish','lecturer','myqa','notice','mystudy', 'course', 'exam', 'u001', 'u002', 'u003', 'u004','mylecnotes','mycaseRecord']" -->
|
||||||
<div class="uc-menu" style="background-color: #ffffff;padding-bottom:20px">
|
<div class="uc-menu" style="background-color: #ffffff;padding-bottom:20px">
|
||||||
<el-menu
|
<el-menu
|
||||||
:default-active="activeMenu"
|
:default-active="activeMenu"
|
||||||
router
|
router
|
||||||
active-text-color="#3379FB"
|
active-text-color="#3379FB"
|
||||||
:default-openeds="['manageTodo','manageFinish','teacherTodo','teacherFinish','lecturer','myqa','notice','mystudy', 'course', 'exam', 'u001', 'u002', 'u003', 'u004','mylecnotes','mycaseRecord']"
|
:default-openeds="openedsList"
|
||||||
class="el-menu-vertical"
|
class="el-menu-vertical"
|
||||||
@open="handleOpen"
|
@open="handleOpen"
|
||||||
@close="handleClose"
|
@close="handleClose"
|
||||||
@@ -242,12 +243,12 @@
|
|||||||
<svg-icon :icon-class="activeMenu == '/user/medal'?'myxunzhang-active':'myxunzhang'"></svg-icon>
|
<svg-icon :icon-class="activeMenu == '/user/medal'?'myxunzhang-active':'myxunzhang'"></svg-icon>
|
||||||
<span slot="title">我的勋章</span>
|
<span slot="title">我的勋章</span>
|
||||||
</el-menu-item>
|
</el-menu-item>
|
||||||
<el-submenu index="mystudy" v-show="curIdentity == 1">
|
<!-- <el-submenu index="mystudy" v-show="curIdentity == 1">
|
||||||
<template slot="title">
|
<template slot="title"> -->
|
||||||
<!-- <i class="el-icon-s-grid"></i> -->
|
<!-- <i class="el-icon-s-grid"></i> -->
|
||||||
<svg-icon icon-class="mystudy"></svg-icon>
|
<!-- <svg-icon icon-class="mystudy"></svg-icon>
|
||||||
<span>我的学习</span>
|
<span>我的学习</span>
|
||||||
</template>
|
</template> -->
|
||||||
<!-- <el-menu-item index="/uc/study/task"> -->
|
<!-- <el-menu-item index="/uc/study/task"> -->
|
||||||
<!-- <i class="el-icon-menu"></i> -->
|
<!-- <i class="el-icon-menu"></i> -->
|
||||||
<!-- <span slot="title" class="study textl"><el-badge :value="studyTaskCount||''" class="item">学习任务</el-badge></span>
|
<!-- <span slot="title" class="study textl"><el-badge :value="studyTaskCount||''" class="item">学习任务</el-badge></span>
|
||||||
@@ -260,10 +261,10 @@
|
|||||||
<!-- <el-menu-item index="/exam/mytask">
|
<!-- <el-menu-item index="/exam/mytask">
|
||||||
<i class="el-icon-menu"></i>
|
<i class="el-icon-menu"></i>
|
||||||
<span slot="title" class="textl">我的考试</span>
|
<span slot="title" class="textl">我的考试</span>
|
||||||
</el-menu-item>
|
</el-menu-item> -->
|
||||||
<el-menu-item index="/uc/study/growth">
|
<!-- <el-menu-item index="/uc/study/growth">
|
||||||
<span slot="title" class="textl">成长路径</span>
|
<span slot="title" class="textl">成长路径</span>
|
||||||
</el-menu-item>
|
</el-menu-item> -->
|
||||||
<!-- 去掉
|
<!-- 去掉
|
||||||
<el-menu-item index="/uc/study/path" v-show="isTest">
|
<el-menu-item index="/uc/study/path" v-show="isTest">
|
||||||
<span slot="title" class="textl">学习路径图</span>
|
<span slot="title" class="textl">学习路径图</span>
|
||||||
@@ -275,8 +276,8 @@
|
|||||||
<!-- <i class="el-icon-menu"></i> -->
|
<!-- <i class="el-icon-menu"></i> -->
|
||||||
<!-- <span slot="title" class="textl">历史记录</span>
|
<!-- <span slot="title" class="textl">历史记录</span>
|
||||||
</el-menu-item> -->
|
</el-menu-item> -->
|
||||||
</el-submenu>
|
<!-- </el-submenu> -->
|
||||||
<el-submenu index="mystudy" v-show="curIdentity == 1">
|
<el-submenu v-if="fistTotal+pathTotal+proTotal+growTotal" index="mystudy" v-show="curIdentity == 1">
|
||||||
<template slot="title">
|
<template slot="title">
|
||||||
<svg-icon icon-class="mystudy"></svg-icon>
|
<svg-icon icon-class="mystudy"></svg-icon>
|
||||||
<span>我的必修</span>
|
<span>我的必修</span>
|
||||||
@@ -284,20 +285,24 @@
|
|||||||
<el-menu-item v-if="fistTotal" index="/uc/study/task?type=1">
|
<el-menu-item v-if="fistTotal" index="/uc/study/task?type=1">
|
||||||
<span slot="title" class="study textl"><el-badge :value="fistTotal||''" class="item">领导力必修</el-badge></span>
|
<span slot="title" class="study textl"><el-badge :value="fistTotal||''" class="item">领导力必修</el-badge></span>
|
||||||
</el-menu-item>
|
</el-menu-item>
|
||||||
<el-menu-item index="uc/study/growth">
|
<el-menu-item v-if="growTotal" index="/uc/study/growth">
|
||||||
<span slot="title" class="textl"><el-badge :value="studyTaskCount||''" class="item">专业力必修</el-badge></span>
|
<span slot="title" class="textl">专业力必修</span>
|
||||||
</el-menu-item>
|
</el-menu-item>
|
||||||
<el-menu-item v-if="pathTotal + proTotal" index="/uc/study/task?type=2">
|
<el-menu-item v-if="pathTotal + proTotal" index="/uc/study/task?type=2">
|
||||||
<span slot="title" class="textl"><el-badge :value="pathTotal + proTotal||''" class="item">定制化学习</el-badge></span>
|
<span slot="title" class="textl"><el-badge :value="pathTotal + proTotal||''" class="item">定制化学习</el-badge></span>
|
||||||
</el-menu-item>
|
</el-menu-item>
|
||||||
</el-submenu>
|
</el-submenu>
|
||||||
|
<el-menu-item v-else index="/uc/study/task?type=9" v-show="curIdentity == 1">
|
||||||
|
<svg-icon :icon-class="activeMenu == '/uc/study/task'?'mystudy':'mystudy'"></svg-icon>
|
||||||
|
<span slot="title">我的必修</span>
|
||||||
|
</el-menu-item>
|
||||||
<el-submenu index="myelective" v-show="curIdentity == 1">
|
<el-submenu index="myelective" v-show="curIdentity == 1">
|
||||||
<template slot="title">
|
<template slot="title">
|
||||||
<svg-icon icon-class="mystudy"></svg-icon>
|
<svg-icon icon-class="mystudy"></svg-icon>
|
||||||
<span>我的选修</span>
|
<span>我的选修</span>
|
||||||
</template>
|
</template>
|
||||||
<el-menu-item index="/uc/study/courses">
|
<el-menu-item index="/uc/study/courses">
|
||||||
<span slot="title" class="study textl"><el-badge :value="studyTaskCount||''" class="item">自选学习</el-badge></span>
|
<span slot="title" class="study textl">自选学习</span>
|
||||||
</el-menu-item>
|
</el-menu-item>
|
||||||
</el-submenu>
|
</el-submenu>
|
||||||
<el-menu-item index="/exam/mytask" v-show="curIdentity == 1">
|
<el-menu-item index="/exam/mytask" v-show="curIdentity == 1">
|
||||||
@@ -418,6 +423,7 @@ import {pageList} from "@/api/modules/lecturer"
|
|||||||
import courseImage from "@/components/Course/courseImage.vue"
|
import courseImage from "@/components/Course/courseImage.vue"
|
||||||
import testUser from '@/utils/testUsers.js'
|
import testUser from '@/utils/testUsers.js'
|
||||||
import apiManage from '@/api/manage/manage.js'
|
import apiManage from '@/api/manage/manage.js'
|
||||||
|
import {getList} from '@/api/growth'
|
||||||
export default {
|
export default {
|
||||||
name: 'UcMenu',
|
name: 'UcMenu',
|
||||||
components: {
|
components: {
|
||||||
@@ -428,6 +434,9 @@ export default {
|
|||||||
activeMenu() {
|
activeMenu() {
|
||||||
const route = this.$route;
|
const route = this.$route;
|
||||||
const { meta, path } = route;
|
const { meta, path } = route;
|
||||||
|
if(path == '/uc/study/task'){
|
||||||
|
return '/uc/study/task?type='+route.query.type
|
||||||
|
}
|
||||||
if(meta.title == '添加受众' || meta.title == '查看受众'){
|
if(meta.title == '添加受众' || meta.title == '查看受众'){
|
||||||
meta.activeMenu = '/manage/ugroups'
|
meta.activeMenu = '/manage/ugroups'
|
||||||
}
|
}
|
||||||
@@ -449,6 +458,8 @@ export default {
|
|||||||
fistTotal:0,
|
fistTotal:0,
|
||||||
proTotal: 0,
|
proTotal: 0,
|
||||||
pathTotal:0,
|
pathTotal:0,
|
||||||
|
growTotal: 0,
|
||||||
|
openedsList:[]
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
@@ -489,6 +500,11 @@ export default {
|
|||||||
apiManage.compulsoryList(params).then(res=>{
|
apiManage.compulsoryList(params).then(res=>{
|
||||||
this.pathTotal =parseInt(res.data.total);
|
this.pathTotal =parseInt(res.data.total);
|
||||||
})
|
})
|
||||||
|
getList(this.userInfo.aid).then(res=>{
|
||||||
|
if(res.code == 200 ){
|
||||||
|
this.growTotal = 1
|
||||||
|
}
|
||||||
|
})
|
||||||
},
|
},
|
||||||
//讲师认证条数
|
//讲师认证条数
|
||||||
instructorCertification(){
|
instructorCertification(){
|
||||||
@@ -523,6 +539,7 @@ export default {
|
|||||||
},
|
},
|
||||||
handleOpen(key, keyPath) {
|
handleOpen(key, keyPath) {
|
||||||
console.log(key, keyPath);
|
console.log(key, keyPath);
|
||||||
|
this.openedsList = [key]
|
||||||
},
|
},
|
||||||
handleClose(key, keyPath) {
|
handleClose(key, keyPath) {
|
||||||
console.log(key, keyPath);
|
console.log(key, keyPath);
|
||||||
|
|||||||
@@ -1,84 +1,89 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<!-- <div style="display:flex; padding-left:20px; width:100%">
|
<div style="margin-top: 50px;" v-if="isType == 9">
|
||||||
<div style="width:100px">完成情况</div>
|
<el-empty description="您还没有学习数据"></el-empty>
|
||||||
<div class="progress"><div class="msg">课程完成情况</div> <el-progress :text-inside="true" :stroke-width="16" :percentage="porcessData.course" status="warning" class="progressItem"> </el-progress> </div>
|
|
||||||
<div class="progress" ><div class="msg">项目完成情况</div> <el-progress :text-inside="true" :stroke-width="16" :percentage="porcessData.project" status="success" class="progressItem"> </el-progress> </div>
|
|
||||||
<div class="progress"><div class="msg">路径图完成情况</div> <el-progress :text-inside="true" :stroke-width="16" :percentage="porcessData.router" class="progressItem"> </el-progress> </div>
|
|
||||||
|
|
||||||
</div> -->
|
|
||||||
<div v-if="isType == 2" class="title">
|
|
||||||
<div class="item" style="margin-right: 19px;" :class="typeClass == 1?'item1':'item'" @click="learnType(1)">学习项目</div>
|
|
||||||
<div class="item" :class="typeClass == 2?'item1':'item'" @click="learnType(2)">学习路径</div>
|
|
||||||
</div>
|
|
||||||
<div style="display: flex; justify-content: space-between; padding: 12px 32px 10px 22px;">
|
|
||||||
<div style="display: flex; justify-content: flex-start">
|
|
||||||
<div>
|
|
||||||
<el-select class="search-input" v-model="status" clearable placeholder="学习进度">
|
|
||||||
<el-option label="全部" value=""></el-option>
|
|
||||||
<el-option label="未开始" value="0"></el-option>
|
|
||||||
<el-option label="进行中" value="1"></el-option>
|
|
||||||
<el-option label="已完成" value="2"></el-option>
|
|
||||||
</el-select>
|
|
||||||
</div>
|
|
||||||
<div style="padding-left: 10px"><el-input v-model="params.cmtask_name" clearable placeholder="搜索名称"></el-input></div>
|
|
||||||
<div class="button-class" style="padding-left: 10px"><el-button type="primary" icon="el-icon-search" @click="search()">搜索</el-button></div>
|
|
||||||
<div class="button-class" style="padding-left: 10px"><el-button type="primary" icon="el-icon-refresh-right" @click="reset()">重置</el-button></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<!--课程列表内容-->
|
<div v-else>
|
||||||
<div class="uc-list" v-if="couresList.length > 0">
|
<!-- <div style="display:flex; padding-left:20px; width:100%">
|
||||||
<div class="uc-course" v-for="(item, idx) in couresList" @click="jumpRouter(item)" :key="idx">
|
<div style="width:100px">完成情况</div>
|
||||||
<div class="uc-course-img">
|
<div class="progress"><div class="msg">课程完成情况</div> <el-progress :text-inside="true" :stroke-width="16" :percentage="porcessData.course" status="warning" class="progressItem"> </el-progress> </div>
|
||||||
<img :src="item.cmtask_imgurl" />
|
<div class="progress" ><div class="msg">项目完成情况</div> <el-progress :text-inside="true" :stroke-width="16" :percentage="porcessData.project" status="success" class="progressItem"> </el-progress> </div>
|
||||||
<span class="spanname" v-if="item.cmtask_type==1">学习路径图</span>
|
<div class="progress"><div class="msg">路径图完成情况</div> <el-progress :text-inside="true" :stroke-width="16" :percentage="porcessData.router" class="progressItem"> </el-progress> </div>
|
||||||
<span class="spanname" v-if="item.cmtask_type==2">学习项目</span>
|
|
||||||
<!-- 类型3不显示,20230307 东吴说已确认的修改 -->
|
</div> -->
|
||||||
<!-- <span class="spanname" v-if="item.cmtask_type==3">老系统必修任务</span> -->
|
<div v-if="isType == 2" class="title">
|
||||||
|
<div class="item" style="margin-right: 19px;" :class="typeClass == 1?'item1':'item'" @click="learnType(1)">学习项目</div>
|
||||||
|
<div class="item" :class="typeClass == 2?'item1':'item'" @click="learnType(2)">学习路径</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="uc-course-info">
|
<div style="display: flex; justify-content: space-between; padding: 12px 32px 10px 22px;">
|
||||||
<!-- 任务名称 -->
|
<div style="display: flex; justify-content: flex-start">
|
||||||
<div class="uc-course-name one-line-ellipsis" style="cursor: pointer">
|
<div>
|
||||||
<span v-if="item.type==10" class="uc-course-type2">录播</span>
|
<el-select class="search-input" v-model="status" clearable placeholder="学习进度">
|
||||||
<span v-if="item.type==20" class="uc-course-type2">录播</span>
|
<el-option label="全部" value=""></el-option>
|
||||||
<!-- <a href="/course/detail?id=" target="_blank"> {{item.name}}</a> -->
|
<el-option label="未开始" value="0"></el-option>
|
||||||
<span v-html="item.cmtask_name"></span>
|
<el-option label="进行中" value="1"></el-option>
|
||||||
|
<el-option label="已完成" value="2"></el-option>
|
||||||
|
</el-select>
|
||||||
</div>
|
</div>
|
||||||
<!-- <div class="uc-course-source" @click="jumpRouter(item)">来源:{{ item.cmtask_name }}</div> -->
|
<div style="padding-left: 10px"><el-input v-model="params.cmtask_name" clearable placeholder="搜索名称"></el-input></div>
|
||||||
<div style="padding-top: 18px; " class="uc-course-text">学习进度:
|
<div class="button-class" style="padding-left: 10px"><el-button type="primary" icon="el-icon-search" @click="search()">搜索</el-button></div>
|
||||||
<span v-if="item.cmtask_user_status==0">未开始</span>
|
<div class="button-class" style="padding-left: 10px"><el-button type="primary" icon="el-icon-refresh-right" @click="reset()">重置</el-button></div>
|
||||||
<span v-if="item.cmtask_user_status==1">进行中</span>
|
|
||||||
<span v-if="item.cmtask_user_status==2">已完成</span>
|
|
||||||
</div>
|
|
||||||
<!-- <div class="uc-course-time">推送时间:{{ formatsec(Number(item.updated_at) * 1000 )}}</div> -->
|
|
||||||
<div class="uc-course-time">推送时间:{{ item.created_at}}</div>
|
|
||||||
</div>
|
|
||||||
<div class="uc-course-btns">
|
|
||||||
<el-button @click="jumpRouter(item)" type="primary" size="small">开始学习</el-button>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div style="height:150px; text-align: center; margin-top:57px;" >
|
<!--课程列表内容-->
|
||||||
<el-pagination background
|
<div class="uc-list" v-if="couresList.length > 0">
|
||||||
@size-change="handleSizeChange"
|
<div class="uc-course" v-for="(item, idx) in couresList" @click="jumpRouter(item)" :key="idx">
|
||||||
@current-change="handleCurrentChange"
|
<div class="uc-course-img">
|
||||||
:page-sizes="[10, 20, 30, 40]"
|
<img :src="item.cmtask_imgurl" />
|
||||||
:current-page="page"
|
<span class="spanname" v-if="item.cmtask_type==1">学习路径图</span>
|
||||||
:page-size="size"
|
<span class="spanname" v-if="item.cmtask_type==2">学习项目</span>
|
||||||
layout="total, sizes, prev, pager, next, jumper"
|
<!-- 类型3不显示,20230307 东吴说已确认的修改 -->
|
||||||
:total="total">
|
<!-- <span class="spanname" v-if="item.cmtask_type==3">老系统必修任务</span> -->
|
||||||
</el-pagination>
|
</div>
|
||||||
|
<div class="uc-course-info">
|
||||||
|
<!-- 任务名称 -->
|
||||||
|
<div class="uc-course-name one-line-ellipsis" style="cursor: pointer">
|
||||||
|
<span v-if="item.type==10" class="uc-course-type2">录播</span>
|
||||||
|
<span v-if="item.type==20" class="uc-course-type2">录播</span>
|
||||||
|
<!-- <a href="/course/detail?id=" target="_blank"> {{item.name}}</a> -->
|
||||||
|
<span v-html="item.cmtask_name"></span>
|
||||||
|
</div>
|
||||||
|
<!-- <div class="uc-course-source" @click="jumpRouter(item)">来源:{{ item.cmtask_name }}</div> -->
|
||||||
|
<div style="padding-top: 18px; " class="uc-course-text">学习进度:
|
||||||
|
<span v-if="item.cmtask_user_status==0">未开始</span>
|
||||||
|
<span v-if="item.cmtask_user_status==1">进行中</span>
|
||||||
|
<span v-if="item.cmtask_user_status==2">已完成</span>
|
||||||
|
</div>
|
||||||
|
<!-- <div class="uc-course-time">推送时间:{{ formatsec(Number(item.updated_at) * 1000 )}}</div> -->
|
||||||
|
<div class="uc-course-time">推送时间:{{ item.created_at}}</div>
|
||||||
|
</div>
|
||||||
|
<div class="uc-course-btns">
|
||||||
|
<el-button @click="jumpRouter(item)" type="primary" size="small">开始学习</el-button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div style="height:150px; text-align: center; margin-top:57px;" >
|
||||||
|
<el-pagination background
|
||||||
|
@size-change="handleSizeChange"
|
||||||
|
@current-change="handleCurrentChange"
|
||||||
|
:page-sizes="[10, 20, 30, 40]"
|
||||||
|
:current-page="page"
|
||||||
|
:page-size="size"
|
||||||
|
layout="total, sizes, prev, pager, next, jumper"
|
||||||
|
:total="total">
|
||||||
|
</el-pagination>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<!-- </div> -->
|
||||||
|
<div v-else class="zan-wu">
|
||||||
|
<div v-if="loading">
|
||||||
|
<span v-if="couresList.length==0">正在加载数据...</span>
|
||||||
|
<span v-else>查询中...</span>
|
||||||
|
</div>
|
||||||
|
<div v-else>
|
||||||
|
<span v-if="couresList.length==0">没有查询到相关内容</span>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
|
||||||
<!-- </div> -->
|
|
||||||
<div v-else class="zan-wu">
|
|
||||||
<div v-if="loading">
|
|
||||||
<span v-if="couresList.length==0">正在加载数据...</span>
|
|
||||||
<span v-else>查询中...</span>
|
|
||||||
</div>
|
|
||||||
<div v-else>
|
|
||||||
<span v-if="couresList.length==0">没有查询到相关内容</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@@ -121,7 +126,9 @@ export default {
|
|||||||
handler(to, from) {
|
handler(to, from) {
|
||||||
console.log('type变化了', to.query.type);
|
console.log('type变化了', to.query.type);
|
||||||
this.isType = to.query.type;
|
this.isType = to.query.type;
|
||||||
this.loadBoeData();
|
if(this.isType != 9){
|
||||||
|
this.loadBoeData();
|
||||||
|
}
|
||||||
},
|
},
|
||||||
immediate: true
|
immediate: true
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user