guanzhujumin.js 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293
  1. mui.init();
  2. var teamCode,
  3. docInfo,
  4. selectedType, //选中的总居民或近一周居民
  5. page1 = [], //总居民数分组中的分页信息
  6. page2 = [], //近一周新增居民中分组的分页信息
  7. pagesize = 10;
  8. var sdate = new Date(),
  9. edate = new Date();
  10. sdate.setDate(edate.getDate() - 6);
  11. sdate = sdate.format("yyyy-MM-dd");
  12. edate = edate.format('yyyy-MM-dd');
  13. mui.plusReady(function(){
  14. var self = plus.webview.currentWebview();
  15. docInfo = JSON.parse(plus.storage.getItem("docInfo"));
  16. teamCode = self.teamCode || docInfo.adminTeamCode;
  17. selectedType = self.selectType;
  18. if(selectedType == '0'){
  19. $(".all-people").addClass("active");
  20. $(".new-people").removeClass("active");
  21. }else{
  22. $(".new-people").addClass("active");
  23. $(".all-people").removeClass("active");
  24. }
  25. initScroller();
  26. initTeamInfo();
  27. getPeopleSum();
  28. getGroupInfo();
  29. bindEvents();
  30. });
  31. function initTeamInfo(){
  32. //设置团队
  33. var teamInfo = JSON.parse(plus.storage.getItem("teamInfo"));
  34. $('.lin-sel-group').html(template('teams_tmpl', teamInfo));
  35. var index =0;
  36. if(teamCode){
  37. for(var i=0;i<teamInfo.data.length;i++){
  38. if(teamInfo.data[i].id == teamCode){
  39. index = i;
  40. }
  41. }
  42. }
  43. $('.lin-sel-group li').eq(index).addClass('checked');
  44. setCurTeamName()
  45. }
  46. function getPeopleSum(){
  47. var url = "/doctor/scheme/getTrackPatientCountTitle",
  48. params = {
  49. teamCode: teamCode,
  50. startDate: sdate,
  51. endDate: edate
  52. };
  53. plus.nativeUI.showWaiting();
  54. sendGet(url, params, null, function(res){
  55. if(res.status == 200){
  56. $(".all-people .num").text(res.data.trackPatientCount);
  57. $(".new-people .num").text(res.data.trackPatientAddCount);
  58. }else{
  59. mui.toast(res.msg);
  60. }
  61. plus.nativeUI.closeWaiting();
  62. }, true);
  63. }
  64. function getGroupInfo(){
  65. var url = "doctor/patient_label_info/label_patient_amount",
  66. params = {
  67. labelType: 3,
  68. teamCode: teamCode,
  69. isSlowDisease: true,
  70. diseaseCondition: '',
  71. trackFlag: 1 // 重点关注居民
  72. };
  73. if(selectedType == '1'){
  74. params.startDate = sdate,
  75. params.endDate = edate;
  76. var $panel = $("#item2 .pati-list");
  77. }else{
  78. var $panel = $("#item1 .pati-list");
  79. }
  80. plus.nativeUI.showWaiting();
  81. sendGet(url, params, null, function(res){
  82. if(res.status == 200){
  83. page2 = [];
  84. page1 = [];
  85. for(i=0; i<res.data.length; i++){
  86. if(selectedType == '1'){
  87. page2.push(1);
  88. }else{
  89. page1.push(1);
  90. }
  91. }
  92. var html = template('pati_group_tmpl', {list: res.data});
  93. $panel.empty().append(html);
  94. if(selectedType == '1'){
  95. mui(".mui-slider").slider().gotoPage(1);
  96. }
  97. }else{
  98. mui.toast(res.msg);
  99. }
  100. plus.nativeUI.closeWaiting();
  101. }, true);
  102. }
  103. function getPatientListByGroup(index, code){
  104. var url = "doctor/patient_label_info/patients_by_label",
  105. params = {
  106. teamCode: teamCode,
  107. labelType: 3,
  108. labelCode: code,
  109. page: '',
  110. pagesize: pagesize,
  111. isSlowDisease:true,
  112. trackFlag: 1
  113. };
  114. if(selectedType == '1'){
  115. params.page = page2[index];
  116. params.startDate = sdate,
  117. params.endDate = edate;
  118. var $panel = $("#item2 .pati-list"),
  119. $group = $panel.find('.patient-list:eq('+index+')');
  120. }else{
  121. params.page = page1[index];
  122. var $panel = $("#item1 .pati-list"),
  123. $group = $panel.find('.patient-list:eq('+index+')');
  124. }
  125. sendGet(url, params, null, function(res){
  126. if(res.status == 200){
  127. if(res.data.length < pagesize){
  128. if(params.page == 1){
  129. $group.find(".load-more").hide();
  130. }else{
  131. $group.find(".load-more").attr("noMore", 'true').text("没有更多了");
  132. }
  133. }else{
  134. if(selectedType == '1'){
  135. page2[index] ++;
  136. }else{
  137. page1[index] ++;
  138. }
  139. $group.find(".load-more").show();
  140. }
  141. var html = template('pati_list_tmpl', {list: res.data});
  142. $group.find(".n-list").append(html);
  143. }else{
  144. mui.toast(res.msg);
  145. }
  146. plus.nativeUI.closeWaiting();
  147. }, true);
  148. }
  149. function setCurTeamName(){
  150. teamCode = $('.lin-sel-group li.checked').attr('data-code');
  151. $('.demo-comtop h1').html(($('.lin-sel-group li.checked').attr('data-name'))+'跟踪居民列表 <label class="lin-down-arrow"></label>');
  152. }
  153. /**
  154. * 显示团队选择
  155. */
  156. function showGroupSel(e, isShow){
  157. isShow = isShow || $('.lin-mask:hidden').length != 0;
  158. $('.lin-mask').toggle(isShow);
  159. $('.lin-sel-group').toggle(isShow);
  160. }
  161. function bindEvents(){
  162. $('.demo-comtop h1').on('tap', showGroupSel);
  163. $(".lin-sel-group").on('click', 'li', function(){
  164. showGroupSel(undefined, false);
  165. if(!$(this).hasClass('checked')){
  166. $(this).addClass('checked').siblings().removeClass('checked');
  167. setCurTeamName();
  168. }
  169. getPeopleSum();
  170. getGroupInfo();
  171. });
  172. //点击搜索跳转去搜索居民页面
  173. $(".search-input").on('click', function(){
  174. mui.openWindow({
  175. id: "manbingjuminsousuo",
  176. url: "juminsousuo.html",
  177. extras: {
  178. teamCode:teamCode,
  179. isTrack: true
  180. }
  181. })
  182. })
  183. //顶部切换
  184. $(".people").on('click', function(){
  185. var $this = $(this);
  186. if($this.hasClass("active")){
  187. return false;
  188. }
  189. if($this.hasClass("all-people")){
  190. selectedType = '0';
  191. $(".new-people").removeClass("active");
  192. $this.addClass("active");
  193. mui(".mui-slider").slider().gotoPage(0,100);
  194. }else{
  195. selectedType = '1';
  196. $(".all-people").removeClass("active");
  197. $this.addClass("active");
  198. mui(".mui-slider").slider().gotoPage(1, 100);
  199. }
  200. });
  201. document.querySelector('.mui-slider').addEventListener('slide', function(event) {
  202. var index = event.detail.slideNumber;
  203. if(index == 0){
  204. selectedType = '0';
  205. $(".all-people").addClass("active");
  206. $(".new-people").removeClass("active");
  207. }else if(index == 1){
  208. selectedType = '1';
  209. $(".new-people").addClass("active");
  210. $(".all-people").removeClass("active");
  211. }
  212. if($("#item"+(index+1)+" .patient-list").length == 0){
  213. getGroupInfo();
  214. }
  215. });
  216. $(".mui-slider").on('tap','.load-more',function(e) {
  217. e.stopPropagation();
  218. var $parent = $(this).parent(),
  219. group = $parent.data("group"),
  220. index = $parent.index();
  221. if($(this).attr("noMore") == 'true'){
  222. return false;
  223. }
  224. getPatientListByGroup(index, group);
  225. }).on('tap','.patient-type',function() {
  226. var $this = $(this),
  227. $parent = $this.parent(),
  228. group = $parent.data("group"),
  229. index = $parent.index(),
  230. $ul = $parent.find("ul"),
  231. $arrow = $this.find(".ui-arrow");
  232. if($arrow.hasClass("ui-arrow-b")){
  233. if($ul.find("li").length == 0){
  234. getPatientListByGroup(index, group);
  235. }
  236. $ul.show();
  237. $arrow.addClass("ui-arrow-t");
  238. $arrow.removeClass("ui-arrow-b");
  239. }else{
  240. $ul.hide();
  241. $arrow.addClass("ui-arrow-b");
  242. $arrow.removeClass("ui-arrow-t");
  243. }
  244. }).on('tap','li[data-patient-code]',function(e) {
  245. var patiCode = $(this).attr("data-patient-code");
  246. mui.openWindow({
  247. id: "jumin-manbingdangan",
  248. url: "jumin-manbingdangan.html",
  249. extras: {
  250. patient: patiCode
  251. }
  252. });
  253. return false;
  254. });
  255. }
  256. function initScroller(){
  257. //阻尼系数
  258. var deceleration = mui.os.ios?0.003:0.0009;
  259. mui('.mui-scroll-wrapper').scroll({
  260. bounce: false,
  261. indicators: true, //是否显示滚动条
  262. deceleration:deceleration
  263. });
  264. mui('.mui-scroll-wrapper').pullRefresh({
  265. down: {
  266. callback: function(){
  267. this.endPulldownToRefresh();
  268. }
  269. }
  270. });
  271. }