/** * mplus_nursing */ var mplus_nursing = function(){ //상속 mplus_common.call(this); //super var self = this; //변수 //임상 페이지 변수 var btnPlusMaxBps = $('#btnPlusMaxBps'); var btnMinusMaxBps = $('#btnMinusMaxBps'); var maxBpsCheck = $('#maxBpsCheck'); var btnPlusMinBps = $('#btnPlusMinBps'); var btnMinusMinBps = $('#btnMinusMinBps'); var minBpsCheck = $('#minBpsCheck'); var btnPlusPulse = $('#btnPlusPulse'); var btnMinusPulse = $('#btnMinusPulse'); var pulseCheck = $('#pulseCheck'); var btnPlusTemperature = $('#btnPlusTemperature'); var btnMinusTemperature = $('#btnMinusTemperature'); var temperatureCheck = $('#temperatureCheck'); var btnPlusBreath = $('#btnPlusBreath'); var btnMinusBreath = $('#btnMinusBreath'); var breathCheck = $('#breathCheck'); var btnPlusSpO2 = $('#btnPlusSpO2'); var btnMinusSpO2 = $('#btnMinusSpO2'); var spO2Check = $('#spO2Check'); var sliderMaxBps = $("#sliderMaxBps"); var sliderMinBps = $("#sliderMinBps"); var sliderPulse = $("#sliderPulse"); var sliderTemperature = $("#sliderTemperature"); var sliderBreath = $("#sliderBreath"); var sliderSpO2 = $("#sliderSpO2"); var txtMaxBps = $('#txtMaxBps'); var txtMinBps = $('#txtMinBps'); var txtPulse = $('#txtPulse'); var txtTemperature = $('#txtTemperature'); var txtBreath = $('#txtBreath'); var txtSpO2 = $('#txtSpO2'); var div = $('
'); var span = $(''); var tr = $(''); var td = $(''); var li = $('
  • '); var input = $(''); var label = $(''); //약실시 변수 var actingList; /** * 초기화 */ this.init = function(){ addEvent(); // 처음에 정보탭이 열리니까 여기서 이걸 해줘야하는건가...?? // 위에 addEvent 안에서 해야되나..? infoInit(); $('#nursingRecodeTab a[data-toggle="tab"]').unbind(); $('#nursingRecodeTab a[data-toggle="tab"]').on('shown.bs.tab', function (e) { if($("ul#nursingRecodeTab.nav-tabs li.active a").attr('aria-controls')=='tabInfo'){ infoInit(); }else if($("ul#nursingRecodeTab.nav-tabs li.active a").attr('aria-controls')=='tabHistory'){ historyInit(); }else if($("ul#nursingRecodeTab.nav-tabs li.active a").attr('aria-controls')=='tabVital'){ vitalInit(); }else if($("ul#nursingRecodeTab.nav-tabs li.active a").attr('aria-controls')=='tabInject'){ //self.rotateScreen('vertical'); injectInit(); }else if($("ul#nursingRecodeTab.nav-tabs li.active a").attr('aria-controls')=='tabCure'){ //self.rotateScreen('landscape'); cureInit(); }else{ /*slef.alert('에러메시지?');*/ }; }); /* $('#nursingRecodeTab a[data-toggle="tab"]').on('hide.bs.tab', function (e) { if($("ul#nursingRecodeTab.nav-tabs li.active a").attr('aria-controls')=='tabCure'){ self.rotateScreen('vertical'); } });*/ }; //토글이 열려있는 상태에서 다른환자 클릭시 호출 this.reInit = function(tabName){ if(tabName=='tabInfo'){ infoInit(); }else if(tabName=='tabHistory'){ historyInit(); }else if(tabName=='tabVital'){ vitalInit(); }else if(tabName=='tabInject'){ injectInit(); }else if(tabName=='tabCure'){ cureInit(); }; }; /** * 이벤트 등록 */ var addEvent = function(){ }; //------------------------------------정보 탭--------------------------------------- var infoInit = function() { // 환자정보 받기 // 환자 상세정보받기 $('#tabInfo').scrollTop(0); addEventInfo(); }; var addEventInfo = function() { // 환자 상세정보 Text 펼치기/접기 $('#infoPatientDetail').unbind(); $('#infoPatientDetail').click(function(){ if( $('#infoPatientDetailTxt').hasClass('in')) { $('#infoPatientDetailTxt').removeClass('in').fadeOut("fast", "linear"); } else { $('#infoPatientDetailTxt').addClass('in').fadeIn("slow", "linear"); } }); $('#infoPatientDetailTxt').click(function(){ $('#infoPatientDetailTxt').removeClass('in').fadeOut("fast", "linear"); }); }; //------------------------------------정보 탭 종료 ----------------------------------- //------------------------------------이력 탭--------------------------------------- var historyInit = function() { historyDataSetting('ALL', 'N', null); addEventHistory(); $('#tabHistory').scrollTop(0); }; var addEventHistory = function () { $('#historyOutMore, #historyInMore, #historyOpMore').unbind(); $('#historyOutMore, #historyInMore, #historyOpMore').click( function(e) { var targetId = e.currentTarget.id; var listId = targetId.replace('More', ''); $('#' + targetId).before($('#'+ listId).find('.history-item:last').clone()); /* 야매 코드 */ }); }; var historyDataSetting = function(type, addYn, endDt){ var patientInfo = JSON.parse(localStorage.patientInfo); var today = new Date(); var targetEndDt = endDt==null? moment(today).format('YYYYMMDD'): moment(moment(endDt)._d - 1 * 1000 * 60 * 60 * 24).format('YYYYMMDD'); var targetStartDt = moment(moment(targetEndDt)._d - 30 * 1000 * 60 * 60 * 24).format('YYYYMMDD'); var param = { patientId: patientInfo.patientId, startDt: targetStartDt, endDt: targetEndDt }; if(type=='ALL'){ //바인딩할때 리스트 empty하니 탭 이동할때 데이터 조회 오류가나도 empty가 되지않아 여기서 해줌! if(addYn=='N'){ $('#historyIn').empty(); $('#historyOut').empty(); $('#historyOp').empty(); }; self.nursing.getVisitList(param, 'in', addYn, targetStartDt); self.nursing.getVisitList(param, 'out', addYn, targetStartDt); self.nursing.getVisitList(param, 'op', addYn, targetStartDt); }else{ if(addYn=='N'){ if(type=='in'){ $('#historyIn').empty(); }else if(type=='out'){ $('#historyOut').empty(); }else{ $('#historyOp').empty(); }; }; self.nursing.getVisitList(param, type, addYn, targetStartDt); }; }; var spanMoreIcon = span.clone().addClass('glyphicon glyphicon-menu-down').attr('aria-hidden', 'true'); var spanCloseIcon = span.clone().addClass('glyphicon glyphicon-menu-up').attr('aria-hidden', 'true'); bindingVisitList = function(visitList, type, addYn, endDt){ var today = new Date(); if(type=='in'){ //입원 $('#inSearchDt').text(moment(endDt).format('YYYY-MM-DD') + ' ~ ' + moment(today).format('YYYY-MM-DD')); if(addYn=='Y'){ $('#historyInMore').remove(); $('#historyInClose').remove(); }; for(var j=0; j').clone().text(moment(visitList[j].inDt).format('YYYY-MM-DD') + ' ~ ' + (visitList[j].outDt==''? '': moment(visitList[j].outDt).format('YYYY-MM-DD')))); var divDoctor = div.clone().addClass('col-xs-8 col-sm-4 pd0').text(visitList[j].departmentNm + ' ' + visitList[j].doctorNm + ' ' + visitList[j].wardNm + '/' + visitList[j].roomNm + '/' + visitList[j].bedNm); var divEmpty = div.clone().addClass('col-xs-4 pd0'); var divDiagnosisNm = div.clone().addClass('col-xs-8 col-sm-5 pd0').text(visitList[j].diagnosisNm); $('#historyIn').append(div.clone().addClass('history-item col-xs-12').append(divTreatDt).append(divDoctor).append(divEmpty).append(divDiagnosisNm)); }; /*if(visitList.length>0){*/ var divInMore = div.clone().addClass('col-xs-6 history-more text-center').attr('id', 'historyInMore').attr('endDt', endDt); var divInClose = div.clone().addClass('col-xs-6 history-more text-center').attr('id', 'historyInClose'); $('#historyIn').append(divInMore.append(spanMoreIcon.clone())).append(divInClose.append(spanCloseIcon.clone())); $('#historyInMore').unbind(); $('#historyInMore').on('click', function(){ historyDataSetting('in', 'Y', $('#historyInMore').attr('endDt')); }); $('#historyInClose').unbind(); $('#historyInClose').on('click', function(){ $('#inSearchDt').text(''); $('#historyInMore').removeAttr('endDt'); $('#historyIn').find('.history-item').remove(); }); /*};*/ }else if(type=='out'){ //외래 $('#outSearchDt').text(moment(endDt).format('YYYY-MM-DD') + ' ~ ' + moment(today).format('YYYY-MM-DD')); if(addYn=='Y') { $('#historyOutMore').remove(); $('#historyOutClose').remove(); }; for(var i=0; i').clone().text(moment(visitList[i].treatDt).format('YYYY-MM-DD'))); var divDoctor = div.clone().addClass('col-xs-8 col-sm-4 pd0').text(visitList[i].departmentNm + ' ' + visitList[i].doctorNm); var divEmpty = div.clone().addClass('col-xs-4 pd0'); var divDiagnosisNm = div.clone().addClass('col-xs-8 col-sm-5 pd0').text(visitList[i].diagnosisNm); $('#historyOut').append(div.clone().addClass('history-item col-xs-12').append(divTreatDt).append(divDoctor).append(divEmpty).append(divDiagnosisNm)); }; /*if(visitList.length>0){*/ var divOutMore = div.clone().addClass('col-xs-6 history-more text-center').attr('id', 'historyOutMore').attr('endDt', endDt); var divOutClose = div.clone().addClass('col-xs-6 history-more text-center').attr('id', 'historyOutClose'); $('#historyOut').append(divOutMore.append(spanMoreIcon.clone())).append(divOutClose.append(spanCloseIcon.clone())); $('#historyOutMore').unbind(); $('#historyOutMore').on('click', function(){ historyDataSetting('out', 'Y', $('#historyOutMore').attr('endDt')); }); $('#historyOutClose').unbind(); $('#historyOutClose').on('click', function(){ $('#outSearchDt').text(''); $('#historyOutMore').removeAttr('endDt'); $('#historyOut').find('.history-item').remove(); }); /*};*/ }else{ //수술 $('#opSearchDt').text(moment(endDt).format('YYYY-MM-DD') + ' ~ ' + moment(today).format('YYYY-MM-DD')); if(addYn=='Y'){ $('#historyOpMore').remove(); $('#historyOpClose').remove(); }; for(var k=0; k').clone().text(moment(visitList[k].operatingDt).format('YYYY-MM-DD'))); var divDoctor = div.clone().addClass('col-xs-8 col-sm-4 pd0').text(visitList[k].operatingNm + ', ' + visitList[k].diagnosisNm); var divEmpty = div.clone().addClass('col-xs-4 pd0'); var divDiagnosisNm = div.clone().addClass('col-xs-8 col-sm-5 pd0').text(visitList[k].operatingDeptNm + ' '+ visitList[k].operatingDrNm); $('#historyOp').append(div.clone().addClass('history-item col-xs-12').append(divTreatDt).append(divDoctor).append(divEmpty).append(divDiagnosisNm)); }; /*if(visitList.length>0){*/ var divOpMore = div.clone().addClass('col-xs-6 history-more text-center').attr('id', 'historyOpMore').attr('endDt', endDt); var divOpClose = div.clone().addClass('col-xs-6 history-more text-center').attr('id', 'historyOpClose'); $('#historyOp').append(divOpMore.append(spanMoreIcon.clone())).append(divOpClose.append(spanCloseIcon.clone())); $('#historyOpMore').unbind(); $('#historyOpMore').on('click', function(){ historyDataSetting('op', 'Y', $('#historyOpMore').attr('endDt')); }); $('#historyOpClose').unbind(); $('#historyOpClose').on('click', function(){ $('#opSearchDt').text(''); $('#historyOpMore').removeAttr('endDt'); $('#historyOp').find('.history-item').remove(); }); /*};*/ }; }; //------------------------------------이력 탭 종료 ----------------------------------- //------------------------------------임상 탭--------------------------------------- var vitalInit = function(){ $('#vitalSearch').css('display', 'block'); $('#vitalInfo').css('display', 'none'); $('#vitalSearch #vitalSearchDate').text(moment(new Date).format('YYYY-MM-DD')); self.lastVital = new Array(); vitalDataSetting(true); addEventVital(); $('#tabVital').scrollTop(0); }; var vitalDataSetting = function(saveLastVital){ var patientInfo = JSON.parse(localStorage.patientInfo); if(patientInfo.visitNo == undefined) return; var param = {visitNo: patientInfo.visitNo, searchDt: $('#vitalSearchDate').text()}; var vitalList = self.nursing.getVitalList(param); var vitalListArr = []; for(var i=0; i o.time === vitalList[i].ActDt.split(' ')[1])==undefined){ if(vitalListArr.find(function(o){return o.time === vitalList[i].ActDt.split(' ')[1];})==undefined){ vitalListArr.push({ 'time': vitalList[i].ActDt.split(' ')[1], 'pulse': '-', 'breath': '-', 'temperature': '-', 'minBps': '-', 'maxBps': '-', 'spO2': '-' }); }*/ var Arrtemp = undefined; for(var j=0; j o.time === vitalList[i].ActDt.split(' ')[1]); var targetObject = null; for(var j=0; j 0) { self.lastVital.push(vitalListArr[0]); } vitalDataBinding(vitalListArr); }; var vitalDataBinding = function(vitalList){ $('#vitalList').empty(); for(var i=0; i 0 && Number(value) > $('input#' + sliderId).val()) { $('input#' + txtId).val($('input#' + sliderId).val()); } }; //------------------------------------임상 탭 종료--------------------------------------- //------------------------------------투약 탭 ----------------------------------------- var injectInit = function() { $('#injectSearch #injectSearchDate').text(moment(new Date()).format('YYYY-MM-DD')); injectBinding(); addEventInject(); $('#tabInject').scrollTop(0); }; var addEventInject = function(){ $('#injectSearch .inject-prev-day').unbind(); $('#injectSearch .inject-prev-day').click(function() { var currentDate = moment($('#injectSearch #injectSearchDate').text()).format('YYYY-MM-DD'); $('#injectSearch #injectSearchDate').text(moment(currentDate).add(-1, 'days').format('YYYY-MM-DD')); injectBinding(); }); $('#injectSearch .inject-next-day').unbind(); $('#injectSearch .inject-next-day').click(function() { var currentDate = moment($('#injectSearch #injectSearchDate').text()).format('YYYY-MM-DD'); $('#injectSearch #injectSearchDate').text(moment(currentDate).add(1, 'days').format('YYYY-MM-DD')); injectBinding(); }); }; var addEventInjectItem = function() { $('#injectDataList .list-group-item').unbind(); $('#injectDataList .list-group-item').click(function(){ var detailArea = $(this).find('.inject-data-detail'); if( detailArea.hasClass('hidden')) { detailArea.removeClass('hidden'); } else { detailArea.addClass('hidden'); } }); }; var injectBinding = function(){ var patientInfo = JSON.parse(localStorage.patientInfo); var searchDate = moment($('#injectSearchDate').text()).format('YYYYMMDD'); var param = { 'patientId': patientInfo.patientId, 'startDt': searchDate, 'endDt': searchDate, }; var medicationList = self.nursing.getMedicationHistory(param); $('#injectDataList').empty(); for(var i=0; i0){ $('#modalStartDrug').modal('show'); /*$('#modalStartSap').modal('show');*/ $('input#sapNo').prop('checked', true).trigger('change'); }else{ self.alert('투약내역을 선택해주세요.'); return; }; }); $('#btnChangeDrug').unbind(); $('#btnChangeDrug').click(function(){ if($('input[type=checkbox][id*=chk_cureDetail_]:checked').length>0){ $('#modalChangeDrug').modal('show'); /*$('#modalStartSap').modal('show');*/ $('input#sapYes').prop('checked', true).trigger('change'); }else{ self.alert('투약내역을 선택해주세요.'); return; }; }); $('#modalChangeDrug').on('show.bs.modal', function (e) { $('#dateChangeDrug')[0].value = self.util.toDatetimeLocal(new Date()); }); $('#btnStartSap').unbind(); $('#btnStartSap').click(function(){//이 if문을 나중에 정상 실시, 변경후 실시 로직 안으로 옮기기 if($('input[type=checkbox][id*=chk_cureDetail_]:checked').length>0){ $('#modalStartSap').modal('show'); $('input#sapYes').prop('checked', true).trigger('change'); }else{ self.alert('투약내역을 선택해주세요.'); return; }; }); $('#modalStartSap').on('show.bs.modal', function (e) { $('#dateStartSap')[0].value = self.util.toDatetimeLocal(new Date()); $('#dateEndSap')[0].value = self.util.toDatetimeLocal(new Date()); $('input[name="sapStatus"]').unbind(); $('input[name="sapStatus"]').change(function(e){ if(e.currentTarget.value=='N'){ $('.disabled-sapYes').prop('disabled', true); $('.disabled-sapEnd').prop('disabled', true); }else if(e.currentTarget.value=='Y'){ $('.disabled-sapYes').prop('disabled', false); $('.disabled-sapEnd').prop('disabled', true); }else{ $('.disabled-sapYes').prop('disabled', true); $('.disabled-sapEnd').prop('disabled', false); }; }); $('#btnExecuteIvStart').unbind(); $('#btnExecuteIvStart').click(function(){ var actingData = actingList[$('input[type=checkbox][id*=chk_cureDetail_]:checked')[0].id.split('_')[2]]; var patientInfo = JSON.parse(localStorage.patientInfo); var prepYn = ''; if(actingData.OrdKindCd.trim()=='S' || actingData.OrdKindCd.trim()=='U' || actingData.OrdKindCd.trim()=='V' || actingData.OrdKindCd.trim()=='W' || actingData.DrgOrdGb.trim()=='J' || actingData.DrgOrdGb.trim()=='R' || actingData.DrgOrdGb.trim()=='S' || actingData.DrgOrdGb.trim()=='D' || actingData.DrgOrdGb.trim()=='E'){ if((actingData.OrdExecYmd==null || actingData.OrdExecYmd.trim()=='') && (actingData.OrdProgStus.trim()=='00' || actingData.OrdProgStus.trim()=='05')){ prepYn = 'N'; }else if((actingData.OrdExecYmd!=null && actingData.OrdExecYmd.trim()!='') && (actingData.OrdProgStus.trim()=='00' || actingData.OrdProgStus.trim()=='05')){ prepYn = 'Y'; }else{ prepYn = ''; } }else{ prepYn = ''; }; console.log({ 'userId': JSON.parse(localStorage.user).userId, 'chosNo': patientInfo.patientId, 'grNo': actingData.OrdNo2 + '/'+actingData.DrgInjExecSeq + '/' + actingData.OrdYmd, //이게 맞는지? 'actDt': moment($('#dateStartSap').val()).format('YYYYMMDD HHmm'), 'msmtVal': $('#sapCapacity').val(), 'RgtId': JSON.parse(localStorage.user).userId, 'patNm': patientInfo.patientNm, 'ordYmd': actingData.OrdYmd, 'ordSeq': actingData.OrdSeq, 'ordNo': actingData.OrdNo, 'drgInjExecSeq': actingData.DrgInjExecSeq, 'injDuseQty': '0.000', 'execStrYmd': moment($('#dateStartSap').val()).format('YYYYMMDD'), 'execStrHm': moment($('#dateStartSap').val()).format('HHmm'), 'ordTypCd': actingData.OrdTypCd2, 'execYn': actingData.ExecGb, 'hmChgResn': $('#sltChangeSap option:selected').val(), 'basCapUnitNm': actingData.BasCapUnitNm, 'drgInjExecQty': actingData.DrgInjExecQty, 'drgInjExecQty1': '', 'qty': actingData.Qty, 'callLoc': '2', 'chosGb': 'I', 'ordProgLoc': localStorage.selectDeptCode, 'cnYn': 'N', 'prepYn': prepYn, 'vaccOrdCd': actingData.VaccOrdCd, 'vaccRegYn': actingData.VaccRegYn, 'ordExecYmd': actingData.OrdExecYmd, 'ordExecHms': '', //선택한 항목의 ordExecHms, OrdExecYmd밖에없는뎅???? 'execGb': actingData.ExecGb }) }); }); $('#btnEndSap').unbind(); $('#btnEndSap').click(function(){//이 if문을 나중에 정상 실시, 변경후 실시 로직 안으로 옮기기 if($('input[type=checkbox][id*=chk_cureDetail_]:checked').length>0){ /*$('#modalEndSap').modal('show');*/ $('#modalStartSap').modal('show'); $('input#sapEnd').prop('checked', true).trigger('change'); }else{ self.alert('투약내역을 선택해주세요.'); return; }; }); $('#modalEndSap').on('show.bs.modal', function (e) { $('#dateEndSap')[0].value = self.util.toDatetimeLocal(new Date()); }); }; var getCureList = function(duty){ $('#cureDetailDataList').empty(); var patientInfo = JSON.parse(localStorage.patientInfo); if(patientInfo.visitNo == undefined) return; var today = new Date(); var startDt = ''; var endDt = ''; if($('#sltTimeType').val()=='current'){ startDt = moment(today).format('HH')+'0000'; endDt = moment(today).format('HH')+'5959'; }else if($('#sltTimeType').val()=='special'){ startDt = $('#sltTime').val()+'0000'; endDt = $('#sltTime').val()+'5959'; }else if($('#sltTimeType').val()=='noTime'){ startDt = '000000'; endDt = '235959'; }else { if(6<=moment(today).format('HH')&& moment(today).format('HH')<=13){ startDt = '060000'; endDt = '135959'; }else if(14<=moment(today).format('HH')&&moment(today).format('HH')<=21){ startDt = '140000'; endDt = '215959'; }else{ startDt = '220000'; endDt = '055959'; } } var param = { 'visitNo': patientInfo.visitNo, 'ordSlipCd': $('#sltMedType').val(), 'startDt': moment(today).format('YYYYMMDD'), 'startTm': startDt, 'endDt': moment(today).format('YYYYMMDD'), 'endTm': endDt, 'userId': JSON.parse(localStorage.user).userId, 'wardCd': patientInfo.wardCd }; /*var param = { 'visitNo': '90110301I00088', 'ordSlipCd': 'A01', 'startDt': '20180126', 'startTm': '120000', 'endDt': '20180126', 'endTm': '125959', 'userId': '0722006', 'wardCd': '63' }; */ actingList = self.nursing.getActList(param); if( actingList.result != undefined ) { cureBinding(actingList.result, actingList.extraMsg); } else { self.alert('조회 실패'); } }; var cureBinding = function(actList, extraMsg){ if( actList.length == 0 && extraMsg != 'null' ) { self.alert(extraMsg); } if(actList.length == 0) { $('#cureDetailDataList').append(li.clone().append(div.clone().addClass('text-center no-result').text('―'))); return; } for(var i=0; i