SMMMB08300.js 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302
  1. var sSUBJLIST_HIDDEN = "/root/hidden/subjinfo/subjlist"; // 그리드에서 현재 선택된 과제에 대한 정보.
  2. var sSUBJPRTLLIST = "/root/main/subjprtlinfo/subjprtllist"; // tree의 리스트에 대한 item set
  3. //var sSUBJPRTLLIST_HIDDEN = "/root/hidden/subjprtlinfo/subjprtllist"; // tree에서 현재 선택된 item에 대한
  4. var sPRMSPRCPSETLIST_HIDDEN = "/root/hidden/prmsprcpsetinfo/prmsprcpsetlist";
  5. //var sETCPRMSPRCPSETDETLLIST = "/root/main/etcprmsprcpsetdetlinfo/etcprmsprcpsetdetllist";
  6. //var sPRMSPRCPSETLIST_TMP = "/root/hidden/etcprmsprcpsettmp/etcprmsprcpsetlist";
  7. //var sDIAGHISTINFO = "/root/hidden/diaghistinfo/diaghist";
  8. var prevFocusIndex = 0;
  9. var g_prevmouserow = 0;
  10. /**
  11. * @desc : 임상시험프로토콜 스텝별 상세조회
  12. * @
  13. * @param :
  14. * @return :
  15. * @---------------------------------------------------
  16. */
  17. function fReqSubjPrtlStepSet(){
  18. var item = trv_prmsprcpsetlist.item(trv_prmsprcpsetlist.selectedIndex);
  19. var indx = trv_prmsprcpsetlist.selectedIndex;
  20. if(item == null)
  21. return;
  22. var rowpos = item.index + 1;
  23. var levl = model.getValue(sSUBJPRTLLIST + "[" + rowpos + "]/lev");
  24. var setno = model.getValue(sSUBJPRTLLIST + "[" + rowpos + "]/setno");
  25. var settypecd = "T" // 임상시험프로토콜
  26. var setnm = model.getValue(sSUBJPRTLLIST + "[" + rowpos + "]/stepnm");
  27. iviewer1.model.setValue("/root/hidden/prmsprcpsetdetlset/setno" , setno);
  28. iviewer1.model.setValue("/root/hidden/prmsprcpsetdetlset/settypecd", settypecd);
  29. iviewer1.model.setValue("/root/hidden/prmsprcpsetdetlset/setnm" , setnm);
  30. iviewer1.model.refresh();
  31. iviewer1.window.javascript.fReqGetPrmsSet();
  32. trv_prmsprcpsetlist.expand(indx, true);
  33. trv_prmsprcpsetlist.refresh();
  34. }
  35. /**
  36. * @desc : 약속진단관리 폴더명을 입력할 InputBox를 보여줌.
  37. * @
  38. * @param :
  39. * @return :
  40. * @---------------------------------------------------
  41. */
  42. function fShowWndIptBox(){
  43. if(event.clientY >= 700){
  44. var ypos = 700;
  45. }else{
  46. var ypos = event.clientY;
  47. }
  48. group1.attribute("top") = ypos;
  49. group1.attribute("height") = 55;
  50. model.setFocus("ipt_setnm");
  51. model.refresh();
  52. }
  53. /**
  54. * @desc : 새폴더 추가
  55. * @
  56. * @param :
  57. * @return :
  58. * @---------------------------------------------------
  59. */
  60. function fAddSubjPrtlSet(){
  61. var item = trv_prmsprcpsetlist.item(trv_prmsprcpsetlist.selectedIndex);
  62. if(item == null){return;}
  63. var currow = item.index + 1;
  64. model.setValue("/root/main/iptbox/setnm", "");
  65. model.refresh();
  66. if(fSetPrtlFolder(currow, "i")!=-1){
  67. // model.setValue(sSUBJPRTLLIST_HIDDEN + "/status", "i");
  68. model.refresh();
  69. fShowWndIptBox();
  70. }
  71. }
  72. /**
  73. * @desc : 폴더 삭제
  74. * @
  75. * @param :
  76. * @return :
  77. * @---------------------------------------------------
  78. */
  79. function fDelSubjPrtlSet(){
  80. var item = trv_prmsprcpsetlist.item(trv_prmsprcpsetlist.selectedIndex);
  81. if(item == null){return;}
  82. var currow = item.index + 1;
  83. if(fSetPrtlFolder(currow, "d") != -1){
  84. fSaveFolderSet();
  85. }
  86. iviewer1.window.javascript.fClrGridData();
  87. }
  88. /**
  89. * @desc : 폴더 이름 바꾸기
  90. * @
  91. * @param :
  92. * @return :
  93. * @---------------------------------------------------
  94. */
  95. function fUpdtPrtlSet(){
  96. var item = trv_prmsprcpsetlist.item(trv_prmsprcpsetlist.selectedIndex);
  97. if(item == null)
  98. return;
  99. var currow = item.index + 1;
  100. var indx = trv_prmsprcpsetlist.selectedIndex;
  101. var foldernm = model.getValue(sSUBJPRTLLIST + "[" + currow + "]/stepnm");
  102. var refseq = model.getValue(sSUBJPRTLLIST + "[" + currow + "]/refseq");
  103. var subjno = model.getValue(sSUBJLIST_HIDDEN + "/subjno");
  104. if (refseq == 0 )
  105. foldernm = foldernm.replace(subjno, "").getTrim();
  106. else
  107. foldernm = foldernm.replace(refseq+"회", "").getTrim();
  108. model.setValue("/root/main/iptbox/setnm", foldernm);
  109. model.refresh();
  110. if(fSetPrtlFolder(currow, "u")!=-1){
  111. fShowWndIptBox();
  112. }
  113. }
  114. /**
  115. * @desc : 폴더상태 변경 관련 세팅
  116. * @
  117. * @param :
  118. * @return :
  119. * @---------------------------------------------------
  120. */
  121. function fSetPrtlFolder(rowpos, status){
  122. var refseq = model.getValue(sSUBJPRTLLIST + "[" + rowpos + "]/refseq");
  123. var stepnm = model.getValue(sSUBJPRTLLIST + "[" + rowpos + "]/stepnm");
  124. if (status == "d") { //삭제일 경우.
  125. if ( refseq == 0) {
  126. messageBox("선택한 폴더는 삭제", "E001");
  127. return -1;
  128. }
  129. var rtnval = messageBox("[" + stepnm + "]내의 모든 처방이 지워집니다. " + "[" + stepnm + "]폴더를", "Q001");
  130. if(rtnval == 7){
  131. return -1;
  132. }
  133. }
  134. model.setValue(sSUBJPRTLLIST + "[" + rowpos + "]/status", status);
  135. model.refresh();
  136. }
  137. /**
  138. * @desc : 폴더 저장 후, 저장된 폴더의 depth까지 펼친다
  139. * @
  140. * @param :
  141. * @return :
  142. * @authur : 오지훈 2007. 10. 21
  143. * @---------------------------------------------------
  144. */
  145. function fClkBtnCnfm(){
  146. var item = trv_prmsprcpsetlist.item(trv_prmsprcpsetlist.selectedIndex);
  147. if(item == null)
  148. return;
  149. var currow = item.index + 1;
  150. var indx = trv_prmsprcpsetlist.selectedIndex;
  151. group1.attribute("height") = 0;
  152. model.setFocus("trv_etcprmsprcpsetlist");
  153. model.refresh();
  154. fSaveFolderSet();
  155. trv_prmsprcpsetlist.select(currow);
  156. trv_prmsprcpsetlist.expand(indx, true);
  157. trv_prmsprcpsetlist.refresh();
  158. }
  159. /**
  160. * @desc : 폴더정보 변경된 것에 대한 세팅.
  161. * @
  162. * @param :
  163. * @return :
  164. * @---------------------------------------------------
  165. */
  166. function fSaveFolderSet(){
  167. var item = trv_prmsprcpsetlist.item(trv_prmsprcpsetlist.selectedIndex);
  168. var currow = item.index + 1;
  169. var stepnm = model.getValue("/root/main/iptbox/setnm");
  170. var cpgno= model.getValue(sSUBJPRTLLIST + "[" + currow + "]/cpgno");
  171. var refseq= model.getValue(sSUBJPRTLLIST + "[" + currow + "]/refseq");
  172. var status= model.getValue(sSUBJPRTLLIST + "[" + currow + "]/status");
  173. if ( status == "u" ) {
  174. if (refseq == 0 ){
  175. model.setValue(sSUBJLIST_HIDDEN+"/cpgnm", stepnm);
  176. copyNodeType("/root/send/savedata", sSUBJLIST_HIDDEN, "replace");
  177. } else {
  178. model.setValue(sSUBJPRTLLIST + "[" + currow + "]/stepnm", stepnm);
  179. copyNodeType("/root/send/savedata",sSUBJPRTLLIST + "[" + currow + "]", "replace");
  180. }
  181. } else if ( status == "i" ) {
  182. model.setValue(sSUBJPRTLLIST + "[" + currow + "]/stepno", model.getXPathValue("max(" + sSUBJPRTLLIST + "/stepno)") );
  183. model.setValue(sSUBJPRTLLIST + "[" + currow + "]/refseq", model.getXPathValue("max(" + sSUBJPRTLLIST + "/refseq)") );
  184. model.setValue(sSUBJPRTLLIST + "[" + currow + "]/stepnm", stepnm);
  185. copyNodeType("/root/send/savedata",sSUBJPRTLLIST + "[" + currow + "]", "replace");
  186. } else if ( status == "d" ) {
  187. copyNodeType("/root/send/savedata",sSUBJPRTLLIST + "[" + currow + "]", "replace");
  188. }
  189. if(submit("TXMMB08302", false)){
  190. model.setValue("/root/main/subjprtlinfo/subjprtllist[lev='1']/stepnm", model.getValue("/root/hidden/subjinfo/subjlist/subjno")+" "+model.getValue("/root/main/subjprtlinfo/subjprtllist[lev='1']/stepnm") );
  191. model.setValue(trv_prmsprcpsetlist.attribute("ref"), "");
  192. trv_prmsprcpsetlist.rebuild();
  193. }
  194. model.refresh();
  195. }
  196. /**
  197. * @desc : 처방탭 버튼 클릭
  198. * @
  199. * @param :
  200. * @return :
  201. * @authur : 오지훈 2007. 10. 21
  202. * @---------------------------------------------------
  203. */
  204. function fClkBtnPrcpTab(){
  205. trv_prmsprcpsetlist.attribute("visibility") = "visible";
  206. iviewer1.src="SMMMB00200_약속처방SET관리.xrw";
  207. trv_prmsprcpsetlist.rebuild();
  208. }
  209. /**
  210. * @desc : Mouse Drag Over중 선택한 treeview item의 색깔 변경
  211. * @
  212. * @param :
  213. * @return :
  214. * @author : 오지훈 2007. 10. 30
  215. * @---------------------------------------------------
  216. */
  217. function fDragOverColorChng(){
  218. if(trv_prmsprcpsetlist.mouseRow != g_prevmouserow){
  219. trv_prmsprcpsetlist.item(g_prevmouserow).attribute("background-color")="#ffffff";
  220. trv_prmsprcpsetlist.item(trv_prmsprcpsetlist.mouseRow).attribute("background-color")="#ccffff";
  221. g_prevmouserow = trv_prmsprcpsetlist.mouseRow;
  222. }
  223. }
  224. /**
  225. * @desc : Mouse Drop시 treeview item의 순서 변경
  226. * @
  227. * @param :
  228. * @return :
  229. * @author : 오지훈 2007. 10. 30
  230. * @---------------------------------------------------
  231. */
  232. function fDropTrvItem(){
  233. //선택된 아이템
  234. var srcindx = trv_prmsprcpsetlist.selectedIndex;
  235. var srcval = trv_prmsprcpsetlist.item(srcindx).value;
  236. //드롭 위치의 아이템
  237. var trgtindx = trv_prmsprcpsetlist.mouseRow;
  238. var trgtval = trv_prmsprcpsetlist.item(trgtindx).value;
  239. if(trgtval == 0){
  240. messageBox("선택된 폴더로 이동", "E001");
  241. return;
  242. }
  243. copyNodeType("/root/send/savedata",sSUBJPRTLLIST + "[" + srcindx + "]", "replace");
  244. model.makeValue("/root/send/savedata/srcindx", srcindx);
  245. model.makeValue("/root/send/savedata/trgtindx", trgtindx);
  246. if (srcindx > trgtindx) {
  247. model.makeValue("/root/send/savedata/indxkind", 2);
  248. } else if (srcindx < trgtindx) {
  249. model.makeValue("/root/send/savedata/indxkind", 1);
  250. } else {
  251. return;
  252. }
  253. submit("TXMMB08304", false);
  254. model.setValue("/root/main/subjprtlinfo/subjprtllist[lev='1']/stepnm", model.getValue("/root/hidden/subjinfo/subjlist/subjno")+" "+model.getValue("/root/main/subjprtlinfo/subjprtllist[lev='1']/stepnm") );
  255. trv_prmsprcpsetlist.rebuild();
  256. model.refresh();
  257. }