zengyicheng 3 年之前
父节点
当前提交
c9da825cca
共有 1 个文件被更改,包括 395 次插入0 次删除
  1. 395 0
      src/components/study.vue

+ 395 - 0
src/components/study.vue

@@ -683,6 +683,54 @@
                       </div>
                     </div>
                   </div>
+                  <div
+                    v-if="tType && tType == 2 && tool.tool.indexOf(16) != -1"
+                    class="worksBox"
+                  >
+                    <div
+                      class="worksBTitle"
+                      v-if="workStudent[toolIndex].length > 0"
+                    >
+                      <div class="greenBox"></div>
+                      作业提交情况
+                    </div>
+                    <div
+                      style="padding-top: 15px; font-size: 18px"
+                      v-if="workStudent[toolIndex].length > 0"
+                    >
+                      作业预览
+                    </div>
+                    <div
+                      class="worksDetailBox"
+                      v-if="workStudent[toolIndex].length > 0"
+                    >
+                      <div
+                        class="works"
+                        style="width: 200px; height: 140px; padding-top: 25px"
+                        v-for="(w, wIndex) in workStudent[toolIndex]"
+                        :key="wIndex"
+                      >
+                        <div class="workImg" v-if="w.type == 0">
+                          <img
+                            :src="w.works"
+                            @click="previewImg(w.works)"
+                            alt
+                          />
+                        </div>
+                        <div class="workImg" v-if="w.type == 1">
+                          <img
+                            src="../assets/icon/works/noImg.png"
+                            @click="openFile(w.works)"
+                            alt
+                          />
+                        </div>
+                        <div class="worksName">
+                          姓名:
+                          <span>{{ w.sName }}</span>
+                        </div>
+                      </div>
+                    </div>
+                  </div>
                   <div
                     v-if="tType && tType == 1 && tool.tool.indexOf(4) != -1"
                     class="worksBox"
@@ -744,6 +792,54 @@
                       </div>
                     </div>
                   </div>
+                  <div
+                    v-if="tType && tType == 2 && tool.tool.indexOf(4) != -1"
+                    class="worksBox"
+                  >
+                    <div
+                      class="worksBTitle"
+                      v-if="workStudent[toolIndex].length > 0"
+                    >
+                      <div class="greenBox"></div>
+                      作业提交情况
+                    </div>
+                    <div
+                      style="padding-top: 15px; font-size: 18px"
+                      v-if="workStudent[toolIndex].length > 0"
+                    >
+                      作业预览
+                    </div>
+                    <div
+                      class="worksDetailBox"
+                      v-if="workStudent[toolIndex].length > 0"
+                    >
+                      <div
+                        class="works"
+                        style="width: 200px; height: 140px; padding-top: 25px"
+                        v-for="(w, wIndex) in workStudent[toolIndex]"
+                        :key="wIndex"
+                      >
+                        <div class="workImg" v-if="w.type == 0">
+                          <img
+                            :src="w.works"
+                            @click="previewImg(w.works)"
+                            alt
+                          />
+                        </div>
+                        <div class="workImg" v-if="w.type == 1">
+                          <img
+                            src="../assets/icon/works/noImg.png"
+                            @click="openFile(w.works)"
+                            alt
+                          />
+                        </div>
+                        <div class="worksName">
+                          姓名:
+                          <span>{{ w.sName }}</span>
+                        </div>
+                      </div>
+                    </div>
+                  </div>
                   <div
                     v-if="tType && tType == 1 && tool.tool.indexOf(15) != -1"
                     class="worksBox"
@@ -812,6 +908,54 @@
                       </div>
                     </div>
                   </div>
+                  <div
+                    v-if="tType && tType == 2 && tool.tool.indexOf(15) != -1"
+                    class="worksBox"
+                  >
+                    <div
+                      class="worksBTitle"
+                      v-if="workStudent[toolIndex].length > 0"
+                    >
+                      <div class="greenBox"></div>
+                      作业提交情况
+                    </div>
+                    <div
+                      style="padding-top: 15px; font-size: 18px"
+                      v-if="workStudent[toolIndex].length > 0"
+                    >
+                      作业预览
+                    </div>
+                    <div
+                      class="worksDetailBox"
+                      v-if="workStudent[toolIndex].length > 0"
+                    >
+                      <div
+                        class="works"
+                        style="width: 200px; height: 140px; padding-top: 25px"
+                        v-for="(w, wIndex) in workStudent[toolIndex]"
+                        :key="wIndex"
+                      >
+                        <div class="workImg" v-if="w.type == 0">
+                          <img
+                            :src="w.works"
+                            @click="previewImg(w.works)"
+                            alt
+                          />
+                        </div>
+                        <div class="workImg" v-if="w.type == 1">
+                          <img
+                            src="../assets/icon/works/noImg.png"
+                            @click="openFile(w.works)"
+                            alt
+                          />
+                        </div>
+                        <div class="worksName">
+                          姓名:
+                          <span>{{ w.sName }}</span>
+                        </div>
+                      </div>
+                    </div>
+                  </div>
                   <div
                     v-if="tType && tType == 1 && tool.tool.indexOf(1) != -1"
                     class="worksBox"
@@ -873,6 +1017,54 @@
                       </div>
                     </div>
                   </div>
+                  <div
+                    v-if="tType && tType == 2 && tool.tool.indexOf(1) != -1"
+                    class="worksBox"
+                  >
+                    <div
+                      class="worksBTitle"
+                      v-if="workStudent[toolIndex].length > 0"
+                    >
+                      <div class="greenBox"></div>
+                      作业提交情况
+                    </div>
+                    <div
+                      style="padding-top: 15px; font-size: 18px"
+                      v-if="workStudent[toolIndex].length > 0"
+                    >
+                      作业预览
+                    </div>
+                    <div
+                      class="worksDetailBox"
+                      v-if="workStudent[toolIndex].length > 0"
+                    >
+                      <div
+                        class="works"
+                        style="width: 200px; height: 140px; padding-top: 25px"
+                        v-for="(w, wIndex) in workStudent[toolIndex]"
+                        :key="wIndex"
+                      >
+                        <div class="workImg" v-if="w.type == 0">
+                          <img
+                            :src="w.works"
+                            @click="previewImg(w.works)"
+                            alt
+                          />
+                        </div>
+                        <div class="workImg" v-if="w.type == 1">
+                          <img
+                            src="../assets/icon/works/noImg.png"
+                            @click="openFile(w.works)"
+                            alt
+                          />
+                        </div>
+                        <div class="worksName">
+                          姓名:
+                          <span>{{ w.sName }}</span>
+                        </div>
+                      </div>
+                    </div>
+                  </div>
                   <div
                     v-if="tType && tType == 1 && tool.tool.indexOf(3) != -1"
                     class="worksBox"
@@ -934,6 +1126,54 @@
                       </div>
                     </div>
                   </div>
+                  <div
+                    v-if="tType && tType == 2 && tool.tool.indexOf(3) != -1"
+                    class="worksBox"
+                  >
+                    <div
+                      class="worksBTitle"
+                      v-if="workStudent[toolIndex].length > 0"
+                    >
+                      <div class="greenBox"></div>
+                      作业提交情况
+                    </div>
+                    <div
+                      style="padding-top: 15px; font-size: 18px"
+                      v-if="workStudent[toolIndex].length > 0"
+                    >
+                      作业预览
+                    </div>
+                    <div
+                      class="worksDetailBox"
+                      v-if="workStudent[toolIndex].length > 0"
+                    >
+                      <div
+                        class="works"
+                        style="width: 200px; height: 140px; padding-top: 25px"
+                        v-for="(w, wIndex) in workStudent[toolIndex]"
+                        :key="wIndex"
+                      >
+                        <div class="workImg" v-if="w.type == 0">
+                          <img
+                            :src="w.works"
+                            @click="previewImg(w.works)"
+                            alt
+                          />
+                        </div>
+                        <div class="workImg" v-if="w.type == 1">
+                          <img
+                            src="../assets/icon/works/noImg.png"
+                            @click="openFile(w.works)"
+                            alt
+                          />
+                        </div>
+                        <div class="worksName">
+                          姓名:
+                          <span>{{ w.sName }}</span>
+                        </div>
+                      </div>
+                    </div>
+                  </div>
                   <div
                     v-if="tType && tType == 1 && tool.tool.indexOf(6) != -1"
                     class="worksBox"
@@ -995,6 +1235,54 @@
                       </div>
                     </div>
                   </div>
+                  <div
+                    v-if="tType && tType == 2 && tool.tool.indexOf(6) != -1"
+                    class="worksBox"
+                  >
+                    <div
+                      class="worksBTitle"
+                      v-if="workStudent[toolIndex].length > 0"
+                    >
+                      <div class="greenBox"></div>
+                      作业提交情况
+                    </div>
+                    <div
+                      style="padding-top: 15px; font-size: 18px"
+                      v-if="workStudent[toolIndex].length > 0"
+                    >
+                      作业预览
+                    </div>
+                    <div
+                      class="worksDetailBox"
+                      v-if="workStudent[toolIndex].length > 0"
+                    >
+                      <div
+                        class="works"
+                        style="width: 200px; height: 140px; padding-top: 25px"
+                        v-for="(w, wIndex) in workStudent[toolIndex]"
+                        :key="wIndex"
+                      >
+                        <div class="workImg" v-if="w.type == 0">
+                          <img
+                            :src="w.works"
+                            @click="previewImg(w.works)"
+                            alt
+                          />
+                        </div>
+                        <div class="workImg" v-if="w.type == 1">
+                          <img
+                            src="../assets/icon/works/noImg.png"
+                            @click="openFile(w.works)"
+                            alt
+                          />
+                        </div>
+                        <div class="worksName">
+                          姓名:
+                          <span>{{ w.sName }}</span>
+                        </div>
+                      </div>
+                    </div>
+                  </div>
                   <div
                     v-if="tType && tType == 1 && tool.tool.indexOf(7) != -1"
                     class="worksBox"
@@ -1056,6 +1344,54 @@
                       </div>
                     </div>
                   </div>
+                  <div
+                    v-if="tType && tType == 2 && tool.tool.indexOf(7) != -1"
+                    class="worksBox"
+                  >
+                    <div
+                      class="worksBTitle"
+                      v-if="workStudent[toolIndex].length > 0"
+                    >
+                      <div class="greenBox"></div>
+                      作业提交情况
+                    </div>
+                    <div
+                      style="padding-top: 15px; font-size: 18px"
+                      v-if="workStudent[toolIndex].length > 0"
+                    >
+                      作业预览
+                    </div>
+                    <div
+                      class="worksDetailBox"
+                      v-if="workStudent[toolIndex].length > 0"
+                    >
+                      <div
+                        class="works"
+                        style="width: 200px; height: 140px; padding-top: 25px"
+                        v-for="(w, wIndex) in workStudent[toolIndex]"
+                        :key="wIndex"
+                      >
+                        <div class="workImg" v-if="w.type == 0">
+                          <img
+                            :src="w.works"
+                            @click="previewImg(w.works)"
+                            alt
+                          />
+                        </div>
+                        <div class="workImg" v-if="w.type == 1">
+                          <img
+                            src="../assets/icon/works/noImg.png"
+                            @click="openFile(w.works)"
+                            alt
+                          />
+                        </div>
+                        <div class="worksName">
+                          姓名:
+                          <span>{{ w.sName }}</span>
+                        </div>
+                      </div>
+                    </div>
+                  </div>
                 </div>
                 <!-- <div class="upload_toolBtn" @click="addImg($event)">
                   上传文件
@@ -1598,6 +1934,7 @@ export default {
       answerList: [],
       navList: [],
       worksStudent: [],
+      workStudent:[],
       noWorksS: [],
       isWorksS: [],
       noWorksStudent: [],
@@ -1762,6 +2099,62 @@ export default {
           console.error(err);
         });
     },
+    selectStudent(){
+      let params = {
+        uid:this.userid,
+        cid: this.id,
+        s: this.courseType,
+        t: this.taskCount,
+      };
+      this.ajax
+        .get(this.$store.state.api + "selectStudentWorks", params)
+        .then((res) => {
+          var a =
+            this.chapInfoList[this.courseType].chapterInfo[0].taskJson[
+              this.taskCount
+            ].toolChoose;
+          var b = res.data[0];
+          var c = ["PDF", "DOC", "DOCX", "PPT", "PPTX", "XLSX", "XLS"];
+
+          for (var i = 0; i < a.length; i++) {
+            this.workStudent[i] = [];
+            for (var j = 0; j < b.length; j++) {
+              if (i == b[j].tool) {
+                if (b[j].type == 1 || b[j].type == 4) {
+                  if (
+                    c.indexOf(
+                      b[j].content
+                        .split(".")
+                        [b[j].content.split(".").length - 1].toLocaleUpperCase()
+                    ) != -1
+                  ) {
+                    this.workStudent[i].push({
+                      works: b[j].content,
+                      sName: b[j].name,
+                      type: 1,
+                    });
+                  } else {
+                    this.workStudent[i].push({
+                      works: b[j].content,
+                      sName: b[j].name,
+                      type: 0,
+                    });
+                  }
+                } else {
+                  this.workStudent[i].push({
+                    works: b[j].content,
+                    sName: b[j].name,
+                    type: 2,
+                  });
+                }
+              }
+            }
+          }
+        })
+        .catch((err) => {
+          console.error(err);
+        });
+    },
     selectSWorks() {
       let params = {
         cid: this.id,
@@ -2296,10 +2689,12 @@ export default {
                 a - 100 + "px";
             }, 500);
           });
+          this.selectStudent();
           this.selectSWorks();
           let _this = this;
           _this.timer = setInterval(function () {
             _this.selectSWorks();
+            _this.selectStudent();
           }, 5000);
         })
         .catch((err) => {