xiaoxi.js 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319
  1. var first = true, docInfo, teamInfo,thisTeamsId , leader;
  2. var $xfxx=$("[data-code='xfxx']");//续方
  3. var $xtfw=$("[data-code='xtfw']");//协同
  4. var doctorAuthOperate;
  5. mui.plusReady(function() {
  6. doctorAuthOperate=plus.storage.getItem("authOperate")!=0?14:15;//普通医生
  7. docInfo = JSON.parse(plus.storage.getItem("docInfo"));
  8. docinfo(docInfo);
  9. initScroll();
  10. juageLeader();
  11. page.init();
  12. teams = JSON.parse(plus.storage.getItem("teamInfo"));
  13. //控制协同
  14. if(docInfo.hospital){
  15. if(docInfo.hospital.substr(0,6) == '350211' && docInfo.level == 1){
  16. $xtfw.show();
  17. }else{
  18. $xtfw.hide()
  19. }
  20. }else{
  21. $xtfw.hide();
  22. }
  23. // var userRole=JSON.parse(plus.storage.getItem("userRole"));
  24. // if(userRole){
  25. // if(userRole[0].isManage){
  26. // $shxx.show();
  27. // }else{
  28. // $shxx.hide();
  29. // }
  30. // }
  31. })
  32. var page={
  33. $consultTeam:$("#consultTeam"),//咨询数
  34. $sign:$("#sign "), //签约
  35. $healthIndex:$("#healthIndex"),//健康指标
  36. $renewIdex:$("#renewIdex"),
  37. $xietong:$("#xietongNum"),
  38. $shenhe:$("#shenheNum"),
  39. $jiebang_index :$('#jiebang_index'),//解绑
  40. init:function(){
  41. this.initData();
  42. // this.updateBadgeNumber();
  43. },
  44. //数据初始化
  45. initData:function(){
  46. var m=this;
  47. m.selectListSize();
  48. sendPost("doctor/baseinfo", null, function(res){
  49. mui.toast(res.msg);
  50. }, function(res){
  51. if(res.status==200){
  52. var data = res.data;
  53. if(data.isFamous!=1){
  54. $(".myzx").hide();
  55. }
  56. }
  57. }, null, null, true);
  58. },
  59. //查询未读消息数
  60. selectListSize:function(refresh){
  61. var m=this;
  62. sendPost("/doctor/message/messages",{type:doctorAuthOperate}, function(){
  63. if(refresh)
  64. // myScroll.endPullDownToRefresh();
  65. mui.toast("数据加载失败,请检查网络无误后下拉刷新。");
  66. }, function(res){
  67. console.log(res)
  68. if(res.status=="200"){
  69. var lastMessage, p= {msg: "", msgTime: ""};
  70. if(res.data.consult && res.data.consult.amount>0){
  71. lastMessage = res.data.consult.lastMessage || p;
  72. m.$consultTeam.html(assesCount(res.data.consult.amount)).removeClass('c-hide')
  73. .prev().html(lastMessage.msgTime).removeClass('c-hide');
  74. $('#jkzx_lastMsg').html(lastMessage.msg).removeClass('c-hide');
  75. } else {
  76. m.$consultTeam.addClass('c-hide').prev().addClass('c-hide');
  77. $('#jkzx_lastMsg').addClass('c-hide');
  78. }
  79. if(res.data.sign && res.data.sign.amount>0){
  80. lastMessage = res.data.sign.lastMessage || p;
  81. var time = formatShowTime(lastMessage.msgTime);
  82. m.$sign.html(assesCount(res.data.sign.amount)).removeClass('c-hide')
  83. .prev().html(time).removeClass('c-hide');
  84. $('#sign_lastMsg').html(lastMessage.msg).removeClass('c-hide');
  85. } else {
  86. m.$sign.addClass('c-hide').prev().addClass('c-hide');
  87. $('#sign_lastMsg').addClass('c-hide');
  88. }
  89. if(res.data.healthIndex && res.data.healthIndex.amount>0){
  90. lastMessage = res.data.healthIndex.lastMessage || p;
  91. var time = formatShowTime(lastMessage.msgTime);
  92. m.$healthIndex.html(assesCount(res.data.healthIndex.amount)).removeClass('c-hide')
  93. .prev().html(time).removeClass('c-hide');
  94. $('#jktz_lastMsg').html(lastMessage.msg).removeClass('c-hide');
  95. } else {
  96. m.$healthIndex.addClass('c-hide').prev().addClass('c-hide');
  97. $('#jktz_lastMsg').addClass('c-hide');
  98. }
  99. //处理系统消息
  100. if(res.data.system && res.data.system.amount > 0){
  101. // $('.xitong p.msg-p').html(res.data.system.lastMessage.msg);
  102. var time = formatShowTime(res.data.system.lastMessage.msgTime);
  103. $('#xitong_date').html(time).removeClass("c-hide");
  104. if(res.data.system.amount >0){
  105. $('#xitong_index').html(res.data.system.amount).removeClass("c-hide");
  106. } else {
  107. $('#xitong_index').addClass("c-hide");
  108. }
  109. $('.xitong').show();
  110. } else {
  111. $('#xitong_index').addClass('c-hide').prev().addClass('c-hide');
  112. $('#xitong_lastcontent').addClass('c-hide');
  113. }
  114. //处理解绑消息
  115. if(res.data.deviceUnbind && res.data.deviceUnbind.amount>0){
  116. lastMessage = res.data.deviceUnbind.lastMessage || p;
  117. var time = formatShowTime(lastMessage.msgTime);
  118. m.$jiebang_index.html(assesCount(res.data.deviceUnbind.amount)).removeClass('c-hide')
  119. .prev().html(time).removeClass('c-hide');
  120. $('#jiebang_lastcontent').html(lastMessage.msg).removeClass('c-hide');
  121. } else {
  122. m.$jiebang_index.addClass('c-hide').prev().addClass('c-hide');
  123. $('#jiebang_lastcontent').addClass('c-hide');
  124. }
  125. //处理 续方消息
  126. if (res.data.prescription && res.data.prescription.amount>0) {
  127. $(".xfxx").attr('data-type', res.data.prescription.lastMessage.type);
  128. lastMessage = res.data.prescription.lastMessage || p;
  129. var time = formatShowTime(lastMessage.msgTime);
  130. m.$renewIdex.html(assesCount(res.data.prescription.amount)).removeClass('c-hide')
  131. .prev().html(time).removeClass('c-hide');
  132. $('#xfxx_lastMsg').html(lastMessage.title).removeClass('c-hide');
  133. }else{
  134. m.$renewIdex.addClass('c-hide').prev().addClass('c-hide');
  135. $('#xfxx_lastMsg').addClass('c-hide');
  136. }
  137. //处理 协同消息
  138. if (res.data.callService && res.data.callService.amount>0) {
  139. lastMessage = res.data.callService.lastMessage || p;
  140. var time = formatShowTime(lastMessage.msgTime);
  141. m.$xietong.html(assesCount(res.data.callService.amount)).removeClass('c-hide')
  142. .prev().html(time).removeClass('c-hide');
  143. $('#xt-last').html(lastMessage.msg).removeClass('c-hide');
  144. }else{
  145. m.$xietong.addClass('c-hide').prev().addClass('c-hide');
  146. $('#xt-last').addClass('c-hide');
  147. }
  148. if(res.data.famousConsult && res.data.famousConsult.amount>0){
  149. lastMessage = res.data.famousConsult.lastMessage || p;
  150. $('#myzx_index').html(assesCount(res.data.famousConsult.amount)).removeClass('c-hide')
  151. .prev().html(lastMessage.msgTime).removeClass('c-hide');
  152. $('#myzx_lastMsg').html(lastMessage.msg).removeClass('c-hide');
  153. } else {
  154. $('#myzx_index').addClass('c-hide').prev().addClass('c-hide');
  155. $('#myzx_lastMsg').addClass('c-hide');
  156. }
  157. //处理审核消息
  158. var articleCheck=res.data.articleCheck;
  159. if(articleCheck && articleCheck.amount){
  160. // $('.xitong p.msg-p').html(articleCheck.lastMessage.msg);
  161. var time = formatShowTime(articleCheck.lastMessage.msgTime);
  162. $('#shxx_time').html(time).removeClass("c-hide");
  163. if(articleCheck.amount >0){
  164. $('#shenheNum').html(articleCheck.amount).removeClass("c-hide");
  165. } else {
  166. $('#shenheNum').addClass("c-hide");
  167. }
  168. $('#shxx_lastMsg').html(articleCheck.lastMessage.msg).removeClass('c-hide');
  169. $('.shxx').show();
  170. } else {
  171. $('#shenheNum').addClass('c-hide').prev().addClass('c-hide');
  172. $('#shxx_lastMsg').addClass('c-hide');
  173. }
  174. //根据消息数显示红点
  175. var imMsgCount = JSON.parse(res.data.imMsgCount);
  176. var xiaoxiHtml = plus.webview.getWebviewById("xiaoxi.html");
  177. var mainHtml = plus.webview.getWebviewById("main");
  178. if(imMsgCount.patient>0 || imMsgCount.doctor>0||imMsgCount.patientEnd>0) {
  179. mui.fire(xiaoxiHtml, 'imMsgCount', imMsgCount);
  180. }
  181. if(res.data.callService.amount>0 || res.data.sign.amount>0 || res.data.healthIndex.amount>0 || res.data.system.amount>0 || imMsgCount.patient>0 || imMsgCount.doctor>0 || res.data.prescription.amount>0){
  182. mui.fire(mainHtml, "showPoint");
  183. }else if(imMsgCount.patientEnd>0 &&imMsgCount.patient==0 &&imMsgCount.doctor==0){
  184. mui.fire(mainHtml, "showBluePoint");
  185. }else{
  186. mui.fire(mainHtml, "hidePoint");
  187. }
  188. if(xiaoxiHtml && (res.data.sign.amount>0 || res.data.healthIndex.amount>0 || res.data.system.amount>0 || res.data.prescription.amount> 0 || res.data.callService.amount> 0)) {
  189. mui.fire(xiaoxiHtml, "xiaoxiweidu",{status:"1"});
  190. }else{
  191. mui.fire(xiaoxiHtml, "xiaoxiweidu",{status:"0"});
  192. }
  193. }
  194. // if(refresh)
  195. // myScroll.endPullDownToRefresh();
  196. }, null, null, true)
  197. },
  198. //刷新应用角标数字
  199. updateBadgeNumber:function(){
  200. var userId = plus.storage.getItem('im_userid');
  201. imClient.Application.getBadgeNo(userId, function(result) {
  202. try {
  203. if (result && result.badge != null) {
  204. plus.runtime.setBadgeNumber(result.badge);
  205. }
  206. } catch (e) {
  207. }
  208. })
  209. }
  210. }
  211. function assesCount(count){
  212. if(count>99)
  213. return "99+";
  214. return count;
  215. }
  216. var myScroll;
  217. /**
  218. * 初始化iscroll
  219. */
  220. function initScroll () {
  221. //阻尼系数
  222. var deceleration = mui.os.ios?0.003:0.0009;
  223. mui('.mui-scroll-wrapper').scroll({
  224. bounce: false,
  225. indicators: true, //是否显示滚动条
  226. deceleration:deceleration
  227. });
  228. myScroll = mui(".mui-scroll").pullToRefresh({
  229. down: {
  230. callback: function() {
  231. var self = this;
  232. page.selectListSize(true);
  233. setTimeout(function(){
  234. self.endPullDownToRefresh();
  235. },1000)
  236. }
  237. }
  238. });
  239. }
  240. /**
  241. * 列表点击事件
  242. */
  243. var initListEvent = function(){
  244. $('#systemMsg').on('tap', 'li', function(e){
  245. var html = $(this).attr("data-html"),
  246. type = $(this).attr("data-type");
  247. if(html){
  248. openWebview(html,{type:type});
  249. }
  250. })
  251. }();
  252. function asessTime(timestamp, noSeconds){
  253. var today = new Date().format('yyyy-MM-dd');
  254. var date = new Date();
  255. date.setTime(timestamp);
  256. var dateStr = date.format('yyyy-MM-dd');
  257. if(!(today.substring(0,4) == dateStr.substring(0,4))){
  258. return dateStr;
  259. }
  260. if(today == dateStr){
  261. if(noSeconds){
  262. return date.format('hh:mm');
  263. }else
  264. return date.format('hh:mm:ss');
  265. }
  266. return date.format('MM-dd');
  267. }
  268. //显示时间
  269. function formatShowTime(time){
  270. var time = time.replace(/-/g,"/"),
  271. timestamp = new Date(time).getTime();
  272. return asessTime(timestamp, 1);
  273. }
  274. window.addEventListener("refresh", function(){
  275. page.selectListSize(false);
  276. });
  277. // 判断是否为团队长
  278. function juageLeader(){
  279. var leaderUrl = '/statistics/checkDoctorIsTeamLeder';
  280. var params = {};
  281. sendGet(leaderUrl,params,null,function(res){
  282. if (res.status == 200) {
  283. if ( res.data && res.data != null) {
  284. $xfxx.show();
  285. }if(leader==3 && res.data ==null ){
  286. $xfxx.show();
  287. }
  288. }
  289. })
  290. }
  291. function docinfo(data){
  292. return leader= data.level;
  293. }