需求

点击列表中的变更部门按钮,弹出树形选择,选择数据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-08-08 13:51   作者:秦永莲