|
@@ -10,7 +10,7 @@
|
|
|
box-sizing: border-box;
|
|
|
"
|
|
|
>
|
|
|
- <div class="btnAllNT">
|
|
|
+ <div class="btnAllNT">
|
|
|
<!-- <img src="../../assets/icon/learn/screen.png" @click="allScrell" /> -->
|
|
|
<img
|
|
|
src="../../assets/icon/learn/addTool.png"
|
|
@@ -171,9 +171,7 @@
|
|
|
:class="{
|
|
|
isGjCss: t.isTool,
|
|
|
}"
|
|
|
- @click="
|
|
|
- jumpGj(courseType, navIndex, toolIndex2, nav.id)
|
|
|
- "
|
|
|
+ @click="jumpGj(courseType, navIndex, toolIndex2, nav.id)"
|
|
|
>
|
|
|
<div>工具{{ toolIndex2 + 1 }}:</div>
|
|
|
<div v-if="t.tool == 58">模拟驾驶</div>
|
|
@@ -242,19 +240,27 @@
|
|
|
<div class="btnAll">
|
|
|
<div class="btnLeft">
|
|
|
<el-tooltip effect="light" content="刷新" placement="top">
|
|
|
- <div class="reBtnIcon" @click="refreshCourse"><span>刷新</span></div>
|
|
|
+ <div class="reBtnIcon" @click="refreshCourse">
|
|
|
+ <span>刷新</span>
|
|
|
+ </div>
|
|
|
</el-tooltip>
|
|
|
<el-tooltip effect="light" content="评论" placement="top">
|
|
|
- <div class="commentIcon" @click="setPz" v-if="tType == 1"><span>评论</span></div>
|
|
|
+ <div class="commentIcon" @click="setPz" v-if="tType == 1">
|
|
|
+ <span>评论</span>
|
|
|
+ </div>
|
|
|
</el-tooltip>
|
|
|
<div v-if="!videoStart && (tType == 1 || tType == 4)">
|
|
|
<el-tooltip effect="light" content="录制" placement="top">
|
|
|
- <div class="vedioIcon" @click="startRecording"><span>录制</span></div>
|
|
|
+ <div class="vedioIcon" @click="startRecording">
|
|
|
+ <span>录制</span>
|
|
|
+ </div>
|
|
|
</el-tooltip>
|
|
|
</div>
|
|
|
<div v-else-if="tType == 1 || tType == 4">
|
|
|
<el-tooltip effect="light" content="下载" placement="top">
|
|
|
- <div class="vedioIcon1" @click="stopRecording"><span>下载</span></div>
|
|
|
+ <div class="vedioIcon1" @click="stopRecording">
|
|
|
+ <span>下载</span>
|
|
|
+ </div>
|
|
|
</el-tooltip>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -624,7 +630,10 @@
|
|
|
<div class="navCorOpenBox">
|
|
|
<div class="navTitile">内容列表:</div>
|
|
|
<div class="navCorOpen" @click="setContent(false)">
|
|
|
- <img src="../../assets/icon/newIcons/isRight.png" alt="" />
|
|
|
+ <img
|
|
|
+ src="../../assets/icon/newIcons/isRight.png"
|
|
|
+ alt=""
|
|
|
+ />
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="navBox">
|
|
@@ -650,7 +659,10 @@
|
|
|
>{{ vitem.name }}
|
|
|
</div>
|
|
|
<div class="downIcon" @click="downloadFile2(vitem)">
|
|
|
- <img src="../../assets/icon/newIcon/down.png" alt />
|
|
|
+ <img
|
|
|
+ src="../../assets/icon/newIcon/down.png"
|
|
|
+ alt
|
|
|
+ />
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
@@ -703,7 +715,10 @@
|
|
|
>{{ vitem.name }}
|
|
|
</div>
|
|
|
<div class="downIcon" @click="downloadFile2(vitem)">
|
|
|
- <img src="../../assets/icon/newIcon/down.png" alt />
|
|
|
+ <img
|
|
|
+ src="../../assets/icon/newIcon/down.png"
|
|
|
+ alt
|
|
|
+ />
|
|
|
</div>
|
|
|
<div
|
|
|
class="downIcon"
|
|
@@ -721,7 +736,10 @@
|
|
|
>{{ vitem.name }}
|
|
|
</div>
|
|
|
<div class="downIcon" @click="downloadFile2(vitem)">
|
|
|
- <img src="../../assets/icon/newIcon/down.png" alt />
|
|
|
+ <img
|
|
|
+ src="../../assets/icon/newIcon/down.png"
|
|
|
+ alt
|
|
|
+ />
|
|
|
</div>
|
|
|
<div
|
|
|
class="downIcon"
|
|
@@ -742,7 +760,10 @@
|
|
|
{{ vitem.name }}
|
|
|
</div>
|
|
|
<div class="downIcon" @click="downloadFile2(vitem)">
|
|
|
- <img src="../../assets/icon/newIcon/down.png" alt />
|
|
|
+ <img
|
|
|
+ src="../../assets/icon/newIcon/down.png"
|
|
|
+ alt
|
|
|
+ />
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -1313,9 +1334,11 @@
|
|
|
>
|
|
|
<el-button
|
|
|
type="primary"
|
|
|
- v-if="tool.tool[0] == 16 && worksStudent[toolIndex].length > 0"
|
|
|
+ v-if="
|
|
|
+ tool.tool[0] == 16 && worksStudent[toolIndex].length > 0
|
|
|
+ "
|
|
|
style="position: absolute; right: 30px; top: 30px"
|
|
|
- @click="openTips(toolIndex)"
|
|
|
+ @click="uploadWorks(toolIndex)"
|
|
|
>导出作业</el-button
|
|
|
>
|
|
|
<!-- <el-button type="primary" v-if="tool.tool[0] == 57" style="
|
|
@@ -7708,7 +7731,10 @@
|
|
|
@click="addTools2(7)"
|
|
|
>
|
|
|
<div class="whiteBIcon">
|
|
|
- <img src="../../assets/icon/secondToolList/mindNetwork.png" alt />
|
|
|
+ <img
|
|
|
+ src="../../assets/icon/secondToolList/mindNetwork.png"
|
|
|
+ alt
|
|
|
+ />
|
|
|
<div style="margin: 5px 0">思维网格</div>
|
|
|
</div>
|
|
|
<div class="check">
|
|
@@ -7725,7 +7751,10 @@
|
|
|
@click="addTools2(1)"
|
|
|
>
|
|
|
<div class="whiteBIcon">
|
|
|
- <img src="../../assets/icon/secondToolList/whiteBoard.png" alt />
|
|
|
+ <img
|
|
|
+ src="../../assets/icon/secondToolList/whiteBoard.png"
|
|
|
+ alt
|
|
|
+ />
|
|
|
<div style="margin: 5px 0">电子白板</div>
|
|
|
</div>
|
|
|
<div class="check">
|
|
@@ -7759,7 +7788,10 @@
|
|
|
@click="addTools2(3)"
|
|
|
>
|
|
|
<div class="whiteBIcon">
|
|
|
- <img src="../../assets/icon/secondToolList/mindMapping.png" alt />
|
|
|
+ <img
|
|
|
+ src="../../assets/icon/secondToolList/mindMapping.png"
|
|
|
+ alt
|
|
|
+ />
|
|
|
<div style="margin: 5px 0">思维导图</div>
|
|
|
</div>
|
|
|
<div class="check">
|
|
@@ -7841,7 +7873,10 @@
|
|
|
@click="addTools2(18)"
|
|
|
>
|
|
|
<div class="whiteBIcon">
|
|
|
- <img src="../../assets/icon/thirdToolList/trainPlatform.png" alt />
|
|
|
+ <img
|
|
|
+ src="../../assets/icon/thirdToolList/trainPlatform.png"
|
|
|
+ alt
|
|
|
+ />
|
|
|
<div style="margin: 5px 0">训练平台</div>
|
|
|
</div>
|
|
|
<div class="check">
|
|
@@ -7984,7 +8019,10 @@
|
|
|
@click="addTools2(28)"
|
|
|
>
|
|
|
<div class="whiteBIcon">
|
|
|
- <img src="../../assets/icon/secondToolList/translation.png" alt />
|
|
|
+ <img
|
|
|
+ src="../../assets/icon/secondToolList/translation.png"
|
|
|
+ alt
|
|
|
+ />
|
|
|
<div style="margin: 5px 0">翻译</div>
|
|
|
</div>
|
|
|
<div class="check">
|
|
@@ -8001,7 +8039,10 @@
|
|
|
@click="addTools2(31)"
|
|
|
>
|
|
|
<div class="whiteBIcon">
|
|
|
- <img src="../../assets/icon/secondToolList/networkPanel.png" alt />
|
|
|
+ <img
|
|
|
+ src="../../assets/icon/secondToolList/networkPanel.png"
|
|
|
+ alt
|
|
|
+ />
|
|
|
<div style="margin: 5px 0">数字画板</div>
|
|
|
</div>
|
|
|
<div class="check">
|
|
@@ -8035,7 +8076,10 @@
|
|
|
@click="addTools2(66)"
|
|
|
>
|
|
|
<div class="whiteBIcon">
|
|
|
- <img src="../../assets/icon/secondToolList/formulaEdi.png" alt />
|
|
|
+ <img
|
|
|
+ src="../../assets/icon/secondToolList/formulaEdi.png"
|
|
|
+ alt
|
|
|
+ />
|
|
|
<div style="margin: 5px 0">公式编辑</div>
|
|
|
</div>
|
|
|
<div class="check">
|
|
@@ -8081,7 +8125,10 @@
|
|
|
@click="addTools2(26)"
|
|
|
>
|
|
|
<div class="whiteBIcon">
|
|
|
- <img src="../../assets/icon/thirdToolList/courseDesign.png" alt />
|
|
|
+ <img
|
|
|
+ src="../../assets/icon/thirdToolList/courseDesign.png"
|
|
|
+ alt
|
|
|
+ />
|
|
|
<div style="margin: 5px 0">课程设计</div>
|
|
|
</div>
|
|
|
<div class="check">
|
|
@@ -11060,20 +11107,6 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
- <el-dialog
|
|
|
- title="提示"
|
|
|
- :visible.sync="downDialogVisible"
|
|
|
- width="500px"
|
|
|
- :before-close="handleClose"
|
|
|
- class="dialog_diy"
|
|
|
- center
|
|
|
- >
|
|
|
- <div style="font-size: 18px;">是否导出作业?</div>
|
|
|
- <span slot="footer" class="dialog-footer">
|
|
|
- <el-button @click="downDialogVisible = false">取 消</el-button>
|
|
|
- <el-button type="primary" @click="uploadWorks">确 定</el-button>
|
|
|
- </span>
|
|
|
- </el-dialog>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
@@ -11351,8 +11384,6 @@ export default {
|
|
|
dialogVisibleChoiceTeacher: false,
|
|
|
answerDialogVisible: false,
|
|
|
answerDialogVisibleTeacher: false,
|
|
|
- downDialogVisible: false,
|
|
|
- tipsIndex: 0,
|
|
|
juriVisible: false,
|
|
|
timeDialogVisible: false,
|
|
|
replyDialogVisible: false,
|
|
@@ -18049,97 +18080,104 @@ export default {
|
|
|
this.wordCloudData = array;
|
|
|
this.dialogVisibleWordCloud = true;
|
|
|
},
|
|
|
- openTips(i){
|
|
|
+ openTips(i) {
|
|
|
this.tipsIndex = i;
|
|
|
this.downDialogVisible = true;
|
|
|
},
|
|
|
uploadWorks() {
|
|
|
- this.downDialogVisible = false;
|
|
|
- const loading = this.$loading.service({
|
|
|
- background: "rgba(255, 255, 255, 0.7)",
|
|
|
- target: document.body,
|
|
|
- text: "文件加载中...",
|
|
|
- });
|
|
|
- const _worksStudent = this.worksStudent;
|
|
|
- let url = [];
|
|
|
- var counts = {};
|
|
|
- for (var l = 0; l < _worksStudent[this.tipsIndex].length; l++) {
|
|
|
- var item = _worksStudent[this.tipsIndex][l];
|
|
|
- var name = item.sName;
|
|
|
- if (!counts.hasOwnProperty(name)) {
|
|
|
- counts[name] = 0;
|
|
|
- } else {
|
|
|
- counts[name]++;
|
|
|
- }
|
|
|
- if (counts[name] > 0) {
|
|
|
- item.sName += " (" + counts[name] + ")";
|
|
|
- }
|
|
|
- }
|
|
|
- for (var l = 0; l < _worksStudent[this.tipsIndex].length; l++) {
|
|
|
- var item = _worksStudent[this.tipsIndex][l];
|
|
|
- if (
|
|
|
- item.works.indexOf(
|
|
|
- "https://ccrb.s3.cn-northwest-1.amazonaws.com.cn"
|
|
|
- ) !== -1 &&
|
|
|
- item.works.indexOf("img") === -1
|
|
|
- ) {
|
|
|
- url.push({ name: item.sName, url: item.works });
|
|
|
- }
|
|
|
- }
|
|
|
- // var toolList = [
|
|
|
- // { name: "电子白板", tool: 1 },
|
|
|
- // { name: "思维导图", tool: 3 },
|
|
|
- // { name: "协同文档", tool: 6 },
|
|
|
- // { name: "思维网格", tool: 7 },
|
|
|
- // { name: "素材库", tool: 8 },
|
|
|
- // { name: "学习资料", tool: 17 },
|
|
|
- // { name: "便签", tool: 2 },
|
|
|
- // { name: "问卷调查", tool: 4 },
|
|
|
- // { name: "选择题", tool: 45 },
|
|
|
- // { name: "倒计时", tool: 10 },
|
|
|
- // { name: "问答", tool: 15 },
|
|
|
- // { name: "课程设计", tool: 26 },
|
|
|
- // { name: "训练服务器", tool: 18 },
|
|
|
- // { name: "作业提交", tool: 16 },
|
|
|
- // { name: "批量上传", tool: 50 },
|
|
|
- // { name: "AIoT Blockly", tool: 21 },
|
|
|
- // { name: "AI Python", tool: 23 },
|
|
|
- // { name: "AI Blockly", tool: 24 },
|
|
|
- // { name: "目标管理", tool: 25 },
|
|
|
- // { name: "数学画板", tool: 31 },
|
|
|
- // { name: "翻译", tool: 28 },
|
|
|
- // { name: "魔盒识字", tool: 37 },
|
|
|
- // { name: "数学画板", tool: 31 },
|
|
|
- // { name: "24点", tool: 38 },
|
|
|
- // { name: "GeoGebra", tool: 39 },
|
|
|
- // { name: "源码编辑", tool: 32 },
|
|
|
- // { name: "个人评价", tool: 40 },
|
|
|
- // { name: "选择匹配", tool: 41 },
|
|
|
- // { name: "汉字宫", tool: 44 },
|
|
|
- // { name: "排序", tool: 47 },
|
|
|
- // { name: "表格", tool: 48 },
|
|
|
- // { name: "文档", tool: 52 },
|
|
|
- // { name: "学生分组", tool: 49 },
|
|
|
- // { name: "CocoPi", tool: 57 },
|
|
|
- // { name: "模拟驾驶", tool: 58 },
|
|
|
- // { name: "路径搜索", tool: 59 },
|
|
|
- // { name: "深度学习", tool: 60 },
|
|
|
- // { name: "全历史", tool: 61 },
|
|
|
- // { name: "交互视频", tool: 62 },
|
|
|
- // { name: "海龟编程", tool: 63 },
|
|
|
- // { name: "挑人", tool: 65 },
|
|
|
- // { name: "公式编辑", tool: 66 },
|
|
|
- // { name: "分子结构", tool: 67 },
|
|
|
- // { name: "时间轴", tool: 68 },
|
|
|
- // ];
|
|
|
- // var toolName = "";
|
|
|
- // for(var w = 0;w<toolList.length;w++){
|
|
|
- // if(this.chapInfoList[this.courseType].chapterInfo[0].taskJson[this.taskCount].toolChoose[i].tool[0] == toolList[w].tool){
|
|
|
- // toolName = toolList[w].name;
|
|
|
- // }
|
|
|
- // }
|
|
|
- console.log(url);
|
|
|
- this.downLoadAll(url, loading);
|
|
|
+ this.$confirm("确定导出作业吗?", "提示", {
|
|
|
+ confirmButtonText: "确定",
|
|
|
+ cancelButtonText: "取消",
|
|
|
+ type: "warning",
|
|
|
+ })
|
|
|
+ .then(() => {
|
|
|
+ const loading = this.$loading.service({
|
|
|
+ background: "rgba(255, 255, 255, 0.7)",
|
|
|
+ target: document.body,
|
|
|
+ text: "文件加载中...",
|
|
|
+ });
|
|
|
+ const _worksStudent = this.worksStudent;
|
|
|
+ let url = [];
|
|
|
+ var counts = {};
|
|
|
+ for (var l = 0; l < _worksStudent[i].length; l++) {
|
|
|
+ var item = _worksStudent[i][l];
|
|
|
+ var name = item.sName;
|
|
|
+ if (!counts.hasOwnProperty(name)) {
|
|
|
+ counts[name] = 0;
|
|
|
+ } else {
|
|
|
+ counts[name]++;
|
|
|
+ }
|
|
|
+ if (counts[name] > 0) {
|
|
|
+ item.sName += " (" + counts[name] + ")";
|
|
|
+ }
|
|
|
+ }
|
|
|
+ for (var l = 0; l < _worksStudent[i].length; l++) {
|
|
|
+ var item = _worksStudent[i][l];
|
|
|
+ if (
|
|
|
+ item.works.indexOf(
|
|
|
+ "https://ccrb.s3.cn-northwest-1.amazonaws.com.cn"
|
|
|
+ ) !== -1 &&
|
|
|
+ item.works.indexOf("img") === -1
|
|
|
+ ) {
|
|
|
+ url.push({ name: item.sName, url: item.works });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // var toolList = [
|
|
|
+ // { name: "电子白板", tool: 1 },
|
|
|
+ // { name: "思维导图", tool: 3 },
|
|
|
+ // { name: "协同文档", tool: 6 },
|
|
|
+ // { name: "思维网格", tool: 7 },
|
|
|
+ // { name: "素材库", tool: 8 },
|
|
|
+ // { name: "学习资料", tool: 17 },
|
|
|
+ // { name: "便签", tool: 2 },
|
|
|
+ // { name: "问卷调查", tool: 4 },
|
|
|
+ // { name: "选择题", tool: 45 },
|
|
|
+ // { name: "倒计时", tool: 10 },
|
|
|
+ // { name: "问答", tool: 15 },
|
|
|
+ // { name: "课程设计", tool: 26 },
|
|
|
+ // { name: "训练服务器", tool: 18 },
|
|
|
+ // { name: "作业提交", tool: 16 },
|
|
|
+ // { name: "批量上传", tool: 50 },
|
|
|
+ // { name: "AIoT Blockly", tool: 21 },
|
|
|
+ // { name: "AI Python", tool: 23 },
|
|
|
+ // { name: "AI Blockly", tool: 24 },
|
|
|
+ // { name: "目标管理", tool: 25 },
|
|
|
+ // { name: "数学画板", tool: 31 },
|
|
|
+ // { name: "翻译", tool: 28 },
|
|
|
+ // { name: "魔盒识字", tool: 37 },
|
|
|
+ // { name: "数学画板", tool: 31 },
|
|
|
+ // { name: "24点", tool: 38 },
|
|
|
+ // { name: "GeoGebra", tool: 39 },
|
|
|
+ // { name: "源码编辑", tool: 32 },
|
|
|
+ // { name: "个人评价", tool: 40 },
|
|
|
+ // { name: "选择匹配", tool: 41 },
|
|
|
+ // { name: "汉字宫", tool: 44 },
|
|
|
+ // { name: "排序", tool: 47 },
|
|
|
+ // { name: "表格", tool: 48 },
|
|
|
+ // { name: "文档", tool: 52 },
|
|
|
+ // { name: "学生分组", tool: 49 },
|
|
|
+ // { name: "CocoPi", tool: 57 },
|
|
|
+ // { name: "模拟驾驶", tool: 58 },
|
|
|
+ // { name: "路径搜索", tool: 59 },
|
|
|
+ // { name: "深度学习", tool: 60 },
|
|
|
+ // { name: "全历史", tool: 61 },
|
|
|
+ // { name: "交互视频", tool: 62 },
|
|
|
+ // { name: "海龟编程", tool: 63 },
|
|
|
+ // { name: "挑人", tool: 65 },
|
|
|
+ // { name: "公式编辑", tool: 66 },
|
|
|
+ // { name: "分子结构", tool: 67 },
|
|
|
+ // { name: "时间轴", tool: 68 },
|
|
|
+ // ];
|
|
|
+ // var toolName = "";
|
|
|
+ // for(var w = 0;w<toolList.length;w++){
|
|
|
+ // if(this.chapInfoList[this.courseType].chapterInfo[0].taskJson[this.taskCount].toolChoose[i].tool[0] == toolList[w].tool){
|
|
|
+ // toolName = toolList[w].name;
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ console.log(url);
|
|
|
+ this.downLoadAll(url, loading);
|
|
|
+ })
|
|
|
+ .catch(() => {});
|
|
|
},
|
|
|
downLoadAll(url, loading) {
|
|
|
const data = url; // 需要下载打包的路径, 可以是本地相对路径, 也可以是跨域的全路径
|
|
@@ -18150,7 +18188,10 @@ export default {
|
|
|
const promise = getFile(item.url).then((data) => {
|
|
|
if (data.data != 1) {
|
|
|
// 下载文件, 并存成ArrayBuffer对象
|
|
|
- const file_name = item.name + "." + item.url.split(".")[item.url.split(".").length - 1]; // 获取文件名
|
|
|
+ const file_name =
|
|
|
+ item.name +
|
|
|
+ "." +
|
|
|
+ item.url.split(".")[item.url.split(".").length - 1]; // 获取文件名
|
|
|
zip.file(file_name, data.data, { binary: true }); // 逐个添加文件
|
|
|
cache[file_name] = data.data;
|
|
|
}
|
|
@@ -18160,7 +18201,10 @@ export default {
|
|
|
Promise.all(promises).then(() => {
|
|
|
zip.generateAsync({ type: "blob" }).then((content) => {
|
|
|
// 生成二进制流
|
|
|
- FileSaver.saveAs(content, this.courseDetail.title + "-" + "作业提交工具.zip"); // 利用file-saver保存文件 自定义文件名
|
|
|
+ FileSaver.saveAs(
|
|
|
+ content,
|
|
|
+ this.courseDetail.title + "-" + "作业提交工具.zip"
|
|
|
+ ); // 利用file-saver保存文件 自定义文件名
|
|
|
setTimeout(() => {
|
|
|
loading.close();
|
|
|
}, 2000);
|