|
@@ -11,25 +11,12 @@
|
|
|
<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"
|
|
|
- >
|
|
|
+ <div class="all_choose" v-for="(item, index) in CourseType[0]" :key="index">
|
|
|
<span v-if="CourseTypeJson[item.id].length">{{ item.name }}</span>
|
|
|
- <el-select
|
|
|
- v-if="CourseTypeJson[item.id].length"
|
|
|
- v-model="courseTypeId[item.id]"
|
|
|
- placeholder="请选择"
|
|
|
- @change="getTypeName"
|
|
|
- >
|
|
|
+ <el-select v-if="CourseTypeJson[item.id].length" v-model="courseTypeId[item.id]" placeholder="请选择"
|
|
|
+ @change="getTypeName">
|
|
|
<el-option label="全部" value="1">全部</el-option>
|
|
|
- <el-option
|
|
|
- v-for="item1 in CourseTypeJson[item.id]"
|
|
|
- :key="item1.id"
|
|
|
- :label="item1.name"
|
|
|
- :value="item1.id"
|
|
|
- >
|
|
|
+ <el-option v-for="item1 in CourseTypeJson[item.id]" :key="item1.id" :label="item1.name" :value="item1.id">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</div>
|
|
@@ -39,6 +26,7 @@
|
|
|
<el-option value="0" label="全部"></el-option>
|
|
|
<el-option value="1" label="已完成"></el-option>
|
|
|
<el-option value="2" label="未完成"></el-option>
|
|
|
+ <el-option value="3" label="已批改"></el-option>
|
|
|
</el-select>
|
|
|
<!-- <el-select v-model="groupA" @change="search" v-else>
|
|
|
<el-option value="4" label="全部"></el-option>
|
|
@@ -49,14 +37,8 @@
|
|
|
|
|
|
<div class="student_right">
|
|
|
<div class="head_left">
|
|
|
- <el-input
|
|
|
- v-model="courseName"
|
|
|
- class="student_input"
|
|
|
- placeholder="请输入项目名称"
|
|
|
- ></el-input>
|
|
|
- <el-button class="course_button" @click="searchCourse"
|
|
|
- >查询</el-button
|
|
|
- >
|
|
|
+ <el-input v-model="courseName" class="student_input" placeholder="请输入项目名称"></el-input>
|
|
|
+ <el-button class="course_button" @click="searchCourse">查询</el-button>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -65,8 +47,11 @@
|
|
|
<div class="out_box" v-for="(item, index) in course" :key="index">
|
|
|
<div class="bottom_box">
|
|
|
<div class="title">
|
|
|
- <span>{{ item.title }}</span
|
|
|
- ><span :class="{ is:item.testCount > 0,no:item.testCount == 0}">{{ item.testCount > 0 ? "已完成" : "未完成" }}</span>
|
|
|
+ <el-tooltip :content="item.title" placement="top" effect="dark">
|
|
|
+ <span>{{ item.title }}</span>
|
|
|
+ </el-tooltip>
|
|
|
+ <span :class="{ is: item.testCount > 0 && item.type != 3, no: item.testCount == 0, isR: item.type == 3 }">{{
|
|
|
+ item.testCount > 0 ? item.type == 3 ? "已批改" : "已完成" : "未完成" }}</span>
|
|
|
</div>
|
|
|
<div class="kc_t">创建人:{{ item.uname }}</div>
|
|
|
<div class="kc_time">
|
|
@@ -78,7 +63,7 @@
|
|
|
</div>
|
|
|
<div class="three_bottom">
|
|
|
<div @click="checkTest(item.courseId)" v-if="item.testCount > 0">查看答题</div>
|
|
|
- <div @click="goToCourse2(item.courseId)">{{item.testCount > 0 ? '重新答题' : '进入答题'}}</div>
|
|
|
+ <div @click="goToCourse2(item.courseId)">{{ item.testCount > 0 ? '重新答题' : '进入答题' }}</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="course_empty" v-if="course.length == 0">暂无数据</div>
|
|
@@ -86,27 +71,14 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="student_page">
|
|
|
- <el-pagination
|
|
|
- background
|
|
|
- layout="prev, pager, next"
|
|
|
- :page-size="pageSize"
|
|
|
- :total="total"
|
|
|
- v-if="page && course.length"
|
|
|
- style="padding-bottom: 20px"
|
|
|
- @current-change="handleCurrentChange"
|
|
|
- ></el-pagination>
|
|
|
+ <el-pagination background layout="prev, pager, next" :page-size="pageSize" :total="total"
|
|
|
+ v-if="page && course.length" style="padding-bottom: 20px" @current-change="handleCurrentChange"></el-pagination>
|
|
|
</div>
|
|
|
<el-dialog :visible.sync="dialogVisible1" size="tiny">
|
|
|
<img width="100%" :src="dialogImageUrl" alt />
|
|
|
</el-dialog>
|
|
|
- <el-dialog
|
|
|
- title="查看提问"
|
|
|
- :visible.sync="dialogVisible"
|
|
|
- :append-to-body="true"
|
|
|
- width="750px"
|
|
|
- :before-close="handleClose"
|
|
|
- class="dialog_diy"
|
|
|
- >
|
|
|
+ <el-dialog title="查看提问" :visible.sync="dialogVisible" :append-to-body="true" width="750px" :before-close="handleClose"
|
|
|
+ class="dialog_diy">
|
|
|
<div>
|
|
|
<div class="a_addBox">
|
|
|
<CourseProblem :problemCourse="problemCourse"></CourseProblem>
|
|
@@ -116,32 +88,17 @@
|
|
|
<el-button @click="dialogVisible = false">关 闭</el-button>
|
|
|
</span>
|
|
|
</el-dialog>
|
|
|
- <el-dialog
|
|
|
- title="查看协同项目"
|
|
|
- :visible.sync="dialogVisibleCourse"
|
|
|
- :append-to-body="true"
|
|
|
- width="850px"
|
|
|
- :before-close="handleClose"
|
|
|
- class="dialog_diy"
|
|
|
- >
|
|
|
+ <el-dialog title="查看协同项目" :visible.sync="dialogVisibleCourse" :append-to-body="true" width="850px"
|
|
|
+ :before-close="handleClose" class="dialog_diy">
|
|
|
<div class="ct_box">
|
|
|
- <div
|
|
|
- class="out_box"
|
|
|
- v-for="(item, index) in courseTeam"
|
|
|
- :key="index"
|
|
|
- style="margin-left: 15px"
|
|
|
- >
|
|
|
+ <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
|
|
|
+ <img :src="item.cover != null && item.cover != ''
|
|
|
+ ? JSON.parse(item.cover).length > 0
|
|
|
+ ? JSON.parse(item.cover)[0].url
|
|
|
: mr
|
|
|
- "
|
|
|
- alt
|
|
|
- />
|
|
|
+ : mr
|
|
|
+ " alt />
|
|
|
</div>
|
|
|
<div class="bottom_box">
|
|
|
<div>{{ item.title }}</div>
|
|
@@ -150,22 +107,20 @@
|
|
|
</div>
|
|
|
<div class="three_bottom">
|
|
|
<!-- <div @click="jump(item.courseId)">查看内容</div> -->
|
|
|
- <div
|
|
|
- @click="
|
|
|
- goTo(
|
|
|
- '/studentAddCourse?cid=' +
|
|
|
- item.courseId +
|
|
|
- '&userid=' +
|
|
|
- userid +
|
|
|
- '&oid=' +
|
|
|
- oid +
|
|
|
- '&org=' +
|
|
|
- org +
|
|
|
- '&role=' +
|
|
|
- role
|
|
|
- )
|
|
|
- "
|
|
|
- >
|
|
|
+ <div @click="
|
|
|
+ goTo(
|
|
|
+ '/studentAddCourse?cid=' +
|
|
|
+ item.courseId +
|
|
|
+ '&userid=' +
|
|
|
+ userid +
|
|
|
+ '&oid=' +
|
|
|
+ oid +
|
|
|
+ '&org=' +
|
|
|
+ org +
|
|
|
+ '&role=' +
|
|
|
+ role
|
|
|
+ )
|
|
|
+ ">
|
|
|
编辑
|
|
|
</div>
|
|
|
</div>
|
|
@@ -264,58 +219,58 @@ export default {
|
|
|
if (courseId) {
|
|
|
this.$router.push(
|
|
|
"/studentAddCourse?cid=" +
|
|
|
- courseId +
|
|
|
- "&userid=" +
|
|
|
- this.userid +
|
|
|
- "&oid=" +
|
|
|
- this.oid +
|
|
|
- "&org=" +
|
|
|
- this.org +
|
|
|
- "&role=" +
|
|
|
- this.role
|
|
|
+ courseId +
|
|
|
+ "&userid=" +
|
|
|
+ this.userid +
|
|
|
+ "&oid=" +
|
|
|
+ this.oid +
|
|
|
+ "&org=" +
|
|
|
+ this.org +
|
|
|
+ "&role=" +
|
|
|
+ this.role
|
|
|
);
|
|
|
} else {
|
|
|
this.$router.push(
|
|
|
"/addTest?userid=" +
|
|
|
- this.userid +
|
|
|
- "&oid=" +
|
|
|
- this.oid +
|
|
|
- "&org=" +
|
|
|
- this.org +
|
|
|
- "&role=" +
|
|
|
- this.role
|
|
|
- );
|
|
|
- }
|
|
|
- // this.$router.push(path);
|
|
|
- },
|
|
|
- goToCourse2(cid) {
|
|
|
- this.$router.push(
|
|
|
- "/doTest?cid=" +
|
|
|
- cid +
|
|
|
- "&userid=" +
|
|
|
this.userid +
|
|
|
"&oid=" +
|
|
|
this.oid +
|
|
|
"&org=" +
|
|
|
this.org +
|
|
|
- "&type=2" +
|
|
|
"&role=" +
|
|
|
this.role
|
|
|
+ );
|
|
|
+ }
|
|
|
+ // this.$router.push(path);
|
|
|
+ },
|
|
|
+ goToCourse2(cid) {
|
|
|
+ this.$router.push(
|
|
|
+ "/doTest?cid=" +
|
|
|
+ cid +
|
|
|
+ "&userid=" +
|
|
|
+ this.userid +
|
|
|
+ "&oid=" +
|
|
|
+ this.oid +
|
|
|
+ "&org=" +
|
|
|
+ this.org +
|
|
|
+ "&type=2" +
|
|
|
+ "&role=" +
|
|
|
+ this.role
|
|
|
);
|
|
|
},
|
|
|
checkTest(cid) {
|
|
|
this.$router.push(
|
|
|
"/checkTest?cid=" +
|
|
|
- cid +
|
|
|
- "&userid=" +
|
|
|
- this.userid +
|
|
|
- "&oid=" +
|
|
|
- this.oid +
|
|
|
- "&org=" +
|
|
|
- this.org +
|
|
|
- "&type=2" +
|
|
|
- "&role=" +
|
|
|
- this.role
|
|
|
+ cid +
|
|
|
+ "&userid=" +
|
|
|
+ this.userid +
|
|
|
+ "&oid=" +
|
|
|
+ this.oid +
|
|
|
+ "&org=" +
|
|
|
+ this.org +
|
|
|
+ "&type=2" +
|
|
|
+ "&role=" +
|
|
|
+ this.role
|
|
|
);
|
|
|
},
|
|
|
tableRowClassName({ row, rowIndex }) {
|
|
@@ -340,13 +295,13 @@ export default {
|
|
|
getA(cid) {
|
|
|
this.$router.push(
|
|
|
"/courseProgress?cid=" +
|
|
|
- cid +
|
|
|
- "&userid=" +
|
|
|
- this.userid +
|
|
|
- "&oid=" +
|
|
|
- this.oid +
|
|
|
- "&org=" +
|
|
|
- this.org
|
|
|
+ cid +
|
|
|
+ "&userid=" +
|
|
|
+ this.userid +
|
|
|
+ "&oid=" +
|
|
|
+ this.oid +
|
|
|
+ "&org=" +
|
|
|
+ this.org
|
|
|
);
|
|
|
},
|
|
|
handle_remove(file, fileList) {
|
|
@@ -374,7 +329,7 @@ export default {
|
|
|
this.page = val;
|
|
|
this.getCourse();
|
|
|
},
|
|
|
- init() {},
|
|
|
+ init() { },
|
|
|
handleClose(done) {
|
|
|
done();
|
|
|
},
|
|
@@ -736,28 +691,28 @@ export default {
|
|
|
</script>
|
|
|
|
|
|
<style scoped>
|
|
|
-.dialog_diy >>> .el-dialog__header {
|
|
|
+.dialog_diy>>>.el-dialog__header {
|
|
|
background: #3d67bc !important;
|
|
|
padding: 15px 20px;
|
|
|
}
|
|
|
|
|
|
-.dialog_diy >>> .el-dialog__title {
|
|
|
+.dialog_diy>>>.el-dialog__title {
|
|
|
color: #fff;
|
|
|
}
|
|
|
|
|
|
-.dialog_diy >>> .el-dialog__headerbtn {
|
|
|
+.dialog_diy>>>.el-dialog__headerbtn {
|
|
|
top: 19px;
|
|
|
}
|
|
|
|
|
|
-.dialog_diy >>> .el-dialog__headerbtn .el-dialog__close {
|
|
|
+.dialog_diy>>>.el-dialog__headerbtn .el-dialog__close {
|
|
|
color: #fff;
|
|
|
}
|
|
|
|
|
|
-.dialog_diy >>> .el-dialog__headerbtn .el-dialog__close:hover {
|
|
|
+.dialog_diy>>>.el-dialog__headerbtn .el-dialog__close:hover {
|
|
|
color: #fff;
|
|
|
}
|
|
|
|
|
|
-.student_head >>> .el-button--primary {
|
|
|
+.student_head>>>.el-button--primary {
|
|
|
background-color: #2268bc;
|
|
|
}
|
|
|
|
|
@@ -826,7 +781,7 @@ export default {
|
|
|
align-items: center;
|
|
|
}
|
|
|
|
|
|
-.el-table >>> .even_row {
|
|
|
+.el-table>>>.even_row {
|
|
|
background-color: #f1f1f1;
|
|
|
}
|
|
|
|
|
@@ -938,7 +893,7 @@ export default {
|
|
|
justify-content: center;
|
|
|
}
|
|
|
|
|
|
-.el_cards >>> .el-card__body {
|
|
|
+.el_cards>>>.el-card__body {
|
|
|
height: 100%;
|
|
|
}
|
|
|
|
|
@@ -954,7 +909,7 @@ export default {
|
|
|
display: flex;
|
|
|
}
|
|
|
|
|
|
-.wordUpload > .buttonUp {
|
|
|
+.wordUpload>.buttonUp {
|
|
|
margin-right: 5px;
|
|
|
}
|
|
|
|
|
@@ -985,14 +940,14 @@ export default {
|
|
|
justify-content: space-evenly;
|
|
|
}
|
|
|
|
|
|
-.bottom_box > .title {
|
|
|
+.bottom_box>.title {
|
|
|
width: 230px;
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
justify-content: space-between;
|
|
|
}
|
|
|
|
|
|
-.bottom_box > .title > span:nth-child(1) {
|
|
|
+.bottom_box>.title>span:nth-child(1) {
|
|
|
overflow: hidden;
|
|
|
text-overflow: ellipsis;
|
|
|
white-space: nowrap;
|
|
@@ -1001,7 +956,7 @@ export default {
|
|
|
width: 100%;
|
|
|
}
|
|
|
|
|
|
-.bottom_box > .title > span:nth-child(2) {
|
|
|
+.bottom_box>.title>span:nth-child(2) {
|
|
|
font-size: 14px;
|
|
|
min-width: 60px;
|
|
|
border: 1px solid;
|
|
@@ -1010,12 +965,16 @@ export default {
|
|
|
/* margin-left: 10px; */
|
|
|
}
|
|
|
|
|
|
-.bottom_box > .title > .is{
|
|
|
- color: rgb(0, 182, 0);
|
|
|
+.bottom_box>.title>.is {
|
|
|
+ color: rgb(0, 182, 0);
|
|
|
+}
|
|
|
+
|
|
|
+.bottom_box>.title>.no {
|
|
|
+ color: rgb(240, 66, 66);
|
|
|
}
|
|
|
|
|
|
-.bottom_box > .title > .no{
|
|
|
- color: rgb(240, 66, 66);
|
|
|
+.bottom_box>.title>.isR {
|
|
|
+ color: #0061FF;
|
|
|
}
|
|
|
|
|
|
.tup {
|
|
@@ -1027,7 +986,7 @@ export default {
|
|
|
align-items: center;
|
|
|
}
|
|
|
|
|
|
-.tup > img {
|
|
|
+.tup>img {
|
|
|
width: 100%;
|
|
|
height: 100%;
|
|
|
object-fit: contain;
|
|
@@ -1057,11 +1016,11 @@ export default {
|
|
|
font-size: 14px;
|
|
|
}
|
|
|
|
|
|
-.three_bottom > div {
|
|
|
+.three_bottom>div {
|
|
|
cursor: pointer;
|
|
|
}
|
|
|
|
|
|
-.three_bottom > div:hover {
|
|
|
+.three_bottom>div:hover {
|
|
|
color: #79a2ff;
|
|
|
}
|
|
|
|
|
@@ -1069,7 +1028,7 @@ export default {
|
|
|
display: flex;
|
|
|
}
|
|
|
|
|
|
-.student_input >>> .el-input__inner {
|
|
|
+.student_input>>>.el-input__inner {
|
|
|
height: 40px;
|
|
|
width: 190px;
|
|
|
font-size: 13px;
|
|
@@ -1095,7 +1054,7 @@ export default {
|
|
|
max-width: calc(100% / 3 - 50px);
|
|
|
}
|
|
|
|
|
|
-.all_choose > span {
|
|
|
+.all_choose>span {
|
|
|
min-width: 75px;
|
|
|
display: block;
|
|
|
margin-right: 10px;
|
|
@@ -1114,26 +1073,26 @@ export default {
|
|
|
align-items: center;
|
|
|
}
|
|
|
|
|
|
-.choose > div:nth-child(2) {
|
|
|
+.choose>div:nth-child(2) {
|
|
|
margin-left: 1%;
|
|
|
width: 32.33333%;
|
|
|
}
|
|
|
|
|
|
-.choose > div:nth-child(3) {
|
|
|
+.choose>div:nth-child(3) {
|
|
|
margin-left: 1%;
|
|
|
width: 32.33333%;
|
|
|
}
|
|
|
|
|
|
-.choose > div:nth-child(5) {
|
|
|
+.choose>div:nth-child(5) {
|
|
|
margin: 5px 0 0 1%;
|
|
|
}
|
|
|
|
|
|
-.choose > div:nth-child(4) > span {
|
|
|
+.choose>div:nth-child(4)>span {
|
|
|
/* width: 74px !important;
|
|
|
min-width: 74px; */
|
|
|
}
|
|
|
|
|
|
-.choose > div:nth-child(4) >>> .el-select {
|
|
|
+.choose>div:nth-child(4)>>>.el-select {
|
|
|
/* width: 217.5px;
|
|
|
min-width: 215.06px; */
|
|
|
}
|
|
@@ -1215,17 +1174,17 @@ export default {
|
|
|
display: none;
|
|
|
}
|
|
|
|
|
|
-.more div > span + span {
|
|
|
+.more div>span+span {
|
|
|
margin-top: 10px;
|
|
|
}
|
|
|
|
|
|
-.more div > span {
|
|
|
+.more div>span {
|
|
|
display: block;
|
|
|
width: 100%;
|
|
|
text-align: center;
|
|
|
}
|
|
|
|
|
|
-.more div > span:hover {
|
|
|
+.more div>span:hover {
|
|
|
color: #79a2ff;
|
|
|
}
|
|
|
</style>
|