editHjbjcs.js 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325
  1. /**
  2. * 牧场猪舍栏期级联关系
  3. */
  4. setMcmcSelect();
  5. // 为“牧场编号”查询条件注册 change 事件
  6. $("#mcmc").bind("change", function(e) {
  7. clearZsmcSelect();
  8. clearLqmcSelect();
  9. setZsmcSelect(this.value);
  10. });
  11. $("#zsmc").css("display", "");
  12. // 为“栏期编号”查询条件注册 change 事件
  13. $("#zsmc").bind("change", function(e) {
  14. //校验该猪舍的是否已经由已经启用的报警参数了
  15. checkZsid(this.value);
  16. });
  17. /**
  18. * 校验该猪舍的是否已经由已经启用的报警参数了
  19. */
  20. function checkZsid(zsid) {
  21. if (zsid != '') {
  22. jQuery.getJSON("checkZsxxList.htm", {zsid : zsid}, function(data) {
  23. if (data == "") {
  24. alert("该猪舍的当前栏期下已经有了报警参数无法新建!");
  25. clearLqmcSelect();
  26. $("#zsmc").val('');
  27. } else {
  28. clearLqmcSelect();
  29. setLqmcSelect(zsid);
  30. }
  31. });
  32. }
  33. }
  34. // 温度
  35. if ($("#wd").val() != "") {
  36. writeSj("wd");
  37. }
  38. //湿度
  39. //if ($("#sd").val() != "") {
  40. // writeSj("sd");
  41. //}
  42. /**
  43. * 保存
  44. * @param from
  45. */
  46. function saveHjbjcs(from) {
  47. var wd = packageSj("wd");
  48. $("#wd").val(wd);
  49. $("#lqid").val($("#lqmc").val());
  50. // var sd = packageSj("sd");
  51. // $("#sd").val(sd);
  52. if (validator(hjbjcsForm)) {
  53. huimv.showProcessModel('保存数据中');
  54. jQuery('#hjbjcsForm').ajaxSubmit({
  55. dataType : 'json',
  56. data : {
  57. "id" : $("#id").val(),
  58. "from" : from
  59. },
  60. success : function(data) {
  61. huimv.hideProcessModel();
  62. // 保存成功
  63. if (data.returnCode > 0) {
  64. switch (from) {
  65. case "hjbjcsView":
  66. viewHjbjcs(data.result.id);
  67. break;
  68. case "hjbjcsAdd":
  69. loadHjbjcsRight();
  70. break;
  71. }
  72. } else {
  73. Dialogs.alert(data.result, {
  74. title : '提示信息',
  75. width : 250,
  76. height : 80,
  77. top : 200
  78. });
  79. }
  80. },
  81. error : function(data) {
  82. huimv.showError(data.responseText);
  83. huimv.hideProcessModel();
  84. }
  85. });
  86. }
  87. }
  88. /**
  89. * 取消
  90. * @param id
  91. */
  92. function cancelHjbjcs(id, from) {
  93. if (id != "") {
  94. viewHjbjcs(id);
  95. } else {
  96. loadHjbjcsRight();
  97. }
  98. }
  99. /**
  100. * 联动
  101. */
  102. function bjjbChange(type,key) {
  103. var str = "";
  104. switch (type) {
  105. case "wd":
  106. str = "温度";
  107. break;
  108. // case "sd":
  109. // str = "湿度";
  110. // break;
  111. }
  112. $("#"+type+"jb1").hide();
  113. $("#"+type+"jb2").hide();
  114. $("#"+type+"jb3").hide();
  115. for (var i = 1; i <=3 ; i++) {
  116. $("#" + type + "jb" + i).hide();
  117. $("#" + type + "xx" + i).removeAttr("valid");
  118. $("#" + type + "xx" + i).removeAttr("errmsg");
  119. $("#" + type + "sx" + i).removeAttr("valid");
  120. $("#" + type + "sx" + i).removeAttr("errmsg");
  121. if (key >= i) {
  122. $("#" + type + "jb" + i).show();
  123. $("#" + type + "xx" + i).attr("valid", "required");
  124. $("#" + type + "xx" + i).attr("errmsg", str + "级别" + i + "下限不能为空!");
  125. $("#" + type + "sx" + i).attr("valid", "required");
  126. $("#" + type + "sx" + i).attr("errmsg", str + "级别" + i + "上限不能为空!");
  127. }
  128. }
  129. }
  130. /**
  131. * 页面加载方法封装数据
  132. */
  133. function packageSj(type) {
  134. var len = 0;
  135. var str = "";
  136. var check = $("input[name='" + type + "bjjb']");
  137. for (var j = 0; j < check.length; j++) {
  138. if (check[j].checked && j != 3) {
  139. len = j + 1;
  140. }
  141. }
  142. if (len > 0) {
  143. for (var i = 1; i <= len; i++) {
  144. var a = $("#" + type + "xx" + i).val();
  145. var b = $("#" + type + "sx" + i).val();
  146. var c = $("#" + type + "bjlx" + i).val();
  147. if (parseFloat(a) > parseFloat(b)) {
  148. str += b + "-" + a + "#" + c + ",";
  149. } else {
  150. str += a + "-" + b + "#" + c + ",";
  151. }
  152. }
  153. str = str.substring(0, str.length - 1);
  154. }
  155. return str;
  156. }
  157. /**
  158. * 页面加载方法展开数据
  159. */
  160. function writeSj(type) {
  161. var val = $("#" + type).val();
  162. var obj = val.split(",");
  163. bjjbChange(type,obj.length);
  164. var check = $("input[name='" + type + "bjjb']");
  165. for (var j = 0; j < check.length; j++) {
  166. if (j == obj.length - 1) {
  167. check[j].checked = true;
  168. }
  169. }
  170. //循环写入数据
  171. for (var i = 0; i < obj.length; i++) {
  172. var a = obj[i].substring(0,obj[i].indexOf("-"));
  173. var b = obj[i].substring(obj[i].indexOf("-") + 1,obj[i].indexOf("#"));
  174. var c = obj[i].substring(obj[i].indexOf("#") + 1);
  175. $("#" + type + "xx" + (i + 1)).val(a);
  176. $("#" + type + "sx" + (i + 1)).val(b);
  177. $("#" + type + "bjlx" + (i + 1)).val(c);
  178. }
  179. }
  180. function showOrHide(obj, str) {
  181. /** 参数判断 start **/
  182. var obj2 = $(obj.parentNode.parentNode).children("td");
  183. if (obj2.length > 2) {
  184. var check = obj2.eq(1).find('input');
  185. var flag = false;
  186. for (var i = 0; i < check.length; i++) {
  187. if ($(check).eq(i).attr("checked")) {
  188. flag = true;
  189. }
  190. }
  191. var sb = obj2.eq(2).text();
  192. if (flag) {
  193. obj2.eq(2).find("span").show();
  194. obj2.eq(3).find("input").attr("valid", "required");
  195. obj2.eq(3).find("input").attr("errmsg", sb.substring(0,sb.length - 2) + "不能为空!");
  196. } else {
  197. obj2.eq(2).find("span").hide();
  198. obj2.eq(3).find("input").removeAttr("valid");
  199. obj2.eq(3).find("input").removeAttr("errmsg");
  200. }
  201. }
  202. /** 参数判断 end **/
  203. /** 取值判断 start **/
  204. var obj1 = $("#" + obj.id + "pd").children('td').eq(1).find("input");
  205. if (obj.checked) {
  206. $("#" + obj.id + "pd").show();
  207. for (var i = 0; i < obj1.length; i++) {
  208. if (!obj1.eq(i).is(":hidden")) {
  209. obj1.eq(i).attr("valid", "required");
  210. obj1.eq(i).attr("errmsg", str);
  211. }
  212. //针对于区间参数的赋值
  213. var rid = $(obj1.eq(i)).attr("id");
  214. if (rid.substring(rid.length-3) == "qj1" || rid.substring(rid.length-3) == "qj2") {
  215. $(obj1.eq(i)).bind("blur", function() {
  216. getQjValue(this);
  217. });
  218. }
  219. }
  220. } else {
  221. $("#" + obj.id + "pd").hide();
  222. for (var i = 0; i < obj1.length; i++) {
  223. obj1.eq(i).removeAttr("valid");
  224. obj1.eq(i).removeAttr("errmsg");
  225. obj1.eq(i).val('');
  226. //针对于区间参数的赋值的取消
  227. var rid = $(obj1.eq(i)).attr("id");
  228. if (rid.substring(rid.length-3) == "qj1" || rid.substring(rid.length-3) == "qj2") {
  229. $(obj1.eq(i)).unbind("blur");
  230. rid = rid.substring(0, rid.length - 1);
  231. $("#" + rid).val('');
  232. }
  233. }
  234. }
  235. /** 取值判断 end **/
  236. }
  237. /**
  238. * 区间赋值
  239. * @param obj
  240. */
  241. function getQjValue(obj) {
  242. var id = (obj.id).substring(0, (obj.id).length-1);
  243. var val1 = $("#" + id + "1").val();
  244. var val2 = $("#" + id + "2").val();
  245. if (parseInt(val1) > parseInt(val2)) {
  246. alert("请输入正确的区间值");
  247. $(obj).val('');
  248. $(obj).focus();
  249. } else {
  250. $("#" + id).val(val1 + "#" + val2);
  251. }
  252. }
  253. /**
  254. * 修改页面前的开关 遍历所有display的tr
  255. */
  256. var from = $("#from").val();
  257. if (from == "hjbjcsView") {
  258. loadHjbjcs();
  259. }
  260. function loadHjbjcs() {
  261. var input = $(":input");
  262. for (var i = 0; i < input.length; i++) {
  263. var obj = $("input:eq("+i+")");
  264. var tr = obj.parent().parent();
  265. var rid = $(tr).attr("id");
  266. if (obj.parent().parent().is(":hidden") && $(obj).val() != "" && rid.substring(rid.length - 2) == "pd") {
  267. tr.show();
  268. //级联项选中
  269. var cid = rid.substring(0, rid.length - 2);
  270. /**
  271. * 如果用鼠标点击或在其获得焦点时按空格,会先反转其状态再触发其click事件;
  272. * 而如果通过jQuery用代码触发其click事件,则会先触发click事件再反转状态.
  273. * 所以如果想实现开始所说的功能的话,只需麻烦一点,先手动改变checked状态为false,
  274. * 然后再触发click事件,而触发click事件后状态再次改变,由false变为true,所以要再次手动改变checked状态:
  275. */
  276. $("#" + cid).attr("checked", "true");
  277. $("#" + cid).click();
  278. $("#" + cid).attr("checked", "true");
  279. //区间赋值
  280. if ($(obj).attr("id").substring($(obj).attr("id").length - 2) == "qj" && $("#" + $(obj).attr("id") + "1") && $("#" + $(obj).attr("id") + "2")) {
  281. var val = $(obj).val().split("#");
  282. $("#" + $(obj).attr("id") + "1").val(val[0]);
  283. $("#" + $(obj).attr("id") + "2").val(val[1]);
  284. }
  285. }
  286. }
  287. }
  288. function _alert(id) {
  289. switch(id) {
  290. case "rslbh":
  291. alert("例:求2015年1月6日时4天内的饲料消耗变化,假设1月3日到1月6日饲料消耗分别为a,b,c,d,那么最后的结果为((b-a)/b+(c-b)/c+(d-c)/d)*100/3");
  292. break;
  293. case "qclrbbh":
  294. alert("例:求2015年1月6日时4天内的料肉比变化,假设1月3日到1月6日4天内的料肉比分别为a,b,c,d,那么最后的结果为((b-a)/b+(c-b)/c+(d-c)/d)*100/3");
  295. break;
  296. case "qtrfwbh":
  297. alert("例:求2015年1月6日时4天内的群体日访问变化,假设1月3日到1月6日4天内的群体日访问分别为a,b,c,d,那么最后的结果为((b-a)/b+(c-b)/c+(d-c)/d)*100/3");
  298. break;
  299. // case "tzbh":
  300. // alert("例:求2015年1月6日时4天内的体重变化,假设1月3日到1月6日4天内的体重分别为a,b,c,d,那么最后的结果为((b-a)/b+(c-b)/c+(d-a)/d)*100/4");
  301. // break;
  302. case "tzbhqs":
  303. alert("例:求2015年1月6日时4天内的体重变化趋势,假设1月3日到1月6日4天内的体重分别为a,b,c,d,那么最后的结果为((b-a)/b+(c-b)/c+(d-c)/d)*100/3");
  304. break;
  305. }
  306. }