outpatient.js 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508
  1. "use strict";
  2. /**
  3. * mplus_medical_outpatient
  4. */
  5. var mplus_medical_outpatient = 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. //==== 변수 { ====
  14. // column 정렬의 토글 상태 제어용 : 0: not selected, 1:오름차순, 2:내림차순
  15. var varToggleCol1 = 0;
  16. var varToggleCol2 = 0;
  17. var varToggleCol3 = 0;
  18. var varToggleCol4 = 0;
  19. var varToggleCol5 = 0;
  20. var varToggleCol6 = 0;
  21. var varToggleCol7 = 0;
  22. var varToggleCol8 = 0;
  23. var varResultLists = [];
  24. var varSearchCls = "O";// 조회구분(I:입원, O:외래, E:응급, OP:수술, T:시술, C:협진)
  25. //==== 변수 } ====
  26. /**
  27. * 초기화
  28. */
  29. this.init = function(){ //여기서 모든화면 콤보박스데이터를 집어넣자!!! 그래야지 화면이동할때 속도가 오래걸리지않음!!!
  30. // 접근 권한 체크
  31. checkAccessPermission();
  32. // 초기 화면 조건 구성
  33. initCondition();
  34. // 이벤트 초기화
  35. addEvent();
  36. // 환자 검색 실행 및 환자 정보 화면 출력
  37. //searchPatient();
  38. };
  39. //==== 접근 권한 체크 { ====
  40. var checkAccessPermission = function(){
  41. //if( !self.common.checkAccessJobKind( "1000")){
  42. // self.alertTrue("접근 권한이 없습니다.", self.common.gotoDefaultHomePage);
  43. //}
  44. //if( !self.common.checkAccessUserAuth( "01")){
  45. // self.alertTrue("접근 권한이 없습니다.", self.common.gotoDefaultHomePage);
  46. //}
  47. //self.common.disableElements( $("#myModalBtn"));
  48. };
  49. //==== 접근 권한 체크 } ====
  50. //==== 초기화 설정 { ====
  51. var initCondition = function(){
  52. // 초기 화면 조건 구성
  53. // 날짜를 현재 날짜로 등록
  54. var varCurDate = new Date();
  55. var strCurDate = self.util.toDate( new Date());
  56. $("#dateOutpatientSearchDt").val( strCurDate);
  57. // 진료과 로드
  58. getDeptList( varSearchCls);
  59. // 외래 진료 상태 리스트 조회
  60. getOutTreatStatList();
  61. // 텍스트 검색 내용 초기화
  62. $("#txtOutpatientSearchTxt").val("");
  63. };
  64. // 진료과 목록을 요청
  65. var getDeptList = function( searchCls){
  66. var param = {
  67. userId: gLoginUserId,
  68. searchCls: searchCls
  69. };
  70. self.medical.getDeptList(param, processGetDeptList);
  71. };
  72. // 진료과 목록을 처리
  73. var processGetDeptList = function( lists){
  74. var strDisplayTemp = "";
  75. $("#sltOutpatientDeptCd").empty();
  76. strDisplayTemp += "<option value=\"\">진료과</option>";
  77. for( var i = 0; i < lists.length; i++){
  78. strDisplayTemp += "<option value=\"" + lists[i].deptCd + "\">" + lists[i].deptNm + "</option>";
  79. }
  80. $("#sltOutpatientDeptCd").append(strDisplayTemp); // element 추가
  81. // 진료과 목록에 현재 지정된 과가 존재하는 경우, 지정된 과의 담당의 목록을 띄워줌
  82. if( self.util.isValueInSelect( $("#sltOutpatientDeptCd")[0], localStorage.selectedDeptCd)){
  83. // 기본 진료과 설정
  84. $("#sltOutpatientDeptCd").val(localStorage.selectedDeptCd);
  85. // 기본 진료과의 해당 지정의 목록을 조회
  86. getDoctorListByDept( $("#sltOutpatientDeptCd").val(), varSearchCls);
  87. }
  88. }
  89. // 진료의 목록을 요청
  90. var getDoctorListByDept = function( deptCd, searchCls){
  91. var param = {
  92. userId: gLoginUserId,
  93. deptCd: deptCd,
  94. searchCls: searchCls
  95. };
  96. self.medical.getDoctorListByDept(param, processGetDoctorListByDept);
  97. };
  98. // 진료의 목록을 처리
  99. var processGetDoctorListByDept = function( lists){
  100. var strDisplayTemp = "";
  101. $("#sltOutpatientSelectedDrId").empty();
  102. strDisplayTemp += "<option value=\"\">진료의</option>";
  103. for( var i = 0; i < lists.length; i++){
  104. strDisplayTemp += "<option value=\"" + lists[i].doctorId + "\">" + lists[i].doctorNm + "</option>";
  105. }
  106. $("#sltOutpatientSelectedDrId").append(strDisplayTemp); // element 추가
  107. //2019-01-09 전공의 항목에 사용자 id, 이름 이 없을경우 %전공의로 선택 처리
  108. //20190528 백병원 공통 요구 사항 전공의 처리 제외
  109. $("#sltOutpatientSelectedDrId").val(self.common.commonResidentSelect($("#sltOutpatientSelectedDrId")[0], localStorage.selectedUserNm, gLoginUserId));
  110. searchPatient();
  111. }
  112. // 외래 진료 상태 리스트 요청
  113. var getOutTreatStatList = function(){
  114. var param = {};
  115. self.medical.getOutTreatStatList(param, processGetOutTreatStatList);
  116. };
  117. // 외래 진료 상태 리스트 처리
  118. var processGetOutTreatStatList = function( lists){
  119. var strDisplayTemp = "";
  120. $("#sltOutpatientTreatStat").empty();
  121. strDisplayTemp += "<option value=\"\">진료상태</option>";
  122. for( var i = 0; i < lists.length; i++){
  123. strDisplayTemp += "<option value=\"" + lists[i].outTreatStatCd + "\">" + lists[i].outTreatStatNm + "</option>";
  124. }
  125. $("#sltOutpatientTreatStat").append(strDisplayTemp); // element 추가
  126. }
  127. //==== 초기화 설정 } ====
  128. //==== 이벤트 설정 { ====
  129. var addEvent = function(){
  130. // 컬럼 클릭의 정렬 이벤트
  131. eventColumnClick();
  132. eventRowClick();
  133. eventCondition();
  134. eventBackBlock();
  135. };
  136. //검색 페이지 뒤로가기 막기
  137. var eventBackBlock = function(){
  138. $(window).off("pageshow");
  139. $(window).bind("pageshow", function(event) {
  140. if (event.originalEvent.persisted) {
  141. document.location.reload();
  142. }
  143. });
  144. };
  145. var eventColumnClick = function(){
  146. $("#divResultHeaderColumn1").off("click");
  147. $("#divResultHeaderColumn1").on("click", function(){
  148. //alert("column1 clicked!!");
  149. sortColumn( 1, "patientId");
  150. });
  151. $("#divResultHeaderColumn2").off("click");
  152. $("#divResultHeaderColumn2").on("click", function(){
  153. //alert("column2 clicked!!");
  154. sortColumn( 2, "patientNm");
  155. });
  156. $("#divResultHeaderColumn3").off("click");
  157. $("#divResultHeaderColumn3").on("click", function(){
  158. //alert("column3 clicked!!");
  159. sortColumn( 3, "tmpFirstTreatYn");
  160. });
  161. $("#divResultHeaderColumn4").off("click");
  162. $("#divResultHeaderColumn4").on("click", function(){
  163. //alert("column4 clicked!!");
  164. sortColumn( 4, "age");
  165. });
  166. $("#divResultHeaderColumn5").off("click");
  167. $("#divResultHeaderColumn5").on("click", function(){
  168. //alert("column5 clicked!!");
  169. sortColumn( 5, "deptNm");
  170. });
  171. $("#divResultHeaderColumn6").off("click");
  172. $("#divResultHeaderColumn6").on("click", function(){
  173. //alert("column6 clicked!!");
  174. sortColumn( 6, "outTreatStatNm");
  175. });
  176. $("#divResultHeaderColumn7").off("click");
  177. $("#divResultHeaderColumn7").on("click", function(){
  178. //alert("column7 clicked!!");
  179. sortColumn( 7, "visitDt");
  180. });
  181. $("#divResultHeaderColumn8").off("click");
  182. $("#divResultHeaderColumn8").on("click", function(){
  183. //alert("column8 clicked!!");
  184. sortColumn( 8, "birthDt");
  185. });
  186. };
  187. var eventRowClick = function(){
  188. // 환자 선택 이벤트 처리
  189. $("#divResultRows .patient-row").off("click"); // 기존 이벤트 해제
  190. $("#divResultRows .patient-row").on("click", function(e){
  191. var patientNo = e.currentTarget.attributes.patientNo.value;
  192. var patientId = e.currentTarget.attributes.patientId.value;
  193. var patientNm = e.currentTarget.attributes.patientNm.value;
  194. var age = e.currentTarget.attributes.age.value;
  195. var gender = e.currentTarget.attributes.gender.value;
  196. var treatCls = e.currentTarget.attributes.treatCls.value;
  197. var receiptNo = e.currentTarget.attributes.receiptNo.value;
  198. var deptCd = e.currentTarget.attributes.deptCd.value;
  199. var doctorId = e.currentTarget.attributes.doctorId.value;
  200. // 환자 정보 셋팅
  201. self.common.setSelectedPatient( patientId, patientNm, age, gender, treatCls, receiptNo, deptCd, doctorId);
  202. //alert("row clicked!! " + patientNo + " : " + patientId);
  203. // 환자 정보 화면 띄우기
  204. $("#modalPatientInfo").modal("show");
  205. mplusModalPatientinfo.init();
  206. });
  207. };
  208. var eventCondition = function(){
  209. // 진료과 change 이벤트 처리
  210. $("#sltOutpatientDeptCd").off("change");
  211. $("#sltOutpatientDeptCd").on("change", function(){
  212. getDoctorListByDept( $("#sltOutpatientDeptCd").val(), varSearchCls);
  213. });
  214. // 진료의 change 이벤트 처리
  215. $("#sltOutpatientSelectedDrId").off("change");
  216. $("#sltOutpatientSelectedDrId").on("change", function(){
  217. searchPatient();
  218. });
  219. // 환자 조회 이벤트 처리
  220. $("#btnOutpatientSearch").off("click");
  221. $("#btnOutpatientSearch").on("click", function(){
  222. // 환자 검색 실행 및 환자 정보 화면 출력
  223. searchPatient();
  224. });
  225. // 설정 초기화 이벤트 처리
  226. $("#btnOutpatientReset").off("click");
  227. $("#btnOutpatientReset").on("click", function(){
  228. initCondition();
  229. // 환자 검색 실행 및 환자 정보 화면 출력
  230. searchPatient();
  231. });
  232. // 검색 시작일자 변경 시, 검색 마지막 날짜를 이틀 후로 변경
  233. }
  234. //==== 이벤트 설정 } ====
  235. //==== 환자 정보 조회 처리 { ====
  236. // 환자 정보 조회
  237. var searchPatient = function(){
  238. var param = {
  239. userId: gLoginUserId,
  240. searchDt: moment($("#dateOutpatientSearchDt").val()).format("YYYYMMDD"),
  241. deptCd: $("#sltOutpatientDeptCd").val(),
  242. selectedDrId: $("#sltOutpatientSelectedDrId").val(),
  243. outTreatStatCd: $("#sltOutpatientTreatStat").val(),
  244. searchTxtCls: $("#sltOutpatientSearchTxtCls").val(),
  245. searchTxt: $("#txtOutpatientSearchTxt").val()
  246. };
  247. console.log( param);
  248. self.medical.getOutPatientList(param, processSearchPatient);
  249. };
  250. // 환자 정보 조회 결과 처리
  251. var processSearchPatient = function(lists){
  252. // 1. 환자 조회 결과 리스트를 varResultLists로 복사
  253. varResultLists = lists;
  254. // 2. 환자 검색 결과 리스트를 재정리 : 중복이름 체크
  255. rebuildPatientList();
  256. // 3. 환자 검색 결과를 화면에 disaplay
  257. drawPatientList();
  258. };
  259. // 환자 검색 결과 리스트를 재정리 : 중복이름 체크
  260. var rebuildPatientList = function(){
  261. // 사용자명 중복 체크
  262. // 1. 환자리스트틀 임시환자리스트로 복사
  263. // 2. 임시환자리스트에서 환자명으로 정렬
  264. // 3. 임시환자리스트에서 중복 사용자 리스트를 추출
  265. // 4. 환자리스트에 중복환자를 수정하면서 중복환자명인 경우 중복상태코드(중복순번)를 추가
  266. var tempList = varResultLists;
  267. var dupList = [];
  268. // 정렬 실행
  269. //20190527 dkchoi75 상계백병원 앱 자체 정렬 않되게 요청
  270. // self.common.sortArrayObject( tempList, "patientNm", true);
  271. // 중복 환자 리스트 추출
  272. for( var i = 1; i < tempList.length; i++){
  273. // 중복 환자명이 있는 경우
  274. if( tempList[i-1].patientNm == tempList[i].patientNm){
  275. console.log( "중복환자명 : " + i + " : " + tempList[i].patientNm);
  276. // 중복리스트의 이미기록된 경우는 skip함
  277. if( dupList[dupList.length - 1] != tempList[i].patientNm){
  278. dupList.push( tempList[i].patientNm);
  279. } else {
  280. //console.log( "중복환자명(skip) : " + i + " : " + tempList[i].patientNm);
  281. }
  282. }
  283. }
  284. // 기존 환자 정보에 중복 여부 체크용 변수(dupNo) 추가, 0:중복 없음, 1,2,3,4,5,6,...(중복순번)
  285. for( var i = 0; i < varResultLists.length; i++){
  286. varResultLists[i].dupNo = 0;
  287. for( var j = 0; j < dupList.length; j++){
  288. if( varResultLists[i].patientNm == dupList[j]){
  289. varResultLists[i].dupNo = j + 1; // 1,2,3,4,5,6,....
  290. //console.log( "중복 dupNo : " + varResultLists[i].dupNo);
  291. break;
  292. }
  293. }
  294. }
  295. };
  296. // 환자 정보 화면에 그리기
  297. var drawPatientList = function(){
  298. var lists = varResultLists;
  299. var strDisplayTemp = "";
  300. $("#divResultRows").empty();
  301. if( lists.length == 0){
  302. strDisplayTemp = "<div class=\"row text-center\" style=\"line-height: 60px; vertical-align: middle;\"> 검색 결과가 없습니다. </div>"
  303. + "<div style=\"height: 55vh;\"></div>";
  304. }
  305. for( var i = 0; i < lists.length; i++){
  306. var tmpDupCheck = lists[i].dupNo > 0 ? "same-name" : "";
  307. var tmpFirstTreatYn = lists[i].firstTreatYn == "Y" ? "초진" : "재진";
  308. strDisplayTemp += "<div class=\"chart-content well " + tmpDupCheck + "\">"
  309. + " <div class=\"row patient-row\" patientNo=\"" + i + "\" patientId=\"" + lists[i].patientId + "\" patientNm=\"" + lists[i].patientNm + "\" age=\"" + lists[i].age + "\" gender=\"" + lists[i].gender + "\" treatCls=\"" + lists[i].treatCls + "\" receiptNo=\"" + lists[i].receiptNo + "\" deptCd=\"" + lists[i].deptCd.trim() + "\" doctorId=\"" + lists[i].doctorId + "\">"
  310. + " <div class=\"col-xs-12 col-sm-6 col-lg-6\">"
  311. + " <div class=\"col-xs-3 col-sm-3 col-lg-3 text-center\" style=\"padding:0px;\">" + lists[i].patientId + "</div>"
  312. + " <div class=\"col-xs-3 col-sm-3 col-lg-3 text-center lbl_patient_name\" style=\"padding:0px;\">" + lists[i].patientNm + "</div>"
  313. + " <div class=\"col-xs-3 col-sm-3 col-lg-3 text-center\" style=\"padding:0px;\">" + tmpFirstTreatYn + "</div>"
  314. + " <div class=\"col-xs-3 col-sm-3 col-lg-3 text-center lbl_patient_birth\" style=\"padding:0px;\">" + lists[i].age + "/" + lists[i].gender + "</div>"
  315. + " </div>"
  316. + " <div class=\"col-xs-12 col-sm-6 col-lg-6\">"
  317. + " <div class=\"col-xs-3 col-sm-3 col-lg-3 text-center\" style=\"padding:0px;\">" + lists[i].deptNm + "</div>"
  318. + " <div class=\"col-xs-3 col-sm-3 col-lg-3 text-center\" style=\"padding:0px;\">" + lists[i].outTreatStatNm + "</div>";
  319. if(lists[i].visitDt != undefined && lists[i].visitDt != "" && lists[i].visitDt != null) {
  320. strDisplayTemp += " <div class=\"col-xs-3 col-sm-3 col-lg-3 text-center\" style=\"padding:0px;\">" + moment(lists[i].visitDt).format("YYYY-MM-DD") + "<br/>" + moment("20190101 " + lists[i].treatTm).format("HH:mm") + "</div>";
  321. } else {
  322. strDisplayTemp += " <div class=\"col-xs-3 col-sm-3 col-lg-3 text-center\" style=\"padding:0px;\">" + lists[i].visitDt + "<br/>" + lists[i].treatTm + "</div>";
  323. }
  324. strDisplayTemp += " <div class=\"col-xs-3 col-sm-3 col-lg-3 text-center lbl_patient_birth\" style=\"padding:0px;\">" + lists[i].birthDt + "</div>"
  325. + " </div>"
  326. + " </div>"
  327. + "</div>"
  328. ;
  329. //console.log( i + " : " + lists[i].patientId + " : " + lists[i].patientNm);
  330. }
  331. $("#divResultRows").append(strDisplayTemp); // element 추가
  332. eventRowClick(); // 클릭 이벤트 처리
  333. }
  334. //==== 환자 정보 조회 처리 } ====
  335. //==== 컬럼 정렬 프로세스 { ====
  336. // 컬럼 상태를 초기화 처리
  337. var initColumnStatus = function(){
  338. varToggleCol1 = 0;
  339. varToggleCol2 = 0;
  340. varToggleCol3 = 0;
  341. varToggleCol4 = 0;
  342. varToggleCol5 = 0;
  343. varToggleCol6 = 0;
  344. varToggleCol7 = 0;
  345. varToggleCol8 = 0;
  346. // 컬럼 정렬 아이콘 초기화 : ▼ ▲
  347. $("#spanSortColumn1").text("");
  348. $("#spanSortColumn2").text("");
  349. $("#spanSortColumn3").text("");
  350. $("#spanSortColumn4").text("");
  351. $("#spanSortColumn5").text("");
  352. $("#spanSortColumn6").text("");
  353. $("#spanSortColumn7").text("");
  354. $("#spanSortColumn8").text("");
  355. };
  356. // 컬럼 상태를 설정(정렬 조건 적용)
  357. var setColumnStatus = function( columnNo){
  358. // 클릭된 column의 현재 상태를 백업
  359. var copyToggleStatus = 0;
  360. if( columnNo == 1)
  361. copyToggleStatus = varToggleCol1;
  362. else if( columnNo == 2)
  363. copyToggleStatus = varToggleCol2;
  364. else if( columnNo == 3)
  365. copyToggleStatus = varToggleCol3;
  366. else if( columnNo == 4)
  367. copyToggleStatus = varToggleCol4;
  368. else if( columnNo == 5)
  369. copyToggleStatus = varToggleCol5;
  370. else if( columnNo == 6)
  371. copyToggleStatus = varToggleCol6;
  372. else if( columnNo == 7)
  373. copyToggleStatus = varToggleCol7;
  374. else if( columnNo == 8)
  375. copyToggleStatus = varToggleCol8;
  376. // column 상태를 초기화
  377. initColumnStatus();
  378. // 클릭된 column의 백업된 상태에서 한단계 진핸된 상태로 변경
  379. if( columnNo == 1)
  380. copyToggleStatus == 0 ? varToggleCol1 = 1 : copyToggleStatus == 1 ? varToggleCol1 = 2 : varToggleCol1 = 1;
  381. else if( columnNo == 2)
  382. copyToggleStatus == 0 ? varToggleCol2 = 1 : copyToggleStatus == 1 ? varToggleCol2 = 2 : varToggleCol2 = 1;
  383. else if( columnNo == 3)
  384. copyToggleStatus == 0 ? varToggleCol3 = 1 : copyToggleStatus == 1 ? varToggleCol3 = 2 : varToggleCol3 = 1;
  385. else if( columnNo == 4)
  386. copyToggleStatus == 0 ? varToggleCol4 = 1 : copyToggleStatus == 1 ? varToggleCol4 = 2 : varToggleCol4 = 1;
  387. else if( columnNo == 5)
  388. copyToggleStatus == 0 ? varToggleCol5 = 1 : copyToggleStatus == 1 ? varToggleCol5 = 2 : varToggleCol5 = 1;
  389. else if( columnNo == 6)
  390. copyToggleStatus == 0 ? varToggleCol6 = 1 : copyToggleStatus == 1 ? varToggleCol6 = 2 : varToggleCol6 = 1;
  391. else if( columnNo == 7)
  392. copyToggleStatus == 0 ? varToggleCol7 = 1 : copyToggleStatus == 1 ? varToggleCol7 = 2 : varToggleCol7 = 1;
  393. else if( columnNo == 8)
  394. copyToggleStatus == 0 ? varToggleCol8 = 1 : copyToggleStatus == 1 ? varToggleCol8 = 2 : varToggleCol8 = 1;
  395. // 정렬 상태 화면에 그리기
  396. varToggleCol1 == 1 ? $("#spanSortColumn1").text("▲") : varToggleCol1 == 2 ? $("#spanSortColumn1").text("▼") : $("#spanSortColumn1").text("");
  397. varToggleCol2 == 1 ? $("#spanSortColumn2").text("▲") : varToggleCol2 == 2 ? $("#spanSortColumn2").text("▼") : $("#spanSortColumn2").text("");
  398. varToggleCol3 == 1 ? $("#spanSortColumn3").text("▲") : varToggleCol3 == 2 ? $("#spanSortColumn3").text("▼") : $("#spanSortColumn3").text("");
  399. varToggleCol4 == 1 ? $("#spanSortColumn4").text("▲") : varToggleCol4 == 2 ? $("#spanSortColumn4").text("▼") : $("#spanSortColumn4").text("");
  400. varToggleCol5 == 1 ? $("#spanSortColumn5").text("▲") : varToggleCol5 == 2 ? $("#spanSortColumn5").text("▼") : $("#spanSortColumn5").text("");
  401. varToggleCol6 == 1 ? $("#spanSortColumn6").text("▲") : varToggleCol6 == 2 ? $("#spanSortColumn6").text("▼") : $("#spanSortColumn6").text("");
  402. varToggleCol7 == 1 ? $("#spanSortColumn7").text("▲") : varToggleCol7 == 2 ? $("#spanSortColumn7").text("▼") : $("#spanSortColumn7").text("");
  403. varToggleCol8 == 1 ? $("#spanSortColumn8").text("▲") : varToggleCol8 == 2 ? $("#spanSortColumn8").text("▼") : $("#spanSortColumn8").text("");
  404. };
  405. // 컬럼 상태를 조회(정렬 조건 적용)
  406. var getColumnStatus = function( columnNo){
  407. if( columnNo == 1)
  408. return varToggleCol1;
  409. else if( columnNo == 2)
  410. return varToggleCol2;
  411. else if( columnNo == 3)
  412. return varToggleCol3;
  413. else if( columnNo == 4)
  414. return varToggleCol4;
  415. else if( columnNo == 5)
  416. return varToggleCol5;
  417. else if( columnNo == 6)
  418. return varToggleCol6;
  419. else if( columnNo == 7)
  420. return varToggleCol7;
  421. else if( columnNo == 8)
  422. return varToggleCol8;
  423. };
  424. // 컬럼의 정렬을 실행
  425. var sortColumn = function( columnNo, fieldName){
  426. // 컬럼 상태 설정
  427. setColumnStatus( columnNo);
  428. // 오름차순, 내림차순 선택
  429. var isAscending = true;
  430. getColumnStatus( columnNo) == 1 ? isAscending = true : getColumnStatus( columnNo) == 2 ? isAscending = false : isAscending = true;
  431. // 정렬 실행
  432. self.common.sortArrayObject( varResultLists, fieldName, isAscending);
  433. // 환자 정보 다시 그리기
  434. drawPatientList();
  435. };
  436. //==== 컬럼 정렬 프로세스 } ====
  437. };