|
@@ -1020,7 +1020,7 @@
|
|
@click="addTools(tooC, toolIndex, taskCount)"
|
|
@click="addTools(tooC, toolIndex, taskCount)"
|
|
/>
|
|
/>
|
|
<div style="margin: 5px 0">电子白板</div>
|
|
<div style="margin: 5px 0">电子白板</div>
|
|
- <div class="upload_toolBtn" v-if="tType==='1'" @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,1)"
|
|
|
|
|
|
+ <div class="upload_toolBtn" @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,1)"
|
|
style="position: absolute;right: 33px;top: -30px;">
|
|
style="position: absolute;right: 33px;top: -30px;">
|
|
投影
|
|
投影
|
|
</div>
|
|
</div>
|
|
@@ -1032,7 +1032,7 @@
|
|
@click="addTools(tooC, toolIndex, taskCount)"
|
|
@click="addTools(tooC, toolIndex, taskCount)"
|
|
/>
|
|
/>
|
|
<div style="margin: 5px 0">思维导图</div>
|
|
<div style="margin: 5px 0">思维导图</div>
|
|
- <div class="upload_toolBtn" v-if="tType==='1'" @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,3)"
|
|
|
|
|
|
+ <div class="upload_toolBtn" @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,3)"
|
|
style="position: absolute;right: 33px;top: -30px;">
|
|
style="position: absolute;right: 33px;top: -30px;">
|
|
投影
|
|
投影
|
|
</div>
|
|
</div>
|
|
@@ -1053,7 +1053,7 @@
|
|
/>
|
|
/>
|
|
<div style="margin: 5px 0">思维网格</div>
|
|
<div style="margin: 5px 0">思维网格</div>
|
|
<!-- && worksStudent[toolIndex].length>0 -->
|
|
<!-- && worksStudent[toolIndex].length>0 -->
|
|
- <div class="upload_toolBtn" v-if="tType==='1' " @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,7)"
|
|
|
|
|
|
+ <div class="upload_toolBtn" @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,7)"
|
|
style="position: absolute;right: 33px;top: -30px;">
|
|
style="position: absolute;right: 33px;top: -30px;">
|
|
投影
|
|
投影
|
|
</div>
|
|
</div>
|
|
@@ -1114,9 +1114,7 @@
|
|
<div style="margin: 5px 0">选择题</div>
|
|
<div style="margin: 5px 0">选择题</div>
|
|
<div
|
|
<div
|
|
class="upload_toolBtn"
|
|
class="upload_toolBtn"
|
|
- v-if="
|
|
|
|
- tType === '1'
|
|
|
|
- "
|
|
|
|
|
|
+
|
|
@click="
|
|
@click="
|
|
openChoseWorksDetailDialog(
|
|
openChoseWorksDetailDialog(
|
|
tooC,
|
|
tooC,
|
|
@@ -1153,7 +1151,7 @@
|
|
alt
|
|
alt
|
|
/>
|
|
/>
|
|
<div style="margin: 5px 0">问答</div>
|
|
<div style="margin: 5px 0">问答</div>
|
|
- <div class="upload_toolBtn" v-if="tType==='1'" @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,15)"
|
|
|
|
|
|
+ <div class="upload_toolBtn" @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,15)"
|
|
style="position: absolute;right: 135px;top: -45px;height: 40px;display: flex;align-items: center;justify-content: center;background: #409EFF;">
|
|
style="position: absolute;right: 135px;top: -45px;height: 40px;display: flex;align-items: center;justify-content: center;background: #409EFF;">
|
|
投影
|
|
投影
|
|
</div>
|
|
</div>
|
|
@@ -1291,7 +1289,7 @@
|
|
alt
|
|
alt
|
|
/>
|
|
/>
|
|
<div style="margin: 5px 0">个人评价</div>
|
|
<div style="margin: 5px 0">个人评价</div>
|
|
- <div class="upload_toolBtn" v-if="tType==='1' " @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,40)"
|
|
|
|
|
|
+ <div class="upload_toolBtn" @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,40)"
|
|
style="position: absolute;right: 33px;top: -30px;">
|
|
style="position: absolute;right: 33px;top: -30px;">
|
|
投影
|
|
投影
|
|
</div>
|
|
</div>
|
|
@@ -1303,7 +1301,7 @@
|
|
alt
|
|
alt
|
|
/>
|
|
/>
|
|
<div style="margin: 5px 0">选择匹配</div>
|
|
<div style="margin: 5px 0">选择匹配</div>
|
|
- <div class="upload_toolBtn" v-if="tType==='1'" @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,41)"
|
|
|
|
|
|
+ <div class="upload_toolBtn" @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,41)"
|
|
style="position: absolute;right: 33px;top: -30px;">
|
|
style="position: absolute;right: 33px;top: -30px;">
|
|
投影
|
|
投影
|
|
</div>
|
|
</div>
|
|
@@ -1323,7 +1321,7 @@
|
|
alt
|
|
alt
|
|
/>
|
|
/>
|
|
<div style="margin: 5px 0">排序</div>
|
|
<div style="margin: 5px 0">排序</div>
|
|
- <div class="upload_toolBtn" v-if="tType==='1'" @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,47)"
|
|
|
|
|
|
+ <div class="upload_toolBtn" @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,47)"
|
|
style="position: absolute;right: 33px;top: -30px;">
|
|
style="position: absolute;right: 33px;top: -30px;">
|
|
投影
|
|
投影
|
|
</div>
|
|
</div>
|
|
@@ -1335,7 +1333,7 @@
|
|
alt
|
|
alt
|
|
/>
|
|
/>
|
|
<div style="margin: 5px 0">表格</div>
|
|
<div style="margin: 5px 0">表格</div>
|
|
- <div class="upload_toolBtn" v-if="tType==='1' " @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,48)"
|
|
|
|
|
|
+ <div class="upload_toolBtn" @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,48)"
|
|
style="position: absolute;right: 33px;top: -30px;">
|
|
style="position: absolute;right: 33px;top: -30px;">
|
|
投影
|
|
投影
|
|
</div>
|
|
</div>
|
|
@@ -1347,7 +1345,7 @@
|
|
alt
|
|
alt
|
|
/>
|
|
/>
|
|
<div style="margin: 5px 0">文档</div>
|
|
<div style="margin: 5px 0">文档</div>
|
|
- <div class="upload_toolBtn" v-if="tType==='1'" @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,52)"
|
|
|
|
|
|
+ <div class="upload_toolBtn" @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,52)"
|
|
style="position: absolute;right: 33px;top: -30px;">
|
|
style="position: absolute;right: 33px;top: -30px;">
|
|
投影
|
|
投影
|
|
</div>
|
|
</div>
|
|
@@ -1359,7 +1357,7 @@
|
|
alt
|
|
alt
|
|
/>
|
|
/>
|
|
<div style="margin: 5px 0">学生分组</div>
|
|
<div style="margin: 5px 0">学生分组</div>
|
|
- <div class="upload_toolBtn" v-if="tType==='1'" @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,49)"
|
|
|
|
|
|
+ <div class="upload_toolBtn" @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,49)"
|
|
style="position: absolute;right: 33px;top: -30px;">
|
|
style="position: absolute;right: 33px;top: -30px;">
|
|
投影
|
|
投影
|
|
</div>
|
|
</div>
|
|
@@ -15358,10 +15356,21 @@
|
|
:searchTN="worksSName2"
|
|
:searchTN="worksSName2"
|
|
@setPlname="setPlname"
|
|
@setPlname="setPlname"
|
|
></UpdateMore>
|
|
></UpdateMore>
|
|
- <wordCloud
|
|
|
|
|
|
+
|
|
|
|
+ <!-- <wordCloud
|
|
:dialogVisibleWordCloud.sync="dialogVisibleWordCloud"
|
|
:dialogVisibleWordCloud.sync="dialogVisibleWordCloud"
|
|
:data="wordCloudData"
|
|
:data="wordCloudData"
|
|
- ></wordCloud>
|
|
|
|
|
|
+ ></wordCloud> -->
|
|
|
|
+ <el-dialog
|
|
|
|
+ title="词云"
|
|
|
|
+ :visible.sync="dialogVisibleWordCloud"
|
|
|
|
+ width="30%"
|
|
|
|
+ class="dialog_diy"
|
|
|
|
+ :before-close="handleClose">
|
|
|
|
+ <choseWordCloud :cloudData="wordCloudData" :key="wordCloudKey" :dialogVisibleWordCloud="dialogVisibleWordCloud"></choseWordCloud>
|
|
|
|
+ </el-dialog>
|
|
|
|
+
|
|
|
|
+
|
|
<el-dialog
|
|
<el-dialog
|
|
title="挑人"
|
|
title="挑人"
|
|
:visible.sync="dialogVisiblePickPeople"
|
|
:visible.sync="dialogVisiblePickPeople"
|
|
@@ -15470,11 +15479,13 @@
|
|
<statisticalAnalysis ref="statisticalAnalysisRef" @refresh="statisticalAnalysisRefresh" @changeSplitScreenBehavior="changeSplitScreenBehavior" :courseType="courseType" :taskCount="taskCount"/>
|
|
<statisticalAnalysis ref="statisticalAnalysisRef" @refresh="statisticalAnalysisRefresh" @changeSplitScreenBehavior="changeSplitScreenBehavior" :courseType="courseType" :taskCount="taskCount"/>
|
|
<choseWorksDetailDialog
|
|
<choseWorksDetailDialog
|
|
ref="choseWorksDetailDialogRef"
|
|
ref="choseWorksDetailDialogRef"
|
|
- :worksStudentData="this.worksStudent"
|
|
|
|
|
|
+ :worksStudentData="worksStudent"
|
|
:noWorksSData="noWorksS"
|
|
:noWorksSData="noWorksS"
|
|
:chapInfoListData="chapInfoList"
|
|
:chapInfoListData="chapInfoList"
|
|
:courseType="courseType"
|
|
:courseType="courseType"
|
|
:taskCount="taskCount"
|
|
:taskCount="taskCount"
|
|
|
|
+ :tType="tType"
|
|
|
|
+ :sIsOpen="sIsOpen"
|
|
@deleteWorks="deleteWorks"
|
|
@deleteWorks="deleteWorks"
|
|
@openTools="openTools"
|
|
@openTools="openTools"
|
|
@openWord="openWord"
|
|
@openWord="openWord"
|
|
@@ -15545,6 +15556,7 @@ import evaTable from "./commpont/evaTable";
|
|
import { v4 as uuidv4 } from "uuid";
|
|
import { v4 as uuidv4 } from "uuid";
|
|
import statisticalAnalysis from "../components/statisticalAnalysis.vue";
|
|
import statisticalAnalysis from "../components/statisticalAnalysis.vue";
|
|
import choseWorksDetailDialog from "../components/choseWorksDetailDialog.vue";
|
|
import choseWorksDetailDialog from "../components/choseWorksDetailDialog.vue";
|
|
|
|
+import choseWordCloud from '../components/choseWordCloud.vue'
|
|
var OpenCC = require("opencc-js");
|
|
var OpenCC = require("opencc-js");
|
|
let converter = OpenCC.Converter({
|
|
let converter = OpenCC.Converter({
|
|
from: "hk",
|
|
from: "hk",
|
|
@@ -15602,6 +15614,7 @@ const getFile = url => {
|
|
};
|
|
};
|
|
export default {
|
|
export default {
|
|
components: {
|
|
components: {
|
|
|
|
+ choseWordCloud,
|
|
EditorBar,
|
|
EditorBar,
|
|
Time,
|
|
Time,
|
|
pdf,
|
|
pdf,
|
|
@@ -15634,6 +15647,7 @@ export default {
|
|
},
|
|
},
|
|
data() {
|
|
data() {
|
|
return {
|
|
return {
|
|
|
|
+ wordCloudKey: 0,
|
|
bg: null,
|
|
bg: null,
|
|
drawShow: false,
|
|
drawShow: false,
|
|
dialogVisible: false,
|
|
dialogVisible: false,
|
|
@@ -15721,9 +15735,9 @@ export default {
|
|
pptImgUrl1: "",
|
|
pptImgUrl1: "",
|
|
commentText: "",
|
|
commentText: "",
|
|
full: false,
|
|
full: false,
|
|
- sIsOpen: false,
|
|
|
|
- IsLookOpen: false,
|
|
|
|
- IsFollow: false,
|
|
|
|
|
|
+ sIsOpen: false, //允许学生查看所有作业
|
|
|
|
+ IsLookOpen: false, //禁止学生查看所有阶段
|
|
|
|
+ IsFollow: false, //开启跟随模式
|
|
pzDialog: false,
|
|
pzDialog: false,
|
|
contentDialog: false,
|
|
contentDialog: false,
|
|
mlDialog: false,
|
|
mlDialog: false,
|
|
@@ -16914,11 +16928,18 @@ export default {
|
|
|
|
|
|
let target = document.querySelector(`#gj${k}`);
|
|
let target = document.querySelector(`#gj${k}`);
|
|
if (target) {
|
|
if (target) {
|
|
- target.scrollIntoView(true);
|
|
|
|
- setTimeout(() => {
|
|
|
|
- a.scrollTop = a.scrollTop - 150;
|
|
|
|
|
|
+ // target.scrollIntoView(true);
|
|
|
|
+ // setTimeout(() => {
|
|
|
|
+ // a.scrollTop = a.scrollTop - 150;
|
|
|
|
+ // }, 0);
|
|
|
|
+ target.scrollIntoView();
|
|
|
|
+ setTimeout(()=>{
|
|
|
|
+ let scrollBody = document.querySelector('.body_student').parentElement
|
|
|
|
+ scrollBody.scrollTop = scrollBody.scrollTop - 100
|
|
}, 0);
|
|
}, 0);
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
+
|
|
this.navId = "";
|
|
this.navId = "";
|
|
let flag = this.courseType == i;
|
|
let flag = this.courseType == i;
|
|
let flag2 = this.taskCount == j;
|
|
let flag2 = this.taskCount == j;
|
|
@@ -20596,7 +20617,10 @@ export default {
|
|
this.$message.error("已经开启跟随模式,请认真跟堂听讲");
|
|
this.$message.error("已经开启跟随模式,请认真跟堂听讲");
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
- if (this.IsLookOpen) {
|
|
|
|
|
|
+
|
|
|
|
+ if (this.IsLookOpen &&
|
|
|
|
+ this.courseDetail.userid != this.userid &&
|
|
|
|
+ this.courseDetail.course_teacher.indexOf(this.userid) ==-1) {
|
|
if (
|
|
if (
|
|
!this.chapInfoList[s].chapterInfo[0].taskJson[n].isLook &&
|
|
!this.chapInfoList[s].chapterInfo[0].taskJson[n].isLook &&
|
|
this.courseDetail.userid != this.userid &&
|
|
this.courseDetail.userid != this.userid &&
|
|
@@ -20633,6 +20657,7 @@ export default {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
if (this.navList[s].task[n].isOpen == true) {
|
|
if (this.navList[s].task[n].isOpen == true) {
|
|
this.navList[s].task[n].isOpen = !this.navList[s].task[n].isOpen;
|
|
this.navList[s].task[n].isOpen = !this.navList[s].task[n].isOpen;
|
|
return;
|
|
return;
|
|
@@ -20924,10 +20949,18 @@ export default {
|
|
this.playerO[i] = d;
|
|
this.playerO[i] = d;
|
|
}
|
|
}
|
|
this.courseDetail = res.data[0][0];
|
|
this.courseDetail = res.data[0][0];
|
|
- this.tcid = this.arrayToArray(
|
|
|
|
- this.courseDetail.juri ? this.courseDetail.juri.split(",") : [],
|
|
|
|
- this.tcid2 ? this.tcid2.split(",") : []
|
|
|
|
- ).join(",");
|
|
|
|
|
|
+ if(this.tType == 2){
|
|
|
|
+ this.tcid = this.arrayToArray(
|
|
|
|
+ this.courseDetail.juri ? this.courseDetail.juri.split(",") : [],
|
|
|
|
+ this.classId ? this.classId.split(",") : []
|
|
|
|
+ ).join(",");
|
|
|
|
+ }else{
|
|
|
|
+ this.tcid = this.arrayToArray(
|
|
|
|
+ this.courseDetail.juri ? this.courseDetail.juri.split(",") : [],
|
|
|
|
+ this.tcid2 ? this.tcid2.split(",") : []
|
|
|
|
+ ).join(",");
|
|
|
|
+ }
|
|
|
|
+
|
|
this.evalua = res.data[0][0].evaId;
|
|
this.evalua = res.data[0][0].evaId;
|
|
this.chapInfo = JSON.parse(this.courseDetail.chapters)[
|
|
this.chapInfo = JSON.parse(this.courseDetail.chapters)[
|
|
this.courseType
|
|
this.courseType
|
|
@@ -24159,6 +24192,8 @@ export default {
|
|
this.$forceUpdate();
|
|
this.$forceUpdate();
|
|
},
|
|
},
|
|
openWordCloud(toolindex) {
|
|
openWordCloud(toolindex) {
|
|
|
|
+ this.wordCloudData = '';
|
|
|
|
+
|
|
let array = [];
|
|
let array = [];
|
|
for (var i = 0; i < this.worksStudent[toolindex].length; i++) {
|
|
for (var i = 0; i < this.worksStudent[toolindex].length; i++) {
|
|
let works = JSON.parse(this.worksStudent[toolindex][i].works)[0].answer;
|
|
let works = JSON.parse(this.worksStudent[toolindex][i].works)[0].answer;
|
|
@@ -24173,8 +24208,15 @@ export default {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- this.wordCloudData = array;
|
|
|
|
|
|
+ let _result = ''
|
|
|
|
+ array.forEach(e=>{
|
|
|
|
+ _result +=e.name+','
|
|
|
|
+ })
|
|
|
|
+ this.wordCloudData = _result;
|
|
|
|
+
|
|
this.dialogVisibleWordCloud = true;
|
|
this.dialogVisibleWordCloud = true;
|
|
|
|
+ this.wordCloudKey += 1;
|
|
|
|
+
|
|
},
|
|
},
|
|
openTips(i) {
|
|
openTips(i) {
|
|
this.tipsIndex = i;
|
|
this.tipsIndex = i;
|
|
@@ -24741,7 +24783,7 @@ export default {
|
|
},
|
|
},
|
|
getSplitScreenData() {
|
|
getSplitScreenData() {
|
|
// return;
|
|
// return;
|
|
- if (this.tType != 1) return;
|
|
|
|
|
|
+ // if (this.tType != 1) return;
|
|
let params = {
|
|
let params = {
|
|
cid: this.id
|
|
cid: this.id
|
|
};
|
|
};
|