123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318 |
- //변수선언
- var prcpclscd = 2;
- var prcpKindCdCol = 3; //처방종류 index
- var prcpnmCol = 5; //처방명 컬럼 index
- var prcpVolCol = 6; //용량 컬럼 index
- var prcpQtyCol = 8; //수량 컬럼 index
- var prcpTimsCol = 10; //횟수 컬럼 index
- var prcpDayNoCol = 11; //일수 컬럼 index
- var prcpDeliveFactCol = 15; //전달사항 컬럼 index
- var prcpHopeHdCol = 18; //희망일자 컬럼 index
- var ContPrcpDdRow = 6; //지정일 instance row
- var prcpNode = "/root/main/prcp/prcplist";
- var diagNode = "/root/main/diaginfo/diagcdlist";
- var prcpgenrflag = ""; //외래입원구분
- /**
- * @desc : 처방화면 초기화
- * @param :
- * @id : model1
- * @event : xforms-ready
- * @return : void
- * @authur : 마정민 2007. 3. 14
- * @---------------------------------------------------
- */
- function fInitializeReady() {
- model.recalculate();
- model.setfocus( "grd_prcplist" );
- grd_prcplist.dispatch("onentercell");
- }
- //HomeCarePrcp
- function fHomeCarePrcpSrch(srchflag) {
- if(event.keyCode == "13") {
- if ( model.getValue(prcpNode+"["+grd_prcplist.row+"]/prcpflag") == "2" && model.getValue(prcpNode+"["+grd_prcplist.row+"]/drugmastspec") =="Y" ){
- return;
- }
- var prcpnm = model.getValue ( prcpNode + "[" + grd_prcplist.row+ "]/prcpnm" );
- if ( srchflag == "prcpcd") {
- prcpnm = model.getValue ( prcpNode + "[" + grd_prcplist.row+ "]/prcpcd" );
- }
- var isHangul = fIsHangul (prcpnm);
- //한글일때는 1글자만 넣어도 검색가능
- if ( isNull(prcpnm)) {
- messageBox ( "검색어를", "C001" );
- return;
- } else if ( isHangul == "E" ){
- //영문,숫자일때는 3글자 넣어야 검색가능
- if ( prcpnm.length < 2 ){
- messageBox ( "2글자 이상", "C001" );
- return;
- }
- } else if ( isHangul == "H" ) {
- if ( prcpnm.length < 2 ){
- messageBox ( "한글은 2글자 이상", "C001" );
- return;
- }
- }
- if (prcpnm.charAt ( 0 ) == "/"){
-
- if ( prcpnm.length == 1 ){
- messageBox ( "검색할 수술명이", "I004" );
- return;
- }
-
- var curRow = grd_prcplist.row;
- var srchRow = grd_prcplist.rows -1;
- fPrcpModal ( "SPMMO05100", 180, 80 );
- } else {
-
- if ( srchflag == "prcpcd") {
- fPrcpSrchCom ( prcpnm, model.getValue ( "/root/init/prcpdd" ), model.getValue ( "/root/paminfo/list/insukind"), "TRMMB00201", "", false, "getPrcpCdOldSrchInfo", isHangul );
- } else if ( srchflag == "prcpnm") {
- fPrcpSrchCom ( prcpnm, model.getValue ( "/root/init/prcpdd" ), model.getValue ( "/root/paminfo/list/insukind"), "TRMMB00201", "", false, "getPrcpNmSrchInfo", isHangul );
- } else {
- fPrcpSrchCom ( prcpnm, model.getValue ( "/root/init/prcpdd" ), model.getValue ( "/root/paminfo/list/insukind"), "TRMMB00201", "", false, "getPrcpSrchInfo", isHangul );
- }
-
- var srchLength = model.instances(0).selectNodes( "/root/prcpsrch/prcplist" ).length;
- var curRow = grd_prcplist.row;
- var nextRow = grd_prcplist.row + 1;
- var prcpdd = model.getValue("/root/init/prcpdd");
-
- model.setValue(prcpNode+"["+grd_prcplist.row+"]/prcphopedd" , getCurrentDate());
- if( srchLength > 1) {
- grd_prcpsrchlist.attribute ( "height" ) = 278;
- btn_copy.attribute ( "top" ) = 281;
- btn_cancel.attribute ( "top" ) = 281;
- import1.attribute ( "height" ) = 306;
- if ( grd_prcplist.row <= 12) {
- import1.attribute ( "top" ) = 71 + ( grd_prcplist.row - 1) * 23;
- } else if ( grd_prcplist.row <= 25) {
- import1.attribute ( "top" ) = (grd_prcplist.row - 1) * 23 - 260;
- } else if ( grd_prcplist.row > 25 ) {
- import1.attribute ( "top" ) = 24 * 23 - 240;
- }
- import1.visible = true;
- model.refresh();
- model.setfocus( "grd_prcpsrchlist" );
- grd_prcpsrchlist.select( 1, 1, 1, 1) = true;
- } else if( srchLength == 1) {
- srchRow = addPrcpDetl ( "import" , "/root/prcpsrch/prcplist" , "/root/main/prcp" , 1 , grd_prcplist.row, "00" );
- if (srchRow !=0 ) {
- focusMain ( srchRow );
- }
- } else {
- messageBox ( "검색된 내용이", "I004" );
- grd_prcplist.dispatch("onentercell");
- }
- }
- }
- }
- function fGetHomeCarePrcp() {
- model.setValue ( "/root/send/cond1", model.getValue ("/root/init/formrecseq"));
- submit("TRMMB00501", false);
- appendChildPrcp ( "/root/reset/prcplist", "/root/main/prcp", "main" ); //검색라인추가
- model.refresh();
- model.recalculate();
- }
- /**
- * @desc : 처방수정.
- * @ : 신규일때는 수정표시 안함.
- * @ : 삭제,D/C 상태일때는 취소후 수정.
- * @param :
- * @id : grd_prcplist
- * @event : xforms-value-changed
- * @return : void
- * @authur : 마정민 2007. 6. 4
- * @---------------------------------------------------
- */
- function fPrcpUpdate() {
- var status = model.getValue ( "/root/main/prcp/prcplist[" + grd_prcplist.row+ "]/status" );
- if (status=="-") {
- model.setValue ( "/root/main/prcp/prcplist[" + grd_prcplist.row+ "]/status", "U" );
- model.refresh();
- model.recalculate();
- }
- }
- /**
- * @desc : 오른쪽 마우스 클릭 삭제
- * @ : 신규일 때는 removeNode
- * @ : 수정중일 때 원복시킨 후 삭제, D/C 표시
- * @ : 삭제, D/C 원복시킬려면 ? 오른쪽 마우스에 삭제 및 D/C 원복
- * @ : D/C 후 삭제는 불가
- * @param :
- * @id : grd_prcplist
- * @event : 오른쪽 마우스 클릭 삭제
- * @return : void
- * @authur : 마정민 2007. 6. 4
- * @---------------------------------------------------
- */
- function fDirecDeleteRow() {
-
- var selectedRows = grd_prcplist.selectedRows;
- var node = instance1.selectSingleNode("/root/main/prcp");
- var cnt=0;
- for (i= selectedRows-1; i >= 0; i--) {
- var status = model.getValue ( "/root/main/prcp/prcplist[" + grd_prcplist.selectedrow(i) + "]/status" );
- if (status=="-") {
- model.setValue ( "/root/main/prcp/prcplist[" + grd_prcplist.selectedrow(i)+ "]/status", "D" );
- } else if ( status =="I" ) {
- //신규입력(I)은 removeNode 이다.
- model.removeNode ( "/root/main/prcp/prcplist[" + grd_prcplist.selectedrow(i) + "]" );
- //삭제시 데이터를
- } else if (status=="S") {
- model.setValue ( "/root/main/prcp/prcplist[" + grd_prcplist.selectedrow(i) + "]/prcpnm", "" );
- } else if (status=="D") {
- model.setValue ( "/root/main/prcp/prcplist[" + grd_prcplist.selectedrow(i)+ "]/status", "-" );
- } else if (status=="U") {
- model.setValue ( "/root/main/prcp/prcplist[" + grd_prcplist.selectedrow(i)+ "]/status", "D" );
- }
- }
- model.refresh();
- model.recalculate();
- }
- /**
- * @desc : 처방 오른쪽 마우스 팝업 처리
- * @param :
- * @id : grd_prcplist
- * @event : onmousedown
- * @return : void
- * @authur : 마정민 2007. 6. 4
- * @---------------------------------------------------
- */
- function fMouseRghtBtnPopup() {
- if (event.button == 3) {
- if(grd_prcplist.isCell(event.target) && grd_prcplist.mouseRow >= grd_prcplist.fixedRows){
- app.showPopupMenu(true);
- window.setPopupMenu(true, "/root/init/msrght/mouserght", "label", "func", false);
- } else {
- window.setPopupMenu(false);
- }
- }
- }
- function fHomeCareSave() {
- for ( var i=1; i < grd_prcplist.rows-1; i++ ) {
- //kimsj 100615 노드 삭제(저장시 오류현상 발생)
- model.removeNode ("/root/main/prcp/prcplist[" + i + "]/rgstdeptcd");
- if ( isNull(model.getValue ( "/root/main/prcp/prcplist[" + i + "]/tempcol6" ))) {
- var prcpnm = model.getValue ( "/root/main/prcp/prcplist[" + i + "]/prcpnm" );
- messageBox ( prcpnm + " 처방의 적용시작일이 입력되지", "E007" );
- return;
- } else if (isNull(model.getValue ( "/root/main/prcp/prcplist[" + i + "]/tempcol7" ))) {
- var prcpnm = model.getValue ( "/root/main/prcp/prcplist[" + i + "]/prcpnm" );
- messageBox ( prcpnm + " 처방의 적용종료일이 입력되지", "E007" );
- return;
- }
- if ( model.getValue ( "/root/main/prcp/prcplist[" + i + "]/status" ) == "I" || model.getValue ( "/root/main/prcp/prcplist[" + i + "]/status" ) == "U" ) {
- model.setValue("/root/main/prcp/prcplist[" + i + "]/prcpkindcd", "20" );
- model.setValue("/root/main/prcp/prcplist[" + i + "]/tempcol8", model.getValue ( "/root/init/formrecseq" ));
- }
- }
- //var savePrcpInfo = model.instances(0).selectNodes( "/root/main/prcp/prcplist" );
- //model.setValue ( "/root/send/cond1", getNodeListCSV(savePrcpInfo));
-
- model.removeNodeset ( "/root/send/cond1/prcplist" );
- fAppendSaveNode( "/root/send/cond1", "/root/main/prcp/prcplist" );
- model.setValue ( "/root/send/cond2", "2" );
- //20131107 이정택
- model.makeValue("/root/send/screenid", getScreenID());
- //20131107 이정택
- if ( !submit ( "TRMMB00205", false )){
- model.resetInstanceNode ( "/root/send" );
- model.refresh();
- return;
- }
- var prcpErrList = model.instances(0).selectNodes( "/root/result/prcperrlist" );
- var xpt = window.screenleft + 100;
- var ypt = window.screenTop + 50;
- var coord = getRelativeCoordinate ( xpt, ypt );
- var mon = coord[0];
- xpt = coord[1];
- ypt = coord[2];
- if ( prcpErrList.length > 0 ) {
- if ( !isNull(model.getValue ( "/root/result/prcperrlist[1]/prcpcd"))){
- modal ( "SPMMO00600", mon, xpt, ypt, "prcpdetl", "/root/result", "/root/result" ); //오류팝업
- model.removeNodeset("/root/result/prcperrlist");
- }
- return;
- }
- if (submit("TXMMB00501", false)) {
- model.removeNodeset ( "/root/send/cond1/prcplist" );
- appendChildPrcp ( "/root/reset/prcplist", "/root/main/prcp", "main" ); //검색라인추가
- model.refresh();
- model.recalculate();
- messageBox ("처방 저장이 ", "I002"); // 2011.08.08 가정간호 prn 처방 저장확인 메세지 .
- }
-
- model.removeNodeset ( "/root/send/cond1/prcplist" );
- }
- function fInitialize_SMMMB00500(){
- //의뢰서번호, 시작일자 받아야 함
- if(isNull(opener.javascript.getParameter ( "SMMMB00500_formrecseq" ))){
- messageBox ("가정간호 의뢰지번호가", "I004");
- window.close();
- }else{
- model.setValue ( "/root/init/formrecseq", opener.javascript.getParameter ( "SMMMB00500_formrecseq" ));
- model.setValue ( "/root/init/prcpfromdd", opener.javascript.getParameter ( "SMMMB00500_prcpfromdd" ));
- if ( isNull(model.getValue ( "/root/init/prcpfromdd" ))) {
- model.setValue ( "/root/init/prcpfromdd", getCurrentDate());
- }
- btn_prcpsrch.selected = true;
- model.setValue ( "/root/main/prcp/prcplist/status", "S");
- var prcpfromdd = model.getValue ( "/root/init/prcpfromdd" );
- var prcptodd = prcpfromdd.toDate().getAddDate(90,"D").getDateFormat();
- model.setValue ( "/root/init/prcptodd", prcptodd );
-
- model.setValue ( "/root/init/prcpdd" , getCurrentDate());
- grd_prcplist.backcoloralternate = "transparent";
- var paminfocvs = getGlobalVariable("paminfo");
- model.removeNodeSet ( "/root/paminfo/list" ); //상단화면 정보 초기화
- setCSVToNode ( "/root/paminfo", paminfocvs );
-
- fPrcpExecDeptSrch("all");
- zbcfGetCodeList(new Array( "M0029", "M0005" , "M0343" ), new Array( "/root/init/payflagcd", "/root/init/prcpclscd", "/root/init/hsctdelivepos"));
- fGetHomeCarePrcp();
- fInitSrch();
- }
-
- if(opener.javascript.getParameter("SMMMB00500_scrnflag") == "D"){ //가정간호처방 display용인 경우
- btn_homeprcpsave.disabled = true;
- btn_homeprcpdel.disabled = true;
- }
-
- }
|