| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506 |
- RoadUI = function () { };
- RoadUI.Core = {
- allFrames: [],
- getAllFrames: function (frame)
- {
- if (!frame)
- {
- frame = top;
- this.allFrames.push(frame);
- }
- var frames = frame.frames;
- for (var i = 0; i < frames.length; i++)
- {
- this.allFrames.push(frames[i]);
- this.getAllFrames(frames[i]);
- }
- },
- newid: function (isMiddline)
- {
- var guid = "";
- isMiddline = isMiddline == undefined ? true : isMiddline;
- for (var i = 1; i <= 32; i++)
- {
- var n = Math.floor(Math.random() * 16.0).toString(16);
- guid += n;
- if (isMiddline && (i == 8 || i == 12 || i == 16 || i == 20))
- {
- guid += "-";
- }
- }
- return guid;
- },
- rooturl: function ()
- {
- var curWwwPath = window.document.location.href;
- var pathName = window.document.location.pathname;
- var pos = curWwwPath.indexOf(pathName);
- var localhostPaht = curWwwPath.substring(0, pos);
- var projectName = pathName.substring(0, pathName.substr(1).indexOf('/') + 1);
- //alert(projectName);
- return projectName + "/";
- },
- query: function (name)
- {
- var search = document.location.search;
- var pattern = new RegExp("[?&]" + name + "\=([^&]+)", "g");
- var matcher = pattern.exec(search);
- var items = null;
- if (null != matcher)
- {
- try
- {
- items = decodeURIComponent(decodeURIComponent(matcher[1]));
- } catch (e)
- {
- try
- {
- items = decodeURIComponent(matcher[1]);
- } catch (e)
- {
- items = matcher[1];
- }
- }
- }
- return items;
- },
- open: function (url, width, height, name)//弹出居中窗口
- {
- //弹出窗口的宽度
- var iWidth = width || 700;
- //弹出窗口的高度
- var iHeight = height || 500;
- var y = (window.screen.availHeight - 30 - iHeight) / 2; //获得窗口的垂直位置;
- var x = (window.screen.availWidth - 10 - iWidth) / 2; //获得窗口的水平位置;
- return window.open(url, name || "newwindow_" + RoadUI.Core.newid(false), 'height=' + iHeight + ',width=' + iWidth + ',top=' + y + ',left=' + x + ',toolbar=no,menubar=no,scrollbars=yes,resizable=yes,location=no,status=no');
- },
- formatDate: function (date, fmt)
- {
- if (!date) return;
- if (!fmt) fmt = "yyyy-MM-dd";
- switch (typeof date)
- {
- case "string":
- date = new Date(date.replace(/-/, "/"));
- break;
- case "number":
- date = new Date(date);
- break;
- }
- if (!date instanceof Date) return;
- var o = {
- "M+": date.getMonth() + 1, //月份
- "d+": date.getDate(), //日
- "h+": date.getHours() % 12 == 0 ? 12 : this.getHours() % 12, //小时
- "H+": date.getHours(), //小时
- "m+": date.getMinutes(), //分
- "s+": date.getSeconds(), //秒
- "q+": Math.floor((date.getMonth() + 3) / 3), //季度
- "S": date.getMilliseconds() //毫秒
- };
- var week = {
- "0": "\u65e5",
- "1": "\u4e00",
- "2": "\u4e8c",
- "3": "\u4e09",
- "4": "\u56db",
- "5": "\u4e94",
- "6": "\u516d"
- };
- if (/(y+)/.test(fmt))
- {
- fmt = fmt.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length));
- }
- if (/(E+)/.test(fmt))
- {
- fmt = fmt.replace(RegExp.$1, ((RegExp.$1.length > 1) ? (RegExp.$1.length > 2 ? "\u661f\u671f" : "\u5468") : "") + week[date.getDay() + ""]);
- }
- for (var k in o)
- {
- if (new RegExp("(" + k + ")").test(fmt))
- {
- fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
- }
- }
- return fmt;
- },
- decodeUri: function (uri)
- {
- if (!uri || $.trim(uri).length == 0)
- {
- return "";
- }
- try
- {
- return decodeURI(uri);
- }
- catch (e)
- {
- return uri;
- }
- },
- accDiv: function (arg1, arg2)//返回值:arg1除以arg2的精确结果
- {
- var t1 = 0, t2 = 0, r1, r2;
- try { t1 = arg1.toString().split(".")[1].length } catch (e) { }
- try { t2 = arg2.toString().split(".")[1].length } catch (e) { }
- with (Math)
- {
- r1 = Number(arg1.toString().replace(".", ""))
- r2 = Number(arg2.toString().replace(".", ""))
- return (r1 / r2) * pow(10, t2 - t1);
- }
- },
- accMul: function (arg1, arg2)//返回值:arg1乘以 arg2的精确结果
- {
- var m = 0, s1 = arg1.toString(), s2 = arg2.toString();
- try { m += s1.split(".")[1].length } catch (e) { }
- try { m += s2.split(".")[1].length } catch (e) { }
- return Number(s1.replace(".", "")) * Number(s2.replace(".", "")) / Math.pow(10, m)
- },
- accAdd: function (arg1, arg2)// 返回值:arg1加上arg2的精确结果
- {
- var r1, r2, m, c;
- try { r1 = arg1.toString().split(".")[1].length } catch (e) { r1 = 0 }
- try { r2 = arg2.toString().split(".")[1].length } catch (e) { r2 = 0 }
- c = Math.abs(r1 - r2);
- m = Math.pow(10, Math.max(r1, r2))
- if (c > 0)
- {
- var cm = Math.pow(10, c);
- if (r1 > r2)
- {
- arg1 = Number(arg1.toString().replace(".", ""));
- arg2 = Number(arg2.toString().replace(".", "")) * cm;
- }
- else
- {
- arg1 = Number(arg1.toString().replace(".", "")) * cm;
- arg2 = Number(arg2.toString().replace(".", ""));
- }
- }
- else
- {
- arg1 = Number(arg1.toString().replace(".", ""));
- arg2 = Number(arg2.toString().replace(".", ""));
- }
- return (arg1 + arg2) / m
- },
- accSub: function (arg1, arg2)// 返回值:arg1减去arg2的精确结果
- {
- var r1, r2, m, n;
- try { r1 = arg1.toString().split(".")[1].length } catch (e) { r1 = 0 }
- try { r2 = arg2.toString().split(".")[1].length } catch (e) { r2 = 0 }
- m = Math.pow(10, Math.max(r1, r2));
- //last modify by deeka
- //动态控制精度长度
- n = (r1 >= r2) ? r1 : r2;
- return ((arg1 * m - arg2 * m) / m).toFixed(n);
- },
- isIe6Or7: function ()
- {
- return !+'\v1' && !'1'[0];
- },
- isIE: function ()
- {
- return !!window.ActiveXObject;
- },
- isIE6: function ()
- {
- return this.isIE() && !window.XMLHttpRequest;
- },
- isIE7: function ()
- {
- return this.isIE() && !this.isIE6() && !this.isIE8();
- },
- isIE8: function ()
- {
- return this.isIE() && !!document.documentMode;
- },
- intDiv: function (number1, number2)//整除
- {
- var num1 = Math.round(number1);
- var num2 = Math.round(number2);
- var result = num1 / num2;
- if (result >= 0)
- {
- result = Math.floor(result);
- }
- else
- {
- result = Math.ceil(result);
- }
- return result;
- },
- offsetTop:function (elements){
- var top = elements.offsetTop;
- var parent = elements.offsetParent;
- while (parent)
- {
- top += parent.offsetTop;
- parent = parent.offsetParent;
- };
- return top;
- },
- offsetLeft:function (elements){
- var left = elements.offsetLeft;
- var parent = elements.offsetParent;
- while (parent)
- {
- left += parent.offsetLeft;
- parent = parent.offsetParent;
- };
- return left;
- },
-
- getPager:function (count, size, number, param, loadDataFunName, eleId)
- {
- eleId = eleId || "";
- var pager = '';
- size = size || 15;
- number = number || 1;
- //得到共有多少页
- var pageCount = count <= 0 ? 1 : count % size == 0 ? parseInt(count / size) : parseInt(count / size) + 1;
- if (pageCount <= 1)//只有一页则返回空
- {
- return "";
- }
- if (number < 1)
- {
- number = 1;
- }
- else if (number > pageCount)
- {
- number = pageCount;
- }
- //构造分页字符串
- var displaySize = 10;//中间显示的页数
- pager += "<div>";
- pager += "<span style='margin-right:15px;'>共 " + count.toString() + " 条 每页 " + size.toString() + " 条</span>";
- pager += "<a class=\"b\" style=\"margin-right:10px;\" href=\"javascript:eval('" + loadDataFunName + "(" + size + "," + 1 + ",\\'" + eleId + "\\')');\">首页</a>";
- pager += "<a class=\"b\" style=\"margin-right:10px;\" href=\"javascript:eval('" + loadDataFunName + "(" + size + "," + (number - 1) + ",\\'" + eleId + "\\')');\">上一页</a>";
- pager += "<a class=\"b\" style=\"margin-right:10px;\" href=\"javascript:eval('" + loadDataFunName + "(" + size + "," + (number + 1) + ",\\'" + eleId + "\\')');\">下一页</a>";
- pager += "<a class=\"b\" href=\"javascript:eval('" + loadDataFunName + "(" + size + "," + pageCount + ",\\'" + eleId + "\\')');\">尾页</a>";
- pager += "</div>";
- return pager;
- }
- };
- RoadUI.Xml = {
- getXmlDom: function ()
- {
- var xmldoc;
- if (window.ActiveXObject)
- {
- xmldoc = new ActiveXObject("Microsoft.XMLDOM");
- }
- else
- {
- if (document.implementation && document.implementation.createDocument)
- {
- xmldoc = document.implementation.createDocument("", "doc", null);
- }
- }
- return xmldoc;
- },
- loadXML: function (xml)
- {
- var xmldoc = RoadUI.Xml.getXmlDom();
- xmldoc.async = false;
- try
- {
- xmldoc.loadXML(xml);
- }
- catch (e)
- {
- xmldoc = new DOMParser().parseFromString(xml, "text/xml");
- }
- return xmldoc;
- },
- getElementValue: function (elements)
- {
- return elements && elements.length > 0 && elements[0].firstChild ? elements[0].firstChild.nodeValue : "";
- }
- };
- String.prototype.isInteger = function ()
- {
- return (new RegExp(/^\d+$/).test(this));
- };
- String.prototype.isNumber = function (value, element)
- {
- return (new RegExp(/^-?(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/).test(this));
- };
- String.prototype.trim = function ()
- {
- return this.replace(/(^\s*)|(\s*$)/g, "");
- };
- String.prototype.isNullOrEmpty =function()
- {
- return !this || this.length == 0 || this.trim().length == 0;
- };
- String.prototype.startWith = function (pattern)
- {
- return this.indexOf(pattern) === 0;
- };
- String.prototype.endWith = function (pattern)
- {
- var d = this.length - pattern.length;
- return d >= 0 && this.lastIndexOf(pattern) === d;
- };
- String.prototype.encodeTXT = function ()
- {
- return (this).replaceAll('&', '&').replaceAll("<", "<").replaceAll(">", ">").replaceAll(" ", " ");
- };
- String.prototype.isMail = function ()
- {
- return (new RegExp(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/).test(this.trim()));
- };
- String.prototype.isPhone = function ()
- {
- return (new RegExp(/(^([0-9]{3,4}[-])?\d{3,8}(-\d{1,6})?$)|(^\([0-9]{3,4}\)\d{3,8}(\(\d{1,6}\))?$)|(^\d{3,8}$)/).test(this));
- };
- String.prototype.isUrl = function ()
- {
- return (new RegExp(/^[a-zA-z]+:\/\/([a-zA-Z0-9\-\.]+)([-\w .\/?%&=:]*)$/).test(this));
- };
- String.prototype.isExternalUrl = function ()
- {
- return this.isUrl() && this.indexOf("://" + document.domain) == -1;
- };
- String.prototype.replaceAll = function (s1, s2, ignoreCase)
- {
- var str = this;
- if ('.' == s1)
- {
- while (str.indexOf(s1) != -1)
- {
- str = str.replace(s1, s2);
- }
- return str;
- }
- else
- {
- if (!RegExp.prototype.isPrototypeOf(s1))
- {
- return str.replace(new RegExp(s1, (ignoreCase ? "gi" : "g")), s2);
- }
- else
- {
- return str.replace(s1, s2);
- }
- }
- };
- String.prototype.isDate = function ()
- {
- var str = this;
- var reg = /^(\d+)-(\d{1,2})-(\d{1,2})$/;
- var r = str.match(reg);
- if (r == null)
- {
- reg = /^(\d+)\/(\d{1,2})\/(\d{1,2})$/;
- r = str.match(reg);
- }
- if (r == null) return false;
- r[2] = r[2] - 1;
- var d = new Date(r[1], r[2], r[3]);
- if (d.getFullYear() != r[1]) return false;
- if (d.getMonth() != r[2]) return false;
- if (d.getDate() != r[3]) return false;
- return true;
- }
- String.prototype.isDateTime = function ()
- {
- var str = this;
- var reg = /^(\d+)-(\d{1,2})-(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;
- var r = str.match(reg);
- if (r == null)
- {
- reg = /^(\d+)\/(\d{1,2})\/(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;
- r = str.match(reg);
- }
- if (r == null) return false;
- r[2] = r[2] - 1;
- var d = new Date(r[1], r[2], r[3], r[4], r[5], r[6]);
- if (d.getFullYear() != r[1]) return false;
- if (d.getMonth() != r[2]) return false;
- if (d.getDate() != r[3]) return false;
- if (d.getHours() != r[4]) return false;
- if (d.getMinutes() != r[5]) return false;
- if (d.getSeconds() != r[6]) return false;
- return true;
- }
- String.prototype.removeHtml = function ()
- {
- var str = this;
- return str.replace(/<[^>]+>/g, "");//去掉所有的html标记
- };
- Date.prototype.format = function (format)
- {
- var o = {
- "M+": this.getMonth() + 1,
- "d+": this.getDate(),
- "h+": this.getHours(),
- "m+": this.getMinutes(),
- "s+": this.getSeconds(),
- "q+": Math.floor((this.getMonth() + 3) / 3),
- "S": this.getMilliseconds()
- }
- if (/(y+)/.test(format))
- {
- format = format.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
- }
- for (var k in o)
- {
- if (new RegExp("(" + k + ")").test(format))
- {
- format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length));
- }
- }
- return format;
- };
- Array.prototype.unique = function ()
- {
- var res = [];
- var json = {};
- for (var i = 0; i < this.length; i++)
- {
- if (!json[this[i]])
- {
- res.push(this[i]);
- json[this[i]] = 1;
- }
- }
- return res;
- };
- var currentFocusObj = null; //当前焦点对象
- function initElement($elements, type)
- {
- if (!$elements || $elements.size() == 0)
- {
- return;
- }
- var cssType = type;
- $elements.addClass(cssType + "1")
- .bind("mouseover", function ()
- {
- $(this).removeClass().addClass(cssType + "2");
- }).bind("mouseout", function ()
- {
- if (currentFocusObj == null || $(this).get(0) !== currentFocusObj)
- {
- $(this).removeClass().addClass(cssType + "1");
- }
- }).bind("focus", function ()
- {
- if (currentFocusObj != null)
- {
- var css = $(currentFocusObj).attr("class").replace("1", "").replace("2", "");
- $(currentFocusObj).removeClass().addClass(css + "1");
- }
- $(this).removeClass().addClass(cssType + "2");
- currentFocusObj = $(this).get(0);
- });
- }
|