/** 
 | 
 * 常用工具和方法 本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); 
 | 
        } 
 | 
     
 | 
} 
 |