|
@@ -1,9 +1,6 @@
|
|
<template>
|
|
<template>
|
|
<div class="pb_content" style="overflow: unset">
|
|
<div class="pb_content" style="overflow: unset">
|
|
- <div
|
|
|
|
- class="pb_content_body"
|
|
|
|
- style="display: flex; height: 900px; position: relative"
|
|
|
|
- >
|
|
|
|
|
|
+ <div class="pb_content_body" style="display: flex; height: 900px; position: relative">
|
|
<div class="pb_left">
|
|
<div class="pb_left">
|
|
<div class="courseTitle">{{ courseDetail.title }}</div>
|
|
<div class="courseTitle">{{ courseDetail.title }}</div>
|
|
<div class="ml">目录</div>
|
|
<div class="ml">目录</div>
|
|
@@ -14,11 +11,7 @@
|
|
<div>{{ item.dyName }}</div>
|
|
<div>{{ item.dyName }}</div>
|
|
</div>
|
|
</div>
|
|
<div class="twoChild" :class="{ navActive: item.isOpen }">
|
|
<div class="twoChild" :class="{ navActive: item.isOpen }">
|
|
- <div
|
|
|
|
- class="navChild"
|
|
|
|
- v-for="(nav, navIndex) in item.task"
|
|
|
|
- :key="navIndex"
|
|
|
|
- >
|
|
|
|
|
|
+ <div class="navChild" v-for="(nav, navIndex) in item.task" :key="navIndex">
|
|
<div
|
|
<div
|
|
class="navTask"
|
|
class="navTask"
|
|
@click="openTask(stageIndex, navIndex, nav.id)"
|
|
@click="openTask(stageIndex, navIndex, nav.id)"
|
|
@@ -49,10 +42,7 @@
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="body_student">
|
|
<div class="body_student">
|
|
- <div
|
|
|
|
- class="new_top"
|
|
|
|
- style="position: fixed; top: 0; width: 77%; z-index: 999"
|
|
|
|
- >
|
|
|
|
|
|
+ <div class="new_top" style="position: fixed; top: 0; width: 77%; z-index: 999">
|
|
<div class="before"></div>
|
|
<div class="before"></div>
|
|
<div class="courseIndex">
|
|
<div class="courseIndex">
|
|
<div>第{{ courseType - 0 + 1 }}阶段</div>
|
|
<div>第{{ courseType - 0 + 1 }}阶段</div>
|
|
@@ -65,14 +55,7 @@
|
|
<div
|
|
<div
|
|
class="returnBtn"
|
|
class="returnBtn"
|
|
@click.stop="
|
|
@click.stop="
|
|
- goTo(
|
|
|
|
- '/courseDetail?userid=' +
|
|
|
|
- userid +
|
|
|
|
- '&oid=' +
|
|
|
|
- oid +
|
|
|
|
- '&courseId=' +
|
|
|
|
- id
|
|
|
|
- )
|
|
|
|
|
|
+ goTo('/courseDetail?userid=' + userid + '&oid=' + oid + '&courseId=' + id)
|
|
"
|
|
"
|
|
>
|
|
>
|
|
返回
|
|
返回
|
|
@@ -127,7 +110,8 @@
|
|
>
|
|
>
|
|
<!-- <span style="color: #cbcbcb">任务描述</span> -->
|
|
<!-- <span style="color: #cbcbcb">任务描述</span> -->
|
|
{{
|
|
{{
|
|
- chapInfoList[courseType].chapterInfo[0].taskJson[taskCount].taskDetail
|
|
|
|
|
|
+ chapInfoList[courseType].chapterInfo[0].taskJson[taskCount]
|
|
|
|
+ .taskDetail
|
|
? chapInfoList[courseType].chapterInfo[0].taskJson[taskCount]
|
|
? chapInfoList[courseType].chapterInfo[0].taskJson[taskCount]
|
|
.taskDetail
|
|
.taskDetail
|
|
: "暂无描述"
|
|
: "暂无描述"
|
|
@@ -141,11 +125,7 @@
|
|
>
|
|
>
|
|
<div
|
|
<div
|
|
class="wheel"
|
|
class="wheel"
|
|
- v-if="
|
|
|
|
- vedio.length &&
|
|
|
|
- vedio[taskCount] &&
|
|
|
|
- vedio[taskCount].length > 0
|
|
|
|
- "
|
|
|
|
|
|
+ v-if="vedio.length && vedio[taskCount] && vedio[taskCount].length > 0"
|
|
>
|
|
>
|
|
<div class="workd_media" style="height: 100%">
|
|
<div class="workd_media" style="height: 100%">
|
|
<video-player
|
|
<video-player
|
|
@@ -164,9 +144,7 @@
|
|
class="vedioList"
|
|
class="vedioList"
|
|
:class="vedio[taskCount].length == 0 ? 'listNoVedio' : ''"
|
|
:class="vedio[taskCount].length == 0 ? 'listNoVedio' : ''"
|
|
v-if="
|
|
v-if="
|
|
- (vedio.length &&
|
|
|
|
- vedio[taskCount] &&
|
|
|
|
- vedio[taskCount].length > 0) ||
|
|
|
|
|
|
+ (vedio.length && vedio[taskCount] && vedio[taskCount].length > 0) ||
|
|
(textList.length &&
|
|
(textList.length &&
|
|
textList[taskCount] &&
|
|
textList[taskCount] &&
|
|
textList[taskCount].length > 0) ||
|
|
textList[taskCount].length > 0) ||
|
|
@@ -182,9 +160,7 @@
|
|
<div class="navBox">
|
|
<div class="navBox">
|
|
<div
|
|
<div
|
|
v-show="
|
|
v-show="
|
|
- vedio.length &&
|
|
|
|
- vedio[taskCount] &&
|
|
|
|
- vedio[taskCount].length > 0
|
|
|
|
|
|
+ vedio.length && vedio[taskCount] && vedio[taskCount].length > 0
|
|
"
|
|
"
|
|
>
|
|
>
|
|
<div class="vedioNav">视频</div>
|
|
<div class="vedioNav">视频</div>
|
|
@@ -227,13 +203,8 @@
|
|
>
|
|
>
|
|
<div class="vedioNav" style="width: 70px">文档</div>
|
|
<div class="vedioNav" style="width: 70px">文档</div>
|
|
<div>
|
|
<div>
|
|
- <div
|
|
|
|
- class="navText"
|
|
|
|
- @click="lookText(taskCount, textIndex)"
|
|
|
|
- >
|
|
|
|
- {{
|
|
|
|
- textList[taskCount].length > 0 ? text.name : ""
|
|
|
|
- }}.doc
|
|
|
|
|
|
+ <div class="navText" @click="lookText(taskCount, textIndex)">
|
|
|
|
+ {{ textList[taskCount].length > 0 ? text.name : "" }}.doc
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@@ -249,13 +220,8 @@
|
|
>
|
|
>
|
|
<div class="vedioNav">工具</div>
|
|
<div class="vedioNav">工具</div>
|
|
<div>
|
|
<div>
|
|
- <div
|
|
|
|
- class="navText"
|
|
|
|
- @click="lookTools(taskCount, toolsIndex)"
|
|
|
|
- >
|
|
|
|
- {{
|
|
|
|
- chapToolList[taskCount].length > 0 ? tools.name : ""
|
|
|
|
- }}
|
|
|
|
|
|
+ <div class="navText" @click="lookTools(taskCount, toolsIndex)">
|
|
|
|
+ {{ chapToolList[taskCount].length > 0 ? tools.name : "" }}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@@ -283,15 +249,11 @@
|
|
</div>
|
|
</div>
|
|
<div
|
|
<div
|
|
class="newNav"
|
|
class="newNav"
|
|
- v-show="
|
|
|
|
- file.length &&
|
|
|
|
- file[taskCount] &&
|
|
|
|
- file[taskCount].length > 0
|
|
|
|
- "
|
|
|
|
|
|
+ v-show="file.length && file[taskCount] && file[taskCount].length > 0"
|
|
v-for="(f, fileIndex) in file[taskCount]"
|
|
v-for="(f, fileIndex) in file[taskCount]"
|
|
:key="fileIndex"
|
|
:key="fileIndex"
|
|
>
|
|
>
|
|
- <div class="vedioNav">附件</div>
|
|
|
|
|
|
+ <div class="vedioNav">文档</div>
|
|
<div>
|
|
<div>
|
|
<div class="navText" @click="downFile(f, fileIndex)">
|
|
<div class="navText" @click="downFile(f, fileIndex)">
|
|
{{ f.name }}
|
|
{{ f.name }}
|
|
@@ -320,14 +282,16 @@
|
|
overflow: auto;
|
|
overflow: auto;
|
|
"
|
|
"
|
|
v-if="
|
|
v-if="
|
|
- chapInfoList[courseType].chapterInfo[0].taskJson[taskCount].taskDetail !=
|
|
|
|
- ''
|
|
|
|
|
|
+ chapInfoList[courseType].chapterInfo[0].taskJson[taskCount]
|
|
|
|
+ .taskDetail != ''
|
|
"
|
|
"
|
|
>
|
|
>
|
|
<!-- <span style="color: #cbcbcb">任务描述</span> -->
|
|
<!-- <span style="color: #cbcbcb">任务描述</span> -->
|
|
{{
|
|
{{
|
|
- chapInfoList[courseType].chapterInfo[0].taskJson[taskCount].taskDetail
|
|
|
|
- ? chapInfoList[courseType].chapterInfo[0].taskJson[taskCount].taskDetail
|
|
|
|
|
|
+ chapInfoList[courseType].chapterInfo[0].taskJson[taskCount]
|
|
|
|
+ .taskDetail
|
|
|
|
+ ? chapInfoList[courseType].chapterInfo[0].taskJson[taskCount]
|
|
|
|
+ .taskDetail
|
|
: "暂无描述"
|
|
: "暂无描述"
|
|
}}
|
|
}}
|
|
</div>
|
|
</div>
|
|
@@ -336,9 +300,7 @@
|
|
<div
|
|
<div
|
|
class="box_course hangVedio"
|
|
class="box_course hangVedio"
|
|
v-if="
|
|
v-if="
|
|
- (vedio.length &&
|
|
|
|
- vedio[taskCount] &&
|
|
|
|
- vedio[taskCount].length > 0) ||
|
|
|
|
|
|
+ (vedio.length && vedio[taskCount] && vedio[taskCount].length > 0) ||
|
|
(textList.length &&
|
|
(textList.length &&
|
|
textList[taskCount] &&
|
|
textList[taskCount] &&
|
|
textList[taskCount].length > 0) ||
|
|
textList[taskCount].length > 0) ||
|
|
@@ -396,13 +358,8 @@
|
|
>
|
|
>
|
|
<div class="vedioNav" style="width: 70px">文档</div>
|
|
<div class="vedioNav" style="width: 70px">文档</div>
|
|
<div>
|
|
<div>
|
|
- <div
|
|
|
|
- class="noNavText"
|
|
|
|
- @click="lookText(taskCount, textIndex)"
|
|
|
|
- >
|
|
|
|
- {{
|
|
|
|
- textList[taskCount].length > 0 ? text.name : ""
|
|
|
|
- }}.doc
|
|
|
|
|
|
+ <div class="noNavText" @click="lookText(taskCount, textIndex)">
|
|
|
|
+ {{ textList[taskCount].length > 0 ? text.name : "" }}.doc
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@@ -418,13 +375,8 @@
|
|
>
|
|
>
|
|
<div class="vedioNav">工具</div>
|
|
<div class="vedioNav">工具</div>
|
|
<div>
|
|
<div>
|
|
- <div
|
|
|
|
- class="noNavText"
|
|
|
|
- @click="lookTools(taskCount, toolsIndex)"
|
|
|
|
- >
|
|
|
|
- {{
|
|
|
|
- chapToolList[taskCount].length > 0 ? tools.name : ""
|
|
|
|
- }}
|
|
|
|
|
|
+ <div class="noNavText" @click="lookTools(taskCount, toolsIndex)">
|
|
|
|
+ {{ chapToolList[taskCount].length > 0 ? tools.name : "" }}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@@ -452,15 +404,11 @@
|
|
</div>
|
|
</div>
|
|
<div
|
|
<div
|
|
class="newNav"
|
|
class="newNav"
|
|
- v-show="
|
|
|
|
- file.length &&
|
|
|
|
- file[taskCount] &&
|
|
|
|
- file[taskCount].length > 0
|
|
|
|
- "
|
|
|
|
|
|
+ v-show="file.length && file[taskCount] && file[taskCount].length > 0"
|
|
v-for="(f, fileIndex) in file[taskCount]"
|
|
v-for="(f, fileIndex) in file[taskCount]"
|
|
:key="fileIndex"
|
|
:key="fileIndex"
|
|
>
|
|
>
|
|
- <div class="vedioNav">附件</div>
|
|
|
|
|
|
+ <div class="vedioNav">文档</div>
|
|
<div>
|
|
<div>
|
|
<div class="navText" @click="downFile(f, fileIndex)">
|
|
<div class="navText" @click="downFile(f, fileIndex)">
|
|
{{ f.name }}
|
|
{{ f.name }}
|
|
@@ -505,19 +453,15 @@
|
|
v-if="
|
|
v-if="
|
|
chapInfoList[courseType].chapterInfo[0].taskJson[taskCount].toolChoose[0]
|
|
chapInfoList[courseType].chapterInfo[0].taskJson[taskCount].toolChoose[0]
|
|
.tool &&
|
|
.tool &&
|
|
- chapInfoList[courseType].chapterInfo[0].taskJson[taskCount].toolChoose[0].tool
|
|
|
|
- .length &&
|
|
|
|
- chapInfoList[courseType].chapterInfo[0].taskJson[taskCount].toolChoose[0].tool
|
|
|
|
- .length > 0
|
|
|
|
|
|
+ chapInfoList[courseType].chapterInfo[0].taskJson[taskCount].toolChoose[0]
|
|
|
|
+ .tool.length &&
|
|
|
|
+ chapInfoList[courseType].chapterInfo[0].taskJson[taskCount].toolChoose[0]
|
|
|
|
+ .tool.length > 0
|
|
"
|
|
"
|
|
>
|
|
>
|
|
<div
|
|
<div
|
|
class="queTop"
|
|
class="queTop"
|
|
- style="
|
|
|
|
- font-size: 25px;
|
|
|
|
- padding: 20px 0 20px 30px;
|
|
|
|
- font-weight: bold;
|
|
|
|
- "
|
|
|
|
|
|
+ style="font-size: 25px; padding: 20px 0 20px 30px; font-weight: bold"
|
|
>
|
|
>
|
|
<!-- <div class="question" style="width: 30px">
|
|
<!-- <div class="question" style="width: 30px">
|
|
<img src="../assets/icon/toolIcon.png" alt />
|
|
<img src="../assets/icon/toolIcon.png" alt />
|
|
@@ -531,18 +475,11 @@
|
|
<div
|
|
<div
|
|
class="filebox"
|
|
class="filebox"
|
|
style="flex-wrap: nowrap; margin: 0 20px"
|
|
style="flex-wrap: nowrap; margin: 0 20px"
|
|
- v-for="(tool, toolIndex) in chapInfoList[courseType].chapterInfo[0].taskJson[
|
|
|
|
- taskCount
|
|
|
|
- ].toolChoose"
|
|
|
|
|
|
+ v-for="(tool, toolIndex) in chapInfoList[courseType].chapterInfo[0]
|
|
|
|
+ .taskJson[taskCount].toolChoose"
|
|
:key="toolIndex"
|
|
:key="toolIndex"
|
|
>
|
|
>
|
|
- <div
|
|
|
|
- style="
|
|
|
|
- font-size: 20px;
|
|
|
|
- font-weight: bold;
|
|
|
|
- padding: 0 0 10px 10px;
|
|
|
|
- "
|
|
|
|
- >
|
|
|
|
|
|
+ <div style="font-size: 20px; font-weight: bold; padding: 0 0 10px 10px">
|
|
步骤{{ toolIndex + 1 }}
|
|
步骤{{ toolIndex + 1 }}
|
|
</div>
|
|
</div>
|
|
<div class="toolBox">
|
|
<div class="toolBox">
|
|
@@ -693,10 +630,7 @@
|
|
v-if="tType && tType == 1 && tool.tool.indexOf(16) != -1"
|
|
v-if="tType && tType == 1 && tool.tool.indexOf(16) != -1"
|
|
class="worksBox"
|
|
class="worksBox"
|
|
>
|
|
>
|
|
- <div
|
|
|
|
- class="worksBTitle"
|
|
|
|
- v-if="worksStudent[toolIndex].length > 0"
|
|
|
|
- >
|
|
|
|
|
|
+ <div class="worksBTitle" v-if="worksStudent[toolIndex].length > 0">
|
|
<div class="greenBox"></div>
|
|
<div class="greenBox"></div>
|
|
作业提交情况
|
|
作业提交情况
|
|
</div>
|
|
</div>
|
|
@@ -706,21 +640,14 @@
|
|
>
|
|
>
|
|
作业预览
|
|
作业预览
|
|
</div>
|
|
</div>
|
|
- <div
|
|
|
|
- class="worksDetailBox"
|
|
|
|
- v-if="worksStudent[toolIndex].length > 0"
|
|
|
|
- >
|
|
|
|
|
|
+ <div class="worksDetailBox" v-if="worksStudent[toolIndex].length > 0">
|
|
<div
|
|
<div
|
|
class="works"
|
|
class="works"
|
|
v-for="(w, wIndex) in worksStudent[toolIndex]"
|
|
v-for="(w, wIndex) in worksStudent[toolIndex]"
|
|
:key="wIndex"
|
|
:key="wIndex"
|
|
>
|
|
>
|
|
<div class="workImg">
|
|
<div class="workImg">
|
|
- <img
|
|
|
|
- :src="w.works"
|
|
|
|
- @click="previewImg(w.works)"
|
|
|
|
- alt=""
|
|
|
|
- />
|
|
|
|
|
|
+ <img :src="w.works" @click="previewImg(w.works)" alt="" />
|
|
</div>
|
|
</div>
|
|
<div class="worksName">
|
|
<div class="worksName">
|
|
姓名:<span>{{ w.sName }}</span>
|
|
姓名:<span>{{ w.sName }}</span>
|
|
@@ -751,10 +678,7 @@
|
|
v-if="tType && tType == 1 && tool.tool.indexOf(4) != -1"
|
|
v-if="tType && tType == 1 && tool.tool.indexOf(4) != -1"
|
|
class="worksBox"
|
|
class="worksBox"
|
|
>
|
|
>
|
|
- <div
|
|
|
|
- class="worksBTitle"
|
|
|
|
- v-if="worksStudent[toolIndex].length > 0"
|
|
|
|
- >
|
|
|
|
|
|
+ <div class="worksBTitle" v-if="worksStudent[toolIndex].length > 0">
|
|
<div class="greenBox"></div>
|
|
<div class="greenBox"></div>
|
|
作业提交情况
|
|
作业提交情况
|
|
</div>
|
|
</div>
|
|
@@ -764,10 +688,7 @@
|
|
>
|
|
>
|
|
作业预览
|
|
作业预览
|
|
</div>
|
|
</div>
|
|
- <div
|
|
|
|
- class="worksDetailBox"
|
|
|
|
- v-if="worksStudent[toolIndex].length > 0"
|
|
|
|
- >
|
|
|
|
|
|
+ <div class="worksDetailBox" v-if="worksStudent[toolIndex].length > 0">
|
|
<div
|
|
<div
|
|
class="works"
|
|
class="works"
|
|
v-for="(w, wIndex) in worksStudent[toolIndex]"
|
|
v-for="(w, wIndex) in worksStudent[toolIndex]"
|
|
@@ -810,10 +731,7 @@
|
|
v-if="tType && tType == 1 && tool.tool.indexOf(15) != -1"
|
|
v-if="tType && tType == 1 && tool.tool.indexOf(15) != -1"
|
|
class="worksBox"
|
|
class="worksBox"
|
|
>
|
|
>
|
|
- <div
|
|
|
|
- class="worksBTitle"
|
|
|
|
- v-if="worksStudent[toolIndex].length > 0"
|
|
|
|
- >
|
|
|
|
|
|
+ <div class="worksBTitle" v-if="worksStudent[toolIndex].length > 0">
|
|
<div class="greenBox"></div>
|
|
<div class="greenBox"></div>
|
|
作业提交情况
|
|
作业提交情况
|
|
</div>
|
|
</div>
|
|
@@ -823,10 +741,7 @@
|
|
>
|
|
>
|
|
作业预览
|
|
作业预览
|
|
</div>
|
|
</div>
|
|
- <div
|
|
|
|
- class="worksDetailBox"
|
|
|
|
- v-if="worksStudent[toolIndex].length > 0"
|
|
|
|
- >
|
|
|
|
|
|
+ <div class="worksDetailBox" v-if="worksStudent[toolIndex].length > 0">
|
|
<div
|
|
<div
|
|
class="works"
|
|
class="works"
|
|
v-for="(w, wIndex) in worksStudent[toolIndex]"
|
|
v-for="(w, wIndex) in worksStudent[toolIndex]"
|
|
@@ -836,9 +751,7 @@
|
|
<div class="workImg">
|
|
<div class="workImg">
|
|
<img
|
|
<img
|
|
src="../assets/icon/works/noImg.png"
|
|
src="../assets/icon/works/noImg.png"
|
|
- @click="
|
|
|
|
- openTools(15, toolIndex, taskCount, w.works)
|
|
|
|
- "
|
|
|
|
|
|
+ @click="openTools(15, toolIndex, taskCount, w.works)"
|
|
alt=""
|
|
alt=""
|
|
/>
|
|
/>
|
|
</div>
|
|
</div>
|
|
@@ -871,10 +784,7 @@
|
|
v-if="tType && tType == 1 && tool.tool.indexOf(1) != -1"
|
|
v-if="tType && tType == 1 && tool.tool.indexOf(1) != -1"
|
|
class="worksBox"
|
|
class="worksBox"
|
|
>
|
|
>
|
|
- <div
|
|
|
|
- class="worksBTitle"
|
|
|
|
- v-if="worksStudent[toolIndex].length > 0"
|
|
|
|
- >
|
|
|
|
|
|
+ <div class="worksBTitle" v-if="worksStudent[toolIndex].length > 0">
|
|
<div class="greenBox"></div>
|
|
<div class="greenBox"></div>
|
|
作业提交情况
|
|
作业提交情况
|
|
</div>
|
|
</div>
|
|
@@ -884,10 +794,7 @@
|
|
>
|
|
>
|
|
作业预览
|
|
作业预览
|
|
</div>
|
|
</div>
|
|
- <div
|
|
|
|
- class="worksDetailBox"
|
|
|
|
- v-if="worksStudent[toolIndex].length > 0"
|
|
|
|
- >
|
|
|
|
|
|
+ <div class="worksDetailBox" v-if="worksStudent[toolIndex].length > 0">
|
|
<div
|
|
<div
|
|
class="works"
|
|
class="works"
|
|
v-for="(w, wIndex) in worksStudent[toolIndex]"
|
|
v-for="(w, wIndex) in worksStudent[toolIndex]"
|
|
@@ -895,11 +802,7 @@
|
|
>
|
|
>
|
|
<!-- @click="previewImg(w.works)" -->
|
|
<!-- @click="previewImg(w.works)" -->
|
|
<div class="workImg">
|
|
<div class="workImg">
|
|
- <img
|
|
|
|
- :src="w.works"
|
|
|
|
- @click="previewImg(w.works)"
|
|
|
|
- alt=""
|
|
|
|
- />
|
|
|
|
|
|
+ <img :src="w.works" @click="previewImg(w.works)" alt="" />
|
|
</div>
|
|
</div>
|
|
<div class="worksName">
|
|
<div class="worksName">
|
|
姓名:<span>{{ w.sName }}</span>
|
|
姓名:<span>{{ w.sName }}</span>
|
|
@@ -930,10 +833,7 @@
|
|
v-if="tType && tType == 1 && tool.tool.indexOf(3) != -1"
|
|
v-if="tType && tType == 1 && tool.tool.indexOf(3) != -1"
|
|
class="worksBox"
|
|
class="worksBox"
|
|
>
|
|
>
|
|
- <div
|
|
|
|
- class="worksBTitle"
|
|
|
|
- v-if="worksStudent[toolIndex].length > 0"
|
|
|
|
- >
|
|
|
|
|
|
+ <div class="worksBTitle" v-if="worksStudent[toolIndex].length > 0">
|
|
<div class="greenBox"></div>
|
|
<div class="greenBox"></div>
|
|
作业提交情况
|
|
作业提交情况
|
|
</div>
|
|
</div>
|
|
@@ -943,10 +843,7 @@
|
|
>
|
|
>
|
|
作业预览
|
|
作业预览
|
|
</div>
|
|
</div>
|
|
- <div
|
|
|
|
- class="worksDetailBox"
|
|
|
|
- v-if="worksStudent[toolIndex].length > 0"
|
|
|
|
- >
|
|
|
|
|
|
+ <div class="worksDetailBox" v-if="worksStudent[toolIndex].length > 0">
|
|
<div
|
|
<div
|
|
class="works"
|
|
class="works"
|
|
v-for="(w, wIndex) in worksStudent[toolIndex]"
|
|
v-for="(w, wIndex) in worksStudent[toolIndex]"
|
|
@@ -954,11 +851,7 @@
|
|
>
|
|
>
|
|
<!-- @click="previewImg(w.works)" -->
|
|
<!-- @click="previewImg(w.works)" -->
|
|
<div class="workImg">
|
|
<div class="workImg">
|
|
- <img
|
|
|
|
- :src="w.works"
|
|
|
|
- @click="previewImg(w.works)"
|
|
|
|
- alt=""
|
|
|
|
- />
|
|
|
|
|
|
+ <img :src="w.works" @click="previewImg(w.works)" alt="" />
|
|
</div>
|
|
</div>
|
|
<div class="worksName">
|
|
<div class="worksName">
|
|
姓名:<span>{{ w.sName }}</span>
|
|
姓名:<span>{{ w.sName }}</span>
|
|
@@ -989,10 +882,7 @@
|
|
v-if="tType && tType == 1 && tool.tool.indexOf(6) != -1"
|
|
v-if="tType && tType == 1 && tool.tool.indexOf(6) != -1"
|
|
class="worksBox"
|
|
class="worksBox"
|
|
>
|
|
>
|
|
- <div
|
|
|
|
- class="worksBTitle"
|
|
|
|
- v-if="worksStudent[toolIndex].length > 0"
|
|
|
|
- >
|
|
|
|
|
|
+ <div class="worksBTitle" v-if="worksStudent[toolIndex].length > 0">
|
|
<div class="greenBox"></div>
|
|
<div class="greenBox"></div>
|
|
作业提交情况
|
|
作业提交情况
|
|
</div>
|
|
</div>
|
|
@@ -1002,10 +892,7 @@
|
|
>
|
|
>
|
|
作业预览
|
|
作业预览
|
|
</div>
|
|
</div>
|
|
- <div
|
|
|
|
- class="worksDetailBox"
|
|
|
|
- v-if="worksStudent[toolIndex].length > 0"
|
|
|
|
- >
|
|
|
|
|
|
+ <div class="worksDetailBox" v-if="worksStudent[toolIndex].length > 0">
|
|
<div
|
|
<div
|
|
class="works"
|
|
class="works"
|
|
v-for="(w, wIndex) in worksStudent[toolIndex]"
|
|
v-for="(w, wIndex) in worksStudent[toolIndex]"
|
|
@@ -1013,11 +900,7 @@
|
|
>
|
|
>
|
|
<!-- @click="previewImg(w.works)" -->
|
|
<!-- @click="previewImg(w.works)" -->
|
|
<div class="workImg">
|
|
<div class="workImg">
|
|
- <img
|
|
|
|
- :src="w.works"
|
|
|
|
- @click="previewImg(w.works)"
|
|
|
|
- alt=""
|
|
|
|
- />
|
|
|
|
|
|
+ <img :src="w.works" @click="previewImg(w.works)" alt="" />
|
|
</div>
|
|
</div>
|
|
<div class="worksName">
|
|
<div class="worksName">
|
|
姓名:<span>{{ w.sName }}</span>
|
|
姓名:<span>{{ w.sName }}</span>
|
|
@@ -1048,10 +931,7 @@
|
|
v-if="tType && tType == 1 && tool.tool.indexOf(7) != -1"
|
|
v-if="tType && tType == 1 && tool.tool.indexOf(7) != -1"
|
|
class="worksBox"
|
|
class="worksBox"
|
|
>
|
|
>
|
|
- <div
|
|
|
|
- class="worksBTitle"
|
|
|
|
- v-if="worksStudent[toolIndex].length > 0"
|
|
|
|
- >
|
|
|
|
|
|
+ <div class="worksBTitle" v-if="worksStudent[toolIndex].length > 0">
|
|
<div class="greenBox"></div>
|
|
<div class="greenBox"></div>
|
|
作业提交情况
|
|
作业提交情况
|
|
</div>
|
|
</div>
|
|
@@ -1061,10 +941,7 @@
|
|
>
|
|
>
|
|
作业预览
|
|
作业预览
|
|
</div>
|
|
</div>
|
|
- <div
|
|
|
|
- class="worksDetailBox"
|
|
|
|
- v-if="worksStudent[toolIndex].length > 0"
|
|
|
|
- >
|
|
|
|
|
|
+ <div class="worksDetailBox" v-if="worksStudent[toolIndex].length > 0">
|
|
<div
|
|
<div
|
|
class="works"
|
|
class="works"
|
|
v-for="(w, wIndex) in worksStudent[toolIndex]"
|
|
v-for="(w, wIndex) in worksStudent[toolIndex]"
|
|
@@ -1072,11 +949,7 @@
|
|
>
|
|
>
|
|
<!-- @click="previewImg(w.works)" -->
|
|
<!-- @click="previewImg(w.works)" -->
|
|
<div class="workImg">
|
|
<div class="workImg">
|
|
- <img
|
|
|
|
- :src="w.works"
|
|
|
|
- @click="previewImg(w.works)"
|
|
|
|
- alt=""
|
|
|
|
- />
|
|
|
|
|
|
+ <img :src="w.works" @click="previewImg(w.works)" alt="" />
|
|
</div>
|
|
</div>
|
|
<div class="worksName">
|
|
<div class="worksName">
|
|
姓名:<span>{{ w.sName }}</span>
|
|
姓名:<span>{{ w.sName }}</span>
|
|
@@ -1310,9 +1183,7 @@
|
|
</div>
|
|
</div>
|
|
<div v-if="proVisible" class="mask">
|
|
<div v-if="proVisible" class="mask">
|
|
<div class="progressBox">
|
|
<div class="progressBox">
|
|
- <div class="lbox">
|
|
|
|
- <img src="../assets/loading.gif" />上传中,请稍后
|
|
|
|
- </div>
|
|
|
|
|
|
+ <div class="lbox"><img src="../assets/loading.gif" />上传中,请稍后</div>
|
|
<el-progress
|
|
<el-progress
|
|
:text-inside="true"
|
|
:text-inside="true"
|
|
:stroke-width="20"
|
|
:stroke-width="20"
|
|
@@ -1362,8 +1233,7 @@
|
|
<div class="a_add_input">
|
|
<div class="a_add_input">
|
|
<el-radio-group v-model="radio[index1]">
|
|
<el-radio-group v-model="radio[index1]">
|
|
<el-radio
|
|
<el-radio
|
|
- v-for="(item2, checkIndex) in askJson.askJson[index1]
|
|
|
|
- .checkList"
|
|
|
|
|
|
+ v-for="(item2, checkIndex) in askJson.askJson[index1].checkList"
|
|
:key="checkIndex"
|
|
:key="checkIndex"
|
|
:label="checkIndex"
|
|
:label="checkIndex"
|
|
class="redioStyle"
|
|
class="redioStyle"
|
|
@@ -1376,8 +1246,7 @@
|
|
<div class="a_add_input">
|
|
<div class="a_add_input">
|
|
<el-radio-group v-model="radio[index1]">
|
|
<el-radio-group v-model="radio[index1]">
|
|
<el-radio
|
|
<el-radio
|
|
- v-for="(item2, checkIndex) in askJson.askJson[index1]
|
|
|
|
- .checkList"
|
|
|
|
|
|
+ v-for="(item2, checkIndex) in askJson.askJson[index1].checkList"
|
|
:key="checkIndex"
|
|
:key="checkIndex"
|
|
:label="checkIndex"
|
|
:label="checkIndex"
|
|
disabled
|
|
disabled
|
|
@@ -1395,9 +1264,7 @@
|
|
<el-button type="primary" @click="addStudentAsk" v-if="!isAnswer"
|
|
<el-button type="primary" @click="addStudentAsk" v-if="!isAnswer"
|
|
>确 定</el-button
|
|
>确 定</el-button
|
|
>
|
|
>
|
|
- <el-button type="primary" @click="dialogVisible5 = false" v-else
|
|
|
|
- >确 定</el-button
|
|
|
|
- >
|
|
|
|
|
|
+ <el-button type="primary" @click="dialogVisible5 = false" v-else>确 定</el-button>
|
|
</span>
|
|
</span>
|
|
</el-dialog>
|
|
</el-dialog>
|
|
<el-dialog
|
|
<el-dialog
|
|
@@ -1413,15 +1280,10 @@
|
|
<div style="font-size: 20px">{{ text.name }}</div>
|
|
<div style="font-size: 20px">{{ text.name }}</div>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<div>富文本内容</div>
|
|
<div>富文本内容</div>
|
|
- <div
|
|
|
|
- v-html="text.url"
|
|
|
|
- style="font-size: 18px; padding: 40px 0 0 0"
|
|
|
|
- ></div>
|
|
|
|
|
|
+ <div v-html="text.url" style="font-size: 18px; padding: 40px 0 0 0"></div>
|
|
</el-form>
|
|
</el-form>
|
|
<span slot="footer" class="dialog-footer">
|
|
<span slot="footer" class="dialog-footer">
|
|
- <el-button type="primary" @click="dialogVisible1 = false"
|
|
|
|
- >确定</el-button
|
|
|
|
- >
|
|
|
|
|
|
+ <el-button type="primary" @click="dialogVisible1 = false">确定</el-button>
|
|
</span>
|
|
</span>
|
|
</el-dialog>
|
|
</el-dialog>
|
|
<el-dialog
|
|
<el-dialog
|
|
@@ -1431,12 +1293,7 @@
|
|
:before-close="handleClose"
|
|
:before-close="handleClose"
|
|
class="dialog_diy"
|
|
class="dialog_diy"
|
|
>
|
|
>
|
|
- <iframe
|
|
|
|
- :src="pptImgUrl"
|
|
|
|
- frameborder="0"
|
|
|
|
- width="100%"
|
|
|
|
- height="600"
|
|
|
|
- ></iframe>
|
|
|
|
|
|
+ <iframe :src="pptImgUrl" frameborder="0" width="100%" height="600"></iframe>
|
|
</el-dialog>
|
|
</el-dialog>
|
|
<el-dialog
|
|
<el-dialog
|
|
title="提示"
|
|
title="提示"
|
|
@@ -1784,8 +1641,9 @@ export default {
|
|
this.ajax
|
|
this.ajax
|
|
.get(this.$store.state.api + "selectSWorks", params)
|
|
.get(this.$store.state.api + "selectSWorks", params)
|
|
.then((res) => {
|
|
.then((res) => {
|
|
- var a =
|
|
|
|
- this.chapInfoList[this.courseType].chapterInfo[0].taskJson[this.taskCount].toolChoose;
|
|
|
|
|
|
+ var a = this.chapInfoList[this.courseType].chapterInfo[0].taskJson[
|
|
|
|
+ this.taskCount
|
|
|
|
+ ].toolChoose;
|
|
var b = res.data[0];
|
|
var b = res.data[0];
|
|
for (var i = 0; i < a.length; i++) {
|
|
for (var i = 0; i < a.length; i++) {
|
|
this.worksStudent[i] = [];
|
|
this.worksStudent[i] = [];
|
|
@@ -1952,8 +1810,7 @@ export default {
|
|
this.navList[this.courseType].isOpen = false;
|
|
this.navList[this.courseType].isOpen = false;
|
|
this.courseType = b;
|
|
this.courseType = b;
|
|
this.taskCount =
|
|
this.taskCount =
|
|
- this.chapInfoList[this.courseType].chapterInfo[0].taskJson
|
|
|
|
- .length - 1;
|
|
|
|
|
|
+ this.chapInfoList[this.courseType].chapterInfo[0].taskJson.length - 1;
|
|
this.navList[this.courseType].isOpen = true;
|
|
this.navList[this.courseType].isOpen = true;
|
|
} else {
|
|
} else {
|
|
this.taskCount--;
|
|
this.taskCount--;
|
|
@@ -1963,8 +1820,7 @@ export default {
|
|
this.navList[this.courseType].isOpen = false;
|
|
this.navList[this.courseType].isOpen = false;
|
|
this.courseType--;
|
|
this.courseType--;
|
|
this.taskCount =
|
|
this.taskCount =
|
|
- this.chapInfoList[this.courseType].chapterInfo[0].taskJson
|
|
|
|
- .length - 1;
|
|
|
|
|
|
+ this.chapInfoList[this.courseType].chapterInfo[0].taskJson.length - 1;
|
|
this.navList[this.courseType].isOpen = true;
|
|
this.navList[this.courseType].isOpen = true;
|
|
} else {
|
|
} else {
|
|
this.taskCount--;
|
|
this.taskCount--;
|
|
@@ -1975,8 +1831,7 @@ export default {
|
|
if (this.courseType == b) {
|
|
if (this.courseType == b) {
|
|
if (
|
|
if (
|
|
this.taskCount ==
|
|
this.taskCount ==
|
|
- this.chapInfoList[this.courseType].chapterInfo[0].taskJson.length -
|
|
|
|
- 1
|
|
|
|
|
|
+ this.chapInfoList[this.courseType].chapterInfo[0].taskJson.length - 1
|
|
) {
|
|
) {
|
|
this.navList[this.courseType].isOpen = false;
|
|
this.navList[this.courseType].isOpen = false;
|
|
this.courseType = 0;
|
|
this.courseType = 0;
|
|
@@ -1988,8 +1843,7 @@ export default {
|
|
} else {
|
|
} else {
|
|
if (
|
|
if (
|
|
this.taskCount ==
|
|
this.taskCount ==
|
|
- this.chapInfoList[this.courseType].chapterInfo[0].taskJson.length -
|
|
|
|
- 1
|
|
|
|
|
|
+ this.chapInfoList[this.courseType].chapterInfo[0].taskJson.length - 1
|
|
) {
|
|
) {
|
|
this.navList[this.courseType].isOpen = false;
|
|
this.navList[this.courseType].isOpen = false;
|
|
this.courseType++;
|
|
this.courseType++;
|
|
@@ -2010,12 +1864,10 @@ export default {
|
|
}
|
|
}
|
|
this.navId = this.navList[this.courseType].task[this.taskCount].id;
|
|
this.navId = this.navList[this.courseType].task[this.taskCount].id;
|
|
if (this.vedio[this.taskCount].length > 0) {
|
|
if (this.vedio[this.taskCount].length > 0) {
|
|
- var a =
|
|
|
|
- document.getElementsByClassName("vedioTaskBox")[this.taskCount]
|
|
|
|
- .offsetHeight;
|
|
|
|
- document.getElementsByClassName("vedioList")[
|
|
|
|
- this.taskCount
|
|
|
|
- ].style.height = a - 15 + "px";
|
|
|
|
|
|
+ var a = document.getElementsByClassName("vedioTaskBox")[this.taskCount]
|
|
|
|
+ .offsetHeight;
|
|
|
|
+ document.getElementsByClassName("vedioList")[this.taskCount].style.height =
|
|
|
|
+ a - 15 + "px";
|
|
document.getElementsByClassName("navBox")[this.taskCount].style.height =
|
|
document.getElementsByClassName("navBox")[this.taskCount].style.height =
|
|
a - 100 + "px";
|
|
a - 100 + "px";
|
|
}
|
|
}
|
|
@@ -2110,8 +1962,7 @@ export default {
|
|
.get(this.$store.state.api + "selectCourseDetail", params)
|
|
.get(this.$store.state.api + "selectCourseDetail", params)
|
|
.then((res) => {
|
|
.then((res) => {
|
|
loading.close();
|
|
loading.close();
|
|
- var a = JSON.parse(res.data[0][0].chapters)[t].chapterInfo[0]
|
|
|
|
- .taskJson;
|
|
|
|
|
|
+ var a = JSON.parse(res.data[0][0].chapters)[t].chapterInfo[0].taskJson;
|
|
var b = [
|
|
var b = [
|
|
"AVI",
|
|
"AVI",
|
|
"NAVI",
|
|
"NAVI",
|
|
@@ -2173,8 +2024,7 @@ export default {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
var d = JSON.parse(JSON.stringify(this.playerOptions));
|
|
var d = JSON.parse(JSON.stringify(this.playerOptions));
|
|
- d.sources[0].src =
|
|
|
|
- this.vedio[i].length > 0 ? this.vedio[i][0].url : this.mr;
|
|
|
|
|
|
+ d.sources[0].src = this.vedio[i].length > 0 ? this.vedio[i][0].url : this.mr;
|
|
this.playerO[i] = d;
|
|
this.playerO[i] = d;
|
|
}
|
|
}
|
|
this.courseDetail = res.data[0][0];
|
|
this.courseDetail = res.data[0][0];
|
|
@@ -2217,12 +2067,10 @@ export default {
|
|
// document.getElementsByClassName("vedioList")[i].style.height =
|
|
// document.getElementsByClassName("vedioList")[i].style.height =
|
|
// a + "px";
|
|
// a + "px";
|
|
// }
|
|
// }
|
|
- var a =
|
|
|
|
- document.getElementsByClassName("vedioTaskBox")[0].offsetHeight;
|
|
|
|
|
|
+ var a = document.getElementsByClassName("vedioTaskBox")[0].offsetHeight;
|
|
document.getElementsByClassName("vedioList")[0].style.height =
|
|
document.getElementsByClassName("vedioList")[0].style.height =
|
|
a - 15 + "px";
|
|
a - 15 + "px";
|
|
- document.getElementsByClassName("navBox")[0].style.height =
|
|
|
|
- a - 100 + "px";
|
|
|
|
|
|
+ document.getElementsByClassName("navBox")[0].style.height = a - 100 + "px";
|
|
}, 500);
|
|
}, 500);
|
|
});
|
|
});
|
|
this.selectSWorks();
|
|
this.selectSWorks();
|
|
@@ -2257,17 +2105,9 @@ export default {
|
|
},
|
|
},
|
|
isAssetTypeAnImage(ext) {
|
|
isAssetTypeAnImage(ext) {
|
|
return (
|
|
return (
|
|
- [
|
|
|
|
- "png",
|
|
|
|
- "jpg",
|
|
|
|
- "jpeg",
|
|
|
|
- "bmp",
|
|
|
|
- "gif",
|
|
|
|
- "webp",
|
|
|
|
- "psd",
|
|
|
|
- "svg",
|
|
|
|
- "tiff",
|
|
|
|
- ].indexOf(ext) !== -1
|
|
|
|
|
|
+ ["png", "jpg", "jpeg", "bmp", "gif", "webp", "psd", "svg", "tiff"].indexOf(
|
|
|
|
+ ext
|
|
|
|
+ ) !== -1
|
|
);
|
|
);
|
|
},
|
|
},
|
|
switchVideo(media) {
|
|
switchVideo(media) {
|
|
@@ -2295,12 +2135,9 @@ export default {
|
|
this.pptImgUrl = "";
|
|
this.pptImgUrl = "";
|
|
var a = ["PPT", "PPTX", "PDF", "XLSX", "XLS", "DOC", "DOCX"];
|
|
var a = ["PPT", "PPTX", "PDF", "XLSX", "XLS", "DOC", "DOCX"];
|
|
if (
|
|
if (
|
|
- a.indexOf(
|
|
|
|
- f.url.split(".")[f.url.split(".").length - 1].toLocaleUpperCase()
|
|
|
|
- ) != -1
|
|
|
|
|
|
+ a.indexOf(f.url.split(".")[f.url.split(".").length - 1].toLocaleUpperCase()) != -1
|
|
) {
|
|
) {
|
|
- this.pptImgUrl =
|
|
|
|
- "https://view.officeapps.live.com/op/view.aspx?src=" + f.url;
|
|
|
|
|
|
+ this.pptImgUrl = "https://view.officeapps.live.com/op/view.aspx?src=" + f.url;
|
|
this.dialogVisible3 = true;
|
|
this.dialogVisible3 = true;
|
|
} else {
|
|
} else {
|
|
window.open(this.file[i].url);
|
|
window.open(this.file[i].url);
|
|
@@ -2537,12 +2374,15 @@ export default {
|
|
this.toolsCount(a, t);
|
|
this.toolsCount(a, t);
|
|
}
|
|
}
|
|
if (!this.dialogVisible2) {
|
|
if (!this.dialogVisible2) {
|
|
- this.askJson.askJson =
|
|
|
|
- this.chapInfoList[this.courseType].chapterInfo[0].taskJson[index].toolChoose[i].askJson;
|
|
|
|
- this.askJson.askTitle =
|
|
|
|
- this.chapInfoList[this.courseType].chapterInfo[0].taskJson[index].toolChoose[i].askTitle;
|
|
|
|
- this.askJson.askCount =
|
|
|
|
- this.chapInfoList[this.courseType].chapterInfo[0].taskJson[index].toolChoose[i].askCount;
|
|
|
|
|
|
+ this.askJson.askJson = this.chapInfoList[
|
|
|
|
+ this.courseType
|
|
|
|
+ ].chapterInfo[0].taskJson[index].toolChoose[i].askJson;
|
|
|
|
+ this.askJson.askTitle = this.chapInfoList[
|
|
|
|
+ this.courseType
|
|
|
|
+ ].chapterInfo[0].taskJson[index].toolChoose[i].askTitle;
|
|
|
|
+ this.askJson.askCount = this.chapInfoList[
|
|
|
|
+ this.courseType
|
|
|
|
+ ].chapterInfo[0].taskJson[index].toolChoose[i].askCount;
|
|
} else {
|
|
} else {
|
|
this.askJson.askJson = this.chapTools.askJson.askJson;
|
|
this.askJson.askJson = this.chapTools.askJson.askJson;
|
|
this.askJson.askTitle = this.chapTools.askJson.askTitle;
|
|
this.askJson.askTitle = this.chapTools.askJson.askTitle;
|
|
@@ -2652,10 +2492,11 @@ export default {
|
|
a = this.answerCount;
|
|
a = this.answerCount;
|
|
this.toolsCount(a, t);
|
|
this.toolsCount(a, t);
|
|
}
|
|
}
|
|
- this.answerQ = this.chapInfoList[this.courseType].chapterInfo[0].taskJson[index].toolChoose[
|
|
|
|
- i
|
|
|
|
- ].answerQ
|
|
|
|
- ? this.chapInfoList[this.courseType].chapterInfo[0].taskJson[index].toolChoose[i].answerQ
|
|
|
|
|
|
+ this.answerQ = this.chapInfoList[this.courseType].chapterInfo[0].taskJson[index]
|
|
|
|
+ .toolChoose[i].answerQ
|
|
|
|
+ ? this.chapInfoList[this.courseType].chapterInfo[0].taskJson[index].toolChoose[
|
|
|
|
+ i
|
|
|
|
+ ].answerQ
|
|
: "";
|
|
: "";
|
|
this.answerDialogVisible = true;
|
|
this.answerDialogVisible = true;
|
|
}
|
|
}
|
|
@@ -2706,10 +2547,8 @@ export default {
|
|
document.scrollingElement.scrollTop = 0;
|
|
document.scrollingElement.scrollTop = 0;
|
|
window.addEventListener("resize", () => {
|
|
window.addEventListener("resize", () => {
|
|
var a = document.getElementsByClassName("vedioTaskBox")[0].offsetHeight;
|
|
var a = document.getElementsByClassName("vedioTaskBox")[0].offsetHeight;
|
|
- document.getElementsByClassName("vedioList")[0].style.height =
|
|
|
|
- a - 15 + "px";
|
|
|
|
- document.getElementsByClassName("navBox")[0].style.height =
|
|
|
|
- a - 100 + "px";
|
|
|
|
|
|
+ document.getElementsByClassName("vedioList")[0].style.height = a - 15 + "px";
|
|
|
|
+ document.getElementsByClassName("navBox")[0].style.height = a - 100 + "px";
|
|
});
|
|
});
|
|
|
|
|
|
setTimeout(() => {
|
|
setTimeout(() => {
|