feat:避免保存、导入按钮重复点击提交

This commit is contained in:
wangwenrui
2020-12-21 13:56:36 +08:00
parent 5cb9c4bc85
commit 3b69a88698
11 changed files with 47 additions and 9 deletions

View File

@@ -29,7 +29,7 @@
<button @click="downloadTemplate" class="el-button el-button--default el-button--small">
<span>{{$t('overall.template')}}</span>
</button>
<button @click="importExcel" class="el-button el-button--default el-button--small">
<button @click="importExcel" class="nz-btn el-button el-button--default el-button--small" :disabled="prevent_opt.import" :class="{'nz-btn-disabled':prevent_opt.import}">
<span>{{$t('overall.importExcel')}}</span>
</button>
<button @click="closeDialog" class="el-button el-button--default el-button--small" >
@@ -167,6 +167,7 @@
},
importExcel:function(){
if(this.importFile && this.importFile.raw){
this.prevent_opt.import =true;
let form = new FormData();
form.append('excelFile',this.importFile.raw);
if(this.paramsType){
@@ -185,6 +186,7 @@
}else{
this.$message.error(response.msg);
}
this.prevent_opt.import =false;
})
}else{
this.$message.error(this.$t('tip.noImportFile'));

View File

@@ -120,6 +120,10 @@
},
editMenu: {},
menus:[],
option:{
save:false,
}
}
},
methods: {

View File

@@ -51,7 +51,7 @@
<button @click="esc(false)" id="model-box-esc" class="nz-btn nz-btn-size-normal-new nz-btn-style-light-new">
<span>{{$t('overall.cancel')}}</span>
</button>
<button @click="save" class="nz-btn nz-btn-size-normal-new nz-btn-style-normal-new" id="model-box-save" v-has="'snmp_file_save'">
<button @click="save" class="nz-btn nz-btn-size-normal-new nz-btn-style-normal-new" id="model-box-save" v-has="'snmp_file_save'" :disabled="prevent_opt.save" :class="{'nz-btn-disabled':prevent_opt.save}">
<span>{{$t('overall.save')}}</span>
</button>
</div>
@@ -183,6 +183,7 @@
save() {
this.$refs.mibForm.validate((valid) => {
if (valid) {
this.prevent_opt.save=true;
let form = new FormData();
form.append('name',this.editMib.name);
form.append('remark',this.editMib.remark);
@@ -196,6 +197,7 @@
}else{
this.$message.error(response.msg);
}
this.prevent_opt.save=false;
})
}else{
form.append('id',this.editMib.id);
@@ -206,8 +208,11 @@
}else{
this.$message.error(response.msg);
}
this.prevent_opt.save=false;
})
}
}else{
this.prevent_opt.save=false;
}
})
},

View File

@@ -76,7 +76,7 @@
<button @click="esc(false)" id="model-box-esc" class="nz-btn nz-btn-size-normal-new nz-btn-style-light-new">
<span>{{$t('overall.cancel')}}</span>
</button>
<button @click="save" class="nz-btn nz-btn-size-normal-new nz-btn-style-normal-new" id="model-box-save" v-has="['model_save', 'asset_vendor_save']">
<button @click="save" class="nz-btn nz-btn-size-normal-new nz-btn-style-normal-new" id="model-box-save" v-has="['model_save', 'asset_vendor_save']" :disabled="prevent_opt.save" :class="{'nz-btn-disabled':prevent_opt.save}">
<span>{{$t('overall.save')}}</span>
</button>
</div>
@@ -150,6 +150,7 @@
save() {
this.$refs.modelForm.validate((valid) => {
if (valid) {
this.prevent_opt.save = true;
let errMsg = [];
//vendor和type如果是新记录需要先请求后台新增再获取code
let vendorReady;
@@ -182,6 +183,7 @@
} else {
this.$message.error(response.msg);
}
this.prevent_opt.save=false;
});
} else {
this.$post('model', this.editModel).then(response => {
@@ -192,6 +194,7 @@
} else {
this.$message.error(response.msg);
}
this.prevent_opt.save=false;
});
}
});

View File

@@ -308,7 +308,7 @@
<button @click="esc" id="module-box-esc" class="nz-btn nz-btn-size-normal-new nz-btn-style-light-new">
<span>{{$t('overall.cancel')}}</span>
</button>
<button @click="save" class="nz-btn nz-btn-size-normal-new nz-btn-style-normal-new" id="module-box-save" v-has="'project_module_save'">
<button @click="save" class="nz-btn nz-btn-size-normal-new nz-btn-style-normal-new" id="module-box-save" v-has="'project_module_save'" :disabled="prevent_opt.save" :class="{'nz-btn-disabled':prevent_opt.save}">
<span>{{$t('overall.save')}}</span>
</button>
</div>
@@ -537,6 +537,7 @@
this.editModule.labels = this.labelsToJson(this.editModule.labelModule);
this.$refs.moduleForm.validate((valid) => {
if (valid) {
this.prevent_opt.save=true;
if (this.editModule.type.toLowerCase() == 'snmp') {
this.parseSnmpParam(this.editModule);
} else {
@@ -554,6 +555,7 @@
} else {
this.$message.error(response.msg);
}
this.prevent_opt.save=false;
});
} else {
this.$post('module', this.editModule).then(response => {
@@ -564,6 +566,7 @@
} else {
this.$message.error(response.msg);
}
this.prevent_opt.save=false;
});
}
} else {

View File

@@ -29,7 +29,7 @@
<button @click="esc" id="module-box-esc" class="nz-btn nz-btn-size-normal-new nz-btn-style-light-new">
<span>{{$t('overall.cancel')}}</span>
</button>
<button @click="save" class="nz-btn nz-btn-size-normal-new nz-btn-style-normal-new" id="module-box-save" v-has="'panel_save'">
<button @click="save" class="nz-btn nz-btn-size-normal-new nz-btn-style-normal-new" id="module-box-save" v-has="'panel_save'" :disabled="prevent_opt.save" :class="{'nz-btn-disabled':prevent_opt.save}">
<span>{{$t('overall.save')}}</span>
</button>
</div>
@@ -83,6 +83,7 @@
save: function() {
this.$refs.panelForm.validate((valid) => {
if (valid) {
this.prevent_opt.save=true;
if (this.panel.id) {
this.$put('panel', this.panel).then(response => {
if (response.code === 200) {
@@ -92,6 +93,7 @@
} else {
this.$message.error(response.msg);
}
this.prevent_opt.save=false;
});
} else {
this.$post('panel', this.panel).then(response => {
@@ -102,6 +104,7 @@
} else {
this.$message.error(response.msg);
}
this.prevent_opt.save=false;
});
}
} else {

View File

@@ -28,7 +28,7 @@
<button @click="esc" id="project-esc" class="nz-btn nz-btn-size-normal-new nz-btn-style-light-new">
<span>{{$t('overall.cancel')}}</span>
</button>
<button @click="save" class="nz-btn nz-btn-size-normal-new nz-btn-style-normal-new" id="project-save" v-has="'project_save'">
<button @click="save" class="nz-btn nz-btn-size-normal-new nz-btn-style-normal-new" id="project-save" v-has="'project_save'" :disabled="prevent_opt.save" :class="{'nz-btn-disabled':prevent_opt.save}">
<span>{{$t('overall.save')}}</span>
</button>
</div>
@@ -66,6 +66,7 @@
save() {
this.$refs['projectForm'].validate((valid) => {
if (valid) {
this.prevent_opt.save=true;
if (this.editProject.id) {
this.$put('project', this.editProject).then(response => {
if (response.code === 200) {
@@ -76,6 +77,7 @@
} else {
this.$message.error(response.msg);
}
this.prevent_opt.save=false;
});
} else {
this.$post('project', this.editProject).then(response => {
@@ -86,6 +88,7 @@
} else {
this.$message.error(response.msg);
}
this.prevent_opt.save=false;
});
}
} else {

View File

@@ -58,7 +58,7 @@
<span>{{$t('overall.cancel')}}</span>
</button>
<button @click="save" id="prom-save" v-has="'prom_save'"
class="nz-btn nz-btn-size-normal-new nz-btn-style-normal-new">
class="nz-btn nz-btn-size-normal-new nz-btn-style-normal-new" :disabled="prevent_opt.save" :class="{'nz-btn-disabled':prevent_opt.save}">
<span>{{$t('overall.save')}}</span>
</button>
</div>
@@ -107,6 +107,7 @@
save() {
this.$refs.promServerForm.validate(valid => {
if (valid) {
this.prevent_opt.save=true;
if (this.editPromServer.id) {
this.$put('promServer', this.editPromServer).then(response => {
if (response.code === 200) {
@@ -115,6 +116,7 @@
} else {
this.$message.error(response.msg);
}
this.prevent_opt.save=false;
});
} else {
this.$post('promServer', this.editPromServer).then(response => {
@@ -124,6 +126,7 @@
} else {
this.$message.error(response.msg);
}
this.prevent_opt.save=false;
});
}
} else {

View File

@@ -51,7 +51,7 @@
id="roles-esc">
<span>{{$t('overall.cancel')}}</span>
</button>
<button @click="save" class="nz-btn nz-btn-size-normal-new nz-btn-style-normal-new" v-has="'role_save'"
<button @click="save" class="nz-btn nz-btn-size-normal-new nz-btn-style-normal-new" v-has="'role_save'" :disabled="prevent_opt.save" :class="{'nz-btn-disabled':prevent_opt.save}"
id="roles-save">
<span>{{$t('overall.save')}}</span>
</button>
@@ -92,6 +92,7 @@
save() {
this.$refs.roleForm.validate(valid => {
if (valid) {
this.prevent_opt.save=true;
if (this.editRole.id) {
this.$put('sys/role', this.editRole).then(response => {
if (response.code === 200) {
@@ -100,6 +101,7 @@
} else {
this.$message.error(response.msg);
}
this.prevent_opt.save=false;
});
} else {
this.$post('sys/role', this.editRole).then(response => {
@@ -109,6 +111,7 @@
} else {
this.$message.error(response.msg);
}
this.prevent_opt.save=false;
});
}
} else {

View File

@@ -475,7 +475,7 @@
<button @click="preview" id="chart-box-preview" class="nz-btn nz-btn-size-normal-new nz-btn-style-normal-new" v-else>
<span>{{$t('overall.preview')}}</span>
</button>
<button @click="confirmAdd" class="nz-btn nz-btn-size-normal-new nz-btn-style-normal-new" id="chart-box-save" v-has="`${from}_chart_save`">
<button @click="confirmAdd" class="nz-btn nz-btn-size-normal-new nz-btn-style-normal-new" id="chart-box-save" v-has="`${from}_chart_save`" :disabled="prevent_opt.save" :class="{'nz-btn-disabled':prevent_opt.save}" >
<span>{{$t('overall.save')}}</span>
</button>
</div>
@@ -514,6 +514,9 @@
mixins: [rz],
data() {
return {
optionBtn:{
save:false,
},
editChart: {},
statisticsList: this.$CONSTANTS.statisticsList,
@@ -876,6 +879,7 @@
this.$message.error(response);
}
}
this.prevent_opt.save=false
});
}
})
@@ -896,6 +900,7 @@
this.$message.error(response2);
}
}
this.prevent_opt.save=false
});
},
// 获取每个tag组件内部校验后数据,点击生成图表时触发
@@ -1001,6 +1006,7 @@
this.confirmAdd();
},
confirmAdd() {
this.prevent_opt.save=true
this.elementTarget = []; // 初始化清空参数
if(this.editChart.type!=='url'&&this.editChart.type != 'text'){
/*if(this.editChart.type == 'alertList'){

View File

@@ -311,6 +311,9 @@ instance_cpu_time_ns{app="fox", proc="widget", rev="4d3a513", env="prod", job="c
let promqlIndex=promqlInputIndexs[index];
if (response.data&&response.status == 'success') {
let data = response.data.result;
if((!data||data.length<1)&&response.data.message){
}
data.forEach((result, i) => {
let seriesItem = {
name: '',