reaper 4 سال پیش
والد
کامیت
16eabf1c93
2فایلهای تغییر یافته به همراه28 افزوده شده و 4 حذف شده
  1. 12 3
      src/components/knowledgeExtra/AddAssess/index.vue
  2. 16 1
      src/components/knowledgeExtra/AddDevKnow.vue

+ 12 - 3
src/components/knowledgeExtra/AddAssess/index.vue

@@ -334,8 +334,12 @@ it .ql-editor,
             ></quillEditor>
           </el-form-item>
         </div>
-        <div class="change_table_btns">
-          <div @click="CHANGE_TABLE({ tableIndex, type: 1 })">
+        <div class="change_table_btns" :id="`table[${tableIndex}]`">
+          <div
+            @click="
+              CHANGE_TABLE({ tableIndex, type: 1, id: `table[${tableIndex}]` })
+            "
+          >
             <i class="el-icon-plus"></i>
             新增标题
           </div>
@@ -861,7 +865,7 @@ export default {
         clearTimeout(this.timer);
         this.timer = null;
       }, 500);
-      const { tableIndex, type } = val;
+      const { tableIndex, type, id } = val;
       switch (type) {
         case 1:
           this.scaleData.klScaleParent.splice(
@@ -869,6 +873,11 @@ export default {
             0,
             JSON.parse(JSON.stringify(defaultTable))
           );
+          setTimeout(() => {
+            const top = document.getElementById(id).getBoundingClientRect().top;
+            this.$emit("scrollTo", top);
+          }, 50);
+
           break;
         case -1:
           this.$delete(this.scaleData.klScaleParent, tableIndex);

+ 16 - 1
src/components/knowledgeExtra/AddDevKnow.vue

@@ -228,7 +228,11 @@
           </el-form>
         </div>
         <div v-if="AssesComSHow && AssesTabSHow" v-show="tabActive == 'two'">
-          <AddAssess :childScaleData="scaleData" ref="assessRef" />
+          <AddAssess
+            @scrollTo="scrollTo"
+            :childScaleData="scaleData"
+            ref="assessRef"
+          />
         </div>
       </div>
 
@@ -501,6 +505,17 @@ export default {
     }
   },
   methods: {
+    scrollTo(dom) {
+      console.log("domTop", dom);
+      var div = this.$refs["elscrollbar"].$refs["wrap"];
+      console.log("scrollTop-before", div.scrollTop);
+      console.log("domTop", dom);
+      if (dom >= 0) {
+        div.scrollTop += dom - 120;
+      } else {
+        div.scrollTop -= Math.abs(dom) + 120;
+      }
+    },
     closeStaticTab() {
       this.$alert("确定要删除该标签?删除后该标签内容将会被清空!", "提示", {
         confirmButtonText: "确定",