From fb88704aefbf545d61bcf10abdcb64880e82e68e Mon Sep 17 00:00:00 2001 From: zhangjun1 Date: Thu, 23 Jul 2020 16:11:06 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=80=E9=94=AE=E9=83=A8=E7=BD=B2storage?= =?UTF-8?q?=E6=A0=BC=E5=BC=8F=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/workbench/yygl/deployment.vue | 76 +++++++++++++++++++------ 1 file changed, 60 insertions(+), 16 deletions(-) diff --git a/src/pages/workbench/yygl/deployment.vue b/src/pages/workbench/yygl/deployment.vue index 01c7d0b..c662108 100644 --- a/src/pages/workbench/yygl/deployment.vue +++ b/src/pages/workbench/yygl/deployment.vue @@ -162,7 +162,7 @@

- {{it.disk_serial_number}} ({{it.disk_cap+'Gi'}}) + {{it.disk_serial_number}} ({{it.disk_cap+'Gi'}})

@@ -377,12 +377,11 @@ export default { if (e.type == "radio") { e["val"] = e.value[0]; } else if (e.type == "storage") { - debugger this.select_volumn=[] e['check_type'] = 0 e['storage_type'] = 0 console.log(this.pvc_list); - e['value'] = [this.pvc_list[0].disk_serial_number+';'+this.pvc_list[0].id] + e['value'] = [this.pvc_list[0].disk_serial_number+';'+this.pvc_list[0].id+';'+this.pvc_list[0].disk_cap] } else if (e.type == "resource") { let memory = e.memory; let cpu = e.cpu; @@ -413,10 +412,34 @@ export default { console.log(key, val); this.$set(obj, key, val); }, + is_size_toge(arr){ + if(arr.length){ + var temp = arr[0].split(';')[2] + return arr.some(function (value, index, _arr) { + return temp !== value.split(';')[2] + }); + }else{ + this.$message.error('请选择规格') + return 'kong' + } + }, + is_size_id_arr(arr){ + if(arr.length){ + var temp_arr = [] + arr.forEach(e => { + temp_arr.push(e.split(';')[1]) + }); + return temp_arr + }else{ + this.$message.error('请选择规格') + return [] + } + }, deal_key_value(key_string, type, value) { var key_arr = key_string.split("."); var temp = this.app_set_info; - key_arr.forEach((e, index) => { + try { + key_arr.forEach((e, index) => { if (key_arr.length - 1 == index) { if (type == "resource") { temp[e] = { @@ -430,20 +453,35 @@ export default { }, }; } else if (type == "storage") { - temp[e] = { - volumeClaimTemplate: { - spec: { - storageClassName: "nfs-client", - accessModes: ["ReadWriteOnce"], - resources: { - requests: { - storage: value, + //临时存储 + if(value[1]==0){ + temp[e] = { + emptyDir:true + } + }else{//云存储 + if(this.is_size_toge(value[0])==true){ + this.$message.error('请选择同规格的数据盘') + throw 1 + }else if(this.is_size_toge(value[0])=='kong'){ + throw 1 + } + temp[e] = { + volumeClaimTemplate: { + spec: { + storageClassName: value[2]==0?'nfs-client':'rook-ceph-block', + accessModes: ["ReadWriteOnce"], + resources: { + requests: { + storage: value[0][0].split(';')[2]+'Gi', + }, }, }, + selector: {}, }, - selector: {}, - }, - }; + }; + this.select_volumn.push(...this.is_size_id_arr(value[0])) + } + } else if(type == "volume") { //临时存储 if(value[1]==0){ @@ -467,6 +505,10 @@ export default { temp = temp[e]; } }); + } catch (error) { + return + } + }, deal_key_text(obj, key_string) { var key_arr = key_string.split("."); @@ -528,6 +570,8 @@ export default { if (response.data.success === 1) { // this.$message.success("开始部署成功"); this.deploy_id = response.data.data.deploy_id; + }else{ + this.$message.error(response.data.errMsg) } }) .catch(() => { @@ -576,7 +620,7 @@ export default { if (e.type == "radio") { this.deal_key_value(e.name, e.type, e.val); } else if (e.type == "storage") { - this.deal_key_value(e.name, e.type, e.storage); + this.deal_key_value(e.name, e.type, [e.value,e.check_type,e.storage_type]); } else if (e.type == "resource") { let memory = e.memory; let cpu = e.cpu; -- 2.26.0