health-bank.js 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247
  1. // 基本信息(包括userAgent)
  2. var baseInfo = null,
  3. // 基础环境信息(包括当前webview)
  4. baseEnv = null;
  5. // 搜索结果
  6. var $searchtResult = $('#search_result'),
  7. // 患者分组列表
  8. $resultList = $('#result_list'),
  9. $group = $("#groupImg"),
  10. $spans = $("#img_ind");
  11. var self;
  12. var docInfo;
  13. var myScroll;
  14. var imgArr = [{
  15. src: "../images/huodong_banner02_img.png",
  16. id: "402885ed63debfcc0163dec19a9d0001"
  17. }, {
  18. src: "../images/huodong_banner02_img.png",
  19. id: "402885ed63deb998777c043fa0000"
  20. }];
  21. var timer = null;
  22. function initScroller(){
  23. //阻尼系数
  24. var deceleration = mui.os.ios?0.003:0.0009;
  25. mui('.mui-scroll-wrapper').scroll({
  26. scrollX: true,
  27. bounce: false,
  28. indicators: true, //是否显示滚动条
  29. deceleration:deceleration
  30. });
  31. myScroll = mui(".mui-scroll").pullToRefresh({
  32. down: {
  33. callback: function() {
  34. var _self = this;
  35. setTimeout(function() {
  36. load();
  37. _self.endPullDownToRefresh();
  38. }, 1000);
  39. }
  40. },
  41. scrollLeft: function(){
  42. xScroll = true;
  43. }
  44. });
  45. };
  46. window.addEventListener("reLoad", function refresh(e) {
  47. getBaseEnvPromise();
  48. searchList();
  49. })
  50. function load() {
  51. searchList()
  52. }
  53. // 获取登录相关信息
  54. var getBaseInfo = function() {
  55. // 登录的相关信息
  56. var userAgent = JSON.parse(plus.storage.getItem("userAgent"))
  57. return {
  58. userAgent: userAgent,
  59. teamInfo: JSON.parse(plus.storage.getItem("teamInfo"))
  60. }
  61. },
  62. // 获取基础环境信息
  63. getBaseEnvPromise = function () {
  64. self = plus.webview.currentWebview();
  65. docInfo = JSON.parse(plus.storage.getItem("docInfo"));
  66. var env = {
  67. webview: plus&&plus.webview.currentWebview()
  68. };
  69. return Promise.resolve().then(function(res) {
  70. return env;
  71. });
  72. },
  73. // 初始大图
  74. decideImg = function() {
  75. plus.nativeUI.showWaiting();
  76. var params = {
  77. task:"{}",
  78. page: 1,
  79. size: 3
  80. } // 默认最新三个活动展示大图滚动
  81. sendPost("/doctor/healthBank/selectTask", params, queryFails, function(res) {
  82. if(res.status == 200) {
  83. plus.nativeUI.closeWaiting();
  84. var list = _.map(res.data.detailModelList, function(o) {
  85. if(o.img){
  86. o.img = getImgUrl(o.img)
  87. }else{
  88. o.img = "../images/morenhuodong_banner01_img.png";
  89. }
  90. return o;
  91. })
  92. var imgHtml = template("img_tmpl", {imgArr: list});
  93. var spanHtml = template("span_tmpl", {imgArr: list});
  94. $group.empty().append(imgHtml);
  95. $spans.empty().append(spanHtml);
  96. $spans.children("span:eq(0)").addClass("active");
  97. tiemrFn(0);
  98. } else {
  99. plus.nativeUI.closeWaiting();
  100. queryFails(res);
  101. }
  102. }, 'post')
  103. }
  104. // 初始化画面患者-积分列表
  105. searchList = function() {
  106. plus.nativeUI.showWaiting();
  107. var params = {
  108. doctorId:docInfo.code,
  109. page: 1,
  110. size: 5
  111. }
  112. sendPost("/doctor/healthBank/findCreditRanking", params, queryFails, function(res) {
  113. if(res.status == 200) {
  114. plus.nativeUI.closeWaiting();
  115. var list = res.data.detailModelList;
  116. if(list.length < 3) {
  117. $resultList.hide();
  118. $(".check").hide();
  119. $("#no_result_wrap").show();
  120. return false;
  121. }
  122. var html = template("result_tmpl", {list: list});
  123. $resultList.empty().append(html);
  124. } else {
  125. plus.nativeUI.closeWaiting();
  126. queryFails(res);
  127. }
  128. }, 'post')
  129. },
  130. //查询失败回调
  131. queryFails = function(res) {
  132. if(res) {
  133. mui.toast(res.msg)
  134. } else {
  135. mui.toast("加载失败!")
  136. }
  137. },
  138. /**
  139. * 获取积分活动列表
  140. */
  141. getActivityList = function() {
  142. var activityIdArr = [];
  143. var activityNameArr = [];
  144. sendPost("/third/jkEdu/Article/getCategoryByName",{name:'健康文章'}, null, function(res){
  145. if(res.status == 200){
  146. var dataList = res.data.list;
  147. for(var i = 0; i < dataList.length; i++){
  148. activityIdArr.push(res.data.list[i].id);
  149. activityNameArr.push(res.data.list[i].name);
  150. }
  151. setActiveSortTit(activityIdArr, activityNameArr);
  152. }
  153. },'get')
  154. },
  155. // 计时器调用函数
  156. tiemrFn = function(imgInd) {
  157. if (imgArr.length < 2) {
  158. return false;
  159. }
  160. setTimeout(function() {
  161. timer = setInterval(function() {
  162. imgInd++;
  163. if(imgInd >= imgArr.length) {
  164. imgInd = 0
  165. }
  166. mui('.mui-slider').slider().gotoItem(parseInt(imgInd));
  167. $spans.children().removeClass("active");
  168. $spans.children("span:eq(" + imgInd + ")").addClass("active");
  169. }, 5000)
  170. }, 200)
  171. },
  172. // 绑定页面事件
  173. bindEvents = function () {
  174. $group.on("tap", "img", function() {
  175. var activityId = $(this).attr("data-id");
  176. openWebview("activity-detail.html", {
  177. activityId: activityId
  178. });
  179. });
  180. $resultList.on("tap", "li", function() {
  181. patient = $(this).attr("data-code")
  182. openWebview("pati_detail.html", {
  183. patient: patient
  184. });
  185. });
  186. $(".pati-goal").on("tap", function() {
  187. openWebview("jifenguanli.html",{});
  188. });
  189. $(".check").on("tap", function() {
  190. openWebview("jifenguanli.html",{});
  191. });
  192. $(".activity-all").on("tap", function() {
  193. openWebview("activity-square.html",{});
  194. });
  195. $(".my-community").on("tap", function() {
  196. mui.toast("暂未开发,敬请期待!")
  197. });
  198. $(".task-award").on("tap", function() {
  199. openWebview("select_goal.html",{});
  200. });
  201. $("#img_ind").on("tap", "span", function() {
  202. clearInterval(timer)
  203. var $this = $(this),
  204. index = $this.index();
  205. if($this.hasClass("active")){
  206. return false;
  207. }
  208. $this.siblings().removeClass("active");
  209. $this.addClass("active");
  210. mui('.mui-slider').slider().gotoItem(parseInt(index));
  211. tiemrFn(index)
  212. })
  213. //滚动切换
  214. document.querySelector('.mui-slider').addEventListener('slide', function(event) {
  215. clearInterval(timer)
  216. if (event.detail.slideNumber === 0) {
  217. $("#img_ind span").eq(0).addClass("active");
  218. $("#img_ind span").eq(1).removeClass("active");
  219. } else if (event.detail.slideNumber === 1) {
  220. $("#img_ind span").eq(0).removeClass("active");
  221. $("#img_ind span").eq(1).addClass("active");
  222. }
  223. tiemrFn(event.detail.slideNumber)
  224. });
  225. };
  226. // 页面业务处理流程开始
  227. mui.plusReady(function() {
  228. //获取当前页面
  229. var self = plus.webview.currentWebview();
  230. initScroller();
  231. getBaseEnvPromise();
  232. //绑定事件
  233. bindEvents();
  234. //数据渲染
  235. decideImg();
  236. searchList();
  237. })