SSMRF05700.xjs 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[
  3. var nodelistMain = null;
  4. var nodelistTemp = null;
  5. /**
  6. * @group :
  7. * @ver : 2009.12.04
  8. * @by : dhkim
  9. * @---------------------------------------------------
  10. * @type : function
  11. * @access : public
  12. * @desc : 서식 로드 초기화
  13. * @param :
  14. * @return :
  15. * @---------------------------------------------------
  16. */
  17. function fInitialize() {
  18. utlf_addLog("***** fInitialize() SSMRF05700 ****");
  19. dispOnLoadComplete("", "0900006866");//0900006866 : Care Plan 부분서식코드
  20. }
  21. /**
  22. * @group :
  23. * @ver : 2009.12.04
  24. * @by : dhkim
  25. * @---------------------------------------------------
  26. * @type : function
  27. * @access : public
  28. * @desc : 부분서식 사이즈값 초기화
  29. * @param :
  30. * @return :
  31. * @---------------------------------------------------
  32. */
  33. function fInitPage(colhide, heig, wid, ivwID)
  34. {
  35. utlf_addLog("**** fInitPage("+colhide+", "+heig+", "+wid+", "+ivwID+") SSMRF05700 *****");
  36. this.position.height = heig;
  37. this.position.width = wid;
  38. grd_diaglist.position.height = heig - 2;
  39. grd_diaglist.position.width = wid - 4;
  40. //grd_diaglist.extendLastCol = "scroll";
  41. if(colhide)
  42. {
  43. grd_diaglist.setRealColSize(0, 0, true); //20
  44. btn_pop.visible = false;
  45. }
  46. if (!utlf_isNull(ivwID))
  47. gSendParentCallID = ivwID;
  48. }
  49. /**
  50. * @group :
  51. * @ver : 2009.12.07
  52. * @by : dhkim
  53. * @---------------------------------------------------
  54. * @type : function
  55. * @access : public
  56. * @desc : 그리드 행삭제
  57. * @param :
  58. * @return :
  59. * @---------------------------------------------------
  60. */
  61. function fGrdDelRow(){
  62. var degnno, grdNm, nRowno, sFstlevlcd, nRecRow;
  63. degnno = 1;
  64. dsNm = "ds_grid_grd_diaglist";
  65. nRowno = eval(dsNm).rowposition;
  66. var smmcnts = eval(dsNm).getColumn(nRowno, 0);
  67. if( eval(dsNm).getRowCount() > 0 && !utlf_isNull(smmcnts) ){
  68. if( eval(dsNm).deleteRow(nRowno) )
  69. {
  70. sFstlevlcd = ds_data_recitem.lookupExpr("degnitemkind == 'GRD' && degnitemno == '"+degnno+"' && rowno == '0' && colno == '-1'", "fstlevlitemcd");
  71. ds_data_recitem.filter("rowno=='"+nRowno+"' && fstlevlitemcd == '"+sFstlevlcd+"'");
  72. var nRowCnt = ds_data_recitem.getRowCount();
  73. for(var i=(nRowCnt-1);i>=0; i--)
  74. {
  75. ds_data_recitem.deleteRow(i);
  76. }
  77. ds_data_recitem.filter("");
  78. // rowno 재정렬
  79. ds_data_recitem.filter("rowno > '"+nRowno+"' && fstlevlitemcd == '"+sFstlevlcd+"'");
  80. nRowCnt = ds_data_recitem.getRowCount();
  81. for(var j=0; j < nRowCnt; j++)
  82. {
  83. var nSelfRowno = ds_data_recitem.getColumn(j, "rowno");
  84. ds_data_recitem.setColumn(j, "rowno", nSelfRowno - 1);
  85. }
  86. ds_data_recitem.filter("");
  87. }
  88. if( nRowno == 0 )
  89. fAddrow();
  90. }
  91. }
  92. /**
  93. * @group :
  94. * @ver : 2009.12.09
  95. * @by : dhkim
  96. * @---------------------------------------------------
  97. * @type : function
  98. * @access : public
  99. * @desc : care plan 상용구 팝업을 호출한다
  100. * @param :
  101. * @return :
  102. * @---------------------------------------------------
  103. */
  104. function fClickPopUp()
  105. {
  106. frmf_setParameter("SPMRJ09900_workflag", "002");
  107. frmf_modal("SPMRJ09900", "SPMRJ09900", "","","","","","","","","","","M");//modal("SPMRJ09900", 1, 0, 0, "", "", "");
  108. var getData = frmf_getParameter("SPMRJ09900_careplan");
  109. var clickBtn = frmf_getParameter("SPMRJ09900_clickbtn");
  110. if(clickBtn == "ok"){
  111. var rowsArr = getData.split("▩");//row별로 split
  112. var colsArr = null;
  113. var smmcnts;
  114. var objDs = this.objects[grd_diaglist.binddataset];
  115. var iRow = ds_grid_grd_diaglist.rowposition;
  116. var nRowno = objDs.getRowCount() - 1;
  117. var smmcnts = objDs.getColumn(nRowno, 1);
  118. // 행삭제
  119. if(utlf_isNull(smmcnts)){
  120. if( objDs.deleteRow(nRowno) )
  121. {
  122. sFstlevlcd = ds_data_recitem.lookupExpr("degnitemkind == 'GRD' && degnitemno == '"+degnno+"' && rowno == '0' && colno == '-1'", "fstlevlitemcd");
  123. ds_data_recitem.filter("rowno=='"+nRowno+"' && fstlevlitemcd == '"+sFstlevlcd+"'");
  124. var nRowCnt = ds_data_recitem.getRowCount();
  125. for(var i=(nRowCnt-1);i>=0; i--)
  126. {
  127. ds_data_recitem.deleteRow(i);
  128. }
  129. ds_data_recitem.filter("");
  130. // rowno 재정렬
  131. ds_data_recitem.filter("rowno > '"+nRowno+"' && fstlevlitemcd == '"+sFstlevlcd+"'");
  132. nRowCnt = ds_data_recitem.getRowCount();
  133. for(var j=0; j < nRowCnt; j++)
  134. {
  135. var nSelfRowno = ds_data_recitem.getColumn(j, "rowno");
  136. ds_data_recitem.setColumn(j, "rowno", nSelfRowno - 1);
  137. }
  138. ds_data_recitem.filter("");
  139. }
  140. }
  141. for(var i = 0; i < rowsArr.length; i++){
  142. // 행추가
  143. var nRowno = ds_grid_grd_diaglist.addRow();
  144. if(nRowno > -1){
  145. var degnno = 1;
  146. var gridTempNm = "ds_temp_recitem";
  147. var nAddRow, nCellPos;
  148. var nTempCnt = eval(gridTempNm).getRowCount();
  149. for(var i=0; i<nTempCnt; i++)
  150. {
  151. nAddRow = ds_data_recitem.addRow();
  152. ds_data_recitem.copyRow(nAddRow, eval(gridTempNm), i);
  153. ds_data_recitem.setColumn(nAddRow, "rowno", nRowno);
  154. }
  155. }
  156. colsArr = rowsArr[i].split("▦");//col별로 split
  157. for(var j = 0; j < colsArr.length; j++){
  158. objDs.setColumn(nRowno, j, colsArr[j]);
  159. }
  160. }
  161. // 행추가
  162. fAddrow();
  163. }else{
  164. return;//취소버튼
  165. }
  166. }
  167. /**
  168. * @desc : 줄추가
  169. * @
  170. * @param :
  171. * @return :
  172. * @---------------------------------------------------
  173. */
  174. function fAddrow()
  175. {
  176. var nLastRow = ds_grid_grd_diaglist.getRowCount();
  177. var smmcnts = ds_grid_grd_diaglist.getColumn(parseInt(nLastRow) - 1 , 1);
  178. if( !utlf_isNull(smmcnts) || nLastRow == 0 ){
  179. nRowno = ds_grid_grd_diaglist.addRow();
  180. if(nRowno > -1){
  181. var degnno = 1;
  182. var gridTempNm = "ds_temp_recitem";
  183. var nAddRow, nCellPos;
  184. var nTempCnt = eval(gridTempNm).getRowCount();
  185. for(var i=0; i<nTempCnt; i++)
  186. {
  187. nAddRow = ds_data_recitem.addRow();
  188. ds_data_recitem.copyRow(nAddRow, eval(gridTempNm), i);
  189. ds_data_recitem.setColumn(nAddRow, "rowno", nRowno);
  190. }
  191. }
  192. }
  193. /*
  194. //20091208 dhkim 마지막 row추가후 focus를 마지막 row로
  195. if(grd_diaglist.rows > 1){
  196. //포커스이동
  197. if(grd_diaglist.row != 1){
  198. grd_diaglist.row = grd_diaglist.rows-1;
  199. }
  200. if(grd_diaglist.col == 1){
  201. grd_diaglist.col = 2;
  202. }else{
  203. grd_diaglist.col = 1;
  204. }
  205. }
  206. */
  207. }
  208. /**
  209. * @desc : 편집 후 termcd가 없는 경우 '-'를 넣어줌(저장문제)
  210. * @
  211. * @param :
  212. * @return :
  213. * @---------------------------------------------------
  214. */
  215. function fEndEdit()
  216. {
  217. }
  218. /**
  219. * @desc : 저장전 검사
  220. * : 2010.01.06 dhkim - itemNm 추가
  221. * @
  222. * @param : itemNm 부분서식명칭
  223. * @return :
  224. * @---------------------------------------------------
  225. */
  226. function fChkGrdPreSave_back(itemNm,rowchk)
  227. {
  228. utlf_addLog("***** fChkGrdPreSave("+itemNm+") SSMRF05700 *****");
  229. if(utlf_isNull(itemNm)){
  230. var fRow = ds_data_formdegn.findRow("degnitemkind", "GRD");
  231. itemNm = ds_data_formdegn.getColumn(fRow, "itemnm");
  232. }
  233. var pbmVal = "", pbmNm = "";
  234. var pngVal = "", pngNm = "";
  235. var sMsg = "";
  236. var rtn = true;
  237. //jw.choe 일단 formdegn 쪽 체크
  238. var grdDs = this.objects["ds_grid_grd_diaglist"];
  239. for(var i=0; i<grdDs.rowcount; i++){
  240. pbmVal = grdDs.getColumn(i, 0);
  241. pngVal = grdDs.getColumn(i, 1);
  242. pbmNm = grdDs.getColumnInfo(0).name;
  243. pngNm = grdDs.getColumnInfo(1).name;
  244. if( utlf_isNull(pbmVal) && utlf_isNull(pngVal) ){
  245. if (rowchk) {
  246. sysf_messageBox("데이터가 입력되지 않았습니다", "I");
  247. return false;
  248. } else {
  249. break;
  250. }
  251. }
  252. if( utlf_isNull(pbmVa) ){
  253. sysf_messageBox(itemNm + "부분서식의 " + i+1 + "행에 " + pbmNm + "이 입력되지 않았습니다. " + pbmNm + "은", "I003");
  254. return false;
  255. }
  256. if( utlf_isNull(pngVal) ){
  257. sysf_messageBox(itemNm + "부분서식의 " + i+1 + "행에 " + pngNm + "이 입력되지 않았습니다. " + pngNm + "은", "I003");
  258. return false;
  259. }
  260. //}
  261. }
  262. return true;
  263. }
  264. /**
  265. * @desc : 상용구 팝업
  266. * @id :
  267. * @event : DOMActivate
  268. * @return : void
  269. * @authur : 박종훈
  270. */
  271. function fPopCommUse()
  272. {
  273. }]]></Script>