operation.orgManageMain.js 7.4 KB
/**
 * 组织机构业务
 */
(function($) {
    //右击选择的行信息
    var rowData = null;
    //机构列表
    var orgList = [];
    $.h.org = {
        //初始化
        oninit:function(){
            //请求组织机构列表
            // var url = '/web/organization/getTree';
            // $.get(url,function(e){
            //     console.log(e.data)
            //     if(e.code==0){
            //         $("#win_base_org_grid").treegrid("loadData",e.data);
            //         $.h.org.createOrgList(e.data);
            //     }
            // });

            $("#win_base_org_grid").treegrid('unselectAll');
            $('#win_base_org_grid').treegrid('reload');
        },
        //生成组织机构数组(非树形)
        createOrgList:function(data){
            for (let i = 0; i <data.length; i++) {
                let d = data[i];
                orgList.push({org_id:d.org_id,cn_name:d.cn_name});
                if(d.hasOwnProperty('children')){
                    $.h.org.createOrgList(d.children);
                }
            }
        },
        //双击节点
        onDblClickRow:function(row){
            //判断如果类型为空,赋值默认值
            if(!row.org_type){
                row.org_type = 1;
            }
            if(!row.org_sort){
                row.org_sort = 1;
            }
            $("#orgForm").form("load",row);
            $("#org_status").switchbutton('setValue',row.org_status);
            if(row.org_status){
                $("#org_status").switchbutton('check');
            }else{
                $("#org_status").switchbutton('uncheck');
            }

            $("#orgSubmitBTN").linkbutton({text:'修改'});
            $("#orgSaveBox").panel("setTitle","修改机构");
            //得出双击行的父节点
            let p = $("#win_base_org_grid").treegrid("getParent",row.org_id);
            if(p){
                $("#org_pname").textbox("setText",p.cn_name);
            }

        },
        //单击节点
        onClickRow:function(row){
            console.log('this is onclickrow');
        },
        //重置
        reset:function(){
            $('#orgForm').form('clear');
            $("#orgSubmitBTN").linkbutton({text:'添加'});
            $("#org_status").switchbutton('setValue',1);
            $("#org_status").switchbutton('check');
            $("#org_pname").textbox({value:'请在左侧列表选择'});
            $("#org_type").combobox("setValue",1);
            $("#org_sort").numberbox("setValue",1);
            $("#orgSaveBox").panel("setTitle","添加机构");
        },
        //提交
        onSubmitForm:function(){
            var target = $(this);
            var url = '/web/organization/store';
            if($("#org_id").val()>0){
                url = '/web/organization/update';
            }
            $("#orgForm").form("submit",{
                url:url,
                onSubmit:function(param){
                    param.org_status = $("#org_status").switchbutton("options").value;
                    if(!$("#org_pid").val()){
                        $.messager.show({
                            title:'错误',
                            msg:"请选择上级机构",
                            timeout:2000,
                            showType:'show'
                        });
                        return false;
                    }
                    var isValid = $(this).form('validate');
                    if (isValid) {
                        target.linkbutton({
                            disabled: true,
                            iconCls: 'kbi-icon-loading'
                        });
                    }
                    return isValid;
                },
                success:function(data){
                    data = $.parseJSON(data);
                    if (data.code == 0) {
                        $.h.org.oninit();
                        $.h.org.reset();
                        $.messager.show({
                            title:'提示',
                            msg:"保存成功!",
                            timeout:2000,
                            showType:'show'
                        });
                    }else{
                        $.messager.show({
                            title:'错误',
                            msg:data.msg,
                            timeout:2000,
                            showType:'show'
                        });
                    }
                    target.linkbutton({
                        disabled: false,
                        iconCls: 'icon-save'
                    });
                }
            })
        },
        //改变表单中'状态'时
        changeStatus:function(checked){
            let v = checked ? 1 : 0;
            $(this).switchbutton("setValue",v);
        },
        //删除机构 提示
        delOrgTip:function(){
            let selectedRow = $("#win_base_org_grid").datagrid('getSelected');
            if(selectedRow!=null && selectedRow.org_id>0){
                $.messager.confirm('警告', '确定要删除<'+selectedRow.cn_name+'>吗?', function(r){
                    if (r){
                        //进行删除操作
                        $.h.org.deleteOrg(selectedRow.org_id);
                    }
                });
            }else{
                $.messager.alert("提示","请选择机构!");
            }
        },
        //删除机构
        deleteOrg:function(id){
            $.get("/web/organization/delete?org_id="+id,function(data){
                let d = data;
                if(d.code==0){
                    $.h.org.oninit();
                    $.messager.show({
                        title:'提示',
                        msg:'删除成功!',
                        timeout:2000,
                        showType:'show'
                    });
                }else{
                    $.messager.alert("错误",d.msg);
                }
            });
        },
        //右键单击
        rightClick:function(e, row){
            e.preventDefault();
            rowData = row;
            console.log(row);
            $("#win_base_org_grid").treegrid("select",row.org_id);
            $('#mm').menu('show', {
                left: e.pageX,
                top: e.pageY
            });
        },
        // 监听点击右键菜单
        menuHandler:function(item){
            switch (item.name) {
                case 'selectUpOrg':
                    $("#org_pname").textbox("setText",rowData.cn_name);
                    $("#org_pid").val(rowData.org_id);
                    break;
            }
        },
        //生成选为上级的按钮
        createSelectUpBtn:function(value,row,index){
            let a = '<a href="#" class="createSelectUpBtn easyui-linkbutton" data-options="iconCls:\'icon-add\'" onclick="$.h.org.csubClick('+row.org_id+')"></a>';
            return a;
        },
        //'选为上级机构'按钮点击方法
        csubClick:function(org_id){
            let rowData = $("#win_base_org_grid").treegrid("find",org_id);
            $("#org_pname").textbox("setText",rowData.cn_name);
            $("#org_pid").val(rowData.org_id);
        },
        //搜索机构
        searchOrg:function(){
            console.log("搜索机构,待完成...");
        },
        //修改表单尺寸触发
        onReSizeForm:function(width){
            if(width<=558){$('#formflow li').css({'width':'100%'})}else{$('#formflow li').css({'width':'49%'})}
        }
    }
})(jQuery);