mcSnhj.js 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504
  1. var iscroll,jroll;
  2. var ztType = $("#type").val();
  3. $(function (){
  4. /**
  5. * 初始化二级菜单按钮
  6. */
  7. var strButton = $("#strButtom").val();
  8. var strBArr = strButton.split(",");
  9. for (var i = 0 ; i < strBArr.length ; i++) {
  10. if (strBArr[i] == "0") {
  11. $(".show"+i).remove();
  12. }else {
  13. $(".show"+i).show();
  14. }
  15. }
  16. /**
  17. * 初始化搜索日期
  18. */
  19. var date = new Date();
  20. var year = "";
  21. var month = "";
  22. var day = "";
  23. if ($("#dbrq").val() == "") {
  24. year = date.getFullYear()+"";
  25. month = date.getMonth()+1;
  26. day = date.getDate();
  27. } else {
  28. var datearr = new Array();
  29. datearr = $("#dbrq").val().split("-");
  30. year = datearr[0];
  31. month = datearr[1];
  32. day = datearr[2];
  33. }
  34. $("#danri .nian").html(year);
  35. $("#danri .yue").html(month);
  36. $("#danri .ri").html(day);
  37. if ($("#tjtjsrq").val() == "") {
  38. $(".toYear").html(year);
  39. $(".toMonth").html(month);
  40. $(".toDay").html(day);
  41. } else {
  42. var ksarr = new Array();
  43. ksarr = $("#tjtjsrq").val().split("-");
  44. $(".toYear").html(ksarr[0]);
  45. $(".toMonth").html(ksarr[1]);
  46. $(".toDay").html(ksarr[2]);
  47. }
  48. if ($("#tjtksrq").val() == "") {
  49. date.setDate(date.getDate()-14);
  50. var newYear = date.getFullYear()+"";
  51. var newMonth = date.getMonth()+1;
  52. var newDay = date.getDate();
  53. $(".newYear").html(newYear);
  54. $(".newMonth").html(newMonth);
  55. $(".newDay").html(newDay);
  56. } else {
  57. var ksarr = new Array();
  58. ksarr = $("#tjtksrq").val().split("-");
  59. $(".newYear").html(ksarr[0]);
  60. $(".newMonth").html(ksarr[1]);
  61. $(".newDay").html(ksarr[2]);
  62. }
  63. /**
  64. *搜索接口
  65. *
  66. */
  67. $("#search").on("tap",function(){
  68. var date = new Date();
  69. var year = date.getFullYear()+"";
  70. var month = date.getMonth()+1;
  71. var day = date.getDate();
  72. if (month.toString().length == 1) {
  73. month = "0"+(date.getMonth()+1);
  74. };
  75. if (day.toString().length == 1) {
  76. day = "0"+(date.getDate());
  77. };
  78. var todayInt = parseInt(year+month+day);
  79. var ksy = "";
  80. var ksm = "";
  81. var ksd = "";
  82. var jsy= "";
  83. var jsm = "";
  84. var jsd= "";
  85. var dbrq = "";
  86. var jsms = $(".checklabel").data("for");
  87. if (jsms == "1") {
  88. ksy = $("#danri .nian").html()+"";
  89. ksm = $("#danri .yue").html();
  90. ksd = $("#danri .ri").html();
  91. dbrq = ksy+"-"+ksm+"-"+ksd;
  92. var dbrqInt = parseInt(ksy + ksm + ksd);
  93. if (dbrqInt > todayInt) {
  94. mui.alert('所选日期不能超过当前日期', '提示', function() {});
  95. return;
  96. }
  97. }else if (jsms == "3") {
  98. ksy = $("#kaishi .newYear").html()+"";
  99. ksm = $("#kaishi .newMonth").html();
  100. ksd = $("#kaishi .newDay").html();
  101. jsy = $("#jieshu .toYear").html();
  102. jsm = $("#jieshu .toMonth").html();
  103. jsd = $("#jieshu .toDay").html();
  104. var ksInt = parseInt(ksy + ksm + ksd);
  105. if (ksInt > todayInt) {
  106. mui.alert('开始日期不能超过当前日期', '提示', function() {});
  107. return;
  108. }
  109. var jsInt = parseInt(jsy+jsm+jsd);
  110. if (jsInt > todayInt) {
  111. mui.alert('结束日期不能超过当前日期', '提示', function() {});
  112. return;
  113. }
  114. if (ksInt > jsInt) {
  115. mui.alert('开始时间不能大于结束时间', '提示', function() {});
  116. return;
  117. }
  118. }
  119. var kssj = ksy + "-" + ksm + "-" + ksd;
  120. var jssj = jsy + "-" + jsm + "-" + jsd;
  121. var ksms = "";
  122. if (jsms == "1") {
  123. ksjs = ksy.substring(2,4) + "/" + ksm + "/" + ksd;
  124. }else if (jsms == "3") {
  125. ksjs = ksy.substring(2,4) + "/" + ksm + "/" + ksd+"-"+jsy.substring(2,4) + "/" + jsm + "/" + jsd;
  126. }
  127. $("#tjtksrq").val(kssj);
  128. $("#tjtjsrq").val(jssj);
  129. $("#dbrq").val(dbrq);
  130. $("#jsms").val(jsms);
  131. var rt = "&ksjs="+ksjs + "&jsms="+jsms +"&yweb="+ $("#yweb").val()
  132. +"&dbrq="+dbrq + "&tjtksrq=" + kssj + "&tjtjsrq=" + jssj + "&lqid="+$("#lqid").val();
  133. haifm.loadMobilePage("zsmain", ztType + "HaifmvMain.htm?zsid=" + $("#zsid").val() + rt);
  134. });
  135. if (ztType == "snwd") {//室内温度ajax
  136. $("#iscrollSnhjX ul").find("#wd").addClass("tabcolor").parent().siblings().find("a").removeClass("tabcolor");
  137. if ($("#lqid").val() > 0) {
  138. jqAjax("getHaifmvSnwdTjt.htm",iscroll,"");
  139. }
  140. }
  141. if (ztType == "snsd") {
  142. $("#iscrollSnhjX ul").find("#sd").addClass("tabcolor").parent().siblings().find("a").removeClass("tabcolor");
  143. if ($("#lqid").val() > 0) {
  144. jqAjax("getHaifmvSnsdTjt.htm",iscroll,"");
  145. }
  146. }
  147. if (ztType == "snaq") {
  148. $("#iscrollSnhjX ul").find("#aq").addClass("tabcolor").parent().siblings().find("a").removeClass("tabcolor");
  149. if ($("#lqid").val() > 0) {
  150. jqAjax("getHaifmvSnaqTjt.htm",iscroll,"");
  151. }
  152. }
  153. if (ztType == "sno2") { //氧气
  154. $("#iscrollSnhjX ul").find("#o2").addClass("tabcolor").parent().siblings().find("a").removeClass("tabcolor");
  155. if ($("#lqid").val() > 0) {
  156. jqAjax("getHaifmvSno2Tjt.htm",iscroll,"");
  157. }
  158. }
  159. if (ztType == "snco2") { //二氧化碳
  160. $("#iscrollSnhjX ul").find("#co2").addClass("tabcolor").parent().siblings().find("a").removeClass("tabcolor");
  161. if ($("#lqid").val() > 0) {
  162. jqAjax("getHaifmvSnco2Tjt.htm",iscroll,"");
  163. }
  164. }
  165. if (ztType == "snh2s") { //硫化氢
  166. $("#iscrollSnhjX ul").find("#h2s").addClass("tabcolor").parent().siblings().find("a").removeClass("tabcolor");
  167. if ($("#lqid").val() > 0) {
  168. jqAjax("getHaifmvSnh2sTjt.htm",iscroll,"");
  169. }
  170. }
  171. if (ztType == "snsl") { //水量
  172. $("#iscrollSnhjX ul").find("#sl").addClass("tabcolor").parent().siblings().find("a").removeClass("tabcolor");
  173. if ($("#lqid").val() > 0) {
  174. jqAjax("getHaifmvSnslTjt.htm",iscroll,"吨");
  175. }
  176. }
  177. if (ztType == "sndl") { //电量
  178. $("#iscrollSnhjX ul").find("#dl").addClass("tabcolor").parent().siblings().find("a").removeClass("tabcolor");
  179. if ($("#lqid").val() > 0) {
  180. jqAjax("getHaifmvSndlTjt.htm",iscroll,"度");
  181. }
  182. }
  183. if (ztType == "snph") { //PH
  184. $("#iscrollSnhjX ul").find("#ph").addClass("tabcolor").parent().siblings().find("a").removeClass("tabcolor");
  185. if ($("#lqid").val() > 0) {
  186. jqAjax("getHaifmvSnphTjt.htm",iscroll,"PH");
  187. }
  188. }
  189. if (ztType == "snsy") { //水压
  190. $("#iscrollSnhjX ul").find("#sy").addClass("tabcolor").parent().siblings().find("a").removeClass("tabcolor");
  191. if ($("#lqid").val() > 0) {
  192. jqAjax("getHaifmvSnsyTjt.htm",iscroll,"Mpa");
  193. }
  194. }
  195. if (ztType == "mtxh") { //饲料每天消耗
  196. $("#iscrollSnhjX ul").find("#mtxh").addClass("tabcolor").parent().siblings().find("a").removeClass("tabcolor");
  197. if ($("#lqid").val() > 0) {
  198. jqAjax("getHaifmvMtxhTjt.htm",iscroll,"");
  199. }
  200. }
  201. /**
  202. * 初始化滚动条
  203. * */
  204. iscroll = new IScroll(".snhjIscroll",{
  205. scrollbars: true,
  206. fadeScrollbars:true,
  207. scrollbars: 'custom',
  208. shrinkScrollbars:'clip',
  209. click:true
  210. });
  211. jroll = new JRoll('#iscrollSnhjX',{
  212. id: "dome4",
  213. scrollX: true,
  214. scrollY: false,
  215. });
  216. //设置二级菜单横向滚动的宽度
  217. var deviceW = $("body").width();
  218. var iscrollXwid = $(".iscrollSnhjX li").outerWidth()*$(".iscrollSnhjX li").length;
  219. if (iscrollXwid >= deviceW) {
  220. $(".iscrollSnhjX ul").css("width","auto");
  221. } else {
  222. $(".iscrollSnhjX ul").css("width","100%");
  223. }
  224. refresh();
  225. /**
  226. * 二级菜单切换
  227. * */
  228. $(".suosou a.mui-tab-item").on("tap",function(){
  229. var type = $(this).data("for");
  230. if (type == "mtxh") {
  231. haifm.loadMobilePage("chartDiv", "searchHaifmvMain.htm?key2=mtxh" + "&zsid=" + $("#zsid").val() + "&yweb=" + $("#yweb").val() + "&strButtom=" + $("#strButtom").val() + "&from="+"snhj");
  232. } else {
  233. haifm.loadMobilePage("chartDiv", "searchHaifmvMain.htm?key2=sn" + type + "&zsid=" + $("#zsid").val() + "&yweb=" + $("#yweb").val() + "&strButtom=" + $("#strButtom").val());
  234. }
  235. //判断有无滚动条位置cookie值
  236. setTimeout(function(){
  237. var posX = getCookie("iscrollSnhjX");
  238. var posMx = getCookie("iscrollSnhjMx");
  239. if(posMx/2 >= posX){
  240. jroll.scrollTo(posMx, 0);
  241. setTimeout(function(){
  242. delCookie("iscrollSnhjX");
  243. delCookie("iscrollSnhjMx");
  244. }, 250);
  245. }
  246. }, 250);
  247. refresh();
  248. });
  249. jroll.on("scrollEnd",function(){
  250. //点击定位
  251. var thisx = parseInt(this.x);
  252. var thisMx = parseInt(this.maxScrollX);
  253. $(".iscrollSnhjX li").on("tap",function(){
  254. setCookie("iscrollSnhjX",thisx);
  255. setCookie("iscrollSnhjMx",thisMx);
  256. });
  257. });
  258. /**
  259. * 单日时间 阶段时间
  260. * */
  261. shijian();
  262. /**
  263. * 点击input以外失去焦点
  264. * */
  265. var beforeIpt=null;
  266. $("input").on("focus", function (e) {
  267. beforeIpt=this;
  268. });
  269. $(document).on("tap", function (e) {
  270. if(e.target.nodeName.toLowerCase()!="input") {
  271. if(beforeIpt) {
  272. beforeIpt.blur();
  273. beforeIpt=null;
  274. }
  275. }
  276. });
  277. });
  278. /**
  279. * 单日时间 阶段时间
  280. * */
  281. function shijian(){
  282. /**
  283. * 单日 阶段切换
  284. * */
  285. $(".mui-radio").on('tap', function(){
  286. $(this).children("label").addClass("checklabel").parent().parent().siblings().children().find("label").removeClass("checklabel");
  287. $(this).siblings().find("span").addClass("checklabel").parent().parent().siblings().children().find("span").removeClass("checklabel");
  288. switch ($(".mui-radio").index(this)){
  289. case 0 :
  290. $(this).next().next().removeClass("overlay").parent().siblings().find(".ee").addClass("overlay");
  291. break;
  292. case 1 :
  293. $(this).next().next().next().removeClass("overlay").parent().siblings().find(".ee").addClass("overlay");
  294. break;
  295. }
  296. refresh();
  297. });
  298. mui.init();
  299. mui.ready(function() {
  300. //单日时间
  301. var danri = $('#danri');
  302. var nianTex = $('.nian')[0];
  303. var yueTex = $('.yue')[0];
  304. var riTex = $('.ri')[0];
  305. danri.each(function(i, danri) {
  306. danri.addEventListener('tap', function() {
  307. var time = nianTex.innerHTML + "-" +yueTex.innerHTML + "-" + riTex.innerHTML;
  308. dateP(nianTex,yueTex,riTex,time);
  309. }, false);
  310. });
  311. //阶段 开始时间
  312. var kaishi = $('#kaishi');
  313. var knianTex = $('.nian')[1];
  314. var kyueTex = $('.yue')[1];
  315. var kriTex = $('.ri')[1];
  316. kaishi.each(function(i, kaishi) {
  317. kaishi.addEventListener('tap', function() {
  318. var time = knianTex.innerHTML + "-" +kyueTex.innerHTML + "-" + kriTex.innerHTML;
  319. dateP(knianTex,kyueTex,kriTex,time);
  320. },false);
  321. });
  322. //阶段 结束时间
  323. var jieshu = $('#jieshu');
  324. var jnianTex = $('.nian')[2];
  325. var jyueTex = $('.yue')[2];
  326. var jriTex = $('.ri')[2];
  327. jieshu.each(function(i, jieshu) {
  328. jieshu.addEventListener('tap', function() {
  329. var time = jnianTex.innerHTML + "-" +jyueTex.innerHTML + "-" + jriTex.innerHTML;
  330. dateP(jnianTex,jyueTex,jriTex,time);
  331. }, false);
  332. });
  333. });
  334. }
  335. function dateP(nian,yue,ri,time) {
  336. var picker = new mui.DtPicker({
  337. type: "date",//设置日历初始视图模式
  338. value: time
  339. });
  340. picker.show(function(rs) {
  341. nian.innerHTML = rs.y.text;
  342. yue.innerHTML = rs.m.text;
  343. ri.innerHTML = rs.d.text;
  344. picker.dispose();
  345. });
  346. }
  347. //请求图表
  348. function jqAjax(url,iscroll,name) {
  349. jQuery.ajax({
  350. type : "get",
  351. url : url,
  352. data : {
  353. "lqid" : $("#lqid").val(),
  354. "jsms" : $("#jsms").val(),
  355. "yweb" : $("#yweb").val(),
  356. "tjtksrq" : $("#tjtksrq").val(),
  357. "tjtjsrq" : $("#tjtjsrq").val(),
  358. "dbrq" : $("#dbrq").val()
  359. },
  360. dataType : "json",
  361. async : true,
  362. success : function(data) {
  363. if (data) {
  364. if (ztType == "snsl" || ztType == "sndl") {
  365. if ($("#jsms").val() == "1") {
  366. getDlslColumnChart(data,name);
  367. }else {
  368. getHighchartTjt(data,'');
  369. }
  370. }else {
  371. getHighchartTjt(data);
  372. }
  373. if (data.countDrdq && data.countDrdq != "" && data.countDrdq != undefined) {
  374. if (name != "") {
  375. var countLength = data.countEndValue.length;
  376. var countinner = "";
  377. var dw = "";
  378. if (data.ydw == "吨") {
  379. dw = "耗水量";
  380. }else if (data.ydw == "度") {
  381. dw = "耗电量";
  382. }
  383. $("#countTitle").show();
  384. var count = 0;
  385. countinner += "<div class='xd'> " + "全程"+dw+": " + data.countEndValue + " " + name + "</div>";
  386. count += parseInt(data.countEndValue);
  387. $("#append").append($(countinner));
  388. var length = data.countDrdq.length;
  389. var inner = "";
  390. if (length > 0) {
  391. inner += "<div id='countDr' class='xd'>"
  392. + "<span>" + "今日" +dw+": " + data.countDrdq + " " + name +"</span></div>";
  393. $("#append").append($(inner));
  394. }
  395. }
  396. }
  397. if (data.countQcValue && data.countQcValue != "" && data.countQcValue != undefined) {
  398. var inner2 = "";
  399. inner2 = "<span class='xd'>该阶段总消耗:"+data.countQcValue+data.ydw+"</span>";
  400. $("#append").append($(inner2));
  401. }
  402. }
  403. setTimeout(function(){
  404. var posX = getCookie("iscrollSnhjX");
  405. var posMx = getCookie("iscrollSnhjMx");
  406. if(posMx/2 >= posX){
  407. jroll.scrollTo(posMx, 0);
  408. setTimeout(function(){
  409. delCookie("iscrollSnhjX");
  410. delCookie("iscrollSnhjMx");
  411. }, 250);
  412. }
  413. }, 250);
  414. refresh();
  415. }
  416. });
  417. }
  418. function refresh(){
  419. setTimeout(function(){
  420. iscroll.refresh();
  421. jroll.refresh();
  422. }, 100);
  423. }
  424. function getDlslColumnChart(data,name){
  425. var chart = {
  426. type: 'column'
  427. };
  428. var title = {
  429. text: data.title
  430. };
  431. var xAxis = {
  432. categories: data.xValue,
  433. crosshair: true,
  434. title: {
  435. text: '时间(小时)',
  436. x :-15,
  437. },
  438. };
  439. var dw = "";
  440. var titleY = "";
  441. if (data.ydw == "吨") {
  442. dw = "水表";
  443. titleY = "耗水量";
  444. }else if (data.ydw == "度") {
  445. dw = "电表";
  446. titleY = "耗电量";
  447. }
  448. var yAxis = {
  449. min: 0,
  450. title: {
  451. text: titleY + "(" + name + ")",
  452. }
  453. };
  454. var tooltip = {
  455. headerFormat: '<span style="font-size:10px">时间:{point.key}点</span><table>',
  456. pointFormat: '<tr><td style="color:{series.color};padding:0">{series.name}: </td>' +
  457. '<td style="padding:0"><b>{point.y:1f} '+ data.ydw+'</b></td></tr>',
  458. footerFormat: '</table>',
  459. shared: true,
  460. useHTML: true
  461. };
  462. var plotOptions = {
  463. column: {
  464. pointPadding: 0.2,
  465. borderWidth: 0
  466. }
  467. };
  468. var credits = {
  469. enabled: false
  470. };
  471. var series = [];
  472. var colors = [];
  473. colors[0] = '#' + data.color[0];
  474. series[0] = {
  475. data : data.yValue[0],
  476. name : dw
  477. };
  478. var legend = {
  479. enabled : false
  480. };
  481. var json = {};
  482. json.chart = chart;
  483. json.title = title;
  484. json.tooltip = tooltip;
  485. json.xAxis = xAxis;
  486. json.yAxis = yAxis;
  487. json.series = series;
  488. json.plotOptions = plotOptions;
  489. json.credits = credits;
  490. json.colors = colors;
  491. json.legend = legend;
  492. $('#chartDiv').highcharts(json);
  493. }