"use strict"; /** * mplus_safety_bloodManagement * 수혈 탭으로 변경 예정 -- jmRyu */ var mplus_safety_bloodManagement = 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 = []; var varSearchCls = "OP";// 조회구분(I:입원, O:외래, E:응급, OP:수술, T:시술, C:협진) var varSearchDateGap = 2; // 날짜검색 간격 var varPationNumLength = 8; // TODO : 환자정보에 혈액정보 넣어야함 테스트용으로 변수로 처리 var pationBloodGroup = ""; //투약번호 Length처리 //단일 한건처리로 1로 초기화 var inputBloodManagementLength = 1; //==== 변수 } ==== /** * 초기화 */ this.init = function(){ //여기서 모든화면 콤보박스데이터를 집어넣자!!! 그래야지 화면이동할때 속도가 오래걸리지않음!!! // 접근 권한 체크 checkAccessPermission(); // 초기 화면 조건 구성 initCondition(); // 이벤트 초기화 addEvent(); // 환자 검색 실행 및 환자 정보 화면 출력 //searchPatient(); $("#txtBloodManagementPatientSearchTxt").focus(); }; //==== 접근 권한 체크 { ==== 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(){ // 초기 화면 조건 구성 //환자정보 초기화 initPatientInfo(); //환자번호 길이 제한 //$("#txtBloodManagementPatientSearchTxt").prop("maxLength" , varPationNumLength); // 종료 날짜를 현재 날짜로 등록 var varCurDate = new Date(); var strCurDate = self.util.toDate( new Date()); $("#dateBloodManagementEndDt").val( strCurDate); // 시작 날짜를 날짜 검색 간격 전 날짜를 등록 var var2DaysAgo = varCurDate; var2DaysAgo.setDate( varCurDate.getDate() - varSearchDateGap); var str2DaysAgo = self.util.toDate( var2DaysAgo); //$("#dateOppatientStartDt").val( str2DaysAgo); $("#dateBloodManagementStartDt").val( str2DaysAgo); }; //환자 정보 초기화 var initPatientInfo = function(){ //$("#divResultRows").empty(); //수혈 실행 버튼 $("#btnInputBloodManagementAct").attr("disabled" , true); $(".modal-patient-name").text("-"); $(".modal-patient-id").text("-"); $(".modal-patient-age-gender").text("-"); $(".modal-patient-treat-cls").text("-"); }; //수혈실시 초기화 /* var initInputBloodManagement = function(){ $("#bloodManagementActionNum").empty(); //CheckBoxLength 초기화 inputBloodManagementLength = 0; //처방번호 체크 for(var fCnt = 0 ; fCnt < varResultLists.length ; fCnt++){ if($("#checkBloodManagementSel" + fCnt).is(":checked")){ var tempSpan = "

" + "" + varResultLists[fCnt].col6 + "" + "  

"; $("#bloodManagementActionNum").append(tempSpan); inputBloodManagementLength++; } } eventMakeBarcodeCondition(); }; */ // 환자정보 요청 var getPatientInfo = function(){ var param = { userId: $("#txtBloodManagementPatientSearchTxt").val(), patientId: "", receiptNo: "", treatCls: "I" }; self.medical.getPatientInfo(param, processGetPatientInfo); }; // 수혈 목록을 처리 var processGetPatientInfo = function( lists){ $(".modal-patient-name").text(lists[0].patientNm); $(".modal-patient-id").text(lists[0].patientId); $(".modal-patient-age-gender").text(lists[0].age + " / " + lists[0].gender); $(".modal-patient-treat-cls").text("입원"); pationBloodGroup = lists[0].bloodGroup; switchGetBloodManagementList($("#sltBloodManagementCd").val()); }; //화면별 분기 처리 //데이터 조회 분기 var switchGetBloodManagementList = function(mode){ var param; switch (mode) { case "1" : //혈액신청리스트 param = { userId: "", patientId: "", receiptNo: "", treatCls: "" }; self.safety.getBloodRequestList(param, processGetBloodRequestList); break; case "2" : //혈액수령리스트 param = { userId: "", patientId: "", receiptNo: "", treatCls: "" }; self.safety.getBloodReceiveList(param, processGetBloodReceiveList); break; case "3" : //수혈확인리스트 param = { userId: "", patientId: "", receiptNo: "", treatCls: "" }; self.safety.getBloodCheckList(param, processGetBloodCheckList); break; case "4" : //혈액반납리스트 param = { userId: "", patientId: "", receiptNo: "", treatCls: "" }; self.safety.getBloodCancelList(param, processGetBloodCancelList); break; default: return; } }; //혈액신청리스트 var processGetBloodRequestList = function(lists){ varResultLists = lists; var strDisplayTemp = ""; $("#divResultRows").empty(); if( lists.length == 0){ strDisplayTemp = "

검색 결과가 없습니다.
" + "
"; } for( var i = 0; i < lists.length; i++){ strDisplayTemp += "
" + "
" + "
" + "
" + lists[i].col1 + "
" + "
" + lists[i].col2 + "
" + "
" + lists[i].col3 + "
" + "
" + lists[i].col4 + "
" + "
" + moment(lists[i].col5).format("MM-DD") + "
" + "
" + lists[i].col6 + "
" + "
" + "
" + "
"; //console.log( i + " : " + lists[i].patientId + " : " + lists[i].patientNm); } $("#divResultRows").append(strDisplayTemp); // element 추가 eventRowClick(); }; //혈액수령리스트 var processGetBloodReceiveList = function(lists){ varResultLists = lists; var strDisplayTemp = ""; $("#divResultRows").empty(); if( lists.length == 0){ strDisplayTemp = "
검색 결과가 없습니다.
" + "
"; } for( var i = 0; i < lists.length; i++){ strDisplayTemp += "
" + "
" + "
" + "
" + lists[i].col1 + "
" + "
" + lists[i].col2 + "
" + "
" + lists[i].col3 + "
" + "
" + lists[i].col4 + "
" + "
" + moment(lists[i].col5).format("MM-DD") + "
" + "
" + lists[i].col6 + "
" + "
" + "
" + "
"; //console.log( i + " : " + lists[i].patientId + " : " + lists[i].patientNm); } $("#divResultRows").append(strDisplayTemp); // element 추가 eventRowClick(); }; //수혈확인리스트 var processGetBloodCheckList = function(lists){ varResultLists = lists; var strDisplayTemp = ""; $("#divResultRows").empty(); if( lists.length == 0){ strDisplayTemp = "
검색 결과가 없습니다.
" + "
"; } for( var i = 0; i < lists.length; i++){ strDisplayTemp += "
" + "
" + "
" + "
" + lists[i].col1 + "
" + "
" + lists[i].col2 + "
" + "
" + lists[i].col3 + "
" + "
" + lists[i].col4 + "
" + "
" + moment(lists[i].col5).format("MM-DD") + "
" + "
" + lists[i].col6 + "
" + "
" + "
" + "
"; //console.log( i + " : " + lists[i].patientId + " : " + lists[i].patientNm); } $("#divResultRows").append(strDisplayTemp); // element 추가 eventRowClick(); }; //혈액반납리스트 var processGetBloodCancelList = function(lists){ varResultLists = lists; var strDisplayTemp = ""; $("#divResultRows").empty(); if( lists.length == 0){ strDisplayTemp = "
검색 결과가 없습니다.
" + "
"; } for( var i = 0; i < lists.length; i++){ strDisplayTemp += "
" + "
" + "
" + "
" + moment(lists[i].col1).format("MM-DD") + "
" + "
" + lists[i].col2 + "
" + "
" + lists[i].col3 + "
" + "
" + lists[i].col4 + "
" + "
" + lists[i].col5 + "
" + "
" + "
" + "
"; //console.log( i + " : " + lists[i].patientId + " : " + lists[i].patientNm); } $("#divResultRows").append(strDisplayTemp); // element 추가 eventRowClick(); }; // 투약실시 var switchInputBloodManagement = function(mode){ var params = {param: []}; switch (mode) { case "1" : //혈액신청리스트 params.param.push({ userId: "", patientId: "", receiptNo: "", treatCls: "" }); self.safety.inputBloodRequest(params, processInputBloodManagement); break; case "2" : //혈액수령리스트 params.param.push({ userId: "", patientId: "", receiptNo: "", treatCls: "" }); self.safety.inputBloodReceive(params, processInputBloodManagement); break; case "3" : //수혈확인리스트 params.param.push({ userId: "", patientId: "", receiptNo: "", treatCls: "" }); self.safety.inputBloodCheck(params, processInputBloodManagement); break; case "4" : //혈액반납리스트 params.param.push({ userId: "", patientId: "", receiptNo: "", treatCls: "" }); self.safety.inputBloodCancel(params, processInputBloodManagement); break; default: return; } }; var processInputBloodManagement = function(lists){ if(lists != undefined && lists.length > 0){ var inputCnt = 0; for(var fCnt = 0 ; fCnt < lists.length ; fCnt++){ if(lists[fCnt].returnCd == "0000"){ inputCnt++; } } self.alert(inputCnt + "건 처리되었습니다."); //데이터 초기화 $("#mplusAlertBloodManagementAction").modal("hide"); initPatientInfo(); getPatientInfo(); }else{ self.alert("처리중 오류가 발생했습니다."); } }; var changeResultHeader = function(mode){ //초기화 //투약 실행 버튼 $("#btnInputBloodManagementAct").attr("disabled" , true); //inputBloodManagementLength = 0; varResultLists = []; $("#divResultHeaderInfo").empty(); var resultHeaderInfo = ""; switch (mode) { case "1" : //혈액신청리스트 resultHeaderInfo = "
ABO

Rh

" + "
IPO
" + "
성분제제
" + "
처방량

(ml)

" + "
처방일
" + "
신청가능

수량

"; $("#divResultHeaderInfo").append(resultHeaderInfo); break; case "2" : //혈액수령리스트 resultHeaderInfo = "
ABO

Rh

" + "
IPO
" + "
성분제제
" + "
처방량

(ml)

" + "
처방일
" + "
신청

수량

"; $("#divResultHeaderInfo").append(resultHeaderInfo); break; case "3" : //수혈확인리스트 resultHeaderInfo = "
ABO

Rh

" + "
IPO
" + "
성분제제
" + "
처방량

(ml)

" + "
처방일
" + "
처방의
"; $("#divResultHeaderInfo").append(resultHeaderInfo); break; case "4" : //혈액반납리스트 resultHeaderInfo = "
출고일자
" + "
혈액번호
" + "
항변
" + "
성분제제
" + "
수령

여부

"; $("#divResultHeaderInfo").append(resultHeaderInfo); break; default: return; } }; var checkInputBloodManagementData = function(mode){ return false; switch (mode) { case "1": return true; break; case "2": break; case "3": break; case "4": break; default : return; } if($("#dateBloodManagementActionDate").val() == ""){ self.alert("투약일을 입력해주세요."); return false; } else if($("#dateBloodManagementActionTime").val() == "") { self.alert("투약시간을 입력해주세요."); return false; } //바코드 체크 var btnInPutActBarcodeCheck = false; for(var fCnt = 0 ; fCnt < inputBloodManagementLength ; fCnt++){ //console.log("TEST : " + $("#btnInPutActBarcode" + fCnt).is("[disabled]")); if(!$("#btnInPutActBarcode" + fCnt).is("[disabled]")){ btnInPutActBarcodeCheck = true; } } if(btnInPutActBarcodeCheck){ self.alert("투약번호 바코드를 확인해주세요."); return false; } return true; }; var settingSetInputBloodManagement = function(){ $("#dateBloodManagementActionDate").val(moment(new Date()).format("YYYY-MM-DD")); $("#dateBloodManagementActionTime").val(moment(new Date()).format("HH:mm:ss")); }; /* var checkBarcodeNum = function(barcodeNum){ for(var fCnt = 0 ; fCnt < inputBloodManagementLength ; fCnt++){ if(barcodeNum == $("#spanInputBloodManagementNum" + fCnt).text()){ $("#spanInputBloodManagementNum" + fCnt).css("color" , "blue"); $("#btnInPutActBarcode" + fCnt).attr("disabled" , true); } } }; */ //==== 초기화 설정 } ==== //==== 이벤트 설정 { ==== var addEvent = function(){ // 컬럼 클릭의 정렬 이벤트 eventColumnClick(); eventCondition(); eventBackBlock(); }; // 20190228 shinsunwoo 환자의 바코드 추출 toNative 호출 var readBarcode = function(barMode){ var callbackFn = "window.activeObj.readBarcodeCallBack"; if(barMode == "search"){ callbackFn = "window.activeObj.readBarcodeCallBack"; }else if(barMode == "check"){ callbackFn = "window.activeObj.readBarcodeCallBackCheck"; }else{ callbackFn = "window.activeObj.readBarcodeCallBack"; } console.log('call readBarcode'); var msg = { type : "command", functionType : "readBarcode", value : { callbackFn : callbackFn } }; self.toNative( msg ); }; // 20190228 shinsunwoo 환자의 바코드 추출 callback 처리 this.readBarcodeCallBack = function( returnCode){ var results = new Object(); if( typeof returnCode === "string" ){ results = self.util.parseJson( returnCode ); } else { results = returnCode; } if( results.success != undefined && results.success == "true" ) { console.log("readBarcode : success"); console.log( results.result); $("#txtBloodManagementPatientSearchTxt").val(results.result) getPatientInfo(); } else { console.log("readBarcode : failed"); self.alert( "readBarcode APP function 호출 오류 " ); } }; this.readBarcodeCallBackCheck = function( returnCode){ var results = new Object(); if( typeof returnCode === "string" ){ results = self.util.parseJson( returnCode ); } else { results = returnCode; } if( results.success != undefined && results.success == "true" ) { console.log("readBarcode : success"); console.log( results.result); checkBarcodeNum(results.result); } else { console.log("readBarcode : failed"); self.alert( "readBarcode APP function 호출 오류 " ); } }; this.deviceBarcodeCallBackCheck = function( returnCode){ var results = new Object(); if( typeof returnCode === "string" ){ results = self.util.parseJson( returnCode ); } else { results = returnCode; } if( results.success != undefined && results.success == "true" ) { console.log("readBarcode : success"); console.log( results.result); checkBarcodeNum(results.result); } else { console.log("readBarcode : failed"); self.alert( "readBarcode APP function 호출 오류 " ); } }; //검색 페이지 뒤로가기 막기 var eventBackBlock = function(){ $(window).off("pageshow"); $(window).bind("pageshow", function(event) { if (event.originalEvent.persisted) { document.location.reload(); } }); }; 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, "roomNm"); }); $("#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, "operationDt"); }); $("#divResultHeaderColumn6").off("click"); $("#divResultHeaderColumn6").on("click", function(){ //alert("column6 clicked!!"); sortColumn( 6, "anesthesiaTy"); }); $("#divResultHeaderColumn7").off("click"); $("#divResultHeaderColumn7").on("click", function(){ //alert("column7 clicked!!"); sortColumn( 7, "deptNm"); }); $("#divResultHeaderColumn8").off("click"); $("#divResultHeaderColumn8").on("click", function(){ //alert("column8 clicked!!"); sortColumn( 8, "operationStatNm"); }); */ }; var eventRowClick = function(){ // 환자 선택 이벤트 처리 $("#divResultRows .patient-row").off("click"); // 기존 이벤트 해제 $("#divResultRows .patient-row").on("click", function(e){ var rowCnt = e.currentTarget.attributes.rowNo.value; switchCallModal($("#sltBloodManagementCd").val() , rowCnt); switchModalInit($("#sltBloodManagementCd").val() , rowCnt); }); }; var switchCallModal = function(mode , listCnt){ //바코드 초기화 $("#bloodRequestActionNum").empty(); $("#bloodReceiveActionNum").empty(); $("#bloodCheckActionNum").empty(); $("#bloodCancelActionNum").empty(); var spanBarID = ""; switch (mode) { case "1": //init $("#bloodRequestActionNum").text(varResultLists[listCnt].col11); $("#dataBloodRequestGroup").text(varResultLists[listCnt].col1); $("#dataBloodRequestConstituent").text(varResultLists[listCnt].col3); $("#dataBloodRequestQuantity").empty(); for(var fCnt = 1 ; fCnt <= Number(varResultLists[listCnt].col6) ; fCnt++){ var appendTemp = ""; $("#dataBloodRequestQuantity").append(appendTemp); } //dataBloodRequestQuantity $("#mplusAlertBloodRequestAction").modal("show"); break; case "2": var tempSpan = "" //+ "" + varResultLists[listCnt].col11 + "" + "
" + "
"; $("#bloodReceiveActionNum").append(tempSpan); //spanBarID = "spanInputBloodReceive"; //eventMakeBarcodeCondition(spanBarID); $("#dateBloodReceiveActionDate").val(moment(new Date()).format("YYYY-MM-DD")); $("#dateBloodReceiveActionTime").val(moment(new Date()).format("HH:mm:ss")); $("#dataBloodReceiveConstituent").text(varResultLists[listCnt].col3); $("#dataBloodReceiveABO").text(varResultLists[listCnt].col1); $("#dataBloodReceiveIPO").text(varResultLists[listCnt].col2); $("#dataBloodReceiveQuantity").text(varResultLists[listCnt].col6); $("#mplusAlertBloodReceiveAction").modal("show"); break; case "3": //console.log("varResultLists : " + JSON.stringify(varResultLists[listCnt])); var tempSpan = "" //+ "" + varResultLists[listCnt].col11 + "" + "
" + "
"; $("#bloodCheckActionNum").append(tempSpan); //spanBarID = "spanInputBloodCheck"; //eventMakeBarcodeCondition(spanBarID); $("#dateBloodCheckActionDate").val(moment(new Date()).format("YYYY-MM-DD")); $("#dataBloodCheckConstituent").text(varResultLists[listCnt].col3); $("#dataBloodCheckABO").text(varResultLists[listCnt].col1); $("#dataBloodCheckIPO").text(varResultLists[listCnt].col2); $("#dataBloodCheckQuantity").text(varResultLists[listCnt].col4); //$("#bloodCheckActionDoc").text(varResultLists[listCnt].col6); //$("#bloodCheckActionUser").text(varResultLists[listCnt].col10); $("#inputBloodCheckActionDoc").prop("placeholder" , varResultLists[listCnt].col6); $("#inputBloodCheckActionUser").prop("placeholder" , varResultLists[listCnt].col10); $("#mplusAlertBloodCheckAction").modal("show"); break; case "4": var tempSpan = "" //+ "" + varResultLists[listCnt].col10 + "" + "
" + "
"; $("#bloodCancelActionNum").append(tempSpan); //spanBarID = "spanInputBloodCancel"; //eventMakeBarcodeCondition(spanBarID); $("#dateBloodCancelOutDate").val(moment(varResultLists[listCnt].col1).format("YYYY-MM-DD")); $("#dateBloodCancelActionDate").val(moment(new Date()).format("YYYY-MM-DD")); $("#dataBloodCancelConstituent").text(varResultLists[listCnt].col4); //$("#bloodCancelActionUser").text(varResultLists[listCnt].col9); $("#inputBloodCancelActionUser").prop("placeholder" , varResultLists[listCnt].col9); $("#mplusAlertBloodCancelAction").modal("show"); break; default : return; } }; var switchModalInit = function(mode , listCnt){ switch(mode){ case "1": break; case "2": $("#inputBloodReceive").prop("placeholder" , varResultLists[listCnt].col11); $("#inputBloodReceive").off("keydown"); $("#inputBloodReceive").on("keydown" , function(e){ if (e.keyCode == 13 && varResultLists.length != 0) { if(varResultLists[listCnt].col11 != $(this).val()){ $("#btnInPutActBarcode0").text("X"); $(this).val(""); $(this).focus(); self.alert("혈액번호를 확인해주세요."); return; } $("#btnInPutActBarcode0").text("O"); $(this).prop("disabled" , true); } }); $("#inputBloodReceive").focus(); break; case "3": $("#inputBloodCheck").prop("placeholder" , varResultLists[listCnt].col11); $("#inputBloodCheck").off("keydown"); $("#inputBloodCheck").on("keydown" , function(e){ if (e.keyCode == 13 && varResultLists.length != 0) { if(varResultLists[listCnt].col11 != $(this).val()){ $("#btnInPutActBarcode0").text("X"); $(this).val(""); $(this).focus(); self.alert("혈액번호를 확인해주세요."); return; } $("#btnInPutActBarcode0").text("O"); $(this).prop("disabled" , true); $("#inputBloodCheckActionDoc").focus(); } }); $("#inputBloodCheckActionDoc").off("keydown"); $("#inputBloodCheckActionDoc").on("keydown" , function(e){ if (e.keyCode == 13 && varResultLists.length != 0) { if(varResultLists[listCnt].col6 != $(this).val()){ $("#btnBloodCheckActionDoc").text("X"); $(this).val(""); $(this).focus(); self.alert("의사번호를 확인해주세요."); return; } $("#btnBloodCheckActionDoc").text("O"); $(this).prop("disabled" , true); $("#inputBloodCheckActionUser").focus(); } }); $("#inputBloodCheckActionUser").off("keydown"); $("#inputBloodCheckActionUser").on("keydown" , function(e){ if (e.keyCode == 13 && varResultLists.length != 0) { if(varResultLists[listCnt].col10 != $(this).val()){ $("#btnBloodCheckActionUser").text("X"); $(this).val(""); $(this).focus(); self.alert("의료진번호를 확인해주세요."); return; } $("#btnBloodCheckActionUser").text("O"); $(this).prop("disabled" , true); } }); $("#inputBloodCheck").focus(); break; case "4": $("#inputBloodCancel").prop("placeholder" , varResultLists[listCnt].col10); $("#inputBloodCancel").off("keydown"); $("#inputBloodCancel").on("keydown" , function(e){ if (e.keyCode == 13 && varResultLists.length != 0) { if(varResultLists[listCnt].col10 != $(this).val()){ $("#btnInPutActBarcode0").text("X"); $(this).val(""); $(this).focus(); self.alert("혈액번호를 확인해주세요."); return; } $("#btnInPutActBarcode0").text("O"); $(this).prop("disabled" , true); $("#inputBloodCancelActionUser").focus(); } }); $("#inputBloodCancelActionUser").off("keydown"); $("#inputBloodCancelActionUser").on("keydown" , function(e){ if (e.keyCode == 13 && varResultLists.length != 0) { if(varResultLists[listCnt].col9 != $(this).val()){ $("#btnBloodCancelActionUser").text("X"); $(this).val(""); $(this).focus(); self.alert("의사번호를 확인해주세요."); return; } $("#btnBloodCancelActionUser").text("O"); $(this).prop("disabled" , true); } }); $("#inputBloodCancel").focus(); break; default: return; } } var switchCheckBarcodeNum = function(mode , barcodeNum){ var spanID = ""; switch(mode){ case "1": spanID = "spanInputBloodRequest"; break; case "2": spanID = "spanInputBloodReceive"; break; case "3": spanID = "spanInputBloodCheck"; break; case "4": spanID = "spanInputBloodCancel"; break; default: return; } for(var fCnt = 0 ; fCnt < inputBloodManagementLength ; fCnt++){ if(barcodeNum == $("#" + spanID + fCnt).text()){ $("#" + spanID + fCnt).css("color" , "blue"); $("#btnInPutActBarcode" + fCnt).attr("disabled" , true); } } }; var switchCheckInputFocus = function(mode){ var spanID = ""; switch(mode){ case "1": break; case "2": if($("#inputBloodReceive").is(":disabled") == false){ $("#inputBloodReceive").focus(); } break; case "3": if($("#inputBloodCheck").is(":disabled") == false){ $("#inputBloodCheck").focus(); }else if($("#inputBloodCheckActionDoc").is(":disabled") == false){ $("#inputBloodCheckActionDoc").focus(); }else if($("#inputBloodCheckActionUser").is(":disabled") == false){ $("#inputBloodCheckActionUser").focus(); } break; case "4": if($("#inputBloodCancel").is(":disabled") == false){ $("#inputBloodCancel").focus(); }else if($("#inputBloodCancelActionUser").is(":disabled") == false){ $("#inputBloodCancelActionUser").focus(); } break; default: return; } }; var eventCondition = function(){ ///////////////////////////////////////////////////////////////////////////////// 2019.09.04 추가 Start //데이터 전체길이 입력시 검색 $("#txtBloodManagementPatientSearchTxt").off("keydown"); $("#txtBloodManagementPatientSearchTxt").on("keydown" , function(e){ if (e.keyCode == 13 && $("#txtBloodManagementPatientSearchTxt").val().length != 0) { initPatientInfo(); getPatientInfo(); }else if(e.keyCode == 13 && $("#txtBloodManagementPatientSearchTxt").val().length == 0){ self.alert("환자번호를 입력해주세요."); $("#txtBloodManagementPatientSearchTxt").focus(); } }); //포커스 초기화 $("#txtBloodManagementPatientSearchTxt").off("focus"); $("#txtBloodManagementPatientSearchTxt").on("focus" , function(){ $(this).val(""); }); $("#mplusAlert").off("hidden.bs.modal"); $("#mplusAlert").on("hidden.bs.modal", function () { switchCheckInputFocus($("#sltBloodManagementCd").val()); }); ///////////////////////////////////////////////////////////////////////////////// 2019.09.04 추가 End // 환자 조회 이벤트 처리 $("#btnBloodManagementSearch").off("click"); $("#btnBloodManagementSearch").on("click", function(){ var searchTxt = $("#txtBloodManagementPatientSearchTxt").val(); if(searchTxt == ""){ self.alert("환자번호를 입력해주세요."); return; } initPatientInfo(); getPatientInfo(); }); // 바코드 검색 $("#btnBarcodeSearch").off("click"); $("#btnBarcodeSearch").on("click", function(){ $("#txtBloodManagementPatientSearchTxt").val(""); readBarcode("search"); }); // 투약처리 /* $("#btnInputBloodManagementAct").off("click"); $("#btnInputBloodManagementAct").on("click", function(){ initInputBloodManagement(); settingSetInputBloodManagement(); $("#mplusAlertBloodManagementAction").modal("show"); }); */ // 투약실시 선택 $("#checkBloodManagementAll").off("change"); $("#checkBloodManagementAll").on("change", function(){ if($("#checkBloodManagementAll").is(":checked")){ $(".checkClassBloodManagementSel").prop("checked" , true); $(".checkClassBloodManagementSel").trigger("change"); }else{ $(".checkClassBloodManagementSel").prop("checked" , false); $(".checkClassBloodManagementSel").trigger("change"); } }); //mode변경 $("#sltBloodManagementCd").off("change"); $("#sltBloodManagementCd").on("change", function(){ $("#divResultRows").empty(); changeResultHeader($("#sltBloodManagementCd").val()); var searchTxt = $("#txtBloodManagementPatientSearchTxt").val(); if(searchTxt != ""){ switchGetBloodManagementList($("#sltBloodManagementCd").val()); return; } }); // 혈액신청 $("#btnBloodRequestAct").off("click"); $("#btnBloodRequestAct").on("click", function(){ //TEST $("#mplusAlertBloodRequestAction").modal("hide"); self.alert("혈액신청되었습니다."); return; switchInputBloodManagement($("#sltBloodManagementCd").val()); }); // 취소 $("#btnBloodRequestCancel").off("click"); $("#btnBloodRequestCancel").on("click", function(){ $("#mplusAlertBloodRequestAction").modal("hide"); }); // 혈액확인 $("#btnBBloodReceiveAct").off("click"); $("#btnBBloodReceiveAct").on("click", function(){ if($("#btnInPutActBarcode0").text() == "O"){ //TEST $("#mplusAlertBloodReceiveAction").modal("hide"); self.alert("혈액확인되었습니다."); return; switchInputBloodManagement($("#sltBloodManagementCd").val()); }else{ self.alert("혈액번호를 확인해주세요."); } }); // 취소 $("#btnBloodReceiveCancel").off("click"); $("#btnBloodReceiveCancel").on("click", function(){ $("#mplusAlertBloodReceiveAction").modal("hide"); }); // 수혈확인 $("#btnBloodCheckAct").off("click"); $("#btnBloodCheckAct").on("click", function(){ //TEST $("#mplusAlertBloodCheckAction").modal("hide"); self.alert("수혈확인되었습니다."); return; if(checkInputBloodManagementData()){ switchInputBloodManagement($("#sltBloodManagementCd").val()); } }); // 취소 $("#btnBloodCheckCancel").off("click"); $("#btnBloodCheckCancel").on("click", function(){ $("#mplusAlertBloodCheckAction").modal("hide"); }); // 혈액반환 $("#btnBloodCancelAct").off("click"); $("#btnBloodCancelAct").on("click", function(){ //TEST $("#mplusAlertBloodCancelAction").modal("hide"); self.alert("혈액반환되었습니다."); return; if(checkInputBloodManagementData()){ switchInputBloodManagement($("#sltBloodManagementCd").val()); } }); // 취소 $("#btnBloodCancelCancel").off("click"); $("#btnBloodCancelCancel").on("click", function(){ $("#mplusAlertBloodCancelAction").modal("hide"); }); }; var eventMakeCondition = function() { /* $(".checkClassBloodManagementSel").off("change"); $(".checkClassBloodManagementSel").on("change", function(){ var checkSelected = false; for(var fCnt = 0 ; fCnt < varResultLists.length ; fCnt++){ if($("#checkBloodManagementSel" + fCnt).is(":checked")){ checkSelected = true; break; } } if(checkSelected){ $("#btnInputBloodManagementAct").attr("disabled" , false); }else{ $("#btnInputBloodManagementAct").attr("disabled" , true); } });*/ //div 선택 이벤트 }; var eventMakeBarcodeCondition = function(spanInputID) { $(".classBtnInPutActBarcode").off("click"); $(".classBtnInPutActBarcode").on("click", function(){ //readBarcode("check"); console.log("classBtnInPutActBarcode click!"); //TEST 삭제 for(var fCnt = 0 ; fCnt < inputBloodManagementLength ; fCnt++){ switchCheckBarcodeNum($("#sltBloodManagementCd").val() , $("#" + spanInputID +fCnt).text()); } }); }; //==== 이벤트 설정 } ==== //==== 환자 정보 조회 처리 { ==== //==== 환자 정보 조회 처리 } ==== //==== 컬럼 정렬 프로세스 { ==== // 컬럼 상태를 초기화 처리 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(); }; //==== 컬럼 정렬 프로세스 } ==== };