123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360 |
- "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 += "<div class=\"row patient-row\" patientNo=\"" + i + "\" patientId=\"" + lists[i].patientId + "\" patientNm=\"" + lists[i].patientNm + "\" age=\"" + lists[i].age + "\" gender=\"" + lists[i].gender + "\" style=\"overflow: hidden; background-color: aqua;\">"
- + " <div class=\"col-xs-12 col-sm-6 col-lg-6\">"
- + " <div class=\"col-xs-3 col-sm-3 col-lg-3\">" + lists[i].patientId + "</div>"
- + " <div class=\"col-xs-3 col-sm-3 col-lg-3\">" + lists[i].patientNm + tmpDupCheck + "</div>"
- + " <div class=\"col-xs-3 col-sm-3 col-lg-3\">" + lists[i].wardNm + "/" + lists[i].roomNm + "/" + lists[i].bedNm + "</div>"
- + " <div class=\"col-xs-3 col-sm-3 col-lg-3\">" + lists[i].age + "/" + lists[i].gender + "</div>"
- + " </div>"
- + " <div class=\"col-xs-12 col-sm-6 col-lg-6\">"
- + " <div class=\"col-xs-3 col-sm-3 col-lg-3\">" + lists[i].deptNm + "/" + lists[i].doctorNm + "</div>"
- + " <div class=\"col-xs-3 col-sm-3 col-lg-3\">" + lists[i].specialistNm + "</div>"
- + " <div class=\"col-xs-3 col-sm-3 col-lg-3\">" + lists[i].hospitalizationDt + "</div>"
- + " <div class=\"col-xs-3 col-sm-3 col-lg-3\">" + lists[i].birthDt + "</div>"
- + " </div>"
- + "</div>"
- ;
- console.log( i + " : " + lists[i].deptNm);
- }
-
- $("#divResultRows").append(strDisplayTemp); // element 추가
- eventRowClick(); // 클릭 이벤트 처리
- }
- //==== 환자 정보 조회 처리 } ====
-
- //==== 컬럼 정렬 프로세스 { ====
- // 컬럼 상태를 초기화 처리
- var initColumnStatus = function(){
- varToggleCol1 = 0;
- varToggleCol2 = 0;
- varToggleCol3 = 0;
- varToggleCol4 = 0;
- varToggleCol5 = 0;
- varToggleCol6 = 0;
- varToggleCol7 = 0;
- varToggleCol8 = 0;
-
- // 컬럼 정렬 아이콘 초기화 : ▼ ▲
- $("#spanSortColumn1").text("");
- $("#spanSortColumn2").text("");
- $("#spanSortColumn3").text("");
- $("#spanSortColumn4").text("");
- $("#spanSortColumn5").text("");
- $("#spanSortColumn6").text("");
- $("#spanSortColumn7").text("");
- $("#spanSortColumn8").text("");
- };
-
- // 컬럼 상태를 설정(정렬 조건 적용)
- var setColumnStatus = function( columnNo){
-
- // 클릭된 column의 현재 상태를 백업
- var copyToggleStatus = 0;
- if( columnNo == 1)
- copyToggleStatus = varToggleCol1;
- else if( columnNo == 2)
- copyToggleStatus = varToggleCol2;
- else if( columnNo == 3)
- copyToggleStatus = varToggleCol3;
- else if( columnNo == 4)
- copyToggleStatus = varToggleCol4;
- else if( columnNo == 5)
- copyToggleStatus = varToggleCol5;
- else if( columnNo == 6)
- copyToggleStatus = varToggleCol6;
- else if( columnNo == 7)
- copyToggleStatus = varToggleCol7;
- else if( columnNo == 8)
- copyToggleStatus = varToggleCol8;
-
- // column 상태를 초기화
- initColumnStatus();
-
- // 클릭된 column의 백업된 상태에서 한단계 진핸된 상태로 변경
- if( columnNo == 1)
- copyToggleStatus == 0 ? varToggleCol1 = 1 : copyToggleStatus == 1 ? varToggleCol1 = 2 : varToggleCol1 = 1;
- else if( columnNo == 2)
- copyToggleStatus == 0 ? varToggleCol2 = 1 : copyToggleStatus == 1 ? varToggleCol2 = 2 : varToggleCol2 = 1;
- else if( columnNo == 3)
- copyToggleStatus == 0 ? varToggleCol3 = 1 : copyToggleStatus == 1 ? varToggleCol3 = 2 : varToggleCol3 = 1;
- else if( columnNo == 4)
- copyToggleStatus == 0 ? varToggleCol4 = 1 : copyToggleStatus == 1 ? varToggleCol4 = 2 : varToggleCol4 = 1;
- else if( columnNo == 5)
- copyToggleStatus == 0 ? varToggleCol5 = 1 : copyToggleStatus == 1 ? varToggleCol5 = 2 : varToggleCol5 = 1;
- else if( columnNo == 6)
- copyToggleStatus == 0 ? varToggleCol6 = 1 : copyToggleStatus == 1 ? varToggleCol6 = 2 : varToggleCol6 = 1;
- else if( columnNo == 7)
- copyToggleStatus == 0 ? varToggleCol7 = 1 : copyToggleStatus == 1 ? varToggleCol7 = 2 : varToggleCol7 = 1;
- else if( columnNo == 8)
- copyToggleStatus == 0 ? varToggleCol8 = 1 : copyToggleStatus == 1 ? varToggleCol8 = 2 : varToggleCol8 = 1;
-
- // 정렬 상태 화면에 그리기
- varToggleCol1 == 1 ? $("#spanSortColumn1").text("▲") : varToggleCol1 == 2 ? $("#spanSortColumn1").text("▼") : $("#spanSortColumn1").text("");
- varToggleCol2 == 1 ? $("#spanSortColumn2").text("▲") : varToggleCol2 == 2 ? $("#spanSortColumn2").text("▼") : $("#spanSortColumn2").text("");
- varToggleCol3 == 1 ? $("#spanSortColumn3").text("▲") : varToggleCol3 == 2 ? $("#spanSortColumn3").text("▼") : $("#spanSortColumn3").text("");
- varToggleCol4 == 1 ? $("#spanSortColumn4").text("▲") : varToggleCol4 == 2 ? $("#spanSortColumn4").text("▼") : $("#spanSortColumn4").text("");
- varToggleCol5 == 1 ? $("#spanSortColumn5").text("▲") : varToggleCol5 == 2 ? $("#spanSortColumn5").text("▼") : $("#spanSortColumn5").text("");
- varToggleCol6 == 1 ? $("#spanSortColumn6").text("▲") : varToggleCol6 == 2 ? $("#spanSortColumn6").text("▼") : $("#spanSortColumn6").text("");
- varToggleCol7 == 1 ? $("#spanSortColumn7").text("▲") : varToggleCol7 == 2 ? $("#spanSortColumn7").text("▼") : $("#spanSortColumn7").text("");
- varToggleCol8 == 1 ? $("#spanSortColumn8").text("▲") : varToggleCol8 == 2 ? $("#spanSortColumn8").text("▼") : $("#spanSortColumn8").text("");
- };
-
- // 컬럼 상태를 조회(정렬 조건 적용)
- var getColumnStatus = function( columnNo){
- if( columnNo == 1)
- return varToggleCol1;
- else if( columnNo == 2)
- return varToggleCol2;
- else if( columnNo == 3)
- return varToggleCol3;
- else if( columnNo == 4)
- return varToggleCol4;
- else if( columnNo == 5)
- return varToggleCol5;
- else if( columnNo == 6)
- return varToggleCol6;
- else if( columnNo == 7)
- return varToggleCol7;
- else if( columnNo == 8)
- return varToggleCol8;
- };
-
- // 컬럼의 정렬을 실행
- var sortColumn = function( columnNo, fieldName){
- // 컬럼 상태 설정
- setColumnStatus( columnNo);
-
- // 오름차순, 내림차순 선택
- var isAscending = true;
- getColumnStatus( columnNo) == 1 ? isAscending = true : getColumnStatus( columnNo) == 2 ? isAscending = false : isAscending = true;
- // 정렬 실행
- self.common.sortArrayObject( varResultLists, fieldName, isAscending);
-
- // 환자 정보 다시 그리기
- drawPatientList();
- };
- //==== 컬럼 정렬 프로세스 } ====
-
- };
|