tv-common.js 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336
  1. var mobile = {};
  2. var dictMap = {};
  3. var paramMap = {};
  4. var company="";
  5. $(document).ready(function () {
  6. addLog();
  7. });
  8. /**
  9. * flag 当子窗口取不到是否不取父窗口的值,默认取父窗口
  10. */
  11. mobile.getUrlVars = function (name, flag) {
  12. var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
  13. var r = window.location.search.substr(1).match(reg);
  14. //modify by zhengwei
  15. if (flag) {
  16. if (r == null) {
  17. r = window.parent.location.search.substr(1).match(reg);
  18. }
  19. }
  20. if (r != null) return decodeURI(r[2]);
  21. return null;
  22. };
  23. function addLog(){
  24. if(mobile.getUrlVars("company")){
  25. company = mobile.getUrlVars("company");
  26. sessionStorage.setItem("company",mobile.getUrlVars("company"));
  27. }else if(sessionStorage.getItem("company")){
  28. company = sessionStorage.getItem("company");
  29. }
  30. var page = window.location.pathname;
  31. var id = mobile.getUrlVars("id");
  32. mobile.ajaxPost(base+"/userViewLog/save",{id:id,page:page,company:company},function(json){},"");
  33. }
  34. //把null转为空
  35. mobile.nullToSpace = function (param) {
  36. if (param == null || typeof param == 'undefined') {
  37. param = '';
  38. }
  39. return param;
  40. }
  41. //把null转为0
  42. mobile.nullToZore = function (param) {
  43. if (param == null || typeof param == 'undefined') {
  44. param = 0;
  45. }
  46. return param;
  47. }
  48. /**
  49. * 增加天数
  50. */
  51. mobile.addDate = function(date,days){
  52. var a = new Date(date)
  53. a = a.valueOf();
  54. a = a + days * 24 * 60 * 60 * 1000
  55. a = new Date(a)
  56. return a;
  57. }
  58. /**
  59. * 获取星期
  60. */
  61. mobile.getWeek = function(date){
  62. var str = "星期";
  63. var week = date.getDay();
  64. switch (week) {
  65. case 0 :
  66. str += "日";
  67. break;
  68. case 1 :
  69. str += "一";
  70. break;
  71. case 2 :
  72. str += "二";
  73. break;
  74. case 3 :
  75. str += "三";
  76. break;
  77. case 4 :
  78. str += "四";
  79. break;
  80. case 5 :
  81. str += "五";
  82. break;
  83. case 6 :
  84. str += "六";
  85. break;
  86. }
  87. return str;
  88. }
  89. /**
  90. * 检查手机号码
  91. */
  92. mobile.checkMobile = function (phone){
  93. var reg= /(^1[3|4|5|7|8][0-9]{9}$)/;
  94. return reg.test(phone);
  95. }
  96. //ajax post
  97. mobile.ajaxPost = function (url, params, callback,msg) {
  98. var index=null;
  99. $.ajax({
  100. type:"POST",
  101. url:url,
  102. data:params,
  103. dataType:"json",
  104. timeout:60000,
  105. beforeSend:function(){
  106. if(msg!=""){
  107. if(msg){
  108. index=layer.open({type: 3,shadeClose:false,content: msg});
  109. }else{
  110. index=layer.open({type: 3,shadeClose:false,content: '加载中...'});
  111. }
  112. }
  113. },
  114. success:function(data){
  115. if(msg!=""){
  116. layer.close(index);
  117. }
  118. if(typeof callback=='function'){
  119. callback(data);
  120. }
  121. },
  122. error:function(XMLHttpRequest, textStatus, errorThrown){
  123. if(msg!=""){
  124. layer.close(index);
  125. }
  126. switch (XMLHttpRequest.status){
  127. case(500):
  128. layer.open({content: "服务异常",time: 3});
  129. break;
  130. case(408):
  131. layer.open({content: "请求超时",time: 3});
  132. break;
  133. case(0):
  134. layer.open({content: "网络连接异常",time: 3});
  135. break;
  136. default:
  137. layer.open({content: "请求错误,请稍后再试",time: 3});
  138. }
  139. },
  140. complete: function (XHR, TS) { XHR = null; }
  141. });
  142. };
  143. //保留两位小数
  144. mobile.toDecimal = function (x) {
  145. var f = parseFloat(x);
  146. if (isNaN(f)) {
  147. return;
  148. }
  149. f = Math.round(x * 100) / 100;
  150. return f;
  151. }
  152. mobile.getWeekDay = function (){
  153. var str = "";
  154. var week = new Date().getDay();
  155. if (week == 0) {
  156. str = "星期日";
  157. } else if (week == 1) {
  158. str = "星期一";
  159. } else if (week == 2) {
  160. str = "星期二";
  161. } else if (week == 3) {
  162. str = "星期三";
  163. } else if (week == 4) {
  164. str = "星期四";
  165. } else if (week == 5) {
  166. str = "星期五";
  167. } else if (week == 6) {
  168. str = "星期六";
  169. }
  170. return str;
  171. }
  172. //日期格式化
  173. Date.prototype.format = function (fmt) {
  174. var o = {
  175. "M+": this.getMonth() + 1, //月份
  176. "d+": this.getDate(), //日
  177. "h+": this.getHours(), //小时
  178. "m+": this.getMinutes(), //分
  179. "s+": this.getSeconds(), //秒
  180. "q+": Math.floor((this.getMonth() + 3) / 3), //季度
  181. "S": this.getMilliseconds() //毫秒
  182. };
  183. if (/(y+)/.test(fmt))
  184. fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
  185. for (var k in o)
  186. if (new RegExp("(" + k + ")").test(fmt))
  187. fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
  188. return fmt;
  189. }
  190. //数组移除
  191. Array.prototype.removeAt = function (Index) {
  192. if (isNaN(Index) || Index > this.length) {
  193. return false;
  194. }
  195. for (var i = 0, n = 0; i < this.length; i++) {
  196. if (this[i] != this[Index]) {
  197. this[n++] = this[i]
  198. }
  199. }
  200. this.length -= 1
  201. }
  202. //数组是否包含某项
  203. Array.prototype.contains = function (needle) {
  204. for (i in this) {
  205. if (this[i] == needle)
  206. return true;
  207. }
  208. return false;
  209. }
  210. /**
  211. * 根据字典类型获取items
  212. * @param d_key
  213. * @returns
  214. */
  215. mobile.getDictMap = function (d_key) {
  216. if (dictMap[d_key]) {
  217. return dictMap[d_key];
  218. }
  219. };
  220. /**
  221. * 根据系统参数
  222. * @param code
  223. * @returns
  224. */
  225. mobile.getParam = function (code) {
  226. if (paramMap[code]) {
  227. return paramMap[code];
  228. } else {
  229. return "";
  230. }
  231. };
  232. /**
  233. * 根据代码和字典类型获取下拉选项的名称item{value:'1',label:'测试'}
  234. * @param d_key
  235. * @param code
  236. * @returns
  237. */
  238. mobile.getDictVal = function (key, code) {
  239. var items = dictMap[key];
  240. if (items && items.length > 0) {
  241. for (var i = 0; i < items.length; i++) {
  242. var item = items[i];
  243. if (item.dict_code == code) {
  244. return item.dict_name;
  245. break;
  246. }
  247. }
  248. }
  249. return "";
  250. }
  251. //遥控器事件处理
  252. var Event = {
  253. mapping : function(__event) {
  254. try{
  255. Utility.ioctlWrite("skyworthKey", "Key2Coship");
  256. }catch(e){
  257. }
  258. var keycode = __event.which || __event.keyCode;
  259. var code = "";
  260. var name = "";
  261. var args = {};
  262. if (keycode < 58 && keycode > 47) {//数字键
  263. args = {
  264. modifiers : __event.modifiers,
  265. value : (keycode - 48),
  266. type : 0,
  267. isGlobal : false
  268. };
  269. code = "KEY_NUMERIC";
  270. } else {
  271. var args = {
  272. modifiers : __event.modifiers,
  273. value : keycode,
  274. type : 0,
  275. isGlobal : false
  276. };
  277. switch (keycode) {
  278. case 1:
  279. case 38:
  280. code = "KEY_UP";
  281. break;
  282. case 2:
  283. case 40:
  284. code = "KEY_DOWN";
  285. break;
  286. case 3:
  287. case 37:
  288. code = "KEY_LEFT";
  289. break;
  290. case 4:
  291. case 39:
  292. code = "KEY_RIGHT";
  293. break;
  294. case 13:
  295. case 273:
  296. code = "KEY_SELECT";
  297. break;
  298. case 339:
  299. code = "KEY_EXIT";
  300. break;
  301. case 258:
  302. code = "KEY_STANDBY";
  303. break;
  304. case 340:
  305. case 8:
  306. case 32:
  307. case 283:
  308. case 280:
  309. case 640:
  310. code = "KEY_BACK";
  311. break;
  312. }
  313. }
  314. return {
  315. code : code,
  316. args : args,
  317. name : name
  318. };
  319. }
  320. };