SPADB63500_사용자부서선택조회.xfdl 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPADB63500" position="absolute 0 0 545 454" titletext="사용자조회" oninit="SPADB63500_oninit" onload="SPADB63500_onload">
  5. <Layouts>
  6. <Layout>
  7. <Div id="group2" taborder="1" position="absolute 0 25 545 85" class="div_SA">
  8. <Layouts>
  9. <Layout>
  10. <Static id="caption1" text="검색조건 :" class="search_name" position="absolute 12 11 100 28" anchor="default"/>
  11. <Shape id="line1" linetype="vertical" position="absolute 452 8 458 51" anchor="default"/>
  12. <Button id="btn_search" taborder="1" text="조회" class="btn1" position="absolute 470 19 526 41" onclick="group2_btn_search_onclick" anchor="default"/>
  13. <Edit id="ipt_search_item" taborder="2" class="input_essential" position="absolute 295 34 417 53" anchor="default" onkeydown="group2_ipt_search_item_onkeydown"/>
  14. <Radio id="rdo_user" taborder="3" columncount="2" rowcount="0" innerdataset="@ds_init_flag" codecolumn="value" datacolumn="lable" position="absolute 100 35 289 52" anchor="default"/>
  15. <Edit id="ipt_dutplcecd" taborder="4" class="input_essential" position="absolute 295 8 417 27" onkeydown="group2_ipt_dutplcecd_onkeydown" anchor="default"/>
  16. <Radio id="rdo_dutplce" taborder="5" columncount="2" rowcount="0" innerdataset="@ds_init_deptflag" codecolumn="value" datacolumn="lable" position="absolute 100 9 289 27" anchor="default"/>
  17. <CheckBox id="chk_namesearch" taborder="6" visible="false" position="absolute 15 30 115 50" text="&quot;명&quot; 검색" anchor="default"/>
  18. </Layout>
  19. </Layouts>
  20. </Div>
  21. <Static id="caption6" text="사용자조회" class="tit_1" position="absolute 0 0 140 25"/>
  22. <Static id="caption9" text="사용자조회" class="tit_2" position="absolute 0 90 120 107"/>
  23. <Grid id="grd_userlist" taborder="3" binddataset="ds_main_list_userlist" useinputpanel="false" oncelldblclick="group5_grd_userlist_oncelldblclick" position="absolute 0 111 545 420" cellsizingtype="both" extendsizetype="row">
  24. <Formats>
  25. <Format id="default">
  26. <Columns>
  27. <Column size="20" band="left"/>
  28. <Column size="54" band="left"/>
  29. <Column size="54" band="left"/>
  30. <Column size="106" band="left"/>
  31. <Column size="30" band="left"/>
  32. <Column size="100"/>
  33. <Column size="70"/>
  34. <Column size="100"/>
  35. <Column size="30"/>
  36. <Column size="100"/>
  37. <Column size="70"/>
  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="사용자ID" taborder="undefined"/>
  46. <Cell col="2" text="사용자명" taborder="undefined"/>
  47. <Cell col="3" colspan="2" text="소속기관" taborder="undefined"/>
  48. <Cell col="5" colspan="2" text="소속부서" taborder="undefined"/>
  49. <Cell col="7" colspan="2" text="근무지기관" taborder="undefined"/>
  50. <Cell col="9" colspan="2" text="근무지" taborder="undefined"/>
  51. </Band>
  52. <Band id="body">
  53. <Cell celltype="head" expr="expr:currow == ds_main_list_userlist.rowposition ? '▶':'';"/>
  54. <Cell col="1" text="bind:userid" autosizerow="limitmin"/>
  55. <Cell col="2" text="bind:usernm" autosizerow="limitmin"/>
  56. <Cell col="3" text="bind:posinstnm" autosizerow="limitmin"/>
  57. <Cell col="4" text="bind:posinstcd" autosizerow="limitmin"/>
  58. <Cell col="5" text="bind:posdeptnm" autosizerow="limitmin"/>
  59. <Cell col="6" text="bind:posdeptcd" autosizerow="limitmin"/>
  60. <Cell col="7" text="bind:dutplceinstnm" autosizerow="limitmin"/>
  61. <Cell col="8" text="bind:dutplceinstcd" autosizerow="limitmin"/>
  62. <Cell col="9" text="bind:dutplcenm" autosizerow="limitmin"/>
  63. <Cell col="10" text="bind:dutplcecd" autosizerow="limitmin"/>
  64. </Band>
  65. </Format>
  66. </Formats>
  67. </Grid>
  68. <Shape id="line12" linetype="horizontal" class="line_1" position="absolute 0 106 545 112"/>
  69. <Button id="btn_cancel" taborder="4" text="취소" onclick="group3_btn_cancel_onclick" class="btn4" position="absolute 488 426 544 448"/>
  70. <Button id="btn_confirm" taborder="5" text="확인" onclick="group3_btn_confirm_onclick" class="btn4" position="absolute 429 426 485 448"/>
  71. <Shape id="line00" class="line_1" position="absolute 0 105 545 111"/>
  72. <Shape id="line01" class="line_1" position="absolute 0 107 545 113"/>
  73. </Layout>
  74. </Layouts>
  75. <Objects>
  76. <Dataset id="ds_main_temp" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  77. <ColumnInfo>
  78. <Column id="param" type="STRING" size="256"/>
  79. <Column id="flag" type="STRING" size="256"/>
  80. <Column id="searchitem" type="STRING" size="256"/>
  81. <Column id="prfshipflagcd" type="STRING" size="256"/>
  82. <Column id="dutplceinstcd" type="STRING" size="256"/>
  83. <Column id="history" type="STRING" size="256"/>
  84. </ColumnInfo>
  85. <Rows>
  86. <Row/>
  87. </Rows>
  88. </Dataset>
  89. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  90. <ColumnInfo>
  91. <Column id="searchitem" type="STRING" size="256"/>
  92. <Column id="flag" type="STRING" size="256"/>
  93. <Column id="searchitem_dutplce" type="STRING" size="256"/>
  94. <Column id="flag_dutplce" type="STRING" size="256"/>
  95. <Column id="searchitem_dutplceinst" type="STRING" size="256"/>
  96. <Column id="prfshipflagcd" type="STRING" size="256"/>
  97. <Column id="dutplceinstcd" type="STRING" size="256"/>
  98. </ColumnInfo>
  99. <Rows>
  100. <Row/>
  101. </Rows>
  102. </Dataset>
  103. <Dataset id="ds_main_list_userlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  104. <Dataset id="ds_main_list_selectuserlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  105. <Dataset id="ds_main_item_temp" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  106. <Dataset id="ds_main_list2_selectuserlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  107. <Dataset id="ds_init_flag" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  108. <ColumnInfo>
  109. <Column id="lable" type="STRING" size="256"/>
  110. <Column id="value" type="STRING" size="256"/>
  111. </ColumnInfo>
  112. <Rows>
  113. <Row>
  114. <Col id="lable">사용자명</Col>
  115. <Col id="value">usernm</Col>
  116. </Row>
  117. <Row>
  118. <Col id="lable">사용자ID</Col>
  119. <Col id="value">userid</Col>
  120. </Row>
  121. </Rows>
  122. </Dataset>
  123. <Dataset id="ds_init_deptflag" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  124. <ColumnInfo>
  125. <Column id="lable" type="STRING" size="256"/>
  126. <Column id="value" type="STRING" size="256"/>
  127. </ColumnInfo>
  128. <Rows>
  129. <Row>
  130. <Col id="lable">근무지명</Col>
  131. <Col id="value">dutplcenm</Col>
  132. </Row>
  133. <Row>
  134. <Col id="lable">근무지코드</Col>
  135. <Col id="value">dutplcecd</Col>
  136. </Row>
  137. </Rows>
  138. </Dataset>
  139. <Dataset id="ds_temp" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  140. <Dataset id="ds_init" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  141. <ColumnInfo>
  142. <Column id="searchitem" type="STRING" size="256"/>
  143. <Column id="searchitem_dutplce" type="STRING" size="256"/>
  144. <Column id="namesearch" type="STRING" size="256"/>
  145. </ColumnInfo>
  146. <Rows>
  147. <Row>
  148. <Col id="searchitem"/>
  149. <Col id="searchitem_dutplce"/>
  150. <Col id="namesearch"/>
  151. </Row>
  152. </Rows>
  153. </Dataset>
  154. </Objects>
  155. <Bind>
  156. <BindItem id="item0" compid="group2.ipt_dutplcecd" propid="value" datasetid="ds_init" columnid="searchitem_dutplce"/>
  157. <BindItem id="item1" compid="group2.ipt_search_item" propid="value" datasetid="ds_init" columnid="searchitem"/>
  158. </Bind>
  159. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  160. * System Name :
  161. * Job Name :
  162. * Creator :
  163. * Make Date : 2015-11-05
  164. * Description :
  165. *---------------------------------------------------------------------------------------
  166. * Modify Date Modifier Modify Description
  167. *---------------------------------------------------------------------------------------
  168. * 2015-11-05 Live Converter TF->XP
  169. *
  170. *---------------------------------------------------------------------------------------
  171. ****************************************************************************************/
  172. //=======================================================================================
  173. // Lib Include
  174. //---------------------------------------------------------------------------------------
  175. include "com_commonxp::comm_main.xjs"
  176. //=======================================================================================
  177. // Function
  178. //---------------------------------------------------------------------------------------
  179. /****************************************************************************************
  180. * Argument : N/A
  181. * Description : 화면 초기화
  182. ****************************************************************************************/
  183. function fInitialize(){
  184. ds_main_list_userlist.clearData();
  185. ds_main_list2_selectuserlist.clearData();
  186. group2.rdo_dutplce.index = 0;
  187. group2.rdo_user.index = 0;
  188. var iflag = ds_main_temp.getColumn(0, "flag");
  189. var isearchitem = ds_main_temp.getColumn(0, "searchitem");
  190. var prfshipflagcd = ds_main_temp.getColumn(0, "prfshipflagcd");
  191. var dutplceinstcd = ds_main_temp.getColumn(0, "dutplceinstcd");
  192. if( !utlf_isNull(prfshipflagcd) ){
  193. ds_send.setColumn(0, "prfshipflagcd", prfshipflagcd);
  194. }
  195. if( !utlf_isNull(dutplceinstcd) ){
  196. ds_send.setColumn(0, "dutplceinstcd", dutplceinstcd);
  197. }
  198. if( !utlf_isNull(iflag) && !utlf_isNull(isearchitem) ){
  199. ds_send.setColumn(0, "flag" , iflag);
  200. ds_send.setColumn(0, "searchitem", isearchitem);
  201. var oParam = {};
  202. oParam.id = "TRZSU10104";
  203. oParam.service = "userdeptinfoapp.UserDeptInfo";
  204. oParam.method = "reqGetUserDutplcePopup";
  205. oParam.inds = "req=ds_send";
  206. oParam.outds = "ds_main_list_userlist=userlist";
  207. oParam.async = false;
  208. //oParam.callback = "cf_TRZSU10104";
  209. tranf_submit(oParam);
  210. if(ds_main_list_userlist.rowcount == 1){
  211. var rCVS = dsf_getDsCSV(ds_main_list_userlist);
  212. if ( frmf_checkOpener() ) {
  213. opener.frmf_setParameter("SPZSU10103_", rCVS);
  214. } else {
  215. var rtn = sysf_messageBox("상위화면을 찾을 수", "E001");
  216. }
  217. }
  218. }
  219. }
  220. /****************************************************************************************
  221. * Argument : control - "search" 는 조회 버튼 클릭 / "init"은 신규 버튼 클릭 / "save"는 저장 버튼 클릭
  222. * : grid - 그리드 컨트롤을 넘겨줍니다.
  223. * : param - 기타 param을 넘겨줍니다.
  224. * Description : 버튼 컨트롤들을 클릭했을때 공통으로 타는 함수입니다.
  225. ****************************************************************************************/
  226. function fClicked(control, grid, param){
  227. if (control == "search"){
  228. fSearchClick(grid, param);
  229. ds_send.clearData();
  230. ds_send.addRow();
  231. } else if (control = "init"){
  232. // model.reset();
  233. fInitialize();
  234. } else {
  235. sysf_messageBox("처리를 수행","E002");
  236. }
  237. }
  238. /****************************************************************************************
  239. * Argument : grid - 그리드 컨트롤을 넘겨줍니다.
  240. * : param - 기타 param을 넘겨줍니다.
  241. * Description : 조회버튼 클릭 타는 함수입니다.
  242. ****************************************************************************************/
  243. function fSearchClick(grid,param){
  244. ds_main_list_userlist.clearData();
  245. ds_send.clearData();
  246. ds_send.addRow();
  247. ds_send.setColumn(0,"searchitem" , group2.ipt_search_item.text);
  248. ds_send.setColumn(0,"searchitem_dutplce", group2.ipt_dutplcecd.text);
  249. var prfshipflagcd = ds_main_temp.getColumn(0,"prfshipflagcd");
  250. var dutplceinstcd = ds_main_temp.getColumn(0,"dutplceinstcd");
  251. ds_send.setColumn(0,"prfshipflagcd" , prfshipflagcd);
  252. ds_send.setColumn(0,"flag" , group2.rdo_user.value);
  253. ds_send.setColumn(0,"flag_dutplce" , group2.rdo_dutplce.value);
  254. ds_send.setColumn(0,"dutplceinstcd" , dutplceinstcd);
  255. if(ds_main_temp.getColumn(0,"param") == "_OneS_DD"){
  256. ds_send.setColumn(0,"searchitem_dutplceinst", ds_main_temp.getColumn(0,"param"));
  257. }
  258. var oParam = {};
  259. oParam.id = "TRZSU10104";
  260. oParam.service = "userdeptinfoapp.UserDeptInfo";
  261. oParam.method = "reqGetUserDutplcePopup";
  262. oParam.inds = "req=ds_send";
  263. oParam.outds = "ds_main_list_userlist=userlist";
  264. oParam.async = false;
  265. //oParam.callback = "cf_TRZSU10104";
  266. tranf_submit(oParam);
  267. }
  268. function fResetNode(node, destinationelement){
  269. // model.setValue(node + "/" + destinationelement, "");
  270. alert(model.elementName("/root/main/item"));
  271. }
  272. /*
  273. model.getValue(); 를 함수로 만들었습니다.
  274. param1 : node는 grid의 xPath입니다.
  275. param2 : row는 grid에서 선택한 row값입니다.
  276. param3 : element는 getvalue할 해당 element 명입니다.
  277. 해당 getvalue값을 return 해줍니다.
  278. return 하지 않으면 해당값을 가져올 수 없습니다.
  279. */
  280. function fGetValue(node, row, element) {
  281. var rtnValue = model.getValue(node + "[" + row + "]/" + element);
  282. return rtnValue;
  283. }
  284. /*
  285. model.setValue();를 함수로 만들었습니다.
  286. param1 : node는 setvalue할 컨트롤의 xPath입니다.
  287. param2 : destinationelement는 setvalue할 element명 입니다.
  288. param3 : sourceelement는 setvalue할 값입니다.
  289. */
  290. function fSetValue(node, destinationelement, sourceelement) {
  291. model.setValue(node + "/" + destinationelement, sourceelement);
  292. }
  293. /****************************************************************************************
  294. * Argument :
  295. * Description :
  296. ****************************************************************************************/
  297. function fExeSelect(){
  298. if( frmf_checkOpener() ){
  299. if( ds_main_list_userlist.rowcount > 0 ){
  300. var cRow = ds_main_list_userlist.rowposition;
  301. opener.frmf_setParameter("SPADB63500_userid", ds_main_list_userlist.getColumn(cRow,"userid"))
  302. opener.frmf_setParameter("SPADB63500_usernm" ,ds_main_list_userlist.getColumn(cRow, "usernm"));
  303. opener.frmf_setParameter("SPADB63500_dutplcenm" ,ds_main_list_userlist.getColumn(cRow, "dutplcenm"));
  304. this.close();
  305. } else {
  306. sysf_messageBox("사용자를 ", "C002");
  307. }
  308. } else {
  309. var rtn = sysf_messageBox("상위화면을 찾을 수", "E001");
  310. this.close();
  311. }
  312. }
  313. //=======================================================================================
  314. // Event
  315. //---------------------------------------------------------------------------------------
  316. /****************************************************************************************
  317. * Components : Form
  318. * Components ID : SPADB63500
  319. * Event : oninit
  320. * Argument : 01.obj : Object Event has occurred
  321. * : 02.e : Event Object
  322. * Description : 화면 처음 초기화시 폼초기화
  323. ****************************************************************************************/
  324. function SPADB63500_oninit(obj:Form, e:InitEventInfo)
  325. {
  326. frmf_initForm(obj);
  327. }
  328. /****************************************************************************************
  329. * Components : Form
  330. * Components ID : SPADB63500
  331. * Event : onload
  332. * Argument : 01.obj : Object Event has occurred
  333. * : 02.e : Event Object
  334. * Description : 화면 처음 초기화시 폼초기화
  335. ****************************************************************************************/
  336. function SPADB63500_onload(obj:Form, e:LoadEventInfo)
  337. {
  338. fInitialize();
  339. }
  340. /****************************************************************************************
  341. * Components : Button
  342. * Components ID : group2.btn_search
  343. * Event : onclick
  344. * Argument : 01.obj : Object Event has occurred
  345. * : 02.e : Event Object
  346. * Description : 사용자조회
  347. ****************************************************************************************/
  348. function group2_btn_search_onclick(obj:Button, e:ClickEventInfo)
  349. {
  350. if(group2.ipt_search_item.text == "" && group2.ipt_dutplcecd.text == ""){
  351. sysf_messageBox("검색어를 1자이상 ", "C001");
  352. } else {
  353. var param = group2.ipt_search_item.text;
  354. fClicked("search", grd_userlist);
  355. }
  356. }
  357. /****************************************************************************************
  358. * Components : Edit
  359. * Components ID : group2.ipt_dutplcecd
  360. * Event : onkeydown
  361. * Argument : 01.obj : Object Event has occurred
  362. * : 02.e : Event Object
  363. * Description : 부서정보 넣고 사용자조회
  364. ****************************************************************************************/
  365. function group2_ipt_dutplcecd_onkeydown(obj:Edit, e:KeyEventInfo)
  366. {
  367. if(e.keycode == 13) {
  368. var ev = new ClickEventInfo;
  369. frmf_inputEnterKey("group2.btn_search", "onclick", ev );
  370. }
  371. }
  372. /****************************************************************************************
  373. * Components : Edit
  374. * Components ID : group2.ipt_dutplcecd
  375. * Event : onkeydown
  376. * Argument : 01.obj : Object Event has occurred
  377. * : 02.e : Event Object
  378. * Description : 사용자정보 넣고 사용자조회
  379. ****************************************************************************************/
  380. function group2_ipt_search_item_onkeydown(obj:Edit, e:KeyEventInfo)
  381. {
  382. if(e.keycode == 13) {
  383. var ev = new ClickEventInfo;
  384. frmf_inputEnterKey("group2.btn_search", "onclick", ev );
  385. }
  386. }
  387. /****************************************************************************************
  388. * Components : Grid
  389. * Components ID : grd_userlist
  390. * Event : oncelldblclick
  391. * Argument : 01.obj : Object Event has occurred
  392. * : 02.e : Event Object
  393. * Description : 사용자조회 List 선택
  394. ****************************************************************************************/
  395. function group5_grd_userlist_oncelldblclick(obj:Grid, e:GridClickEventInfo)
  396. {
  397. fExeSelect();
  398. }
  399. /******************************************************************
  400. * Argument :
  401. * Description : 확인Button Event
  402. ******************************************************************/
  403. function group3_btn_confirm_onclick(obj:Button, e:ClickEventInfo)
  404. {
  405. fExeSelect();
  406. }
  407. /******************************************************************
  408. * Argument :
  409. * Description : 취소Button Event
  410. ******************************************************************/
  411. function group3_btn_cancel_onclick(obj:Button, e:ClickEventInfo)
  412. {
  413. this.close();
  414. }
  415. ]]></Script>
  416. </Form>
  417. </FDL>