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: '添加修改定区', 600, modal: true, shadow: true, closed: true, height: 400, resizable:false }); // 查询定区 $('#searchWindow').window({ title: '查询定区', 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>