yaoqingzkys.js 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304
  1. // TODO 临时构造plus对象,使得能够在浏览器中进行调试
  2. //var plus = null;
  3. // 登录者相关信息(包括userAgent)
  4. var loginerInfo = null,
  5. // 基础环境信息(包括当前webview)
  6. baseEnv = null;
  7. // 选项卡
  8. var $queryTab = $('#query_tab'),
  9. // 搜索无结果时显示
  10. $noResultWrap = $('#no_result_wrap'),
  11. $views = $('.dest-view'),
  12. $mingyiView = $('#mingyi_view'),
  13. $qitaView = $('#qita_view'),
  14. $mingyiList = $('#mingyi_list'),
  15. $qitaList = $('#qita_list'),
  16. $selectedNum = $('#selected_num'),
  17. $searchbar = $(".searchbar-input");
  18. // ”名医”列表分页查询最后一条记录Id
  19. var mingyiLastId = 1,
  20. // ”其他”列表分页查询最后一条记录Id
  21. qitaLastId = 1,
  22. // ”名医”列表iscroll 滚动条实例
  23. mingyiIscroller,
  24. // ”其他”列表iscroll 滚动条实例
  25. qitaIscroller;
  26. // 获取登录相关信息
  27. var getLoginerInfo = function() {
  28. // 登录的相关信息
  29. var userAgent = plus && JSON.parse(plus.storage.getItem("userAgent"))
  30. return {
  31. userAgent: userAgent
  32. }
  33. },
  34. // 获取基础环境信息
  35. getBaseEnvPromise = function () {
  36. var env = {
  37. webview: plus&&plus.webview.currentWebview()
  38. };
  39. return Promise.resolve().then(function(res) {
  40. return env;
  41. });
  42. },
  43. // 初始化”名医”视图列表
  44. initMingYiViewList = function(data) {
  45. var list = data.list;
  46. var dataList = [];
  47. for(var i = 0; i < list.length; i++) {
  48. if (list[i].isworking == "1") {
  49. dataList.push(list[i]);
  50. }
  51. }
  52. var html = template("yisheng_li_tmpl", {list: dataList});
  53. $mingyiList.append(html)
  54. },
  55. // 初始化”其他”视图列表
  56. initQiTaViewList = function(data) {
  57. var list = data.list;
  58. var dataList = [];
  59. for(var i = 0; i < list.length; i++) {
  60. if (list[i].isworking == "1") {
  61. dataList.push(list[i]);
  62. }
  63. }
  64. var html = template("yisheng_other_tmpl", {list: dataList})
  65. $qitaList.append(html)
  66. },
  67. // "名医"分页查询列表
  68. searchMingYiByPaging = function () {
  69. // TODO 示例示例搜索参数
  70. // id: 上次搜索结果列表最后一条记录id,type:6(进行中),query:搜素关键字,pageSize:每页条数
  71. var url = "doctor/findFamousDoctor",
  72. params = { page:1, pagesize:15,type:1,level: 1 };
  73. getReqPromise(url,params).then(function(res){
  74. // TODO 为了测试先注释
  75. var data = res;
  76. mingyiLastId = mingyiLastId+1;
  77. if(!mingyiIscroller) {
  78. mingyiIscroller = initScroller($mingyiView,url,
  79. function() { // 传递分页参数
  80. return $.extend({},params,{page:mingyiLastId});
  81. },function(data) {
  82. // TODO 示例数据
  83. mingyiLastId = mingyiLastId+1;
  84. initMingYiViewList(data);
  85. mingyiIscroller.refresh();
  86. });
  87. }
  88. // TODO 示例数据data
  89. if(!data.list || !data.list.length) {
  90. $mingyiView.hide();
  91. $noResultWrap.show();
  92. } else {
  93. $noResultWrap.hide();
  94. $mingyiView.show();
  95. // TODO 示例数据data
  96. initMingYiViewList(data);
  97. }
  98. mingyiIscroller.refresh();
  99. }).catch(function(e) {
  100. console && console.error(e)
  101. });
  102. },
  103. // "其他"分页查询列表
  104. searchQiTaByPaging = function () {
  105. // TODO 示例示例搜索参数
  106. // id: 上次搜索结果列表最后一条记录id,type:0(其他),,pageSize:每页条数
  107. var url = "doctor/findFamousDoctor",
  108. params = { page:1, pagesize:15,type:0,level:1 };
  109. getReqPromise(url,params).then(function(res){
  110. // TODO 为了测试先注释
  111. var data = res;
  112. qitaLastId = qitaLastId+1;
  113. if(!qitaIscroller) {
  114. qitaIscroller = initScroller($qitaView,url,
  115. function() { // 传递分页参数
  116. return $.extend({},params,{page:qitaLastId});
  117. },function(data) {
  118. // TODO 示例数据
  119. qitaLastId = qitaLastId+1;
  120. initQiTaViewList(data);
  121. qitaIscroller.refresh();
  122. });
  123. }
  124. // TODO 示例数据data
  125. if(!data.list || !data.list.length) {
  126. $qitaView.hide();
  127. $noResultWrap.show();
  128. } else {
  129. $noResultWrap.hide();
  130. //$qitaView.show();
  131. // TODO 示例数据data
  132. initQiTaViewList(data);
  133. }
  134. qitaIscroller.refresh();
  135. }).catch(function(e) {
  136. console && console.error(e)
  137. });
  138. }
  139. // 滚动条分页实例初始化
  140. initScroller = function($el,url,getData,pullUpAction) {
  141. var scroller = $el.initScroll({pullDown: false,pullUpAction: function() {
  142. var data = getData();
  143. getReqPromise(url,data).then(function(data) {
  144. if(pullUpAction && $.isFunction(pullUpAction)) {
  145. pullUpAction(data);
  146. updatePullUpText(scroller,data.list);
  147. }
  148. })
  149. }});
  150. return scroller;
  151. },
  152. // 获取分页搜索返回的最后一条记录的id
  153. getLastId = function(data) {
  154. var lastObj = data.list && data.list.length && data.list[data.list.length-1];
  155. // 最后一条记录
  156. if(lastObj) {
  157. return lastObj.id;
  158. } else {
  159. return null
  160. }
  161. },
  162. // 更新分页上拉加载的提示文本
  163. updatePullUpText= function(scroller,list) {
  164. var $wrap = $(scroller.wrapper),
  165. $pullupLabel = $wrap.find('.pullUpLabel');
  166. if(!list || !list.length) {
  167. $pullupLabel.text('没有更多');
  168. } else {
  169. $pullupLabel.text('上拉加载更多');
  170. }
  171. scroller.on('refresh',function() {
  172. if(!list || !list.length) {
  173. $pullupLabel.text('没有更多');
  174. } else {
  175. $pullupLabel.text('上拉加载更多');
  176. }
  177. });
  178. },
  179. // 显示选中的人数
  180. showSelectedNum = function() {
  181. var num = $views.find('input[type="checkbox"]:checked').length;
  182. if(num) {
  183. $selectedNum.text('('+num+'人)')
  184. } else {
  185. $selectedNum.text('');
  186. }
  187. },
  188. // 点击“确定”按钮处理方法
  189. submit = function() {
  190. // TODO 这里需要补充处理逻辑
  191. var checklength = $views.find('input[type="checkbox"]:checked');
  192. if(checklength.length<=0){
  193. mui.toast("请至少选择一名医生!");
  194. return false;
  195. }
  196. var consultCode = localStorage.getItem("consult");
  197. var doctors = new Array();
  198. $views.find('input[type="checkbox"]:checked').each(function(){
  199. doctors.push($(this).val());
  200. })
  201. sendPost("doctor/consult/transfer", {
  202. consult: consultCode,
  203. doctor: doctors.join(","),
  204. type: 1 //无用
  205. }, null,
  206. function(res) {
  207. if(res.status == 200) {
  208. mui.toast("邀请成功");
  209. setTimeout(function(){
  210. plus.webview.currentWebview().close();
  211. openWebview("../../zdzx/html/jiankangzixunxiangqing.html");
  212. }, 1000);
  213. }
  214. });
  215. },
  216. // 绑定页面事件
  217. bindEvents = function () {
  218. $queryTab.on('click','.tab-item',function() {
  219. var type = $(this).attr('data-type');
  220. $queryTab.find('.tab-item').removeClass('curr');
  221. $views.hide();
  222. $(this).addClass('curr');
  223. switch(type) {
  224. case "mingyi_view":
  225. if($mingyiView.find('li').length) {
  226. $noResultWrap.hide();
  227. $mingyiView.show();
  228. } else {
  229. $mingyiView.hide();
  230. $noResultWrap.show();
  231. }
  232. break;
  233. case "qita_view":
  234. if($qitaView.find('li').length) {
  235. $noResultWrap.hide();
  236. $qitaView.show();
  237. } else {
  238. $qitaView.hide();
  239. $noResultWrap.show();
  240. }
  241. break;
  242. }
  243. });
  244. $views.on('click','li',function(e) {
  245. var $el = $(e.target);
  246. setTimeout(function() {
  247. showSelectedNum();
  248. },0);
  249. if($el.attr('type')=="checkbox") {
  250. return ;
  251. }
  252. var checkbox = $(this).find('input[type="checkbox"]')[0];
  253. if(checkbox.checked) {
  254. checkbox.checked = false;
  255. } else {
  256. checkbox.checked = true;
  257. }
  258. });
  259. $searchbar.on('click',function() {
  260. openWebview("sousuoyisheng.html");
  261. });
  262. };
  263. // 页面业务处理流程开始
  264. new Promise(function(resolve, reject) {
  265. // TODO 临时放开
  266. // resolve(true);
  267. mui.plusReady(function() {
  268. // plus已经准备好,可以往下执行
  269. resolve(true);
  270. });
  271. }).then(function() {
  272. // 获取基础环境信息
  273. return getBaseEnvPromise().then(function(env) {
  274. baseEnv = env;
  275. }).then(function() {
  276. // 获取登录医生信息
  277. loginerInfo = getLoginerInfo();
  278. searchMingYiByPaging();
  279. searchQiTaByPaging();
  280. // 绑定页面事件
  281. bindEvents();
  282. })
  283. }).catch(function(e) {
  284. plus.nativeUI.closeWaiting();
  285. console && console.error(e);
  286. });