zengyicheng 3 éve
szülő
commit
e8b19f475a
1 módosított fájl, 206 hozzáadás és 87 törlés
  1. 206 87
      src/components/liveProjectDetail.vue

+ 206 - 87
src/components/liveProjectDetail.vue

@@ -147,7 +147,10 @@
               "
             >
               <div
-                v-if="tools[ppage - 1].tools && tools[ppage - 1].tools.indexOf(1) != -1"
+                v-if="
+                  tools[ppage - 1].tools &&
+                  tools[ppage - 1].tools.indexOf(1) != -1
+                "
                 @click="checkTools(1)"
                 class="toolCss"
               >
@@ -157,17 +160,26 @@
                 </div>
               </div>
               <div
-                v-if="tools[ppage - 1].tools && tools[ppage - 1].tools.indexOf(3) != -1"
+                v-if="
+                  tools[ppage - 1].tools &&
+                  tools[ppage - 1].tools.indexOf(3) != -1
+                "
                 @click="checkTools(3)"
                 class="toolCss"
               >
                 <div class="toolImg">
-                  <img src="../assets/icon/secondToolList/mindMapping.png" alt />
+                  <img
+                    src="../assets/icon/secondToolList/mindMapping.png"
+                    alt
+                  />
                   <div>思维导图</div>
                 </div>
               </div>
               <div
-                v-if="tools[ppage - 1].tools && tools[ppage - 1].tools.indexOf(4) != -1"
+                v-if="
+                  tools[ppage - 1].tools &&
+                  tools[ppage - 1].tools.indexOf(4) != -1
+                "
                 @click="checkTools(4)"
                 class="toolCss"
               >
@@ -177,7 +189,10 @@
                 </div>
               </div>
               <div
-                v-if="tools[ppage - 1].tools && tools[ppage - 1].tools.indexOf(6) != -1"
+                v-if="
+                  tools[ppage - 1].tools &&
+                  tools[ppage - 1].tools.indexOf(6) != -1
+                "
                 @click="checkTools(6)"
                 class="toolCss"
               >
@@ -187,12 +202,18 @@
                 </div>
               </div>
               <div
-                v-if="tools[ppage - 1].tools && tools[ppage - 1].tools.indexOf(7) != -1"
+                v-if="
+                  tools[ppage - 1].tools &&
+                  tools[ppage - 1].tools.indexOf(7) != -1
+                "
                 @click="checkTools(7)"
                 class="toolCss"
               >
                 <div class="toolImg">
-                  <img src="../assets/icon/secondToolList/mindNetwork.png" alt />
+                  <img
+                    src="../assets/icon/secondToolList/mindNetwork.png"
+                    alt
+                  />
                   <div>思维网格</div>
                 </div>
               </div>
@@ -209,7 +230,11 @@
                 <div class="tools_title">
                   <span>电子白板</span>
                   <div>
-                    <img src="../assets/full.png" class="full" @click="fullTools" />
+                    <img
+                      src="../assets/full.png"
+                      class="full"
+                      @click="fullTools"
+                    />
                   </div>
                 </div>
                 <iframe
@@ -222,12 +247,16 @@
                 <div class="tools_title">
                   <span>思维导图</span>
                   <div>
-                    <img src="../assets/full.png" class="full" @click="fullTools" />
+                    <img
+                      src="../assets/full.png"
+                      class="full"
+                      @click="fullTools"
+                    />
                   </div>
                 </div>
                 <iframe
                   style="width: 100%; height: 100%; border: none"
-                  src="https://cloud.cocorobo.cn/kityminder-editor/dist/index.html"
+                  src="//cloud.cocorobo.cn/mind/"
                   ref="mind"
                 ></iframe>
               </div>
@@ -235,7 +264,11 @@
                 <div class="tools_title">
                   <span>协同文档</span>
                   <div>
-                    <img src="../assets/full.png" class="full" @click="fullTools" />
+                    <img
+                      src="../assets/full.png"
+                      class="full"
+                      @click="fullTools"
+                    />
                   </div>
                 </div>
                 <iframe
@@ -247,7 +280,11 @@
                 <div class="tools_title">
                   <span>思维网格</span>
                   <div>
-                    <img src="../assets/full.png" class="full" @click="fullTools" />
+                    <img
+                      src="../assets/full.png"
+                      class="full"
+                      @click="fullTools"
+                    />
                   </div>
                 </div>
                 <iframe
@@ -317,18 +354,34 @@
               </div>
             </div>
           </div>
-          <div class="answerBox" v-if="isBlock == 3" style="padding: 0 0 0 25px">
+          <div
+            class="answerBox"
+            v-if="
+              isBlock == 3 &&
+              tools[ppage - 1].tools &&
+              tools[ppage - 1].tools.indexOf(14) != -1
+            "
+            style="padding: 0 0 0 25px"
+          >
             <div>
               <div class="score_box">
-                <span>自我评价</span>
+                <span>聚焦主题</span>
                 <el-rate v-model="rateList.ca"></el-rate>
               </div>
               <div class="score_box">
-                <span>他人评价</span>
+                <span>有开头结尾</span>
                 <el-rate v-model="rateList.sia"></el-rate>
               </div>
+              <div class="score_box">
+                <span>语言正确,流畅</span>
+                <el-rate v-model="rateList.zia"></el-rate>
+              </div>
+              <div class="score_box">
+                <span>书写规范,美观</span>
+                <el-rate v-model="rateList.qia"></el-rate>
+              </div>
             </div>
-            <div>
+            <!-- <div>
               <div style="padding-bottom: 15px; sont-size: 14px">备注</div>
               <div class="bz">
                 <el-input
@@ -339,17 +392,26 @@
                   v-model="rateList.content"
                 ></el-input>
               </div>
-            </div>
+            </div> -->
             <span
               slot="footer"
               class="dialog-footer sztFooter"
-              style="padding: 0 0 30px 0px; position: absolute; right: 20px; bottom: 0"
+              style="
+                padding: 0 0 30px 0px;
+                position: absolute;
+                right: 20px;
+                bottom: 0;
+              "
             >
               <el-button @click="isBlock = 0">取消</el-button>
-              <el-button type="primary" @click="dialogVisible = true">确定</el-button>
+              <el-button type="primary" @click="addWork(6)">确定</el-button>
             </span>
           </div>
-          <div class="answerBox" v-if="isBlock == 5" style="padding: 10px 0 0 25px">
+          <div
+            class="answerBox"
+            v-if="isBlock == 5"
+            style="padding: 10px 0 0 25px"
+          >
             <div style="color: #d1d1d1; font-size: 24px">课堂实践</div>
             <div
               style="
@@ -376,13 +438,21 @@
                 v-if="tools[ppage - 1].file && tools[ppage - 1].file.length"
                 class="fileBox"
               >
-                <div class="fileListCss" v-for="(v, vIndex) in videoList" :key="vIndex">
+                <div
+                  class="fileListCss"
+                  v-for="(v, vIndex) in videoList"
+                  :key="vIndex"
+                >
                   <div class="fileCss" @click="playVideo(v.src, vIndex)">
                     <img src="../assets/uploadMp4.png" alt="" />
                   </div>
                   <div>{{ v.name }}</div>
                 </div>
-                <div class="fileListCss" v-for="(f, fIndex) in fileList" :key="fIndex">
+                <div
+                  class="fileListCss"
+                  v-for="(f, fIndex) in fileList"
+                  :key="fIndex"
+                >
                   <div class="fileCss" @click="openFile(f.src)">
                     <img src="../assets/file.png" alt="" />
                   </div>
@@ -394,7 +464,11 @@
               <div class="nextStepOne" @click="isBlock = 0">关闭</div>
             </div>
           </div>
-          <div class="answerBox" :class="{ fullStyle: full }" v-if="isBlock == 6">
+          <div
+            class="answerBox"
+            :class="{ fullStyle: full }"
+            v-if="isBlock == 6"
+          >
             <div style="height: 70%; width: 100%">
               <div class="wheel">
                 <div class="workd_media" style="height: 100%">
@@ -408,7 +482,7 @@
                 </div>
               </div>
               <div class="nextStepBox" style="margin-top: 5%">
-                <div class="nextStepOne" @click="isBlock = 5">返回</div>
+                <div class="nextStepOne" @click="isBlock = 0">关闭</div>
               </div>
             </div>
           </div>
@@ -439,36 +513,26 @@
         <div
           class="blackButton"
           @click="isBlock = 1"
-          v-if="tools[ppage - 1].tools && tools[ppage - 1].tools.indexOf(9) != -1"
-        >
-          开始答题
-        </div>
-        <div
-          class="blackButton"
-          @click="isBlock = 4"
           v-if="
-            (tools[ppage - 1].tools && tools[ppage - 1].tools.indexOf(3) != -1) ||
-            (tools[ppage - 1].tools && tools[ppage - 1].tools.indexOf(3) != -1) ||
-            (tools[ppage - 1].tools && tools[ppage - 1].tools.indexOf(6) != -1) ||
-            (tools[ppage - 1].tools && tools[ppage - 1].tools.indexOf(7) != -1) ||
-            (tools[ppage - 1].tools && tools[ppage - 1].tools.indexOf(10) != -1) ||
-            (tools[ppage - 1].tools && tools[ppage - 1].tools.indexOf(13) != -1)
+            tools[ppage - 1].tools && tools[ppage - 1].tools.indexOf(9) != -1
           "
         >
-          查看工具
+          开始答题
         </div>
-        <div
+        <!-- <div
           class="blackButton"
           @click="selectFile"
           v-if="tools[ppage - 1].file && tools[ppage - 1].file.length"
         >
           查看附件
-        </div>
+        </div> -->
       </div>
     </div>
     <div v-if="proVisible" class="mask">
       <div class="progressBox">
-        <div class="lbox"><img src="../assets/loading.gif" />上传中,请稍后</div>
+        <div class="lbox">
+          <img src="../assets/loading.gif" />上传中,请稍后
+        </div>
         <el-progress
           :text-inside="true"
           :stroke-width="20"
@@ -566,8 +630,7 @@ export default {
           file: [
             {
               name: "视频1.mp4",
-              src:
-                "https://ccrb.s3.cn-northwest-1.amazonaws.com.cn/%E5%AA%92%E4%BD%9311661413782505.mp4",
+              src: "https://ccrb.s3.cn-northwest-1.amazonaws.com.cn/%E5%AA%92%E4%BD%9311661413782505.mp4",
             },
           ],
         },
@@ -583,8 +646,7 @@ export default {
           file: [
             {
               name: "视频2.mp4",
-              src:
-                "https://ccrb.s3.cn-northwest-1.amazonaws.com.cn/%E5%AA%92%E4%BD%9321661413797366.mp4",
+              src: "https://ccrb.s3.cn-northwest-1.amazonaws.com.cn/%E5%AA%92%E4%BD%9321661413797366.mp4",
             },
           ],
         },
@@ -592,7 +654,7 @@ export default {
         "",
         { tools: [3] },
         "",
-        "",
+        { tools: [14] },
         "",
         "",
         "",
@@ -603,6 +665,8 @@ export default {
       rateList: {
         ca: 0,
         sia: 0,
+        zia: 0,
+        qia: 0,
         content: "",
       },
       imgUrl: "",
@@ -672,11 +736,14 @@ export default {
     },
     //uuid生成
     guid() {
-      return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function (c) {
-        var r = (Math.random() * 16) | 0,
-          v = c == "x" ? r : (r & 0x3) | 0x8;
-        return v.toString(16);
-      });
+      return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(
+        /[xy]/g,
+        function (c) {
+          var r = (Math.random() * 16) | 0,
+            v = c == "x" ? r : (r & 0x3) | 0x8;
+          return v.toString(16);
+        }
+      );
     },
     time() {
       if (!this.now) {
@@ -807,7 +874,7 @@ export default {
                   uid: file.uid,
                 });
                 _this.imgChange(null, null, type);
-                _this.addSWork();
+                _this.addSWork(4);
               } else if (type == 2) {
                 _this.upload[0].upVedio.push({
                   name: file.name,
@@ -876,19 +943,21 @@ export default {
           });
       }
     },
-    addWork() {
-      if (this.upload[0].upImg.length == 0) {
-        this.$message.error("请上传图片");
-        return;
+    addWork(type) {
+      if (type == 4) {
+        if (this.upload[0].upImg.length == 0) {
+          this.$message.error("请上传图片");
+          return;
+        }
       }
       //  else if (this.upload[0].upVedio.length == 0) {
       //   this.$message.error("请上传视频");
       //   return;
       // }
-      else if (this.upload[0].upIntro == "") {
-        this.$message.error("请填写简要描述");
-        return;
-      }
+      // else if (this.upload[0].upIntro == "") {
+      //   this.$message.error("请填写简要描述");
+      //   return;
+      // }
       if (this.isNoHomeWork == true) {
         this.$confirm(
           "您已经提交了该作业了,如果您再提交将覆盖上次提交的作业!",
@@ -900,18 +969,26 @@ export default {
           }
         )
           .then(() => {
-            this.addSWork();
+            this.addSWork(type);
           })
           .catch(() => {});
       } else {
-        this.addSWork();
+        this.addSWork(type);
       }
     },
-    addSWork() {
+    addSWork(type) {
+      var a;
+      if (type == 4) {
+        a = JSON.stringify(this.upload);
+      } else if (type == 6) {
+        a = JSON.stringify(this.rateList);
+      }
       let params = {
         uid: this.userid,
         cid: this.cid,
-        upload: JSON.stringify(this.upload),
+        p: this.ppage - 1,
+        t: type,
+        upload: a,
         // upload: JSON.stringify(this.imgFileUp),
       };
       this.ajax
@@ -919,21 +996,24 @@ export default {
         .then((res) => {
           // this.isNoHomeWork = true;
           // this.dialogVisible = true;
-          // this.selectSWork(); // this.upload = res.data[0][0].upload;
+          // this.upload = res.data[0][0].upload;
           this.$message({
-            message: "截图上传成功",
+            message: "提交成功",
             type: "success",
           });
+          this.selectSWork(6);
         })
         .catch((err) => {
-          this.$message.error("截图上传失败");
+          this.$message.error("提交成功");
           console.error(err);
         });
     },
-    selectSWork() {
+    selectSWork(type) {
       let params = {
         uid: this.userid,
         cid: this.cid,
+        p: this.ppage - 1,
+        t: type,
       };
       this.ajax
         .get(this.$store.state.api + "selectSWork", params)
@@ -987,10 +1067,9 @@ export default {
         "'" +
         this.cid +
         "'" +
-        ")\n" +
-        " });\n" +
-        "}\n" +
-        "document.head.appendChild(_js);\n";
+        (this.ppage - 1) +
+        4;
+      ")\n" + " });\n" + "}\n" + "document.head.appendChild(_js);\n";
       iframeHtml.contentWindow.document.head.appendChild(_ajs);
 
       // iframeHtml.contentWindow.jietu_shishi(this.userid, this.cid);
@@ -1037,7 +1116,9 @@ export default {
       for (var i = 0; i < b.length; i++) {
         if (
           a.indexOf(
-            b[i].src.split(".")[b[i].src.split(".").length - 1].toLocaleUpperCase()
+            b[i].src
+              .split(".")
+              [b[i].src.split(".").length - 1].toLocaleUpperCase()
           ) != -1
         ) {
           this.fileList.push(b[i]);
@@ -1045,17 +1126,19 @@ export default {
           this.videoList.push(b[i]);
         }
       }
-      this.isBlock = 5;
+      this.playVideo();
     },
     openFile(u) {
       this.pptImgUrl = "https://view.officeapps.live.com/op/view.aspx?src=" + u;
       this.isBlock = 7;
     },
-    playVideo(u, i) {
+    playVideo() {
       var d = JSON.parse(JSON.stringify(this.playerOptions));
-      d.sources[0].src = u;
-      this.playerO[0] = d;
-      this.videoindex = i;
+      for (var i = 0; i < this.videoList.length; i++) {
+        d.sources[0].src = this.videoList[i].src;
+        this.playerO[0] = d;
+        this.videoindex = i;
+      }
       this.isBlock = 6;
     },
     switchVideo(media) {
@@ -1073,7 +1156,10 @@ export default {
         this.isBlock = 3;
       } else {
         this.isBlock = 0;
-        if (this.tools[page - 1].tools && this.tools[page - 1].tools.indexOf(9) != -1) {
+        if (
+          this.tools[page - 1].tools &&
+          this.tools[page - 1].tools.indexOf(9) != -1
+        ) {
           this.isBlock = 1;
         }
         // if (this.ppage > 3) {
@@ -1084,7 +1170,8 @@ export default {
         this.toolCount = 0;
         if (
           this.tools[page - 1].tools &&
-          (this.tools[page - 1].tools[0] == 14 || this.tools[page - 1].tools[0] == 12)
+          (this.tools[page - 1].tools[0] == 14 ||
+            this.tools[page - 1].tools[0] == 12)
         ) {
           this.isBlock = 0;
         }
@@ -1096,12 +1183,36 @@ export default {
         ) {
           this.isBlock = 4;
         }
-        if (this.tools[page - 1].tools && this.tools[page - 1].tools.length > 1) {
+        if (
+          this.tools[page - 1].tools &&
+          this.tools[page - 1].tools.length > 1
+        ) {
           this.isBlock = 4;
         }
         if (this.tools[page - 1].tools && !this.tools[page - 1].tools.length) {
           this.isBlock = 0;
         }
+        if (
+          this.tools[this.ppage - 1].tools &&
+          this.tools[this.ppage - 1].tools.indexOf(14) != -1
+        ) {
+          this.isBlock = 3;
+        } else if (
+          this.tools[this.ppage - 1].tools &&
+          (this.tools[this.ppage - 1].tools.indexOf(3) != -1 ||
+            this.tools[this.ppage - 1].tools.indexOf(3) != -1 ||
+            this.tools[this.ppage - 1].tools.indexOf(6) != -1 ||
+            this.tools[this.ppage - 1].tools.indexOf(7) != -1 ||
+            this.tools[this.ppage - 1].tools.indexOf(10) != -1 ||
+            this.tools[this.ppage - 1].tools.indexOf(13) != -1)
+        ) {
+          this.isBlock = 4;
+        } else if (
+          this.tools[this.ppage - 1].file &&
+          this.tools[this.ppage - 1].file.length
+        ) {
+          this.selectFile();
+        }
       }
     },
 
@@ -1114,9 +1225,9 @@ export default {
               return;
             } else {
               this.ppage = res.data[0][0].page;
+              // this.ppage = 3;
               this.typeC = [];
               this.isAnswer = false;
-              console.log(1);
               this.howPage(this.ppage);
             }
           }
@@ -1148,17 +1259,25 @@ export default {
             "https://pbl.cocorobo.cn/pbl-student-table/dist/aws-sdk-2.235.1.min.js";
           const script3 = document.createElement("script");
           script3.type = "text/javascript";
-          script3.src = "https://html2canvas.hertzen.com/dist/html2canvas.min.js";
+          script3.src =
+            "https://html2canvas.hertzen.com/dist/html2canvas.min.js";
           const script4 = document.createElement("script");
           script4.type = "text/javascript";
-          script4.src = "https://pbl.cocorobo.cn/pbl-student-table/dist/jietu.js";
+          script4.src =
+            "https://pbl.cocorobo.cn/pbl-student-table/dist/jietu.js";
 
           if (_this.toolCount == 1) {
             _this.$refs.whiteBoard.onload = () => {
-              _this.$refs.whiteBoard.contentWindow.document.body.appendChild(script1);
-              _this.$refs.whiteBoard.contentWindow.document.body.appendChild(script2);
+              _this.$refs.whiteBoard.contentWindow.document.body.appendChild(
+                script1
+              );
+              _this.$refs.whiteBoard.contentWindow.document.body.appendChild(
+                script2
+              );
               // _this.$refs.whiteBoard.contentWindow.document.body.appendChild(script3);
-              _this.$refs.whiteBoard.contentWindow.document.body.appendChild(script4);
+              _this.$refs.whiteBoard.contentWindow.document.body.appendChild(
+                script4
+              );
             };
           } else if (_this.toolCount == 3) {
             _this.$refs.mind.onload = () => {