rsjl.js 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401
  1. $(function () {
  2. var zsIscrollHeight = $(".rsjlIscroll");
  3. var cententHeight = $(".rsjlIscroll div:first-child");
  4. heightvs(zsIscrollHeight,cententHeight);
  5. //初始化page
  6. if(localStorage.hasOwnProperty("rsIndexPage")) {
  7. $("#page").val(localStorage.getItem("rsIndexPage"));
  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(".rsjlIscroll",{
  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", "hvSjlrRsIndex.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("rsIndexY",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 : "addSjlrRsjl.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("rsIndex");
  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.date+"</span><span>(共"+obj.count+"头)</span>"
  175. + "<div class='mui-switch mui-active'>"
  176. + "<div class='mui-switch-handle'></div>"
  177. + "</div>"
  178. +"</li>"
  179. +"<li class='hiddenli xx"+i+"'></li>";
  180. for (var j = 0 ; j < obj.rsList.length ; j++) {
  181. var o = obj.rsList[j];
  182. something += "<div class='rowBox container-fluid' id='confirmBtn' data-id=" + o.id + " data-for=" + o.eph + ">"
  183. + "<div class='row'>"
  184. + "<div class='col-xs-7 col-sm-7 col-md-7 discenter'>耳牌号:<span id ='eph'>" + o.eph + "</span></div>"
  185. + "<div class='col-xs-5 col-sm-5 col-md-5 discenter'></div>"
  186. +"</div>"
  187. + "<div class='row'>"
  188. + "<div class='col-xs-7 col-sm-7 col-md-7 discenter'>妊娠结果:<span>" + o.rsjgStr + "</span></div>"
  189. + "<div class='col-xs-5 col-sm-5 col-md-5 discenter'>妊娠胎次:<span>" + o.rstc + "</span></div>"
  190. + "</div>"
  191. + "</div>";
  192. };
  193. }
  194. $(".rsjlIscroll ul").append($(something));
  195. pullUp.attr("class","");
  196. pullUpLabel.text("上拉加载更多");
  197. pullUp.css({"background":""});
  198. iscroll.refresh();
  199. loadingStep = 0;
  200. localStorage.setItem("rsIndex",hc + something);
  201. onOff(iscroll,zsIscrollHeight,cententHeight);
  202. confirm();
  203. },1000);
  204. $("#page").val(page);
  205. localStorage.setItem("rsIndexPage",page);
  206. }
  207. });
  208. }else {
  209. pullUp.css({"background":"","background-size":""});
  210. pullUpLabel.text("没有数据了");
  211. iscroll.refresh();
  212. }
  213. }
  214. //加载缓存中的内容
  215. if (localStorage.hasOwnProperty("rsIndex")) {
  216. var sth = localStorage.getItem("rsIndex");
  217. $(".rsjlIscroll ul").append(sth.substring(4,sth.length));
  218. }
  219. if (localStorage.hasOwnProperty("rsIndexY")) {
  220. var tall = localStorage.getItem("rsIndexY");
  221. iscroll.scrollTo(0,tall,1000, IScroll.utils.ease.elastic);
  222. iscroll.refresh();
  223. }
  224. });
  225. /**
  226. * 时间方法
  227. * */
  228. function sjchaxun(){
  229. mui.init();
  230. mui.ready(function() {
  231. //开始时间
  232. var startN = $('.nian')[0];
  233. var startnY = $('.yue')[0];
  234. var startR = $('.ri')[0];
  235. var startTbtns = $('#startT');
  236. startTbtns.each(function(i, startTbtn) {
  237. startTbtn.addEventListener('tap', function() {
  238. var dataFor = this.getAttribute('data-for');
  239. var that = this;
  240. dateP(startN,startnY,startR,dataFor,that);
  241. }, false);
  242. });
  243. //结束时间
  244. var endN = $('.nian')[1];
  245. var endY = $('.yue')[1];
  246. var endR = $('.ri')[1];
  247. var endTbtns = $('#endT');
  248. endTbtns.each(function(i, endTbtn) {
  249. endTbtn.addEventListener('tap', function() {
  250. var dataFor = this.getAttribute('data-for');
  251. var that = this;
  252. dateP(endN,endY,endR,dataFor,that);
  253. }, false);
  254. });
  255. });
  256. function dateP(nian,yue,ri,dataFor,that) {
  257. var picker = new mui.DtPicker({
  258. type: "date",//设置日历初始视图模式
  259. value: dataFor
  260. });
  261. picker.show(function(rs) {
  262. nian.innerHTML = rs.y.text;
  263. yue.innerHTML = rs.m.text;
  264. ri.innerHTML = rs.d.text;
  265. that.setAttribute('data-for',rs.value);
  266. picker.dispose();
  267. });
  268. }
  269. }
  270. /**
  271. * 返回
  272. * */
  273. function backUrl() {
  274. clear();
  275. haifm.loadMobilePage("haifm", "haifmvMain.htm?uuid=" + $("#uuid").val() + "&mcid=" + $("#mcid").val() + "&qyid=" + $("#qyid").val() +"&toList=2");
  276. }
  277. /**
  278. * 新增
  279. * */
  280. function addUrl() {
  281. haifm.loadMobilePage("haifm", "hvSjlrRsAdd.htm?mcid=" + $("#mcid").val() + "&id=" +$("#id").val());
  282. };
  283. /**
  284. *时间搜索
  285. */
  286. function timeSearch() {
  287. var ksrq = $("#startT .nian").html() + "-" + $("#startT .yue").html() + "-" + $("#startT .ri").html();
  288. var jsrq = $("#endT .nian").html() + "-" + $("#endT .yue").html() + "-" + $("#endT .ri").html();
  289. haifm.loadMobilePage("haifm", "hvSjlrRsIndex.htm?mcid=" + $("#mcid").val() + "&ksrq=" + ksrq + "&jsrq=" + jsrq + "&searchFlag=" + "1");
  290. clear();
  291. }
  292. /**
  293. * 查询是否是24小时之内的数据
  294. * @param val
  295. */
  296. function checkRsDataIsIn24H(val) {
  297. var kssj = $("#startT .nian").html()+"-" + $("#startT .yue").html()+"-" + $("#startT .ri").html();
  298. var jssj = $("#endT .nian").html()+"-" + $("#endT .yue").html()+"-" + $("#endT .ri").html();
  299. jQuery.ajax({
  300. url : 'hvCheckRsDataIsIn24H.htm',
  301. dataType : 'json',
  302. type : 'post',
  303. cache : false,
  304. data : {"id" : val},
  305. success : function(data) {
  306. if (data.count > 0) { //24小时之内
  307. //检查是否已经有分娩记录
  308. jQuery.ajax({
  309. url : 'haifmvIsFmData.htm',
  310. dataType : 'json',
  311. type : 'post',
  312. cache : false,
  313. data : {"id" : val},
  314. success : function(data) {
  315. if (data.count > 0) { //没有妊娠记录
  316. haifm.loadMobilePage("haifm", "hvSjlrRsAdd.htm?mcid=" + $("#mcid").val() + "&id=" + val + "&kssj=" + kssj + "&jssj=" + jssj);
  317. } else { //有妊娠记录
  318. mui.alert('当次妊娠已分娩,请勿修改', '提示', function() {});
  319. }
  320. },
  321. error : function(data) {
  322. mui.alert('1系统异常!修改失败!', '提示', function() {});
  323. }
  324. });
  325. } else {
  326. mui.alert('此数据非24小时之内的数据,不可修改', '提示', function() {});
  327. }
  328. },
  329. error : function(data) {
  330. mui.alert('2系统异常!修改失败!', '提示', function() {});
  331. }
  332. });
  333. }
  334. //开关事件
  335. function onOff(iscroll,zsIscrollHeight,cententHeight){
  336. mui('.mui-content .mui-switch').each(function() { //循环所有toggle
  337. mui(this)['switch']();
  338. //toggle 事件监听
  339. this.addEventListener('toggle', function(event) {
  340. //event.detail.isActive 可直接获取当前状态
  341. var isActive = this.classList.contains("mui-active"); //判断打开ON或者关闭OFF
  342. if(isActive){ //打开状态
  343. $(this).parent().next().slideDown(500,function(){
  344. heightvs(zsIscrollHeight,cententHeight);
  345. iscroll.refresh();
  346. }).siblings('.hiddenli').stop().slideUp(500);
  347. $(".mui-switch").removeClass("mui-active").children().css({'transition-duration': '0.2s', 'transform': 'translate(0, 0px)'});
  348. $(this).toggleClass("mui-active");
  349. }else{ //关闭状态
  350. $(this).parent().next().slideUp(500,function(){
  351. heightvs(zsIscrollHeight,cententHeight);
  352. iscroll.refresh();
  353. });
  354. }
  355. });
  356. });
  357. }
  358. //修改事件
  359. function confirm(){
  360. (function($) {
  361. var confirmBtns = $("div[id*='confirmBtn']");
  362. confirmBtns.each(function(i, confirmBtns) {
  363. confirmBtns.addEventListener('tap', function() {
  364. var id = this.getAttribute("data-id");
  365. var ep = this.getAttribute("data-for");
  366. var btnArray = ['否', '是'];
  367. mui.confirm('是否对'+ep+'进行修改?','提示!', btnArray, function(e) {
  368. if (e.index == 1) {
  369. checkRsDataIsIn24H(id);
  370. }
  371. });
  372. }, false);
  373. });
  374. })(mui);
  375. }
  376. //滑动高度和内容高度对比
  377. function heightvs(zsIscrollHeight,cententHeight){
  378. if(zsIscrollHeight.height() > cententHeight.height()){
  379. $("#pullUp").hide();
  380. }else{
  381. $("#pullUp").show();
  382. }
  383. }
  384. //清除定位和缓存
  385. function clear() {
  386. if (localStorage.hasOwnProperty("rsIndex")) {
  387. localStorage.removeItem("rsIndex");
  388. }
  389. if (localStorage.hasOwnProperty("rsIndexY")) {
  390. localStorage.removeItem("rsIndexY");
  391. }
  392. if (localStorage.hasOwnProperty("rsIndexPage")) {
  393. localStorage.removeItem("rsIndexPage");
  394. }
  395. }