123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342 |
- //변수선언
- 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");
- }
- function fDirecPrcpSrch(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;
- 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 - 247;
- }
- 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 fGetDirecPrcp() {
- model.setValue ( "/root/send/cond1", model.getValue ( "/root/init/prcpno" ));
- submit("TRMMB00911", 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 fDirecPrcpSave() {
- for ( var i=1; i < grd_prcplist.rows-1; i++ ) {
- 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 + "]/srchcondcnts", model.getValue ( "/root/init/prcpno" ));
- model.setValue("/root/main/prcp/prcplist[" + i + "]/prcpsetcd", opener.javascript.getParameter("SMMMB02100_cond2" ));
- }
- }
- var savePrcpInfo = model.instances(0).selectNodes( "/root/main/prcp/prcplist" );
- model.setValue ( "/root/send/cond1", getNodeListCSV(savePrcpInfo));
- model.setValue ( "/root/send/cond2", "2" );
- if ( !submit ( "TRMMB00203", 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("TXMMB00911", false)) {
- appendChildPrcp ( "/root/reset/prcplist", "/root/main/prcp", "main" ); //검색라인추가
- model.refresh();
- model.recalculate();
- }
- }
- /**
- * @desc : 약속처방 복사하기 기능
- * @param :
- * @id : grd_prcplist
- * @event : onmousedown
- * @return : void
- * @authur : 마정민 2007. 6. 12
- * @---------------------------------------------------
- */
- function fCopyRow () {
- var selectedRows = grd_prcplist.selectedRows;
- var cnt=0;
- for (var i=0; i< selectedRows; i++) {
- if (model.getValue ( prcpNode + "[" + grd_prcplist.selectedrow(i) + "]/status") != "S" ){ //검색은 드래그 안한다.
- fPrcpBuffer( ++cnt, grd_prcplist.selectedrow(i), "/root/prcpdrag", prcpNode );
- }
- }
- var srcNodeList = model.instances(0).selectNodes("/root/prcpdrag/prcplist");
- for ( i=1 ; i<=srcNodeList.length ; i++ ) {
- model.setValue ( "/root/prcpdrag/prcplist[" + i + "]/status" , "I" );
- }
- }
- /**
- * @desc : 약속처방 붙혀넣기 기능
- * @param :
- * @id : grd_prcplist
- * @event : onmousedown
- * @return : void
- * @authur : 마정민 2007. 6. 12
- * @---------------------------------------------------
- */
- function fPasteRow () {
- var srcNodeList = model.instances(0).selectNodes("/root/prcpdrag/prcplist");
- var destNode = model.instances(0).selectSingleNode("/root/main/prcp");
- var row = grd_prcplist.rows-1;
- for (var i=1; i<srcNodeList.length+1; i++) {
- row = row++;
- model.duplicate( "/root/main/prcp", "/root/prcpdrag/prcplist[" + i + "]", "*[" + row + "]");
- model.setValue ( "/root/main/prcp/prcplist[" + row + "]/status", "I" );
- }
- model.refresh();
- }
- /**
- * @desc : 처방화면 오른쪽 마우스 클릭 처방잘라내기
- * @return : void
- * @authur : 마정민 2007. 10. 22
- */
- function fPrcpCrop() {
- if ( model.getValue ("/root/init/cropflag") == "Y" ) {
- if (messageBox ( "잘라낸 데이터가 이미 있습니다. 잘라내시겠습니까?", "Q" ) != "6" ) {
- return;
- }
- }
- var selectedRows = grd_prcplist.selectedRows;
- var cnt=0;
- for (var i = selectedRows-1; i >= 0; i--) {
- if ( model.getValue ( prcpNode + "[" + grd_prcplist.selectedrow(i) + "]/status" ) != "S" ){ //검색은 드래그 안한다.
- fPrcpBuffer( ++cnt, grd_prcplist.selectedrow(i), "/root/prcpdrag", prcpNode );
- if ( model.getValue ( prcpNode + "[" + grd_prcplist.selectedrow(i) + "]/status" ) == "I" ) {
- model.removenode ( prcpNode + "[" + grd_prcplist.selectedrow(i) + "]" );
- } else {
- model.setValue ( prcpNode + "[" + grd_prcplist.selectedrow(i) + "]/status", "D" )
- }
- }
- model.setValue ( "/root/init/cropflag", "Y" );
- }
-
- var srcNodeList = model.instances(0).selectNodes("/root/prcpdrag/prcplist");
- for ( i=1 ; i<=srcNodeList.length ; i++ ) {
- model.setValue ( "/root/prcpdrag/prcplist[" + i + "]/status" , "I" );
- }
- model.refresh();
- }
|