Browse Source

Merge branch 'beta'

lsc 1 month ago
parent
commit
28935140d3

+ 1 - 1
dist/index.html

@@ -27,7 +27,7 @@
     html,
     body{
       font-family: '黑体';
-    }</style><link href=./static/css/app.a83a20167c9a34486994b55b96a72337.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.3ad1d5771e9b13dbdad2.js></script><script type=text/javascript src=./static/js/vendor.d6d47d008c180699b2a1.js></script><script type=text/javascript src=./static/js/app.6795fa93f425c69f9907.js></script></body></html><script>function stopSafari() {
+    }</style><link href=./static/css/app.e11a253f9d2d7ac2509a142ca256a720.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.3ad1d5771e9b13dbdad2.js></script><script type=text/javascript src=./static/js/vendor.d6d47d008c180699b2a1.js></script><script type=text/javascript src=./static/js/app.09ddf9d566232279c5e2.js></script></body></html><script>function stopSafari() {
     //阻止safari浏览器双击放大功能
     let lastTouchEnd = 0  //更新手指弹起的时间
     document.documentElement.addEventListener("touchstart", function (event) {

File diff suppressed because it is too large
+ 0 - 0
dist/static/css/app.a83a20167c9a34486994b55b96a72337.css.map


File diff suppressed because it is too large
+ 0 - 0
dist/static/css/app.e11a253f9d2d7ac2509a142ca256a720.css


File diff suppressed because it is too large
+ 0 - 0
dist/static/css/app.e11a253f9d2d7ac2509a142ca256a720.css.map


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/app.09ddf9d566232279c5e2.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/app.09ddf9d566232279c5e2.js.map


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/manifest.3ad1d5771e9b13dbdad2.js.map


+ 38 - 5
src/components/components/choseWorksDetailDialog.vue

@@ -659,6 +659,14 @@ export default {
       type: [String , Number],
       default: 0
     },
+    tType:{
+      type: Number,
+      default: 0
+    },
+    sIsOpen:{
+      type: Boolean,
+      default: false
+    },
     taskCount: {
       type: Number,
       default: 0
@@ -957,11 +965,24 @@ export default {
           JSON.stringify(this.worksStudent) !==
             JSON.stringify(newValue[this.toolIndex])
         ) {
-          this.worksStudent = JSON.parse(
-            JSON.stringify(newValue[this.toolIndex])
+          // this.worksStudent = JSON.parse(
+          //   JSON.stringify(newValue[this.toolIndex])
+          // );
+          let yym = JSON.parse(
+            JSON.stringify(this.newValue[this.toolIndex])
           );
-          this.dialogTypeList[2].loading = false;
-        }
+          
+          if (this.tType == 2 && !this.sIsOpen) {
+            this.worksStudent = yym.filter( e =>{
+              return this.userId == e.userid
+            })
+          }else{
+            this.worksStudent = JSON.parse(
+              JSON.stringify(newValue[this.toolIndex])
+            );
+          }
+            this.dialogTypeList[2].loading = false;
+          }
       },
       deep: true
     },
@@ -1061,9 +1082,21 @@ export default {
     },
     setData() {
       if (this.show && this.toolIndex !== null) {
-        this.worksStudent = JSON.parse(
+        let yym = JSON.parse(
           JSON.stringify(this.worksStudentData[this.toolIndex])
         );
+       
+        if (this.tType == 2 && !this.sIsOpen) {
+          this.worksStudent = yym.filter( e =>{
+            return this.userId == e.userid
+          })
+        }else{
+          this.worksStudent = JSON.parse(
+            JSON.stringify(this.worksStudentData[this.toolIndex])
+          );
+        }
+        
+
         this.noWorksStudent = JSON.parse(
           JSON.stringify(this.noWorksSData[this.toolIndex])
         );

+ 71 - 29
src/components/easy2/studyStudent.vue

@@ -1020,7 +1020,7 @@
                               @click="addTools(tooC, toolIndex, taskCount)"
                             />
                             <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;">
                               投影
                             </div>
@@ -1032,7 +1032,7 @@
                               @click="addTools(tooC, toolIndex, taskCount)"
                             />
                             <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;">
                               投影
                             </div>
@@ -1053,7 +1053,7 @@
                             />
                             <div style="margin: 5px 0">思维网格</div>
                             <!-- && 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;">
                               投影
                             </div>
@@ -1114,9 +1114,7 @@
                             <div style="margin: 5px 0">选择题</div>
                             <div
                               class="upload_toolBtn"
-                              v-if="
-                                tType === '1'
-                              "
+                             
                               @click="
                                 openChoseWorksDetailDialog(
                                   tooC,
@@ -1153,7 +1151,7 @@
                               alt
                             />
                             <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;">
                               投影
                             </div>
@@ -1291,7 +1289,7 @@
                               alt
                             />
                             <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;">
                               投影
                             </div>
@@ -1303,7 +1301,7 @@
                               alt
                             />
                             <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;">
                               投影
                             </div>
@@ -1323,7 +1321,7 @@
                               alt
                             />
                             <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;">
                               投影
                             </div>
@@ -1335,7 +1333,7 @@
                               alt
                             />
                             <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;">
                               投影
                             </div>
@@ -1347,7 +1345,7 @@
                               alt
                             />
                             <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;">
                               投影
                             </div>
@@ -1359,7 +1357,7 @@
                               alt
                             />
                             <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;">
                               投影
                             </div>
@@ -15358,10 +15356,21 @@
       :searchTN="worksSName2"
       @setPlname="setPlname"
     ></UpdateMore>
-    <wordCloud
+
+    <!-- <wordCloud
       :dialogVisibleWordCloud.sync="dialogVisibleWordCloud"
       :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
       title="挑人"
       :visible.sync="dialogVisiblePickPeople"
@@ -15470,11 +15479,13 @@
     <statisticalAnalysis ref="statisticalAnalysisRef" @refresh="statisticalAnalysisRefresh"  @changeSplitScreenBehavior="changeSplitScreenBehavior"  :courseType="courseType" :taskCount="taskCount"/>
     <choseWorksDetailDialog
       ref="choseWorksDetailDialogRef"
-      :worksStudentData="this.worksStudent"
+      :worksStudentData="worksStudent"
       :noWorksSData="noWorksS"
       :chapInfoListData="chapInfoList"
       :courseType="courseType"
       :taskCount="taskCount"
+      :tType="tType"
+      :sIsOpen="sIsOpen"
       @deleteWorks="deleteWorks"
       @openTools="openTools"
 			@openWord="openWord"
@@ -15545,6 +15556,7 @@ import evaTable from "./commpont/evaTable";
 import { v4 as uuidv4 } from "uuid";
 import statisticalAnalysis from "../components/statisticalAnalysis.vue";
 import choseWorksDetailDialog from "../components/choseWorksDetailDialog.vue";
+import choseWordCloud from '../components/choseWordCloud.vue'
 var OpenCC = require("opencc-js");
 let converter = OpenCC.Converter({
   from: "hk",
@@ -15602,6 +15614,7 @@ const getFile = url => {
 };
 export default {
   components: {
+    choseWordCloud,
     EditorBar,
     Time,
     pdf,
@@ -15634,6 +15647,7 @@ export default {
   },
   data() {
     return {
+      wordCloudKey: 0,
       bg: null,
       drawShow: false,
       dialogVisible: false,
@@ -15721,9 +15735,9 @@ export default {
       pptImgUrl1: "",
       commentText: "",
       full: false,
-      sIsOpen: false,
-      IsLookOpen: false,
-      IsFollow: false,
+      sIsOpen: false, //允许学生查看所有作业
+      IsLookOpen: false, //禁止学生查看所有阶段
+      IsFollow: false, //开启跟随模式
       pzDialog: false,
       contentDialog: false,
       mlDialog: false,
@@ -16914,11 +16928,18 @@ export default {
 
       let target = document.querySelector(`#gj${k}`);
       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);
+       
       }
+      
       this.navId = "";
       let flag = this.courseType == i;
       let flag2 = this.taskCount == j;
@@ -20596,7 +20617,10 @@ export default {
         this.$message.error("已经开启跟随模式,请认真跟堂听讲");
         return;
       }
-      if (this.IsLookOpen) {
+
+      if (this.IsLookOpen && 
+        this.courseDetail.userid != this.userid &&
+        this.courseDetail.course_teacher.indexOf(this.userid) ==-1) {
         if (
           !this.chapInfoList[s].chapterInfo[0].taskJson[n].isLook &&
           this.courseDetail.userid != this.userid &&
@@ -20633,6 +20657,7 @@ export default {
           }
         }
       }
+
       if (this.navList[s].task[n].isOpen == true) {
         this.navList[s].task[n].isOpen = !this.navList[s].task[n].isOpen;
         return;
@@ -20924,10 +20949,18 @@ export default {
               this.playerO[i] = d;
             }
             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.chapInfo = JSON.parse(this.courseDetail.chapters)[
               this.courseType
@@ -24159,6 +24192,8 @@ export default {
       this.$forceUpdate();
     },
     openWordCloud(toolindex) {
+      this.wordCloudData = '';
+
       let array = [];
       for (var i = 0; i < this.worksStudent[toolindex].length; i++) {
         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.wordCloudKey += 1;
+
     },
     openTips(i) {
       this.tipsIndex = i;
@@ -24741,7 +24783,7 @@ export default {
     },
     getSplitScreenData() {
       // return;
-      if (this.tType != 1) return;
+      // if (this.tType != 1) return; 
       let params = {
         cid: this.id
       };

+ 62 - 24
src/components/easy3/studyStudent.vue

@@ -973,7 +973,7 @@
                               @click="addTools(tooC, toolIndex, taskCount)"
                             />
                             <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;">
                               投影
                             </div>
@@ -985,7 +985,7 @@
                               @click="addTools(tooC, toolIndex, taskCount)"
                             />
                             <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;">
                               投影
                             </div>
@@ -1006,7 +1006,7 @@
                             />
                             <div style="margin: 5px 0">思维网格</div>
                             <!-- && 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;">
                               投影
                             </div>
@@ -1055,7 +1055,7 @@
                             />
                             <div style="margin: 5px 0">选择题</div>
 
-														<div class="upload_toolBtn" v-if="tType==='1' " @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,45)"
+														<div class="upload_toolBtn"  @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,45)"
                               style="position: absolute;right: 33px;top: -30px;">
                               投影
                             </div>
@@ -1084,7 +1084,7 @@
                             />
                             <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;">
                               投影
                             </div>
@@ -1222,7 +1222,7 @@
                               alt
                             />
                             <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;">
                               投影
                             </div>
@@ -1234,7 +1234,7 @@
                               alt
                             />
                             <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;">
                               投影
                             </div>
@@ -1254,7 +1254,7 @@
                               alt
                             />
                             <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;">
                               投影
                             </div>
@@ -1266,7 +1266,7 @@
                               alt
                             />
                             <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;">
                               投影
                             </div>
@@ -1278,7 +1278,7 @@
                               alt
                             />
                             <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;">
                               投影
                             </div>
@@ -1290,7 +1290,7 @@
                               alt
                             />
                             <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;">
                               投影
                             </div>
@@ -11973,10 +11973,18 @@
       :searchTN="worksSName2"
       @setPlname="setPlname"
     ></UpdateMore>
-    <wordCloud
+    <!-- <wordCloud
       :dialogVisibleWordCloud.sync="dialogVisibleWordCloud"
       :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
       title="挑人"
       :visible.sync="dialogVisiblePickPeople"
@@ -12019,11 +12027,13 @@
 		<statisticalAnalysis ref="statisticalAnalysisRef" @refresh="statisticalAnalysisRefresh"  @changeSplitScreenBehavior="changeSplitScreenBehavior"  :courseType="courseType" :taskCount="taskCount"/>
 		<choseWorksDetailDialog
       ref="choseWorksDetailDialogRef"
-      :worksStudentData="this.worksStudent"
+      :worksStudentData="worksStudent"
       :noWorksSData="noWorksS"
       :chapInfoListData="chapInfoList"
       :courseType="courseType"
       :taskCount="taskCount"
+      :tType="tType"
+      :sIsOpen="sIsOpen"
       @deleteWorks="deleteWorks"
       @openTools="openTools"
 			@openWord="openWord"
@@ -12093,6 +12103,8 @@ import statisticalAnalysis from '../components/statisticalAnalysis.vue'
 import choseWorksDetailDialog from '../components/choseWorksDetailDialog.vue'
 import { v4 as uuidv4 } from "uuid";
 var OpenCC = require("opencc-js");
+import choseWordCloud from '../components/choseWordCloud.vue'
+
 let converter = OpenCC.Converter({
   from: "hk",
   to: "cn"
@@ -12148,6 +12160,7 @@ const getFile = (url) => {
 };
 export default {
   components: {
+    choseWordCloud,
     EditorBar,
     Time,
     pdf,
@@ -12177,6 +12190,7 @@ export default {
   },
   data() {
     return {
+      wordCloudKey: 0,
       bg: null,
       drawShow: false,
       dialogVisible: false,
@@ -12855,10 +12869,16 @@ export default {
 
       let target = document.querySelector(`#gj${k}`);
       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);
+       
       }
       this.navId = ""
 			let flag = this.courseType == i;
@@ -16377,7 +16397,9 @@ export default {
         this.$message.error("已经开启跟随模式,请认真跟堂听讲");
         return;
       }
-      if (this.IsLookOpen) {
+      if (this.IsLookOpen && 
+        this.courseDetail.userid != this.userid &&
+        this.courseDetail.course_teacher.indexOf(this.userid) ==-1) {
         if (
           !this.chapInfoList[s].chapterInfo[0].taskJson[n].isLook &&
           this.courseDetail.userid != this.userid &&
@@ -16693,10 +16715,17 @@ export default {
               this.playerO[i] = d;
             }
             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.chapInfo = JSON.parse(this.courseDetail.chapters)[
               this.courseType
@@ -19837,6 +19866,8 @@ export default {
       this.$forceUpdate();
     },
     openWordCloud(toolindex) {
+      this.wordCloudData = '';
+
       let array = [];
       for (var i = 0; i < this.worksStudent[toolindex].length; i++) {
         let works = JSON.parse(this.worksStudent[toolindex][i].works)[0].answer;
@@ -19851,8 +19882,15 @@ export default {
           }
         }
       }
-      this.wordCloudData = array;
+      let _result = ''
+      array.forEach(e=>{
+        _result +=e.name+','
+      })
+      this.wordCloudData = _result;
+
       this.dialogVisibleWordCloud = true;
+      this.wordCloudKey += 1;
+
     },
     uploadWorks(i) {
       this.$confirm("确定导出作业吗?", "提示", {
@@ -20373,7 +20411,7 @@ export default {
     },
     getSplitScreenData() {
       // return;
-      if (this.tType != 1) return;
+      // if (this.tType != 1) return;
       let params = {
         cid: this.id
       };

+ 64 - 25
src/components/studyStudent.vue

@@ -174,7 +174,8 @@
                   <div class="lockTaskIcon">
                     <img
                       src="../assets/lock.png"
-                      v-if="IsLookOpen && !nav.isLook"
+                      v-if="IsLookOpen && !nav.isLook && courseDetail.userid != userid &&
+        courseDetail.course_teacher.indexOf(userid) ==-1"
                       alt=""
                     />
                   </div>
@@ -942,7 +943,7 @@
                               @click="addTools(tooC, toolIndex, taskCount)"
                             />
                             <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;">
                               投影
                             </div>
@@ -954,7 +955,7 @@
                               @click="addTools(tooC, toolIndex, taskCount)"
                             />
                             <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;">
                               投影
                             </div>
@@ -975,7 +976,7 @@
                             />
                             <div style="margin: 5px 0">思维网格</div>
                             <!-- && 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;">
                               投影
                             </div>
@@ -1025,7 +1026,7 @@
                             />
                             <div style="margin: 5px 0">选择题</div>
 
-														<div class="upload_toolBtn" v-if="tType==='1'" @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,45)"
+														<div class="upload_toolBtn"  @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,45)"
                               style="position: absolute;right: 33px;top: -30px;">
                               投影
                             </div>
@@ -1053,7 +1054,7 @@
                               alt
                             />
                             <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;">
                               投影
                             </div>
@@ -1191,7 +1192,7 @@
                               alt
                             />
                             <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;">
                               投影
                             </div>
@@ -1203,7 +1204,7 @@
                               alt
                             />
                             <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;">
                               投影
                             </div>
@@ -1223,7 +1224,7 @@
                               alt
                             />
                             <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;">
                               投影
                             </div>
@@ -1235,7 +1236,7 @@
                               alt
                             />
                             <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;">
                               投影
                             </div>
@@ -1247,7 +1248,7 @@
                               alt
                             />
                             <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;">
                               投影
                             </div>
@@ -1259,7 +1260,7 @@
                               alt
                             />
                             <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;">
                               投影
                             </div>
@@ -11914,10 +11915,18 @@
       :searchTN="worksSName2"
       @setPlname="setPlname"
     ></UpdateMore>
-    <wordCloud
+    <!-- <wordCloud
       :dialogVisibleWordCloud.sync="dialogVisibleWordCloud"
       :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
       title="挑人"
       :visible.sync="dialogVisiblePickPeople"
@@ -11960,11 +11969,13 @@
 		<statisticalAnalysis ref="statisticalAnalysisRef" @refresh="statisticalAnalysisRefresh"  @changeSplitScreenBehavior="changeSplitScreenBehavior"  :courseType="courseType" :taskCount="taskCount"/>
 		<choseWorksDetailDialog
       ref="choseWorksDetailDialogRef"
-      :worksStudentData="this.worksStudent"
+      :worksStudentData="worksStudent"
       :noWorksSData="noWorksS"
       :chapInfoListData="chapInfoList"
       :courseType="courseType"
       :taskCount="taskCount"
+      :tType="tType"
+      :sIsOpen="sIsOpen"
       @deleteWorks="deleteWorks"
       @openTools="openTools"
 			@openWord="openWord"
@@ -12033,6 +12044,8 @@ import statisticalAnalysis from "./components/statisticalAnalysis.vue";
 import choseWorksDetailDialog from './components/choseWorksDetailDialog.vue';
 import { v4 as uuidv4 } from "uuid";
 var OpenCC = require("opencc-js");
+import choseWordCloud from './components/choseWordCloud.vue'
+
 let converter = OpenCC.Converter({
   from: "hk",
   to: "cn"
@@ -12088,6 +12101,7 @@ const getFile = (url) => {
 };
 export default {
   components: {
+    choseWordCloud,
     EditorBar,
     Time,
     pdf,
@@ -12117,6 +12131,7 @@ export default {
   },
   data() {
     return {
+      wordCloudKey: 0,
       bg: null,
       drawShow: false,
       dialogVisible: false,
@@ -12833,10 +12848,16 @@ export default {
       this.navId = ""
       let target = document.querySelector(`#gj${k}`);
       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);
+       
       }
 			let flag = this.courseType == i;
 			let flag2 = this.taskCount == j
@@ -16360,7 +16381,9 @@ export default {
         this.$message.error("已经开启跟随模式,请认真跟堂听讲");
         return;
       }
-      if (this.IsLookOpen) {
+      if (this.IsLookOpen && 
+        this.courseDetail.userid != this.userid &&
+        this.courseDetail.course_teacher.indexOf(this.userid) ==-1) {
         if (
           !this.chapInfoList[s].chapterInfo[0].taskJson[n].isLook &&
           this.courseDetail.userid != this.userid &&
@@ -16683,10 +16706,17 @@ export default {
               this.playerO[i] = d;
             }
             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.chapInfo = JSON.parse(this.courseDetail.chapters)[
               this.courseType
@@ -19825,6 +19855,8 @@ export default {
       this.$forceUpdate();
     },
     openWordCloud(toolindex) {
+      this.wordCloudData = '';
+      
       let array = [];
       for (var i = 0; i < this.worksStudent[toolindex].length; i++) {
         let works = JSON.parse(this.worksStudent[toolindex][i].works)[0].answer;
@@ -19839,8 +19871,15 @@ export default {
           }
         }
       }
-      this.wordCloudData = array;
+      let _result = ''
+      array.forEach(e=>{
+        _result +=e.name+','
+      })
+      this.wordCloudData = _result;
+      
       this.dialogVisibleWordCloud = true;
+      this.wordCloudKey += 1;
+
     },
     uploadWorks(i) {
       this.$confirm("确定导出作业吗?", "提示", {
@@ -20362,7 +20401,7 @@ export default {
     },
     getSplitScreenData() {
       // return;
-      if (this.tType != 1) return;
+      // if (this.tType != 1) return;
       let params = {
         cid: this.id
       };

+ 60 - 29
src/components/studySutdentClass/studyStudent.vue

@@ -973,7 +973,7 @@
                               @click="addTools(tooC, toolIndex, taskCount)"
                             />
                             <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;">
                               投影
                             </div>
@@ -985,7 +985,7 @@
                               @click="addTools(tooC, toolIndex, taskCount)"
                             />
                             <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;">
                               投影
                             </div>
@@ -1006,7 +1006,7 @@
                             />
                             <div style="margin: 5px 0">思维网格</div>
                             <!-- && 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;">
                               投影
                             </div>
@@ -1068,9 +1068,7 @@
                             <!-- &&worksStudent[toolIndex].length > 0 -->
                             <div
                               class="upload_toolBtn"
-                              v-if="
-                                tType === '1' 
-                              "
+                             
                               @click="
                                 openChoseWorksDetailDialog(
                                   tooC,
@@ -1106,7 +1104,7 @@
                               alt
                             />
                             <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;">
                               投影
                             </div>
@@ -1244,7 +1242,7 @@
                               alt
                             />
                             <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;">
                               投影
                             </div>
@@ -1256,7 +1254,7 @@
                               alt
                             />
                             <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;">
                               投影
                             </div>
@@ -1276,7 +1274,7 @@
                               alt
                             />
                             <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;">
                               投影
                             </div>
@@ -1288,7 +1286,7 @@
                               alt
                             />
                             <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;">
                               投影
                             </div>
@@ -1300,7 +1298,7 @@
                               alt
                             />
                             <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;">
                               投影
                             </div>
@@ -1312,7 +1310,7 @@
                               alt
                             />
                             <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;">
                               投影
                             </div>
@@ -14914,10 +14912,18 @@
       :searchTN="worksSName2"
       @setPlname="setPlname"
     ></UpdateMore>
-    <wordCloud
+    <!-- <wordCloud
       :dialogVisibleWordCloud.sync="dialogVisibleWordCloud"
       :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
       title="挑人"
       :visible.sync="dialogVisiblePickPeople"
@@ -15025,11 +15031,13 @@
 		<statisticalAnalysis ref="statisticalAnalysisRef" @refresh="statisticalAnalysisRefresh"  @changeSplitScreenBehavior="changeSplitScreenBehavior"  :courseType="courseType" :taskCount="taskCount"/>
 		<choseWorksDetailDialog
       ref="choseWorksDetailDialogRef"
-      :worksStudentData="this.worksStudent"
+      :worksStudentData="worksStudent"
       :noWorksSData="noWorksS"
       :chapInfoListData="chapInfoList"
       :courseType="courseType"
       :taskCount="taskCount"
+      :tType="tType"
+      :sIsOpen="sIsOpen"
 			@openWord="openWord"
 			@openScore="openScore"
       @deleteWorks="deleteWorks"
@@ -15101,7 +15109,7 @@ import { v4 as uuidv4 } from "uuid";
 import markScore from "./commpont/markScore";
 import markDialog from "./commpont/markDialog";
 import evaTable from "./commpont/evaTable";
-
+import choseWordCloud from '../components/choseWordCloud.vue'
 var OpenCC = require("opencc-js");
 let converter = OpenCC.Converter({
   from: "hk",
@@ -15158,6 +15166,7 @@ const getFile = (url) => {
 };
 export default {
   components: {
+    choseWordCloud,
     EditorBar,
     Time,
     pdf,
@@ -15190,6 +15199,7 @@ export default {
   },
   data() {
     return {
+      wordCloudKey: 0,
       bg: null,
       drawShow: false,
       dialogVisible: false,
@@ -16451,10 +16461,16 @@ export default {
 
       let target = document.querySelector(`#gj${k}`);
       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);
+       
       }
       this.navId = ""
 			let flag = this.courseType == i;
@@ -20036,7 +20052,9 @@ export default {
         this.$message.error("已经开启跟随模式,请认真跟堂听讲");
         return;
       }
-      if (this.IsLookOpen) {
+      if (this.IsLookOpen && 
+        this.courseDetail.userid != this.userid &&
+        this.courseDetail.course_teacher.indexOf(this.userid) ==-1) {
         if (
           !this.chapInfoList[s].chapterInfo[0].taskJson[n].isLook &&
           this.courseDetail.userid != this.userid && 
@@ -20352,10 +20370,17 @@ export default {
               this.playerO[i] = d;
             }
             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.chapInfo = JSON.parse(this.courseDetail.chapters)[
               this.courseType
@@ -23580,6 +23605,8 @@ export default {
       this.$forceUpdate();
     },
     openWordCloud(toolindex) {
+      this.wordCloudData = '';
+
       let array = [];
       for (var i = 0; i < this.worksStudent[toolindex].length; i++) {
         let works = JSON.parse(this.worksStudent[toolindex][i].works)[0].answer;
@@ -23594,10 +23621,14 @@ export default {
           }
         }
       }
-      console.log('array',array);
-
-      this.wordCloudData = array;
+      let _result = ''
+      array.forEach(e=>{
+        _result +=e.name+','
+      })
+      this.wordCloudData = _result;
       this.dialogVisibleWordCloud = true;
+      this.wordCloudKey += 1;
+
     },
     uploadWorks(i) {
       this.$confirm("确定导出作业吗?", "提示", {
@@ -24119,7 +24150,7 @@ export default {
     },
     getSplitScreenData() {
       // return;
-      if (this.tType != 1) return;
+      // if (this.tType != 1) return;
       let params = {
         cid: this.id
       };

Some files were not shown because too many files changed in this diff