|
@@ -258,9 +258,9 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div class="body_student" :style="{width: mlDialog ? 'calc(100% - '+`${classRoomHelperWidth}`+' - 20% - 40px)' : 'calc(100% - '+`${classRoomHelperWidth}`+' - 10px)', left: mlDialog ? 'calc(20% + 35px)' : '10px' }">
|
|
|
- <div class="new_topFixed" :style="{width: mlDialog ? 'calc(100% - '+`${classRoomHelperWidth}`+' - 20% - 40px)' : 'calc(100% - '+`${classRoomHelperWidth}`+' - 10px)', left: mlDialog ? 'calc(20% + 35px)' : '10px' }"></div>
|
|
|
- <div class="new_top" :style="{width: mlDialog ? 'calc(100% - '+`${classRoomHelperWidth}`+' - 20% - 47px)' : 'calc(100% - '+`${classRoomHelperWidth}`+' - 18px)', left: mlDialog ? 'calc(20% + 35px)' : '10px' }">
|
|
|
+ <div class="body_student" :style="{width: mlDialog ? 'calc(100% - '+`${classRoomHelperWidth}`+' - 15% - 40px)' : 'calc(100% - '+`${classRoomHelperWidth}`+' - 10px)', left: mlDialog ? 'calc(15% + 35px)' : '10px' }">
|
|
|
+ <div class="new_topFixed" :style="{width: mlDialog ? 'calc(100% - '+`${classRoomHelperWidth}`+' - 15% - 40px)' : 'calc(100% - '+`${classRoomHelperWidth}`+' - 10px)', left: mlDialog ? 'calc(15% + 35px)' : '10px' }"></div>
|
|
|
+ <div class="new_top" :style="{width: mlDialog ? 'calc(100% - '+`${classRoomHelperWidth}`+' - 15% - 47px)' : 'calc(100% - '+`${classRoomHelperWidth}`+' - 18px)', left: mlDialog ? 'calc(15% + 35px)' : '10px' }">
|
|
|
<div class="courseIndex" :style="{width: (orgArray.includes(org) || oidArray.includes(oid))? '100%' : 'calc(100% - 745px)'}">
|
|
|
<div>任务{{ taskCount + 1 }}</div>
|
|
|
<el-tooltip
|
|
@@ -485,10 +485,10 @@
|
|
|
<div
|
|
|
class="vedioBox"
|
|
|
v-if="
|
|
|
- chapInfoList[courseType].chapterInfo[0].taskJson[taskCount]
|
|
|
+ (chapInfoList[courseType].chapterInfo[0].taskJson[taskCount]
|
|
|
.taskDetail != '' ||
|
|
|
vChapterData[taskCount].length > 0 ||
|
|
|
- fileC[taskCount].length > 0
|
|
|
+ fileC[taskCount].length > 0) && (tType == 1 || (tType == 2 && IsStulook))
|
|
|
"
|
|
|
style="border-radius: 0 0 20px 20px"
|
|
|
>
|
|
@@ -13492,6 +13492,15 @@
|
|
|
@change="updateFollow"
|
|
|
></el-switch>
|
|
|
</div>
|
|
|
+ <div class="switch_box" v-if="courseDetail.userid == userid">
|
|
|
+ <span>允许学生查看内容资料</span>
|
|
|
+ <el-switch
|
|
|
+ v-model="IsStulook"
|
|
|
+ active-text=""
|
|
|
+ class="switchCss"
|
|
|
+ @change="updateIsStulook"
|
|
|
+ ></el-switch>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div slot="footer">
|
|
@@ -16370,6 +16379,8 @@ export default {
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
|
+ // 是否允许学生查看内容资料 2不可以 1可以
|
|
|
+ IsStulook:false,
|
|
|
homeWorkLoading:false,
|
|
|
wordCloudKey: 0,
|
|
|
bg: null,
|
|
@@ -16756,6 +16767,7 @@ export default {
|
|
|
oidArray: [],
|
|
|
refreshKey: 0,
|
|
|
AIloading: [],
|
|
|
+ // 为了刷新ai评分loading的时候用的
|
|
|
worksStudentCopy: [],
|
|
|
loopLoading: [],
|
|
|
markScoreVisible: false,
|
|
@@ -16785,6 +16797,48 @@ export default {
|
|
|
diffKey:"1"
|
|
|
};
|
|
|
},
|
|
|
+ watch:{
|
|
|
+ taskCount(newVal) {
|
|
|
+ console.log('newVal',newVal);
|
|
|
+ this.AIloading = [];
|
|
|
+ this.loopLoading = [];
|
|
|
+
|
|
|
+ this.worksStudent.forEach((e, index) => {
|
|
|
+ this.loopLoading.push({ loading: false });
|
|
|
+ this.AIloading.push([]);
|
|
|
+ e.forEach(k => {
|
|
|
+ this.AIloading[index].push({ loading: false, sco: 0 });
|
|
|
+ });
|
|
|
+ });
|
|
|
+ if(this.tType == 1){
|
|
|
+ this.refreshAssembly();
|
|
|
+ }
|
|
|
+ },
|
|
|
+ worksStudent: {
|
|
|
+ handler(newVal, oldVal) {
|
|
|
+ const sum1 = newVal.reduce((total, subArr) => total + subArr.length, 0);
|
|
|
+ const sum2 = oldVal.reduce((total, subArr) => total + subArr.length, 0);
|
|
|
+ // console.log('worksStudent',sum1,sum2);
|
|
|
+
|
|
|
+ if(sum1 != sum2){
|
|
|
+ this.AIloading = [];
|
|
|
+ this.loopLoading = [];
|
|
|
+
|
|
|
+ this.worksStudent.forEach((e, index) => {
|
|
|
+ this.loopLoading.push({ loading: false });
|
|
|
+ this.AIloading.push([]);
|
|
|
+ e.forEach(k => {
|
|
|
+ this.AIloading[index].push({ loading: false, sco: 0 });
|
|
|
+ });
|
|
|
+ });
|
|
|
+ if(this.tType == 1){
|
|
|
+ this.refreshAssembly();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ deep:true,
|
|
|
+ }
|
|
|
+ },
|
|
|
methods: {
|
|
|
getAIJ() {
|
|
|
this.ajax.get(this.$store.state.api + "getAIJ", "").then(res => {
|
|
@@ -16887,7 +16941,6 @@ export default {
|
|
|
}
|
|
|
|
|
|
this.$message.success("重置完成");
|
|
|
- // this.refreshAssembly();
|
|
|
|
|
|
this.worksStudent.forEach((e, index) => {
|
|
|
if (toolIndex == index) {
|
|
@@ -17370,9 +17423,8 @@ export default {
|
|
|
});
|
|
|
},
|
|
|
// 组件刷新
|
|
|
- refreshAssembly(val) {
|
|
|
+ refreshAssembly() {
|
|
|
this.refreshKey++;
|
|
|
- // console.log(this.refreshKey)
|
|
|
},
|
|
|
updateLoading(payload) {
|
|
|
this.AIloading[payload.val][payload.val2].loading = payload.val3;
|
|
@@ -17710,7 +17762,7 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
jumpGj(i, j, k, l) {
|
|
|
- this.refreshAssembly();
|
|
|
+ // this.refreshAssembly();
|
|
|
for (var z = 0; z < this.navList.length; z++) {
|
|
|
for (var q = 0; q < this.navList[z].task.length; q++) {
|
|
|
for (var w = 0; w < this.navList[z].task[q].tool.length; w++) {
|
|
@@ -20795,24 +20847,14 @@ export default {
|
|
|
this.joinGroup(gindex);
|
|
|
}
|
|
|
this.worksStudent = _worksStudent;
|
|
|
- if (
|
|
|
- JSON.stringify(this.worksStudentCopy) !=
|
|
|
- JSON.stringify(this.worksStudent)
|
|
|
- ) {
|
|
|
- console.log("88888999999");
|
|
|
- this.worksStudentCopy = this.worksStudent;
|
|
|
- this.AIloading = [];
|
|
|
- this.loopLoading = [];
|
|
|
-
|
|
|
- this.worksStudent.forEach((e, index) => {
|
|
|
- this.loopLoading.push({ loading: false });
|
|
|
- this.AIloading.push([]);
|
|
|
- e.forEach(k => {
|
|
|
- this.AIloading[index].push({ loading: false, sco: 0 });
|
|
|
- });
|
|
|
- });
|
|
|
- this.refreshAssembly();
|
|
|
- }
|
|
|
+
|
|
|
+ // if (((this.worksStudentCopy.length == 0) &&
|
|
|
+ // (this.worksStudent.length != 0)) ||
|
|
|
+ // (this.worksStudentCopy[this.taskCount].length != this.worksStudent[this.taskCount].length)
|
|
|
+ // ) {
|
|
|
+ // this.worksStudentCopy = this.worksStudent;
|
|
|
+
|
|
|
+ // }
|
|
|
this.selectWorksStudent();
|
|
|
for (let ci = 0; ci < this.isCloseList.length; ci++) {
|
|
|
this.$nextTick(() => {
|
|
@@ -21588,7 +21630,6 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
openTask(s, n, i) {
|
|
|
- this.refreshAssembly();
|
|
|
if (this.IsFollow && this.tType == 2) {
|
|
|
this.$message.error("已经开启跟随模式,请认真跟堂听讲");
|
|
|
return;
|
|
@@ -22310,6 +22351,21 @@ export default {
|
|
|
// this.chapInfoList = JSON.parse(this.courseDetail.chapters);
|
|
|
// }
|
|
|
|
|
|
+ // 判断进入课程是否是创建老师,如果去创建老师,就自动开启下面两个按钮
|
|
|
+ if (type == 10) {
|
|
|
+ console.log('this.courseDetail.userid',this.courseDetail.userid);
|
|
|
+ console.log('this.userid',this.userid);
|
|
|
+
|
|
|
+
|
|
|
+ if (this.courseDetail.userid == this.userid) {
|
|
|
+
|
|
|
+ // 开局关闭学生查看内容
|
|
|
+ this.StulookMode(false)
|
|
|
+ // 开局打开跟随模式
|
|
|
+ this.followingMode(true)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
let _this = this;
|
|
|
if (_this.timer) {
|
|
|
clearInterval(_this.timer);
|
|
@@ -22693,6 +22749,35 @@ export default {
|
|
|
console.error(err);
|
|
|
});
|
|
|
},
|
|
|
+ updateIsStulook(){
|
|
|
+ let params = [
|
|
|
+ {
|
|
|
+ sopen: this.IsStulook == false ? 2 : 1,
|
|
|
+ cid: this.id
|
|
|
+ }
|
|
|
+ ];
|
|
|
+
|
|
|
+ this.ajax
|
|
|
+ .post(this.$store.state.api + "updateCourseStulook", params)
|
|
|
+ .then(res => {
|
|
|
+
|
|
|
+ if (this.IsStulook == true) {
|
|
|
+ this.$message({
|
|
|
+ message: "学生查看内容资料权限已开启",
|
|
|
+ type: "success"
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ this.$message({
|
|
|
+ message: "关闭学生查看内容资料权限",
|
|
|
+ type: "success"
|
|
|
+ });
|
|
|
+ }
|
|
|
+ // this.setCTask();
|
|
|
+ })
|
|
|
+ .catch(err => {
|
|
|
+ console.error(err);
|
|
|
+ });
|
|
|
+ },
|
|
|
updateFollow() {
|
|
|
let params = [
|
|
|
{
|
|
@@ -22705,12 +22790,12 @@ export default {
|
|
|
.then(res => {
|
|
|
if (this.IsFollow == true) {
|
|
|
this.$message({
|
|
|
- message: "开启成功",
|
|
|
+ message: "跟随模式已开启",
|
|
|
type: "success"
|
|
|
});
|
|
|
} else {
|
|
|
this.$message({
|
|
|
- message: "关闭成功",
|
|
|
+ message: "跟随模式已关闭",
|
|
|
type: "success"
|
|
|
});
|
|
|
}
|
|
@@ -22774,6 +22859,7 @@ export default {
|
|
|
this.sIsOpen = res.data[0][0].sopen == 1 ? false : true;
|
|
|
this.IsLookOpen = res.data[0][0].look == 1 ? false : true;
|
|
|
this.IsFollow = res.data[0][0].follow == 1 ? false : true;
|
|
|
+ this.IsStulook = res.data[0][0].isStulook == 2 ? false : true;
|
|
|
if (!this.IsLookOpen) {
|
|
|
this.setNavList();
|
|
|
}else {
|
|
@@ -24798,8 +24884,9 @@ export default {
|
|
|
document.getElementsByClassName("navBox")[0].style.height =
|
|
|
a - 40 + 0 + "px";
|
|
|
} else {
|
|
|
- document.getElementsByClassName("navBox")[0].style.height =
|
|
|
- a - 40 + "px";
|
|
|
+ if (document.getElementsByClassName("navBox") && document.getElementsByClassName("navBox")[0]) {
|
|
|
+ document.getElementsByClassName("navBox")[0].style.height = a - 40 + "px";
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
this.Stbodywidth =
|
|
@@ -26146,6 +26233,25 @@ export default {
|
|
|
followingMode(flag) {
|
|
|
this.IsFollow = flag;
|
|
|
this.updateFollow();
|
|
|
+ },
|
|
|
+ StulookMode(flag) {
|
|
|
+ this.IsStulook = flag;
|
|
|
+ this.updateIsStulook();
|
|
|
+ },
|
|
|
+ getScoreList() {
|
|
|
+ let params = {
|
|
|
+ cid: this.id
|
|
|
+ };
|
|
|
+ this.ajax
|
|
|
+ .get(this.$store.state.api + "selectTestCourseByCid", params)
|
|
|
+ .then(res => {
|
|
|
+ let result = res.data;
|
|
|
+ this.scoreList.datalist = result[0];
|
|
|
+ this.scoreList.isScoreList = result[1];
|
|
|
+ })
|
|
|
+ .catch(err => {
|
|
|
+ console.error(err);
|
|
|
+ });
|
|
|
}
|
|
|
},
|
|
|
directives: {
|
|
@@ -26403,23 +26509,10 @@ export default {
|
|
|
return c;
|
|
|
};
|
|
|
},
|
|
|
- getScoreList() {
|
|
|
- let params = {
|
|
|
- cid: this.id
|
|
|
- };
|
|
|
- this.ajax
|
|
|
- .get(this.$store.state.api + "selectTestCourseByCid", params)
|
|
|
- .then(res => {
|
|
|
- let result = res.data;
|
|
|
- this.scoreList.datalist = result[0];
|
|
|
- this.scoreList.isScoreList = result[1];
|
|
|
- })
|
|
|
- .catch(err => {
|
|
|
- console.error(err);
|
|
|
- });
|
|
|
- }
|
|
|
+
|
|
|
},
|
|
|
mounted() {
|
|
|
+
|
|
|
this.updateSplitScreenData(2);
|
|
|
this.splitScreenData.myUid = uuidv4();
|
|
|
document.body.addEventListener("click", e => {
|
|
@@ -26443,12 +26536,12 @@ export default {
|
|
|
|
|
|
this.setOperationTime();
|
|
|
this.selectEva();
|
|
|
- this.getCourseDetail();
|
|
|
+ this.getCourseDetail(10);
|
|
|
this.selectCount();
|
|
|
this.getHomeWork();
|
|
|
this.selectUser();
|
|
|
this.getAIJ();
|
|
|
- this.contentDialog = true;
|
|
|
+ this.contentDialog = false;
|
|
|
this.setContent2(true);
|
|
|
if (this.tType == 4) {
|
|
|
this.pzDialog = true;
|
|
@@ -26545,7 +26638,7 @@ export default {
|
|
|
}
|
|
|
|
|
|
.pb_left {
|
|
|
- width: 20%;
|
|
|
+ width: 15%;
|
|
|
margin-right: 10px;
|
|
|
background: rgb(255, 255, 255);
|
|
|
position: fixed;
|