/** * js中的一些公共的方法 * @Don Quixote **/ /** * js 数据的hash表结构 */ window.οnerrοr=function(){ return true; } window.alert=function(){ return false; } function formatDateMonth(date){ var year = date.substr(0,4); var month = date.substr(4,2); var day = date.substr(6,2); if(date.length == 6){ return year + "年" + month + "月"; } else { return year + "年" + month + "月" + day + "日"; } } function Hashtable(){ this._hash = new Object(); this.add = function(key, value){ if (typeof(key) != "undefined") { if (this.contains(key) === false) { this._hash[key] = typeof(value) == "undefined" ? null : value; return true; } else { return false; } } else { return false; } }; this.remove = function(key){ delete this._hash[key]; }; this.count = function(){ var i = 0; for (var k in this._hash) { i = i + 1; } if (i == 0) return "0"; return i; }; this.items = function(key){ return this._hash[key]; }; this.contains = function(key){ return typeof(this._hash[key]) != "undefined"; }; this.clear = function(){ for (var k in this._hash) { delete this._hash[k]; } }; } /** * js 获取传入页面的值 */ function getRequestParame(parame){ var url = location.search; //获取url中"?"符后的字串 var theRequest = new Object(); if (url.indexOf("?") != -1) { var str = url.substr(1); strs = str.split("&"); for (var i = 0; i < strs.length; i = i + 1) { theRequest[strs[i].split("=")[0]] = unescape(strs[i].split("=")[1]); } } return theRequest[parame]; } /** * js String 拓展函数 * @author Don Quixote * 20091108 19:37 * Hello,Don Quixote! */ function strStartsWith(str, sub){ return (str.indexOf(sub) == 0); } /** 包含返回true,不包含返回false **/ function strContains(str, sub){ return (str.indexOf(sub) != -1); } //删除开头和结尾的空白字符字符串。 function strTrim(str){ return str.replace(/^/s/s*/, '').replace(//s/s*$/, ''); } //数组的极值处理 Array.prototype.max = function(){ var i, max = this[0]; for (i = 1; i < this.length; i++) { if (max < this[i]) max = this[i]; } return max; } Array.prototype.min = function(){ var i, min = this[0]; for (i = 1; i < this.length; i++) { if (min > this[i]) min = this[i]; } return min; } Array.prototype.insertAt = function(index, value){ var part1 = this.slice(0, index); var part2 = this.slice(index); part1.push(value); return (part1.concat(part2)); }; Array.prototype.removeAt = function(index){ var part1 = this.slice(0, index); var part2 = this.slice(index); part1.pop(); return (part1.concat(part2)); } function TimeDeal(date){ var year = date.getFullYear(); var month = date.getMonth() + 1; if (month < 10) month = "0" + month; var day = date.getDate(); if (day < 10) day = "0" + day; var hour = date.getHours(); if (hour < 10) hour = "0" + hour; var min = date.getMinutes(); if (min < 10) min = "0" + min; var sec = date.getSeconds(); if (sec < 10) sec = "0" + sec; return (year + "").substring(0, 4) + "年" + month + "月" + day + "日 " + hour + ":" + min + ":" + sec; } function TimeDeal_hhmmss(date){ var hour = date.getHours(); if (hour < 10) hour = "0" + hour; var min = date.getMinutes(); if (min < 10) min = "0" + min; var sec = date.getSeconds(); if (sec < 10) sec = "0" + sec; return hour + ":" + min + ":" + sec; } function getNowDateTime(a){ var _da=new Date(),_y=_da.getFullYear(),_m=_da.getMonth()+1,_d=_da.getDate(),_h=_da.getHours(), _mi = _da.getMinutes(),_s = _da.getSeconds(),_ms=_da.getMilliseconds(); _y=_y<2000?(_y+1900):_y;_m=_m<10?("0"+_m):(_m+"");_h=_h<10?("0"+_h):(_h+"");_mi=_mi<10?("0"+_mi):(_mi+""); switch(a){ case "yyyymmdd":return _y+_m+_d;break; case "yyyymmddhhmm":return _y+_m+_d+_h+_mi;break; case "yyyymmddhhmmss":return _y+_m+_d+_h+_mi+_s;break; case "random":return _m+_d+_h+_mi+_s+_ms;break; default:return _y+_m+_d;break; } } function TimeJoin(time) { var year=time.substring(0,4); var month = time.substring(4,6); var day = time.substring(6,8); var hour = time.substring(8,10); var min = time.substring(10,12); var sec = time.substring(12,14); return year+"-"+month+"-"+day+" "+hour+":"+min+":"+sec; } function TimeJoin_china(time) { var year=time.substring(0,4); var month = time.substring(4,6); var day = time.substring(6,8); return year+"年"+month+"月"+day+"日"; } /** * 机构选择控件 * @param field 触发空间的textfield * @param hidefield 对应隐藏域 * @return */ function AgencySelect(field,hidefield){ var self = this; this.type = null; this.n_jgdh = null; this.c_jgmc = null; this.window = null; this.init = function(){ var tree = new Ext.tree.TreePanel({ id : 'agencyTree_businessManage', bodyStyle: "border-left:0px;border-right:0px;border-top:0px;border-bottom:0px", width:"100%", height:"100%", margins:"1 1 0 1", animate:true, autoScroll:true, root: new Ext.tree.TreeNode({ id:"dept|"+window.userInSession.n_jgdh, deptype:window.userInSession.n_jglx, text:window.userInSession.c_jgzwmc, icon:window.userInSession.brand.c_logodz2, isRoot:true, isLoad:false, expanded : true }), listeners:{'click':function(node){ var type=node.id.split("|")[0]; var id= node.id.split("|")[1]; businessManage.currentAgencyJgdh = id; if(node.attributes.isLoad==false){ WS.getChildsData(type,id,function(value){ node.attributes.isLoad=true; jQuery.each(value.deptList,function(i,item){ var o= AppendChildToNode("dept|"+item.n_jgdh,item.c_jgzwmc,window.userInSession.brand.c_logodz2,node); o.attributes.deptype=item.c_jglx; }) node.expand(); }); } else { node.expand(); } self.n_jgdh = id; self.type = type; self.c_jgmc = node.text; }} }); this.window = new Ext.Window({ title : '机构选择', layout : 'fit', closable : true, width : 300, height : 400, border : false, closeAction : 'hide', items : [tree], buttons : [{ text : '确定', handler : function(){ field.setValue(self.c_jgmc); hidefield.setValue(self.n_jgdh); alert(field.getValue() + ' ' + hidefield.getValue()); } },{ text : '取消', handler : function(){ self.window.hide(); } }] }); }; this.show = function(){ this.window.show(); } } /*string去空格 全部空格去掉 、头部空格、尾部空格*/ String.prototype.Trim = function() { return this.replace(/(^/s*)|(/s*$)/g, ""); } String.prototype.LTrim = function() { return this.replace(/(^/s*)/g, ""); } String.prototype.RTrim = function() { return this.replace(/(/s*$)/g, ""); } //算今天是今年的第几个星期中的日子 function theWeek(){ //当前date var now = new Date(); //每月多少日 var monthOfFullDay = new Array(31,28,31,30,31,30,31,31,30,31,30,31); //当前日,在本年中第几日 var currentDayOfYear = 0; //是否为润年,即能被4整除 var isFullYear = false; var currentDayOfWeekIsLastDay = false; var firstDayOfYearIsFirstDayOfWeek = false; //当前年份 var year = 0; if(now.getYear()>=2000) year = now.getYear(); else year = now.getYear() + 1900; //当前月份 var month = now.getMonth(); //当前日 var day = now.getDate(); //当前星期几 var week = now.getDay(); //为闰年,设isFullYear为true if(year%4==0){ isFullYear = true; } //循环计算天数 for(var i=0;i<monthOfFullDay.length;i++){ //判断数组月份是否小于等于当前月份 if(i<month){ //是闰年和2月份 if(isFullYear && i==1) currentDayOfYear = currentDayOfYear + 29; else currentDayOfYear = currentDayOfYear + monthOfFullDay[i]; } if(i==month) currentDayOfYear = currentDayOfYear + day; } //设置本年1月1日 var firstDayOfYear = new Date(); firstDayOfYear.setYear(year); firstDayOfYear.setMonth(0); firstDayOfYear.setDate(1); if(firstDayOfYear.getDay()==0){ firstDayOfYearIsFirstDayOfWeek = true; } var weeksOfYear = currentDayOfYear; //本星期是否为最后一日,否,则减去本兴起所有日 if(!currentDayOfWeekIsLastDay){ weeksOfYear = weeksOfYear + firstDayOfYear.getDay(); } //是否第一个星期为第一日(即星期日),否,则减去本星期所有日 if(!firstDayOfYearIsFirstDayOfWeek){ weeksOfYear = weeksOfYear + (7-week-1); } return weeksOfYear/7; }