|
@@ -148,16 +148,18 @@
|
|
</div> -->
|
|
</div> -->
|
|
<div class="c_info_title" style="padding: 0 0 15px;margin: 0 auto 0 0;">上传封面</div>
|
|
<div class="c_info_title" style="padding: 0 0 15px;margin: 0 auto 0 0;">上传封面</div>
|
|
<div style="width: 100%;">
|
|
<div style="width: 100%;">
|
|
- <div class="uploadFm" @click="choosePicVisible = true" v-if="cover.length == 0">
|
|
|
|
- <img src="../../assets/icon/addPoster.png" alt="" />
|
|
|
|
- <div>点击添加封面</div>
|
|
|
|
|
|
+ <div class="uploadFm" @click="choosePicVisible = true" :class="{uploadFm2:cover.length}">
|
|
|
|
+ <img src="../../assets/icon/addPoster.png" alt="" v-if="cover.length == 0"/>
|
|
|
|
+ <img :src="cover[0].url" alt="" class="cover_p" v-else/>
|
|
|
|
+ <div v-if="cover.length == 0">点击添加封面</div>
|
|
|
|
+ <div class="cover_mask"><img src="../../assets/icon/new/cover_update.png" /><span style="margin-top:5px;">修改封面</span></div>
|
|
</div>
|
|
</div>
|
|
- <el-upload :class="{ disUoloadSty: noneBtnImg }" class="upCss" action="#" list-type="picture"
|
|
|
|
|
|
+ <!-- <el-upload :class="{ disUoloadSty: noneBtnImg }" class="upCss" action="#" list-type="picture"
|
|
v-loading="uploadLoading1" :http-request="beforeUpload1" ref="upload1"
|
|
v-loading="uploadLoading1" :http-request="beforeUpload1" ref="upload1"
|
|
:on-preview="handlePictureCardPreview" :on-remove="handle_remove1" :show-file-list="true"
|
|
:on-preview="handlePictureCardPreview" :on-remove="handle_remove1" :show-file-list="true"
|
|
:file-list="cover" accept="image/*" :limit="1" :on-exceed="onExceed" v-else>
|
|
:file-list="cover" accept="image/*" :limit="1" :on-exceed="onExceed" v-else>
|
|
<i class="el-icon-plus"></i>
|
|
<i class="el-icon-plus"></i>
|
|
- </el-upload>
|
|
|
|
|
|
+ </el-upload> -->
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@@ -493,7 +495,10 @@
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div v-for="(t, tIndex) in unitJson[unitIndex].chapterInfo[0]
|
|
<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)"
|
|
<div @dragstart="dragTaskStart(t, tIndex)" @dragover.prevent="dragTaskOver(tIndex)"
|
|
@dragend="dragTaskEnd()" draggable @click="goToTask(tIndex)" class="navTask" :class="{
|
|
@dragend="dragTaskEnd()" draggable @click="goToTask(tIndex)" class="navTask" :class="{
|
|
isNavTask:
|
|
isNavTask:
|
|
@@ -705,7 +710,7 @@
|
|
itemTask.chapterData.length == 0
|
|
itemTask.chapterData.length == 0
|
|
"><img src="../../assets/icon/new/c_none.png" alt /><span>请添加学习内容</span></div>
|
|
"><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 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"
|
|
@dragend="dragEnd()" draggable class="chapter_upload"
|
|
v-for="(item1, index1) in itemTask.chapterData" :key="item1.id" @click="
|
|
v-for="(item1, index1) in itemTask.chapterData" :key="item1.id" @click="
|
|
getChapterData(
|
|
getChapterData(
|
|
@@ -715,7 +720,10 @@
|
|
index1,
|
|
index1,
|
|
item1.type
|
|
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_drag"></div>
|
|
<div class="chapter_upload_o" style="
|
|
<div class="chapter_upload_o" style="
|
|
position: relative;
|
|
position: relative;
|
|
@@ -918,7 +926,7 @@
|
|
itemTask.chapterData.length == 0
|
|
itemTask.chapterData.length == 0
|
|
"><img src="../../assets/icon/new/c_none.png" alt /></div>
|
|
"><img src="../../assets/icon/new/c_none.png" alt /></div>
|
|
<div v-else class="add_chapters_box" style="display: flex; flex-direction: column">
|
|
<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"
|
|
@dragend="dragEnd()" draggable class="chapter_upload"
|
|
v-for="(item1, index1) in itemTask.chapterData" :key="item1.id" @click="
|
|
v-for="(item1, index1) in itemTask.chapterData" :key="item1.id" @click="
|
|
getChapterData(
|
|
getChapterData(
|
|
@@ -928,7 +936,10 @@
|
|
index1,
|
|
index1,
|
|
item1.type
|
|
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_drag"></div>
|
|
<div class="chapter_upload_t" style="width: 100%"></div>
|
|
<div class="chapter_upload_t" style="width: 100%"></div>
|
|
<div class="chapter_upload_o" style="
|
|
<div class="chapter_upload_o" style="
|
|
@@ -1253,15 +1264,33 @@
|
|
其他
|
|
其他
|
|
</div> -->
|
|
</div> -->
|
|
</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_ud2" style="z-index: 99;margin:0 0 0 auto" v-if="itemTask.toolChoose.length > 1">
|
|
|
|
+ <div class="chapter_upload_up2" @click.stop="
|
|
|
|
+ upTool(
|
|
|
|
+ $event,
|
|
|
|
+ unitIndex,
|
|
|
|
+ itemTaskIndex,
|
|
|
|
+ toolIndex
|
|
|
|
+ )
|
|
|
|
+ ">上移</div>
|
|
|
|
+ <div class="chapter_upload_down2" @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>
|
|
|
|
|
|
<div style="min-height: 163px" v-show="itemTool.isFold3">
|
|
<div style="min-height: 163px" v-show="itemTool.isFold3">
|
|
@@ -2372,7 +2401,7 @@
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="mbCss">
|
|
<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-if="itemTask.eList && itemTask.eList.length" class="elist_input">
|
|
<div v-for="(eItem, eIndex) in itemTask.eList" :key="eIndex" class="elist_input_box">
|
|
<div v-for="(eItem, eIndex) in itemTask.eList" :key="eIndex" class="elist_input_box">
|
|
<span>评价名称:</span>
|
|
<span>评价名称:</span>
|
|
@@ -2414,9 +2443,8 @@
|
|
</div>
|
|
</div>
|
|
<div v-if="evalua" style="
|
|
<div v-if="evalua" style="
|
|
border: 1px solid #e5e5e5;
|
|
border: 1px solid #e5e5e5;
|
|
- width: 55%;
|
|
|
|
box-shadow: 3px 1px 15px 3px #e0e0e0;
|
|
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_top">
|
|
<div class="e_add_title">
|
|
<div class="e_add_title">
|
|
<span>当前使用目标管理</span>
|
|
<span>当前使用目标管理</span>
|
|
@@ -2432,14 +2460,20 @@
|
|
<div class="e_add_content" style="width: 100%">
|
|
<div class="e_add_content" style="width: 100%">
|
|
<div class="e_add_list_pbox" style="width: 100%">
|
|
<div class="e_add_list_pbox" style="width: 100%">
|
|
<div class="e_add_list_pbox_title">
|
|
<div class="e_add_list_pbox_title">
|
|
- <span class="type_title">切换模式</span>
|
|
|
|
- <div class="type_content">
|
|
|
|
- <span :class="{ active: typeMode == 1 }" @click="OtherMb(1)">目标树</span>
|
|
|
|
- <span :class="{ active: typeMode == 2 }" @click="OtherMb(2)">目标罗盘</span>
|
|
|
|
|
|
+ <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> -->
|
|
<!-- <span :class="{ active: typeMode == 3 }" @click="OtherMb(3)">目标看板</span> -->
|
|
</div>
|
|
</div>
|
|
|
|
+ <div v-if="itemTask.isEvaFold"
|
|
|
|
+ class="show_taskD show" style="margin:0 0 0 auto" @click="foldEva(itemTaskIndex)"><img
|
|
|
|
+ src="../../assets/icon/new/icon-slide.png" />收起目标</div>
|
|
|
|
+ <div v-else style="margin:0 0 0 auto" class="show_taskD"
|
|
|
|
+ @click="foldEva(itemTaskIndex)"><img src="../../assets/icon/new/icon-slide.png" />展开目标
|
|
|
|
+ </div>
|
|
</div>
|
|
</div>
|
|
- <div class="e_add_list_pbox_content">
|
|
|
|
|
|
+ <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'
|
|
<Mind :showBar="false" :mindData="data" style="width: 100%" :jsmindId="unitIndex + '-' + itemTaskIndex + 'mind'
|
|
" v-if="typeMode == 1"></Mind>
|
|
" v-if="typeMode == 1"></Mind>
|
|
<Sunburst :Josn="eJson" :num="eJSONNum" style="width: 100%" v-if="typeMode == 2">
|
|
<Sunburst :Josn="eJson" :num="eJSONNum" style="width: 100%" v-if="typeMode == 2">
|
|
@@ -2676,8 +2710,10 @@
|
|
<div class="check_class_left">
|
|
<div class="check_class_left">
|
|
<div class="check_class_all_box">
|
|
<div class="check_class_all_box">
|
|
<div class="check_class_left_title">选择班级</div>
|
|
<div class="check_class_left_title">选择班级</div>
|
|
- <div style="display:flex;align-items:center;"><el-checkbox v-model="checkAll"
|
|
|
|
- @change="handleCheckAllChange" class="all_check">全选</el-checkbox></div>
|
|
|
|
|
|
+ <div style="display:flex;align-items:center;"></div>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="class_item" style="position:absolute; margin:0" v-if="grade2.length">
|
|
|
|
+ <el-checkbox v-model="checkAll" @change="handleCheckAllChange">全选</el-checkbox>
|
|
</div>
|
|
</div>
|
|
<el-checkbox-group v-model="checkboxList2" class="check_class_item" @change="InviteChange" v-if="grade2.length">
|
|
<el-checkbox-group v-model="checkboxList2" class="check_class_item" @change="InviteChange" v-if="grade2.length">
|
|
<div v-for="item in grade2" :key="item.id" class="class_item">
|
|
<div v-for="item in grade2" :key="item.id" class="class_item">
|
|
@@ -3568,7 +3604,7 @@
|
|
position: relative;
|
|
position: relative;
|
|
">
|
|
">
|
|
<div class="e_box">
|
|
<div class="e_box">
|
|
- <div class="e_card" v-for="(item, index) in evaJuri" :key="index">
|
|
|
|
|
|
+ <!-- <div class="e_card" v-for="(item, index) in evaJuri" :key="index">
|
|
<div class="e_card_picture">
|
|
<div class="e_card_picture">
|
|
<img src="../../assets/e_picture.png" />
|
|
<img src="../../assets/e_picture.png" />
|
|
</div>
|
|
</div>
|
|
@@ -3578,10 +3614,48 @@
|
|
<div class="e_card_btn">
|
|
<div class="e_card_btn">
|
|
<span @click="checkEva(item.id, 2)">导入</span>
|
|
<span @click="checkEva(item.id, 2)">导入</span>
|
|
</div>
|
|
</div>
|
|
- </div>
|
|
|
|
- <div class="addEva" @click="openT">
|
|
|
|
|
|
+ </div> -->
|
|
|
|
+ <!-- <div class="addEva" @click="openT">
|
|
<img src="../../assets/icon/addEva.png" alt="" />
|
|
<img src="../../assets/icon/addEva.png" alt="" />
|
|
- </div>
|
|
|
|
|
|
+ </div> -->
|
|
|
|
+ <div style="display:flex;justify-content: flex-end;margin-bottom: 10px;"><el-button @click="openT" type="primary" size="small">添加目标</el-button></div>
|
|
|
|
+ <el-table
|
|
|
|
+ v-if="evaJuri.length"
|
|
|
|
+ ref="table"
|
|
|
|
+ :data="evaJuri"
|
|
|
|
+ border
|
|
|
|
+ :fit="true"
|
|
|
|
+ style="width: 100%"
|
|
|
|
+ :header-cell-style="{ background: '#f1f1f1', fontSize: '17px' }"
|
|
|
|
+ :row-class-name="tableRowClassName"
|
|
|
|
+ >
|
|
|
|
+ <el-table-column
|
|
|
|
+ label="目标名称"
|
|
|
|
+ min-width="15"
|
|
|
|
+ align="center"
|
|
|
|
+ prop="title"
|
|
|
|
+ >
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column
|
|
|
|
+ prop="username"
|
|
|
|
+ label="负责人"
|
|
|
|
+ min-width="15"
|
|
|
|
+ align="center"
|
|
|
|
+ >
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column label="操作" width="250px">
|
|
|
|
+ <template slot-scope="scope">
|
|
|
|
+ <div class="btnBox">
|
|
|
|
+ <el-button
|
|
|
|
+ type="primary"
|
|
|
|
+ size="small"
|
|
|
|
+ @click="checkEva(scope.row.id, 2)"
|
|
|
|
+ >导入</el-button
|
|
|
|
+ >
|
|
|
|
+ </div>
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
|
|
+ </el-table>
|
|
<div v-if="evaJuri.length === 0" style="margin: 0 auto; color: #6e6e6e">
|
|
<div v-if="evaJuri.length === 0" style="margin: 0 auto; color: #6e6e6e">
|
|
暂无数据
|
|
暂无数据
|
|
</div>
|
|
</div>
|
|
@@ -3932,6 +4006,7 @@ export default {
|
|
oldData: null,
|
|
oldData: null,
|
|
newIndex: "",
|
|
newIndex: "",
|
|
englishList:{},
|
|
englishList:{},
|
|
|
|
+ typeIndex: "",
|
|
};
|
|
};
|
|
},
|
|
},
|
|
directives: {
|
|
directives: {
|
|
@@ -4195,6 +4270,13 @@ export default {
|
|
},
|
|
},
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
|
|
+ tableRowClassName({ row, rowIndex }) {
|
|
|
|
+ if ((rowIndex + 1) % 2 === 0) {
|
|
|
|
+ return "even_row";
|
|
|
|
+ } else {
|
|
|
|
+ return "";
|
|
|
|
+ }
|
|
|
|
+ },
|
|
openAI() {
|
|
openAI() {
|
|
window.parent.postMessage({ tools: "64" }, "*");
|
|
window.parent.postMessage({ tools: "64" }, "*");
|
|
},
|
|
},
|
|
@@ -5792,6 +5874,18 @@ export default {
|
|
}
|
|
}
|
|
this.$forceUpdate();
|
|
this.$forceUpdate();
|
|
},
|
|
},
|
|
|
|
+ foldEva(i) {
|
|
|
|
+ if (this.unitJson[this.unitIndex].chapterInfo[0].taskJson[i].isEvaFold) {
|
|
|
|
+ this.unitJson[this.unitIndex].chapterInfo[0].taskJson[i].isEvaFold = false;
|
|
|
|
+ } else {
|
|
|
|
+ this.unitJson[this.unitIndex].chapterInfo[0].taskJson[i].isEvaFold = true;
|
|
|
|
+ setTimeout(() => {
|
|
|
|
+ this.checkEva(this.checkId);
|
|
|
|
+ }, 0);
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ this.$forceUpdate();
|
|
|
|
+ },
|
|
foldC(i) {
|
|
foldC(i) {
|
|
if (this.unitJson[this.unitIndex].chapterInfo[0].taskJson[i].isFoldchapter) {
|
|
if (this.unitJson[this.unitIndex].chapterInfo[0].taskJson[i].isFoldchapter) {
|
|
this.unitJson[this.unitIndex].chapterInfo[0].taskJson[i].isFoldchapter = false;
|
|
this.unitJson[this.unitIndex].chapterInfo[0].taskJson[i].isFoldchapter = false;
|
|
@@ -5990,6 +6084,60 @@ export default {
|
|
this.unitJson[i].chapterInfo[0].taskJson[taskCount].chapterData[ic] = a;
|
|
this.unitJson[i].chapterInfo[0].taskJson[taskCount].chapterData[ic] = a;
|
|
this.$forceUpdate();
|
|
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() {
|
|
addWork() {
|
|
let cPan = 1;
|
|
let cPan = 1;
|
|
for (var i = 0; i < this.unitJson.length; i++) {
|
|
for (var i = 0; i < this.unitJson.length; i++) {
|
|
@@ -8395,7 +8543,10 @@ export default {
|
|
console.error(err);
|
|
console.error(err);
|
|
});
|
|
});
|
|
},
|
|
},
|
|
- OtherMb(type) {
|
|
|
|
|
|
+ OtherMb(type, task) {
|
|
|
|
+ if(task === 0 || task){
|
|
|
|
+ this.unitJson[this.unitIndex].chapterInfo[0].taskJson[task].isEvaFold = true;
|
|
|
|
+ }
|
|
this.typeMode = type;
|
|
this.typeMode = type;
|
|
setTimeout(() => {
|
|
setTimeout(() => {
|
|
this.checkEva(this.checkId);
|
|
this.checkEva(this.checkId);
|
|
@@ -9165,10 +9316,13 @@ export default {
|
|
this.toolIndexType = `gj${i}${j}`
|
|
this.toolIndexType = `gj${i}${j}`
|
|
let target = document.querySelector(`#gj${i}${j}`);
|
|
let target = document.querySelector(`#gj${i}${j}`);
|
|
if (target) {
|
|
if (target) {
|
|
- target.scrollIntoView(true);
|
|
|
|
- this.unitJson[this.unitIndex].chapterInfo[0].taskJson[i].toolChoose[j].isFold3 = true
|
|
|
|
|
|
+ this.unitJson[this.unitIndex].chapterInfo[0].taskJson[i].isFold = 0;
|
|
setTimeout(() => {
|
|
setTimeout(() => {
|
|
- this.$refs.unitBox.scrollTop = this.$refs.unitBox.scrollTop - 100;
|
|
|
|
|
|
+ target.scrollIntoView(true);
|
|
|
|
+ this.unitJson[this.unitIndex].chapterInfo[0].taskJson[i].toolChoose[j].isFold3 = true
|
|
|
|
+ setTimeout(() => {
|
|
|
|
+ this.$refs.unitBox.scrollTop = this.$refs.unitBox.scrollTop - 100;
|
|
|
|
+ }, 0);
|
|
}, 0);
|
|
}, 0);
|
|
}
|
|
}
|
|
},
|
|
},
|
|
@@ -9179,7 +9333,8 @@ export default {
|
|
this.oldIndex = i;
|
|
this.oldIndex = i;
|
|
this.oldData = val;
|
|
this.oldData = val;
|
|
},
|
|
},
|
|
- dragOver(i) {
|
|
|
|
|
|
+ dragOver(i, j) {
|
|
|
|
+ this.typeIndex = "chapter-" + j + '-' + i
|
|
this.newIndex = i;
|
|
this.newIndex = i;
|
|
},
|
|
},
|
|
dragEnd() {
|
|
dragEnd() {
|
|
@@ -9191,6 +9346,7 @@ export default {
|
|
// 在列表中目标位置增加新的节点
|
|
// 在列表中目标位置增加新的节点
|
|
newItems.splice(this.newIndex, 0, this.oldData);
|
|
newItems.splice(this.newIndex, 0, this.oldData);
|
|
this.unitJson[this.unitIndex].chapterInfo[0].taskJson[this.taskCount].chapterData = [...newItems];
|
|
this.unitJson[this.unitIndex].chapterInfo[0].taskJson[this.taskCount].chapterData = [...newItems];
|
|
|
|
+ this.typeIndex = "";
|
|
this.newIndex = "";
|
|
this.newIndex = "";
|
|
this.$forceUpdate()
|
|
this.$forceUpdate()
|
|
},
|
|
},
|
|
@@ -9199,10 +9355,13 @@ export default {
|
|
this.oldData = val;
|
|
this.oldData = val;
|
|
},
|
|
},
|
|
dragTaskOver(i) {
|
|
dragTaskOver(i) {
|
|
|
|
+ this.typeIndex = "task-" + i
|
|
this.newIndex = i;
|
|
this.newIndex = i;
|
|
},
|
|
},
|
|
dragTaskEnd() {
|
|
dragTaskEnd() {
|
|
if(this.newIndex == this.oldIndex){
|
|
if(this.newIndex == this.oldIndex){
|
|
|
|
+ this.newIndex = "";
|
|
|
|
+ this.typeIndex = "";
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
this.$confirm(
|
|
this.$confirm(
|
|
@@ -9221,11 +9380,13 @@ export default {
|
|
// 在列表中目标位置增加新的节点
|
|
// 在列表中目标位置增加新的节点
|
|
newItems.splice(this.newIndex, 0, this.oldData);
|
|
newItems.splice(this.newIndex, 0, this.oldData);
|
|
this.unitJson[this.unitIndex].chapterInfo[0].taskJson = [...newItems];
|
|
this.unitJson[this.unitIndex].chapterInfo[0].taskJson = [...newItems];
|
|
|
|
+ this.typeIndex = "";
|
|
this.newIndex = "";
|
|
this.newIndex = "";
|
|
this.$forceUpdate()
|
|
this.$forceUpdate()
|
|
})
|
|
})
|
|
.catch(() => {
|
|
.catch(() => {
|
|
this.newIndex = "";
|
|
this.newIndex = "";
|
|
|
|
+ this.typeIndex = "";
|
|
return;
|
|
return;
|
|
});
|
|
});
|
|
},
|
|
},
|
|
@@ -9281,9 +9442,14 @@ export default {
|
|
|
|
|
|
.evaCss {
|
|
.evaCss {
|
|
width: 100% !important;
|
|
width: 100% !important;
|
|
|
|
+ margin-top: 10px;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+.el-table >>> .even_row {
|
|
|
|
+ background-color: #f1f1f1 !important;
|
|
|
|
+}
|
|
|
|
+
|
|
.dialog_diy>>>.el-dialog__header {
|
|
.dialog_diy>>>.el-dialog__header {
|
|
background: #3c3c3c !important;
|
|
background: #3c3c3c !important;
|
|
padding: 15px 20px;
|
|
padding: 15px 20px;
|
|
@@ -9757,9 +9923,9 @@ export default {
|
|
font-size: 14px;
|
|
font-size: 14px;
|
|
cursor: pointer;
|
|
cursor: pointer;
|
|
color: #717C8D;
|
|
color: #717C8D;
|
|
- position: absolute;
|
|
|
|
|
|
+ /* position: absolute;
|
|
right: 45px;
|
|
right: 45px;
|
|
- top: 5px;
|
|
|
|
|
|
+ top: 5px; */
|
|
}
|
|
}
|
|
|
|
|
|
.show_toolD>img {
|
|
.show_toolD>img {
|
|
@@ -10492,6 +10658,48 @@ export default {
|
|
margin-bottom: 5px;
|
|
margin-bottom: 5px;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+.chapter_upload_ud2 {
|
|
|
|
+ display: flex;
|
|
|
|
+ flex-direction: row;
|
|
|
|
+ justify-content: center;
|
|
|
|
+ margin: 0 10px 0 0;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+.chapter_upload_ud2>.chapter_upload_up2 {
|
|
|
|
+ margin-bottom: 0;
|
|
|
|
+ margin-right: 10px;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+.chapter_upload_down2,
|
|
|
|
+.chapter_upload_up2 {
|
|
|
|
+ cursor: pointer;
|
|
|
|
+ margin: 0 auto;
|
|
|
|
+ border-radius: 5px;
|
|
|
|
+ display: flex;
|
|
|
|
+ justify-content: center;
|
|
|
|
+ align-items: center;
|
|
|
|
+ color: #717C8D;
|
|
|
|
+ font-size: 14px;
|
|
|
|
+}
|
|
|
|
+.chapter_upload_up2{
|
|
|
|
+ margin-right:10px;
|
|
|
|
+}
|
|
|
|
+.chapter_upload_up2::before,
|
|
|
|
+.chapter_upload_down2::before {
|
|
|
|
+ content: '';
|
|
|
|
+ background-image: url('../../assets/icon/new/c_up.png');
|
|
|
|
+ width: 14px;
|
|
|
|
+ height: 14px;
|
|
|
|
+ background-size: 100% 100%;
|
|
|
|
+ display: block;
|
|
|
|
+ margin-right: 5px;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+.chapter_upload_up2::before {
|
|
|
|
+ background-image: url('../../assets/icon/new/c_down.png') !important;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
|
|
.addWordStyle {
|
|
.addWordStyle {
|
|
display: flex;
|
|
display: flex;
|
|
@@ -11349,7 +11557,7 @@ ol {
|
|
background: #fff;
|
|
background: #fff;
|
|
width: 100%;
|
|
width: 100%;
|
|
height: 60px;
|
|
height: 60px;
|
|
- z-index: 9999;
|
|
|
|
|
|
+ z-index: 999;
|
|
}
|
|
}
|
|
|
|
|
|
.fold {
|
|
.fold {
|
|
@@ -11484,8 +11692,8 @@ ol {
|
|
.elist_input .elist_input_box input {
|
|
.elist_input .elist_input_box input {
|
|
font: inherit;
|
|
font: inherit;
|
|
color: currentColor;
|
|
color: currentColor;
|
|
- /* width: 200px; */
|
|
|
|
- max-width: 200px;
|
|
|
|
|
|
+ width: 100%;
|
|
|
|
+ max-width: calc(100% - 385px);
|
|
padding: 8px 14px;
|
|
padding: 8px 14px;
|
|
display: block;
|
|
display: block;
|
|
min-width: 0;
|
|
min-width: 0;
|
|
@@ -11840,11 +12048,12 @@ ol {
|
|
}
|
|
}
|
|
|
|
|
|
.e_box {
|
|
.e_box {
|
|
- display: flex;
|
|
|
|
|
|
+ /* display: flex; */
|
|
flex-wrap: wrap;
|
|
flex-wrap: wrap;
|
|
max-height: 500px;
|
|
max-height: 500px;
|
|
align-items: flex-start;
|
|
align-items: flex-start;
|
|
overflow: auto;
|
|
overflow: auto;
|
|
|
|
+ width:100%;
|
|
}
|
|
}
|
|
|
|
|
|
.e_card {
|
|
.e_card {
|
|
@@ -11938,6 +12147,37 @@ ol {
|
|
align-items: center;
|
|
align-items: center;
|
|
font-size: 14px;
|
|
font-size: 14px;
|
|
color: #6e6e6e;
|
|
color: #6e6e6e;
|
|
|
|
+ position:relative;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+.cover_p{
|
|
|
|
+ width: 100% !important;
|
|
|
|
+ height: 100%;
|
|
|
|
+ object-fit: cover;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+.uploadFm2:hover .cover_mask{
|
|
|
|
+ display: flex !important;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+.cover_mask{
|
|
|
|
+ display:none;
|
|
|
|
+ width:100%;
|
|
|
|
+ height:100%;
|
|
|
|
+ position:absolute;
|
|
|
|
+ background:#00000054;
|
|
|
|
+ align-items: center;
|
|
|
|
+ justify-content: center;
|
|
|
|
+ flex-direction: column;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+.cover_mask > img{
|
|
|
|
+ width: 30px;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+.cover_mask > span{
|
|
|
|
+ color: #fff;
|
|
|
|
+ font-size: 12px;
|
|
}
|
|
}
|
|
|
|
|
|
.uploadFm>img {
|
|
.uploadFm>img {
|
|
@@ -12464,6 +12704,27 @@ ol {
|
|
background-image: url(../../assets/icon/new/icon_arrow_a.png) !important;
|
|
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 {
|
|
.isNavTask {
|
|
/* background: #3681FC; */
|
|
/* background: #3681FC; */
|
|
background: #EEF3FB;
|
|
background: #EEF3FB;
|
|
@@ -12995,7 +13256,6 @@ ol {
|
|
.check_class_left_title {
|
|
.check_class_left_title {
|
|
font-size: 16px;
|
|
font-size: 16px;
|
|
font-weight: 700;
|
|
font-weight: 700;
|
|
- margin-bottom: 10px;
|
|
|
|
}
|
|
}
|
|
|
|
|
|
.check_class_item {
|
|
.check_class_item {
|
|
@@ -13007,7 +13267,9 @@ ol {
|
|
align-items: flex-start;
|
|
align-items: flex-start;
|
|
align-content: flex-start;
|
|
align-content: flex-start;
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+.class_item:first-child {
|
|
|
|
+ margin: 0 15px 15px 67px;
|
|
|
|
+}
|
|
.class_item {
|
|
.class_item {
|
|
margin: 0 15px 15px 0;
|
|
margin: 0 15px 15px 0;
|
|
|
|
|