SPMRT01800.js 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  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("SPMRJ01800_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. /**
  29. * 그리드 행추가 버튼을 클릭하였을 경우 이벤트
  30. *
  31. */
  32. function fClickRowAddBtn(){
  33. grd_list.addRow(); // 입력할 행 추가.
  34. var cur_row = grd_list.row; // 추가된 행 번호 가져오기
  35. grd_list.valueMatrix(cur_row, 3) = model.getValue("/root/init/abbrcd");
  36. grd_list.valueMatrix(cur_row, 4) = model.getValue("/root/init/trgtflag");
  37. }
  38. /*
  39. * 저장 버튼을 클릭하였을 경우 이벤트
  40. *
  41. */
  42. function fOnClickSaveBtn(){
  43. if(!checkGridUpdate(grd_list)){
  44. alert("저장할 자료가 존재하지 않습니다.");
  45. return;
  46. }
  47. if(checkGridField(grd_list,"trgtcnts")==false){
  48. alert("데이터중에 비어있는 필수필드가 있습니다.");
  49. return;
  50. }
  51. model.makeValue("/root/send/listdata",grd_list.getUpdateData());
  52. if ( submit("TXMRT01802") ) {
  53. // grd_list.clearStatus(); // submit() 성공하면 그리드의 i,u,d 상태 제거
  54. // fSelectAbbrSyRecList();
  55. fClose();
  56. }
  57. }
  58. /**
  59. * 삭제 버튼을 클릭하였을 경우 이벤트
  60. *
  61. */
  62. function fClickDeleteBtn(){
  63. var cur_row = grd_list.row; // 행 번호 가져오기
  64. var iStatus = grd_list.rowstatus(cur_row);
  65. if(cur_row <= 0 || cur_row =="undefined") {
  66. alert("삭제할 행을 선택하시기 바랍니다...");
  67. return;
  68. }
  69. if (iStatus == 1 || iStatus == 3){ // 새로 삽입된 행이면
  70. grd_list.deleteitem(cur_row);
  71. }else if (iStatus == 4){ // 삭제로 표시된 행이면
  72. grd_list.removestatus(cur_row, "delete");
  73. }else{
  74. grd_list.addStatus(cur_row, "delete");
  75. }
  76. }
  77. /**
  78. * @group :
  79. * @ver : 2006.12.20
  80. * @by :
  81. * @---------------------------------------------------
  82. * @type : function
  83. * @access : public
  84. * @desc :
  85. * @return : bool
  86. * @---------------------------------------------------
  87. */
  88. function checkGridUpdate(grid)
  89. {
  90. var iData = grid.getUpdateDataXml("insert");
  91. var uData = grid.getUpdateDataXml("update");
  92. var dData = grid.getUpdateDataXml("delete");
  93. if (iData=="" && uData=="" && dData=="") return false;
  94. else return true;
  95. }
  96. /**
  97. * @group :
  98. * @ver : 2006.12.20
  99. * @by :
  100. * @---------------------------------------------------
  101. * @type : function
  102. * @access : public
  103. * @desc :
  104. * @return : bool
  105. * @---------------------------------------------------
  106. */
  107. function checkGridField(grid, field){
  108. var nodeset = grid.nodeset;
  109. var iStatus;
  110. //var iData = grid.getUpdateDataXml("insert");
  111. for (i=grid.fixedRows; i<grid.rows; i++){
  112. iStatus = grid.rowstatus(i);
  113. if (iStatus == 1 || iStatus == 3){
  114. var fieldArr = field.split("▦");
  115. if(fieldArr.length < 1){
  116. return false;
  117. }
  118. for(var j = 0; j < fieldArr.length; j++){
  119. if(fieldArr[j] == null || fieldArr[j] == "" || fieldArr[j] == "undefined"){
  120. continue;
  121. }
  122. if(model.getValue(nodeset+"["+i+"]/"+fieldArr[j])=="") return false;
  123. }
  124. }
  125. }
  126. return true;
  127. }
  128. function fClose(){
  129. window.close();
  130. }