guidance_list.js 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. mui.init();
  2. var scrollers = [],
  3. page = [1,1], //主要存储个人和系统的模板分页信息
  4. page1 = [], //存储团队模板中,各个团队对应的模板分页信息
  5. loaded = [],
  6. patient = null,
  7. docInfo = null,
  8. reference,
  9. pagesize = 20,
  10. pagesize2 = 10,
  11. selectedTab = 0; //默认选中第一个tab
  12. mui.plusReady(function(){
  13. var self = plus.webview.currentWebview();
  14. var opener = self.opener();
  15. if(opener.id == "mine.html"){
  16. reference = "mine";
  17. }
  18. patient = self.code;
  19. initScroller();
  20. getList(true);
  21. bindEvents();
  22. });
  23. function getList(isInit){
  24. if(isInit){
  25. page[selectedTab] = 1;
  26. }
  27. var url = "doctor/guidance_temp/list",
  28. params = {
  29. type: selectedTab == 0 ? 2 : 1, //模板类型 1:系统 2:自定义 为空:所有
  30. pageNo: page[selectedTab],
  31. pageSize: pagesize
  32. },
  33. filter = '';
  34. if(selectedTab == 0){
  35. filter = $("#item1 .search-input").val();
  36. }else{
  37. filter = $("#item2 .search-input").val();
  38. }
  39. params.filter = filter;
  40. plus.nativeUI.showWaiting();
  41. sendGet(url, params, null, function(res){
  42. if(res.status == 200){
  43. loaded[selectedTab] = true;
  44. var $controlPanel = $("#item"+(selectedTab + 1)),
  45. $ul = $controlPanel.find("ul"),
  46. $noResult = $controlPanel.find(".no-result");
  47. if(isInit){
  48. if(res.data.length == 0){
  49. $ul.hide();
  50. $noResult.show();
  51. }else{
  52. $ul.show();
  53. $noResult.hide();
  54. var html = template("guidance_tmp", {list: res.data});
  55. $ul.empty().append(html);
  56. }
  57. }else{
  58. var html = template("guidance_tmp", {list: res.data});
  59. $ul.append(html);
  60. }
  61. if(res.data.length < pagesize){
  62. scrollers[selectedTab].endPullupToRefresh(true);
  63. }else{
  64. scrollers[selectedTab].endPullupToRefresh(false);
  65. page[selectedTab] ++;
  66. }
  67. }else{
  68. mui.toast(res.msg);
  69. }
  70. plus.nativeUI.closeWaiting();
  71. }, true);
  72. }
  73. function bindEvents(){
  74. document.querySelector('.mui-slider').addEventListener('slide', function(event) {
  75. selectedTab = event.detail.slideNumber;
  76. if(loaded[selectedTab] == "false"){
  77. getList(true);
  78. loaded[selectedTab] = "true";
  79. }
  80. });
  81. //新增按钮
  82. $(".add-icon").on("tap", function(){
  83. var $this = $(this),
  84. type = $this.attr("data-val");
  85. openWebview('edit_guidance.html',{
  86. action: "add",
  87. reference: reference,
  88. patiCode: patient
  89. });
  90. });
  91. //查看文章详情
  92. $("#item1").on('tap', 'li', function(){
  93. var code = $(this).attr("data-code");
  94. openWebview("guidance_detail.html",{
  95. code: code,
  96. reference: reference,
  97. patiCode: patient
  98. });
  99. });
  100. $("#item2").on('tap', 'li', function(){
  101. var code = $(this).attr("data-code");
  102. openWebview("guidance_detail.html", {
  103. code: code,
  104. reference: reference,
  105. patiCode: patient,
  106. is_sys: true
  107. });
  108. });
  109. //搜索功能
  110. $(".search-input").on('keydown', function(e){
  111. if (e.which === 13) {
  112. getList(true);
  113. }
  114. });
  115. //设置页面监听
  116. window.addEventListener("refresh", function(e){
  117. getList(true);
  118. })
  119. }
  120. function initScroller(){
  121. $.each(document.querySelectorAll('.mui-slider-group .mui-scroll-wrapper'), function(index, pullRefreshEl) {
  122. page.push(1);
  123. loaded.push("false");
  124. var pullRefresh = mui(pullRefreshEl).pullRefresh({
  125. down:{
  126. callback: function(){
  127. var self = this;
  128. setTimeout(function(){
  129. getList(true);
  130. self.endPulldownToRefresh();
  131. }, 300);
  132. }
  133. },
  134. up: {
  135. callback: function(){
  136. var self = this;
  137. setTimeout(function(){
  138. getList(false);
  139. }, 300);
  140. }
  141. }
  142. });
  143. scrollers.push(pullRefresh);
  144. })
  145. }