11wqe1 1 bulan lalu
induk
melakukan
f33c890251

+ 276 - 74
src/components/components/choseWorksDetailDialog.vue

@@ -57,7 +57,7 @@
 									<span v-else>无</span>
                 </div>
 
-                <span v-if="![7,1,3].includes(toolType)">题目内容</span>
+                <span v-if="![7,1,3,23,18,21,71,68,23,24,32,63,28,31,39,66].includes(toolType)">题目内容</span>
 
                 <!-- 选择题1  -->
                 <div v-if="[45].includes(toolType) && testJson">
@@ -382,7 +382,7 @@
                   </div>
                 </div>
                 <!-- 思维网格 电子白板 思维导图 -->
-                <div id="loadLi_JieE" v-if="[7,1,3,57,18,21,71].includes(toolType)" style="position: relative; " class="s_b_m_b_i_m_iframe">
+                <div id="loadLi_JieE" v-if="[7,1,3,57,18,21,71,23,24,32,63,28,31,39,66,68].includes(toolType)" style="position: relative; " class="s_b_m_b_i_m_iframe">
                   <div style="display: none;
                   position: absolute;
                   height: 100%;
@@ -458,8 +458,109 @@
     								  :src="AIUrl"
     								></iframe>
                   </div>
-                </div>
+                  <!-- AI Python -->
+                  <div v-if="[23].includes(toolType)" class="s_b_m_b_i_m_evaluation">
+                    <iframe 
+                        frameborder="no" 
+                        border="0" 
+                        scrolling="no" 
+                        style="border:0;width:100%;height:100%;" 
+                        src="https://python-blockly.cocorobo.cn/" 
+                        >
+                    </iframe>
+                  </div>
+                  <!-- AI Blockly -->
+                  <div v-if="[24].includes(toolType)" class="s_b_m_b_i_m_evaluation">
+                    <iframe 
+                        frameborder="no" 
+                        border="0" 
+                        scrolling="no" 
+                        style="border:0;width:100%;height:100%;" 
+                        src="https://ai-blockly.cocorobo.cn/?lang=zh-hans" 
+                        >
+                    </iframe>
+                  </div>
 
+                  <!-- 源码编辑 -->
+                  <div v-if="[32].includes(toolType)" class="s_b_m_b_i_m_evaluation">
+                    <iframe 
+                        frameborder="no" 
+                        border="0" 
+                        scrolling="no" 
+                        style="border:0;width:100%;height:100%;" 
+                        src="https://kitten.codemao.cn/" 
+                        >
+                    </iframe>
+                  </div>
+                   <!-- 海龟编程 -->
+                   <div v-if="[63].includes(toolType)" class="s_b_m_b_i_m_evaluation">
+                    <iframe 
+                        frameborder="no" 
+                        border="0" 
+                        scrolling="no" 
+                        style="border:0;width:100%;height:100%;" 
+                        src="https://wood.codemao.cn/" 
+                        >
+                    </iframe>
+                  </div>
+                  <!-- 翻译 -->
+                  <div v-if="[28].includes(toolType)" class="s_b_m_b_i_m_evaluation">
+                    <iframe 
+                        frameborder="no" 
+                        border="0" 
+                        scrolling="no" 
+                        style="border:0;width:100%;height:100%;" 
+                        src="//dict.youdao.com/" 
+                        >
+                    </iframe>
+                  </div>
+                  <!-- 数学画板 -->
+                  <div v-if="[31].includes(toolType)" class="s_b_m_b_i_m_evaluation">
+                    <iframe 
+                        frameborder="no" 
+                        border="0" 
+                        scrolling="no" 
+                        style="border:0;width:100%;height:100%;" 
+                        src="//www.netpad.net.cn/svg.html" 
+                        >
+                    </iframe>
+                  </div>
+                  <!-- GeoGebra -->
+                  <div v-if="[39].includes(toolType)" class="s_b_m_b_i_m_evaluation">
+                    <iframe 
+                        frameborder="no" 
+                        border="0" 
+                        scrolling="no" 
+                        style="border:0;width:100%;height:100%;" 
+                        src="//www.geogebra.org/calculator" 
+                        >
+                    </iframe>
+                  </div>
+                  <!-- 公式编辑 -->
+                  <div v-if="[66].includes(toolType)" class="s_b_m_b_i_m_evaluation">
+                    <iframe 
+                        frameborder="no" 
+                        border="0" 
+                        scrolling="no" 
+                        style="border:0;width:100%;height:100%;" 
+                        src="https://www.latexlive.com/" 
+                        >
+                    </iframe>
+                  </div>
+                  <!-- 时间轴 -->
+                  <div v-if="[68].includes(toolType)" class="s_b_m_b_i_m_evaluation">
+                    <iframe 
+                        frameborder="no" 
+                        border="0" 
+                        scrolling="no" 
+                        style="border:0;width:100%;height:100%;" 
+                        src="https://time.graphics/editor" 
+                        >
+                    </iframe>
+                  </div>
+
+                </div>
+                 
                 <!-- 英语写作  -->
                 <div v-if="[69].includes(toolType)" class="s_b_m_b_i_m_evaluation">
                   <onlineWrite
@@ -485,11 +586,8 @@
                   :englishVoiceJsonWork="englishVoiceJsonWork"></EnglishVoice>
                 </div>
 
-
-
-
                 <!-- 学生分组 -->
-                <div v-if="[49].includes(toolType)" class="s_b_m_b_i_m_evaluation">
+                <div v-if="[49].includes(toolType) && groupStudent.length > 0" class="s_b_m_b_i_m_evaluation">
                   <div v-if="courseDetail.userid == userId" class="g_d_btnBox">
                     <div style="color: rgb(171 171 171); margin: 0 10px 0 0">
                       提示:开启【开放选座】,学生能够自由加入和退出小组。
@@ -877,9 +975,8 @@
                       </div>
                     </div>
                   </div>
-
                 </div>
-                
+
               </div>
             </div>
             <div class="s_b_m_b_item" v-if="showType === 1 && dialogTypeList[1].showType.includes(toolType)">
@@ -1183,6 +1280,36 @@
         <el-button type="primary" @click="updateGroupJson">确定</el-button>
       </span>
     </el-dialog>
+    <el-dialog
+      title="移除组员"
+      :visible.sync="dialogVisibleDeleteGroup"
+      :append-to-body="true"
+      width="350px"
+      :before-close="handleClose"
+      class="dialog_diy"
+    >
+      <div>
+        <h2>
+          {{ this.deleteGroupArray.name }}
+        </h2>
+        <div style="color: rgb(171 171 171); margin-top: 10px">
+          请选择要删除的组员
+        </div>
+        <el-checkbox-group v-model="checkDeleteGroup">
+          <el-checkbox
+            style="display: flex; margin-top: 20px"
+            v-for="(item, index) in deleteGroupUser"
+            :label="item.userid"
+            :key="index"
+            >{{ item.name }}</el-checkbox
+          >
+        </el-checkbox-group>
+      </div>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="dialogVisibleDeleteGroup = false">取 消</el-button>
+        <el-button type="primary" @click="deleteChair">确定</el-button>
+      </span>
+    </el-dialog>
     <studentWorkPreviewDialog ref="studentWorkPreviewDialogRef" @close="studentPreviewClose"/>
   </div>
 </template>
@@ -1274,6 +1401,11 @@ export default {
       groupStudentUid:[], //学生分组
       groupStudent:[], //学生分组
       groupJson2:{}, 
+      checkDeleteGroup:[],
+      deleteGroupUser:[],
+      deleteGroupArray:[],
+      groupIndex:'',
+      dialogVisibleDeleteGroup:false,
       dialogVisibleGroup2:false,
       userId: this.$route.query.userid,
       courseId:this.$route.query.courseId,
@@ -1296,7 +1428,7 @@ export default {
         worksPreview: false
       },
       dialogTypeList: [
-        { label: "作业详细", value: 0,showType:[1,7,15,40,41,45,47,48,49,52,3,4,57,18,21,71,69,70], loading: false },
+        { label: "作业详细", value: 0,showType:[1,7,15,40,41,45,47,48,49,52,3,4,57,18,21,71,69,70,23,24,32,63,28,31,39,66,68], loading: false },
         { label: "题目统计", value: 1,showType:[45,15], loading: false },
         { label: "学生统计", value: 2,showType:[1,7,15,40,41,45,47,48,52,3,4,57], loading: false }
       ],
@@ -1304,6 +1436,15 @@ export default {
 				{label:"选择题",value:45,img:require("../../assets/icon/thirdToolList/choose.png")},
 				{label:"训练平台",value:18,img:require("../../assets/icon/thirdToolList/trainPlatform.png")},
 				{label:"AIoT Blockly",value:21,img:require("../../assets/icon/fourthToolList/program.png")},
+				{label:"AI Python",value:23,img:require("../../assets/icon/fourthToolList/Pythonprogram.png")},
+				{label:"AI Blockly",value:24,img:require("../../assets/icon/fourthToolList/AIprogram.png")},
+				{label:"源码编辑",value:32,img:require("../../assets/icon/thirdToolList/code.png")},
+				{label:"海龟编程",value:63,img:require("../../assets/icon/fourthToolList/Wood.png")},
+				{label:"翻译",value:28,img:require("../../assets/icon/secondToolList/translation.png")},
+				{label:"数学画板",value:31,img:require("../../assets/icon/secondToolList/networkPanel.png")},
+				{label:"GeoGebra",value:39,img:require("../../assets/icon/secondToolList/GeoGebra.png")},
+				{label:"公式编辑",value:66,img:require("../../assets/icon/secondToolList/formulaEdi.png")},
+				{label:"时间轴",value:68,img:require("../../assets/icon/secondToolList/timeAxis.png")},
 				{label:"英语写作",value:69,img:require("../../assets/icon/secondToolList/english.png")},
 				{label:"英语口语",value:70,img:require("../../assets/icon/thirdToolList/englishVoice.png")},
 				{label:"AI智能体",value:71,img:require("../../assets/icon/fourthToolList/chatgpt.png")},
@@ -1559,27 +1700,26 @@ export default {
   watch: {
     chapInfoListData:{
       handler(newl){
-        
-        if (!this.show && this.toolType != 49) return
-        if (JSON.stringify(newl) != JSON.stringify(this.chapInfoListData2)) {
-          this.chapInfoListData2 = newl
-          
-          let _tempData = newl[this.courseType].chapterInfo[0]
-            .taskJson[this.taskCount].toolChoose[this.toolIndex];
-
-          this.testData = _tempData ? _tempData : null;
-
-          this.testJson = this.testData.testJson
-            ? this.testData.testJson.testJson
-            : null;
+        if (this.show && this.toolType == 49){
+          if (JSON.stringify(newl) != JSON.stringify(this.chapInfoListData2)) {
+            this.chapInfoListData2 = newl
+            
+            console.log('获取');
+            
+            let _tempData = newl[this.courseType].chapterInfo[0]
+              .taskJson[this.taskCount].toolChoose[this.toolIndex];
 
+            this.testData = _tempData ? _tempData : null;
 
-            
-          this.groupJson = this.testData.groupJson;
-          this.islock = this.groupJson.islock == 1 ? true : false;
-          this.selectGroup()
+            this.testJson = this.testData.testJson
+              ? this.testData.testJson.testJson
+              : null;
+              
+            this.groupJson = this.testData.groupJson;
+            this.islock = this.groupJson.islock == 1 ? true : false;
+            this.selectGroup()
+          }
         }
-        
       },
       deep: true
     },
@@ -1686,6 +1826,7 @@ export default {
     }
   },
   methods: {
+
     // 设置分组
     updateGroupJson(){
       for (var i = 0; i < this.groupStudentUid[this.toolIndex].length; i++) {
@@ -1792,7 +1933,7 @@ export default {
         .post(this.$store.state.api + "updateWorkNew4", params)
         .then((res) => {
           this.$message.success("设置成功");
-          this.$emit('getCourseDetail',2)
+          this.$emit('getCourseDetail')
           this.$forceUpdate();
         })
         .catch((err) => {
@@ -1898,15 +2039,67 @@ export default {
       }
       return commonElements;
     },
-    // 学生分组判断与学生一个班级的学生
-    hasOverlap(arr1, arr2) {
-      const set1 = new Set(arr1);
-      for (let item of arr2) {
-        if (set1.has(item)) {
-          return true;
+    numberPan() {
+      if (
+        /[^\d]/.test(this.groupJson.number) ||
+        this.groupJson.number < 2 ||
+        this.groupJson.number > 10
+      ) {
+        this.$message.error("请输入2-10的数字");
+        this.groupJson.number = "";
+      }
+    },
+    deleteGroupChair(gindex) {
+      this.checkDeleteGroup = [];
+      console.log(this.groupStudent[this.toolIndex][gindex]);
+      console.log(this.groupJson.group[gindex]);
+
+      this.deleteGroupUser = JSON.parse(
+        JSON.stringify(this.groupStudent[this.toolIndex][gindex])
+      );
+      
+      this.deleteGroupArray = this.groupJson.group[gindex];
+      this.groupIndex = gindex;
+      this.dialogVisibleDeleteGroup = true;
+    },
+    async deleteChair() {
+      for (let i = 0; i < this.checkDeleteGroup.length; i++) {
+        const gid =
+          this.groupStudent[this.toolIndex][this.groupIndex][
+            this.groupStudentUid[this.toolIndex][this.groupIndex].indexOf(
+              this.checkDeleteGroup[i]
+            )
+          ];
+        let params = [
+          {
+            gid: gid.id,
+          },
+        ];
+        var a = await this.deleteChairA(params);
+        if (i == this.checkDeleteGroup.length - 1) {
+          this.$message.success("退出成功");
+          this.dialogVisibleDeleteGroup = false;
+          this.deleteGroupUser = [];
+          this.deleteGroupArray = {};
+          this.groupIndex = "";
+          this.checkDeleteGroup = [];
+          this.selectGroup()
+
         }
       }
-      return false;
+    },
+    deleteChairA(params) {
+      return new Promise((resolve, reject) => {
+        this.ajax
+          .post(this.$store.state.api + "exitGroup", params)
+          .then((res) => {
+            resolve(1);
+          })
+          .catch((err) => {
+            this.$message.error("网络不佳");
+            console.error(err);
+          });
+      });
     },
     joinGroup(index) {
       if (this.groupJson.islock == 2) {
@@ -2466,16 +2659,16 @@ export default {
               : {};
 
             this.englishVoiceJson = JSON.parse(JSON.stringify(englishVoiceJson));
-          }else if (this.toolType == 49) {
+          }else if (this.toolType == 49) { //学生分组
+            // if (this.toolType == 49) {
+            this.chapInfoListData2 = JSON.parse(JSON.stringify(this.chapInfoListData))
+            // }
             this.groupStudent=this.groupStudent2
             this.groupStudentUid=this.groupStudentUid2
-            // this.timerId = setInterval(() => {
-            //   this.selectGroup()
-            // }, 5000);
-
             
             this.groupJson = this.testData.groupJson;
             this.islock = this.groupJson.islock == 1 ? true : false;
+            this.selectGroup()
           }
       }
     },
@@ -2486,6 +2679,9 @@ export default {
       this.init();
 			this.$emit("changeSplitScreenBehavior",{code:99})
     },
+    handleClose(done){
+      done();
+    },
     init() {
       this.data = null;
       this.showType = 0;
@@ -2500,12 +2696,19 @@ export default {
       this.toolIndex = null;
       this.testData = null;
 			this.toolType = null;
-      this.groupJson2 = {}
       this.chapInfoListData2= [];
       this.foldList = {
         noSubmit: false,
         worksPreview: false
       };
+      this.myAnswerList1={}; //英语写作
+      this.englishList={},//英语写作
+      this.englishVoiceJsonWork=[] //英语口语
+      this.englishVoiceJson={} //英语口语
+      this.groupJson=[] //学生分组
+      this.groupStudentUid=[] //学生分组
+      this.groupStudent=[] //学生分组
+      this.groupJson2={}
     },
     changeShowType(type) {
       if (type == 1 && this.toolType == 15) {
@@ -2584,32 +2787,28 @@ export default {
         this.ajax.get(this.$store.state.api+"selectWord2",params).then(res=>{
           let _data = res.data[0]
           // console.log('_data',_data);
-          console.log('_data[0].text',_data[0].text)
-          console.log('JSON.parse(_data[0].text',JSON.parse(_data[0].text))
-
-            // this.$nextTick(()=>{
-              // _iframe.onload = () =>{
-                console.log("思维导图iframe加载数据👈")
-                // iframe.contentWindow.editor.minder.importData('json', JSON.parse(xmlhttp.response)[0][0].text)
+          // console.log('_data[0].text',_data[0].text)
+          // console.log('JSON.parse(_data[0].text',JSON.parse(_data[0].text))
+          console.log("思维导图iframe加载数据👈")
 
-                if(_data[0]){
-                  _iframe.contentWindow.editor.minder.importData('json',_data[0].text)
-                }
-
-                const scripts = [
-                  "https://cloud.cocorobo.cn/js/Common/jquery-3.6.0.min.js",
-                  "https://cloud.cocorobo.cn/js/Common/aws-sdk-2.235.1.min.js",
-                  "https://cloud.cocorobo.cn/js/Common/html2canvas.min.js",
-                  "https://cloud.cocorobo.cn/js/Common/jietu22.js"
-                ];
-                scripts.forEach(src => {
-                  const script = document.createElement("script");
-                  script.src = src;
-                  _iframe.contentWindow.document.body.appendChild(script);
-                });
-              // }
+          // if (res.data[0].length > 0) {
+            if(_data[0].length > 0){
+              _iframe.contentWindow.editor.minder.importData('json',_data[0].text)
+            }
+          // }
 
-            // })
+          const scripts = [
+            "https://cloud.cocorobo.cn/js/Common/jquery-3.6.0.min.js",
+            "https://cloud.cocorobo.cn/js/Common/aws-sdk-2.235.1.min.js",
+            "https://cloud.cocorobo.cn/js/Common/html2canvas.min.js",
+            "https://cloud.cocorobo.cn/js/Common/jietu22.js"
+          ];
+          scripts.forEach(src => {
+            const script = document.createElement("script");
+            script.src = src;
+            _iframe.contentWindow.document.body.appendChild(script);
+          });
+   
 
         })
 			}else if([1].includes(this.toolType)){ //电子白板ok
@@ -2649,11 +2848,11 @@ export default {
                   _iframe.contentWindow.document.body.appendChild(script);
                 });
               }
-              if (onloadListener) {
-                _iframe.contentDocument.location.reload()
-              } else {
-                  _iframe.contentDocument.location.reload()
-              }
+              // if (onloadListener) {
+              //   _iframe.contentDocument.location.reload()
+              // } else {
+              //     _iframe.contentDocument.location.reload()
+              // }
             // })
 
         })
@@ -2673,7 +2872,9 @@ export default {
           let _data = res.data[0]
           console.log('_data',_data[0]);
 
-          _iframe.contentWindow.loadingXml(_data[0].text)
+          if (_data.length > 0) {
+            _iframe.contentWindow.loadingXml(_data[0].text)
+          }
 
         })
 			}else if([7].includes(this.toolType)){ //思维网格ok
@@ -2694,7 +2895,7 @@ export default {
             _iframe.contentWindow.document.body.appendChild(script);
           });
         }
-			}else if([71].includes(this.toolType)){ //思维网格ok
+			}else if([71].includes(this.toolType)){ //AI智能体
 
 
          this.AIUrl=`https://cloud.cocorobo.cn/aigpt/?userid=${this.userId}&oid=${this.oid}&org=${this.org}&role=0#/AgentVue`
@@ -2808,7 +3009,7 @@ export default {
 }
 
 .s_b_m_b_i_main {
-  width: 70%;
+  width: 80%;
   margin: 0 auto;
   min-width: 1000px;
   padding: 10px 0 30px 0;
@@ -3464,6 +3665,7 @@ export default {
 	box-sizing: border-box;
 	padding-left: 15px;
   width: 100%;
+  height: 100%;
 }
 
 .e_item{

+ 37 - 1
src/components/easy2/studyStudent.vue

@@ -1231,6 +1231,10 @@
                               alt
                             />
                             <div style="margin: 5px 0">AI Python</div>
+                            <div class="upload_toolBtn"  @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,23)"
+                              style="position: absolute;right: 33px;top: -30px;">
+                              投影
+                            </div>
                           </div>
                           <div v-if="tooC == 24">
                             <img
@@ -1239,6 +1243,10 @@
                               alt
                             />
                             <div style="margin: 5px 0">AI Blockly</div>
+                            <div class="upload_toolBtn"  @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,24)"
+                              style="position: absolute;right: 33px;top: -30px;">
+                              投影
+                            </div>
                           </div>
                           <div v-if="tooC == 25">
                             <img
@@ -1255,6 +1263,10 @@
                               alt
                             />
                             <div style="margin: 5px 0">数学画板</div>
+                            <div class="upload_toolBtn"  @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,31)"
+                            style="position: absolute;right: 33px;top: -30px;">
+                              投影
+                            </div>
                           </div>
                           <div v-if="tooC == 28">
                             <img
@@ -1263,6 +1275,10 @@
                               alt
                             />
                             <div style="margin: 5px 0">翻译</div>
+                            <div class="upload_toolBtn"  @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,28)"
+                            style="position: absolute;right: 33px;top: -30px;">
+                              投影
+                            </div>
                           </div>
                           <div v-if="tooC == 37">
                             <img
@@ -1287,6 +1303,10 @@
                               alt
                             />
                             <div style="margin: 5px 0">GeoGebra</div>
+                            <div class="upload_toolBtn"  @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,39)"
+                            style="position: absolute;right: 33px;top: -30px;">
+                              投影
+                            </div>
                           </div>
                           <div v-if="tooC == 32">
                             <img
@@ -1295,6 +1315,10 @@
                               alt
                             />
                             <div style="margin: 5px 0">源码编辑</div>
+                            <div class="upload_toolBtn"  @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,32)"
+                              style="position: absolute;right: 153px;top: -42px;">
+                              投影
+                            </div>
                             <!-- <div class="upload_toolBtn" @click="addImg($event)"
                               style="position: absolute;left: 110px;bottom: 30px;">
                               上传文件
@@ -1441,6 +1465,10 @@
                               alt
                             />
                             <div style="margin: 5px 0">海龟编程</div>
+                            <div class="upload_toolBtn"  @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,63)"
+                              style="position: absolute;right: 33px;top: -30px;">
+                              投影
+                            </div>
                           </div>
                           <div v-if="tooC == 71">
                             <img
@@ -1469,6 +1497,10 @@
                               alt
                             />
                             <div style="margin: 5px 0">公式编辑</div>
+                            <div class="upload_toolBtn"  @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,66)"
+                            style="position: absolute;right: 33px;top: -30px;">
+                              投影
+                            </div>
                           </div>
                           <div v-if="tooC == 67">
                             <img
@@ -1485,6 +1517,10 @@
                               alt
                             />
                             <div style="margin: 5px 0">时间轴</div>
+                            <div class="upload_toolBtn"  @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,68)"
+                            style="position: absolute;right: 33px;top: -30px;">
+                              投影
+                            </div>
                           </div>
                           <div v-if="tooC == 69">
                             <img
@@ -24988,7 +25024,7 @@ export default {
             if(this.taskCount !=behavior.form.taskCount){
               this.taskCount = behavior.form.taskCount;
             }
-            if(this.toolindex != behavior.form.toolType){
+            if(behavior.form.toolType && this.toolindex != behavior.form.toolType){
               this.toolindex = behavior.form.toolType;
             }
 

+ 39 - 3
src/components/easy3/studyStudent.vue

@@ -1164,6 +1164,10 @@
                               alt
                             />
                             <div style="margin: 5px 0">AI Python</div>
+                            <div class="upload_toolBtn"  @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,23)"
+                              style="position: absolute;right: 33px;top: -30px;">
+                              投影
+                            </div>
                           </div>
                           <div v-if="tooC == 24">
                             <img
@@ -1172,6 +1176,10 @@
                               alt
                             />
                             <div style="margin: 5px 0">AI Blockly</div>
+                            <div class="upload_toolBtn"  @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,24)"
+                              style="position: absolute;right: 33px;top: -30px;">
+                              投影
+                            </div>
                           </div>
                           <div v-if="tooC == 25">
                             <img
@@ -1188,6 +1196,10 @@
                               alt
                             />
                             <div style="margin: 5px 0">数学画板</div>
+                            <div class="upload_toolBtn"  @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,31)"
+                            style="position: absolute;right: 33px;top: -30px;">
+                              投影
+                            </div>
                           </div>
                           <div v-if="tooC == 28">
                             <img
@@ -1196,6 +1208,10 @@
                               alt
                             />
                             <div style="margin: 5px 0">翻译</div>
+                            <div class="upload_toolBtn"  @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,28)"
+                            style="position: absolute;right: 33px;top: -30px;">
+                              投影
+                            </div>
                           </div>
                           <div v-if="tooC == 37">
                             <img
@@ -1220,6 +1236,10 @@
                               alt
                             />
                             <div style="margin: 5px 0">GeoGebra</div>
+                            <div class="upload_toolBtn"  @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,39)"
+                            style="position: absolute;right: 33px;top: -30px;">
+                              投影
+                            </div>
                           </div>
                           <div v-if="tooC == 32">
                             <img
@@ -1228,6 +1248,10 @@
                               alt
                             />
                             <div style="margin: 5px 0">源码编辑</div>
+                            <div class="upload_toolBtn"  @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,32)"
+                              style="position: absolute;right: 153px;top: -42px;">
+                              投影
+                            </div>
                             <!-- <div class="upload_toolBtn" @click="addImg($event)"
                               style="position: absolute;left: 110px;bottom: 30px;">
                               上传文件
@@ -1374,6 +1398,10 @@
                               alt
                             />
                             <div style="margin: 5px 0">海龟编程</div>
+                            <div class="upload_toolBtn"  @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,63)"
+                              style="position: absolute;right: 33px;top: -30px;">
+                              投影
+                            </div>
                           </div>
                           <div v-if="tooC == 71">
                             <img
@@ -1402,6 +1430,10 @@
                               alt
                             />
                             <div style="margin: 5px 0">公式编辑</div>
+                            <div class="upload_toolBtn"  @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,66)"
+                            style="position: absolute;right: 33px;top: -30px;">
+                              投影
+                            </div>
                           </div>
                           <div v-if="tooC == 67">
                             <img
@@ -1418,6 +1450,10 @@
                               alt
                             />
                             <div style="margin: 5px 0">时间轴</div>
+                            <div class="upload_toolBtn"  @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,68)"
+                            style="position: absolute;right: 33px;top: -30px;">
+                              投影
+                            </div>
                           </div>
                           <div v-if="tooC == 69">
                             <img
@@ -20616,16 +20652,16 @@ export default {
             if(this.taskCount !=behavior.form.taskCount){
               this.taskCount = behavior.form.taskCount;
             }
-            if(this.toolindex != behavior.form.toolType){
+            if(behavior.form.toolType && this.toolindex != behavior.form.toolType){
               this.toolindex = behavior.form.toolType;
             }
 
             // if(behavior.form.navId){
             //   this.navId = behavior.form.navId
             // }
-            // console.log("分屏阶段和任务",JSON.stringify(oldData),JSON.stringify(newData))
+            console.log("分屏阶段和任务",JSON.stringify(oldData),JSON.stringify(newData))
             if(JSON.stringify(oldData)!=JSON.stringify(newData)){
-              // console.log("分屏测试====",JSON.stringify(oldData),JSON.stringify(newData))
+              console.log("分屏测试====",JSON.stringify(oldData),JSON.stringify(newData))
               this.getCourseDetail()
             }
             this.setContent2(false)

+ 50 - 2
src/components/studyStudent.vue

@@ -1126,6 +1126,10 @@
                               alt
                             />
                             <div style="margin: 5px 0">AI Python</div>
+                            <div class="upload_toolBtn"  @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,23)"
+                              style="position: absolute;right: 33px;top: -30px;">
+                              投影
+                            </div>
                           </div>
                           <div v-if="tooC == 24">
                             <img
@@ -1134,6 +1138,10 @@
                               alt
                             />
                             <div style="margin: 5px 0">AI Blockly</div>
+                            <div class="upload_toolBtn"  @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,24)"
+                              style="position: absolute;right: 33px;top: -30px;">
+                              投影
+                            </div>
                           </div>
                           <div v-if="tooC == 25">
                             <img
@@ -1150,6 +1158,10 @@
                               alt
                             />
                             <div style="margin: 5px 0">数学画板</div>
+                            <div class="upload_toolBtn"  @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,31)"
+                            style="position: absolute;right: 33px;top: -30px;">
+                              投影
+                            </div>
                           </div>
                           <div v-if="tooC == 28">
                             <img
@@ -1158,6 +1170,10 @@
                               alt
                             />
                             <div style="margin: 5px 0">翻译</div>
+                            <div class="upload_toolBtn"  @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,28)"
+                            style="position: absolute;right: 33px;top: -30px;">
+                              投影
+                            </div>
                           </div>
                           <div v-if="tooC == 37">
                             <img
@@ -1182,6 +1198,10 @@
                               alt
                             />
                             <div style="margin: 5px 0">GeoGebra</div>
+                            <div class="upload_toolBtn"  @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,39)"
+                            style="position: absolute;right: 33px;top: -30px;">
+                              投影
+                            </div>
                           </div>
                           <div v-if="tooC == 32">
                             <img
@@ -1190,6 +1210,10 @@
                               alt
                             />
                             <div style="margin: 5px 0">源码编辑</div>
+                            <div class="upload_toolBtn"  @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,32)"
+                              style="position: absolute;right: 153px;top: -42px;">
+                              投影
+                            </div>
                             <!-- <div class="upload_toolBtn" @click="addImg($event)"
                               style="position: absolute;left: 110px;bottom: 30px;">
                               上传文件
@@ -1336,6 +1360,10 @@
                               alt
                             />
                             <div style="margin: 5px 0">海龟编程</div>
+                            <div class="upload_toolBtn"  @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,63)"
+                              style="position: absolute;right: 33px;top: -30px;">
+                              投影
+                            </div>
                           </div>
                           <div v-if="tooC == 71">
                             <img
@@ -1364,6 +1392,10 @@
                               alt
                             />
                             <div style="margin: 5px 0">公式编辑</div>
+                            <div class="upload_toolBtn"  @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,66)"
+                            style="position: absolute;right: 33px;top: -30px;">
+                              投影
+                            </div>
                           </div>
                           <div v-if="tooC == 67">
                             <img
@@ -1380,6 +1412,10 @@
                               alt
                             />
                             <div style="margin: 5px 0">时间轴</div>
+                            <div class="upload_toolBtn"  @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,68)"
+                            style="position: absolute;right: 33px;top: -30px;">
+                              投影
+                            </div>
                           </div>
                           <div v-if="tooC == 69">
                             <img
@@ -20444,6 +20480,7 @@ export default {
       }, 1000);
       this.$message.success("分屏模式已开启");
     },
+    // 获取分屏数据
     getSplitScreenData() {
       // return;
       // if (this.tType != 1) return;
@@ -20518,13 +20555,19 @@ export default {
           console.log("获取分屏数出错:", e);
         });
     },
+    // 操作
     doSplitScreenBehavior() {
       if (
         this.splitScreenData.isOpen &&
         this.splitScreenData.uid != this.splitScreenData.myUid
       ) {
         let behavior = this.splitScreenData.behavior;
+
         if (behavior) {
+          // console.log('behavior',behavior);
+          
+          // this.toolindex = behavior.form.toolType
+          // 初始状态
           if (behavior.code === 99) {
             //初始化
             this.fullDialogVisible = false;
@@ -20535,12 +20578,14 @@ export default {
 							this.$refs.statisticalAnalysisRef.close();
 						}
           }
+          // 文件列表
            if (behavior.code === 0) {
             //开启内容列表弹窗
             this.checkFileFull1(behavior.form.t, behavior.form.f);
             }else{
               this.fullDialogVisible = false;
             }
+            // 打开工具
            if (behavior.code === 1) {
             //关于选择题的作业详细的操作
             // toolIndex:toolIndex,courseType:this.courseType,taskCount:this.taskCount,type:0
@@ -20559,6 +20604,7 @@ export default {
           }else{
             this.$refs.choseWorksDetailDialogRef.close()
           }
+          // 问卷调查
            if(behavior.code === 2){
 						if(this.$refs.statisticalAnalysisRef.show){
 							this.$refs.statisticalAnalysisRef.splitScreenFn({type:behavior.form.type})
@@ -20603,7 +20649,7 @@ export default {
             if(this.taskCount !=behavior.form.taskCount){
               this.taskCount = behavior.form.taskCount;
             }
-            if(this.toolindex != behavior.form.toolType){
+            if(behavior.form.toolType && this.toolindex != behavior.form.toolType){
               this.toolindex = behavior.form.toolType;
             }
 
@@ -20623,6 +20669,7 @@ export default {
         }
       }
     },
+    // 修改分屏数据
     updateSplitScreenData(empty = 0) {
       return new Promise(resolve => {
 				if(this.userid!==this.courseDetail.userid){
@@ -20683,6 +20730,7 @@ export default {
         }
       });
     },
+    // 修改分屏数据
     changeSplitScreenBehavior(newValue) {
       if (
         this.splitScreenData.isOpen &&
@@ -20700,7 +20748,7 @@ export default {
         }else{
           _behavior.form = {
             taskCount:this.taskCount,
-            courseType:this.courseType
+            courseType:this.courseType,
           }
         }
         this.splitScreenData.behavior = _behavior;

+ 37 - 1
src/components/studySutdentClass/studyStudent.vue

@@ -1192,6 +1192,10 @@
                               alt
                             />
                             <div style="margin: 5px 0">AI Blockly</div>
+                            <div class="upload_toolBtn"  @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,24)"
+                              style="position: absolute;right: 33px;top: -30px;">
+                              投影
+                            </div>
                           </div>
                           <div v-if="tooC == 25">
                             <img
@@ -1208,6 +1212,10 @@
                               alt
                             />
                             <div style="margin: 5px 0">数学画板</div>
+                            <div class="upload_toolBtn"  @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,31)"
+                            style="position: absolute;right: 33px;top: -30px;">
+                              投影
+                            </div>
                           </div>
                           <div v-if="tooC == 28">
                             <img
@@ -1216,6 +1224,10 @@
                               alt
                             />
                             <div style="margin: 5px 0">翻译</div>
+                            <div class="upload_toolBtn"  @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,28)"
+                            style="position: absolute;right: 33px;top: -30px;">
+                              投影
+                            </div>
                           </div>
                           <div v-if="tooC == 37">
                             <img
@@ -1240,6 +1252,10 @@
                               alt
                             />
                             <div style="margin: 5px 0">GeoGebra</div>
+                            <div class="upload_toolBtn"  @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,39)"
+                            style="position: absolute;right: 33px;top: -30px;">
+                              投影
+                            </div>
                           </div>
                           <div v-if="tooC == 32">
                             <img
@@ -1248,6 +1264,10 @@
                               alt
                             />
                             <div style="margin: 5px 0">源码编辑</div>
+                            <div class="upload_toolBtn"  @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,32)"
+                              style="position: absolute;right: 153px;top: -42px;">
+                              投影
+                            </div>
                             <!-- <div class="upload_toolBtn" @click="addImg($event)"
                               style="position: absolute;left: 110px;bottom: 30px;">
                               上传文件
@@ -1394,6 +1414,10 @@
                               alt
                             />
                             <div style="margin: 5px 0">海龟编程</div>
+                            <div class="upload_toolBtn"  @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,63)"
+                              style="position: absolute;right: 33px;top: -30px;">
+                              投影
+                            </div>
                           </div>
                           <div v-if="tooC == 71">
                             <img
@@ -1422,6 +1446,10 @@
                               alt
                             />
                             <div style="margin: 5px 0">公式编辑</div>
+                            <div class="upload_toolBtn"  @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,36)"
+                            style="position: absolute;right: 33px;top: -30px;">
+                              投影
+                            </div>
                           </div>
                           <div v-if="tooC == 67">
                             <img
@@ -1438,6 +1466,10 @@
                               alt
                             />
                             <div style="margin: 5px 0">时间轴</div>
+                            <div class="upload_toolBtn"  @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,68)"
+                            style="position: absolute;right: 33px;top: -30px;">
+                              投影
+                            </div>
                           </div>
                           <div v-if="tooC == 69">
                             <img
@@ -11564,6 +11596,10 @@
                   alt
                 />
                 <div style="margin: 5px 0">AI Python</div>
+                <div class="upload_toolBtn"  @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,23)"
+                  style="position: absolute;right: 33px;top: -30px;">
+                  投影
+                </div>
               </div>
               <div class="check">
                 <div
@@ -24354,7 +24390,7 @@ export default {
             if(this.taskCount !=behavior.form.taskCount){
               this.taskCount = behavior.form.taskCount;
             }
-            if(this.toolindex != behavior.form.toolType){
+            if(behavior.form.toolType && this.toolindex != behavior.form.toolType){
               this.toolindex = behavior.form.toolType;
             }