helper.js(20170210)

复制代码
/// <reference path="../Lib/jquery-3.0.0.min.js" />

//***************************************/公共参数辅助对象***************************************/

//公共参数辅助对象
var ObjParameter = {

    //获取url参数值
    //注意:参数值最好不用中文,会有编码问题
    //name:参数名称
    getQueryString: function (name) {
        var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
        var r = window.location.search.substr(1).match(reg);
        if (r != null) return unescape(r[2]); return null;
    },


    //decodeURI转码过的,主要防止中文乱码
    //获取url参数值
    //注意:参数值最好不用中文,会有编码问题
    //name:参数名称
    getQueryStringDecodeURI: function (name) {
        var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
        var r = decodeURI(window.location.search).substr(1).match(reg);
        if (r != null) return unescape(r[2]); return null;
    }
};

var dateObj;

//日期时间辅助方法
var objDate = {
    //获取当前日期:格式 2016-11-15
    //Separate分隔符 默认"-"
    GetCurrentDate: function (Separate) {
        dateObj = new Date();
        if (!objValidate.NotNull(Separate)) {
            Separate = "-";
        }

        var _Year = dateObj.getFullYear();
        var _Month = (dateObj.getMonth() + 1);
        var _Date = dateObj.getDate();

        if (_Month < 10)
        {
            _Month = "0" + _Month;
        }

        if (_Date < 10) {
            _Date = "0" + _Date;
        }

        var result = _Year + Separate + _Month + Separate + _Date;
        return result;
    },

    //获取当前时间:格式 17:36:12
    //IsSeconds是否精确到秒,1是,0否,默认不需要秒
    GetCurrentTime: function (IsSeconds) {
        dateObj = new Date();

        var result = dateObj.getHours() + ":" + dateObj.getMinutes()
        if (IsSeconds == 1) {
            result += ":" + dateObj.getSeconds();
        }

        return result;
    },

    //获取当前日期与时间:格式 2016-11-15 17:47:27
    //Separate日期分隔符 默认"-"
    //IsSeconds是否精确到秒,1是,0否,默认不需要秒
    GetCurrentDateTime: function (Separate, IsSeconds) {

        var result = objDate.GetCurrentDate(Separate) + " " + objDate.GetCurrentTime(IsSeconds);

        return result;
    },

    ///获取指定年月的天数
    //year:年份
    //month:月份
    GetMonthDays: function (year, month) {
        var day = new Date(year, month, 0);
        //获取天数:
        var daycount = day.getDate();
        return daycount;
    },

    //日期加减天数
    //datestr:要运算的时间,默认当前日期
    //type:运算类型 ("+" or "-"),默认 +
    //separate:时间分隔符 ("-" or "/" ),默认 -
    //numberDays:天数,默认 1
    //返回加减后的日期
    DateOperation: function (datestr, type, separate, numberDays) {

        datestr = objValidate.NotNull(datestr) ? datestr : objDate.GetCurrentDate();
        type = objValidate.NotNull(type) ? type : "+";
        separate = objValidate.NotNull(separate) ? separate : "-";
        numberDays = objValidate.NotNull(numberDays) ? numberDays : 1;



        if (numberDays == 0) {
            var date = new Date(datestr);
            var myyear = date.getFullYear();
            var mymonth = date.getMonth() + 1;
            var myweekday = date.getDate();

            return (myyear + separate + mymonth + separate + myweekday);
        }

        for (var i = 0; i < numberDays; i++) {

            var date = new Date(datestr);
            var myyear = date.getFullYear();
            var mymonth = date.getMonth() + 1;
            var myweekday = date.getDate();
            //var myhours = date.getHours();
            //var myminutes = date.getMinutes();

            if (type == "+") {
                myweekday = myweekday + 1;
                //超过当月所有天数就加一个月(进入下一月)
                if (objDate.GetMonthDays(myyear, mymonth) < myweekday) {
                    mymonth = mymonth + 1;
                    myweekday = 1;

                    //超过12月就加一年(进入下一年)
                    if (mymonth > 12) {
                        myyear = myyear + 1;
                        mymonth = 1;
                        myweekday = 1;
                    }
                }
            }

            if (type == "-") {
                myweekday = myweekday - 1;

                //低于1号就减一个月(进入上一月)
                if (1 > myweekday) {
                    mymonth = mymonth - 1;
                    myweekday = objDate.GetMonthDays(myyear, mymonth);

                    //低于1月就减一年(进入上一年)
                    if (mymonth < 1) {
                        myyear = myyear - 1;
                        mymonth = 12;
                        myweekday = objDate.GetMonthDays(myyear, mymonth);
                    }
                }
            }

            if (mymonth < 10) {
                mymonth = "0" + mymonth;
            }
            if (myweekday < 10) {
                myweekday = "0" + myweekday;
            }

            datestr = myyear + separate + mymonth + separate + myweekday;
        }

        return (myyear + separate + mymonth + separate + myweekday);

    },

    //时间转换字符
    //datetime要转换的时间字符串 默认为:0000/00/00
    //separate 分隔符2009-06-12或2009/06/12 ("/","-") 默认 "-"
    //length长度2009-06-12(10)或2009-06-12 17:18(15)或2009-06-12 17:18:05(18) 默认10
    //空时间返回0000/00/00 或者 0000-00-00
    DateToStr: function (datetime, separate, length) {

        separate = objValidate.NotNull(separate) ? separate : "-";
        length = objValidate.NotNull(length) ? length : 10;

        if (!objValidate.NotNull(datetime)) {
            
            return "0000" + separate + "00" + separate + "00";
        }
        var datetime = new Date(datetime);
        var year = datetime.getFullYear();
        var month = datetime.getMonth() + 1;//js从0开始取 
        var date = datetime.getDate();
        var hour = datetime.getHours();
        var minutes = datetime.getMinutes();
        var second = datetime.getSeconds();

        if (month < 10) {
            month = "0" + month;
        }
        if (date < 10) {
            date = "0" + date;
        }
        if (hour < 10) {
            hour = "0" + hour;
        }
        if (minutes < 10) {
            minutes = "0" + minutes;
        }
        if (second < 10) {
            second = "0" + second;
        }
        var time = year + "-" + month + "-" + date + " " + hour + ":" + minutes + ":" + second;

        if (length == 10) {

            time = year + separate + month + separate + date;
        }
        if (length == 15) {

            time = year + separate + month + separate + date + " " + hour + ":" + minutes;
        }
        if (length == 18) {

            time = year + separate + month + separate + date + " " + hour + ":" + minutes + ":" + second;
        }

        //2009-06-12 17:18:05
        return time;
    }

};

//***************************************/公共验证辅助对象***************************************/

//公共验证辅助对象
var objValidate = {

    //是否为登录状态
    //返回true则已登录  false则未登录
    IsLogin: function () {

        return objValidate.NotNull(objsessionStorage.GetUserInfo());

    },

    //手机号码验证
    //返回true or false
    IsMobilePhone: function (val) {
        val = val.ResetBlank().trim();
        var reg = /^0?1[2|3|4|5|6|7|8|9][0-9]\d{8}$/;
        if (reg.test(val)) {
            return true;
        } else {
            return false;
        };
    },

    //固定电话号码验证
    //返回true or false
    IsTelephone: function (val) {

        val = val.ResetBlank().trim();
        var reg = /^(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14}$/;
        if (reg.test(val)) {
            return true;
        } else {
            return false;
        };
    },


    //非空验证,"",null,undefined
    //空则返回 false 非空返回 true
    NotNull: function (val) {

        if (typeof (val) == "string")
        {
            val = val.trim();
        }

        if (val === "" || val === "null" || val === "undefined" || val === null || val === undefined) {
            return false;
        }
        return true;
    },


    //邮箱验证
    //str:邮箱
    emailCheck: function (str) {

        var reg = /^([\.a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/;
        return reg.test(str);

    },

    //是否为纯汉字
    //返回bool
    IsChinese: function (val) {

        var myReg = /^[\u4e00-\u9fa5]+$/;
        if (myReg.test(val)) {
            return true;
        } else {
            return false;
        }

    },

    //验证中文姓名
    //必须为纯中文
    //长度必须在2-5之间
    IsNamezhGeShi: function (val) {
        val = val.trim();
        if (!objValidate.IsChinese(val) || val.length > 5 || val.length < 2) {
            return false;
        }
        else {
            return true;
        }
    },

    //身份证验证
    //card:身份证号码
    //返回:1 请输入身份证号,身份证号不能为空
    //返回:2 您输入的身份证号码不正确,请重新输入
    //返回:3 您输入的身份证号码不正确,请重新输入
    //返回:4 您输入的身份证号码生日不正确,请重新输入
    //返回:5 您的身份证校验位不正确,请重新输入
    //返回:0 验证通过
    checkIDCard: function (card) {


        //是否为空
        if (!objValidate.NotNull(card)) {
            //alert('请输入身份证号,身份证号不能为空');
            //document.getElementById('card_no').focus;
            return 1;
        }



        //校验长度,类型
        if (isCardNo(card) === false) {
            //alert('您输入的身份证号码不正确,请重新输入');

            return 2;
        }
        //检查省份
        if (checkProvince(card) === false) {
            //alert('您输入的身份证号码不正确,请重新输入');

            return 3;
        }
        //校验生日
        if (checkBirthday(card) === false) {
            //alert('您输入的身份证号码生日不正确,请重新输入');

            return 4;
        }
        //检验位的检测
        if (checkParity(card) === false) {
            //alert('您的身份证校验位不正确,请重新输入');

            return 5;
        }
        return 0;


    },

    ///是否为纯数字
    isDigital: function (val) {
        var reg = new RegExp("^[0-9]*$");
        return reg.test(val);
    },


    ///只能输入字母与数字
    isLettersOrNumber: function (val) {
        var reg = new RegExp("^[A-Za-z0-9]*$");
        return reg.test(val);
    },

    //用户名验证,只可以用字母数字下划线做用户名,必须是字母开头,6-16字
    ValiUser: function (Name) {
        var patrn = /^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){5,15}$/;
        if (!patrn.exec(Name)) return false
        return true
    },


    //验证对象是否为json对象
    //obj:要验证的对象
    //是json对象则返回true 否则返回false
    isJsonObj: function (obj) {

        var isjson = typeof (obj) == "object" && Object.prototype.toString.call(obj).toLowerCase() == "[object object]" && !obj.length;
        return isjson;

    },

    //验证字符是否为json格式
    //str:要验证的字符串
    //是json格式则返回true 否则返回false
    isJsonStr: function (str) {

        try {

            if (!objValidate.NotNull(str))
            {
                return false;
            }

            if (typeof (str) == "number" || objValidate.isDigital(str))
            {
                return false;
            }


            if (typeof (str) == "number") {
                return false;
            }

            $.parseJSON(str);
            return true;
        } catch (e) {
            return false;
        }

    },


};

//***************************************/身份证验证所用到方法***************************************/

var vcity = {
    11: "北京", 12: "天津", 13: "河北", 14: "山西", 15: "内蒙古",
    21: "辽宁", 22: "吉林", 23: "黑龙江", 31: "上海", 32: "江苏",
    33: "浙江", 34: "安徽", 35: "福建", 36: "江西", 37: "山东", 41: "河南",
    42: "湖北", 43: "湖南", 44: "广东", 45: "广西", 46: "海南", 50: "重庆",
    51: "四川", 52: "贵州", 53: "云南", 54: "西藏", 61: "陕西", 62: "甘肃",
    63: "青海", 64: "宁夏", 65: "新疆", 71: "台湾", 81: "香港", 82: "澳门", 91: "国外"
};

//检查号码是否符合规范,包括长度,类型
isCardNo = function (card) {
    //身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X
    var reg = /(^\d{15}$)|(^\d{17}(\d|X)$)/;
    if (reg.test(card) === false) {
        return false;
    }

    return true;
};


//取身份证前两位,校验省份
checkProvince = function (card) {
    var province = card.substr(0, 2);
    if (vcity[province] == undefined) {
        return false;
    }
    return true;
};


//检查生日是否正确
checkBirthday = function (card) {
    var len = card.length;
    //身份证15位时,次序为省(3位)市(3位)年(2位)月(2位)日(2位)校验位(3位),皆为数字
    if (len == '15') {
        var re_fifteen = /^(\d{6})(\d{2})(\d{2})(\d{2})(\d{3})$/;
        var arr_data = card.match(re_fifteen);
        var year = arr_data[2];
        var month = arr_data[3];
        var day = arr_data[4];
        var birthday = new Date('19' + year + '/' + month + '/' + day);
        return verifyBirthday('19' + year, month, day, birthday);
    }
    //身份证18位时,次序为省(3位)市(3位)年(4位)月(2位)日(2位)校验位(4位),校验位末尾可能为X
    if (len == '18') {
        var re_eighteen = /^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)$/;
        var arr_data = card.match(re_eighteen);
        var year = arr_data[2];
        var month = arr_data[3];
        var day = arr_data[4];
        var birthday = new Date(year + '/' + month + '/' + day);
        return verifyBirthday(year, month, day, birthday);
    }
    return false;
};



//校验日期
verifyBirthday = function (year, month, day, birthday) {
    var now = new Date();
    var now_year = now.getFullYear();
    //年月日是否合理
    if (birthday.getFullYear() == year && (birthday.getMonth() + 1) == month && birthday.getDate() == day) {
        //判断年份的范围(3岁到100岁之间)
        var time = now_year - year;
        if (time >= 3 && time <= 100) {
            return true;
        }
        return false;
    }
    return false;
};



//校验位的检测
checkParity = function (card) {
    //15位转18位
    card = changeFivteenToEighteen(card);
    var len = card.length;
    if (len == '18') {
        var arrInt = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);
        var arrCh = new Array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2');
        var cardTemp = 0, i, valnum;
        for (i = 0; i < 17; i++) {
            cardTemp += card.substr(i, 1) * arrInt[i];
        }
        valnum = arrCh[cardTemp % 11];
        if (valnum == card.substr(17, 1)) {
            return true;
        }
        return false;
    }
    return false;
};



//15位转18位身份证号
changeFivteenToEighteen = function (card) {
    if (card.length == '15') {
        var arrInt = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);
        var arrCh = new Array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2');
        var cardTemp = 0, i;
        card = card.substr(0, 6) + '19' + card.substr(6, card.length - 6);
        for (i = 0; i < 17; i++) {
            cardTemp += card.substr(i, 1) * arrInt[i];
        }
        card += arrCh[cardTemp % 11];
        return card;
    }
    return card;
};




//***************************************/扩展方法***************************************/

//清除字符串所有空白
String.prototype.ResetBlank = function () {

    var regEx = /\s+/g;
    return this.replace(regEx, '');

}


//***************************************公共常用辅助对象***************************************/

var objCommon = {

    //获取学年
    //SchoolYearID:学年id
    GetSchoolYear: function (SchoolYearID) {
        var SchoolYear;
        switch (SchoolYearID) {
            case 1: SchoolYear = "一学年"; break;
            case 2: SchoolYear = "二学年"; break;
            case 3: SchoolYear = "三学年"; break;
            default: SchoolYear = "未知"; break;

        }

        return SchoolYear;
    },


    //获取学期
    //SemesterID:学期id
    GetSemester: function (SemesterID) {
        var Semester;
        switch (SemesterID) {
            case 1: Semester = "上学期"; break;
            case 2: Semester = "下学期"; break;
            default: Semester = "未知"; break;

        }
        return Semester;

    },

    //验证登录状态并登录超时提示
    //登录超时返回 false  正常则返回 true
    LoginAlert: function () {

        if (!objValidate.IsLogin()) {
            objPopupMsg.Alert("登录超时!", "LoginOvertime");
            return false;
        }

        return true;
    }

};


//***************************************父页面操作***************************************/

//父页面辅助对象
var objParent = {
    //设置框架高度
    //iframe:框架id
    setIframeHeight:function (iframe) {
                if (iframe) {
                    var iframeWin = iframe.contentWindow || iframe.contentDocument.parentWindow;
                    if (iframeWin.document.body) {
                        iframe.height = iframeWin.document.documentElement.scrollHeight || iframeWin.document.body.scrollHeight;
                    }
                }
    },

    //子页面设置父页面框架高度
    setParentIframeHeight: function () {

        objParent.setIframeHeight(parent.document.getElementById('right-frame'));
    },

    //子页面调用父页面的overhangShow方法,弹出消息提示方法。
    //_type消息类型:0、error(错误消息)1、success(成功消息)2、info(信息消息)3、warn(警告消息)默认为成功消息
    //_message消息内容
    overhangShow: function (_type, _message) {
        if (!objValidate.NotNull(_message))
        {
            _message = "请填写消息内容!";
        }
        switch (_type) {
            case 0: window.parent.overhangShow("error", _message); break;
            case 1: window.parent.overhangShow("success", _message); break;
            case 2: window.parent.overhangShow("info", _message); break;
            case 3: window.parent.overhangShow("warn", _message); break;
            default: window.parent.overhangShow("success", _message); break;

        }
        
    }


};


//***************************************ajax请求返回jsonMsg方法***************************************/

///ajax返回消息辅助对象
var objMsg = {

    ///消息代码转换消息实意
    //msgCode:消息代码(result)
    //IsmachiningMsg:是否返回美化后的消息(0:不用美化,1:用美化版本1)
    ///return 返回消息实际意义
    getChineseMsg: function (msgCode, IsmachiningMsg) {

        var resulr;

        if (IsmachiningMsg == 0) {

            switch (msgCode) {
                case 0: resulr = "成功"; break;
                case -1: resulr = "错误"; break;
                case -2: resulr = "系统错误"; break;
                case -3: resulr = "系统异常"; break;
                case -21: resulr = "网络不可用"; break;
                case -22: resulr = "网络忙"; break;
                case -41: resulr = "数据库错误"; break;
                case -99: resulr = "系统正在维护"; break;
                case -301: resulr = "用户名或密码错"; break;
                case -302: resulr = "用户角色错误"; break;
                case -321: resulr = "注册失败"; break;
                case -322: resulr = "用户账号已注册,是否跳转到登录?"; break;
                case -323: resulr = "用户账号未注册"; break;
                case -324: resulr = "手机号已注册,是否跳转到登录?"; break;
                case -325: resulr = "邮箱已注册,是否跳转到登录?"; break;
                case -341: resulr = "修改密码失败"; break;
                case -342: resulr = "旧密码错误"; break;

                case -351: resulr = "找回密码失败"; break;
                case -352: resulr = "密码提示问题答案错误"; break;
                case -362: resulr = "用户不存在"; break;
                case -363: resulr = "禁止访问"; break;

                case -366: resulr = "更新用户信息失败"; break;
                case -371: resulr = "密码太短"; break;
                case -372: resulr = "密码太长"; break;


                case -521: resulr = "实验不存在"; break;
                case -531: resulr = "删除实验失败"; break;
                case -551: resulr = "添加实验失败"; break;
                case -561: resulr = "更新实验失败"; break;

                case -711: resulr = "实验安排不存在"; break;
                case -721: resulr = "删除实验安排失败"; break;
                case -741: resulr = "添加实验安排失败"; break;
                case -761: resulr = "修改实验安排失败"; break;


                case -771: resulr = "添加实验者失败"; break;
                case -773: resulr = "实验名单已在花名册中(并有效)"; break;
                case -774: resulr = "实验名单已在花名册中但被限制"; break;
                case -775: resulr = "实验名单不在花名册中"; break;
                case -781: resulr = "删除实验者失败"; break;

                case -785: resulr = "要求有效的考卷ID"; break;
                case -905: resulr = "无课程表项"; break;
                case -908: resulr = "删除课程表项失败"; break;
                case -911: resulr = "添加课程表项失败"; break;
                case -915: resulr = "修改课程表项失败"; break;

                case -931: resulr = "无考勤记录"; break;
                case -935: resulr = "修改考勤失败"; break;

                case -941: resulr = "无成绩记录"; break;
                case -945: resulr = "提交/修改答案失败"; break;
                case -946: resulr = "提交/修改成绩失败"; break;

                case -951: resulr = "无考卷"; break;
                case -956: resulr = "添加考卷失败"; break;
                case -961: resulr = "修改考卷失败"; break;
                case -966: resulr = "删除考卷失败"; break;

                case -971: resulr = "无考题"; break;
                case -976: resulr = "添加考题失败"; break;
                case -981: resulr = "修改考题失败"; break;
                case -986: resulr = "删除考题失败"; break;

                case -1011: resulr = "问题不存在/无记录"; break;
                case -1016: resulr = "添加问题失败"; break;
                case -1016: resulr = "添加问题失败"; break;
                case -1021: resulr = "修改问题失败"; break;
                case -1026: resulr = "删除问题失败"; break;

                case -1051: resulr = "问题解答不存在/无记录"; break;
                case -1056: resulr = "添加问题解答失败"; break;
                case -1061: resulr = "修改问题解答失败"; break;
                case -1066: resulr = "删除问题解答失败"; break;
                

                default: resulr = "未知错误"; break;

            }

            return resulr;
        }


        if (IsmachiningMsg == 1) {

            switch (msgCode) {
                case 0: resulr = "操作成功!"; break;
                case -1: resulr = "操作失败!"; break;
                case -2: resulr = "系统错误,请刷新重试或联系客服!"; break;
                case -3: resulr = "系统异常,请刷新重试或联系客服!"; break;
                case -21: resulr = "网络不可用,请检查网络!"; break;
                case -22: resulr = "网络繁忙,请稍后重试!"; break;
                case -41: resulr = "数据库错误,请刷新重试或联系客服!"; break;
                case -99: resulr = "抱歉,系统正在维护中,请稍后重试或联系客服!"; break;
                case -301: resulr = "用户名或密码错,请确认!"; break;
                case -302: resulr = "用户角色错误,请确认!"; break;
                case -321: resulr = "注册失败,请检查输入数据是否有误!"; break;
                case -322: resulr = "该用户账号已经注册,请确认!"; break;
                case -323: resulr = "用户账号未注册,请先注册!"; break;
                case -324: resulr = "手机号已经注册,请确认"; break;
                case -325: resulr = "邮箱已注册,请确认!"; break;
                case -341: resulr = "修改密码失败,请刷新重试!"; break;
                case -342: resulr = "旧密码错误,请确认!"; break;

                case -351: resulr = "找回密码失败,请确认原密码或密码答案是否正确!"; break;
                case -352: resulr = "密码提示问题答案错误,请确认!"; break;
                case -362: resulr = "用户不存在,请重新输入用户名!"; break;
                case -363: resulr = "禁止访问,请联系客服!"; break;

                default: resulr = "未知错误"; break;

            }


            return resulr;
        }

    }

};



//***************************************sessionStorage数据***************************************/

//sessionStorage操作对象
//仅在当前会话下有效,关闭页面或浏览器后被清除
var objsessionStorage = {

    //清除所有信息
    clear: function () {
        sessionStorage.clear();
    },

    //设置用户信息
    SetUserInfo: function (dataStr) {
        sessionStorage.setItem("userinfo", dataStr);
    },

    //获取用户信息
    GetUserInfo: function () {
        return sessionStorage.getItem("userinfo");
    },

    //删除用户信息
    RemoveUserInfo: function () {
        sessionStorage.removeItem("userinfo");
    },

};



//***************************************localStorage数据***************************************/

//localStorage本地数据操作辅助方法
//localStorage对象不手动清空数据会一直存在,敏感数据慎用。
var objlocalStorage = {

    //清除所有信息
    clear: function () {
        localStorage.clear();
    },

    //设置用户信息
    SetUserInfo: function (dataStr) {
        localStorage.setItem("userinfo", dataStr);
    },
    //获取用户信息
    GetUserInfo: function () {
        return localStorage.getItem("userinfo");
    },
    //删除用户信息
    RemoveUserInfo: function () {
         localStorage.removeItem("userinfo");
    },


    //设置课程信息
    SetCourseType: function (dataStr) {
        localStorage.setItem("CourseType", dataStr);
    },
    //获取课程信息
    GetCourseType: function () {
        return localStorage.getItem("CourseType");
    },
    //删除课程信息
    RemoveCourseType: function () {
         localStorage.removeItem("CourseType");
    },


    //设置实验名信息
    SetExperimenterName: function (dataStr) {
        localStorage.setItem("ExperimenterName", dataStr);
    },
    //获取实验名信息
    GetExperimenterName: function () {
        return localStorage.getItem("ExperimenterName");
    },
    //删除实验名信息 
    RemoveExperimenterName: function () {
         localStorage.removeItem("ExperimenterName");
    },



    //设置班级信息 
    SetClass: function (dataStr) {
        localStorage.setItem("Class", dataStr);
    },
    //获取班级信息
    GetClass: function () {
        return localStorage.getItem("Class");
    },
    //删除班级信息
    RemoveClass: function () {
         localStorage.removeItem("Class");
    },


    //设置专业信息
    SetMajor: function (dataStr) {
        localStorage.setItem("Major", dataStr);
    },
    //获取专业信息
    GetMajor: function () {
        return localStorage.getItem("Major");
    },
    //删除专业信息
    RemoveMajor: function () {
        localStorage.removeItem("Major");
    },


    //设置问题标签
    SetQuestionTag: function (dataStr) {
        localStorage.setItem("QuestionTag", dataStr);
    },
    //获取问题标签
    GetQuestionTag: function () {
        return localStorage.getItem("QuestionTag");
    },
    //删除问题标签
    RemoveQuestionTag: function () {
        localStorage.removeItem("QuestionTag");
    },



    ////设置弹窗选择值(返回值)
    //SetPopupVal: function (dataStr) {
    //    localStorage.setItem("PopupVal", dataStr);
    //},
    ////获取弹窗选择值(返回值)
    //GetPopupVal: function () {
    //    return localStorage.getItem("PopupVal");
    //},
    ////删除弹窗选择值(返回值)
    //RemovePopupVal: function () {
    //    localStorage.removeItem("PopupVal");
    //},


};



//***************************************动态Html数据***************************************/

//动态Html辅助对象
var objHtml = {

    ////加载密码问题列表
    //objID:加载到的对象
    //Selected 选中val或text,没有则不填
    LoadQuestionList: function (objID, Selected) {

        //ajax请求 返回数据
        var jsonData = [
            {
                "PWDQID": "1",
                "PWDQuestion": "你最喜欢的歌曲是什么"
            }, {
                "PWDQID": "2",
                "PWDQuestion": "你最崇拜的偶像是谁"
            },
            {
                "PWDQID": "3",
                "PWDQuestion": "你最喜欢的宠物是什么"
            },
            {
                "PWDQID": "4",
                "PWDQuestion": "你最敬佩的老师是谁"
            },
            {
                "PWDQID": "5",
                "PWDQuestion": "你的高中班主任是"
            },
              {
                  "PWDQID": "6",
                  "PWDQuestion": "你的高中学号是"
              }
        ];


        objID.html("");

        $.each(jsonData, function (i, v) {

            if (v.PWDQID == Selected) {

                objID.append("<option selected='selected' value='" + v.PWDQID + "'>" + v.PWDQuestion + "</option>");

            } else if (v.PWDQuestion == Selected) {

                objID.append("<option selected='selected' value='" + v.PWDQID + "'>" + v.PWDQuestion + "</option>");

            } else {

                objID.append("<option value='" + v.PWDQID + "'>" + v.PWDQuestion + "</option>");
            }

        });


    },

    //加载实验名
    //objID:加载到的对象
    //whole是否需要全部选项,1有 0无 默认0
    //Selected 选中val或text,没有则不填
    //TxtID:text对象,可输入的下拉框,select与text组合控件使用时用的
    LoadExperimenterName: function (objID, whole, Selected, TxtID) {
        whole = objValidate.NotNull(whole) ? whole : "0";
        var jsonData;

        if (objValidate.NotNull(objlocalStorage.GetExperimenterName())) {
            jsonData = $.parseJSON(objlocalStorage.GetExperimenterName());
            objID.html("");
            if (whole == 1) {
                objID.append("<option value='全部'>全部</option>");
            }
            $.each(jsonData, function (i, v) {

                if (v.ExperimentID == Selected) {

                    objID.append("<option selected='selected' value='" + v.ExperimentID + "'>" + v.ExperimentName + "</option>");

                } else if (v.ExperimentName == Selected) {

                    objID.append("<option selected='selected' value='" + v.ExperimentID + "'>" + v.ExperimentName + "</option>");

                } else {

                    objID.append("<option value='" + v.ExperimentID + "'>" + v.ExperimentName + "</option>");
                }

            });

            if (objValidate.NotNull(TxtID)) {
                TxtID.val(objID.val());
            }

            return false;

        }

        var parameterInfo = {
            action: "getexperimentnamelist",
        };


        $.post("Execute/ExperimentsInfo.aspx", parameterInfo, function (data) {
            jsonData = $.parseJSON(data);
            objlocalStorage.SetExperimenterName(jsonData.data);
            jsonData = $.parseJSON(jsonData.data);
            objID.html("");
            if (whole == 1) {
                objID.append("<option value='0'>全部</option>");
            }
            $.each(jsonData, function (i, v) {

                if (v.ExperimentID == Selected) {

                    objID.append("<option selected='selected' value='" + v.ExperimentID + "'>" + v.ExperimentName + "</option>");

                } else if (v.ExperimentName == Selected) {

                    objID.append("<option selected='selected' value='" + v.ExperimentID + "'>" + v.ExperimentName + "</option>");

                } else {

                    objID.append("<option value='" + v.ExperimentID + "'>" + v.ExperimentName + "</option>");
                }

            });

            if (objValidate.NotNull(TxtID)) {
                TxtID.val(objID.val());
            }

        });

    },

    //加载课程列表
    //objID:加载到的对象
    //whole是否需要全部选项,1有 0无 默认0
    //TxtID:text对象,可输入的下拉框,select与text组合控件使用时用的
    LoadCourseType: function (objID, whole, TxtID) {

        whole = objValidate.NotNull(whole) ? whole : "0";

        if (objValidate.NotNull(objlocalStorage.GetCourseType())) {
            var jsonData = $.parseJSON(objlocalStorage.GetCourseType());

            objID.html("");
            if (whole == 1) {
                objID.append("<option value='全部'>全部</option>");
            }
            $.each(jsonData, function (i, v) {

                objID.append('<option value="' + v.CourseID + '">' + v.CourseName + '</option>')

            });

            if (objValidate.NotNull(TxtID)) {
                TxtID.val(objID.val());
            }

            return false;
        }


        var parameter = {
            action: "getcoursetypelist",
        };

        $.post("Execute/ExperimentsInfo.aspx", parameter, function (returndata) {
            var jsonData = jQuery.parseJSON(returndata).data;
            objlocalStorage.SetCourseType(jsonData);
            jsonData = $.parseJSON(jsonData);
            objID.html("");
            if (whole == 1) {
                objID.append("<option value='全部'>全部</option>");
            }
            $.each(jsonData, function (i, v) {

                objID.append('<option value="' + v.CourseID + '">' + v.CourseName + '</option>');

            });

            if (objValidate.NotNull(TxtID)) {
                TxtID.val(objID.val());
            }

        });


    },

    //加载实验类型列表
    //objID:加载到的对象
    //whole是否需要全部选项,1有 0无 默认0
    //Selected 选中val或text,没有则不填
    LoadExperimenterType: function (objID, whole, Selected) {

        whole = objValidate.NotNull(whole) ? whole : "0";

        var jsonData = [
          { "ExperimentTypeID": "1", "ExperimentTypeName": "虚拟仿真" },
          { "ExperimentTypeID": "2", "ExperimentTypeName": "实拍视频" },
          {
              "ExperimentTypeID": "3", "ExperimentTypeName": "动画"
          }
        ];

        objID.html("");
        if (whole == 1) {
            objID.append("<option value='0'>全部</option>");
        }
        $.each(jsonData, function (i, v) {

            if (v.ExperimentTypeID == Selected) {

                objID.append("<option selected='selected' value='" + v.ExperimentTypeID + "'>" + v.ExperimentTypeName + "</option>");

            } else if (v.ExperimentTypeName == Selected) {

                objID.append("<option selected='selected' value='" + v.ExperimentTypeID + "'>" + v.ExperimentTypeName + "</option>");

            } else {

                objID.append("<option value='" + v.ExperimentTypeID + "'>" + v.ExperimentTypeName + "</option>");
            }

        });

    },

    //加载学年列表
    //objID:加载到的对象
    //whole是否需要全部选项,1有 0无 默认0
    //Selected 选中val或text,没有则不填
    LoadSchoolYear: function (objID, whole, Selected) {
        whole = objValidate.NotNull(whole) ? whole : "0";

        var jsonData = [
            {
                "val": "1",
                "txt": "一学年"
            },
            {
                "val": "2",
                "txt": "二学年"
            },
            {
                "val": "3",
                "txt": "三学年"
            }
        ];

        objID.html("");
        if (whole == 1) {
            objID.append("<option value='0'>全部</option>");
        }
        $.each(jsonData, function (i, v) {

            if (v.val == Selected) {

                objID.append("<option selected='selected' value='" + v.val + "'>" + v.txt + "</option>");

            } else if (v.txt == Selected) {

                objID.append("<option selected='selected' value='" + v.val + "'>" + v.txt + "</option>");

            } else {

                objID.append("<option value='" + v.val + "'>" + v.txt + "</option>");
            }

        });

    },


    //加载学期列表
    //objID:加载到的对象
    //whole是否需要全部选项,1有 0无 默认0
    //Selected 选中val或text,没有则不填
    LoadSemester: function (objID, whole, Selected) {
        whole = objValidate.NotNull(whole) ? whole : "0";

        var jsonData = [
            {
                "val": "1",
                "txt": "上学期"
            },
            {
                "val": "2",
                "txt": "下学期"
            }
        ];

        objID.html("");
        if (whole == 1) {
            objID.append("<option value='0'>全部</option>");
        }
        $.each(jsonData, function (i, v) {

            if (v.val == Selected) {

                objID.append("<option selected='selected' value='" + v.val + "'>" + v.txt + "</option>");

            } else if (v.txt == Selected) {

                objID.append("<option selected='selected' value='" + v.val + "'>" + v.txt + "</option>");

            } else {

                objID.append("<option value='" + v.val + "'>" + v.txt + "</option>");
            }

        });

    },


    //加载提问问题标签列表
    //objID:加载到的对象
    //whole是否需要全部选项,1有 0无 默认0
    //TxtID:text对象,可输入的下拉框,select与text组合控件使用时用的
    LoadQuestionTag: function (objID, whole, TxtID) {

        whole = objValidate.NotNull(whole) ? whole : "0";

        if (objValidate.NotNull(objlocalStorage.GetQuestionTag())) {

            objID.html("");
            if (whole == 1) {
                objID.append("<option value='全部'>全部</option>");
            }

            var jsonData = $.parseJSON(objlocalStorage.GetQuestionTag());


            $.each(jsonData, function (i, v) {

                objID.append("<option value='" + v.QuestionTag + "'>" + v.QuestionTag + "</option>");

            });


            if (objValidate.NotNull(TxtID)) {
                TxtID.val(objID.val());
            }


        } else {

            //ajax请求返回数据
            var parameter = {
                "action": "GetQuestionTagList",
            };

            $.post("Execute/QuestionAnswersInfo.aspx", parameter, function (returndata) {

                var res = jQuery.parseJSON(returndata);

                objID.html("");
                if (whole == 1) {
                    objID.append("<option value='全部'>全部</option>");
                }
                if (res.result == 0) {
                    return;
                }

                objlocalStorage.SetQuestionTag(res.data);

                var jsonData = $.parseJSON(res.data);


                $.each(jsonData, function (i, v) {

                    objID.append("<option value='" + v.QuestionTag + "'>" + v.QuestionTag + "</option>");

                });


                if (objValidate.NotNull(TxtID)) {
                    TxtID.val(objID.val());
                }

            });

        }


    },


    //加载班级信息
    //objID:加载到的对象
    Load_Class: function (objID) {

        var jsonData;

        if (objValidate.NotNull(objlocalStorage.GetClass())) {

            jsonData = $.parseJSON(objlocalStorage.GetClass());

            objID.html("");
            objID.append("<option value='==全部=='>==全部==</option>");
            $.each(jsonData, function (i, v) {
                objID.append("<option value='" + v.Class + "'>" + (v.Class.trim() == "" ? "未填写" : v.Class) + "</option>");
            });

        } else {


            var parameterUserInfo = {
                action: "GetClassList"
            };

            $.post("Execute/UsersInfo.aspx", parameterUserInfo, function (returndata) {

                jsonData = $.parseJSON(returndata);
                objlocalStorage.SetClass(jsonData.data);
                objID.html("");
                objID.append("<option value='==全部=='>==全部==</option>");
                if (jsonData.result == 0) {
                    return false;
                }
                jsonData = $.parseJSON(jsonData.data);
                $.each(jsonData, function (i, v) {
                    objID.append("<option value='" + v.Class + "'>" + (v.Class.trim() == "" ? "未填写" : v.Class) + "</option>");
                });

            });

        }

    },


    //加载专业列表
    //objID:加载到的对象
    Load_Major: function (objID) {

        if (objValidate.NotNull(objlocalStorage.GetMajor())) {

            var jsonData = $.parseJSON(objlocalStorage.GetMajor());

            objID.html("");
            objID.append("<option value='==全部=='>==全部==</option>");

            if (jsonData.result == 0) {
                return;
            }

            $.each(jsonData, function (i, v) {

                objID.append("<option value='" + v.Major + "'>" + (v.Major.trim() == "" ? "未填写" : v.Major) + "</option>");

            });


        } else {

            $.post("Execute/UsersInfo.aspx", { "action": "GetMajorList" }, function (data) {

                var jsonData = $.parseJSON(data);

                objID.html("");
                objID.append("<option value='==全部=='>==全部==</option>");

                if (jsonData.result == 0) {
                    return;
                }

                objlocalStorage.SetMajor(jsonData.data);

                jsonData = $.parseJSON(jsonData.data);

                $.each(jsonData, function (i, v) {

                    objID.append("<option value='" + v.Major + "'>" + (v.Major.trim() == "" ? "未填写" : v.Major) + "</option>");

                });


            });

        }

    }

};


//弹出消息对象
var objPopupMsg = {

    //确认框
    //msg:弹出消息
    //operation操作程序标识  无则不填 不填则默认为nothing 该值传过来后存在确认按钮的data-operation中
    //val 附加值  用于传参  默认为0 该值传过来后存在确认按钮的data-val中
    Confirm: function (msg, operation, val) {
        operation = objValidate.NotNull(operation) ? operation : "nothing";
        val = objValidate.NotNull(val) ? val : "0";
        $("#popup_confirm", window.parent.document).data("operation", operation).data("val", val);
            $("#prompt_content", window.parent.document).text(msg);
            $("#popup_cancel", window.parent.document).show();
            $("#popup", window.parent.document).show();


        ////关闭取消弹窗
            $("#popup_cancel", window.parent.document).click(function () {
                //关闭弹窗
                $("#popup", window.parent.document).hide();
            });

    },

    //警告框
    //msg:弹出消息
    //operation操作程序标识  无则不填 不填则默认为nothing 该值传过来后存在确认按钮的data-operation中
    Alert: function (msg, operation) {
        operation = objValidate.NotNull(operation) ? operation : "nothing";
        $("#popup_confirm", window.parent.document).data("operation", operation);
        $("#prompt_content", window.parent.document).text(msg);
        $("#popup_cancel", window.parent.document).hide();
        $("#popup", window.parent.document).show();

        ////关闭取消弹窗
        $("#popup_cancel", window.parent.document).click(function () {
            //关闭弹窗
            $("#popup", window.parent.document).hide();
        });

    },

    //确定或取消返回值代码
    ReturnVal: function () {
        
        //使用一下代码做处理获取弹出返回值

        ////关闭确定取消弹窗
        $("#popup_confirm,#popup_cancel", window.parent.document).click(function () {
            
            //关闭弹窗
            $("#popup", window.parent.document).hide();


            //close confirm cancel  为区分点击的是关闭 确认 还是取消
            var _text = $(this).data("text");

            //默认为nothing表示无操作 为区分同一页面有多个确认框 点击各个确认框所做出不同的处理 
            //var _operation = $(this).data("operation");

            //附加值  用于传参  
            //val只有点击确定按钮时才有 关闭 取消按钮没有
            //var _val = $(this).data("val");

        });


    }

};



//***************************************自定义方法***************************************/



//自定义字典对象
function Dictionary() {
    this.data = new Array();
    //键不可为0
    this.set = function (key, value) {
        if (this.data[key] == null) {
            this.data[key] = value;
        }
    };

    this.get = function (key) {
        return this.data[key];
    };

    this.remove = function (key) {
        this.data[key] = null;
    };

    this.removeall = function () {
        this.data.length = 0;
    };

    this.isEmpty = function () {
        return this.data.length == 0;
    };

    this.size = function () {
        return this.data.length;
    };
}




//***************************************立即执行方法***************************************/

$(function () {

    var href = window.location.pathname;

    //登录 注册页面 不用提示
    if (href.indexOf("SignIn.html") == -1 && href.indexOf("register.html") == -1)
    {
        //验证登录状态并登录超时提示
        return objCommon.LoginAlert();
    }


});
复制代码

 

posted @   妖狐鬼魅  阅读(181)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示