| /** | 
|  * 常用工具和方法 本js依赖jQuery | 
|  *  | 
|  * @author 姜友瑶 | 
|  */ | 
|   | 
| var MTools = { | 
|         /** | 
|          * 用逗号分开的存的id是否包含对应的id | 
|          * 如比较 123,123,124 中是否包含12这个主键 | 
|          * 比对的方法是 字符串中是否包含"^12$" "^12,.*" 或者  ".+,12$"  或者  ".+,12,$"或者 ".+,12,.+" 字符串 | 
|          * */ | 
|         isContainId:function(ids,id){ | 
|             var reg1=new RegExp("^"+id+"$|^"+id+",.*|.+,"+id+"$|.+,"+id+",$|.+,"+id+",.+");  | 
|             if(reg1.test(ids)){ | 
|                 return true; | 
|             }else{ | 
|                 return false; | 
|             } | 
|         }, | 
|     /** | 
|      * 对表格中单挑数据进行处理 请在url后添加参数 url: 远程地址 msg:提示信息 callbackfn:操作成功后回调函数 | 
|      */ | 
|     handleItem : function(url, msg, callbackfn) { | 
|         layer.confirm(msg, function() { | 
|             $.AjaxProxy().invoke(url, function(loj) { | 
|                 layer.msg(loj.getValue("info"), { | 
|                       icon: 1, | 
|                       time: 1000 //2秒关闭(如果不配置,默认是3秒) | 
|                     }, function(){ | 
|                       //do something | 
|                         if (callbackfn) { | 
|                             callbackfn(); | 
|                         } | 
|                     });    | 
|             }); | 
|         }); | 
|     }, | 
|   | 
|     /** 返回一个随机数 */ | 
|     random : function() { | 
|         return Math.floor(Math.random() * (1000000000 + 1)); | 
|     }, | 
|   | 
|     /** 返回一个随机字符串 */ | 
|     randomStr : function() { | 
|         return 'pp' + Math.floor(Math.random() * (1000000000 + 1)); | 
|     }, | 
|   | 
|     /** 页面定向 */ | 
|     redirect : function(url) { | 
|         window.location.href = url; | 
|     }, | 
|   | 
|     /** 页面定向 无视iframe */ | 
|     toPredirect : function(url) { | 
|         window.top.location.href = url; | 
|     }, | 
|   | 
|     /** 图片在上传的时候,需要在页面嵌套一个jspifram页面 页面处理完图片后服务器返回脚本代码控制父窗口显示图片。 */ | 
|     upolad : function(img_id, file_id) { | 
|         if ($("#" + file_id).val() == '') { | 
|             layer.alert("请先选择要上传的文件!"); | 
|             return; | 
|         } | 
|         $("#" + img_id).attr("src", | 
|                 basePath + "/resource/images/loadingbig.gif"); | 
|         $("#" + img_id).show(); | 
|     }, | 
|   | 
|     /** 在页面删除一个节点 */ | 
|     delThis : function(id) { | 
|         $('#' + id).remove(); | 
|     }, | 
|   | 
|     /** 在页面删除一个节点,带上滑效果 */ | 
|     delThisSlide : function(id) { | 
|         $('#' + id).slideUp("fast", function() { | 
|             $('#' + id).remove(); | 
|         }); | 
|     }, | 
|   | 
|     changeValidateCode : function(id) { | 
|         $("#" + id).attr("src", | 
|                 basePath + "/common/validateImg?rand=" + this.random()) | 
|     }, | 
|   | 
|     login : function(dataform) { | 
|         $.post(basePath + "/common/dologin", $(".dataForm").serialize(), | 
|                 function(data) { | 
|                     // 全局异常显示 | 
|                     if (data.status == 'ok') { | 
|                         MTools.redirect(basePath + "/" + data.page); | 
|                     } else { | 
|                         layer.msg(data.info, { | 
|                             icon : 5, | 
|                             time : 50000 | 
|                         }); | 
|                         MTools.changeValidateCode('code'); | 
|                     } | 
|                 }); | 
|     }, | 
|   | 
|     chooesFile : function() { | 
|         $("#fileText").trigger("click"); | 
|     }, | 
|     upFile : function() { | 
|         $("#submitBtn").trigger("click"); | 
|     }, | 
|     selectFile : function(node) { | 
|         var filePath = $("#fileText").val() | 
|         var fileName = filePath.substring(filePath.lastIndexOf("\\") + 1, | 
|                 filePath.length); | 
|         $(node).val(fileName); | 
|     }, | 
|      | 
|     /** | 
|      * 根据autoFull的css类自动填充select框里面的option | 
|      * selecteder :选择器名 | 
|      * value: 默认值为id  | 
|      * file: 默认值name | 
|      * url: 请求路径 | 
|      * param:{type : ''} 对象 为查询条件属性 | 
|      * defaultValue: 默认值  | 
|      * by luoyuanhong  2016-7-13 | 
|      */ | 
|      autoFullSelect:function(_initParam){ | 
|         console.log("---"); | 
|         var initParam={ | 
|                 value:"id",//value默认值 | 
|                 filed:"name",//filed默认值 | 
|                 selecteder:".autoFull" | 
|                  | 
|         } | 
|         if(_initParam){ | 
|             initParam=$.extend(initParam,_initParam) | 
|         } | 
|          | 
|          | 
|         $(initParam.selecteder).each(function(){ | 
|             var _this=$(this); | 
|             var def= _this.data("def")== null||_this.data("def")=="" ?  initParam.def :  _this.data("def"); | 
|              | 
|             var param = _this.data("param") == null ?  initParam.param:eval( "(" + _this.data("param") +")" ); | 
|             var value = _this.data("value") == null ?  initParam.value :  _this.data("value"); | 
|             var filed = _this.data("filed")== null ?  initParam.filed :  _this.data("filed"); | 
|             var url = _this.data("url"); | 
|             //增加一个排除不显示的 值得,参数是数组如 jsp的input属性data-hidden=1,2 | 
|             eval( "var hidden = [" + _this.data("hidden") +"]" ); | 
|             //取服务器请求数据 | 
|                 $.AjaxProxy({ | 
|                     p:    param | 
|                     }).invoke(url,function(loj){ | 
|                         var html =''; | 
|                         a:for(var i=0;i<loj.getRowCount();i++){ | 
|                             b:for(var j=0;j<hidden.length;j++){ | 
|                              if(hidden[j] && hidden[j]==loj.getString(i,value)){ | 
|                                 html +=""; | 
|                                 continue a; | 
|                                  }  | 
|                              } | 
|                         if (def&& MTools.isContainId (def + "",loj.getString( i, value))) { | 
|                                 /*修改页面仍然要保存请选择页面因此去掉 _this.html('');*/ | 
|                                 html += '<option selected="selected" value="'+loj.getString(i,value)+'">'+ loj.getString(i,filed)+"</option>"; | 
|                             } | 
|                              | 
|                             else{ | 
|                                 html += '<option value="'+loj.getString(i,value)+'">'+ loj.getString(i,filed)+"</option>"; | 
|                             } | 
|                          | 
|                         } | 
|                         _this.append(html); | 
|                     }); | 
|         }); | 
|          | 
|     }, | 
|         /** | 
|          * 初始化时间控件方法 | 
|          * @param _initParam: | 
|          */ | 
|         ininDatetimepicker:function(_initParam){ | 
|             var initParam = { | 
|                 format : "yyyy-mm-dd", //默认显示年与日,如果想显示十分秒:"yyyy-mm-dd hh:ii:ss" | 
|                 minView: "month",     //"month",只显示年月日的选择,不会再跳转去选择时分秒;如果想要选择时分秒的:"hour" | 
|                 minuteStep: 5,    //此数值被当做步进值用于构建小时视图。对于每个 minuteStep 都会生成一组预设时间(分钟)用于选择 | 
|                 autoclose: true,    //true,选择完是否自动关闭,如果不关闭,改为:false | 
|                 weekStart : 1, //一周从哪一天开始。0(星期日)到6(星期六) | 
|                 timeSelecter: ".datetimepicker",  //时间选择器的类名 | 
|                 state : "none", //none,不做限制,beforeToday:只能选择当前日期之前,aferToday:只能选择当前日期之后 | 
|             } | 
|              | 
|             if(_initParam!=null){ | 
|                 //把传过来的参数覆盖默认参数 | 
|                 initParam = $.extend(initParam, _initParam); | 
|             } | 
|             if(initParam.state=="beforeToday"){ | 
|                 //日期只能选择当前日,及当前日之前的日期 | 
|                 $(initParam.timeSelecter).datetimepicker({ | 
|                     format : initParam.format, | 
|                     minView: initParam.minView,  | 
|                     autoclose: initParam.autoclose, | 
|                     minuteStep: initParam.minuteStep, | 
|                     weekStart : initParam.weekStart, | 
|                     endDate : new Date(), | 
|                 }); | 
|             }else if(initParam.state=="aferToday"){ | 
|                 //日期只能选择当前日,及当前日之后的日期 | 
|                 $(initParam.timeSelecter).datetimepicker({ | 
|                     format : initParam.format, | 
|                     minView: initParam.minView,  | 
|                     autoclose: initParam.autoclose, | 
|                     minuteStep: initParam.minuteStep, | 
|                     weekStart : initParam.weekStart, | 
|                     startDate : new Date(), | 
|                 }); | 
|             }else{ | 
|                 //可以选择任意日期 | 
|                 $(initParam.timeSelecter).datetimepicker({ | 
|                     format : initParam.format, | 
|                     minView: initParam.minView,  | 
|                     autoclose: initParam.autoclose, | 
|                     minuteStep: initParam.minuteStep, | 
|                     weekStart : initParam.weekStart, | 
|                 }); | 
|             }     | 
|         }, | 
|         /** | 
|          * 结束时间不能小于开始时间 | 
|          * beginTimeId:开始时间控件的id,注意要传# | 
|          * endTimeId:结束时间控件的id,注意要传# | 
|          */ | 
|         limitStartEndTime:function(_initParam){ | 
|             var initParam = { | 
|                     beginTimeId : "#beginTime", | 
|                     endTimeId : "#endTime" | 
|                 }         | 
|             if(_initParam!=null){ | 
|                 initParam = $.extend(initParam, _initParam); | 
|             } | 
|             //限制结束时间不能大于开始时间 | 
|             $(initParam.beginTimeId).datetimepicker().on('changeDate', function(e){ | 
|                 var currentTime = e.date; | 
|                 $(initParam.endTimeId).datetimepicker('setStartDate', currentTime); | 
|                 //这里做级联 | 
|                 var beginTime = $(initParam.beginTimeId).val(); | 
|                 var endTime = $(initParam.endTimeId).val(); | 
|                 if(beginTime!= "" && endTime!= ""){                 | 
|                     $(initParam.endTimeId).val(beginTime); | 
|                 } | 
|             });                 | 
|         },         | 
|         /*关闭弹出的窗口*/ | 
|         closeForm:function(){ | 
|              var index = parent.layer.getFrameIndex(window.name); //获取窗口索引 | 
|              parent.layer.close(index); | 
|         } | 
|      | 
| } |