main.js 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533
  1. /**
  2. 首页
  3. *
  4. */
  5. $.namespace("main");
  6. main.menuData=null;
  7. main.isSSO = "false";
  8. main.init=function(){
  9. main.initMenu();
  10. main.initMenuCss();
  11. main.initTab();
  12. main.getDbNum();
  13. //setInterval(main.getDbNum,10000);
  14. };
  15. main.initMenu=function(){
  16. var str="";
  17. if(main.menuData){
  18. var x = $.parseJSON(main.menuData);
  19. for(var i =0;i<x.length;i++){
  20. var menu = x[i];
  21. str+=" <div class='menu'>";
  22. if(menu.children&&menu.children.length>0){
  23. str+="<div class='sub_menu' >";
  24. if(menu.iconcls){
  25. str+="<span class='"+menu.iconcls+"'></span>";
  26. }
  27. str+="<p>"+menu.name+"</p>";
  28. str+="<img src='"+$.app+"/static/biz/image/circle.png' />";
  29. str+="</div>";
  30. str+="<ul class='sub_main'>";
  31. for(var j =0;j<menu.children.length;j++){
  32. var menu1 = menu.children[j];
  33. if(menu1.children&&menu1.children.length>0){
  34. str+="<li>";
  35. str+=" <div class='menu2'>";
  36. str+="<div class='sub_menu2' >";
  37. if(menu1.iconcls){
  38. str+="<span class='"+menu1.iconcls+"'></span>";
  39. }
  40. str+="<p>"+menu1.name+"</p>";
  41. str+="<img src='"+$.app+"/static/biz/image/circle.png' />";
  42. str+="</div>";
  43. str+="<ul class='sub_main2'>";
  44. for(var k =0;k<menu1.children.length;k++){
  45. var menu2 = menu1.children[k];
  46. str+="<li onclick=\"main.menuClick('"+menu2.code+"','"+menu2.name+"','"+menu2.url+"')\">";
  47. str+="<b>.</b>";
  48. str+="<span>";
  49. str+=menu2.name;
  50. str+="</span>";
  51. str+="</li>";
  52. }
  53. str+="</ul>";
  54. str+=" </div >";
  55. str+="</li>";
  56. }else{
  57. str+="<li onclick=\"main.menuClick('"+menu1.code+"','"+menu1.name+"','"+menu1.url+"')\">";
  58. str+="<b>.</b>";
  59. str+="<span>";
  60. str+=menu1.name;
  61. str+="</span>";
  62. str+="</li>";
  63. }
  64. }
  65. str+="</ul>";
  66. str+="</li>";
  67. }else{
  68. str+="<div class='sub_menu' onclick=\"main.menuClick('"+menu.code+"','"+menu.name+"','"+menu.url+"')\">";
  69. if(menu.iconcls){
  70. str+="<span class='"+menu.iconcls+"'></span>";
  71. }
  72. str+="<p>"+menu.name+"</p>";
  73. str+="</div>";
  74. }
  75. str+="</div>";
  76. }
  77. }
  78. str+="</ul>";
  79. $("#menu_main").empty();
  80. $("#menu_main").append(str);
  81. };
  82. main.initMenuCss=function(){
  83. $(".sub_menu").mouseenter(function(){
  84. var x = $(this).offset().top;
  85. x-=59;
  86. $(this).siblings("ul").css({"display":"block","top":x});
  87. $(this).find("p").css("color","#FFFFFF");
  88. $(this).find("img").attr("src",$.app+"/static/biz/image/right_arrow.png");
  89. $(this).css("backgroundColor","#203a55");
  90. });
  91. $(".sub_menu2").mouseenter(function(){
  92. var x = $(this).offset().top;
  93. if(x>230){
  94. x-=80;
  95. }
  96. x-=59;
  97. x-=90;
  98. $(this).siblings("ul").css({"display":"block","top":x});
  99. $(this).find("p").css("color","#FFFFFF");
  100. $(this).find("img").attr("src",$.app+"/static/biz/image/right_arrow.png");
  101. $(this).css("backgroundColor","#203a55");
  102. });
  103. $(".menu").mouseleave(function(){
  104. $(this).find("ul").css("display","none");
  105. $(this).find("p").css("color","#b5c5d5");
  106. $(this).find("img").attr("src",$.app+"/static/biz/image/circle.png");
  107. $(this).children("div:first").css("backgroundColor","");
  108. });
  109. $(".menu2").mouseleave(function(){
  110. $(this).find("ul").css("display","none");
  111. $(this).find("p").css("color","#b5c5d5");
  112. $(this).find("img").attr("src",$.app+"/static/biz/image/circle.png");
  113. $(this).children("div:first").css("backgroundColor","");
  114. });
  115. };
  116. main.menuClick=function(code,name,url){
  117. if(url.indexOf('?')==-1){
  118. url+="?menuid="+code;
  119. }else{
  120. url+="&menuid="+code;
  121. }
  122. if(name=="建设进度管理"){
  123. url=url+"&dqzt=initJsjdgl";
  124. }
  125. //遍历li的name值放进数组a
  126. var a= new Array();
  127. $("#tabs>li").each(function(i){
  128. a[i]= $(this).attr("code");
  129. });
  130. //检查是否已加入选项卡
  131. if($.inArray(code,a)=="-1"){
  132. $(".thistab").after("<li url='"+url+"' code='"+code+"' title='"+name+"'><div><p>"+name+"</p><span></span></div></li>") //增加对应选项卡
  133. $("#tabs>li[code='"+code+"']").addClass("thistab").siblings("li").removeClass("thistab"); //当前选项卡添加选中样式,删除其他选项卡选中样式
  134. // $("#iframepage").attr("src",$.app+url);
  135. var str = "<iframe width='100%' class='iframepage' style=\"min-height:450px;\" src='"+$.app+url+"' id='"+code+"' frameborder='no' name='iframepage' border='0' ></iframe>";
  136. $("#tabs_content").append(str);
  137. showOrHide(code);
  138. }else{
  139. $("#tabs>li[code='"+code+"']").addClass("thistab").siblings("li").removeClass("thistab"); //当前选项卡添加选中样式,删除其他选项卡选中样式
  140. // $("#iframepage").attr("src",$.app+url);
  141. $("#"+code).attr("src",$.app+url);
  142. $("#"+code).css("display","block");
  143. showOrHide(code);
  144. }
  145. $("#tabs>li[code='"+code+"']").addClass("thistab").siblings("li").removeClass("thistab"); //当前选项卡添加选中样式,删除其他选项卡选中样式
  146. $("#iframepage").attr("src",$.app+url);
  147. /*
  148. if($.inArray(code,a)=="-1"){
  149. tabmove();
  150. }else{
  151. tabmove(code);
  152. }
  153. */
  154. tabmove(code,$.inArray(code,a)=="-1");
  155. //tab();
  156. jqtab("#tabs","#tabs_content","click");
  157. };
  158. main.initTab=function(){
  159. //默认选中第一个选项卡及显示对应内容
  160. var defaultpage=$("#tab>.tabs>li").eq(0).attr("name");
  161. var str = "<iframe style=\"min-height:450px;\" width='100%' class='iframepage' src='"+$.app+"/index/main' id='index' frameborder='no' name='iframepage' border='0' ></iframe>";
  162. $("#tabs_content").append(str);
  163. showOrHide('index');
  164. // $("#iframepage").attr("src",$.app+"/index/main");
  165. $("#tab>.tabs>li").eq(0).addClass("thistab");
  166. $("#tab>.tabs>.thistab").css("z-index", "101");
  167. plus=0;
  168. clicktab();
  169. tab();
  170. jqtab("#tabs","#tabs_content","click");
  171. };
  172. function clicktab(){
  173. //点击next
  174. $("#buttontab>#tabsnext").click(function(){
  175. var length=$("#tab>.tabs>li").length; //选项卡的数量
  176. var showtab=Math.floor(parseInt($("#tab").width()-204)/170+1); //当前浏览器可显示的选项卡数量
  177. if(length>showtab){ //判断选项卡是否超出
  178. if(plus<(length-showtab)){ //判断操作步数
  179. var tabsleft = parseInt($("#tabs").css("left"));
  180. $("#tabs").css("left", tabsleft-170);
  181. plus++;
  182. }
  183. }
  184. tab();
  185. });
  186. //点击prev
  187. $("#buttontab>#tabsprev").click(function(){
  188. var tabsleft = parseInt($("#tabs").css("left"));
  189. if(tabsleft<15){
  190. plus--;
  191. var tabsleft = parseInt($("#tabs").css("left"));
  192. $("#tabs").css("left", tabsleft+170);
  193. }
  194. tab();
  195. });
  196. }
  197. main.hideTips=function(){
  198. var tips=document.getElementById("hidden_tips");
  199. var tips_image=document.getElementById("tips_image");
  200. if(tips.style.display=="none")
  201. {
  202. tips_image.src=$.app+"/static/biz/image/item1_1.png";
  203. tips.style.display="block";
  204. }
  205. else
  206. {
  207. tips_image.src=$.app+"/static/biz/image/item1.png";
  208. tips.style.display="none";
  209. }
  210. };
  211. main.setTips=function(no,num){
  212. for(var i=0;i<num;i++)
  213. {
  214. var tips_menu = document.getElementById("tips_menu_" + i);
  215. var tips_main = document.getElementById("tips_main_" + i);
  216. tips_menu.style.color=i==no?"#4883be":"#a4acb7";
  217. tips_main.style.display=i==no?"block":"none";
  218. }
  219. };
  220. main.show_hover=function(n,length)
  221. {
  222. for(var i=0;i<length;i++)
  223. {
  224. var list_hover_div=document.getElementById("list_hover_div_"+i);
  225. list_hover_div.style.top=(i*38)+"px";
  226. list_hover_div.style.display=i==n?"block":"none";
  227. list_hover_div.style.zIndex=i==n?"121":"0";
  228. // alert(list_hover_div.style.zIndex);
  229. }
  230. };
  231. main.hide_hover=function(length)
  232. {
  233. for(var i=0;i<length;i++)
  234. {
  235. var list_hide_div = document.getElementById("list_hover_div_"+i);
  236. list_hide_div.style.display="none";
  237. }
  238. };
  239. main.logout=function(){
  240. // if(main.isSSO=="true"){
  241. // location.href=$.app+"/ssologout";
  242. // }else{
  243. location.href=$.app+"/logout";
  244. // }
  245. };
  246. main.index=function(){
  247. location.href=$.app+"/main";
  248. };
  249. //修改密码弹出框
  250. main.shenbao=function(){
  251. /*alert("孙正正在开发中");*/
  252. //让弹出层的输入框清空和提示为空
  253. $('.changePW_table input[type=password]').val("");
  254. $('.hint').text("");
  255. $('.theme-popover-mask').fadeIn(100);
  256. $('.theme-popover').slideDown(0);
  257. };
  258. $('#btn1').click(function(){
  259. var oldPW=$('#oldPW').val();
  260. var newPW=$('#newPW').val();
  261. var confirmPW=$('#confirmPW').val();
  262. if(!isMM(newPW) || newPW.length <8 || newPW.length >16){
  263. $('#all_hint').text("密码必须包含字母(区分大小写)、数字和特殊字符,长度必须8-16位!");
  264. return false;
  265. }
  266. if(validatePassword(oldPW,newPW,confirmPW)){
  267. $.ajax({
  268. data:{ 'oldPW':oldPW,'newPW':newPW},
  269. type:"GET",
  270. dataType: 'json',
  271. url:$.app+"/password/updatepassword",
  272. error:function(data){
  273. $('#all_hint').text("密码修改失败!");
  274. },
  275. success:function(data){
  276. if(data.message=="0"){
  277. $('#oldPW_hint').text("旧密码不正确!");
  278. $('.changePW_table input[type=password]').val("");
  279. }else{
  280. $('.theme-popover-mask').fadeOut(100);
  281. $('.theme-popover').slideUp(0);
  282. $.alert({
  283. title: '提示',
  284. content: "密码修改成功!",
  285. confirm: function(){
  286. location.href=$.app+'/main';
  287. }
  288. });
  289. }
  290. }
  291. });
  292. }
  293. });
  294. $('#btn2').click(function(){
  295. $('.theme-popover-mask').fadeOut(100);
  296. $('.theme-popover').slideUp(0);
  297. });
  298. $('#oldPW').change(function(){
  299. var oldPW=$(this).val();
  300. if(isEmpty(oldPW)){
  301. $('#oldPW_hint').text("旧密码不能为空!");
  302. }else{
  303. $('#oldPW_hint').text("");
  304. }
  305. });
  306. $('#newPW').change(function(){
  307. var newPW=$(this).val();
  308. if(isEmpty(newPW)){
  309. $('#newPW_hint').text("新密码不能为空!");
  310. }else{
  311. $('#newPW_hint').text("");
  312. }
  313. });
  314. $('#confirmPW').change(function(){
  315. var newPW=$(this).val();
  316. var confirmPW=$(this).val();
  317. if(confirmPW!=newPW){
  318. $('#confirmPW_hint').text("与旧密码不一致!");
  319. }else{
  320. $('#confirmPW_hint').text("");
  321. }
  322. });
  323. $('#newPW').focus(function(){
  324. var oldPW=$('#oldPW').val();
  325. /* var newPW=$('#newPW').val();
  326. var confirmPW=$('#confirmPW').val();*/
  327. if(isEmpty(oldPW)){
  328. $('#oldPW_hint').text("旧密码不能为空!");
  329. }else{
  330. $('#oldPW_hint').text("");
  331. }
  332. });
  333. $('#confirmPW').focus(function(){
  334. var oldPW=$('#oldPW').val();
  335. var newPW=$('#newPW').val();
  336. if(isEmpty(oldPW)){
  337. $('#oldPW_hint').text("旧密码不能为空!");
  338. }else{
  339. $('#oldPW_hint').text("");
  340. }
  341. if(isEmpty(newPW)){
  342. $('#newPW_hint').text("新密码不能为空!");
  343. }else{
  344. $('#newPW_hint').text("");
  345. }
  346. });
  347. function validatePassword(oldPW,newPW,confirmPW){
  348. if(isEmpty(oldPW)){
  349. $('#oldPW_hint').text("旧密码不能为空!");
  350. return false;
  351. }
  352. if(isEmpty(newPW)){
  353. $('#newPW_hint').text("新密码不能为空!");
  354. return false;
  355. }
  356. if(newPW!=confirmPW){
  357. $('#confirmPW_hint').text("与旧密码不一致!");
  358. return false;
  359. }
  360. return true;
  361. }
  362. function isEmpty(str){
  363. if(str==""||str.length==0||str==null||str.replace(/(^\s*)(\s*$)/g,"").length==0){
  364. return true;
  365. }
  366. return false;
  367. }
  368. main.letChangePasswordDialogMid=function(){
  369. var browserWidth=parseInt($(window).width());
  370. var browserHeight=parseInt($(window).height());
  371. var dialogWidth=parseInt($('.theme-popover').css("width"));
  372. var dialogHeight=parseInt($('.theme-popover').css("height"));
  373. var left=(browserWidth-dialogWidth)/2;
  374. var top=(browserHeight-dialogHeight)/2;
  375. $('.theme-popover').css({
  376. left:left+"px",
  377. top:top+"px"
  378. });
  379. };
  380. main.getDbNum=function(){
  381. $.post($.app + "/getDbNum", {
  382. }, function(data) {
  383. if(data){
  384. if(data.attrs.ssflag==1){
  385. $('#dsdiv').show();
  386. $('#sjdiv').hide();
  387. }else{
  388. $('#dsdiv').hide();
  389. $('#sjdiv').show();
  390. }
  391. $("#jsjdnum").html(data.attrs.jsjd);
  392. $("#dcsbnum").html(data.attrs.dcsb);
  393. $("#xkzsqnum").html(data.attrs.xkzsq);
  394. $("#xkzbgnum").html(data.attrs.xkzbg);
  395. $("#xkzyxnum").html(data.attrs.xkzyx);
  396. $("#xkzzxnum").html(data.attrs.xkzzx);
  397. $("#jdtxnum").html(data.attrs.jdtx);
  398. $("#jsjdcbsjnum").html(data.attrs.jsjdcbsj);
  399. $("#jsjdbgnum").html(data.attrs.jsjdbg);
  400. $("#jgsqnum").html(data.attrs.jgsq);
  401. $("#lhsqnum").html(data.attrs.lhsq);
  402. $("#lhbgnum").html(data.attrs.lhbg);
  403. $("#lhyxnum").html(data.attrs.lhyx);
  404. var warn="<span onclick=\"main.menuClick('xkzxx','许可证信息','/xkzxx/main')\" style=\"cursor:pointer\";>"+data.attrs.warn+"</span>";
  405. if(warn!=null&&warn!=""&&warn!="undefined"){
  406. $("#xkzwarn").html(warn);
  407. }
  408. /*var jdtxwarn="<span onclick=\"main.menuClick('jdtx','监督提醒','/jdtx/main')\" style=\"cursor:pointer\";>"+data.attrs.jdtxwarn+"</span>";
  409. $("#jdtxwarn").html(jdtxwarn);*/
  410. var tzggwarn="<span onclick=\"main.menuClick('tzgg','通知公告','/ggxx/main')\" style=\"cursor:pointer\";>"+data.attrs.tzggwarn+"</span>";
  411. if(data.attrs.tzggwarn!=null&&data.attrs.tzggwarn!=""&&data.attrs.tzggwarn!="undefined"){
  412. $("#tzggwarn").html(tzggwarn);
  413. }
  414. var jsjdcbsjwarn = "<span onclick=\"main.menuClick('jsjdcbsjds','项目初步设计申请','/jsjdcbsjds/main')\" style=\"cursor:pointer\";>"+data.attrs.jsjdcbsjwarn+"</span>";
  415. if(data.attrs.jsjdcbsjwarn!=null&&data.attrs.jsjdcbsjwarn!=""&&data.attrs.jsjdcbsjwarn!="undefined"){
  416. $("#jsjdcbsjwarn").html(jsjdcbsjwarn);
  417. }
  418. var jsjdbgwarn = "<span onclick=\"main.menuClick('jsjdbgds','项目初步设计变更','/jsjdbgds/main')\" style=\"cursor:pointer\";>"+data.attrs.jsjdbgwarn+"</span>";
  419. if(data.attrs.jsjdbgwarn!=null&&data.attrs.jsjdbgwarn!=""&&data.attrs.jsjdbgwarn!="undefined"){
  420. $("#jsjdbgwarn").html(jsjdbgwarn);
  421. }
  422. var jgsqwarn = "<span onclick=\"main.menuClick('jgsqds','项目竣工验收申请','/jgsqds/main')\" style=\"cursor:pointer\";>"+data.attrs.jgsqwarn+"</span>";
  423. if(data.attrs.jgsqwarn!=null&&data.attrs.jgsqwarn!=""&&data.attrs.jgsqwarn!="undefined"){
  424. $("#jgsqwarn").html(jgsqwarn);
  425. }
  426. sfred();
  427. if(data.attrs.messageNum != 0){
  428. $("#messageCircle").css("backgroundColor","red");
  429. }else{
  430. $("#messageCircle").css("backgroundColor","#203751");
  431. };
  432. }
  433. }, "json");
  434. }
  435. function sfred(){
  436. var span = $('#tips_main_1 span');
  437. var p = $('#tips_main_1 p');
  438. for(var i=0;i<span.length;i++){
  439. if($(span[i]).html() > 0){
  440. $(span[i]).css('color', 'red');
  441. }else{
  442. $(span[i]).css('color', '#a4acb7');
  443. }
  444. }
  445. /*
  446. var span2=$('#tips_main_0 span');
  447. for(var i=0;i<span2.length;i++){
  448. if($(span2[i]).html() > 0){
  449. $(span2[i]).css('color', 'red');
  450. //$(p[i]).css('color', 'red');
  451. }else{
  452. alert($(span2[i]).html());
  453. $(span[i]).css('color', '#a4acb7');
  454. }
  455. }*/
  456. }
  457. main.initkjan=function(jsonmap){
  458. if(jsonmap.indexOf('gkdczysb')<0){
  459. $('#list_div_before').hide();
  460. }
  461. else if(jsonmap.indexOf('xkzxx')<0){
  462. $('#list_xkzxx').hide();
  463. }
  464. else if(jsonmap.indexOf('xzdwxxgl')<0){
  465. $('#list_xzdwxxgl').hide();
  466. $("#list_hover_div_2").html($("#list_hover_div_3").html());
  467. $('#list_div_before').attr('onmouseover','main.show_hover(0,3)');
  468. $('#list_xkzxx').attr('onmouseover','main.show_hover(1,3)');
  469. $('#list_div_after').attr('onmouseover','main.show_hover(2,3)');
  470. $('#list').css('height', '120px');
  471. $('#list').css('bottom', '62px');
  472. }
  473. else if(jsonmap.indexOf('jyrjbxx')<0){
  474. $('#list_div_after').hide();
  475. }
  476. };