Переглянути джерело

静态信息修改时内容类型未选中bug+

zhouna 3 роки тому
батько
коміт
52ddaf36e4

+ 14 - 13
src/components/knowledgeExtra/AddDevKnow.vue

@@ -136,7 +136,8 @@
                 :total="form.prags.length"
                 :isEdit="isEdit"
                 :isCopy="isCopy"
-                :positions="positions"
+                :positionMap="positionMap"
+                :positionList="positionList"
                 ref="subForm"
                 @add="addParagraph(i)"
                 @del="delParagraph"
@@ -230,8 +231,8 @@ export default {
       isFixedTop: true,
       isEdit: false,
       isCopy: false,
-      positions:[],   //当前类型术语需要显示的内容类型
-      positionsList:[],   //内容类型对象
+      positionMap:[],   //各类型内容类型对象
+      positionList:[],   //各类型内容类型对象
       title: '添加',
       termTypes: [],
       terms: [], //术语列表
@@ -482,23 +483,23 @@ export default {
               .then(res => {
                   if (res.data.code == '0') {
                       const data = res.data.data;
-                      this.positionsList = data['50'];
-                      this.getPosition(data['51']);
-                      //this.positions = data['50'];
-                      //this.renderPositions(data['50'], data['51']);
+                      this.positionList = data['50'];
+                      this.positionMap=this.getPositionMap(data['50'],data['51']);
                   }
               })
               .catch(error => {
                   console.log(error);
               });
       },
-      getPosition(maps){    //筛选出当前类型需要显示的内容类型
-          const data2 = maps.find(item => item.name == this.showType);
-          let val = data2.val.split(',');
-          this.positions = this.positionsList.filter(it => {
-              let arr = val.map(v => v);
-              return arr.includes(it.val);
+      getPositionMap(list,maps){    //各类型需要显示的内容类型map
+          let tempObj = {},arr=[];
+          maps.map((it)=>{
+              arr = it.val.split(",").map((i)=>{
+                  return list.find((t)=>t.val===i);
+              });
+              tempObj[it.name]=arr;
           });
+          return tempObj;
       },
     scrollTo(dom) {
       var div = this.$refs['elscrollbar'].$refs['wrap'];

+ 9 - 1
src/components/knowledgeExtra/DevInfo.vue

@@ -105,7 +105,7 @@ import config from '@api/config';
 import { container, ImageExtend, QuillWatch } from 'quill-image-extend-module';
 Quill.register('modules/ImageExtend', ImageExtend);
 export default {
-  props: ['data', 'index', 'isEdit', 'isCopy', 'total', 'showType','positions'],
+  props: ['data', 'index', 'isEdit', 'isCopy', 'total', 'showType','positionMap','positionList'],
   name: 'DevInfo',
   components: {
     quillEditor
@@ -168,6 +168,14 @@ export default {
       rules: {}
     };
   },
+    computed:{
+      'positions':function(){
+          if(this.showType!==-1){
+              return this.positionMap[this.showType];
+          }
+          return this.positionList||[];
+      }
+    },
   watch: {
     'data.content': function() {
       if (this.data.content !== '') {