|
@@ -86,7 +86,9 @@
|
|
|
<div
|
|
|
class="stageBoxCss"
|
|
|
@click="get(stageIndex)"
|
|
|
- :class="{ stageBoxIsCss: item.isOpen }"
|
|
|
+ :class="{
|
|
|
+ // stageBoxIsCss: stageIndex == courseType,
|
|
|
+ }"
|
|
|
>
|
|
|
<div class="stageItemTitle" :class="{ stageNav: item.isOpen }">
|
|
|
<div>阶段{{ stageIndex + 1 }}</div>
|
|
@@ -100,10 +102,10 @@
|
|
|
</div>
|
|
|
</el-tooltip>
|
|
|
</div>
|
|
|
- <div class="closeTri" v-if="item.isOpen">
|
|
|
+ <!-- <div class="closeTri" v-if="stageIndex == courseType" :style="{transform:item.isOpen ? 'rotate(0deg)' : 'rotate(-90deg)'}">
|
|
|
<img src="../assets/icon/newIcons/downC.png" alt />
|
|
|
- </div>
|
|
|
- <div class="closeTri" v-else>
|
|
|
+ </div> -->
|
|
|
+ <div class="closeTri" :style="{transform:item.isOpen ? 'rotate(90deg)' : 'rotate(0deg)'}">
|
|
|
<img src="../assets/icon/newIcons/right.png" alt />
|
|
|
</div>
|
|
|
</div>
|
|
@@ -723,9 +725,6 @@
|
|
|
<span v-if="vitem.text">{{ vitem.text }}-</span
|
|
|
>{{ vitem.name }}
|
|
|
</div>
|
|
|
- <div class="downIcon" @click="downloadFile2(vitem)">
|
|
|
- <img src="../assets/icon/newIcon/down.png" alt />
|
|
|
- </div>
|
|
|
<div
|
|
|
class="downIcon"
|
|
|
@click="checkFileFull1(vitem.type, vitem)"
|
|
@@ -735,15 +734,15 @@
|
|
|
alt
|
|
|
/>
|
|
|
</div>
|
|
|
+ <div class="downIcon" @click="downloadFile2(vitem)">
|
|
|
+ <img src="../assets/icon/newIcon/down.png" alt />
|
|
|
+ </div>
|
|
|
</div>
|
|
|
<div class="navListItem" v-if="vitem.type == 12">
|
|
|
<div class="navText" @click="downloadFile2(vitem)">
|
|
|
<span v-if="vitem.text">{{ vitem.text }}-</span
|
|
|
>{{ vitem.name }}
|
|
|
</div>
|
|
|
- <div class="downIcon" @click="downloadFile2(vitem)">
|
|
|
- <img src="../assets/icon/newIcon/down.png" alt />
|
|
|
- </div>
|
|
|
<div
|
|
|
class="downIcon"
|
|
|
@click="checkFileFull1(vitem.type, vitem)"
|
|
@@ -753,6 +752,9 @@
|
|
|
alt
|
|
|
/>
|
|
|
</div>
|
|
|
+ <div class="downIcon" @click="downloadFile2(vitem)">
|
|
|
+ <img src="../assets/icon/newIcon/down.png" alt />
|
|
|
+ </div>
|
|
|
</div>
|
|
|
<div class="navListItem" v-if="vitem.type == 13">
|
|
|
<div
|
|
@@ -1305,21 +1307,15 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div class="tooldetail" v-if="tool.toolDetail != ''">
|
|
|
+ <div class="tooldetail" v-if="tool.toolDetail != ''" :class="{isUpdateToolDetailClass:toolDetailIndex == toolIndex}">
|
|
|
<!-- <div class="toolTitle">工具描述</div> -->
|
|
|
- <div
|
|
|
+ <div style="height:100%;"
|
|
|
v-html="contentConvent(tool.toolDetail)"
|
|
|
v-if="toolDetailIndex != toolIndex"
|
|
|
- @click.stop="updateToolDetail(toolIndex)"
|
|
|
+ @click.stop="updateToolDetail(toolIndex, 2)"
|
|
|
></div>
|
|
|
- <div v-else @click.stop="">
|
|
|
- <el-input
|
|
|
- type="textarea"
|
|
|
- :rows="3"
|
|
|
- resize="none"
|
|
|
- v-model="updateToolDetailInner"
|
|
|
- placeholder="请输入任务描述"
|
|
|
- ></el-input>
|
|
|
+ <div v-else @click.stop="" style="height:100%;">
|
|
|
+ <textarea @change="() => { $forceUpdate() }" class="checkTextArea" rows="3" v-autoHeight="70" type="text" placeholder="请输入任务描述" v-model="updateToolDetailInner"></textarea>
|
|
|
</div>
|
|
|
</div>
|
|
|
<el-button
|
|
@@ -7512,7 +7508,7 @@
|
|
|
>
|
|
|
<div class="e_add_top">
|
|
|
<div class="e_add_title">
|
|
|
- <span>目标管理名称</span>
|
|
|
+ <!-- <span>目标管理名称</span> -->
|
|
|
<span>{{ eTitle }}</span>
|
|
|
<img
|
|
|
src="../assets/line.png"
|
|
@@ -7521,7 +7517,7 @@
|
|
|
width: 125px;
|
|
|
height: 20px;
|
|
|
bottom: -10px;
|
|
|
- left: 120px;
|
|
|
+ left: 5px;
|
|
|
"
|
|
|
/>
|
|
|
<!-- <el-input
|
|
@@ -7534,7 +7530,7 @@
|
|
|
<div class="e_add_content">
|
|
|
<div class="e_add_list_pbox">
|
|
|
<div class="e_add_list_pbox_title">
|
|
|
- <span class="type_title">切换模式</span>
|
|
|
+ <!-- <span class="type_title">切换模式</span> -->
|
|
|
<div class="type_content">
|
|
|
<span
|
|
|
:class="{ active: typeMode == 1 }"
|
|
@@ -11903,18 +11899,22 @@ export default {
|
|
|
document.querySelector(".student_body").offsetTop;
|
|
|
}, 500);
|
|
|
},
|
|
|
- updateToolDetail(i) {
|
|
|
- this.toolDetailIndex = i;
|
|
|
- if (!this.isUpdateToolDetail1) {
|
|
|
+ updateToolDetail(i, type) {
|
|
|
+ if (!this.isUpdateToolDetail1 && type == 2) {
|
|
|
+ this.toolDetailIndex = i
|
|
|
this.isUpdateToolDetail1 = true;
|
|
|
- this.updateToolDetailInner = JSON.parse(
|
|
|
- JSON.stringify(
|
|
|
- this.chapInfoList[this.courseType].chapterInfo[0].taskJson[
|
|
|
- this.taskCount
|
|
|
- ].toolChoose[i].toolDetail
|
|
|
- )
|
|
|
- );
|
|
|
- } else {
|
|
|
+ setTimeout(() => {
|
|
|
+ this.updateToolDetailInner = JSON.parse(
|
|
|
+ JSON.stringify(
|
|
|
+ this.chapInfoList[this.courseType].chapterInfo[0].taskJson[
|
|
|
+ this.taskCount
|
|
|
+ ].toolChoose[i].toolDetail
|
|
|
+ )
|
|
|
+ );
|
|
|
+ document.querySelector(".checkTextArea").focus();
|
|
|
+ }, 0);
|
|
|
+ } else if((this.isUpdateToolDetail1 && type != 2)){
|
|
|
+ // this.toolDetailIndex = i;
|
|
|
this.chapInfoList[this.courseType].chapterInfo[0].taskJson[
|
|
|
this.taskCount
|
|
|
].toolChoose[i].toolDetail = JSON.parse(
|
|
@@ -11937,6 +11937,7 @@ export default {
|
|
|
type: "success",
|
|
|
});
|
|
|
this.toolDetailIndex = null;
|
|
|
+
|
|
|
this.updateToolDetailInner = "";
|
|
|
this.getCourseDetail(2);
|
|
|
this.$forceUpdate();
|
|
@@ -11944,6 +11945,46 @@ export default {
|
|
|
.catch((err) => {
|
|
|
console.error(err);
|
|
|
});
|
|
|
+ } else if((this.isUpdateToolDetail1 && type == 2)){
|
|
|
+ this.chapInfoList[this.courseType].chapterInfo[0].taskJson[
|
|
|
+ this.taskCount
|
|
|
+ ].toolChoose[this.toolDetailIndex].toolDetail = JSON.parse(
|
|
|
+ JSON.stringify(this.updateToolDetailInner)
|
|
|
+ );
|
|
|
+ let params = [
|
|
|
+ {
|
|
|
+ cid: this.id,
|
|
|
+ chapters: JSON.stringify(this.chapInfoList),
|
|
|
+ uid: this.userid,
|
|
|
+ unitIndex: this.courseType,
|
|
|
+ },
|
|
|
+ ];
|
|
|
+ this.ajax
|
|
|
+ .post(this.$store.state.api + "updateWorkNew4", params)
|
|
|
+ .then((res) => {
|
|
|
+ this.$message({
|
|
|
+ message: "修改成功",
|
|
|
+ type: "success",
|
|
|
+ });
|
|
|
+
|
|
|
+ this.toolDetailIndex = i;
|
|
|
+ this.isUpdateToolDetail1 = true;
|
|
|
+ setTimeout(() => {
|
|
|
+ this.updateToolDetailInner = JSON.parse(
|
|
|
+ JSON.stringify(
|
|
|
+ this.chapInfoList[this.courseType].chapterInfo[0].taskJson[
|
|
|
+ this.taskCount
|
|
|
+ ].toolChoose[i].toolDetail
|
|
|
+ )
|
|
|
+ );
|
|
|
+ document.querySelector(".checkTextArea").focus();
|
|
|
+ }, 0);
|
|
|
+ this.getCourseDetail(2);
|
|
|
+ this.$forceUpdate();
|
|
|
+ })
|
|
|
+ .catch((err) => {
|
|
|
+ console.error(err);
|
|
|
+ });
|
|
|
}
|
|
|
},
|
|
|
jumpGj(i, j, k, l) {
|
|
@@ -11958,7 +11999,7 @@ export default {
|
|
|
this.navList[i].task[j].tool[k].isTool =
|
|
|
!this.navList[i].task[j].tool[k].isTool;
|
|
|
var a = document.scrollingElement;
|
|
|
-
|
|
|
+ this.navId = ""
|
|
|
let target = document.querySelector(`#gj${k}`);
|
|
|
if (target) {
|
|
|
target.scrollIntoView(true);
|
|
@@ -11968,7 +12009,7 @@ export default {
|
|
|
}
|
|
|
if (l) {
|
|
|
this.courseType = i;
|
|
|
- this.navId = l;
|
|
|
+ // this.navId = l;
|
|
|
this.taskCount = j;
|
|
|
this.selectPz();
|
|
|
this.getHomeWork();
|
|
@@ -15299,7 +15340,7 @@ export default {
|
|
|
this.getCourseDetail(2);
|
|
|
this.$forceUpdate();
|
|
|
},
|
|
|
- openTask(s, n, i) {
|
|
|
+ openTask(s, n, i,ctype) {
|
|
|
if (this.IsFollow && this.tType == 2) {
|
|
|
this.$message.error("已经开启跟随模式,请认真跟堂听讲");
|
|
|
return;
|
|
@@ -15339,15 +15380,19 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- if (this.navList[s].task[n].isOpen == true) {
|
|
|
+ if (this.navList[s].task[n].isOpen == true && ctype != 2) {
|
|
|
this.navList[s].task[n].isOpen = !this.navList[s].task[n].isOpen;
|
|
|
return;
|
|
|
}
|
|
|
this.courseType = s;
|
|
|
this.navId = i;
|
|
|
this.taskCount = n;
|
|
|
- this.navList[this.courseType].task[this.taskCount].isOpen =
|
|
|
+ if(ctype == 2){
|
|
|
+ this.navList[s].task[n].isOpen = true
|
|
|
+ }else{
|
|
|
+ this.navList[this.courseType].task[this.taskCount].isOpen =
|
|
|
!this.navList[this.courseType].task[this.taskCount].isOpen;
|
|
|
+ }
|
|
|
if (this.IsLookOpen) {
|
|
|
this.chapInfoList[this.courseType].chapterInfo[0].taskJson[
|
|
|
this.taskCount
|
|
@@ -15378,6 +15423,13 @@ export default {
|
|
|
// window.scrollTo(0, a.offsetTop);
|
|
|
// }
|
|
|
// }, 0);
|
|
|
+ for (var z = 0; z < this.navList.length; z++) {
|
|
|
+ for (var q = 0; q < this.navList[z].task.length; q++) {
|
|
|
+ for (var w = 0; w < this.navList[z].task[q].tool.length; w++) {
|
|
|
+ this.navList[z].task[q].tool[w].isTool = false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
this.selectPz();
|
|
|
this.getHomeWork();
|
|
|
this.getCourseDetail(2);
|
|
@@ -15392,9 +15444,11 @@ export default {
|
|
|
// this.navList[k].isOpen = false;
|
|
|
// }
|
|
|
// this.navList[i].isOpen = true;
|
|
|
+ let a = this.navList[i].isOpen
|
|
|
this.navList[i].isOpen = !this.navList[i].isOpen;
|
|
|
+ this.$forceUpdate()
|
|
|
if (this.navList[i].isOpen) {
|
|
|
- this.openTask(i, 0, i + "-0");
|
|
|
+ this.openTask(i, 0, (i + "-0"),2);
|
|
|
}
|
|
|
},
|
|
|
addQuestion() {
|
|
@@ -18886,6 +18940,19 @@ export default {
|
|
|
clearInterval(el.__vueSetInterval__);
|
|
|
},
|
|
|
},
|
|
|
+ autoHeight: {
|
|
|
+ update(el, binding) {
|
|
|
+ const { value } = binding
|
|
|
+ if (value && typeof value === 'number') {
|
|
|
+ el.style.height = `${value}px`
|
|
|
+ } else {
|
|
|
+ el.style.height = 'auto'
|
|
|
+ }
|
|
|
+ },
|
|
|
+ componentUpdated(el) {
|
|
|
+ el.style.height = `${el.scrollHeight}px`
|
|
|
+ },
|
|
|
+ },
|
|
|
},
|
|
|
beforeDestroy() {
|
|
|
window.onresize = null;
|
|
@@ -19252,13 +19319,15 @@ export default {
|
|
|
.filebox .tooldetail {
|
|
|
width: calc(100% - 280px);
|
|
|
margin: 0px 12px;
|
|
|
- padding: 12px 25px 0 13px;
|
|
|
+ padding: 12px;
|
|
|
line-height: 30px;
|
|
|
word-break: break-word;
|
|
|
background: #ffffff;
|
|
|
border-radius: 8px 8px 8px 8px;
|
|
|
opacity: 1;
|
|
|
border: 1px solid #cad1dc;
|
|
|
+ overflow:hidden;
|
|
|
+ box-sizing:border-box;
|
|
|
}
|
|
|
|
|
|
.file {
|
|
@@ -21109,7 +21178,7 @@ export default {
|
|
|
|
|
|
.type_content {
|
|
|
font-size: 16px;
|
|
|
- margin-left: 30px;
|
|
|
+ /* margin-left: 30px; */
|
|
|
}
|
|
|
|
|
|
.type_content span + span {
|
|
@@ -22792,6 +22861,7 @@ ol {
|
|
|
min-width: 15px;
|
|
|
width: 15px;
|
|
|
height: 15px;
|
|
|
+ transition: all .5s;
|
|
|
}
|
|
|
|
|
|
.closeTri1 {
|
|
@@ -23294,4 +23364,22 @@ ol {
|
|
|
max-height: 300px;
|
|
|
overflow: auto;
|
|
|
}
|
|
|
+
|
|
|
+.isUpdateToolDetailClass{
|
|
|
+ padding: 0 !important;
|
|
|
+}
|
|
|
+
|
|
|
+.isUpdateToolDetailClass textarea{
|
|
|
+ padding:12px;
|
|
|
+ font-size: 16px;
|
|
|
+ min-height:100%;
|
|
|
+ width: 100%;
|
|
|
+ box-sizing:border-box;
|
|
|
+ outline: none;
|
|
|
+ border:none;
|
|
|
+ line-height: 30px;
|
|
|
+ resize: none;
|
|
|
+ font-family: "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "\5FAE\8F6F\96C5\9ED1", Arial, sans-serif;
|
|
|
+ color: #838383;
|
|
|
+}
|
|
|
</style>
|