SPMRB00300.js 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652
  1. /**
  2. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  3. 진료 - 통합기록조회 북마크( SMMRB08001_Bookmark.xrw - JScript )
  4. - Version : 강지훈
  5. 1) : Ver.1.00.01
  6. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  7. /**
  8. * @group :
  9. * @ver :
  10. * @by : 2010-05-04 오후 8:54:11 강지훈
  11. * @---------------------------------------------------
  12. * @type : function
  13. * @access : public
  14. * @desc : 화면 초기화
  15. * @param :
  16. * @return :
  17. * @---------------------------------------------------
  18. */
  19. function fInitilize(){
  20. // appcopykey 배열 스펙 정의
  21. // appcopykey[0] : itemnm 북마크/즐겨찾기 항목명(기록지 타이틀로 자동 설정)
  22. // appcopykey[1] : pid 환자등록번호 (북마크에 해당)
  23. // appcopykey[2] : orddd 진료(입원)일자 (북마크에 해당)
  24. // appcopykey[3] : cretno 생성번호 (북마크에 해당)
  25. // appcopykey[4] : signno 서명번호 (북마크에 해당)
  26. // appcopykey[5] : srcformcd 검색용 서식코드 (서식 즐겨찾기에 해당)
  27. // appcopykey[6] : formcd 서식코드 (서식 즐겨찾기에 해당)
  28. // appcopykey[7] : pageno 페이지번호 (북마크에 해당)
  29. // appcopykey[8] : url URL (서식 즐겨찾기에 해당)
  30. // 필드 연결 문자 : ▦
  31. // ROW 연결 문자 : ▩
  32. var appcopykey = opener.javascript.getParameter("SPMRB00300_reckey"); // 즐겨찾기 대상 리스트 string 값(split 처리해야 함)
  33. var dataflag = opener.javascript.getParameter("SPMRB00300_dataflag"); // 즐겨찾기(F), 북마크(B) 구분자
  34. var setflag = opener.javascript.getParameter("SPMRB00300_setflag"); // 수정, 등록 구분자
  35. if ( dataflag == "B" ) { // 북마크 등록인 경우, 해당 안내문구 노출
  36. capt_bookmark.visible = true;
  37. capt_favorite.visible = false;
  38. capt_bookmark_head.visible = true;
  39. capt_favorite_head.visible = false;
  40. }
  41. else if ( dataflag == "F" ) { // 즐겨찾기 등록인 경우, 해당 안내문구 노출
  42. capt_bookmark.visible = false;
  43. capt_favorite.visible = true;
  44. capt_bookmark_head.visible = false;
  45. capt_favorite_head.visible = true;
  46. }
  47. if(setflag == "M"){
  48. btn_sub.visible = false;
  49. btn_rtn.visible = false;
  50. }
  51. if(setflag == "A"){
  52. var copykey = appcopykey.split("▩");
  53. if(appcopykey == ""){
  54. window.close();
  55. return;
  56. }
  57. // 첫번째 데이터를 등록항목 타이틀로 사용한다.
  58. var copykey = appcopykey.split("▩");
  59. appkeyArr = copykey[0].split("▦");
  60. var recTitle = appkeyArr[0];
  61. model.setValue("/root/main/cond/itemnm", recTitle); // 등록시 저장되는 등록항목 타이틀 element 변수.
  62. model.setValue("/root/main/init/itemnm", recTitle); // 등록항목 타이틀을 초기변수에 저장해 둔다.
  63. }
  64. fGetTreeView(dataflag); // 트리뷰의 내용을 가져온다.
  65. model.refresh();
  66. //trv_emrmark.select(0);
  67. model.setFocus("ipt_itemnm");
  68. }
  69. /**
  70. * @group :
  71. * @ver :
  72. * @by : 2010-05-04 오전 10:13:04 강지훈
  73. * @---------------------------------------------------
  74. * @type : function
  75. * @access : public
  76. * @desc : 트리뷰 조회
  77. * @param :
  78. * @return :
  79. * @---------------------------------------------------
  80. */
  81. function fGetTreeView(dataflag){
  82. //Node 초기화
  83. model.removenode("/root/main/treeview");
  84. model.makeNode("/root/main/treeview");
  85. var pid = opener.model.getValue("/root/main/patinfo/patinfolist/pid"); //환자번호
  86. model.removenode("/root/send/markpara");
  87. model.makeValue("/root/send/markpara/pid", pid);
  88. model.makeValue("/root/send/markpara/dataflag", dataflag);
  89. if(submit("TRMRB00111")){
  90. trv_emrmark.rebuild();
  91. trv_emrmark.select(0);
  92. }
  93. }
  94. /**
  95. * @group :
  96. * @ver :
  97. * @by : 2009-10-16 오전 10:13:04 강지훈
  98. * @---------------------------------------------------
  99. * @type : function
  100. * @access : public
  101. * @desc : 새폴더 작성
  102. * @param :
  103. * @return :
  104. * @---------------------------------------------------
  105. */
  106. function fNewFolder(){
  107. trv_emrmark.select(0);
  108. var selFolder = new SELFOLDER();
  109. var dataflag = opener.javascript.getParameter("SPMRB00300_dataflag");
  110. if(selFolder.itemnm == null || selFolder.itemnm == "" || selFolder == null){
  111. messageBox("상위 폴더를","C002");
  112. return;
  113. }
  114. if(selFolder.level > 1 ) {
  115. messageBox("선택하신 폴더의 하위폴더를 생성","E001");
  116. return;
  117. }
  118. setParameter("SPMRB00302_selFolder", "N");
  119. setParameter("SPMRB00302_dataflag", dataflag);
  120. setParameter("SPMRB00302_useflag", selFolder.useflag);
  121. modal("SPMRB00302");
  122. fGetTreeView(dataflag);// 트리뷰의 내용을 가져온다.
  123. }
  124. /**
  125. * @group :
  126. * @ver :
  127. * @by : 2009-10-16 오전 10:13:04 강지훈
  128. * @---------------------------------------------------
  129. * @type : function
  130. * @access : public
  131. * @desc : 항목이동
  132. * @param :
  133. * @return :
  134. * @---------------------------------------------------
  135. */
  136. function fMoveItem(){
  137. var selFolder = new SELFOLDER();
  138. var dataflag = opener.javascript.getParameter("SPMRB00300_dataflag"); // 즐겨찾기(F), 북마크(B) 구분자
  139. if ( selFolder.itemflag == "F" ) {
  140. messageBox("폴더는 이동시킬 수", "I004");
  141. return;
  142. }
  143. if( selFolder.itemno == "" || selFolder.itemno == null ){
  144. messageBox("이동시킬 항목을 ","C002");
  145. return;
  146. }
  147. setParameter("SPMRB00302_selFolder", "M");
  148. setParameter("SPMRB00302_useflag", selFolder.useflag);
  149. setParameter("SPMRB00302_dataflag", dataflag);
  150. modal("SPMRB00302");
  151. fGetTreeView(dataflag);// 트리뷰의 내용을 가져온다.
  152. }
  153. /**
  154. * @group :
  155. * @ver :
  156. * @by : 2009-10-16 강지훈
  157. * @---------------------------------------------------
  158. * @type : function
  159. * @access : public
  160. * @desc : 폴더 삭제
  161. * @param :
  162. * @return :
  163. * @---------------------------------------------------
  164. */
  165. function fDelFolder(){
  166. var selFolder = new SELFOLDER();
  167. var dataflag = opener.javascript.getParameter("SPMRB00300_dataflag"); // 즐겨찾기(F), 북마크(B) 구분자
  168. if(selFolder == "" || selFolder == null){
  169. messageBox("삭제할 항목을 ","C002");
  170. return;
  171. }
  172. var delflag = "S"; // M : 하위항목 같이삭제 S : 선택한항목만삭제
  173. var childItemList = "";
  174. var selItemNo = selFolder.itemno;
  175. if(selFolder.itemflag == "F"){ // 폴더의 경우
  176. childItemList = instance1.selectNodes("/root/main/treeview/item[supitemno = "+ selItemNo +"]");
  177. if(childItemList.length > 0){
  178. delflag = "M";
  179. }
  180. }
  181. else{
  182. delflag = "F";
  183. }
  184. var btn = "";
  185. //선택항목에 따라 메세지를 달리 보여준다.
  186. if(delflag == "M"){
  187. btn = messageBox( "\"" + selFolder.itemnm + "\" 폴더의 하위 항목이 같이 삭제됩니다.","Q001");
  188. }
  189. else if(delflag == "S"){
  190. btn = messageBox( "\"" + selFolder.itemnm + "\" 폴더를","Q001");
  191. }
  192. else if(delflag == "F"){
  193. var msg = "";
  194. if (dataflag == "B") {
  195. msg = " 북마크 항목을";
  196. } else if (dataflag == "F") {
  197. msg = "즐겨찾기 항목을";
  198. }
  199. btn = messageBox( selFolder.itemnm+msg,"Q001");
  200. }
  201. if (btn == '6') {
  202. model.removeNode("/root/send/deldata");
  203. model.makeNode("/root/send/deldata");
  204. var nodeCnt = "2";
  205. if(delflag == "M"){ // 하위항목이 있을경우
  206. model.makeValue("/root/send/deldata/itemno", selItemNo); //현재 선택한 itemno
  207. for(var i = 0; i < childItemList.length; i++){
  208. var childItem = childItemList.item(0);
  209. var childItemNo = childItem.selectSingleNode("itemno").text;
  210. model.makeNode("/root/send/deldata/itemno["+ nodeCnt +"]"); //하위 항목의 itemno
  211. model.setValue("/root/send/deldata/itemno["+ nodeCnt +"]", childItemNo);
  212. nodeCnt++;
  213. }
  214. }
  215. else if(delflag == "S"){ // 하위항목이 없을경우
  216. model.makeValue("/root/send/deldata/itemno", selItemNo); //현재 선택한 itemno
  217. }
  218. else if(delflag == "F"){ // Bookmark항목일 경우
  219. model.makeValue("/root/send/deldata/itemno", selItemNo); //현재 선택한 itemno
  220. model.makeValue("/root/send/deldata/itemflag", selFolder.itemflag); //현재 선택한 기록연결여부
  221. }
  222. }
  223. else if (btn == '7'){
  224. return;
  225. }
  226. if(submit("TXMRB00300")){
  227. fGetTreeView(dataflag);// 트리뷰의 내용을 가져온다.
  228. }
  229. }
  230. /**
  231. * @group :
  232. * @ver :
  233. * @by : 2009-10-16 오전 10:13:04 강지훈
  234. * @---------------------------------------------------
  235. * @type : function
  236. * @access : public
  237. * @desc : 선택한 폴더/아이템의 정보
  238. * @param :
  239. * @return :
  240. * @---------------------------------------------------
  241. */
  242. function SELFOLDER(){
  243. var item = trv_emrmark.item(trv_emrmark.selectedIndex);
  244. if(item == null) return;
  245. var currow = item.index + 1;
  246. // 폴더, 아이템에 따라 분기처리 (아이템을 선택했을 경우, 덮어쓰기 처리 됨.)
  247. this.level = model.getValue("/root/main/treeview/item["+currow+"]/level");
  248. this.itemno = model.getValue("/root/main/treeview/item["+currow+"]/itemno");
  249. this.supitemno = model.getValue("/root/main/treeview/item["+currow+"]/supitemno");
  250. this.itemnm = model.getValue("/root/main/treeview/item["+currow+"]/itemnm");
  251. this.useflag = model.getValue("/root/main/treeview/item["+currow+"]/useflag")
  252. this.itemflag = model.getValue("/root/main/treeview/item["+currow+"]/itemflag");
  253. this.dataflag = model.getValue("/root/main/treeview/item["+currow+"]/dataflag");
  254. this.pid = model.getValue("/root/main/treeview/item["+currow+"]/pid");
  255. }
  256. /**
  257. * @group :
  258. * @ver :
  259. * @by : 2009-10-16 오전 10:13:04 강지훈
  260. * @---------------------------------------------------
  261. * @type : function
  262. * @access : public
  263. * @desc : 새로운 Bookmark를 추가한다.
  264. * @param :
  265. * @return :
  266. * @---------------------------------------------------
  267. */
  268. function fSetNewItem(){
  269. // appcopykey 배열 스펙 정의
  270. // appcopykey[0] : itemnm 북마크/즐겨찾기 항목명(기록지 타이틀로 자동 설정)
  271. // appcopykey[1] : pid 환자등록번호 (북마크에 해당)
  272. // appcopykey[2] : orddd 진료(입원)일자 (북마크에 해당)
  273. // appcopykey[3] : cretno 생성번호 (북마크에 해당)
  274. // appcopykey[4] : signno 서명번호 (북마크에 해당)
  275. // appcopykey[5] : srcformcd 검색용 서식코드 (서식 즐겨찾기에 해당)
  276. // appcopykey[6] : formcd 서식코드 (서식 즐겨찾기에 해당)
  277. // appcopykey[7] : pageno 페이지번호 (북마크에 해당)
  278. // appcopykey[8] : url URL (서식 즐겨찾기에 해당)
  279. // appcopykey[9] : chosflag
  280. // appcopykey[10] : reckind
  281. // appcopykey[11] : itemindxseq
  282. // appcopykey[12] : linkcd
  283. // appcopykey[13] : bfopentest
  284. // appcopykey[14] : pidynhcd
  285. // 2010-06-11 LISFALG, TREATNO 항목추가
  286. // appcopykey[15] : treatno
  287. // appcopykey[16] : lisflag
  288. // 필드 연결 문자 : ▦
  289. // ROW 연결 문자 : ▩
  290. var selFolder = new SELFOLDER();
  291. var appcopykey = opener.javascript.getParameter("SPMRB00300_reckey"); //통합기록조회에서 선택된 이미지 정보
  292. var dataflag = opener.javascript.getParameter("SPMRB00300_dataflag"); // 즐겨찾기(F), 북마크(B) 구분자
  293. var useflag = selFolder.useflag;
  294. var itemnm = ipt_itemnm.currentText;
  295. var pid = opener.model.getValue("/root/main/patinfo/patinfolist/pid"); //환자번호
  296. //var selFolder = new SELFOLDER();
  297. var folderno = selFolder.itemno;
  298. var folderitemflag = selFolder.itemflag;
  299. var supItemno = selFolder.supitemno;
  300. var inititemnm = model.getValue("/root/main/init/itemnm");
  301. var itemnm = model.getValue("/root/main/cond/itemnm");
  302. //alert("useflag : " + useflag);
  303. var msg1 = "";
  304. var msg2 = "";
  305. var msg3 = "";
  306. if ( useflag == "D" ) {
  307. messageBox("지원되지 않는 등록유형입니다.", "I007");
  308. return;
  309. }
  310. if ( dataflag == "B" ) { // 북마크 등록/수정
  311. msg1 = "북마크의 명칭을 ";
  312. msg2 = "북마크를 저장할 폴더를 ";
  313. msg3 = "EMR 북마크 생성이 ";
  314. msg4 = "선택하신 폴더 내에 북마크가";
  315. } else if ( dataflag == "F" ) { // 즐겨찾기 등록/수정
  316. msg1 = "즐겨찾기의 명칭을 ";
  317. msg2 = "즐겨찾기를 저장할 폴더를 ";
  318. msg3 = "EMR 즐겨찾기 생성이 ";
  319. msg4 = "선택하신 폴더 내에 서식이";
  320. }
  321. //필수항목 Check
  322. if(pid == ""){
  323. messageBox("선택된 환자가 없습니다. 환자를 ","C002");
  324. return;
  325. }
  326. if(itemnm == ""){
  327. messageBox(msg1,"C001");
  328. return;
  329. }
  330. if(supItemno == "" || supItemno == null){
  331. messageBox(msg2,"C002");
  332. return;
  333. }
  334. //node 초기화
  335. model.removeNode("/root/send/setdata");
  336. //item정보 setting
  337. if ( folderitemflag == "I" ) { // 저장 위치를 아이템으로 선택한 경우, 덮어쓰기 알림창
  338. messageBox("폴더를 선택", "I008");
  339. return;
  340. var copykey = appcopykey.split("▩");
  341. if (copykey.length > 1) {
  342. alert("다중 등록일 경우에는 폴더를 선택해야 합니다.");
  343. return;
  344. }
  345. var msg = "\"" + selFolder.itemnm + "\" 등록항목이 \"" + itemnm + "\" 항목으로 변경됩니다.";
  346. alert(msg);
  347. model.makeValue("/root/send/setdata/iteminfo/rgsttype", "M");
  348. //model.makeValue("/root/send/setdata/iteminfo/itemno", selFolder.itemno);
  349. } else {
  350. model.makeValue("/root/send/setdata/iteminfo/rgsttype", "I");
  351. }
  352. //model.makeValue("/root/send/setdata/iteminfo/supitemno", selFolder.itemno);
  353. //model.makeValue("/root/send/setdata/iteminfo/itemnm", itemnm);
  354. //model.makeValue("/root/send/setdata/iteminfo/pid", pid);
  355. //model.makeValue("/root/send/setdata/iteminfo/itemflag", "I");
  356. //model.makeValue("/root/send/setdata/iteminfo/dataflag", selFolder.dataflag);
  357. //Bookmark 기록정보 setting
  358. model.makeNode("/root/send/setdata/markinfos");
  359. var srcNode = instance1.selectSingleNode("/root/tmp/markinfo");
  360. var destNode = instance1.selectSingleNode("/root/send/setdata/markinfos");
  361. // appcopykey 배열 스펙 정의
  362. // appcopykey[0] : itemnm 북마크/즐겨찾기 항목명(기록지 타이틀로 자동 설정)
  363. // appcopykey[1] : pid 환자등록번호 (북마크에 해당)
  364. // appcopykey[2] : orddd 진료(입원)일자 (북마크에 해당)
  365. // appcopykey[3] : cretno 생성번호 (북마크에 해당)
  366. // appcopykey[4] : signno 서명번호 (북마크에 해당)
  367. // appcopykey[5] : srcformcd 검색용 서식코드 (서식 즐겨찾기에 해당)
  368. // appcopykey[6] : formcd 서식코드 (서식 즐겨찾기에 해당)
  369. // appcopykey[7] : pageno 페이지번호 (북마크에 해당)
  370. // appcopykey[8] : url URL (서식 즐겨찾기에 해당)
  371. // appcopykey[9] : chosflag
  372. // appcopykey[10] : reckind
  373. // appcopykey[11] : itemindxseq
  374. // appcopykey[12] : linkcd
  375. // appcopykey[13] : bfopentest
  376. // appcopykey[14] : pidynhcd
  377. // 2010-06-11 LISFALG, TREATNO 항목추가
  378. // appcopykey[15] : treatno
  379. // appcopykey[16] : lisflag
  380. // 필드 연결 문자 : ▦
  381. // ROW 연결 문자 : ▩
  382. var copykey = appcopykey.split("▩");
  383. //alert("copykey.length : " + copykey.length);
  384. for(var i = 0; i < copykey.length; i++) {
  385. var tmpNode = srcNode.cloneNode(true);
  386. var appkeyArr = copykey[i].split("▦");
  387. var arr_itemnm = appkeyArr[0];
  388. var arr_pid = appkeyArr[1];
  389. var arr_orddd = appkeyArr[2];
  390. var arr_cretno = appkeyArr[3];
  391. var arr_signno = appkeyArr[4];
  392. var arr_srcformcd = appkeyArr[5];
  393. var arr_formcd = appkeyArr[6];
  394. var arr_pageno = appkeyArr[7];
  395. var arr_url = appkeyArr[8];
  396. var arr_chosflag = appkeyArr[9];
  397. var arr_reckind = appkeyArr[10];
  398. var arr_itemindxseq = appkeyArr[11];
  399. var arr_linkcd = appkeyArr[12];
  400. var arr_bfopentest = appkeyArr[13];
  401. var arr_pidynhcd = appkeyArr[14];
  402. var arr_treatno = appkeyArr[15];
  403. var arr_lisflag = appkeyArr[16];
  404. if ( arr_srcformcd == null || arr_srcformcd == "" ) arr_srcformcd = "-";
  405. if ( arr_formcd == null || arr_formcd == "" ) arr_formcd = "-";
  406. if ( arr_chosflag == null || arr_chosflag == "" ) arr_chosflag = "-";
  407. if ( arr_linkcd == null || arr_linkcd == "" ) arr_linkcd = "-";
  408. if ( arr_bfopentest == null || arr_bfopentest == "" ) arr_bfopentest = "-";
  409. if ( arr_pidynhcd == null || arr_pidynhcd == "" ) arr_pidynhcd = "-";
  410. if ( arr_treatno == null || arr_treatno == "" ) arr_treatno = "0";
  411. if ( arr_lisflag == null || arr_lisflag == "" ) arr_lisflag = "-";
  412. if ( i == 0 ) {
  413. tmpNode.selectSingleNode("itemnm").text = itemnm; // 멀티 다중 등록시 첫번째 항목은 입력창에서 입력한 아이템 명을 사용한다.
  414. }
  415. else {
  416. tmpNode.selectSingleNode("itemnm").text = arr_itemnm;
  417. }
  418. if ( dataflag == "B" ) { // 북마크 등록의 경우
  419. tmpNode.selectSingleNode("pid").text = arr_pid;
  420. tmpNode.selectSingleNode("orddd").text = arr_orddd;
  421. tmpNode.selectSingleNode("cretno").text = arr_cretno;
  422. tmpNode.selectSingleNode("signno").text = arr_signno;
  423. tmpNode.selectSingleNode("srcformcd").text = arr_srcformcd;
  424. tmpNode.selectSingleNode("formcd").text = arr_formcd;
  425. tmpNode.selectSingleNode("pageno").text = arr_pageno;
  426. tmpNode.selectSingleNode("url").text = arr_url;
  427. tmpNode.selectSingleNode("chosflag").text = arr_chosflag;
  428. tmpNode.selectSingleNode("reckind").text = arr_reckind;
  429. tmpNode.selectSingleNode("itemindxseq").text = arr_itemindxseq;
  430. tmpNode.selectSingleNode("linkcd").text = arr_linkcd;
  431. tmpNode.selectSingleNode("bfopentest").text = arr_bfopentest;
  432. tmpNode.selectSingleNode("pidynhcd").text = arr_pidynhcd;
  433. // 2010-06-11 LISFALG, TREATNO 항목추가
  434. tmpNode.selectSingleNode("treatno").text = arr_treatno;
  435. tmpNode.selectSingleNode("lisflag").text = arr_lisflag;
  436. }
  437. else if ( dataflag == "F" ) { // 즐겨찾기 등록의 경우
  438. if ( useflag == "M" ) { // 개인용 등록시에는 환자와 진료 정보를 빼고 서식정보만 저장
  439. tmpNode.selectSingleNode("pid").text = arr_pid;
  440. tmpNode.selectSingleNode("orddd").text = arr_orddd;
  441. tmpNode.selectSingleNode("cretno").text = arr_cretno;
  442. tmpNode.selectSingleNode("signno").text = arr_signno;
  443. tmpNode.selectSingleNode("srcformcd").text = arr_srcformcd;
  444. tmpNode.selectSingleNode("formcd").text = arr_formcd;
  445. tmpNode.selectSingleNode("pageno").text = "0";
  446. tmpNode.selectSingleNode("url").text = arr_url;
  447. tmpNode.selectSingleNode("chosflag").text = arr_chosflag;
  448. tmpNode.selectSingleNode("reckind").text = arr_reckind;
  449. tmpNode.selectSingleNode("itemindxseq").text = arr_itemindxseq;
  450. tmpNode.selectSingleNode("linkcd").text = arr_linkcd;
  451. tmpNode.selectSingleNode("bfopentest").text = arr_bfopentest;
  452. tmpNode.selectSingleNode("pidynhcd").text = arr_pidynhcd;
  453. // 2010-06-11 LISFALG, TREATNO 항목추가
  454. tmpNode.selectSingleNode("treatno").text = "0";
  455. tmpNode.selectSingleNode("lisflag").text = arr_lisflag;
  456. }
  457. else if ( useflag == "P" ) { // 환자용 등록시에는 환자의 진료정보를 포함시켜 서식정보를 저장
  458. tmpNode.selectSingleNode("pid").text = arr_pid;
  459. tmpNode.selectSingleNode("orddd").text = arr_orddd;
  460. tmpNode.selectSingleNode("cretno").text = arr_cretno;
  461. tmpNode.selectSingleNode("signno").text = arr_signno;
  462. tmpNode.selectSingleNode("srcformcd").text = arr_srcformcd;
  463. tmpNode.selectSingleNode("formcd").text = arr_formcd;
  464. tmpNode.selectSingleNode("pageno").text = "0";
  465. tmpNode.selectSingleNode("url").text = arr_url;
  466. tmpNode.selectSingleNode("chosflag").text = arr_chosflag;
  467. tmpNode.selectSingleNode("reckind").text = arr_reckind;
  468. tmpNode.selectSingleNode("itemindxseq").text = arr_itemindxseq;
  469. tmpNode.selectSingleNode("linkcd").text = arr_linkcd;
  470. tmpNode.selectSingleNode("bfopentest").text = arr_bfopentest;
  471. tmpNode.selectSingleNode("pidynhcd").text = arr_pidynhcd;
  472. // 2010-06-11 LISFALG, TREATNO 항목추가
  473. tmpNode.selectSingleNode("treatno").text = "0";
  474. tmpNode.selectSingleNode("lisflag").text = arr_lisflag;
  475. }
  476. }
  477. // 추가항목 시작
  478. tmpNode.selectSingleNode("itemflag").text = "I"; // 등록항목은 모두 아이템(알파벳대문자 I)이다.
  479. // 폴더에 등록
  480. tmpNode.selectSingleNode("supitemno").text = selFolder.itemno;
  481. tmpNode.selectSingleNode("useflag").text = selFolder.useflag;
  482. tmpNode.selectSingleNode("dataflag").text = selFolder.dataflag;
  483. //tmpNode.selectSingleNode("rgsttype").text = "I"; // 등록(I),수정(M),삭제(D) 유형
  484. destNode.appendChild(tmpNode);
  485. }
  486. var a = instance1.selectSingleNode("/root/send/setdata");
  487. if(submit("TXMRB00301")){
  488. var dupyn = model.getValue("/root/tmp/tmp/dupyn");
  489. if(dupyn != "Y"){
  490. messageBox(msg3,"I002");
  491. }else {
  492. messageBox(msg4,"E006");
  493. }
  494. opener.javascript.fGetMarkEmrTreeView(dataflag);
  495. window.close();
  496. }
  497. } /* end of function fSetNewItem() */
  498. /**
  499. * @group :
  500. * @ver :
  501. * @by : 2009-10-16 오전 10:13:04 강지훈
  502. * @---------------------------------------------------
  503. * @type : function
  504. * @access : public
  505. * @desc : 항목을 선택한다.
  506. * @param :
  507. * @return :
  508. * @---------------------------------------------------
  509. */
  510. function fSelItem(){
  511. var appcopykey = opener.javascript.getParameter("SPMRB00300_reckey"); // 즐겨찾기 대상 리스트 string 값(split 처리해야 함)
  512. var selFolder = new SELFOLDER();
  513. var pid = opener.model.getValue("/root/main/patinfo/patinfolist/pid");
  514. if(selFolder.itemflag == "F") {
  515. //node 초기화
  516. model.removeNode("/root/send/setdata");
  517. model.makeValue("/root/send/setdata/folderinfo/folderno", selFolder.itemno);
  518. model.makeValue("/root/send/setdata/folderinfo/foldernm", selFolder.itemnm);
  519. model.makeValue("/root/send/setdata/folderinfo/dataflag", selFolder.dataflag);
  520. model.makeValue("/root/send/setdata/folderinfo/itemtype", "F");
  521. //model.setValue("/root/main/cond/itemnm", model.getValue("/root/main/init/itemnm"));
  522. //ipt_itemnm.refresh();
  523. }else {
  524. var copykey = appcopykey.split("▩");
  525. if (copykey.length > 1) {
  526. alert("다중 등록일 경우에는 폴더를 선택해야 합니다.");
  527. return;
  528. }
  529. else {
  530. // 등록 항목이 1개인 경우, 저장된 항목을 선택할 경우 덮어쓰기 한다.
  531. //node 초기화
  532. model.removeNode("/root/send/setdata");
  533. model.makeValue("/root/send/setdata/iteminfo/supitemno", selFolder.supitemno);
  534. model.makeValue("/root/send/setdata/iteminfo/itemno", selFolder.itemno);
  535. model.makeValue("/root/send/setdata/iteminfo/itemnm", model.getValue("/root/main/init/itemnm") );
  536. model.makeValue("/root/send/setdata/iteminfo/pid", pid);
  537. model.makeValue("/root/send/setdata/iteminfo/itemtype", selFolder.itemflag);
  538. model.makeValue("/root/send/setdata/iteminfo/dataflag", selFolder.dataflag);
  539. }
  540. }
  541. }
  542. /**
  543. * @group :
  544. * @ver :
  545. * @by : 2009-10-16 오전 10:13:04 강지훈
  546. * @---------------------------------------------------
  547. * @type : function
  548. * @access : public
  549. * @desc : 창이 닫길때 하위트리뷰를 재조회
  550. * @param :
  551. * @return :
  552. * @---------------------------------------------------
  553. */
  554. function fCloseWindow(){
  555. opener.model.setValue("/root/init/selecttab/maintabbookmark", "N");
  556. var dataflag = opener.javascript.getParameter("SPMRB00300_dataflag"); // 즐겨찾기(F), 북마크(B) 구분자
  557. if(dataflag == "F"){ //즐겨찾기
  558. opener.model.setValue("/root/init/selecttab/maintabfavorite", "N");
  559. }
  560. else{ //북마크
  561. opener.model.setValue("/root/init/selecttab/maintabbookmark", "N");
  562. }
  563. opener.javascript.fGetMarkEmrTreeView(dataflag);
  564. }
  565. //--------------------------------------------------------------------------------------------------------------------------------------------------------------------------