index.js 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530
  1. /**
  2. * Created by davedavehong on 2016-11-24.
  3. */
  4. var chnNumChar;
  5. $(function () {
  6. chnNumChar = ["零","一","二","三","四","五","六","七","八","九"];
  7. $("#qk-btn").click(function () {
  8. $(".nav1").find("li").removeClass("active");
  9. $(this).addClass("active");
  10. $(".nav2-hk").hide();
  11. $(".nav3-hk").hide();
  12. $(".nav2-qk").show();
  13. $(".nav3-qk").show();
  14. });
  15. $("#hk-btn").click(function () {
  16. $(".nav1").find("li").removeClass("active");
  17. $(this).addClass("active");
  18. $(".nav2-hk").show();
  19. $(".nav3-hk").show();
  20. $(".nav2-qk").hide();
  21. $(".nav3-qk").hide();
  22. var rightDwPattern = $(".dw-pattern").find(".right");
  23. var rightShow = rightDwPattern.find(".show");
  24. rightShow.height(rightDwPattern.height()*0.75);
  25. });
  26. $(".nav2-qk").on("click", "li", function () {
  27. if ($(this).data("show") === "all") {
  28. $(".nav3-qk").find(".sb-wrapper").show();
  29. } else {
  30. $(".nav3-qk").find(".sb-wrapper").hide();
  31. $(".nav3-qk").find(".type-" + $(this).data("show")).show();
  32. }
  33. });
  34. $("#pattern-sw").click(function () {
  35. if ($("#pattern-sw").html() == "档位模式") {
  36. $("#pattern-sw").html("自动模式");
  37. } else {
  38. $("#pattern-sw").html("档位模式");
  39. }
  40. $(".dw-pattern").toggle();
  41. $(".auto-pattern").toggle();
  42. });
  43. $(".dw-title").on("click", "li", function () {
  44. loadDw($(this).data("dwid"));
  45. $(this).parent().find("li").removeClass("active");
  46. $(this).addClass("active");
  47. $("div.max-wrapper").find("div.btn-add").attr("style", "");
  48. $("div.max-wrapper").find("div.btn-reduce").attr("style", "")
  49. });
  50. //档位模式的最小值的加减按钮
  51. var dwPattern = $(".dw-pattern");
  52. var minValueDw = dwPattern.find(".min-wrapper").find(".wd-value");
  53. var maxValueDw = dwPattern.find(".max-wrapper").find(".wd-value");
  54. var minValueDw1 = dwPattern.find(".min-val");
  55. var maxValueDw1 = dwPattern.find(".max-val");
  56. dwPattern.find(".min-wrapper").find(".btn-reduce").click(function () {
  57. return;
  58. var sz = (parseFloat(minValueDw.text()) - 0.5).toFixed(1);
  59. if (sz < 0) {
  60. return;
  61. }
  62. minValueDw.text(sz);
  63. minValueDw1.text(sz);
  64. });
  65. dwPattern.find(".min-wrapper").find(".btn-add").click(function () {
  66. return;
  67. var sz = (parseFloat(minValueDw.text()) + 0.5).toFixed(1);
  68. var max = maxValueDw.text();
  69. if (sz >= parseFloat(max)) {
  70. return;
  71. }
  72. minValueDw.text(sz);
  73. minValueDw1.text(sz);
  74. });
  75. //档位模式的最大值的加减按钮
  76. dwPattern.find(".max-wrapper").find(".btn-reduce").click(function () {
  77. $("div.max-wrapper").find("div.btn-add").attr("style", "");
  78. var sz = (parseFloat(maxValueDw.text()) - 0.5).toFixed(1);
  79. var min = minValueDw.text();
  80. if (sz <= min) {
  81. $("div.max-wrapper").find("div.btn-reduce").attr("style", "color:#DADADA");
  82. return;
  83. }
  84. addYxcsWd(sz);
  85. maxValueDw.text(sz);
  86. maxValueDw1.text(sz);
  87. });
  88. dwPattern.find(".max-wrapper").find(".btn-add").click(function () {
  89. $("div.max-wrapper").find("div.btn-reduce").attr("style", "");
  90. var sz = (parseFloat(maxValueDw.text()) + 0.5).toFixed(1);
  91. if (sz > 50) {
  92. $("div.max-wrapper").find("div.btn-add").attr("style", "color:#DADADA");
  93. return;
  94. }
  95. var str = addYxcsWd(sz);
  96. if (str == 1) {
  97. $("div.max-wrapper").find("div.btn-add").attr("style", "color:#DADADA");
  98. return;
  99. }
  100. maxValueDw.text(sz);
  101. maxValueDw1.text(sz);
  102. });
  103. //自动模式的最小值的加减按钮
  104. var autoPattern = $(".auto-pattern");
  105. var minValueAuto = autoPattern.find(".min-wrapper").find(".wd-value");
  106. var maxValueAuto = autoPattern.find(".max-wrapper").find(".wd-value");
  107. var minValueAuto1 = autoPattern.find(".min-val");
  108. var maxValueAuto1 = autoPattern.find(".max-val");
  109. autoPattern.find(".min-wrapper").find(".btn-reduce").click(function () {
  110. minValueAuto.text((parseFloat(minValueAuto.text()) - 0.5).toFixed(1));
  111. minValueAuto1.text((parseFloat(minValueAuto1.text()) - 0.5).toFixed(1));
  112. });
  113. autoPattern.find(".min-wrapper").find(".btn-add").click(function () {
  114. minValueAuto.text((parseFloat(minValueAuto.text()) + 0.5).toFixed(1));
  115. minValueAuto1.text((parseFloat(minValueAuto1.text()) + 0.5).toFixed(1));
  116. });
  117. //自动模式的最大值的加减按钮
  118. autoPattern.find(".max-wrapper").find(".btn-reduce").click(function () {
  119. maxValueAuto.text((parseFloat(maxValueAuto.text()) - 0.5).toFixed(1));
  120. maxValueAuto1.text((parseFloat(maxValueAuto1.text()) - 0.5).toFixed(1));
  121. });
  122. autoPattern.find(".max-wrapper").find(".btn-add").click(function () {
  123. maxValueAuto.text((parseFloat(maxValueAuto.text()) + 0.5).toFixed(1));
  124. maxValueAuto1.text((parseFloat(maxValueAuto1.text()) + 0.5).toFixed(1));
  125. });
  126. //猪舍选择
  127. $(".nav2-hk").on("click", "li", function () {
  128. $(".cell-name").text($(this).text());
  129. var id = $(this).data("id");
  130. $("#zsid").val(id);
  131. bjcssz(id);
  132. });
  133. // 全控角标
  134. $("#shangliao").html($("section[class='sb-wrapper type-shangliao']").length);
  135. $("#shilian").html($("section[class='sb-wrapper type-shilian']").length);
  136. $("#penwu").html($("section[class='sb-wrapper type-penwu']").length);
  137. /** 切换报警等级 **/
  138. $('#hkBjcs').on('click', 'li.degree', function () {
  139. var idegree = (parseInt($(this).data('input')) + 1);
  140. if (idegree > 4) {
  141. idegree = 0;
  142. }
  143. $(this).data('input', idegree);
  144. $(this).html("<img src='views/hkclient/sbpz/img/icon/degree" + idegree + ".png' />");
  145. });
  146. /** 报警选项是否选中 **/
  147. $(".act-lists").on('click', 'li', function() {
  148. var kg = $(this).parent().parent().parent().find("li.degree").data("input");
  149. if (kg != 0) {
  150. var str = $(this).attr("class");
  151. if (str == '') {
  152. $(this).attr("class", "active");
  153. } else {
  154. $(this).attr("class", "");
  155. }
  156. }
  157. });
  158. //保存
  159. $("#qkSave").bind("click", function() {
  160. var szstr = saveStr();
  161. if (szstr.indexOf("#") < 0) {
  162. alert(szstr);
  163. return;
  164. }
  165. var oldpz = $("#pz").val();
  166. if (oldpz == szstr) {
  167. alert("保存成功!");
  168. } else {
  169. var data = {
  170. "sl": $("#sl").val(),
  171. "pz": szstr,
  172. "mcid": $("#mcid").val()
  173. };
  174. jQuery.ajax({
  175. url: "saveQkyxcs.htm",
  176. dataType: 'json',
  177. type: 'post',
  178. cache: false,
  179. data: data,
  180. success: function (data) {
  181. alert("保存成功!");
  182. },
  183. error: function (data) {
  184. alert("系统运行异常!保存失败!");
  185. }
  186. });
  187. }
  188. });
  189. //保存
  190. $("#hkSave").bind("click", function() {
  191. var bjszstr = bjcsStr();
  192. var jqid = $("#jqid").val();
  193. var bjsl = $("#gzlxsize").val();
  194. var dksl = $("#dksl").val();
  195. var dwsl = $("#dwsl").val();
  196. var dwnr = "";
  197. if (dwsl != "" && dwsl != null) {
  198. dwnr = dwnrStr();
  199. }
  200. var data = {
  201. "bjsl": bjsl,
  202. "bjszstr": bjszstr,
  203. "jqid": jqid,
  204. "dksl": dksl,
  205. "dwsl": dwsl,
  206. "dwnr": dwnr
  207. };
  208. jQuery.ajax({
  209. url: "saveHkyxcsBjcs.htm",
  210. dataType: 'json',
  211. type: 'post',
  212. cache: false,
  213. data: data,
  214. success: function (data) {
  215. alert("保存成功!");
  216. },
  217. error: function (data) {
  218. alert("系统运行异常!保存失败!");
  219. }
  220. });
  221. });
  222. //第一次调用
  223. $("#hk-btn").click();
  224. bjcssz($(".nav2-hk>ul>li").eq(0).click());
  225. });
  226. /**
  227. **保存字符串
  228. **/
  229. function saveStr() {
  230. var sl = $("#sl").val();
  231. var str = "";
  232. var error = "";
  233. for (var i = 1; i <= sl; i++) {
  234. var sbxh = $("#sbxh" + i).val();
  235. var type = $("#type" + i).val();
  236. var sbsn = $("#sbsn" + i).val();
  237. var szsl = $("#szsl" + i).val();
  238. var szstr = "";
  239. for (var j = 1; j <= szsl; j++) {
  240. var time = $("#time" + i + j).val();
  241. var cxsj = $("#cxsj" + i + j).val();
  242. if (time == "" && sbsn == "2") {
  243. error += "设备" + i + "的第" + j + "次时间不能为空!\n";
  244. }
  245. if (cxsj == "" && sbsn == "2") {
  246. error += "设备" + i + "的第" + j + "次持续时间不能为空!\n";
  247. }
  248. szstr += time + ":00" + "-" + cxsj + ",";
  249. }
  250. if (szstr != "") {
  251. szstr = szstr.substring(0, szstr.length - 1);
  252. }
  253. str += sbxh + "," + type + "," + sbsn + "," + szsl + "," + szstr + "#";
  254. }
  255. if (str != "") {
  256. str = str.substring(0, str.length - 1);
  257. }
  258. if (error != "") {
  259. return error;
  260. }
  261. return str;
  262. }
  263. /**
  264. * 报警参数设置
  265. * @param zsid
  266. */
  267. function bjcssz(zsid) {
  268. jQuery.ajax({
  269. url: "getHkBjcsYxcs.htm",
  270. dataType: 'json',
  271. type: 'post',
  272. cache: false,
  273. data: {zsid : zsid},
  274. success: function (data) {
  275. $("#jqid").val(data.jqid);
  276. $("#hksbList").val(JSON2.stringify(data.hksbList));
  277. //赋值报警
  278. loadHkbjcs(data.xtHkbjbjcs);
  279. //赋值档位
  280. loadHkyxcs(data.xtHkyxcs);
  281. $("#bpstr").val(data.bpstr);
  282. $("#dksl").val(data.xtHkyxcs.dksl);
  283. $("#dwsl").val(data.xtHkyxcs.dwsl);
  284. },
  285. error: function (data) {
  286. alert("1系统运行异常!");
  287. }
  288. });
  289. }
  290. /**
  291. * 加载报警
  292. * @param obj
  293. */
  294. function loadHkbjcs(obj) {
  295. var list = obj.bjcsList;
  296. for (var i = 0; i < list.length; i++) {
  297. //console.log(list[i]);
  298. $("#yxcs" + (i + 1)).find("li.degree").html("<img src='views/hkclient/sbpz/img/icon/degree" + list[i].bjjb + ".png' />");
  299. $("#yxcs" + (i + 1)).find("li.degree").attr('data-input', list[i].bjjb);
  300. var xwkg = list[i].xwkg;
  301. var gzxw = $("#yxcs" + (i + 1)).find("ul.act-lists").find("li");
  302. for (var j = 0; j < gzxw.length; j++) {
  303. if (xwkg.charAt(parseInt(gzxw.eq(j).data("for")) - 1) == "2") {
  304. gzxw.eq(j).addClass("active");
  305. } else {
  306. gzxw.eq(j).attr("class","");
  307. }
  308. }
  309. }
  310. }
  311. /**
  312. * 加载环控运行参数
  313. * @param obj
  314. */
  315. function loadHkyxcs(obj) {
  316. var dwsl = obj.dwsl;
  317. var dksl = obj.dksl;
  318. var dwContent = "";
  319. var dwnr = obj.dwnr.split("#");
  320. for (var i = 0; i < dwsl; i++) {
  321. if (i == 0) {
  322. dwContent += '<li class="active" data-dwid="' + (i + 1) + '">' + chnNumChar[i + 1] + '档</li>';
  323. } else {
  324. dwContent += '<li data-dwid="' + (i + 1) + '">' + chnNumChar[i + 1] + '档</li>';
  325. }
  326. var dwnrxx = dwnr[i].split(",");
  327. var something = dwnrxx[0]+","+dwnrxx[1]+",";
  328. for (var j = 2 ; j < dksl ; j++) {
  329. var xx = dwnrxx[j].split("-");
  330. if (xx.length == 6) {
  331. something += dwnrxx[j]+",";
  332. }
  333. }
  334. something = something.substring(0,something.length-1);
  335. dwContent += '<input type="hidden" id="dwstr' + (i + 1) + '" value = "' + something + '">';
  336. }
  337. $(".dw-title").html(dwContent);
  338. var dksl = obj.dksl;
  339. if (dksl == 0 || dksl == "" || dksl == undefined) {
  340. $(".fj-control").remove();
  341. } else {
  342. //加载第一个
  343. if (dwnr[0] != "" && dwnr[0] != undefined) {
  344. loadDw(1, dwnr[0]);
  345. }
  346. }
  347. }
  348. /**
  349. * 报警参数字符串拼装
  350. * @returns {String}
  351. */
  352. function bjcsStr() {
  353. var str = "";
  354. var bj = $("#hkBjcs").find("li.bj-wrapper");
  355. for (var i = 0; i < bj.length; i++) {
  356. var bjlx = bj.eq(i).data("bjid");
  357. var bjkg = "";
  358. var bjjb = bj.eq(i).find("li.degree").data("input");
  359. if (bjjb == "0") {
  360. bjkg = "1";
  361. bjjb = "1";
  362. } else {
  363. bjkg = "2";
  364. }
  365. var xwkg = "";
  366. var xw = bj.eq(i).find("ul.act-lists").find("li");
  367. for (var j = 0; j < xw.length; j++) {
  368. if (xw.eq(j).attr("class") == "") {
  369. xwkg += "1";
  370. } else {
  371. xwkg += "2";
  372. }
  373. }
  374. if (xw.length == 4) {
  375. xwkg = xwkg.substring(0, 3) + "22" + xwkg.substring(3);
  376. }
  377. str += bjlx + "-" + bjkg + "-" + bjjb + "-" + xwkg;
  378. if (i != bj.length - 1) {
  379. str += "#";
  380. }
  381. }
  382. return str;
  383. }
  384. /**
  385. * 加载第几个端口内容
  386. * @param sz
  387. */
  388. function loadDw(sz, val) {
  389. var old = $(".dw-title").find("li.active").data("dwid");
  390. //保存之前改动
  391. if (old != sz) {
  392. dwnrChange(old);
  393. }
  394. var dkstr= "";
  395. if (val == "" || val == undefined) {
  396. dkstr = $("#dwstr" + sz).val().split(",");
  397. } else {
  398. dkstr = val.split(",");
  399. }
  400. if (dkstr != "" && dkstr.length > 3) {
  401. $("div.dw-pattern").find("span.min-val").html(dkstr[0]);
  402. $("div.dw-pattern").find("span.max-val").html(dkstr[1]);
  403. $("div.dw-pattern").find("div.min-wrapper").find("div.wd-value").html(dkstr[0]);
  404. $("div.dw-pattern").find("div.max-wrapper").find("div.wd-value").html(dkstr[1]);
  405. }
  406. var dkcontent = "";
  407. for (var i = 2; i < dkstr.length; i++) {
  408. var dknr = dkstr[i].split("-");
  409. if (dknr.length == 6) {
  410. var ksj = dknr[0];
  411. var gsj = dknr[1];
  412. var kg = dknr[2] == "2" ? 'display:""' : 'display:none';
  413. var xh = dknr[3];
  414. var lx = dknr[4];
  415. var temp = dknr[2] + "-" + xh + "-" + lx + "-" + dknr[5];
  416. var hksbList = JSON.parse($("#hksbList").val());
  417. for (var j = 0; j < hksbList.length; j++) {
  418. if (hksbList[j].dmid == lx) {
  419. lx = hksbList[j].dmmc;
  420. }
  421. }
  422. dkcontent += '<ul class="fj-control" style="' + kg + '">';
  423. dkcontent += '<li>';
  424. dkcontent += '<div class="fj-name">' + lx + xh + '</div>';
  425. dkcontent += '<input type="text" placeholder="请输入时间" id="kssj' + (i + 1) + '" value="' + ksj + '">';
  426. dkcontent += '<input type="text" placeholder="请输入时间" id="jssj' + (i + 1) + '" value="' + gsj + '">';
  427. dkcontent += '<img src="views/hkclient/sbpz/img/icon/sw2.png" alt="开关" class="sw">';
  428. dkcontent += '<input type="hidden" id="dktemp' + (i + 1) + '" value="' + temp + '"/>';
  429. dkcontent += '</li>';
  430. dkcontent += '</ul>';
  431. }
  432. }
  433. $("div.control-wrapper").find('ul.fj-control').remove();
  434. $("div.control-wrapper").find("ul.title").after(dkcontent);
  435. }
  436. /**
  437. * 档位内容字符串拼装
  438. */
  439. function dwnrStr() {
  440. var old = $(".dw-title").find("li.active").data("dwid");
  441. dwnrChange(old);
  442. var dwsl = $("#dwsl").val();
  443. var str = "";
  444. var bpstr = $("#bpstr").val();
  445. var bpdkstr = [];
  446. if (bpstr != "" && bpstr != null) {
  447. var bpdkstr = bpstr.split("#");
  448. }
  449. for (var i = 1; i <= dwsl; i++) {
  450. str += $("#dwstr" + i).val();
  451. if (bpdkstr[i-1] != "" && bpdkstr[i-1] != null) {
  452. str+=","+ bpdkstr[i-1];
  453. }
  454. if (i != dwsl) {
  455. str += "#";
  456. }
  457. }
  458. return str;
  459. }
  460. /**
  461. * 更改档位内容
  462. * @param dw
  463. */
  464. function dwnrChange(dw) {
  465. var dwd = $("span.min-val").html();
  466. var gwd = $("span.max-val").html();
  467. //var dksl = $("#dksl").val();
  468. var olddknr = dwd + "," + gwd;
  469. var yxdk = $("#dwstr" + dw).val();
  470. var yxdkArr = [];
  471. if (yxdk != "") {
  472. yxdkArr = yxdk.split(",");
  473. }
  474. var yxdksl = yxdkArr.length-2;
  475. for (var i = 0; i < yxdksl; i++) {
  476. var kssj = $("#kssj" + (i + 3)).val();
  477. var jssj = $("#jssj" + (i + 3)).val();
  478. var dktemp = $("#dktemp" + (i + 3)).val();
  479. olddknr += "," + kssj + "-" + jssj + "-" + dktemp;
  480. }
  481. $("#dwstr" + dw).val(olddknr);
  482. }
  483. /**
  484. * 最大温度校验
  485. * @param sz
  486. */
  487. function addYxcsWd(sz) {
  488. var dwsl = $("#dwsl").val();
  489. var dw = parseInt($(".dw-title").find("li.active").data("dwid"));
  490. if (dw == dwsl) {
  491. return 0;
  492. }
  493. var ndw = dw + 1;
  494. var temp = $("#dwstr" + ndw).val();
  495. var ndwnr = temp.split(",");
  496. var ndwGw = ndwnr[1];
  497. if (sz >= ndwGw) {
  498. return 1;
  499. } else {
  500. temp = sz + temp.substring(temp.indexOf(","));
  501. $("#dwstr" + ndw).val(temp);
  502. return 0;
  503. }
  504. }