任教课程-历史学期页面样式及“进入课程”后各功能完善

This commit is contained in:
1378012178@qq.com 2024-12-12 14:56:36 +08:00
parent 334a9c1347
commit de29ed40c5
5 changed files with 293 additions and 234 deletions

View File

@ -270,7 +270,15 @@ const site: AppRouteModule = {
title: '答题结果', title: '答题结果',
}, },
}, },
{
path: 'WjxCywjV2Dtjghis',
name: 'WjxCywjV2Dtjghis',
component: () => import('/@/views/kc/wjxCswj/WjxCywjV2Dtjghis.vue'),
meta: {
// affix: true,
title: '答题结果',
},
},
], ],
}; };

View File

@ -1,69 +0,0 @@
import type { AppRouteModule } from '/@/router/types';
// import { LAYOUT } from '/@/router/constant';
import { t } from '/@/hooks/web/useI18n';
const zuoyehistory: AppRouteModule = {
path: '/history',
name: 'history',
component: () => import('/@/views/site/renKeJiaoCheng/checkKecheng/history/kcHistoryMain.vue'),
redirect: '/history/hismain',
meta: {
isAddStaticPath: true,//是否静态引入不用配置menu表
orderNo: 106,
title: '历史作业',
},
children: [
{
path: 'hismain',
name: 'zuoyeHistoryMain',
meta: {
title: '课程简介',
},
component: () => import('/@/views/site/renKeJiaoCheng/checkKecheng/history/kcHistoryDetail.vue'),
},
{
path: 'hisTzgg',
name: 'hisTzgg',
component: () => import('/@/views/zy/zyGonggao/StudentGonggaoList.vue'),
meta: {
title: '通知公告',
},
},
{
path: 'hisKczy',
name: 'hisKczy',
component: () => import('/@/views/zy/zyInfo/ZyInfoHisMainList.vue'),
meta: {
title: '课程作业',
},
},
{
path: 'hisdksbl',
name: 'hisdksbl',
component: () => import('/@/views/kc/detection/zyZhjsList.vue'),
meta: {
title: 'AI识别出勤率',
},
},
{
path: 'hisKccy',
name: 'hisKccy',
component: () => import('/@/views/kc/wjxCswj/WjxCswjHisMainList.vue'),
meta: {
title: '课程测验',
},
},
{
path: 'hisWjdc',
name: 'hisWjdc',
component: () => import('/@/views/kc/wjxDcwj/WjxDcwjHisMainList.vue'),
meta: {
title: '问卷调查',
},
},
]
}
export default zuoyehistory;

View File

@ -4,7 +4,9 @@
<a-col :xs="{ span: 24 }" :sm="{ span: 8 }" :lg="{ span: 8 }" :key="index" v-for="(item, index) in allList"> <a-col :xs="{ span: 24 }" :sm="{ span: 8 }" :lg="{ span: 8 }" :key="index" v-for="(item, index) in allList">
<div class=" ketangback ketangCard ketangCardcol"> <div class=" ketangback ketangCard ketangCardcol">
<div class="rjkcTopDiv"> <div class="rjkcTopDiv">
<div style="text-align: left"><Icon icon="ant-design:read-outlined" /><span>{{ item.sksj }}</span></div> <div style="text-align: left">
<Icon icon="ant-design:read-outlined" /><span>{{ item.sksj }}</span>
</div>
</div> </div>
<div class="rjkcBodyDiv"> <div class="rjkcBodyDiv">
<div class="kcmcDiv"> <div class="kcmcDiv">
@ -99,17 +101,20 @@ function openKechengDetail(item) {
.ketangCard { .ketangCard {
margin: 0.5rem; margin: 0.5rem;
} }
.ketangCardcol { .ketangCardcol {
background-color: #f3f3f3; background-color: #f3f3f3;
padding: 1px; padding: 1px;
box-shadow: 1px 1px 5px 1px #e1e1e1; box-shadow: 1px 1px 5px 1px #e1e1e1;
} }
.rjkcTopDiv { .rjkcTopDiv {
padding: 0.5rem; padding: 0.5rem;
color: #798394; color: #798394;
font-size: 15px; font-size: 15px;
text-align: right; text-align: right;
} }
.nDayDiv { .nDayDiv {
top: -14px; top: -14px;
right: -14px; right: -14px;
@ -121,26 +126,31 @@ function openKechengDetail(item) {
border-radius: 0 0 0 5px; border-radius: 0 0 0 5px;
text-align: left; text-align: left;
} }
.rjkcBodyDiv { .rjkcBodyDiv {
margin-top: 1px; margin-top: 1px;
background: #fff; background: #fff;
padding: 1rem; padding: 1rem;
} }
.kcmcDiv { .kcmcDiv {
font-size: 24px; font-size: 24px;
font-weight: bold; font-weight: bold;
} }
.skddDiv { .skddDiv {
color: #333333; color: #333333;
font-size: 14px; font-size: 14px;
// font-weight: bold; // font-weight: bold;
} }
.xkrsDiv { .xkrsDiv {
padding-top: 1rem; padding-top: 1rem;
font-size: 18px; font-size: 18px;
font-weight: bold; font-weight: bold;
text-align: right; text-align: right;
} }
.buttonClass { .buttonClass {
background: #1ab394; background: #1ab394;
font-weight: 600; font-weight: 600;
@ -152,26 +162,32 @@ function openKechengDetail(item) {
background: #6cafda; background: #6cafda;
} }
} }
.skdd-Left-section { .skdd-Left-section {
display: flex; display: flex;
align-items: flex-end; align-items: flex-end;
justify-content: space-between; justify-content: space-between;
} }
.ketangback { .ketangback {
background: #f7f7f7; background: #f7f7f7;
border-radius: 5px; border-radius: 5px;
} }
.skdd-line { .skdd-line {
text-align: left; text-align: left;
width: 30%; width: 30%;
margin-right: 10rpx; margin-right: 10rpx;
} }
.xkrs-color { .xkrs-color {
color: #18a689; color: #18a689;
} }
.xkrs-color:hover { .xkrs-color:hover {
color: #ff5a00; color: #ff5a00;
} }
.ant-btn { .ant-btn {
line-height: 1.5715; line-height: 1.5715;
position: relative; position: relative;

View File

@ -5,7 +5,8 @@
<a-row> <a-row>
<a-col :xs="{ span: 24 }" :sm="{ span: 8 }" :lg="{ span: 8 }"> <a-col :xs="{ span: 24 }" :sm="{ span: 8 }" :lg="{ span: 8 }">
<a-form-item label="学年学期" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-form-item label="学年学期" :labelCol="labelCol" :wrapperCol="wrapperCol">
<j-dict-select-tag placeholder="学年学期" v-model:value="queryParam.xqxn" dictCode="kc_xqxn_history,title,title,true order by start_time desc" style="width:90%;"/> <j-dict-select-tag placeholder="学年学期" v-model:value="queryParam.xqxn"
dictCode="kc_xqxn_history,title,title,true order by start_time desc" style="width:90%;" />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :xs="{ span: 24 }" :sm="{ span: 8 }" :lg="{ span: 8 }"> <a-col :xs="{ span: 24 }" :sm="{ span: 8 }" :lg="{ span: 8 }">
@ -20,15 +21,39 @@
</a-row> </a-row>
</a-col> </a-col>
<a-col :xs="{ span: 24 }" :sm="{ span: 8 }" :lg="{ span: 8 }" :key="index" v-for="(item, index) in allList"> <a-col :xs="{ span: 24 }" :sm="{ span: 8 }" :lg="{ span: 8 }" :key="index" v-for="(item, index) in allList">
<div class="ketangCard ketangCardcol" > <div class=" ketangback ketangCard ketangCardcol">
<div class="rjkcTopDiv"> <div class="rjkcTopDiv">
<div style="text-align: left;"><span>{{ item.sksj }}</span></div> <div style="text-align: left">
<Icon icon="ant-design:read-outlined" /><span>{{ item.sksj }}</span>
</div>
</div> </div>
<div class="rjkcBodyDiv"> <div class="rjkcBodyDiv">
<div class="kcmcDiv">{{ item.kcmc }}</div> <div class="kcmcDiv">
<div class="skddDiv" style="margin-top:20px;">{{ item.skdd }}</div> <!-- <a-badge :offset="[10|0]" :count="item.dbtxType" :title="'您有'+item.dbtxType+'条提醒信息'"> -->
<div class="xkrsDiv" style="margin-top:20px;">{{ item.xqxn }}</div> <!-- <a-badge
<div class="xkrsDiv">{{ item.xkrs }}人选课&nbsp;&nbsp;&nbsp;<a-button class="buttonClass" @click="openKechengDetail(item)">进入课程</a-button></div> :dot="item.dbtxType > 0 ? true : false"
:offset="[5 | 0]"
:numberStyle="{ backgroundColor: '#f00', width: '10px', height: '10px' }"
:title="'您有' + item.dbtxType + '条提醒信息'"
> -->
<span style="font-size: 20px">{{ item.kcmc }}</span>
<!-- </a-badge> -->
</div>
<div class="skddDiv">{{ item.skdd }}</div>
<!-- <div class="skddDiv">教课周次{{ item.jkzc }}</div> -->
<div class="xkrsDiv skdd-Left-section">
<div style="width:70%; display: flex; justify-content: flex-start; ">
<div class="skdd-line">
<div class="xkrs-color">{{ item.xf }}</div>
<div class="skddDiv">学分</div>
</div>
<div class="skdd-line" style="cursor: pointer;">
<div class="xkrs-color">{{ item.xkrs }}</div>
<div class="skddDiv" @click="openXkrs(item)">选课人数</div>
</div>
</div>
<a-button class="buttonClass" @click="openKechengDetail(item)">进入课程</a-button>
</div>
</div> </div>
</div> </div>
</a-col> </a-col>
@ -79,25 +104,37 @@ function loadData(){
function openKechengDetail(item) { function openKechengDetail(item) {
console.log(`🚀 ~ openKechengDetail ~ item:`, item) console.log(`🚀 ~ openKechengDetail ~ item:`, item)
window.open('/history/hismain?rwbh='+item.rwbh+'&xqxn='+getSysConfig().flag1+"&type=0","_blank"); //
// window.open('/history/hismain?rwbh='+item.rwbh+'&xqxn='+getSysConfig().flag1+"&type=0","_blank");
//
window.open('/zyhis/tuGonggaohis?rwbh=' + item.rwbh + '&xqxn=' + getSysConfig().flag1 + '&type=1' + '&teano=' + item.jgh, '_blank');
}
//
function openXkrs(record) {
// console.log(`🚀 ~ openXkrs ~ record:`, record)
// XxhbbksListModalPage.value.disableSubmit = true;
// XxhbbksListModalPage.value.init(record);
} }
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
.ketangCard { .ketangCard {
margin: .5rem; margin: 0.5rem;
} }
.ketangCardcol { .ketangCardcol {
background-color: #f3f3f3; background-color: #f3f3f3;
padding: 1px; padding: 1px;
box-shadow: 1px 1px 5px 1px #e1e1e1;
} }
.rjkcTopDiv { .rjkcTopDiv {
background: #fff; padding: 0.5rem;
padding: .9rem; color: #798394;
color: #1ab394; font-size: 15px;
font-size: 18px;
font-weight: bold;
text-align: right; text-align: right;
} }
.nDayDiv { .nDayDiv {
top: -14px; top: -14px;
right: -14px; right: -14px;
@ -109,35 +146,88 @@ function loadData(){
border-radius: 0 0 0 5px; border-radius: 0 0 0 5px;
text-align: left; text-align: left;
} }
.rjkcBodyDiv { .rjkcBodyDiv {
margin-top: 1px; margin-top: 1px;
background: #fff; background: #fff;
padding: 1rem 2rem 2rem 2rem; padding: 1rem;
} }
.kcmcDiv { .kcmcDiv {
font-size: 24px; font-size: 24px;
font-weight: bold; font-weight: bold;
} }
.skddDiv { .skddDiv {
color: #1c84c6; color: #333333;
font-size: 16px; font-size: 14px;
// font-weight: bold; // font-weight: bold;
} }
.xkrsDiv { .xkrsDiv {
padding-top: 2.5rem; padding-top: 1rem;
font-size: 18px; font-size: 18px;
font-weight: bold; font-weight: bold;
text-align: right; text-align: right;
} }
.buttonClass { .buttonClass {
background: #1c84c6; background: #1ab394;
font-weight: 600; font-weight: 600;
color: #fff; color: #fff;
border-radius: 5px; border-radius: 5px;
line-height: 23px; line-height: 22px;
&[disabled] { &[disabled] {
background: #6cafda; background: #6cafda;
} }
} }
.skdd-Left-section {
display: flex;
align-items: flex-end;
justify-content: space-between;
}
.ketangback {
background: #f7f7f7;
border-radius: 5px;
}
.skdd-line {
text-align: left;
width: 30%;
margin-right: 10rpx;
}
.xkrs-color {
color: #18a689;
}
.xkrs-color:hover {
color: #ff5a00;
}
.ant-btn {
line-height: 1.5715;
position: relative;
display: inline-block;
font-weight: 400;
white-space: nowrap;
text-align: center;
background-image: none;
box-shadow: 0 2px 0 rgba(0, 0, 0, 0.015);
cursor: pointer;
transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
-webkit-user-select: none;
-moz-user-select: none;
user-select: none;
touch-action: manipulation;
height: 32px;
padding: 4px 15px;
font-size: 14px;
border-radius: 5px;
border-color: #fff;
color: #fff;
}
</style> </style>

View File

@ -7,7 +7,8 @@
<a-col :span="24"> <a-col :span="24">
<a-row> <a-row>
<a-col :lg="24" :xs="18"> <a-col :lg="24" :xs="18">
<div style="width:100%;background: #fff;font-size: 18px;font-weight: bold;margin-top:10px;padding: 10px;"> <div
style="width:100%;background: #fff;font-size: 18px;font-weight: bold;margin-top:10px;padding: 10px;">
<a-row> <a-row>
<a-col :xs="0" :lg="24"> <a-col :xs="0" :lg="24">
<a-button type="primary" @click="toggleCollapsed"> <a-button type="primary" @click="toggleCollapsed">
@ -15,12 +16,12 @@
<MenuUnfoldOutlined v-else /> <MenuUnfoldOutlined v-else />
</a-button> </a-button>
<span class="ellipsis"> <span class="ellipsis">
课程名称1{{kcxxInfo.kcmc}} 课程名称{{ kcxxInfo.kcmc }}
</span> </span>
</a-col> </a-col>
<a-col :xs="24" :lg="0"> <a-col :xs="24" :lg="0">
<span class="ellipsis"> <span class="ellipsis">
课程名称1{{kcxxInfo.kcmc}} 课程名称{{ kcxxInfo.kcmc }}
</span> </span>
</a-col> </a-col>
</a-row> </a-row>
@ -33,7 +34,8 @@
</a-row> </a-row>
</a-col> </a-col>
<a-col :lg="spanlg" :xs="0"> <a-col :lg="spanlg" :xs="0">
<dqxqkcMenu ref="dqxqkcMenuTag"/> <dqxqkcMenu v-if="!readOnly" ref="dqxqkcMenuTag" />
<dqxqkcMenuHis v-else ref="dqxqkcMenuTag" />
</a-col> </a-col>
<a-col :lg="spanlt" :xs="24"> <a-col :lg="spanlt" :xs="24">
<RouterView /> <RouterView />
@ -57,6 +59,7 @@
import headerPage from '/@/views/site/common/header.vue'; import headerPage from '/@/views/site/common/header.vue';
import footerPage from '/@/views/site/common/footer.vue'; import footerPage from '/@/views/site/common/footer.vue';
import dqxqkcMenu from '/@/views/site/renKeJiaoCheng/checkKecheng/dqxqkcMenu.vue'; import dqxqkcMenu from '/@/views/site/renKeJiaoCheng/checkKecheng/dqxqkcMenu.vue';
import dqxqkcMenuHis from '/@/views/site/renKeJiaoCheng/checkKecheng/dqxqkcMenuHistory.vue';
import dqxqkc from '/@/views/site/renKeJiaoCheng/checkKecheng/dqxqkc.vue'; import dqxqkc from '/@/views/site/renKeJiaoCheng/checkKecheng/dqxqkc.vue';
const maxClassName = ref<any>({}); const maxClassName = ref<any>({});
@ -64,7 +67,9 @@
const selectedKeys = ref<string[]>([]); const selectedKeys = ref<string[]>([]);
// //
const { currentRoute } = useRouter(); const { currentRoute } = useRouter();
const { query } = unref(currentRoute); const { query, matched } = unref(currentRoute);
const readOnly = ref(false)
if (matched[0].name == 'zyhis') readOnly.value = true
const { rwbh, xqxn } = query;// const { rwbh, xqxn } = query;//
let router = useRouter(); let router = useRouter();
const kcxxInfo = ref<string>(''); const kcxxInfo = ref<string>('');
@ -99,12 +104,14 @@ function toggleCollapsed() {
// font-size: ; // font-size: ;
// height: 100%; // height: 100%;
background: #f3f3f4; background: #f3f3f4;
#maxSite { #maxSite {
// //
max-width: 1070px; max-width: 1070px;
min-height: calc(100vh); min-height: calc(100vh);
// //
margin: 0 auto; margin: 0 auto;
.rowGutter { .rowGutter {
margin-top: 1rem; margin-top: 1rem;
margin-bottom: 1rem; margin-bottom: 1rem;
@ -114,15 +121,18 @@ function toggleCollapsed() {
color: #fff; color: #fff;
background: #1ab394; background: #1ab394;
} }
.ant-layout-footer { .ant-layout-footer {
line-height: 1.5; line-height: 1.5;
background: #FFF; background: #FFF;
} }
.ant-layout-sider { .ant-layout-sider {
color: #fff; color: #fff;
line-height: 120px; line-height: 120px;
background: #3ba0e9; background: #3ba0e9;
} }
.ant-layout-content { .ant-layout-content {
min-height: 120px; min-height: 120px;
color: #000; color: #000;
@ -131,9 +141,13 @@ function toggleCollapsed() {
} }
} }
} }
.ellipsis { .ellipsis {
white-space: nowrap; /* 确保文本在一行内显示 */ white-space: nowrap;
overflow: hidden; /* 隐藏溢出的内容 */ /* 确保文本在一行内显示 */
text-overflow: ellipsis; /* 使用省略号表示溢出的文本 */ overflow: hidden;
/* 隐藏溢出的内容 */
text-overflow: ellipsis;
/* 使用省略号表示溢出的文本 */
} }
</style> </style>