operationdetail.js 8.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226
  1. "use strict";
  2. /**
  3. * mplus_modal_operationdetail
  4. */
  5. var mplus_modal_operationdetail = function(){
  6. // 상속
  7. mplus_common.call(this);
  8. // 상위 객체 생성
  9. //var mplusPatient = new mplus_mobile_patient();
  10. //var mplusNursing = new mplus_nursing();
  11. //super
  12. var self = this;
  13. var varOpDetailHistoryList = [];
  14. //==== 변수 { ====
  15. //==== 변수 } ====
  16. /**
  17. * 초기화
  18. */
  19. this.init = function(permissionFlag){ //여기서 모든화면 콤보박스데이터를 집어넣자!!! 그래야지 화면이동할때 속도가 오래걸리지않음!!!
  20. // 접근 권한 체크
  21. if(permissionFlag == "Y"){
  22. checkAccessPermission();
  23. }
  24. // 초기 화면 조건 구성
  25. initCondition();
  26. // 이벤트 초기화
  27. addEvent();
  28. };
  29. //접근 권한 체크
  30. var checkAccessPermission = function(){
  31. checkAccessRights();
  32. };
  33. var checkAccessRights = function(){
  34. var param = {
  35. userId: gLoginUserId,
  36. patientId: gPatientId,
  37. accessCd : "00"
  38. };
  39. self.medical.checkAccessRights(param, processCheckAccessRights);
  40. };
  41. var processCheckAccessRights = function(lists){
  42. if( lists.length == 1){
  43. if( lists[0].isAllowed == "0"){
  44. // 환자 정보 화면을 종료함
  45. self.alertTrue( "환자 정보 접근 권한이 없습니다, " + lists[0].rejectedMsg, function(){$("#modalCollaborationDetail").modal("hide");});
  46. }
  47. } else {
  48. // 환자 정보 화면을 종료함
  49. self.alertTrue( "환자 정보 접근 권한이 없습니다.", function(){$("#modalCollaborationDetail").modal("hide");});
  50. }
  51. };
  52. //==== 초기화 설정 { ====
  53. var initCondition = function(){
  54. // 초기 화면 조건 구성
  55. initEmptyData();
  56. //####################################################################################################################################
  57. //#################################조건을 서버에서 가져 올 경우 서버호출 > 콜백 > 서버호출 > 콜백으로 처리해야함 #####################
  58. //## initOperationHistory > processSearchOperationHistory > initOperationDetail > processSearchOperationDetail ##
  59. //####################################################################################################################################
  60. initOperationHistory();
  61. };
  62. var initEmptyData = function(){
  63. varOpDetailHistoryList = [];
  64. $("#selOperationHistory").empty();
  65. $("#spanOperationDetailWardRoomBed").text("");
  66. $("#spanOperationDeptDrNm").text("");
  67. $("#spanOperationStatNm").text("");
  68. $("#spanOperationStartDt").text("");
  69. $("#spanOperationCntrRoomNm").text("");
  70. $("#spanOperationDiagnosisNm").text("");
  71. $("#spanOperationNm").text("");
  72. $("#spanOperationStartEndTm").text("");
  73. $("#spanOperationRmk").text("");
  74. };
  75. var initOperationHistory = function(){
  76. var param = {
  77. userId:gLoginUserId,
  78. patientId:gPatientId,
  79. operationDeptCd:gPatientDeptCd,
  80. operationDrId:gPatientDoctorId,
  81. // 20190523 dkchoi75 이력 API input 시 접수번호 receiptNo 추가
  82. receiptNo:gPatientReceiptNo
  83. };
  84. self.medical.getOpDetailHistoryList(param, processSearchOperationHistory);
  85. };
  86. var processSearchOperationHistory = function(lists){
  87. $("#selOperationHistory").empty();
  88. var strDisplayTemp = "";
  89. varOpDetailHistoryList = lists;
  90. if(lists == undefined || lists.length == 0){
  91. strDisplayTemp = "<option value=\"\">수술 이력이 없습니다.</option>";
  92. $("#selOperationHistory").append(strDisplayTemp);
  93. $("#selOperationHistory").val($("#selOperationHistory option:first").val());
  94. return;
  95. }
  96. if(lists != undefined){
  97. for(var i=0; i<lists.length; i++){
  98. var strTailTemp = "";
  99. var operationDt = "";
  100. if(lists[i].operationDeptNm != undefined && lists[i].operationDeptNm != ""){
  101. strTailTemp += lists[i].operationDeptNm
  102. }
  103. if(lists[i].operationDrNm != undefined && lists[i].operationDrNm != ""){
  104. strTailTemp += " / " + lists[i].operationDrNm;
  105. }
  106. // strDisplayTemp += "<option value=\""+ i + "\" >"+ moment(lists[i].operationDt).format("YYYY-MM-DD") + " " + strTailTemp + "</option>";
  107. strDisplayTemp += "<option value=\""+ i + "\" >"+ lists[i].operationDt + " " + strTailTemp + "</option>";
  108. }
  109. }
  110. $("#selOperationHistory").append(strDisplayTemp);
  111. $("#selOperationHistory").val($("#selOperationHistory option:first").val());
  112. initOperationDetail();
  113. };
  114. var initOperationDetail = function(){
  115. var param = {
  116. userId: gLoginUserId,
  117. patientId: gPatientId,
  118. operationDt: varOpDetailHistoryList[$("#selOperationHistory").val()].operationDt != undefined ? varOpDetailHistoryList[$("#selOperationHistory").val()].operationDt : "",
  119. operationDeptCd: varOpDetailHistoryList[$("#selOperationHistory").val()].operationDeptCd != undefined ? varOpDetailHistoryList[$("#selOperationHistory").val()].operationDeptCd : "",
  120. operationDrId: varOpDetailHistoryList[$("#selOperationHistory").val()].operationDrId != undefined ? varOpDetailHistoryList[$("#selOperationHistory").val()].operationDrId : "",
  121. operationCntrCd: varOpDetailHistoryList[$("#selOperationHistory").val()].operationCntrCd != undefined ? varOpDetailHistoryList[$("#selOperationHistory").val()].operationCntrCd : "",
  122. operationRoomCd: varOpDetailHistoryList[$("#selOperationHistory").val()].operationRoomCd != undefined ? varOpDetailHistoryList[$("#selOperationHistory").val()].operationRoomCd : "",
  123. // 20190521 dkchoi75 백병원 수술 상세 조회 API, Input Parameter receiptNo(접수번호) 추가
  124. receiptNo: varOpDetailHistoryList[$("#selOperationHistory").val()].receiptNo != undefined ? varOpDetailHistoryList[$("#selOperationHistory").val()].receiptNo : ""
  125. };
  126. self.medical.getOperationDetail(param, processSearchOperationDetail);
  127. };
  128. var processSearchOperationDetail = function(lists){
  129. //console.log(JSON.stringify(lists));
  130. if(lists != undefined){
  131. var varOperationDetailWardRoomBed = ((lists[0].wardNm != null)? lists[0].wardNm : "");
  132. varOperationDetailWardRoomBed = varOperationDetailWardRoomBed + " / " + ((lists[0].roomNm != null)? lists[0].roomNm : "");
  133. varOperationDetailWardRoomBed = varOperationDetailWardRoomBed + " / " + ((lists[0].bedNm != null)? lists[0].bedNm : "");
  134. var varOperationDeptDrNm = ((lists[0].operationDeptNm != null)? lists[0].operationDeptNm : "");
  135. varOperationDeptDrNm = varOperationDeptDrNm + " / " + ((lists[0].operationDrNm != null)? lists[0].operationDrNm : "");
  136. // var varOperationStartDt = (lists[0].operationStartDt != null)? moment(lists[0].operationStartDt).format("YYYY-MM-DD") : "";
  137. var varOperationStartDt = (lists[0].operationStartDt != null)? lists[0].operationStartDt : "";
  138. var varOperationCntrRoomNm = ((lists[0].operationCntrNm != null)? lists[0].operationCntrNm : "");
  139. varOperationCntrRoomNm = varOperationCntrRoomNm + " / " + ((lists[0].operationRoomNm != null)? lists[0].operationRoomNm : "");
  140. var varOperationStartEndTm = (lists[0].operationStartTm != null)? moment("20000101T" + lists[0].operationStartTm).format("HH:mm:ss") : "";
  141. varOperationStartEndTm = varOperationStartEndTm + " ~ " + ((lists[0].operationEndTm != null)? moment("20000101T" + lists[0].operationEndTm).format("HH:mm:ss") : "");
  142. $("#spanOperationDetailWardRoomBed").text(varOperationDetailWardRoomBed);
  143. $("#spanOperationDeptDrNm").text(varOperationDeptDrNm);
  144. $("#spanOperationStatNm").text(lists[0].operationStatNm);
  145. $("#spanOperationStartDt").text(varOperationStartDt);
  146. $("#spanOperationCntrRoomNm").text(varOperationCntrRoomNm);
  147. $("#spanOperationDiagnosisNm").text(lists[0].diagnosisNm);
  148. $("#spanOperationNm").text(lists[0].operationNm);
  149. $("#spanOperationStartEndTm").text(varOperationStartEndTm);
  150. $("#spanOperationRmk").text(lists[0].operationRmk);
  151. }
  152. };
  153. var emptyOperationDetailView = function(){
  154. $("#spanOperationDetailWardRoomBed").text("");
  155. $("#spanOperationDeptDrNm").text("");
  156. $("#spanOperationStatNm").text("");
  157. $("#spanOperationStartDt").text("");
  158. $("#spanOperationCntrRoomNm").text("");
  159. $("#spanOperationDiagnosisNm").text("");
  160. $("#spanOperationNm").text("");
  161. $("#spanOperationStartEndTm").text("");
  162. $("#spanOperationRmk").text("");
  163. };
  164. //==== 초기화 설정 } ====
  165. //==== 이벤트 설정 { ====
  166. var addEvent = function(){
  167. //$("#btnLogout").on("click", function(){
  168. // logout();
  169. //});
  170. eventColumnClick();
  171. eventRowClick();
  172. eventConditionClick();
  173. };
  174. var eventConditionClick = function(){
  175. $("#selOperationHistory").off("change");
  176. $("#selOperationHistory").on("change", function(){
  177. emptyOperationDetailView();
  178. initOperationDetail();
  179. });
  180. };
  181. var eventColumnClick = function(){
  182. };
  183. var eventRowClick = function(){
  184. };
  185. //==== 이벤트 설정 } ====
  186. //==== 서비스 실행 { ====
  187. //==== 서비스 실행 { ====
  188. };