|
@@ -1,14 +1,15 @@
|
|
|
<template>
|
|
|
- <div class="pb_content" style="height: auto">
|
|
|
- <div class="pb_head top">
|
|
|
- <div>
|
|
|
- <span>评测管理</span>
|
|
|
- </div>
|
|
|
- <div class="student_button">
|
|
|
- <el-button type="primary" class="bgColor" @click="goToCourse()">新建评测</el-button>
|
|
|
+ <div class="pb_content" style="height: auto; width: 94%; margin: 10px auto;background: unset;">
|
|
|
+ <div style="width:100%;padding:0 21px;background:#fff;border-radius: 5px;box-sizing: border-box;">
|
|
|
+ <div class="pb_head top">
|
|
|
+ <div>
|
|
|
+ <span>评测管理</span>
|
|
|
+ </div>
|
|
|
+ <div class="student_button">
|
|
|
+ <el-button type="primary" class="bgColor" @click="goToCourse()">新建评测</el-button>
|
|
|
+ </div>
|
|
|
+
|
|
|
</div>
|
|
|
- </div>
|
|
|
- <div class="pb_content_body" style="height: 100%">
|
|
|
<div class="student_head">
|
|
|
<div class="choose">
|
|
|
<div class="all_choose" v-for="(item, index) in CourseType[0]" :key="index">
|
|
@@ -24,21 +25,16 @@
|
|
|
<div class="student_search" v-if="typeArray.length">
|
|
|
<span>类型</span>
|
|
|
<el-select v-model="typeCheck" placeholder="请选择" clearable @change="search">
|
|
|
- <el-option v-for="(item, index) in typeArray" :key="index" :label="item.name" :value="item.id"></el-option>
|
|
|
+ <el-option v-for="(item, index) in typeArray" :key="index" :label="item.name"
|
|
|
+ :value="item.id"></el-option>
|
|
|
</el-select>
|
|
|
</div>
|
|
|
- <div class="student_search">
|
|
|
- <span>所有者</span>
|
|
|
+ <!-- <div class="student_search">
|
|
|
+ <span></span>
|
|
|
<el-select v-model="groupA" @change="search">
|
|
|
<el-option value="0" label="我的"></el-option>
|
|
|
- <!-- <el-option value="4" label="全部"></el-option> -->
|
|
|
- <!-- <el-option value="2" label="他人"
|
|
|
- v-if="oid != '1c3b9def-8fbe-11ed-b13d-005056b86db5'"></el-option> -->
|
|
|
</el-select>
|
|
|
- <!-- <el-select v-model="groupA" @change="search" v-else>
|
|
|
- <el-option value="4" label="全部"></el-option>
|
|
|
- </el-select> -->
|
|
|
- </div>
|
|
|
+ </div> -->
|
|
|
<div @click="clear" class="clear" v-if="CourseType.length">重置</div>
|
|
|
</div>
|
|
|
|
|
@@ -49,9 +45,12 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="pb_content_body" style="height: 100%;width: 100%;">
|
|
|
<div class="student_table" v-loading="isLoading">
|
|
|
<div class="course_box">
|
|
|
- <div class="out_box" v-for="(item, index) in course" :key="index">
|
|
|
+ <!-- <div class="out_box" v-for="(item, index) in course" :key="index">
|
|
|
<div class="myCourse" v-if="item.userid == userid">
|
|
|
我的项目
|
|
|
</div>
|
|
@@ -85,12 +84,39 @@
|
|
|
item.course_teacher.indexOf(userid) !== -1) || role == '1')">编辑</div>
|
|
|
<div @click="checkToTest(item.courseId)">查看</div>
|
|
|
<div @click="deleteCourse(item.courseId)">删除</div>
|
|
|
- <!-- <div @click="get(item.courseId)">预览</div> -->
|
|
|
- <!-- 项目进展 -->
|
|
|
- <!-- <div @click="copyCourse(item.courseId)">复制</div> -->
|
|
|
- <!-- <div v-if="(item.userid == userid || role == '1')" @click="deleteCourse(item.courseId)">
|
|
|
- 删除
|
|
|
- </div> -->
|
|
|
+ </div>
|
|
|
+ </div> -->
|
|
|
+ <div class="test_box" v-for="(item, index) in course" :key="index">
|
|
|
+ <div class="test_top">
|
|
|
+ <div class="test_top_img" :class="{ gr: item.typeid == 'afc3f97f-2429-408d-8dcd-5e63a44d355a', md: item.typeid == '478bcccd-e3a1-472b-aa29-3ed7bc479469', jy: item.typeid == '178a377a-b4f1-4a75-b3c3-2787a7c98784', yy: item.typeid == 'dda9728e-5f11-469e-89ee-aca518daf223'}"></div>
|
|
|
+ <div class="test_top_title">
|
|
|
+ <span>{{ item.title }}</span>
|
|
|
+ <span>创建人:{{ item.uname }}</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="test_time">
|
|
|
+ <span>创建日期:</span>{{ item.time }}
|
|
|
+ </div>
|
|
|
+ <div class="test_time">
|
|
|
+ <span>修改日期:</span>{{ item.utime }}
|
|
|
+ </div>
|
|
|
+ <div class="test_btn">
|
|
|
+ <div class="test_o_btn">
|
|
|
+ <el-tooltip content="编辑" placement="top" effect="dark">
|
|
|
+ <span class="edit" @click="goToCourse2(item.courseId)" v-if="((item.userid == userid) ||
|
|
|
+ (item.course_teacher &&
|
|
|
+ item.course_teacher.indexOf(userid) !== -1) || role == '1')"></span>
|
|
|
+ </el-tooltip>
|
|
|
+ <el-tooltip class="check" content="查看" placement="top" effect="dark">
|
|
|
+ <span @click="checkToTest(item.courseId)"></span>
|
|
|
+ </el-tooltip>
|
|
|
+ <el-tooltip class="delete" content="删除" placement="top" effect="dark">
|
|
|
+ <span @click="deleteCourse(item.courseId)"></span>
|
|
|
+ </el-tooltip>
|
|
|
+ </div>
|
|
|
+ <div class="test_type" :class="{no:item.look == '1',is:item.look == '2'}">
|
|
|
+ <span>{{ item.look == '1' ? '未发布' : '已发布' }}</span>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="course_empty" v-if="course.length == 0">暂无数据</div>
|
|
@@ -122,10 +148,10 @@
|
|
|
<div class="out_box" v-for="(item, index) in courseTeam" :key="index" style="margin-left: 15px">
|
|
|
<div class="tup">
|
|
|
<img :src="item.cover != null && item.cover != ''
|
|
|
- ? JSON.parse(item.cover).length > 0
|
|
|
- ? JSON.parse(item.cover)[0].url
|
|
|
- : mr
|
|
|
+ ? JSON.parse(item.cover).length > 0
|
|
|
+ ? JSON.parse(item.cover)[0].url
|
|
|
: mr
|
|
|
+ : mr
|
|
|
" alt />
|
|
|
</div>
|
|
|
<div class="bottom_box">
|
|
@@ -200,7 +226,7 @@ export default {
|
|
|
now: "",
|
|
|
courseDetail: {},
|
|
|
addCourse: {},
|
|
|
- groupA: "3",
|
|
|
+ groupA: "0",
|
|
|
classX: "",
|
|
|
course: [],
|
|
|
courseName: "",
|
|
@@ -212,8 +238,8 @@ export default {
|
|
|
isChoose: 0,
|
|
|
problemCourse: null, //查看提问的项目
|
|
|
courseTeam: [],
|
|
|
- typeArray:[],
|
|
|
- typeCheck:"",
|
|
|
+ typeArray: [],
|
|
|
+ typeCheck: "",
|
|
|
};
|
|
|
},
|
|
|
methods: {
|
|
@@ -289,7 +315,7 @@ export default {
|
|
|
this.role
|
|
|
);
|
|
|
},
|
|
|
- checkToTest(cid){
|
|
|
+ checkToTest(cid) {
|
|
|
this.$router.push(
|
|
|
"/checkToTest?cid=" +
|
|
|
cid +
|
|
@@ -513,12 +539,12 @@ export default {
|
|
|
this.getCourse();
|
|
|
})
|
|
|
.catch((err) => {
|
|
|
+ loading.close();
|
|
|
+ this.isLoading = false;
|
|
|
console.error(err);
|
|
|
});
|
|
|
})
|
|
|
.catch(() => {
|
|
|
- loading.close();
|
|
|
- this.isLoading = false;
|
|
|
return;
|
|
|
});
|
|
|
// }
|
|
@@ -776,6 +802,11 @@ export default {
|
|
|
.top {
|
|
|
display: flex;
|
|
|
justify-content: space-between;
|
|
|
+ width: 100% !important;
|
|
|
+ box-sizing: border-box;
|
|
|
+ margin: 0px auto;
|
|
|
+ padding: 10px 0;
|
|
|
+ height: 54px;
|
|
|
}
|
|
|
|
|
|
.bgColor {
|
|
@@ -798,7 +829,7 @@ export default {
|
|
|
.student_button {
|
|
|
display: flex;
|
|
|
overflow: hidden;
|
|
|
- height: 50px;
|
|
|
+ height: 40px;
|
|
|
}
|
|
|
|
|
|
.upload-demo {
|
|
@@ -811,7 +842,7 @@ export default {
|
|
|
}
|
|
|
|
|
|
.student_table {
|
|
|
- padding: 20px 0;
|
|
|
+ padding: 0 0;
|
|
|
height: 100%;
|
|
|
/* overflow: auto; */
|
|
|
min-height: 360px;
|
|
@@ -875,7 +906,7 @@ export default {
|
|
|
}
|
|
|
|
|
|
.student_page {
|
|
|
- width: 95%;
|
|
|
+ width: 100%;
|
|
|
margin: 0 auto;
|
|
|
}
|
|
|
|
|
@@ -988,7 +1019,8 @@ export default {
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
}
|
|
|
-.bottom_box>div:nth-child(1) span:nth-child(1){
|
|
|
+
|
|
|
+.bottom_box>div:nth-child(1) span:nth-child(1) {
|
|
|
font-weight: bold;
|
|
|
font-size: 18px;
|
|
|
overflow: hidden;
|
|
@@ -996,7 +1028,8 @@ export default {
|
|
|
white-space: nowrap;
|
|
|
max-width: 100%;
|
|
|
}
|
|
|
-.bottom_box>div:nth-child(1) span:nth-child(2){
|
|
|
+
|
|
|
+.bottom_box>div:nth-child(1) span:nth-child(2) {
|
|
|
font-size: 14px;
|
|
|
min-width: fit-content;
|
|
|
margin-left: 5px;
|
|
@@ -1218,5 +1251,136 @@ export default {
|
|
|
|
|
|
.more div>span:hover {
|
|
|
color: #79a2ff;
|
|
|
-}</style>
|
|
|
+}
|
|
|
+
|
|
|
+.test_box {
|
|
|
+ width: 250px;
|
|
|
+ background: #fff;
|
|
|
+ margin-right: 25px;
|
|
|
+ border-radius: 5px;
|
|
|
+ padding: 20px;
|
|
|
+ margin: 5px 15px 10px 0;
|
|
|
+}
|
|
|
+
|
|
|
+.test_top{
|
|
|
+ width: 100%;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+}
|
|
|
+.test_top > .test_top_img{
|
|
|
+ height: 40px;
|
|
|
+ width: 40px;
|
|
|
+ background: rgb(108 150 217);
|
|
|
+ margin-right: 10px;
|
|
|
+ border-radius: 5px;
|
|
|
+ display:flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+}
|
|
|
+.test_top > .gr{
|
|
|
+ background: rgb(142, 189, 176);
|
|
|
+}
|
|
|
+.test_top > .md{
|
|
|
+ background: rgb(139, 174, 227);
|
|
|
+}
|
|
|
+.test_top > .js{
|
|
|
+ background: rgb(64, 149, 174);
|
|
|
+}
|
|
|
+.test_top > .yy{
|
|
|
+ background: rgb(98, 102, 188);
|
|
|
+}
|
|
|
+.test_top > .test_top_img:after{
|
|
|
+ content: '';
|
|
|
+ display: block;
|
|
|
+ width: 23px;
|
|
|
+ height: 23px;
|
|
|
+ background-size: 100% 100%;
|
|
|
+ background-image: url('../../../assets/icon/test/all_icon_b.png');
|
|
|
+}
|
|
|
+.test_top > .gr:after{
|
|
|
+ background-image: url('../../../assets/icon/test/gr_icon_b.png');
|
|
|
+}
|
|
|
+.test_top > .md:after{
|
|
|
+ background-image: url('../../../assets/icon/test/md_icon_b.png');
|
|
|
+}
|
|
|
+.test_top > .js:after{
|
|
|
+ background-image: url('../../../assets/icon/test/js_icon_b.png');
|
|
|
+}
|
|
|
+.test_top > .yy:after{
|
|
|
+ background-image: url('../../../assets/icon/test/yy_icon_b.png');
|
|
|
+}
|
|
|
+.test_top > .test_top_title{
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ justify-content: space-between;
|
|
|
+ height: 40px;
|
|
|
+ width: calc(100% - 40px - 10px)
|
|
|
+}
|
|
|
+.test_top > .test_top_title > span{
|
|
|
+ width: 100;
|
|
|
+ display: block;
|
|
|
+ word-break: break-all;
|
|
|
+ overflow: hidden;
|
|
|
+ text-overflow: ellipsis;
|
|
|
+ white-space: nowrap;
|
|
|
+}
|
|
|
+.test_top > .test_top_title > span:nth-child(1){
|
|
|
+ font-size: 15px;
|
|
|
+}
|
|
|
+.test_top > .test_top_title > span:nth-child(2){
|
|
|
+ font-size: 14px;
|
|
|
+ color: rgb(58, 131, 252);
|
|
|
+}
|
|
|
+
|
|
|
+.test_box > .test_time{
|
|
|
+ margin-top: 10px;
|
|
|
+ font-size: 14px;
|
|
|
+ color: #a7a7a7;
|
|
|
+}
|
|
|
+
|
|
|
+.test_box > .test_btn{
|
|
|
+ margin-top: 10px;
|
|
|
+ display:flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: space-between;
|
|
|
+}
|
|
|
+
|
|
|
+.test_box > .test_btn > .test_o_btn{
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+}
|
|
|
+.test_box > .test_btn > .test_o_btn > span{
|
|
|
+ display: block;
|
|
|
+ width: 14px;
|
|
|
+ height: 14px;
|
|
|
+ background-size: 100% 100%;
|
|
|
+ cursor: pointer;
|
|
|
+}
|
|
|
+.test_box > .test_btn > .test_o_btn > .edit{
|
|
|
+ background-image: url('../../../assets/icon/test/edit_test_icon.png');
|
|
|
+ margin-right: 20px;
|
|
|
+}
|
|
|
+.test_box > .test_btn > .test_o_btn > .check{
|
|
|
+ background-image: url('../../../assets/icon/test/check_test_icon.png');
|
|
|
+ margin-right: 20px;
|
|
|
+}
|
|
|
+.test_box > .test_btn > .test_o_btn > .delete{
|
|
|
+ background-image: url('../../../assets/icon/test/delete_test_icon.png');
|
|
|
+}
|
|
|
+
|
|
|
+.test_box > .test_btn > .test_type{
|
|
|
+ font-size: 12px;
|
|
|
+ border-radius: 5px;
|
|
|
+ border: 1.5px solid;
|
|
|
+ padding: 3px 8px;
|
|
|
+}
|
|
|
+.test_box > .test_btn > .is{
|
|
|
+ color: rgb(57, 204, 127);
|
|
|
+ background-color: rgba(57, 204, 127,.1);
|
|
|
+}
|
|
|
+.test_box > .test_btn > .no{
|
|
|
+ color: rgb(235, 154, 96);
|
|
|
+ background-color: rgba(235, 154, 96,.1);
|
|
|
+}
|
|
|
+</style>
|
|
|
|