consult.js 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531
  1. /**
  2. * mplus_mobile_consult
  3. */
  4. var mplus_mobile_consult = function(){
  5. //상속
  6. mplus_common.call(this);
  7. var mplusPatient = new mplus_mobile_patient();
  8. //super
  9. var self = this;
  10. //변수
  11. var div = $('<div></div>');
  12. var tr = $('<tr></tr>');
  13. var th = $('<th></th>');
  14. var td = $('<td></td>');
  15. var table = $('<table></table>');
  16. var li = $('<li></li>');
  17. var a = $('<a></a>');
  18. var span = $('<span></span>');
  19. var button = $('<button></button>');
  20. var today = new Date();
  21. var prevDay = new Date(Date.parse(new Date()) - 6 * 1000 * 60 * 60 * 24); //일주일전!!
  22. /**
  23. * 초기화
  24. */
  25. this.init = function(){
  26. replyInitDataSetting();
  27. deptReplyInitDataSetting();
  28. requestInitDataSetting();
  29. replyInit();
  30. replyAddEvent();
  31. replySearchConsultList();
  32. deptReplyAddEvent();
  33. requestAddEvent();
  34. $('#consultTab a[data-toggle="tab"]').unbind();
  35. $('#consultTab a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
  36. if($("ul.nav-tabs#consultTab li.active a").attr('aria-controls')=='tabReply'){
  37. replyInit();
  38. replySearchConsultList();
  39. }else if($("ul.nav-tabs#consultTab li.active a").attr('aria-controls')=='tabDeptReply'){
  40. deptReplyInit();
  41. deptReplySearchConsultList();
  42. }else if($("ul.nav-tabs#consultTab li.active a").attr('aria-controls')=='tabRequest'){
  43. requestInit();
  44. requestSearchConsultList();
  45. }else{
  46. /*slef.aler('에러메시지?');*/
  47. };
  48. });
  49. };
  50. /*----------------------- 의뢰 resource ----------------------*/
  51. var $replyTotalNumSpan = $('#replyTotalNumSpan'),
  52. $replyRefreshBtn = $('#replyRefreshBtn'),
  53. $replyUlConsultList = $('#replyUlConsultList'),
  54. $replyBtnSortOpen = $('#replyBtnSortOpen');
  55. var replyConsultList = [];
  56. /**
  57. * 초기화
  58. */
  59. var replyInit = function(){
  60. var todayDateStr = moment(today).format('YYYY-MM-DD');
  61. var prevDayStr = moment(prevDay).format('YYYY-MM-DD');
  62. $("#replyDtpEndSrchdd").val(todayDateStr);
  63. $("#replyDtpStartSrchdd").val(prevDayStr);
  64. replyConsultList = [];
  65. $('#replySltStatus').val('N');
  66. $('#replySltTreatType').val('I');
  67. $replyTotalNumSpan.text(0);
  68. $replyUlConsultList.empty();
  69. var sortList = [{key: 'wardNm', type: 'string', value: '병동순'},
  70. {key: 'age', type: 'number', value: '연령순'},
  71. {key: 'patientNm', type: 'string', value: '이름순'}];
  72. sortInit(sortList);
  73. $('#sortConfirmBtn').unbind();
  74. $('#sortConfirmBtn').on("click", function(e){
  75. $('#sortModal').modal('hide');
  76. replySortConsultList($('#sltSort').val(), $('#sltSort option:selected').attr('type'), $('input[type="radio"][name="sortRadio"]:checked').val());
  77. $('.header span').css('display', 'none');
  78. $('.header.sort_'+$('#sltSort').val()+' .sort-icon-'+$('input[type="radio"][name="sortRadio"]:checked').val()).css('display', 'inline-block');
  79. });
  80. };
  81. /**
  82. * 이벤트 등록
  83. */
  84. var replyAddEvent = function(){
  85. $replyRefreshBtn.on("click", function(e){
  86. $('.header span').css('display', 'none');
  87. replySearchConsultList();
  88. });
  89. $replyBtnSortOpen.on("click", function(e){
  90. $('#sortModal').modal('show');
  91. });
  92. };
  93. /**
  94. * 기초데이터 셋팅
  95. */
  96. var replyInitDataSetting = function(){
  97. };
  98. var replySearchConsultList = function(){
  99. if($('#replyDtpStartSrchdd').val()=='' || $('#replyDtpEndSrchdd').val()==''){
  100. self.alert('조회 일자를 입력해주세요.');
  101. return;
  102. }else if(self.dateCalc($('#replyDtpStartSrchdd').val(), $('#replyDtpEndSrchdd').val())>6){
  103. self.alert('조회 기간은 7일이내로 설정해주세요.');
  104. return;
  105. }else if(self.dateCalc($('#replyDtpStartSrchdd').val(), $('#replyDtpEndSrchdd').val())<0){
  106. self.alert('조회 기간을 확인해주세요.');
  107. return;
  108. };
  109. $replyUlConsultList.empty();
  110. replyConsultList = [];
  111. var param = {
  112. startDt: moment($('#replyDtpStartSrchdd').val()).format('YYYYMMDD'),
  113. endDt: moment($('#replyDtpEndSrchdd').val()).format('YYYYMMDD'),
  114. departmentCd: localStorage.selectDeptCode,
  115. doctorId: loginUserId,
  116. viewTyp: 'U',
  117. treatTyp: $('#replySltTreatType').val(),
  118. statusTyp: $('#replySltStatus').val()
  119. };
  120. self.consult.getConsultResList(param, 'reply');
  121. $("#reply_consultList .header.visit-dt").text($('#replySltTreatType').val()=='I'? '입원일': '진료일');
  122. /*bindingConsultList(consultList);*/
  123. }
  124. var replySortConsultList = function(key, type, method){
  125. replyConsultList = self.util.sortObj(replyConsultList, key, type, method);
  126. replyBindingConsultList(replyConsultList, null);
  127. };
  128. replyBindingConsultList = function(bindConsultList, extraMsg){
  129. $replyUlConsultList.empty();
  130. replyConsultList = bindConsultList;
  131. $replyTotalNumSpan.text(replyConsultList.length);
  132. if(replyConsultList.length==0){
  133. $replyUlConsultList.append(li.clone().append(div.clone().addClass('text-center no-result').text('―')));
  134. };
  135. for(var i=0; i<replyConsultList.length; i++){
  136. var divNumHospital = div.clone().addClass("num_b col-xs-3 col-sm-2 pdr0 letter-control").text(replyConsultList[i].consultTyp=='I'? replyConsultList[i].wardNm + '/' + replyConsultList[i].roomNm : '외래');
  137. var divName = div.clone().addClass("name col-xs-6 col-sm-4").text(replyConsultList[i].patientNm + ' ' + replyConsultList[i].patientId);
  138. var divNum = div.clone().addClass("num_3 col-xs-3 col-sm-2").text(replyConsultList[i].gender + ' / ' + replyConsultList[i].age);
  139. /*var divNum = div.clone().addClass("num col-xs-3 col-sm-2").append(
  140. span.clone().addClass('badge ' + (replyConsultList[i].sex=='F'? 'female':'male') )
  141. .text( (replyConsultList[i].sex=='F'? 'F':'M') + replyConsultList[i].age )
  142. );
  143. */
  144. var divEmpty = div.clone().addClass('clearfix visible-xs-block').text(' ');
  145. var divDay = div.clone().addClass("col-xs-3 hidden-sm hidden-md hidden-lg").html('&nbsp;');
  146. var divDoctor = div.clone().addClass("doctor col-xs-6 col-sm-2").text(replyConsultList[i].requestDeptCd +' / ' + replyConsultList[i].requestDrNm);
  147. var divDate = div.clone().addClass("out col-xs-3 col-sm-2 pdr0 letter-control").text(replyConsultList[i].visitDt==''? '': moment(replyConsultList[i].visitDt).format('YYYY-MM-DD'));
  148. var divPatientInfo = div.clone().addClass("list-row container").append(divNumHospital).append(divName).append(divNum).append(divEmpty).append(divDay).append(divDoctor).append(divDate);
  149. var divRequest = $("<strong></strong>").text("의뢰: ");
  150. var spanRequest = span.clone().addClass("date1").text(replyConsultList[i].requestDt!=undefined&&replyConsultList[i].requestDt!=null&&replyConsultList[i].requestDt!=''? moment(replyConsultList[i].requestDt).format('YYYY-MM-DD'): '');
  151. var divReply = $("<strong></strong>").text("회신: ");
  152. var spanReply = span.clone().addClass("date1").text(replyConsultList[i].responseDtTm!=undefined&&replyConsultList[i].responseDtTm!=null&&replyConsultList[i].responseDtTm!=''? moment(replyConsultList[i].responseDtTm).format('YYYY-MM-DD'): '');
  153. var divTreatmentDate = div.clone().addClass("list-row container text-center list-row-3").append(div.clone().addClass("col-xs-12 col-sm-12").append(
  154. divRequest).append(spanRequest).append(divReply).append(spanReply));
  155. $replyUlConsultList.append(li.clone().append(a.clone().addClass("list-group-item").attr('consultNo', i).append(divPatientInfo).append(divTreatmentDate)));
  156. };
  157. $("#replyUlConsultList .list-group-item").on("click", function(e){
  158. var consultInfo = replyConsultList[e.currentTarget.attributes.consultNo.value];
  159. consultInfo.treatDt = consultInfo.visitDt;
  160. consultInfo.consultTyp = consultInfo.consultTyp;
  161. localStorage.setItem('patientInfo', JSON.stringify(consultInfo));
  162. $('#patientPopup .popup-content').removeClass('in');
  163. $('#patientPopup #popContentConsultDetail').addClass('in');
  164. $('#newPopupFooter2').css('display', 'block');
  165. $('#patientPopup').css({'height': '-webkit-calc(100% - 40px)',
  166. 'height': '-moz-calc(100% - 40px)',
  167. 'height': 'calc(100% - 40px)',
  168. 'bottom': '0px',
  169. 'display': 'block'});
  170. mplusPatient.consultInit();
  171. /*$('.popFootContent button, .footContent button').removeClass('active');
  172. $('#headerTitle1').text("협진");
  173. $('#prescriptionContent, #examineContent, #detailContent').css('display', 'none');
  174. $('#consultDetailContent').css('display', 'block');
  175. $('#pageDetail').unbind();
  176. $('#pageDetail').modal('show');
  177. $('#consultDetailContent').scrollTop(0);
  178. var mplusDetail = new mplus_mobile_patientDetail();*/
  179. /*location.href = contextPath + '/mobile/patient/consultDetail.page';*/
  180. /*$('#pageDetail').on('hidden.bs.modal', function() {
  181. $('.popFootContent button').removeClass('active');
  182. });*/
  183. });
  184. }
  185. /*----------------------- 의뢰 resource 종료 ----------------------*/
  186. /*----------------------- 과회신 resource ----------------------*/
  187. var $deptReplyTotalNumSpan = $('#deptReplyTotalNumSpan'),
  188. $deptReplyRefreshBtn = $('#deptReplyRefreshBtn'),
  189. $deptReplyUlConsultList = $('#deptReplyUlConsultList'),
  190. $deptReplyBtnSortOpen = $('#deptReplyBtnSortOpen');
  191. var deptReplyConsultList = [];
  192. /**
  193. * 초기화
  194. */
  195. var deptReplyInit = function(){
  196. var todayDateStr = moment(today).format('YYYY-MM-DD');
  197. var prevDayStr = moment(prevDay).format('YYYY-MM-DD');
  198. $("#deptReplyDtpEndSrchdd").val(todayDateStr);
  199. $("#deptReplyDtpStartSrchdd").val(prevDayStr);
  200. deptReplyConsultList = [];
  201. $('#deptReplySltStatus').val('N');
  202. $('#deptReplySltTreatType').val('I');
  203. $deptReplyTotalNumSpan.text(0);
  204. $deptReplyUlConsultList.empty();
  205. var sortList = [{key: 'wardNm', type: 'string', value: '병동순'},
  206. {key: 'age', type: 'number', value: '연령순'},
  207. {key: 'patientNm', type: 'string', value: '이름순'}];
  208. sortInit(sortList);
  209. $('#sortConfirmBtn').unbind();
  210. $('#sortConfirmBtn').on("click", function(e){
  211. $('#sortModal').modal('hide');
  212. deptReplySortConsultList($('#sltSort').val(), $('#sltSort option:selected').attr('type'), $('input[type="radio"][name="sortRadio"]:checked').val());
  213. $('.header span').css('display', 'none');
  214. $('.header.sort_'+$('#sltSort').val()+' .sort-icon-'+$('input[type="radio"][name="sortRadio"]:checked').val()).css('display', 'inline-block');
  215. });
  216. };
  217. /**
  218. * 이벤트 등록
  219. */
  220. var deptReplyAddEvent = function(){
  221. $deptReplyRefreshBtn.on("click", function(e){
  222. $('.header span').css('display', 'none');
  223. deptReplySearchConsultList();
  224. });
  225. $deptReplyBtnSortOpen.on("click", function(e){
  226. $('#sortModal').modal('show');
  227. });
  228. };
  229. /**
  230. * 기초데이터 셋팅
  231. */
  232. var deptReplyInitDataSetting = function(){
  233. };
  234. var deptReplySearchConsultList = function(){
  235. if($('#deptReplyDtpStartSrchdd').val()=='' || $('#deptReplyDtpEndSrchdd').val()==''){
  236. self.alert('조회 일자를 입력해주세요.');
  237. return;
  238. }else if(self.dateCalc($('#deptReplyDtpStartSrchdd').val(), $('#deptReplyDtpEndSrchdd').val())>6){
  239. self.alert('조회 기간은 7일이내로 설정해주세요.');
  240. return;
  241. }else if(self.dateCalc($('#deptReplyDtpStartSrchdd').val(), $('#deptReplyDtpEndSrchdd').val())<0){
  242. self.alert('조회 기간을 확인해주세요.');
  243. return;
  244. };
  245. $deptReplyUlConsultList.empty();
  246. deptReplyConsultList = [];
  247. var param = {
  248. startDt: moment($('#deptReplyDtpStartSrchdd').val()).format('YYYYMMDD'),
  249. endDt: moment($('#deptReplyDtpEndSrchdd').val()).format('YYYYMMDD'),
  250. departmentCd: localStorage.selectDeptCode,
  251. /*doctorId: loginUserId,*/
  252. viewTyp: 'D',
  253. treatTyp: $('#deptReplySltTreatType').val(),
  254. statusTyp: $('#deptReplySltStatus').val()
  255. };
  256. self.consult.getConsultResList(param, 'deptReply');
  257. $("#deptReply_consultList .header.visit-dt").text($('#deptReplySltTreatType').val()=='I'? '입원일': '진료일');
  258. /*bindingConsultList(consultList);*/
  259. }
  260. var deptReplySortConsultList = function(key, type, method){
  261. deptReplyConsultList = self.util.sortObj(deptReplyConsultList, key, type, method);
  262. deptReplyBindingConsultList(deptReplyConsultList, null);
  263. };
  264. deptReplyBindingConsultList = function(bindConsultList, extraMsg){
  265. $deptReplyUlConsultList.empty();
  266. deptReplyConsultList = bindConsultList;
  267. $deptReplyTotalNumSpan.text(deptReplyConsultList.length);
  268. if(deptReplyConsultList.length==0){
  269. $deptReplyUlConsultList.append(li.clone().append(div.clone().addClass('text-center no-result').text('―')));
  270. };
  271. for(var i=0; i<deptReplyConsultList.length; i++){
  272. var divNumHospital = div.clone().addClass("num_b col-xs-3 col-sm-2 pdr0 letter-control").text(deptReplyConsultList[i].consultTyp=='I'? deptReplyConsultList[i].wardNm + '/' +deptReplyConsultList[i].roomNm: '외래');
  273. var divName = div.clone().addClass("name col-xs-6 col-sm-4").text(deptReplyConsultList[i].patientNm + ' ' +deptReplyConsultList[i].patientId);
  274. var divNum = div.clone().addClass("num_3 col-xs-3 col-sm-2").text(deptReplyConsultList[i].gender + ' / ' + deptReplyConsultList[i].age);
  275. /*var divNum = div.clone().addClass("num col-xs-3 col-sm-2").append(
  276. span.clone().addClass('badge ' + (deptReplyConsultList[i].sex=='F'? 'female':'male') )
  277. .text( (deptReplyConsultList[i].sex=='F'? 'F':'M') + deptReplyConsultList[i].age )
  278. );*/
  279. var divEmpty = div.clone().addClass('clearfix visible-xs-block').text(' ');
  280. var divDay = div.clone().addClass("col-xs-3 hidden-sm hidden-md hidden-lg").html('&nbsp;');
  281. var divDoctor = div.clone().addClass("doctor col-xs-6 col-sm-2").text(deptReplyConsultList[i].requestDeptCd + ' / '+ deptReplyConsultList[i].requestDrNm);
  282. var divDate = div.clone().addClass("out col-xs-3 col-sm-2 pdr0 letter-control").text(deptReplyConsultList[i].visitDt==''? '' : moment(deptReplyConsultList[i].visitDt).format('YYYY-MM-DD'));
  283. var divPatientInfo = div.clone().addClass("list-row container").append(divNumHospital).append(divName).append(divNum).append(divEmpty).append(divDay).append(divDoctor).append(divDate);
  284. var divRequest = $("<strong></strong>").text("의뢰: ");
  285. var spanRequest = span.clone().addClass("date1").text(deptReplyConsultList[i].requestDt!=undefined&&deptReplyConsultList[i].requestDt!=null&&deptReplyConsultList[i].requestDt!=''? moment(deptReplyConsultList[i].requestDt).format('YYYY-MM-DD'): '');
  286. var divReply = $("<strong></strong>").text("회신: ");
  287. var spanReply = span.clone().addClass("date1").text(deptReplyConsultList[i].responseDtTm!=undefined&&deptReplyConsultList[i].responseDtTm!=null&&deptReplyConsultList[i].responseDtTm!=''? moment(deptReplyConsultList[i].responseDtTm).format('YYYY-MM-DD'): '');
  288. var divTreatmentDate = div.clone().addClass("list-row container text-center list-row-3").append(div.clone().addClass("col-xs-12 col-sm-12").append(
  289. divRequest).append(spanRequest).append(divReply).append(spanReply));
  290. $deptReplyUlConsultList.append(li.clone().append(a.clone().addClass("list-group-item").attr('consultNo', i).append(divPatientInfo).append(divTreatmentDate)));
  291. };
  292. $("#deptReplyUlConsultList .list-group-item").on("click", function(e){
  293. var consultInfo = deptReplyConsultList[e.currentTarget.attributes.consultNo.value];
  294. consultInfo.treatDt = consultInfo.visitDt;
  295. consultInfo.treatTyp = consultInfo.consultTyp;
  296. localStorage.setItem('patientInfo', JSON.stringify(consultInfo));
  297. $('#patientPopup .popup-content').removeClass('in');
  298. $('#patientPopup #popContentConsultDetail').addClass('in');
  299. $('#newPopupFooter2').css('display', 'block');
  300. $('#patientPopup').css({'height': '-webkit-calc(100% - 40px)',
  301. 'height': '-moz-calc(100% - 40px)',
  302. 'height': 'calc(100% - 40px)',
  303. 'bottom': '0px',
  304. 'display': 'block'});
  305. mplusPatient.consultInit();
  306. /*$('.popFootContent button, .footContent button').removeClass('active');
  307. $('#headerTitle1').text("협진");
  308. $('#prescriptionContent, #examineContent, #detailContent').css('display', 'none');
  309. $('#consultDetailContent').css('display', 'block');
  310. $('#pageDetail').unbind();
  311. $('#pageDetail').modal('show');
  312. $('#consultDetailContent').scrollTop(0);
  313. var mplusDetail = new mplus_mobile_patientDetail();*/
  314. /*location.href = contextPath + '/mobile/patient/consultDetail.page';*/
  315. /*$('#pageDetail').on('hidden.bs.modal', function() {
  316. $('.popFootContent button').removeClass('active');
  317. });*/
  318. });
  319. }
  320. /*----------------------- 과회신 resource 종료 ----------------------*/
  321. /*----------------------- 의뢰 resource ----------------------*/
  322. var $requestTotalNumSpan = $('#requestTotalNumSpan'),
  323. $requestRefreshBtn = $('#requestRefreshBtn'),
  324. $requestUlConsultList = $('#requestUlConsultList'),
  325. $requestBtnSortOpen = $('#requestBtnSortOpen');
  326. var requestConsultList = [];
  327. /**
  328. * 초기화
  329. */
  330. var requestInit = function(){
  331. var todayDateStr = moment(today).format('YYYY-MM-DD');
  332. var prevDayStr = moment(prevDay).format('YYYY-MM-DD');
  333. $("#requestDtpEndSrchdd").val(todayDateStr);
  334. $("#requestDtpStartSrchdd").val(prevDayStr);
  335. var sortList = [{key: 'wardNm', type: 'string', value: '병동순'},
  336. {key: 'age', type: 'number', value: '연령순'},
  337. {key: 'patientNm', type: 'string', value: '이름순'}];
  338. sortInit(sortList);
  339. $requestTotalNumSpan.text(0);
  340. $requestUlConsultList.empty();
  341. requestConsultList = [];
  342. $('#sortConfirmBtn').unbind();
  343. $('#sortConfirmBtn').on("click", function(e){
  344. $('#sortModal').modal('hide');
  345. requestSortConsultList($('#sltSort').val(), $('#sltSort option:selected').attr('type'), $('input[type="radio"][name="sortRadio"]:checked').val());
  346. $('.header span').css('display', 'none');
  347. $('.header.sort_'+$('#sltSort').val()+' .sort-icon-'+$('input[type="radio"][name="sortRadio"]:checked').val()).css('display', 'inline-block');
  348. });
  349. };
  350. /**
  351. * 이벤트 등록
  352. */
  353. var requestAddEvent = function(){
  354. $requestRefreshBtn.on("click", function(e){
  355. $('.header span').css('display', 'none');
  356. requestSearchConsultList();
  357. });
  358. $requestBtnSortOpen.on("click", function(e){
  359. $('#sortModal').modal('show');
  360. });
  361. };
  362. /**
  363. * 기초데이터 셋팅
  364. */
  365. var requestInitDataSetting = function(){
  366. };
  367. var requestSearchConsultList = function(){
  368. if($('#requestDtpStartSrchdd').val()=='' || $('#requestDtpEndSrchdd').val()==''){
  369. self.alert('조회 일자를 입력해주세요.');
  370. return;
  371. }else if(self.dateCalc($('#requestDtpStartSrchdd').val(), $('#requestDtpEndSrchdd').val())>6){
  372. self.alert('조회 기간은 7일이내로 설정해주세요.');
  373. return;
  374. }else if(self.dateCalc($('#requestDtpStartSrchdd').val(), $('#requestDtpEndSrchdd').val())<0){
  375. self.alert('조회 기간을 확인해주세요.');
  376. return;
  377. };
  378. $requestUlConsultList.empty();
  379. requestConsultList = [];
  380. var param = {
  381. startDt: moment($('#requestDtpStartSrchdd').val()).format('YYYYMMDD'),
  382. endDt: moment($('#requestDtpEndSrchdd').val()).format('YYYYMMDD'),
  383. departmentCd: localStorage.selectDeptCode,
  384. doctorId: loginUserId,
  385. statusTyp: 'A' // 임시셋팅
  386. };
  387. self.consult.getConsultReqList(param);
  388. /*bindingConsultList(consultList);*/
  389. };
  390. var requestSortConsultList = function(key, type, method){
  391. requestConsultList = self.util.sortObj(requestConsultList, key, type, method);
  392. requestBindingConsultList(requestConsultList, null);
  393. };
  394. requestBindingConsultList = function(bindConsultList, extraMsg){
  395. $requestUlConsultList.empty();
  396. requestConsultList = bindConsultList;
  397. $requestTotalNumSpan.text(requestConsultList.length);
  398. if(requestConsultList.length==0){
  399. $requestUlConsultList.append(li.clone().append(div.clone().addClass('text-center no-result').text('―')));
  400. };
  401. for(var i=0; i<requestConsultList.length; i++){
  402. var divNumHospital = div.clone().addClass("num_b col-xs-3 col-sm-2 pdr0 letter-control").text(requestConsultList[i].consultTyp=='I'? requestConsultList[i].wardNm + '/'+ requestConsultList[i].roomNm: '외래');
  403. var divName = div.clone().addClass("name col-xs-6 col-sm-4").text(requestConsultList[i].patientNm + ' ' + requestConsultList[i].patientId);
  404. var divNum = div.clone().addClass("num_3 col-xs-3 col-sm-2").text( requestConsultList[i].gender + ' / ' +requestConsultList[i].age );
  405. /*var divNum = div.clone().addClass("num col-xs-3 col-sm-2").append(
  406. span.clone().addClass('badge ' + (requestConsultList[i].sex=='F'? 'female':'male') )
  407. .text( (requestConsultList[i].sex=='F'? 'F':'M') + requestConsultList[i].age )
  408. );*/
  409. var divEmpty = div.clone().addClass('clearfix visible-xs-block').text(' ');
  410. var divDay = div.clone().addClass("col-xs-3 hidden-sm hidden-md hidden-lg").html('&nbsp;');
  411. var divDoctor = div.clone().addClass("doctor col-xs-6 col-sm-2").text(requestConsultList[i].requestDeptCd + ' / ' + requestConsultList[i].requestDrNm);
  412. var divDate = div.clone().addClass("out col-xs-3 col-sm-2 pdr0 letter-control").text(requestConsultList[i].visitDt==''? '': moment(requestConsultList[i].visitDt).format('YYYY-MM-DD'));
  413. var divPatientInfo = div.clone().addClass("list-row container").append(divNumHospital).append(divName).append(divNum).append(divEmpty).append(divDay).append(divDoctor).append(divDate);
  414. var divRequest = $("<strong></strong>").text("의뢰: ");
  415. var spanRequest = span.clone().addClass("date1").text(requestConsultList[i].requestDt!=undefined&&requestConsultList[i].requestDt!=null&&requestConsultList[i].requestDt!=''? moment(requestConsultList[i].requestDt).format('YYYY-MM-DD'):'');
  416. var divReply = $("<strong></strong>").text("회신: ");
  417. var spanReply = span.clone().addClass("date1").text(requestConsultList[i].responseDtTm!=undefined&&requestConsultList[i].responseDtTm!=null&&requestConsultList[i].responseDtTm!=''? moment(requestConsultList[i].responseDtTm).format('YYYY-MM-DD'): '');
  418. var divTreatmentDate = div.clone().addClass("list-row container text-center list-row-3").append(div.clone().addClass("col-xs-12 col-sm-12").append(
  419. divRequest).append(spanRequest).append(divReply).append(spanReply));
  420. $requestUlConsultList.append(li.clone().append(a.clone().addClass("list-group-item").attr('consultNo', i).append(divPatientInfo).append(divTreatmentDate)));
  421. };
  422. $("#requestUlConsultList .list-group-item").on("click", function(e){
  423. var consultInfo = requestConsultList[e.currentTarget.attributes.consultNo.value];
  424. consultInfo.treatDt = consultInfo.visitDt;
  425. consultInfo.treatTyp = consultInfo.consultTyp;
  426. localStorage.setItem('patientInfo', JSON.stringify(consultInfo));
  427. $('#patientPopup .popup-content').removeClass('in');
  428. $('#patientPopup #popContentConsultDetail').addClass('in');
  429. $('#newPopupFooter2').css('display', 'block');
  430. $('#patientPopup').css({'height': '-webkit-calc(100% - 40px)',
  431. 'height': '-moz-calc(100% - 40px)',
  432. 'height': 'calc(100% - 40px)',
  433. 'bottom': '0px',
  434. 'display': 'block'});
  435. mplusPatient.consultInit();
  436. /*$('.popFootContent button, .footContent button').removeClass('active');
  437. $('#headerTitle1').text("협진");
  438. $('#prescriptionContent, #examineContent, #detailContent').css('display', 'none');
  439. $('#consultDetailContent').css('display', 'block');
  440. $('#pageDetail').unbind();
  441. $('#pageDetail').modal('show');
  442. $('#consultDetailContent').scrollTop(0);*/
  443. /*var mplusDetail = new mplus_mobile_patientDetail();*/
  444. /*location.href = contextPath + '/mobile/patient/consultDetail.page';*/
  445. /*$('#pageDetail').on('hidden.bs.modal', function() {
  446. $('.popFootContent button').removeClass('active');
  447. });*/
  448. })
  449. }
  450. /*----------------------- 회신 resource 종료 ----------------------*/
  451. };