需求
点击列表中的变更部门按钮,弹出树形选择,选择数据ajax调取后端接口存入库中。
操作步骤
解决方案
点击列表中的变更部门按钮,通过 JE.useSystem()暴露出来的showTreeSelect,展示树形数据。代码如下:
- 示例:
const {Modal} = JE.useUi();
//获取ajax
const {ajax} = JE.useUtils();
const {showTreeSelect} = JE.useSystem();
//获得功能对象
const {$func} = EventOptions;
//获得列表对象
const grid = $func.getFuncGrid();
// //获得列表选中的数据
const recs = grid.getSelectedRecords();
const isHas = recs.some((item)=>item.DEPTUSER_MAIN_CODE == '0');
if(isHas) {
Modal.alert({content: '该部门为分部门,不能变更部门,请前往组织管理中进行调整!',width: '520px',status: 'warning'});
return false;
}
showTreeSelect({
title:'变更部门',
configInfo:'JE_RBAC_DEPTTREE,,,S',
disableDblclick: true,
// querys:[{code:'JE_RBAC_USER_ID' ,type:'=' , value:recs[0].SY_COMPANY_ID, cn:'and'}],
buttons: [
{
text: '确定',
type: 'primary',
closable: false,
handler: ({$plugin,$modal}) => {
const row = $plugin.value.getCurrentRecord();
if(row.nodeInfoType !=='department'){
Modal.alert("请选择要变更的部门!", "error");
return false;
}
//封装数据
const arrs = [];
recs.forEach((item)=>{
arrs.push({targetDepartmentId:row.id,sourceDepartmentId:item.JE_RBAC_DEPARTMENT_ID,userId:item.JE_RBAC_USER_ID});
});
ajax({
url:'/je/rbac/cloud/deptuser/changeDepartment',
params:{
userDeptIds:utils.encode(arrs)
},
headers:{pd:'rbac'}
}).then((data)=>{
if(data.success){
grid.store.reload();
grid.clearSelectedRecords();
$modal.close();
Modal.notice(data.message, "success");
}else{
Modal.alert(data.message, "error");
}
}).catch((error)=>{
Modal.alert(error.message, "error");
})
},
},
{
text: '取消',
type: 'primary',
closable: false,
handler: ({$plugin,$modal}) => {
$modal.close();
},
}
]
});
效果展示
最后编辑: 秦永莲 文档更新时间: 2024-07-26 14:15 作者:秦永莲