瀏覽代碼

管理元素修改

duy 1 月之前
父節點
當前提交
5ae96f2196
共有 2 個文件被更改,包括 107 次插入46 次删除
  1. 49 26
      src/views/codeRule/ConditionsSet.vue
  2. 58 20
      src/views/codeRule/LinkEle.vue

+ 49 - 26
src/views/codeRule/ConditionsSet.vue

@@ -217,7 +217,8 @@ export default {
            
       ], // 关联关系数据
       id:'', // 传入的ID规范文件id
-      jId:''//技术指标Id
+      jId:'',//技术指标Id
+      addObj:{}
 
 
     }
@@ -234,7 +235,7 @@ export default {
        val.forEach((item,index)=>{
           this.handleSelect(index,item)
        })
-       this.activeIndex = 0
+      //  this.activeIndex = 0
 
 
        
@@ -292,13 +293,18 @@ export default {
       this.$emit('confirm')
     },
     handleDeleteLinkItem(item,index){
+      const {groupId}=item
+      if(!groupId){
+         this.linkListData.splice(index, 1);
+         return
+      }
         this.$confirm('删除后,数据将无法恢复,是否确认删除!', '提示', {
             confirmButtonText: '确定',
             cancelButtonText: '取消',
             type: 'warning'
           }).then(() => {
   
-            deleteConditionSet({leftId:item.id}).then((res) => {
+            deleteConditionSet({leftId:item.id,groupId:item.groupId}).then((res) => {
               if(res.data.code==200){
                 this.$message.success(res.data.msg);
               
@@ -324,30 +330,24 @@ export default {
       // 添加操作逻辑
     },
   async handleSelect(index,item) {
-    console.log(index,'index');
-    console.log(item,'item');
-    
-      this.activeIndex = index
-      let leftId = this.paramList[index].id
-     let arr= await this.getConditionSetData(this.id,this.jId,leftId)
-     console.log(arr,'arr');
 
-     
-      if(arr.length>0){
-          this.$nextTick(()=>{
-              // this.paramList[index].standardInfos = arr[0]['standardInfos']
-              this.$set(this.paramList, index, { ...this.paramList[index], standardInfos: arr[0]['standardInfos'] });
-          })
+    
 
-      }else{
-        this.paramList[index].standardInfos = []
-      }
-      
+      this.paramList[index].standardInfos = []
     },
     async handleSelect1(index,item) {
       this.activeIndex = index
-      console.log(item,'item');
-      
+
+
+   this.linkListData.forEach(ele=>{
+    ele.clicked = false
+
+   })
+       const hasClicked = this.linkListData.some(item => item.clicked === true);
+        console.log(hasClicked, 'hasClicked');
+        if(!hasClicked) {
+          item.standardInfos=[]
+        }
  
       
     },
@@ -387,6 +387,10 @@ export default {
     },
     handleDeleteItem(item, index) {
       this.paramList[this.activeIndex].standardInfos.splice(index, 1);
+      this.addObj={
+         ... this.paramList[this.activeIndex],
+         standardInfos:this.paramList[this.activeIndex].standardInfos
+      }
       this.$forceUpdate();
      
     },
@@ -398,6 +402,10 @@ export default {
               {name:this.addForm.codeValueName,ids:this.addForm.codeValue}
        },
       )
+      this.addObj={
+        ... this.paramList[this.activeIndex],
+        standardInfos: this.paramList[this.activeIndex].standardInfos
+      }
       this.addDialogVisible = false
       this.addForm = {
         codeName: '',
@@ -407,11 +415,22 @@ export default {
     },
           //保存条件
       saveCondition() {
+           const hasClicked = this.linkListData.some(item => item.clicked === true);
+
+          if (!hasClicked) {
+            // 如果不存在,则将 addObj 添加到数组中
+            this.linkListData.push(this.addObj);
+          }else{
+              const clickedItem = this.linkListData.find(item => item.clicked === true);
+               if (clickedItem) {
+                   clickedItem.standardInfos = this.addObj.standardInfos;
+                }
+          }
+          this.paramList[this.activeIndex].standardInfos = []
+                this.linkListData .forEach(ele => {
+        ele.clicked = false;
 
-        const filteredArr = this.paramList.filter(item => item.standardInfos.length !== 0);
-        console.log(filteredArr,'this.linkListData');
-        
-        this.linkListData = JSON.parse(JSON.stringify(filteredArr));
+      });
 
    
       },
@@ -423,6 +442,10 @@ export default {
         let clickedIndex = this.paramList.findIndex(listItem => listItem.id === item.id);
         console.log(clickedIndex, 'clickedIndex');
         this.activeIndex = clickedIndex;
+        this.paramList[clickedIndex].standardInfos = JSON.parse(JSON.stringify(item.standardInfos));
+        this.addObj = { ...item };
+
+        console.log(item, 'item');
         
       },
     // 获取条件设置

+ 58 - 20
src/views/codeRule/LinkEle.vue

@@ -257,7 +257,8 @@ export default {
       
            
       ], // 关联关系数据
-
+   
+   addObj:{}
     
    
 
@@ -305,19 +306,8 @@ export default {
         }
       },
     async handleSelect(index) {
-      this.activeIndex = index
-      let leftId = this.paramList[index].id
-     let arr= await this.getRelationData(this.deatailId,this.Jid,leftId)
-     
-      if(arr.length>0){
-          this.$nextTick(()=>{
-              // this.paramList[index].group = arr[0]['group']
-              this.$set(this.paramList, index, { ...this.paramList[index], group: arr[0]['group'] });
-          })
+     this.paramList[index].group = []
 
-      }else{
-        this.paramList[index].group = []
-      }
       
     },
    async getRelationData(id, groupId,leftId){
@@ -388,16 +378,22 @@ export default {
         let clickedIndex = this.paramList.findIndex(listItem => listItem.id === item.id);
         console.log(clickedIndex, 'clickedIndex');
         this.activeIndex = clickedIndex;
-        
+        this.paramList[clickedIndex].group = JSON.parse(JSON.stringify(item.group));
+            this.addObj = { ...item };
     },
     handleDeleteLinkItem(item,index){
+        const {groupId}=item
+          if(!groupId){
+            this.linkListData.splice(index, 1);
+            return
+          }
         this.$confirm('删除后,数据将无法恢复,是否确认删除!', '提示', {
             confirmButtonText: '确定',
             cancelButtonText: '取消',
             type: 'warning'
           }).then(() => {
   
-            deleteElementJoin({leftId:item.id}).then((res) => {
+            deleteElementJoin({leftId:item.id,groupId:item.groupId}).then((res) => {
               if(res.data.code==200){
                 this.$message.success(res.data.msg);
               
@@ -418,13 +414,31 @@ export default {
 
       this.getTableData();
     },
-   handleSelect1(index) {
+   handleSelect1(index,item) {
       this.activeIndex = index
+      
+      this.linkListData.forEach(ele=>{
+        ele.clicked = false
+
+      })
+
+      
+       const hasClicked = this.linkListData.some(item => item.clicked === true);
+        console.log(hasClicked, 'hasClicked');
+        if(!hasClicked) {
+          item.group=[]
+        }
     },
 
  
     handleDeleteItem(item, index) {
       this.paramList[this.activeIndex].group.splice(index, 1)
+    
+    this.addObj={
+         ... this.paramList[this.activeIndex],
+         group:this.paramList[this.activeIndex].group
+      }
+
        this.$forceUpdate();
     },
     confirmAdd() {
@@ -456,11 +470,15 @@ export default {
         
         this.paramList[this.activeIndex].group.push(objArr);
     
-  
+      this.addObj={
+         ... this.paramList[this.activeIndex],
+         group:this.paramList[this.activeIndex].group
+      }
+         console.log( this.addObj,' this.addObj11111');
          
 
       this.addDialogVisible = false;
-      this.$message.success('添加成功');
+     
     },
     handleElementSelected(val) {
       console.log(val, '选中的元素');
@@ -471,8 +489,28 @@ export default {
     saveEle(){
       console.log(this.paramList,'保存条件');
       
-        const filteredArr = this.paramList.filter(item => item.group.length !== 0);
-        this.linkListData = JSON.parse(JSON.stringify(filteredArr));
+        // const filteredArr = this.paramList.filter(item => item.group.length !== 0);
+        // this.linkListData = JSON.parse(JSON.stringify(filteredArr));
+          const hasClicked = this.linkListData.some(item => item.clicked === true);
+      console.log(hasClicked,'hasClicked');
+      
+          if (!hasClicked) {
+            // 如果不存在,则将 addObj 添加到数组中
+            this.linkListData.push(this.addObj);
+          }else{
+            console.log(this.addObj,'this.addObj222222');
+            
+              const clickedItem = this.linkListData.find(item => item.clicked === true);
+               if (clickedItem) {
+                   clickedItem.group = this.addObj.group;
+                }
+          }
+          this.paramList[this.activeIndex].group = []
+                this.linkListData .forEach(ele => {
+                ele.clicked = false;
+
+              });
+
 
     },
     formatTableType(row, column, cellValue) {