xuanzejumin_more.js 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794
  1. var baseInfo = null,
  2. baseEnv = null;
  3. var $searchtResult = $('#search_result'),
  4. $container = $('.container'),
  5. $noResultWrap = $('#no_result_wrap'), // 搜索无结果时显示
  6. $patiList = $('#pati_list'),// 患者分组列表
  7. $selectedTeamName = $('#selected_team_name'),// 所选团队的团队名称显示
  8. $searchBtn = $('#search_btn'),//搜索输入
  9. $searchList = $('.xz-search'),//搜索结果展示
  10. $searchUl = $('#search_ul'),
  11. $sendCount = $("#sendCount"),//发送数量
  12. $hisSearList = $('#his_sear_list'),
  13. $history = $(".xz-history"),//历史记录
  14. $navInput = $('.xz-sel-list');//搜索输入和选中结果展示
  15. var lastTeamId,
  16. docInfo,
  17. tagTitle = 1,//头部切换
  18. search_keyword='',//搜索关键字
  19. activeGroupType = "",
  20. typeId = 1, //记录排列的值
  21. sendCount = 0, //记录发送的数量
  22. historyData=[],//历史数据
  23. historyStr,
  24. sendPatiId = []; //记录发送的用户id列表
  25. var origin = '',//搜索来源位置
  26. sPage = 1,
  27. sPagesize = 30,
  28. article=null,//健康文章code
  29. articleTitle = "";//健康文章标题
  30. var timeOut,timeOut1;
  31. // 获取登录相关信息
  32. var getBaseInfo = function() {
  33. var userAgent = JSON.parse(plus.storage.getItem("userAgent"));
  34. var self = plus.webview.currentWebview();
  35. article = self.article;
  36. articleTitle = self.articleTitle;
  37. origin = self.origin;
  38. return {
  39. userAgent: userAgent,
  40. teamInfo: JSON.parse(plus.storage.getItem("teamInfo"))
  41. }
  42. },
  43. // 获取基础环境信息
  44. getBaseEnvPromise = function () {
  45. var env = {
  46. webview: plus&&plus.webview.currentWebview()
  47. };
  48. return Promise.resolve().then(function(res) {
  49. return env;
  50. });
  51. },
  52. updateLastTeamId = function(id) {
  53. lastTeamId = id;
  54. },
  55. updateTypeId = function(id){
  56. typeId = id;
  57. }
  58. // 初始化选择团队
  59. initTeams = function (){
  60. // 判断缓存中的团队是否在团队列表中
  61. var isExist = _.some(baseInfo.teamInfo.data,function(t) {
  62. return lastTeamId == t.id
  63. });
  64. if(!isExist) {
  65. if(baseInfo.teamInfo.data.length>0){
  66. updateLastTeamId(baseInfo.teamInfo.data[0].id);
  67. }else{
  68. mui.toast("您还没有任何团队!");
  69. return;
  70. }
  71. }
  72. template.helper("setChecked", function(id, i) {
  73. if(lastTeamId && lastTeamId==id)
  74. return "checked";
  75. return "";
  76. })
  77. $('.lin-sel-group').html(template('teams_tmpl', baseInfo.teamInfo));
  78. if(!lastTeamId && baseInfo.teamInfo.data && baseInfo.teamInfo.data.length) {
  79. updateLastTeamId(baseInfo.teamInfo.data[0].id);
  80. // $selectedTeamName.text(baseInfo.teamInfo.data[0].name);
  81. $('.lin-sel-group li').eq(0).addClass("checked");
  82. } else {
  83. var $selected = $('.lin-sel-group').find("li.checked");
  84. // $selectedTeamName.text($selected.attr("data-name"));
  85. }
  86. if(typeId){
  87. $(".sel-group li[data-type="+typeId+"]").eq(0).addClass("checked").find("img").attr("src",'../images/checked_all.png');;
  88. }
  89. },
  90. //显示选中的分组
  91. showGroup = function(type) {
  92. if(type){
  93. activeGroupType = type;
  94. }
  95. },
  96. showGroupSel = function() {
  97. var isShow = isShow || $('.lin-sel-group:hidden').length != 0;
  98. $('.lin-mask').toggle(isShow);
  99. if($(".sel-group:hidden").length == 0 && isShow){
  100. $('.sel-group').toggle(!isShow);
  101. }
  102. $('.lin-sel-group').toggle(isShow);
  103. },
  104. showGroupType = function() {
  105. var isShow = isShow || $('.sel-group:hidden').length != 0;
  106. $('.lin-mask').toggle(isShow);
  107. if($(".lin-sel-group:hidden").length == 0 && isShow){
  108. $('.lin-sel-group').toggle(!isShow);
  109. }
  110. $('.sel-group').toggle(isShow);
  111. },
  112. hideMask = function(){
  113. var isShow = isShow || $('.lin-mask:hidden').length != 0,
  114. isTeamShow = $('.lin-sel-group:hidden').length != 0,
  115. isTypeShow = $('.sel-group:hidden').length != 0;
  116. $('.lin-mask').toggle(isShow);
  117. if(!isTeamShow){
  118. $('.lin-sel-group').toggle(isShow);
  119. }
  120. if(!isTypeShow){
  121. $('.sel-group').toggle(isShow);
  122. }
  123. },
  124. // 初始化画面患者分组列表
  125. initPatientGroupsList = function() {
  126. if(!lastTeamId){
  127. return;
  128. }
  129. plus.nativeUI.showWaiting();
  130. getReqPromise("doctor/patient_label_info/label_patient_amount",{labelType: typeId, teamCode: lastTeamId})
  131. .then(function(res) {
  132. plus.nativeUI.closeWaiting();
  133. if(res.status == 200) {
  134. var data = _.filter(res.data,function(o) {
  135. //过滤团队标签中分组人数为0的数据
  136. if(typeId == 4 && o.amount == 0){
  137. return false;
  138. }
  139. return o.labelCode != 0 || (o.labelCode==0 && o.amount > 0);
  140. });
  141. if(data && data.length) {
  142. if(tagTitle == 2){
  143. var html = template("pati_group_tmpl_2", {list: data});
  144. }else{
  145. var html = template("pati_group_tmpl", {list: data});
  146. }
  147. $patiList.empty().append(html);
  148. if(activeGroupType) {
  149. $patiList.find('.patient-list[data-group="'+activeGroupType+'"]').trigger("click");
  150. }
  151. $noResultWrap.hide();
  152. $searchtResult.show();
  153. } else {
  154. $searchtResult.hide();
  155. $noResultWrap.show();
  156. }
  157. $container.show()
  158. }
  159. }).catch(function(e){ plus.nativeUI.closeWaiting();console && console.error(e) });
  160. },
  161. initPatientListByGroup = function(code) {
  162. var url = "doctor/patient_label_info/patients_by_label";
  163. plus.nativeUI.showWaiting();
  164. var $group = $patiList.find('.patient-list[data-group="'+code+'"]');
  165. getReqPromise(url, {labelType:typeId, teamCode: lastTeamId, labelCode: code, page: 1, pagesize: 30,isFollowWeChat:true},'POST',true)
  166. .then(function(res) {
  167. if(res.status == 200) {
  168. var html = template("pati_list_tmpl", {list: _.map(res.data,function(o) {
  169. o.jsonStr = JSON.stringify(o);
  170. return o;
  171. })});
  172. $group.find('ul.n-list').empty().append(html);
  173. showLoadMore($group);
  174. checkIsSelect()
  175. } else {
  176. plus.nativeUI.toast(res.msg);
  177. }
  178. plus.nativeUI.closeWaiting();
  179. }).catch(function(e){ console && console.error(e); plus.nativeUI.closeWaiting(); });
  180. },
  181. showLoadMore = function($el) {
  182. var amount = $el.attr("data-amount"),
  183. loaded = $el.find('ul.n-list li').length,
  184. $loadMore = $el.find('.load-more');
  185. if(amount>loaded) {
  186. $loadMore.show();
  187. } else {
  188. $loadMore.hide();
  189. }
  190. },
  191. checkIsSelect = function(){
  192. var selectStr = sendPatiId.join(',')
  193. var $ul = $container.find('.n-list-link')
  194. $ul.map(function(i){
  195. var code = $ul.eq(i).attr('data-patient-code')
  196. if(selectStr.indexOf(code)>-1){
  197. $ul.eq(i).addClass('checked')
  198. $ul.eq(i).find('.check-img').attr('src','../images/checked_all.png');
  199. }else{
  200. $ul.eq(i).removeClass('checked')
  201. $ul.eq(i).find('.check-img').attr('src','../images/unchecked.png');
  202. }
  203. })
  204. },
  205. checkIsSelect2 = function(){
  206. var selectStr = sendPatiId.join(',')
  207. var $ul = $searchUl.find('.n-list-link')
  208. $ul.map(function(i){
  209. var code = $ul.eq(i).attr('data-patient-code')
  210. if(selectStr.indexOf(code)>-1){
  211. $ul.eq(i).addClass('checked')
  212. $ul.eq(i).find('.check-img').attr('src','../images/checked_all.png');
  213. }else{
  214. $ul.eq(i).removeClass('checked')
  215. $ul.eq(i).find('.check-img').attr('src','../images/unchecked.png');
  216. }
  217. })
  218. },
  219. togglePatientListShow = function($el) {
  220. var isOpen = $el.hasClass("current"),
  221. $list = $el.find('ul.n-list'),
  222. $siblings = $el.siblings('.patient-list');
  223. if(isOpen) {
  224. $el.removeClass("current");
  225. $list.hide();
  226. $el.find('.load-more').hide();
  227. } else {
  228. $el.addClass("current");
  229. // $siblings.removeClass('current').find("ul.n-list").hide();
  230. // $siblings.find('.load-more').hide();
  231. $list.show();
  232. showLoadMore($el);
  233. }
  234. return isOpen;
  235. },
  236. // 分页查询列表
  237. searchByPaging = function () {
  238. search_keyword = $searchBtn.val();
  239. if(!$.trim(search_keyword)) {
  240. return ;
  241. }
  242. plus.nativeUI.showWaiting();
  243. // page: 分页索引,filter:搜素关键字,pagesize:每页条数
  244. var url = "/doctor/patient_label_info/getPatientByParams",
  245. params = { page:sPage, filter: search_keyword, pagesize:sPagesize, teamCode:lastTeamId,isFollowWeChat:true};
  246. getReqPromise(url,params,'get').then(function(res){
  247. if(res.status == 200) {
  248. if(res.data.length == 0 && sPage==1) {
  249. $searchList.hide();
  250. $noResultWrap.show();
  251. }else{
  252. if(sPage==1){
  253. if(res.data.length < sPagesize) {
  254. $('#sload').hide()
  255. $('#sfinish').hide()
  256. }else{
  257. $('#sload').show()
  258. $('#sfinish').hide()
  259. }
  260. }else{
  261. if(res.data.length < sPagesize){
  262. $('#sload').hide()
  263. $('#sfinish').show()
  264. }else{
  265. $('#sload').show()
  266. $('#sfinish').hide()
  267. }
  268. }
  269. $noResultWrap.hide();
  270. $searchList.show();
  271. initPatientViewList(res.data,search_keyword);
  272. }
  273. } else {
  274. mui.toast('搜索失败')
  275. }
  276. plus.nativeUI.closeWaiting();
  277. }).catch(function(e) {
  278. plus.nativeUI.closeWaiting();
  279. console && console.error(e)
  280. });
  281. },
  282. // 搜索视图列表
  283. initPatientViewList = function(data,keyword) {
  284. var html = template("pati_list_tmpl", {list: _.map(data,function(o) {
  285. o.jsonStr = JSON.stringify(o);
  286. return o;
  287. })})
  288. $searchUl.append(html);
  289. ellipsisText($searchUl.find('li'),keyword);
  290. checkIsSelect2()
  291. },
  292. ellipsisText = function ($elements, searchText) {
  293. _.each($elements,function(el) {
  294. var $textEl = $(el).find(".j-text-ellipsis");
  295. _.each($textEl, function(t){
  296. highlineKeyword($(t),searchText);
  297. });
  298. });
  299. },
  300. highlineKeyword = function ($el,searchText) {
  301. var text = $.trim($el.attr('data-text')),
  302. length = text.length,
  303. kws = $.trim(searchText).replace(/\s+/g," ").split(" ");
  304. $el.html(replaceAll(text, kws));
  305. },
  306. replaceAll = function (text, arr) {
  307. var html = text;
  308. _.each(arr,function(kw) {
  309. var reg = new RegExp(kw+"(?!>)","gi");
  310. html = html.replace(reg,'<em>'+kw+'</em>');
  311. });
  312. return html;
  313. },
  314. historyList = function(){
  315. getSaveHisData()
  316. var html = template('his_list_tmpl',{list:historyData});
  317. $hisSearList.html('');
  318. $hisSearList.append(html);
  319. },
  320. refreshPage = function(){
  321. baseInfo = getBaseInfo();
  322. sendPatiId = []
  323. $('.xz-sel-one').empty()
  324. initPatientGroupsList();
  325. },
  326. saveHisData = function(){
  327. //保存历史数据20个
  328. var value = $searchBtn.val().trim();
  329. if(value){
  330. if(historyData.length>19){
  331. historyData.pop();
  332. }
  333. if(historyData.indexOf(value)>-1){
  334. historyData = _.filter(historyData, function(o){ return o != value; });
  335. }
  336. historyData.unshift(value);
  337. var str = JSON.stringify(historyData)
  338. plus.storage.setItem("jianjiaoSearchHis"+docInfo.code,str);
  339. historyList();
  340. }
  341. },
  342. getSaveHisData = function(){
  343. historyStr = plus.storage.getItem("jianjiaoSearchHis"+docInfo.code);
  344. if(historyStr){
  345. historyStr = JSON.parse(historyStr).join(',');
  346. historyData = historyStr.split(',');
  347. }else{
  348. historyData = [];
  349. }
  350. },
  351. countHeight = function(){
  352. if($navInput.css('display')=='none'){
  353. $container.css('top',$('.topTitle').outerHeight()+89)
  354. $container.css('bottom',59)
  355. }else{
  356. $container.css('top',$('.topTitle').outerHeight()+89+$navInput.outerHeight())
  357. $searchList.css('top',$('.topTitle').outerHeight()+89+$navInput.outerHeight())
  358. $container.css('bottom',87)
  359. }
  360. },
  361. countWidth = function(){
  362. $searchBtn.css('width',$('.xz-sel-list').width() - $('.xz-sel-one').outerWidth())
  363. $('.xz-sel-one').scrollLeft( $('.xz-sel-one')[0].scrollWidth)
  364. },
  365. //添加选中
  366. addSelectLi = function(one){
  367. var jsons = JSON.parse(one.attr('data-json'))
  368. sendPatiId.push(jsons.code);
  369. $('.xz-sel-one').append('<li>'+jsons.name+'</li>')
  370. sendCount++
  371. countWidth()
  372. },
  373. //删除选中
  374. removeSelectLi = function(one){
  375. var jsons = JSON.parse(one.attr('data-json'))
  376. sendPatiId = _.without(sendPatiId,jsons.code);
  377. var $li = $('.xz-sel-one').find('li');
  378. for(var i=0;i<$li.length;i++){
  379. if($li.eq(i).text() == jsons.name){
  380. $li.eq(i).remove()
  381. sendCount--
  382. countWidth()
  383. return
  384. }
  385. }
  386. },
  387. // 绑定页面事件
  388. bindEvents = function () {
  389. //切换批量与单独
  390. $('.xz-nav-one').on('click',function(){
  391. var $this = $(this)
  392. if(!$this.hasClass('active')){
  393. $this.addClass('active').siblings().removeClass('active')
  394. tagTitle = $this.attr('data-id')
  395. initPatientGroupsList();
  396. if(tagTitle == 2){
  397. $navInput.css('display','-webkit-box')
  398. $('#warn-notice').show()
  399. $('#control').show()
  400. }else{
  401. $('#warn-notice').hide()
  402. $navInput.hide()
  403. $('#control').hide()
  404. }
  405. $container.show()
  406. $('.xz-sel-btn').hide()
  407. $noResultWrap.hide()
  408. $history.hide()
  409. $searchList.hide()
  410. $searchUl.empty()
  411. $searchBtn.val('')
  412. sPage = 1
  413. countHeight()
  414. countWidth()
  415. sendCount = 0;
  416. sendPatiId = []
  417. $sendCount.text(sendCount);
  418. $('.xz-sel-one').empty()
  419. }
  420. })
  421. //批量
  422. $patiList.on('click','.patient-list.label-sel',function(e) {
  423. e.stopPropagation();
  424. var $this = $(this).find('.check-img'),
  425. value = $this.hasClass('checked'),
  426. groupAmount = $this.closest('.patient-list').attr('data-amount');
  427. if(value){
  428. $this.removeClass('checked');
  429. $this.attr('src','../images/unchecked.png');
  430. $this.closest('.patient-list').find(".n-list-checked").removeClass('checked');
  431. sendCount -= parseInt(groupAmount);
  432. }else{
  433. $this.addClass('checked');
  434. $this.attr('src','../images/checked_all.png');
  435. $this.closest('.patient-list').find(".n-list-checked").addClass('checked');
  436. sendCount = sendCount + parseInt(groupAmount);
  437. }
  438. $sendCount.text(sendCount);
  439. })
  440. //单独 点击展开显示居民
  441. $patiList.on('click','.patient-list.showName',function(e) {
  442. e.stopPropagation();
  443. var code = $.trim($(this).attr("data-group")),
  444. isOpen = togglePatientListShow($(this)),
  445. isEmpty = !$(this).find('ul.n-list li').length;
  446. code && !isOpen && isEmpty && initPatientListByGroup(code);
  447. })
  448. //加载更多
  449. $patiList.on('click','.load-more',function(e) {
  450. e.stopPropagation();
  451. plus.nativeUI.showWaiting();
  452. var $wrap = $(this).closest(".patient-list"),
  453. code = $wrap.attr("data-group"),
  454. page = parseInt($wrap.attr("data-page"));
  455. var url = "doctor/patient_label_info/patients_by_label";
  456. getReqPromise(url,{labelType: typeId,labelCode: code, teamCode: lastTeamId, page: page + 1, pagesize:30,isFollowWeChat:true},'POST',true)
  457. .then(function(res) {
  458. if(res.status == 200) {
  459. var html = template("pati_list_tmpl", {list: _.map(res.data,function(o) {
  460. o.jsonStr = JSON.stringify(o);
  461. return o;
  462. })});
  463. $wrap.find('ul.n-list').append(html);
  464. $wrap.attr("data-page",page+1);
  465. showLoadMore($wrap);
  466. checkIsSelect()
  467. }
  468. plus.nativeUI.closeWaiting();
  469. }).catch(function(e){ console && console.error(e); plus.nativeUI.closeWaiting(); });
  470. return false;
  471. })
  472. $patiList.on('click','li[data-patient-code]',function(e) {
  473. e.stopPropagation();
  474. var that = $(this)
  475. if(that.hasClass('checked')){
  476. that.find('.check-img').attr('src','../images/unchecked.png');
  477. that.removeClass('checked')
  478. if(tagTitle == 2){removeSelectLi(that);}
  479. $sendCount.text(sendCount);
  480. checkIsSelect()
  481. }else{
  482. if(sendCount == 200){
  483. mui.toast('选择居民不能超过200个')
  484. return
  485. }else{
  486. that.find('.check-img').attr('src','../images/checked_all.png');
  487. that.addClass('checked')
  488. if(tagTitle == 2){addSelectLi(that);}
  489. $sendCount.text(sendCount);
  490. checkIsSelect()
  491. }
  492. }
  493. return false;
  494. })
  495. //搜索功能
  496. $searchBtn.on('click',function(){
  497. historyList()
  498. $container.hide()
  499. $('.xz-sel-btn').show()
  500. $noResultWrap.hide()
  501. $searchList.hide()
  502. $history.show()
  503. $searchUl.empty()
  504. sPage = 1
  505. })
  506. $searchBtn.on('keydown',function(e) {
  507. if (e.which === 13) {
  508. $searchUl.empty()
  509. $history.hide()
  510. searchByPaging();
  511. saveHisData()
  512. }
  513. })
  514. //加载更多
  515. $searchList.on('click','#sload',function(){
  516. sPage++
  517. searchByPaging();
  518. })
  519. //点击搜索结果
  520. $searchUl.on('click','li[data-patient-code]',function(e) {
  521. e.stopPropagation();
  522. var that = $(this)
  523. if(that.hasClass('checked')){
  524. that.find('.check-img').attr('src','../images/unchecked.png');
  525. that.removeClass('checked')
  526. if(tagTitle == 2){removeSelectLi(that);}
  527. }else{
  528. that.find('.check-img').attr('src','../images/checked_all.png');
  529. that.addClass('checked')
  530. if(tagTitle == 2){addSelectLi(that);}
  531. }
  532. $sendCount.text(sendCount);
  533. checkIsSelect()
  534. });
  535. $hisSearList.on('click','li',function(){
  536. var $that = $(this);
  537. page = 1;
  538. $history.hide();
  539. $searchBtn.val($that.text())
  540. searchByPaging();
  541. })
  542. $('#clear_his_data').on('click', function(){
  543. plus.storage.removeItem("jianjiaoSearchHis"+docInfo.code);
  544. historyList();
  545. })
  546. //取消
  547. $('.xz-sel-btn').on('click',function(){
  548. $container.show()
  549. $searchBtn.val('')
  550. $('.xz-sel-btn').hide()
  551. $noResultWrap.hide()
  552. $searchList.hide()
  553. $history.hide()
  554. })
  555. function againLoad(){
  556. timeOut1=setTimeout(function(){
  557. plus.nativeUI.closeWaiting();
  558. dialog({
  559. content: '<div class="c-f16 c-323232">后台正在处理</div>',
  560. okValue: '继续等待',
  561. cancelValue: '返回首页',
  562. cancel: function () {
  563. backArticle();
  564. },
  565. ok: function() {
  566. plus.nativeUI.showWaiting();
  567. againLoad()
  568. }
  569. }).showModal();
  570. },30000)
  571. }
  572. function backArticle(){
  573. var view = plus.webview.getWebviewById("jiankangjiaoyu");
  574. if(view){
  575. mui.fire(view,"refresh");
  576. }
  577. view=plus.webview.getWebviewById("article");
  578. if(view){
  579. mui.fire(view,"refresh");
  580. }
  581. mui.back();
  582. }
  583. $('#sort').on('click', showGroupType);
  584. $('.lin-mask').on('touchstart',function(e){
  585. e.preventDefault();
  586. hideMask();
  587. })
  588. //排列选项
  589. $('.sel-group').on('click', 'li.group-item', function(){
  590. updateTypeId($(this).attr("data-type"));
  591. hideMask();
  592. if(!$(this).hasClass('checked')){
  593. $(this).addClass('checked');
  594. $(this).find('img').attr("src",'../images/checked_all.png');
  595. $(this).siblings().removeClass('checked');
  596. $(this).siblings().find('img').attr('src', '');
  597. }
  598. refreshPage();
  599. $sendCount.text(0);
  600. sendCount=0;
  601. });
  602. $('.demo-comtop h1').on('click', showGroupSel);
  603. $('.lin-mask').on('click', showGroupSel);
  604. $('.lin-sel-group').on('click', 'li', function(){
  605. updateLastTeamId($(this).attr("data-code"));
  606. $selectedTeamName.text($(this).attr("data-name"));
  607. showGroupSel(undefined, false);
  608. if(!$(this).hasClass('checked')){
  609. $(this).addClass('checked').siblings().removeClass('checked');
  610. }
  611. refreshPage();
  612. });
  613. $("#sendBtn").on('click',function(){
  614. var groupList=[];
  615. var patientList=[];
  616. var amount = 0;
  617. if(tagTitle == 2){
  618. amount = sendPatiId.length
  619. successNext()
  620. }else{
  621. $(".patient-list").each(function(){
  622. var groupimg = $(this).find("img.check-img");
  623. if(groupimg.hasClass("checked")){
  624. var code = $.trim($(this).attr("data-group"));
  625. groupList.push(code);
  626. }
  627. })
  628. //请求发送数量
  629. var param = {
  630. articleId:article,
  631. group:groupList.join(","),
  632. labelType:typeId,
  633. teamCode:lastTeamId
  634. }
  635. plus.nativeUI.showWaiting();
  636. sendGet('doctor/jkEdu/article/doctorPushArticleConfirm',param,function(){
  637. plus.nativeUI.closeWaiting();
  638. mui.toast('请求失败')
  639. },function(res){
  640. plus.nativeUI.closeWaiting();
  641. if(res.status == 200){
  642. amount = res.data.num
  643. successNext()
  644. }else{
  645. mui.toast('获取发送人数失败')
  646. return
  647. }
  648. })
  649. }
  650. function successNext(){
  651. if(amount > 0){
  652. //健康教育模块
  653. if(origin == 'jiaoyu'){
  654. dialog({
  655. title: '<div><div class="c-f18 c-17b3ec c-t-left">发送给</div><div class="mt5 c-f14 c-t-left c-909090">'+amount+'人</div></div>',
  656. content: '<div><div class="c-f16 c-323232 c-t-left mb10">《'+articleTitle+'》</div><input id="messageInput" class="c-f14 pl10" placeholder="给居民留言..."/></div>',
  657. okValue: '立即发送',
  658. cancelValue: '我再看看',
  659. cancel: function () {
  660. return;
  661. },
  662. ok: function() {
  663. var params = {};
  664. if(tagTitle == 2){
  665. params.articleId =article;
  666. params.patient=sendPatiId.join(",");
  667. params.teamCode=lastTeamId;
  668. params.leaveWords = $.trim($('#messageInput').val());
  669. }else{
  670. params.articleId =article;
  671. // params.patient=patientList.join(",");
  672. params.group=groupList.join(",");
  673. params.labelType = typeId;
  674. params.teamCode = lastTeamId;
  675. params.leaveWords = $.trim($('#messageInput').val());
  676. }
  677. var docInfo = JSON.parse(plus.storage.getItem('docInfo'));
  678. params.currentUserRole = docInfo.hospital;
  679. params.currentUserRoleLevel = 4;
  680. plus.nativeUI.showWaiting();
  681. // sendPost("/doctor/health/edu/send",params,sendError,sendSuccess,'POST',2400000);
  682. sendPost("doctor/jkEdu/article/doctorSendArticleToPatients",params,sendError,sendSuccess,'POST',2400000);
  683. timeOut=setTimeout(function(){
  684. plus.nativeUI.closeWaiting();
  685. dialog({
  686. content: '<div class="c-f16 c-323232">后台正在处理您的请求,结束后将自动跳转,您可先处理其他事宜</div>',
  687. okValue: '继续等待',
  688. cancelValue: '返回首页',
  689. cancel: function () {
  690. backArticle();
  691. },
  692. ok: function() {
  693. plus.nativeUI.showWaiting();
  694. againLoad();
  695. }
  696. }).showModal();
  697. },30000);
  698. function sendError(res){
  699. plus.nativeUI.closeWaiting();
  700. window.clearTimeout(timeOut);
  701. window.clearTimeout(timeOut1);
  702. if(res && res.msg){
  703. mui.toast(res.msg);
  704. }else{
  705. mui.toast("发送失败");
  706. }
  707. };
  708. function sendSuccess(res){
  709. plus.nativeUI.closeWaiting();
  710. window.clearTimeout(timeOut);
  711. window.clearTimeout(timeOut1);
  712. if(res.status==10000){
  713. plus.nativeUI.closeWaiting();
  714. mui.toast("发送成功!");
  715. var view = plus.webview.getWebviewById("jiankangjiaoyu");
  716. if(view){
  717. mui.fire(view,"refresh");
  718. }
  719. view=plus.webview.getWebviewById("article");
  720. if(view){
  721. mui.fire(view,"refresh");
  722. }
  723. var opener = plus.webview.currentWebview().opener();
  724. if(opener && (opener.id != 'jiankangjiaoyu') && (opener.id != 'article')){
  725. mui.fire(opener, 'refresh');
  726. }
  727. mui.back();
  728. }else{
  729. sendError(res);
  730. }
  731. };
  732. }
  733. }).showModal()
  734. }
  735. }else{
  736. mui.toast("发送人数为0");
  737. }
  738. }
  739. })
  740. /*刷新事件*/
  741. window.addEventListener("refresh", function refresh(e) {
  742. refreshPage();
  743. });
  744. };
  745. // 页面业务处理流程开始
  746. new Promise(function(resolve, reject) {
  747. mui.plusReady(function() {
  748. resolve(true);
  749. })
  750. }).then(function() {
  751. // 获取基础环境信息
  752. return getBaseEnvPromise().then(function(env) {
  753. baseEnv = env;
  754. }).then(function() {
  755. // 获取登录基本信息
  756. baseInfo = getBaseInfo();
  757. docInfo = JSON.parse(plus.storage.getItem("docInfo"));
  758. lastTeamId = docInfo.adminTeamCode;
  759. //历史记录
  760. getSaveHisData()
  761. // 绑定页面事件
  762. bindEvents();
  763. initTeams();
  764. initPatientGroupsList();
  765. countHeight()
  766. });
  767. }).catch(function(e) {
  768. plus.nativeUI.closeWaiting();
  769. console && console.error(e);
  770. })