Browse Source

Merge branch 'beta'

lsc 1 year ago
parent
commit
e988ad0f58
49 changed files with 2209 additions and 432 deletions
  1. 2 2
      dist/index.html
  2. 0 0
      dist/static/css/app.7ace9aabdb3bb28f145303780039848d.css
  3. 0 0
      dist/static/css/app.7ace9aabdb3bb28f145303780039848d.css.map
  4. 0 0
      dist/static/css/app.879dadc99b5505aaebf1e14b408b739e.css
  5. 0 0
      dist/static/css/app.879dadc99b5505aaebf1e14b408b739e.css.map
  6. 40 0
      dist/static/img/aiTalk.1469289.svg
  7. 6 0
      dist/static/img/aiVanish.cc2e3bf.svg
  8. 40 0
      dist/static/img/aiWait.bc90766.svg
  9. BIN
      dist/static/img/alarmClock.d70699d.png
  10. 0 0
      dist/static/js/app.b2109b3c4437498b7f0f.js
  11. 0 0
      dist/static/js/app.b2109b3c4437498b7f0f.js.map
  12. 0 0
      dist/static/js/manifest.3ad1d5771e9b13dbdad2.js.map
  13. 0 0
      dist/static/js/vendor.0eb3ff1f4c979300a113.js
  14. 0 0
      dist/static/js/vendor.0eb3ff1f4c979300a113.js.map
  15. 1 0
      index.html
  16. 11 0
      package-lock.json
  17. 1 0
      package.json
  18. 40 0
      src/assets/icon/course/aiTalk.svg
  19. 6 0
      src/assets/icon/course/aiVanish.svg
  20. 40 0
      src/assets/icon/course/aiWait.svg
  21. BIN
      src/assets/icon/course/alarmClock.png
  22. BIN
      src/assets/icon/course/copyTxt.png
  23. BIN
      src/assets/icon/course/helloworldQs.gif
  24. BIN
      src/assets/icon/course/resImg.png
  25. BIN
      src/assets/icon/course/sImg.png
  26. BIN
      src/assets/icon/course/sImg2.png
  27. BIN
      src/assets/icon/course/sRio.png
  28. BIN
      src/assets/icon/course/sRio2.png
  29. 17 0
      src/common/axios.config.js
  30. 74 29
      src/components/classRoomHelper/component/dialogArea.vue
  31. 545 0
      src/components/classRoomHelper/component/levitatedSphere.vue
  32. 408 149
      src/components/classRoomHelper/component/searchArea.vue
  33. 326 88
      src/components/classRoomHelper/component/taskArea.vue
  34. 100 0
      src/components/classRoomHelper/component/timepiece.vue
  35. 116 22
      src/components/classRoomHelper/index.vue
  36. 14 6
      src/components/courseDetail.vue
  37. 5 5
      src/components/easy2/studyStudent jiu.vue
  38. 124 31
      src/components/easy2/studyStudent.vue
  39. 5 5
      src/components/easy3/studyStudent jiu.vue
  40. 124 31
      src/components/easy3/studyStudent.vue
  41. 3 3
      src/components/noTerminal/studyStudent.vue
  42. 124 30
      src/components/studyStudent.vue
  43. 5 5
      src/components/studyStudentJiu.vue
  44. 7 1
      src/components/trainCourse/courseDetail.vue
  45. 5 5
      src/components/trainCourse/easy2/studyStudent.vue
  46. 5 5
      src/components/trainCourse/easy3/studyStudent.vue
  47. 5 5
      src/components/trainCourse/studyStudent.vue
  48. 5 5
      src/components/横板极简和任务模式/easy2/studyStudent.vue
  49. 5 5
      src/components/横板极简和任务模式/easy3/studyStudent.vue

+ 2 - 2
dist/index.html

@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><title>pbl-student</title><style>/* @charset "utf-8";
+<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><title>pbl-student</title><base target=_blank><style>/* @charset "utf-8";
      @font-face {
         font-family: 'Source Han Sans SC';
         src: url('./static/SourceHanSans-Regular.otf') format('truetype');
@@ -27,7 +27,7 @@
     html,
     body{
       font-family: '黑体';
-    }</style><link href=./static/css/app.7ace9aabdb3bb28f145303780039848d.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.733814fc48c2bd2222aa.js></script><script type=text/javascript src=./static/js/app.155ed678ce42d7c7ce80.js></script></body></html><script>function stopSafari() {
+    }</style><link href=./static/css/app.879dadc99b5505aaebf1e14b408b739e.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.0eb3ff1f4c979300a113.js></script><script type=text/javascript src=./static/js/app.b2109b3c4437498b7f0f.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.7ace9aabdb3bb28f145303780039848d.css


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


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


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


File diff suppressed because it is too large
+ 40 - 0
dist/static/img/aiTalk.1469289.svg


File diff suppressed because it is too large
+ 6 - 0
dist/static/img/aiVanish.cc2e3bf.svg


File diff suppressed because it is too large
+ 40 - 0
dist/static/img/aiWait.bc90766.svg


BIN
dist/static/img/alarmClock.d70699d.png


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


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


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


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/vendor.0eb3ff1f4c979300a113.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/vendor.0eb3ff1f4c979300a113.js.map


+ 1 - 0
index.html

@@ -5,6 +5,7 @@
   <meta charset="utf-8">
   <meta name="viewport" content="width=device-width,initial-scale=1.0">
   <title>pbl-student</title>
+	<base target="_blank">
   <style>
      /* @charset "utf-8";
      @font-face {

+ 11 - 0
package-lock.json

@@ -25,6 +25,7 @@
         "jszip": "^3.10.1",
         "lamejs": "^1.2.1",
         "markdown-it": "^13.0.1",
+        "opencc-js": "^1.0.5",
         "pdfjs-dist": "^2.5.207",
         "pdfvuer": "^1.7.5",
         "qrcodejs2": "^0.0.2",
@@ -15642,6 +15643,11 @@
         "node": ">=8"
       }
     },
+    "node_modules/opencc-js": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmmirror.com/opencc-js/-/opencc-js-1.0.5.tgz",
+      "integrity": "sha512-LD+1SoNnZdlRwtYTjnQdFrSVCAaYpuDqL5CkmOaHOkKoKh7mFxUicLTRVNLU5C+Jmi1vXQ3QL4jWdgSaa4sKjg=="
+    },
     "node_modules/opener": {
       "version": "1.5.2",
       "resolved": "https://registry.npm.taobao.org/opener/download/opener-1.5.2.tgz",
@@ -36913,6 +36919,11 @@
         "is-wsl": "^1.1.0"
       }
     },
+    "opencc-js": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmmirror.com/opencc-js/-/opencc-js-1.0.5.tgz",
+      "integrity": "sha512-LD+1SoNnZdlRwtYTjnQdFrSVCAaYpuDqL5CkmOaHOkKoKh7mFxUicLTRVNLU5C+Jmi1vXQ3QL4jWdgSaa4sKjg=="
+    },
     "opener": {
       "version": "1.5.2",
       "resolved": "https://registry.npm.taobao.org/opener/download/opener-1.5.2.tgz",

+ 1 - 0
package.json

@@ -29,6 +29,7 @@
     "jszip": "^3.10.1",
     "lamejs": "^1.2.1",
     "markdown-it": "^13.0.1",
+    "opencc-js": "^1.0.5",
     "pdfjs-dist": "^2.5.207",
     "pdfvuer": "^1.7.5",
     "qrcodejs2": "^0.0.2",

File diff suppressed because it is too large
+ 40 - 0
src/assets/icon/course/aiTalk.svg


File diff suppressed because it is too large
+ 6 - 0
src/assets/icon/course/aiVanish.svg


File diff suppressed because it is too large
+ 40 - 0
src/assets/icon/course/aiWait.svg


BIN
src/assets/icon/course/alarmClock.png


BIN
src/assets/icon/course/copyTxt.png


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


BIN
src/assets/icon/course/resImg.png


BIN
src/assets/icon/course/sImg.png


BIN
src/assets/icon/course/sImg2.png


BIN
src/assets/icon/course/sRio.png


BIN
src/assets/icon/course/sRio2.png


+ 17 - 0
src/common/axios.config.js

@@ -95,7 +95,24 @@ function get(url, param) {
             })
     })
 }
+
+//返回一个Promise(发送put请求)
+function put(url, params) {
+	return new Promise((resolve, reject) => {
+			axios.put(url, params)
+					.then(response => {
+							resolve(response);
+					}, err => {
+							reject(err);
+					})
+					.catch((error) => {
+							reject(error)
+					})
+	})
+}
+
 export default {
     get,
     post,
+		put
 }

File diff suppressed because it is too large
+ 74 - 29
src/components/classRoomHelper/component/dialogArea.vue


+ 545 - 0
src/components/classRoomHelper/component/levitatedSphere.vue

@@ -0,0 +1,545 @@
+<template>
+  <div class="levitatedSphere" v-show="show">
+    <div :class="['ls_hello']" v-show="showIndex == 0">
+      <el-image
+        style="width: 100%; height: 100%"
+        v-show="aiStatus == 1"
+        :src="require('../../../assets/icon/course/aiTalk.svg')"
+        fit="fill"
+      ></el-image>
+      <el-image
+        style="width: 100%; height: 100%"
+        v-show="aiStatus == 2"
+        :src="require('../../../assets/icon/course/aiVanish.svg')"
+        fit="fill"
+      ></el-image>
+      <el-image
+        style="width: 100%; height: 100%"
+        v-show="aiStatus == 0"
+        :src="require('../../../assets/icon/course/aiWait.svg')"
+        fit="fill"
+      ></el-image>
+    </div>
+    <div
+      class="ls_text"
+      :style="{
+        width: userText || aiText || showTextIndex == 2 ? '300px' : '0px'
+      }"
+    >
+      <div class="ls_t_ai" v-if="[0, 2].includes(showTextIndex)">
+        <span
+          v-if="[0].includes(showTextIndex)"
+          v-html="htmlContent(aiText)"
+        ></span>
+        <span v-if="[2].includes(showTextIndex)">正在组织语言...</span>
+      </div>
+      <div class="ls_t_user" v-if="[1].includes(showTextIndex)">
+        {{ userText }}
+      </div>
+    </div>
+    <!-- 录音转文字 -->
+    <iframe
+      allow="camera *; microphone *;display-capture;midi;encrypted-media;"
+      src="https://beta.cloud.cocorobo.cn/browser/public/index.html"
+      ref="iiframe"
+      v-show="false"
+    ></iframe>
+
+    <!-- 文字转语音-->
+    <iframe
+      allow="camera *; microphone *;display-capture;midi;encrypted-media;"
+      src="https://beta.cloud.cocorobo.cn/browser/public/index1.html"
+      ref="iiframe2"
+      v-show="false"
+    ></iframe>
+  </div>
+</template>
+
+<script>
+import { v4 as uuidv4 } from "uuid";
+import MarkdownIt from "markdown-it";
+export default {
+  data() {
+    return {
+      show: false,
+      showIndex: 0, //0 :在说话 1 : 接收 2:待命
+      aiStatus: 0,
+      aiText: "您好,我是小可,有什么可以帮助您的?",
+      userText: "",
+      showTextIndex: 0, //0:ai,1:用户, 2:组织语言  3: 无
+      timer: null,
+      isOpen: false,
+      userId: this.$route.query.userid,
+      chatLoading: false,
+      talkLoading: false,
+      source: null,
+      talkTextList: []
+    };
+  },
+  computed: {
+    htmlContent() {
+      const md = new MarkdownIt();
+      return _md => {
+        return md.render(_md);
+      };
+    }
+  },
+  methods: {
+    recordStart(_text) {
+      var OpenCC = require("opencc-js");
+      let converter = OpenCC.Converter({
+        from: "hk",
+        to: "cn"
+      });
+      // try {
+      // this.$parent.changeRecordType(1);
+      // return this.$message.success("已开启语音助手,请说“可可同学”来唤醒")
+      if (this.isOpen)
+        return this.$message.info("已开启语音助手,无需重复开启");
+      let iiframe = this.$refs["iiframe"];
+      iiframe.contentWindow.window.document.getElementById(
+        "languageOptions"
+      ).selectedIndex = 2; //普通话
+      iiframe.contentWindow.testdoContinuousPronunciationAssessment();
+      this.$message.success("已开启语音助手,请说“可可同学”来唤醒");
+      this.$parent.changeRecordType(1);
+      this.isOpen = true;
+      iiframe.contentWindow.onRecognizedResult = e => {
+        let _msg = converter(e.privText);
+        // let _msg2 = e.privText;
+        // let _msg = _text;
+        console.log("👇");
+        console.log(_msg);
+        // _msg = converter(_msg)
+        if (!_msg) return console.log("输出为空");
+        if (_msg.indexOf(converter("可可同学")) != -1 && !this.show) {
+          this.aiText = "您好,我是小可,有什么可以帮助您的?";
+          this.aiStatus = 0;
+          this.showIndex = 0;
+          this.show = true;
+          console.log("已唤醒");
+          return;
+        } else if (this.show == true) {
+          if (
+            _msg.indexOf(converter("可可同学")) != -1 &&
+            _msg.indexOf(converter("停止")) != -1
+          ) {
+            this.stopTalk();
+          } else if (
+            this.showTextIndex == 2 ||
+            this.chatLoading ||
+            this.talkLoading
+          ) {
+            return console.log("组织语言中");
+            // }else if(_msg.indexOf('可可同学')!=-1 && _msg.indexOf("停止")!=-1){
+            // 	this.stopTalk();
+          } else {
+            this.showTextIndex = 1;
+            this.aiText = "";
+            this.userText += _msg;
+            this.aiStatus = 1;
+            if (this.timer) {
+              clearTimeout(this.timer);
+              this.timer = null;
+            }
+            this.timer = setTimeout(() => {
+              if (this.userText.indexOf(converter("关闭语音助手")) != -1) {
+                // return setTimeout(()=>{
+                this.show = false;
+                this.showTextIndex = 3;
+                this.aiStatus = 2;
+                this.aiText = "";
+                this.userText = "";
+                this.stopRecord();
+                return;
+                // },1000)
+              }
+              this.showTextIndex = 2;
+              this.aiText = "";
+              let regExp = new RegExp(
+                converter("计时") + "(.+)" + converter("分钟")
+              );
+              if (regExp.test(this.userText)) {
+                // setTimeout(() => {
+                let _number = this.userText.match(regExp)[1];
+                let _time = 0;
+                if (!/^\d+$/.test(_number)) {
+                  _time = this.chineseToNumber(_number) * 60;
+                } else {
+                  _time = parseInt(_numberList[1]) * 60;
+                }
+                this.$emit("startTime", _time);
+                this.aiStatus = 0;
+                this.showTextIndex = 0;
+                this.aiText =
+                  "好的,我已为您计时" +
+                  this.userText.match(regExp)[1] +
+                  "分钟。";
+                this.userText = "";
+                this.timer = setTimeout(() => {
+                  this.showTextIndex = 3;
+                  this.aiStatus = 2;
+                  this.aiText = "";
+                  this.userText = "";
+                }, 3000);
+                // }, 2000);
+              } else {
+                this.chatLoading = true;
+                const _uuid = uuidv4();
+                let params = {
+                  assistant_id: "f8e1ebb2-2e0d-11ef-8bf4-12e77c4cb76b",
+                  userId: this.userId,
+                  message: this.userText,
+                  session_name: _uuid + "-qgt",
+                  uid: _uuid,
+                  file_ids: []
+                };
+                this.ajax
+                  // .post("https://claude3.cocorobo.cn/chat", params)
+                  // .post("https://gpt4.cocorobo.cn/chat", params)
+                  .post(
+                    "https://gpt4.cocorobo.cn/ai_agent_park_chat_new",
+                    params
+                  )
+                  .then(res => {
+                    if (
+                      converter(res.data.FunctionResponse.result) ==
+                      converter("发送成功")
+                    ) {
+                      this.userText = "";
+                    } else {
+                      // this.$message.warning(res.data.FunctionResponse.result);
+                      console.log(res.data.FunctionResponse.result);
+                      this.chatLoading = false;
+                      this.aiStatus = 0;
+                      this.showTextIndex = 0;
+                      this.aiText = "对不起,我无法理解您的问题,请重新提问";
+                      this.timer = setTimeout(() => {
+                        this.showTextIndex = 3;
+                        this.aiStatus = 2;
+                        this.aiText = "";
+                        this.userText = "";
+                      }, 3000);
+                    }
+                  })
+                  .catch(e => {
+                    console.log(e);
+                    this.chatLoading = false;
+                    this.aiStatus = 0;
+                    this.showTextIndex = 0;
+                    this.aiText = "对不起,我无法理解您的问题,请重新提问";
+                    this.timer = setTimeout(() => {
+                      this.showTextIndex = 3;
+                      this.aiStatus = 2;
+                      this.aiText = "";
+                      this.userText = "";
+                    }, 3000);
+                  });
+                // 通过流获取ai对话数据
+                this.getAtAuContent(_uuid);
+              }
+            }, 5000);
+          }
+        } else {
+          console.log("不响应");
+        }
+      };
+      // } catch (error) {
+      //   console.log("ai录音报错👇");
+      //   console.log(error);
+      //   setTimeout(() => {
+      //     this.recordStart();
+      //   }, 1000);
+      // }
+    },
+    stopRecord() {
+      // this.$parent.changeRecordType(0);
+      // this.$message.success("已关闭语音助手")
+      // return
+      let iiframe = this.$refs["iiframe"];
+      iiframe.contentWindow.window.document
+        .getElementById("scenarioStopButton")
+        .click();
+      if (this.talkLoading) {
+        this.stopTalk();
+      }
+      // this.stopTalk();
+      // 录音借宿
+      iiframe.contentWindow.onSessionStopped = (s, e) => {
+        this.isOpen = false;
+        this.show = false;
+        this.showTextIndex = 3;
+        this.showIndex = 2;
+        this.$parent.changeRecordType(0);
+        this.$message.success("已关闭语音助手");
+        if (this.talkLoading) {
+          this.$refs.iiframe2.contentWindow.closesynthesizer();
+        }
+        this.userText = "";
+        this.aiText = "";
+      };
+    },
+    chineseToNumber(chinese) {
+      var OpenCC = require("opencc-js");
+      let converter = OpenCC.Converter({
+        from: "hk",
+        to: "cn"
+      });
+      chinese = converter(chinese);
+      const chineseNumbers = {
+        零: 0,
+        一: 1,
+        二: 2,
+        三: 3,
+        四: 4,
+        五: 5,
+        六: 6,
+        七: 7,
+        八: 8,
+        九: 9,
+        十: 10,
+        百: 100,
+        千: 1000,
+        万: 10000,
+        亿: 100000000
+      };
+
+      let result = 0;
+      let tempNum = 0; // 用于累积处理
+      let sectionNum = 0; // 每个段的值
+
+      for (let i = 0; i < chinese.length; i++) {
+        const char = chinese[i];
+        const num = chineseNumbers[char];
+
+        if (num === undefined) {
+          throw new Error(`Unexpected character: ${char}`);
+        }
+
+        if (
+          num === 10 ||
+          num === 100 ||
+          num === 1000 ||
+          num === 10000 ||
+          num === 100000000
+        ) {
+          if (tempNum === 0) tempNum = 1; // 如果前面没有数,默认是1
+          tempNum *= num;
+
+          if (num === 10000 || num === 100000000) {
+            sectionNum += tempNum;
+            result += sectionNum;
+            tempNum = 0;
+            sectionNum = 0;
+          }
+        } else {
+          tempNum += num;
+        }
+      }
+
+      result += sectionNum + tempNum;
+      return result;
+    },
+    removeMarkdown(text) {
+      return text
+        .replace(/[#*_~`>+\-]/g, "") // 移除 #、*、_、~、`、>、+、- 符号
+        .replace(/!\[.*?\]\(.*?\)/g, "") // 移除图片
+        .replace(/\[.*?\]\(.*?\)/g, "") // 移除链接
+        .replace(/```[\s\S]*?```/g, "") // 移除代码块(不使用 s 标志)
+        .replace(/`[^`]*`/g, "") // 移除行内代码
+        .replace(/\d+\./g, "") // 移除有序列表
+        .replace(/^\s*[-*+]\s+/gm, "") // 移除无序列表
+        .replace(/\s+/g, " ") // 将多个空白字符替换为一个空格
+        .trim(); // 去除字符串两端的空白字符
+    },
+    getAtAuContent(_uid) {
+      this.source = new EventSource(
+        `https://gpt4.cocorobo.cn/question/${_uid}`
+      );
+      //http://gpt4.cocorobo.cn:8011/question/   https://gpt4.cocorobo.cn/question/
+      let _allText = "";
+      let _mdText = "";
+      let _talkText = "";
+      // let _talkIndex = 0;
+      // const md = new MarkdownIt();
+      this.source.onmessage = _e => {
+        let _eData = JSON.parse(_e.data);
+        if (_eData.content.replace("'", "").replace("'", "") == "[DONE]") {
+          let _result = [];
+          if ("result" in _eData) {
+            _result = _eData.result;
+            for (let i = 0; i < _result.length; i++) {
+              _mdText = _mdText.replace(_result[i].text, _result[i].fileName);
+            }
+          }
+          _mdText = _mdText.replace("_", "");
+          this.aiText = _mdText;
+          if (_talkText != "") {
+            let _resultText = this.removeMarkdown(_talkText);
+            this.talkTextList.push(_resultText);
+            _talkText = "";
+            if (!this.talkLoading) this.talkText();
+          }
+          this.chatLoading = false;
+          this.source.close();
+        } else {
+          // _talkIndex+=1;
+          let _text = _eData.content.replace("'", "").replace("'", "");
+          if (_allText == "") {
+            _allText = _text.replace(/^\n+/, ""); //去掉回复消息中偶尔开头就存在的连续换行符
+            _talkText += _text.replace(/^\n+/, "");
+          } else {
+            _allText += _text;
+            _talkText += _text;
+          }
+          `~`;
+          _mdText = _allText + "_";
+          _mdText = _mdText.replace(/\\n/g, "\n");
+          _mdText = _mdText.replace(/\\/g, "");
+          if (_allText.split("```").length % 2 == 0) _mdText += "\n```\n";
+          this.aiText = _mdText;
+          this.showTextIndex = 0;
+          if (/[,。:;?!)]/.test(_talkText)) {
+            let _resultText = this.removeMarkdown(_talkText);
+            this.talkTextList.push(_resultText);
+            _talkText = "";
+            if (!this.talkLoading) this.talkText();
+          }
+          // if(_talkIndex==10){
+          // 	_talkIndex = 0;
+          // 	this.talkTextList.push(_talkText)
+          // 	_talkText = "";
+          // 	if(!this.talkLoading)this.talkText();
+          // }
+        }
+      };
+    },
+    talkText() {
+      let _text = this.talkTextList.shift();
+      let _talkTextIiframe2 = this.$refs.iiframe2;
+
+      if (_text) {
+        this.talkLoading = true;
+        if (this.timer) {
+          clearTimeout(this.timer);
+          this.timer = null;
+        }
+        console.log(`👉转语音:${_text}`);
+        // if(this.talkTextList.length==0){
+        // 	console.log("👉最后一个了,执行结束 👈")
+        // 	_talkTextIiframe2.contentWindow.closesynthesizer();
+        // }
+        // setTimeout(()=>{
+        // 	this.talkText();
+        // },2000)
+        _talkTextIiframe2.contentWindow.texttospeech(
+          _text,
+          this.talkText,
+          this.endTalk
+        );
+      } else {
+        // console.log("👉转语音结束👈");
+        _talkTextIiframe2.contentWindow.closesynthesizer();
+        // this.talkLoading = false;
+        // this.timer = setTimeout(() => {
+        //   this.showTextIndex = 3;
+        //   this.aiStatus = 2;
+        //   this.aiText = "";
+        //   this.userText = "";
+        // 	this.time = null;
+        // }, 5000);
+      }
+    },
+    endTalk() {
+      console.log("👉转语音结束👈");
+      // let _talkTextIiframe2 = this.$refs.iiframe2;
+      // _talkTextIiframe2.contentWindow.closesynthesizer();
+      this.talkLoading = false;
+    },
+    stopTalk() {
+      this.talkTextList = [];
+
+      let _talkTextIiframe2 = this.$refs.iiframe2;
+      _talkTextIiframe2.contentWindow.closesynthesizer();
+      _talkTextIiframe2.contentWindow.pausesynthesizer();
+      this.talkLoading = false;
+      // this.talkLoading = false;
+      // this.talkLoading = false;
+      // let _talkTextIiframe2 = this.$refs.iiframe2;
+      // _talkTextIiframe2.contentWindow.closesynthesizer();
+    }
+  },
+  mounted() {
+    // // this.recordStart()
+    // setTimeout(()=>{
+    // 	this.recordStart("可可同学。")
+    // 	setTimeout(()=>{
+    // 		this.recordStart("世界上最大的火山是什么。")
+    // 		setTimeout(()=>{
+    // 			this.recordStart("位于哪里。他温度怎么样。")
+    // 		},2000)
+    // 	},2000)
+    // },5000)
+  }
+};
+</script>
+
+<style scoped>
+.levitatedSphere {
+  position: fixed;
+  width: auto;
+  height: auto;
+  top: 20px;
+  right: 10px;
+  z-index: 9999;
+  display: flex;
+}
+
+.ls_hello {
+  width: 80px;
+  height: 80px;
+  position: absolute;
+  top: 0;
+  right: 0;
+  animation: smallToBig 1s both;
+}
+
+/* 定义渐入动画 */
+@keyframes smallToBig {
+  from {
+    opacity: 0;
+    transform: scale(0.1);
+  }
+  to {
+    opacity: 1;
+    transform: scale(1);
+  }
+}
+
+.ls_text {
+  position: absolute;
+  right: 100px;
+  top: 20px;
+  max-width: 300px;
+  display: flex;
+  justify-content: flex-end;
+}
+
+.ls_t_ai {
+  padding: 12px;
+  width: auto;
+  height: auto;
+  border-radius: 12px 0px 12px 12px;
+  background: #00000099;
+  color: #fff;
+}
+
+.ls_t_user {
+  padding: 12px;
+  width: auto;
+  height: auto;
+  border-radius: 12px 12px 12px 12px;
+  background: #00000099;
+  color: #fff;
+}
+</style>

File diff suppressed because it is too large
+ 408 - 149
src/components/classRoomHelper/component/searchArea.vue


File diff suppressed because it is too large
+ 326 - 88
src/components/classRoomHelper/component/taskArea.vue


+ 100 - 0
src/components/classRoomHelper/component/timepiece.vue

@@ -0,0 +1,100 @@
+<template>
+  <div class="timepiece">
+    <div class="time" v-if="time > 0">
+      <img :src="require('../../../assets/icon/course/alarmClock.png')" />
+      <span>{{ showTime(time) }}</span>
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+  data() {
+    return {
+      // time: 300,//5分钟
+      time: 0,
+      timer: null
+    };
+  },
+  watch: {
+    time(newValue) {
+      if (this.timer) {
+        if (newValue < 0) {
+          clearInterval(this.timer);
+					this.timer = null;
+          this.$alert("计时已结束", "计时器", {
+            confirmButtonText: "确定",
+            callback: action => {
+							console.log('计时结束')
+            }
+          });
+        }
+      }
+    }
+  },
+	methods: {
+		startTime(time){
+			if(this.timer)clearInterval(this.timer);
+			this.timer = null;
+			this.time = time;
+			this.timer = setInterval(()=>{
+				this.time-=1;
+			},1000)
+		}
+	},
+  computed: {
+    showTime() {
+      return duration => {
+        if (duration <= 0) return `00:00`;
+        // 更新currentTime,将秒数转换为时分秒格式
+        // let hours = Math.floor(duration / 3600);
+        let minutes = Math.floor((duration % 3600) / 60);
+        let seconds = Math.floor(duration % 60);
+        // this.recordedForm.time = `${hours.toString().padStart(2, "0")}:${minutes
+        // 	.toString()
+        // 	.padStart(2, "0")}:${seconds.toString().padStart(2, "0")}`;
+        return `${minutes
+          .toString()
+          .padStart(2, "0")}:${seconds.toString().padStart(2, "0")}`;
+      };
+    }
+  }
+};
+</script>
+
+<style scoped>
+.timepiece {
+  position: fixed;
+  width: auto;
+  height: auto;
+  top: 140px;
+  right: 10px;
+  z-index: 9999;
+  display: flex;
+}
+
+.time {
+  width: auto;
+  height: 80px;
+  display: flex;
+  align-items: center;
+}
+
+.time > img {
+  width: 55px;
+  height: 55px;
+  z-index: 9;
+}
+.time > span {
+  background-color: #38d0b1;
+  border: solid 1px #1a9200;
+  border-radius: 8px;
+  position: relative;
+  left: -20px;
+  top: 3px;
+  padding: 5px 10px 5px 25px;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+}
+</style>

+ 116 - 22
src/components/classRoomHelper/index.vue

@@ -4,18 +4,26 @@
       <searchArea
         :courseDetail="courseDetail"
         ref="searchAreaRef"
-				:navList="navList"
-				:tcid="tcid"
+        :navList="navList"
+        :tcid="tcid"
+				:fileId="fileId"
+				:recordType="recordType"
         v-if="itemType == 1"
       />
       <taskArea
         :courseDetail="courseDetail"
+        :navList="navList"
+        :courseType="courseType"
+        :taskCount="taskCount"
+        :worksStudent="worksStudent"
         ref="taskAreaRef"
+				:fileId="fileId"
         v-if="itemType == 2"
       />
       <dialogArea
         :courseDetail="courseDetail"
         ref="dialogAreaRef"
+				:fileId="fileId"
         v-if="itemType == 3"
       />
     </div>
@@ -36,7 +44,7 @@
           </el-tooltip>
         </div>
 
-        <div @click="$emit('review')" v-if="tType==1">
+        <div @click="$emit('review')" v-if="tType == 1">
           <el-tooltip class="item" effect="dark" content="评论" placement="top">
             <img
               :src="require('../../assets/icon/course/comment.png')"
@@ -45,7 +53,8 @@
             />
           </el-tooltip>
         </div>
-        <div @click="$emit('authority')" v-if="(tType==1 || tType == 4)"><!-- -->
+        <div @click="$emit('authority')" v-if="tType == 1 || tType == 4">
+          <!-- -->
           <el-tooltip class="item" effect="dark" content="权限" placement="top">
             <img
               :src="require('../../assets/icon/course/setting.png')"
@@ -145,6 +154,8 @@
         </div>
       </div>
     </div>
+    <levitatedSphere ref="levitatedSphereRef" @startTime="startTime" />
+    <timepiece ref="timepieceRef" />
   </div>
 </template>
 
@@ -152,39 +163,63 @@
 import searchArea from "./component/searchArea.vue";
 import taskArea from "./component/taskArea.vue";
 import dialogArea from "./component/dialogArea.vue";
+import levitatedSphere from "./component/levitatedSphere.vue";
+import timepiece from "./component/timepiece.vue";
 export default {
   emits: ["refresh", "goStep", "backPage", "authority", "review"],
   components: {
     searchArea,
     taskArea,
-    dialogArea
+    dialogArea,
+    levitatedSphere,
+    timepiece
   },
   props: {
     courseDetail: {
       type: Object,
       default: () => {}
     },
-		tType:{
-			type:Number,
-			default:0,
-		},
-		navList:{
-			type:Array,
-			default:()=>[]
-		},
-		tcid:{
-			type:String,
-			default:""
-		},
+    tType: {
+      type: Number,
+      default: 0
+    },
+    navList: {
+      type: Array,
+      default: () => []
+    },
+    tcid: {
+      type: String,
+      default: ""
+    },
+    courseType: {
+      type: Number,
+      default: 0
+    },
+    taskCount: {
+      type: Number,
+      default: 0
+    },
+    worksStudent: {
+      type: Array,
+      default: () => []
+    },
+    fileList: {
+      type: Array,
+      default: () => []
+    }
   },
   data() {
     return {
       type: 0,
-      itemType: 0 //0--无  1-搜索  2-任务 3-对话
+      itemType: 0, //0--无  1-搜索  2-任务 3-对话
+      fileId: [],
+			recordType:0,
+      getFileIdLoading: false
     };
   },
   mounted() {
     this.setWidth();
+    this.getFileId();
   },
   methods: {
     setWidth() {
@@ -212,7 +247,62 @@ export default {
         // }
         this.itemType = type;
       });
-    }
+    },
+    //计时
+    startTime(time) {
+      this.$refs.timepieceRef.startTime(time);
+    },
+    getFileId() {
+      if (this.getFileIdLoading) return;
+			this.getFileIdLoading = true;
+      this.fileId = [];
+			let _this = this;
+      let _successFileUrl = [];
+      if (this.fileList.length <= 0) retrun;
+      let addType = ["DOCX", "DOC", "PPT", "PPTX", "MD", "TXT","PDF"];
+      this.fileList.forEach(i => {
+        if (
+          addType.includes(
+            i.url.split(".")[i.url.split(".").length - 1].toLocaleUpperCase()
+          )
+        ) {
+          _successFileUrl.push(i.url);
+        }
+      });
+      let promiseList = [];
+      _successFileUrl.forEach(i => {
+        promiseList.push(
+          new Promise((resolve, reject) => {
+            _this.ajax
+              .put("https://gpt4.cocorobo.cn/upload_file_knowledge", {
+                url: i
+              })
+              .then(res => {
+                let _data = res.data.FunctionResponse;
+                if (_data.result && _data.result.id) {
+                  this.fileId.push(_data.result.id);
+                }
+								resolve();
+              });
+          })
+        );
+      });
+      Promise.all(promiseList).then(res => {
+        this.getFileIdLoading = false;
+      });
+    },
+		startAssistant(){
+			if(this.recordType==0){
+				this.$refs.levitatedSphereRef.recordStart();
+			}else if(this.recordType==1){
+				this.$refs.levitatedSphereRef.stopRecord();
+			}
+		},
+		changeRecordType(type){
+			console.log("修改了")
+			this.recordType = type;
+			console.log(this.recordType)
+		},
   }
 };
 </script>
@@ -226,9 +316,10 @@ export default {
   border-radius: 10px;
   box-sizing: border-box;
   right: 20px;
-  overflow: hidden;
+  /* overflow: hidden; */
   display: flex;
   top: 20px;
+  z-index: 1000;
 }
 
 .ch_nav_box {
@@ -236,8 +327,10 @@ export default {
   width: 65px;
   display: flex;
   flex-direction: column;
-  justify-content: flex-end;
+  /* justify-content: flex-end; */
+  margin-top: auto;
   align-items: center;
+  overflow: auto;
 }
 
 .ch_content_box {
@@ -253,7 +346,7 @@ export default {
   border-top: solid 1px #eaeaea;
   display: flex;
   flex-direction: column;
-  justify-content: flex-end;
+  /* justify-content: flex-end; */
 }
 
 .ch_nav_box_middle {
@@ -318,6 +411,7 @@ export default {
 .ch_nav_box_top {
   width: 100%;
   height: auto;
+  margin-top: auto;
 }
 .ch_nav_box_top > div {
   width: 100%;

+ 14 - 6
src/components/courseDetail.vue

@@ -247,7 +247,7 @@
                 <div class="jdAndTask">
                   <div>第{{ index + 1 }}阶段</div>
                   <div
-                    v-if="courseDetail.state == 2 || courseDetail.state == 3 || courseDetail.state == 4"
+                    v-if="courseDetail.state == 2 || courseDetail.state == 3 || courseDetail.state == 4 || courseDetail.state == 5"
                   >
                     任务查看
                   </div>
@@ -1090,6 +1090,12 @@ import JSZip from "jszip";
 import FileSaver from "file-saver";
 import scoreZong from './scoreZong/get.vue'
 
+var OpenCC = require("opencc-js");
+let converter = OpenCC.Converter({
+		from:'hk',
+		to:'cn'
+})
+
 const getFile = (url) => {
   return new Promise((resolve, reject) => {
     var credentials = {
@@ -1178,7 +1184,7 @@ export default {
       followC: "",
       dialogVisibleQR: false,
       checkStage: 0,
-      tools: tools,
+      tools: JSON.parse(converter(JSON.stringify(tools))),
     };
   },
   methods: {
@@ -1245,7 +1251,7 @@ export default {
               this.screenType
           );
         }
-      } else if (this.courseDetail.state == 2) {
+      } else if (this.courseDetail.state == 2 || this.courseDetail.state == 5) {
         if (this.classList.length) {
           this.goTo(
             "/studystudentE2?type=" +
@@ -1344,9 +1350,11 @@ export default {
 						}).then(() => {
 							if(this.courseDetail.state == 1 || this.courseDetail.state == 2){
 								window.parent.postMessage({ tools: "openNewCourseUpdate",cid:this.id }, "*");
-							}else if(this.courseDetail.state == 3 || this.courseDetail.state == 4){
+							}else if(this.courseDetail.state == 3){
 								window.parent.postMessage({ tools: "openCourseEUpdate",cid:this.id }, "*");
-							}
+							}else if(this.courseDetail.state == 4 || this.courseDetail.state == 5){
+								window.parent.postMessage({ tools: "openCourseAiUpdate",cid:this.id }, "*");
+              }
 
 						})
 					}else{
@@ -1427,7 +1435,7 @@ export default {
                   "&screenType=" +
                   this.screenType
               );
-            } else if (this.courseDetail.state == 2) {
+            } else if (this.courseDetail.state == 2 || this.courseDetail.state == 5) {
               this.goTo(
                 "/studystudentE2?type=" +
                   i +

+ 5 - 5
src/components/easy2/studyStudent jiu.vue

@@ -13787,17 +13787,17 @@ export default {
                     f[g].ttype == 2 &&
                     this.tcid &&
                     this.arrayToArray(
-                      f[g].classid.split(","),
+                      (f[g].classid ? f[g].classid.split(",") : []),
                       this.tcid.split(",")
                     ).length == 0
                   ) {
                     continue;
                   }
                   if (gA == f[g].group && f[g].tool == i && (this.arrayToArray(
-                      f[g].classid.split(","),
+                      (f[g].classid ? f[g].classid.split(",") : []),
                       this.tcid.split(",")
                     ).length !== 0 || this.arrayToArray(
-                      f[g].classid.split(","),
+                      (f[g].classid ? f[g].classid.split(",") : []),
                       this.classId ? this.classId.split(",") : []
                     ).length !== 0 || (!this.tcid && this.tType == '1') || (this.courseDetail.juri === '') || f[g].ttype == 1)) {
                     this.groupStudent[i][gA].push(f[g]);
@@ -17980,7 +17980,7 @@ export default {
         // document.getElementsByClassName("vedioList")[0].style.height = a + "px";
         if (this.showType == 2 || this.showType == 3) {
           document.getElementsByClassName("navBox")[0].style.height =
-            a - 40 + 46 + "px";
+            a - 40 + 0+ "px";
         } else {
           document.getElementsByClassName("navBox")[0].style.height =
             a - 40 + "px";
@@ -18948,7 +18948,7 @@ export default {
       // document.getElementsByClassName("vedioList")[0].style.height = a + "px";
       if (this.showType == 2 || this.showType == 3) {
         document.getElementsByClassName("navBox")[0].style.height =
-          a - 40 + 46 + "px";
+          a - 40 + 0+ "px";
       } else {
         document.getElementsByClassName("navBox")[0].style.height =
           a - 40 + "px";

+ 124 - 31
src/components/easy2/studyStudent.vue

@@ -227,7 +227,7 @@
       <div class="body_student" :style="{width: mlDialog ? 'calc(100% - '+classRoomHelperWidth+' - 20% - 40px)' : 'calc(100% - '+classRoomHelperWidth+' - 10px)', left: mlDialog ? 'calc(20% + 35px)' : '10px' }">
         <div class="new_topFixed" :style="{width: mlDialog ? 'calc(100% - '+classRoomHelperWidth+' - 20% - 40px)' : 'calc(100% - '+classRoomHelperWidth+' - 10px)', left: mlDialog ? 'calc(20% + 35px)' : '10px' }"></div>
         <div class="new_top" :style="{width: mlDialog ? 'calc(100% - '+classRoomHelperWidth+' - 20% - 40px)' : 'calc(100% - '+classRoomHelperWidth+' - 10px)', left: mlDialog ? 'calc(20% + 35px)' : '10px' }">
-          <div class="courseIndex">
+          <div class="courseIndex" :style="{width: orgArray.includes(org) ? '100%' : 'calc(100% - 745px)'}">
             <div>任务{{ taskCount + 1 }}</div>
             <el-tooltip
               effect="light"
@@ -1880,7 +1880,9 @@
                         :key="sIndex"
                         class="noWorksName"
                       >
-                        {{ s.student }}
+                        <el-tooltip effect="dark" :content="s.student" placement="top">
+                            <span>{{ s.student }}</span>
+                        </el-tooltip>
                       </div>
                     </div>
                   </div>
@@ -2998,7 +3000,9 @@
                         class="noWorksName"
                         @click="teacherWorkSubmit(16, toolIndex, taskCount, s)"
                       >
-                        {{ s.student }}
+                        <el-tooltip effect="dark" :content="s.student" placement="top">
+                            <span>{{ s.student }}</span>
+                        </el-tooltip>
                       </div>
                     </div>
                   </div>
@@ -3098,7 +3102,9 @@
                         :key="sIndex"
                         class="noWorksName"
                       >
-                        {{ s.student }}
+                        <el-tooltip effect="dark" :content="s.student" placement="top">
+                            <span>{{ s.student }}</span>
+                        </el-tooltip>
                       </div>
                     </div>
                   </div>
@@ -3306,7 +3312,9 @@
                         class="noWorksName"
                         @click="teacherWorkSubmit(32, toolIndex, taskCount, s)"
                       >
-                        {{ s.student }}
+                        <el-tooltip effect="dark" :content="s.student" placement="top">
+                            <span>{{ s.student }}</span>
+                        </el-tooltip>
                       </div>
                     </div>
                   </div>
@@ -3474,7 +3482,9 @@
                         class="noWorksName"
                         @click="teacherWorkSubmit(57, toolIndex, taskCount, s)"
                       >
-                        {{ s.student }}
+                        <el-tooltip effect="dark" :content="s.student" placement="top">
+                            <span>{{ s.student }}</span>
+                        </el-tooltip>
                       </div>
                     </div>
                   </div>
@@ -3722,7 +3732,9 @@
                         class="noWorksName"
                         @click="teacherWorkSubmit(50, toolIndex, taskCount, s)"
                       >
-                        {{ s.student }}
+                        <el-tooltip effect="dark" :content="s.student" placement="top">
+                            <span>{{ s.student }}</span>
+                        </el-tooltip>
                       </div>
                     </div>
                   </div>
@@ -3908,7 +3920,9 @@
                         class="noWorksName"
                         @click="teacherWorkSubmit(4, toolIndex, taskCount, s)"
                       >
-                        {{ s.student }}
+                        <el-tooltip effect="dark" :content="s.student" placement="top">
+                            <span>{{ s.student }}</span>
+                        </el-tooltip>
                       </div>
                     </div>
                   </div>
@@ -4075,7 +4089,9 @@
                         class="noWorksName"
                         @click="teacherWorkSubmit(45, toolIndex, taskCount, s)"
                       >
-                        {{ s.student }}
+                        <el-tooltip effect="dark" :content="s.student" placement="top">
+                            <span>{{ s.student }}</span>
+                        </el-tooltip>
                       </div>
                     </div>
                   </div>
@@ -4181,7 +4197,9 @@
                         class="noWorksName"
                         @click="teacherWorkSubmit(69, toolIndex, taskCount, s)"
                       >
-                        {{ s.student }}
+                        <el-tooltip effect="dark" :content="s.student" placement="top">
+                            <span>{{ s.student }}</span>
+                        </el-tooltip>
                       </div>
                     </div>
                   </div>
@@ -4477,7 +4495,9 @@
                         class="noWorksName"
                         @click="teacherWorkSubmit(15, toolIndex, taskCount, s)"
                       >
-                        {{ s.student }}
+                        <el-tooltip effect="dark" :content="s.student" placement="top">
+                            <span>{{ s.student }}</span>
+                        </el-tooltip>
                       </div>
                     </div>
                   </div>
@@ -4759,7 +4779,9 @@
                         class="noWorksName"
                         @click="teacherWorkSubmit(1, toolIndex, taskCount, s)"
                       >
-                        {{ s.student }}
+                        <el-tooltip effect="dark" :content="s.student" placement="top">
+                            <span>{{ s.student }}</span>
+                        </el-tooltip>
                       </div>
                     </div>
                   </div>
@@ -5041,7 +5063,9 @@
                         class="noWorksName"
                         @click="teacherWorkSubmit(3, toolIndex, taskCount, s)"
                       >
-                        {{ s.student }}
+                        <el-tooltip effect="dark" :content="s.student" placement="top">
+                            <span>{{ s.student }}</span>
+                        </el-tooltip>
                       </div>
                     </div>
                   </div>
@@ -5322,7 +5346,9 @@
                         :key="sIndex"
                         class="noWorksName"
                       >
-                        {{ s.student }}
+                        <el-tooltip effect="dark" :content="s.student" placement="top">
+                            <span>{{ s.student }}</span>
+                        </el-tooltip>
                       </div>
                     </div>
                   </div>
@@ -5604,7 +5630,9 @@
                         class="noWorksName"
                         @click="teacherWorkSubmit(7, toolIndex, taskCount, s)"
                       >
-                        {{ s.student }}
+                        <el-tooltip effect="dark" :content="s.student" placement="top">
+                            <span>{{ s.student }}</span>
+                        </el-tooltip>
                       </div>
                     </div>
                   </div>
@@ -5711,7 +5739,9 @@
                         :key="sIndex"
                         class="noWorksName"
                       >
-                        {{ s.student }}
+                        <el-tooltip effect="dark" :content="s.student" placement="top">
+                            <span>{{ s.student }}</span>
+                        </el-tooltip>
                       </div>
                     </div>
                   </div>
@@ -5843,7 +5873,9 @@
                         class="noWorksName"
                         @click="teacherWorkSubmit(40, toolIndex, taskCount, s)"
                       >
-                        {{ s.student }}
+                        <el-tooltip effect="dark" :content="s.student" placement="top">
+                            <span>{{ s.student }}</span>
+                        </el-tooltip>
                       </div>
                     </div>
                   </div>
@@ -6015,7 +6047,9 @@
                         class="noWorksName"
                         @click="teacherWorkSubmit(41, toolIndex, taskCount, s)"
                       >
-                        {{ s.student }}
+                        <el-tooltip effect="dark" :content="s.student" placement="top">
+                            <span>{{ s.student }}</span>
+                        </el-tooltip>
                       </div>
                     </div>
                   </div>
@@ -6248,7 +6282,9 @@
                         class="noWorksName"
                         @click="teacherWorkSubmit(47, toolIndex, taskCount, s)"
                       >
-                        {{ s.student }}
+                        <el-tooltip effect="dark" :content="s.student" placement="top">
+                            <span>{{ s.student }}</span>
+                        </el-tooltip>
                       </div>
                     </div>
                   </div>
@@ -6406,7 +6442,9 @@
                         class="noWorksName"
                         @click="teacherWorkSubmit(48, toolIndex, taskCount, s)"
                       >
-                        {{ s.student }}
+                        <el-tooltip effect="dark" :content="s.student" placement="top">
+                            <span>{{ s.student }}</span>
+                        </el-tooltip>
                       </div>
                     </div>
                   </div>
@@ -6635,7 +6673,9 @@
                         class="noWorksName"
                         @click="teacherWorkSubmit(52, toolIndex, taskCount, s)"
                       >
-                        {{ s.student }}
+                        <el-tooltip effect="dark" :content="s.student" placement="top">
+                            <span>{{ s.student }}</span>
+                        </el-tooltip>
                       </div>
                     </div>
                   </div>
@@ -8041,7 +8081,7 @@
       </div>
     </div>
 		<!-- v-show="org == '1973f6c7-1561-11ee-91d8-005056b86db5' || org == '777559d2-7239-11ee-b98c-005056b86db5' || org == '884c5665-a453-46f3-b7b6-01d575290aa9'" -->
-		<classRoomHelper :tcid="tcid" :navList="navList" v-show="orgArray.includes(org) || oidArray.includes(oid)" ref="classRoomHelperRef" :courseDetail="courseDetail" :tType="tType" @setWidth="setClassRoomHelperWidth" @refresh="refreshCourse" @goStep="nextOrpreSteps" @authority="juriVisible = true" @review="setPz" @backPage="goTo(
+		<classRoomHelper :fileList="vChapterData[taskCount]" :worksStudent="worksStudent" :courseType="parseInt(courseType)" :taskCount="taskCount" :tcid="tcid" :navList="navList" v-show="orgArray.includes(org) || oidArray.includes(oid)" ref="classRoomHelperRef" :courseDetail="courseDetail" :tType="tType" @setWidth="setClassRoomHelperWidth" @refresh="refreshCourse" @goStep="nextOrpreSteps" @authority="juriVisible = true" @review="setPz" @backPage="goTo(
                     '/courseDetail?userid=' +
                       userid +
                       '&oid=' +
@@ -12345,8 +12385,8 @@ export default {
 				isScoreList:[],	
 			},
 			classRoomHelperWidth: '85px',
-			orgArray:['1973f6c7-1561-11ee-91d8-005056b86db5','777559d2-7239-11ee-b98c-005056b86db5','884c5665-a453-46f3-b7b6-01d575290aa9'],
-      oidArray:['f297fbdc-f0a0-11ee-b534-005056b86db5']
+			orgArray:['1973f6c7-1561-11ee-91d8-005056b86db5','777559d2-7239-11ee-b98c-005056b86db5','884c5665-a453-46f3-b7b6-01d575290aa9','0fec3a8a-ad04-11ed-b13d-005056b86db5'],
+      oidArray:['f297fbdc-f0a0-11ee-b534-005056b86db5','45facc0a-1211-11ec-80ad-005056b86db5']
     };
   },
   methods: {
@@ -14383,17 +14423,17 @@ export default {
                     f[g].ttype == 2 &&
                     this.tcid &&
                     this.arrayToArray(
-                      f[g].classid.split(","),
+                      (f[g].classid ? f[g].classid.split(",") : []),
                       this.tcid.split(",")
                     ).length == 0
                   ) {
                     continue;
                   }
                   if (gA == f[g].group && f[g].tool == i && (this.arrayToArray(
-                      f[g].classid.split(","),
+                      (f[g].classid ? f[g].classid.split(",") : []),
                       this.tcid.split(",")
                     ).length !== 0 || this.arrayToArray(
-                      f[g].classid.split(","),
+                      (f[g].classid ? f[g].classid.split(",") : []),
                       this.classId ? this.classId.split(",") : []
                     ).length !== 0 || (!this.tcid && this.tType == '1') || (this.courseDetail.juri === '') || f[g].ttype == 1)) {
                     this.groupStudent[i][gA].push(f[g]);
@@ -14416,6 +14456,7 @@ export default {
               var commentCount = 0;
               var isLikes = false;
               var commentJson = [];
+							var likeJson = [];
               var data = b[j];
               if (i == b[j].tool) {
                 if (data.type == 2 && a[i].tool[0] == 4) {
@@ -14577,7 +14618,7 @@ export default {
                   //点赞
                   if (d[k].workId == b[j].id) {
                     likesCount++;
-
+										likeJson.push(d[k])
                     if (d[k].likesId == this.userid) {
                       isLikes = true;
                     }
@@ -14629,6 +14670,7 @@ export default {
                       works: b[j].content,
                       sName: b[j].name,
                       type: 1,
+											ttype:b[j].ttype,
                       time: b[j].time,
                       score: b[j].score,
                       img: b[j].img,
@@ -14636,6 +14678,7 @@ export default {
                       commentCount: commentCount,
                       isLikes: isLikes,
                       commentJson: commentJson,
+											likeJson:likeJson
                     };
                     if (this.isGroup) {
                       let isGw = 1;
@@ -14682,6 +14725,7 @@ export default {
                       works: b[j].content,
                       sName: b[j].name,
                       type: 3,
+											ttype:b[j].ttype,
                       time: b[j].time,
                       score: b[j].score,
                       img: b[j].img,
@@ -14689,6 +14733,7 @@ export default {
                       commentCount: commentCount,
                       isLikes: isLikes,
                       commentJson: commentJson,
+											likeJson:likeJson
                     };
                     if (this.isGroup) {
                       let isGw = 1;
@@ -14727,6 +14772,7 @@ export default {
                       works: b[j].content,
                       sName: b[j].name,
                       type: 4,
+											ttype:b[j].ttype,
                       time: b[j].time,
                       score: b[j].score,
                       img: b[j].img,
@@ -14734,6 +14780,7 @@ export default {
                       commentCount: commentCount,
                       isLikes: isLikes,
                       commentJson: commentJson,
+											likeJson:likeJson
                     };
                     _worksStudent[i].push(_works);
                     _worksStudent2[i].push(_works);
@@ -14749,6 +14796,7 @@ export default {
                       works: b[j].content,
                       sName: b[j].name,
                       type: 5,
+											ttype:b[j].ttype,
                       time: b[j].time,
                       score: b[j].score,
                       img: b[j].img,
@@ -14756,6 +14804,7 @@ export default {
                       commentCount: commentCount,
                       isLikes: isLikes,
                       commentJson: commentJson,
+											likeJson:likeJson
                     };
                     _worksStudent[i].push(_work);
                     _worksStudent2[i].push(_work);
@@ -14771,6 +14820,7 @@ export default {
                       works: b[j].content,
                       sName: b[j].name,
                       type: 12,
+											ttype:b[j].ttype,
                       time: b[j].time,
                       score: b[j].score,
                       img: b[j].img,
@@ -14778,6 +14828,7 @@ export default {
                       commentCount: commentCount,
                       isLikes: isLikes,
                       commentJson: commentJson,
+											likeJson:likeJson
                     };
                     if (this.isGroup) {
                       let isGw = 1;
@@ -14816,6 +14867,7 @@ export default {
                       works: b[j].content,
                       sName: b[j].name,
                       type: 0,
+											ttype:b[j].ttype,
                       time: b[j].time,
                       score: b[j].score,
                       img: b[j].img,
@@ -14823,6 +14875,7 @@ export default {
                       commentCount: commentCount,
                       isLikes: isLikes,
                       commentJson: commentJson,
+											likeJson:likeJson
                     };
                     if (this.isGroup) {
                       let isGw = 1;
@@ -14861,6 +14914,7 @@ export default {
                       works: b[j].content,
                       sName: b[j].name,
                       type: 0,
+											ttype:b[j].ttype,
                       time: b[j].time,
                       score: b[j].score,
                       img: b[j].img,
@@ -14868,6 +14922,7 @@ export default {
                       commentCount: commentCount,
                       isLikes: isLikes,
                       commentJson: commentJson,
+											likeJson:likeJson
                     };
                     if (this.isGroup) {
                       let isGw = 1;
@@ -14907,6 +14962,7 @@ export default {
                     works: b[j].content,
                     sName: b[j].name,
                     type: 2,
+										ttype:b[j].ttype,
                     time: b[j].time,
                     score: b[j].score,
                     img: b[j].img,
@@ -14914,6 +14970,7 @@ export default {
                     commentCount: commentCount,
                     isLikes: isLikes,
                     commentJson: commentJson,
+										likeJson:likeJson
                   };
                   if (this.isGroup) {
                     let isGw = 1;
@@ -14949,6 +15006,7 @@ export default {
                     works: b[j].content,
                     sName: b[j].name,
                     type: 2,
+										ttype:b[j].ttype,
                     time: b[j].time,
                     score: b[j].score,
                     img: b[j].img,
@@ -14956,6 +15014,7 @@ export default {
                     commentCount: commentCount,
                     isLikes: isLikes,
                     commentJson: commentJson,
+										likeJson:likeJson
                   };
                   _worksStudent[i].push(_work);
                   _worksStudent2[i].push(_work);
@@ -14969,6 +15028,7 @@ export default {
                     works: b[j].content,
                     sName: b[j].name,
                     type: 8,
+										ttype:b[j].ttype,
                     time: b[j].time,
                     score: b[j].score,
                     img: b[j].img,
@@ -14976,6 +15036,7 @@ export default {
                     commentCount: commentCount,
                     isLikes: isLikes,
                     commentJson: commentJson,
+										likeJson:likeJson
                   };
                   _worksStudent[i].push(_work);
                   _worksStudent2[i].push(_work);
@@ -14989,6 +15050,7 @@ export default {
                     works: b[j].content,
                     sName: b[j].name,
                     type: 9,
+										ttype:b[j].ttype,
                     time: b[j].time,
                     score: b[j].score,
                     img: b[j].img,
@@ -14996,6 +15058,7 @@ export default {
                     commentCount: commentCount,
                     isLikes: isLikes,
                     commentJson: commentJson,
+										likeJson:likeJson
                   };
                   _worksStudent[i].push(_work);
                   _worksStudent2[i].push(_work);
@@ -15009,6 +15072,7 @@ export default {
                     works: b[j].content,
                     sName: b[j].name,
                     type: 10,
+										ttype:b[j].ttype,
                     time: b[j].time,
                     score: b[j].score,
                     img: b[j].img,
@@ -15016,6 +15080,7 @@ export default {
                     commentCount: commentCount,
                     isLikes: isLikes,
                     commentJson: commentJson,
+										likeJson:likeJson
                   };
                   _worksStudent[i].push(_work);
                   _worksStudent2[i].push(_work);
@@ -15029,6 +15094,7 @@ export default {
                     works: b[j].content,
                     sName: b[j].name,
                     type: 13,
+										ttype:b[j].ttype,
                     time: b[j].time,
                     score: b[j].score,
                     img: b[j].img,
@@ -15036,6 +15102,7 @@ export default {
                     commentCount: commentCount,
                     isLikes: isLikes,
                     commentJson: commentJson,
+										likeJson:likeJson
                   };
                   _worksStudent[i].push(_work);
                   _worksStudent2[i].push(_work);
@@ -15049,6 +15116,7 @@ export default {
                     works: b[j].content,
                     sName: b[j].name,
                     type: 16,
+										ttype:b[j].ttype,
                     time: b[j].time,
                     score: b[j].score,
                     img: b[j].img,
@@ -15057,7 +15125,8 @@ export default {
                     isLikes: isLikes,
                     commentJson: commentJson,
                     aiCode: b[j].aiCode,
-                    teacherCode: b[j].teacherCode
+                    teacherCode: b[j].teacherCode,
+										likeJson:likeJson
                   };
                   _worksStudent[i].push(_work);
                   _worksStudent2[i].push(_work);
@@ -15071,6 +15140,7 @@ export default {
                     works: b[j].content,
                     sName: b[j].name,
                     type: 17,
+										ttype:b[j].ttype,
                     time: b[j].time,
                     score: b[j].score,
                     img: b[j].img,
@@ -15078,6 +15148,7 @@ export default {
                     commentCount: commentCount,
                     isLikes: isLikes,
                     commentJson: commentJson,
+										likeJson:likeJson
                   };
                   _worksStudent[i].push(_work);
                   _worksStudent2[i].push(_work);
@@ -15091,6 +15162,7 @@ export default {
                     works: b[j].content,
                     sName: b[j].name,
                     type: 14,
+										ttype:b[j].ttype,
                     time: b[j].time,
                     score: b[j].score,
                     img: b[j].img,
@@ -15098,6 +15170,7 @@ export default {
                     commentCount: commentCount,
                     isLikes: isLikes,
                     commentJson: commentJson,
+										likeJson:likeJson
                   };
                   _worksStudent[i].push(_work);
                   _worksStudent2[i].push(_work);
@@ -15116,6 +15189,7 @@ export default {
                       works: _gindex.url,
                       sName: b[j].name,
                       type: _gindex.type,
+											ttype:b[j].ttype,
                       time: b[j].time,
                       score: b[j].score,
                       img: b[j].img,
@@ -15123,6 +15197,7 @@ export default {
                       commentCount: commentCount,
                       isLikes: isLikes,
                       commentJson: commentJson,
+											likeJson:likeJson
                     };
                     _worksStudent[i][_gindex.groupIndex].push(_work);
                     _worksStudent2[i][_gindex.groupIndex].push(_work);
@@ -15136,6 +15211,7 @@ export default {
                     works: b[j].content,
                     sName: b[j].name ? b[j].name : b[j].userid,
                     type: b[j].type == 1 ? 0 : b[j].type == 4 ? 1 : 3,
+										ttype:b[j].ttype,
                     time: b[j].time,
                     score: b[j].score,
                     img: b[j].img,
@@ -15143,6 +15219,7 @@ export default {
                     commentCount: commentCount,
                     isLikes: isLikes,
                     commentJson: commentJson,
+										likeJson:likeJson
                   };
                   _worksStudent[i].push(_work);
                   _worksStudent2[i].push(_work);
@@ -15155,6 +15232,7 @@ export default {
                     works: b[j].content,
                     sName: b[j].name ? b[j].name : b[j].userid,
                     type: 12,
+										ttype:b[j].ttype,
                     time: b[j].time,
                     score: b[j].score,
                     img: b[j].img,
@@ -15162,6 +15240,7 @@ export default {
                     commentCount: commentCount,
                     isLikes: isLikes,
                     commentJson: commentJson,
+										likeJson:likeJson
                   };
                   _worksStudent[i].push(_work);
                   _worksStudent2[i].push(_work);
@@ -15178,6 +15257,7 @@ export default {
                     works: b[j].content,
                     sName: b[j].name ? b[j].name : b[j].userid,
                     type: 12,
+										ttype:b[j].ttype,
                     time: b[j].time,
                     score: b[j].score,
                     img: b[j].img,
@@ -15185,6 +15265,7 @@ export default {
                     commentCount: commentCount,
                     isLikes: isLikes,
                     commentJson: commentJson,
+										likeJson:likeJson
                   };
                   _worksStudent[i].push(_work);
                   _worksStudent2[i].push(_work);
@@ -15201,6 +15282,7 @@ export default {
                     works: b[j].content,
                     sName: b[j].name ? b[j].name : b[j].userid,
                     type: 15,
+										ttype:b[j].ttype,
                     time: b[j].time,
                     score: b[j].score,
                     img: b[j].img,
@@ -15208,6 +15290,7 @@ export default {
                     commentCount: commentCount,
                     isLikes: isLikes,
                     commentJson: commentJson,
+										likeJson:likeJson
                   };
                   _worksStudent[i].push(_work);
                   _worksStudent2[i].push(_work);
@@ -18946,7 +19029,7 @@ export default {
         // document.getElementsByClassName("vedioList")[0].style.height = a + "px";
         if (this.showType == 2 || this.showType == 3) {
           document.getElementsByClassName("navBox")[0].style.height =
-            a - 40 + 46 + "px";
+            a - 40 + 0+ "px";
         } else {
           document.getElementsByClassName("navBox")[0].style.height =
             a - 40 + "px";
@@ -20056,7 +20139,7 @@ export default {
       // document.getElementsByClassName("vedioList")[0].style.height = a + "px";
       if (this.showType == 2 || this.showType == 3) {
         document.getElementsByClassName("navBox")[0].style.height =
-          a - 40 + 46 + "px";
+          a - 40 + 0+ "px";
       } else {
         document.getElementsByClassName("navBox")[0].style.height =
           a - 40 + "px";
@@ -21805,6 +21888,14 @@ export default {
   border: 1px solid #0061ff;
 }
 
+.noWorksName > span{
+  max-width: 100%;
+  display: block;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+}
+
 .isWorksName2 {
   width: 100px;
   height: 40px;
@@ -23102,6 +23193,8 @@ ol {
   /* -webkit-user-modify: read-write; */
   overflow-wrap: break-word;
   -webkit-line-break: after-white-space;
+  word-break: break-word;
+  white-space: pre-line;
 }
 
 .scoreBox,

+ 5 - 5
src/components/easy3/studyStudent jiu.vue

@@ -13807,17 +13807,17 @@ export default {
                     f[g].ttype == 2 &&
                     this.tcid &&
                     this.arrayToArray(
-                      f[g].classid.split(","),
+                      (f[g].classid ? f[g].classid.split(",") : []),
                       this.tcid.split(",")
                     ).length == 0
                   ) {
                     continue;
                   }
                   if (gA == f[g].group && f[g].tool == i && (this.arrayToArray(
-                      f[g].classid.split(","),
+                      (f[g].classid ? f[g].classid.split(",") : []),
                       this.tcid.split(",")
                     ).length !== 0 || this.arrayToArray(
-                      f[g].classid.split(","),
+                      (f[g].classid ? f[g].classid.split(",") : []),
                       this.classId ? this.classId.split(",") : []
                     ).length !== 0 || (!this.tcid && this.tType == '1') || (this.courseDetail.juri === '') || f[g].ttype == 1)) {
                     this.groupStudent[i][gA].push(f[g]);
@@ -17870,7 +17870,7 @@ export default {
         // document.getElementsByClassName("vedioList")[0].style.height = a + "px";
         if (this.showType == 2 || this.showType == 3) {
           document.getElementsByClassName("navBox")[0].style.height =
-            a - 40 + 46 + "px";
+            a - 40 + 0+ "px";
         } else {
           document.getElementsByClassName("navBox")[0].style.height =
             a - 40 + "px";
@@ -18838,7 +18838,7 @@ export default {
       // document.getElementsByClassName("vedioList")[0].style.height = a + "px";
       if (this.showType == 2 || this.showType == 3) {
         document.getElementsByClassName("navBox")[0].style.height =
-          a - 40 + 46 + "px";
+          a - 40 + 0+ "px";
       } else {
         document.getElementsByClassName("navBox")[0].style.height =
           a - 40 + "px";

+ 124 - 31
src/components/easy3/studyStudent.vue

@@ -227,7 +227,7 @@
       <div class="body_student" :style="{width: mlDialog ? 'calc(100% - '+classRoomHelperWidth+' - 20% - 40px)' : 'calc(100% - '+classRoomHelperWidth+' - 10px)', left: mlDialog ? 'calc(20% + 35px)' : '10px' }">
         <div class="new_topFixed" :style="{width: mlDialog ? 'calc(100% - '+classRoomHelperWidth+' - 20% - 40px)' : 'calc(100% - '+classRoomHelperWidth+' - 10px)', left: mlDialog ? 'calc(20% + 35px)' : '10px' }"></div>
         <div class="new_top" :style="{width: mlDialog ? 'calc(100% - '+classRoomHelperWidth+' - 20% - 40px)' : 'calc(100% - '+classRoomHelperWidth+' - 10px)', left: mlDialog ? 'calc(20% + 35px)' : '10px' }">
-          <div class="courseIndex">
+          <div class="courseIndex" :style="{width: orgArray.includes(org) ? '100%' : 'calc(100% - 745px)'}">
             <div>任务{{ taskCount + 1 }}</div>
             <el-tooltip
               effect="light"
@@ -1910,7 +1910,9 @@
                         :key="sIndex"
                         class="noWorksName"
                       >
-                        {{ s.student }}
+                        <el-tooltip effect="dark" :content="s.student" placement="top">
+                            <span>{{ s.student }}</span>
+                        </el-tooltip>
                       </div>
                     </div>
                   </div>
@@ -3028,7 +3030,9 @@
                         class="noWorksName"
                         @click="teacherWorkSubmit(16, toolIndex, taskCount, s)"
                       >
-                        {{ s.student }}
+                        <el-tooltip effect="dark" :content="s.student" placement="top">
+                            <span>{{ s.student }}</span>
+                        </el-tooltip>
                       </div>
                     </div>
                   </div>
@@ -3128,7 +3132,9 @@
                         :key="sIndex"
                         class="noWorksName"
                       >
-                        {{ s.student }}
+                        <el-tooltip effect="dark" :content="s.student" placement="top">
+                            <span>{{ s.student }}</span>
+                        </el-tooltip>
                       </div>
                     </div>
                   </div>
@@ -3336,7 +3342,9 @@
                         class="noWorksName"
                         @click="teacherWorkSubmit(32, toolIndex, taskCount, s)"
                       >
-                        {{ s.student }}
+                        <el-tooltip effect="dark" :content="s.student" placement="top">
+                            <span>{{ s.student }}</span>
+                        </el-tooltip>
                       </div>
                     </div>
                   </div>
@@ -3504,7 +3512,9 @@
                         class="noWorksName"
                         @click="teacherWorkSubmit(57, toolIndex, taskCount, s)"
                       >
-                        {{ s.student }}
+                        <el-tooltip effect="dark" :content="s.student" placement="top">
+                            <span>{{ s.student }}</span>
+                        </el-tooltip>
                       </div>
                     </div>
                   </div>
@@ -3752,7 +3762,9 @@
                         class="noWorksName"
                         @click="teacherWorkSubmit(50, toolIndex, taskCount, s)"
                       >
-                        {{ s.student }}
+                        <el-tooltip effect="dark" :content="s.student" placement="top">
+                            <span>{{ s.student }}</span>
+                        </el-tooltip>
                       </div>
                     </div>
                   </div>
@@ -3938,7 +3950,9 @@
                         class="noWorksName"
                         @click="teacherWorkSubmit(4, toolIndex, taskCount, s)"
                       >
-                        {{ s.student }}
+                        <el-tooltip effect="dark" :content="s.student" placement="top">
+                            <span>{{ s.student }}</span>
+                        </el-tooltip>
                       </div>
                     </div>
                   </div>
@@ -4105,7 +4119,9 @@
                         class="noWorksName"
                         @click="teacherWorkSubmit(45, toolIndex, taskCount, s)"
                       >
-                        {{ s.student }}
+                        <el-tooltip effect="dark" :content="s.student" placement="top">
+                            <span>{{ s.student }}</span>
+                        </el-tooltip>
                       </div>
                     </div>
                   </div>
@@ -4211,7 +4227,9 @@
                         class="noWorksName"
                         @click="teacherWorkSubmit(69, toolIndex, taskCount, s)"
                       >
-                        {{ s.student }}
+                        <el-tooltip effect="dark" :content="s.student" placement="top">
+                            <span>{{ s.student }}</span>
+                        </el-tooltip>
                       </div>
                     </div>
                   </div>
@@ -4507,7 +4525,9 @@
                         class="noWorksName"
                         @click="teacherWorkSubmit(15, toolIndex, taskCount, s)"
                       >
-                        {{ s.student }}
+                        <el-tooltip effect="dark" :content="s.student" placement="top">
+                            <span>{{ s.student }}</span>
+                        </el-tooltip>
                       </div>
                     </div>
                   </div>
@@ -4789,7 +4809,9 @@
                         class="noWorksName"
                         @click="teacherWorkSubmit(1, toolIndex, taskCount, s)"
                       >
-                        {{ s.student }}
+                        <el-tooltip effect="dark" :content="s.student" placement="top">
+                            <span>{{ s.student }}</span>
+                        </el-tooltip>
                       </div>
                     </div>
                   </div>
@@ -5071,7 +5093,9 @@
                         class="noWorksName"
                         @click="teacherWorkSubmit(3, toolIndex, taskCount, s)"
                       >
-                        {{ s.student }}
+                        <el-tooltip effect="dark" :content="s.student" placement="top">
+                            <span>{{ s.student }}</span>
+                        </el-tooltip>
                       </div>
                     </div>
                   </div>
@@ -5352,7 +5376,9 @@
                         :key="sIndex"
                         class="noWorksName"
                       >
-                        {{ s.student }}
+                        <el-tooltip effect="dark" :content="s.student" placement="top">
+                            <span>{{ s.student }}</span>
+                        </el-tooltip>
                       </div>
                     </div>
                   </div>
@@ -5634,7 +5660,9 @@
                         class="noWorksName"
                         @click="teacherWorkSubmit(7, toolIndex, taskCount, s)"
                       >
-                        {{ s.student }}
+                        <el-tooltip effect="dark" :content="s.student" placement="top">
+                            <span>{{ s.student }}</span>
+                        </el-tooltip>
                       </div>
                     </div>
                   </div>
@@ -5741,7 +5769,9 @@
                         :key="sIndex"
                         class="noWorksName"
                       >
-                        {{ s.student }}
+                        <el-tooltip effect="dark" :content="s.student" placement="top">
+                            <span>{{ s.student }}</span>
+                        </el-tooltip>
                       </div>
                     </div>
                   </div>
@@ -5873,7 +5903,9 @@
                         class="noWorksName"
                         @click="teacherWorkSubmit(40, toolIndex, taskCount, s)"
                       >
-                        {{ s.student }}
+                        <el-tooltip effect="dark" :content="s.student" placement="top">
+                            <span>{{ s.student }}</span>
+                        </el-tooltip>
                       </div>
                     </div>
                   </div>
@@ -6045,7 +6077,9 @@
                         class="noWorksName"
                         @click="teacherWorkSubmit(41, toolIndex, taskCount, s)"
                       >
-                        {{ s.student }}
+                        <el-tooltip effect="dark" :content="s.student" placement="top">
+                            <span>{{ s.student }}</span>
+                        </el-tooltip>
                       </div>
                     </div>
                   </div>
@@ -6278,7 +6312,9 @@
                         class="noWorksName"
                         @click="teacherWorkSubmit(47, toolIndex, taskCount, s)"
                       >
-                        {{ s.student }}
+                        <el-tooltip effect="dark" :content="s.student" placement="top">
+                            <span>{{ s.student }}</span>
+                        </el-tooltip>
                       </div>
                     </div>
                   </div>
@@ -6436,7 +6472,9 @@
                         class="noWorksName"
                         @click="teacherWorkSubmit(48, toolIndex, taskCount, s)"
                       >
-                        {{ s.student }}
+                        <el-tooltip effect="dark" :content="s.student" placement="top">
+                            <span>{{ s.student }}</span>
+                        </el-tooltip>
                       </div>
                     </div>
                   </div>
@@ -6665,7 +6703,9 @@
                         class="noWorksName"
                         @click="teacherWorkSubmit(52, toolIndex, taskCount, s)"
                       >
-                        {{ s.student }}
+                        <el-tooltip effect="dark" :content="s.student" placement="top">
+                            <span>{{ s.student }}</span>
+                        </el-tooltip>
                       </div>
                     </div>
                   </div>
@@ -8071,7 +8111,7 @@
       </div>
     </div>
 				<!-- v-show="org == '1973f6c7-1561-11ee-91d8-005056b86db5' || org == '777559d2-7239-11ee-b98c-005056b86db5' || org == '884c5665-a453-46f3-b7b6-01d575290aa9'" -->
-		<classRoomHelper :tcid="tcid" :navList="navList" v-show="orgArray.includes(org) || oidArray.includes(oid)" ref="classRoomHelperRef" :courseDetail="courseDetail" :tType="tType" @setWidth="setClassRoomHelperWidth" @refresh="refreshCourse" @goStep="nextOrpreSteps" @authority="juriVisible = true" @review="setPz" @backPage="goTo(
+		<classRoomHelper :fileList="vChapterData[taskCount]" :worksStudent="worksStudent" :courseType="parseInt(courseType)" :taskCount="taskCount" :tcid="tcid" :navList="navList" v-show="orgArray.includes(org) || oidArray.includes(oid)" ref="classRoomHelperRef" :courseDetail="courseDetail" :tType="tType" @setWidth="setClassRoomHelperWidth" @refresh="refreshCourse" @goStep="nextOrpreSteps" @authority="juriVisible = true" @review="setPz" @backPage="goTo(
                     '/courseDetail?userid=' +
                       userid +
                       '&oid=' +
@@ -12381,8 +12421,8 @@ export default {
 				isScoreList:[],	
 			},
 			classRoomHelperWidth: '85px',
-			orgArray:['1973f6c7-1561-11ee-91d8-005056b86db5','777559d2-7239-11ee-b98c-005056b86db5','884c5665-a453-46f3-b7b6-01d575290aa9'],
-      oidArray:['f297fbdc-f0a0-11ee-b534-005056b86db5']
+			orgArray:['1973f6c7-1561-11ee-91d8-005056b86db5','777559d2-7239-11ee-b98c-005056b86db5','884c5665-a453-46f3-b7b6-01d575290aa9','0fec3a8a-ad04-11ed-b13d-005056b86db5'],
+      oidArray:['f297fbdc-f0a0-11ee-b534-005056b86db5','45facc0a-1211-11ec-80ad-005056b86db5']
     };
   },
   methods: {
@@ -14422,17 +14462,17 @@ export default {
                     f[g].ttype == 2 &&
                     this.tcid &&
                     this.arrayToArray(
-                      f[g].classid.split(","),
+                      (f[g].classid ? f[g].classid.split(",") : []),
                       this.tcid.split(",")
                     ).length == 0
                   ) {
                     continue;
                   }
                   if (gA == f[g].group && f[g].tool == i && (this.arrayToArray(
-                      f[g].classid.split(","),
+                      (f[g].classid ? f[g].classid.split(",") : []),
                       this.tcid.split(",")
                     ).length !== 0 || this.arrayToArray(
-                      f[g].classid.split(","),
+                      (f[g].classid ? f[g].classid.split(",") : []),
                       this.classId ? this.classId.split(",") : []
                     ).length !== 0 || (!this.tcid && this.tType == '1') || (this.courseDetail.juri === '') || f[g].ttype == 1)) {
                     this.groupStudent[i][gA].push(f[g]);
@@ -14455,6 +14495,7 @@ export default {
               var commentCount = 0;
               var isLikes = false;
               var commentJson = [];
+							var likeJson = [];
               var data = b[j];
               if (i == b[j].tool) {
                 if (data.type == 2 && a[i].tool[0] == 4) {
@@ -14616,7 +14657,7 @@ export default {
                   //点赞
                   if (d[k].workId == b[j].id) {
                     likesCount++;
-
+										likeJson.push(d[k])
                     if (d[k].likesId == this.userid) {
                       isLikes = true;
                     }
@@ -14668,6 +14709,7 @@ export default {
                       works: b[j].content,
                       sName: b[j].name,
                       type: 1,
+											ttype:b[j].ttype,
                       time: b[j].time,
                       score: b[j].score,
                       img: b[j].img,
@@ -14675,6 +14717,7 @@ export default {
                       commentCount: commentCount,
                       isLikes: isLikes,
                       commentJson: commentJson,
+											likeJson:likeJson
                     };
                     if (this.isGroup) {
                       let isGw = 1;
@@ -14721,6 +14764,7 @@ export default {
                       works: b[j].content,
                       sName: b[j].name,
                       type: 3,
+											ttype:b[j].ttype,
                       time: b[j].time,
                       score: b[j].score,
                       img: b[j].img,
@@ -14728,6 +14772,7 @@ export default {
                       commentCount: commentCount,
                       isLikes: isLikes,
                       commentJson: commentJson,
+											likeJson:likeJson
                     };
                     if (this.isGroup) {
                       let isGw = 1;
@@ -14766,6 +14811,7 @@ export default {
                       works: b[j].content,
                       sName: b[j].name,
                       type: 4,
+											ttype:b[j].ttype,
                       time: b[j].time,
                       score: b[j].score,
                       img: b[j].img,
@@ -14773,6 +14819,7 @@ export default {
                       commentCount: commentCount,
                       isLikes: isLikes,
                       commentJson: commentJson,
+											likeJson:likeJson
                     };
                     _worksStudent[i].push(_works);
                     _worksStudent2[i].push(_works);
@@ -14788,6 +14835,7 @@ export default {
                       works: b[j].content,
                       sName: b[j].name,
                       type: 5,
+											ttype:b[j].ttype,
                       time: b[j].time,
                       score: b[j].score,
                       img: b[j].img,
@@ -14795,6 +14843,7 @@ export default {
                       commentCount: commentCount,
                       isLikes: isLikes,
                       commentJson: commentJson,
+											likeJson:likeJson
                     };
                     _worksStudent[i].push(_work);
                     _worksStudent2[i].push(_work);
@@ -14810,6 +14859,7 @@ export default {
                       works: b[j].content,
                       sName: b[j].name,
                       type: 12,
+											ttype:b[j].ttype,
                       time: b[j].time,
                       score: b[j].score,
                       img: b[j].img,
@@ -14817,6 +14867,7 @@ export default {
                       commentCount: commentCount,
                       isLikes: isLikes,
                       commentJson: commentJson,
+											likeJson:likeJson
                     };
                     if (this.isGroup) {
                       let isGw = 1;
@@ -14855,6 +14906,7 @@ export default {
                       works: b[j].content,
                       sName: b[j].name,
                       type: 0,
+											ttype:b[j].ttype,
                       time: b[j].time,
                       score: b[j].score,
                       img: b[j].img,
@@ -14862,6 +14914,7 @@ export default {
                       commentCount: commentCount,
                       isLikes: isLikes,
                       commentJson: commentJson,
+											likeJson:likeJson
                     };
                     if (this.isGroup) {
                       let isGw = 1;
@@ -14900,6 +14953,7 @@ export default {
                       works: b[j].content,
                       sName: b[j].name,
                       type: 0,
+											ttype:b[j].ttype,
                       time: b[j].time,
                       score: b[j].score,
                       img: b[j].img,
@@ -14907,6 +14961,7 @@ export default {
                       commentCount: commentCount,
                       isLikes: isLikes,
                       commentJson: commentJson,
+											likeJson:likeJson
                     };
                     if (this.isGroup) {
                       let isGw = 1;
@@ -14946,6 +15001,7 @@ export default {
                     works: b[j].content,
                     sName: b[j].name,
                     type: 2,
+										ttype:b[j].ttype,
                     time: b[j].time,
                     score: b[j].score,
                     img: b[j].img,
@@ -14953,6 +15009,7 @@ export default {
                     commentCount: commentCount,
                     isLikes: isLikes,
                     commentJson: commentJson,
+										likeJson:likeJson
                   };
                   if (this.isGroup) {
                     let isGw = 1;
@@ -14988,6 +15045,7 @@ export default {
                     works: b[j].content,
                     sName: b[j].name,
                     type: 2,
+										ttype:b[j].ttype,
                     time: b[j].time,
                     score: b[j].score,
                     img: b[j].img,
@@ -14995,6 +15053,7 @@ export default {
                     commentCount: commentCount,
                     isLikes: isLikes,
                     commentJson: commentJson,
+										likeJson:likeJson
                   };
                   _worksStudent[i].push(_work);
                   _worksStudent2[i].push(_work);
@@ -15008,6 +15067,7 @@ export default {
                     works: b[j].content,
                     sName: b[j].name,
                     type: 8,
+										ttype:b[j].ttype,
                     time: b[j].time,
                     score: b[j].score,
                     img: b[j].img,
@@ -15015,6 +15075,7 @@ export default {
                     commentCount: commentCount,
                     isLikes: isLikes,
                     commentJson: commentJson,
+										likeJson:likeJson
                   };
                   _worksStudent[i].push(_work);
                   _worksStudent2[i].push(_work);
@@ -15028,6 +15089,7 @@ export default {
                     works: b[j].content,
                     sName: b[j].name,
                     type: 9,
+										ttype:b[j].ttype,
                     time: b[j].time,
                     score: b[j].score,
                     img: b[j].img,
@@ -15035,6 +15097,7 @@ export default {
                     commentCount: commentCount,
                     isLikes: isLikes,
                     commentJson: commentJson,
+										likeJson:likeJson
                   };
                   _worksStudent[i].push(_work);
                   _worksStudent2[i].push(_work);
@@ -15048,6 +15111,7 @@ export default {
                     works: b[j].content,
                     sName: b[j].name,
                     type: 10,
+										ttype:b[j].ttype,
                     time: b[j].time,
                     score: b[j].score,
                     img: b[j].img,
@@ -15055,6 +15119,7 @@ export default {
                     commentCount: commentCount,
                     isLikes: isLikes,
                     commentJson: commentJson,
+										likeJson:likeJson
                   };
                   _worksStudent[i].push(_work);
                   _worksStudent2[i].push(_work);
@@ -15068,6 +15133,7 @@ export default {
                     works: b[j].content,
                     sName: b[j].name,
                     type: 13,
+										ttype:b[j].ttype,
                     time: b[j].time,
                     score: b[j].score,
                     img: b[j].img,
@@ -15075,6 +15141,7 @@ export default {
                     commentCount: commentCount,
                     isLikes: isLikes,
                     commentJson: commentJson,
+										likeJson:likeJson
                   };
                   _worksStudent[i].push(_work);
                   _worksStudent2[i].push(_work);
@@ -15088,6 +15155,7 @@ export default {
                     works: b[j].content,
                     sName: b[j].name,
                     type: 16,
+										ttype:b[j].ttype,
                     time: b[j].time,
                     score: b[j].score,
                     img: b[j].img,
@@ -15096,7 +15164,8 @@ export default {
                     isLikes: isLikes,
                     commentJson: commentJson,
                     aiCode: b[j].aiCode,
-                    teacherCode: b[j].teacherCode
+                    teacherCode: b[j].teacherCode,
+										likeJson:likeJson
                   };
                   _worksStudent[i].push(_work);
                   _worksStudent2[i].push(_work);
@@ -15110,6 +15179,7 @@ export default {
                     works: b[j].content,
                     sName: b[j].name,
                     type: 17,
+										ttype:b[j].ttype,
                     time: b[j].time,
                     score: b[j].score,
                     img: b[j].img,
@@ -15117,6 +15187,7 @@ export default {
                     commentCount: commentCount,
                     isLikes: isLikes,
                     commentJson: commentJson,
+										likeJson:likeJson
                   };
                   _worksStudent[i].push(_work);
                   _worksStudent2[i].push(_work);
@@ -15130,6 +15201,7 @@ export default {
                     works: b[j].content,
                     sName: b[j].name,
                     type: 14,
+										ttype:b[j].ttype,
                     time: b[j].time,
                     score: b[j].score,
                     img: b[j].img,
@@ -15137,6 +15209,7 @@ export default {
                     commentCount: commentCount,
                     isLikes: isLikes,
                     commentJson: commentJson,
+										likeJson:likeJson
                   };
                   _worksStudent[i].push(_work);
                   _worksStudent2[i].push(_work);
@@ -15155,6 +15228,7 @@ export default {
                       works: _gindex.url,
                       sName: b[j].name,
                       type: _gindex.type,
+											ttype:b[j].ttype,
                       time: b[j].time,
                       score: b[j].score,
                       img: b[j].img,
@@ -15162,6 +15236,7 @@ export default {
                       commentCount: commentCount,
                       isLikes: isLikes,
                       commentJson: commentJson,
+											likeJson:likeJson
                     };
                     _worksStudent[i][_gindex.groupIndex].push(_work);
                     _worksStudent2[i][_gindex.groupIndex].push(_work);
@@ -15175,6 +15250,7 @@ export default {
                     works: b[j].content,
                     sName: b[j].name ? b[j].name : b[j].userid,
                     type: b[j].type == 1 ? 0 : b[j].type == 4 ? 1 : 3,
+										ttype:b[j].ttype,
                     time: b[j].time,
                     score: b[j].score,
                     img: b[j].img,
@@ -15182,6 +15258,7 @@ export default {
                     commentCount: commentCount,
                     isLikes: isLikes,
                     commentJson: commentJson,
+										likeJson:likeJson
                   };
                   _worksStudent[i].push(_work);
                   _worksStudent2[i].push(_work);
@@ -15194,6 +15271,7 @@ export default {
                     works: b[j].content,
                     sName: b[j].name ? b[j].name : b[j].userid,
                     type: 12,
+										ttype:b[j].ttype,
                     time: b[j].time,
                     score: b[j].score,
                     img: b[j].img,
@@ -15201,6 +15279,7 @@ export default {
                     commentCount: commentCount,
                     isLikes: isLikes,
                     commentJson: commentJson,
+										likeJson:likeJson
                   };
                   _worksStudent[i].push(_work);
                   _worksStudent2[i].push(_work);
@@ -15217,6 +15296,7 @@ export default {
                     works: b[j].content,
                     sName: b[j].name ? b[j].name : b[j].userid,
                     type: 12,
+										ttype:b[j].ttype,
                     time: b[j].time,
                     score: b[j].score,
                     img: b[j].img,
@@ -15224,6 +15304,7 @@ export default {
                     commentCount: commentCount,
                     isLikes: isLikes,
                     commentJson: commentJson,
+										likeJson:likeJson
                   };
                   _worksStudent[i].push(_work);
                   _worksStudent2[i].push(_work);
@@ -15240,6 +15321,7 @@ export default {
                     works: b[j].content,
                     sName: b[j].name ? b[j].name : b[j].userid,
                     type: 15,
+										ttype:b[j].ttype,
                     time: b[j].time,
                     score: b[j].score,
                     img: b[j].img,
@@ -15247,6 +15329,7 @@ export default {
                     commentCount: commentCount,
                     isLikes: isLikes,
                     commentJson: commentJson,
+										likeJson:likeJson
                   };
                   _worksStudent[i].push(_work);
                   _worksStudent2[i].push(_work);
@@ -18995,7 +19078,7 @@ export default {
         // document.getElementsByClassName("vedioList")[0].style.height = a + "px";
         if (this.showType == 2 || this.showType == 3) {
           document.getElementsByClassName("navBox")[0].style.height =
-            a - 40 + 46 + "px";
+            a - 40 + 0+ "px";
         } else {
           document.getElementsByClassName("navBox")[0].style.height =
             a - 40 + "px";
@@ -20108,7 +20191,7 @@ export default {
       // document.getElementsByClassName("vedioList")[0].style.height = a + "px";
       if (this.showType == 2 || this.showType == 3) {
         document.getElementsByClassName("navBox")[0].style.height =
-          a - 40 + 46 + "px";
+          a - 40 + 0+ "px";
       } else {
         document.getElementsByClassName("navBox")[0].style.height =
           a - 40 + "px";
@@ -21857,6 +21940,14 @@ export default {
   border: 1px solid #0061ff;
 }
 
+.noWorksName > span{
+  max-width: 100%;
+  display: block;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+}
+
 .isWorksName2 {
   width: 100px;
   height: 40px;
@@ -23156,6 +23247,8 @@ ol {
   /* -webkit-user-modify: read-write; */
   overflow-wrap: break-word;
   -webkit-line-break: after-white-space;
+  word-break: break-word;
+  white-space: pre-line;
 }
 
 .scoreBox,

+ 3 - 3
src/components/noTerminal/studyStudent.vue

@@ -6638,15 +6638,15 @@ export default {
                   if (
                     f[g].ttype == 2 &&
                     this.tcid &&
-                    this.arrayToArray(f[g].classid.split(","), this.tcid.split(",")).length == 0
+                    this.arrayToArray((f[g].classid ? f[g].classid.split(",") : []), this.tcid.split(",")).length == 0
                   ) {
                     continue;
                   }
                   if (gA == f[g].group && f[g].tool == i && (this.arrayToArray(
-                      f[g].classid.split(","),
+                      (f[g].classid ? f[g].classid.split(",") : []),
                       this.tcid.split(",")
                     ).length !== 0 || this.arrayToArray(
-                      f[g].classid.split(","),
+                      (f[g].classid ? f[g].classid.split(",") : []),
                       this.classId ? this.classId.split(",") : []
                     ).length !== 0 || (!this.tcid && this.tType == '1') || (this.courseDetail.juri === '') || f[g].ttype == 1)) {
                     this.groupStudent[i][gA].push(f[g]);

+ 124 - 30
src/components/studyStudent.vue

@@ -240,7 +240,7 @@
       <div class="body_student" :style="{width: mlDialog ? 'calc(100% - '+classRoomHelperWidth+' - 20% - 40px)' : 'calc(100% - '+classRoomHelperWidth+' - 10px)', left: mlDialog ? 'calc(20% + 35px)' : '10px' }">
         <div class="new_topFixed" :style="{width: mlDialog ? 'calc(100% - '+classRoomHelperWidth+' - 20% - 40px)' : 'calc(100% - '+classRoomHelperWidth+' - 10px)', left: mlDialog ? 'calc(20% + 35px)' : '10px' }"></div>
         <div class="new_top" :style="{width: mlDialog ? 'calc(100% - '+classRoomHelperWidth+' - 20% - 40px)' : 'calc(100% - '+classRoomHelperWidth+' - 10px)', left: mlDialog ? 'calc(20% + 35px)' : '10px' }">
-          <div class="courseIndex">
+          <div class="courseIndex" :style="{width: orgArray.includes(org) ? '100%' : 'calc(100% - 745px)'}">
             <div>任务{{ taskCount + 1 }}</div>
             <el-tooltip
               effect="light"
@@ -1878,7 +1878,9 @@
                         :key="sIndex"
                         class="noWorksName"
                       >
-                        {{ s.student }}
+                        <el-tooltip effect="dark" :content="s.student" placement="top">
+                            <span>{{ s.student }}</span>
+                        </el-tooltip>
                       </div>
                     </div>
                   </div>
@@ -2996,7 +2998,9 @@
                         class="noWorksName"
                         @click="teacherWorkSubmit(16, toolIndex, taskCount, s)"
                       >
-                        {{ s.student }}
+                        <el-tooltip effect="dark" :content="s.student" placement="top">
+                            <span>{{ s.student }}</span>
+                        </el-tooltip>
                       </div>
                     </div>
                   </div>
@@ -3096,7 +3100,9 @@
                         :key="sIndex"
                         class="noWorksName"
                       >
-                        {{ s.student }}
+                        <el-tooltip effect="dark" :content="s.student" placement="top">
+                            <span>{{ s.student }}</span>
+                        </el-tooltip>
                       </div>
                     </div>
                   </div>
@@ -3304,7 +3310,9 @@
                         class="noWorksName"
                         @click="teacherWorkSubmit(32, toolIndex, taskCount, s)"
                       >
-                        {{ s.student }}
+                        <el-tooltip effect="dark" :content="s.student" placement="top">
+                            <span>{{ s.student }}</span>
+                        </el-tooltip>
                       </div>
                     </div>
                   </div>
@@ -3472,7 +3480,9 @@
                         class="noWorksName"
                         @click="teacherWorkSubmit(57, toolIndex, taskCount, s)"
                       >
-                        {{ s.student }}
+                        <el-tooltip effect="dark" :content="s.student" placement="top">
+                            <span>{{ s.student }}</span>
+                        </el-tooltip>
                       </div>
                     </div>
                   </div>
@@ -3720,7 +3730,9 @@
                         class="noWorksName"
                         @click="teacherWorkSubmit(50, toolIndex, taskCount, s)"
                       >
-                        {{ s.student }}
+                        <el-tooltip effect="dark" :content="s.student" placement="top">
+                            <span>{{ s.student }}</span>
+                        </el-tooltip>
                       </div>
                     </div>
                   </div>
@@ -3906,7 +3918,9 @@
                         class="noWorksName"
                         @click="teacherWorkSubmit(4, toolIndex, taskCount, s)"
                       >
-                        {{ s.student }}
+                        <el-tooltip effect="dark" :content="s.student" placement="top">
+                            <span>{{ s.student }}</span>
+                        </el-tooltip>
                       </div>
                     </div>
                   </div>
@@ -4073,7 +4087,9 @@
                         class="noWorksName"
                         @click="teacherWorkSubmit(45, toolIndex, taskCount, s)"
                       >
-                        {{ s.student }}
+                        <el-tooltip effect="dark" :content="s.student" placement="top">
+                            <span>{{ s.student }}</span>
+                        </el-tooltip>
                       </div>
                     </div>
                   </div>
@@ -4179,7 +4195,9 @@
                         class="noWorksName"
                         @click="teacherWorkSubmit(69, toolIndex, taskCount, s)"
                       >
-                        {{ s.student }}
+                        <el-tooltip effect="dark" :content="s.student" placement="top">
+                            <span>{{ s.student }}</span>
+                        </el-tooltip>
                       </div>
                     </div>
                   </div>
@@ -4475,7 +4493,9 @@
                         class="noWorksName"
                         @click="teacherWorkSubmit(15, toolIndex, taskCount, s)"
                       >
-                        {{ s.student }}
+                        <el-tooltip effect="dark" :content="s.student" placement="top">
+                            <span>{{ s.student }}</span>
+                        </el-tooltip>
                       </div>
                     </div>
                   </div>
@@ -4757,7 +4777,9 @@
                         class="noWorksName"
                         @click="teacherWorkSubmit(1, toolIndex, taskCount, s)"
                       >
-                        {{ s.student }}
+                        <el-tooltip effect="dark" :content="s.student" placement="top">
+                            <span>{{ s.student }}</span>
+                        </el-tooltip>
                       </div>
                     </div>
                   </div>
@@ -5039,7 +5061,9 @@
                         class="noWorksName"
                         @click="teacherWorkSubmit(3, toolIndex, taskCount, s)"
                       >
-                        {{ s.student }}
+                        <el-tooltip effect="dark" :content="s.student" placement="top">
+                            <span>{{ s.student }}</span>
+                        </el-tooltip>
                       </div>
                     </div>
                   </div>
@@ -5320,7 +5344,9 @@
                         :key="sIndex"
                         class="noWorksName"
                       >
-                        {{ s.student }}
+                        <el-tooltip effect="dark" :content="s.student" placement="top">
+                            <span>{{ s.student }}</span>
+                        </el-tooltip>
                       </div>
                     </div>
                   </div>
@@ -5602,7 +5628,9 @@
                         class="noWorksName"
                         @click="teacherWorkSubmit(7, toolIndex, taskCount, s)"
                       >
-                        {{ s.student }}
+                        <el-tooltip effect="dark" :content="s.student" placement="top">
+                            <span>{{ s.student }}</span>
+                        </el-tooltip>
                       </div>
                     </div>
                   </div>
@@ -5709,7 +5737,9 @@
                         :key="sIndex"
                         class="noWorksName"
                       >
-                        {{ s.student }}
+                        <el-tooltip effect="dark" :content="s.student" placement="top">
+                            <span>{{ s.student }}</span>
+                        </el-tooltip>
                       </div>
                     </div>
                   </div>
@@ -5841,7 +5871,9 @@
                         class="noWorksName"
                         @click="teacherWorkSubmit(40, toolIndex, taskCount, s)"
                       >
-                        {{ s.student }}
+                        <el-tooltip effect="dark" :content="s.student" placement="top">
+                            <span>{{ s.student }}</span>
+                        </el-tooltip>
                       </div>
                     </div>
                   </div>
@@ -6013,7 +6045,9 @@
                         class="noWorksName"
                         @click="teacherWorkSubmit(41, toolIndex, taskCount, s)"
                       >
-                        {{ s.student }}
+                        <el-tooltip effect="dark" :content="s.student" placement="top">
+                            <span>{{ s.student }}</span>
+                        </el-tooltip>
                       </div>
                     </div>
                   </div>
@@ -6246,7 +6280,9 @@
                         class="noWorksName"
                         @click="teacherWorkSubmit(47, toolIndex, taskCount, s)"
                       >
-                        {{ s.student }}
+                        <el-tooltip effect="dark" :content="s.student" placement="top">
+                            <span>{{ s.student }}</span>
+                        </el-tooltip>
                       </div>
                     </div>
                   </div>
@@ -6404,7 +6440,9 @@
                         class="noWorksName"
                         @click="teacherWorkSubmit(48, toolIndex, taskCount, s)"
                       >
-                        {{ s.student }}
+                        <el-tooltip effect="dark" :content="s.student" placement="top">
+                            <span>{{ s.student }}</span>
+                        </el-tooltip>
                       </div>
                     </div>
                   </div>
@@ -6633,7 +6671,9 @@
                         class="noWorksName"
                         @click="teacherWorkSubmit(52, toolIndex, taskCount, s)"
                       >
-                        {{ s.student }}
+                        <el-tooltip effect="dark" :content="s.student" placement="top">
+                            <span>{{ s.student }}</span>
+                        </el-tooltip>
                       </div>
                     </div>
                   </div>
@@ -8038,7 +8078,7 @@
         </el-dialog>
       </div>
 			<!-- v-show="org == '1973f6c7-1561-11ee-91d8-005056b86db5' || org == '777559d2-7239-11ee-b98c-005056b86db5' || org == '884c5665-a453-46f3-b7b6-01d575290aa9'" -->
-      <classRoomHelper :tcid="tcid" :navList="navList" v-show="orgArray.includes(org) || oidArray.includes(oid)"  ref="classRoomHelperRef" :courseDetail="courseDetail" :tType="tType" @setWidth="setClassRoomHelperWidth" @refresh="refreshCourse" @goStep="nextOrpreSteps" @authority="juriVisible = true" @review="setPz" @backPage="goTo(
+      <classRoomHelper :fileList="vChapterData[taskCount]" :worksStudent="worksStudent" :courseType="parseInt(courseType)" :taskCount="taskCount" :tcid="tcid" :navList="navList" v-show="orgArray.includes(org) || oidArray.includes(oid)"  ref="classRoomHelperRef" :courseDetail="courseDetail" :tType="tType" @setWidth="setClassRoomHelperWidth" @refresh="refreshCourse" @goStep="nextOrpreSteps" @authority="juriVisible = true" @review="setPz" @backPage="goTo(
                     '/courseDetail?userid=' +
                       userid +
                       '&oid=' +
@@ -12318,8 +12358,8 @@ export default {
 				isScoreList:[],	
 			},
       classRoomHelperWidth: '85px',
-			orgArray:['1973f6c7-1561-11ee-91d8-005056b86db5','777559d2-7239-11ee-b98c-005056b86db5','884c5665-a453-46f3-b7b6-01d575290aa9'],
-      oidArray:['f297fbdc-f0a0-11ee-b534-005056b86db5']
+			orgArray:['1973f6c7-1561-11ee-91d8-005056b86db5','777559d2-7239-11ee-b98c-005056b86db5','884c5665-a453-46f3-b7b6-01d575290aa9','0fec3a8a-ad04-11ed-b13d-005056b86db5'],
+      oidArray:['f297fbdc-f0a0-11ee-b534-005056b86db5','45facc0a-1211-11ec-80ad-005056b86db5']
     };
   },
   methods: {
@@ -14356,17 +14396,17 @@ export default {
                     f[g].ttype == 2 &&
                     this.tcid &&
                     this.arrayToArray(
-                      f[g].classid.split(","),
+                      (f[g].classid ? f[g].classid.split(",") : []),
                       this.tcid.split(",")
                     ).length == 0
                   ) {
                     continue;
                   }
                   if (gA == f[g].group && f[g].tool == i && (this.arrayToArray(
-                      f[g].classid.split(","),
+                      (f[g].classid ? f[g].classid.split(",") : []),
                       this.tcid.split(",")
                     ).length !== 0 || this.arrayToArray(
-                      f[g].classid.split(","),
+                      (f[g].classid ? f[g].classid.split(",") : []),
                       this.classId ? this.classId.split(",") : []
                     ).length !== 0 || (!this.tcid && this.tType == '1') || (this.courseDetail.juri === '') || f[g].ttype == 1)) {
                     this.groupStudent[i][gA].push(f[g]);
@@ -14389,6 +14429,7 @@ export default {
               var commentCount = 0;
               var isLikes = false;
               var commentJson = [];
+							var likeJson = [];
               var data = b[j];
               if (i == b[j].tool) {
                 if (data.type == 2 && a[i].tool[0] == 4) {
@@ -14550,6 +14591,7 @@ export default {
                   //点赞
                   if (d[k].workId == b[j].id) {
                     likesCount++;
+										likeJson.push(d[k])
 
                     if (d[k].likesId == this.userid) {
                       isLikes = true;
@@ -14602,6 +14644,7 @@ export default {
                       works: b[j].content,
                       sName: b[j].name,
                       type: 1,
+											ttype:b[j].ttype,
                       time: b[j].time,
                       score: b[j].score,
                       img: b[j].img,
@@ -14609,6 +14652,7 @@ export default {
                       commentCount: commentCount,
                       isLikes: isLikes,
                       commentJson: commentJson,
+											likeJson:likeJson
                     };
                     if (this.isGroup) {
                       let isGw = 1;
@@ -14655,6 +14699,7 @@ export default {
                       works: b[j].content,
                       sName: b[j].name,
                       type: 3,
+											ttype:b[j].ttype,
                       time: b[j].time,
                       score: b[j].score,
                       img: b[j].img,
@@ -14662,6 +14707,7 @@ export default {
                       commentCount: commentCount,
                       isLikes: isLikes,
                       commentJson: commentJson,
+											likeJson:likeJson
                     };
                     if (this.isGroup) {
                       let isGw = 1;
@@ -14700,6 +14746,7 @@ export default {
                       works: b[j].content,
                       sName: b[j].name,
                       type: 4,
+											ttype:b[j].ttype,
                       time: b[j].time,
                       score: b[j].score,
                       img: b[j].img,
@@ -14707,6 +14754,7 @@ export default {
                       commentCount: commentCount,
                       isLikes: isLikes,
                       commentJson: commentJson,
+											likeJson:likeJson
                     };
                     _worksStudent[i].push(_works);
                     _worksStudent2[i].push(_works);
@@ -14722,6 +14770,7 @@ export default {
                       works: b[j].content,
                       sName: b[j].name,
                       type: 5,
+											ttype:b[j].ttype,
                       time: b[j].time,
                       score: b[j].score,
                       img: b[j].img,
@@ -14729,6 +14778,7 @@ export default {
                       commentCount: commentCount,
                       isLikes: isLikes,
                       commentJson: commentJson,
+											likeJson:likeJson
                     };
                     _worksStudent[i].push(_work);
                     _worksStudent2[i].push(_work);
@@ -14744,6 +14794,7 @@ export default {
                       works: b[j].content,
                       sName: b[j].name,
                       type: 12,
+											ttype:b[j].ttype,
                       time: b[j].time,
                       score: b[j].score,
                       img: b[j].img,
@@ -14751,6 +14802,7 @@ export default {
                       commentCount: commentCount,
                       isLikes: isLikes,
                       commentJson: commentJson,
+											likeJson:likeJson
                     };
                     if (this.isGroup) {
                       let isGw = 1;
@@ -14789,6 +14841,7 @@ export default {
                       works: b[j].content,
                       sName: b[j].name,
                       type: 0,
+											ttype:b[j].ttype,
                       time: b[j].time,
                       score: b[j].score,
                       img: b[j].img,
@@ -14796,6 +14849,7 @@ export default {
                       commentCount: commentCount,
                       isLikes: isLikes,
                       commentJson: commentJson,
+											likeJson:likeJson
                     };
                     if (this.isGroup) {
                       let isGw = 1;
@@ -14834,6 +14888,7 @@ export default {
                       works: b[j].content,
                       sName: b[j].name,
                       type: 0,
+											ttype:b[j].ttype,
                       time: b[j].time,
                       score: b[j].score,
                       img: b[j].img,
@@ -14841,6 +14896,7 @@ export default {
                       commentCount: commentCount,
                       isLikes: isLikes,
                       commentJson: commentJson,
+											likeJson:likeJson
                     };
                     if (this.isGroup) {
                       let isGw = 1;
@@ -14880,6 +14936,7 @@ export default {
                     works: b[j].content,
                     sName: b[j].name,
                     type: 2,
+										ttype:b[j].ttype,
                     time: b[j].time,
                     score: b[j].score,
                     img: b[j].img,
@@ -14887,6 +14944,7 @@ export default {
                     commentCount: commentCount,
                     isLikes: isLikes,
                     commentJson: commentJson,
+										likeJson:likeJson
                   };
                   if (this.isGroup) {
                     let isGw = 1;
@@ -14922,6 +14980,7 @@ export default {
                     works: b[j].content,
                     sName: b[j].name,
                     type: 2,
+										ttype:b[j].ttype,
                     time: b[j].time,
                     score: b[j].score,
                     img: b[j].img,
@@ -14929,6 +14988,7 @@ export default {
                     commentCount: commentCount,
                     isLikes: isLikes,
                     commentJson: commentJson,
+										likeJson:likeJson
                   };
                   _worksStudent[i].push(_work);
                   _worksStudent2[i].push(_work);
@@ -14942,6 +15002,7 @@ export default {
                     works: b[j].content,
                     sName: b[j].name,
                     type: 8,
+										ttype:b[j].ttype,
                     time: b[j].time,
                     score: b[j].score,
                     img: b[j].img,
@@ -14949,6 +15010,7 @@ export default {
                     commentCount: commentCount,
                     isLikes: isLikes,
                     commentJson: commentJson,
+										likeJson:likeJson
                   };
                   _worksStudent[i].push(_work);
                   _worksStudent2[i].push(_work);
@@ -14962,6 +15024,7 @@ export default {
                     works: b[j].content,
                     sName: b[j].name,
                     type: 9,
+										ttype:b[j].ttype,
                     time: b[j].time,
                     score: b[j].score,
                     img: b[j].img,
@@ -14969,6 +15032,7 @@ export default {
                     commentCount: commentCount,
                     isLikes: isLikes,
                     commentJson: commentJson,
+										likeJson:likeJson
                   };
                   _worksStudent[i].push(_work);
                   _worksStudent2[i].push(_work);
@@ -14982,6 +15046,7 @@ export default {
                     works: b[j].content,
                     sName: b[j].name,
                     type: 10,
+										ttype:b[j].ttype,
                     time: b[j].time,
                     score: b[j].score,
                     img: b[j].img,
@@ -14989,6 +15054,7 @@ export default {
                     commentCount: commentCount,
                     isLikes: isLikes,
                     commentJson: commentJson,
+										likeJson:likeJson
                   };
                   _worksStudent[i].push(_work);
                   _worksStudent2[i].push(_work);
@@ -15002,6 +15068,7 @@ export default {
                     works: b[j].content,
                     sName: b[j].name,
                     type: 13,
+										ttype:b[j].ttype,
                     time: b[j].time,
                     score: b[j].score,
                     img: b[j].img,
@@ -15009,6 +15076,7 @@ export default {
                     commentCount: commentCount,
                     isLikes: isLikes,
                     commentJson: commentJson,
+										likeJson:likeJson
                   };
                   _worksStudent[i].push(_work);
                   _worksStudent2[i].push(_work);
@@ -15022,6 +15090,7 @@ export default {
                     works: b[j].content,
                     sName: b[j].name,
                     type: 16,
+										ttype:b[j].ttype,
                     time: b[j].time,
                     score: b[j].score,
                     img: b[j].img,
@@ -15030,7 +15099,8 @@ export default {
                     isLikes: isLikes,
                     commentJson: commentJson,
                     aiCode: b[j].aiCode,
-                    teacherCode: b[j].teacherCode
+                    teacherCode: b[j].teacherCode,
+										likeJson:likeJson
                   };
                   _worksStudent[i].push(_work);
                   _worksStudent2[i].push(_work);
@@ -15044,6 +15114,7 @@ export default {
                     works: b[j].content,
                     sName: b[j].name,
                     type: 17,
+										ttype:b[j].ttype,
                     time: b[j].time,
                     score: b[j].score,
                     img: b[j].img,
@@ -15051,6 +15122,7 @@ export default {
                     commentCount: commentCount,
                     isLikes: isLikes,
                     commentJson: commentJson,
+										likeJson:likeJson
                   };
                   _worksStudent[i].push(_work);
                   _worksStudent2[i].push(_work);
@@ -15064,6 +15136,7 @@ export default {
                     works: b[j].content,
                     sName: b[j].name,
                     type: 14,
+										ttype:b[j].ttype,
                     time: b[j].time,
                     score: b[j].score,
                     img: b[j].img,
@@ -15071,6 +15144,7 @@ export default {
                     commentCount: commentCount,
                     isLikes: isLikes,
                     commentJson: commentJson,
+										likeJson:likeJson
                   };
                   _worksStudent[i].push(_work);
                   _worksStudent2[i].push(_work);
@@ -15089,6 +15163,7 @@ export default {
                       works: _gindex.url,
                       sName: b[j].name,
                       type: _gindex.type,
+											ttype:b[j].ttype,
                       time: b[j].time,
                       score: b[j].score,
                       img: b[j].img,
@@ -15096,6 +15171,7 @@ export default {
                       commentCount: commentCount,
                       isLikes: isLikes,
                       commentJson: commentJson,
+											likeJson:likeJson
                     };
                     _worksStudent[i][_gindex.groupIndex].push(_work);
                     _worksStudent2[i][_gindex.groupIndex].push(_work);
@@ -15109,6 +15185,7 @@ export default {
                     works: b[j].content,
                     sName: b[j].name ? b[j].name : b[j].userid,
                     type: b[j].type == 1 ? 0 : b[j].type == 4 ? 1 : 3,
+										ttype:b[j].ttype,
                     time: b[j].time,
                     score: b[j].score,
                     img: b[j].img,
@@ -15116,6 +15193,7 @@ export default {
                     commentCount: commentCount,
                     isLikes: isLikes,
                     commentJson: commentJson,
+										likeJson:likeJson
                   };
                   _worksStudent[i].push(_work);
                   _worksStudent2[i].push(_work);
@@ -15128,6 +15206,7 @@ export default {
                     works: b[j].content,
                     sName: b[j].name ? b[j].name : b[j].userid,
                     type: 12,
+										ttype:b[j].ttype,
                     time: b[j].time,
                     score: b[j].score,
                     img: b[j].img,
@@ -15135,6 +15214,7 @@ export default {
                     commentCount: commentCount,
                     isLikes: isLikes,
                     commentJson: commentJson,
+										likeJson:likeJson
                   };
                   _worksStudent[i].push(_work);
                   _worksStudent2[i].push(_work);
@@ -15151,6 +15231,7 @@ export default {
                     works: b[j].content,
                     sName: b[j].name ? b[j].name : b[j].userid,
                     type: 12,
+										ttype:b[j].ttype,
                     time: b[j].time,
                     score: b[j].score,
                     img: b[j].img,
@@ -15158,6 +15239,7 @@ export default {
                     commentCount: commentCount,
                     isLikes: isLikes,
                     commentJson: commentJson,
+										likeJson:likeJson
                   };
                   _worksStudent[i].push(_work);
                   _worksStudent2[i].push(_work);
@@ -15174,6 +15256,7 @@ export default {
                     works: b[j].content,
                     sName: b[j].name ? b[j].name : b[j].userid,
                     type: 15,
+										ttype:b[j].ttype,
                     time: b[j].time,
                     score: b[j].score,
                     img: b[j].img,
@@ -15181,6 +15264,7 @@ export default {
                     commentCount: commentCount,
                     isLikes: isLikes,
                     commentJson: commentJson,
+										likeJson:likeJson
                   };
                   _worksStudent[i].push(_work);
                   _worksStudent2[i].push(_work);
@@ -18922,7 +19006,7 @@ export default {
         // document.getElementsByClassName("vedioList")[0].style.height = a + "px";
         if (this.showType == 2 || this.showType == 3) {
           document.getElementsByClassName("navBox")[0].style.height =
-            a - 40 + 46 + "px";
+            a - 40 + 0+ "px";
         } else {
           document.getElementsByClassName("navBox")[0].style.height =
             a - 40 + "px";
@@ -20026,7 +20110,7 @@ export default {
       // document.getElementsByClassName("vedioList")[0].style.height = a + "px";
       if (this.showType == 2 || this.showType == 3) {
         document.getElementsByClassName("navBox")[0].style.height =
-          a - 40 + 46 + "px";
+          a - 40 + 0+ "px";
       } else {
         document.getElementsByClassName("navBox")[0].style.height =
           a - 40 + "px";
@@ -21775,6 +21859,14 @@ export default {
   border: 1px solid #0061ff;
 }
 
+.noWorksName > span{
+  max-width: 100%;
+  display: block;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+}
+
 .isWorksName2 {
   width: 100px;
   height: 40px;
@@ -23073,6 +23165,8 @@ ol {
   /* -webkit-user-modify: read-write; */
   overflow-wrap: break-word;
   -webkit-line-break: after-white-space;
+  word-break: break-word;
+  white-space: pre-line;
 }
 
 .scoreBox,

+ 5 - 5
src/components/studyStudentJiu.vue

@@ -14325,17 +14325,17 @@ export default {
                     f[g].ttype == 2 &&
                     this.tcid &&
                     this.arrayToArray(
-                      f[g].classid.split(","),
+                      (f[g].classid ? f[g].classid.split(",") : []),
                       this.tcid.split(",")
                     ).length == 0
                   ) {
                     continue;
                   }
                   if (gA == f[g].group && f[g].tool == i && (this.arrayToArray(
-                      f[g].classid.split(","),
+                      (f[g].classid ? f[g].classid.split(",") : []),
                       this.tcid.split(",")
                     ).length !== 0 || this.arrayToArray(
-                      f[g].classid.split(","),
+                      (f[g].classid ? f[g].classid.split(",") : []),
                       this.classId ? this.classId.split(",") : []
                     ).length !== 0 || (!this.tcid && this.tType == '1') || (this.courseDetail.juri === '') || f[g].ttype == 1)) {
                     this.groupStudent[i][gA].push(f[g]);
@@ -18891,7 +18891,7 @@ export default {
         // document.getElementsByClassName("vedioList")[0].style.height = a + "px";
         if (this.showType == 2 || this.showType == 3) {
           document.getElementsByClassName("navBox")[0].style.height =
-            a - 40 + 46 + "px";
+            a - 40 + 0+ "px";
         } else {
           document.getElementsByClassName("navBox")[0].style.height =
             a - 40 + "px";
@@ -19979,7 +19979,7 @@ export default {
       // document.getElementsByClassName("vedioList")[0].style.height = a + "px";
       if (this.showType == 2 || this.showType == 3) {
         document.getElementsByClassName("navBox")[0].style.height =
-          a - 40 + 46 + "px";
+          a - 40 + 0+ "px";
       } else {
         document.getElementsByClassName("navBox")[0].style.height =
           a - 40 + "px";

+ 7 - 1
src/components/trainCourse/courseDetail.vue

@@ -1062,6 +1062,12 @@ import axios from "axios";
 import JSZip from "jszip";
 import FileSaver from "file-saver";
 
+var OpenCC = require("opencc-js");
+let converter = OpenCC.Converter({
+		from:'hk',
+		to:'cn'
+})
+
 const getFile = (url) => {
   return new Promise((resolve, reject) => {
     var credentials = {
@@ -1149,7 +1155,7 @@ export default {
       followC: "",
       dialogVisibleQR: false,
       checkStage: 0,
-      tools: tools,
+      tools: JSON.parse(converter(JSON.stringify(tools))),
     };
   },
   methods: {

+ 5 - 5
src/components/trainCourse/easy2/studyStudent.vue

@@ -13951,17 +13951,17 @@ export default {
                     f[g].ttype == 2 &&
                     this.tcid &&
                     this.arrayToArray(
-                      f[g].classid.split(","),
+                      (f[g].classid ? f[g].classid.split(",") : []),
                       this.tcid.split(",")
                     ).length == 0
                   ) {
                     continue;
                   }
                   if (gA == f[g].group && f[g].tool == i && (this.arrayToArray(
-                      f[g].classid.split(","),
+                      (f[g].classid ? f[g].classid.split(",") : []),
                       this.tcid.split(",")
                     ).length !== 0 || this.arrayToArray(
-                      f[g].classid.split(","),
+                      (f[g].classid ? f[g].classid.split(",") : []),
                       this.classId ? this.classId.split(",") : []
                     ).length !== 0 || (!this.tcid && this.tType == '1') || (this.courseDetail.juri === '') || f[g].ttype == 1)) {
                     this.groupStudent[i][gA].push(f[g]);
@@ -18431,7 +18431,7 @@ export default {
         // document.getElementsByClassName("vedioList")[0].style.height = a + "px";
         if (this.showType == 2 || this.showType == 3) {
           document.getElementsByClassName("navBox")[0].style.height =
-            a - 40 + 46 + "px";
+            a - 40 + 0+ "px";
         } else {
           document.getElementsByClassName("navBox")[0].style.height =
             a - 40 + "px";
@@ -19490,7 +19490,7 @@ export default {
       // document.getElementsByClassName("vedioList")[0].style.height = a + "px";
       if (this.showType == 2 || this.showType == 3) {
         document.getElementsByClassName("navBox")[0].style.height =
-          a - 40 + 46 + "px";
+          a - 40 + 0+ "px";
       } else {
         document.getElementsByClassName("navBox")[0].style.height =
           a - 40 + "px";

+ 5 - 5
src/components/trainCourse/easy3/studyStudent.vue

@@ -13941,17 +13941,17 @@ export default {
                     f[g].ttype == 2 &&
                     this.tcid &&
                     this.arrayToArray(
-                      f[g].classid.split(","),
+                      (f[g].classid ? f[g].classid.split(",") : []),
                       this.tcid.split(",")
                     ).length == 0
                   ) {
                     continue;
                   }
                   if (gA == f[g].group && f[g].tool == i && (this.arrayToArray(
-                      f[g].classid.split(","),
+                      (f[g].classid ? f[g].classid.split(",") : []),
                       this.tcid.split(",")
                     ).length !== 0 || this.arrayToArray(
-                      f[g].classid.split(","),
+                      (f[g].classid ? f[g].classid.split(",") : []),
                       this.classId ? this.classId.split(",") : []
                     ).length !== 0 || (!this.tcid && this.tType == '1') || (this.courseDetail.juri === '') || f[g].ttype == 1)) {
                     this.groupStudent[i][gA].push(f[g]);
@@ -18427,7 +18427,7 @@ export default {
         // document.getElementsByClassName("vedioList")[0].style.height = a + "px";
         if (this.showType == 2 || this.showType == 3) {
           document.getElementsByClassName("navBox")[0].style.height =
-            a - 40 + 46 + "px";
+            a - 40 + 0+ "px";
         } else {
           document.getElementsByClassName("navBox")[0].style.height =
             a - 40 + "px";
@@ -19482,7 +19482,7 @@ export default {
       // document.getElementsByClassName("vedioList")[0].style.height = a + "px";
       if (this.showType == 2 || this.showType == 3) {
         document.getElementsByClassName("navBox")[0].style.height =
-          a - 40 + 46 + "px";
+          a - 40 + 0+ "px";
       } else {
         document.getElementsByClassName("navBox")[0].style.height =
           a - 40 + "px";

+ 5 - 5
src/components/trainCourse/studyStudent.vue

@@ -13922,17 +13922,17 @@ export default {
                     f[g].ttype == 2 &&
                     this.tcid &&
                     this.arrayToArray(
-                      f[g].classid.split(","),
+                      (f[g].classid ? f[g].classid.split(",") : []),
                       this.tcid.split(",")
                     ).length == 0
                   ) {
                     continue;
                   }
                   if (gA == f[g].group && f[g].tool == i && (this.arrayToArray(
-                      f[g].classid.split(","),
+                      (f[g].classid ? f[g].classid.split(",") : []),
                       this.tcid.split(",")
                     ).length !== 0 || this.arrayToArray(
-                      f[g].classid.split(","),
+                      (f[g].classid ? f[g].classid.split(",") : []),
                       this.classId ? this.classId.split(",") : []
                     ).length !== 0 || (!this.tcid && this.tType == '1') || (this.courseDetail.juri === '') || f[g].ttype == 1)) {
                     this.groupStudent[i][gA].push(f[g]);
@@ -18404,7 +18404,7 @@ export default {
         // document.getElementsByClassName("vedioList")[0].style.height = a + "px";
         if (this.showType == 2 || this.showType == 3) {
           document.getElementsByClassName("navBox")[0].style.height =
-            a - 40 + 46 + "px";
+            a - 40 + 0+ "px";
         } else {
           document.getElementsByClassName("navBox")[0].style.height =
             a - 40 + "px";
@@ -19456,7 +19456,7 @@ export default {
       // document.getElementsByClassName("vedioList")[0].style.height = a + "px";
       if (this.showType == 2 || this.showType == 3) {
         document.getElementsByClassName("navBox")[0].style.height =
-          a - 40 + 46 + "px";
+          a - 40 + 0+ "px";
       } else {
         document.getElementsByClassName("navBox")[0].style.height =
           a - 40 + "px";

+ 5 - 5
src/components/横板极简和任务模式/easy2/studyStudent.vue

@@ -13787,17 +13787,17 @@ export default {
                     f[g].ttype == 2 &&
                     this.tcid &&
                     this.arrayToArray(
-                      f[g].classid.split(","),
+                      (f[g].classid ? f[g].classid.split(",") : []),
                       this.tcid.split(",")
                     ).length == 0
                   ) {
                     continue;
                   }
                   if (gA == f[g].group && f[g].tool == i && (this.arrayToArray(
-                      f[g].classid.split(","),
+                      (f[g].classid ? f[g].classid.split(",") : []),
                       this.tcid.split(",")
                     ).length !== 0 || this.arrayToArray(
-                      f[g].classid.split(","),
+                      (f[g].classid ? f[g].classid.split(",") : []),
                       this.classId ? this.classId.split(",") : []
                     ).length !== 0 || (!this.tcid && this.tType == '1') || (this.courseDetail.juri === '') || f[g].ttype == 1)) {
                     this.groupStudent[i][gA].push(f[g]);
@@ -17980,7 +17980,7 @@ export default {
         // document.getElementsByClassName("vedioList")[0].style.height = a + "px";
         if (this.showType == 2 || this.showType == 3) {
           document.getElementsByClassName("navBox")[0].style.height =
-            a - 40 + 46 + "px";
+            a - 40 + 0+ "px";
         } else {
           document.getElementsByClassName("navBox")[0].style.height =
             a - 40 + "px";
@@ -18948,7 +18948,7 @@ export default {
       // document.getElementsByClassName("vedioList")[0].style.height = a + "px";
       if (this.showType == 2 || this.showType == 3) {
         document.getElementsByClassName("navBox")[0].style.height =
-          a - 40 + 46 + "px";
+          a - 40 + 0+ "px";
       } else {
         document.getElementsByClassName("navBox")[0].style.height =
           a - 40 + "px";

+ 5 - 5
src/components/横板极简和任务模式/easy3/studyStudent.vue

@@ -13807,17 +13807,17 @@ export default {
                     f[g].ttype == 2 &&
                     this.tcid &&
                     this.arrayToArray(
-                      f[g].classid.split(","),
+                      (f[g].classid ? f[g].classid.split(",") : []),
                       this.tcid.split(",")
                     ).length == 0
                   ) {
                     continue;
                   }
                   if (gA == f[g].group && f[g].tool == i && (this.arrayToArray(
-                      f[g].classid.split(","),
+                      (f[g].classid ? f[g].classid.split(",") : []),
                       this.tcid.split(",")
                     ).length !== 0 || this.arrayToArray(
-                      f[g].classid.split(","),
+                      (f[g].classid ? f[g].classid.split(",") : []),
                       this.classId ? this.classId.split(",") : []
                     ).length !== 0 || (!this.tcid && this.tType == '1') || (this.courseDetail.juri === '') || f[g].ttype == 1)) {
                     this.groupStudent[i][gA].push(f[g]);
@@ -17870,7 +17870,7 @@ export default {
         // document.getElementsByClassName("vedioList")[0].style.height = a + "px";
         if (this.showType == 2 || this.showType == 3) {
           document.getElementsByClassName("navBox")[0].style.height =
-            a - 40 + 46 + "px";
+            a - 40 + 0+ "px";
         } else {
           document.getElementsByClassName("navBox")[0].style.height =
             a - 40 + "px";
@@ -18838,7 +18838,7 @@ export default {
       // document.getElementsByClassName("vedioList")[0].style.height = a + "px";
       if (this.showType == 2 || this.showType == 3) {
         document.getElementsByClassName("navBox")[0].style.height =
-          a - 40 + 46 + "px";
+          a - 40 + 0+ "px";
       } else {
         document.getElementsByClassName("navBox")[0].style.height =
           a - 40 + "px";

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