diff --git a/nezha-fronted/src/components/common/language/en.js b/nezha-fronted/src/components/common/language/en.js index ca4932759..365a05b39 100644 --- a/nezha-fronted/src/components/common/language/en.js +++ b/nezha-fronted/src/components/common/language/en.js @@ -123,6 +123,7 @@ const en = { tel:'Phone number is invalid', host:'IP Address is invalid', fileSize:'upload file is too large', + port:'Port is invalide', config: { account: { @@ -217,7 +218,8 @@ const en = { upload:'Upload', clickToUpload:'Upload', clickToCover:'Cover', - sshKeyWasConfig:'SSH-KEY has been configured' + sshKeyWasConfig:'SSH-KEY has been configured', + exporter:'Exporter' }, editAssetTab:{ title:'Create Asset', diff --git a/nezha-fronted/src/components/page/asset/accountConfig.vue b/nezha-fronted/src/components/page/asset/accountConfig.vue index 2531bf800..aa1f81a43 100644 --- a/nezha-fronted/src/components/page/asset/accountConfig.vue +++ b/nezha-fronted/src/components/page/asset/accountConfig.vue @@ -20,11 +20,11 @@
{{account.user}}
- + - - + +
{{account.port}}
@@ -45,7 +45,7 @@ export default { name: "accountConfig", props:{ account:{type:Object}, - asComponent:{type:Boolean,default:false}, + asComponent:{type:Boolean,default:true},//历史原因增加的逻辑,可删除 isEdit:{type:Boolean,default:true} }, created() { @@ -69,11 +69,23 @@ export default { if(!value || value == ''){ callback(new Error(this.$t('validate.required'))) } + if(typeof value != 'number'){ + callback(new Error(this.$t('validate.number'))) + } + if(value < 1 ||value > 65535){ + callback(new Error(this.$t('validate.port'))) + } }else{ if(this.account.user){ if(!value || value == ''){ callback(new Error(this.$t('validate.required'))) } + if(typeof value != 'number'){ + callback(new Error(this.$t('validate.number'))) + } + if(value < 1 ||value > 65535){ + callback(new Error(this.$t('validate.port'))) + } } } callback(); @@ -92,7 +104,7 @@ export default { { validator: validataUser, trigger: 'blur'} ], port:[ - { validator: validatePort, trigger: 'blur'} + { validator: validatePort, trigger: 'change'} ], file:[ { validator: validateFile, trigger: 'change'} diff --git a/nezha-fronted/src/components/page/asset/assetAddUnit.vue b/nezha-fronted/src/components/page/asset/assetAddUnit.vue index 86d4a3b9c..7ec4abbde 100644 --- a/nezha-fronted/src/components/page/asset/assetAddUnit.vue +++ b/nezha-fronted/src/components/page/asset/assetAddUnit.vue @@ -259,58 +259,7 @@ - + @@ -318,58 +267,7 @@
- +
@@ -417,9 +315,16 @@ {{cabinetSelectedData.remark}} -
{{$t('asset.createAssetTab.cli')}}
+
{{$t('asset.createAssetTab.cli')}}
+
- + + + + + @@ -455,8 +360,10 @@ pwd: '', port: '', uploadFile:null - }] + }], + exporter:0 }, + accountSwitch:false,//true 开启,false 关闭 assetStateOption: [ { value: 1, @@ -594,7 +501,8 @@ {required: true, message: this.$t('validate.required'), trigger: 'blur'} ] }, - uploadFileList:[] + uploadFileList:[], + } }, /*computed: { @@ -618,6 +526,11 @@ }, 'assetData.idcId': function(n, o) { this.addCabinetData.idcId = n; + }, + 'assetData.exporter':function(n,o){ + if(parseInt(n) === 1){ + this.accountSwitch=true; + } } }, methods: { @@ -824,8 +737,11 @@ }) } if (type === 'asset') { - this.$refs.accountConfigBox[0].validateAccount(); - let accountValideResult=this.$refs.accountConfigBox[0].validateResult; + let accountValideResult=true; + if(this.$refs.accountConfigBox&&this.$refs.accountConfigBox.length>0){ + this.$refs.accountConfigBox[0].validateAccount(); + accountValideResult=this.$refs.accountConfigBox[0].validateResult; + } this.$refs.addAssetForm.validate((valid) => { if (valid&&accountValideResult) { let modelId = '' @@ -848,18 +764,21 @@ form.append("idcId", this.assetData.idcId); form.append("cabinetId", this.assetData.cabinetId); form.append("modelId", modelId); - for(let i in this.assetData.accounts){ - let account=this.assetData.accounts[i]; - if(account.user){ - form.append("accounts["+i+"].authType",account.authType); - form.append("accounts["+i+"].user", account.user); - form.append("accounts["+i+"].port", account.port); - form.append("accounts["+i+"].pwd", account.pwd); - if(account.authType==2){ - form.append('cert',account.uploadFile?account.uploadFile.raw:null); + if(this.accountSwitch){ + for(let i in this.assetData.accounts){ + let account=this.assetData.accounts[i]; + if(account.user){ + form.append("accounts["+i+"].authType",account.authType); + form.append("accounts["+i+"].user", account.user); + form.append("accounts["+i+"].port", account.port); + form.append("accounts["+i+"].pwd", account.pwd); + if(account.authType==2){ + form.append('cert',account.uploadFile?account.uploadFile.raw:null); + } } } } + form.append("exporter",parseInt(this.assetData.exporter)); this.$post('asset', form,{'Content-Type': 'multipart/form-data'}).then(res => { const h = this.$createElement; if (res.code === 200) {