瀏覽代碼

深度监听模板类型变化,普通监听监听不到

Luolei 6 年之前
父節點
當前提交
77151cb1e1

+ 66 - 40
src/components/icss/CommonTemplate.vue

@@ -227,36 +227,44 @@ export default {
     })
   },
   watch: {
-    type(newVal, preVal) {
-      if(newVal != preVal){
-        this.form = {region: ''}  
-        this.subTmpList = []     //子模板的id用于去重
-        this.leftTagsList = []
-        this.selectLeftTagsList = []
-        this.rightTagsList = []
-        this.selectRightTagsList = []
-        this.selectRightTagsListIndex = []
-        this.searchVal = ''
-        this.flagLisFst = -1
-        this.flagLisSec = -1
-        this.getSubTemplate()      //重新获取子模板
-      }
-      this.searchTagList()       //重新获取标签池数据
+    type:{
+      handler(newVal, preVal) {
+        if(newVal != preVal){
+          this.form = {region: ''}  
+          this.subTmpList = []     //子模板的id用于去重
+          this.leftTagsList = []
+          this.selectLeftTagsList = []
+          this.rightTagsList = []
+          this.selectRightTagsList = []
+          this.selectRightTagsListIndex = []
+          this.searchVal = ''
+          this.flagLisFst = -1
+          this.flagLisSec = -1
+          this.getSubTemplate()      //重新获取子模板
+        }
+        this.searchTagList()       //重新获取标签池数据
+        this.$emit('changeActionData', this.rightTagsList, false);
+      },
+      immediate: true
     },
-    signe(newVal, preVal) {
-      if(newVal != preVal){
-        this.form = {region: ''}  
-        this.subTmpList = []     //子模板的id用于去重
-        this.leftTagsList = []
-        this.selectLeftTagsList = []
-        this.rightTagsList = []
-        this.selectRightTagsList = []
-        this.selectRightTagsListIndex = []
-        this.searchVal = ''
-        this.flagLisFst = -1
-        this.flagLisSec = -1
-      }
-      this.searchTagList()       //重新获取标签池数据
+    signe:{
+      handler(newVal, preVal) {
+        if(newVal != preVal){
+          this.form = {region: ''}  
+          this.subTmpList = []     //子模板的id用于去重
+          this.leftTagsList = []
+          this.selectLeftTagsList = []
+          this.rightTagsList = []
+          this.selectRightTagsList = []
+          this.selectRightTagsListIndex = []
+          this.searchVal = ''
+          this.flagLisFst = -1
+          this.flagLisSec = -1
+        }
+        this.$emit('changeActionData', this.rightTagsList, false);
+        this.searchTagList()       //重新获取标签池数据
+      },
+      immediate: true
     },
     searchVal(newVal, preVal) {
       if (newVal.trim() == '') {
@@ -265,19 +273,37 @@ export default {
         this.searchTagList()
       }
     },
-    rela(newVal, preVal){
-      if(newVal && newVal != preVal && this.copyed){
-        let lis =  this.rightTagsList.splice(0);
-        for(let i = 0;i < lis.length;i++){
-          let tmpLi = lis[i];
-          if(tmpLi.flag == 3){//去掉子模板
-            lis.splice(i,1)
-            this.subTmpList = []
+    rela:{
+      handler(newVal, preVal){
+        if(newVal && newVal != preVal && this.copyed){ //复制情况下,改变归属不清空
+          let lis =  this.rightTagsList.splice(0);
+          for(let i = 0;i < lis.length;i++){
+            let tmpLi = lis[i];
+            if(tmpLi.flag == 3){//去掉子模板
+              lis.splice(i,1)
+              this.subTmpList = []
+            }
           }
+          this.rightTagsList = [...lis]
+          this.getSubTemplate()
         }
-        this.rightTagsList = [...lis]
-        this.getSubTemplate()
-      }
+        if(newVal != preVal  && !this.copyed){
+          this.form = {region: ''}  
+          this.subTmpList = []     //子模板的id用于去重
+          this.leftTagsList = []
+          this.selectLeftTagsList = []
+          this.rightTagsList = []
+          this.selectRightTagsList = []
+          this.selectRightTagsListIndex = []
+          this.searchVal = ''
+          this.flagLisFst = -1
+          this.flagLisSec = -1
+          this.getSubTemplate()      //重新获取子模板
+          this.searchTagList()       //重新获取标签池数据
+          this.$emit('changeActionData', this.rightTagsList, false);
+        }
+      },
+      immediate: true
     },
   },
   methods: {

+ 2 - 2
src/components/icss/PubTemplateGroup.vue

@@ -177,6 +177,7 @@ export default {
             this.getTypes()
           }
         }
+        this.$emit('changeVal', this.form, false)
       }
     },
     tmpOwnTo(newVal, preVal){
@@ -188,6 +189,7 @@ export default {
           if(this.form.isCopy){
             this.getTypes('copy')
           }
+          this.$emit('changeVal', this.form, false)
       }
     }
   },
@@ -208,8 +210,6 @@ export default {
       this.form.isCopy = true
       this.$emit('staticOwn', this.form.region4, false)
       this.$emit('changeVal', this.form, false)
-      //去掉模板内容中的子模板
-
     },
     getTypes(type){
       let param = {

+ 0 - 1
src/components/icss/TemplateMaintenanceWrap.vue

@@ -84,7 +84,6 @@ export default {
       //仍需验证标签明细是否选择
       let type = this.dataPub.region1,name=this.dataPub.region2;
       let detailLis = utils.orderTemplateData(this.sendIds)
-      console.log(detailLis,1111111111111)
       if (JSON.stringify(this.sendIds) == '[]' || !detailLis) {
         this.$message({
           message: '模板至少包含一个标签池标签',