MMR04400.js 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243
  1. /*
  2. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  3. 서식부제목 ( MMR04400_서식부제목관리.xrw - JScript )
  4. - Version :
  5. 1) : Ver.1.00.01
  6. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  7. */
  8. var instance = document.models(0).instances(0);
  9. /**
  10. * @desc : 화면 초기화
  11. * @
  12. * @param :
  13. * @return :
  14. * @authur : 박종훈
  15. * @---------------------------------------------------
  16. */
  17. function fInitialize()
  18. {
  19. model.removeNodeset("/root/main/formsubtitle/formsubtitlelist");
  20. //submit("TRMMR04401")
  21. ////////////////////
  22. //20101124, 주희경, 진료 속도 개선을 위해 로그인 시 조회해 놓은 데이터를 복사
  23. var rsltref = "/root/init/formsubtitle";
  24. model.removeNodeset(rsltref);
  25. model.makeNode(rsltref);
  26. var viewerObj = getViewer("sysMessage");
  27. var srcNode = viewerObj.window.instance1.selectNodes( gvOrderBasicInfoPath + "/formsubtitlelist" );
  28. var trgtNode = instance1.selectSingleNode(rsltref);
  29. for ( i=0; i<srcNode.length; i++)
  30. {
  31. trgtNode.appendChild(srcNode.item(i));
  32. }
  33. //////////////////
  34. model.copyNode("/root/main/formsubtitle", "/root/init/formsubtitle");
  35. grd_formsubtitle.rebuild();
  36. //grd_formsubtitle.additem();
  37. }
  38. /**
  39. * @desc : 라인추가
  40. * @
  41. * @param :
  42. * @return :
  43. * @authur : 박종훈
  44. * @---------------------------------------------------
  45. */
  46. function fAddRow()
  47. {
  48. grd_formsubtitle.addrow();
  49. var nodelistSubtitle = instance.selectNodes("/root/main/formsubtitle/formsubtitlelist");
  50. var maxseq = parseInt(model.getXPathValue("max(" + grd_formsubtitle.attribute("nodeset") + "/seq)")) + 1; //seq의 최대값 + 1
  51. model.setValue("/root/main/formsubtitle/formsubtitlelist[" + (nodelistSubtitle.length) + "]/seq", maxseq);
  52. grd_formsubtitle.row = nodelistSubtitle.length;
  53. grd_formsubtitle.col = 1;
  54. grd_formsubtitle.editCell();
  55. grd_formsubtitle.refresh();
  56. }
  57. /**
  58. * @desc : 라인삭제
  59. * @
  60. * @param :
  61. * @return :
  62. * @authur : 박종훈
  63. * @---------------------------------------------------
  64. */
  65. function fDelRow()
  66. {
  67. var iRow = grd_formsubtitle.selectedRows;
  68. for (var i = 0; i < iRow; i++)
  69. {
  70. grd_formsubtitle.addStatus(grd_formsubtitle.selectedRow(i), "delete");
  71. }
  72. //grd_formsubtitle.addStatus(grd_formsubtitle.row, "delete");
  73. }
  74. /**
  75. * @desc : 저장
  76. * @
  77. * @param :
  78. * @return :
  79. * @authur : 박종훈
  80. * @---------------------------------------------------
  81. */
  82. function fSave()
  83. {
  84. if(fChkPreSave())
  85. {
  86. model.setValue("/root/send/formsublist", grd_formsubtitle.getUpdateData());
  87. if ( submit("TXMMR04401") ) {
  88. ////////////////
  89. //20101124, 주희경, 저장 변경된 데이터를 sysMessage로 복사
  90. var viewerObj = getViewer("sysMessage");
  91. //targetNode reset..
  92. var parentNode = viewerObj.window.instance1.selectSingleNode(gvOrderBasicInfoPath);
  93. var childNode = viewerObj.window.instance1.selectNodes(gvOrderBasicInfoPath + "/formsubtitlelist");
  94. for ( i=0; i<childNode.length; i++)
  95. {
  96. parentNode.removeChild(childNode.item(i));
  97. }
  98. var srcNode = instance1.selectNodes("/root/main/formsubtitle/formsubtitlelist");
  99. var trgtNode = viewerObj.window.instance1.selectSingleNode(gvOrderBasicInfoPath);
  100. for ( i=0; i<srcNode.length; i++)
  101. {
  102. trgtNode.appendChild(srcNode.item(i));
  103. }
  104. ////////////
  105. grd_formsubtitle.clearStatus(); // submit() 성공하면 그리드의 i,u,d 상태 제거
  106. window.close();
  107. }
  108. } else {
  109. messageBox("빈 항목을", "C001");
  110. }
  111. }
  112. /**
  113. * @desc : 저장전 체크 로직
  114. * @
  115. * @param :
  116. * @return :
  117. * @authur : 박종훈
  118. * @---------------------------------------------------
  119. */
  120. function fChkPreSave()
  121. {
  122. var nodelistSubtitle = instance.selectNodes("/root/main/formsubtitle/formsubtitlelist");
  123. var chknull = true;
  124. for(var i = 1; i <= nodelistSubtitle.length; i++)
  125. {
  126. var subtitle = model.getValue("/root/main/formsubtitle/formsubtitlelist[" + i + "]/formsubtitle");
  127. var seq = model.getValue("/root/main/formsubtitle/formsubtitlelist[" + i + "]/seq");
  128. if(subtitle == "" || seq == "")
  129. {
  130. chknull = false;
  131. }
  132. }
  133. return chknull;
  134. }
  135. /**
  136. * @desc : 순서이동(위로)
  137. * @
  138. * @param :
  139. * @return :
  140. * @authur : 박종훈
  141. * @---------------------------------------------------
  142. */
  143. function fMoveUp()
  144. {
  145. var iRow = grd_formsubtitle.row;
  146. if (iRow > 1){
  147. model.makeValue("root/hidden/temp", "");
  148. model.makeValue("root/hidden/seq", "");
  149. var oldseq = model.getValue("/root/main/formsubtitle/formsubtitlelist[" + iRow + "]/seq");
  150. var newseq = model.getValue("/root/main/formsubtitle/formsubtitlelist[" + (iRow - 1) + "]/seq");
  151. model.copyNode("root/hidden/temp", "/root/main/formsubtitle/formsubtitlelist[" + iRow + "]");
  152. model.copyNode("/root/main/formsubtitle/formsubtitlelist[" + iRow + "]", "/root/main/formsubtitle/formsubtitlelist[" + (iRow - 1) + "]");
  153. model.copyNode("/root/main/formsubtitle/formsubtitlelist[" + (iRow - 1) + "]", "root/hidden/temp");
  154. model.setValue("/root/main/formsubtitle/formsubtitlelist[" + iRow + "]/seq", oldseq);
  155. model.setValue("/root/main/formsubtitle/formsubtitlelist[" + (iRow - 1) + "]/seq", newseq);
  156. model.removeNodeset("root/hidden/temp");
  157. grd_formsubtitle.row = (iRow - 1);
  158. grd_formsubtitle.col = 1;
  159. grd_formsubtitle.addStatus(grd_formsubtitle.row, "update");
  160. grd_formsubtitle.addStatus(grd_formsubtitle.row + 1, "update");
  161. model.refresh();
  162. }
  163. }
  164. /**
  165. * @desc : 순서이동(아래로)
  166. * @
  167. * @param :
  168. * @return :
  169. * @authur : 박종훈
  170. * @---------------------------------------------------
  171. */
  172. function fMoveDown()
  173. {
  174. var iRow = grd_formsubtitle.row;
  175. var iRows = grd_formsubtitle.rows;
  176. if (iRow < (iRows - 1) && iRow > -1){
  177. model.makeValue("root/hidden/temp", "");
  178. model.makeValue("root/hidden/seq", "");
  179. var oldseq = model.getValue("/root/main/formsubtitle/formsubtitlelist[" + iRow + "]/seq");
  180. var newseq = model.getValue("/root/main/formsubtitle/formsubtitlelist[" + (iRow + 1) + "]/seq");
  181. model.copyNode("root/hidden/temp", "/root/main/formsubtitle/formsubtitlelist[" + iRow + "]");
  182. model.copyNode("/root/main/formsubtitle/formsubtitlelist[" + iRow + "]", "/root/main/formsubtitle/formsubtitlelist[" + (iRow + 1) + "]");
  183. model.copyNode("/root/main/formsubtitle/formsubtitlelist[" + (iRow + 1) + "]", "root/hidden/temp");
  184. model.setValue("/root/main/formsubtitle/formsubtitlelist[" + iRow + "]/seq", oldseq);
  185. model.setValue("/root/main/formsubtitle/formsubtitlelist[" + (iRow + 1) + "]/seq", newseq);
  186. model.removeNodeset("root/hidden/temp");
  187. grd_formsubtitle.row = (iRow + 1);
  188. grd_formsubtitle.col = 1;
  189. grd_formsubtitle.addStatus(grd_formsubtitle.row, "update");
  190. grd_formsubtitle.addStatus(grd_formsubtitle.row - 1, "update");
  191. model.refresh();
  192. }
  193. }
  194. /**
  195. * @desc : 창닫기
  196. * @
  197. * @param :
  198. * @return :
  199. * @authur : 박종훈
  200. * @---------------------------------------------------
  201. */
  202. function fClose()
  203. {
  204. grd_formsubtitle.clearStatus();
  205. window.close();
  206. }