|
@@ -230,31 +230,10 @@
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
- <div style="margin-left: auto;">
|
|
|
|
- <!-- <button
|
|
|
|
- class="c_pub_button_return pub_btn_return_img"
|
|
|
|
- @click="lastSteps"
|
|
|
|
- >
|
|
|
|
- 返回课程
|
|
|
|
- </button>
|
|
|
|
- <button
|
|
|
|
- class="c_pub_button_confirm pub_btn_finish_img"
|
|
|
|
- @click="nextSteps"
|
|
|
|
- >
|
|
|
|
- 确认上传
|
|
|
|
- </button> -->
|
|
|
|
- <button
|
|
|
|
- class="c_pub_button_add pub_btn_paste_img"
|
|
|
|
- @click="pasteTask"
|
|
|
|
- v-if="isPasteTask"
|
|
|
|
- >
|
|
|
|
- 智能粘贴
|
|
|
|
- </button>
|
|
|
|
- </div>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="pptIframeArea">
|
|
<div class="pptIframeArea">
|
|
- <iframe src="https://ppt.cocorobo.cn/" frameborder="0" ref="pptIframeRef"></iframe>
|
|
|
|
|
|
+ <iframe :src="`https://ppt.cocorobo.cn/?mode=editor&courseid=${cid}`" frameborder="0" ref="pptIframeRef"></iframe>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="pptToolsArea">
|
|
<div class="pptToolsArea">
|
|
@@ -279,35 +258,6 @@
|
|
<span>+</span>
|
|
<span>+</span>
|
|
<div>AI应用</div>
|
|
<div>AI应用</div>
|
|
</div>
|
|
</div>
|
|
- <!-- <div class="tool">
|
|
|
|
- <div class="whiteBIcon" @click.stop="addTool(45)">
|
|
|
|
- <img
|
|
|
|
- src="../../../assets/icon/thirdToolList/choose.png"
|
|
|
|
- alt
|
|
|
|
- />
|
|
|
|
- <div style="margin: 5px 0">选择题</div>
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
-
|
|
|
|
- <div class="tool">
|
|
|
|
- <div class="whiteBIcon" @click.stop="addTool(15)">
|
|
|
|
- <img
|
|
|
|
- src="../../../assets/icon/thirdToolList/answer.png"
|
|
|
|
- alt
|
|
|
|
- />
|
|
|
|
- <div style="margin: 5px 0">问答</div>
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
-
|
|
|
|
- <div class="tool">
|
|
|
|
- <div class="whiteBIcon" @click.stop="addTool(72)">
|
|
|
|
- <img
|
|
|
|
- src="../../../assets/icon/firstToolList/appStore.png"
|
|
|
|
- alt
|
|
|
|
- />
|
|
|
|
- <div style="margin: 5px 0">应用中心</div>
|
|
|
|
- </div>
|
|
|
|
- </div> -->
|
|
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
|
|
@@ -349,9 +299,18 @@
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="pta_tla_l_i_right">
|
|
<div class="pta_tla_l_i_right">
|
|
- <div class="pta_tla_l_i_r_button" @click="toolBtn(0,item.id)">编辑</div>
|
|
|
|
- <div class="pta_tla_l_i_r_button" @click="toolBtn(1,item.id)">复制</div>
|
|
|
|
- <div class="pta_tla_l_i_r_button" @click="toolBtn(2,item.id)">删除</div>
|
|
|
|
|
|
+ <div class="pta_tla_l_i_r_button edit" @click="toolBtn(0,item.id)">
|
|
|
|
+ <svg t="1755224440400" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4991" width="200" height="200"><path d="M388.1856 93.0944a46.5408 46.5408 0 1 1 0 93.0816H139.648a46.5408 46.5408 0 0 0-46.5408 46.5536V884.352a46.5408 46.5408 0 0 0 46.5408 46.5408h651.648a46.5408 46.5408 0 0 0 46.5408-46.5408V635.8144a46.5408 46.5408 0 1 1 93.0816 0V884.352C930.9056 961.4848 868.3904 1024 791.2704 1024H139.648C62.5152 1024 0 961.4848 0 884.352V232.7424c0-77.12 62.5152-139.648 139.648-139.648h248.5376zM824.192 13.632l186.1888 186.1888a46.5408 46.5408 0 0 1 0 65.8176L544.896 731.0976A46.5408 46.5408 0 0 1 512 744.7296H325.824a46.5408 46.5408 0 0 1-46.5536-46.5536V512c0-12.3392 4.9024-24.192 13.632-32.9088L758.3616 13.632a46.5408 46.5408 0 0 1 65.8176 0zM791.296 112.384L372.352 531.2768v120.3584h120.3584L911.616 232.7296l-120.3584-120.3584z" fill="#ffffff" p-id="4992"></path></svg>
|
|
|
|
+ <span>编辑</span>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="pta_tla_l_i_r_button copy" @click="toolBtn(1,item.id)">
|
|
|
|
+ <svg t="1755224487282" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="6922" width="200" height="200"><path d="M931.84 675.84c0 12.288-8.192 20.48-20.48 20.48s-20.48-8.192-20.48-20.48V419.84c0-34.816-26.624-61.44-61.44-61.44h-409.6c-34.816 0-61.44 26.624-61.44 61.44v409.6c0 34.816 26.624 61.44 61.44 61.44h409.6c34.816 0 61.44-26.624 61.44-61.44v-45.056c0-12.288 8.192-20.48 20.48-20.48s20.48 8.192 20.48 20.48v45.056c0 57.344-45.056 102.4-102.4 102.4h-409.6c-57.344 0-102.4-45.056-102.4-102.4v-409.6c0-57.344 45.056-102.4 102.4-102.4h409.6c57.344 0 102.4 45.056 102.4 102.4v256z m-225.28-454.656c0 12.288-8.192 20.48-20.48 20.48s-20.48-8.192-20.48-20.48V194.56c0-34.816-26.624-61.44-61.44-61.44h-409.6c-34.816 0-61.44 26.624-61.44 61.44v409.6c0 34.816 26.624 61.44 61.44 61.44h32.768c12.288 0 20.48 8.192 20.48 20.48s-8.192 20.48-20.48 20.48h-32.768c-57.344 0-102.4-45.056-102.4-102.4v-409.6c0-57.344 45.056-102.4 102.4-102.4h409.6c57.344 0 102.4 45.056 102.4 102.4v26.624z" fill="#32373B" p-id="6923"></path></svg>
|
|
|
|
+ <span>复制</span>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="pta_tla_l_i_r_button delete" @click="toolBtn(2,item.id)">
|
|
|
|
+ <svg t="1755224641218" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="12953" width="200" height="200"><path d="M161.186909 205.591273h170.170182V126.277818C331.357091 74.519273 373.294545 32.581818 425.053091 32.581818h208.616727c51.758545 0 93.742545 41.937455 93.742546 93.696v79.313455h200.564363a30.254545 30.254545 0 1 1 0 60.509091h-30.021818v629.154909a93.742545 93.742545 0 0 1-93.742545 93.696H254.882909a93.742545 93.742545 0 0 1-93.696-93.696V266.100364h-41.146182a30.254545 30.254545 0 1 1 0-60.509091h41.146182z m676.305455 60.509091H221.649455v629.154909c0 18.338909 14.894545 33.186909 33.186909 33.186909h549.329454c18.385455 0 33.233455-14.894545 33.233455-33.186909V266.100364zM391.819636 204.148364h275.037091V126.277818A33.233455 33.233455 0 0 0 633.669818 93.090909H425.053091a33.233455 33.233455 0 0 0-33.186909 33.186909v77.870546z" fill="#32373B" p-id="12954"></path></svg>
|
|
|
|
+ <span>删除</span>
|
|
|
|
+ </div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
@@ -2425,7 +2384,7 @@ let converter = OpenCC.Converter({
|
|
from: "hk",
|
|
from: "hk",
|
|
to: "cn"
|
|
to: "cn"
|
|
});
|
|
});
|
|
-import JSZip from "jszip";
|
|
|
|
|
|
+
|
|
|
|
|
|
export default {
|
|
export default {
|
|
mixins: [myMixin, uploadFileMixin],
|
|
mixins: [myMixin, uploadFileMixin],
|
|
@@ -2729,9 +2688,7 @@ export default {
|
|
}
|
|
}
|
|
},
|
|
},
|
|
computed: {
|
|
computed: {
|
|
- // rightBoxHeight: function () {
|
|
|
|
- // return $(".rightBox")[0] ? $(".rightBox")[0].scrollHeight : 1000
|
|
|
|
- // },
|
|
|
|
|
|
+
|
|
offsetLetfPx: function() {
|
|
offsetLetfPx: function() {
|
|
//addnum可以直接在模板语法里面用,相当于data内的值
|
|
//addnum可以直接在模板语法里面用,相当于data内的值
|
|
return (
|
|
return (
|
|
@@ -2863,39 +2820,7 @@ export default {
|
|
this.isBtnDisplay = bool;
|
|
this.isBtnDisplay = bool;
|
|
},
|
|
},
|
|
scrollChange() {
|
|
scrollChange() {
|
|
- this.rightBoxHeight = $(".rightBox")[0].scrollHeight;
|
|
|
|
- // document.querySelector('.course_left').scrollHeight
|
|
|
|
- // document.querySelector('.stepsBottom2').scrollHeight
|
|
|
|
-
|
|
|
|
- let stepsBottom2 = $(".stepsBottom2")[0].clientHeight;
|
|
|
|
- // let client = $(".course_left")[0].clientHeight - stepsBottom2
|
|
|
|
- let client = $(".course_left")[0].clientHeight - stepsBottom2;
|
|
|
|
- let maxheight =
|
|
|
|
- $(".whiteBg")[0].offsetHeight + $(".whiteBg")[1].offsetHeight + 120;
|
|
|
|
- let top = $(".rightBox")[0].scrollTop - maxheight;
|
|
|
|
- // if (top < client) {
|
|
|
|
- // $('.stepsBottom2')[0].style.position = 'absolute'
|
|
|
|
- // $('.stepsBottom2')[0].style.top = 0 + 'px'
|
|
|
|
- // // $('.stepsBottom2')[0].style.top = client + 'px'
|
|
|
|
- // } else
|
|
|
|
- if (top > 0) {
|
|
|
|
- let top = $(".rightBox")[0].offsetTop;
|
|
|
|
- $(".stepsBottom2")[0].style.position = "fixed";
|
|
|
|
- $(".stepsBottom2")[0].style.top = top + "px";
|
|
|
|
- this.heightPx = $(".rightBox")[0].offsetHeight - 40 + "px";
|
|
|
|
- // $('.stepsBottom2')[0].style.top = top + 'px'
|
|
|
|
- } else {
|
|
|
|
- $(".stepsBottom2")[0].style.position = "absolute";
|
|
|
|
- $(".stepsBottom2")[0].style.top = "0px";
|
|
|
|
- this.heightPx = $(".basic_box2")[0].offsetHeight - 50 + "px";
|
|
|
|
- }
|
|
|
|
|
|
|
|
- const clientHeight = $(".rightBox")[0].clientHeight;
|
|
|
|
- const scrollTop = $(".rightBox")[0].scrollTop;
|
|
|
|
- const scrollHeight = $(".rightBox")[0].scrollHeight;
|
|
|
|
- if (clientHeight + scrollTop > scrollHeight - 10 && top > 0) {
|
|
|
|
- this.heightPx = $(".rightBox")[0].offsetHeight - 130 + "px";
|
|
|
|
- }
|
|
|
|
},
|
|
},
|
|
addHw(e) {
|
|
addHw(e) {
|
|
var el = e.currentTarget;
|
|
var el = e.currentTarget;
|
|
@@ -3138,7 +3063,7 @@ export default {
|
|
// if (this.userid != this.courseUserid && this.role != "1") {
|
|
// if (this.userid != this.courseUserid && this.role != "1") {
|
|
// this.updateWork2();
|
|
// this.updateWork2();
|
|
// } else {
|
|
// } else {
|
|
- // this.updateWork();
|
|
|
|
|
|
+ this.updateWork();
|
|
// }
|
|
// }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -4637,9 +4562,9 @@ export default {
|
|
this.$forceUpdate();
|
|
this.$forceUpdate();
|
|
}
|
|
}
|
|
},
|
|
},
|
|
- addWork() {
|
|
|
|
|
|
+ async addWork() {
|
|
|
|
|
|
- // this.pptCourseJson.pptData = this.getPPtJson();
|
|
|
|
|
|
+ this.pptCourseJson.pptData = await this.getPPtJson();
|
|
this.inputShow = true;
|
|
this.inputShow = true;
|
|
|
|
|
|
for (var i = 0; i < this.unitJson.length; i++) {
|
|
for (var i = 0; i < this.unitJson.length; i++) {
|
|
@@ -4771,52 +4696,10 @@ export default {
|
|
console.error(err);
|
|
console.error(err);
|
|
});
|
|
});
|
|
},
|
|
},
|
|
- updateWork() {
|
|
|
|
- let cPan = 1;
|
|
|
|
- for (var i = 0; i < this.unitJson.length; i++) {
|
|
|
|
- for (
|
|
|
|
- var j = 0;
|
|
|
|
- j < this.unitJson[i].chapterInfo[0].taskJson.length;
|
|
|
|
- j++
|
|
|
|
- ) {
|
|
|
|
- this.unitJson[i].chapterInfo[0].taskJson[j].proVisible = false;
|
|
|
|
- this.unitJson[i].chapterInfo[0].taskJson[j].proVisible2 = false;
|
|
|
|
|
|
+ async updateWork() {
|
|
|
|
|
|
- if (
|
|
|
|
- this.unitJson[i].chapterInfo[0].taskJson[j].toolChoose.length > 1
|
|
|
|
- ) {
|
|
|
|
- for (
|
|
|
|
- var z = 0;
|
|
|
|
- z < this.unitJson[i].chapterInfo[0].taskJson[j].toolChoose.length;
|
|
|
|
- z++
|
|
|
|
- ) {
|
|
|
|
- if (
|
|
|
|
- !this.unitJson[i].chapterInfo[0].taskJson[j].toolChoose[z].tool
|
|
|
|
- .length
|
|
|
|
- ) {
|
|
|
|
- this.$message.error("请把工具添加完整");
|
|
|
|
- cPan = 2;
|
|
|
|
- break;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
|
|
+ this.pptCourseJson.pptData = await this.getPPtJson();
|
|
|
|
|
|
- if (this.unitJson[i].chapterInfo[0].taskJson[j].eList) {
|
|
|
|
- this.unitJson[i].chapterInfo[0].taskJson[j].eList = this.unitJson[
|
|
|
|
- i
|
|
|
|
- ].chapterInfo[0].taskJson[j].eList.filter(ele => {
|
|
|
|
- return ele.value != "";
|
|
|
|
- });
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- this.inputShow = true;
|
|
|
|
- if (cPan == 2) {
|
|
|
|
- return;
|
|
|
|
- }
|
|
|
|
- for (var i = 0; i < this.unitJson.length; i++) {
|
|
|
|
- delete this.unitJson[i].isUpdate;
|
|
|
|
- }
|
|
|
|
let params = [
|
|
let params = [
|
|
{
|
|
{
|
|
cid: this.cid,
|
|
cid: this.cid,
|
|
@@ -4838,7 +4721,7 @@ export default {
|
|
astudent:
|
|
astudent:
|
|
this.checkboxList2.length > 0 ? this.checkboxList2.join(",") : "",
|
|
this.checkboxList2.length > 0 ? this.checkboxList2.join(",") : "",
|
|
see: this.isTeacherSee == true ? 1 : 0,
|
|
see: this.isTeacherSee == true ? 1 : 0,
|
|
- chapters: JSON.stringify(this.unitJson),
|
|
|
|
|
|
+ chapters: JSON.stringify(this.pptCourseJson),
|
|
template: this.myWord != "undefined" ? this.myWord : [],
|
|
template: this.myWord != "undefined" ? this.myWord : [],
|
|
uid: this.userid,
|
|
uid: this.userid,
|
|
courseType: JSON.stringify(this.courseTypeId),
|
|
courseType: JSON.stringify(this.courseTypeId),
|
|
@@ -6391,188 +6274,188 @@ export default {
|
|
},
|
|
},
|
|
//自动获取剪贴板
|
|
//自动获取剪贴板
|
|
pasteOption() {
|
|
pasteOption() {
|
|
- let iframe = window.topU.document.querySelectorAll("#AIChat iframe")[0];
|
|
|
|
- if (!iframe) {
|
|
|
|
- this.$message.error("请使用AI共创生成题目");
|
|
|
|
- return;
|
|
|
|
- }
|
|
|
|
- let copyData = iframe.contentWindow.copyData;
|
|
|
|
- if (!copyData || !copyData.selectData.length) {
|
|
|
|
- this.$message.error("请使用AI共创生成题目");
|
|
|
|
- return;
|
|
|
|
- }
|
|
|
|
- let selectData = copyData.selectData;
|
|
|
|
- for (var i = 0; i < selectData.length; i++) {
|
|
|
|
- let answer = 0;
|
|
|
|
- switch (selectData[i].answer[0]) {
|
|
|
|
- case "A":
|
|
|
|
- answer = 0;
|
|
|
|
- break;
|
|
|
|
- case "B":
|
|
|
|
- answer = 1;
|
|
|
|
- break;
|
|
|
|
- case "C":
|
|
|
|
- answer = 2;
|
|
|
|
- break;
|
|
|
|
- case "D":
|
|
|
|
- answer = 3;
|
|
|
|
- break;
|
|
|
|
- case "E":
|
|
|
|
- answer = 4;
|
|
|
|
- break;
|
|
|
|
- default:
|
|
|
|
- break;
|
|
|
|
- }
|
|
|
|
- this.testJson.testJson.push({
|
|
|
|
- teststitle: selectData[i].subject,
|
|
|
|
- testItem: selectData[i].options.length,
|
|
|
|
- checkList: selectData[i].options,
|
|
|
|
- timuList: [],
|
|
|
|
- answer: answer,
|
|
|
|
- type: "1"
|
|
|
|
- });
|
|
|
|
- this.testJson.testCount++;
|
|
|
|
- }
|
|
|
|
- var isTestJson = JSON.parse(JSON.stringify(this.testJson));
|
|
|
|
- isTestJson.testJson = this.testJson.testJson.filter(el => {
|
|
|
|
- var elc = el.checkList.filter(element => {
|
|
|
|
- return element != "";
|
|
|
|
- });
|
|
|
|
- return el.teststitle != "" || el.timuList.length > 0 || elc.length != 0;
|
|
|
|
- });
|
|
|
|
- isTestJson.testCount = isTestJson.testJson.length;
|
|
|
|
- if (!isTestJson.testCount) {
|
|
|
|
- return;
|
|
|
|
- }
|
|
|
|
- this.testJson = isTestJson;
|
|
|
|
- this.$forceUpdate();
|
|
|
|
|
|
+ // let iframe = window.topU.document.querySelectorAll("#AIChat iframe")[0];
|
|
|
|
+ // if (!iframe) {
|
|
|
|
+ // this.$message.error("请使用AI共创生成题目");
|
|
|
|
+ // return;
|
|
|
|
+ // }
|
|
|
|
+ // let copyData = iframe.contentWindow.copyData;
|
|
|
|
+ // if (!copyData || !copyData.selectData.length) {
|
|
|
|
+ // this.$message.error("请使用AI共创生成题目");
|
|
|
|
+ // return;
|
|
|
|
+ // }
|
|
|
|
+ // let selectData = copyData.selectData;
|
|
|
|
+ // for (var i = 0; i < selectData.length; i++) {
|
|
|
|
+ // let answer = 0;
|
|
|
|
+ // switch (selectData[i].answer[0]) {
|
|
|
|
+ // case "A":
|
|
|
|
+ // answer = 0;
|
|
|
|
+ // break;
|
|
|
|
+ // case "B":
|
|
|
|
+ // answer = 1;
|
|
|
|
+ // break;
|
|
|
|
+ // case "C":
|
|
|
|
+ // answer = 2;
|
|
|
|
+ // break;
|
|
|
|
+ // case "D":
|
|
|
|
+ // answer = 3;
|
|
|
|
+ // break;
|
|
|
|
+ // case "E":
|
|
|
|
+ // answer = 4;
|
|
|
|
+ // break;
|
|
|
|
+ // default:
|
|
|
|
+ // break;
|
|
|
|
+ // }
|
|
|
|
+ // this.testJson.testJson.push({
|
|
|
|
+ // teststitle: selectData[i].subject,
|
|
|
|
+ // testItem: selectData[i].options.length,
|
|
|
|
+ // checkList: selectData[i].options,
|
|
|
|
+ // timuList: [],
|
|
|
|
+ // answer: answer,
|
|
|
|
+ // type: "1"
|
|
|
|
+ // });
|
|
|
|
+ // this.testJson.testCount++;
|
|
|
|
+ // }
|
|
|
|
+ // var isTestJson = JSON.parse(JSON.stringify(this.testJson));
|
|
|
|
+ // isTestJson.testJson = this.testJson.testJson.filter(el => {
|
|
|
|
+ // var elc = el.checkList.filter(element => {
|
|
|
|
+ // return element != "";
|
|
|
|
+ // });
|
|
|
|
+ // return el.teststitle != "" || el.timuList.length > 0 || elc.length != 0;
|
|
|
|
+ // });
|
|
|
|
+ // isTestJson.testCount = isTestJson.testJson.length;
|
|
|
|
+ // if (!isTestJson.testCount) {
|
|
|
|
+ // return;
|
|
|
|
+ // }
|
|
|
|
+ // this.testJson = isTestJson;
|
|
|
|
+ // this.$forceUpdate();
|
|
},
|
|
},
|
|
pasteTask() {
|
|
pasteTask() {
|
|
- let iframe = window.topU.document.querySelectorAll("#AIChat iframe")[0];
|
|
|
|
- if (!iframe) {
|
|
|
|
- this.$message.error("请使用AI共创生成");
|
|
|
|
- return;
|
|
|
|
- }
|
|
|
|
- let copyData = iframe.contentWindow.copyData;
|
|
|
|
- if (!copyData || !copyData.tasksData || !copyData.tasksData.length) {
|
|
|
|
- this.$message.error("请使用AI共创生成");
|
|
|
|
- return;
|
|
|
|
- }
|
|
|
|
- let stageTasksData = copyData.tasksData;
|
|
|
|
- let taskA = [];
|
|
|
|
- let tasks = stageTasksData;
|
|
|
|
- for (var j = 0; j < tasks.length; j++) {
|
|
|
|
- taskA.push({
|
|
|
|
- task: tasks[j].taskName,
|
|
|
|
- taskDetail: tasks[j].taskDecs,
|
|
|
|
- chapterData: [],
|
|
|
|
- toolText: "",
|
|
|
|
- toolChoose: [
|
|
|
|
- {
|
|
|
|
- tool: [],
|
|
|
|
- toolDetail: "",
|
|
|
|
- toolType: 0,
|
|
|
|
- askCount: 1,
|
|
|
|
- askTitle: "",
|
|
|
|
- askJson: [{ askstitle: "", askItem: 1, checkList: [] }]
|
|
|
|
- }
|
|
|
|
- ],
|
|
|
|
- isShowTools: false,
|
|
|
|
- askCount: 1,
|
|
|
|
- isFold: 1,
|
|
|
|
- askTitle: "",
|
|
|
|
- askJson: [{ askstitle: "", askItem: 1, checkList: [] }],
|
|
|
|
- checkJson: [{ checkCount: [], checkPerent: [] }],
|
|
|
|
- homeworkList: []
|
|
|
|
- });
|
|
|
|
- }
|
|
|
|
- this.unitJson[this.unitIndex].chapterInfo[0].taskJson = taskA;
|
|
|
|
- this.$forceUpdate();
|
|
|
|
|
|
+ // let iframe = window.topU.document.querySelectorAll("#AIChat iframe")[0];
|
|
|
|
+ // if (!iframe) {
|
|
|
|
+ // this.$message.error("请使用AI共创生成");
|
|
|
|
+ // return;
|
|
|
|
+ // }
|
|
|
|
+ // let copyData = iframe.contentWindow.copyData;
|
|
|
|
+ // if (!copyData || !copyData.tasksData || !copyData.tasksData.length) {
|
|
|
|
+ // this.$message.error("请使用AI共创生成");
|
|
|
|
+ // return;
|
|
|
|
+ // }
|
|
|
|
+ // let stageTasksData = copyData.tasksData;
|
|
|
|
+ // let taskA = [];
|
|
|
|
+ // let tasks = stageTasksData;
|
|
|
|
+ // for (var j = 0; j < tasks.length; j++) {
|
|
|
|
+ // taskA.push({
|
|
|
|
+ // task: tasks[j].taskName,
|
|
|
|
+ // taskDetail: tasks[j].taskDecs,
|
|
|
|
+ // chapterData: [],
|
|
|
|
+ // toolText: "",
|
|
|
|
+ // toolChoose: [
|
|
|
|
+ // {
|
|
|
|
+ // tool: [],
|
|
|
|
+ // toolDetail: "",
|
|
|
|
+ // toolType: 0,
|
|
|
|
+ // askCount: 1,
|
|
|
|
+ // askTitle: "",
|
|
|
|
+ // askJson: [{ askstitle: "", askItem: 1, checkList: [] }]
|
|
|
|
+ // }
|
|
|
|
+ // ],
|
|
|
|
+ // isShowTools: false,
|
|
|
|
+ // askCount: 1,
|
|
|
|
+ // isFold: 1,
|
|
|
|
+ // askTitle: "",
|
|
|
|
+ // askJson: [{ askstitle: "", askItem: 1, checkList: [] }],
|
|
|
|
+ // checkJson: [{ checkCount: [], checkPerent: [] }],
|
|
|
|
+ // homeworkList: []
|
|
|
|
+ // });
|
|
|
|
+ // }
|
|
|
|
+ // this.unitJson[this.unitIndex].chapterInfo[0].taskJson = taskA;
|
|
|
|
+ // this.$forceUpdate();
|
|
},
|
|
},
|
|
pasteStage(stageJson) {
|
|
pasteStage(stageJson) {
|
|
- let stageData = [];
|
|
|
|
- if (stageJson) {
|
|
|
|
- stageData = stageJson;
|
|
|
|
- } else {
|
|
|
|
- let iframe = window.topU.document.querySelectorAll("#AIChat iframe")[0];
|
|
|
|
- if (!iframe) {
|
|
|
|
- this.$message.error("请使用AI共创生成");
|
|
|
|
- return;
|
|
|
|
- }
|
|
|
|
- let copyData = iframe.contentWindow.copyData;
|
|
|
|
- if (!copyData || !copyData.stageData || !copyData.stageData.length) {
|
|
|
|
- this.$message.error("请使用AI共创生成");
|
|
|
|
- return;
|
|
|
|
- }
|
|
|
|
- stageData = copyData.stageData;
|
|
|
|
- }
|
|
|
|
|
|
+ // let stageData = [];
|
|
|
|
+ // if (stageJson) {
|
|
|
|
+ // stageData = stageJson;
|
|
|
|
+ // } else {
|
|
|
|
+ // let iframe = window.topU.document.querySelectorAll("#AIChat iframe")[0];
|
|
|
|
+ // if (!iframe) {
|
|
|
|
+ // this.$message.error("请使用AI共创生成");
|
|
|
|
+ // return;
|
|
|
|
+ // }
|
|
|
|
+ // let copyData = iframe.contentWindow.copyData;
|
|
|
|
+ // if (!copyData || !copyData.stageData || !copyData.stageData.length) {
|
|
|
|
+ // this.$message.error("请使用AI共创生成");
|
|
|
|
+ // return;
|
|
|
|
+ // }
|
|
|
|
+ // stageData = copyData.stageData;
|
|
|
|
+ // }
|
|
|
|
|
|
- let stage = [];
|
|
|
|
- for (var i = 0; i < stageData.length; i++) {
|
|
|
|
- stage.push({
|
|
|
|
- dyName: stageData[i], //单元标题
|
|
|
|
- chapterInfo: [
|
|
|
|
- {
|
|
|
|
- isread: false,
|
|
|
|
- chapterid: this.guid(),
|
|
|
|
- title: "",
|
|
|
|
- courseName: "",
|
|
|
|
- taskJson: [
|
|
|
|
- {
|
|
|
|
- task: "",
|
|
|
|
- taskDetail: "",
|
|
|
|
- chapterData: [],
|
|
|
|
- toolText: "",
|
|
|
|
- toolChoose: [
|
|
|
|
- {
|
|
|
|
- tool: [],
|
|
|
|
- toolDetail: "",
|
|
|
|
- toolType: 0,
|
|
|
|
- askCount: 1,
|
|
|
|
- askTitle: "",
|
|
|
|
- askJson: [{ askstitle: "", askItem: 1, checkList: [] }]
|
|
|
|
- }
|
|
|
|
- ],
|
|
|
|
- isShowTools: false,
|
|
|
|
- askCount: 1,
|
|
|
|
- isFold: 1,
|
|
|
|
- askTitle: "",
|
|
|
|
- askJson: [{ askstitle: "", askItem: 1, checkList: [] }],
|
|
|
|
- checkJson: [{ checkCount: [], checkPerent: [] }],
|
|
|
|
- homeworkList: []
|
|
|
|
- }
|
|
|
|
- ],
|
|
|
|
- itemCount: 1,
|
|
|
|
- fileList1: [],
|
|
|
|
- video: [],
|
|
|
|
- testData: [],
|
|
|
|
- pData: [],
|
|
|
|
- templateArray: []
|
|
|
|
- }
|
|
|
|
- ]
|
|
|
|
- });
|
|
|
|
- }
|
|
|
|
- let _this = this;
|
|
|
|
- if (stageJson) {
|
|
|
|
- _this.unitIndex = 0;
|
|
|
|
- _this.unitJson = stage;
|
|
|
|
- _this.updateWork();
|
|
|
|
- } else {
|
|
|
|
- _this
|
|
|
|
- .$confirm("确定选择智能粘贴模式吗?", "提示", {
|
|
|
|
- confirmButtonText: "确定",
|
|
|
|
- cancelButtonText: "取消",
|
|
|
|
- type: "warning"
|
|
|
|
- })
|
|
|
|
- .then(() => {
|
|
|
|
- _this.unitIndex = 0;
|
|
|
|
- _this.unitJson = stage;
|
|
|
|
- _this.updateWork();
|
|
|
|
- })
|
|
|
|
- .catch(() => {
|
|
|
|
- return;
|
|
|
|
- });
|
|
|
|
- }
|
|
|
|
|
|
+ // let stage = [];
|
|
|
|
+ // for (var i = 0; i < stageData.length; i++) {
|
|
|
|
+ // stage.push({
|
|
|
|
+ // dyName: stageData[i], //单元标题
|
|
|
|
+ // chapterInfo: [
|
|
|
|
+ // {
|
|
|
|
+ // isread: false,
|
|
|
|
+ // chapterid: this.guid(),
|
|
|
|
+ // title: "",
|
|
|
|
+ // courseName: "",
|
|
|
|
+ // taskJson: [
|
|
|
|
+ // {
|
|
|
|
+ // task: "",
|
|
|
|
+ // taskDetail: "",
|
|
|
|
+ // chapterData: [],
|
|
|
|
+ // toolText: "",
|
|
|
|
+ // toolChoose: [
|
|
|
|
+ // {
|
|
|
|
+ // tool: [],
|
|
|
|
+ // toolDetail: "",
|
|
|
|
+ // toolType: 0,
|
|
|
|
+ // askCount: 1,
|
|
|
|
+ // askTitle: "",
|
|
|
|
+ // askJson: [{ askstitle: "", askItem: 1, checkList: [] }]
|
|
|
|
+ // }
|
|
|
|
+ // ],
|
|
|
|
+ // isShowTools: false,
|
|
|
|
+ // askCount: 1,
|
|
|
|
+ // isFold: 1,
|
|
|
|
+ // askTitle: "",
|
|
|
|
+ // askJson: [{ askstitle: "", askItem: 1, checkList: [] }],
|
|
|
|
+ // checkJson: [{ checkCount: [], checkPerent: [] }],
|
|
|
|
+ // homeworkList: []
|
|
|
|
+ // }
|
|
|
|
+ // ],
|
|
|
|
+ // itemCount: 1,
|
|
|
|
+ // fileList1: [],
|
|
|
|
+ // video: [],
|
|
|
|
+ // testData: [],
|
|
|
|
+ // pData: [],
|
|
|
|
+ // templateArray: []
|
|
|
|
+ // }
|
|
|
|
+ // ]
|
|
|
|
+ // });
|
|
|
|
+ // }
|
|
|
|
+ // let _this = this;
|
|
|
|
+ // if (stageJson) {
|
|
|
|
+ // _this.unitIndex = 0;
|
|
|
|
+ // _this.unitJson = stage;
|
|
|
|
+ // _this.updateWork();
|
|
|
|
+ // } else {
|
|
|
|
+ // _this
|
|
|
|
+ // .$confirm("确定选择智能粘贴模式吗?", "提示", {
|
|
|
|
+ // confirmButtonText: "确定",
|
|
|
|
+ // cancelButtonText: "取消",
|
|
|
|
+ // type: "warning"
|
|
|
|
+ // })
|
|
|
|
+ // .then(() => {
|
|
|
|
+ // _this.unitIndex = 0;
|
|
|
|
+ // _this.unitJson = stage;
|
|
|
|
+ // _this.updateWork();
|
|
|
|
+ // })
|
|
|
|
+ // .catch(() => {
|
|
|
|
+ // return;
|
|
|
|
+ // });
|
|
|
|
+ // }
|
|
},
|
|
},
|
|
addAnswer() {
|
|
addAnswer() {
|
|
if (this.answerQ == "") {
|
|
if (this.answerQ == "") {
|
|
@@ -6729,7 +6612,7 @@ export default {
|
|
.then(res => {
|
|
.then(res => {
|
|
this.loading = true;
|
|
this.loading = true;
|
|
this.pptCourseJson = JSON.parse(res.data[0][0].chapters);
|
|
this.pptCourseJson = JSON.parse(res.data[0][0].chapters);
|
|
- this.setPPtToolList()
|
|
|
|
|
|
+
|
|
|
|
|
|
this.$forceUpdate();
|
|
this.$forceUpdate();
|
|
this.courseName = res.data[0][0].title;
|
|
this.courseName = res.data[0][0].title;
|
|
@@ -6778,9 +6661,11 @@ export default {
|
|
// this.seleteCourseUpdate();
|
|
// this.seleteCourseUpdate();
|
|
this.setMan();
|
|
this.setMan();
|
|
this.selectAllType();
|
|
this.selectAllType();
|
|
- this.unitJson[
|
|
|
|
- this.unitIndex
|
|
|
|
- ].chapterInfo[0].taskJson[0].toolOpen = true;
|
|
|
|
|
|
+ this.setPPtToolList()
|
|
|
|
+ this.setPPtJson(this.pptCourseJson.pptData)
|
|
|
|
+ //this.unitJson[
|
|
|
|
+ // this.unitIndex
|
|
|
|
+ //].chapterInfo[0].taskJson[0].toolOpen = true;
|
|
// }, 5000);
|
|
// }, 5000);
|
|
this.$forceUpdate();
|
|
this.$forceUpdate();
|
|
setTimeout(() => {
|
|
setTimeout(() => {
|
|
@@ -7937,20 +7822,20 @@ export default {
|
|
}
|
|
}
|
|
},
|
|
},
|
|
getPaste() {
|
|
getPaste() {
|
|
- let iframe = window.topU.document.querySelectorAll("#AIChat iframe")[0];
|
|
|
|
- if (!iframe) {
|
|
|
|
- return;
|
|
|
|
- }
|
|
|
|
- let copyData = iframe.contentWindow.copyData;
|
|
|
|
- // if (copyData && copyData.stageData && copyData.stageData.length) {
|
|
|
|
- // this.isPasteStage = true
|
|
|
|
|
|
+ // let iframe = window.topU.document.querySelectorAll("#AIChat iframe")[0];
|
|
|
|
+ // if (!iframe) {
|
|
|
|
+ // return;
|
|
|
|
+ // }
|
|
|
|
+ // let copyData = iframe.contentWindow.copyData;
|
|
|
|
+ // // if (copyData && copyData.stageData && copyData.stageData.length) {
|
|
|
|
+ // // this.isPasteStage = true
|
|
|
|
+ // // }
|
|
|
|
+ // if (copyData && copyData.selectData.length) {
|
|
|
|
+ // this.isPasteChoice = true;
|
|
|
|
+ // }
|
|
|
|
+ // if (copyData && copyData.tasksData && copyData.tasksData.length) {
|
|
|
|
+ // this.isPasteTask = true;
|
|
// }
|
|
// }
|
|
- if (copyData && copyData.selectData.length) {
|
|
|
|
- this.isPasteChoice = true;
|
|
|
|
- }
|
|
|
|
- if (copyData && copyData.tasksData && copyData.tasksData.length) {
|
|
|
|
- this.isPasteTask = true;
|
|
|
|
- }
|
|
|
|
},
|
|
},
|
|
searchImage() {
|
|
searchImage() {
|
|
var _this = this;
|
|
var _this = this;
|
|
@@ -8217,52 +8102,6 @@ export default {
|
|
this.editId = null;
|
|
this.editId = null;
|
|
this.setPPtToolList();
|
|
this.setPPtToolList();
|
|
},
|
|
},
|
|
- // zip压缩文件上传
|
|
|
|
- uploadZIPFile(i) {
|
|
|
|
- this.lineCount = i;
|
|
|
|
- // 只支持上传zip文件
|
|
|
|
- let input = document.createElement("input");
|
|
|
|
- input.type = "file";
|
|
|
|
- input.accept = ".zip";
|
|
|
|
- input.style.display = "none";
|
|
|
|
- // 只允许上传一个文件
|
|
|
|
- input.multiple = false;
|
|
|
|
- input.onchange = async e => {
|
|
|
|
- let file = e.target.files[0];
|
|
|
|
- if (!file) return;
|
|
|
|
- if (file.type !== "application/zip" && !file.name.endsWith(".zip")) {
|
|
|
|
- this.$message.error("只支持上传zip文件");
|
|
|
|
- return;
|
|
|
|
- }
|
|
|
|
- // this.awsupload({file:file,path:"zip/"+file.name}).then(res=>{
|
|
|
|
- // console.log('uploadZIPFile', res);
|
|
|
|
- // // 转成正常的网址
|
|
|
|
- // let url = res && res.Location ? decodeURIComponent(res.Location) : "";
|
|
|
|
- // console.log('正常网址:', url);
|
|
|
|
-
|
|
|
|
- // })
|
|
|
|
- // 这里可以根据实际需求进行上传处理
|
|
|
|
- try {
|
|
|
|
- const zip = new JSZip();
|
|
|
|
- const content = await zip.loadAsync(file);
|
|
|
|
- let _fileStructure = this.buildFileStructure(file, content);
|
|
|
|
- let _time = new Date().getTime();
|
|
|
|
- let _resultList = await this.uploadZipFile(
|
|
|
|
- _fileStructure.files,
|
|
|
|
- `${_time}_${_fileStructure.folderName}`
|
|
|
|
- );
|
|
|
|
- console.log("_resultList", _resultList);
|
|
|
|
- } catch (e) {
|
|
|
|
- console.log(e);
|
|
|
|
- this.$message.error("解析zip文件失败");
|
|
|
|
- }
|
|
|
|
- };
|
|
|
|
- document.body.appendChild(input);
|
|
|
|
- input.click();
|
|
|
|
- setTimeout(() => {
|
|
|
|
- document.body.removeChild(input);
|
|
|
|
- }, 1000);
|
|
|
|
- },
|
|
|
|
// 构建文件结构树
|
|
// 构建文件结构树
|
|
buildFileStructure(file, zip) {
|
|
buildFileStructure(file, zip) {
|
|
const root = {
|
|
const root = {
|
|
@@ -8305,84 +8144,6 @@ export default {
|
|
|
|
|
|
return root;
|
|
return root;
|
|
},
|
|
},
|
|
- //按路径上传文件
|
|
|
|
- async uploadZipFile(fileList, path) {
|
|
|
|
- return new Promise(async resolve => {
|
|
|
|
- let _copyFileList = fileList;
|
|
|
|
-
|
|
|
|
- let promise = [];
|
|
|
|
- for (let i = 0; i < _copyFileList.length; i++) {
|
|
|
|
- if (_copyFileList[i].folderName) {
|
|
|
|
- let _path = `${path}/${_copyFileList[i].folderName}`;
|
|
|
|
- promise.push(
|
|
|
|
- this.uploadZipFile(_copyFileList[i].files, _path).then(res => {
|
|
|
|
- _copyFileList[i].files = res;
|
|
|
|
- })
|
|
|
|
- );
|
|
|
|
- } else if (_copyFileList[i].fileName) {
|
|
|
|
- // 将 ZIP 条目转换为文件对象
|
|
|
|
- const blob = await _copyFileList[i].file.async("blob");
|
|
|
|
- // 根据文件名设置type
|
|
|
|
- let type = "text/html";
|
|
|
|
- if (_copyFileList[i].fileName.endsWith(".js")) {
|
|
|
|
- type = "application/javascript";
|
|
|
|
- } else if (_copyFileList[i].fileName.endsWith(".css")) {
|
|
|
|
- type = "text/css";
|
|
|
|
- } else if (_copyFileList[i].fileName.endsWith(".json")) {
|
|
|
|
- type = "application/json";
|
|
|
|
- } else if (_copyFileList[i].fileName.endsWith(".png")) {
|
|
|
|
- type = "image/png";
|
|
|
|
- } else if (
|
|
|
|
- _copyFileList[i].fileName.endsWith(".jpg") ||
|
|
|
|
- _copyFileList[i].fileName.endsWith(".jpeg")
|
|
|
|
- ) {
|
|
|
|
- type = "image/jpeg";
|
|
|
|
- } else if (_copyFileList[i].fileName.endsWith(".gif")) {
|
|
|
|
- type = "image/gif";
|
|
|
|
- } else if (_copyFileList[i].fileName.endsWith(".svg")) {
|
|
|
|
- type = "image/svg+xml";
|
|
|
|
- } else if (
|
|
|
|
- _copyFileList[i].fileName.endsWith(".html") ||
|
|
|
|
- _copyFileList[i].fileName.endsWith(".htm")
|
|
|
|
- ) {
|
|
|
|
- type = "text/html";
|
|
|
|
- } else if (_copyFileList[i].fileName.endsWith(".txt")) {
|
|
|
|
- type = "text/plain";
|
|
|
|
- } else if (_copyFileList[i].fileName.endsWith(".pdf")) {
|
|
|
|
- type = "application/pdf";
|
|
|
|
- } else if (_copyFileList[i].fileName.endsWith(".mp3")) {
|
|
|
|
- type = "audio/mpeg";
|
|
|
|
- } else if (_copyFileList[i].fileName.endsWith(".mp4")) {
|
|
|
|
- type = "video/mp4";
|
|
|
|
- } else if (_copyFileList[i].fileName.endsWith(".zip")) {
|
|
|
|
- type = "application/zip";
|
|
|
|
- } else if (_copyFileList[i].fileName.endsWith(".xml")) {
|
|
|
|
- type = "application/xml";
|
|
|
|
- } else if (_copyFileList[i].fileName.endsWith(".csv")) {
|
|
|
|
- type = "text/csv";
|
|
|
|
- } else if (_copyFileList[i].fileName.endsWith(".md")) {
|
|
|
|
- type = "text/markdown";
|
|
|
|
- }
|
|
|
|
- let _file = new File([blob], _copyFileList[i].fileName, {
|
|
|
|
- type: type,
|
|
|
|
- lastModified: new Date().getTime()
|
|
|
|
- });
|
|
|
|
- promise.push(
|
|
|
|
- this.awsupload({
|
|
|
|
- file: _file,
|
|
|
|
- path: `${path}/${_copyFileList[i].fileName}`
|
|
|
|
- }).then(res => {
|
|
|
|
- delete _copyFileList[i].file;
|
|
|
|
- _copyFileList[i].url = decodeURIComponent(res.Location);
|
|
|
|
- })
|
|
|
|
- );
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- Promise.all(promise).then(res => {
|
|
|
|
- resolve(_copyFileList);
|
|
|
|
- });
|
|
|
|
- });
|
|
|
|
- },
|
|
|
|
openToolDialog(){
|
|
openToolDialog(){
|
|
this.$refs.InteractiveToolDialogRef.open();
|
|
this.$refs.InteractiveToolDialogRef.open();
|
|
},
|
|
},
|
|
@@ -8424,8 +8185,6 @@ export default {
|
|
this.dialogVisible7 = true;
|
|
this.dialogVisible7 = true;
|
|
// this.$message.info("添加H5页面");
|
|
// this.$message.info("添加H5页面");
|
|
}
|
|
}
|
|
-
|
|
|
|
- this.getPPtJson();
|
|
|
|
},
|
|
},
|
|
toolBtn(type,id){
|
|
toolBtn(type,id){
|
|
let _data = this.pptCourseJson.toolsList.find(i=>i.id===id);
|
|
let _data = this.pptCourseJson.toolsList.find(i=>i.id===id);
|
|
@@ -8454,6 +8213,11 @@ export default {
|
|
)
|
|
)
|
|
}
|
|
}
|
|
}else if(type==1){
|
|
}else if(type==1){
|
|
|
|
+ let _copyData = JSON.parse(JSON.stringify(_data));
|
|
|
|
+ _copyData.id = new Date().getTime();
|
|
|
|
+ this.pptCourseJson.toolsList.push(_copyData);
|
|
|
|
+ this.setPPtToolList();
|
|
|
|
+ return this.$message.success("复制工具成功");
|
|
// if(!_data.url)return this.$message.error("该工具未生成链接,请稍等");
|
|
// if(!_data.url)return this.$message.error("该工具未生成链接,请稍等");
|
|
// const input = document.createElement("input");
|
|
// const input = document.createElement("input");
|
|
// // 设置 display为none会导致无法复制
|
|
// // 设置 display为none会导致无法复制
|
|
@@ -8498,6 +8262,7 @@ export default {
|
|
//获取ppt的数据
|
|
//获取ppt的数据
|
|
async getPPtJson() {
|
|
async getPPtJson() {
|
|
const checkLoaded = async (resolve) => {
|
|
const checkLoaded = async (resolve) => {
|
|
|
|
+ console.log("获取ppt数据")
|
|
let _pptIframe = this.$refs.pptIframeRef;
|
|
let _pptIframe = this.$refs.pptIframeRef;
|
|
if (
|
|
if (
|
|
_pptIframe &&
|
|
_pptIframe &&
|
|
@@ -8519,6 +8284,7 @@ export default {
|
|
});
|
|
});
|
|
},
|
|
},
|
|
setPPtJson(data){
|
|
setPPtJson(data){
|
|
|
|
+ console.log("设置ppt数据",data)
|
|
let _pptIframe = this.$refs.pptIframeRef;
|
|
let _pptIframe = this.$refs.pptIframeRef;
|
|
// 判断iframe是否加载完成,加载完成再执行
|
|
// 判断iframe是否加载完成,加载完成再执行
|
|
if (_pptIframe && _pptIframe.contentWindow && _pptIframe.contentWindow.window && typeof _pptIframe.contentWindow.window.readJSON === "function") {
|
|
if (_pptIframe && _pptIframe.contentWindow && _pptIframe.contentWindow.window && typeof _pptIframe.contentWindow.window.readJSON === "function") {
|
|
@@ -8576,18 +8342,18 @@ export default {
|
|
}, 500);
|
|
}, 500);
|
|
},
|
|
},
|
|
mounted() {
|
|
mounted() {
|
|
- this.$nextTick(() => {
|
|
|
|
- //监听这个dom的scroll事件
|
|
|
|
- $(".rightBox")[0].addEventListener("scroll", this.scrollChange);
|
|
|
|
- this.heightPx = $(".rightBox")[0].offsetHeight + "px";
|
|
|
|
- this.unitJson[this.unitIndex].chapterInfo[0].taskJson[0].toolOpen = true;
|
|
|
|
- this.$forceUpdate();
|
|
|
|
- });
|
|
|
|
-
|
|
|
|
- let _this = this;
|
|
|
|
- window.pasteStage = function(json) {
|
|
|
|
- _this.pasteStage(json);
|
|
|
|
- };
|
|
|
|
|
|
+ // this.$nextTick(() => {
|
|
|
|
+ // //监听这个dom的scroll事件
|
|
|
|
+ // $(".rightBox")[0].addEventListener("scroll", this.scrollChange);
|
|
|
|
+ // this.heightPx = $(".rightBox")[0].offsetHeight + "px";
|
|
|
|
+ // this.unitJson[this.unitIndex].chapterInfo[0].taskJson[0].toolOpen = true;
|
|
|
|
+ // this.$forceUpdate();
|
|
|
|
+ // });
|
|
|
|
+
|
|
|
|
+ // let _this = this;
|
|
|
|
+ // window.pasteStage = function(json) {
|
|
|
|
+ // _this.pasteStage(json);
|
|
|
|
+ // };
|
|
}
|
|
}
|
|
};
|
|
};
|
|
</script>
|
|
</script>
|
|
@@ -12627,6 +12393,30 @@ ol {
|
|
padding: 0 20px;
|
|
padding: 0 20px;
|
|
color:#4A5568;
|
|
color:#4A5568;
|
|
font-size:14px;
|
|
font-size:14px;
|
|
|
|
+ background: #fff;
|
|
white-space:nowrap;
|
|
white-space:nowrap;
|
|
|
|
+ transition: .2s;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+.pta_tla_l_i_right>div:hover{
|
|
|
|
+ background:#dadada;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+.pta_tla_l_i_right>div>svg{
|
|
|
|
+ width:15px;
|
|
|
|
+ height:15px;
|
|
|
|
+ margin-right:5px;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+.pta_tla_l_i_right>.edit{
|
|
|
|
+ color: #fff;
|
|
|
|
+ background:#0458D2;
|
|
|
|
+ border-color:#0458D2;
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+.pta_tla_l_i_right>.edit:hover{
|
|
|
|
+ background:#0349b3;
|
|
|
|
+ border-color:#0349b3;
|
|
|
|
+}
|
|
|
|
+
|
|
</style>
|
|
</style>
|