|
@@ -148,16 +148,18 @@
|
|
|
</div> -->
|
|
|
<div class="c_info_title" style="padding: 0 0 15px;margin: 0 auto 0 0;">上传封面</div>
|
|
|
<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>
|
|
|
- <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"
|
|
|
:on-preview="handlePictureCardPreview" :on-remove="handle_remove1" :show-file-list="true"
|
|
|
:file-list="cover" accept="image/*" :limit="1" :on-exceed="onExceed" v-else>
|
|
|
<i class="el-icon-plus"></i>
|
|
|
- </el-upload>
|
|
|
+ </el-upload> -->
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -2417,12 +2419,18 @@
|
|
|
<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="{ 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> -->
|
|
|
</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 class="e_add_list_pbox_content">
|
|
|
+ <div class="e_add_list_pbox_content" v-show="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">
|
|
@@ -2659,8 +2667,10 @@
|
|
|
<div class="check_class_left">
|
|
|
<div class="check_class_all_box">
|
|
|
<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>
|
|
|
<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">
|
|
@@ -3551,7 +3561,7 @@
|
|
|
position: relative;
|
|
|
">
|
|
|
<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">
|
|
|
<img src="../../assets/e_picture.png" />
|
|
|
</div>
|
|
@@ -3561,10 +3571,48 @@
|
|
|
<div class="e_card_btn">
|
|
|
<span @click="checkEva(item.id, 2)">导入</span>
|
|
|
</div>
|
|
|
- </div>
|
|
|
- <div class="addEva" @click="openT">
|
|
|
+ </div> -->
|
|
|
+ <!-- <div class="addEva" @click="openT">
|
|
|
<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>
|
|
@@ -4166,6 +4214,13 @@ export default {
|
|
|
},
|
|
|
},
|
|
|
methods: {
|
|
|
+ tableRowClassName({ row, rowIndex }) {
|
|
|
+ if ((rowIndex + 1) % 2 === 0) {
|
|
|
+ return "even_row";
|
|
|
+ } else {
|
|
|
+ return "";
|
|
|
+ }
|
|
|
+ },
|
|
|
openAI() {
|
|
|
window.parent.postMessage({ tools: "64" }, "*");
|
|
|
},
|
|
@@ -5733,6 +5788,18 @@ export default {
|
|
|
}
|
|
|
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) {
|
|
|
if (this.unitJson[this.unitIndex].chapterInfo[0].taskJson[i].isFoldchapter) {
|
|
|
this.unitJson[this.unitIndex].chapterInfo[0].taskJson[i].isFoldchapter = false;
|
|
@@ -8311,7 +8378,10 @@ export default {
|
|
|
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;
|
|
|
setTimeout(() => {
|
|
|
this.checkEva(this.checkId);
|
|
@@ -9081,10 +9151,13 @@ export default {
|
|
|
this.toolIndexType = `gj${i}${j}`
|
|
|
let target = document.querySelector(`#gj${i}${j}`);
|
|
|
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(() => {
|
|
|
- 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);
|
|
|
}
|
|
|
},
|
|
@@ -9200,6 +9273,10 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+.el-table >>> .even_row {
|
|
|
+ background-color: #f1f1f1 !important;
|
|
|
+}
|
|
|
+
|
|
|
.dialog_diy>>>.el-dialog__header {
|
|
|
background: #3c3c3c !important;
|
|
|
padding: 15px 20px;
|
|
@@ -11756,11 +11833,12 @@ ol {
|
|
|
}
|
|
|
|
|
|
.e_box {
|
|
|
- display: flex;
|
|
|
+ /* display: flex; */
|
|
|
flex-wrap: wrap;
|
|
|
max-height: 500px;
|
|
|
align-items: flex-start;
|
|
|
overflow: auto;
|
|
|
+ width:100%;
|
|
|
}
|
|
|
|
|
|
.e_card {
|
|
@@ -11854,6 +11932,37 @@ ol {
|
|
|
align-items: center;
|
|
|
font-size: 14px;
|
|
|
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 {
|
|
@@ -12911,7 +13020,6 @@ ol {
|
|
|
.check_class_left_title {
|
|
|
font-size: 16px;
|
|
|
font-weight: 700;
|
|
|
- margin-bottom: 10px;
|
|
|
}
|
|
|
|
|
|
.check_class_item {
|