indexnewscript.js 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487
  1. function initbody(){
  2. objcont = $('#content_allmainview');
  3. objtabs = $('#tabs_title');
  4. menubadge = hongbadge = menutopid = {};//角标数组
  5. resizewh();
  6. $(window).resize(resizewh);
  7. clickhome();
  8. if(show_key!='')jm.setJmstr(jm.base64decode(show_key));
  9. var a = $("li[pmenuid]");
  10. a.click(function(){
  11. if(js.ajaxbool)return;
  12. a.removeClass('topactive');
  13. loadmenu(this);
  14. });
  15. loadmenu($("li[pmenuid]")[0]);
  16. if(typeof(FormData)=='undefined'){
  17. js.msg('msg','您的浏览器太低了无法达到想要的预览效果<br>建议使用IE10+,Firefox,Chrome等高级点的',60);
  18. }
  19. if(get('indexuserl')){
  20. var ddsata=[{
  21. name:'<i class="icon-cog"></i> 个人设置',num:'grcog','icon':'cog',url:'system,geren,cog',names:'个人设置'
  22. },{
  23. name:'<i class="icon-bell"></i> 提醒信息',num:'todo','icon':'bell',url:'system,geren,todo',names:'提醒信息'
  24. },{
  25. name:'<i class="icon-picture"></i> 修改头像',num:'face','icon':'picture'
  26. },{
  27. name:'<i class="icon-laptop"></i> 旧版首页',num:'jiu','icon':'laptop'
  28. },{
  29. name:'<i class="icon-certificate"></i> 新版首页1',num:'jiu1','icon':'laptop'
  30. },{
  31. name:'<i class="icon-user"></i> 帐号('+adminuser+')',num:'user'
  32. }];
  33. if(js.request('afrom')=='')ddsata.push({name:'<i class="icon-signout"></i> 退出',num:'exit'});
  34. $('#indexuserl').rockmenu({
  35. width:150,top:get('tabsindexm').offsetHeight,
  36. data:ddsata,
  37. itemsclick:function(d){
  38. if(d.num=='exit'){
  39. js.confirm('确定要退出系统吗?',function(bn){
  40. if(bn=='yes')js.location('?m=login&a=exit');
  41. });
  42. return;
  43. }
  44. if(d.num=='face'){
  45. editfacechang(adminid, adminname);
  46. return;
  47. }
  48. if(d.num=='jiu'){
  49. js.location('?m=index');
  50. return;
  51. }
  52. if(d.num=='jiu1'){
  53. js.location('?a=home');
  54. return;
  55. }
  56. if(d.num=='user')return;
  57. addtabs({num:d.num,url:d.url,name:d.names,icons:d.icon});
  58. }
  59. });
  60. }
  61. $('#reordershla').click(function(){
  62. $('#mainleft').toggle();
  63. resizewh();
  64. });
  65. _addbodykey();
  66. $('#indesearchmenu').click(function(){
  67. _searchmenus();
  68. });
  69. function _loadjsurl(){
  70. js.importjs('web/res/mode/echarts/echarts.common.min.js');
  71. }
  72. setTimeout(_loadjsurl,100);
  73. //禁止后退
  74. $(document.body).keydown(function(e){
  75. var lxs = e.target.nodeName.toLowerCase();
  76. var bo = (lxs=='input' || lxs=='textarea');
  77. if(e.keyCode==8 && !bo)return false;
  78. });
  79. try{
  80. history.pushState(null, null, document.URL);
  81. window.addEventListener('popstate', function (){
  82. history.pushState(null, null, document.URL);
  83. });
  84. }catch(e){}
  85. js.addbody('topdimenu', 'hide', 'topdimenu',showmenuhide);
  86. $('#zhuind03').click(function(){
  87. showmenunew();
  88. return false;
  89. });
  90. $('#moretabs').click(function(){
  91. showmoretabs(this);
  92. return false;
  93. });
  94. }
  95. function _searchmenus(){
  96. js.prompt('搜索菜单','请输入搜索菜单名:',function(jg,txt){
  97. if(jg=='yes' && txt){
  98. $('#menulisttop').html('搜索结果');
  99. $('#menulist').html('<div style="padding:30px;" align="center"><img src="images/mloading.gif"></div>');
  100. js.ajax(js.getajaxurl('getmenusou','index'),{key:txt}, function(da){
  101. showmenula(da);
  102. },'post,json');
  103. }
  104. });
  105. }
  106. var loadmenuci=0;
  107. function loadmenu(o){
  108. var o1 = $(o),id,s1,ico;
  109. o1.addClass('topactive');id = o1.attr('pmenuid');ico = o1.attr('icon');
  110. if(!id)return;
  111. loadmenuci++;
  112. s1 = o.title;
  113. if(ico)s1='<i class="icon-'+ico+'"></i> '+s1+'';
  114. $('#menulisttop').html(s1);
  115. showmenupid = id;
  116. showmenuhide();
  117. $('#menulist').html('<div style="padding:30px;" align="center"><img src="images/mloading.gif"></div>');
  118. js.ajax(js.getajaxurl('getmenu','index'),{pid:id,loadci:loadmenuci}, function(da){
  119. if(da.menutopid)menutopid=da.menutopid;
  120. showmenula(da.menuarr);
  121. },'get,json');
  122. }
  123. function showmenula(a){
  124. menuarr = a;
  125. var i,s='',j,k,child,hhild,css1,to,sid,o;
  126. hongbadge={};
  127. for(i=0; i<a.length; i++){
  128. o = a[i];
  129. css1='border-radius:0px;border-left:none;border-right:none;cursor:pointer;TEXT-DECORATION:none';
  130. s+='<a onClick="clickmenu(this,'+i+',-1,-1)" style="'+css1+'"><i class="icon-'+o.icons+'"></i> '+o.name+'';
  131. if(o.bh && o.stotal==0)s+=' <span class="badge" badge="'+o.bh+'" style="float:none;display:none;background:red;color:white"></span>';
  132. if(o.stotal>0)s+='<font color="red" id="hongdian_'+o.num+'" style="display:none">●</font><span style="float:right" id="menu_down_isons_'+o.num+'" class="icon-caret-down"></span>';
  133. s+='</a>';
  134. if(o.stotal>0){
  135. child = o.children;
  136. for(j=0; j<child.length; j++){
  137. o = child[j];
  138. s+='<a downmenu="'+i+'_'+j+'" style="'+css1+';padding-left:30px;background:rgba(0,0,0,0.05);display:none" id="menu_list_'+o.num+'" onClick="clickmenu(this,'+i+','+j+',-1)"><i class="icon-'+o.icons+'"></i> '+o.name+'';
  139. if(o.bh){
  140. hongbadge[o.bh]=a[i].num;
  141. s+=' <span class="badge" badge="'+o.bh+'" style="float:none;display:none;background:red;color:white"></span>';
  142. }
  143. if(o.stotal>0)s+='<span style="float:right" id="menu_down_isons_'+o.num+'" class="icon-caret-down"></span>';
  144. s+='</a>';
  145. if(o.stotal>0){
  146. hhild = o.children;
  147. for(k=0; k<hhild.length; k++){
  148. o = hhild[k];
  149. s+='<a downmenu="'+i+'_'+j+'_'+k+'" style="'+css1+';padding-left:60px;background:rgba(0,0,0,0.02);display:none" id="menu_list_'+o.num+'" onClick="clickmenu(this,'+i+','+j+','+k+')"><i class="icon-'+o.icons+'"></i> '+o.name+'</a>';
  150. }
  151. }
  152. }
  153. }
  154. }
  155. if(s=='')s='<div style="padding:30px;color:#cccccc" align="center">暂无</div>';
  156. $('#menulist').html(s);
  157. $('#menulist').perfectScrollbar('destroy');
  158. $('#menulist').perfectScrollbar();
  159. showmenubadge();
  160. }
  161. //显示角标处理
  162. function showmenubadge(){
  163. var o,sid,to,tnu,tid,o1;
  164. $('li[pmenuid] font').remove();
  165. for(sid in menubadge){
  166. to = menubadge[sid];
  167. o = $('span[badge="'+sid+'"]');
  168. tnu= hongbadge[sid];
  169. if(o){if(to<=0){
  170. o.hide();
  171. if(tnu)$('#hongdian_'+tnu+'').hide();
  172. }else{
  173. o.show();o.html(to);
  174. if(tnu)$('#hongdian_'+tnu+'').show();
  175. tid= menutopid[sid];
  176. if(tid){
  177. o1 = $('li[pmenuid="'+tid+'"]');
  178. o1.find('font').remove();
  179. o1.append('<font color="red">●</font>');
  180. }
  181. }}
  182. }
  183. var lens = $('li[pmenuid] font').length;
  184. if(lens>0){$('#zhuhongdi').show();}else{$('#zhuhongdi').hide();}
  185. }
  186. function removetadge(num){
  187. if(typeof(menubadge[num])=='undefined')return;
  188. $('span[badge="'+num+'"]').hide();
  189. menubadge[num]=0;
  190. showmenubadge();
  191. }
  192. function opentixiang(){
  193. addtabs({num:'todo',url:'system,geren,todo',icons:'bell',name:'提醒信息'});
  194. return false;
  195. }
  196. function clickhome(){
  197. var ad = {num:'home',url:'home,index',icons:'home',name:'首页',hideclose:true};
  198. if(homeurl!='')ad.url= homeurl;
  199. if(homename!='')ad.name= homename;
  200. addtabs(ad);
  201. return false;
  202. }
  203. var fistwk=0;
  204. function resizewh(){
  205. var _wl = 230;
  206. if(get('mainleft').style.display=='none')_wl=0;
  207. var w = winWb()-_wl;
  208. var h = winHb();
  209. viewwidth = w;
  210. viewheight = h-60;
  211. $('#indexcontent').css({width:''+viewwidth+'px',height:''+(viewheight)+'px'});
  212. $('#tabsindexm').css({width:''+viewwidth+'px'});
  213. $('#menulist').css({height:''+(viewheight-40)+'px'});
  214. viewheight-=25;
  215. _changhhhsv();
  216. }
  217. function clickmenu(o, i, j,k){
  218. var a = menuarr[i];
  219. if(j>-1)a=a.children[j];
  220. if(k>-1)a=a.children[k];
  221. var oi = a.stotal,dxu=''+i+'_';
  222. if(oi>0){
  223. $('#hongdian_'+a.num+'').hide();//隐藏红点
  224. if(j>-1){
  225. dxu+=''+j+'_';
  226. $('a[downmenu^="'+dxu+'"]').toggle();
  227. }
  228. var o1 = get('menu_down_isons_'+a.num+'');
  229. if(o1.className.indexOf('down')>0){
  230. o1.className='icon-caret-up';
  231. if(j==-1)$('a[downmenu^="'+dxu+'"]').show();
  232. }else{
  233. o1.className='icon-caret-down';
  234. if(j==-1)$('a[downmenu^="'+dxu+'"]').hide();
  235. }
  236. }else{
  237. addtabs(a);
  238. }
  239. }
  240. var coloebool = false;
  241. function closetabs(num){
  242. tabsarr[num] = false;
  243. $('#content_'+num+'').remove();
  244. $('#tabs_'+num+'').remove();
  245. if(num == nowtabs.num){
  246. var now ='home',i,noux;
  247. for(i=opentabs.length-1;i>=0;i--){
  248. noux= opentabs[i];
  249. if(get('content_'+noux+'')){
  250. now = noux;
  251. break;
  252. }
  253. }
  254. changetabs(now);
  255. }
  256. coloebool = true;
  257. _changhhhsv();
  258. setTimeout('coloebool=false',10);
  259. }
  260. function closenowtabs(){
  261. var nu=nowtabs.num;
  262. if(nu=='home')return;
  263. closetabs(nu);
  264. }
  265. function nowtabssettext(srt,icos){
  266. var num=nowtabs.num;
  267. var txt = srt;
  268. tabsarr[num].name = srt;
  269. nowtabs.name = srt;
  270. if(!icos)icos=nowtabs.icons;
  271. if(icos)txt='<i class="icon-'+icos+'"></i> '+txt+'';
  272. $('#tabs_'+num+' font').html(txt);
  273. _changhhhsv();
  274. }
  275. function changetabs(num,lx){
  276. if(coloebool)return;
  277. if(!lx)lx=0;
  278. $("div[temp='content']").hide();
  279. $("[temp='tabs']").removeClass();
  280. var bo = false;
  281. if(get('content_'+num+'')){
  282. $('#content_'+num+'').show();
  283. $('#tabs_'+num+'').addClass('active');
  284. nowtabs = tabsarr[num];
  285. if(typeof(nowtabs.onshow)=='function')nowtabs.onshow();
  286. bo = true;
  287. }
  288. opentabs.push(num);
  289. if(lx==0)_changhhhsv(num);
  290. return bo;
  291. }
  292. function _changhhhsv(num){
  293. var mwd = $('#tabsindexm').width();
  294. var obj = $('#tabs_title').find('li'),sw1=0;
  295. for(var i=0;i<obj.length;i++){
  296. if(obj[i].id!='moretabs')sw1+=obj[i].offsetWidth;
  297. }
  298. if(sw1>=mwd){
  299. $('#moretabs').show();
  300. }else{
  301. $('#moretabs').hide();
  302. }
  303. }
  304. function _changesrcool(lx){
  305. }
  306. function _pdleftirng(){
  307. }
  308. function addiframe(a){
  309. a.url = 'index,iframe,url='+jm.base64encode(a.url)+'';
  310. addtabs(a);
  311. }
  312. //选择卡右键
  313. function tabsright(num,e){
  314. function _closeother(nu){
  315. var nus,d1;
  316. for(nus in tabsarr){
  317. d1 = tabsarr[nus];
  318. if(d1 && !d1.hideclose && nus!=nu)closetabs(nus);
  319. }
  320. }
  321. if(typeof(tabsrights)=='undefined')tabsrights=$.rockmenu({
  322. width:150,
  323. data:[],
  324. itemsclick:function(d){
  325. var lx = d.lx,num=d.num;
  326. if(lx==0)closetabs(num);
  327. if(lx==1){
  328. var d1 = tabsarr[num],s1=''+PROJECT+'/'+d1.urlpath+'';
  329. var s = '['+d1.name+']页面地址是:'+s1+'<div style="word-wrap:break-word;">,在[系统→基础管理→菜单管理]设置URL地址为:'+d1.url+'';
  330. if(HOST=='127.0.0.1' || HOST=='localhost')s+='&nbsp;<a onclick="_openfile(\''+jm.base64encode(s1)+'\')" href="javascript:;">[打开]</a>';
  331. s+='</div>';
  332. js.alert(s);
  333. }
  334. if(lx==2)_closeother(num);
  335. if(lx==3)location.reload();
  336. if(lx==4)_opentabls(d.tobj);
  337. }
  338. });
  339. var to= tabsarr[num],d = [];
  340. if(!to.hideclose)d.push({'name':'关闭','num':num,lx:0});
  341. if(num==nowtabs.num)d.push({'name':'关闭其它页面','num':num,lx:2});
  342. if(admintype==1)d.push({'name':'查看页面地址','num':num,lx:1});
  343. if(homeurl=='' && to.id)d.push({'name':'新窗口打开',tobj:to,'num':num,lx:4});
  344. d.push({'name':'全部刷新','num':num,lx:3});
  345. tabsrights.setData(d);
  346. tabsrights.showAt(e.clientX,e.clientY+5);
  347. }
  348. function _opentabls(d){
  349. var url = '?homeurl='+jm.base64encode(d.url)+'&homename='+jm.base64encode(d.name)+'&menuid='+jm.base64encode(d.id)+'';
  350. window.open(url);
  351. }
  352. //开发时打开文件
  353. function _openfile(s){
  354. js.ajax(js.getajaxurl('openfile','index'),{file:s},function(ds){
  355. if(ds!='ok')js.msg('msg', ds);
  356. },'get');
  357. }
  358. /**
  359. * 添加选择卡
  360. */
  361. function addtabs(a){
  362. var url = a.url,
  363. num = a.num;
  364. if(isempt(url))return false;
  365. removetadge(num);
  366. if(url.indexOf('add,')==0){openinput(a.name,url.substr(4));return;}
  367. if(url.indexOf('open:')==0){window.open(url.substr(5));return;}
  368. if(url.indexOf('http')==0 || url.substr(0,1)=='?'){addiframe(a);return;}
  369. if(nowtabs && nowtabs.id && !a.id)a.id=nowtabs.id;
  370. nowtabs = a;
  371. if(changetabs(num))return true;
  372. var s = '<li temp="tabs" oncontextmenu="tabsright(\''+num+'\',event);return false;"; nowrap onclick="changetabs(\''+num+'\',1)" id="tabs_'+num+'" class="active"><font>';
  373. if(a.icons)s+='<i class="icon-'+a.icons+'"></i> ';
  374. s+=a.name+'</font>';
  375. if(!a.hideclose)s+='<span onclick="closetabs(\''+num+'\')"><img src="images/del.png" width="12" height="12"></span>';
  376. s+='</li>';
  377. objtabs.append(s);
  378. _changhhhsv(num);
  379. _pdleftirng();
  380. var rand = js.getrand(),i,oi=2,
  381. ura = url.split(','),
  382. dir = ura[0],
  383. mode= ura[1];
  384. url =''+dir+'/'+mode+'/rock_'+mode+'';
  385. if(ura[2]){
  386. if(ura[2].indexOf('=')<0){
  387. oi=3;
  388. url+='_'+ura[2]+'';
  389. }
  390. }
  391. var urlpms= '';
  392. for(i=oi;i<ura.length;i++){
  393. var nus = ura[i].split('=');
  394. urlpms += ",'"+nus[0]+"':'"+nus[1]+"'";
  395. }
  396. if(urlpms!='')urlpms = urlpms.substr(1);
  397. var bgs = '<div id="mainloaddiv" style="width:'+viewwidth+'px;height:'+viewheight+'px;overflow:hidden;background:#000000;color:white;filter:Alpha(opacity=20);opacity:0.2;z-index:3;position:absolute;left:0px;line-height:'+viewheight+'px;top:0px;" align="center"><img src="images/mloading.gif" align="absmiddle">&nbsp;加载中...</div>';
  398. $('#indexcontent').append(bgs);
  399. a.urlpath = url+'.php';
  400. objcont.append('<div temp="content" style="margin:10px;" id="content_'+num+'"></div>');
  401. $.ajax({
  402. url:'?m=index&a=getshtml&surl='+jm.base64encode(url)+'&num='+num+'&menuname='+jm.base64encode(a.name)+'&urlpms='+jm.base64encode(urlpms)+'',
  403. type:'get',
  404. success: function(da){
  405. $('#mainloaddiv').remove();
  406. var s = da;
  407. s = s.replace(/\{rand\}/gi, rand);
  408. s = s.replace(/\{adminid\}/gi, adminid);
  409. s = s.replace(/\{adminname\}/gi, adminname);
  410. s = s.replace(/\{mode\}/gi, mode);
  411. s = s.replace(/\{dir\}/gi, dir);
  412. s = s.replace(/\{params\}/gi, "var params={"+urlpms+"};");
  413. var obja = $('#content_'+num+'');
  414. if(num!='home')s='<div style="background:white;overflow:auto;border-radius:5px"><div style="padding:10px">'+s+'</div></div>';
  415. obja.html(s);
  416. },
  417. error:function(){
  418. $('#mainloaddiv').remove();
  419. var s = 'Error:加载出错喽,'+url+'';
  420. $('#content_'+num+'').html(s);
  421. }
  422. });
  423. tabsarr[num] = a;
  424. return false;
  425. }
  426. //新增的
  427. function showmenunew(){
  428. if(get('topdimenu').style.display!='none'){
  429. showmenuhide();
  430. return;
  431. }
  432. var o1 = $('#zhuind03');
  433. $('#topdimenu').show();
  434. var hei = $('#topdimenu').height();
  435. if(hei<450)hei=450;
  436. var offs = o1.offset();
  437. get('topdimenu').style.left=''+offs.left+'px';
  438. //o1.addClass('topactive1');
  439. }
  440. function showmenuhide(){
  441. //$('#zhuind03').removeClass('topactive1');
  442. $('#topdimenu').hide();
  443. }
  444. var showmoretabsobj=false;
  445. function showmoretabs(o1){
  446. var da = [],nu,st1,d1;
  447. for(nu in tabsarr){
  448. d1 = tabsarr[nu];
  449. if(d1){
  450. st1 = d1.name;
  451. if(d1.icons)st1='<i class="icon-'+d1.icons+'"></i> '+st1+'';
  452. if(nu==nowtabs.num)st1='<b style="color:'+maincolor+'">'+st1+'</b>';
  453. da.push({num:nu,name:st1});
  454. }
  455. }
  456. if(!showmoretabsobj)showmoretabsobj=$(o1).rockmenu({
  457. width:150,top:get('tabsindexm').offsetHeight,
  458. data:da,
  459. itemsclick:function(d){
  460. changetabs(d.num);
  461. }
  462. });
  463. showmoretabsobj.setData(da);
  464. showmoretabsobj.showAt();
  465. }