SPMRT01900.js 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197
  1. /**
  2. * @group :
  3. * @ver : 2009.12.19
  4. * @by : 박구순
  5. * @---------------------------------------------------
  6. * @type : function
  7. * @access : public
  8. * @desc : 화면을 초기화 한다
  9. * @param :
  10. * @return :
  11. * @---------------------------------------------------
  12. */
  13. function fInitalize(){
  14. model.removeNodeSet("/root/main/abbrsyreclists");
  15. var vAbbrcd = opener.javascript.getParameter("SPMRJ01900_abbrcd");
  16. if(vAbbrcd==""){
  17. messageBox("약어코드 정보가 없습니다.","I003");
  18. return;
  19. }else{
  20. model.setValue("/root/send/abbrcd",vAbbrcd);
  21. model.setValue("/root/init/abbrcd",vAbbrcd);
  22. fSelectAbbrSyRecList();
  23. }
  24. }
  25. function fSelectAbbrSyRecList(){
  26. submit("TRMRT01801");
  27. }
  28. function fSelectAbbrMasterLists(){
  29. model.setValue("/root/send/abbrtype" ,model.getValue("/root/init/abbrtype"));
  30. model.setValue("/root/send/abbrkind" ,model.getValue("/root/init/abbrkind"));
  31. model.setValue("/root/send/perfectyn",model.getValue("/root/init/perfectyn"));
  32. model.setValue("/root/send/useyn" ,model.getValue("/root/init/useyn"));
  33. model.setValue("/root/send/keyword" ,model.getValue("/root/init/keyword"));
  34. if(ipt_keyword.value.length < 2){
  35. messageBox("검색어는 2자 이상 입력해야 가능 합니다. ","I007");//I007=확인하십시오.
  36. return;
  37. }
  38. model.setValue("/root/send/keytag" ,model.getValue("/root/init/keytag"));
  39. submit("TRMRT00801");
  40. }
  41. /**
  42. * 그리드 행추가 버튼을 클릭하였을 경우 이벤트
  43. *
  44. */
  45. function fClickRowAddBtn(){
  46. grd_list.addRow(); // 입력할 행 추가.
  47. var cur_row = grd_list.row; // 추가된 행 번호 가져오기
  48. grd_list.valueMatrix(cur_row, 4) = model.getValue("/root/init/abbrcd");
  49. grd_list.valueMatrix(cur_row, 5) = model.getValue("/root/init/trgtflag");
  50. }
  51. /*
  52. * 저장 버튼을 클릭하였을 경우 이벤트
  53. *
  54. */
  55. function fOnClickSaveBtn(){
  56. if(!checkGridUpdate(grd_list)){
  57. alert("저장할 자료가 존재하지 않습니다.");
  58. return;
  59. }
  60. if(checkGridField(grd_list,"trgtcnts")==false){
  61. alert("데이터중에 비어있는 필수필드가 있습니다.");
  62. return;
  63. }
  64. model.makeValue("/root/send/listdata",grd_list.getUpdateData());
  65. if ( submit("TXMRT01802") ) {
  66. // grd_list.clearStatus(); // submit() 성공하면 그리드의 i,u,d 상태 제거
  67. // fSelectAbbrSyRecList();
  68. fClose();
  69. }
  70. }
  71. /**
  72. * 삭제 버튼을 클릭하였을 경우 이벤트
  73. *
  74. */
  75. function fClickDeleteBtn(){
  76. var cur_row = grd_list.row; // 행 번호 가져오기
  77. var iStatus = grd_list.rowstatus(cur_row);
  78. if(cur_row <= 0 || cur_row =="undefined") {
  79. alert("삭제할 행을 선택하시기 바랍니다...");
  80. return;
  81. }
  82. if (iStatus == 1 || iStatus == 3){ // 새로 삽입된 행이면
  83. grd_list.deleteitem(cur_row);
  84. }else if (iStatus == 4){ // 삭제로 표시된 행이면
  85. grd_list.removestatus(cur_row, "delete");
  86. }else{
  87. grd_list.addStatus(cur_row, "delete");
  88. }
  89. }
  90. function fSelectedAdd(){
  91. var grdRows = grd_abbrLists.rows;
  92. if(0 == grdRows){return;}
  93. for(i=1; i< grdRows;i++)
  94. {
  95. var selectValue = grd_abbrLists.valueMatrix(i,1);
  96. if(selectValue=="true")
  97. {
  98. var vTrgtcd = grd_abbrLists.valueMatrix(i,3);
  99. var vTrgtcnts = grd_abbrLists.valueMatrix(i,4);
  100. if('-1' != grd_list.findRow(vTrgtcd, 0, 1, false, true)){
  101. messageBox(vTrgtcnts+"은(는) 이미 등록되었가나 추가된 약어코드 입니다. ","I007");//I007=확인하십시오.
  102. }else{
  103. grd_list.addRow(); // 입력할 행 추가.
  104. var cur_row = grd_list.row; // 추가된 행 번호 가져오기
  105. grd_list.valueMatrix(cur_row, 1) = vTrgtcd;
  106. grd_list.valueMatrix(cur_row, 2) = vTrgtcnts;
  107. grd_list.valueMatrix(cur_row, 4) = model.getValue("/root/init/abbrcd");
  108. grd_list.valueMatrix(cur_row, 5) = model.getValue("/root/init/trgtflag");
  109. }
  110. grd_abbrLists.valueMatrix(i,1) = 'false';
  111. }
  112. }
  113. }
  114. /**
  115. * @group :
  116. * @ver : 2006.12.20
  117. * @by :
  118. * @---------------------------------------------------
  119. * @type : function
  120. * @access : public
  121. * @desc :
  122. * @return : bool
  123. * @---------------------------------------------------
  124. */
  125. function checkGridUpdate(grid)
  126. {
  127. var iData = grid.getUpdateDataXml("insert");
  128. var uData = grid.getUpdateDataXml("update");
  129. var dData = grid.getUpdateDataXml("delete");
  130. if (iData=="" && uData=="" && dData=="") return false;
  131. else return true;
  132. }
  133. /**
  134. * @group :
  135. * @ver : 2006.12.20
  136. * @by :
  137. * @---------------------------------------------------
  138. * @type : function
  139. * @access : public
  140. * @desc :
  141. * @return : bool
  142. * @---------------------------------------------------
  143. */
  144. function checkGridField(grid, field){
  145. var nodeset = grid.nodeset;
  146. var iStatus;
  147. //var iData = grid.getUpdateDataXml("insert");
  148. for (i=grid.fixedRows; i<grid.rows; i++){
  149. iStatus = grid.rowstatus(i);
  150. if (iStatus == 1 || iStatus == 3){
  151. var fieldArr = field.split("▦");
  152. if(fieldArr.length < 1){
  153. return false;
  154. }
  155. for(var j = 0; j < fieldArr.length; j++){
  156. if(fieldArr[j] == null || fieldArr[j] == "" || fieldArr[j] == "undefined"){
  157. continue;
  158. }
  159. if(model.getValue(nodeset+"["+i+"]/"+fieldArr[j])=="") return false;
  160. }
  161. }
  162. }
  163. return true;
  164. }
  165. function fClose(){
  166. window.close();
  167. }