dbsd_kczx/src/views/site/common/header.vue

274 lines
9.4 KiB
Vue
Raw Normal View History

<template>
<a-layout-header>
<!-- <BackTop/> -->
2023-04-15 15:49:46 +08:00
<div id="topDiv" v-show="props.showRightButton">
<a-row >
<a-col :xs="{ span: 0 }" :sm="{ span: 24 }" :lg="{ span: 24 }">
2023-05-31 16:21:12 +08:00
<div class="topButton" @click="toTop" style="float: right;">
2023-04-15 15:49:46 +08:00
<ArrowUpOutlined/>
</div>
</a-col>
<a-col :xs="{ span: 0 }" :sm="{ span: 24 }" :lg="{ span: 24 }">
2023-05-31 16:21:12 +08:00
<div class="topYiJianFanKui" @click="funYjfk" style="float: right;">
2023-04-15 15:49:46 +08:00
意见反馈
</div>
</a-col>
2023-06-07 00:02:49 +08:00
<!-- <a-col :xs="{ span: 0 }" :sm="{ span: 24 }" :lg="{ span: 24 }">
</a-col> -->
2023-04-15 15:49:46 +08:00
</a-row>
</div>
2023-06-07 00:02:49 +08:00
<div id="leftDiv" v-show="props.showRightButton">
2023-06-09 08:31:51 +08:00
<a-row >
2024-05-17 22:15:18 +08:00
<a-col :xs="{ span: 0 }" :sm="{ span: 24 }" :lg="{ span: 24 }" v-if="getUserSf()=='T'">
2023-06-09 08:31:51 +08:00
<a-menu style="margin-top: 20px;" :selectable="false">
2024-03-26 18:32:17 +08:00
<a-menu-item key="1" v-if="getSysConfig().flag7=='1'">
2023-06-28 22:41:50 +08:00
<a class="abox" @click="toDom('tkzjDom')">听课足迹</a>
</a-menu-item>
2024-03-26 18:32:17 +08:00
<a-menu-item key="2" v-if="getSysConfig().flag7=='1'">
2023-07-23 10:03:28 +08:00
<a class="abox" @click="toDom('tkzjDom')">评课足迹</a>
</a-menu-item>
2024-03-20 14:58:01 +08:00
<a-menu-item key="3" v-if="getSysConfig().flag2=='1'&& getSysConfig().sfbmd=='n'">
2023-06-28 22:41:50 +08:00
<a class="abox" @click="toDom('rkjcDom')">任教课程</a>
</a-menu-item>
2024-03-20 14:58:01 +08:00
<a-menu-item key="8" v-if="getSysConfig().sfbmd=='n'">
<a class="abox" @click="toDom('pjjgDom')">评价结果</a>
</a-menu-item>
2024-03-26 18:32:17 +08:00
<a-menu-item key="4" v-if="getSysConfig().flag3=='1'">
2023-06-28 22:41:50 +08:00
<a class="abox" @click="toDom('yykcDom')">预约课程</a>
</a-menu-item>
2024-03-20 14:58:01 +08:00
<a-menu-item key="5" v-if="getSysConfig().flag4=='1'&& getSysConfig().sfbmd=='n'">
2023-06-28 22:41:50 +08:00
<a class="abox" @click="toDom('jcgkkDom')">&nbsp;&nbsp;&nbsp;&nbsp;</a>
</a-menu-item>
2023-07-23 10:03:28 +08:00
<a-menu-item key="6" v-if="getSysConfig().flag5=='1'">
2023-06-28 22:41:50 +08:00
<a class="abox" @click="toDom('kxstkktDom')">线上听课</a>
</a-menu-item>
2023-07-23 10:03:28 +08:00
<a-menu-item key="7" v-if="getSysConfig().flag6=='1'">
2023-09-12 20:22:21 +08:00
<a class="abox" @click="toDom('jrkclbDom')">课程查询</a>
2023-06-28 22:41:50 +08:00
</a-menu-item>
2024-03-20 14:58:01 +08:00
<a-menu-item key="8" v-if="getSysConfig().sfbmd=='n'" >
2023-07-24 08:17:28 +08:00
<a class="abox" @click="toDom('ktsbDom')">听课笔记</a>
</a-menu-item>
2023-06-28 22:41:50 +08:00
</a-menu>
2023-06-09 08:31:51 +08:00
</a-col>
2024-05-23 21:06:35 +08:00
<a-col :xs="{ span: 0 }" :sm="{ span: 24 }" :lg="{ span: 24 }" v-if="getUserSf()=='S-'">
2024-05-17 22:15:18 +08:00
<a-menu style="margin-top: 20px;" :selectable="false">
<a-menu-item key="2" >
<a class="abox" @click="toDom('stujrkbDom')">今日课表</a>
</a-menu-item>
<a-menu-item key="3" >
2024-05-20 23:01:32 +08:00
<a class="abox" @click="toDom('stujlrkbDom')">近六日课表</a>
2024-05-17 22:15:18 +08:00
</a-menu-item>
<a-menu-item key="4" >
<a class="abox" @click="toDom('stuwdkcDom')">我的课程</a>
</a-menu-item>
</a-menu>
</a-col>
2023-06-09 08:31:51 +08:00
</a-row>
2023-06-07 00:02:49 +08:00
<!-- <div style="background-color: #fff;">
<div>&nbsp;</div>
<div class="topLinkTextEllipsis"><a class="abox" @click="toDom('tkzjDom')">听课足迹</a></div>
<div class="topLinkTextEllipsis"><a class="abox" @click="toDom('rkjcDom')">任教课程</a></div>
<div class="topLinkTextEllipsis"><a class="abox" @click="toDom('yykcDom')">预约课程</a></div>
<div class="topLinkTextEllipsis"><a class="abox" @click="toDom('jcgkkDom')">&nbsp;&nbsp;&nbsp;&nbsp;</a></div>
<div class="topLinkTextEllipsis"><a class="abox" @click="toDom('kxstkktDom')">线上听课</a></div>
<div class="topLinkTextEllipsis"><a class="abox" @click="toDom('jrkclbDom')">今日课程</a></div>
</div> -->
</div>
2023-05-19 21:28:46 +08:00
<span class="topTitle" >
2023-10-18 19:23:22 +08:00
<div hidden @click="testKuayu">点击开始跨域报错</div>
<RouterLink :to="{path:'/site/index'}" style="color:white;">{{ projectName }}
2023-07-20 22:48:40 +08:00
<span style="font-size: 16px;" v-if="getSysConfig().flag1">{{getSysConfig().flag1}}({{getSysConfig().bxqkssj}}{{getSysConfig().bxqjssj}})</span>
2024-05-29 10:59:42 +08:00
<span style="font-size: 16px;margin-left: 20px;" v-if="getUserSf()=='T'" >本学期听课要求:{{tkyqcs}}<span v-if="tkyqcs!='未配置'"></span>已完成{{tkyqywc}}</span>
2023-07-20 22:48:40 +08:00
</RouterLink>
<RouterLink hidden target='_blank' :to="{path:'/site/liveView',query:{ url: 'rtsp://176.139.87.16/axis-media/media.amp' }}">直播测试页rtsp</RouterLink>
<RouterLink hidden target='_blank' :to="{path:'/site/liveFlvView',query:{ url: 'rtsp://176.139.87.16/axis-media/media.amp' }}">直播测试页flv</RouterLink>
2023-06-11 20:21:34 +08:00
<RouterLink hidden target='_blank' :to="{path:'/site/livem3u8View',query:{ url: 'https://zxkccx.webvpn.nenu.edu.cn:9553/live_hls/yfjxl101s_lbzj.m3u8' }}">直播测试页m3u8</RouterLink>
2023-04-25 22:11:54 +08:00
<RouterLink hidden target='_blank' :to="{path:'/site/liveRoom',query:{ id: '1139010101' }}">直播测试页正式课堂m3u8</RouterLink>
2023-04-15 09:45:50 +08:00
</span>
<span class="topRight">
<a-dropdown>
<span class="ant-dropdown-link topRightMenu" @click.prevent>
{{ userStore?.getUserInfo?.realname }}
<DownOutlined/>
</span>
<template #overlay>
<a-menu>
2024-05-22 13:43:18 +08:00
<a-menu-item v-if="sfxx=='1'">
2023-06-11 20:21:34 +08:00
<RouterLink to="/dashboard/analysis" target="_blank">后台管理</RouterLink>
</a-menu-item>
<a-menu-item>
<a href="javascript:void(0);" @click="userStore?.confirmLoginOut();">安全退出</a>
</a-menu-item>
</a-menu>
</template>
</a-dropdown>
</span>
2023-04-09 20:14:19 +08:00
<YjfkModal ref="YjfkModalTab"></YjfkModal>
</a-layout-header>
</template>
<script setup lang="ts">
2023-07-23 10:03:28 +08:00
import { ref,onMounted } from 'vue';
2023-04-03 23:56:45 +08:00
import { DownOutlined, ArrowUpOutlined } from '@ant-design/icons-vue';
import { useUserStore } from '/@/store/modules/user';
2023-04-09 20:14:19 +08:00
import YjfkModal from '/@/views/site/yjfk/YjfkModal.vue';
2023-06-14 08:24:39 +08:00
import { getUserSf,getSysConfig } from '/@/views/site/utils/index';
import { defHttp, transform } from '/@/utils/http/axios';
import { VAxios } from '/@/utils/http/axios/Axios';
2023-04-09 20:14:19 +08:00
2023-07-23 10:03:28 +08:00
const tkyqcs = ref<string>('未配置');
const tkyqywc = ref<string>('0');
2024-05-22 13:43:18 +08:00
const sfxx = ref<string>('0');
2023-04-15 15:49:46 +08:00
const props = defineProps({
showRightButton: { type: Boolean, default: false }
});
2023-07-23 10:03:28 +08:00
const yqlist = (queryParam) => defHttp.get({ url: '/kcTingke/kcTingke/getUserTingkeInfo', params:queryParam });
2023-04-15 09:45:50 +08:00
const projectName = import.meta.env.VITE_GLOB_APP_TITLE;
2023-04-09 20:14:19 +08:00
const YjfkModalTab = ref();
//用户相关
const userStore = useUserStore();
2023-05-19 21:28:46 +08:00
function toIndex(){
window.location.href="/site/index"
}
2023-07-23 10:03:28 +08:00
//进入就加载
onMounted(() => {
yqlist(null).then(res=>{
var list = res
if(list){
2023-12-23 19:01:25 +08:00
tkyqcs.value = Number(list.tkyq)||'未配置'
2023-07-23 10:03:28 +08:00
tkyqywc.value = list.sjtksl||'0'
}
})
2024-05-22 13:43:18 +08:00
2024-06-04 08:47:27 +08:00
let roleList = userStore?.getUserInfo?.roleList;
console.log(`🚀 ~ onMounted ~ userStore:`, userStore)
console.log(`🚀 ~ onMounted ~ roleList:`, roleList)
if(roleList){
for(var i=0;i<roleList.length;i++){
var roleCode = roleList[i].roleCode
2024-06-04 08:47:27 +08:00
console.log(`🚀 ~ onMounted ~ roleCode:`, roleCode)
if(roleCode == 'admin' || roleCode == 'jwms'){
sfxx.value = "1";
}
2024-05-22 13:43:18 +08:00
}
}
2023-07-23 10:03:28 +08:00
});
2023-04-06 00:45:01 +08:00
function smoothScroll(topNum){
setTimeout(() => {
if(topNum > 0){
topNum = topNum - 50;
document.body.scrollTop = topNum;
smoothScroll(topNum);
}
},1);
}
2023-05-24 21:11:26 +08:00
function toTop(){
2023-05-22 20:37:15 +08:00
let topNum = 0;
2023-05-24 21:11:26 +08:00
topNum = document.body.scrollTop;
smoothScroll(topNum);
2023-05-22 20:37:15 +08:00
}
function toDom(toId){
let toDom: any = document?.querySelector('#' + toId);
let topNum = toDom?.offsetTop??0;
document.body.scrollTop = topNum;
2023-04-06 00:45:01 +08:00
}
2023-04-09 20:14:19 +08:00
/**
* 意见反馈
*/
function funYjfk(){
YjfkModalTab.value.add()
}
const axios = new VAxios({
transform: {
transformRequestHook: transform.transformRequestHook,
responseInterceptorsCatch: transform.responseInterceptorsCatch,
}
});
function testKuayu() {
axios.get({ url: 'https://webvpn.nenu.edu.cn/vpn_key/update?origin=https%3A%2F%2Fzxkccx.webvpn.nenu.edu.cn%2Fjeecg-boot%2FkcJieci%2FkcJieci%2FgetIndexJcList%3F_t%3D1696816325815&reason=site+zxkccx.webvpn.nenu.edu.cn+not+found' });
}
2023-04-03 23:56:45 +08:00
</script>
<style lang="less" scoped>
#siteMain {
#maxSite {
.topTitle {
font-size: 1.5rem;
}
.topRight {
float: right;
.topRightMenu {
font-size: 1.1rem;
}
}
.footerRight {
float: right;
}
}
}
2023-04-06 00:45:01 +08:00
#topDiv {
position: absolute;
right: 1rem;
top: 5rem;
z-index: 1;
2023-05-31 16:21:12 +08:00
width: 100px;
2023-04-06 00:45:01 +08:00
.topButton {
background: #c2c2c2;
margin-bottom: 2rem;
padding: 0.5rem;
width: 4rem;
font-size:3rem;
}
.topYiJianFanKui {
background: #1c84c6;
color:#FFF;
font-size:1.5rem;
padding: 0.5rem;
width: 4rem;
line-height: 2.1rem;
}
2023-05-22 20:37:15 +08:00
.topLinkTextEllipsis {
2023-05-31 16:21:12 +08:00
line-height: 18px;
2023-05-22 20:37:15 +08:00
overflow:hidden;
white-space: nowrap;
text-overflow: ellipsis;
-o-text-overflow:ellipsis;
}
.abox {
//border-radius: 50%;
//background: #1c84c6;
//color: #fff;
//order: dotted red;
2023-05-31 16:21:12 +08:00
// padding: 0.5rem 0.5rem 0.5rem 0;
// border: dotted #1c84c6;
// color: black;
}
2023-04-06 00:45:01 +08:00
}
2023-06-07 00:02:49 +08:00
#leftDiv {
position: absolute;
left: 1rem;
top: 5rem;
z-index: 1;
width: 100px;
}
2023-04-06 00:45:01 +08:00
</style>