fmjl.js 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433
  1. $(function () {
  2. var zsIscrollHeight = $(".fmjlIscroll");
  3. var cententHeight = $(".fmjlIscroll div:first-child");
  4. heightvs(zsIscrollHeight,cententHeight);
  5. //初始化page
  6. if(localStorage.hasOwnProperty("fmIndex")) {
  7. $("#page").val(localStorage.getItem("fmIndex"));
  8. }
  9. //输入框快速删除初始化
  10. mui(".mui-input-row input").input();
  11. //时间初始化
  12. var date = new Date();
  13. var year = date.getFullYear()+"";
  14. var month = date.getMonth()+1;
  15. var day = date.getDate();
  16. date.setDate(date.getDate()-7);
  17. var lYear = date.getFullYear()+"";
  18. var lMonth = date.getMonth()+1;
  19. var lwDay = date.getDate();
  20. if ($("#startT").data("for") == "") {
  21. $("#startT .nian").html(lYear);
  22. $("#startT .yue").html(lMonth);
  23. $("#startT .ri").html(lwDay);
  24. } else {
  25. var ksrq = $("#startT").data("for");
  26. var ksrqArr = ksrq.split("-");
  27. $("#startT .nian").html(ksrqArr[0]);
  28. $("#startT .yue").html(ksrqArr[1]);
  29. $("#startT .ri").html(ksrqArr[2]);
  30. }
  31. if ($("#endT").data("for") == "") {
  32. $("#endT .nian").html(year);
  33. $("#endT .yue").html(month);
  34. $("#endT .ri").html(day);
  35. } else {
  36. var jsrq = $("#endT").data("for");
  37. var jsrqArr = jsrq.split("-");
  38. $("#endT .nian").html(jsrqArr[0]);
  39. $("#endT .yue").html(jsrqArr[1]);
  40. $("#endT .ri").html(jsrqArr[2]);
  41. }
  42. /**
  43. * 初始化滚动条
  44. * */
  45. var iscroll;
  46. iscroll = new IScroll(".fmjlIscroll",{
  47. scrollbars: true,
  48. fadeScrollbars:true,
  49. scrollbars: 'custom',
  50. shrinkScrollbars:'clip',
  51. probeType: 2,
  52. click:true
  53. });
  54. setTimeout(function(){
  55. iscroll.refresh();
  56. }, 600);
  57. /**
  58. * 点击input获取焦点
  59. * */
  60. $(".mui-input-row.mui-search,.mui-input-row .mui-input-clear~.mui-icon-clear:before").on("touchstart", function (e) {
  61. $("input[type='search']").focus();
  62. });
  63. /**
  64. * 滚动input以外失去焦点
  65. * */
  66. iscroll.on('scrollStart',function(e){
  67. var el = document.activeElement;
  68. if (el.nodeName.toLowerCase() == 'input') {
  69. el.blur();
  70. this.disable();
  71. this.enable();
  72. };
  73. return;
  74. });
  75. /**
  76. * 点击input以外失去焦点
  77. * */
  78. var beforeIpt=null;
  79. $("input").on("focus", function (e) {
  80. beforeIpt=this;
  81. });
  82. $(document).on("tap", function (e) {
  83. if(e.target.nodeName.toLowerCase()!="input") {
  84. if(beforeIpt) {
  85. beforeIpt.blur();
  86. beforeIpt=null;
  87. }
  88. }
  89. });
  90. /**
  91. * 开关事件
  92. * */
  93. onOff(iscroll,zsIscrollHeight,cententHeight);
  94. /**
  95. * 时间事件
  96. * */
  97. sjchaxun();
  98. /**
  99. * 弹出修改框
  100. * */
  101. confirm();
  102. //模糊查询键盘enter键事件
  103. $("input[type='search']").on('keypress',function(e) {
  104. var keycode = e.keyCode;
  105. if(keycode=='13') {
  106. e.preventDefault();
  107. //请求搜索接口
  108. clear();
  109. haifm.loadMobilePage("haifm", "hvSjlrFmIndex.htm?mcid=" + $("#mcid").val() + "&cxeph=" + $("#dweb").val());
  110. }
  111. });
  112. /* *
  113. * 下拉刷新上拉加载数据
  114. * */
  115. var pullUp = $("#pullUp"),
  116. pullUpLabel = $(".pullUpLabel"),
  117. loadingStep = 0;//加载状态0默认,1显示加载状态,2执行加载数据,只有当为0时才能再次加载,这是防止过快拉动刷新
  118. //滚动时触发
  119. iscroll.on("scroll",function(){
  120. if(loadingStep == 0 && !pullUp.attr("class").match('refresh')){
  121. if(this.y < (this.maxScrollY - 14)){//上拉加载更多
  122. pullUp.addClass("refresh").show();
  123. pullUp.css({"background":"","background-size":""});
  124. pullUpLabel.text("松手开始加载...");
  125. loadingStep = 1;
  126. iscroll.refresh();
  127. }
  128. }
  129. });
  130. //滚动结束触发
  131. iscroll.on("scrollEnd",function(){
  132. if(loadingStep == 1){
  133. if( pullUp.attr("class").match("refresh") ){//上拉加载操作
  134. pullUp.removeClass("refresh").addClass("loading");
  135. pullUpLabel.text("");
  136. pullUp.css({"background":"#D7DFEA url(views/haifmv/img/pullUp.gif) no-repeat center","background-size":"12%"});
  137. loadingStep = 2;
  138. pullUpAction();
  139. iscroll.refresh();
  140. }
  141. }
  142. //滑动定位
  143. var thisy = parseInt(this.y);
  144. localStorage.setItem("fmIndexY",thisy);
  145. });
  146. /**
  147. * 上拉加载方法
  148. * */
  149. function pullUpAction(){
  150. var kssj = $("#startT .nian").html()+"-" + $("#startT .yue").html()+"-" + $("#startT .ri").html();
  151. var jssj = $("#endT .nian").html()+"-" + $("#endT .yue").html()+"-" + $("#endT .ri").html();
  152. var page = parseInt($("#page").val())+1;
  153. var maxPages = $("#maxPages").val();
  154. if (page <= maxPages) {
  155. jQuery.ajax({
  156. type : "get",
  157. url : "addSjlrFmjl.htm",
  158. data : {
  159. "mcid" : $("#mcid").val(),
  160. "cxeph": $("#dweb").val(),
  161. "ksrq" : kssj,
  162. "jsrq" : jssj,
  163. "page" : page
  164. },
  165. dataType : "json",
  166. async : true,
  167. success : function(data) {
  168. var hc = localStorage.getItem("fmIndex");
  169. setTimeout(function() {
  170. var something = "";
  171. for (var i = 0 ; i < data.length; i++) {
  172. var obj = data[i];
  173. something += "<li class='mui-table-view-cell'>"
  174. + "<span style='margin-right: 0.2rem;'>"+obj.fmrq+"</span>"
  175. + "<span style='margin-right: 0.2rem;'>分娩母猪:<span>"+obj.count+"头</span></span>"
  176. + "<span style='margin-right: 0.2rem;'>公:<span>"+obj.countgz+"头</span></span>"
  177. + "<span>母:<span>"+obj.countmz+"头</span></span>"
  178. + "<div class='mui-switch mui-active'>"
  179. + "<div class='mui-switch-handle'></div>"
  180. + "</div>"
  181. + "<ul class='space-between' style='margin-top: 0.15rem;'>"
  182. + "<li>健:<span>"+obj.countj+"头</span></li>"
  183. + "<li>弱:<span>"+obj.countr+"头</span></li>"
  184. + "<li>木:<span>"+obj.countm+"头</span></li>"
  185. + "<li>畸:<span>"+obj.countjx+"头</span></li>"
  186. + "</ul>"
  187. + "<ul class='space-between' style='margin-top: 0.15rem;'>"
  188. + "<li>活:<span>"+obj.allCountH+"头</span></li>"
  189. + "<li>死:<span>"+obj.allCountS+"头</span></li>"
  190. + "<li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li>"
  191. + "<li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li>"
  192. + "</ul>"
  193. + "</li>"
  194. + "<li class='hiddenli xx"+i+"'></li>";
  195. for (var j = 0 ; j < obj.fmList.length ; j++) {
  196. var o = obj.fmList[j];
  197. something += "<div class='rowBox container-fluid' id='confirmBtn' data-id="+o.id+" data-for="+o.eph+">"
  198. + "<div class='row'>"
  199. + "<div class='col-xs-7 col-sm-7 col-md-7 discenter'>耳牌号:<span>"+o.eph+"</div>"
  200. + "<div class='col-xs-5 col-sm-5 col-md-5 discenter'></div>"
  201. + "</div>"
  202. + "<div class='row'>"
  203. + "<div class='col-xs-7 col-sm-7 col-md-7 discenter'>健仔数:<span>"+ o.jzgs+"</span></div>"
  204. + "<div class='col-xs-5 col-sm-5 col-md-5 discenter'>弱仔数:<span>"+ o.rzgs+"</span></div>"
  205. + "</div>"
  206. + "<div class='row'>"
  207. + "<div class='col-xs-7 col-sm-7 col-md-7 discenter'>木仔数:<span>"+ o.mnygs+"</span></div>"
  208. + "<div class='col-xs-5 col-sm-5 col-md-5 discenter'>畸仔数:<span>"+ o.jxgs+"</span></div>"
  209. + "</div>"
  210. + "<div class='row'>"
  211. + "<div class='col-xs-7 col-sm-7 col-md-7 discenter'>活仔数:<span>"+ o.hzgs+"</span></div>"
  212. + "<div class='col-xs-5 col-sm-5 col-md-5 discenter'>死胎数:<span>"+ o.stgs+"</span></div>"
  213. + "</div>"
  214. + "<div class='row'>"
  215. + "<div class='col-xs-7 col-sm-7 col-md-7 discenter'>公猪数:<span>"+ o.gzgs+"</span></div>"
  216. + "<div class='col-xs-5 col-sm-5 col-md-5 discenter'>母猪数:<span>"+ o.mzgs+"</span></div>"
  217. + "</div>"
  218. + "<div class='row'>"
  219. + "<div class='col-xs-7 col-sm-7 col-md-7 discenter'>分娩胎次:<span>"+ o.fmtc+"</span></div>"
  220. + "<div class='col-xs-5 col-sm-5 col-md-5 discenter'></div>"
  221. + "</div>"
  222. + "</div>";
  223. }
  224. }
  225. $(".fmjlIscroll ul.mui-table-view").append($(something));
  226. pullUp.attr("class","");
  227. pullUpLabel.text("上拉加载更多");
  228. pullUp.css({"background":""});
  229. iscroll.refresh();
  230. loadingStep = 0;
  231. localStorage.setItem("fmIndex",hc + something);
  232. onOff(iscroll,zsIscrollHeight,cententHeight);
  233. confirm();
  234. },1000);
  235. $("#page").val(page);
  236. localStorage.setItem("fmIndexPage",page);
  237. }
  238. });
  239. }else {
  240. pullUp.css({"background":"","background-size":""});
  241. pullUpLabel.text("没有数据了");
  242. iscroll.refresh();
  243. }
  244. }
  245. //加载缓存中的内容
  246. if (localStorage.hasOwnProperty("fmIndex")) {
  247. var sth = localStorage.getItem("fmIndex");
  248. $(".fmjlIscroll ul").append(sth.substring(4,sth.length));
  249. }
  250. if (localStorage.hasOwnProperty("fmIndexY")) {
  251. var tall = localStorage.getItem("fmIndexY");
  252. iscroll.scrollTo(0,tall,1000, IScroll.utils.ease.elastic);
  253. iscroll.refresh();
  254. }
  255. });
  256. /**
  257. * 时间方法
  258. * */
  259. function sjchaxun(){
  260. mui.init();
  261. mui.ready(function() {
  262. //开始时间
  263. var startN = $('.nian')[0];
  264. var startnY = $('.yue')[0];
  265. var startR = $('.ri')[0];
  266. var startTbtns = $('#startT');
  267. startTbtns.each(function(i, startTbtn) {
  268. startTbtn.addEventListener('tap', function() {
  269. var dataFor = this.getAttribute('data-for');
  270. var that = this;
  271. dateP(startN,startnY,startR,dataFor,that);
  272. }, false);
  273. });
  274. //结束时间
  275. var endN = $('.nian')[1];
  276. var endY = $('.yue')[1];
  277. var endR = $('.ri')[1];
  278. var endTbtns = $('#endT');
  279. endTbtns.each(function(i, endTbtn) {
  280. endTbtn.addEventListener('tap', function() {
  281. var dataFor = this.getAttribute('data-for');
  282. var that = this;
  283. dateP(endN,endY,endR,dataFor,that);
  284. }, false);
  285. });
  286. });
  287. function dateP(nian,yue,ri,dataFor,that) {
  288. var picker = new mui.DtPicker({
  289. type: "date",//设置日历初始视图模式
  290. value: dataFor
  291. });
  292. picker.show(function(rs) {
  293. nian.innerHTML = rs.y.text;
  294. yue.innerHTML = rs.m.text;
  295. ri.innerHTML = rs.d.text;
  296. that.setAttribute('data-for',rs.value);
  297. picker.dispose();
  298. });
  299. }
  300. }
  301. /**
  302. * 返回
  303. * */
  304. function backUrl() {
  305. clear();
  306. haifm.loadMobilePage("haifm", "haifmvMain.htm?uuid=" + $("#uuid").val() + "&mcid=" + $("#mcid").val() + "&qyid=" + $("#qyid").val() +"&toList=2");
  307. }
  308. /**
  309. * 新增
  310. * */
  311. function addUrl() {
  312. haifm.loadMobilePage("haifm", "hvSjlrFmAdd.htm?mcid=" + $("#mcid").val() + "&id=" +$("#id").val() );
  313. };
  314. /**
  315. *时间搜索
  316. */
  317. function timeSearch() {
  318. var ksrq = $("#startT .nian").html() + "-" + $("#startT .yue").html() + "-" + $("#startT .ri").html();
  319. var jsrq = $("#endT .nian").html() + "-" + $("#endT .yue").html() + "-" + $("#endT .ri").html();
  320. haifm.loadMobilePage("haifm", "hvSjlrFmIndex.htm?mcid=" + $("#mcid").val() + "&ksrq=" + ksrq + "&jsrq=" + jsrq + "&searchFlag=" + "1");
  321. clear();
  322. }
  323. /**
  324. * 查询是否是24小时之内的数据
  325. * @param val
  326. */
  327. function checkFmDataIsIn24H(val) {
  328. var kssj = $("#startT .nian").html()+"-" + $("#startT .yue").html()+"-" + $("#startT .ri").html();
  329. var jssj = $("#endT .nian").html()+"-" + $("#endT .yue").html()+"-" + $("#endT .ri").html();
  330. jQuery.ajax({
  331. url : 'hvSjlrFmCheckDataIsIn24H.htm',
  332. dataType : 'json',
  333. type : 'post',
  334. cache : false,
  335. data : {"id" : val},
  336. success : function(data) {
  337. if (data.count == 1) { //24小时之内
  338. //检查是否有断奶记录
  339. jQuery.ajax({
  340. url : 'haifmvCheckDnData.htm',
  341. dataType : 'json',
  342. type : 'post',
  343. cache : false,
  344. data : {"id" : val},
  345. success : function(data) {
  346. if (data.count > 0) { //没有妊娠记录
  347. haifm.loadMobilePage("haifm", "hvSjlrFmAdd.htm?mcid=" + $("#mcid").val() + "&id=" + val + "&kssj=" + kssj + "&jssj=" + jssj);
  348. } else { //有妊娠记录
  349. mui.alert('当次分娩记录已断奶,请勿修改', '提示', function() {});
  350. }
  351. },
  352. error : function(data) {
  353. mui.alert('系统异常!修改失败!', '提示', function() {});
  354. }
  355. });
  356. } else {
  357. mui.alert('此数据非24小时之内的数据,不可修改', '提示', function() {});
  358. }
  359. },
  360. error : function(data) {
  361. mui.alert('系统异常!修改失败!', '提示', function() {});
  362. }
  363. });
  364. }
  365. //开关事件
  366. function onOff(iscroll,zsIscrollHeight,cententHeight){
  367. mui('.mui-content .mui-switch').each(function() { //循环所有toggle
  368. mui(this)['switch']();
  369. //toggle 事件监听
  370. this.addEventListener('toggle', function(event) {
  371. //event.detail.isActive 可直接获取当前状态
  372. var isActive = this.classList.contains("mui-active"); //判断打开ON或者关闭OFF
  373. if(isActive){ //打开状态
  374. $(this).parent().next().slideDown(500,function(){
  375. heightvs(zsIscrollHeight,cententHeight);
  376. iscroll.refresh();
  377. }).siblings('.hiddenli').stop().slideUp(500);
  378. $(".mui-switch").removeClass("mui-active").children().css({'transition-duration': '0.2s', 'transform': 'translate(0, 0px)'});
  379. $(this).toggleClass("mui-active");
  380. }else{ //关闭状态
  381. $(this).parent().next().slideUp(500,function(){
  382. heightvs(zsIscrollHeight,cententHeight);
  383. iscroll.refresh();
  384. });
  385. }
  386. });
  387. });
  388. }
  389. function confirm(){
  390. (function($) {
  391. var confirmBtns = $("div[id*='confirmBtn']");
  392. confirmBtns.each(function(i, confirmBtns) {
  393. confirmBtns.addEventListener('tap', function() {
  394. var id = this.getAttribute("data-id");
  395. var ep = this.getAttribute("data-for");
  396. var btnArray = ['否', '是'];
  397. mui.confirm('是否对'+ep+'进行修改?','提示!', btnArray, function(e) {
  398. if (e.index == 1) {
  399. checkFmDataIsIn24H(id);
  400. }
  401. });
  402. }, false);
  403. });
  404. })(mui);
  405. };
  406. //滑动高度和内容高度对比
  407. function heightvs(zsIscrollHeight,cententHeight){
  408. if(zsIscrollHeight.height() > cententHeight.height()){
  409. $("#pullUp").hide();
  410. }else{
  411. $("#pullUp").show();
  412. }
  413. }
  414. function clear() {
  415. if (localStorage.hasOwnProperty("fmIndex")) {
  416. localStorage.removeItem("fmIndex");
  417. }
  418. if (localStorage.hasOwnProperty("fmIndexY")) {
  419. localStorage.removeItem("fmIndexY");
  420. }
  421. if (localStorage.hasOwnProperty("fmIndexPage")) {
  422. localStorage.removeItem("fmIndexPage");
  423. }
  424. }