lsc 1 anno fa
parent
commit
83e290eb4e

+ 1 - 1
dist/index.html

@@ -25,7 +25,7 @@
       height: 100%;
       width: 100%;
       background: #e6eaf0;
-    }</style><link href=./static/css/app.b3dc1ffedf99e58b877061a7d3296c2f.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.3512a67a6213c2df4180.js></script><script type=text/javascript src=./static/js/vendor.1b8e037bd3fbbd358d74.js></script><script type=text/javascript src=./static/js/app.a5fb0048c308bd1dc202.js></script></body></html><script>function stopSafari() {
+    }</style><link href=./static/css/app.b888fc16028b1070ff7800ed6e22c817.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.3512a67a6213c2df4180.js></script><script type=text/javascript src=./static/js/vendor.1b8e037bd3fbbd358d74.js></script><script type=text/javascript src=./static/js/app.701652c7cfe197a21ca6.js></script></body></html><script>function stopSafari() {
     //阻止safari浏览器双击放大功能
     let lastTouchEnd = 0  //更新手指弹起的时间
     document.documentElement.addEventListener("touchstart", function (event) {

File diff suppressed because it is too large
+ 0 - 0
dist/static/css/app.b3dc1ffedf99e58b877061a7d3296c2f.css


File diff suppressed because it is too large
+ 0 - 0
dist/static/css/app.b3dc1ffedf99e58b877061a7d3296c2f.css.map


File diff suppressed because it is too large
+ 0 - 0
dist/static/css/app.b888fc16028b1070ff7800ed6e22c817.css


File diff suppressed because it is too large
+ 0 - 0
dist/static/css/app.b888fc16028b1070ff7800ed6e22c817.css.map


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/app.701652c7cfe197a21ca6.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/app.701652c7cfe197a21ca6.js.map


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/manifest.3512a67a6213c2df4180.js.map


BIN
src/assets/icon/new/cover_update.png


+ 128 - 20
src/components/pages/addCourse.vue

@@ -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 {

+ 46 - 7
src/components/pages/easy/addCourse.vue

@@ -94,16 +94,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>
@@ -3600,8 +3602,11 @@
         <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;"><el-checkbox v-model="checkAll"
+                @change="handleCheckAllChange" class="all_check">全选</el-checkbox></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">
@@ -12364,6 +12369,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 {
@@ -13396,6 +13432,9 @@ ol {
   align-content: flex-start;
 }
 
+.class_item:first-child {
+  margin: 0 15px 15px 67px;
+}
 .class_item {
   margin: 0 15px 15px 0;
 

+ 5 - 3
src/components/pages/synergyCourse/course.vue

@@ -890,7 +890,9 @@ export default {
       this.ajax
         .get(this.$store.state.api + "selectSynergyCourse", params)
         .then((res) => {
-          this.loading.close();
+          if (this.loading) {
+            this.loading.close();
+          }
           this.loading = "";
           this.isLoading = false;
           this.total = res.data[0].length > 0 ? res.data[0][0].num : 0;
@@ -1489,8 +1491,8 @@ export default {
   overflow: hidden;
   text-overflow: ellipsis;
   white-space: nowrap;
-  /* font-weight: bold; */
-  font-size: 24px;
+  font-weight: bold;
+  font-size: 16px;
 }
 
 .bottom_box>div:nth-child(1)>span:nth-child(2) {

+ 43 - 8
src/components/pages/task/addCourse.vue

@@ -92,16 +92,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>
@@ -3908,8 +3910,11 @@
         <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;"><el-checkbox v-model="checkAll"
+                @change="handleCheckAllChange" class="all_check">全选</el-checkbox></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">
@@ -12646,6 +12651,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 {
@@ -13660,7 +13696,6 @@ ol {
 .check_class_left_title {
   font-size: 16px;
   font-weight: 700;
-  margin-bottom: 10px;
 }
 
 .check_class_item {

Some files were not shown because too many files changed in this diff