SPADC60300.js 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  1. /**
  2. * 파 일 명 : SPADC60300.js
  3. * 설 명 : (팝업)약품식별약품검색 Javascriot
  4. * 설 계 자 : 공두경
  5. * 작 성 자 : 공두경
  6. * 수정이력 : 2007.04.12 / 최초작성 / 공두경
  7. 2007.07.20 / 인터페이스 수정 / 공두경
  8. */
  9. var DrugType_Value = "1|10|11|12|13|14|15|16|17|18|19";
  10. var TmpDrugType_Value = "";
  11. /**
  12. * 초기화
  13. */
  14. function fInit() {
  15. /* 제형 콤보박스 초기 설정
  16. zbcfGetCodeList( new Array("A0044"), new Array("/root/init/comboitem/drugtype") );
  17. model.removeNodeset("/root/init/comboitem/drugtype/A0044["+1+"]");
  18. var iLength = getNodesetCnt(model, "/root/init/comboitem/drugtype/A0044");
  19. // alert(iLength);
  20. for(var i = 1; i <= iLength; i++){
  21. if(i == 0){
  22. DrugType_Value = model.getValue("/root/init/comboitem/drugtype/A0044["+i+"]/cdid");
  23. } else {
  24. DrugType_Value += model.getValue("/root/init/comboitem/drugtype/A0044["+i+"]/cdid")+"|";
  25. }
  26. }
  27. fDrugTypeChk("A");
  28. model.refresh();
  29. */
  30. // 제형 초기화 ( 정제류와 캡슐류를 분리 )
  31. model.setValue("/root/hidden/drugidinfo/drugtype","");
  32. model.setValue("/root/hidden/drugidinfo/drugtype", DrugType_Value+"|2|3");
  33. model.setValue("/root/temp/tmpdrugtype","2|3");
  34. model.setValue("/root/temp/etcdrugtype","");
  35. // 기타 컨트롤 초기화
  36. model.setValue("/root/hidden/drugidinfo/char",""); //문자
  37. model.setValue("/root/hidden/drugidinfo/drugcd",""); //원내코드
  38. model.setValue("/root/hidden/drugidinfo/comcnts",""); //성분명
  39. model.setValue("/root/hidden/drugidinfo/hngnm",""); //한글상품명
  40. model.setValue("/root/hidden/drugidinfo/engnm",""); //영문상품명
  41. model.setValue("/root/hidden/drugidinfo/shapecd",""); //모양
  42. model.setValue("/root/hidden/drugidinfo/prodcmpynm",""); //회사
  43. model.setValue("/root/hidden/drugidinfo/divline1",""); //분할선 앞
  44. model.setValue("/root/hidden/drugidinfo/divline2",""); //분할선 뒤
  45. model.setValue("/root/hidden/drugidinfo/color",""); // 색상
  46. model.setValue("/root/hidden/drugidinfo/shape",""); // 문양
  47. model.setValue("/root/hidden/drugidinfo/atccodeyn",""); // 같은ATC성분코드 포함
  48. model.refresh();
  49. }
  50. /**
  51. * 제형 체크박스 선택
  52. */
  53. function fDrugTypeChk(chk) {
  54. if(chk == "A"){
  55. model.setValue("/root/hidden/drugidinfo/drugtype", DrugType_Value);
  56. } else if(chk == "D"){
  57. model.setValue("/root/hidden/drugidinfo/drugtype", "");
  58. }
  59. model.refresh();
  60. }
  61. /**
  62. * 약품식별 정보 조회
  63. */
  64. function fSrchDrugId() {
  65. //model.resetInstanceNode("/root/main/drugidlist");
  66. grd_drugid.rebuildStyle();
  67. //model.removeNodeset("/root/main/drugidlist");
  68. //=================조회조건 초기화 시작 ==================================================================
  69. model.copyNode("/root/send/drugidinfo", "/root/hidden/drugidinfo");
  70. var drugtype = model.getValue("/root/send/drugidinfo/drugtype");
  71. var tmpdrugtype = model.getValue("/root/temp/tmpdrugtype");
  72. if(drugtype !=""){
  73. model.setValue("/root/send/drugidinfo/drugtype",drugtype +"|"+tmpdrugtype);
  74. }else model.setValue("/root/send/drugidinfo/drugtype", tmpdrugtype);
  75. var drugtype = model.getValue("/root/send/drugidinfo/drugtype").split("|");
  76. model.setValue("/root/send/drugidinfo/drugtype",drugtype);
  77. //=================조회조건 초기화 종료 ==================================================================
  78. submit("TRADB60301", false);
  79. var nodeCnt = getNodesetCount("/root/main/drugidlist");
  80. for( var i = 1 ; i <= nodeCnt ; i++ ) {
  81. setImageRefInstance("/root/main/drugidlist["+i+"]/phot");
  82. }
  83. grd_drugid.rebuild();
  84. if(grd_drugid.colWidth(2) < 270)
  85. grd_drugid.colWidth(2) = 270;
  86. for( var i = grd_drugid.fixedRows ; i < grd_drugid.Rows ; i++ ) {
  87. if(grd_drugid.rowHeight(i) < 100)
  88. grd_drugid.rowHeight(i) = 100;
  89. }
  90. if(nodeCnt >= 2000){
  91. messageBox("조회결과 최대값 : 2000 \n\n정확한 검색결과를 위해 조회조건을 추가하여 조회","I008");
  92. }
  93. fInit();
  94. model.refresh();
  95. }
  96. /**
  97. * 등록버튼 클릭시 openner 그리드에 데이터 insert
  98. */
  99. function fInsOpenerDrugID() {
  100. if ( checkOpener() ) {
  101. /* 적용된 약품식별 데이터는 색상변경 */
  102. for(var i = grd_drugid.fixedRows; i < grd_drugid.rows; i++){
  103. if(model.getValue("/root/main/drugidlist["+i+"]/sel") == "true"){
  104. grd_drugid.rowStyle(i, "data", "background-color") = "#ffff99";
  105. /* 본원 사용 여부 판단을 위함
  106. 1.약품코드 존재시에는 본원사용여부 : O
  107. 2.약품코드 없고 성분코드 존재시 체크 => 동일한 성분코드 중 약품코드 존재시 본원사용 : "O (타회사)" , 없으면 "X"
  108. 3.약품코드와 성분코드 모두 존재하지 않을시 본원사용여부 : X
  109. */
  110. /*
  111. var atccode = model.getValue("/root/main/drugidlist["+i+"]/atccode");
  112. var drugcd = model.getValue("/root/main/drugidlist["+i+"]/drugcd");
  113. if(drugcd != ""){
  114. model.setValue("/root/main/drugidlist["+i+"]/useyn","O");
  115. }else if(drugcd == "" && atccode != ""){
  116. model.copyNode("/root/send/srchuseyn","/root/main/drugidlist["+i+"]");
  117. submit("TRADB60302");
  118. var cnt_node = getNodesetCount("/root/hidden/useyninfo");
  119. for(var j = 1; j <= cnt_node; j++){
  120. //alert(model.getValue("/root/hidden/useyninfo["+j+"]/useyn"));
  121. if(model.getValue("/root/hidden/useyninfo["+j+"]/useyn") == "Y"){
  122. model.setValue("/root/main/drugidlist["+i+"]/useyn","O\n(타회사)");
  123. break;
  124. }else{
  125. model.setValue("/root/main/drugidlist["+i+"]/useyn","X");
  126. }
  127. }
  128. }else{
  129. model.setValue("/root/main/drugidlist["+i+"]/useyn","X");
  130. }
  131. */
  132. }
  133. }
  134. astfInsertGridData(grd_drugid, opener.grd_drugid, "2", "sel", "","hngnm, hngnm, photoid,photoid,idcd,idcd");
  135. opener.javascript.fImgSetting(false);
  136. model.refresh();
  137. opener.model.refresh();
  138. //window.close();
  139. } else {
  140. messageBox("상위화면이 변경되어 데이터를 전달할 수 ","I004");
  141. }
  142. }
  143. function getNodesetCnt(srchModel,path)
  144. {
  145. if(srchModel == null){
  146. srchModel = model;
  147. }
  148. var insXml = srchModel.instances(0);
  149. var nodeList = insXml.selectNodes(path);
  150. return nodeList.length;
  151. }