mcdw.js 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421
  1. $(function () {
  2. var mask = mui.createMask();//callback为用户点击蒙版时自动执行的回调;
  3. /**
  4. * 初始化滚动条
  5. * */
  6. var iscroll,mScrol2;
  7. iscroll = new IScroll(".dwIscroll",{
  8. scrollbars: true,
  9. fadeScrollbars:true,
  10. scrollbars: 'custom',
  11. shrinkScrollbars:'clip',
  12. click:true
  13. });
  14. setTimeout(function(){
  15. $("body").height(document.body.scrollHeight);
  16. iscroll.refresh();
  17. }, 250);
  18. mScrol2 = new IScroll(".iscrollCenter",{
  19. scrollbars: true,
  20. fadeScrollbars:true,
  21. shrinkScrollbars:'clip',
  22. scrollbars: 'custom'
  23. });
  24. //同步按钮事件
  25. $("#dwtb").on("tap",function(){
  26. mask.show();//显示遮罩
  27. $(".xgmsgbox").show();
  28. mScrol2.refresh();
  29. });
  30. $("#toastBtn .mui-icon-checkmarkempty").on("tap",function(){
  31. mask.close();//关闭遮罩
  32. $(".xgmsgbox").hide();
  33. saveyxcs('tb');
  34. if ($(".listcenter>li,.checkBox").find("input[type='checkbox']").is(":checked")) {
  35. $(".listcenter>li,.checkBox").find("input[type='checkbox']").removeAttr("checked");
  36. }
  37. });
  38. mui('body').on('tap', '.mui-backdrop', function(e) {
  39. $(".xgmsgbox").hide();
  40. $("#modal-4").hide();
  41. });
  42. /**
  43. * 点击input以外失去焦点
  44. * */
  45. var beforeIpt=null;
  46. $("input").on("focus", function (e) {
  47. beforeIpt=this;
  48. });
  49. $(document).on("tap", function (e) {
  50. if(e.target.nodeName.toLowerCase()!="input") {
  51. if(beforeIpt) {
  52. beforeIpt.blur();
  53. beforeIpt=null;
  54. }
  55. }
  56. });
  57. /**
  58. * 滚动input以外失去焦点
  59. * */
  60. iscroll.on('scrollStart',function(e){
  61. var el = document.activeElement;
  62. if (el.nodeName.toLowerCase() == 'input') {
  63. el.blur();
  64. this.disable();
  65. this.enable();
  66. };
  67. return;
  68. });
  69. /**
  70. * 加减档位最大为5最小为1
  71. * */
  72. // $(".numAdd").on("tap",function(){
  73. // var num = parseInt($(this).prev().find("span").html());
  74. // if(num==5){
  75. // $(this).prev().find("span").html(5);
  76. // }else{
  77. // $(this).prev().find("span").html(num+1);
  78. // }
  79. // });
  80. // $(".numDel").on("tap",function(){
  81. // var num = parseInt($(this).next().find("span").html());
  82. // if(num==1){
  83. // $(this).next().find("span").html(1);
  84. // }else{
  85. // $(this).next().find("span").html(num-1);
  86. // }
  87. // });
  88. /**
  89. * 同步备注
  90. * */
  91. $(".wdxxbox .tjbz").on("tap",function(){
  92. $(this).addClass("bz");
  93. var thisHml = $(".wdxxbox .bz").html();
  94. if (thisHml == "添加备注") {
  95. thisHml = "";
  96. }else{
  97. thisHml = "";
  98. }
  99. $("#modal-4 textarea").val(thisHml);
  100. mask.show();//显示遮罩
  101. $("#modal-4").show();
  102. });
  103. $(".sjok .mui-icon-checkmarkempty").on("tap",function(){
  104. var dkCount = $(".wdxxbox .bz").data("dk");
  105. var textareaHtml = $("#modal-4 textarea").val();
  106. var dwsl = $("#dwsl").val();
  107. for (var i = 1 ; i <= dwsl ; i++) {
  108. $("#bz" + i + dkCount).html(textareaHtml);
  109. }
  110. $(".wdxxbox .row div").removeClass("bz");
  111. mask.close();//关闭遮罩
  112. $("#modal-4").hide();
  113. });
  114. /**
  115. * 点击td选中input
  116. */
  117. $(".listcenter>li,.checkBox").on("tap",function (e) {
  118. if (e && e.stopPropagation) {
  119. e.stopPropagation();
  120. } else {
  121. window.event.cancelBubble = true;
  122. }
  123. if ($(this).find("input[type='checkbox']").is(":checked")) {
  124. $(this).find("input[type='checkbox']").removeAttr("checked");
  125. } else {
  126. $(this).find("input[type='checkbox']").prop("checked", true);
  127. }
  128. });
  129. /**
  130. * 拖拽
  131. */
  132. if ($("#tof").val() == "true" && $("#dwsize").val() > 0) {
  133. tuozhuai("dwtb");
  134. }else {
  135. if ($("#dwsize").val() == "") {
  136. /*mui.alert("此猪舍无档位配置", "提示", function() {
  137. var zsid = $("#zsid").val();
  138. haifm.loadMobilePage("haifm", "mcHaifmvZsView.htm?zsid=" + zsid + "&from=zslist");
  139. });*/
  140. $(".msg").show();
  141. }
  142. }
  143. //设置档位
  144. selectDw(1,"0");
  145. //input输入限制
  146. $('.imit').on('blur', "input",function(e) {
  147. var input = $(this);
  148. var newNum = $(this).val();
  149. var name = $(this).parent().parent().find('div:first-of-type').html();
  150. var that = $(this).parent().parent().attr("name");
  151. if (that == "10") { //变频风机
  152. reg(40,newNum,100,name,input);
  153. }else if (that == "13" || that == "12" || that == "11") { //进风窗
  154. reg(0,newNum,100,name,input);
  155. }
  156. });
  157. });
  158. //正则匹配
  159. function reg(startNum,newNum,endNum,name,input){
  160. if (startNum == newNum && startNum == "0") {
  161. }else {
  162. if(startNum <= newNum && newNum <= endNum){
  163. if (!(/^[+]?(\d){1,}0$/.test(newNum))) { //判断10的倍数
  164. mui.alert('请在' + name + '中输入' + startNum + '-100之间的10的倍数', '提示', function() {});
  165. var $t = newNum.replace(newNum,'');
  166. input.val($t);
  167. }
  168. }else{
  169. mui.alert('请在' + name + '中输入' + startNum + '-100之间的10的倍数', '提示', function() {});
  170. var $t = newNum.replace(newNum,'');
  171. input.val($t);
  172. }
  173. }
  174. }
  175. //返回
  176. function yxcsBackUrl() {
  177. var zsid = $("#zsid").val();
  178. haifm.loadMobilePage("haifm", "mcHaifmvZsView.htm?zsid=" + zsid + "&from=zslist");
  179. }
  180. /**
  181. * 档位切换
  182. * @param id
  183. */
  184. function selectDw(key, val) {
  185. var dw = parseInt(key);
  186. var dwsl = $("#dwsl").val();
  187. if (val != undefined && val != "") {
  188. var xdw = parseInt(val);
  189. $("#dw" + dw).hide();
  190. if (dw + xdw < 1) {
  191. dw = dwsl;
  192. } else if (dw + xdw > parseInt($("#dwsl").val())) {
  193. dw = 1;
  194. } else {
  195. dw = dw + xdw;
  196. }
  197. $("#dw" + dw).show();
  198. }
  199. }
  200. /**
  201. * 温度变更
  202. * @param id
  203. * @param type
  204. */
  205. function changeWd(id, type, obj) {
  206. var gwd = parseFloat($("#gwd" + id).html());
  207. if (type == 1) {
  208. var dwd = $("#dwd" + id).html();
  209. if (parseFloat(dwd) < gwd - 0.5) {
  210. $("#gwd" + id).html(gwd - 0.5);
  211. $("#dwd" + (parseInt(id) + 1)).html(gwd - 0.5);
  212. }
  213. }
  214. if (type == 2) {
  215. var gwd2;
  216. if ($("#gwd" + (parseInt(id) + 1)).html()) {
  217. gwd2 = $("#gwd" + (parseInt(id) + 1)).html();
  218. } else {
  219. gwd2 = 50.5;
  220. }
  221. if (parseFloat(gwd2) > gwd + 0.5) {
  222. $("#gwd" + id).html(gwd + 0.5);
  223. $("#dwd" + (parseInt(id) + 1)).html(gwd + 0.5);
  224. }
  225. }
  226. }
  227. /**
  228. * 备注同步5个档位
  229. * @param val
  230. * @param xh
  231. */
  232. function tongbuBz(val, xh) {
  233. var dwsl = $("#dwsl").val();
  234. for (var i = 1; i <= dwsl; i++) {
  235. $("#bz" + i + xh).val(val);
  236. }
  237. }
  238. /**
  239. * 开关
  240. */
  241. function kgbz(obj, id) {
  242. $("#gzsj" + id).removeAttr("disabled");
  243. $("#jssj" + id).removeAttr("disabled");
  244. // var kg = $(obj).parent().parent().find("input");
  245. // if ($(kg).val() == 1) {
  246. // $(kg).val("2");
  247. // $(obj).parent().find("span").attr("style", "background-color:''");
  248. // $("#gzsj" + id).removeAttr("disabled");
  249. // $("#jssj" + id).removeAttr("disabled");
  250. // } else if ($(kg).val() == 2) {
  251. // $(kg).val("1");
  252. // $(obj).parent().find("span").attr("style", "background-color:#f0f0f0");
  253. // $("#gzsj" + id).attr("disabled", "disabled");
  254. // $("#jssj" + id).attr("disabled", "disabled");
  255. // }
  256. }
  257. function saveyxcs(msg) {
  258. var error = "";
  259. var jqid = $("#jqid").val();
  260. var dwsl = $("#dwsl").val();
  261. var dksl = $("#dksl").val();
  262. var bz = "";
  263. var obj = document.getElementsByName("checkBox");
  264. var s='';
  265. for(var i = 0 ; i < obj.length ; i++){
  266. if (obj[i].checked) {
  267. s += obj[i].value+',';
  268. }
  269. }
  270. if (dwsl == "" || dksl == "") {
  271. error += "档位/端口数量不正确!";
  272. alert(error);
  273. return;
  274. } else {
  275. var dwnr = dknrStr();
  276. if (dwnr == "") {
  277. mui.alert('档位内容有空值,保存失败', '提示', function() {});
  278. return;
  279. }
  280. for (var i = 1; i <= dksl; i++) {
  281. if ($("#bz1" + i).html() != "添加备注" && $("#bz1" + i).html() != "备注") {
  282. bz += $("#bz1" + i).html();
  283. }
  284. if (i != dksl) {
  285. bz += "#";
  286. }
  287. }
  288. jQuery.ajax({
  289. url: "saveHaifmvHjkzYxcs.htm",
  290. dataType: 'json',
  291. type: 'post',
  292. cache: false,
  293. data: {
  294. "jqid": jqid,
  295. "dwnr": dwnr,
  296. "dwsl": dwsl,
  297. "dksl": dksl,
  298. "zsid": $("#zsid").val(),
  299. "bz" : bz,
  300. "zsids" : s
  301. },
  302. success: function (data) {
  303. if (msg == 'bc') {
  304. mui.toast('保存成功');
  305. }else {
  306. mui.toast('同步成功');
  307. }
  308. //$(".xgmsgbox").hide(hideOverlay());
  309. },
  310. error: function (data) {
  311. mui.alert('系统运行异常!保存失败!', '提示', function() {});
  312. }
  313. });
  314. }
  315. }
  316. /**
  317. * 字符串封装
  318. */
  319. var dknrStr = function () {
  320. var error = "";
  321. var dwsl = $("#dwsl").val();
  322. var str = "";
  323. for (var i = 1; i < parseInt(dwsl) + 1; i++) { //档位
  324. var dwd = $("#dwd" + i).html();
  325. var gwd = $("#gwd" + i).html();
  326. str += dwd + "," + gwd + ","; //str = 低温 ,高温,
  327. var dksize = $("#dksl").val();
  328. for (var j = 1; j < parseInt(dksize) + 1; j++) {//端口和变频端口
  329. var kgval = $("#kg" + i + j).val();
  330. var gzsj = $("#gzsj" + i + j).val();
  331. var jssj = $("#jssj" + i + j).val();
  332. var xhval = $("#xh" + i + j).val();
  333. var sbidval = $("#sbid" + i + j).val();
  334. var hesnval = $("#hesn" + i + j).val();
  335. var bpgl = $("#bpgl" + i + j).val();
  336. //alert(bpgl + "-" + i + "-" + j);
  337. if (gzsj == "") {
  338. error += "档位" + i + "端口" + j + "工作时间不能为空!\n";
  339. }
  340. if (jssj == "") {
  341. error += "档位" + i + "端口" + j + "结束时间不能为空!\n";
  342. }
  343. if (bpgl == undefined) {
  344. //str = 工作时间-结束时间-设备开关-序号-设备ID-霍尔使能,
  345. str += gzsj + "-" + jssj + "-" + kgval + "-" + xhval + "-" + sbidval + "-" + hesnval + ",";
  346. } else {
  347. if (bpgl == "") {
  348. error += "档位" + i + "端口" + j + "变频功率值不能为空!\n";
  349. }
  350. //str = 工作时间-结束时间-设备开关-序号-设备ID-霍尔使能-变频功率,
  351. str += gzsj + "-" + jssj + "-" + kgval + "-" + xhval + "-" + sbidval + "-" + hesnval + "-" + bpgl + ",";
  352. }
  353. }
  354. //str = {低温} ,{高温},{工作时间-结束时间-开关标志-设备开关-序号-设备ID-霍尔使能-功率}* n,#
  355. if (str != "") {
  356. str = str.substring(0, str.length - 1);
  357. }
  358. str += "#";
  359. }
  360. if (str != "") {
  361. str = str.substring(0, str.length - 1);
  362. }
  363. if (error != "") {
  364. mui.alert(error, '提示', function() {});
  365. return "";
  366. }
  367. return str;
  368. };
  369. /**
  370. * 拖拽
  371. */
  372. function tuozhuai(obj){
  373. var block = document.getElementById(obj);
  374. var oW,oH;
  375. // 绑定touchstart事件
  376. block.addEventListener("touchstart", function(e) {
  377. var touches = e.touches[0];
  378. oW = touches.clientX - block.offsetLeft;
  379. oH = touches.clientY - block.offsetTop;
  380. //阻止页面的滑动默认事件
  381. block.addEventListener("touchmove",function() {
  382. event.preventDefault();
  383. }, false);
  384. },false);
  385. // 绑定touchmove事件
  386. block.addEventListener("touchmove", function(e) {
  387. if (e && e.stopPropagation) {
  388. e.stopPropagation();
  389. } else {
  390. window.event.cancelBubble = true;
  391. }
  392. var touches = e.touches[0];
  393. var oLeft = touches.clientX - oW;
  394. var oTop = touches.clientY - oH;
  395. //左右碰界判断
  396. if(oLeft < 0) {
  397. oLeft = 0;
  398. }else if(oLeft > document.documentElement.clientWidth - block.offsetWidth) {
  399. oLeft = (document.documentElement.clientWidth - block.offsetWidth);
  400. }
  401. //上下碰界判断
  402. if(oTop < 0) {
  403. oTop = 0;
  404. }else if(oTop > document.documentElement.clientHeight - block.offsetHeight) {
  405. oTop = (document.documentElement.clientHeight - block.offsetHeight);
  406. }
  407. block.style.left = oLeft + "px";
  408. block.style.top = oTop + "px";
  409. },false);
  410. // 绑定touchend事件
  411. block.addEventListener("touchend",function() {
  412. event.preventDefault();
  413. }, false);
  414. }