瀏覽代碼

修改样式问题及功能

zengyicheng 1 年之前
父節點
當前提交
1ddad033f1

二進制
src/assets/icon/newIcon/comment.png


二進制
src/assets/icon/newIcon/lock.png


二進制
src/assets/icon/newIcon/return.png


二進制
src/assets/icon/newIcon/vedio.png


+ 109 - 8
src/components/courseDetail.vue

@@ -1146,9 +1146,106 @@ export default {
       if (l.length > 0) {
         this.dialogVisibleSk = true;
       } else {
-        this.addUserRate(0);
+        this.addUserRateNoClass(0);
       }
     },
+
+    addUserRateNoClass(i) {
+      let params = {
+        uid: this.userid,
+        cid: this.id,
+      };
+      this.ajax
+        .get(this.$store.state.api + "addUserR", params)
+        .then((res) => {
+          this.updateVc();
+          if (this.tType == 1 || this.tType == 4) {
+            if (this.courseDetail.state == 1) {
+              this.goTo(
+                "/studyStudent?type=" +
+                  i +
+                  "&courseId=" +
+                  this.id +
+                  "&userid=" +
+                  this.userid +
+                  "&oid=" +
+                  this.oid +
+                  "&org=" +
+                  this.org +
+                  "&cid=" +
+                  this.classId +
+                  "&tType=" +
+                  this.tType +
+                  "&screenType=" +
+                  this.screenType
+              );
+            } else if (this.courseDetail.state == 2) {
+              this.goTo(
+                "/studystudentE2?type=" +
+                  i +
+                  "&courseId=" +
+                  this.id +
+                  "&userid=" +
+                  this.userid +
+                  "&oid=" +
+                  this.oid +
+                  "&org=" +
+                  this.org +
+                  "&cid=" +
+                  this.classId +
+                  "&tType=" +
+                  this.tType +
+                  "&screenType=" +
+                  this.screenType
+              );
+            } else if (this.courseDetail.state == 3) {
+              this.goTo(
+                "/studystudentE3?type=" +
+                  i +
+                  "&courseId=" +
+                  this.id +
+                  "&userid=" +
+                  this.userid +
+                  "&oid=" +
+                  this.oid +
+                  "&org=" +
+                  this.org +
+                  "&cid=" +
+                  this.classId +
+                  "&tType=" +
+                  this.tType +
+                  "&screenType=" +
+                  this.screenType
+              );
+            }
+          } else if (this.tType == 2) {
+            this.gotoCourse(this.classId);
+          } else {
+            this.goTo(
+              "/study?type=" +
+                i +
+                "&courseId=" +
+                this.id +
+                "&userid=" +
+                this.userid +
+                "&oid=" +
+                this.oid +
+                "&org=" +
+                this.org +
+                "&cid=" +
+                this.classId +
+                "&tType=" +
+                this.tType +
+                "&screenType=" +
+                this.screenType
+            );
+          }
+        })
+        .catch((err) => {
+          console.error(err);
+        });
+    },
+
     addUserRate(i) {
       // var suid = this.userid;
       // if (
@@ -1180,9 +1277,10 @@ export default {
       if (this.isFollow == 2 && this.tType == 2 && this.followC != i) {
         return;
       }
-      if(this.tType == 1 || this.tType == 4){
+      if (this.tType == 1 || this.tType == 4) {
         return;
       }
+
       let params = {
         uid: this.userid,
         cid: this.id,
@@ -1190,7 +1288,6 @@ export default {
       this.ajax
         .get(this.$store.state.api + "addUserR", params)
         .then((res) => {
-          console.log(res.data);
           this.updateVc();
           if (this.tType == 1 || this.tType == 4) {
             if (this.courseDetail.state == 1) {
@@ -1778,7 +1875,7 @@ export default {
 .now_study {
   width: 136px;
   height: 36px;
-  color: #717c8d;
+  color: #0e1e33;
   background: #f0f4fa;
   text-align: center;
   line-height: 36px;
@@ -1791,6 +1888,7 @@ export default {
   align-items: center;
   justify-content: center;
 }
+
 .now_study + .now_study {
   margin-left: 10px;
 }
@@ -1980,19 +2078,18 @@ export default {
   flex-direction: column;
   flex-wrap: nowrap;
   justify-content: center;
+  color: #0e1e33;
   align-items: flex-start;
 }
 
 .jdAndTask > div:nth-child(1) {
   font-size: 18px;
   font-weight: bold;
-  color: #0e1e33;
   margin-bottom: 10px;
 }
 .jdAndTask > div:nth-child(2) {
   font-size: 14px;
   font-weight: 400;
-  color: #717c8d;
   max-width: 180px;
   white-space: nowrap;
   overflow: hidden;
@@ -2108,7 +2205,7 @@ export default {
 }
 
 .sLeft {
-  width: 19%;
+  width: 25%;
   margin-right: 10px;
   background: rgb(255, 255, 255);
   padding: 20px 20px 0 20px;
@@ -2151,7 +2248,7 @@ export default {
 
 .rightTd,
 .noBRight {
-  width: calc(100% - 19% - 10px);
+  width: calc(100% - 25% - 10px);
   background: #fff;
   display: flex;
   flex-direction: row;
@@ -2665,6 +2762,10 @@ export default {
   justify-content: flex-start;
   align-items: flex-start;
   min-height: 300px;
+  max-height: 500px;
+  overflow: auto;
+  align-content: flex-start;
+  margin-bottom: 15px;
 }
 .classBox > div {
   width: 106px;

+ 161 - 117
src/components/easy2/studyStudent.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="pb_content" style="overflow: unset">
-<!-- 任务模式 -->
+    <!-- 任务模式 -->
     <div
       class="pb_content_body"
       style="
@@ -218,9 +218,13 @@
               .toolChoose[0].tool.length == 0 &&
             chapInfoList[courseType].chapterInfo[0].taskJson[taskCount]
               .taskDetail == '' &&
-            !chapInfoList[courseType].chapterInfo[0].taskJson[taskCount].eList && !(courseDetail.userid == userid ||
-                (courseDetail.course_teacher &&
-                  courseDetail.course_teacher.indexOf(userid) != -1))
+            !chapInfoList[courseType].chapterInfo[0].taskJson[taskCount]
+              .eList &&
+            !(
+              courseDetail.userid == userid ||
+              (courseDetail.course_teacher &&
+                courseDetail.course_teacher.indexOf(userid) != -1)
+            )
           "
         >
           <img src="../../assets/icon/isNoMessage.png" alt />
@@ -232,6 +236,43 @@
               vChapterData[taskCount].length > 0 || fileC[taskCount].length > 0
             "
           >
+            <div
+              class="taskBox"
+              v-if="
+                chapInfoList[courseType].chapterInfo[0].taskJson[taskCount]
+                  .taskDetail != ''
+              "
+            >
+              <div
+                style="
+                  display: flex;
+                  flex-wrap: nowrap;
+                  flex-direction: column;
+                  position: relative;
+                "
+              >
+                <div
+                  style="
+                    padding: 20px 0px 15px 0;
+                    line-height: 29px;
+                    font-size: 18px;
+                  "
+                  class="cont"
+                  v-if="
+                    chapInfoList[courseType].chapterInfo[0].taskJson[taskCount]
+                      .taskDetail != ''
+                  "
+                  v-html="
+                    chapInfoList[courseType].chapterInfo[0].taskJson[taskCount]
+                      .taskDetail
+                      ? chapInfoList[courseType].chapterInfo[0].taskJson[
+                          taskCount
+                        ].taskDetail
+                      : '暂无描述'
+                  "
+                ></div>
+              </div>
+            </div>
             <div
               class="student_head"
               v-if="
@@ -585,63 +626,18 @@
                   ? '0 0 20px 20px'
                   : '20px',
             }"
-             v-if="
-                ((chapInfoList[courseType].chapterInfo[0].taskJson[taskCount]
-                  .toolChoose[0].tool &&
+            v-if="
+              (chapInfoList[courseType].chapterInfo[0].taskJson[taskCount]
+                .toolChoose[0].tool &&
                 chapInfoList[courseType].chapterInfo[0].taskJson[taskCount]
-                  .toolChoose[0].tool.length > 0) || (chapInfoList[courseType].chapterInfo[0].taskJson[taskCount]
-                    .taskDetail != '')) || (courseDetail.userid == userid ||
-                (courseDetail.course_teacher &&
-                  courseDetail.course_teacher.indexOf(userid) != -1))
-              "
+                  .toolChoose[0].tool.length > 0) ||
+              chapInfoList[courseType].chapterInfo[0].taskJson[taskCount]
+                .taskDetail != '' ||
+              courseDetail.userid == userid ||
+              (courseDetail.course_teacher &&
+                courseDetail.course_teacher.indexOf(userid) != -1)
+            "
           >
-            <div
-              class="taskBox"
-              v-if="
-                chapInfoList[courseType].chapterInfo[0].taskJson[taskCount]
-                  .taskDetail != ''
-              "
-              :style="
-                chapInfoList[courseType].chapterInfo[0].taskJson[taskCount]
-                  .toolChoose[0].tool &&
-                chapInfoList[courseType].chapterInfo[0].taskJson[taskCount]
-                  .toolChoose[0].tool.length &&
-                chapInfoList[courseType].chapterInfo[0].taskJson[taskCount]
-                  .toolChoose[0].tool.length > 0
-                  ? 'border-bottom: 1px solid #cad1dc'
-                  : ''
-              "
-            >
-              <div
-                style="
-                  display: flex;
-                  flex-wrap: nowrap;
-                  flex-direction: column;
-                  position: relative;
-                "
-              >
-                <div
-                  style="
-                    padding: 20px 0px 15px 0;
-                    line-height: 29px;
-                    font-size: 18px;
-                  "
-                  class="cont"
-                  v-if="
-                    chapInfoList[courseType].chapterInfo[0].taskJson[taskCount]
-                      .taskDetail != ''
-                  "
-                  v-html="
-                    chapInfoList[courseType].chapterInfo[0].taskJson[taskCount]
-                      .taskDetail
-                      ? chapInfoList[courseType].chapterInfo[0].taskJson[
-                          taskCount
-                        ].taskDetail
-                      : '暂无描述'
-                  "
-                ></div>
-              </div>
-            </div>
             <div
               class="vedioBox"
               v-if="
@@ -654,26 +650,45 @@
                 class="queTop"
                 style="
                   padding: 15px 0 15px 37px;
-                  font-weight: bold;
-                  font-size: 20px;
-                  color: #0e1e33;
+                  justify-content: space-between;
                 "
               >
-                工具栏
-                <el-button
-                  style="margin: 0 30px 0 auto"
-                  type="primary"
-                  size="small"
-                  @click="addToolChoose"
-                  >确定</el-button
-                >
+                <div class="queTopTitle">工具栏</div>
+                <div class="queTopRight">
+                  <div
+                    class="queTopClose"
+                    v-if="isClose == 0"
+                    @click="isClose = 1"
+                  >
+                    展开
+                  </div>
+                  <div
+                    class="queTopClose"
+                    v-if="isClose == 1"
+                    @click="isClose = 0"
+                  >
+                    收缩
+                  </div>
+                  <el-button
+                    style="margin: 0 30px 0 auto"
+                    type="primary"
+                    size="small"
+                    @click="addToolChoose"
+                    >确定</el-button
+                  >
+                </div>
               </div>
-              <div class="tool_work_box">
+              <div
+                class="tool_work_box"
+                :style="isClose == 0 ? 'display:none' : 'display:block'"
+              >
                 <div class="tool_box">
                   <div class="tool_type_box">
                     <div class="chooseWho">
-                      <div :class="toolType == 0 ? 'isChooseActive' : ''
-                        " @click="(toolType = 0), $forceUpdate()">
+                      <div
+                        :class="toolType == 0 ? 'isChooseActive' : ''"
+                        @click="(toolType = 0), $forceUpdate()"
+                      >
                         互动类
                       </div>
                       <div
@@ -1417,8 +1432,8 @@
                     </div>
                   </div>
                   <div class="bzBox">
-                    <div class="yCss"></div>
-                    <div>步骤{{ toolIndex + 1 }}</div>
+                    <!-- <div class="yCss"></div>
+                    <div>步骤{{ toolIndex + 1 }}</div> -->
                     <div
                       style="margin: 0 72px 0 auto"
                       v-if="courseDetail.userid == userid || tool.tool[0] == 15"
@@ -11553,7 +11568,10 @@
       :searchTN="worksSName2"
       @setPlname="setPlname"
     ></UpdateMore>
-    <wordCloud :dialogVisibleWordCloud.sync="dialogVisibleWordCloud" :data="wordCloudData"></wordCloud>
+    <wordCloud
+      :dialogVisibleWordCloud.sync="dialogVisibleWordCloud"
+      :data="wordCloudData"
+    ></wordCloud>
   </div>
 </template>
 
@@ -11664,6 +11682,7 @@ export default {
       contentDialog: false,
       mlDialog: false,
       type: 1,
+      isClose: 0,
       sentenceList: [{ sentenceTitle: "", addSentence: [], rightAnswer: [] }],
       sentenceList1: [],
       tableJson: [],
@@ -11902,7 +11921,7 @@ export default {
       worksSName2: "",
       worksSid: "",
       dialogVisibleWordCloud: false,
-      wordCloudData:[],
+      wordCloudData: [],
     };
   },
   methods: {
@@ -11926,14 +11945,14 @@ export default {
     previewImg(url) {
       this.$hevueImgPreview(url);
     },
-    checkImg(list){
-      if(!list.length){
-        return
+    checkImg(list) {
+      if (!list.length) {
+        return;
       }
       this.$hevueImgPreview({
-          multiple: true, // 开启多图预览模式
-          imgList: list, // 需要预览的多图数组
-      })
+        multiple: true, // 开启多图预览模式
+        imgList: list, // 需要预览的多图数组
+      });
     },
     change(val) {
       console.log(val);
@@ -17759,23 +17778,23 @@ export default {
           });
       }
     },
-    openWordCloud(toolindex){
-      let array = []
-      for(var i = 0;i<this.worksStudent[toolindex].length;i++){
-        let works = JSON.parse(this.worksStudent[toolindex][i].works)[0].answer
-        array.push({name:works})
+    openWordCloud(toolindex) {
+      let array = [];
+      for (var i = 0; i < this.worksStudent[toolindex].length; i++) {
+        let works = JSON.parse(this.worksStudent[toolindex][i].works)[0].answer;
+        array.push({ name: works });
       }
-      if(this.isGroup){
-        for(var i = 0;i<this.courseGroup.group.length;i++){
-          let works = this.courseGroup.group[i].works[toolindex]
-          for(var j = 0;j<works.length;j++){
-            let answer = JSON.parse(works[j].works)[0].answer
-            array.push({name:answer})
+      if (this.isGroup) {
+        for (var i = 0; i < this.courseGroup.group.length; i++) {
+          let works = this.courseGroup.group[i].works[toolindex];
+          for (var j = 0; j < works.length; j++) {
+            let answer = JSON.parse(works[j].works)[0].answer;
+            array.push({ name: answer });
           }
         }
       }
-      this.wordCloudData = array
-      this.dialogVisibleWordCloud = true
+      this.wordCloudData = array;
+      this.dialogVisibleWordCloud = true;
     },
   },
   directives: {
@@ -17846,16 +17865,20 @@ export default {
         return check;
       };
     },
-    getImgList(){
-      return function(val){
-        let srcList = [];  // 定义一个数组用来接收后面的img地址
-        
-        val.replace(/<img [^>]*src=['"]([^'"]+)[^>]*>/g, function (match, capture) {  // 查找匹配的元素   match为整个img标签  capture为src中的内容
+    getImgList() {
+      return function (val) {
+        let srcList = []; // 定义一个数组用来接收后面的img地址
+
+        val.replace(
+          /<img [^>]*src=['"]([^'"]+)[^>]*>/g,
+          function (match, capture) {
+            // 查找匹配的元素   match为整个img标签  capture为src中的内容
             srcList.push(capture);
-        });
-        return srcList
-      }
-    }
+          }
+        );
+        return srcList;
+      };
+    },
   },
   mounted() {
     if (this.screenType == 2) {
@@ -17951,7 +17974,7 @@ export default {
 
 .student_head {
   width: 100%;
-  margin: 40px auto 0;
+  margin: 0 auto;
   padding-bottom: 20px;
   display: flex;
   flex-direction: column;
@@ -18149,7 +18172,7 @@ export default {
   display: flex;
   flex-wrap: wrap;
   flex-direction: column;
-  padding: 15px 0 5px;
+  padding: 0 0 5px;
 }
 
 .filebox .tooldetail {
@@ -18465,9 +18488,9 @@ export default {
 .returnBtn {
   width: 86px;
   height: 36px;
-  background: #e7ebf1;
+  background: #409eff;
   border-radius: 4px;
-  color: #717c8d;
+  color: #fff;
   text-align: center;
   line-height: 36px;
   margin-right: 20px;
@@ -18726,7 +18749,17 @@ export default {
   box-sizing: border-box;
 }
 
-.queTop::before {
+.queTopTitle {
+  display: flex;
+  flex-direction: row;
+  flex-wrap: nowrap;
+  align-items: center;
+  font-weight: bold;
+  font-size: 20px;
+  color: rgb(14, 30, 51);
+}
+
+.queTopTitle::before {
   content: "";
   width: 2px;
   height: 22px;
@@ -18736,6 +18769,17 @@ export default {
   margin: 2px 6px 0 0;
 }
 
+.queTopRight {
+  display: flex;
+  flex-direction: row;
+  flex-wrap: nowrap;
+  align-items: center;
+}
+.queTopClose {
+  margin-right: 20px;
+  cursor: pointer;
+}
+
 .question {
   width: 40px;
   margin-right: 10px;
@@ -19408,8 +19452,8 @@ export default {
 
 .noWorksName,
 .isWorksName {
-  background: #7cbcf1;
-  color: #fff;
+  background: #e1e9fb;
+  color: #3383fa;
   width: 90px;
   height: 25px;
   text-align: center;
@@ -19423,7 +19467,7 @@ export default {
 }
 
 .noWorksName.isWork {
-  background: #165d96 !important;
+  background: #e1e9fb !important;
 }
 
 .isWorksName {
@@ -19436,7 +19480,8 @@ export default {
 }
 
 .noWorksName:hover {
-  background: #46a1eb !important;
+  background: #3383fa !important;
+  color: #fff !important;
 }
 
 .title {
@@ -20480,8 +20525,8 @@ export default {
   background: #fff;
 }
 
-.pzContent >>> img{
-  max-width:100%;
+.pzContent >>> img {
+  max-width: 100%;
 }
 
 .pzListBox {
@@ -21428,7 +21473,6 @@ ol {
 
 .tool_box {
   width: 100%;
-  margin-top: 20px;
 }
 
 .tool_type_box {

+ 91 - 47
src/components/easy3/studyStudent.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="pb_content" style="overflow: unset">
-<!-- 极简模式 -->
+    <!-- 极简模式 -->
     <div
       class="pb_content_body"
       style="
@@ -635,26 +635,45 @@
                 class="queTop"
                 style="
                   padding: 15px 0 15px 37px;
-                  font-weight: bold;
-                  font-size: 20px;
-                  color: #0e1e33;
+                  justify-content: space-between;
                 "
               >
-                工具栏
-                <el-button
-                  style="margin: 0 30px 0 auto"
-                  type="primary"
-                  size="small"
-                  @click="addToolChoose"
-                  >确定</el-button
-                >
+                <div class="queTopTitle">工具栏</div>
+                <div class="queTopRight">
+                  <div
+                    class="queTopClose"
+                    v-if="isClose == 0"
+                    @click="isClose = 1"
+                  >
+                    展开
+                  </div>
+                  <div
+                    class="queTopClose"
+                    v-if="isClose == 1"
+                    @click="isClose = 0"
+                  >
+                    收缩
+                  </div>
+                  <el-button
+                    style="margin: 0 30px 0 auto"
+                    type="primary"
+                    size="small"
+                    @click="addToolChoose"
+                    >确定</el-button
+                  >
+                </div>
               </div>
-              <div class="tool_work_box">
+              <div
+                class="tool_work_box"
+                :style="isClose == 0 ? 'display:none' : 'display:block'"
+              >
                 <div class="tool_box">
                   <div class="tool_type_box">
                     <div class="chooseWho">
-                      <div :class="toolType == 0 ? 'isChooseActive' : ''
-                        " @click="(toolType = 0), $forceUpdate()">
+                      <div
+                        :class="toolType == 0 ? 'isChooseActive' : ''"
+                        @click="(toolType = 0), $forceUpdate()"
+                      >
                         互动类
                       </div>
                       <div
@@ -1405,19 +1424,19 @@
                     </div>
                   </div>
                   <div class="bzBox">
-                    <div class="yCss"></div>
-                    <div>步骤{{ toolIndex + 1 }}</div>
+                    <!-- <div class="yCss"></div>
+                    <div>步骤{{ toolIndex + 1 }}</div> -->
                     <div
                       style="margin: 0 72px 0 auto"
                       v-if="courseDetail.userid == userid || tool.tool[0] == 15"
                     >
                       <el-button
-                          type="primary"
-                          size="mini"
-                          v-if="tool.tool[0] == 15"
-                          @click="openWordCloud(toolIndex)"
-                          >生成词云</el-button
-                        >
+                        type="primary"
+                        size="mini"
+                        v-if="tool.tool[0] == 15"
+                        @click="openWordCloud(toolIndex)"
+                        >生成词云</el-button
+                      >
                       <el-button
                         v-if="courseDetail.userid == userid"
                         type="primary"
@@ -11538,7 +11557,10 @@
       :searchTN="worksSName2"
       @setPlname="setPlname"
     ></UpdateMore>
-    <wordCloud :dialogVisibleWordCloud.sync="dialogVisibleWordCloud" :data="wordCloudData"></wordCloud>
+    <wordCloud
+      :dialogVisibleWordCloud.sync="dialogVisibleWordCloud"
+      :data="wordCloudData"
+    ></wordCloud>
   </div>
 </template>
 
@@ -11614,6 +11636,7 @@ export default {
       dialogVisibleDeleteGroup: false,
       dialogVisibleSname: false,
       dialogVisibleVideo: false,
+      isClose: 0,
       worksSName: "",
       classJuri: [],
       uploadStudentJuri: [],
@@ -11887,7 +11910,7 @@ export default {
       worksSName2: "",
       worksSid: "",
       dialogVisibleWordCloud: false,
-      wordCloudData:[],
+      wordCloudData: [],
     };
   },
   methods: {
@@ -17620,23 +17643,23 @@ export default {
           });
       }
     },
-    openWordCloud(toolindex){
-      let array = []
-      for(var i = 0;i<this.worksStudent[toolindex].length;i++){
-        let works = JSON.parse(this.worksStudent[toolindex][i].works)[0].answer
-        array.push({name:works})
+    openWordCloud(toolindex) {
+      let array = [];
+      for (var i = 0; i < this.worksStudent[toolindex].length; i++) {
+        let works = JSON.parse(this.worksStudent[toolindex][i].works)[0].answer;
+        array.push({ name: works });
       }
-      if(this.isGroup){
-        for(var i = 0;i<this.courseGroup.group.length;i++){
-          let works = this.courseGroup.group[i].works[toolindex]
-          for(var j = 0;j<works.length;j++){
-            let answer = JSON.parse(works[j].works)[0].answer
-            array.push({name:answer})
+      if (this.isGroup) {
+        for (var i = 0; i < this.courseGroup.group.length; i++) {
+          let works = this.courseGroup.group[i].works[toolindex];
+          for (var j = 0; j < works.length; j++) {
+            let answer = JSON.parse(works[j].works)[0].answer;
+            array.push({ name: answer });
           }
         }
       }
-      this.wordCloudData = array
-      this.dialogVisibleWordCloud = true
+      this.wordCloudData = array;
+      this.dialogVisibleWordCloud = true;
     },
   },
   directives: {
@@ -18014,7 +18037,7 @@ export default {
   display: flex;
   flex-wrap: wrap;
   flex-direction: column;
-  padding: 15px 0 5px;
+  padding: 0 0 5px;
 }
 
 .filebox .tooldetail {
@@ -18330,9 +18353,9 @@ export default {
 .returnBtn {
   width: 86px;
   height: 36px;
-  background: #e7ebf1;
+  background: #409eff;
   border-radius: 4px;
-  color: #717c8d;
+  color: #fff;
   text-align: center;
   line-height: 36px;
   margin-right: 20px;
@@ -18591,7 +18614,17 @@ export default {
   box-sizing: border-box;
 }
 
-.queTop::before {
+.queTopTitle {
+  display: flex;
+  flex-direction: row;
+  flex-wrap: nowrap;
+  align-items: center;
+  font-weight: bold;
+  font-size: 20px;
+  color: rgb(14, 30, 51);
+}
+
+.queTopTitle::before {
   content: "";
   width: 2px;
   height: 22px;
@@ -18601,6 +18634,17 @@ export default {
   margin: 2px 6px 0 0;
 }
 
+.queTopRight {
+  display: flex;
+  flex-direction: row;
+  flex-wrap: nowrap;
+  align-items: center;
+}
+.queTopClose {
+  margin-right: 20px;
+  cursor: pointer;
+}
+
 .question {
   width: 40px;
   margin-right: 10px;
@@ -19268,8 +19312,8 @@ export default {
 
 .noWorksName,
 .isWorksName {
-  background: #7cbcf1;
-  color: #fff;
+  background: #e1e9fb;
+  color: #3383fa;
   width: 90px;
   height: 25px;
   text-align: center;
@@ -19283,7 +19327,7 @@ export default {
 }
 
 .noWorksName.isWork {
-  background: #165d96 !important;
+  background: #e1e9fb !important;
 }
 
 .isWorksName {
@@ -19296,7 +19340,8 @@ export default {
 }
 
 .noWorksName:hover {
-  background: #46a1eb !important;
+  background: #3383fa !important;
+  color: #fff !important;
 }
 
 .title {
@@ -21228,7 +21273,6 @@ export default {
 
 .tool_box {
   width: 100%;
-  margin-top: 20px;
 }
 
 .tool_type_box {

+ 125 - 100
src/components/studyStudent.vue

@@ -267,6 +267,39 @@
             "
             style="border-radius: 0 0 20px 20px"
           >
+            <div
+              class="taskBox"
+              v-if="
+                chapInfoList[courseType].chapterInfo[0].taskJson[taskCount]
+                  .taskDetail != ''
+              "
+            >
+              <div
+                style="
+                  display: flex;
+                  flex-wrap: nowrap;
+                  flex-direction: column;
+                  position: relative;
+                "
+              >
+                <div
+                  style="padding: 15px 0; line-height: 29px; font-size: 18px"
+                  class="cont"
+                  v-if="
+                    chapInfoList[courseType].chapterInfo[0].taskJson[taskCount]
+                      .taskDetail != ''
+                  "
+                  v-html="
+                    chapInfoList[courseType].chapterInfo[0].taskJson[taskCount]
+                      .taskDetail
+                      ? chapInfoList[courseType].chapterInfo[0].taskJson[
+                          taskCount
+                        ].taskDetail
+                      : '暂无描述'
+                  "
+                ></div>
+              </div>
+            </div>
             <div
               class="student_head"
               v-if="
@@ -611,51 +644,6 @@
                   courseDetail.course_teacher.indexOf(userid) != -1)
               "
             >
-              <div
-                class="taskBox"
-                v-if="
-                  chapInfoList[courseType].chapterInfo[0].taskJson[taskCount]
-                    .taskDetail != ''
-                "
-                :style="
-                  chapInfoList[courseType].chapterInfo[0].taskJson[taskCount]
-                    .toolChoose[0].tool &&
-                  chapInfoList[courseType].chapterInfo[0].taskJson[taskCount]
-                    .toolChoose[0].tool.length &&
-                  chapInfoList[courseType].chapterInfo[0].taskJson[taskCount]
-                    .toolChoose[0].tool.length > 0
-                    ? 'border-bottom: 1px solid #cad1dc'
-                    : ''
-                "
-              >
-                <div
-                  style="
-                    display: flex;
-                    flex-wrap: nowrap;
-                    flex-direction: column;
-                    position: relative;
-                  "
-                >
-                  <div
-                    style="padding: 15px 0; line-height: 29px; font-size: 18px"
-                    class="cont"
-                    v-if="
-                      chapInfoList[courseType].chapterInfo[0].taskJson[
-                        taskCount
-                      ].taskDetail != ''
-                    "
-                    v-html="
-                      chapInfoList[courseType].chapterInfo[0].taskJson[
-                        taskCount
-                      ].taskDetail
-                        ? chapInfoList[courseType].chapterInfo[0].taskJson[
-                            taskCount
-                          ].taskDetail
-                        : '暂无描述'
-                    "
-                  ></div>
-                </div>
-              </div>
               <div
                 class="vedioBox"
                 v-if="
@@ -664,32 +652,45 @@
                     courseDetail.course_teacher.indexOf(userid) != -1)
                 "
               >
+                <div class="queTop" style="padding: 15px 0 15px 37px;justify-content: space-between">
+                  <div class="queTopTitle">工具栏</div>
+                  <div class="queTopRight">
+                    <div
+                      class="queTopClose"
+                      v-if="isClose == 0"
+                      @click="isClose = 1"
+                    >
+                      展开
+                    </div>
+                    <div
+                      class="queTopClose"
+                      v-if="isClose == 1"
+                      @click="isClose = 0"
+                    >
+                      收缩
+                    </div>
+                    <el-button
+                      style="margin: 0 30px 0 auto"
+                      type="primary"
+                      size="small"
+                      @click="addToolChoose"
+                      >确定</el-button
+                    >
+                  </div>
+                </div>
                 <div
-                  class="queTop"
-                  style="
-                    padding: 15px 0 15px 37px;
-                    font-weight: bold;
-                    font-size: 20px;
-                    color: #0e1e33;
-                  "
+                  class="tool_work_box"
+                  :style="isClose == 0 ? 'display:none' : 'display:block'"
                 >
-                  工具栏
-                  <el-button
-                    style="margin: 0 30px 0 auto"
-                    type="primary"
-                    size="small"
-                    @click="addToolChoose"
-                    >确定</el-button
-                  >
-                </div>
-                <div class="tool_work_box">
                   <div class="tool_box">
                     <div class="tool_type_box">
                       <div class="chooseWho">
-                        <div :class="toolType == 0 ? 'isChooseActive' : ''
-                        " @click="(toolType = 0), $forceUpdate()">
-                        互动类
-                      </div>
+                        <div
+                          :class="toolType == 0 ? 'isChooseActive' : ''"
+                          @click="(toolType = 0), $forceUpdate()"
+                        >
+                          互动类
+                        </div>
                         <div
                           :class="toolType == 1 ? 'isChooseActive' : ''"
                           @click="(toolType = 1), $forceUpdate()"
@@ -1775,11 +1776,7 @@
                     <el-button
                       type="primary"
                       v-if="tool.tool[0] == 32"
-                      style="
-                        position: absolute;
-                        right: 30px;
-                        top:30px;
-                      "
+                      style="position: absolute; right: 30px; top: 30px"
                       @click="addImg($event)"
                       >上传作业<input
                         type="file"
@@ -1787,11 +1784,13 @@
                         style="display: none"
                         @change="beforeUpload1($event, 7, toolIndex)"
                     /></el-button>
-                    <el-button type="primary" v-if="tool.tool[0] == 15" style="
-                        position: absolute;
-                        right: 30px;
-                        top:30px;
-                      " @click="openWordCloud(toolIndex)">生成词云</el-button>
+                    <el-button
+                      type="primary"
+                      v-if="tool.tool[0] == 15"
+                      style="position: absolute; right: 30px; top: 30px"
+                      @click="openWordCloud(toolIndex)"
+                      >生成词云</el-button
+                    >
                     <!-- <el-button type="primary" v-if="tool.tool[0] == 57" style="
                         position: absolute;
                         right: 30px;
@@ -10170,7 +10169,10 @@
       :searchTN="worksSName2"
       @setPlname="setPlname"
     ></UpdateMore>
-    <wordCloud :dialogVisibleWordCloud.sync="dialogVisibleWordCloud" :data="wordCloudData"></wordCloud>
+    <wordCloud
+      :dialogVisibleWordCloud.sync="dialogVisibleWordCloud"
+      :data="wordCloudData"
+    ></wordCloud>
   </div>
 </template>
 
@@ -10214,7 +10216,7 @@ export default {
     Table,
     interVideo,
     UpdateMore,
-    wordCloud
+    wordCloud,
   },
   data() {
     return {
@@ -10224,7 +10226,7 @@ export default {
       dialogVisiblePl: false,
       commentDialogVisible: false,
       dialogVisibleMember: false,
-      dialogVisibleWordCloud:false,
+      dialogVisibleWordCloud: false,
       videoVisible: false,
       isStar: false,
       studentEvalDialogVisible: false,
@@ -10313,6 +10315,7 @@ export default {
           upFile: [],
         },
       ],
+      isClose: 0,
       plworkFile: [],
       mr: require("../assets/vedioPic.png"),
       word: require("../assets/icon/isWord.png"),
@@ -10521,7 +10524,7 @@ export default {
       plIndex: "",
       worksSName2: "",
       worksSid: "",
-      wordCloudData:[],
+      wordCloudData: [],
     };
   },
   methods: {
@@ -16742,23 +16745,23 @@ export default {
       }
       this.$forceUpdate();
     },
-    openWordCloud(toolindex){
-      let array = []
-      for(var i = 0;i<this.worksStudent[toolindex].length;i++){
-        let works = JSON.parse(this.worksStudent[toolindex][i].works)[0].answer
-        array.push({name:works})
+    openWordCloud(toolindex) {
+      let array = [];
+      for (var i = 0; i < this.worksStudent[toolindex].length; i++) {
+        let works = JSON.parse(this.worksStudent[toolindex][i].works)[0].answer;
+        array.push({ name: works });
       }
-      if(this.isGroup){
-        for(var i = 0;i<this.courseGroup.group.length;i++){
-          let works = this.courseGroup.group[i].works[toolindex]
-          for(var j = 0;j<works.length;j++){
-            let answer = JSON.parse(works[j].works)[0].answer
-            array.push({name:answer})
+      if (this.isGroup) {
+        for (var i = 0; i < this.courseGroup.group.length; i++) {
+          let works = this.courseGroup.group[i].works[toolindex];
+          for (var j = 0; j < works.length; j++) {
+            let answer = JSON.parse(works[j].works)[0].answer;
+            array.push({ name: answer });
           }
         }
       }
-      this.wordCloudData = array
-      this.dialogVisibleWordCloud = true
+      this.wordCloudData = array;
+      this.dialogVisibleWordCloud = true;
     },
   },
   directives: {
@@ -16942,7 +16945,7 @@ export default {
 
 .student_head {
   width: 100%;
-  margin: 40px auto 0;
+  margin: 0 auto;
   padding-bottom: 20px;
   display: flex;
   flex-direction: column;
@@ -17472,9 +17475,9 @@ export default {
 .returnBtn {
   width: 86px;
   height: 36px;
-  background: #e7ebf1;
+  background: #409eff;
   border-radius: 4px;
-  color: #717c8d;
+  color: #fff;
   text-align: center;
   line-height: 36px;
   margin-right: 20px;
@@ -17733,7 +17736,17 @@ export default {
   box-sizing: border-box;
 }
 
-.queTop::before {
+.queTopTitle {
+  display: flex;
+  flex-direction: row;
+  flex-wrap: nowrap;
+  align-items: center;
+  font-weight: bold;
+  font-size: 20px;
+  color: rgb(14, 30, 51);
+}
+
+.queTopTitle::before {
   content: "";
   width: 2px;
   height: 22px;
@@ -17743,6 +17756,17 @@ export default {
   margin: 2px 6px 0 0;
 }
 
+.queTopRight {
+  display: flex;
+  flex-direction: row;
+  flex-wrap: nowrap;
+  align-items: center;
+}
+.queTopClose {
+  margin-right: 20px;
+  cursor: pointer;
+}
+
 .question {
   width: 40px;
   margin-right: 10px;
@@ -18432,8 +18456,8 @@ export default {
 
 .noWorksName,
 .isWorksName {
-  background: #7cbcf1;
-  color: #fff;
+  background: #e1e9fb;
+  color: #3383fa;
   width: 90px;
   height: 25px;
   text-align: center;
@@ -18456,7 +18480,8 @@ export default {
 }
 
 .noWorksName:hover {
-  background: #46a1eb !important;
+  background: #3383fa !important;
+  color: #fff !important;
 }
 
 .title {