SMMMB01100.js 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246
  1. /*
  2. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  3. SMMMB01100 ( SMMMB01100_개인환경설정등록.xrw - JScript )
  4. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  5. */
  6. /**
  7. * @desc : 화면 초기화
  8. * @
  9. * @param :
  10. * @return :
  11. * @author : Moonsh
  12. * @---------------------------------------------------
  13. */
  14. function fInitialize_SMMMB01100(loc){
  15. var sUserId = getUserInfo("userid");
  16. model.setValue("root/send/userid", sUserId);
  17. if(loc != "child"){
  18. if(fContainsHardCD("59", sUserId)) { // 환경설정 관리자
  19. model.setValue( "/root/main/admininfo", "Y");
  20. } else {
  21. model.setValue( "/root/main/admininfo", "N");
  22. }
  23. }
  24. var sAdminInfo = model.getValue( "/root/main/admininfo");
  25. if(sAdminInfo == "Y") { // 관리자 권한일경우
  26. btn_info_del.visible = true;
  27. btn_info_new.visible = true;
  28. btn_info_udt.visible = true;
  29. btn_info_udt.visible = true;
  30. btn_info_sav.visible = true;
  31. btn_answ_del.visible = true;
  32. btn_answ_add.visible = true;
  33. btn_onlinehelp.visible = true;
  34. } else {
  35. btn_info_del.visible = false;
  36. btn_info_new.visible = false;
  37. btn_info_udt.visible = false;
  38. btn_info_udt.visible = false;
  39. btn_info_sav.visible = false;
  40. btn_answ_del.visible = false;
  41. btn_answ_add.visible = false;
  42. btn_onlinehelp.visible = false
  43. }
  44. //환경설정 질문 및 답안 조회
  45. fGetQestcdList();
  46. }
  47. /**
  48. * @desc : 사용자환경 리스트 조회
  49. * @
  50. * @param :
  51. * @return :
  52. * @author : 엄영만
  53. * @---------------------------------------------------
  54. */
  55. function fGetQestcdList(){
  56. model.removeNodeset("/root/main/userenvestb/userenvestblist"); // 사용자환경 질문 리스트
  57. model.resetInstanceNode("/root/main/envinfo/userenvestbinfo"); // 사용자환경 질문 정보
  58. model.resetInstanceNode("/root/main/envinfo/envestbansw/envestbanswlist"); // 사용자환경 답변 리스트
  59. submit("TRMMB01101");
  60. model.refresh(); // 트리가 접힌 상태에서 재조회 하면 그리드에 접힌 수만큼 조회 되지 않는 오류 수정.
  61. setTree(grd_userenvestblist, grd_userenvestblist.colRef("levl"), grd_userenvestblist.colRef("displaynm"), true);
  62. //input박스 비활성화
  63. ipt_qestcd.disabled = true;
  64. ipt_supqestcd.disabled = true;
  65. ipt_qestnm.disabled = true;
  66. ipt_sortseq.disabled = true;
  67. txt_rmk.disabled = true;
  68. grd_envestbanswlist.clearStatus();
  69. model.refresh();
  70. }
  71. /**
  72. * @desc : 선택된 환경설정 질문에 대한 정보 조회
  73. * @
  74. * @param :
  75. * @return :
  76. * @author : Moonsh
  77. * @---------------------------------------------------
  78. */
  79. function fGetQestcdInfo(){
  80. var sQestCd = model.getValue("/root/main/userenvestb/userenvestblist[" + grd_userenvestblist.row + "]/qestcd");
  81. if(!isNull(sQestCd)) {
  82. model.setValue("/root/send/qestcd", sQestCd);
  83. model.setValue("/root/send/userid", getUserInfo("userid"));
  84. model.setValue("/root/send/deptcd", getUserInfo("dutplcecd"));
  85. if(submit("TRMMB01102")){
  86. //input박스 비활성화
  87. ipt_qestcd.disabled = true;
  88. ipt_supqestcd.disabled = true;
  89. ipt_qestnm.disabled = true;
  90. ipt_sortseq.disabled = true;
  91. txt_rmk.disabled = true;
  92. grd_envestbanswlist.clearStatus();
  93. }
  94. model.refresh();
  95. }
  96. }
  97. /**
  98. * @desc : 사용자환결 설정 정보 저장
  99. * @
  100. * @param :
  101. * @return :
  102. * @author : 엄영만
  103. * @---------------------------------------------------
  104. */
  105. function fSaveQestInfo(){
  106. if( messageBox("질문 정보를","Q002") == 6 ){
  107. copyNodesetType("/root/send/savedata/userenvestbinfo", "/root/main/envinfo/userenvestbinfo", "replace", model, model);
  108. if ( submit("TXMMB01104") ) {
  109. fGetQestcdList();
  110. }
  111. }
  112. }
  113. /**
  114. * @desc : 답안리스트 저장
  115. * @
  116. * @param :
  117. * @return :
  118. * @author : Moonsh
  119. * @---------------------------------------------------
  120. */
  121. function fAnswSave(){
  122. if( messageBox("답안 정보를","Q002") != 6 ){
  123. return;
  124. }
  125. model.makeValue("/root/send/savedata/userenvestblist", grd_envestbanswlist.getUpdateData());
  126. //환경설정변경시 저장시에 변경데이타가 기본정보로 세팅되도록 변경(기존 로그인), CHC, 2009-06-24
  127. if(submit("TXMMB01105")) {
  128. messageBox("저장되었습니다.", "I");
  129. fGetQestcdInfo();
  130. }
  131. }
  132. /**
  133. * @desc : 답안그리드에 열 추가
  134. * @
  135. * @param :
  136. * @return :
  137. * @author : Moonsh
  138. * @---------------------------------------------------
  139. */
  140. function fAddAnswGrid(){
  141. var admininfo = model.getValue("/root/main/admininfo");
  142. if (admininfo != "Y"){
  143. alert("Admin 권한자만 Default 답변을 추가 할 수 있습니다.");
  144. return ;
  145. }
  146. var sQestCd = model.getValue("/root/main/envinfo/userenvestbinfo/qestcd");
  147. //내역 리스트를 선택하지 않은 경우
  148. if(isNull(sQestCd)){
  149. alert("선택된 환경 설정이 없습니다. 환경 설정 후 선택 후 진행하세요. ");
  150. return ;
  151. } else {
  152. grd_envestbanswlist.addRow(false); //행의 마지막에 입력을 위해 마지막값을 받아옴
  153. var detlrows = grd_envestbanswlist.rows - grd_envestbanswlist.fixedRows;
  154. model.setValue("/root/main/envinfo/envestbansw/envestbanswlist[" + detlrows + "]/qestcd", sQestCd);
  155. model.setValue("/root/main/envinfo/envestbansw/envestbanswlist[" + detlrows + "]/useryn", "N");
  156. model.setValue("/root/main/envinfo/envestbansw/envestbanswlist[" + detlrows + "]/deptyn", "N");
  157. if(detlrows == 1) {
  158. model.setValue("/root/main/envinfo/envestbansw/envestbanswlist[" + detlrows + "]/hostyn", "Y");
  159. } else {
  160. model.setValue("/root/main/envinfo/envestbansw/envestbanswlist[" + detlrows + "]/hostyn", "N");
  161. }
  162. model.refresh();
  163. }
  164. }
  165. function fDelAnswGrid(){
  166. var nRow = grd_envestbanswlist.row;
  167. var nStatus = null;
  168. if( nRow <= 0 ){
  169. alert("삭제할 항목을 선택해주십시오.");
  170. return;
  171. }
  172. var admininfo = model.getValue("/root/main/admininfo");
  173. if (admininfo != "Y"){
  174. alert("Admin 권한자만 삭제할 수 있습니다.");
  175. return ;
  176. }
  177. var sQestCd = model.getValue("/root/main/envinfo/userenvestbinfo/qestcd"); //내역 리스트를 선택하지 않은 경우
  178. if(isNull(sQestCd)){
  179. alert("선택된 질문 정보가 없습니다. 질문을 선택 후 진행하세요. ");
  180. return ;
  181. } else {
  182. if("Y" == model.getValue("/root/main/envinfo/envestbansw/envestbanswlist[" + nRow + "]/hostyn")) {
  183. alert("병원 답안 코드는 삭제 할수 없습니다.");
  184. return ;
  185. } else {
  186. nStatus = grd_envestbanswlist.rowstatus(nRow);
  187. if(nStatus == 0) { // 기존데이터
  188. grd_envestbanswlist.rowstatus(nRow) = 4;
  189. } else if (nStatus == 1 || nStatus == 3) { // 신규데이터
  190. grd_envestbanswlist.deleteRow(nRow);
  191. } else if (nStatus == 4) { // 삭제데이터
  192. grd_envestbanswlist.rowstatus(nRow) = 0;
  193. }
  194. model.refresh();
  195. }
  196. }
  197. }
  198. /**
  199. * @desc : interface answer 조회
  200. * @
  201. * @param :
  202. * @return :
  203. * @author : Moonsh
  204. * @---------------------------------------------------
  205. */
  206. function fGetIntefeAnsw(qestcd){
  207. // 조회 변수 조회
  208. model.setValue("/root/send/interqestcd", qestcd);
  209. // submit("TRMMB01104");
  210. // var answvalnm = model.getValue("/root/main/interface/answvalnm");
  211. //KNUH_20110208, 주희경, 로그인 시 미리 데이터를 조회해 놓고 copy해서 쓰는 방식으로 변경
  212. var viewerObj = getViewer("sysMessage");
  213. var answvalnm = viewerObj.window.model.getValue(gvOrderBasicInfoPath +"/interface[qestcd='"+qestcd+"']/answvalnm");
  214. return answvalnm ;
  215. }