lsc %!s(int64=2) %!d(string=hai) anos
pai
achega
5ac9bf32df
Modificáronse 36 ficheiros con 1495 adicións e 501 borrados
  1. 4 0
      dist/index.html
  2. 1 0
      dist/static/css/app.95419069f3ca47638d8f49898e166019.css
  3. 1 0
      dist/static/css/app.e978fd625a4552bce1d20c8b97478cee.css
  4. 0 0
      dist/static/css/app.e978fd625a4552bce1d20c8b97478cee.css.map
  5. BIN=BIN
      dist/static/img/bDown.b7b5d90.png
  6. BIN=BIN
      dist/static/img/comment.bb9cdac.png
  7. BIN=BIN
      dist/static/img/downC.d085d2d.png
  8. BIN=BIN
      dist/static/img/istranscribe.6554986.png
  9. BIN=BIN
      dist/static/img/openTri.10f2137.png
  10. BIN=BIN
      dist/static/img/refresh.8b2b822.png
  11. BIN=BIN
      dist/static/img/transcribe.dfc5905.png
  12. 0 0
      dist/static/js/app.6e1d3edd768abab6f087.js
  13. 1 0
      dist/static/js/app.6e1d3edd768abab6f087.js.map
  14. 0 0
      dist/static/js/app.e07a64fe41aac22e6825.js.map
  15. 0 0
      dist/static/js/manifest.3ad1d5771e9b13dbdad2.js.map
  16. BIN=BIN
      src/assets/icon/newIcon/allScreen.png
  17. BIN=BIN
      src/assets/icon/newIcon/down.png
  18. BIN=BIN
      src/assets/icon/newIcon/return.png
  19. BIN=BIN
      src/assets/icon/newIcons/bDown.png
  20. BIN=BIN
      src/assets/icon/newIcons/comment.png
  21. BIN=BIN
      src/assets/icon/newIcons/down.png
  22. BIN=BIN
      src/assets/icon/newIcons/downC.png
  23. BIN=BIN
      src/assets/icon/newIcons/isLeft.png
  24. BIN=BIN
      src/assets/icon/newIcons/isRight.png
  25. BIN=BIN
      src/assets/icon/newIcons/istranscribe.png
  26. BIN=BIN
      src/assets/icon/newIcons/last.png
  27. BIN=BIN
      src/assets/icon/newIcons/lock.png
  28. BIN=BIN
      src/assets/icon/newIcons/next.png
  29. BIN=BIN
      src/assets/icon/newIcons/refresh.png
  30. BIN=BIN
      src/assets/icon/newIcons/right.png
  31. BIN=BIN
      src/assets/icon/newIcons/transcribe.png
  32. 592 224
      src/components/easy2/studyStudent.vue
  33. 419 136
      src/components/easy3/studyStudent.vue
  34. 8 2
      src/components/group/group.vue
  35. 441 125
      src/components/studyStudent.vue
  36. 28 14
      src/components/tools/time.vue

+ 4 - 0
dist/index.html

@@ -18,7 +18,11 @@
       border-radius: 10px;
       -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, .3);
       background-color: rgba(0, 0, 0, 0.1);
+<<<<<<< HEAD
     }</style><link href=./static/css/app.95419069f3ca47638d8f49898e166019.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.b7d92c364d571dacc1fa.js></script><script type=text/javascript src=./static/js/app.e07a64fe41aac22e6825.js></script></body></html><script>function stopSafari() {
+=======
+    }</style><link href=./static/css/app.e978fd625a4552bce1d20c8b97478cee.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.e97d134e001cf57d792e.js></script><script type=text/javascript src=./static/js/app.6e1d3edd768abab6f087.js></script></body></html><script>function stopSafari() {
+>>>>>>> beta
     //阻止safari浏览器双击放大功能
     let lastTouchEnd = 0  //更新手指弹起的时间
     document.documentElement.addEventListener("touchstart", function (event) {

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 0
dist/static/css/app.95419069f3ca47638d8f49898e166019.css


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 0
dist/static/css/app.e978fd625a4552bce1d20c8b97478cee.css


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/static/css/app.e978fd625a4552bce1d20c8b97478cee.css.map


BIN=BIN
dist/static/img/bDown.b7b5d90.png


BIN=BIN
dist/static/img/lock.bfe563d.png → dist/static/img/comment.bb9cdac.png


BIN=BIN
dist/static/img/downC.d085d2d.png


BIN=BIN
dist/static/img/istranscribe.6554986.png


BIN=BIN
dist/static/img/openTri.10f2137.png


BIN=BIN
dist/static/img/refresh.8b2b822.png


BIN=BIN
dist/static/img/vedio.a6a06d6.png → dist/static/img/transcribe.dfc5905.png


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/static/js/app.6e1d3edd768abab6f087.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 0
dist/static/js/app.6e1d3edd768abab6f087.js.map


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/static/js/app.e07a64fe41aac22e6825.js.map


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/static/js/manifest.3ad1d5771e9b13dbdad2.js.map


BIN=BIN
src/assets/icon/newIcon/allScreen.png


BIN=BIN
src/assets/icon/newIcon/down.png


BIN=BIN
src/assets/icon/newIcon/return.png


BIN=BIN
src/assets/icon/newIcons/bDown.png


BIN=BIN
dist/static/img/return.c25c7c1.png → src/assets/icon/newIcons/comment.png


BIN=BIN
src/assets/icon/newIcons/down.png


BIN=BIN
src/assets/icon/newIcons/downC.png


BIN=BIN
src/assets/icon/newIcons/isLeft.png


BIN=BIN
src/assets/icon/newIcons/isRight.png


BIN=BIN
src/assets/icon/newIcons/istranscribe.png


BIN=BIN
src/assets/icon/newIcons/last.png


BIN=BIN
src/assets/icon/newIcons/lock.png


BIN=BIN
src/assets/icon/newIcons/next.png


BIN=BIN
src/assets/icon/newIcons/refresh.png


BIN=BIN
src/assets/icon/newIcons/right.png


BIN=BIN
dist/static/img/comment.59b493d.png → src/assets/icon/newIcons/transcribe.png


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 592 - 224
src/components/easy2/studyStudent.vue


+ 419 - 136
src/components/easy3/studyStudent.vue

@@ -45,22 +45,20 @@
       </div>
       <div
         class="pButton"
-        style="
-          left: 0;
-          background-image: linear-gradient(90deg, #477cd7, #65b9fc);
-          top: 140px;
-        "
+        style="left: 0; top: 140px"
         v-if="mlDialog == false"
         @click="setContent2(true)"
       >
         <!-- 批 , getCourseDetail()-->
-        <img src="../../assets/mlBtn.png" style="width: 25px" alt="" />
+        <img
+          src="../../assets/icon/newIcons/isRight.png"
+          style="width: 45px"
+          alt=""
+        />
       </div>
       <div class="pb_left" v-else>
         <!-- <div class="courseTitle">{{ courseDetail.title }}</div> -->
-        <div
-          style="border-bottom: 1px solid #cad1dc; padding: 15px 0; width: 100%"
-        >
+        <div style="border-bottom: 1px solid #cad1dc; width: 100%">
           <div class="courseTitle">
             <div
               style="
@@ -85,7 +83,7 @@
             </div>
             <el-tooltip effect="light" content="收缩" placement="top">
               <div class="mlImg" @click="setContent2(false)">
-                <img src="../../assets/icon/newIcon/mlBtn.png" alt="" />
+                <img src="../../assets/icon/newIcons/isRight.png" alt="" />
               </div>
             </el-tooltip>
           </div>
@@ -103,6 +101,26 @@
                       stageIndex == courseType,
                   }"
                 >
+                  <div v-if="nav.tool[0].tool != undefined">
+                    <div
+                      class="closeTri1"
+                      v-if="
+                        navIndex == taskCount &&
+                        nav.id == navId &&
+                        stageIndex == courseType
+                      "
+                      @click="openTask(stageIndex, navIndex, nav.id)"
+                    >
+                      <img src="../../assets/icon/newIcons/bDown.png" alt />
+                    </div>
+                    <div
+                      class="closeTri1"
+                      v-else
+                      @click="openTask(stageIndex, navIndex, nav.id)"
+                    >
+                      <img src="../../assets/icon/newIcons/right.png" alt />
+                    </div>
+                  </div>
                   <div
                     @click="openTask(stageIndex, navIndex, nav.id)"
                     class="navItemList"
@@ -132,6 +150,61 @@
                     </el-tooltip>
                   </div>
                 </div>
+                <div
+                  v-if="nav.tool[0].tool != undefined"
+                  class="toolChild"
+                  :class="{
+                    toolActive:
+                      navIndex == taskCount &&
+                      nav.id == navId &&
+                      stageIndex == courseType,
+                  }"
+                >
+                  <div v-for="(t, toolIndex2) in nav.tool" :key="toolIndex2">
+                    <div
+                      class="gjCss"
+                      :class="{ isGjCss: toolIndex == toolIndex2 }"
+                      @click="checkBz(toolIndex2)"
+                    >
+                      <div>工具{{ toolIndex2 + 1 }}:</div>
+                      <div v-if="t.tool == 58">模拟驾驶</div>
+                      <div v-if="t.tool == 59">路径搜索</div>
+                      <div v-if="t.tool == 60">深度学习</div>
+                      <div v-if="t.tool == 10">倒计时</div>
+                      <div v-if="t.tool == 65">挑人</div>
+                      <div v-if="t.tool == 7">思维网格</div>
+                      <div v-if="t.tool == 1">电子白板</div>
+                      <div v-if="t.tool == 52">文档</div>
+                      <div v-if="t.tool == 3">思维导图</div>
+                      <div v-if="t.tool == 48">表格</div>
+                      <div v-if="t.tool == 49">学生分组</div>
+                      <div v-if="t.tool == 4">问卷调查</div>
+                      <div v-if="t.tool == 45">选择题</div>
+                      <div v-if="t.tool == 15">问答</div>
+                      <div v-if="t.tool == 16">作业提交</div>
+                      <div v-if="t.tool == 50">批量上传</div>
+                      <div v-if="t.tool == 41">选择匹配</div>
+                      <div v-if="t.tool == 47">排序</div>
+                      <div v-if="t.tool == 40">个人评价</div>
+                      <div v-if="t.tool == 18">训练平台</div>
+                      <div v-if="t.tool == 21">AIoT Blockly</div>
+                      <div v-if="t.tool == 23">AI Python</div>
+                      <div v-if="t.tool == 24">AI Blockly</div>
+                      <div v-if="t.tool == 32">源码编辑</div>
+                      <div v-if="t.tool == 57">CocoPi</div>
+                      <div v-if="t.tool == 63">海龟编程</div>
+                      <div v-if="t.tool == 28">翻译</div>
+                      <div v-if="t.tool == 31">数字画板</div>
+                      <div v-if="t.tool == 39">GeoGebra</div>
+                      <div v-if="t.tool == 66">公式编辑</div>
+                      <div v-if="t.tool == 67">分子结构</div>
+                      <div v-if="t.tool == 68">时间轴</div>
+                      <div v-if="t.tool == 25">目标管理</div>
+                      <div v-if="t.tool == 26">课程设计</div>
+                      <div v-if="t.tool == 62">交互视频</div>
+                    </div>
+                  </div>
+                </div>
               </div>
             </div>
           </div>
@@ -139,10 +212,7 @@
       </div>
       <div class="body_student" :class="{ navLeftCss: !mlDialog }">
         <div class="new_topFixed"></div>
-        <div
-          class="new_top"
-          :class="{ navLeftCss: !mlDialog }"
-        >
+        <div class="new_top" :class="{ navLeftCss: !mlDialog }">
           <div class="courseIndex">
             <div>任务{{ taskCount + 1 }}</div>
             <el-tooltip
@@ -161,7 +231,71 @@
             </el-tooltip>
           </div>
           <div class="btnAll">
-            <div class="returnBtn commentIcon" @click="setPz" v-if="tType == 1">
+            <div class="btnLeft">
+              <el-tooltip effect="light" content="刷新" placement="top">
+                <div class="reBtnIcon" @click="refreshCourse"></div>
+              </el-tooltip>
+              <el-tooltip effect="light" content="评论" placement="top">
+                <div class="commentIcon" @click="setPz" v-if="tType == 1"></div>
+              </el-tooltip>
+              <div v-if="!videoStart && (tType == 1 || tType == 4)">
+                <el-tooltip effect="light" content="录制" placement="top">
+                  <div class="vedioIcon" @click="startRecording"></div>
+                </el-tooltip>
+              </div>
+              <div v-else-if="tType == 1 || tType == 4">
+                <el-tooltip effect="light" content="下载" placement="top">
+                  <div class="vedioIcon1" @click="stopRecording"></div>
+                </el-tooltip>
+              </div>
+            </div>
+            <div class="btnRight">
+              <div class="last" @click="nextOrpreSteps(0)">
+                <div class="lastImg">
+                  <img src="../../assets/icon/newIcons/last.png" alt="" />
+                </div>
+                <div class="lastText">上一步</div>
+              </div>
+              <div class="last" @click="nextOrpreSteps(1)">
+                <div class="lastText">下一步</div>
+                <div class="lastImg">
+                  <img src="../../assets/icon/newIcons/next.png" alt="" />
+                </div>
+              </div>
+              <!-- <div class="last" @click="juriVisible = true" v-if="tType == 1">
+                <div class="lastImg">
+                  <img src="../../assets/icon/newIcons/lock.png" alt="" />
+                </div>
+                <div class="lastText">权限</div>
+              </div> -->
+              <div
+                class="returnBtn1 returnIcon"
+                @click.stop="
+                  goTo(
+                    '/courseDetail?userid=' +
+                      userid +
+                      '&oid=' +
+                      oid +
+                      '&org=' +
+                      org +
+                      '&cid=' +
+                      classId +
+                      '&courseId=' +
+                      id +
+                      '&tType=' +
+                      tType +
+                      '&screenType=' +
+                      screenType
+                  )
+                "
+              >
+                <div class="lastImg">
+                  <img src="../../assets/icon/newIcon/return.png" alt="" />
+                </div>
+                <div class="lastText" style="color: #000">返回</div>
+              </div>
+            </div>
+            <!-- <div class="returnBtn commentIcon" @click="setPz" v-if="tType == 1">
               评论
             </div>
             <div
@@ -171,17 +305,6 @@
             >
               录制
             </div>
-            <!-- <div class="returnBtn" @click="allScrell">全屏</div> -->
-            <!-- <div class="returnBtn" @click="startRecording" v-if="!videoStart && (tType == 1 || tType == 4)">
-              开始录制
-            </div>
-            <div class="returnBtn" @click="stopRecording" v-else-if="tType == 1 || tType == 4"
-              style="background: #ee5255">
-              下载录制
-            </div>
-            <div class="returnBtn" @click="juriVisible = true" v-if="tType == 1">
-              权限
-            </div> -->
             <div class="returnBtn" @click="refreshCourse">刷新</div>
             <div class="returnBtn" @click="nextOrpreSteps(0)">上一步</div>
             <div class="returnBtn" @click="nextOrpreSteps(1)">下一步</div>
@@ -207,7 +330,7 @@
               "
             >
               返回
-            </div>
+            </div> -->
           </div>
         </div>
         <div
@@ -339,21 +462,14 @@
                 </div>
                 <div
                   class="pButton"
-                  style="
-                    position: absolute;
-                    right: 20px;
-                    top: 0;
-                    background: #205cc6;
-                    z-index: 998;
-                    opacity: 0.8;
-                  "
+                  style="position: absolute; right: 20px; top: 0; z-index: 998"
                   v-if="!contentDialog"
                   @click="setContent(true)"
                 >
                   <!-- 批 -->
                   <img
-                    src="../../assets/mlBtn.png"
-                    style="width: 25px"
+                    src="../../assets/icon/newIcons/isLeft.png"
+                    style="width: 45px"
                     alt=""
                   />
                 </div>
@@ -380,7 +496,10 @@
                     <div class="navCorOpenBox">
                       <div class="navTitile">内容列表:</div>
                       <div class="navCorOpen" @click="setContent(false)">
-                        <img src="../../assets/icon/newIcon/mlBtn.png" alt="" />
+                        <img
+                          src="../../assets/icon/newIcons/isRight.png"
+                          alt=""
+                        />
                       </div>
                     </div>
                     <div class="navBox">
@@ -429,7 +548,10 @@
                               />
                             </div>
                           </div>
-                          <div class="navListItem" v-if="vitem.type == 8 || vitem.type == 14">
+                          <div
+                            class="navListItem"
+                            v-if="vitem.type == 8 || vitem.type == 14"
+                          >
                             <div
                               @click="doUrl(vitem.url, vindex)"
                               class="navText"
@@ -1394,12 +1516,12 @@
               :style="{
                 borderRadius:
                   chapInfoList[courseType].chapterInfo[0].taskJson[taskCount]
-                  .taskDetail == '' &&
-                vChapterData[0].length == 0 &&
-                fileC[0].length == 0
-                      ? '0 0 20px 20px'
-                      : '20px',
-                }"
+                    .taskDetail == '' &&
+                  vChapterData[0].length == 0 &&
+                  fileC[0].length == 0
+                    ? '0 0 20px 20px'
+                    : '20px',
+              }"
             >
               <div
                 class="queTop"
@@ -8653,18 +8775,20 @@
                 courseDetail.course_teacher.indexOf(userid) != -1)
             "
             :style="{
-                borderRadius:
-                !(chapInfoList[courseType].chapterInfo[0].taskJson[taskCount]
-                  .toolChoose[0].tool &&
+              borderRadius:
+                !(
+                  chapInfoList[courseType].chapterInfo[0].taskJson[taskCount]
+                    .toolChoose[0].tool &&
                   chapInfoList[courseType].chapterInfo[0].taskJson[taskCount]
-                    .toolChoose[0].tool.length > 0) && 
+                    .toolChoose[0].tool.length > 0
+                ) &&
                 chapInfoList[courseType].chapterInfo[0].taskJson[taskCount]
-                .taskDetail == '' &&
-              vChapterData[0].length == 0 &&
-              fileC[0].length == 0
-                    ? '0 0 20px 20px'
-                    : '20px',
-              }"
+                  .taskDetail == '' &&
+                vChapterData[0].length == 0 &&
+                fileC[0].length == 0
+                  ? '0 0 20px 20px'
+                  : '20px',
+            }"
           >
             <div
               class="queTop"
@@ -8673,19 +8797,13 @@
             >
               <div class="queTopTitle">新增工具</div>
               <div class="queTopRight">
-                <div
-                  class="queTopClose"
-                  v-if="isClose == 0"
-                >
+                <div class="queTopClose" v-if="isClose == 0">
                   展开
                   <div class="closeImg">
                     <img src="../../assets/icon/newIcon/close.png" alt="" />
                   </div>
                 </div>
-                <div
-                  class="queTopClose"
-                  v-if="isClose == 1"
-                >
+                <div class="queTopClose" v-if="isClose == 1">
                   收缩
                   <div class="openImg">
                     <img src="../../assets/icon/newIcon/open.png" alt="" />
@@ -10148,7 +10266,9 @@
       class="dialog_diy"
     >
       <div>
-        <div style="margin-bottom: 20px;color: #999;">提示:点击“+”或“-”修改倒计时时长。</div>
+        <div style="margin-bottom: 20px; color: #999">
+          提示:点击“+”或“-”修改倒计时时长。
+        </div>
         <Time :preTime="preTime" v-if="timeDialogVisible"></Time>
       </div>
       <div slot="footer">
@@ -11088,7 +11208,13 @@
             :key="stIndex"
             style="padding-bottom: 20px"
           >
-            <div style="padding: 15px 0 10px 20px" class="sentenceTitle" :index="stIndex+1">题目{{stIndex+1}}:请选择正确顺序</div>
+            <div
+              style="padding: 15px 0 10px 20px"
+              class="sentenceTitle"
+              :index="stIndex + 1"
+            >
+              题目{{ stIndex + 1 }}:请选择正确顺序
+            </div>
             <div class="cardList" v-if="st.chooseSenList">
               <div class="cardBox">
                 <div
@@ -11179,7 +11305,13 @@
             :key="stIndex"
             style="padding-bottom: 20px"
           >
-            <div style="padding: 15px 0 10px 20px" class="sentenceTitle" :index="stIndex+1">题目{{stIndex+1}}:请选择正确顺序</div>
+            <div
+              style="padding: 15px 0 10px 20px"
+              class="sentenceTitle"
+              :index="stIndex + 1"
+            >
+              题目{{ stIndex + 1 }}:请选择正确顺序
+            </div>
             <div class="cardList" v-if="st.chooseSenList">
               <div class="cardBox">
                 <div
@@ -12040,13 +12172,12 @@
           <div class="groupTitle">请设置每组人数</div>
           <!-- <el-input v-model="groupJson.number" placeholder="2-10人以内"
             style="width: 150px; margin: 10px 10px 0 0"></el-input> -->
-          <el-input-number
-            v-model="groupJson2.number"
-            :controls="false"
-            :min="2"
-            :max="10"
+          <el-input
+            v-model="groupJson.number"
+            style="width: 150px"
             placeholder="请输入2-10的数字"
-          ></el-input-number>
+            @change="numberPan"
+          ></el-input>
         </div>
       </div>
       <span slot="footer" class="dialog-footer">
@@ -12692,7 +12823,7 @@ export default {
       dialogVisibleWordCloud: false,
       wordCloudData: [],
       isPickStudent: [],
-      pzStype:1,
+      pzStype: 1,
     };
   },
   methods: {
@@ -15372,6 +15503,20 @@ export default {
       this.isUpdateToolDetail = false;
       this.$forceUpdate();
     },
+    jumpGj(i, j, k) {
+      // for (var z = 0; z < this.navList.length; z++) {
+      //   for (var q = 0; q < this.navList[z].task.length; q++) {
+      //     for (var w = 0; w < this.navList[z].task[q].tool.length; w++) {
+      //       this.navList[z].task[q].tool[w].isTool = false;
+      //     }
+      //   }
+      // }
+      this.navList[i].task[j].tool[k].isTool =
+        !this.navList[i].task[j].tool[k].isTool;
+      // var a = document.getElementsByClassName("study_top")[0];
+      // var b = this.$refs["bz" + k][0];
+      // a.scrollTop = b.offsetTop;
+    },
     nextOrpreSteps(t) {
       if (this.IsFollow && this.courseDetail.userid != this.userid) {
         this.$message.error("已经开启跟随模式,请认真跟堂听讲");
@@ -15829,7 +15974,10 @@ export default {
             } else {
               if (_chapterData[taskCount].length > 0) {
                 let _url = _chapterData[taskCount][0].url;
-                if (_chapterData[taskCount][0].type == 8 || _chapterData[taskCount][0].type == 14) {
+                if (
+                  _chapterData[taskCount][0].type == 8 ||
+                  _chapterData[taskCount][0].type == 14
+                ) {
                   this.showType = 2;
                   if (
                     _url.indexOf("https://") == -1 &&
@@ -16245,11 +16393,12 @@ export default {
     setNavList() {
       if (this.navList.length == 0) {
         this.navList = [];
+        var copyList = [];
         for (var l = 0; l < this.chapInfoList.length; l++) {
           var q = this.chapInfoList[l].dyName;
           var w = this.chapInfoList[l].chapterInfo[0].taskJson;
           var e;
-          this.navList.push({
+          copyList.push({
             dyName: q,
             isOpen: l === 0 ? true : false,
             task: [],
@@ -16257,16 +16406,26 @@ export default {
           for (var r = 0; r < w.length; r++) {
             e = w[r].task;
             if (this.chapInfoList[l].easy == 1) {
-              this.navList[l].task.push({
+              copyList[l].task.push({
                 taskName: q,
                 id: l + "-" + r,
-                isLook: w[r].isLook,
+                isLook: r === 0 ? true : false,
+                tool: [],
               });
             } else {
-              this.navList[l].task.push({
+              copyList[l].task.push({
                 taskName: e,
                 id: l + "-" + r,
-                isLook: w[r].isLook,
+                isLook: r === 0 ? true : false,
+                tool: [],
+              });
+            }
+            var t = w[r].toolChoose;
+            for (var k = 0; k < t.length; k++) {
+              var tool = t[k].tool[0];
+              copyList[l].task[r].tool.push({
+                tool: tool,
+                isTool: false,
               });
             }
 
@@ -16274,6 +16433,7 @@ export default {
             // this.navId = l + "-" + r;
           }
         }
+        this.navList = copyList;
         this.navList[0].isOpen = false;
         this.navList[this.courseType].isOpen = true;
         this.navId = this.navList[this.courseType].task[this.taskCount].id;
@@ -18178,6 +18338,16 @@ export default {
       this.groupJson2 = JSON.parse(JSON.stringify(this.groupJson));
       this.dialogVisibleGroup2 = true;
     },
+    numberPan() {
+      if (
+        /[^\d]/.test(this.groupJson.number) ||
+        this.groupJson.number < 2 ||
+        this.groupJson.number > 10
+      ) {
+        this.$message.error("请输入2-10的数字");
+        this.groupJson.number = "";
+      }
+    },
     updateGroupJson() {
       for (var i = 0; i < this.groupStudentUid[this.toolindex].length; i++) {
         if (
@@ -19345,32 +19515,6 @@ export default {
   justify-content: center;
 }
 
-.commentIcon::before,
-.vedioIcon::before,
-.lockIcon::before,
-.returnIcon::before {
-  content: "";
-  display: block;
-  background-size: 100% 100%;
-  background-repeat: no-repeat;
-  width: 20px;
-  height: 20px;
-  margin-right: 5px;
-}
-.commentIcon::before {
-  background-image: url("../../assets/icon/newIcon/comment.png");
-}
-.vedioIcon::before {
-  background-image: url("../../assets/icon/newIcon/vedio.png");
-}
-.lockIcon::before {
-  background-image: url("../../assets/icon/newIcon/lock.png");
-}
-
-.returnIcon::before {
-  background-image: url("../../assets/icon/newIcon/return.png");
-}
-
 .tool {
   display: flex;
   flex-direction: column;
@@ -20091,10 +20235,14 @@ export default {
   transform: translateY(-50%);
 }
 
-.navActive {
+.navActive,
+.toolActive {
   height: auto !important;
   overflow: auto !important;
-  padding-bottom: 10px;
+  padding-bottom: 16px;
+}
+.toolActive {
+  padding: 0;
 }
 
 .navTask {
@@ -20119,7 +20267,8 @@ export default {
 }
 
 .openTaskActive {
-  color: #4386e6;
+  background-color: #e0eafb !important;
+  color: #0061ff;
 }
 
 .iframeName {
@@ -20208,6 +20357,97 @@ export default {
   align-items: center;
 }
 
+.btnLeft,
+.btnRight {
+  display: flex;
+  flex-direction: row;
+  flex-wrap: nowrap;
+  align-items: center;
+  padding: 5px 0;
+}
+.btnLeft {
+  border-right: 1px solid #cad1dc;
+}
+.btnLeft > .custom-tooltip {
+  background: #3681fc;
+  color: #fff;
+}
+.last,
+.returnBtn1 {
+  width: 90px;
+  height: 36px;
+  background: #ffffff;
+  border-radius: 4px;
+  border: 1px solid #0061ff;
+  cursor: pointer;
+  display: flex;
+  flex-direction: row;
+  flex-wrap: nowrap;
+  align-items: center;
+  justify-content: center;
+  margin-left: 12px;
+}
+.returnBtn1 {
+  background: #f0f4fa;
+  border-radius: 4px;
+  border: 1px solid #cad1dc;
+  margin: 0 12px;
+}
+.lastImg {
+  min-width: 15px;
+  width: 15px;
+  height: 15px;
+}
+.lastText {
+  padding: 0 5px 2px 5px;
+  box-sizing: border-box;
+  color: #0061ff;
+  font-size: 14px;
+}
+.lastImg > img {
+  width: 100%;
+  height: 100%;
+}
+
+.reBtnIcon,
+.commentIcon,
+.vedioIcon,
+.vedioIcon1 {
+  width: 36px;
+  height: 36px;
+  border-radius: 4px;
+  position: relative;
+  background: #e0eafb;
+  cursor: pointer;
+  margin-right: 12px;
+}
+.reBtnIcon::before,
+.commentIcon::before,
+.vedioIcon::before,
+.vedioIcon::before {
+  content: "";
+  display: block;
+  background-size: 100% 100%;
+  background-repeat: no-repeat;
+  width: 20px;
+  height: 20px;
+  position: absolute;
+  top: 8px;
+  left: 8px;
+}
+.reBtnIcon::before {
+  background-image: url("../../assets/icon/newIcons/refresh.png");
+}
+.commentIcon::before {
+  background-image: url("../../assets/icon/newIcons/comment.png");
+}
+.vedioIcon::before {
+  background-image: url("../../assets/icon/newIcons/transcribe.png");
+}
+.vedioIcon1::before {
+  background-image: url("../../assets/icon/newIcons/istranscribe.png");
+}
+
 .btnAllNT {
   position: fixed;
   bottom: 100px;
@@ -21264,26 +21504,16 @@ export default {
 
 .pButton {
   position: fixed;
-  /* right: 5%; */
-  /* bottom: 5%; */
-  color: #fff;
-  /* width: 50px;
-  height: 50px; */
-  /* border-radius: 50%; */
   text-align: center;
-  /* line-height: 50px; */
-  /* background-image: -webkit-linear-gradient(left, #72aaf4, #4d81d5); */
   cursor: pointer;
   z-index: 999;
   right: 20px;
   top: 110px;
   width: 50px;
   height: 50px;
-  background: #fff;
   display: flex;
   align-items: center;
   justify-content: center;
-  box-shadow: 0px 0 8px 2px #c5c5c5;
   border-radius: 5px;
 }
 
@@ -21497,7 +21727,7 @@ export default {
   z-index: 999;
   left: 50%;
   top: 50%;
-  margin:-18% 0 0 -300px;
+  margin: -18% 0 0 -300px;
 }
 
 .teacherPz {
@@ -22255,7 +22485,7 @@ export default {
 .navCorOpen {
   padding-right: 15px;
   cursor: pointer;
-  width: 20px;
+  width: 45px;
   display: flex;
 }
 
@@ -22265,8 +22495,8 @@ export default {
 }
 
 .mlImg {
-  width: 25px !important;
-  min-width: 25px;
+  width: 45px !important;
+  min-width: 45px;
   cursor: pointer;
   margin-top: 5px;
 }
@@ -22359,7 +22589,7 @@ export default {
   flex-direction: column;
   flex-wrap: nowrap;
   align-items: center;
-  font-size:14px;
+  font-size: 14px;
 }
 
 .whiteBIcon > img {
@@ -22501,21 +22731,56 @@ ol {
   cursor: pointer;
 }
 
-.stageChild {
+.stageChild,
+.toolChild {
   height: 0;
   overflow: hidden;
   transition: all 0.5s;
 }
+.toolChild {
+  margin: 0 0 0 17px;
+  padding: 0 0 0 20px;
+  border-left: 1px solid #d7d7d7;
+}
+.gjCss {
+  display: flex;
+  flex-direction: row;
+  flex-wrap: nowrap;
+  align-items: center;
+  padding: 15px 0;
+  box-sizing: border-box;
+  font-size: 14px;
+  cursor: pointer;
+}
+
+.toolChild > div {
+  position: relative;
+}
 
+.toolChild > div::before {
+  content: "";
+  width: 15px;
+  height: 1px;
+  background: #cad1dc;
+  position: absolute;
+  top: 24px;
+  left: -20px;
+  display: block;
+}
+
+.isGjCss {
+  color: #0061ff;
+}
 .navItem {
-  background: #f0f4fa;
-  border-radius: 8px;
-  width: 95%;
+  background: #ffffff;
+  border-radius: 4px;
+  width: 100%;
   margin: 10px auto 0;
+  position: relative;
+  height: 48px;
   display: flex;
   flex-direction: row;
   flex-wrap: nowrap;
-  justify-content: flex-start;
   align-items: center;
 }
 .navItemList {
@@ -22535,7 +22800,6 @@ ol {
 .navItemList > div {
   font-size: 16px;
   font-weight: 400;
-  color: #0e1e33;
 }
 .navItemList > div:first-child {
   min-width: 60px;
@@ -22549,13 +22813,16 @@ ol {
   -webkit-line-clamp: 2;
   -webkit-box-orient: vertical;
 }
-.isItemList {
+/* .isItemList {
   background: #3681fc;
 }
 .isItemList > div {
   color: #fff;
-}
+} */
 
+.isItemList{
+  color: #0061ff !important;
+}
 .navListItem {
   width: 280px;
   height: 50px;
@@ -22607,24 +22874,24 @@ ol {
   margin: 0 10px 0 auto;
 }
 
-.selectBox>>>.el-input__inner {
+.selectBox >>> .el-input__inner {
   height: 30px;
   line-height: 30px;
 }
 
-.selectBox>>>.el-input__icon {
+.selectBox >>> .el-input__icon {
   line-height: 30px;
 }
 
-.sentenceTitle{
+.sentenceTitle {
   display: flex;
   flex-direction: row;
   flex-wrap: nowrap;
   align-items: center;
 }
 
-.sentenceTitle::before{
-  content:attr(index);
+.sentenceTitle::before {
+  content: attr(index);
   background: #3681fc;
   border-radius: 50%;
   color: #fff;
@@ -22636,4 +22903,20 @@ ol {
   line-height: 25px;
   margin-right: 5px;
 }
+
+.closeTri1 {
+  min-width: 15px;
+  width: 15px;
+  height: 15px;
+}
+
+.closeTri1 {
+  padding-left: 10px;
+  cursor: pointer;
+}
+
+.closeTri1 > img {
+  width: 100%;
+  height: 100%;
+}
 </style>

+ 8 - 2
src/components/group/group.vue

@@ -294,8 +294,8 @@
                 </div>
                 <div class="groupContent">
                     <div class="groupTitle">请设置每组人数</div>
-                    <el-input-number v-model="groupJson2.number" :controls="false" :min="2" :max="10"
-                        placeholder="请输入2-10的数字"></el-input-number>
+                    <el-input v-model="groupJson.number" style="width:150px"
+            placeholder="请输入2-10的数字" @change="numberPan"></el-input>
                 </div>
             </div>
             <span slot="footer" class="dialog-footer">
@@ -562,6 +562,12 @@ export default {
             }
             this.updateGroupJson();
         },
+        numberPan(){
+            if(/[^\d]/.test(this.groupJson.number) || this.groupJson.number < 2 || this.groupJson.number > 10){ 
+                this.$message.error('请输入2-10的数字')
+                this.groupJson.number = ''
+            }
+        },
         openChair() {
             this.groupJson2 = JSON.parse(JSON.stringify(this.groupJson));
             if(!this.groupJson2.isopen){

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 441 - 125
src/components/studyStudent.vue


+ 28 - 14
src/components/tools/time.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="container">
-    <div class="setters"  v-if="isWhole">
+    <div class="setters"  v-if="isWhole" :style="{width:cwidth}">
       <div class="minutes-set">
         <button
           data-setter="minutes-plus"
@@ -83,6 +83,7 @@ export default {
       isStarted: false,
       displayString: "",
       isWhole:true,
+      cwidth: '162px'
     };
   },
   methods: {
@@ -193,6 +194,11 @@ export default {
     // this.update(this.wholeTime, this.wholeTime);
     // this.displayTimeLeft(this.wholeTime);
     this.getValue();
+    this.$nextTick(()=>{
+      setTimeout(() => {
+        this.cwidth = document.querySelector(".controlls") ? (document.querySelector(".controlls").offsetWidth + 'px') : 'fit-content'
+      }, 600);
+    })
   },
   beforeDestroy() {
     clearInterval(this.intervalTimer);
@@ -227,31 +233,39 @@ button[data-setter]:hover {
 }
 .setters {
   position: absolute;
-  /* left: 85px;
-  top: 75px; */
-  left: 78px;
-  top: 75px;
+  left: 50%;
+    top: 75px;
+    transform: translateX(-50%);
+    display: flex;
+    justify-content: space-between;
 }
 .minutes-set {
-  float: left;
+  /* float: left; */
   /* margin-right: 28px; */
-  margin-right: 20px;
+  /* margin-right: 20px; */
 }
 .seconds-set {
-  float: right;
+  /* float: right; */
 }
 .controlls {
   position: absolute;
-  left: 70px;
   top: 105px;
-  text-align: center;
-  width: 170px;
+    text-align: center;
+    min-width: fit-content;
+    width: fit-content;
+    left: 50%;
+    transform: translateX(-50%);
 }
 .display-remain-time {
   font-family: "Roboto";
-  font-weight: 100;
-  font-size: 65px;
-  color: #409eff;
+    font-weight: 100;
+    font-size: 66px;
+    color: #409eff;
+    display: flex;
+    flex-wrap: nowrap;
+    min-width: fit-content;
+    justify-content: center;
+    white-space: nowrap;
 }
 #pause {
   outline: none;

Algúns arquivos non se mostraron porque demasiados arquivos cambiaron neste cambio