"use strict"; /** * mplus_test_test */ var mplus_test_test = function(){ // 상속 mplus_common.call(this); // 상위 객체 생성 //var mplusPatient = new mplus_mobile_patient(); //var mplusNursing = new mplus_nursing(); //super var self = this; //==== 변수 { ==== // column 정렬의 토글 상태 제어용 : 0: not selected, 1:오름차순, 2:내림차순 var varToggleCol1 = 0; var varToggleCol2 = 0; var varToggleCol3 = 0; var varToggleCol4 = 0; var varToggleCol5 = 0; var varToggleCol6 = 0; var varToggleCol7 = 0; var varToggleCol8 = 0; var varResultLists = []; //==== 변수 } ==== /** * 초기화 */ this.init = function(){ //여기서 모든화면 콤보박스데이터를 집어넣자!!! 그래야지 화면이동할때 속도가 오래걸리지않음!!! // 접근 권한 체크 checkAccessPermission(); // 초기 화면 조건 구성 initCondition(); // 이벤트 초기화 addEvent(); // 환자 검색 실행 및 환자 정보 화면 출력 searchPatient(); }; //==== 접근 권한 체크 { ==== var checkAccessPermission = function(){ //if( !self.common.checkAccessJobKind( "1000")){ // self.alertTrue("접근 권한이 없습니다.", self.common.gotoDefaultHomePage); //} //if( !self.common.checkAccessUserAuth( "01")){ // self.alertTrue("접근 권한이 없습니다.", self.common.gotoDefaultHomePage); //} //self.common.disableElements( $("#myModalBtn")); }; //==== 접근 권한 체크 } ==== //==== 초기화 설정 { ==== var initCondition = function(){ // 초기 화면 조건 구성 }; //==== 초기화 설정 } ==== //==== 이벤트 설정 { ==== var addEvent = function(){ // 컬럼 클릭의 정렬 이벤트 eventColumnClick(); eventRowClick(); }; var eventColumnClick = function(){ $("#divResultHeaderColumn1").off("click"); $("#divResultHeaderColumn1").on("click", function(){ //alert("column1 clicked!!"); sortColumn( 1, "patientId"); }); $("#divResultHeaderColumn2").off("click"); $("#divResultHeaderColumn2").on("click", function(){ //alert("column2 clicked!!"); sortColumn( 2, "patientNm"); }); $("#divResultHeaderColumn3").off("click"); $("#divResultHeaderColumn3").on("click", function(){ //alert("column3 clicked!!"); sortColumn( 3, "wardNm"); }); $("#divResultHeaderColumn4").off("click"); $("#divResultHeaderColumn4").on("click", function(){ //alert("column4 clicked!!"); sortColumn( 4, "age"); }); $("#divResultHeaderColumn5").off("click"); $("#divResultHeaderColumn5").on("click", function(){ //alert("column5 clicked!!"); sortColumn( 5, "deptNm"); }); $("#divResultHeaderColumn6").off("click"); $("#divResultHeaderColumn6").on("click", function(){ //alert("column6 clicked!!"); sortColumn( 6, "specialistNm"); }); $("#divResultHeaderColumn7").off("click"); $("#divResultHeaderColumn7").on("click", function(){ //alert("column7 clicked!!"); sortColumn( 7, "hospitalizationDt"); }); $("#divResultHeaderColumn8").off("click"); $("#divResultHeaderColumn8").on("click", function(){ //alert("column8 clicked!!"); sortColumn( 8, "birthDt"); }); }; var eventRowClick = function(){ // 환자 선택 이벤트 처리 $("#divResultRows .patient-row").off("click"); // 기존 이벤트 해제 $("#divResultRows .patient-row").on("click", function(e){ var patientNo = e.currentTarget.attributes.patientNo.value; var patientId = e.currentTarget.attributes.patientId.value; var patientNm = e.currentTarget.attributes.patientNm.value; var age = e.currentTarget.attributes.age.value; var gender = e.currentTarget.attributes.gender.value; // 환자 정보 셋팅 self.common.setSelectedPatient( patientId, patientNm, age, gender ); //alert("row clicked!! " + patientNo + " : " + patientId); // 환자 정보 화면 띄우기 $("#modalPatientInfo").modal("show"); mplusModalPatientinfo.init(); }); }; //==== 이벤트 설정 } ==== //==== 환자 정보 조회 처리 { ==== // 환자 정보 조회 var searchPatient = function(){ var param = { hospitalCd: "", userId: "", searchDt: "", deptCd: "", selectedDrId: "", wardCd: "", roomCd: "", searchTxtCls: "", searchTxt: "", isNewPatient: "" }; self.medical.getInPatientList(param, processSearchPatient); }; // 환자 정보 조회 결과 처리 var processSearchPatient = function(lists){ // 1. 환자 조회 결과 리스트를 varResultLists로 복사 varResultLists = lists; // 2. 환자 검색 결과 리스트를 재정리 : 중복이름 체크 rebuildPatientList(); // 3. 환자 검색 결과를 화면에 disaplay drawPatientList(); }; // 환자 검색 결과 리스트를 재정리 : 중복이름 체크 var rebuildPatientList = function(){ // 사용자명 중복 체크 // 1. 환자리스트틀 임시환자리스트로 복사 // 2. 임시환자리스트에서 환자명으로 정렬 // 3. 임시환자리스트에서 중복 사용자 리스트를 추출 // 4. 환자리스트에 중복환자를 수정하면서 중복환자명인 경우 중복상태코드(중복순번)를 추가 var tempList = varResultLists; var dupList = []; // 정렬 실행 self.common.sortArrayObject( tempList, "patientNm", true); // 중복 환자 리스트 추출 for( var i = 1; i < tempList.length; i++){ // 중복 환자명이 있는 경우 if( tempList[i-1].patientNm == tempList[i].patientNm){ console.log( "중복환자명 : " + i + " : " + tempList[i].patientNm); // 중복리스트의 이미기록된 경우는 skip함 if( dupList[dupList.length - 1] != tempList[i].patientNm){ dupList.push( tempList[i].patientNm); } else { console.log( "중복환자명(skip) : " + i + " : " + tempList[i].patientNm); } } } // 기존 환자 정보에 중복 여부 체크용 변수(dupNo) 추가, 0:중복 없음, 1,2,3,4,5,6,...(중복순번) for( var i = 0; i < varResultLists.length; i++){ varResultLists[i].dupNo = 0; for( var j = 0; j < dupList.length; j++){ if( varResultLists[i].patientNm == dupList[j]){ varResultLists[i].dupNo = j + 1; // 1,2,3,4,5,6,.... console.log( "중복 dupNo : " + varResultLists[i].dupNo); break; } } } }; // 환자 정보 화면에 그리기 var drawPatientList = function(){ var lists = varResultLists; var strDisplayTemp = ""; $("#divResultRows").empty(); for( var i = 0; i < lists.length; i++){ var tmpDupCheck = lists[i].dupNo > 0 ? "※" : ""; strDisplayTemp += "