把if-else换成如下形式
页面上的代码
<el-button id="btnSave" type="primary" :loading="loadingEdit" @click="saveEdit('put','baseSet')">
{{ $t("formLabel.save") }}
</el-button>
methods代码:
// 编辑设备保存按钮 处理代码复杂度,判断太多问题
saveEdit(type, api) {
this.loadingEdit = true
const types = {
'baseSet': this._baseSetSave, // 基本设置保存函数
'policy': this._policySave, // 批量策略配置保存函数
'': this._syncSave // 配置同步保存函数
}
const handleSave = types[api]
handleSave(type)
},
函数分别处理
_baseSetSave(type) {
const { setting, security, serial, usb, id, user, register_ip } = this.form
// 基本设置保存
const params = {
ids: [id],
user: user === '' ? 0 : user, // 所属用户
setting: setting === '' ? 0 : setting, // 以下新字段 基础设置模板
security: security === '' ? 0 : security, // 安全策略模板
serial: serial === '' ? 0 : serial, // 串口策略模板
usb: usb === '' ? 0 : usb, // usb策略模板
register_ip: register_ip// 注册IP地址
}
this.saveScuFun(type, params)
},
_policySave(type) {
// 批量策略配置保存函数
const { setting, security, serial, usb } = this.form
const params = {
ids: this.ids,
setting: setting === '' ? 0 : setting, // 以下新字段 基础设置模板
security: security === '' ? 0 : security, // 安全策略模板
serial: serial === '' ? 0 : serial, // 串口策略模板
usb: usb === '' ? 0 : usb // usb策略模板
}
this.saveScuFun(type, params)
},
_syncSave(type) {
// 配置同步保存函数
const { setting, security, serial, usb, id } = this.form
const params = {
ids: [id],
setting: setting === '' ? 0 : setting, // 以下新字段 基础设置模板
security: security === '' ? 0 : security, // 安全策略模板
serial: serial === '' ? 0 : serial, // 串口策略模板
usb: usb === '' ? 0 : usb // usb策略模板
}
this.saveScuFun(type, params)
},
实现函数的不同处理,降低复杂度