Pārlūkot izejas kodu

节点参数 关联元素

gangyj 2 gadi atpakaļ
vecāks
revīzija
3931e8a108
1 mainītis faili ar 181 papildinājumiem un 1 dzēšanām
  1. 181 1
      src/views/manager/wbsinfo/edit.vue

+ 181 - 1
src/views/manager/wbsinfo/edit.vue

@@ -1307,6 +1307,12 @@
             align="center"
           >
             <template slot-scope="scope">
+              <el-button
+                type="text"
+                size="small"
+                class="text-icon-primary"
+                @click="linkEle(scope.row)"
+              >关联元素</el-button>
               <el-button
                 type="text"
                 size="small"
@@ -1403,6 +1409,110 @@
       </span>
     </el-dialog>
 
+    <el-dialog
+      title="节点参数设置-关联元素"
+      :visible.sync="linkEleVisible"
+      width="800px"
+      append-to-body
+      class="jiedian"
+      :close-on-click-modal="false"
+    >
+      <div>
+        <el-table
+          :data="linkEleTableList"
+          border
+          style="width: 100%"
+          height="400"
+        >
+          <el-table-column
+            align="center"
+            prop="tableName"
+            label="元素表名"
+          >
+          </el-table-column>
+          <el-table-column
+            align="center"
+            prop="describe"
+            label="关联元素字段"
+          >
+          </el-table-column>
+          <el-table-column
+            label="操作"
+            width="160"
+            align="center"
+          >
+            <template slot-scope="scope">
+              <el-button
+                type="text"
+                size="small"
+                class="text-icon-primary"
+                @click="tolinkEle(scope.row)"
+              >关联元素</el-button>
+              <el-button
+                type="text"
+                size="small"
+                class="text-icon-danger"
+                @click="delLink(scope.$index)"
+              >删除关联</el-button>
+            </template>
+          </el-table-column>
+        </el-table>
+      </div>
+      <span
+        slot="footer"
+        class="dialog-footer"
+      >
+        <el-button @click="saveLinks">保 存</el-button>
+        <el-button @click="linkEleVisible = false">关 闭</el-button>
+      </span>
+    </el-dialog>
+
+    <el-dialog
+      title="节点参数设置-关联元素"
+      :visible.sync="linkCheckVisible"
+      width="600px"
+      append-to-body
+      class="jiedian"
+      :close-on-click-modal="false"
+    >
+      <div>
+        <div class="flex mg-b-20">
+          <el-input v-model="linkEleKey" placeholder="请输入元素关键字搜索"></el-input>
+          <el-link class="mg-l-20" :underline="false">
+            <i class="el-icon-search" style="font-size:20px" @click="searchEle"></i>
+          </el-link>
+        </div>
+        <el-table
+          :data="linkEleList"
+          border
+          style="width: 100%"
+          height="400"
+        >
+          <el-table-column
+            align="center"
+            prop="eName"
+            label="元素名"
+          >
+          </el-table-column>
+
+          <el-table-column
+            label="操作"
+            width="55">
+            <template slot-scope="scope">
+              <el-checkbox v-model="scope.row.checked" @change="value => linkEleCheck(value,scope.$index)"></el-checkbox>
+            </template>
+          </el-table-column>
+        </el-table>
+      </div>
+      <span
+        slot="footer"
+        class="dialog-footer"
+      >
+        <el-button @click="saveLinkEle">保 存</el-button>
+        <el-button @click="linkCheckVisible = false">关 闭</el-button>
+      </span>
+    </el-dialog>
+
   </basic-container>
 </template>
 
@@ -1543,6 +1653,15 @@ export default {
         7: 100,//文件
       },
 
+      //节点参数,关联元素
+      curParam:{},//当前节点参数
+      linkEleVisible:false,
+      linkEleTableList:[],//元素表数组
+      curLinkEleTable:{},//当前元素表
+      linkCheckVisible:false,//关联弹框
+      linkEleList:[],//元素数组
+      linkEleKey:'',//搜索关键字
+
       defaultExpandedKeys:[],
       expandName:this.$route.fullPath,
     };
@@ -2564,7 +2683,68 @@ export default {
         type:true//sessionStorage
       })
       //console.log(expandedKeys)
-    }
+    },
+
+    //节点参数 关联元素
+    linkEle(row){
+      this.linkEleVisible = true;
+      this.curParam = row;
+      selectByNodeTable(this.jiedianId).then((res) => {
+        if (res.data.data.length) {
+          this.linkEleTableList = res.data.data;
+        } else {
+          this.linkEleTableList = [];
+        }
+      })
+    },
+
+    //保存关联
+    saveLinks(){
+
+    },
+
+    //删除关联
+    delLink(){
+
+    },
+
+    //关联元素弹框
+    tolinkEle(row){
+      this.curLinkEleTable = row;
+      this.linkCheckVisible = true;
+      selectFormElements(row.id).then((res) => {
+        res.data.data.forEach((ele)=>{
+          ele.checked = false;
+          ele.show = true;
+        })
+        this.linkEleList = res.data.data;
+        this.linkEleListAll = [].concat(this.linkEleList);
+      })
+    },
+
+    linkEleCheck(value,index){
+      //console.log(value)
+      if(value){
+        this.linkEleList.forEach((ele,i)=>{
+          if(i != index){
+            ele.checked = false;
+          }
+        })
+      }
+    },
+
+    //关联元素
+    saveLinkEle(){
+
+    },
+
+    //筛选元素
+    searchEle(){
+      this.linkEleList = this.linkEleListAll.filter((ele)=>{
+        return ele.eName.indexOf(this.linkEleKey) > -1;
+      })
+    },
+
 
   },
   components: {