|
@@ -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>
|