SMMNP00710.xjs 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[/**
  3. * 초기화
  4. */
  5. function fInitialize(){
  6. ds_grd_codelist.deleteAll();
  7. cmb_codeflag.index = 0;
  8. fSetGridCaptionInfo(cmb_codeflag.value);
  9. }
  10. //codeflag에 대한 Grid Caption 정보 변경
  11. function fSetGridCaptionInfo(pFlag){
  12. if(pFlag == "01"){ //배액관
  13. grd_codelist.setCellProperty("Head", 1, "text", "*구분");
  14. grd_codelist.setCellProperty("Head", 2, "text", "*배액관코드");
  15. grd_codelist.setCellProperty("Head", 3, "text", "*명칭");
  16. grd_codelist.setCellProperty("Head", 4, "text", "*규격");
  17. grd_codelist.setCellProperty("Head", 5, "text", "*개수");
  18. grd_codelist.setCellProperty("Head", 6, "text", "*부위");
  19. grd_codelist.setCellProperty("Head", 7, "text", "부연설명");
  20. }else if(pFlag == "02"){//합병증
  21. grd_codelist.setCellProperty("Head", 1, "text", "*구분");
  22. grd_codelist.setCellProperty("Head", 2, "text", "*합병증코드");
  23. grd_codelist.setCellProperty("Head", 3, "text", "*합병증명");
  24. grd_codelist.setCellProperty("Head", 4, "text", "부연설명1");
  25. grd_codelist.setCellProperty("Head", 5, "text", "부연설명2");
  26. grd_codelist.setCellProperty("Head", 6, "text", "부연설명3");
  27. grd_codelist.setCellProperty("Head", 7, "text", "부연설명4");
  28. }
  29. }
  30. /**
  31. * 그리드 행추가 버튼을 클릭하였을 경우 이벤트
  32. */
  33. function fClickRowAddBtn(){
  34. var iRow = ds_grd_codelist.addRow();
  35. var codeflag = cmb_codeflag.value;
  36. ds_grd_codelist.setColumn(iRow, "codeflag", codeflag);
  37. grdf_setStatus(grd_codelist, "I", [iRow]);
  38. }
  39. /**
  40. * 삭제 버튼을 클릭하였을 경우 이벤트
  41. */
  42. function fClickDeleteBtn(){
  43. var iRow = ds_grd_codelist.rowposition;
  44. if(iRow < 0){
  45. alert("삭제할 행을 선택하시기 바랍니다.");
  46. return;
  47. }
  48. if(ds_grd_codelist.getRowType(iRow) == Dataset.ROWTYPE_INSERT){
  49. ds_grd_codelist.deleteRow(iRow);
  50. }else if(ds_grd_codelist.getRowType(iRow) == Dataset.ROWTYPE_DELETE){
  51. grdf_setStatus(grd_codelist, "N", [iRow]);
  52. }else{
  53. grdf_setStatus(grd_codelist, "D", [iRow]);
  54. }
  55. }
  56. /*
  57. * 저장 버튼을 클릭하였을 경우 이벤트
  58. */
  59. function fOnClickSaveBtn(){
  60. if(!checkGridUpdate(grd_codelist)){
  61. sysf_messageBox("저장할 자료가 존재하지 않습니다. ","I007"); //I007=확인하십시오.
  62. return;
  63. }
  64. if(checkGridField(grd_codelist,"codeflag▦code▦")==false){
  65. alert("데이터중에 비어있는 필수필드가 있습니다.");
  66. return;
  67. }
  68. ds_item.deleteAll();
  69. var rowCnt = ds_grd_codelist.rowcount;
  70. var rstCnt = 0;
  71. for(var i=0; i<rowCnt; i++){
  72. var flag = ds_grd_codelist.getRowType(i);
  73. if(flag == Dataset.ROWTYPE_INSERT) {
  74. ds_item.addRow();
  75. ds_item.copyRow(rstCnt, ds_grd_codelist, i);
  76. ds_item.setColumn(rstCnt, "status", "i");
  77. rstCnt++;
  78. }else if(flag == Dataset.ROWTYPE_DELETE){
  79. ds_item.addRow();
  80. ds_item.copyRow(rstCnt, ds_grd_codelist, i);
  81. ds_item.setColumn(rstCnt, "status", "d");
  82. rstCnt++;
  83. }else if(flag == Dataset.ROWTYPE_UPDATE){
  84. ds_item.addRow();
  85. ds_item.copyRow(rstCnt, ds_grd_codelist, i);
  86. ds_item.setColumn(rstCnt, "status", "u");
  87. rstCnt++;
  88. }
  89. }
  90. var oParam = {};
  91. oParam.id = "TXMNP00710";
  92. oParam.service = "opanstapp.OpAnstRec";
  93. oParam.method = "reqSetMnphrecmList";
  94. oParam.inds = "listdata=ds_item req=ds_send";
  95. oParam.outds = "ds_grd_codelist=codelists";
  96. oParam.async = false;
  97. oParam.callback = "cf_TXMNP00710";
  98. tranf_submit(oParam);
  99. }
  100. function cf_TXMNP00710(sSvcId, nErrorCode, sErrorMsg) {
  101. if(nErrorCode < 0) return;
  102. }
  103. function checkGridUpdate(grid)
  104. {
  105. if (utlf_isNull(grdf_getGridUpdateData(grid))) return false;
  106. else return true;
  107. }
  108. function checkGridField(grid:Grid, field){
  109. var nodeset = grid.binddataset;
  110. var iStatus;
  111. for (i=0; i<nodeset.rowcount; i++){
  112. iStatus = nodeset.getRowType(i);
  113. if (iStatus == 2 ){
  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(utlf_isNull(fieldArr[j])){
  120. continue;
  121. }
  122. if(utlf_isNull(nodeset.getColumn(i,fieldArr[j]))) return false;
  123. }
  124. }
  125. }
  126. return true;
  127. }
  128. /*
  129. * @desc : 조회 및 검색
  130. */
  131. function fbtnSearch() {
  132. var oParam = {};
  133. oParam.id = "TRMNP00710";
  134. oParam.service = "opanstapp.OpAnstRec";
  135. oParam.method = "reqGetMnphrecmList";
  136. oParam.inds = "req=ds_send";
  137. oParam.outds = "ds_grd_codelist=codelists";
  138. oParam.async = false;
  139. oParam.callback = "cf_TRMNP00710";
  140. tranf_submit(oParam);
  141. }
  142. function cf_TRMNP00710(sSvcId, nErrorCode, sErrorMsg) {
  143. if(nErrorCode < 0) return;
  144. }
  145. /*
  146. * @desc : Excel 버튼 클릭시 이벤트
  147. */
  148. function fOnClickExcelBtn(){
  149. if( ds_grd_codelist.rowcount > 0 ){
  150. grdf_exportExcel(grd_codelist, "회복실코드관리", "회복실코드관리", false, "", "user", false);
  151. } else {
  152. sysf_messageBox("조회된 데이터가 ", "I004");
  153. return;
  154. }
  155. }
  156. /* ------------------------------------------------- */
  157. /* ------End Of List ------------------------------- */
  158. /* -------------------------------------------------- */
  159. ]]></Script>