mcGjpz.js 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373
  1. $(function () {
  2. $(".tishi").hide();
  3. /**
  4. * 照明初始化
  5. */
  6. var zmSize = $(".zm>div").size();
  7. for (var i = 0 ; i < zmSize ; i ++) {
  8. var zmStr = $("#zmStr"+i).data("for");
  9. var zmArr = zmStr.split("-");
  10. var time = zmArr[1].split(":");
  11. var h = parseInt(time[0]);
  12. var m = parseInt(time[1]);
  13. $("#zmStart"+i).val(time[0]+":"+time[1]);
  14. var addH = parseInt(zmArr[2]/60);
  15. var addM = parseInt(zmArr[2] %60 );
  16. h = h + addH;
  17. m = m + addM;
  18. if (m > 59) {
  19. m = m - 60;
  20. h = h + 1;
  21. };
  22. if (h > 23) {
  23. h = h - 24;
  24. }
  25. var hour = parseInt(time[0]);
  26. var minite = parseInt(time[1]);
  27. if (hour * 60 + minite + parseInt(zmArr[2]) >= 24*60) {
  28. fulltime = "23:59";
  29. }else {
  30. if (h.toString().length == 1) {
  31. h= "0" + h ;
  32. }
  33. if (m.toString().length == 1) {
  34. m = "0" + m;
  35. }
  36. fulltime = h + ":" + m;
  37. }
  38. $("#zmEnd"+i).val(fulltime);
  39. }
  40. /**
  41. * 水帘初始化
  42. */
  43. var slSize = $(".sl>div").size();
  44. for (var i = 0 ; i < slSize ; i ++) {
  45. var slStr = $("#slStr"+i).data("for");
  46. var slArr = slStr.split("-");
  47. $("#slStart"+i).val(slArr[1]);
  48. $("#slKqpy"+i).val(slArr[2]);
  49. $("#slGbpy"+i).val(slArr[3]);
  50. $("#slKssj"+i).val(slArr[4]);
  51. $("#slGbsj"+i).val(slArr[5]);
  52. }
  53. /**
  54. * 喷淋初始化
  55. */
  56. var plSize = $(".pldcf>div").size();
  57. for (var i = 0 ; i < plSize ; i ++) {
  58. var plStr = $("#plStr"+i).data("for");
  59. var plArr = plStr.split("-");
  60. $("#plStart"+i).val(plArr[1]);
  61. $("#plKqpy"+i).val(plArr[2]);
  62. $("#plGbpy"+i).val(plArr[3]);
  63. $("#plKssj"+i).val(plArr[4]);
  64. $("#plGbsj"+i).val(plArr[5]);
  65. }
  66. /**
  67. * 暖灯初始化
  68. */
  69. var ndSize = $(".nd>div").size();
  70. for (var i = 0 ; i < ndSize ; i ++) {
  71. var ndStr = $("#ndStr"+i).data("for");
  72. var ndArr = ndStr.split("-");
  73. $("#ndStart"+i).val(ndArr[1]);
  74. $("#ndKqpy"+i).val(ndArr[2]);
  75. $("#ndGbpy"+i).val(ndArr[3]);
  76. }
  77. //初始化滚动条
  78. iscroll = new IScroll(".lmlIscroll",{
  79. scrollbars: true,
  80. fadeScrollbars:true,
  81. scrollbars: 'custom',
  82. shrinkScrollbars:'clip'
  83. });
  84. setTimeout(function(){
  85. $("body").height(document.body.scrollHeight);
  86. iscroll.refresh();
  87. }, 250);
  88. //滚动input以外失去焦点
  89. iscroll.on('scrollStart',function(e){
  90. var el = document.activeElement;
  91. if (el.nodeName.toLowerCase() == 'input') {
  92. el.blur();
  93. this.disable();
  94. this.enable();
  95. };
  96. return;
  97. });
  98. //点击input以外失去焦点
  99. var beforeIpt=null;
  100. $("input").on("focus", function (e) {
  101. beforeIpt=this;
  102. });
  103. $(document).on("tap", function (e) {
  104. if(e.target.nodeName.toLowerCase()!="input") {
  105. if(beforeIpt) {
  106. beforeIpt.blur();
  107. beforeIpt=null;
  108. }
  109. }
  110. });
  111. /**
  112. * input输入限制
  113. */
  114. $('.limit').bind('input propertychange', function(e) {
  115. validation();
  116. });
  117. //开关事件
  118. mui('.mui-content .mui-switch').each(function() { //循环所有toggle
  119. mui(this)['switch']();
  120. //toggle 事件监听
  121. this.addEventListener('toggle', function(event) {
  122. //event.detail.isActive 可直接获取当前状态
  123. var isActive = this.classList.contains("mui-active"); //判断打开ON或者关闭OFF
  124. if(isActive){ //打开状态
  125. $(this).parent().next().slideDown(500,function(){
  126. iscroll.refresh();
  127. });
  128. }else{ //关闭状态
  129. $(this).parent().next().slideUp(500,function(){
  130. iscroll.refresh();
  131. });
  132. }
  133. });
  134. });
  135. //时间
  136. sj();
  137. });
  138. function validation() {
  139. $(".limit").each(function(i){
  140. var val = $(this).val();
  141. var regu = /^[0-9]\d*(?:\.\d{0,1})?$/; //保留两位小数的四位数
  142. if (val != "") {
  143. if (!regu.test(val)) {
  144. var $t = val.replace(val,'');
  145. $(this).val($t);
  146. }
  147. }
  148. });
  149. }
  150. /**
  151. * 时间方法
  152. * */
  153. function sj(){
  154. mui.init();
  155. mui.ready(function() {
  156. //开始时间
  157. var startT = $('.startTime');
  158. startT.each(function(i, startT) {
  159. startT.addEventListener('tap', function() {
  160. var that = this;
  161. dateP(startT,endT,that);
  162. }, false);
  163. });
  164. //结束时间
  165. var endT = $('.endTime');
  166. endT.each(function(i, endT) {
  167. endT.addEventListener('tap', function() {
  168. var that = this;
  169. dateP(startT,endT,that);
  170. }, false);
  171. });
  172. });
  173. function dateP(start,end,that) {
  174. var str = "2017-10-20 "+ that.value;
  175. var picker = new mui.DtPicker({
  176. type: "time",//设置日历初始视图模式
  177. value:str,
  178. });
  179. picker.show(function(rs) {
  180. start.value = rs.value;
  181. end.value = rs.value;
  182. picker.dispose();
  183. //前一次的照明结束时间应该大于后一次的照明开始时间,同一次的照明开始时间应该小于结束时间
  184. var zmSize = $(".zm>div").size();
  185. var arr = new Array();
  186. var arrId = new Array();
  187. var intZmStart = 0;
  188. var intZmEnd = 0;
  189. for (var i = 0 ; i < zmSize ; i++) {
  190. var zmStart = $("#zmStart"+i).val();
  191. var zmEnd = $("#zmEnd"+i).val();
  192. var zmStartArr = zmStart.split(":");
  193. var zmEndArr = zmEnd.split(":");
  194. intZmStart = parseInt(zmStartArr[0]) * 60 + parseInt(zmStartArr[1]);
  195. intZmEnd = parseInt(zmEndArr[0]) * 60 + parseInt(zmEndArr[1]);
  196. arr.push(intZmStart);
  197. arr.push(intZmEnd);
  198. arrId.push("#zmStart"+i);
  199. arrId.push("#zmEnd"+i);
  200. }
  201. var str1 = "";
  202. for (var k = 0 ; k < arr.length ; k ++) {
  203. str1 = str1 + arr[k] + ",";
  204. }
  205. str1 = str1.substring(0,str1.length-1);
  206. var after = arr.sort(sortNumber);
  207. var before = str1.split(",");
  208. for (var j = 0 ; j < arr.length ; j ++) {
  209. var id = arrId[j];
  210. if (after[j] != before[j] || +after[j+1] < after[j]) {
  211. $(id).addClass("co");
  212. }else {
  213. $(id).removeClass("co");
  214. }
  215. }
  216. });
  217. }
  218. }
  219. //返回
  220. function backUrl() {
  221. var zsid = $("#zsid").val();
  222. haifm.loadMobilePage("haifm", "mcHaifmvZsView.htm?zsid=" + zsid + "&from=zslist");
  223. }
  224. function save() {
  225. var zmjy = zmjy1();
  226. var zm = zmStr();
  227. return;
  228. if (zmjy == "1") {
  229. return;
  230. }
  231. var limit = 0;
  232. $(".limit").each(function(i){
  233. var val = $(this).val();
  234. if (val == "") {
  235. limit = 1;
  236. }
  237. });
  238. if (limit == 1) {
  239. mui.toast('输入框不能为空');
  240. return;
  241. }
  242. jQuery.ajax({
  243. url: "saveHaifmvHjkzGjsz.htm",
  244. dataType: 'json',
  245. type: 'post',
  246. cache: false,
  247. data: {
  248. "zm" : zmStr(),
  249. "sl" : slStr(),
  250. "pl" : plStr(),
  251. "nd" : ndStr(),
  252. "jqid" : $("#jqid").val()
  253. },
  254. success: function (data) {
  255. if (data.returnCode == "1") {
  256. mui.toast('保存成功');
  257. }else {
  258. mui.alert('保存失败!', '提示', function() {});
  259. }
  260. iscroll.refresh();
  261. },
  262. error: function (){
  263. mui.alert('网络异常,请稍后!', '提示', function() {});
  264. }
  265. });
  266. };
  267. //照明校验
  268. var zmjy1 = function(){
  269. var zmSize = $(".zm>div").size();
  270. var zmjy1 = 0;
  271. for (var i = 0 ; i < zmSize ; i++) {
  272. if ($("#zmStart"+i).hasClass("co") || $("#zmEnd"+i).hasClass("co")) {
  273. zmjy1 = 1;
  274. }
  275. };
  276. if (zmjy1 > 0) {
  277. var btnArray = ['重置', '修改'];
  278. mui.confirm("照明时刻出错",'提示!', btnArray, function(e) {
  279. if (e.index == 0) {
  280. //重置 所有清零
  281. for (var i = 0 ; i < zmSize ; i++) {
  282. $("#zmStart"+ i).val("");
  283. $("#zmEnd"+ i).val("");
  284. };
  285. } else if (e.index == 1) {
  286. //修改 错误的时间继续飘红标红
  287. };
  288. });
  289. };
  290. return zmjy1;
  291. };
  292. //照明字符串封装
  293. var zmStr = function(){
  294. var zmSize = $(".zm>div").size();
  295. var zmStr = "";
  296. for (var i = 0 ; i < zmSize ; i++) {
  297. var gbsk = $("#zmEnd"+i).val();
  298. var gbsc = gbsk.split(":");
  299. var h1 = parseInt(gbsc[0]);
  300. var m1 = parseInt(gbsc[1]);
  301. var kqsk = $("#zmStart"+i).val();
  302. var kqsc = kqsk.split(":");
  303. var h2 = parseInt(kqsc[0]);
  304. var m2 = parseInt(kqsc[1]);
  305. var lastHour = "";
  306. var lastMinite = "";
  307. if (m1 >= m2) {
  308. lastMinite = m1 - m2;
  309. lastHour = h1 >= h2 ? h1-h2 : h1+24-h2;
  310. }else {
  311. lastMinite = m1 + 60 - m2;
  312. if (h1-1 >= h2) {
  313. lastHour = h1-1-h2;
  314. }else {
  315. lastHour= h1 -1 + 24 - h2;
  316. }
  317. }
  318. var time = lastHour * 60 + lastMinite;
  319. zmStr += i + "-" + $("#zmStart"+i).val()+":00" + "-" + time +"#";
  320. }
  321. zmStr = zmStr.substring(0,zmStr.length-1);
  322. return zmStr;
  323. };
  324. //水帘字符串封装
  325. var slStr = function(){
  326. var slSize = $(".sl>div").size();
  327. var slStr = "";
  328. for (var i = 0 ; i < slSize ; i++) {
  329. slStr += i + "-" + $("#slStart"+i).val() + "-" + $("#slKqpy"+i).val() + "-" + $("#slGbpy"+i).val() + "-" + $("#slKssj"+i).val() + "-" + $("#slGbsj"+i).val() +"#";
  330. }
  331. slStr = slStr.substring(0,slStr.length-1);
  332. return slStr;
  333. };
  334. //喷淋字符串封装
  335. var plStr = function(){
  336. var plSize = $(".pldcf>div").size();
  337. var plStr = "";
  338. for (var i = 0 ; i < plSize ; i++) {
  339. plStr += i + "-" + $("#plStart"+i).val() + "-" + $("#plKqpy"+i).val() + "-" + $("#plGbpy"+i).val() + "-" + $("#plKssj"+i).val() + "-" + $("#plGbsj"+i).val() +"#";
  340. }
  341. plStr = plStr.substring(0,plStr.length-1);
  342. return plStr;
  343. };
  344. //暖灯字符串封装
  345. var ndStr = function(){
  346. var ndSize = $(".nd>div").size();
  347. var ndStr = "";
  348. for (var i = 0 ; i < ndSize ; i++) {
  349. ndStr += i + "-" + $("#ndStart"+i).val() + "-" + $("#ndKqpy"+i).val() + "-" + $("#ndGbpy"+i).val() +"#";
  350. }
  351. ndStr = ndStr.substring(0,ndStr.length-1);
  352. return ndStr;
  353. };
  354. function sortNumber(a,b)
  355. {
  356. return a - b;
  357. }