SPMRF03600.js 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242
  1. /**
  2. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  3. 진료 - 서식선택 팝업
  4. * Version :
  5. - Ver.1.00.01
  6. * 개발자: 이경희
  7. * 최초작성일:
  8. - 2008/07/24
  9. * 수정이력:
  10. * 기타:
  11. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  12. */
  13. /**
  14. * @desc : 초기화
  15. * @
  16. * @param :
  17. * @return :
  18. * @----------------------- ------------------------------
  19. */
  20. function fInitialize()
  21. {
  22. var formcd= opener.window.javascript.getParameter("formcd");
  23. var codeflag= opener.window.javascript.getParameter("codeflag");
  24. opener.window.javascript.setParameter("formcd","");
  25. opener.window.javascript.setParameter("codeflag","");
  26. var reqflag = model.getValue("/root/main/condition/reqflag");
  27. model.makeValue("/root/main/condition/reqdata",formcd);
  28. model.makeValue("/root/send/reqdata/reqdata",model.getValue("/root/main/condition/reqdata"));
  29. var srchmode = opener.window.javascript.getParameter("srch_cond");
  30. var srchcond = srchmode.split(":")[1];
  31. if(srchmode.split(":")[0] == "OCR" && srchcond == "N")
  32. model.makeValue("/root/main/condition/reqformprogflag", "PROG");
  33. if(srchmode.split(":")[0] == "OCR" && srchcond == "Y")
  34. {
  35. model.removeNodeset("/root/main/formlist" );
  36. model.refresh();
  37. model.makeValue("/root/send/reqdata/reqflag","formnm");
  38. model.makeValue("/root/send/reqdata/popflag","0");
  39. model.makeValue("/root/main/condition/reqflag","formnm");
  40. model.makeValue("/root/main/condition/popflag","0");
  41. }else if(srchmode.split(":")[0] == "JINJEONG" && srchcond == "Y"){
  42. model.removeNodeset("/root/main/formlist" );
  43. model.refresh();
  44. model.makeValue("/root/send/reqdata/reqflag","formnm");
  45. model.makeValue("/root/send/reqdata/popflag","0");
  46. model.makeValue("/root/main/condition/reqflag","formnm");
  47. model.makeValue("/root/main/condition/popflag","0");
  48. model.makeValue("/root/main/condition/jinjeong", "0");
  49. }
  50. else
  51. {
  52. model.removeNodeset("/root/main/formlist" );
  53. model.refresh();
  54. if(codeflag=="Y")
  55. {
  56. model.makeValue("/root/send/reqdata/reqflag","formcd");
  57. }else
  58. {
  59. model.makeValue("/root/send/reqdata/reqflag","formextnnm");
  60. }
  61. }
  62. if(formcd!=""){
  63. submit("TRMRF00707");
  64. }
  65. var count = getNodesetCnt(model,"/root/main/formlist");
  66. grd_formlist.row = 1;
  67. if(count == 1){
  68. var formcode = model.getValue("/root/main/formlist[" + grd_formlist.row + "]/formcd");
  69. var srcformcd = model.getValue("/root/main/formlist[" + grd_formlist.row + "]/srcformcd");
  70. //서식체크
  71. if (!fChkForm(srcformcd)) {
  72. event.preventDefault();
  73. window.close();
  74. return false;
  75. }
  76. opener.javascript.setParameter("formcd", formcode);
  77. model.close();
  78. }
  79. //외래수진에 입원서식 작성 제한 서식코드
  80. mmbfGetHardCodeInfo("/root/send/reqdata", "/root/temp/srcformcd", 9968);
  81. }
  82. /**
  83. * @desc : 서식 조회
  84. * @
  85. * @param :
  86. * @return :
  87. * @----------------------- ------------------------------
  88. */
  89. function fGetFormlist()
  90. {
  91. var reqflag = model.getValue("/root/main/condition/reqflag");
  92. if(reqflag == "formcd"){
  93. var reqdata = model.getValue("/root/main/condition/reqdata");
  94. reqdata = reqdata.toUpperCase();
  95. model.setValue("/root/main/condition/reqdata", reqdata);
  96. }
  97. model.copyNode("/root/send/reqdata", "/root/main/condition");
  98. submit("TRMRF00707");
  99. }
  100. /**
  101. * @desc : 서식 선택
  102. * @
  103. * @param :
  104. * @return :
  105. * @----------------------- ------------------------------
  106. */
  107. function fSelectForm()
  108. {
  109. if(!isDataCell())
  110. return;
  111. var iRow = grd_formlist.row;
  112. if(iRow < 1){
  113. return;
  114. }
  115. var srcformcd = model.getValue("/root/main/formlist[" + iRow + "]/srcformcd");
  116. //서식체크
  117. if (!fChkForm(srcformcd)) {
  118. return;
  119. }
  120. //2010-02-25 오전 12:38:04 강지훈 수정 : 요청번호 10010, 입환수진 선택시 외래기록 막기, formchosflag로 외래,입원기록 여부판단.
  121. if(isPopup()){
  122. if (opener.window.javascript.getScreenID() == "SMMMR00100") {
  123. var ioflag = opener.model.getValue("/root/send/reqinitinfo/chosflag");
  124. if (ioflag != "O"){ //입원수진일경우.
  125. var formchosflag = model.getValue("/root/main/formlist[" + iRow + "]/formchosflag");
  126. if(formchosflag == "O"){
  127. messageBox("입원환자이므로 외래서식을 작성하실 수", "I004");
  128. return;
  129. }
  130. }else if( ioflag == "O" ){// [요청번호:20160824021] 1. 입원기록 서식 중 일부 고정값 설정
  131. var formchosflag = model.getValue("/root/main/formlist[" + iRow + "]/formchosflag");
  132. if(formchosflag == "I" && getNodesetCnt(model, "/root/temp/srcformcd/hardcd[hardcd = '" + srcformcd + "']") > 0){
  133. messageBox("외래환자이므로 입원서식을 작성하실 수", "I004");
  134. return;
  135. }
  136. }
  137. }
  138. }
  139. var formcd = model.getValue("/root/main/formlist[" + iRow + "]/formcd");
  140. var formbasecd = model.getValue("/root/main/formlist[" + iRow + "]/formbasecd");
  141. var formnm = model.getValue("/root/main/formlist[" + iRow + "]/formnm");
  142. opener.javascript.setParameter("formcd", formcd);
  143. opener.javascript.setParameter("formbasecd", formbasecd);
  144. opener.javascript.setParameter("formnm", formnm);
  145. model.close();
  146. }
  147. function fConfirm()
  148. {
  149. var iRow = grd_formlist.row;
  150. if(iRow < 1){
  151. return;
  152. }
  153. var formcd = model.getValue("/root/main/formlist[" + iRow + "]/formcd");
  154. var formbasecd = model.getValue("/root/main/formlist[" + iRow + "]/formbasecd");
  155. var formnm = model.getValue("/root/main/formlist[" + iRow + "]/formnm");
  156. opener.javascript.setParameter("formcd", formcd);
  157. opener.javascript.setParameter("formbasecd", formbasecd);
  158. opener.javascript.setParameter("formnm", formnm);
  159. model.close();
  160. }
  161. function fCancel()
  162. {
  163. opener.javascript.setParameter("formcd","");
  164. opener.javascript.setParameter("formnm","" );
  165. model.close();
  166. }
  167. /**
  168. * @desc : 즐겨찾기추가
  169. * @id : trv_formlist
  170. * @event : onmousedown
  171. * @return : void
  172. * @authur : 임지원
  173. */
  174. function fSetFavorForm() {
  175. var formcd = model.getValue("/root/main/formlist["+ grd_formlist.row +"]/formcd");
  176. var formbsetflag = "F";
  177. var formbsetdeptcd = "";
  178. model.makeValue("/root/send/temp/formcd", formcd);
  179. model.makeValue("/root/send/temp/formbsetflag", formbsetflag);
  180. model.makeValue("/root/send/temp/formbsetdeptcd", formbsetdeptcd);
  181. submit("TXMMR01001");
  182. parent.window.javascript.fFavorRefresh("refresh"); // 즐겨찾기 refresh
  183. }
  184. function fChkForm(srcformcd) {
  185. //특정서식(마취전평가서)
  186. mmbfGetHardCodeInfo("/root/send/reqdata", "/root/init/opformcd", 5952);
  187. var opformcdCnt = getNodeSetCnt("/root/init/opformcd/hardcd[hardcd = '" + srcformcd + "']");
  188. if (opformcdCnt > 0) {
  189. messageBox("해당서식은 마취기록지 또는 수술확정 화면에서 작성하셔야 합니다!","I");
  190. return false;
  191. }
  192. return true;
  193. }