Переглянути джерело

Merge branch 'beta' into HK

lsc 2 роки тому
батько
коміт
507f46e30a

+ 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.e8b680ff01ab9dbaefa59bb4988d2512.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.e272a0df0fb3ce5b6fea.js></script><script type=text/javascript src=./static/js/app.a23342f5f04531047ced.js></script></body></html><script>function stopSafari() {
+=======
+    }</style><link href=./static/css/app.5b38647078779bf6e109ac0dff3a223f.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.e81042531bab735dba9a.js></script><script type=text/javascript src=./static/js/app.b818e6c6cb98a809790b.js></script></body></html><script>function stopSafari() {
+>>>>>>> beta
     //阻止safari浏览器双击放大功能
     let lastTouchEnd = 0  //更新手指弹起的时间
     document.documentElement.addEventListener("touchstart", function (event) {

Різницю між файлами не показано, бо вона завелика
+ 1 - 0
dist/static/css/app.5b38647078779bf6e109ac0dff3a223f.css


Різницю між файлами не показано, бо вона завелика
+ 0 - 0
dist/static/css/app.5b38647078779bf6e109ac0dff3a223f.css.map


Різницю між файлами не показано, бо вона завелика
+ 1 - 0
dist/static/css/app.e8b680ff01ab9dbaefa59bb4988d2512.css


Різницю між файлами не показано, бо вона завелика
+ 0 - 0
dist/static/js/app.a23342f5f04531047ced.js.map


Різницю між файлами не показано, бо вона завелика
+ 0 - 0
dist/static/js/app.b818e6c6cb98a809790b.js


Різницю між файлами не показано, бо вона завелика
+ 1 - 0
dist/static/js/app.b818e6c6cb98a809790b.js.map


Різницю між файлами не показано, бо вона завелика
+ 0 - 0
dist/static/js/manifest.3ad1d5771e9b13dbdad2.js.map


+ 69 - 4
src/components/easy2/studyStudent.vue

@@ -200,6 +200,22 @@
             </div>
           </div>
         </div>
+        <div
+          class="isNoMessage"
+          v-if="
+            chapInfoList[courseType].chapterInfo[0].taskJson[taskCount]
+              .chapterData.length == 0 &&
+            chapInfoList[courseType].chapterInfo[0].taskJson[taskCount]
+              .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))
+          "
+        >
+          <img src="../../assets/icon/isNoMessage.png" alt />
+        </div>
         <div class="study_top" :class="{ pzClass: pzDialog }">
           <div
             class="vedioBox"
@@ -327,7 +343,7 @@
                 >
                   <!-- 批 -->
                   <img
-                    src="../../assets/navBtn2.png"
+                    src="../../assets/mlBtn.png"
                     style="width: 25px"
                     alt=""
                   />
@@ -560,6 +576,15 @@
                   ? '0 0 20px 20px'
                   : '20px',
             }"
+             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))
+              "
           >
             <div
               class="taskBox"
@@ -8627,7 +8652,7 @@
     <div
       class="pButton"
       @click="(pzDialog = true), selectPz()"
-      v-if="tType == 4 || ispzType == 4"
+      v-if="pzDialog == false && (tType == 4 || ispzType == 4)"
     >
       <!-- 批 -->
       <img src="../../assets/pzBtn2.png" style="width: 25px" alt="" />
@@ -8664,6 +8689,7 @@
               </div>
             </div>
             <div
+              @click="checkImg(getImgList(pz.content))"
               class="pzContent cont"
               v-html="pz.content"
               v-if="pz.type == '1'"
@@ -11878,6 +11904,15 @@ export default {
     previewImg(url) {
       this.$hevueImgPreview(url);
     },
+    checkImg(list){
+      if(!list.length){
+        return
+      }
+      this.$hevueImgPreview({
+          multiple: true, // 开启多图预览模式
+          imgList: list, // 需要预览的多图数组
+      })
+    },
     change(val) {
       console.log(val);
     },
@@ -15187,7 +15222,24 @@ export default {
           }
 
           _this.timer = setInterval(function () {
-            _this.selectSWorks(gindex);
+            if (_this.tcid) {
+              _this.getCourseGroup(gindex);
+            } else {
+              _this.selectSWorks(gindex);
+            }
+
+            _this.selectStudent();
+            _this.selectSLook();
+            if (_this.courseDetail.userid == _this.userid && _this.IsFollow) {
+              _this.setCTask();
+            }
+            if (_this.dialogVisibleGroup) {
+              _this.groupJson =
+                _this.chapInfoList[_this.courseType].chapterInfo[0].taskJson[
+                  _this.taskCount
+                ].toolChoose[_this.toolindex].groupJson;
+            }
+
             if (_this.tType == 4 || _this.ispzType == 4) {
               _this.selectPz();
             }
@@ -17747,6 +17799,16 @@ export default {
         return check;
       };
     },
+    getImgList(){
+      return function(val){
+        let srcList = [];  // 定义一个数组用来接收后面的img地址
+        
+        val.replace(/<img [^>]*src=['"]([^'"]+)[^>]*>/g, function (match, capture) {  // 查找匹配的元素   match为整个img标签  capture为src中的内容
+            srcList.push(capture);
+        });
+        return srcList
+      }
+    }
   },
   mounted() {
     if (this.screenType == 2) {
@@ -20248,7 +20310,6 @@ export default {
   height: calc(100% - 80px);
   z-index: 999;
   background: #fff;
-  border-radius: 15px;
   border-top-right-radius: 0px;
   border-bottom-right-radius: 0px;
   overflow: hidden;
@@ -20372,6 +20433,10 @@ export default {
   background: #fff;
 }
 
+.pzContent >>> img{
+  max-width:100%;
+}
+
 .pzListBox {
   padding-top: 15px;
   height: calc(100% - 110px);

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

@@ -200,6 +200,22 @@
             </div>
           </div>
         </div>
+        <div
+          class="isNoMessage"
+          v-if="
+            chapInfoList[courseType].chapterInfo[0].taskJson[taskCount]
+              .chapterData.length == 0 &&
+            chapInfoList[courseType].chapterInfo[0].taskJson[taskCount]
+              .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))
+          "
+        >
+          <img src="../../assets/icon/isNoMessage.png" alt />
+        </div>
         <div class="study_top" :class="{ pzClass: pzDialog }">
           <div
             class="vedioBox"
@@ -539,6 +555,15 @@
                   ? '0 0 20px 20px'
                   : '20px',
             }"
+             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))
+              "
           >
             <div
               class="taskBox"
@@ -8606,7 +8631,7 @@
     <div
       class="pButton"
       @click="(pzDialog = true), selectPz()"
-      v-if="tType == 4 || ispzType == 4"
+      v-if="pzDialog == false && (tType == 4 || ispzType == 4)"
     >
       <!-- 批 -->
       <img src="../../assets/pzBtn2.png" style="width: 25px" alt="" />
@@ -8643,6 +8668,7 @@
               </div>
             </div>
             <div
+              @click="checkImg(getImgList(pz.content))"
               class="pzContent cont"
               v-html="pz.content"
               v-if="pz.type == '1'"
@@ -11857,6 +11883,15 @@ export default {
     previewImg(url) {
       this.$hevueImgPreview(url);
     },
+    checkImg(list){
+      if(!list.length){
+        return
+      }
+      this.$hevueImgPreview({
+          multiple: true, // 开启多图预览模式
+          imgList: list, // 需要预览的多图数组
+      })
+    },
     change(val) {
       console.log(val);
     },
@@ -15042,7 +15077,24 @@ export default {
           }
 
           _this.timer = setInterval(function () {
-            _this.selectSWorks(gindex);
+            if (_this.tcid) {
+              _this.getCourseGroup(gindex);
+            } else {
+              _this.selectSWorks(gindex);
+            }
+
+            _this.selectStudent();
+            _this.selectSLook();
+            if (_this.courseDetail.userid == _this.userid && _this.IsFollow) {
+              _this.setCTask();
+            }
+            if (_this.dialogVisibleGroup) {
+              _this.groupJson =
+                _this.chapInfoList[_this.courseType].chapterInfo[0].taskJson[
+                  _this.taskCount
+                ].toolChoose[_this.toolindex].groupJson;
+            }
+
             if (_this.tType == 4 || _this.ispzType == 4) {
               _this.selectPz();
             }
@@ -17602,6 +17654,16 @@ export default {
         return check;
       };
     },
+    getImgList(){
+      return function(val){
+        let srcList = [];  // 定义一个数组用来接收后面的img地址
+        
+        val.replace(/<img [^>]*src=['"]([^'"]+)[^>]*>/g, function (match, capture) {  // 查找匹配的元素   match为整个img标签  capture为src中的内容
+            srcList.push(capture);
+        });
+        return srcList
+      }
+    }
   },
   mounted() {
     if (this.screenType == 2) {
@@ -20066,7 +20128,7 @@ export default {
   cursor: pointer;
   z-index: 999;
   right: 20px;
-  top: 83px;
+  top: 110px;
   width: 50px;
   height: 50px;
   background: #fff;
@@ -20093,12 +20155,11 @@ export default {
   z-index: 999; */
   position: fixed;
   right: 20px;
-  top: 70px;
+  top: 101px;
   width: 330px;
   height: calc(100% - 80px);
   z-index: 999;
   background: #fff;
-  border-radius: 15px;
   border-top-right-radius: 0px;
   border-bottom-right-radius: 0px;
   overflow: hidden;
@@ -20222,6 +20283,10 @@ export default {
   background: #fff;
 }
 
+.pzContent >>> img{
+  max-width:100%;
+}
+
 .pzListBox {
   padding-top: 15px;
   height: calc(100% - 100px);

+ 9 - 3
src/components/group/group.vue

@@ -45,7 +45,7 @@
                     </div>
                 </div>
                 <div>
-                    <div class="g_d_box" v-if="groupJson.group.length">
+                    <div class="g_d_box" v-if="groupJson.group.length && isopen">
                         <div class="g_d_group" v-for="(g, gindex) in groupJson.group" :key="gindex">
                             <div class="g_d_group_chair">
                                 <div v-if="groupJson.number > 1">
@@ -268,8 +268,9 @@
                             </div>
                         </div>
                     </div>
-                    <div v-else style="text-align: center;">{{ courseDetail.userid == userid ? "暂无分组,请点击右上角设置分组" :
+                    <div v-else-if="!groupJson.group.length" style="text-align: center;">{{ courseDetail.userid == userid ? "暂无分组,请点击右上角设置分组" :
                         "老师暂未添加分组" }}</div>
+                    <div v-else-if="!isopen" style="text-align: center;">{{ "已关闭分组" }}</div>    
                 </div>
             </div>
             <span slot="footer" class="dialog-footer">
@@ -605,7 +606,12 @@ export default {
             this.ajax
                 .post(this.$store.state.api + "setCourseGroup", params)
                 .then((res) => {
-                    this.$message.success("设置成功");
+                    if(this.groupJson2.isopen == 1){
+                        this.$message.success("开启分组成功");
+                    }else{
+                        this.$message.success("关闭分组成功");
+                    }
+                    // 开启分组成功/关闭分组成功
                     this.dialogVisibleGroup2 = false;
                     this.groupJson2 = {};
                     this.getCourseGroup();

+ 24 - 1
src/components/student/studyStudent.vue

@@ -660,7 +660,7 @@
                 删除
               </div>
             </div>
-            <div class="pzContent cont" v-html="pz.content" v-if="pz.type == '1'"></div>
+            <div @click="checkImg(getImgList(pz.content))" class="pzContent cont" v-html="pz.content" v-if="pz.type == '1'"></div>
             <div class="pzContent" v-if="pz.type == '2'">
               <audio :src="pz.content" controls="controls" ref="audio">
                 Your browser does not support the audio element.
@@ -1225,6 +1225,15 @@ export default {
     previewImg(url) {
       this.$hevueImgPreview(url);
     },
+    checkImg(list){
+      if(!list.length){
+        return
+      }
+      this.$hevueImgPreview({
+          multiple: true, // 开启多图预览模式
+          imgList: list, // 需要预览的多图数组
+      })
+    },
     openTable(f) {
       this.tableJson.text = JSON.parse(f);
       this.dialogVisibleTable2 = true;
@@ -2760,6 +2769,16 @@ export default {
         return _people ? _people : "";
       };
     },
+    getImgList(){
+      return function(val){
+        let srcList = [];  // 定义一个数组用来接收后面的img地址
+        
+        val.replace(/<img [^>]*src=['"]([^'"]+)[^>]*>/g, function (match, capture) {  // 查找匹配的元素   match为整个img标签  capture为src中的内容
+            srcList.push(capture);
+        });
+        return srcList
+      }
+    }
   },
   mounted() {
     if (this.screenType == 2) {
@@ -5116,6 +5135,10 @@ export default {
   background: #fff;
 }
 
+.pzContent >>> img{
+  max-width:100%;
+}
+
 .pzListBox {
   padding-top: 15px;
   height: calc(100% - 60px);

+ 26 - 1
src/components/studio/studyStudent.vue

@@ -663,7 +663,8 @@
                 删除
               </div>
             </div>
-            <div class="pzContent cont" v-html="pz.content" v-if="pz.type == '1'"></div>
+             
+            <div @click="checkImg(getImgList(pz.content))" class="pzContent cont" v-html="pz.content" v-if="pz.type == '1'"></div>
             <div class="pzContent" v-if="pz.type == '2'">
               <audio :src="pz.content" controls="controls" ref="audio">
                 Your browser does not support the audio element.
@@ -1228,6 +1229,15 @@ export default {
     previewImg(url) {
       this.$hevueImgPreview(url);
     },
+    checkImg(list){
+      if(!list.length){
+        return
+      }
+      this.$hevueImgPreview({
+          multiple: true, // 开启多图预览模式
+          imgList: list, // 需要预览的多图数组
+      })
+    },
     openTable(f) {
       this.tableJson.text = JSON.parse(f);
       this.dialogVisibleTable2 = true;
@@ -2763,6 +2773,16 @@ export default {
         return _people ? _people : "";
       };
     },
+    getImgList(){
+      return function(val){
+        let srcList = [];  // 定义一个数组用来接收后面的img地址
+        
+        val.replace(/<img [^>]*src=['"]([^'"]+)[^>]*>/g, function (match, capture) {  // 查找匹配的元素   match为整个img标签  capture为src中的内容
+            srcList.push(capture);
+        });
+        return srcList
+      }
+    }
   },
   mounted() {
     // if (this.screenType == 2) {
@@ -5119,6 +5139,11 @@ export default {
   background: #fff;
 }
 
+.pzContent >>> img{
+  max-width:100%;
+}
+
+
 .pzListBox {
   padding-top: 15px;
   height: calc(100% - 60px);

Різницю між файлами не показано, бо вона завелика
+ 643 - 593
src/components/studyStudent.vue


Деякі файли не було показано, через те що забагато файлів було змінено