Browse Source

新增根据本学校获取学生功能

zengyicheng 2 years ago
parent
commit
9ffbe486e0
3 changed files with 456 additions and 99 deletions
  1. BIN
      src/assets/file.png
  2. BIN
      src/assets/uploadMp4.png
  3. 456 99
      src/components/pages/liveRoom.vue

BIN
src/assets/file.png


BIN
src/assets/uploadMp4.png


+ 456 - 99
src/components/pages/liveRoom.vue

@@ -23,17 +23,27 @@
         <div class="logoLive">
           <img src="../../assets/icon/logo.png" alt />
         </div>
-        <div style="color: #fff; line-height: 45px; padding-left: 15px">introduce a festival (Final)</div>
+        <div style="color: #fff; line-height: 45px; padding-left: 15px">
+          introduce a festival (Final)
+        </div>
       </div>
     </div>
     <div class="isNoOther">
-      <div class="imgMiddle" :class="isBlock > 0 ? 'imghalf' : 'imgMiddle'" v-show="!full">
+      <div
+        class="imgMiddle"
+        :class="isBlock > 0 ? 'imghalf' : 'imgMiddle'"
+        v-show="!full"
+      >
         <!-- <img src="../../assets/icon/kc1.png" alt /> -->
         <!-- <iframe
           style="width: 100%; height: 100%; border: none"
           src="https://view.officeapps.live.com/op/view.aspx?src=https://ccrb.s3.cn-northwest-1.amazonaws.com.cn/0701%E5%AE%9E%E6%97%B6%E8%AF%BE%E5%A0%82%E6%A8%A1%E6%8B%9F%E6%BC%94%E7%A4%BA%E8%AF%BE%E4%BB%B61656644341323.pptx"
         ></iframe>-->
-        <pdf :pdfUrl="pdfUrl" style="width: 100%; height: 100%" :getPage="getPage"></pdf>
+        <pdf
+          :pdfUrl="pdfUrl"
+          style="width: 100%; height: 100%"
+          :getPage="getPage"
+        ></pdf>
       </div>
       <div
         style="
@@ -46,27 +56,47 @@
         "
         v-if="isBlock == 1 || isBlock == 6"
       >
-        <div style="background: #fff; height: 92%; width: 96%; margin: 10px auto">
-          <div style="color: #bfbfbf; padding: 15px 0 20px 25px; font-size: 20px">答题查看</div>
+        <div
+          style="background: #fff; height: 92%; width: 96%; margin: 10px auto"
+        >
+          <div
+            style="color: #bfbfbf; padding: 15px 0 20px 25px; font-size: 20px"
+          >
+            答题查看
+          </div>
           <div class="answerBox" v-if="isBlock == 1 || isBlock == 6">
             <div class="memberBox" v-if="isBlock == 1">
               <div
                 :class="{ pAnswer: item.is == 2 }"
                 v-for="(item, index) in studentArray"
                 :key="index"
-              >{{ item.name }}</div>
+              >
+                {{ item.name }}
+              </div>
             </div>
             <div class="memberBox" v-if="isBlock == 6">
               <div
+                v-show="studentArray2.length > 0"
                 :class="{ pAnswer: item.is == 2 }"
                 v-for="(item, index) in studentArray2"
                 :key="index"
                 @click="whoAnswer(item, index)"
-              >{{ item.name }}</div>
+              >
+                {{ item.name }}
+              </div>
+              <div v-if="studentArray2.length == 0">暂无学生</div>
+            </div>
+            <div style="color: #948bdc; padding-top: 15px" v-if="isBlock == 1">
+              共有四个选项,正在答题......
             </div>
-            <div style="color: #948bdc; padding-top: 15px" v-if="isBlock == 1">共有四个选项,正在答题......</div>
-            <div class="viewSta" @click="isBlock = 3" v-if="isBlock == 1">查看数据统计</div>
-            <span slot="footer" class="dialog-footer sztFooter" v-if="isBlock == 6">
+            <div class="viewSta" @click="isBlock = 3" v-if="isBlock == 1">
+              查看数据统计
+            </div>
+            <span
+              slot="footer"
+              class="dialog-footer sztFooter"
+              v-if="isBlock == 6"
+            >
               <el-button type="primary" @click="isBlock = 0">结束</el-button>
               <!-- <el-button type="primary" @click="isBlock = 2">返回</el-button> -->
             </span>
@@ -112,7 +142,11 @@
           </span>
         </div>
       </div>
-      <div class="answerBox tools_box" v-if="isBlock == 2" style="padding: 10px 0 0 25px">
+      <div
+        class="answerBox tools_box"
+        v-if="isBlock == 2"
+        style="padding: 10px 0 0 25px"
+      >
         <div style="color: #d1d1d1; font-size: 24px">课堂实践</div>
         <div
           style="
@@ -122,7 +156,9 @@
             text-align: center;
             padding-bottom: 3px;
           "
-        >选择工具</div>
+        >
+          选择工具
+        </div>
         <div
           style="
             display: flex;
@@ -183,7 +219,10 @@
               <div>思维网格</div>
             </div>
           </div>
-          <div v-if="tools[steps].tools && tools[steps].tools.indexOf(10) != -1" class="toolCss">
+          <div
+            v-if="tools[steps].tools && tools[steps].tools.indexOf(10) != -1"
+            class="toolCss"
+          >
             <div class="toolImg" @click="timeDialogVisible = true">
               <img src="../../assets/icon/thirdToolList/time.png" alt />
               <div>倒计时</div>
@@ -194,24 +233,47 @@
           <div class="nextStepOne" @click="isBlock = 0">关闭</div>
         </div>
       </div>
-      <div class="answerBox tools_box" :class="{ fullStyle: full }" v-if="isBlock == 5">
+      <div
+        class="answerBox tools_box"
+        :class="{ fullStyle: full }"
+        v-if="isBlock == 5"
+      >
         <div style="height: 100%; width: 100%">
           <div v-if="toolCount == 1" class="tools_child_box">
             <div class="tools_title">
               <span>电子白板</span>
               <div>
-                <img src="../../assets/full.png" class="full" @click="fullTools" />
-                <img src="../../assets/close1.png" class="closeImg" @click="closeTools" />
+                <img
+                  src="../../assets/full.png"
+                  class="full"
+                  @click="fullTools"
+                />
+                <img
+                  src="../../assets/close1.png"
+                  class="closeImg"
+                  @click="closeTools"
+                />
               </div>
             </div>
-            <iframe style="width: 100%; height: 100%; border: none" src="https://iwb.cocorobo.cn/"></iframe>
+            <iframe
+              style="width: 100%; height: 100%; border: none"
+              src="https://iwb.cocorobo.cn/"
+            ></iframe>
           </div>
           <div v-if="toolCount == 3" class="tools_child_box">
             <div class="tools_title">
               <span>思维导图</span>
               <div>
-                <img src="../../assets/full.png" class="full" @click="fullTools" />
-                <img src="../../assets/close1.png" class="closeImg" @click="closeTools" />
+                <img
+                  src="../../assets/full.png"
+                  class="full"
+                  @click="fullTools"
+                />
+                <img
+                  src="../../assets/close1.png"
+                  class="closeImg"
+                  @click="closeTools"
+                />
               </div>
             </div>
             <iframe
@@ -223,8 +285,16 @@
             <div class="tools_title">
               <span>协同文档</span>
               <div>
-                <img src="../../assets/full.png" class="full" @click="fullTools" />
-                <img src="../../assets/close1.png" class="closeImg" @click="closeTools" />
+                <img
+                  src="../../assets/full.png"
+                  class="full"
+                  @click="fullTools"
+                />
+                <img
+                  src="../../assets/close1.png"
+                  class="closeImg"
+                  @click="closeTools"
+                />
               </div>
             </div>
             <iframe
@@ -236,8 +306,16 @@
             <div class="tools_title">
               <span>思维网格</span>
               <div>
-                <img src="../../assets/full.png" class="full" @click="fullTools" />
-                <img src="../../assets/close1.png" class="closeImg" @click="closeTools" />
+                <img
+                  src="../../assets/full.png"
+                  class="full"
+                  @click="fullTools"
+                />
+                <img
+                  src="../../assets/close1.png"
+                  class="closeImg"
+                  @click="closeTools"
+                />
               </div>
             </div>
             <iframe
@@ -271,7 +349,9 @@
             height: 25px;
             line-height: 25px;
           "
-        >查看作业</div>
+        >
+          查看作业
+        </div>
         <div class="workBox">
           <div class="works" v-for="(w, wIndex) in worksList" :key="wIndex">
             <div class="workImg">
@@ -309,7 +389,9 @@
           margin: 10px 15px;
         "
       >
-        <div style="color: #bfbfbf; padding: 15px 0 15px 0; font-size: 20px">课堂评价</div>
+        <div style="color: #bfbfbf; padding: 15px 0 15px 0; font-size: 20px">
+          课堂评价
+        </div>
         <div>
           <div class="score_box">
             <span>自我评价</span>
@@ -345,6 +427,107 @@
           <el-button type="primary" @click="isBlock = 4">返回</el-button>
         </span>
       </div>
+
+      <div
+        class="answerBox tools_box"
+        v-if="isBlock == 8"
+        style="padding: 10px 0 0 25px"
+      >
+        <div style="color: #d1d1d1; font-size: 24px">课堂实践</div>
+        <div
+          style="
+            margin: 20px 0 20px 0;
+            border-bottom: 4px solid #3e86f3;
+            width: 75px;
+            text-align: center;
+            padding-bottom: 3px;
+          "
+        >
+          选择附件
+        </div>
+        <div
+          style="
+            display: flex;
+            flex-direction: row;
+            flex-wrap: wrap;
+            width: 100%;
+            justify-content: flex-start;
+            align-items: center;
+          "
+        >
+          <div
+            v-if="tools[steps].file && tools[steps].file.length"
+            class="fileBox"
+          >
+            <div
+              class="fileListCss"
+              v-for="(v, vIndex) in videoList"
+              :key="vIndex"
+            >
+              <div class="fileCss" @click="playVideo(v.src, vIndex)">
+                <img src="../../assets/uploadMp4.png" alt="" />
+              </div>
+              <div>{{ v.name }}</div>
+            </div>
+            <div
+              class="fileListCss"
+              v-for="(f, fIndex) in fileList"
+              :key="fIndex"
+            >
+              <div class="fileCss" @click="openFile(f.src)">
+                <img src="../../assets/file.png" alt="" />
+              </div>
+              <div>{{ f.name }}</div>
+            </div>
+          </div>
+        </div>
+        <div class="nextStepBox">
+          <div class="nextStepOne" @click="isBlock = 0">关闭</div>
+        </div>
+      </div>
+      <div
+        class="answerBox tools_box"
+        :class="{ fullStyle: full }"
+        v-if="isBlock == 9"
+      >
+        <div style="height: 70%; width: 100%">
+          <div class="wheel">
+            <div class="workd_media" style="height: 100%">
+              <video-player
+                class="video-player vjs-custom-skin"
+                :playsinline="true"
+                :options="playerO[videoindex]"
+                @play="onPlayerPlay($event)"
+                style="width: 90%; height: 100%; margin: 0 0 0 30px"
+              ></video-player>
+            </div>
+          </div>
+          <div class="nextStepBox" style="margin-top: 5%">
+            <div class="nextStepOne" @click="isBlock = 8">返回</div>
+          </div>
+        </div>
+      </div>
+
+      <div
+        class="answerBox tools_box"
+        :class="{ fullStyle: full }"
+        v-if="isBlock == 10"
+      >
+        <div style="height: 70%; width: 100%">
+          <div
+            class="wheel"
+            style="height: 520px; width: 100%; margin: 0 0 20px 30px"
+          >
+            <iframe
+              style="width: 100%; height: 100%; border: none"
+              :src="pptImgUrl"
+            ></iframe>
+          </div>
+          <div class="nextStepBox" style="margin-top: 5%">
+            <div class="nextStepOne" @click="isBlock = 8">返回</div>
+          </div>
+        </div>
+      </div>
     </div>
 
     <div class="blackBottomB">
@@ -352,8 +535,10 @@
         <div
           class="blackButton"
           @click="showMember(0)"
-          v-if="(tools[steps].tools && tools[steps].tools.indexOf(9) != -1)"
-        >开始答题</div>
+          v-if="tools[steps].tools && tools[steps].tools.indexOf(9) != -1"
+        >
+          开始答题
+        </div>
         <div
           class="blackButton"
           @click="isBlock = 2"
@@ -365,19 +550,30 @@
             (tools[steps].tools && tools[steps].tools.indexOf(10) != -1) ||
             (tools[steps].tools && tools[steps].tools.indexOf(13) != -1)
           "
-        >查看工具</div>
+        >
+          查看工具
+        </div>
         <div
           class="blackButton"
           @click="checkStudentAnswer"
-          v-if="(tools[steps].tools && tools[steps].tools.indexOf(12) != -1)"
-        >选择学生回答</div>
+          v-if="tools[steps].tools && tools[steps].tools.indexOf(12) != -1"
+        >
+          选择学生回答
+        </div>
         <div
           class="blackButton"
           @click="selectSWork"
-          v-if="
-            (tools[steps].tools && tools[steps].tools.indexOf(14) != -1)
-          "
-        >查看作业</div>
+          v-if="tools[steps].tools && tools[steps].tools.indexOf(14) != -1"
+        >
+          查看作业
+        </div>
+        <div
+          class="blackButton"
+          @click="selectFile"
+          v-if="tools[steps].file && tools[steps].file.length"
+        >
+          查看附件
+        </div>
       </div>
     </div>
     <el-dialog
@@ -388,9 +584,9 @@
       :before-close="handleClose"
       class="dialog_diy"
     >
-      <div
-        style="text-align: center; padding: 20px 0 50px 0; font-size: 18px"
-      >是否让“{{ answerStudent }}”同学进行单独答题?</div>
+      <div style="text-align: center; padding: 20px 0 50px 0; font-size: 18px">
+        是否让“{{ answerStudent }}”同学进行单独答题?
+      </div>
       <div
         style="
           width: 200px;
@@ -404,7 +600,9 @@
           cursor: pointer;
         "
         @click="dialogVisible = false"
-      >确定</div>
+      >
+        确定
+      </div>
     </el-dialog>
     <el-dialog
       :visible.sync="dialogVisible1"
@@ -413,7 +611,9 @@
       :before-close="handleClose"
       class="dialog_diy"
     >
-      <div style="text-align: center; padding: 20px 0 50px 0; font-size: 18px">正在开发中!</div>
+      <div style="text-align: center; padding: 20px 0 50px 0; font-size: 18px">
+        正在开发中!
+      </div>
       <div
         style="
           width: 200px;
@@ -427,7 +627,9 @@
           cursor: pointer;
         "
         @click="dialogVisible1 = false"
-      >确定</div>
+      >
+        确定
+      </div>
     </el-dialog>
     <el-dialog
       :visible.sync="dialogVisible2"
@@ -436,7 +638,9 @@
       :before-close="handleClose"
       class="dialog_diy"
     >
-      <div style="text-align: center; padding: 20px 0 50px 0; font-size: 18px">课程结束后才有报告!</div>
+      <div style="text-align: center; padding: 20px 0 50px 0; font-size: 18px">
+        课程结束后才有报告!
+      </div>
       <div
         style="
           width: 200px;
@@ -450,7 +654,9 @@
           cursor: pointer;
         "
         @click="dialogVisible2 = false"
-      >确定</div>
+      >
+        确定
+      </div>
     </el-dialog>
     <el-dialog
       title="倒计时"
@@ -484,7 +690,8 @@ export default {
   data() {
     return {
       pdfUrl:
-        "https://ccrb.s3.cn-northwest-1.amazonaws.com.cn/%E4%B8%8A%E8%AF%BE%E8%AF%BE%E4%BB%B6---%E4%BA%94%E4%B8%8Bintroduce%20a%20festival%20%28Final%20%29_202208231345451661233676307.pdf",
+        "https://ccrb.s3.cn-northwest-1.amazonaws.com.cn/%E4%B8%8A%E8%AF%BE%E8%AF%BE%E4%BB%B6---%E4%BA%94%E4%B8%8Bintroduce%20a%20festival%20%28Final%20%29_202208251543361661413469082.pdf",
+      pptImgUrl: "",
       isLoading: false,
       full: false,
       drawShow: false,
@@ -513,48 +720,48 @@ export default {
         { name: "D.480" },
       ],
       studentArray: [
-        { name: "张可松", is: 1 },
-        { name: "陈佳佳", is: 1 },
-        { name: "许琦基", is: 1 },
-        { name: "洛维奇", is: 1 },
-        { name: "罗伟", is: 1 },
-        { name: "李孝雄", is: 1 },
-        { name: "李琪琪", is: 1 },
-        { name: "黄子韬", is: 1 },
-        { name: "张嘉琪", is: 1 },
-        { name: "陈家", is: 1 },
-        { name: "张可", is: 1 },
-        { name: "庄小小", is: 1 },
-        { name: "梁思成", is: 1 },
-        { name: "房小玲", is: 1 },
-        { name: "李卫涛", is: 1 },
-        { name: "李玫儿", is: 1 },
-        { name: "张可梦", is: 1 },
-        { name: "李琦", is: 1 },
-        { name: "梁惠", is: 1 },
-        { name: "许佳琪", is: 1 },
+        // { name: "张可松", is: 1 },
+        // { name: "陈佳佳", is: 1 },
+        // { name: "许琦基", is: 1 },
+        // { name: "洛维奇", is: 1 },
+        // { name: "罗伟", is: 1 },
+        // { name: "李孝雄", is: 1 },
+        // { name: "李琪琪", is: 1 },
+        // { name: "黄子韬", is: 1 },
+        // { name: "张嘉琪", is: 1 },
+        // { name: "陈家", is: 1 },
+        // { name: "张可", is: 1 },
+        // { name: "庄小小", is: 1 },
+        // { name: "梁思成", is: 1 },
+        // { name: "房小玲", is: 1 },
+        // { name: "李卫涛", is: 1 },
+        // { name: "李玫儿", is: 1 },
+        // { name: "张可梦", is: 1 },
+        // { name: "李琦", is: 1 },
+        // { name: "梁惠", is: 1 },
+        // { name: "许佳琪", is: 1 },
       ],
       studentArray2: [
-        { name: "张可松", is: 1 },
-        { name: "陈佳佳", is: 1 },
-        { name: "许琦基", is: 1 },
-        { name: "洛维奇", is: 1 },
-        { name: "罗伟", is: 1 },
-        { name: "李孝雄", is: 1 },
-        { name: "李琪琪", is: 1 },
-        { name: "黄子韬", is: 1 },
-        { name: "张嘉琪", is: 1 },
-        { name: "陈家", is: 1 },
-        { name: "张可", is: 1 },
-        { name: "庄小小", is: 1 },
-        { name: "梁思成", is: 1 },
-        { name: "房小玲", is: 1 },
-        { name: "李卫涛", is: 1 },
-        { name: "李玫儿", is: 1 },
-        { name: "张可梦", is: 1 },
-        { name: "李琦", is: 1 },
-        { name: "梁惠", is: 1 },
-        { name: "许佳琪", is: 1 },
+        // { name: "张可松", is: 1 },
+        // { name: "陈佳佳", is: 1 },
+        // { name: "许琦基", is: 1 },
+        // { name: "洛维奇", is: 1 },
+        // { name: "罗伟", is: 1 },
+        // { name: "李孝雄", is: 1 },
+        // { name: "李琪琪", is: 1 },
+        // { name: "黄子韬", is: 1 },
+        // { name: "张嘉琪", is: 1 },
+        // { name: "陈家", is: 1 },
+        // { name: "张可", is: 1 },
+        // { name: "庄小小", is: 1 },
+        // { name: "梁思成", is: 1 },
+        // { name: "房小玲", is: 1 },
+        // { name: "李卫涛", is: 1 },
+        // { name: "李玫儿", is: 1 },
+        // { name: "张可梦", is: 1 },
+        // { name: "李琦", is: 1 },
+        // { name: "梁惠", is: 1 },
+        // { name: "许佳琪", is: 1 },
       ],
       askCount: 0,
       answerJson: {
@@ -567,16 +774,41 @@ export default {
       tools: [
         "",
         "",
-        "", 
-        {tools:[12]}, //问答题
-        "", 
-         {tools:[6,14]}, //协同文档
-         {tools:[3,14]}, //思维导图
+        {
+          file: [
+            {
+              name: "视频1.mp4",
+              src: "https://ccrb.s3.cn-northwest-1.amazonaws.com.cn/%E5%AA%92%E4%BD%9311661413782505.mp4",
+            },
+          ],
+        },
+        { tools: [9] }, //问答题
+        { tools: [9] },
+        { tools: [9] }, //协同文档
+        { tools: [9] }, //思维导图
+        { tools: [9] },
+        { tools: [9] },
+        { tools: [12] },
+        { tools: [9] },
+        {
+          file: [
+            {
+              name: "视频2.mp4",
+              src: "https://ccrb.s3.cn-northwest-1.amazonaws.com.cn/%E5%AA%92%E4%BD%9321661413797366.mp4",
+            },
+          ],
+        },
+        { tools: [9] },
+        "",
+        { tools: [3] },
+        "",
+        "",
+        "",
         "",
-        "", 
-        "", 
-        "", 
-        //1、电子白板 2、便签 3、思维导图 4、问卷调查 5、量规评分 6、协同文档 7、思维网格 8、素材库 9、选择题 10、倒计时 11、问答题 12、选人回答 13、分小组 14、老师对提交作业进行评价
+        "",
+        "",
+        "",
+        //1、电子白板 2、便签 3、思维导图 4、问卷调查 5、量规评分 6、协同文档 7、思维网格 8、素材库 9、选择题 10、倒计时 11、问答题 12、选人回答 13、分小组 14、老师对提交作业进行评价 15、问答 16、作业提交 17、学习资料 18、训练平台 19、目标管理 20、课程设计 21、编程平台 22、AI体验 23、python 24、AI平台
       ],
       howTools: 0,
       worksDetail: [],
@@ -588,6 +820,35 @@ export default {
         sia: 5,
         content: "老师讲得真好",
       },
+      videoList: [],
+      fileList: [],
+      playerOptions: {
+        playbackRates: [0.7, 1.0, 1.5, 2.0], //播放速度
+        autoplay: false, //如果true,浏览器准备好时开始回放。
+        muted: false, // 默认情况下将会消除任何音频。
+        loop: false, // 导致视频一结束就重新开始。
+        preload: "auto", // 建议浏览器在<video>加载元素后是否应该开始下载视频数据。auto浏览器选择最佳行为,立即开始加载视频(如果浏览器支持)
+        language: "zh-CN",
+        aspectRatio: "16:9", // 将播放器置于流畅模式,并在计算播放器的动态大小时使用该值。值应该代表一个比例 - 用冒号分隔的两个数字(例如"16:9"或"4:3")
+        fluid: true, // 当true时,Video.js player将拥有流体大小。换句话说,它将按比例缩放以适应其容器。
+        sources: [
+          {
+            type: "video/mp4", //这里的种类支持很多种:基本视频格式、直播、流媒体等,具体可以参看git网址项目   || "video/ogg"|| "video/webm"
+            src: "", //url地址require("../../assets/media/aaa.mp4")
+          },
+        ],
+        // poster: require("../../assets/tu31.png"), //你的封面地址
+        // poster: dataRes.imgUrl, //你的封面地址
+        notSupportedMessage: "此视频暂无法播放,请稍后再试", //允许覆盖Video.js无法播放媒体源时显示的默认信息。
+        controlBar: {
+          timeDivider: true, //当前时间和持续时间的分隔符
+          durationDisplay: true, //显示持续时间
+          remainingTimeDisplay: false, //是否显示剩余时间功能
+          fullscreenToggle: true, //全屏按钮
+        },
+      },
+      playerO: {},
+      videoindex: 0,
     };
   },
   methods: {
@@ -617,13 +878,14 @@ export default {
     },
     //uuid生成
     guid() {
-      return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function (
-        c
-      ) {
-        var r = (Math.random() * 16) | 0,
-          v = c == "x" ? r : (r & 0x3) | 0x8;
-        return v.toString(16);
-      });
+      return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(
+        /[xy]/g,
+        function (c) {
+          var r = (Math.random() * 16) | 0,
+            v = c == "x" ? r : (r & 0x3) | 0x8;
+          return v.toString(16);
+        }
+      );
     },
     time() {
       if (!this.now) {
@@ -662,12 +924,14 @@ export default {
       }
     },
     checkStudentAnswer() {
+      this.selectStudentByScoolPPt();
       this.isBlock = 6;
       for (var i = 0; i < this.studentArray.length; i++) {
         this.studentArray2[i].is = 1;
       }
     },
     showMember(i) {
+      this.selectStudentByScoolPPt();
       let _this = this;
       this.isBlock = 1;
       setTimeout(() => {
@@ -727,6 +991,25 @@ export default {
           console.error(err);
         });
     },
+    selectStudentByScoolPPt() {
+      let params = {
+        oid: this.oid,
+      };
+      this.ajax
+        .get(this.$store.state.api + "selectStudentByScoolPPt", params)
+        .then((res) => {
+          if (res.data[0].length > 0) {
+            for (var i = 0; i < res.data[0].length; i++) {
+              this.studentArray.push({ name: res.data[0][i].name, is: 1 });
+              this.studentArray2.push({ name: res.data[0][i].name, is: 1 });
+            }
+          }
+        })
+        .catch((err) => {
+          this.$message.error("查询失败");
+          console.error(err);
+        });
+    },
     selectSWork() {
       this.worksList = [];
       let params = {
@@ -751,6 +1034,44 @@ export default {
           console.error(err);
         });
     },
+    selectFile() {
+      this.fileList = [];
+      this.videoList = [];
+      var a = ["PDF", "DOC", "DOCX", "PPT", "PPTX", "XLSX", "XLS"];
+      var b = this.tools[this.steps].file;
+      for (var i = 0; i < b.length; i++) {
+        if (
+          a.indexOf(
+            b[i].src
+              .split(".")
+              [b[i].src.split(".").length - 1].toLocaleUpperCase()
+          ) != -1
+        ) {
+          this.fileList.push(b[i]);
+        } else {
+          this.videoList.push(b[i]);
+        }
+      }
+      this.isBlock = 8;
+    },
+    openFile(u) {
+      this.pptImgUrl = "https://view.officeapps.live.com/op/view.aspx?src=" + u;
+      this.isBlock = 10;
+    },
+    playVideo(u, i) {
+      var d = JSON.parse(JSON.stringify(this.playerOptions));
+      d.sources[0].src = u;
+      this.playerO[0] = d;
+      this.videoindex = i;
+      this.isBlock = 9;
+    },
+    switchVideo(media) {
+      this.playerO = {};
+      this.playerOptions.poster = "";
+      this.playerOptions.sources[0].src = media;
+      this.playerO = this.playerOptions;
+    },
+    onPlayerPlay() {},
     previewImg(url) {
       // this.$hevueImgPreview(url);
       // this.$hevueImgPreview(url);
@@ -911,6 +1232,8 @@ export default {
   flex-direction: row;
   flex-wrap: wrap;
   align-items: center;
+  max-height: 600px;
+  overflow: auto;
 }
 .memberBox > div {
   background: rgb(79 213 163);
@@ -1211,4 +1534,38 @@ img {
   border: 1px solid #afafaf;
   border-radius: 0px;
 }
+.fileBox {
+  display: flex;
+  flex-direction: row;
+  flex-wrap: wrap;
+  align-items: center;
+  justify-content: flex-start;
+  align-content: center;
+  width: 100%;
+}
+.fileListCss {
+  display: flex;
+  flex-direction: column;
+  flex-wrap: nowrap;
+  align-items: center;
+  margin: 0 15px 15px 0;
+}
+.fileCss {
+  width: 70px;
+  height: 70px;
+  cursor: pointer;
+  margin: 0 0 10px 0;
+}
+.fileCss > img {
+  width: 100%;
+  height: 100%;
+  margin: 0;
+}
+.wheel {
+  width: 100%;
+  height: 100%;
+}
+.video-player >>> .video-js {
+  height: 100%;
+}
 </style>