treatment.js 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. /**
  2. * mplus_mobile_treatment
  3. */
  4. var mplus_mobile_treatment = function(){
  5. // 상속
  6. mplus_common.call(this);
  7. // super
  8. var self = this;
  9. //변수
  10. var div = $("<div></div>");
  11. var tr = $("<tr></tr>");
  12. var th = $("<th></th>");
  13. var td = $("<td></td>");
  14. var table = $("<table></table>");
  15. var li = $("<li></li>");
  16. var a = $("<a></a>");
  17. var span = $("<span></span>");
  18. var button = $("<button></button>");
  19. var $sltDept = $('#sltDept'),
  20. $scheduleList = $('#scheduleList');
  21. var scheduleList = [];
  22. var openFlag = false;
  23. $(window).on('load resize',function(){
  24. if( self.isTablet() ) {
  25. $('#treatmentList table').css({
  26. 'width': '100%',
  27. 'max-width': '100%'
  28. });
  29. }else{
  30. $('#treatmentList table').css({
  31. 'width': 'max-content',
  32. 'max-width': 'initial'
  33. });
  34. };
  35. });
  36. /**
  37. * 초기화
  38. */
  39. this.init = function(){
  40. addEvent();
  41. initDataSetting();
  42. searchScheduleList(localStorage.selectDeptCode);
  43. };
  44. /**
  45. * 이벤트 등록
  46. */
  47. var addEvent = function(){
  48. $('#sltDept').change(function(){
  49. searchScheduleList($('#sltDept').val());
  50. });
  51. };
  52. /**
  53. * 기초데이터 셋팅
  54. */
  55. var initDataSetting = function(){
  56. var deptList = [];
  57. self.hospital.getDeptList('D', function(result){
  58. deptList = result;
  59. $('#sltDept').empty();
  60. for(var i=0; i<deptList.length; i++){
  61. option = $('<option></option>').clone().attr('value', deptList[i].departmentCd)
  62. .attr('type', deptList[i].departmentTyp)
  63. .text(deptList[i].departmentNm);
  64. $('#sltDept').append(option);
  65. };
  66. $('#sltDept').val(localStorage.selectDeptCode);
  67. if($('#sltDept').val()==null){
  68. $("#sltDept").val($("#sltDept option:first").val());
  69. };
  70. });
  71. };
  72. var searchScheduleList = function(deptCode){
  73. $scheduleList.empty();
  74. scheduleList = [];
  75. var param = {
  76. departmentCd: deptCode
  77. };
  78. self.schedule.getTreatSchedule(param);
  79. };
  80. bindingPatientList = function(bindScheduleList, extraMsg){
  81. $scheduleList.empty();
  82. scheduleList = bindScheduleList;
  83. if(scheduleList.length==0){
  84. $scheduleList.append(tr.clone().addClass('').append(
  85. td.clone().addClass('text-center no-result').attr('colspan', '13').text('―')));
  86. };
  87. for(var i=0; i<scheduleList.length; i++){
  88. var trWeekday = tr.clone().addClass('row-style').append(
  89. td.clone().addClass('td-doctor').attr('data-row', i).text(scheduleList[i].doctorNm)
  90. ).append(
  91. td.clone().append(div.clone().addClass(scheduleList[i].MonAm=='G'? 'circle': scheduleList[i].MonAm=='S'? 'diamond': ''))
  92. ).append(
  93. td.clone().append(div.clone().addClass(scheduleList[i].MonPm=='G'? 'circle': scheduleList[i].MonPm=='S'? 'diamond': ''))
  94. ).append(
  95. td.clone().addClass('td-shade').append(div.clone().addClass(scheduleList[i].TueAm=='G'? 'circle': scheduleList[i].TueAm=='S'? 'diamond': ''))
  96. ).append(
  97. td.clone().addClass('td-shade').append(div.clone().addClass(scheduleList[i].TuePm=='G'? 'circle': scheduleList[i].TuePm=='S'? 'diamond': ''))
  98. ).append(
  99. td.clone().append(div.clone().addClass(scheduleList[i].WedAm=='G'? 'circle': scheduleList[i].WedAm=='S'? 'diamond': ''))
  100. ).append(
  101. td.clone().append(div.clone().addClass(scheduleList[i].WedPm=='G'? 'circle': scheduleList[i].WedPm=='S'? 'diamond': ''))
  102. ).append(
  103. td.clone().addClass('td-shade').append(div.clone().addClass(scheduleList[i].ThuAm=='G'? 'circle': scheduleList[i].ThuAm=='S'? 'diamond': ''))
  104. ).append(
  105. td.clone().addClass('td-shade').append(div.clone().addClass(scheduleList[i].ThuPm=='G'? 'circle': scheduleList[i].ThuPm=='S'? 'diamond': ''))
  106. ).append(
  107. td.clone().append(div.clone().addClass(scheduleList[i].FriAm=='G'? 'circle': scheduleList[i].FriAm=='S'? 'diamond': ''))
  108. ).append(
  109. td.clone().append(div.clone().addClass(scheduleList[i].FriPm=='G'? 'circle': scheduleList[i].FriPm=='S'? 'diamond': ''))
  110. ).append(
  111. td.clone().addClass('td-shade').append(div.clone().addClass(scheduleList[i].SatAm=='G'? 'circle': scheduleList[i].SatAm=='S'? 'diamond': ''))
  112. ).append(
  113. td.clone().addClass('td-shade').append(div.clone().addClass(scheduleList[i].SatPm=='G'? 'circle': scheduleList[i].SatPm=='S'? 'diamond': ''))
  114. )
  115. $scheduleList.append(trWeekday);
  116. };
  117. $('.td-doctor').on('click', function(e){
  118. var rowCount = e.currentTarget.getAttribute("data-row");
  119. var scheduleInfo = scheduleList[rowCount];
  120. var docTel = scheduleInfo.doctorTel + "";
  121. $('#doctorNm').text(scheduleInfo.doctorNm);
  122. $('#doctorSpecialArea').text(scheduleInfo.speciality);
  123. $('#doctorTel').text(scheduleInfo.doctorTel);
  124. if(scheduleInfo.doctorTel==undefined||scheduleInfo.doctorTel==null||scheduleInfo.doctorTel==''){
  125. $('#doctorTelBtn').css('display', 'none');
  126. }else{
  127. //2018.05.02. 원내번호 입력 시 연락 버튼 감춤
  128. if(docTel.indexOf("-") != -1){
  129. var arrlocNum = docTel.split("-");
  130. if(arrlocNum[0] != "010"){
  131. $('#doctorTelBtn').css('display', 'none');
  132. }else{
  133. $('#doctorTelBtn').css('display', 'inline-block');
  134. }
  135. }else{
  136. $('#doctorTelBtn').css('display', 'none');
  137. }
  138. };
  139. $('#modalDoctorInfo').modal('show');
  140. $('#doctorTelBtn').unbind();
  141. $('#doctorTelBtn').on('click', function(e){
  142. if(scheduleInfo.doctorTel==undefined||scheduleInfo.doctorTel==null||scheduleInfo.doctorTel==''){
  143. self.alert('해당 의사의 전화번호가 존재하지 않습니다.');
  144. return;
  145. };
  146. location.href = 'tel:'+scheduleInfo.doctorTel;
  147. });
  148. });
  149. $('#treatmentList').scrollLeft(0);
  150. };
  151. };