|
@@ -495,7 +495,10 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<div v-for="(t, tIndex) in unitJson[unitIndex].chapterInfo[0]
|
|
|
- .taskJson" :key="tIndex">
|
|
|
+ .taskJson" :key="tIndex" :class="{
|
|
|
+ dragOverTop: newIndex === tIndex && typeIndex == 'task-'+tIndex && oldIndex > tIndex,
|
|
|
+ dragOverBottom: newIndex === tIndex && typeIndex == 'task-'+tIndex && oldIndex < tIndex,
|
|
|
+ }">
|
|
|
<div @dragstart="dragTaskStart(t, tIndex)" @dragover.prevent="dragTaskOver(tIndex)"
|
|
|
@dragend="dragTaskEnd()" draggable @click="goToTask(tIndex)" class="navTask" :class="{
|
|
|
isNavTask:
|
|
@@ -707,7 +710,7 @@
|
|
|
itemTask.chapterData.length == 0
|
|
|
"><img src="../../assets/icon/new/c_none.png" alt /><span>请添加学习内容</span></div>
|
|
|
<div v-else class="add_chapters_box" style="display: flex; flex-direction: column">
|
|
|
- <div @dragstart="dragStart(item1, index1, itemTaskIndex)" @dragover.prevent="dragOver(index1)"
|
|
|
+ <div @dragstart="dragStart(item1, index1, itemTaskIndex)" @dragover.prevent="dragOver(index1, itemTaskIndex)"
|
|
|
@dragend="dragEnd()" draggable class="chapter_upload"
|
|
|
v-for="(item1, index1) in itemTask.chapterData" :key="item1.id" @click="
|
|
|
getChapterData(
|
|
@@ -717,7 +720,10 @@
|
|
|
index1,
|
|
|
item1.type
|
|
|
)
|
|
|
- ">
|
|
|
+ " :class="{
|
|
|
+ dragOverTop2: newIndex === index1 && typeIndex == 'chapter-'+itemTaskIndex+'-'+index1 && oldIndex > index1,
|
|
|
+ dragOverBottom2: newIndex === index1 && typeIndex == 'chapter-'+itemTaskIndex+'-'+index1 && oldIndex < index1,
|
|
|
+ }">
|
|
|
<div class="chapter_upload_drag"></div>
|
|
|
<div class="chapter_upload_o" style="
|
|
|
position: relative;
|
|
@@ -920,7 +926,7 @@
|
|
|
itemTask.chapterData.length == 0
|
|
|
"><img src="../../assets/icon/new/c_none.png" alt /></div>
|
|
|
<div v-else class="add_chapters_box" style="display: flex; flex-direction: column">
|
|
|
- <div @dragstart="dragStart(item1, index1, index)" @dragover.prevent="dragOver(index1)"
|
|
|
+ <div @dragstart="dragStart(item1, index1, index)" @dragover.prevent="dragOver(index1, itemTaskIndex)"
|
|
|
@dragend="dragEnd()" draggable class="chapter_upload"
|
|
|
v-for="(item1, index1) in itemTask.chapterData" :key="item1.id" @click="
|
|
|
getChapterData(
|
|
@@ -930,7 +936,10 @@
|
|
|
index1,
|
|
|
item1.type
|
|
|
)
|
|
|
- ">
|
|
|
+ " :class="{
|
|
|
+ dragOverTop2: newIndex === index1 && typeIndex == 'chapter-'+itemTaskIndex+'-'+index1 && oldIndex > index1,
|
|
|
+ dragOverBottom2: newIndex === index1 && typeIndex == 'chapter-'+itemTaskIndex+'-'+index1 && oldIndex < index1,
|
|
|
+ }">
|
|
|
<div class="chapter_upload_drag"></div>
|
|
|
<div class="chapter_upload_t" style="width: 100%"></div>
|
|
|
<div class="chapter_upload_o" style="
|
|
@@ -1255,15 +1264,33 @@
|
|
|
其他
|
|
|
</div> -->
|
|
|
</div>
|
|
|
- <div v-if="itemTool.isFold3" class="show_toolD show"
|
|
|
- @click="fold3(itemTaskIndex, toolIndex)"
|
|
|
- :style="{ right: itemTask.toolChoose.length > 1 ? '45px' : '0px' }"><img
|
|
|
- src="../../assets/icon/new/icon-slide.png" />收起工具栏</div>
|
|
|
- <div v-else class="show_toolD" @click="fold3(itemTaskIndex, toolIndex)"
|
|
|
- :style="{ right: itemTask.toolChoose.length > 1 ? '45px' : '0px' }"><img
|
|
|
- src="../../assets/icon/new/icon-slide.png" />展开工具栏</div>
|
|
|
- <div class="remove" @click="deleteTool(itemTaskIndex, toolIndex)"
|
|
|
- v-if="itemTask.toolChoose.length > 1" style="position: absolute; right: 0"></div>
|
|
|
+ <div class="chapter_upload_ud" style="z-index: 99;margin:0 0 0 auto" v-if="itemTask.toolChoose.length > 1">
|
|
|
+ <div class="chapter_upload_up" @click.stop="
|
|
|
+ upTool(
|
|
|
+ $event,
|
|
|
+ unitIndex,
|
|
|
+ itemTaskIndex,
|
|
|
+ toolIndex
|
|
|
+ )
|
|
|
+ "></div>
|
|
|
+ <div class="chapter_upload_down" @click.stop="
|
|
|
+ downTool(
|
|
|
+ $event,
|
|
|
+ unitIndex,
|
|
|
+ itemTaskIndex,
|
|
|
+ toolIndex
|
|
|
+ )
|
|
|
+ "></div>
|
|
|
+ </div>
|
|
|
+ <div v-if="itemTool.isFold3" class="show_toolD show"
|
|
|
+ @click="fold3(itemTaskIndex, toolIndex)"
|
|
|
+ :style="{ margin: itemTask.toolChoose.length > 1 ? '0px 35px 0px 10px' : '0 0 0 auto' }"><img
|
|
|
+ src="../../assets/icon/new/icon-slide.png" />收起工具栏</div>
|
|
|
+ <div v-else class="show_toolD" @click="fold3(itemTaskIndex, toolIndex)"
|
|
|
+ :style="{ margin: itemTask.toolChoose.length > 1 ? '0px 35px 0px 10px' : '0 0 0 auto' }"><img
|
|
|
+ src="../../assets/icon/new/icon-slide.png" />展开工具栏</div>
|
|
|
+ <div class="remove" @click="deleteTool(itemTaskIndex, toolIndex)"
|
|
|
+ v-if="itemTask.toolChoose.length > 1" style="position: absolute; right: 0;top:-5px;"></div>
|
|
|
</div>
|
|
|
|
|
|
<div style="min-height: 163px" v-show="itemTool.isFold3">
|
|
@@ -2357,7 +2384,7 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="mbCss">
|
|
|
- <div class="pjCss">
|
|
|
+ <div class="pjCss" :style="{width:itemTask.isEvaFold?'calc(100% - 55%)':'calc(100% - 120px)'}">
|
|
|
<div v-if="itemTask.eList && itemTask.eList.length" class="elist_input">
|
|
|
<div v-for="(eItem, eIndex) in itemTask.eList" :key="eIndex" class="elist_input_box">
|
|
|
<span>评价名称:</span>
|
|
@@ -2399,9 +2426,8 @@
|
|
|
</div>
|
|
|
<div v-if="evalua" style="
|
|
|
border: 1px solid #e5e5e5;
|
|
|
- width: 55%;
|
|
|
box-shadow: 3px 1px 15px 3px #e0e0e0;
|
|
|
- " class="evaCss">
|
|
|
+ " :style="{width:itemTask.isEvaFold?'55%':'116px'}" class="evaCss">
|
|
|
<!-- <div class="e_add_top">
|
|
|
<div class="e_add_title">
|
|
|
<span>当前使用目标管理</span>
|
|
@@ -2417,8 +2443,8 @@
|
|
|
<div class="e_add_content" style="width: 100%">
|
|
|
<div class="e_add_list_pbox" style="width: 100%">
|
|
|
<div class="e_add_list_pbox_title">
|
|
|
- <span class="type_title">切换模式</span>
|
|
|
- <div class="type_content">
|
|
|
+ <span class="type_title" v-if="itemTask.isEvaFold">切换模式</span>
|
|
|
+ <div class="type_content" v-if="itemTask.isEvaFold">
|
|
|
<span :class="{ active: typeMode == 1 }" @click="OtherMb(1, itemTaskIndex)">目标树</span>
|
|
|
<span :class="{ active: typeMode == 2 }" @click="OtherMb(2, itemTaskIndex)">目标罗盘</span>
|
|
|
<!-- <span :class="{ active: typeMode == 3 }" @click="OtherMb(3)">目标看板</span> -->
|
|
@@ -2430,7 +2456,7 @@
|
|
|
@click="foldEva(itemTaskIndex)"><img src="../../assets/icon/new/icon-slide.png" />展开目标
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div class="e_add_list_pbox_content" v-show="itemTask.isEvaFold" style="min-height: 200px;">
|
|
|
+ <div class="e_add_list_pbox_content" v-if="itemTask.isEvaFold" style="min-height: 200px;">
|
|
|
<Mind :showBar="false" :mindData="data" style="width: 100%" :jsmindId="unitIndex + '-' + itemTaskIndex + 'mind'
|
|
|
" v-if="typeMode == 1"></Mind>
|
|
|
<Sunburst :Josn="eJson" :num="eJSONNum" style="width: 100%" v-if="typeMode == 2">
|
|
@@ -3951,6 +3977,7 @@ export default {
|
|
|
oldIndex: 0,
|
|
|
oldData: null,
|
|
|
newIndex: "",
|
|
|
+ typeIndex: "",
|
|
|
};
|
|
|
},
|
|
|
directives: {
|
|
@@ -5998,6 +6025,60 @@ export default {
|
|
|
this.unitJson[i].chapterInfo[0].taskJson[taskCount].chapterData[ic] = a;
|
|
|
this.$forceUpdate();
|
|
|
},
|
|
|
+ upTool(e, i, j, tooli){
|
|
|
+ e.stopPropagation();
|
|
|
+ if (tooli == 0) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ this.$confirm(
|
|
|
+ "切换工具顺序将删除此工具的提交成果,是否继续此操作?",
|
|
|
+ "提示",
|
|
|
+ {
|
|
|
+ confirmButtonText: "确定",
|
|
|
+ cancelButtonText: "取消",
|
|
|
+ type: "warning",
|
|
|
+ }
|
|
|
+ )
|
|
|
+ .then(() => {
|
|
|
+ var a =
|
|
|
+ JSON.parse(JSON.stringify(this.unitJson[i].chapterInfo[0].taskJson[j].toolChoose[tooli - 1]));
|
|
|
+ this.unitJson[i].chapterInfo[0].taskJson[j].toolChoose[tooli - 1] =
|
|
|
+ JSON.parse(JSON.stringify(this.unitJson[i].chapterInfo[0].taskJson[j].toolChoose[tooli]));
|
|
|
+ this.unitJson[i].chapterInfo[0].taskJson[j].toolChoose[tooli] = a;
|
|
|
+ this.$forceUpdate()
|
|
|
+ })
|
|
|
+ .catch(() => {
|
|
|
+ return;
|
|
|
+ });
|
|
|
+ },
|
|
|
+ downTool(e, i, j, tooli){
|
|
|
+ e.stopPropagation();
|
|
|
+ if ( tooli ==
|
|
|
+ this.unitJson[i].chapterInfo[0].taskJson[j].toolChoose.length -
|
|
|
+ 1) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ this.$confirm(
|
|
|
+ "切换工具顺序将删除此工具的提交成果,是否继续此操作?",
|
|
|
+ "提示",
|
|
|
+ {
|
|
|
+ confirmButtonText: "确定",
|
|
|
+ cancelButtonText: "取消",
|
|
|
+ type: "warning",
|
|
|
+ }
|
|
|
+ )
|
|
|
+ .then(() => {
|
|
|
+ var a =
|
|
|
+ JSON.parse(JSON.stringify(this.unitJson[i].chapterInfo[0].taskJson[j].toolChoose[tooli + 1]));
|
|
|
+ this.unitJson[i].chapterInfo[0].taskJson[j].toolChoose[tooli + 1] =
|
|
|
+ JSON.parse(JSON.stringify(this.unitJson[i].chapterInfo[0].taskJson[j].toolChoose[tooli]));
|
|
|
+ this.unitJson[i].chapterInfo[0].taskJson[j].toolChoose[tooli] = a;
|
|
|
+ this.$forceUpdate()
|
|
|
+ })
|
|
|
+ .catch(() => {
|
|
|
+ return;
|
|
|
+ });
|
|
|
+ },
|
|
|
addWork() {
|
|
|
let cPan = 1;
|
|
|
for (var i = 0; i < this.unitJson.length; i++) {
|
|
@@ -9168,7 +9249,8 @@ export default {
|
|
|
this.oldIndex = i;
|
|
|
this.oldData = val;
|
|
|
},
|
|
|
- dragOver(i) {
|
|
|
+ dragOver(i, j) {
|
|
|
+ this.typeIndex = "chapter-" + j + '-' + i
|
|
|
this.newIndex = i;
|
|
|
},
|
|
|
dragEnd() {
|
|
@@ -9180,6 +9262,7 @@ export default {
|
|
|
// 在列表中目标位置增加新的节点
|
|
|
newItems.splice(this.newIndex, 0, this.oldData);
|
|
|
this.unitJson[this.unitIndex].chapterInfo[0].taskJson[this.taskCount].chapterData = [...newItems];
|
|
|
+ this.typeIndex = "";
|
|
|
this.newIndex = "";
|
|
|
this.$forceUpdate()
|
|
|
},
|
|
@@ -9188,10 +9271,13 @@ export default {
|
|
|
this.oldData = val;
|
|
|
},
|
|
|
dragTaskOver(i) {
|
|
|
+ this.typeIndex = "task-" + i
|
|
|
this.newIndex = i;
|
|
|
},
|
|
|
dragTaskEnd() {
|
|
|
if(this.newIndex == this.oldIndex){
|
|
|
+ this.newIndex = "";
|
|
|
+ this.typeIndex = "";
|
|
|
return;
|
|
|
}
|
|
|
this.$confirm(
|
|
@@ -9210,11 +9296,13 @@ export default {
|
|
|
// 在列表中目标位置增加新的节点
|
|
|
newItems.splice(this.newIndex, 0, this.oldData);
|
|
|
this.unitJson[this.unitIndex].chapterInfo[0].taskJson = [...newItems];
|
|
|
+ this.typeIndex = "";
|
|
|
this.newIndex = "";
|
|
|
this.$forceUpdate()
|
|
|
})
|
|
|
.catch(() => {
|
|
|
this.newIndex = "";
|
|
|
+ this.typeIndex = "";
|
|
|
return;
|
|
|
});
|
|
|
},
|
|
@@ -9270,6 +9358,7 @@ export default {
|
|
|
|
|
|
.evaCss {
|
|
|
width: 100% !important;
|
|
|
+ margin-top: 10px;
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -9750,9 +9839,9 @@ export default {
|
|
|
font-size: 14px;
|
|
|
cursor: pointer;
|
|
|
color: #717C8D;
|
|
|
- position: absolute;
|
|
|
+ /* position: absolute;
|
|
|
right: 45px;
|
|
|
- top: 5px;
|
|
|
+ top: 5px; */
|
|
|
}
|
|
|
|
|
|
.show_toolD>img {
|
|
@@ -11342,7 +11431,7 @@ ol {
|
|
|
background: #fff;
|
|
|
width: 100%;
|
|
|
height: 60px;
|
|
|
- z-index: 9999;
|
|
|
+ z-index: 999;
|
|
|
}
|
|
|
|
|
|
.fold {
|
|
@@ -11477,8 +11566,8 @@ ol {
|
|
|
.elist_input .elist_input_box input {
|
|
|
font: inherit;
|
|
|
color: currentColor;
|
|
|
- /* width: 200px; */
|
|
|
- max-width: 200px;
|
|
|
+ width: 100%;
|
|
|
+ max-width: calc(100% - 385px);
|
|
|
padding: 8px 14px;
|
|
|
display: block;
|
|
|
min-width: 0;
|
|
@@ -12489,6 +12578,27 @@ ol {
|
|
|
background-image: url(../../assets/icon/new/icon_arrow_a.png) !important;
|
|
|
}
|
|
|
|
|
|
+.dragOverTop {
|
|
|
+ border-top: 2px solid #0061FF !important;
|
|
|
+ border-radius: 0 !important;
|
|
|
+ margin-top: 10px;
|
|
|
+}
|
|
|
+
|
|
|
+.dragOverBottom {
|
|
|
+ border-bottom: 2px solid #0061FF !important;
|
|
|
+ border-radius: 0 !important;
|
|
|
+ margin-top: 10px;
|
|
|
+}
|
|
|
+
|
|
|
+.dragOverTop2 {
|
|
|
+ border-top: 2px solid #0061FF !important;
|
|
|
+ border-radius: 0 !important;
|
|
|
+}
|
|
|
+
|
|
|
+.dragOverBottom2 {
|
|
|
+ border-bottom: 2px solid #0061FF !important;
|
|
|
+ border-radius: 0 !important;
|
|
|
+}
|
|
|
.isNavTask {
|
|
|
/* background: #3681FC; */
|
|
|
background: #EEF3FB;
|
|
@@ -13031,7 +13141,9 @@ ol {
|
|
|
align-items: flex-start;
|
|
|
align-content: flex-start;
|
|
|
}
|
|
|
-
|
|
|
+.class_item:first-child {
|
|
|
+ margin: 0 15px 15px 67px;
|
|
|
+}
|
|
|
.class_item {
|
|
|
margin: 0 15px 15px 0;
|
|
|
|