hjkzbjcs.js 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474
  1. var alarmColors = [
  2. '#dbdbdb',//0、灰色
  3. '#2385e2',//1、蓝色
  4. '#ffd452',//2、黄色
  5. '#f28331',//3、橙色
  6. '#d52121'//4、红色
  7. ];
  8. $(function () {
  9. //滚动事件
  10. var mScroll = new IScroll(".kzbjcsIscroll",{
  11. scrollbars: true,
  12. fadeScrollbars:true,
  13. shrinkScrollbars:'clip',
  14. scrollbars: 'custom',
  15. click:true,
  16. tap:true
  17. });
  18. setTimeout(function () {
  19. mScroll.refresh();
  20. }, 100);
  21. var mScrol2 = new IScroll(".iscrollCenter",{
  22. scrollbars: true,
  23. fadeScrollbars:true,
  24. shrinkScrollbars:'clip',
  25. scrollbars: 'custom',
  26. click:true,
  27. tap:true
  28. });
  29. /*kzbjcsIscroll(".Phone1");
  30. kzbjcsIscroll(".Phone2");*/
  31. //获取网页标签
  32. var alertPreferences = $("#alertPreferences");
  33. var alarmContent = $('#alarmContent');
  34. var addWrapper = $("#addWrapper");
  35. var addButton = addWrapper.find(".addButton");
  36. var alertPhone = $("#alertPhone");
  37. var bjMenu1 = $("#bjMenu1");
  38. var phone = $(".Phone1>div:first-child");
  39. /** 初始化报警等级 **/
  40. var alarmCom = alarmContent.find("span.glyphicon-alert");
  41. for (var i = 0; i < alarmCom.length; i++) {
  42. var idegree = alarmCom.eq(i).data('degree');
  43. var ids = alarmCom.eq(i).data('input');
  44. alarmCom.eq(i).css('color', alarmColors[idegree]);
  45. if (idegree == 0) {
  46. $("#" + ids).attr("disabled", "disabed");
  47. } else {
  48. $("#" + ids).removeAttr("disabled");
  49. }
  50. }
  51. /** 切换报警等级 **/
  52. alarmContent.on('tap', 'span.glyphicon-alert', function () {
  53. var idegree = (parseInt($(this).data('degree'))) + 1;
  54. var ids = $(this).data('input');
  55. if (idegree > 4) {
  56. idegree = 0;
  57. }
  58. $(this).data('degree', idegree);
  59. $(this).css('color', alarmColors[idegree]);
  60. if (idegree == 0) {
  61. $("#" + ids).attr("disabled", "disabed");
  62. } else {
  63. $("#" + ids).removeAttr("disabled");
  64. }
  65. });
  66. alarmContent.on('tap', 'input', function () {
  67. if ($(this).data("name") == "xwkgtxt") {
  68. $("#save").data("for", $(this).attr("id"));
  69. var box = $(this).data("box") + "";
  70. var alarmCheckBox = $("#alarmCheckbox").find("li");
  71. var m = 0;
  72. for (var i = 0; i < alarmCheckBox.length; i++) {
  73. if (i < 3) {
  74. m = i;
  75. } else {
  76. if (box.length > 4) {
  77. m = i + 2;
  78. } else {
  79. m = i;
  80. }
  81. }
  82. if (box.length > m && box.charAt(m) == "2") {
  83. alarmCheckBox.eq(i).addClass('checked');
  84. } else {
  85. alarmCheckBox.eq(i).removeClass('checked');
  86. }
  87. }
  88. }
  89. });
  90. $('#alarmCheckbox').on('click', 'li', function (e) {
  91. e.preventDefault();
  92. $(this).toggleClass("checked");
  93. });
  94. $("#save").click(function () {
  95. var checkBoxBuf = "";
  96. var checkBoxTxt = "";
  97. var alarmCheckBox = $("#alarmCheckbox").find("li");
  98. for (var i = 0; i < alarmCheckBox.length; i++) {
  99. checkBoxBuf += alarmCheckBox.eq(i).attr('class') ? 2 : 1;
  100. checkBoxTxt += alarmCheckBox.eq(i).attr('class') ? alarmCheckBox.eq(i).find("label").html() + "," : "";
  101. }
  102. if (checkBoxTxt != "") {
  103. checkBoxTxt = checkBoxTxt.substring(0, checkBoxTxt.length - 1);
  104. }
  105. $('#' + $(this).data('for')).data('box', checkBoxBuf).val(checkBoxTxt);
  106. // $('#' + $(this).data('for')).data('box', checkBoxBuf);
  107. // $('#' + $(this).data('for')).val(checkBoxTxt);
  108. //链式函数
  109. });
  110. /* 打开页面时隐藏报警参数页面 */
  111. alertPreferences.hide();
  112. alertPreferences.find("input").bind("focus", function () {
  113. addWrapper.hide();
  114. bjMenu1.hide();
  115. }).bind("blur", function () {
  116. addWrapper.show();
  117. bjMenu1.show();
  118. });
  119. alertPhone.hide();
  120. /* 切换报警设置的页面 */
  121. bjMenu1.on("click", 'li', function () {
  122. bjMenu1.find('li').removeClass('active');
  123. $("#dh").hide();
  124. $(this).addClass("active");
  125. if ($(this).data('show') == "alertPhone") {
  126. addButton.addClass("emerge");
  127. addWrapper.show();
  128. } else if($(this).data('show') == "alarmContent") {
  129. addButton.removeClass("emerge");
  130. addWrapper.hide();
  131. $("#dh").show();
  132. alertPhone.hide();
  133. }else{
  134. addButton.removeClass("emerge");
  135. addWrapper.hide();
  136. alertPhone.hide();
  137. }
  138. $('#alarmSet').find('.wrapper').hide();
  139. $('#' + $(this).data('show')).show();
  140. });
  141. //模拟服务器端获得的联系人数据
  142. var sjhm = $("#sjhm").val().split("#");
  143. var sjbz = $("#sjbz").val().split("#");
  144. var collection = [];
  145. for ( i = 0; i < sjhm.length; i++) {
  146. collection[i] = {
  147. "id": i+1,
  148. "phoneNumber": sjhm[i],
  149. "tips": sjhm.length <= sjbz.length ? sjbz[i] : ""
  150. };
  151. }
  152. var bjConnects = {
  153. "attribute": "contacts",
  154. "belong": "hkbj",
  155. "collection": collection,
  156. "RW": true
  157. };
  158. addButton.on("click",function () {
  159. if (phone.find("dl").length < 3) {
  160. var outerDl = $("<dl class='dl-horizontal'>" +
  161. "<dd class='col-xs-5 col-sm-5 col-md-5 col-lg-5'><input type='number' name='sj'></dd>" +
  162. "<dd class='col-xs-5 col-sm-5 col-md-5 col-lg-5'><input type='text' name='bz' maxlength='100'></dd>" +
  163. "<dd class='col-xs-2 col-sm-2 col-md-2 col-lg-2'>" +
  164. "<span class='glyphicon glyphicon-ok'></span>" +
  165. "</dd>" +
  166. "</dl>");
  167. phone.append(outerDl);
  168. outerDl.find("input").bind("focus", function () {
  169. addWrapper.hide();
  170. bjMenu1.hide();
  171. }).bind("blur", function () {
  172. addWrapper.show();
  173. bjMenu1.show();
  174. });
  175. } else {
  176. haifm.alertBanner.riseAlert(false,3000,"最多只能保存3条");
  177. }
  178. });
  179. //初始化写入报警联系人信息
  180. $.each(bjConnects.collection, function (i, col) {
  181. var outerDl = $("<dl class='dl-horizontal'>" +
  182. "<dd class='col-xs-5 col-sm-5 col-md-5 col-lg-5'><input type='text' name='sj'></dd>" +
  183. "<dd class='col-xs-5 col-sm-5 col-md-5 col-lg-5'><input type='text' name='bz' maxlength='100'></dd>" +
  184. "<dd class='col-xs-2 col-sm-2 col-md-2 col-lg-2'>" +
  185. "<span class='glyphicon glyphicon-trash'></span>" +
  186. "</dd>" +
  187. "</dl>");
  188. $(outerDl.find("input")[0]).val(col.phoneNumber);
  189. $(outerDl.find("input")[1]).val(col.tips);
  190. phone.append(outerDl);
  191. outerDl.find("input").bind("focus", function () {
  192. addWrapper.hide();
  193. bjMenu1.hide();
  194. }).bind("blur", function () {
  195. addWrapper.show();
  196. bjMenu1.show();
  197. });
  198. });
  199. $(".Phone1").on("click", ".glyphicon-trash", function () {
  200. $(this).parent().parent().remove();
  201. }).on("click", ".glyphicon-ok", function () {
  202. $(this).removeClass("glyphicon-ok").addClass("glyphicon-trash");
  203. });
  204. /**
  205. * 拖拽
  206. */
  207. var block = document.getElementById("tb");
  208. var oW,oH;
  209. // 绑定touchstart事件
  210. block.addEventListener("touchstart", function(e) {
  211. var touches = e.touches[0];
  212. oW = touches.clientX - block.offsetLeft;
  213. oH = touches.clientY - block.offsetTop;
  214. //阻止页面的滑动默认事件
  215. document.addEventListener("touchmove",defaultEvent,false);
  216. },false);
  217. // 绑定touchmove事件
  218. block.addEventListener("touchmove", function(e) {
  219. var touches = e.touches[0];
  220. var oLeft = touches.clientX - oW;
  221. var oTop = touches.clientY - oH;
  222. //左右碰界判断
  223. if(oLeft < 0) {
  224. oLeft = 0;
  225. }else if(oLeft > document.documentElement.clientWidth - block.offsetWidth) {
  226. oLeft = (document.documentElement.clientWidth - block.offsetWidth);
  227. }
  228. //上下碰界判断
  229. if(oTop < 0) {
  230. oTop = 0;
  231. }else if(oTop > document.documentElement.clientHeight - block.offsetHeight) {
  232. oTop = (document.documentElement.clientHeight - block.offsetHeight);
  233. }
  234. block.style.left = oLeft + "px";
  235. block.style.top = oTop + "px";
  236. },false);
  237. // 绑定touchend事件
  238. block.addEventListener("touchend",function() {
  239. document.removeEventListener("touchmove",defaultEvent,false);
  240. },false);
  241. /**
  242. * 同步事件
  243. */
  244. /* 弹出修改删除框*/
  245. $("#tb").on("click",function(){
  246. $(".xgmsgbox").show(showOverlay());
  247. mScrol2.refresh();
  248. });
  249. //点击td选中input
  250. $(".listcenter>li,.checkBox").on("click",function (e) {
  251. if (e && e.stopPropagation) {
  252. e.stopPropagation();
  253. } else {
  254. window.event.cancelBubble = true;
  255. }
  256. if ($(this).find("input[type='checkbox']").is(":checked")) {
  257. $(this).find("input[type='checkbox']").removeAttr("checked");
  258. } else {
  259. $(this).find("input[type='checkbox']").prop("checked", true);
  260. }
  261. });
  262. /* 点击遮罩层或者取消按钮隐藏弹出框*/
  263. $("#overlay,.qx,qd").on("click",function(){
  264. $(".xgmsgbox").hide(hideOverlay());
  265. });
  266. //touchmove的阻止浏览器或者屏幕滚动默认事件
  267. document.addEventListener('touchmove', defaultEvent, false);
  268. });
  269. function defaultEvent(e) {
  270. e.preventDefault();
  271. }
  272. /**
  273. * 返回
  274. */
  275. function bjcsBackUrl() {
  276. var zsid = $("#zsid").val();
  277. var zsbz = $("#zsbz").val();
  278. if (zsbz == "2") {
  279. haifm.loadMobilePage("haifm", "mcZsHjkzView.htm?zsid=" + zsid + "&from=zslist");
  280. } else {
  281. haifm.loadMobilePage("haifm", "mcZsView.htm?zsid=" + zsid + "&from=zslist");
  282. }
  283. }
  284. /**
  285. * 保存
  286. */
  287. function savebjcs(msg) {
  288. var data = {};
  289. var jqid = $("#jqid").val();
  290. var obj = document.getElementsByName("checkBox");
  291. var s= $("#zsid").val()+",";
  292. for(var i = 0 ; i < obj.length ; i++){
  293. if (obj[i].checked) {
  294. s += obj[i].value+',';
  295. }
  296. }
  297. if (!$("#alarmContent").is(":hidden")) {
  298. var bjpzsl = $("#bjpzsl").val();
  299. var flag = "1";
  300. if ($("#type").val() == "flz") {
  301. flag = "4";
  302. }
  303. if (bjpzsl == "") {
  304. alert("报警数量为空!");
  305. return;
  306. }
  307. var bjpznr = bjpznrStr();
  308. console.log(bjpznr);
  309. data = {
  310. "jqid": jqid,
  311. "bjpzsl": bjpzsl,
  312. "bjpznr": bjpznr,
  313. "type" : flag,
  314. "zsids" :s,
  315. "zsid" : $("#zsid").val()
  316. };
  317. }
  318. if (!$("#alertPreferences").is(":hidden")) {
  319. var igwbjz=parseInt($("#gwbjz").val());
  320. var idwbjz=parseInt($("#dwbjz").val());
  321. if( $("#gwbjz").val() != "" && $("#dwbjz").val() != "" && igwbjz <= idwbjz ) {
  322. alert("高温报警值必须高于低温报警值!");
  323. return;
  324. }
  325. data = {
  326. "jqid": jqid,
  327. "pzjqid": $("#pzjqid").val(),
  328. "gwbjz": $("#gwbjz").val(),
  329. "dwbjz": $("#dwbjz").val(),
  330. "wcbjz": $("#wcbjz").val(),
  331. "gsbjz": $("#gsbjz").val(),
  332. "gabjz": $("#gabjz").val(),
  333. "type" : "2",
  334. "zsids" :s,
  335. "zsid" : $("#zsid").val()
  336. };
  337. }
  338. if (!$("#alertPhone").is(":hidden")) {
  339. var sj = $("input[name='sj']");
  340. var bz = $("input[name='bz']");
  341. var sjhm = "";
  342. var sjbz = "";
  343. for (var i = 0; i < sj.length; i++) {
  344. if (sj.eq(i).val() == "" || !/^1[34578]\d{9}$/.test(sj.eq(i).val())) {
  345. alert("手机号码格式不正常");
  346. return;
  347. }
  348. sjhm += sj.eq(i).val() + "#";
  349. sjbz += bz.eq(i).val() + "#";
  350. }
  351. if (sjhm != "") {
  352. sjhm = sjhm.substring(0, sjhm.length - 1);
  353. }
  354. if (sjbz != "") {
  355. sjbz = sjbz.substring(0, sjbz.length - 1);
  356. }
  357. var bjqsj = $("#bjqsjhm").val();
  358. var bjqbz = $("#bjqsjbz").val();
  359. if (bjqsj != "" && !/^1[34578]\d{9}$/.test(bjqsj)) {
  360. alert("手机号码格式不正常");
  361. return;
  362. }
  363. data = {
  364. "sjjqid": $("#sjjqid").val(),
  365. "jqid": jqid,
  366. "sjhm" : sjhm,
  367. "sjbz" : sjbz,
  368. "type" : "3",
  369. "zsids" :s,
  370. "zsid" : $("#zsid").val(),
  371. "bjqsj" : bjqsj,
  372. "bjqbz" : bjqbz
  373. };
  374. }
  375. jQuery.ajax({
  376. url: "saveHjkzBjcs.htm",
  377. dataType: 'json',
  378. type: 'post',
  379. cache: false,
  380. data: data,
  381. success: function (data) {
  382. //data.returnCode
  383. if (data.count == 1) {
  384. alert("该栏舍下无设备配置。请先新建");
  385. } else {
  386. if (msg == 'bc') {
  387. haifm.alertBanner.riseAlert(data.returnCode, 4000,"保存成功");
  388. }else {
  389. haifm.alertBanner.riseAlert(data.returnCode, 4000,"同步成功");
  390. }
  391. $(".xgmsgbox").hide(hideOverlay());
  392. }
  393. },
  394. error: function (data) {
  395. alert("系统运行异常!保存失败!");
  396. }
  397. });
  398. }
  399. /**
  400. * 字符串封装
  401. */
  402. var bjpznrStr = function () {
  403. var bjpzsl = parseInt($("#bjpzsl").val());
  404. var str = "";
  405. var bjjbtb = $('#alarmContent').find("span.glyphicon-alert");
  406. for (var i = 1; i < bjpzsl + 1; i++) {
  407. var lxid = $("#lxid" + i).val();
  408. var bjjb = bjjbtb.eq(i - 1).data("degree");
  409. str += lxid + "-";
  410. if (bjjb != "" && bjjb != "0") {
  411. str += "2" + "-" + bjjb + "-";
  412. } else {
  413. str += "1" + "-1-";
  414. }
  415. var xwkgtx = $("#xwkgtxt" + i).data("box");
  416. if (xwkgtx == undefined) {
  417. xwkgtx = 0;
  418. } else {
  419. if (xwkgtx.length == 4) {
  420. xwkgtx = $("#xwkgtxt" + i).data("box").substring(0, 3) + "22" + $("#xwkgtxt" + i).data("box").substring(3);
  421. }
  422. }
  423. str += xwkgtx;
  424. if (i != bjpzsl) {
  425. str += "#";
  426. }
  427. }
  428. console.log(str);
  429. return str;
  430. };
  431. /* 显示遮罩层 */
  432. function showOverlay(){
  433. $("#overlay").height(pageHeight());
  434. $("#overlay").width(pageWidth());
  435. // fadeTo第一个参数为速度,第二个为透明度
  436. // 多重方式控制透明度,保证兼容性,但也带来修改麻烦的问题
  437. $("#overlay").fadeTo(200, 0.5);
  438. };
  439. /* 隐藏覆盖层 */
  440. function hideOverlay(){
  441. $("#overlay").fadeOut(200);
  442. };
  443. /* 当前页面高度 */
  444. function pageHeight(){
  445. return document.body.scrollHeight;
  446. };
  447. /* 当前页面宽度 */
  448. function pageWidth(){
  449. return document.body.scrollWidth;
  450. };