|
@@ -264,6 +264,15 @@
|
|
|
security="restricted"
|
|
|
sandbox="allow-top-navigation allow-same-origin allow-forms allow-scripts"></iframe>
|
|
|
</div>
|
|
|
+ <div class="wheel" v-if="chapterlist[chapterIndex].type == 13"
|
|
|
+ style="height: 650px; width: 95%; margin: 0 auto">
|
|
|
+ <el-image
|
|
|
+ :src="chapterlist[chapterIndex].url"
|
|
|
+ fit="contain"
|
|
|
+ style="width: 100%; height: 100%; cursor: pointer"
|
|
|
+ @click="previewImg(chapterlist[chapterIndex].url)"
|
|
|
+ ></el-image>
|
|
|
+ </div>
|
|
|
<div class="wheel" v-if="chapterlist[chapterIndex].type == 9"
|
|
|
style="height: 650px; width: 95%; margin: 0 auto">
|
|
|
<pdf :pdfUrl="chapterlist[chapterIndex].src" style="width: 100%; height: 100%; overflow: auto">
|
|
@@ -383,7 +392,7 @@
|
|
|
<div v-if="tool.tool == 15">
|
|
|
<img @click="addTools(tool.tool, toolIndex, taskCount)"
|
|
|
src="../../assets/icon/thirdToolList/answer.png" alt />
|
|
|
- <div style="margin: 5px 0">问答工具</div>
|
|
|
+ <div style="margin: 5px 0">问答</div>
|
|
|
</div>
|
|
|
<div v-if="tool.tool == 26">
|
|
|
<img @click="addTools(tool.tool, toolIndex, taskCount)"
|
|
@@ -403,7 +412,7 @@
|
|
|
<div v-if="tool.tool == 21">
|
|
|
<img @click="addTools(tool.tool, toolIndex, taskCount)"
|
|
|
src="../../assets/icon/fourthToolList/program.png" alt />
|
|
|
- <div style="margin: 5px 0">编程平台</div>
|
|
|
+ <div style="margin: 5px 0">AIoT Blockly</div>
|
|
|
</div>
|
|
|
<div v-if="tool.tool == 22">
|
|
|
<img @click="addTools(tool.tool, toolIndex, taskCount)"
|
|
@@ -413,12 +422,12 @@
|
|
|
<div v-if="tool.tool == 23">
|
|
|
<img @click="addTools(tool.tool, toolIndex, taskCount)"
|
|
|
src="../../assets/icon/fourthToolList/program.png" alt />
|
|
|
- <div style="margin: 5px 0">Python</div>
|
|
|
+ <div style="margin: 5px 0">AI Python</div>
|
|
|
</div>
|
|
|
<div v-if="tool.tool == 24">
|
|
|
<img @click="addTools(tool.tool, toolIndex, taskCount)"
|
|
|
src="../../assets/icon/fourthToolList/AIprogram.png" alt />
|
|
|
- <div style="margin: 5px 0">AI平台</div>
|
|
|
+ <div style="margin: 5px 0">AI Blockly</div>
|
|
|
</div>
|
|
|
<div v-if="tool.tool == 25">
|
|
|
<img @click="addTools(tool.tool, toolIndex, taskCount)"
|
|
@@ -463,7 +472,7 @@
|
|
|
<div v-if="tool.tool == 41">
|
|
|
<img @click="addTools(tool.tool, toolIndex, taskCount)"
|
|
|
src="../../assets/icon/thirdToolList/select.png" alt />
|
|
|
- <div style="margin: 5px 0">选择填空</div>
|
|
|
+ <div style="margin: 5px 0">选择匹配</div>
|
|
|
</div>
|
|
|
<div v-if="tool.tool == 44">
|
|
|
<img @click="addTools(tool.tool, toolIndex, taskCount)"
|
|
@@ -473,7 +482,7 @@
|
|
|
<div v-if="tool.tool == 47">
|
|
|
<img @click="addTools(tool.tool, toolIndex, taskCount)"
|
|
|
src="../../assets/icon/fourthToolList/conSentences.png" alt />
|
|
|
- <div style="margin: 5px 0">连词成句</div>
|
|
|
+ <div style="margin: 5px 0">排序</div>
|
|
|
</div>
|
|
|
<div v-if="tool.tool == 48">
|
|
|
<img @click="addTools(tool.tool, toolIndex, taskCount)"
|
|
@@ -532,7 +541,7 @@
|
|
|
</div>
|
|
|
<div v-if="tool.tool == 51" style="margin-top: 20px">
|
|
|
<div class="vedioTaskBox">
|
|
|
- <div class="box_course" :class="'box_course' + toolIndex" v-if="tool.toolData.length > 0">
|
|
|
+ <div class="box_course" :class="'box_course' + toolIndex" v-if="tool.toolData.length > 0 && !tool.isNoFile">
|
|
|
<div class="wheel" v-if="tool.toolData[tool.sourceIndex].type == 2">
|
|
|
<div class="workd_media" style="height: 100%">
|
|
|
<video-player class="video-player vjs-custom-skin" :playsinline="true"
|
|
@@ -567,6 +576,15 @@
|
|
|
:src="tool.toolData[tool.sourceIndex].src" security="restricted"
|
|
|
sandbox="allow-top-navigation allow-same-origin allow-forms allow-scripts"></iframe>
|
|
|
</div>
|
|
|
+ <div class="wheel" v-if="tool.toolData[tool.sourceIndex].type == 13"
|
|
|
+ style="height: 650px; width: 98%">
|
|
|
+ <el-image
|
|
|
+ :src="tool.toolData[tool.sourceIndex].url"
|
|
|
+ fit="contain"
|
|
|
+ style="width: 100%; height: 100%; cursor: pointer"
|
|
|
+ @click="previewImg(tool.toolData[tool.sourceIndex].url)"
|
|
|
+ ></el-image>
|
|
|
+ </div>
|
|
|
<div class="wheel" v-if="tool.toolData[tool.sourceIndex].type == 9"
|
|
|
style="height: 650px; width: 98%">
|
|
|
<pdf :pdfUrl="tool.toolData[tool.sourceIndex].url"
|
|
@@ -641,6 +659,11 @@
|
|
|
</div> -->
|
|
|
<div class="checkbox">
|
|
|
<div class="check" style="font-size: 25px">评论</div>
|
|
|
+ <el-select v-model="pzStype" @change="selectPz" class="selectBox">
|
|
|
+ <el-option label="时间降序" :value="1"></el-option>
|
|
|
+ <el-option label="时间升序" :value="2"></el-option>
|
|
|
+ <el-option label="我的评课" :value="3"></el-option>
|
|
|
+ </el-select>
|
|
|
<img src="../../assets/pzBtn.png" @click="(pzDialog = false), setVHeight()" alt="" />
|
|
|
</div>
|
|
|
</div>
|
|
@@ -768,7 +791,7 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div v-if="addPzDialog == true" class="addDialogCss">
|
|
|
+ <div v-if="addPzDialog == true" class="addDialogCss" v-el-drag-dialog>
|
|
|
<div class="pzTop">
|
|
|
<div class="teacherPz">
|
|
|
<div class="teacherPzImg">
|
|
@@ -777,7 +800,7 @@
|
|
|
<div style="margin-left: 10px; height: 25px">教师批注</div>
|
|
|
</div>
|
|
|
<div @click="addPzDialog = false">
|
|
|
- <img src="../../assets/close1.png" alt="" />
|
|
|
+ <img src="../../assets/close1.png" class="pzClose" alt="" />
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="addPzBox">
|
|
@@ -1215,7 +1238,8 @@ export default {
|
|
|
},
|
|
|
psJson4: {
|
|
|
z: 0,
|
|
|
- }
|
|
|
+ },
|
|
|
+ pzStype:1,
|
|
|
};
|
|
|
},
|
|
|
methods: {
|
|
@@ -1373,9 +1397,11 @@ export default {
|
|
|
cid: this.id,
|
|
|
s: this.courseType,
|
|
|
t: this.taskCount,
|
|
|
+ type: this.pzStype,
|
|
|
+ uid: this.userid,
|
|
|
};
|
|
|
this.ajax
|
|
|
- .get(this.$store.state.api + "selectPzList", params)
|
|
|
+ .get(this.$store.state.api + "selectPzListType", params)
|
|
|
.then((res) => {
|
|
|
this.pzList = res.data[0];
|
|
|
})
|
|
@@ -1768,7 +1794,7 @@ export default {
|
|
|
} else if (_tool.tool == 6) {
|
|
|
_work.workContent = `${_work.username}使用协同文档提交了:`;
|
|
|
} else if (_tool.tool == 15) {
|
|
|
- _work.workContent = `${_work.username}使用问答工具提交了:`;
|
|
|
+ _work.workContent = `${_work.username}使用问答提交了:`;
|
|
|
} else if (_tool.tool == 53) {
|
|
|
_work.workContent = `${_work.username}使用文件上传提交了:`;
|
|
|
} else if (_tool.tool == 54) {
|
|
@@ -1855,7 +1881,14 @@ export default {
|
|
|
}
|
|
|
|
|
|
if (_tool.tool == 51) {
|
|
|
- _tool.sourceIndex = 0;
|
|
|
+ let ic = 0
|
|
|
+ for(let ci = 0; ci < _tool.toolData.length; ci++){
|
|
|
+ if(_tool.toolData[ci].type != 12){
|
|
|
+ ic = ci
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ _tool.sourceIndex = ic;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -1887,6 +1920,7 @@ export default {
|
|
|
_work.tool == z &&
|
|
|
_work.atool == _tool.tool
|
|
|
) {
|
|
|
+ // “${_work.name ? _work.name : this.setTime(_work.create_at)}”
|
|
|
if (_tool.tool == 1) {
|
|
|
_work.workContent = `${_work.username}使用电子白板提交了:`;
|
|
|
} else if (_tool.tool == 3) {
|
|
@@ -1894,7 +1928,7 @@ export default {
|
|
|
} else if (_tool.tool == 6) {
|
|
|
_work.workContent = `${_work.username}使用协同文档提交了:`;
|
|
|
} else if (_tool.tool == 15) {
|
|
|
- _work.workContent = `${_work.username}使用问答工具提交了:`;
|
|
|
+ _work.workContent = `${_work.username}使用问答提交了:`;
|
|
|
} else if (_tool.tool == 53) {
|
|
|
_work.workContent = `${_work.username}使用文件上传提交了:`;
|
|
|
} else if (_tool.tool == 54) {
|
|
@@ -1952,6 +1986,7 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ // “${_tool.toolPhoto[0].name ? _tool.toolPhoto[0].name : this.setTime(_tool.toolPhoto[0].create_at)}”
|
|
|
if (_tool.tool == 48) {
|
|
|
_tool.toolPhoto.length &&
|
|
|
(_tool.toolPhoto[0].workContent = `${_tool.people.join(
|
|
@@ -2657,6 +2692,10 @@ export default {
|
|
|
this.dialogVisible5 = true;
|
|
|
},
|
|
|
setChapterIndex2(tool, index, toolIndex) {
|
|
|
+ if(tool.toolData[index].type == 12){
|
|
|
+ this.downloadFile2(tool.toolData[index])
|
|
|
+ return;
|
|
|
+ }
|
|
|
tool.sourceIndex = index;
|
|
|
this.$nextTick(function () {
|
|
|
setTimeout(() => {
|
|
@@ -2669,6 +2708,53 @@ export default {
|
|
|
});
|
|
|
this.$forceUpdate();
|
|
|
},
|
|
|
+ downloadFile2(f) {
|
|
|
+ const loading = this.$loading.service({
|
|
|
+ background: "rgba(255, 255, 255, 0.7)",
|
|
|
+ target: document.body,
|
|
|
+ text: "文件加载中...",
|
|
|
+ });
|
|
|
+ let url2 = f.url;
|
|
|
+ let _url2 = "";
|
|
|
+ if (
|
|
|
+ url2.indexOf("https://view.officeapps.live.com/op/view.aspx?src=") != -1
|
|
|
+ ) {
|
|
|
+ _url2 = url2.split(
|
|
|
+ "https://view.officeapps.live.com/op/view.aspx?src="
|
|
|
+ )[1];
|
|
|
+ } else {
|
|
|
+ _url2 = url2;
|
|
|
+ }
|
|
|
+ let params = {
|
|
|
+ url: _url2,
|
|
|
+ name: f.name,
|
|
|
+ };
|
|
|
+ this.ajax
|
|
|
+ .get(this.$store.state.api + "download", params)
|
|
|
+ .then((res) => {
|
|
|
+ loading.close();
|
|
|
+ let content = res.data.data.data;
|
|
|
+ let ab = new ArrayBuffer(content.length);
|
|
|
+ let view = new Uint8Array(ab);
|
|
|
+ for (var i = 0; i < content.length; ++i) {
|
|
|
+ view[i] = content[i];
|
|
|
+ }
|
|
|
+ let elink = document.createElement("a");
|
|
|
+ elink.download = f.name;
|
|
|
+ elink.style.display = "none";
|
|
|
+ let blob = new Blob([ab], {
|
|
|
+ type: res.data.response.headers["content-type"] + ";charset=UTF-8",
|
|
|
+ });
|
|
|
+ elink.href = URL.createObjectURL(blob);
|
|
|
+ document.body.appendChild(elink);
|
|
|
+ elink.click();
|
|
|
+ document.body.removeChild(elink);
|
|
|
+ })
|
|
|
+ .catch((err) => {
|
|
|
+ loading.close();
|
|
|
+ console.error(err);
|
|
|
+ });
|
|
|
+ },
|
|
|
setVHeight() {
|
|
|
this.$nextTick(function () {
|
|
|
setTimeout(() => {
|
|
@@ -2679,10 +2765,37 @@ export default {
|
|
|
for (var z = 0; z < tool.length; z++) {
|
|
|
let _tool = tool[z];
|
|
|
if (_tool.tool == 51) {
|
|
|
- var a = document.getElementsByClassName("box_course" + z)[0]
|
|
|
- .offsetHeight;
|
|
|
- document.getElementsByClassName("vedioList" + z)[0].style.height =
|
|
|
- a + "px";
|
|
|
+ let ci = 0
|
|
|
+ for(var li = 0;li<_tool.toolData.length;li++){
|
|
|
+ if(_tool.toolData[li].type != 12){
|
|
|
+ ci++
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if(ci == 0){
|
|
|
+ _tool.isNoFile = true;
|
|
|
+ document.getElementsByClassName(
|
|
|
+ "vedioList" + z
|
|
|
+ )[0].style.height = 650 + "px";
|
|
|
+ document.getElementsByClassName(
|
|
|
+ "vedioList" + z
|
|
|
+ )[0].style.width = "100%";
|
|
|
+ }else{
|
|
|
+ _tool.isNoFile = false;
|
|
|
+ var a = document.getElementsByClassName("box_course" + z)[0] ? document.getElementsByClassName("box_course" + z)[0]
|
|
|
+ .offsetHeight : 650;
|
|
|
+ document.getElementsByClassName(
|
|
|
+ "vedioList" + z
|
|
|
+ )[0].style.height = a + "px";
|
|
|
+ document.getElementsByClassName(
|
|
|
+ "vedioList" + z
|
|
|
+ )[0].style.width = "calc(100% - 83%)";
|
|
|
+ }
|
|
|
+ this.$forceUpdate();
|
|
|
+ // var a = document.getElementsByClassName("box_course" + z)[0]
|
|
|
+ // .offsetHeight;
|
|
|
+ // document.getElementsByClassName("vedioList" + z)[0].style.height =
|
|
|
+ // a + "px";
|
|
|
}
|
|
|
}
|
|
|
}, 0);
|
|
@@ -2755,6 +2868,21 @@ export default {
|
|
|
return s2;
|
|
|
};
|
|
|
},
|
|
|
+ setTime() {
|
|
|
+ return function (timeA) {
|
|
|
+ var time = new Date(timeA);
|
|
|
+ time.setTime(time.getTime());
|
|
|
+ var s2 =
|
|
|
+ time.getFullYear() +
|
|
|
+ "." +
|
|
|
+ (time.getMonth() + 1 < 10
|
|
|
+ ? "0" + (time.getMonth() + 1)
|
|
|
+ : time.getMonth() + 1) +
|
|
|
+ "." +
|
|
|
+ (time.getDate() < 10 ? "0" + time.getDate() : time.getDate());
|
|
|
+ return s2;
|
|
|
+ };
|
|
|
+ },
|
|
|
getMan() {
|
|
|
return function (people) {
|
|
|
let _people = "";
|
|
@@ -5027,6 +5155,7 @@ export default {
|
|
|
justify-content: space-between;
|
|
|
height: 40px;
|
|
|
border-radius: 15px 15px 0 0;
|
|
|
+ user-select: none;
|
|
|
}
|
|
|
|
|
|
.pzTop2 .checkbox {
|
|
@@ -5229,15 +5358,15 @@ export default {
|
|
|
|
|
|
.addDialogCss {
|
|
|
position: fixed;
|
|
|
- right: 37%;
|
|
|
- top: 50%;
|
|
|
width: 600px;
|
|
|
- transform: translateY(-50%);
|
|
|
height: 70%;
|
|
|
min-height: 450px;
|
|
|
box-shadow: 0px 0 8px 0px #555555;
|
|
|
border-radius: 15px;
|
|
|
z-index: 999;
|
|
|
+ left: 50%;
|
|
|
+ top: 50%;
|
|
|
+ margin:-18% 0 0 -300px;
|
|
|
}
|
|
|
|
|
|
.teacherPz {
|
|
@@ -5380,8 +5509,8 @@ export default {
|
|
|
/* code 样式 */
|
|
|
.cont>>>code {
|
|
|
display: inline-block;
|
|
|
- *display: inline;
|
|
|
- *zoom: 1;
|
|
|
+ /* *display: inline; */
|
|
|
+ zoom: 1;
|
|
|
background-color: #f1f1f1;
|
|
|
border-radius: 3px;
|
|
|
padding: 3px 5px;
|
|
@@ -5983,4 +6112,19 @@ ol {
|
|
|
.tcMember+.tcMember::before {
|
|
|
content: "、";
|
|
|
}
|
|
|
+
|
|
|
+.selectBox {
|
|
|
+ width: 110px;
|
|
|
+ margin-left: 10px;
|
|
|
+ margin: 0 10px 0 auto;
|
|
|
+}
|
|
|
+
|
|
|
+.selectBox>>>.el-input__inner {
|
|
|
+ height: 30px;
|
|
|
+ line-height: 30px;
|
|
|
+}
|
|
|
+
|
|
|
+.selectBox>>>.el-input__icon {
|
|
|
+ line-height: 30px;
|
|
|
+}
|
|
|
</style>
|