SMCRA00100_승인자관리.xfdl 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMCRA00100" position="absolute 0 0 1198 784" titletext="승인자관리" oninit="SMCRA00100_oninit" onload="SMCRA00100_onload">
  5. <Layouts>
  6. <Layout>
  7. <Static id="caption1" text="전송승인자 설정" class="tit_1" position="absolute 0 0 145 25" anchor="left top"/>
  8. <Div id="group2" taborder="1" position="absolute 0 25 1194 65" class="div_SA" anchor="left top right">
  9. <Layouts>
  10. <Layout>
  11. <Button id="btn_search" taborder="0" text="조회" class="btn1" position="absolute 1115 11 1171 33" anchor="top right" onclick="group2_btn_search_onclick"/>
  12. <Shape id="line1" linetype="vertical" class="line_4" position="absolute 1096 11 1102 33" anchor="top right"/>
  13. <Static id="caption2" text="성 명 :" class="search_name" position="absolute 606 11 666 28" anchor="left top"/>
  14. <Edit id="ipt_usernm" taborder="1" class="input_search" position="absolute 677 10 797 29" anchor="left top" autoselect="true"/>
  15. <Edit id="ipt_deptnm" taborder="2" class="input_search" position="absolute 400 10 520 29" anchor="left top" autoselect="true"/>
  16. <Static id="caption4" text="부서명 :" class="search_name" position="absolute 321 11 381 28" anchor="left top"/>
  17. <Combo id="cmb_useyn" taborder="3" codecolumn="value" datacolumn="label" class="combo_search" position="absolute 108 10 213 29" anchor="left top" innerdataset="@ds_useryn" index="-1"/>
  18. <Static id="caption3" text="사용여부 :" class="search_name" position="absolute 16 11 88 28" anchor="left top"/>
  19. </Layout>
  20. </Layouts>
  21. </Div>
  22. <Static id="caption35" text="전체 :" position="absolute 14 73 54 90" anchor="left top"/>
  23. <Edit id="opt_countnode" taborder="2" readonly="true" position="absolute 50 71 80 90" anchor="left top" style="background:transparent 5,5;align:center middle;"/>
  24. <Static id="caption7" text="건" position="absolute 87 73 117 90" anchor="left top"/>
  25. <Button id="btn_smaple" taborder="3" text="샘플파일" class="btn2" position="absolute 1047 71 1111 90" onclick="btn_smaple_onclick" anchor="top right"/>
  26. <Button id="btn_insert" taborder="4" text="엑셀입력" class="btn7" position="absolute 1114 71 1194 90" onclick="btn_insert_onclick" anchor="top right"/>
  27. <Button id="btn_add" taborder="5" text="행추가" class="btn5" position="absolute 991 71 1044 90" onclick="btn_add_onclick" anchor="top right"/>
  28. <Button id="btn_del" taborder="6" text="행삭제" class="btn5" position="absolute 935 71 988 90" onclick="btn_del_onclick" anchor="top right"/>
  29. <Shape id="line2" linetype="horizontal" class="line_10" position="absolute -1 90 1194 96" anchor="left top right"/>
  30. <Grid id="grd_aprvlist" taborder="7" binddataset="ds_main_data_aprvlist" useinputpanel="false" position="absolute 0 95 1195 756" autofittype="col" anchor="all" onexpanddown="grd_aprvlist_onexpanddown" autoenter="select" cellsizingtype="col">
  31. <Formats>
  32. <Format id="default">
  33. <Columns>
  34. <Column size="24"/>
  35. <Column size="223"/>
  36. <Column size="236"/>
  37. <Column size="322"/>
  38. <Column size="149"/>
  39. <Column size="103"/>
  40. <Column size="115"/>
  41. <Column size="0"/>
  42. </Columns>
  43. <Rows>
  44. <Row size="24" band="head"/>
  45. <Row size="24"/>
  46. </Rows>
  47. <Band id="head">
  48. <Cell/>
  49. <Cell col="1" text="승인자 ID"/>
  50. <Cell col="2" text="승인자 성명"/>
  51. <Cell col="3" text="부서명"/>
  52. <Cell col="4" text="마스터 권한 여부 Y/N"/>
  53. <Cell col="5" text="사용여부 Y/N"/>
  54. <Cell col="6" text="부서코드"/>
  55. <Cell col="7"/>
  56. </Band>
  57. <Band id="body">
  58. <Cell celltype="head"/>
  59. <Cell col="1" style="align:center middle;" class="text_center" text="bind:aprvuserid"/>
  60. <Cell col="2" displaytype="text" edittype="text" style="align:center middle;" class="text_center" text="bind:aprvusernm" expandshow="show"/>
  61. <Cell col="3" style="align:center middle;" class="text_center" text="bind:posdeptnm"/>
  62. <Cell col="4" displaytype="combo" edittype="combo" style="align:center middle;" class="text_center" text="bind:mastauth" combodataset="ds_mastauth" combocodecol="value" combodatacol="label"/>
  63. <Cell col="5" displaytype="combo" edittype="combo" style="align:center middle;" class="text_center" text="bind:useyn" combodataset="ds_useyn" combocodecol="value" combodatacol="label"/>
  64. <Cell col="6" style="align:center middle;" class="text_center" text="bind:posdeptcd"/>
  65. <Cell col="7" class="text_center" text="bind:seq"/>
  66. </Band>
  67. </Format>
  68. </Formats>
  69. </Grid>
  70. <Button id="btn_save" taborder="8" text="저장" class="btn4" position="absolute 1139 759 1195 781" onclick="btn_save_onclick" anchor="right bottom"/>
  71. </Layout>
  72. </Layouts>
  73. <Objects>
  74. <Dataset id="ds_main_data_aprvlist" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  75. <ColumnInfo>
  76. <Column id="aprvuserid" type="STRING"/>
  77. <Column id="aprvusernm" type="STRING"/>
  78. <Column id="posdeptnm" type="STRING"/>
  79. <Column id="mastauth" type="STRING"/>
  80. <Column id="useyn" type="STRING"/>
  81. <Column id="posdeptcd" type="STRING"/>
  82. <Column id="seq" type="STRING"/>
  83. </ColumnInfo>
  84. </Dataset>
  85. <Dataset id="ds_searchdata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  86. <ColumnInfo>
  87. <Column id="useryn" type="STRING" size="256"/>
  88. <Column id="posdeptnm" type="STRING" size="256"/>
  89. <Column id="aprvusernm" type="STRING" size="256"/>
  90. </ColumnInfo>
  91. <Rows>
  92. <Row/>
  93. </Rows>
  94. </Dataset>
  95. <Dataset id="ds_temp" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  96. <ColumnInfo>
  97. <Column id="countnode" type="STRING" size="256"/>
  98. </ColumnInfo>
  99. <Rows>
  100. <Row>
  101. <Col id="countnode">0</Col>
  102. </Row>
  103. </Rows>
  104. </Dataset>
  105. <Dataset id="ds_useryn" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  106. <choices>
  107. <item>
  108. <label>전체</label>
  109. <value/>
  110. </item>
  111. <item>
  112. <label>사용</label>
  113. <value>Y</value>
  114. </item>
  115. <item>
  116. <label>미사용</label>
  117. <value>N</value>
  118. </item>
  119. </choices>
  120. <ColumnInfo>
  121. <Column id="label" type="STRING" size="256"/>
  122. <Column id="value" type="STRING" size="256"/>
  123. </ColumnInfo>
  124. <Rows>
  125. <Row>
  126. <Col id="label">전체</Col>
  127. <Col id="value"/>
  128. </Row>
  129. <Row>
  130. <Col id="label">사용</Col>
  131. <Col id="value">Y</Col>
  132. </Row>
  133. <Row>
  134. <Col id="label">미사용</Col>
  135. <Col id="value">N</Col>
  136. </Row>
  137. </Rows>
  138. </Dataset>
  139. <Dataset id="ds_mastauth" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  140. <ColumnInfo>
  141. <Column id="label" type="STRING" size="256"/>
  142. <Column id="value" type="STRING" size="256"/>
  143. </ColumnInfo>
  144. <Rows>
  145. <Row>
  146. <Col id="label">권한자</Col>
  147. <Col id="value">Y</Col>
  148. </Row>
  149. <Row>
  150. <Col id="label">미권한자</Col>
  151. <Col id="value">N</Col>
  152. </Row>
  153. </Rows>
  154. </Dataset>
  155. <Dataset id="ds_useyn" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  156. <ColumnInfo>
  157. <Column id="label" type="STRING" size="256"/>
  158. <Column id="value" type="STRING" size="256"/>
  159. </ColumnInfo>
  160. <Rows>
  161. <Row>
  162. <Col id="label">사용</Col>
  163. <Col id="value">Y</Col>
  164. </Row>
  165. <Row>
  166. <Col id="label">미사용</Col>
  167. <Col id="value">N</Col>
  168. </Row>
  169. </Rows>
  170. </Dataset>
  171. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  172. <ColumnInfo>
  173. <Column id="aprvlist" type="STRING" size="256"/>
  174. </ColumnInfo>
  175. <Rows>
  176. <Row/>
  177. </Rows>
  178. </Dataset>
  179. </Objects>
  180. <Bind>
  181. <BindItem id="item0" compid="group2.cmb_useyn" propid="value" datasetid="ds_searchdata" columnid="useryn"/>
  182. <BindItem id="item1" compid="group2.ipt_deptnm" propid="value" datasetid="ds_searchdata" columnid="posdeptnm"/>
  183. <BindItem id="item2" compid="group2.ipt_usernm" propid="value" datasetid="ds_searchdata" columnid="aprvusernm"/>
  184. <BindItem id="item3" compid="opt_countnode" propid="value" datasetid="ds_temp" columnid="countnode"/>
  185. </Bind>
  186. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  187. * System Name :
  188. * Job Name :
  189. * Creator :
  190. * Make Date : 2016-05-24
  191. * Description :
  192. *---------------------------------------------------------------------------------------
  193. * Modify Date Modifier Modify Description
  194. *---------------------------------------------------------------------------------------
  195. * 2016-05-24 Live Converter TF->XP
  196. *
  197. *---------------------------------------------------------------------------------------
  198. ****************************************************************************************/
  199. include "com_commonxp::comm_main.xjs";
  200. function SMCRA00100_oninit(obj:Form, e:InitEventInfo)
  201. {
  202. frmf_initForm(obj);
  203. }
  204. function SMCRA00100_onload(obj:Form, e:LoadEventInfo)
  205. {
  206. grdf_initGrid(grd_aprvlist);
  207. grdf_setRowTypeIcon(grd_aprvlist, 0);
  208. group2.cmb_useyn.index = 0;
  209. fSearchAprvlist();
  210. }
  211. // 승인자 조회
  212. function fSearchAprvlist()
  213. {
  214. var oParam = {};
  215. oParam.id = "TRCRA00101";
  216. oParam.service = "rulemngtapp.RuleMngt";
  217. oParam.method = "reqGetAprvList";
  218. oParam.inds = "req=ds_searchdata";
  219. oParam.outds = "ds_main_data_aprvlist=aprvlist";
  220. oParam.async = false;
  221. //oParam.callback = "cf_TRCRA00101";
  222. tranf_submit(oParam);
  223. var gird_rows = ds_main_data_aprvlist.rowcount;
  224. ds_temp.setColumn(0, "countnode", gird_rows);
  225. }
  226. //조회
  227. function group2_btn_search_onclick(obj:Button, e:ClickEventInfo)
  228. {
  229. fSearchAprvlist();
  230. }
  231. //행삭제
  232. function btn_del_onclick(obj:Button, e:ClickEventInfo)
  233. {
  234. fDelRow(grd_aprvlist);
  235. var grid_rows = ds_main_data_aprvlist.rowcount;
  236. ds_temp.setColumn(0, "countnode", grid_rows);
  237. }
  238. function fDelRow(grid)
  239. {
  240. var fRow = ds_main_data_aprvlist.rowcount;
  241. var sRow = ds_main_data_aprvlist.rowposition;
  242. if ( sRow > -1 )
  243. {
  244. if( ds_main_data_aprvlist.getRowType(sRow) == 2)
  245. {
  246. ds_main_data_aprvlist.deleteRow(sRow);
  247. }
  248. else
  249. {
  250. var arrPostion = new Array();
  251. arrPostion[0] = ds_main_data_aprvlist.rowposition;
  252. grdf_setStatus(grd_aprvlist, "D", arrPostion);
  253. }
  254. }
  255. else
  256. {
  257. sysf_messageBox("삭제할 행을", "C002");
  258. }
  259. }
  260. //행추가
  261. function btn_add_onclick(obj:Button, e:ClickEventInfo)
  262. {
  263. ds_main_data_aprvlist.addRow();
  264. var grid_rows = ds_main_data_aprvlist.rowcount
  265. ds_temp.setColumn(0, "countnode", grid_rows);
  266. }
  267. //샘플파일
  268. function btn_smaple_onclick(obj:Button, e:ClickEventInfo)
  269. {
  270. grdf_exportExcel(grd_aprvlist, "샘플파일"+"_" + "excel", "sheet1", false);
  271. }
  272. //엑셀입력
  273. function btn_insert_onclick(obj:Button, e:ClickEventInfo)
  274. {
  275. var fd = new FileDialog();
  276. var file = fd.open("open", FileDialog.LOAD,"%MYDOCUMENT%");
  277. if(utlf_isNull(file))
  278. {
  279. }
  280. file.open(VirtualFile.openRead | VirtualFile.openBinary);
  281. ds_main_data_aprvlist.deleteRow(0);
  282. var grid_rows = ds_main_data_aprvlist.rowcount;
  283. var idx = 0;
  284. ds_temp.setColumn(0, "countnode", grid_rows);
  285. for(idx = 0; idx < grid_rows; idx++)
  286. {
  287. ds_main_data_aprvlist.setRowType(idx, "i")
  288. }
  289. }
  290. //저장
  291. function btn_save_onclick(obj:Button, e:ClickEventInfo)
  292. {
  293. fSaveAprvList(grd_aprvlist);
  294. }
  295. function fSaveAprvList(srcGrid)
  296. {
  297. var oParam = {};
  298. oParam.id = "TXCRA00101";
  299. oParam.service = "rulemngtapp.RuleMngt";
  300. oParam.method = "reqExeAprvList";
  301. oParam.inds = "aprvlist=ds_main_data_aprvlist:A";
  302. oParam.outds = "";
  303. oParam.async = false;
  304. //oParam.callback = "cf_TXCRA00101";
  305. tranf_submit(oParam);
  306. fSearchAprvlist();
  307. ds_send.setColumn(0, "aprvlist", "");
  308. }
  309. function grd_aprvlist_onexpanddown(obj:Grid, e:GridMouseEventInfo)
  310. {
  311. var row = ds_main_data_aprvlist.rowposition;
  312. var search_condition = "empnm";
  313. var search_term = ds_main_data_aprvlist.getColumn(row, "aprvusernm");
  314. frmf_setParameter("search_condition", search_condition);
  315. frmf_setParameter("search_term", search_term);
  316. var rtn = frmf_modal("SPCCM00400", "SPCCM00400", "", "", "", "", "", "", "", "", "", "", "M");
  317. if(!utlf_isNull(rtn))
  318. {
  319. ds_main_data_aprvlist.setColumn(row, "aprvuserid", rtn.empid);
  320. ds_main_data_aprvlist.setColumn(row, "aprvusernm", rtn.empnm);
  321. ds_main_data_aprvlist.setColumn(row, "posdeptcd", rtn.deptcd);
  322. ds_main_data_aprvlist.setColumn(row, "posdeptnm", rtn.deptnm);
  323. }
  324. frmf_clearParameter("search_condition");
  325. frmf_clearParameter("search_term");
  326. ds_main_data_aprvlist.updatecontrol = false;
  327. ds_main_data_aprvlist.setRowType(row, "u");
  328. ds_main_data_aprvlist.updatecontrol = true;
  329. }
  330. ]]></Script>
  331. </Form>
  332. </FDL>