From 7eab75b9e971524990228d1910e97d9f0bb0f6d3 Mon Sep 17 00:00:00 2001 From: hanbaoshan <hanbaoshan@aiotlink.com> Date: 星期一, 19 十月 2020 15:29:28 +0800 Subject: [PATCH] 集群云大小在一定范围内跟随节点数量变化 --- src/pages/settings/components/ClusterManagement.vue | 64 ++++++++++++++++++++++--------- 1 files changed, 45 insertions(+), 19 deletions(-) diff --git a/src/pages/settings/components/ClusterManagement.vue b/src/pages/settings/components/ClusterManagement.vue index 8bc48eb..51173b1 100644 --- a/src/pages/settings/components/ClusterManagement.vue +++ b/src/pages/settings/components/ClusterManagement.vue @@ -94,13 +94,18 @@ style="margin-right:10px;" type="primary" size="small" - @click="submitForm('manageForm')" + @click="updateCluster('manageForm')" >淇濆瓨</el-button> </el-form-item> </el-form> </div> </el-col> - <el-col :span="12" style="height: 100%;" v-if="members.length !== 0 && isSearch" class="node-container"> + <el-col + :span="12" + style="height: 100%;" + v-if="members.length !== 0 && isSearch" + class="node-container" + > <serfDiagram ref="diagram" :members="members" @@ -110,9 +115,13 @@ class="nodes-svg" ></serfDiagram> </el-col> - <el-col :span="12" style="height: 100%;" v-if="innerNodes.length !== 0 && !isSearch" class="node-container"> - <cloud-node :nodes="innerNodes"> - </cloud-node> + <el-col + :span="12" + style="height: 100%;" + v-if="innerNodes.length !== 0 && !isSearch" + class="node-container" + > + <cloud-node :nodes="innerNodes"></cloud-node> </el-col> </el-row> @@ -167,7 +176,6 @@ </el-tabs> </el-col> </el-row> - </div> </template> @@ -195,7 +203,7 @@ import cloudNode from "./CloudNode"; import serfDiagram from "@/components/serfDiagram"; import ipInput from "@/components/subComponents/IPInput"; -import {isIPv4} from "@/scripts/validate"; +import { isIPv4 } from "@/scripts/validate"; export default { components: { serfDiagram, @@ -220,7 +228,7 @@ } }, 1000); }; - + return { activeName: "1", sActiveName: "s-first", @@ -280,11 +288,19 @@ agentName: "", members: [], innerNodes: [], + intervalTimer: null, }; }, mounted() { this.findCluster(); + let _this = this; + this.intervalTimer = setInterval(()=>{ + _this.findCluster(); + },30000); this.getEsClusterNodes(); + }, + beforeDestroy(){ + clearInterval(this.intervalTimer); }, methods: { cleanValue() { @@ -332,8 +348,8 @@ } }); }, - - join (formName) { + + join(formName) { this.$refs[formName].validate(valid => { if (valid) { if (Object.keys(this.currentCluster).length === 0) { @@ -487,8 +503,8 @@ this.innerNodes = res.data.nodes.map(i => { let obj = {}; obj.device_type = i.device_type; - obj.workType = i.device_type.substr(2,2); - obj.hardwareType = i.device_type.substr(4,2); + obj.workType = i.device_type.substr(2, 2); + obj.hardwareType = i.device_type.substr(4, 2); obj.cluster_id = i.cluster_id; obj.clusterName = res.data.clusterName; obj.create_time = i.create_time; @@ -497,10 +513,10 @@ obj.node_ip = i.node_ip; obj.nodeName = i.node_name; obj.Address = i.node_ip; - obj.role = i.role ? i.role : "pc"; + obj.role = i.drift_state ? i.drift_state : "pc"; return obj; }); - + //this.members = this.members.concat(list); console.log(this.members) } else { @@ -519,9 +535,19 @@ console.log(e) }) }, - async updateClusterName() { + async updateCluster() { + if (this.ruleForm.clustername === "") { + this.$message({ + type: "error", + message: "闆嗙兢鍚嶇О涓嶈兘涓虹┖" + }) + + return + } + let res = await updateClusterName({ - clusterName: this.mangeForm.colonyName + clusterName: this.ruleForm.clustername, + virtualIp: this.ruleForm.virtualIp }); this.$notify({ title: res.success ? "鎴愬姛" : "澶辫触", @@ -706,7 +732,7 @@ }); }) }, - onIpBlur (ip) { + onIpBlur(ip) { //this.vrIpForm.virtual_ip = ip; this.ruleForm.virtualIp = ip; console.log(this.ruleForm.virtualIp) @@ -714,7 +740,7 @@ }, - created () { } + created() { } }; </script> @@ -787,7 +813,7 @@ height: 30px; line-height: 30px; } -.nodes-svg{ +.nodes-svg { background-color: rgba(127, 172, 255, 0.459); } </style> -- Gitblit v1.8.0