easyUI定区关联快递员js代码

easyUI定区关联快递员js代码:

        <script type="text/javascript">
            $.fn.serializeJson=function(){  
                var serializeObj={};  
                var array=this.serializeArray();  
                var str=this.serialize();  
                $(array).each(function(){  
                    if(serializeObj[this.name]){  
                        if($.isArray(serializeObj[this.name])){  
                            serializeObj[this.name].push(this.value);  
                        }else{  
                            serializeObj[this.name]=[serializeObj[this.name],this.value];
                        }  
                    }else{  
                        serializeObj[this.name]=this.value;   
                    }  
                });  
                return serializeObj;  
            }; 
            
            function doAdd(){
                $('#addWindow').window("open");
            }
            
            function doEdit(){
                alert("修改...");
            }
            
            function doDelete(){
                alert("删除...");
            }
            
            function doSearch(){
                $('#searchWindow').window("open");
            }
            
            // 关联客户窗口弹出
            function doAssociationCustomers(){
                // 判定用户是否只选择了一个定区 
                var rows = $("#grid").datagrid('getSelections');
                // 只选择了一行 
                if(rows.length == 1){
                    // 将选中定区id,设置到form的隐藏域 
                    $("#customerFixedAreaId").val(rows[0].id);
                    
                    // 显示进度条
                    $.messager.progress({
                        interval :500 // 每0.5秒加载10%, 5秒加载完
                    });
                    
                    // 发起Ajax请求 
                    $.post("../../fixedArea_findNoAssociationCustomers.action", function(data){
                        // 查询所有 未关联定区客户列表
                        $(data).each(function(){
                            // 清空列表
                            $("#noassociationSelect").empty();
                            var option = $("<option value='"+this.id+"'>"+this.username+"("+this.address+")</option>");
                            $("#noassociationSelect").append(option);
                        });
                        
                        // 请求结束后,关闭进度条
                        $.messager.progress('close');
                        // 弹出关联窗口 
                        $('#customerWindow').window('open');
                    });
                    $.post("../../fixedArea_findHasAssociationFixedAreaCustomers.action",{"id":rows[0].id} , function(data){
                        // 查询所有 关联当前选中定区客户列表
                        $(data).each(function(){
                            // 清空列表
                            $("#associationSelect").empty();
                            var option = $("<option value='"+this.id+"'>"+this.username+"("+this.address+")</option>");
                            $("#associationSelect").append(option);
                        });
                    });
                    
                }else{
                    // 没有选 或者 选了多个定区 
                    $.messager.alert('警告','定区关联客户必须(只能)选择一个定区','warning');
                }
            }
            
            //工具栏
            var toolbar = [ {
                id : 'button-search',    
                text : '查询',
                iconCls : 'icon-search',
                handler : doSearch
            }, {
                id : 'button-add',
                text : '增加',
                iconCls : 'icon-add',
                handler : doAdd
            }, {
                id : 'button-edit',    
                text : '修改',
                iconCls : 'icon-edit',
                handler : doEdit
            },{
                id : 'button-delete',
                text : '删除',
                iconCls : 'icon-cancel',
                handler : doDelete
            },{
                id : 'button-association-customer',
                text : '关联客户',
                iconCls : 'icon-sum',
                handler : doAssociationCustomers
            },{
                id : 'button-association-courier',
                text : '关联快递员',
                iconCls : 'icon-sum',
                handler : function(){
                    // 判断是否已经选中了一个定区,弹出关联快递员窗口 
                    var rows = $("#grid").datagrid('getSelections');
                    if(rows.length==1){
                        // 只选择了一个定区
                        // 弹出定区关联快递员 窗口 
                        $("#courierWindow").window('open');
                        // 保存选中定区id 到表单隐藏域
                        $("#courierFixedAreaId").val(rows[0].id);
                    }else{
                        // 没有选中定区,或者选择 了多个定区
                        $.messager.alert("警告","关联快递员,只能(必须)选择一个定区","warning");
                    }
                }
            }];
            // 定义列
            var columns = [ [ {
                field : 'id',
                title : '编号',
                width : 80,
                align : 'center',
                checkbox:true
            },{
                field : 'fixedAreaNum',
                title : '定区编号',
                width : 120,
                align : 'center',
                formatter : function(value,row,index){
                    return row.id ;
                }
            },{
                field : 'fixedAreaName',
                title : '定区名称',
                width : 120,
                align : 'center'
            }, {
                field : 'fixedAreaLeader',
                title : '负责人',
                width : 120,
                align : 'center'
            }, {
                field : 'telephone',
                title : '联系电话',
                width : 120,
                align : 'center'
            }, {
                field : 'company',
                title : '所属公司',
                width : 120,
                align : 'center'
            } ] ];
            
            $(function(){
                // 先将body隐藏,再显示,不会出现页面刷新效果
                $("body").css({visibility:"visible"});
                
                // 定区数据表格
                $('#grid').datagrid( {
                    iconCls : 'icon-forward',
                    fit : true,
                    border : true,
                    rownumbers : true,
                    striped : true,
                    pageList: [30,50,100],
                    pagination : true,
                    toolbar : toolbar,
                    url : "../../fixedArea_pageQuery.action",
                    idField : 'id',
                    columns : columns,
                    onDblClickRow : doDblClickRow
                });
                
                // 添加、修改定区
                $('#addWindow').window({
                    title: '添加修改定区',
                    width: 600,
                    modal: true,
                    shadow: true,
                    closed: true,
                    height: 400,
                    resizable:false
                });
                
                // 查询定区
                $('#searchWindow').window({
                    title: '查询定区',
                    width: 400,
                    modal: true,
                    shadow: true,
                    closed: true,
                    height: 400,
                    resizable:false
                });
                
                // 点击查询按钮,将form数据转换为json 绑定datagrid 
                $("#btn").click(function(){
                    // 转换form对象 到 json
                    var params = $("#searchForm").serializeJson();
                    // 绑定datagrid 
                    $("#grid").datagrid('load',params);
                    // 关闭查询窗口 
                    $("#searchWindow").window('close');
                });
                
                // 点击 添加定区的保存按钮,实现添加定区
                $("#save").click(function(){
                    // 先校验表单 
                    if($("#fixedAreaForm").form('validate')){
                        $("#fixedAreaForm").submit();
                    }else{
                        // 提示用户
                        $.messager.alert("警告","表单存在非法数据项!","warning");
                    }
                });
                
                // 向右移动按钮 
                $("#toRight").click(function(){
                    $("#associationSelect").append($("#noassociationSelect option:selected"));
                });
                
                // 向左移动按钮
                $("#toLeft").click(function(){
                    $("#noassociationSelect").append($("#associationSelect option:selected"));
                });
                
                // 为关联客户按钮,添加click事件
                $("#associationBtn").click(function(){
                    // 选中所有 已关联定区客户select中选项 
                    $("#associationSelect option").attr("selected","selected");
                    // 提交表单
                    $("#customerForm").submit();
                });
                
                // 为关联快递员按钮,添加click事件
                $("#associationCourierBtn").click(function(){
                    // 判断表单是否通过校验
                    if($("#courierForm").form('validate')){
                        $("#courierForm").submit();
                    }else{
                        $.messager.alert("警告","表单中存在非法数据","warning");
                    }
                });
            });
        
            function doDblClickRow(){
                alert("双击表格数据...");
                $('#association_subarea').datagrid( {
                    fit : true,
                    border : true,
                    rownumbers : true,
                    striped : true,
                    url : "../../data/sub_area.json",
                    columns : [ [{
                        field : 'id',
                        title : '分拣编号',
                        width : 120,
                        align : 'center'
                    },{
                        field : 'province',
                        title : '省',
                        width : 120,
                        align : 'center',
                        formatter : function(data,row ,index){
                            if(row.area!=null){
                                return row.area.province;
                            }
                            return "";
                        }
                    }, {
                        field : 'city',
                        title : '市',
                        width : 120,
                        align : 'center',
                        formatter : function(data,row ,index){
                            if(row.area!=null){
                                return row.area.city;
                            }
                            return "";
                        }
                    }, {
                        field : 'district',
                        title : '区',
                        width : 120,
                        align : 'center',
                        formatter : function(data,row ,index){
                            if(row.area!=null){
                                return row.area.district;
                            }
                            return "";
                        }
                    }, {
                        field : 'addresskey',
                        title : '关键字',
                        width : 120,
                        align : 'center'
                    }, {
                        field : 'startnum',
                        title : '起始号',
                        width : 100,
                        align : 'center'
                    }, {
                        field : 'endnum',
                        title : '终止号',
                        width : 100,
                        align : 'center'
                    } , {
                        field : 'single',
                        title : '单双号',
                        width : 100,
                        align : 'center'
                    } , {
                        field : 'assistKeyWords',
                        title : '辅助关键字',
                        width : 100,
                        align : 'center'
                    } ] ]
                });
                $('#association_customer').datagrid( {
                    fit : true,
                    border : true,
                    rownumbers : true,
                    striped : true,
                    url : "../../data/association_customer.json",
                    columns : [[{
                        field : 'id',
                        title : '客户编号',
                        width : 120,
                        align : 'center'
                    },{
                        field : 'name',
                        title : '客户名称',
                        width : 120,
                        align : 'center'
                    }, {
                        field : 'company',
                        title : '所属单位',
                        width : 120,
                        align : 'center'
                    }]]
                });
                $('#association_courier').datagrid({
                    fit : true,
                    border : true,
                    rownumbers : true,
                    striped : true,
                    url : "../../data/courier.json",
                    columns : [[{
                        field : 'id',
                        title : '编号',
                        width : 120,
                        align : 'center'
                    },{
                        field : 'courierNum',
                        title : '快递员工号',
                        width : 120,
                        align : 'center'
                    },{
                        field : 'name',
                        title : '快递员姓名',
                        width : 120,
                        align : 'center'
                    }, {
                        field : 'standard.name',
                        title : '收派标准',
                        width : 120,
                        align : 'center',
                        formatter : function(value,row,index){
                            if(row.standard != null){
                                return row.standard.name;
                            }
                            return null ; 
                        }
                    }, {
                        field : 'taketime.name',
                        title : '收派时间',
                        width : 120,
                        align : 'center',
                        formatter : function(value,row,index){
                            if(row.taketime != null){
                                return row.taketime.name;
                            }
                            return null ; 
                        }
                    }, {
                        field : 'company',
                        title : '所属单位',
                        width : 120,
                        align : 'center'
                    }]]
                });
            }
        </script>

 

posted @ 2018-09-24 10:28  学亮编程手记  阅读(305)  评论(0编辑  收藏  举报