SPCPC00500_캠페인선택.xfdl 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPCPC00500" position="absolute 0 0 621 360" titletext="캠페인 선택" oninit="SPCPC00500_oninit" onload="SPCPC00500_onload">
  5. <Layouts>
  6. <Layout>
  7. <Div id="grp_sea" taborder="10" position="absolute 0 0 615 60" class="div_SA2">
  8. <Layouts>
  9. <Layout>
  10. <Static id="caption2" text="캠페인명 :" class="search_name" position="absolute 15 9 101 26"/>
  11. <Static id="caption4" text="분류선택 :" class="search_name" position="absolute 15 33 101 50"/>
  12. <Combo id="cmb_cmpnlrg" taborder="1" innerdataset="@ds_init_cmpngrup_cmpnlrggrup" codecolumn="cmpnlrgcd" datacolumn="cmpnlrgnm" class="combo_search" position="absolute 98 32 228 51" onitemchanged="grp_sea_cmb_cmpnlrg_onitemchanged"/>
  13. <Edit id="ipt_cmpnnm" taborder="2" class="input_search" position="absolute 98 8 278 27"/>
  14. <Combo id="cmb_cmpnmdl" taborder="3" innerdataset="@ds_init_cmpngrup_cmpnmdlgrup" codecolumn="cmpnmdlcd" datacolumn="cmpnmdlnm" class="combo_search" position="absolute 231 32 361 51" onitemchanged="grp_sea_cmb_cmpnmdl_onitemchanged"/>
  15. <Static id="caption3" text="캠페인코드 :" class="search_name" position="absolute 297 10 397 27"/>
  16. <Combo id="cmb_cmpnsml" taborder="4" innerdataset="@ds_init_cmpngrup_cmpnsmlgrup" codecolumn="cmpnsmlcd" datacolumn="cmpnsmlnm" class="combo_search" position="absolute 364 32 494 51" onitemchanged="grp_sea_cmb_cmpnsml_onitemchanged"/>
  17. <Edit id="ipt_cmpncd" taborder="5" class="input_search" position="absolute 394 8 494 27" autoselect="true" onkeyup="grp_sea_ipt_cmpncd_onkeyup"/>
  18. <Button id="btn_search" taborder="6" text="조회" class="btn1" position="absolute 540 19 596 41" onclick="grp_sea_btn_search_onclick"/>
  19. <Shape id="line13" linetype="vertical" class="line_4" position="absolute 518 8 524 51"/>
  20. </Layout>
  21. </Layouts>
  22. </Div>
  23. <Static id="caption1" text="캠페인 선택" class="tit_2" position="absolute 0 68 144 89"/>
  24. <Shape id="line1" linetype="horizontal" class="line_10" position="absolute 0 84 615 90"/>
  25. <Grid id="grd_cmpnlist" taborder="7" binddataset="ds_main_cmpnlist" useinputpanel="false" position="absolute -3 89 612 325" autoenter="select" cellsizingtype="col" oncelldblclick="grd_cmpnlist_oncelldblclick">
  26. <Formats>
  27. <Format id="default">
  28. <Columns>
  29. <Column size="23"/>
  30. <Column size="160"/>
  31. <Column size="80"/>
  32. <Column size="110"/>
  33. <Column size="110"/>
  34. <Column size="129"/>
  35. <Column size="0"/>
  36. <Column size="0"/>
  37. <Column size="0"/>
  38. </Columns>
  39. <Rows>
  40. <Row size="24" band="head"/>
  41. <Row size="24"/>
  42. </Rows>
  43. <Band id="head">
  44. <Cell/>
  45. <Cell col="1" text="캠페인명"/>
  46. <Cell col="2" text="캠페인코드"/>
  47. <Cell col="3" text="대분류"/>
  48. <Cell col="4" text="중분류"/>
  49. <Cell col="5" text="소분류"/>
  50. <Cell col="6"/>
  51. <Cell col="7"/>
  52. <Cell col="8"/>
  53. </Band>
  54. <Band id="body">
  55. <Cell celltype="head" expr="expr:ds_main_cmpnlist.rowposition == currow ? '▶' : ''"/>
  56. <Cell col="1" style="align:left middle;padding:0 0 0 3;" text="bind:cmpnnm"/>
  57. <Cell col="2" style="align:left middle;padding:0 0 0 3;" text="bind:cmpncd"/>
  58. <Cell col="3" style="align:left middle;padding:0 0 0 3;" text="bind:cmpnlrgnm"/>
  59. <Cell col="4" style="align:left middle;padding:0 0 0 3;" text="bind:cmpnmdlnm"/>
  60. <Cell col="5" style="align:left middle;padding:0 0 0 3;" text="bind:cmpnsmlnm"/>
  61. <Cell col="6" text="bind:cmpnlrgcd"/>
  62. <Cell col="7" text="bind:cmpnmdlcd"/>
  63. <Cell col="8" text="bind:cmpnsmlcd"/>
  64. </Band>
  65. </Format>
  66. </Formats>
  67. </Grid>
  68. <Button id="btn_confirm" taborder="8" text="확인" class="btn4" position="absolute 497 329 553 351" onclick="btn_confirm_onclick"/>
  69. <Button id="btn_cancel" taborder="9" text="취소" class="btn4" position="absolute 556 329 612 351" onclick="btn_cancel_onclick"/>
  70. </Layout>
  71. </Layouts>
  72. <Objects>
  73. <Dataset id="ds_send_srch" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  74. <ColumnInfo>
  75. <Column id="cmpnsmlcd" type="STRING" size="256"/>
  76. <Column id="cmpncd" type="STRING" size="256"/>
  77. <Column id="cmpnnm" type="STRING" size="256"/>
  78. <Column id="refauth" type="STRING" size="256"/>
  79. </ColumnInfo>
  80. <Rows>
  81. <Row>
  82. <Col id="cmpnsmlcd"/>
  83. <Col id="cmpncd"/>
  84. <Col id="cmpnnm"/>
  85. <Col id="refauth"/>
  86. </Row>
  87. </Rows>
  88. </Dataset>
  89. <Dataset id="ds_send_cmpngrup" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  90. <ColumnInfo>
  91. <Column id="cmpnlrgcd" type="STRING" size="256"/>
  92. <Column id="cmpnmdlcd" type="STRING" size="256"/>
  93. </ColumnInfo>
  94. <Rows>
  95. <Row>
  96. <Col id="cmpnlrgcd"/>
  97. <Col id="cmpnmdlcd"/>
  98. </Row>
  99. </Rows>
  100. </Dataset>
  101. <Dataset id="ds_init_cmpngrup_cmpnlrggrup" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  102. <ColumnInfo>
  103. <Column id="cmpnlrgcd" type="INT" size="256" sumtext="캠페인대분류코드"/>
  104. <Column id="cmpnlrgnm" type="STRING" size="256" sumtext="캠페인대분류이름"/>
  105. </ColumnInfo>
  106. </Dataset>
  107. <Dataset id="ds_init_cmpngrup_cmpnmdlgrup" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  108. <Dataset id="ds_init_cmpngrup_cmpnsmlgrup" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  109. <ColumnInfo>
  110. <Column id="cmpnsmlcd" type="INT" size="256" sumtext="캠페인소분류코드"/>
  111. <Column id="cmpnsmlnm" type="STRING" size="256" sumtext="캠페인소분류이름"/>
  112. <Column id="cmpnmdlcd" type="INT" size="256" sumtext="캠페인중분류코드"/>
  113. <Column id="cmpnlrgcd" type="INT" size="256" sumtext="캠페인대분류코드"/>
  114. </ColumnInfo>
  115. </Dataset>
  116. <Dataset id="ds_main_cmpnlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  117. <ColumnInfo>
  118. <Column id="cmpncd" type="STRING" size="256" sumtext="캠페인코드"/>
  119. <Column id="cmpnnm" type="STRING" size="256" sumtext="캠페인이름"/>
  120. <Column id="cmpnsmlnm" type="STRING" size="256" sumtext="캠페인소분류이름"/>
  121. <Column id="cmpnmdlnm" type="STRING" size="256" sumtext="캠페인중분류이름"/>
  122. <Column id="cmpnlrgnm" type="STRING" size="256" sumtext="캠페인대분류이름"/>
  123. <Column id="cmpnsmlcd" type="INT" size="256" sumtext="캠페인소분류코드"/>
  124. <Column id="cmpnmdlcd" type="INT" size="256" sumtext="캠페인중분류코드"/>
  125. <Column id="cmpnlrgcd" type="INT" size="256" sumtext="캠페인대분류코드"/>
  126. </ColumnInfo>
  127. </Dataset>
  128. </Objects>
  129. <Bind>
  130. <BindItem id="item0" compid="grp_sea.ipt_cmpnnm" propid="value" datasetid="ds_send_srch" columnid="cmpnnm"/>
  131. <BindItem id="item1" compid="grp_sea.ipt_cmpncd" propid="value" datasetid="ds_send_srch" columnid="cmpncd"/>
  132. <BindItem id="item2" compid="grp_sea.cmb_cmpnlrg" propid="value" datasetid="ds_send_cmpngrup" columnid="cmpnlrgcd"/>
  133. <BindItem id="item3" compid="grp_sea.cmb_cmpnmdl" propid="value" datasetid="ds_send_cmpngrup" columnid="cmpnmdlcd"/>
  134. <BindItem id="item4" compid="grp_sea.cmb_cmpnsml" propid="value" datasetid="ds_send_srch" columnid="cmpnsmlcd"/>
  135. </Bind>
  136. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  137. * System Name :
  138. * Job Name :
  139. * Creator :
  140. * Make Date : 2016-05-24
  141. * Description :
  142. *---------------------------------------------------------------------------------------
  143. * Modify Date Modifier Modify Description
  144. *---------------------------------------------------------------------------------------
  145. * 2016-05-24 Live Converter TF->XP
  146. *
  147. *---------------------------------------------------------------------------------------
  148. ****************************************************************************************/
  149. include "com_commonxp::comm_main.xjs";
  150. function SPCPC00500_oninit(obj:Form, e:InitEventInfo)
  151. {
  152. frmf_initForm(obj);
  153. }
  154. function SPCPC00500_onload(obj:Form, e:LoadEventInfo)
  155. {
  156. grdf_initGrid(grd_cmpnlist);
  157. fInitialize();
  158. // 부모창의 파라미터 처리
  159. var send_cmpn_cd = opener.frmf_getParameter("send_cmpn_cd");
  160. var send_cmpn_nm = opener.frmf_getParameter("send_cmpn_nm");
  161. if (!utlf_isNull(send_cmpn_cd) || !utlf_isNull(send_cmpn_nm))
  162. {
  163. ds_send_srch.setColumn(0, "cmpncd", send_cmpn_cd);
  164. ds_send_srch.setColumn(0, "cmpnnm", send_cmpn_nm);
  165. var oParam = {};
  166. oParam.id = "TRCPC00501";
  167. oParam.service = "crmapp.Campain";
  168. oParam.method = "reqGetCmpnList";
  169. oParam.inds = "req=ds_send_srch";
  170. oParam.outds = "ds_main_cmpnlist=cmpnlist";
  171. oParam.async = false;
  172. //oParam.callback = "cf_TRCPC00501";
  173. tranf_submit(oParam);
  174. }
  175. fCheckAuth();
  176. }
  177. function fInitialize()
  178. {
  179. // 화면 open시 초기화 기능을 수행한다.
  180. ds_init_cmpngrup_cmpnlrggrup.clearData();
  181. ds_init_cmpngrup_cmpnmdlgrup.clearData();
  182. ds_init_cmpngrup_cmpnsmlgrup.clearData();
  183. ds_main_cmpnlist.clearData();
  184. var oParam = {};
  185. oParam.id = "TRCPC00401";
  186. oParam.service = "crmapp.Campain";
  187. oParam.method = "reqGetCmpnLrgCd";
  188. oParam.inds = "req=ds_";
  189. oParam.outds = "ds_init_cmpngrup_cmpnlrggrup=cmpnlrggrup";
  190. oParam.async = false;
  191. //oParam.callback = "cf_TRCPC00401";
  192. tranf_submit(oParam);
  193. }
  194. function fCheckAuth()
  195. {
  196. // 권한체크
  197. if (!frmf_checkAuth("r"))
  198. {
  199. grp_sea.btn_search.enable = false;
  200. grp_sea.cmb_cmpnsml.enable = false;;
  201. }
  202. }
  203. function grp_sea_ipt_cmpncd_onkeyup(obj:Edit, e:KeyEventInfo)
  204. {
  205. if(e.keycode == 13)
  206. {
  207. obj.updateToDataset();
  208. grp_sea.btn_search.click();
  209. }
  210. }
  211. function grp_sea_cmb_cmpnlrg_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  212. {
  213. // 선택한 캠페인 대분류에 따른 캠페인 중분류를 가져온다.
  214. ds_init_cmpngrup_cmpnmdlgrup.clearData();
  215. ds_init_cmpngrup_cmpnsmlgrup.clearData();
  216. ds_main_cmpnlist.clearData();
  217. var oParam = {};
  218. oParam.id = "TRCPC00402";
  219. oParam.service = "crmapp.Campain";
  220. oParam.method = "reqGetCmpnMdlCd";
  221. oParam.inds = "req=ds_send_cmpngrup";
  222. oParam.outds = "ds_init_cmpngrup_cmpnmdlgrup=cmpnmdlgrup";
  223. oParam.async = false;
  224. //oParam.callback = "cf_TRCPC00402";
  225. tranf_submit(oParam);
  226. grp_sea.cmb_cmpnmdl.setFocus();
  227. }
  228. function grp_sea_cmb_cmpnmdl_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  229. {
  230. // 선택한 캠페인 중분류에 따른 캠페인 소분류를 가져온다.
  231. ds_init_cmpngrup_cmpnsmlgrup.clearData();
  232. ds_main_cmpnlist.clearData();
  233. var oParam = {};
  234. oParam.id = "TRCPC00403";
  235. oParam.service = "crmapp.Campain";
  236. oParam.method = "reqGetCmpnSmlCd";
  237. oParam.inds = "req=ds_send_cmpngrup";
  238. oParam.outds = "ds_init_cmpngrup_cmpnsmlgrup=cmpnsmlgrup";
  239. oParam.async = false;
  240. //oParam.callback = "cf_TRCPC00403";
  241. tranf_submit(oParam);
  242. grp_sea.cmb_cmpnsml.setFocus();
  243. }
  244. function grp_sea_cmb_cmpnsml_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  245. {
  246. // 선택한 캠페인 소분류에 따른 캠페인 목록을 가져온다.
  247. var oParam = {};
  248. oParam.id = "TRCPC00501";
  249. oParam.service = "crmapp.Campain";
  250. oParam.method = "reqGetCmpnList";
  251. oParam.inds = "req=ds_send_srch";
  252. oParam.outds = "ds_main_cmpnlist=cmpnlist";
  253. oParam.async = false;
  254. //oParam.callback = "cf_TRCPC00501";
  255. tranf_submit(oParam);
  256. }
  257. function grp_sea_btn_search_onclick(obj:Button, e:ClickEventInfo)
  258. {
  259. // 필수항목 체크
  260. if (utlf_isNull(ds_send_srch.getColumn(0, "cmpncd")) && utlf_isNull(ds_send_srch.getColumn(0, "cmpnnm")) && utlf_isNull(ds_send_srch.getColumn(0, "cmpnsmlcd")))
  261. {
  262. sysf_messageBox("검색어를","C002");
  263. grp_sea.ipt_cmpncd.setFocus();
  264. }
  265. else
  266. {
  267. var oParam = {};
  268. oParam.id = "TRCPC00501";
  269. oParam.service = "crmapp.Campain";
  270. oParam.method = "reqGetCmpnList";
  271. oParam.inds = "req=ds_send_srch";
  272. oParam.outds = "ds_main_cmpnlist=cmpnlist";
  273. oParam.async = false;
  274. //oParam.callback = "cf_TRCPC00501";
  275. tranf_submit(oParam);
  276. }
  277. }
  278. function grd_cmpnlist_oncelldblclick(obj:Grid, e:GridClickEventInfo)
  279. {
  280. if (ds_main_cmpnlist.rowposition >= 0)
  281. {
  282. fSetOpenerData();
  283. }
  284. else
  285. {
  286. sysf_messageBox("캠페인을","C002");
  287. }
  288. }
  289. function fSetOpenerData()
  290. {
  291. var send_cmpn_cd = ds_main_cmpnlist.getColumn(ds_main_cmpnlist.rowposition, "cmpncd");
  292. var send_cmpn_nm = ds_main_cmpnlist.getColumn(ds_main_cmpnlist.rowposition, "cmpnnm");
  293. var objArg = new Object();
  294. objArg.cmpncd = send_cmpn_cd;
  295. objArg.cmpnnm = send_cmpn_nm;
  296. this.close(objArg);
  297. }
  298. function btn_confirm_onclick(obj:Button, e:ClickEventInfo)
  299. {
  300. if (ds_main_cmpnlist.rowposition >= 0)
  301. {
  302. fSetOpenerData();
  303. }
  304. else
  305. {
  306. sysf_messageBox("캠페인을","C002");
  307. }
  308. }
  309. function btn_cancel_onclick(obj:Button, e:ClickEventInfo)
  310. {
  311. this.close();
  312. }
  313. ]]></Script>
  314. </Form>
  315. </FDL>