SPMRB00302.js 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254
  1. /**
  2. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  3. 진료 - 통합기록조회 북마크( SPMRI01700_Bookmark 새폴더.xrw - JScript )
  4. - Version : 강지훈
  5. 1) : Ver.1.00.01
  6. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  7. **/
  8. /**
  9. * @group :
  10. * @ver :
  11. * @by : 2009-10-15 오후 8:54:11 강지훈
  12. * @---------------------------------------------------
  13. * @type : function
  14. * @access : public
  15. * @desc : 화면 초기화
  16. * @param :
  17. * @return :
  18. * @---------------------------------------------------
  19. */
  20. function fInitilize(){
  21. var selFolder = new opener.javascript.SELFOLDER();
  22. if(selFolder == ""){
  23. return;
  24. }
  25. var openerFlag = opener.javascript.getParameter("SPMRB00302_selFolder"); //작업구분
  26. var dataflag = opener.javascript.getParameter("SPMRB00302_dataflag"); // 즐겨찾기,북마크 구분자
  27. var useflag = opener.javascript.getParameter("SPMRB00302_useflag"); // 개인,환자,부서용 구분자
  28. model.makeValue("/root/main/cond/openerFlag", openerFlag);
  29. model.makeValue("/root/main/cond/dataflag", dataflag);
  30. model.makeValue("/root/main/cond/useflag", useflag);
  31. if(openerFlag == "N"){ // 신규폴더생성일때
  32. // 루뜨 디렉토리가 자동 선택되도록 설정
  33. cmb_loc.disabled = true;
  34. }
  35. else if(openerFlag == "M"){ // 폴더이동일때
  36. model.setValue("/root/main/cond/itemnm", selFolder.itemnm);
  37. ipt_itemnm.disabled = true;
  38. }
  39. //콤보박스에 선택할 itemno 설정
  40. var selItem = "";
  41. if(selFolder.dataflag == "I"){ // 아이템을 선택한 경우, 아이템이 속한 폴더 itemseq를 설정
  42. selItem = selFolder.supitemno;
  43. }
  44. else{ // 폴더는 선택한 경우, 선택한 폴더의 itemseq를 설정
  45. selItem = selFolder.itemno;
  46. }
  47. fSetCmbLoc(selItem); //위치지정 콤보조회
  48. model.refresh();
  49. model.setFocus("ipt_itemnm");
  50. }
  51. /**
  52. * @group :
  53. * @ver :
  54. * @by : 2009-10-15 오후 8:54:11 강지훈
  55. * @---------------------------------------------------
  56. * @type : function
  57. * @access : public
  58. * @desc : 위치지정 콤보조회 및 선택노드 설정
  59. * @param :
  60. * @return :
  61. * @---------------------------------------------------
  62. */
  63. function fSetCmbLoc(itemno){
  64. if(itemno != ""){
  65. if(submit("TRMRB00302")){
  66. model.setValue("/root/main/cond/supitemno", itemno);
  67. // 부모윈도우 창에서 선택한 폴더와 동일한 폴더가 선택되도록 처리
  68. var cmb_loc = document.controls("cmb_loc");
  69. var cmb_itemno = "";
  70. for ( var i=1 ; i<cmb_loc.length + 1 ; i++ ) {
  71. cmb_itemno = model.getValue("/root/init/treeview/item[" + i + "]/itemno");
  72. if ( itemno == cmb_itemno ) {
  73. cmb_loc.selectedIndex = i-1;
  74. model.setValue("/root/main/cond/initselectindex", i-1);
  75. break;
  76. }
  77. }
  78. }
  79. }
  80. else{
  81. messageBox("선택된 폴더가","I004");
  82. return;
  83. }
  84. }
  85. /**
  86. * @group :
  87. * @ver :
  88. * @by : 강지훈
  89. * @---------------------------------------------------
  90. * @type : function
  91. * @access : public
  92. * @desc : 폴더 생성기능
  93. * @param :
  94. * @return :
  95. * @---------------------------------------------------
  96. */
  97. function fConfirm(){
  98. var itemNm = ipt_itemnm.currentText; //폴더이름을 가져온다.
  99. var supItemno= "";
  100. var openerFlag = model.getValue("/root/main/cond/openerFlag");
  101. var useflag = model.getValue("/root/main/cond/useflag");
  102. var dataflag = model.getValue("/root/main/cond/dataflag");
  103. var cmb_loc = document.controls("cmb_loc");
  104. var selFolder = new opener.javascript.SELFOLDER();
  105. if(itemNm == ""){
  106. messageBox("폴더이름을","C001");
  107. model.setFocus("ipt_itemnm");
  108. return;
  109. }
  110. if (cmb_loc.selectedIndex == -1 ) {
  111. messageBox("이동(생성) 될 폴더를","C002");
  112. model.setFocus("cmb_loc");
  113. return;
  114. }
  115. var cmb_idx = cmb_loc.selectedIndex + 1;
  116. supItemno = model.getValue("/root/init/treeview/item[" + cmb_idx + "]/itemno"); //상위폴더번호를 가져온다.
  117. model.removeNode("/root/send/data");
  118. model.makeNode("/root/send/data");
  119. model.makeValue("/root/send/data/openerflag", openerFlag);
  120. model.makeValue("/root/send/data/useflag", useflag);
  121. model.makeValue("/root/send/data/dataflag", dataflag);
  122. model.makeValue("/root/send/data/itemflag", "F");
  123. model.makeValue("/root/send/data/supitemno", supItemno);
  124. model.makeValue("/root/send/data/itemnm", itemNm);
  125. // NOT NULLABLE 필드 초기값 처리
  126. model.makeValue("/root/send/data/pid", "-");
  127. model.makeValue("/root/send/data/orddd", "-");
  128. model.makeValue("/root/send/data/cretno", "0");
  129. model.makeValue("/root/send/data/srcformcd", "-");
  130. model.makeValue("/root/send/data/formcd", "-");
  131. model.makeValue("/root/send/data/signno", "0");
  132. model.makeValue("/root/send/data/pageno", "0");
  133. model.makeValue("/root/send/data/chosflag", "-");
  134. model.makeValue("/root/send/data/reckind", "-");
  135. model.makeValue("/root/send/data/itemindxseq", "0");
  136. model.makeValue("/root/send/data/linkcd", "-");
  137. model.makeValue("/root/send/data/bfopentest", "-");
  138. model.makeValue("/root/send/data/pidynhcd", "-");
  139. if(openerFlag == "M"){
  140. model.makeValue("/root/send/data/itemno", selFolder.itemno);
  141. }
  142. if(submit("TXMRB00302")){
  143. var itemno = model.getValue("/root/tmp/itemno");
  144. if(itemno != ""){
  145. var msg = "";
  146. if(openerFlag == "M") {
  147. msg = "폴더(항목) 이동이";
  148. } else {
  149. msg = "폴더 생성이";
  150. }
  151. messageBox(msg,"I002");
  152. }
  153. window.close();
  154. }
  155. }
  156. function fTargetValidCheck(){
  157. var mode = opener.javascript.getParameter("SPMRB00302_selFolder");
  158. var useflag = model.getValue("/root/main/cond/useflag");
  159. var dataflag = model.getValue("/root/main/cond/dataflag");
  160. var cmb_loc = document.controls("cmb_loc");
  161. var cmb_itemflag = "";
  162. var cmb_useflag = "";
  163. var cmb_level = "";
  164. if ( mode == "N" ) { // 폴더 새로 만들기
  165. for ( var i=1 ; i<cmb_loc.length + 1 ; i++ ) {
  166. if ( cmb_loc.selectedIndex == i-1 ) {
  167. cmb_level = model.getValue("/root/init/treeview/item[" + i + "]/level");
  168. if ( cmb_level > 1 ) {
  169. messageBox("선택하신 폴더의 하위폴더를 생성할 수", "I004");
  170. cmb_loc.selectedIndex = model.getValue("/root/main/cond/initselectindex"); // 부모창에서 선택한 항목으로 선택 처리.
  171. return;
  172. }
  173. break;
  174. }
  175. }
  176. }
  177. else {
  178. for ( var i=1 ; i<cmb_loc.length + 1 ; i++ ) {
  179. if ( cmb_loc.selectedIndex == i-1 ) {
  180. // 이동 대상은 폴더가 아니면 폴더나 항목을 이동(새로만들기) 할 수 없다.
  181. cmb_itemflag = model.getValue("/root/init/treeview/item[" + i + "]/itemflag");
  182. if ( cmb_itemflag != "F" ) {
  183. messageBox("항목은 이동(새로만들기)대상이 될 수", "I004");
  184. cmb_loc.selectedIndex = model.getValue("/root/main/cond/initselectindex"); // 부모창에서 선택한 항목으로 선택 처리.
  185. return;
  186. }
  187. // 원본 폴더, 아이템과 이동대상 폴더의 useflag 값이 동일한지 체크 한다.
  188. cmb_useflag = model.getValue("/root/init/treeview/item[" + i + "]/useflag");
  189. if ( useflag != cmb_useflag ) {
  190. messageBox("동일한 속성(개인용/환자용/부서용)의 폴더 내에서만 이동(새로만들기)이", "I006");
  191. cmb_loc.selectedIndex = model.getValue("/root/main/cond/initselectindex"); // 부모창에서 선택한 항목으로 선택 처리.
  192. return;
  193. }
  194. }
  195. } /* end of for ( var i=1 ; i<cmb_loc.length + 1 ; i++ ) { */
  196. }
  197. }
  198. //--------------------------------------------------------------------------------------------------------------------------------------------------------------------------