From f98f5deaaa6c5a9cf4023e2d2dd1c445980e5a8f Mon Sep 17 00:00:00 2001 From: hanbaoshan <hanbaoshan@aiotlink.com> Date: 星期六, 10 十月 2020 20:28:30 +0800 Subject: [PATCH] 集群管理,应用中心离线安装更新 --- src/pages/settings/components/ClusterManagement.vue | 87 +++++++++++++++++++++++++------------------ 1 files changed, 50 insertions(+), 37 deletions(-) diff --git a/src/pages/settings/components/ClusterManagement.vue b/src/pages/settings/components/ClusterManagement.vue index 84df905..77fa912 100644 --- a/src/pages/settings/components/ClusterManagement.vue +++ b/src/pages/settings/components/ClusterManagement.vue @@ -4,7 +4,7 @@ <div class="ui-top-title">瑙嗛鍒嗘瀽闆嗙兢绠$悊</div> </div> <el-row> - <el-col :span="12"> + <el-col :span="12" > <el-tabs v-model="activeName" id="e-alaycluster" v-if="!isHasColony"> <el-tab-pane label="鍒涘缓闆嗙兢" name="1" :disabled="isHasColony"> <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="80px"> @@ -22,18 +22,23 @@ <!-- <el-form-item label="铏氭嫙IP" prop="virtualip"> <ip-input :ip="ruleForm.virtualip" :on-blur="onIpBlur"></ip-input> - </el-form-item> --> + </el-form-item>--> <el-form-item style="width:500px"> <el-button type="primary" size="small" @click="submitForm('ruleForm')">淇濆瓨</el-button> </el-form-item> </el-form> </el-tab-pane> - + <!-- 鍔犲叆宸叉湁闆嗙兢 --> - <el-tab-pane label="鍔犲叆宸叉湁闆嗙兢" name="3" :disabled="isHasColony"> + <el-tab-pane label="鍔犲叆宸叉湁闆嗙兢" name="2" :disabled="isHasColony"> <el-form label-width="80px" :model="joinForm" :rules="joinRules" ref="joinForm"> <el-form-item label="IP鍦板潃" style="width:440px"> - <el-input v-model="joinForm.clusterip" placeholder="璇疯緭鍏ラ泦缇ゅ唴浠绘剰IP鍦板潃" size="small"> + <el-input + v-model="joinForm.clusterip" + placeholder="璇疯緭鍏ラ泦缇ゅ唴浠绘剰IP鍦板潃" + size="small" + autocomplete="new-password" + > <el-button type="text" slot="suffix" @@ -54,6 +59,7 @@ placeholder="璇疯緭鍏ラ泦缇ゅ瘑鐮�" show-password size="small" + autocomplete="new-password" ></el-input> </el-form-item> <el-form-item style="width:440px"> @@ -82,7 +88,7 @@ <!-- <el-form-item label="铏氭嫙IP" prop="virtualip"> <ip-input :ip="ruleForm.virtualip" :on-blur="onIpBlur"></ip-input> - </el-form-item> --> + </el-form-item>--> <el-form-item style="width:440px;text-align: right;"> <el-button size="small" type="danger" @click="leave">閫�鍑洪泦缇�</el-button> <el-button @@ -95,7 +101,7 @@ </el-form> </div> </el-col> - <el-col :span="14" style="height: 100%;" v-if="members.length !== 0"> + <el-col :span="10" style="height: 100%;" v-if="members.length !== 0"> <serfDiagram ref="diagram" :members="members" @@ -134,7 +140,12 @@ <el-tab-pane label="鍔犲叆宸叉湁闆嗙兢" name="s-second"> <el-form label-width="80px"> <el-form-item label="IP鍦板潃" style="text-align: left;"> - <el-input v-model="clusterip2" placeholder="璇疯緭鍏ラ泦缇ゅ唴浠绘剰IP鍦板潃" size="small"> + <el-input + v-model="clusterip2" + placeholder="璇疯緭鍏ラ泦缇ゅ唴浠绘剰IP鍦板潃" + size="small" + autocomplete="off" + > <el-button type="text" slot="suffix" @@ -188,7 +199,7 @@ serfDiagram, ipInput }, - data() { + data () { const checkPwd = (rule, value, callback) => { if (!value) { return callback(new Error("瀵嗙爜涓嶈兘涓虹┖")); @@ -285,16 +296,16 @@ }, watch: {}, methods: { - cleanValue() { + cleanValue () { this.members = []; }, - sHandleClick(tab, event) { + sHandleClick (tab, event) { console.log(tab, event); }, - submitForm(formName) { + submitForm (formName) { this.$refs[formName].validate(valid => { if (valid) { - alert("submit!"); + //alert("submit!"); let json = { clusterId: this.clusterid, clusterName: this.ruleForm.clustername, @@ -310,7 +321,7 @@ } }); }, - saveForm(formName) { + saveForm (formName) { debugger this.$refs[formName].validate(valid => { if (valid) { @@ -319,7 +330,7 @@ enable: this.vrIpForm.enable, serve_port: this.vrIpForm.serve_port, virtual_ip: this.vrIpForm.virtual_ip, - + }; setVrrp(json).then(() => { this.getVrrpInfo(); @@ -330,7 +341,7 @@ } }); }, - join(formName) { + join (formName) { this.$refs[formName].validate(valid => { if (valid) { if (Object.keys(this.currentCluster).length === 0) { @@ -358,7 +369,7 @@ } }); }, - async createColony(json) { + async createColony (json) { let res = await createColony(json); console.log(res, "鍒涘缓闆嗙兢"); this.$notify({ @@ -367,15 +378,16 @@ type: res.success ? "success" : "error" }); }, - async randomPwd() { + async randomPwd () { let res = await randomPwd(); if (res && res.success) { this.ruleForm.clusterpwd = res.data; } }, - async searchColony() { + async searchColony () { this.$refs["joinForm"].validate(valid => { if (valid) { + this.members = []; let json = { password: this.joinForm.clusterpwd, ip: this.joinForm.clusterip @@ -398,7 +410,7 @@ } }); }, - async search(json) { + async search (json) { let res = await search(json); if (res && res.success) { console.log(res, "鎼滅储闆嗙兢"); @@ -410,7 +422,7 @@ this.stopSearch(); }, 10 * 1000); }, - async getSearchNodes() { + async getSearchNodes () { let res = await getSearchNodes(); if (res && res.success) { let list = res.data.map(i => { @@ -434,12 +446,12 @@ }); } }, - setSchedule() { + setSchedule () { this.scheduleId = window.setInterval(() => { this.getSearchNodes(); }, 1000); }, - async stopSearch() { + async stopSearch () { if (!this.loading) { return true; } @@ -464,7 +476,7 @@ // },2000) }) }, - async findCluster() { + async findCluster () { let res = await findCluster(); if (res && res.success) { if (res.data && res.data.clusterId) { @@ -494,17 +506,17 @@ } } }, - getVrrpInfo(){ - getVrrp().then(res=>{ - if(res.success){ + getVrrpInfo () { + getVrrp().then(res => { + if (res.success) { this.vrIpForm.virtual_ip = res.data.virtual_ip; this.vrIpForm.enable = res.data.enable; } - }).catch(e=>{ + }).catch(e => { console.log(e) }) }, - async updateClusterName() { + async updateClusterName () { let res = await updateClusterName({ clusterName: this.mangeForm.colonyName }); @@ -514,7 +526,7 @@ type: res.success ? "success" : "error" }); }, - async joinCluster(json) { + async joinCluster (json) { let res = await joinCluster(json); if (res.success) { this.members = [] @@ -525,7 +537,7 @@ type: res.success ? "success" : "error" }); }, - leave() { + leave () { this.$confirm(`纭畾閫�鍑洪泦缇ゅ悧?`, { center: true, cancelButtonClass: "comfirm-class-cancle", @@ -546,9 +558,10 @@ this.members = []; } }).catch(() => { }); - + }, - joinNode(event, node) { + joinNode (event, node) { + debugger this.currentCluster.cluster_id = node.cluster_id; if (this.activeName === "3") { this.manageForm.clustername = node.clusterName; @@ -592,7 +605,7 @@ }); } }, - generatePassword() { + generatePassword () { var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; var uuid = []; @@ -603,15 +616,15 @@ this.ruleForm.clusterpwd = uuid.join(""); }, - onIpBlur(ip) { + onIpBlur (ip) { this.vrIpForm.virtual_ip = ip; } }, - mounted() { + mounted () { this.findCluster(); this.getVrrpInfo(); }, - created() { } + created () { } }; </script> <style lang="scss"> -- Gitblit v1.8.0