SPCPC00400_캠페인그룹관리.xrw 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <!--
  3. * Name : SPCPC00100_캠페인그룹관리
  4. * Summary : 캠페인 그룹관리
  5. * Programmer : 엄윤호
  6. * Date Written : 2007.06.07
  7. * History :
  8. * Remark : 데이터마이닝 그룹관리 참조
  9. -->
  10. <?xml-stylesheet href="../../../com/commonweb/css/common.css" type="text/css" ?>
  11. <xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
  12. <xhtml:head>
  13. <xhtml:title>캠페인 그룹관리</xhtml:title>
  14. <model id="model1">
  15. <instance id="instance1">
  16. <root xmlns="">
  17. <main>
  18. <list>
  19. <cmpngrup>
  20. <cmpnlrggrup>
  21. <cmpnlrgcd/>
  22. <cmpnlrgnm/>
  23. </cmpnlrggrup>
  24. <cmpnmdlgrup>
  25. <cmpnmdlcd/>
  26. <cmpnmdlnm/>
  27. <cmpnlrgcd/>
  28. </cmpnmdlgrup>
  29. <cmpnsmlgrup>
  30. <cmpnsmlcd/>
  31. <cmpnsmlnm/>
  32. <cmpnmdlcd/>
  33. <cmpnlrgcd/>
  34. </cmpnsmlgrup>
  35. </cmpngrup>
  36. </list>
  37. </main>
  38. <send>
  39. <cmpnlrgcd/>
  40. <cmpnlrglist/>
  41. <cmpnmdlcd/>
  42. <cmpnmdllist/>
  43. <cmpnsmlcd/>
  44. <cmpnsmllist/>
  45. </send>
  46. <temp>
  47. <result/>
  48. </temp>
  49. </root>
  50. </instance>
  51. <submission id="TRCPC00401" mediatype="application/x-www-form-urlencoded" method="post" resultref="/root/main/list/cmpngrup/cmpnlrggrup"/>
  52. <submission id="TRCPC00402" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/list/cmpngrup/cmpnmdlgrup"/>
  53. <submission id="TRCPC00403" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/list/cmpngrup/cmpnsmlgrup"/>
  54. <submission id="TXCPC00401" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/temp/result"/>
  55. <submission id="TXCPC00402" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/temp/result"/>
  56. <submission id="TXCPC00403" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/temp/result"/>
  57. </model>
  58. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  59. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  60. <script type="javascript" ev:event="xforms-ready">
  61. <![CDATA[
  62. // 그리드의 col을 초기화 시켜준다.
  63. model.removenodeset("/root/main/list/cmpngrup/cmpnlrggrup"); // 캠페인 대그룹
  64. model.removenodeset("/root/main/list/cmpngrup/cmpnmdlgrup"); // 캠페인 중그룹
  65. model.removenodeset("/root/main/list/cmpngrup/cmpnsmlgrup"); // 캠페인 소그룹
  66. submit("TRCPC00401"); // 대그룹
  67. model.SetFocus("grd_cmpnlrglist");
  68. grd_cmpnlrglist.dispatch("onrowchanged"); // 선택된 행의 인덱스가 바뀌면 onrowchanged 이벤트 발생됨.
  69. fCheckAuth();
  70. model.refresh();
  71. ]]>
  72. </script>
  73. <script type="javascript">
  74. <![CDATA[
  75. function fCheckAuth() {
  76. // 권한체크
  77. //if (!checkAuth("r")) {
  78. //}
  79. if (!checkAuth("x")) {
  80. btn_add_cmpnlrg.disabled=true;
  81. btn_delete_cmpnlrg.disabled=true;
  82. btn_save_cmpnlrg.disabled=true;
  83. btn_add_cmpnmdl.disabled=true;
  84. btn_delete_cmpnmdl.disabled=true;
  85. btn_save_cmpnmdl.disabled=true;
  86. btn_add_cmpnsml.disabled=true;
  87. btn_delete_cmpnsml.disabled=true;
  88. btn_save_cmpnsml.disabled=true;
  89. }
  90. //if (!checkAuth("p")) {
  91. //}
  92. }
  93. // 대그룹의 변경사항(입력, 수정, 삭제)을 처리한다.
  94. function fSaveClicklrg(grid){
  95. var updt_list = getGridUpdateData(grid);
  96. if (updt_list != "") {
  97. model.setValue("/root/send/cmpnlrglist", grid.getUpdateData());
  98. }
  99. if ( submit("TXCPC00401") ) {
  100. grid.clearStatus(); // submit() 성공하면 그리드의 i,u,d 상태 제거
  101. model.setValue("/root/send/cmpnlrglist", ""); // 대분류 저장 초기화
  102. model.removeNodeset("/root/main/list/cmpngrup/cmpnmdlgrup");
  103. model.removeNodeset("/root/main/list/cmpngrup/cmpnsmlgrup");
  104. submit("TRCPC00401"); // 저장하면 DB에 반영된 내용을 가져옴
  105. }
  106. }
  107. // 중그룹의 변경사항(입력, 수정, 삭제)을 처리한다.
  108. function fSaveClickmdl(grid){
  109. var row = grd_cmpnlrglist.row;
  110. var mrow = grd_cmpnmdllist.row;
  111. var cmpnlrgcd = grd_cmpnlrglist.valueMatrix( row, grd_cmpnlrglist.colRef("cmpnlrgcd"));
  112. model.setValue("/root/main/list/cmpngrup/cmpnmdlgrup/cmpnlrgcd",cmpnlrgcd);
  113. var updt_list = getGridUpdateData(grid);
  114. if (updt_list != "") {
  115. model.setValue("/root/send/cmpnmdllist", grid.getUpdateData());
  116. }
  117. if ( submit("TXCPC00402") ) {
  118. grid.clearStatus(); // submit() 성공하면 그리드의 i,u,d 상태 제거
  119. model.setValue("/root/send/cmpnmdllist", ""); // 중분류 저장 초기화
  120. model.removeNodeset("/root/main/list/cmpngrup/cmpnsmlgrup");
  121. submit("TRCPC00402");
  122. }
  123. }
  124. // 데이터마이닝 소그룹의 변경사항(입력, 수정, 삭제)을 처리한다.
  125. function fSaveClicksml(grid){
  126. var row = grd_cmpnmdllist.row;
  127. var srow = grd_cmpnsmllist.row;
  128. var cmpnlrgcd = grd_cmpnmdllist.valueMatrix( row, grd_cmpnmdllist.colRef("cmpnlrgcd"));
  129. var cmpnmdlcd = grd_cmpnmdllist.valueMatrix( row, grd_cmpnmdllist.colRef("cmpnmdlcd"));
  130. var updt_list = getGridUpdateData(grid);
  131. if (updt_list != "") {
  132. model.setValue("/root/send/cmpnsmllist", grid.getUpdateData());
  133. }
  134. if ( submit("TXCPC00403") ) {
  135. grid.clearStatus(); // submit() 성공하면 그리드의 i,u,d 상태 제거
  136. model.setValue("/root/send/cmpnsmllist", ""); // 소분류 저장 초기화
  137. submit("TRCPC00403");
  138. }
  139. }
  140. ]]>
  141. </script>
  142. </xhtml:head>
  143. <xhtml:body pagewidth="675" pageheight="455" style="margin-left:8; margin-top:8; margin-right:8; margin-bottom:8; ">
  144. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:630px; height:13px; ">캠페인 그룹관리</caption>
  145. <group id="group1" scroll="auto" style="left:5px; top:13px; width:213px; height:407px; ">
  146. <button id="btn_add_cmpnlrg" class="btn2_letter3" style="left:59px; top:5px; width:53px; height:19px; ">
  147. <caption>행추가</caption>
  148. <script type="javascript" ev:event="DOMActivate">
  149. <![CDATA[
  150. model.SetFocus("grd_cmpnlrglist");
  151. grd_cmpnlrglist.addRow();
  152. grd_cmpnlrglist.editCell(); // 입력대기상태
  153. ]]>
  154. </script>
  155. </button>
  156. <button id="btn_delete_cmpnlrg" class="btn2_letter3" style="left:115px; top:5px; width:53px; height:19px; ">
  157. <caption>행삭제</caption>
  158. <script type="javascript" ev:event="DOMActivate">
  159. <![CDATA[
  160. var row = grd_cmpnlrglist.row;
  161. var cmpnlrgcd = grd_cmpnlrglist.valueMatrix( row, grd_cmpnlrglist.colRef("cmpnlrgcd"));
  162. if (cmpnlrgcd != "") {
  163. var rtn = messageBox(" 하위 그룹이 있는 경우 함께 삭제됩니다.", "Q001");
  164. if (rtn == 6) {
  165. deleteSelectedRows(grd_cmpnlrglist, false);
  166. //grd_cmpnlrglist.deleteRow(grd_cmpnlrglist.row);
  167. }
  168. } else {
  169. messageBox("대분류가 선택되지 ", "E007");
  170. }
  171. ]]>
  172. </script>
  173. </button>
  174. <button id="btn_save_cmpnlrg" class="btn5_letter2" style="left:171px; top:5px; width:42px; height:19px; ">
  175. <caption>저장</caption>
  176. <script type="javascript" ev:event="DOMActivate">
  177. <![CDATA[
  178. fSaveClicklrg(grd_cmpnlrglist);
  179. ]]>
  180. </script>
  181. </button>
  182. <line id="line12" class="line_1" style="x1:0px; y1:27px; x2:213px; y2:27px; "/>
  183. <datagrid id="grd_cmpnlrglist" nodeset="/root/main/list/cmpngrup/cmpnlrggrup" caption="대그룹 제목^대그룹코드" colwidth="171,0" extendlastcol="scroll" rowheader="update" tooltip="true" style="left:0px; top:29px; width:213px; height:378px; ">
  184. <col ref="cmpnlrgnm" type="input" maxlength="30"/>
  185. <col ref="cmpnlrgcd" visibility="hidden"/>
  186. <script type="javascript" ev:event="onrowchanged">
  187. <![CDATA[
  188. // 선택한 대그룹에 속한 중그룹을 가져온다.
  189. var row = grd_cmpnlrglist.row;
  190. var cmpnlrgnm = grd_cmpnlrglist.valueMatrix( row, grd_cmpnlrglist.colRef("cmpnlrgnm"));
  191. var cmpnlrgcd = grd_cmpnlrglist.valueMatrix( row, grd_cmpnlrglist.colRef("cmpnlrgcd"));
  192. if (cmpnlrgnm != "" && row > 0) {
  193. model.setValue("/root/send/cmpnlrgcd", cmpnlrgcd);
  194. model.removenodeset("/root/main/list/cmpngrup/cmpnmdlgrup");
  195. model.removenodeset("/root/main/list/cmpngrup/cmpnsmlgrup");
  196. submit("TRCPC00402");
  197. }
  198. grd_cmpnlrglist.dispatch("onmouseup");
  199. ]]>
  200. </script>
  201. </datagrid>
  202. </group>
  203. <group id="group2" scroll="auto" style="left:223px; top:13px; width:213px; height:407px; ">
  204. <button id="btn_add_cmpnmdl" class="btn2_letter3" style="left:59px; top:5px; width:53px; height:19px; ">
  205. <caption>행추가</caption>
  206. <script type="javascript" ev:event="DOMActivate">
  207. <![CDATA[
  208. model.SetFocus("grd_cmpnmdllist");
  209. var row = grd_cmpnlrglist.row;
  210. var cmpnlrgcd = grd_cmpnlrglist.valueMatrix( row, grd_cmpnlrglist.colRef("cmpnlrgcd"));
  211. if (cmpnlrgcd != "") {
  212. grd_cmpnmdllist.addRow();
  213. grd_cmpnmdllist.editCell();
  214. model.setValue("/root/main/list/cmpngrup/cmpnmdlgrup["+grd_cmpnmdllist.row+"]/cmpnlrgcd",cmpnlrgcd);
  215. } else {
  216. messageBox("대분류가 선택되지 ", "E007");
  217. }
  218. ]]>
  219. </script>
  220. </button>
  221. <button id="btn_delete_cmpnmdl" class="btn2_letter3" style="left:115px; top:5px; width:53px; height:19px; ">
  222. <caption>행삭제</caption>
  223. <script type="javascript" ev:event="DOMActivate">
  224. <![CDATA[
  225. var row = grd_cmpnmdllist.row;
  226. var cmpnmdlcd = grd_cmpnmdllist.valueMatrix( row, grd_cmpnmdllist.colRef("cmpnmdlcd"));
  227. if (cmpnmdlcd != "") {
  228. var rtn = messageBox(" 하위 그룹이 있는 경우 함께 삭제됩니다.", "Q001");
  229. if (rtn == 6) {
  230. deleteSelectedRows(grd_cmpnmdllist, false);
  231. //grd_cmpnmdllist.deleteRow(grd_cmpnmdllist.row);
  232. }
  233. } else {
  234. messageBox("중분류가 선택되지 ", "E007");
  235. }
  236. ]]>
  237. </script>
  238. </button>
  239. <button id="btn_save_cmpnmdl" class="btn5_letter2" style="left:171px; top:5px; width:42px; height:19px; ">
  240. <caption>저장</caption>
  241. <script type="javascript" ev:event="DOMActivate">
  242. <![CDATA[
  243. fSaveClickmdl(grd_cmpnmdllist);
  244. ]]>
  245. </script>
  246. </button>
  247. <line id="line1" class="line_1" style="x1:0px; y1:27px; x2:213px; y2:27px; "/>
  248. <datagrid id="grd_cmpnmdllist" nodeset="/root/main/list/cmpngrup/cmpnmdlgrup" caption="중그룹 제목^중그룹 코드" colwidth="171,0,0" extendlastcol="scroll" rowheader="update" tooltip="true" style="left:0px; top:29px; width:213px; height:378px; ">
  249. <col ref="cmpnmdlnm" type="input" maxlength="30"/>
  250. <col ref="cmpnmdlcd" visibility="hidden"/>
  251. <col ref="cmpnlrgcd" visibility="hidden"/>
  252. <script type="javascript" ev:event="onrowchanged">
  253. <![CDATA[
  254. // 선택한 중그룹에 속한 소그룹을 가져온다.
  255. var row = grd_cmpnmdllist.row;
  256. var cmpnmdlnm = grd_cmpnmdllist.valueMatrix( row, grd_cmpnmdllist.colRef("cmpnmdlnm"));
  257. var cmpnmdlcd = grd_cmpnmdllist.valueMatrix( row, grd_cmpnmdllist.colRef("cmpnmdlcd"));
  258. var cmpnlrgcd = grd_cmpnmdllist.valueMatrix( row, grd_cmpnmdllist.colRef("cmpnlrgcd"));
  259. if ( cmpnmdlnm != "" ){
  260. model.setValue("/root/send/cmpnmdlcd", cmpnmdlcd);
  261. model.setValue("/root/send/cmpnlrgcd", cmpnlrgcd);
  262. model.removenodeset("/root/main/list/cmpngrup/cmpnsmlgrup");
  263. submit("TRCPC00403");
  264. }
  265. grd_cmpnmdllist.dispatch("onmouseup");
  266. ]]>
  267. </script>
  268. </datagrid>
  269. </group>
  270. <group id="group3" scroll="auto" style="left:441px; top:13px; width:213px; height:407px; ">
  271. <button id="btn_add_cmpnsml" class="btn2_letter3" style="left:59px; top:5px; width:53px; height:19px; ">
  272. <caption>행추가</caption>
  273. <script type="javascript" ev:event="DOMActivate">
  274. <![CDATA[
  275. model.SetFocus("grd_cmpnsmllist");
  276. var row = grd_cmpnmdllist.row;
  277. var cmpnlrgcd = grd_cmpnmdllist.valueMatrix( row, grd_cmpnmdllist.colRef("cmpnlrgcd"));
  278. var cmpnmdlcd = grd_cmpnmdllist.valueMatrix( row, grd_cmpnmdllist.colRef("cmpnmdlcd"));
  279. if (cmpnmdlcd != "") {
  280. grd_cmpnsmllist.addRow();
  281. grd_cmpnsmllist.editCell();
  282. model.setValue("/root/main/list/cmpngrup/cmpnsmlgrup["+grd_cmpnsmllist.row+"]/cmpnlrgcd",cmpnlrgcd);
  283. model.setValue("/root/main/list/cmpngrup/cmpnsmlgrup["+grd_cmpnsmllist.row+"]/cmpnmdlcd",cmpnmdlcd);
  284. } else {
  285. messageBox("중분류가 선택되지 ", "E007");
  286. }
  287. ]]>
  288. </script>
  289. </button>
  290. <button id="btn_delete_cmpnsml" class="btn2_letter3" style="left:115px; top:5px; width:53px; height:19px; ">
  291. <caption>행삭제</caption>
  292. <script type="javascript" ev:event="DOMActivate">
  293. <![CDATA[
  294. //grd_cmpnlrglist.deleteRow(grd_cmpnlrglist.row, true);
  295. var row = grd_cmpnsmllist.row;
  296. var cmpnsmlcd = grd_cmpnsmllist.valueMatrix( row, grd_cmpnsmllist.colRef("cmpnsmlcd"));
  297. if (cmpnsmlcd != "") {
  298. var rtn = messageBox("소그룹을 ", "Q001");
  299. if (rtn == 6) {
  300. deleteSelectedRows(grd_cmpnsmllist, false);
  301. //grd_cmpnsmllist.deleteRow(grd_cmpnsmllist.row);
  302. }
  303. } else {
  304. messageBox("소분류가 선택되지 ", "E007");
  305. }
  306. ]]>
  307. </script>
  308. </button>
  309. <button id="btn_save_cmpnsml" class="btn5_letter2" style="left:171px; top:5px; width:42px; height:19px; ">
  310. <caption>저장</caption>
  311. <script type="javascript" ev:event="DOMActivate">
  312. <![CDATA[
  313. fSaveClicksml(grd_cmpnsmllist);
  314. ]]>
  315. </script>
  316. </button>
  317. <line id="line2" class="line_1" style="x1:0px; y1:27px; x2:213px; y2:27px; "/>
  318. <datagrid id="grd_cmpnsmllist" nodeset="/root/main/list/cmpngrup/cmpnsmlgrup" caption="소그룹 제목^소그룹코드" colwidth="171,0,0,0" extendlastcol="scroll" rowheader="update" tooltip="true" style="left:0px; top:29px; width:213px; height:378px; ">
  319. <col ref="cmpnsmlnm" type="input" maxlength="30"/>
  320. <col ref="cmpnsmlcd" visibility="hidden"/>
  321. <col ref="cmpnmdlcd" visibility="hidden"/>
  322. <col ref="cmpnlrgcd" visibility="hidden"/>
  323. </datagrid>
  324. </group>
  325. <group id="group4" scroll="auto" style="left:0px; top:420px; width:655px; height:27px; ">
  326. <button id="btn_close" class="btn4_letter2" style="left:598px; top:5px; width:56px; height:22px; ">
  327. <caption>닫기</caption>
  328. <script type="javascript" ev:event="DOMActivate">
  329. <![CDATA[
  330. opener.javascript.fInitGrid();
  331. window.close();
  332. //opener.activate();
  333. ]]>
  334. </script>
  335. </button>
  336. </group>
  337. </xhtml:body>
  338. </xhtml:html>