diff --git a/nezha-fronted/src/components/common/js/validate.js b/nezha-fronted/src/components/common/js/validate.js index 336bebdc6..96dfe7ce1 100644 --- a/nezha-fronted/src/components/common/js/validate.js +++ b/nezha-fronted/src/components/common/js/validate.js @@ -32,7 +32,7 @@ export function port(rule, value, callback) { setTimeout(() => { if (!value) { callback(); - } else if(typeof value != 'number'){ + } else if(Number(value) == 'NaN'){ callback(new Error(vm.$t('validate.number'))) }else{ if(value < 1 ||value > 65535){ diff --git a/nezha-fronted/src/components/common/language/en.js b/nezha-fronted/src/components/common/language/en.js index 9d27496ca..4679eb252 100644 --- a/nezha-fronted/src/components/common/language/en.js +++ b/nezha-fronted/src/components/common/language/en.js @@ -266,7 +266,8 @@ const en = { deleteSuccess: 'Delete success',//"删除成功" saveSuccess: 'Save success', //"保存成功" coverSuccess: 'Override success',//'覆盖成功' - refreshLater:'Refresh later'//'请稍后刷新' + refreshLater:'Refresh later',//'请稍后刷新' + testSuccess:'Test success', }, asset:{ asset: 'Asset', diff --git a/nezha-fronted/src/components/page/config/system.vue b/nezha-fronted/src/components/page/config/system.vue index c1015494a..6064a47b4 100644 --- a/nezha-fronted/src/components/page/config/system.vue +++ b/nezha-fronted/src/components/page/config/system.vue @@ -26,9 +26,9 @@
- - - + + + @@ -177,7 +177,6 @@ export default { name: "system", data(){ - return { basic:{ alert_api:'', @@ -190,6 +189,7 @@ current_site_url:'', }, basicRules:{ + system_name:[{required:true,message:this.$t('validate.required'),trigger:'blur'},], node_exporter_target_path:[{required:true,message:this.$t('validate.required'),trigger:'blur'},], alert_api:[{required:true,message:this.$t('validate.required'),trigger:'blur'},{validator:host,trigger: 'blur'}], asset_ping_interval:[{required:true,message:this.$t('validate.required'),trigger:'blur'},{validator:positiveInteger,trigger:'blur'}], @@ -197,6 +197,7 @@ storage_local_retention:[{required:true,message:this.$t('validate.required'),trigger:'blur'},{validator:positiveInteger,trigger:'blur'}], }, basicRules2:{ + system_name:[{required:true,message:this.$t('validate.required'),trigger:'blur'},], node_exporter_target_path:[{required:true,message:this.$t('validate.required'),trigger:'blur'},], alert_api:[{required:true,message:this.$t('validate.required'),trigger:'blur'},,{validator:host,trigger: 'blur'}], scrape_interval:[{required:true,message:this.$t('validate.required'),trigger:'blur'},{validator:positiveInteger,trigger:'blur'}], @@ -210,8 +211,8 @@ email_smtp_password: "", email_send_account: "", email_test_reciver: "", - email_ssl_flag: 0, - email_tls_flag: 0, + email_ssl_flag: 'off', + email_tls_flag: 'off', }, emailRules:{ email_smtp_host: [ @@ -302,8 +303,13 @@ this.$refs[formName].validate((valid) => { if (valid) { let param={}; - param[type]=this[type]; - this.$put('/sysConfig',param).then(response=>{ + param[type]=Object.assign({},this[type]); + this.$set(param[type],'test','false') + let postParam=Object.assign({},param); + for (let key in postParam[type]){ + postParam[type][key]=postParam[type][key]+''; + } + this.$put('/sysConfig',postParam).then(response=>{ if(response.code == 200){ this.$message({duration: 2000, type: 'success', message: this.$t("tip.saveSuccess")}); this.resetForm(formName); @@ -320,15 +326,16 @@ testSetInfo:function(type,formName){ this.$refs[formName].validate((valid) => { if (valid) { - let param={test:true}; - param[type]=this[type]; - this.$put('/sysConfig',param).then(response=>{ + let param={}; + param[type]=Object.assign({},this[type]); + this.$set(param[type],'test','true') + let postParam=Object.assign({},param); + for (let key in postParam[type]){ + postParam[type][key]=postParam[type][key]+''; + } + this.$put('/sysConfig',postParam).then(response=>{ if(response.code == 200){ - this.$message({duration: 2000, type: 'success', message: this.$t("tip.success")}); - this.resetForm(formName); - setTimeout(()=>{ - this.querySetInfo(type); - },200) + this.$message({duration: 2000, type: 'success', message: this.$t("tip.testSuccess")}); }else{ this.$message.error(response.msg); }