RPE001.js 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. //공통코드 Help화면 Open
  2. function rpbfOpenComCdHelp(pcontrol_name, pgrupid, precv_list) {
  3. misfOpenPopUpList("03", pcontrol_name,pgrupid, precv_list) ;
  4. }
  5. //코드 HELP 화면 OPEN-Modal
  6. /*
  7. phelp_kind : "01" - 지원자검색HELP
  8. pcontrol_name : OPEN하는 Control명(Grid,Input.....)
  9. pcdgrupid : 공통코드일경우 코드군 ("Z0007","R0001"...)
  10. precv_list: 리턴받을 Instance명 (마지막 Element만 ','로 분리)
  11. pdefault_value : 부모 윈도우에서 넘어오는 값
  12. pcheck_yn : 선택형 팝업창인지 아닌지를 체크
  13. */
  14. function rpefOpenPopUpList(phelp_kind, pcontrol_name, pcdgrupid, precv_list, pdefault_value, pNodeName,precvnm_list) {
  15. var recv_list = precv_list.split(",");
  16. var arrNodeNames = "";
  17. if(pdefault_value != "" && pdefault_value != null)
  18. {
  19. var default_value = pdefault_value.split(",");
  20. }
  21. if(pNodeName != "" && pNodeName != null)
  22. {
  23. var arrNodeNames = pNodeName.split(",");
  24. }
  25. var recvref_node = "/root/source/recvref";
  26. var cdgrupid_node = "/root/source/cdgrupid";
  27. var recvitem_node = "/root/source/recvitem";
  28. var default_node = "/root/source/defaultvalue";
  29. var checkyn_node = "/root/source/checkyn";
  30. var control_node = "/root/source/control";
  31. model.removeNodeset(recvref_node);
  32. model.removeNodeset(cdgrupid_node);
  33. model.removeNodeset(recvitem_node);
  34. model.removeNodeset(default_node);
  35. model.removeNodeset(checkyn_node);
  36. model.removeNodeset(control_node);
  37. model.makeNode(recvref_node);
  38. model.makeNode(cdgrupid_node);
  39. model.makeNode(recvitem_node);
  40. model.makeNode(default_node);
  41. model.makeNode(checkyn_node);
  42. if(precvnm_list != null && precvnm_list.length >0)
  43. {
  44. var recvnm_list = precvnm_list.split(",");
  45. for (var k = 0; k <= recv_list.length - 1; k++) {
  46. model.makeValue(recvitem_node + "/" + recv_list[k], recvnm_list[k]);
  47. }
  48. }
  49. else
  50. {
  51. for (var k = 0; k <= recv_list.length - 1; k++) {
  52. model.makeValue(recvitem_node + "/" + recv_list[k], recv_list[k]);
  53. }
  54. }
  55. var obj = null;
  56. if (pcontrol_name.elementName == "xforms:datagrid") {
  57. //grid에서 호출 했을경우.
  58. pcontrol_name.endEditCell();
  59. if(pdefault_value != "" && pdefault_value != null)
  60. {
  61. for (var z = 0; z < default_value.length; z++)
  62. {
  63. obj = document.controls(default_value[z]);
  64. if (obj != null && obj.elementName != "xforms:datagrid" && obj.elementName != "xforms:col") // 08.02.19 obj.elementName != "xforms:col" 조건 추가 help로 넘겨주는 node의 type이 Grid의 특정 column 일 경우..
  65. {
  66. model.makeValue(default_node + "/" + default_value[z] , model.getValue(obj.attribute("ref")));
  67. }
  68. else if (obj != null && obj.elementName == null && arrNodeNames.length == default_value.length)
  69. {
  70. model.makeValue(default_node + "/" + arrNodeNames[z], model.getValue(obj.attribute("ref")));
  71. }
  72. else if(obj == null)
  73. {
  74. model.makeValue(default_node + "/" + arrNodeNames[z] , default_value[z]);
  75. }
  76. else //아래 4줄 추가 .. END
  77. {
  78. model.makeValue(default_node + "/" + default_value[z] ,
  79. model.getValue(pcontrol_name.nodeset + "[" + (pcontrol_name.row - pcontrol_name.fixedRows + 1)+ "]/" + default_value[z]));
  80. }
  81. }
  82. }
  83. model.setValue(recvref_node, pcontrol_name.nodeset + "[" + (pcontrol_name.row - pcontrol_name.fixedRows + 1) + "]");
  84. }
  85. else
  86. {
  87. //grid외의 control에서 호출했을경우.
  88. var node_path = pcontrol_name.attribute("ref").split("/");
  89. var source_path = "/root";
  90. for (var i = 2 ; i < node_path.length - 1; i++)
  91. {
  92. source_path = source_path + "/" + node_path[i];
  93. }
  94. if(pdefault_value != "" && pdefault_value != null)
  95. {
  96. for (var z = 0; z < default_value.length; z++)
  97. {
  98. obj = document.controls(default_value[z]);
  99. if (obj != null && arrNodeNames.length == default_value.length)
  100. {
  101. model.makeValue(default_node + "/" + arrNodeNames[z], model.getValue(obj.attribute("ref")));
  102. }
  103. else if(obj != null)
  104. {
  105. model.makeValue(default_node + "/" + default_value[z] , model.getValue(obj.attribute("ref")));
  106. }
  107. else if(obj == null)
  108. {
  109. model.makeValue(default_node + "/" + arrNodeNames[z] , default_value[z]);
  110. }
  111. }
  112. }
  113. model.setValue(recvref_node ,source_path);
  114. }
  115. if (pcdgrupid.length > 0 ) {
  116. model.setValue(cdgrupid_node ,pcdgrupid);
  117. }
  118. model.makeValue(control_node, pcontrol_name.attribute("id"));
  119. var window_name = "" ;
  120. if (phelp_kind == "01") //지원자검색HELP
  121. {
  122. window_name = "SPRPE10000";
  123. }
  124. else
  125. {
  126. window_name = "";
  127. }
  128. modal(window_name, null, null, null, "", "/root/source", "/root/target" );
  129. }