|
@@ -142,12 +142,25 @@
|
|
|
>
|
|
|
下一步
|
|
|
</div>
|
|
|
- <div
|
|
|
+ <!-- <div
|
|
|
class="returnBtn"
|
|
|
@click="allScrell"
|
|
|
v-if="!(IsFollow && tType == 2)"
|
|
|
>
|
|
|
全屏
|
|
|
+ </div> -->
|
|
|
+ <div
|
|
|
+ class="returnBtn"
|
|
|
+ @click="refreshCourse"
|
|
|
+ >
|
|
|
+ 刷新
|
|
|
+ </div>
|
|
|
+ <div
|
|
|
+ class="returnBtn"
|
|
|
+ @click="setPz"
|
|
|
+ v-if="tType == 1"
|
|
|
+ >
|
|
|
+ 评课
|
|
|
</div>
|
|
|
<div
|
|
|
class="returnBtn"
|
|
@@ -261,7 +274,7 @@
|
|
|
"
|
|
|
>
|
|
|
<div
|
|
|
- style="padding: 15px 0 15px 20px; line-height: 25px"
|
|
|
+ style="padding: 15px 0 15px 20px; line-height: 29px;font-size:18px;"
|
|
|
class="cont"
|
|
|
v-if="
|
|
|
chapInfoList[courseType].chapterInfo[0].taskJson[
|
|
@@ -1027,6 +1040,22 @@
|
|
|
/>
|
|
|
<div style="margin: 5px 0">全历史</div>
|
|
|
</div>
|
|
|
+ <div v-if="tooC == 62">
|
|
|
+ <img
|
|
|
+ @click="addTools(tooC, toolIndex, taskCount)"
|
|
|
+ src="../assets/icon/fourthToolList/interVideo.png"
|
|
|
+ alt
|
|
|
+ />
|
|
|
+ <div style="margin: 5px 0">交互视频</div>
|
|
|
+ </div>
|
|
|
+ <div v-if="tooC == 63">
|
|
|
+ <img
|
|
|
+ @click="addTools(tooC, toolIndex, taskCount)"
|
|
|
+ src="../assets/icon/fourthToolList/Wood.png"
|
|
|
+ alt
|
|
|
+ />
|
|
|
+ <div style="margin: 5px 0">海龟编程</div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -2492,7 +2521,7 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div style="font-size: 18px">未提交</div>
|
|
|
+ <div style="font-size: 18px" v-if="courseDetail.juri != ''">未提交</div>
|
|
|
<div class="noWorksS">
|
|
|
<div
|
|
|
v-for="(s, sIndex) in noWorksS[toolIndex]"
|
|
@@ -2644,7 +2673,7 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div style="font-size: 18px">未提交</div>
|
|
|
+ <div style="font-size: 18px" v-if="courseDetail.juri != ''">未提交</div>
|
|
|
<div class="noWorksS">
|
|
|
<div
|
|
|
v-for="(s, sIndex) in noWorksS[toolIndex]"
|
|
@@ -2796,7 +2825,7 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div style="font-size: 18px">未提交</div>
|
|
|
+ <div style="font-size: 18px" v-if="courseDetail.juri != ''">未提交</div>
|
|
|
<div class="noWorksS">
|
|
|
<div
|
|
|
v-for="(s, sIndex) in noWorksS[toolIndex]"
|
|
@@ -3035,7 +3064,7 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div style="font-size: 18px">未提交</div>
|
|
|
+ <div style="font-size: 18px" v-if="courseDetail.juri != ''">未提交</div>
|
|
|
<div class="noWorksS">
|
|
|
<div
|
|
|
v-for="(s, sIndex) in noWorksS[toolIndex]"
|
|
@@ -3195,7 +3224,7 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
- <div style="font-size: 18px">未提交</div>
|
|
|
+ <div style="font-size: 18px" v-if="courseDetail.juri != ''">未提交</div>
|
|
|
<div class="noWorksS">
|
|
|
<div
|
|
|
v-for="(s, sIndex) in noWorksS[toolIndex]"
|
|
@@ -3336,7 +3365,7 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
- <div style="font-size: 18px">未提交</div>
|
|
|
+ <div style="font-size: 18px" v-if="courseDetail.juri != ''">未提交</div>
|
|
|
<div class="noWorksS">
|
|
|
<div
|
|
|
v-for="(s, sIndex) in noWorksS[toolIndex]"
|
|
@@ -3434,16 +3463,9 @@
|
|
|
g.id
|
|
|
)"
|
|
|
>
|
|
|
- <el-tooltip
|
|
|
- class="item"
|
|
|
- effect="light"
|
|
|
- :content="JSON.parse(w.works)[0].answer"
|
|
|
- placement="top"
|
|
|
- >
|
|
|
- <div class="answerContent">
|
|
|
- {{ JSON.parse(w.works)[0].answer }}
|
|
|
- </div>
|
|
|
- </el-tooltip>
|
|
|
+ <div class="answerContent">
|
|
|
+ {{ JSON.parse(w.works)[0].answer }}
|
|
|
+ </div>
|
|
|
<div
|
|
|
class="answerScore"
|
|
|
v-if="w.score"
|
|
@@ -3563,16 +3585,9 @@
|
|
|
@click="commentOther(w, toolIndex, wIndex)"
|
|
|
>
|
|
|
<!-- <div>{{ w.sName }}</div> -->
|
|
|
- <el-tooltip
|
|
|
- class="item"
|
|
|
- effect="light"
|
|
|
- :content="JSON.parse(w.works)[0].answer"
|
|
|
- placement="top"
|
|
|
- >
|
|
|
- <div class="answerContent">
|
|
|
- {{ JSON.parse(w.works)[0].answer }}
|
|
|
- </div>
|
|
|
- </el-tooltip>
|
|
|
+ <div class="answerContent">
|
|
|
+ {{ JSON.parse(w.works)[0].answer }}
|
|
|
+ </div>
|
|
|
<div
|
|
|
class="answerScore"
|
|
|
v-if="w.score"
|
|
@@ -3643,7 +3658,7 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div style="font-size: 18px">未提交</div>
|
|
|
+ <div style="font-size: 18px" v-if="courseDetail.juri != ''">未提交</div>
|
|
|
<div class="noWorksS">
|
|
|
<div
|
|
|
v-for="(s, sIndex) in noWorksS[toolIndex]"
|
|
@@ -3916,7 +3931,7 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div style="font-size: 18px">未提交</div>
|
|
|
+ <div style="font-size: 18px" v-if="courseDetail.juri != ''">未提交</div>
|
|
|
<div class="noWorksS">
|
|
|
<div
|
|
|
v-for="(s, sIndex) in noWorksS[toolIndex]"
|
|
@@ -4189,7 +4204,7 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div style="font-size: 18px">未提交</div>
|
|
|
+ <div style="font-size: 18px" v-if="courseDetail.juri != ''">未提交</div>
|
|
|
<div class="noWorksS">
|
|
|
<div
|
|
|
v-for="(s, sIndex) in noWorksS[toolIndex]"
|
|
@@ -4462,7 +4477,7 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div style="font-size: 18px">未提交</div>
|
|
|
+ <div style="font-size: 18px" v-if="courseDetail.juri != ''">未提交</div>
|
|
|
<div class="noWorksS">
|
|
|
<div
|
|
|
v-for="(s, sIndex) in noWorksS[toolIndex]"
|
|
@@ -4734,7 +4749,7 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div style="font-size: 18px">未提交</div>
|
|
|
+ <div style="font-size: 18px" v-if="courseDetail.juri != ''">未提交</div>
|
|
|
<div class="noWorksS">
|
|
|
<div
|
|
|
v-for="(s, sIndex) in noWorksS[toolIndex]"
|
|
@@ -4835,7 +4850,7 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div style="font-size: 18px">未提交</div>
|
|
|
+ <div style="font-size: 18px" v-if="courseDetail.juri != ''">未提交</div>
|
|
|
<div class="noWorksS">
|
|
|
<div
|
|
|
v-for="(s, sIndex) in noWorksS[toolIndex]"
|
|
@@ -4959,7 +4974,7 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div style="font-size: 18px">未提交</div>
|
|
|
+ <div style="font-size: 18px" v-if="courseDetail.juri != ''">未提交</div>
|
|
|
<div class="noWorksS">
|
|
|
<div
|
|
|
v-for="(s, sIndex) in noWorksS[toolIndex]"
|
|
@@ -5124,7 +5139,7 @@
|
|
|
</div>
|
|
|
</div> -->
|
|
|
</div>
|
|
|
- <div style="font-size: 18px">未提交</div>
|
|
|
+ <div style="font-size: 18px" v-if="courseDetail.juri != ''">未提交</div>
|
|
|
<div class="noWorksS">
|
|
|
<div
|
|
|
v-for="(s, sIndex) in noWorksS[toolIndex]"
|
|
@@ -5347,7 +5362,7 @@
|
|
|
/>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div style="font-size: 18px">未提交</div>
|
|
|
+ <div style="font-size: 18px" v-if="courseDetail.juri != ''">未提交</div>
|
|
|
<div class="noWorksS">
|
|
|
<div
|
|
|
v-for="(s, sIndex) in noWorksS[toolIndex]"
|
|
@@ -5498,7 +5513,7 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div style="font-size: 18px">未提交</div>
|
|
|
+ <div style="font-size: 18px" v-if="courseDetail.juri != ''">未提交</div>
|
|
|
<div class="noWorksS">
|
|
|
<div
|
|
|
v-for="(s, sIndex) in noWorksS[toolIndex]"
|
|
@@ -5720,7 +5735,7 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div style="font-size: 18px">未提交</div>
|
|
|
+ <div style="font-size: 18px" v-if="courseDetail.juri != ''">未提交</div>
|
|
|
<div class="noWorksS">
|
|
|
<div
|
|
|
v-for="(s, sIndex) in noWorksS[toolIndex]"
|
|
@@ -6434,7 +6449,7 @@
|
|
|
<div
|
|
|
class="pButton"
|
|
|
@click="(pzDialog = true), selectPz()"
|
|
|
- v-if="tType == 4"
|
|
|
+ v-if="tType == 4 || ispzType == 4"
|
|
|
>
|
|
|
<!-- 批 -->
|
|
|
<img src="../assets/pzBtn2.png" style="width: 25px" alt="" />
|
|
@@ -8476,7 +8491,10 @@
|
|
|
class="dialog_diy"
|
|
|
>
|
|
|
<el-form>
|
|
|
- <div>表格内容</div>
|
|
|
+ <div style="display: flex;align-items: center;justify-content: space-between;">
|
|
|
+ <span>表格内容</span>
|
|
|
+ <el-button type="primary" size="small" @click="returnTableText">还原模板</el-button>
|
|
|
+ </div>
|
|
|
<Table
|
|
|
v-model="tableJson.text"
|
|
|
@change="change"
|
|
@@ -8521,7 +8539,10 @@
|
|
|
class="dialog_diy"
|
|
|
>
|
|
|
<el-form>
|
|
|
- <div>文档内容</div>
|
|
|
+ <div style="display: flex;align-items: center;justify-content: space-between;">
|
|
|
+ <span>文档内容</span>
|
|
|
+ <el-button type="primary" size="small" @click="returnWordText">还原模板</el-button>
|
|
|
+ </div>
|
|
|
<editor-bar
|
|
|
v-model="wordJson.text"
|
|
|
v-if="dialogVisibleWord"
|
|
@@ -9264,6 +9285,15 @@
|
|
|
<el-button type="primary" @click="updateName">确 定</el-button>
|
|
|
</span>
|
|
|
</el-dialog>
|
|
|
+ <interVideo
|
|
|
+ :dialogVisibleVideo.sync="dialogVisibleVideo"
|
|
|
+ :videoJson="videoJson"
|
|
|
+ :userid="userid"
|
|
|
+ :id="id"
|
|
|
+ :courseType="courseType"
|
|
|
+ :taskCount="taskCount"
|
|
|
+ :toolindex="toolindex"
|
|
|
+ ></interVideo>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
@@ -9286,6 +9316,7 @@ import Audio from "./components/audio.vue";
|
|
|
import ImgDraw from "./tools/imgDraw/imgDraw";
|
|
|
import { Empty } from "element-ui";
|
|
|
import RecordRTC from "recordrtc";
|
|
|
+import interVideo from "./interVideo/index.vue"
|
|
|
|
|
|
export default {
|
|
|
components: {
|
|
@@ -9302,6 +9333,7 @@ export default {
|
|
|
Audio,
|
|
|
ImgDraw,
|
|
|
Table,
|
|
|
+ interVideo
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
@@ -9330,6 +9362,7 @@ export default {
|
|
|
dialogVisibleUpdateGroup: false,
|
|
|
dialogVisibleDeleteGroup: false,
|
|
|
dialogVisibleSname: false,
|
|
|
+ dialogVisibleVideo:false,
|
|
|
worksSName: "",
|
|
|
classJuri: [],
|
|
|
uploadStudentJuri: [],
|
|
@@ -9368,7 +9401,9 @@ export default {
|
|
|
sentenceList: [{ sentenceTitle: "", addSentence: [], rightAnswer: [] }],
|
|
|
sentenceList1: [],
|
|
|
tableJson: [],
|
|
|
+ tableJsonO: [],
|
|
|
wordJson: [],
|
|
|
+ wordJsonO: [],
|
|
|
vedio: [],
|
|
|
text: [],
|
|
|
textList: [],
|
|
@@ -9566,6 +9601,7 @@ export default {
|
|
|
fullUrl: "",
|
|
|
commentIndexJson: {},
|
|
|
Stbodywidth: 0,
|
|
|
+ ispzType:0,
|
|
|
pzType: 1,
|
|
|
wScore: 0,
|
|
|
scoreDetail: "",
|
|
@@ -9587,6 +9623,7 @@ export default {
|
|
|
courseGroupStudentUid: [],
|
|
|
courseGroup: {},
|
|
|
isGroup: false,
|
|
|
+ videoJson:{},
|
|
|
};
|
|
|
},
|
|
|
methods: {
|
|
@@ -9802,6 +9839,17 @@ export default {
|
|
|
console.error(err);
|
|
|
});
|
|
|
},
|
|
|
+ returnTableText(){
|
|
|
+ this.$confirm("确定还原此模板吗?", "提示", {
|
|
|
+ confirmButtonText: "确定",
|
|
|
+ cancelButtonText: "取消",
|
|
|
+ type: "warning",
|
|
|
+ })
|
|
|
+ .then(() => {
|
|
|
+ this.tableJson = JSON.parse(JSON.stringify(this.tableJsonO))
|
|
|
+ })
|
|
|
+ .catch(() => {});
|
|
|
+ },
|
|
|
addTableWorks() {
|
|
|
let params = [
|
|
|
{
|
|
@@ -9860,6 +9908,17 @@ export default {
|
|
|
console.error(err);
|
|
|
});
|
|
|
},
|
|
|
+ returnWordText(){
|
|
|
+ this.$confirm("确定还原此模板吗?", "提示", {
|
|
|
+ confirmButtonText: "确定",
|
|
|
+ cancelButtonText: "取消",
|
|
|
+ type: "warning",
|
|
|
+ })
|
|
|
+ .then(() => {
|
|
|
+ this.wordJson = JSON.parse(JSON.stringify(this.wordJsonO))
|
|
|
+ })
|
|
|
+ .catch(() => {});
|
|
|
+ },
|
|
|
addWordWorks() {
|
|
|
let params = [{
|
|
|
uid: this.userid,
|
|
@@ -11937,6 +11996,7 @@ export default {
|
|
|
"GIF",
|
|
|
"PNG",
|
|
|
"JPGE",
|
|
|
+ "JPEG",
|
|
|
"JPG",
|
|
|
"TIF",
|
|
|
"PCX",
|
|
@@ -12750,6 +12810,11 @@ export default {
|
|
|
console.error(err);
|
|
|
});
|
|
|
},
|
|
|
+ refreshCourse(){
|
|
|
+ // window.location.reload();
|
|
|
+ this.navList = [];
|
|
|
+ this.getCourseDetail(1)
|
|
|
+ },
|
|
|
getCourseDetail(type, gindex) {
|
|
|
let loading;
|
|
|
if (type != 2) {
|
|
@@ -13165,7 +13230,7 @@ export default {
|
|
|
].toolChoose[_this.toolindex].groupJson;
|
|
|
}
|
|
|
|
|
|
- if (_this.tType == 4) {
|
|
|
+ if (_this.tType == 4 || _this.ispzType == 4) {
|
|
|
_this.selectPz();
|
|
|
}
|
|
|
}, 5000);
|
|
@@ -13325,6 +13390,16 @@ export default {
|
|
|
})
|
|
|
.catch(() => {});
|
|
|
},
|
|
|
+ setPz(){
|
|
|
+ if(this.ispzType == 4){
|
|
|
+ this.ispzType = 0
|
|
|
+ this.pzDialog = false
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ this.ispzType = 4
|
|
|
+ this.pzDialog = true
|
|
|
+ this.selectPz();
|
|
|
+ },
|
|
|
selectPz() {
|
|
|
let params = {
|
|
|
cid: this.id,
|
|
@@ -13636,6 +13711,20 @@ export default {
|
|
|
this.playerO = this.playerOptions;
|
|
|
},
|
|
|
onPlayerPlay() {},
|
|
|
+ onPlayerTimeupdate(player) {
|
|
|
+ let gklog = player.cache_.currentTime;//当前播放的秒数
|
|
|
+ let a=player.cache_.duration//视频的总时长
|
|
|
+ let gklog2 = parseInt(gklog)
|
|
|
+ // if(gklog2 == '3'){
|
|
|
+ // player.pause()
|
|
|
+ // setTimeout(()=>{
|
|
|
+ // player.currentTime(gklog2+1)
|
|
|
+ // player.play()
|
|
|
+ // },1000)
|
|
|
+ // }
|
|
|
+ console.log(" onPlayerTimeupdate!", gklog);
|
|
|
+ console.log(" onPlayerTimeupdate!", gklog2);
|
|
|
+ },
|
|
|
lookVedio(u, i) {
|
|
|
this.isClickNav = "";
|
|
|
// this.playerOptions.sources[0].src = u;
|
|
@@ -14385,6 +14474,8 @@ export default {
|
|
|
window.parent.postMessage({ tools: "60" }, "*");
|
|
|
} else if (t == 61) {
|
|
|
window.parent.postMessage({ tools: "61" }, "*");
|
|
|
+ } else if (t == 63) {
|
|
|
+ window.parent.postMessage({ tools: "63" }, "*");
|
|
|
} else if (t == 26) {
|
|
|
window.parent.postMessage(
|
|
|
{
|
|
@@ -14496,6 +14587,7 @@ export default {
|
|
|
)
|
|
|
)
|
|
|
: { text: "" };
|
|
|
+ this.tableJsonO = JSON.parse(JSON.stringify(this.tableJson))
|
|
|
if (this.worksStudent[i].length) {
|
|
|
for (var k = 0; k < this.worksStudent[i].length; k++) {
|
|
|
if (this.userid == this.worksStudent[i][k].userid) {
|
|
@@ -14516,6 +14608,15 @@ export default {
|
|
|
)
|
|
|
)
|
|
|
: { text: "" };
|
|
|
+ this.wordJsonO = JSON.parse(JSON.stringify(this.wordJson))
|
|
|
+ if (this.worksStudent[i].length) {
|
|
|
+ for (var k = 0; k < this.worksStudent[i].length; k++) {
|
|
|
+ if (this.userid == this.worksStudent[i][k].userid) {
|
|
|
+ this.wordJson = JSON.parse(this.worksStudent[i][k].works);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
this.dialogVisibleWord = true;
|
|
|
} else if (t == 49) {
|
|
|
this.groupJson =
|
|
@@ -14524,6 +14625,12 @@ export default {
|
|
|
].toolChoose[i].groupJson;
|
|
|
this.islock = this.groupJson.islock == 1 ? true : false;
|
|
|
this.dialogVisibleGroup = true;
|
|
|
+ } else if (t == 62) {
|
|
|
+ this.videoJson =
|
|
|
+ this.chapInfoList[this.courseType].chapterInfo[0].taskJson[
|
|
|
+ index
|
|
|
+ ].toolChoose[i].videoJson;
|
|
|
+ this.dialogVisibleVideo = true;
|
|
|
}
|
|
|
},
|
|
|
teacherWorkSubmit(t, i, index, s) {
|
|
@@ -14554,6 +14661,14 @@ export default {
|
|
|
)
|
|
|
)
|
|
|
: { text: "" };
|
|
|
+ if (this.worksStudent[i].length) {
|
|
|
+ for (var k = 0; k < this.worksStudent[i].length; k++) {
|
|
|
+ if (this.sStudent.userid == this.worksStudent[i][k].userid) {
|
|
|
+ this.wordJson = JSON.parse(this.worksStudent[i][k].works);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
this.dialogVisibleWordTeacher = true; //文档
|
|
|
} else if (t == 4) {
|
|
|
this.radio = [];
|
|
@@ -15800,6 +15915,7 @@ export default {
|
|
|
padding: 20px;
|
|
|
line-height: 30px;
|
|
|
word-break: break-word;
|
|
|
+ font-size:18px;
|
|
|
}
|
|
|
|
|
|
.file {
|
|
@@ -16247,7 +16363,7 @@ export default {
|
|
|
display: flex;
|
|
|
flex-direction: row;
|
|
|
align-items: center;
|
|
|
- width: calc(100% - 520px);
|
|
|
+ width: calc(100% - 600px);
|
|
|
}
|
|
|
|
|
|
.courseIndex > div:nth-child(1) {
|
|
@@ -17061,6 +17177,7 @@ export default {
|
|
|
-webkit-box-orient: vertical;
|
|
|
display: -webkit-box;
|
|
|
font-size: 15px;
|
|
|
+ cursor: pointer;
|
|
|
}
|
|
|
|
|
|
.elist_input_box {
|
|
@@ -18186,6 +18303,11 @@ export default {
|
|
|
}
|
|
|
|
|
|
/* code 样式 */
|
|
|
+.cont{
|
|
|
+ /* -webkit-user-modify: read-write; */
|
|
|
+ overflow-wrap: break-word;
|
|
|
+ -webkit-line-break: after-white-space;
|
|
|
+}
|
|
|
.cont >>> code {
|
|
|
display: inline-block;
|
|
|
*display: inline;
|
|
@@ -18684,7 +18806,7 @@ ol {
|
|
|
.g_d_btnBox {
|
|
|
display: flex;
|
|
|
justify-content: flex-end;
|
|
|
- align-items: flex-end;
|
|
|
+ align-items: center;
|
|
|
margin-bottom: 20px;
|
|
|
}
|
|
|
|