SMMQS00100.js 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190
  1. /**
  2. * @desc : 그리드크기 확장
  3. * @
  4. * @param :
  5. * @return :
  6. * @author : 성규훈
  7. * @---------------------------------------------------
  8. */
  9. function fMinMax()
  10. {
  11. var size =model.getValue("/root/main/size");
  12. if(size == "min")
  13. {
  14. grd_ptlist.attribute("width") = 1193;
  15. btn_size.attribute("class") = "icon_left";
  16. btn_size.hint = "이전크기로"
  17. model.setValue("/root/main/size","max");
  18. }
  19. else
  20. {
  21. grd_ptlist.attribute("width") = 320;
  22. btn_size.attribute("class") = "icon_right";
  23. btn_size.hint = "최대화"
  24. model.setValue("/root/main/size","min");
  25. }
  26. }
  27. function listInit()
  28. {
  29. cmb_orddeptcd.deselect();
  30. //진료과 리스트를 불러온다.
  31. var instcd = getUserInfo("dutplceinstcd");
  32. var standard_yn = "rcptuseyn";
  33. var ord_deptflag = 'D';
  34. var rslt_ref = "/root/init/dept";
  35. var sort_method = "depthngnm";
  36. var sort_field = "depthngnm";
  37. var base_dd ="";
  38. if(ipt_dsch2.value =="")
  39. base_dd = ipt_opdd2.value;
  40. else
  41. base_dd = ipt_dsch2.value;
  42. zsdfGetInOutOrdDeptList(instcd, rslt_ref, sort_field, sort_method,base_dd);
  43. // 진료과 리스트 add
  44. addComboItem("cmb_orddeptcd", "", "", "above");
  45. mmbfGetDeptCodeComboList("/root/send/orddept/orddeptcd", "/root/init/ward", "W");
  46. addComboItem("cmb_wardcd", "", "", "above");
  47. grd_ptlist.fixedcellcheckbox(0, 1) = true;
  48. }
  49. //출력
  50. function fSetPrint()
  51. {
  52. var rows = grd_ptlist.rows;
  53. var cnt=0;
  54. for(i=1; i<=rows; i++)
  55. {
  56. var prntyn = model.getValue("/root/main/ptlist/list["+i+"]/chk");
  57. if ( prntyn == "true" )
  58. {
  59. cnt++;
  60. var patnm = model.getValue("/root/main/ptlist/list["+i+"]/patnm");
  61. patnm = patnm.substr(0,1) + "*" + patnm.substring(2,patnm.length); //이름 중간 텍스트 * 처리
  62. model.makeValue("/root/main/rexmain/recinfo["+cnt+"]/roomcd", model.getValue("/root/main/ptlist/list["+i+"]/roomcd")+"호");
  63. model.makeValue("/root/main/rexmain/recinfo["+cnt+"]/pid", model.getValue("/root/main/ptlist/list["+i+"]/pid"));
  64. model.makeValue("/root/main/rexmain/recinfo["+cnt+"]/patnm", patnm);
  65. model.makeValue("/root/main/rexmain/recinfo["+cnt+"]/orddeptnm", model.getValue("/root/main/ptlist/list["+i+"]/orddeptnm"));
  66. model.makeValue("/root/main/rexmain/recinfo["+cnt+"]/indd", model.getValue("/root/main/ptlist/list["+i+"]/indd"));
  67. model.makeNode("/root/main/rexmain/recinfo["+cnt+"]/qestlist");
  68. model.copyNode("/root/main/rexmain/recinfo["+cnt+"]/qestlist", "/root/main/rexmain/qestlist");
  69. }
  70. }
  71. var rexid = "RPMQS00100";
  72. if ( cnt > 0 )
  73. {
  74. //exeReportPreview(rexid, "XMLSTR"); //미리보기만 가능
  75. exeReportPreview(rexid, "XMLSTR", "", "", "true" , "", "", "", "", "true","", "", "", "", "hidden", 1); //출력
  76. return true;
  77. }
  78. else
  79. {
  80. alert("출력 할 환자를 선택해 주세요.");
  81. return false;
  82. }
  83. model.resetInstanceNode("/root/main/rexmain/recinfo");
  84. }
  85. //환자목록 더블 클릭 시
  86. function fSelectPat( row )
  87. {
  88. var pid = model.getValue("/root/main/ptlist/list["+row+"]/pid");
  89. var indd = model.getValue("/root/main/ptlist/list["+row+"]/indd");
  90. var dschdd = model.getValue("/root/main/ptlist/list["+row+"]/dschdd");
  91. //조회조건 영역의 환자정보에 더블클릭한 환자정보 셋팅
  92. model.setValue("/root/send/pid", pid);
  93. model.setValue("/root/send/patnm", model.getValue("/root/main/ptlist/list["+row+"]/patnm"));
  94. model.setValue("/root/send/indd", indd);
  95. model.setValue("/root/send/dschdd", dschdd);
  96. //
  97. }
  98. //출력, 저장 버튼 클릭 시 보낼 데이터 셋팅
  99. function fSetData( nodecnt, gridrow, iuflag )
  100. {
  101. // 설문 결과 입력 후 저장 시 보낼 데이터 셋팅
  102. model.makeValue("/root/send/suvrsltlist/list["+nodecnt+"]/pid", model.getValue("/root/main/ptlist/list["+gridrow+"]/pid"));
  103. model.makeValue("/root/send/suvrsltlist/list["+nodecnt+"]/indd", model.getValue("/root/main/ptlist/list["+gridrow+"]/indd"));
  104. model.makeValue("/root/send/suvrsltlist/list["+nodecnt+"]/cretno", model.getValue("/root/main/ptlist/list["+gridrow+"]/cretno"));
  105. model.makeValue("/root/send/suvrsltlist/list["+nodecnt+"]/dschdd", model.getValue("/root/main/ptlist/list["+gridrow+"]/dschdd"));
  106. model.makeValue("/root/send/suvrsltlist/list["+nodecnt+"]/orddeptcd", model.getValue("/root/main/ptlist/list["+gridrow+"]/orddeptcd"));
  107. model.makeValue("/root/send/suvrsltlist/list["+nodecnt+"]/suvid", "1"); //설문번호
  108. if ( iuflag == "update" ) //설문 결과 저장시에만 설문결과 저장
  109. {
  110. var prfqest = "";
  111. for (i=1; i<=4; i++)
  112. {
  113. prfqest = prfqest + model.getValue("/root/main/cond/qest"+i);
  114. }
  115. model.makeValue("/root/send/suvrsltlist/list["+nodecnt+"]/prfqest", prfqest);
  116. var resiqest = "";
  117. for (i=5; i<=9; i++)
  118. {
  119. resiqest = resiqest + model.getValue("/root/main/cond/qest"+i);
  120. }
  121. model.makeValue("/root/send/suvrsltlist/list["+nodecnt+"]/resiqest", resiqest);
  122. var nursqest = "";
  123. for (i=10; i<=15; i++)
  124. {
  125. nursqest = nursqest + model.getValue("/root/main/cond/qest"+i);
  126. }
  127. model.makeValue("/root/send/suvrsltlist/list["+nodecnt+"]/nursqest", nursqest);
  128. }
  129. }
  130. //저장
  131. function fSave( iuflag )
  132. {
  133. //설문지 출력 시 해당 환자 정보를 설문 결과 리스트에 insert한다.
  134. //설문지 결과 저장 시 해당 화자의 설문 결과 리스트를 update한다.
  135. model.makeValue("/root/send/suvrsltlist/iuflag", iuflag);
  136. var cnt = 1;
  137. if ( iuflag == "update" ) //설문 결과 저장시에만 설문결과 저장
  138. {
  139. fSetData( 1, grd_ptlist.row, iuflag );
  140. }
  141. else if ( iuflag == "insert" )
  142. {
  143. for(i=1; i<=grd_ptlist.rows; i++)
  144. {
  145. var chk = model.getValue("/root/main/ptlist/list["+i+"]/chk");
  146. if ( chk == "true" )
  147. {
  148. fSetData( cnt, i, iuflag );
  149. cnt++;
  150. }
  151. }
  152. }
  153. if ( submit("TXMQS00100") )
  154. {
  155. if ( iuflag == "update" )
  156. {
  157. alert("저장되었습니다.");
  158. }
  159. fSearch();
  160. }
  161. }
  162. function fSearch()
  163. {
  164. model.removeNodeset("/root/main/ptlist/list");
  165. model.setValue("/root/send/suvrsltlist/list/suvid", "1");
  166. model.setValue("/root/send/offset",0);
  167. submit("TRMQS00100");
  168. model.refresh();
  169. }