diff --git a/src/pages/workbench/yygl/deployment.vue b/src/pages/workbench/yygl/deployment.vue index 01c7d0b07ee01dcad268e9446de6437802bf1ab7..c6621084fb49e560c5da56a70e9371afe3702867 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;