目录
1、修改部门
1.1 utils/objCopy.js
//快速把obj1里面对应的数据复制到obj2
export default async function objCopy(obj1,obj2){
Object.keys(obj2).forEach(key =>{
obj2[key] = obj1[key]
})
}
//导入表单数据回显脚本
import objCopy from '@/utils/objCopy'
Vue.prototype.$objCopy = objCopy;
1.2 编辑部门代码
/**
* 编辑部门
* @param row
*/
handleEdit(row) {
//数据回显
this.$objCopy(row, this.dept);
//设置窗口标题
this.deptDialog.title = "编辑部门";
//显示编辑部门窗口
this.deptDialog.visible = true;
},
1.3 编辑部门api代码
/**
* 检查部门下是否存在子部门
*/
async checkDepartment(params){
return await http.getRestApi("/api/department/check",params);
},
2、删除部门
2.1 前端API脚本
/**
* 检查部门下是否存在子部门
*/
async checkDepartment(params){
return await http.getRestApi("/api/department/check",params);
},
/**
* 删除部门
* @returns
*/
async deleteById(params) {
return await http.delete("/api/department/delete", params);
}
2.2 删除按钮和删除事件
/**
* 删除部门
* @param row
*/
async handleDelete(row) {
//查询部门下是否存在子部门或用户
let result = await departmentApi.checkDepartment({ id: row.id })
//判断是否可以删除
if (!result.success) {
//提示不能删除
this.$message.warning(result.message);
} else {
//确认是否删除
let confirm = await this.$myconfirm("确定要删除该数据吗?")
if (confirm) {
//发送删除请求
let res = await departmentApi.deleteById({ id: row.id })
//判断是否成功
if (res.success) {
//成功提示
this.$message.success(res.message)
//刷新
this.search()
} else {
//失败提示
this.$message.error(res.message)
}
}
}
},