SMAEB00300_결과예문관리.xfdl 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMAEB00300" position="absolute 0 0 1196 792" titletext="결과예문관리" oninit="SMAEB00300_oninit" onload="SMAEB00300_onload">
  5. <Layouts>
  6. <Layout>
  7. <Div position="absolute 0 17 1195 761" id="grp_biz" scrollbars="autoboth">
  8. <Layouts>
  9. <Layout>
  10. <Shape position="absolute 0 67 1194 73" linetype="horizontal" id="line1" class="line_1" anchor="default"/>
  11. <Static text="결과예문 현황" position="absolute 2 51 148 68" id="caption1" class="tit_2" anchor="default"/>
  12. <Button position="absolute 1087 48 1140 67" id="btn_grdadd" class="btn2" text="행추가" anchor="default" onclick="grp_biz_btn_grdadd_onclick"/>
  13. <Button position="absolute 1142 48 1195 67" id="btn_grddel" class="btn2" text="행삭제" anchor="default" onclick="grp_biz_btn_grddel_onclick"/>
  14. <Grid position="absolute 0 72 1194 742" id="grd_exmptmpl" binddataset="ds_main_exmptmpllist" anchor="default" autofittype="col" onkeydown="grp_biz_grd_exmptmpl_onkeydown" autoenter="key">
  15. <Formats>
  16. <Format id="default">
  17. <Columns>
  18. <Column size="25"/>
  19. <Column size="25"/>
  20. <Column size="70"/>
  21. <Column size="123"/>
  22. <Column size="132"/>
  23. <Column size="813"/>
  24. <Column size="0"/>
  25. <Column size="0"/>
  26. <Column size="0"/>
  27. </Columns>
  28. <Rows>
  29. <Row size="24" band="head"/>
  30. <Row size="24"/>
  31. </Rows>
  32. <Band id="head">
  33. <Cell/>
  34. <Cell col="1"/>
  35. <Cell col="2" text="순번"/>
  36. <Cell col="3" text="결과예문코드"/>
  37. <Cell col="4" text="결과예문명"/>
  38. <Cell col="5" text="결과예문내용"/>
  39. <Cell col="6" text="caption1"/>
  40. <Cell col="7" text="caption2"/>
  41. <Cell col="8" text="caption3"/>
  42. </Band>
  43. <Band id="body">
  44. <Cell celltype="head" text="expr:currow+1"/>
  45. <Cell col="1" displaytype="image"/>
  46. <Cell col="2" displaytype="text" edittype="text" text="bind:sortno"/>
  47. <Cell col="3" displaytype="text" edittype="text" text="bind:basecd"/>
  48. <Cell col="4" displaytype="text" edittype="text" text="bind:basecdflagdesc" editautoselect="true"/>
  49. <Cell col="5" displaytype="text" edittype="text" text="bind:basecdcnts" editautoselect="true"/>
  50. <Cell col="6" displaytype="text" edittype="text" text="bind:basesuppdeptcd"/>
  51. <Cell col="7" displaytype="text" edittype="text" text="bind:basecdflag"/>
  52. <Cell col="8" displaytype="text" edittype="text" text="bind:seq"/>
  53. </Band>
  54. </Format>
  55. </Formats>
  56. </Grid>
  57. </Layout>
  58. </Layouts>
  59. </Div>
  60. <Div position="absolute 0 760 1195 790" id="grp_btn">
  61. <Layouts>
  62. <Layout>
  63. <Button position="absolute 1079 5 1135 27" id="btn_save" class="btn4" text="저장" anchor="default" onclick="grp_btn_btn_save_onclick"/>
  64. <Edit position="absolute 610 6 1010 25" id="input1" anchor="default"/>
  65. <Button id="button3" taborder="1" text="복사" class="btn4" position="absolute 1022 5 1078 27" anchor="default" onclick="grp_btn_button3_onclick"/>
  66. <Button id="btn_cls" taborder="2" text="닫기" class="btn4" position="absolute 1136 5 1192 27" anchor="default" onclick="grp_btn_btn_cls_onclick"/>
  67. </Layout>
  68. </Layouts>
  69. </Div>
  70. <Static id="caption6" text="결과예문관리" class="tit_1" position="absolute 0 0 160 25"/>
  71. <Div id="grp_sea" taborder="1" class="div_SA" position="absolute 0 25 1195 60">
  72. <Layouts>
  73. <Layout>
  74. <Shape id="line13" linetype="vertical" class="line_4" position="absolute 1109 7 1115 29" anchor="default"/>
  75. <Button id="btn_sea" taborder="1" text="조회" class="btn1" position="absolute 1128 7 1184 29" anchor="default" onclick="grp_sea_btn_sea_onclick"/>
  76. <Static id="caption2" text="결과예문코드 :" class="search_name" position="absolute 15 10 127 27" anchor="default"/>
  77. <Button id="button61" taborder="2" class="icon_search" position="absolute 270 9 286 25" anchor="default" visible="false"/>
  78. <Edit id="ipt_basecd" taborder="3" class="input_search" position="absolute 130 8 265 27" anchor="default" onkeydown="grp_sea_ipt_basecd_onkeydown"/>
  79. </Layout>
  80. </Layouts>
  81. </Div>
  82. </Layout>
  83. </Layouts>
  84. <Objects>
  85. <Dataset id="ds_send_globalinstance" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  86. <ColumnInfo>
  87. <Column id="instance1" type="STRING" size="256"/>
  88. </ColumnInfo>
  89. <Rows>
  90. <Row/>
  91. </Rows>
  92. </Dataset>
  93. <Dataset id="ds_send_data" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  94. <Dataset id="ds_hidden" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  95. <ColumnInfo>
  96. <Column id="comprod" type="STRING" size="256"/>
  97. </ColumnInfo>
  98. <Rows>
  99. <Row>
  100. <Col id="comprod">A</Col>
  101. </Row>
  102. </Rows>
  103. </Dataset>
  104. <Dataset id="ds_init" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  105. <ColumnInfo>
  106. <Column id="copyrslt" type="STRING" size="256"/>
  107. </ColumnInfo>
  108. <Rows>
  109. <Row>
  110. <Col id="copyrslt">복사버튼 클릭 -&gt; 서식항목을 선택 -&gt; Ctrl+V를 키보드 선택입력합니다.</Col>
  111. </Row>
  112. </Rows>
  113. </Dataset>
  114. <Dataset id="ds_main_exmptmpllist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  115. <ColumnInfo>
  116. <Column id="sortno" type="STRING" size="256"/>
  117. <Column id="basecd" type="STRING" size="256"/>
  118. <Column id="basecdflagdesc" type="STRING" size="256"/>
  119. <Column id="basecdcnts" type="STRING" size="256"/>
  120. <Column id="basesuppdeptcd" type="STRING" size="256"/>
  121. <Column id="basecdflag" type="STRING" size="256"/>
  122. </ColumnInfo>
  123. <Rows>
  124. <Row>
  125. <Col id="sortno"/>
  126. <Col id="basecd"/>
  127. <Col id="basecdflagdesc"/>
  128. <Col id="basecdcnts"/>
  129. <Col id="basesuppdeptcd"/>
  130. <Col id="basecdflag"/>
  131. </Row>
  132. </Rows>
  133. </Dataset>
  134. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  135. <ColumnInfo>
  136. <Column id="basecd" type="STRING" size="256"/>
  137. </ColumnInfo>
  138. <Rows>
  139. <Row/>
  140. </Rows>
  141. </Dataset>
  142. </Objects>
  143. <Bind>
  144. <BindItem id="item0" compid="grp_btn.input1" propid="value" datasetid="ds_init" columnid="copyrslt"/>
  145. <BindItem id="item1" compid="grp_sea.ipt_basecd" propid="value" datasetid="ds_send" columnid="basecd"/>
  146. </Bind>
  147. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  148. * System Name :
  149. * Job Name :
  150. * Creator :
  151. * Make Date : 2015-11-10
  152. * Description :
  153. *---------------------------------------------------------------------------------------
  154. * Modify Date Modifier Modify Description
  155. *---------------------------------------------------------------------------------------
  156. * 2015-11-10 Live Converter TF->XP
  157. *
  158. *---------------------------------------------------------------------------------------
  159. ****************************************************************************************/
  160. //=======================================================================================
  161. // Lib Include
  162. //---------------------------------------------------------------------------------------
  163. include "com_commonxp::comm_main.xjs"
  164. include "ast_examcurexp::AEZ0001.xjs"
  165. include "ast_commonxp::AST.xjs"
  166. //=======================================================================================
  167. // Global Form Variable
  168. //---------------------------------------------------------------------------------------
  169. var arErrorCode = new HashArray();
  170. //=======================================================================================
  171. // Function
  172. //---------------------------------------------------------------------------------------
  173. /****************************************************************************************
  174. * Argument : N/A
  175. * Description : 결과예문 복사
  176. ****************************************************************************************/
  177. function fSendContents() {
  178. var bufCnts = "";
  179. var rowidx;
  180. // var colref_viewcnts = grp_biz.grd_exmptmpl.getBindCellIndex("body","basecdcnts");
  181. if(frmf_checkOpener()) //opener 검사
  182. {
  183. var i = ds_main_exmptmpllist.rowposition;
  184. bufCnts += ds_main_exmptmpllist.getColumn(i,"basecdcnts");
  185. // window.clipBoardData = bufCnts;
  186. system.setClipboard("CF_TEXT",bufCnts);
  187. }else {
  188. sysf_messageBox("Parent 창[결과관리]이 변경되었습니다.","I999");
  189. return;
  190. }
  191. this.close();
  192. }
  193. /****************************************************************************************
  194. * Argument : N/A
  195. * Description : 결과예문 조회
  196. ****************************************************************************************/
  197. function call_TRAEB00301() {
  198. dsf_createDsRow("ds_send_reqdata",[{col:"basecd" , val:ds_send.getColumn(0,"basecd")}
  199. ,{col:"basesuppdeptcd", val:ds_send_globalinstance.getColumn(0,"instance1")}
  200. ,{col:"ubasecdflag" , val:"U"}
  201. ]);
  202. var oParam = {};
  203. oParam.id = "TRAEB00301";
  204. oParam.service = "examcurebaseapp.ExmpTmpl";
  205. oParam.method = "reqGetExmpTmplList";
  206. oParam.inds = "req=ds_send_reqdata";
  207. oParam.outds = "ds_main_exmptmpllist=exmptmpl";
  208. oParam.async = true;
  209. //oParam.callback = "cf_TRAEB00301";
  210. tranf_submit(oParam);
  211. }
  212. //=======================================================================================
  213. // Event
  214. //---------------------------------------------------------------------------------------
  215. /****************************************************************************************
  216. * Components : Form
  217. * Components ID : SMAEB00300
  218. * Event : oninit
  219. * Argument : 01.obj : Object Event has occurred
  220. * : 02.e : Event Object
  221. * Description : 화면 처음 초기화시 폼초기화
  222. ****************************************************************************************/
  223. function SMAEB00300_oninit(obj:Form, e:InitEventInfo)
  224. {
  225. frmf_initForm(obj); // 폼 초기화
  226. }
  227. /****************************************************************************************
  228. * Components : Form
  229. * Components ID : SMAEB00300
  230. * Event : oninit
  231. * Argument : 01.obj : Object Event has occurred
  232. * : 02.e : Event Object
  233. * Description : 화면 처음 초기화시 폼초기화
  234. ****************************************************************************************/
  235. function SMAEB00300_onload(obj:Form, e:LoadEventInfo)
  236. {
  237. lf_aezfSetSuppDeptcd(); //AEZ0001.xjs
  238. ds_send_globalinstance.setColumn(0,"instance1",frmf_getParameter("AST_DEPTCD"));
  239. ds_main_exmptmpllist.clearData();
  240. grdf_setRowTypeIcon(grp_biz.grd_exmptmpl, 1);
  241. grp_sea.ipt_basecd.setFocus();
  242. }
  243. /****************************************************************************************
  244. * Components : Edit
  245. * Components ID : grp_sea.ipt_basecd
  246. * Event : onkeydown
  247. * Argument : 01.obj : Object Event has occurred
  248. * : 02.e : Event Object
  249. * Description : 결과예문코드 입력후 엔터로 조회
  250. ****************************************************************************************/
  251. function grp_sea_ipt_basecd_onkeydown(obj:Edit, e:KeyEventInfo)
  252. {
  253. if(e.keycode == 13) {
  254. obj.updateToDataset();
  255. var ev = new ClickEventInfo;
  256. frmf_inputEnterKey("grp_sea.btn_sea", "onclick", ev );
  257. }
  258. }
  259. /****************************************************************************************
  260. * Components : Button
  261. * Components ID : grp_sea.btn_sea
  262. * Event : onclick
  263. * Argument : 01.obj : Object Event has occurred
  264. * : 02.e : Event Object
  265. * Description : 조회버튼클릭
  266. ****************************************************************************************/
  267. function grp_sea_btn_sea_onclick(obj:Button, e:ClickEventInfo)
  268. {
  269. call_TRAEB00301();
  270. }
  271. /****************************************************************************************
  272. * Components : Button
  273. * Components ID : grp_biz.btn_grdadd
  274. * Event : onclick
  275. * Argument : 01.obj : Object Event has occurred
  276. * : 02.e : Event Object
  277. * Description : 행추가 버튼
  278. ****************************************************************************************/
  279. function grp_biz_btn_grdadd_onclick(obj:Button, e:ClickEventInfo)
  280. {
  281. var nRow = ds_main_exmptmpllist.addRow();
  282. // 행추가 시 bottomRow 사용하지 마세요!! 꼭
  283. // grd_exmptmpl.topRow = grd_exmptmpl.row;
  284. grp_biz.grd_exmptmpl.setCellPos(nRow);
  285. ds_main_exmptmpllist.setColumn(nRow,"basesuppdeptcd",ds_send_globalinstance.getColumn(0,"instance1"));
  286. }
  287. /****************************************************************************************
  288. * Components : Button
  289. * Components ID : grp_biz.btn_grddel
  290. * Event : onclick
  291. * Argument : 01.obj : Object Event has occurred
  292. * : 02.e : Event Object
  293. * Description : 행삭제 버튼
  294. ****************************************************************************************/
  295. function grp_biz_btn_grddel_onclick(obj:Button, e:ClickEventInfo)
  296. {
  297. // deleteSelectedRows(grd_exmptmpl, true);
  298. var arrRow = new Array();
  299. arrRow[0] = ds_main_exmptmpllist.rowposition;
  300. grdf_setStatus(grp_biz.grd_exmptmpl, "D", arrRow);
  301. }
  302. /****************************************************************************************
  303. * Components : Button
  304. * Components ID : grp_btn.button3
  305. * Event : onclick
  306. * Argument : 01.obj : Object Event has occurred
  307. * : 02.e : Event Object
  308. * Description : 복사 버튼
  309. ****************************************************************************************/
  310. function grp_btn_button3_onclick(obj:Button, e:ClickEventInfo)
  311. {
  312. if ( ds_main_exmptmpllist.rowposition < 0 ) return;
  313. fSendContents();
  314. }
  315. /****************************************************************************************
  316. * Components : Button
  317. * Components ID : grp_btn.btn_save
  318. * Event : onclick
  319. * Argument : 01.obj : Object Event has occurred
  320. * : 02.e : Event Object
  321. * Description : 저장 버튼
  322. ****************************************************************************************/
  323. function grp_btn_btn_save_onclick(obj:Button, e:ClickEventInfo)
  324. {
  325. if ( sysf_messageBox("","Q002")==6 ) {
  326. var dsUpdate = grdf_getGridUpdateData(grp_biz.grd_exmptmpl, "all");
  327. grdf_setStatusColumn(dsUpdate, "m");
  328. if(dsUpdate.rowcount == 0){
  329. sysf_messageBox("업데이트 정보가 없습니다.", "I");
  330. return 0;
  331. } else {
  332. ds_send_data.clear();
  333. ds_send_data.copyData(dsUpdate, true);
  334. dsf_setDefaultVal(ds_send_data, "ubasecdflag:U");
  335. var oParam = {};
  336. oParam.id = "TXAEB00301";
  337. oParam.service = "examcurebaseapp.ExmpTmpl";
  338. oParam.method = "reqExeExmpTmplList";
  339. oParam.inds = "req=ds_send_data";
  340. oParam.outds = "ds_hidden=item";
  341. oParam.async = false;
  342. // oParam.callback = "cf_TXAEB00301";
  343. tranf_submit(oParam);
  344. }
  345. }
  346. call_TRAEB00301();
  347. }
  348. /****************************************************************************************
  349. * Components : Button
  350. * Components ID : grp_btn.btn_cls
  351. * Event : onclick
  352. * Argument : 01.obj : Object Event has occurred
  353. * : 02.e : Event Object
  354. * Description : 닫기 버튼
  355. ****************************************************************************************/
  356. function grp_btn_btn_cls_onclick(obj:Button, e:ClickEventInfo)
  357. {
  358. this.close();
  359. }
  360. /****************************************************************************************
  361. * Components : Grid
  362. * Components ID : grp_biz.grd_exmptmpl
  363. * Event : onkeydown
  364. * Argument : 01.obj : Object Event has occurred
  365. * : 02.e : Event Object
  366. * Description : 그리드 입력 후 엔터시 다음 편집으로
  367. ****************************************************************************************/
  368. function grp_biz_grd_exmptmpl_onkeydown(obj:Grid, e:KeyEventInfo)
  369. {
  370. if(e.keycode == 13) {
  371. //grdObj.setFocus();
  372. obj.setCellPos(obj.getCellPos()+1);
  373. obj.showEditor(true);
  374. }
  375. }
  376. ]]></Script>
  377. </Form>
  378. </FDL>