"use strict"; /** * mplus_modal_medicationlist */ var mplus_modal_medicationlist = function(){ // 상속 mplus_common.call(this); // 상위 객체 생성 //var mplusPatient = new mplus_mobile_patient(); //var mplusNursing = new mplus_nursing(); //super var self = this; //==== 변수 { ==== var varResultLists = []; //==== 변수 } ==== /** * 초기화 */ this.init = function(sendParam){ //여기서 모든화면 콤보박스데이터를 집어넣자!!! 그래야지 화면이동할때 속도가 오래걸리지않음!!! // 초기 화면 조건 구성 initCondition(sendParam); // 이벤트 초기화 addEvent(); }; //==== 초기화 설정 { ==== var initCondition = function(sendParam){ $("#divMedicationListResultRows").empty(); varResultLists = []; // 초기 화면 조건 구성 // 일자 설정 initStartEndDate(); if(sendParam !== undefined && sendParam != null){ //console.log("searchMedicationListPrescriptionCall call!"); searchMedicationListPrescriptionCall(sendParam) }else{ //console.log("searchMedicationList call!"); searchMedicationList(); } }; var searchMedicationList = function(){ //7일 이상 차이 날 경우 처리 var varVitalListStartDt = moment($("#txtMedicationListStartDt").val() , "YYYY-MM-DD"); var varVitalListEndDt = moment($("#txtMedicationListEndDt").val() , "YYYY-MM-DD"); //console.log("날짜이동 : " + moment.duration(varVitalListStartDt.diff(varVitalListEndDt , "day"))); /* if(moment.duration(varVitalListStartDt.diff(varVitalListEndDt , "day")) >= 1 || moment.duration(varVitalListStartDt.diff(varVitalListEndDt , "day")) <= -7){ self.alert("1주 이상 검색할 수 없습니다."); initStartEndDate(); return; } */ //화면 호출일 경우 var param = { userId:gLoginUserId, patientId:gPatientId, startDt: moment($("#txtMedicationListStartDt").val()).format("YYYYMMDD"), endDt: moment($("#txtMedicationListEndDt").val()).format("YYYYMMDD"), prescriptionCd:"%", prescriptionNo:"%" }; self.medical.getMedicationList(param, processSearchMedicalInHisList); }; var searchMedicationListPrescriptionCall = function(sendParam){ if(sendParam === undefined || sendParam == null){ self.alert("데이터 오류입니다. 관리자에게 문의하세요."); return; } //화면 호출일 경우 var param = { userId:gLoginUserId, patientId:gPatientId, startDt: moment(sendParam.medicationSearchDt).format("YYYYMMDD"), endDt: moment(sendParam.medicationSearchDt).format("YYYYMMDD"), prescriptionCd:sendParam.prescriptionCd, prescriptionNo:sendParam.prescriptionNo }; self.medical.getMedicationList(param, processSearchMedicalInHisList); }; var processSearchMedicalInHisList = function(lists){ //console.log(JSON.stringify(lists)); varResultLists = lists; var strDisplayTemp = ""; var varDoseDtTm = ""; var varPrescriptionDtTm = ""; $("#divMedicationListResultRows").empty(); for( var i = 0; i < lists.length; i++){ if(lists[i].doseDtTm != undefined && lists[i].doseDtTm != "" && lists[i].doseDtTm != null) { varDoseDtTm = moment(lists[i].doseDtTm , "YYYYMMDDhhmmss").format("MM/DD HH:mm"); } else { varDoseDtTm = lists[i].doseDtTm; } if(lists[i].prescriptionDtTm != undefined && lists[i].prescriptionDtTm != "" && lists[i].prescriptionDtTm != null) { varPrescriptionDtTm = moment(lists[i].prescriptionDtTm , "YYYYMMDDhhmmss").format("YYYY-MM-DD HH:mm:ss"); } else { varPrescriptionDtTm = lists[i].prescriptionDtTm; } strDisplayTemp += "
" + "
" + "
" + lists[i].prescriptionNo + "
" + "
" + lists[i].prescriptionClsNm +"
" + "
" + lists[i].prescriptionNm + "
" + "
" + "
" // + "
" + ((moment(lists[i].doseDtTm , "YYYYMMDDhhmmss").format("YYYY-MM-DD HH:mm:ss") != "Invalid date") ? moment(lists[i].doseDtTm , "YYYYMMDDhhmmss").format("MM/DD HH:mm") : "-") + "
" + "
" + varDoseDtTm + "
" + "
" + lists[i].doseQtyPerDay + "/" + lists[i].doseQtyTotal + "
" + "
" + lists[i].doseQtyPer1Tim + "
" + "
" + lists[i].doseWay + "
" + "
" + "
" // + "
" + ((moment(lists[i].prescriptionDtTm , "YYYYMMDDhhmmss").format("YYYY-MM-DD HH:mm:ss") != "Invalid date") ? moment(lists[i].prescriptionDtTm , "YYYYMMDDhhmmss").format("YYYY-MM-DD HH:mm:ss") : "-") + "/" + lists[i].prescriptionDeptNm + "/" + lists[i].prescriptionDoctorNm + "/" + lists[i].doseExecutorNm + "
"; + "
" + varPrescriptionDtTm + "/" + lists[i].prescriptionDeptNm + "/" + lists[i].prescriptionDoctorNm + "/" + lists[i].doseExecutorNm + "
"; // 2019.05.09 백병원 요구사항으로 약품정보 버튼 미노출 // 20190610 dkchoi75 일산백병원 요구사항으로 약품정보 버튼 노출 Y: 노출 N:미노출 var varDrogInfoButtonYn = "Y"; if(lists[i].prescriptionCd != null && lists[i].prescriptionCd != "" && lists[i].prescriptionCd != "-"){ //if(lists[i].comment != null && lists[i].comment != "" && lists[i].comment != "-" && varDrogInfoButtonYn == "Y"){ strDisplayTemp += "
"; }else{ strDisplayTemp += "
"; } strDisplayTemp += "
" + "
" ; //console.log( i + " : " + lists[i].deptNm); } $("#divMedicationListResultRows").append(strDisplayTemp); // element 추가 //선택이벤트 처리 addEventMedicationListResult(); }; var addEventMedicationListResult = function() { $("#divMedicationListResultRows .list-group-item").off("click"); // 기존 이벤트 해제 $("#divMedicationListResultRows .list-group-item").on("click", function(e){ //진료기록 조회 리스트 검색 처리 var varPreCnt = e.currentTarget.attributes.listCnt.value; var varOrderCd = e.currentTarget.attributes.prescriptionCd.value; var divMedicationId = "#divMedicationListDetail" + varPreCnt; // 20190610 dkchoi75 일산백병원 약품정보 Naver 연동 서비스 구분 N:Naver, E:내부EMR, K:킴스 var varDrugInfoApi = "N"; //버튼 클릭 이벤트 처리 if((e.target.id).indexOf("btnCallDrugInfo") != -1){ //if(varResultLists[varPreCnt].prescriptionCd != null && varResultLists[varPreCnt].prescriptionCd != "" && varResultLists[varPreCnt].prescriptionCd != "-"){ // if(varResultLists[varPreCnt].comment != null && varResultLists[varPreCnt].comment != "" && varResultLists[varPreCnt].comment != "-"){ //examResultKey의 값을 정확하게 처리해야함!!! 체크바람! //if(e.target.id == "btnCallDrugInfo" && varOrderCd != null && varOrderCd != ""){//약품정보 if(e.target.id == "btnCallDrugInfo" ){//약품정보 if (varDrugInfoApi == "N") { var jsonMsg = { "type":"command", "functionType":"popup", "value" : { "url" : "http://m.terms.naver.com/medicineSearch.nhn?query=" + varResultLists[varPreCnt].comment, "method": "GET", // Default "GET" ** 2017-10-19 추가 "parameters": "-" // POST 인 경우만, GET 인 경우는 "url" 에 모두 붙여서 전달 ** 2017-10-19 추가 } }; self.toNative(jsonMsg); } else if (varDrugInfoApi == "E") { //console.log("orderCd.value : " + varOrderCd); mplusModalMedication.init(param); $("#mplusAlertDrugInfo").modal("show"); //mplusModalExamrsltty1.init(varPrescriptionLists[varPreCnt]); //self.alert("처방번호 : " + varResultLists[varPreCnt].prescriptionCd); } else if (varDrugInfoApi == "K") { // 킴스 연동 부분 } var param = { orderCd: varOrderCd }; }else{//판독결과 self.alert("약품정보가 없습니다."); // 환자 정보 화면 띄우기 //$("#modalExamRsltTy2").modal("show"); //mplusModalExamrsltty2.init(varPrescriptionLists[varPreCnt]); //self.alert("처방번호 : " + varResultLists[varPreCnt].prescriptionCd); } // }else{ // console.log("prescriptionCd값 확인바람 : " + varResultLists[varPreCnt].prescriptionCd); // } return; } if( $(divMedicationId).hasClass("hidden")) { $(divMedicationId).removeClass("hidden"); } else { $(divMedicationId).addClass("hidden"); } }); }; var initStartEndDate = function(){ //오늘일자 로드 var varToday = new Date(); //일요일이면 차주 가져오기 //다른 요일이면 해당 요일 처리 //$("#txtMedicationListEndDt").val( moment(varToday).format("YYYY-MM-DD") ); //varToday.setMonth(varToday.getMonth() - 1); //varToday.setDate(varToday.getDate() - 1); //$("#txtMedicationListStartDt").val( moment(varToday).format("YYYY-MM-DD") ); $("#txtMedicationListEndDt").val( moment(varToday).format("YYYY-MM-DD") ); $("#txtMedicationListStartDt").val( moment().subtract(1, 'months').format("YYYY-MM-DD") ); }; //==== 초기화 설정 } ==== //==== 이벤트 설정 { ==== var addEvent = function(){ //$("#btnLogout").on("click", function(){ // logout(); //}); eventColumnClick(); eventRowClick(); eventConditionClick(); }; var eventConditionClick = function(){ // 1일 버튼클릭 $("#btnMedicationListOneDaySearch").off('click'); // 기존 이벤트 해제 $("#btnMedicationListOneDaySearch").on('click', function(e){ $("#txtMedicationListStartDt").val( moment().subtract(1, 'days').format("YYYY-MM-DD") ); searchMedicationList(); }); // 1주 버튼클릭 /* $("#btnMedicationListOneWeekSearch").off('click'); // 기존 이벤트 해제 $("#btnMedicationListOneWeekSearch").on('click', function(e){ var varSelDate = new Date($("#txtMedicationListEndDt").val()); varSelDate.setDate(varSelDate.getDate() - 6); //varSelDate.setMonth(varSelDate.getMonth() - 3); $("#txtMedicationListStartDt").val( moment(varSelDate).format("YYYY-MM-DD") ); }); */ // 1달 버튼클릭 $("#btnMedicationListOneMonthSearch").off("click"); // 기존 이벤트 해제 $("#btnMedicationListOneMonthSearch").on("click", function(e){ $("#txtMedicationListStartDt").val( moment().subtract(1, 'months').format("YYYY-MM-DD") ); searchMedicationList(); }); // 3달 버튼클릭 $("#btnMedicationListThreeMonthSearch").off('click'); // 기존 이벤트 해제 $("#btnMedicationListThreeMonthSearch").on('click', function(e){ $("#txtMedicationListStartDt").val( moment().subtract(3, 'months').format("YYYY-MM-DD") ); searchMedicationList(); }); // 조회버튼 $("#btnMedicationListSearch").off('click'); // 기존 이벤트 해제 $("#btnMedicationListSearch").on('click', function(e){ //로우 초기화 $("#divMedicationListResultRows").empty(); searchMedicationList(); }); }; var eventColumnClick = function(){ }; var eventRowClick = function(){ }; //==== 이벤트 설정 } ==== //==== 서비스 실행 { ==== //==== 서비스 실행 { ==== };