11wqe1 преди 2 месеца
родител
ревизия
04a76cd49a

BIN
src/assets/icon/course/FrameXK.gif


+ 30 - 8
src/components/components/choseWordCloud.vue

@@ -1,6 +1,10 @@
 <template>
-  <div v-loading="loading">
-	  <div class="chart" id="charts_canvas" ref="chartRef"></div>
+  <div style="display: flex;justify-content: center;align-items: center;">
+    <div v-if="loading" style="position: relative;">
+      <img style="width: 220px;" src="../../assets/icon/course/FrameXK.gif"  alt="">
+      <div class="loadCss">小可正在努力加载ing</div>
+    </div>
+	  <div  v-if="!loading" class="chart" id="charts_canvas" ref="chartRef"></div>
   </div>
 </template>
 
@@ -146,12 +150,15 @@ export default {
     },
    
     getChartData(poi) {	
-        this.chartObj = echarts.init(this.$refs.chartRef);
-        this.chartObj.setOption(poi);
         this.loading=false
-        window.addEventListener("resize", () => {
-                this.chartObj.resize();
-        });
+        setTimeout(() => {
+          this.chartObj = echarts.init(this.$refs.chartRef);
+          this.chartObj.setOption(poi);
+          window.addEventListener("resize", () => {
+                  this.chartObj.resize();
+          });
+        }, 100);
+       
 	},
   }
 };
@@ -162,6 +169,21 @@ export default {
 	width: 100%;
 	height: 500px;
 	background-color: #fff;
+  margin: auto;
+}
+.loadCss{
+    font-family: PingFang SC;
+    font-size: 14px;
+    font-weight: 400;
+    line-height: 22px;
+    width: 100%;
+    text-align: center;
+    text-underline-position: from-font;
+    text-decoration-skip-ink: none;
+    color: rgba(54, 129, 252, 1);
+    position: absolute;
+    left: 50%;
+    bottom: 30px;
+    transform: translate(-50%,0);
 }
-
 </style>

+ 8 - 7
src/components/components/choseWorksDetailDialog.vue

@@ -265,8 +265,8 @@
                     <div v-html="testData.wordJson.text"></div>
                   </div>
                 </div>
-                <div v-if="[7,1].includes(toolType)" class="s_b_m_b_i_m_evaluation">
-                  <!-- {{ testData }} -->
+                <div v-if="[7,1,3].includes(toolType)" class="s_b_m_b_i_m_evaluation">
+                  {{ testData }}
                   <!-- <img src="" alt=""> -->
                     <!-- <div class="cont" v-if="testData && testData.tableJson && testData.tableJson.text" v-html="testData.tableJson.text"></div>                 -->
                 </div>
@@ -570,13 +570,13 @@
 													<span>{{ JSON.parse(item.works).eBzText }}</span>
 												</div>
 
-												<div class="imageWorks" v-if="[7].includes(toolType)">
+												<div class="imageWorks" v-if="[7,1,3].includes(toolType)">
 														<img :src="item.works" alt="" @click.stop="$hevueImgPreview(item.works)">
 												</div>
 
-                        <div class="imageWorks" v-if="[1].includes(toolType)">
+                        <!-- <div class="imageWorks" v-if="[1].includes(toolType)">
 														<img :src="item.works" alt="" @click.stop="$hevueImgPreview(item.works)">
-												</div>
+												</div> -->
 
 												<div class="imageWorks" v-if="[52,48].includes(toolType)">
 													<img :src="require('../../assets/icon/isWord.png')" alt="">
@@ -665,12 +665,13 @@ export default {
         worksPreview: false
       },
       dialogTypeList: [
-        { label: "作业详细", value: 0,showType:[1,7,15,40,41,45,47,48,49,52], loading: false },
+        { label: "作业详细", value: 0,showType:[1,7,15,40,41,45,47,48,49,52,3], loading: false },
         { label: "题目统计", value: 1,showType:[45,15], loading: false },
-        { label: "学生统计", value: 2,showType:[1,7,15,40,41,45,47,48,52], loading: false }
+        { label: "学生统计", value: 2,showType:[1,7,15,40,41,45,47,48,52,3], loading: false }
       ],
 			toolList:[
 				{label:"选择题",value:45,img:require("../../assets/icon/thirdToolList/choose.png")},
+				{label:"思维导图",value:3,img:require("../../assets/icon/secondToolList/mindMapping.png")},
 				{label:"表格",value:48,img:require("../../assets/icon/fourthToolList/table.png")},
         {label:"文档",value:52,img:require("../../assets/icon/fourthToolList/text.png")},
 				{label:"学生分组",value:49,img:require("../../assets/icon/fourthToolList/group.png")},

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

@@ -1032,6 +1032,10 @@
                               @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)"
+                            style="position: absolute;right: 33px;top: -30px;">
+                              投影
+                            </div>
                           </div>
                           <div v-if="tooC == 6">
                             <img
@@ -24635,13 +24639,38 @@ export default {
         }
       }
     },
+    enterFullScreen() {
+      let element = document.documentElement;
+      if (element.requestFullscreen) {
+        element.requestFullscreen();
+      } else if (element.mozRequestFullScreen) { /* Firefox */
+        element.mozRequestFullScreen();
+      } else if (element.webkitRequestFullscreen) { /* Chrome, Safari & Opera */
+        element.webkitRequestFullscreen();
+      } else if (element.msRequestFullscreen) { /* IE/Edge */
+        element.msRequestFullscreen();
+      }
+    },
+    exitFullScreen() {
+      if (document.exitFullscreen) {
+        document.exitFullscreen();
+      } else if (document.mozCancelFullScreen) { /* Firefox */
+        document.mozCancelFullScreen();
+      } else if (document.webkitExitFullscreen) { /* Chrome, Safari and Opera */
+        document.webkitExitFullscreen();
+      } else if (document.msExitFullscreen) { /* IE/Edge */
+        document.msExitFullscreen();
+      }
+    },
     confirmOpen(){
       this.splitScreenData.isOpen = true;
       this.splitScreenData.uid = this.confirmOpenDigData.uid;
       this.splitScreenData.userId = this.confirmOpenDigData.userId;
       this.splitScreenData.behavior = this.confirmOpenDigData.behavior;
       this.confirmOpenDig = false
-
+      if (!document.fullscreenElement) {
+        this.enterFullScreen();
+      } 
       this.$message.success("分屏模式已开启");
     },
     getSplitScreenData() {
@@ -24692,6 +24721,19 @@ export default {
               this.splitScreenData.uid = "";
               this.splitScreenData.behavior = null;
               this.$message.error("已结束分屏模式");
+              this.$confirm("教师已结束分屏,确定后自由预览。", "提示", {
+                confirmButtonText: '确定', //确认按钮的文字
+                showCancelButton: false, //是否显示取消按钮
+                showClose: false, //是否显示关闭按钮
+                closeOnClickModal: false, //是否可以通过点击空白处关闭弹窗
+                type: "warning",
+              })
+                .then(() => {
+                  if (document.fullscreenElement) {
+                      this.exitFullScreen();
+                  } 
+                })
+                .catch(() => {});
             }
           }
         })

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

@@ -985,6 +985,10 @@
                               @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)"
+                            style="position: absolute;right: 33px;top: -30px;">
+                              投影
+                            </div>
                           </div>
                           <div v-if="tooC == 6">
                             <img
@@ -16436,7 +16440,7 @@ export default {
           }, 0)
         })
       }
-      this.showType = 7;
+      // this.showType = 7;
       this.isNoHomeWork = false;
       (this.studyJuri = [
         {
@@ -16772,7 +16776,7 @@ export default {
 
             this.vChapterData = _chapterData;
           } else {
-            this.showType = 0;
+            // this.showType = 0;
             var a = JSON.parse(res.data[0][0].chapters)[this.courseType]
               .chapterInfo[0].taskJson;
             var b = [
@@ -16856,8 +16860,8 @@ export default {
               _chapterData[taskCount].length &&
               _chapterData[taskCount][0].type == 2
             ) {
-              this.showType = 0;
-              this.pptImgUrl1 = _chapterData[taskCount][0].url;
+              // this.showType = 0;
+              // this.pptImgUrl1 = _chapterData[taskCount][0].url;
             } else {
               if (_chapterData[taskCount].length > 0) {
                 let _url = _chapterData[taskCount][0].url;
@@ -16865,22 +16869,22 @@ export default {
                   _chapterData[taskCount][0].type == 8 ||
                   _chapterData[taskCount][0].type == 14
                 ) {
-                  this.showType = 2;
+                  // this.showType = 2;
                   if (
                     _url.indexOf("https://") == -1 &&
                     _url.indexOf("http://") == -1
                   ) {
                     _url = "https://" + _url;
                   }
-                  this.pptImgUrl1 = _url;
+                  // this.pptImgUrl1 = _url;
                 } else if (_chapterData[taskCount][0].type == 3) {
                   if (
                     _url
                       .split(".")
                       [_url.split(".").length - 1].toLocaleUpperCase() == "PDF"
                   ) {
-                    this.showType = 3;
-                    this.pptImgUrl1 = _url;
+                    // this.showType = 3;
+                    // this.pptImgUrl1 = _url;
                   } else if (
                     this.isAssetTypeAnImage(
                       _url
@@ -16888,17 +16892,17 @@ export default {
                         [_url.split(".").length - 1].toLocaleLowerCase()
                     )
                   ) {
-                    this.showType = 4;
-                    this.pptImgUrl1 = _url;
+                    // this.showType = 4;
+                    // this.pptImgUrl1 = _url;
                   } else {
-                    this.showType = 2;
-                    this.pptImgUrl1 =
-                      "https://view.officeapps.live.com/op/view.aspx?src=" +
-                      encodeURIComponent(_url);
+                    // this.showType = 2;
+                    // this.pptImgUrl1 =
+                    //   "https://view.officeapps.live.com/op/view.aspx?src=" +
+                    //   encodeURIComponent(_url);
                   }
                 } else if (_chapterData[taskCount][0].type == 13) {
-                  this.showType = 4;
-                  this.pptImgUrl1 = _url;
+                  // this.showType = 4;
+                  // this.pptImgUrl1 = _url;
                 } else if (_chapterData[taskCount][0].type == 6) {
                   this.showType = 1;
                   this.text = this.textList[taskCount][0];
@@ -16911,10 +16915,10 @@ export default {
               _chapterData[taskCount][0].type == 12
             ) {
               this.isClickNav = "";
-              this.showType = "";
+              // this.showType = "";
             }
 
-            this.vChapterData = _chapterData;
+            this.vChapterData = _chapterData;         
             this.$forceUpdate();
           }
           //  else {
@@ -17610,7 +17614,7 @@ export default {
 			this.insertMemorandum(`查看文件<span class="variable">任务${this.taskCount+1}:${this.vChapterData[this.taskCount].find(i=>i.url==u).name}</span>`)
     },
     lookText(i, t) {
-      this.isClickNav = "";
+            this.isClickNav = "";
       // this.text = this.textList[i][t];
       this.text = this.vChapterData[i][t];
       // this.dialogVisible1 = true;
@@ -20270,13 +20274,38 @@ export default {
         }
       }
     },
+    enterFullScreen() {
+      let element = document.documentElement;
+      if (element.requestFullscreen) {
+        element.requestFullscreen();
+      } else if (element.mozRequestFullScreen) { /* Firefox */
+        element.mozRequestFullScreen();
+      } else if (element.webkitRequestFullscreen) { /* Chrome, Safari & Opera */
+        element.webkitRequestFullscreen();
+      } else if (element.msRequestFullscreen) { /* IE/Edge */
+        element.msRequestFullscreen();
+      }
+    },
+    exitFullScreen() {
+      if (document.exitFullscreen) {
+        document.exitFullscreen();
+      } else if (document.mozCancelFullScreen) { /* Firefox */
+        document.mozCancelFullScreen();
+      } else if (document.webkitExitFullscreen) { /* Chrome, Safari and Opera */
+        document.webkitExitFullscreen();
+      } else if (document.msExitFullscreen) { /* IE/Edge */
+        document.msExitFullscreen();
+      }
+    },
     confirmOpen(){
       this.splitScreenData.isOpen = true;
       this.splitScreenData.uid = this.confirmOpenDigData.uid;
       this.splitScreenData.userId = this.confirmOpenDigData.userId;
       this.splitScreenData.behavior = this.confirmOpenDigData.behavior;
       this.confirmOpenDig = false
-
+      if (!document.fullscreenElement) {
+        this.enterFullScreen();
+      } 
       this.$message.success("分屏模式已开启");
     },
     getSplitScreenData() {
@@ -20326,6 +20355,19 @@ export default {
               this.splitScreenData.uid = "";
               this.splitScreenData.behavior = null;
               this.$message.error("已结束分屏模式");
+              this.$confirm("教师已结束分屏,确定后自由预览。", "提示", {
+                confirmButtonText: '确定', //确认按钮的文字
+                showCancelButton: false, //是否显示取消按钮
+                showClose: false, //是否显示关闭按钮
+                closeOnClickModal: false, //是否可以通过点击空白处关闭弹窗
+                type: "warning",
+              })
+                .then(() => {
+                  if (document.fullscreenElement) {
+                      this.exitFullScreen();
+                  } 
+                })
+                .catch(() => {});
             }
           }
         })

+ 43 - 1
src/components/studyStudent.vue

@@ -954,6 +954,10 @@
                               @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)"
+                            style="position: absolute;right: 33px;top: -30px;">
+                              投影
+                            </div>
                           </div>
                           <div v-if="tooC == 6">
                             <img
@@ -20257,13 +20261,38 @@ export default {
         }
       }
     },
+    enterFullScreen() {
+      let element = document.documentElement;
+      if (element.requestFullscreen) {
+        element.requestFullscreen();
+      } else if (element.mozRequestFullScreen) { /* Firefox */
+        element.mozRequestFullScreen();
+      } else if (element.webkitRequestFullscreen) { /* Chrome, Safari & Opera */
+        element.webkitRequestFullscreen();
+      } else if (element.msRequestFullscreen) { /* IE/Edge */
+        element.msRequestFullscreen();
+      }
+    },
+    exitFullScreen() {
+      if (document.exitFullscreen) {
+        document.exitFullscreen();
+      } else if (document.mozCancelFullScreen) { /* Firefox */
+        document.mozCancelFullScreen();
+      } else if (document.webkitExitFullscreen) { /* Chrome, Safari and Opera */
+        document.webkitExitFullscreen();
+      } else if (document.msExitFullscreen) { /* IE/Edge */
+        document.msExitFullscreen();
+      }
+    },
     confirmOpen(){
       this.splitScreenData.isOpen = true;
       this.splitScreenData.uid = this.confirmOpenDigData.uid;
       this.splitScreenData.userId = this.confirmOpenDigData.userId;
       this.splitScreenData.behavior = this.confirmOpenDigData.behavior;
       this.confirmOpenDig = false
-
+      if (!document.fullscreenElement) {
+        this.enterFullScreen();
+      } 
       this.$message.success("分屏模式已开启");
     },
     getSplitScreenData() {
@@ -20313,6 +20342,19 @@ export default {
               this.splitScreenData.uid = "";
               this.splitScreenData.behavior = null;
               this.$message.error("已结束分屏模式");
+              this.$confirm("教师已结束分屏,确定后自由预览。", "提示", {
+                confirmButtonText: '确定', //确认按钮的文字
+                showCancelButton: false, //是否显示取消按钮
+                showClose: false, //是否显示关闭按钮
+                closeOnClickModal: false, //是否可以通过点击空白处关闭弹窗
+                type: "warning",
+              })
+                .then(() => {
+                  if (document.fullscreenElement) {
+                      this.exitFullScreen();
+                  } 
+                })
+                .catch(() => {});
             }
           }
         })

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

@@ -985,6 +985,10 @@
                               @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)"
+                            style="position: absolute;right: 33px;top: -30px;">
+                              投影
+                            </div>
                           </div>
                           <div v-if="tooC == 6">
                             <img
@@ -20090,7 +20094,7 @@ export default {
           }, 0)
         })
       }
-      this.showType = 7;
+      // this.showType = 7;
       this.isNoHomeWork = false;
       (this.studyJuri = [
         {
@@ -20426,7 +20430,7 @@ export default {
 
             this.vChapterData = _chapterData;
           } else {
-            this.showType = 0;
+            // this.showType = 0;
             var a = JSON.parse(res.data[0][0].chapters)[this.courseType]
               .chapterInfo[0].taskJson;
             var b = [
@@ -20510,8 +20514,8 @@ export default {
               _chapterData[taskCount].length &&
               _chapterData[taskCount][0].type == 2
             ) {
-              this.showType = 0;
-              this.pptImgUrl1 = _chapterData[taskCount][0].url;
+              // this.showType = 0;
+              // this.pptImgUrl1 = _chapterData[taskCount][0].url;
             } else {
               if (_chapterData[taskCount].length > 0) {
                 let _url = _chapterData[taskCount][0].url;
@@ -20519,22 +20523,22 @@ export default {
                   _chapterData[taskCount][0].type == 8 ||
                   _chapterData[taskCount][0].type == 14
                 ) {
-                  this.showType = 2;
+                  // this.showType = 2;
                   if (
                     _url.indexOf("https://") == -1 &&
                     _url.indexOf("http://") == -1
                   ) {
                     _url = "https://" + _url;
                   }
-                  this.pptImgUrl1 = _url;
+                  // this.pptImgUrl1 = _url;
                 } else if (_chapterData[taskCount][0].type == 3) {
                   if (
                     _url
                       .split(".")
                       [_url.split(".").length - 1].toLocaleUpperCase() == "PDF"
                   ) {
-                    this.showType = 3;
-                    this.pptImgUrl1 = _url;
+                    // this.showType = 3;
+                    // this.pptImgUrl1 = _url;
                   } else if (
                     this.isAssetTypeAnImage(
                       _url
@@ -20542,17 +20546,17 @@ export default {
                         [_url.split(".").length - 1].toLocaleLowerCase()
                     )
                   ) {
-                    this.showType = 4;
-                    this.pptImgUrl1 = _url;
+                    // this.showType = 4;
+                    // this.pptImgUrl1 = _url;
                   } else {
-                    this.showType = 2;
-                    this.pptImgUrl1 =
-                      "https://view.officeapps.live.com/op/view.aspx?src=" +
-                      encodeURIComponent(_url);
+                    // this.showType = 2;
+                    // this.pptImgUrl1 =
+                    //   "https://view.officeapps.live.com/op/view.aspx?src=" +
+                    //   encodeURIComponent(_url);
                   }
                 } else if (_chapterData[taskCount][0].type == 13) {
-                  this.showType = 4;
-                  this.pptImgUrl1 = _url;
+                  // this.showType = 4;
+                  // this.pptImgUrl1 = _url;
                 } else if (_chapterData[taskCount][0].type == 6) {
                   this.showType = 1;
                   this.text = this.textList[taskCount][0];
@@ -20565,7 +20569,7 @@ export default {
               _chapterData[taskCount][0].type == 12
             ) {
               this.isClickNav = "";
-              this.showType = "";
+              // this.showType = "";
             }
 
             this.vChapterData = _chapterData;
@@ -24005,13 +24009,38 @@ export default {
         }
       }
     },
+    enterFullScreen() {
+      let element = document.documentElement;
+      if (element.requestFullscreen) {
+        element.requestFullscreen();
+      } else if (element.mozRequestFullScreen) { /* Firefox */
+        element.mozRequestFullScreen();
+      } else if (element.webkitRequestFullscreen) { /* Chrome, Safari & Opera */
+        element.webkitRequestFullscreen();
+      } else if (element.msRequestFullscreen) { /* IE/Edge */
+        element.msRequestFullscreen();
+      }
+    },
+    exitFullScreen() {
+      if (document.exitFullscreen) {
+        document.exitFullscreen();
+      } else if (document.mozCancelFullScreen) { /* Firefox */
+        document.mozCancelFullScreen();
+      } else if (document.webkitExitFullscreen) { /* Chrome, Safari and Opera */
+        document.webkitExitFullscreen();
+      } else if (document.msExitFullscreen) { /* IE/Edge */
+        document.msExitFullscreen();
+      }
+    },
     confirmOpen(){
       this.splitScreenData.isOpen = true;
       this.splitScreenData.uid = this.confirmOpenDigData.uid;
       this.splitScreenData.userId = this.confirmOpenDigData.userId;
       this.splitScreenData.behavior = this.confirmOpenDigData.behavior;
       this.confirmOpenDig = false
-
+      if (!document.fullscreenElement) {
+        this.enterFullScreen();
+      } 
       this.$message.success("分屏模式已开启");
     },
     getSplitScreenData() {
@@ -24061,6 +24090,19 @@ export default {
               this.splitScreenData.uid = "";
               this.splitScreenData.behavior = null;
               this.$message.error("已结束分屏模式");
+              this.$confirm("教师已结束分屏,确定后自由预览。", "提示", {
+                confirmButtonText: '确定', //确认按钮的文字
+                showCancelButton: false, //是否显示取消按钮
+                showClose: false, //是否显示关闭按钮
+                closeOnClickModal: false, //是否可以通过点击空白处关闭弹窗
+                type: "warning",
+              })
+                .then(() => {
+                  if (document.fullscreenElement) {
+                      this.exitFullScreen();
+                  } 
+                })
+                .catch(() => {});
             }
           }
         })