SPRSD00320_사용자HELP.xfdl 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPRSD00320" position="absolute 0 0 752 555" titletext="사용자 조회" onload="SPRSD00320_onload">
  5. <Layouts>
  6. <Layout>
  7. <Div position="absolute 0 0 750 521" id="group3" scrollbars="autoboth">
  8. <Layouts>
  9. <Layout>
  10. <Static text="사용자 리스트" position="absolute 0 49 183 67" id="caption1" class="tit_2" anchor="default"/>
  11. <Shape position="absolute 0 65 750 71" id="line1" class="line_10" anchor="default"/>
  12. <Grid position="absolute 0 70 750 521" id="grd_userlist" binddataset="ds_main_user_userlist" anchor="default" oncelldblclick="group3_grd_userlist_oncelldblclick">
  13. <Formats>
  14. <Format id="default">
  15. <Columns>
  16. <Column size="25" band="left"/>
  17. <Column size="70"/>
  18. <Column size="83"/>
  19. <Column size="0"/>
  20. <Column size="0"/>
  21. <Column size="60"/>
  22. <Column size="0"/>
  23. <Column size="70"/>
  24. <Column size="0"/>
  25. <Column size="100"/>
  26. <Column size="100"/>
  27. <Column size="100"/>
  28. <Column size="100"/>
  29. <Column size="100"/>
  30. <Column size="100"/>
  31. <Column size="100"/>
  32. <Column size="100"/>
  33. <Column size="100"/>
  34. </Columns>
  35. <Rows>
  36. <Row size="24" band="head"/>
  37. <Row size="24"/>
  38. </Rows>
  39. <Band id="head">
  40. <Cell/>
  41. <Cell col="1" text="사원번호"/>
  42. <Cell col="2" text="성명"/>
  43. <Cell col="3" text="기관코드"/>
  44. <Cell col="4" text="직위"/>
  45. <Cell col="5" text="직위"/>
  46. <Cell col="6" text="직책"/>
  47. <Cell col="7" text="직책"/>
  48. <Cell col="8" text="근무기관코드"/>
  49. <Cell col="9" text="기관명"/>
  50. <Cell col="10" text="근무지부서코드"/>
  51. <Cell col="11" text="근무지부서명"/>
  52. <Cell col="12" text="부(실)코드"/>
  53. <Cell col="13" text="부(실)"/>
  54. <Cell col="14" text="과(팀코드)"/>
  55. <Cell col="15" text="과(팀)"/>
  56. <Cell col="16" text="Unit코드"/>
  57. <Cell col="17" text="Unit명"/>
  58. </Band>
  59. <Band id="body">
  60. <Cell celltype="head" text="expr:currow+1"/>
  61. <Cell col="1" class="text_center" text="bind:emplno"/>
  62. <Cell col="2" class="text_center" text="bind:emplnm"/>
  63. <Cell col="3" class="text_center" text="bind:instcd"/>
  64. <Cell col="4" class="text_center" text="bind:jobposcd"/>
  65. <Cell col="5" class="text_center" text="bind:jobposnm"/>
  66. <Cell col="6" class="text_center" text="bind:jobrespcd"/>
  67. <Cell col="7" class="text_center" text="bind:jobrespnm"/>
  68. <Cell col="8" class="text_center" text="bind:dutplceinst"/>
  69. <Cell col="9" class="text_center" text="bind:dutplceinstnm"/>
  70. <Cell col="10" class="text_center" text="bind:dutplcedeptcd"/>
  71. <Cell col="11" class="text_center" text="bind:dutplcedeptnm"/>
  72. <Cell col="12" class="text_center" text="bind:dutdeptcd"/>
  73. <Cell col="13" class="text_center" text="bind:dutdeptnm"/>
  74. <Cell col="14" class="text_center" text="bind:dutteamcd"/>
  75. <Cell col="15" class="text_center" text="bind:dutteamnm"/>
  76. <Cell col="16" class="text_center" text="bind:dutunitcd"/>
  77. <Cell col="17" class="text_center" text="bind:dutunitnm"/>
  78. </Band>
  79. </Format>
  80. </Formats>
  81. </Grid>
  82. <Div position="absolute 0 0 750 40" id="group4" class="div_SA2" anchor="default">
  83. <Layouts>
  84. <Layout>
  85. <Edit position="absolute 100 11 185 30" id="ipt_deptcd" taborder="0" class="input_essential" visible="true" autoselect="true" anchor="default" onkeydown="group3_group4_ipt_deptcd_onkeydown"/>
  86. <Edit position="absolute 210 11 331 30" id="ipt_deptnm" taborder="1" class="input_essential" visible="true" autoselect="true" anchor="default" onkeydown="group3_group4_ipt_deptnm_onkeydown"/>
  87. <Static text="부서코드 :" position="absolute 15 12 104 29" id="caption7" class="search_name" visible="true" anchor="default"/>
  88. <Button position="absolute 190 12 206 28" id="btn_depthelp" taborder="9" class="icon_search" visible="true" text="" anchor="default" onclick="group3_group4_btn_depthelp_onclick"/>
  89. <Button position="absolute 679 9 735 31" align="align:left middle;" id="btn_search" taborder="3" class="btn1" text="조회" anchor="default" onclick="group3_group4_btn_search_onclick"/>
  90. <Static text="성 명 :" position="absolute 376 12 462 29" id="caption2" class="search_name" visible="true" anchor="default"/>
  91. <Edit position="absolute 460 11 571 30" id="ipt_emplnm" taborder="2" class="input_essential" visible="true" autoselect="true" anchor="default" onkeydown="group3_group4_ipt_emplnm_onkeydown"/>
  92. <Shape position="absolute 661 7 667 33" linetype="vertical" id="line13" class="line_4" anchor="default"/>
  93. </Layout>
  94. </Layouts>
  95. </Div>
  96. </Layout>
  97. </Layouts>
  98. </Div>
  99. <Div position="absolute 0 522 751 549" id="group1" scrollbars="autoboth">
  100. <Layouts>
  101. <Layout>
  102. <Button position="absolute 635 5 691 27" id="btn_confirm" class="btn4" text="확인" anchor="default" onclick="group1_btn_confirm_onclick"/>
  103. <Button position="absolute 694 5 750 27" id="btn_cancel" class="btn4" text="취소" anchor="default" onclick="group1_btn_cancel_onclick"/>
  104. <Shape position="absolute 0 -2 750 4" id="line32" class="line_6" anchor="default" onclick="group1_line32_onclick"/>
  105. </Layout>
  106. </Layouts>
  107. </Div>
  108. </Layout>
  109. </Layouts>
  110. <Objects>
  111. <Dataset id="ds_main_user_userlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  112. <ColumnInfo>
  113. <Column id="userlist" type="STRING" size="256"/>
  114. </ColumnInfo>
  115. <Rows>
  116. <Row>
  117. <Col id="userlist"/>
  118. </Row>
  119. </Rows>
  120. </Dataset>
  121. <Dataset id="ds_main" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  122. <ColumnInfo/>
  123. </Dataset>
  124. <Dataset id="ds_init" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  125. <ColumnInfo>
  126. <Column id="init" type="STRING" size="256"/>
  127. </ColumnInfo>
  128. <Rows>
  129. <Row>
  130. <Col id="init"/>
  131. </Row>
  132. </Rows>
  133. </Dataset>
  134. <Dataset id="ds_send_dept" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep" oncolumnchanged="ds_send_dept_oncolumnchanged">
  135. <ColumnInfo>
  136. <Column id="deptcd" type="STRING" size="256"/>
  137. <Column id="emplnm" type="STRING" size="256"/>
  138. <Column id="instcd" type="STRING" size="256"/>
  139. <Column id="deptnm" type="STRING" size="256"/>
  140. </ColumnInfo>
  141. <Rows>
  142. <Row/>
  143. </Rows>
  144. </Dataset>
  145. <Dataset id="ds_target" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  146. <ColumnInfo>
  147. <Column id="target" type="STRING" size="256"/>
  148. </ColumnInfo>
  149. <Rows>
  150. <Row>
  151. <Col id="target"/>
  152. </Row>
  153. </Rows>
  154. </Dataset>
  155. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  156. <ColumnInfo/>
  157. </Dataset>
  158. <Dataset id="ds_target_recvitem" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  159. <Dataset id="ds_target_defaultvalue" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  160. </Objects>
  161. <Bind>
  162. <BindItem id="item0" compid="group3.group4.ipt_deptcd" propid="value" datasetid="ds_send_dept" columnid="deptcd"/>
  163. <BindItem id="item1" compid="group3.group4.ipt_deptnm" propid="value" datasetid="ds_send_dept" columnid="deptnm"/>
  164. <BindItem id="item2" compid="group3.group4.ipt_emplnm" propid="value" datasetid="ds_send_dept" columnid="emplnm"/>
  165. </Bind>
  166. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  167. * System Name :
  168. * Job Name :
  169. * Creator :
  170. * Make Date : 2017-06-19
  171. * Description :
  172. *---------------------------------------------------------------------------------------
  173. * Modify Date Modifier Modify Description
  174. *---------------------------------------------------------------------------------------
  175. * 2017-06-19 Live Converter TF->XP
  176. *
  177. *---------------------------------------------------------------------------------------
  178. ****************************************************************************************/
  179. //=======================================================================================
  180. // Lib Include
  181. //---------------------------------------------------------------------------------------
  182. include "com_commonxp::comm_main.xjs";
  183. include "mis_miscommonxp::MIS.xjs";
  184. //=======================================================================================
  185. // Global Form Variable
  186. //---------------------------------------------------------------------------------------
  187. var arErrorCode = new HashArray();
  188. //=======================================================================================
  189. // Function
  190. //---------------------------------------------------------------------------------------
  191. /****************************************************************************************
  192. * Argument : N/A
  193. * Description :
  194. ****************************************************************************************/
  195. function fOpenPopupDeptHelp(pControl, pInstance) {
  196. misfOpenPopUpList("02", pControl, "", pInstance);
  197. }
  198. /****************************************************************************************
  199. * Argument : N/A
  200. * Description : 우선은 넘겨주는 변수 명칭 추가시 조건 문으로 분개 처리 한다... -> 명칭을 비교하여 자동으로 넣어주게 변경해야 겠다.
  201. ****************************************************************************************/
  202. function fCheckDeptNode() {
  203. if ( !utlf_isNull(eval(PURTARGET_NODE).getColumn(0,"deptcd") ) )
  204. ds_send_dept.setColumn( 0, "deptcd", eval(PURTARGET_NODE).getColumn(0,"deptcd") );
  205. if ( !utlf_isNull(eval(PURTARGET_NODE).getColumn(0,"deptnm") ) )
  206. ds_send_dept.setColumn( 0, "deptnm", eval(PURTARGET_NODE).getColumn(0,"deptnm") );
  207. if ( !utlf_isNull(eval(PURTARGET_NODE).getColumn(0,"reqdeptcd") ) )
  208. ds_send_dept.setColumn( 0, "deptcd", eval(PURTARGET_NODE).getColumn(0,"reqdeptcd") );
  209. if ( !utlf_isNull(eval(PURTARGET_NODE).getColumn(0,"reqdeptnm") ) )
  210. ds_send_dept.setColumn( 0, "deptnm", eval(PURTARGET_NODE).getColumn(0,"reqdeptnm") );
  211. if ( !utlf_isNull(eval(PURTARGET_NODE).getColumn(0,"ipt_deptcd") ) )
  212. ds_send_dept.setColumn( 0, "deptcd", eval(PURTARGET_NODE).getColumn(0,"ipt_deptcd") );
  213. if ( !utlf_isNull(eval(PURTARGET_NODE).getColumn(0,"ipt_deptnm") ) )
  214. ds_send_dept.setColumn( 0, "deptnm", eval(PURTARGET_NODE).getColumn(0,"ipt_deptnm") );
  215. if ( !utlf_isNull(eval(PURTARGET_NODE).getColumn(0,"instcd") ) )
  216. ds_send_dept.setColumn( 0, "instcd", eval(PURTARGET_NODE).getColumn(0,"instcd"));
  217. if ( !utlf_isNull(eval(PURTARGET_NODE).getColumn(0,"cmb_instcd") ) )
  218. ds_send_dept.setColumn( 0, "instcd", eval(PURTARGET_NODE).getColumn(0,"cmb_instcd") );
  219. }
  220. //=======================================================================================
  221. // Event
  222. //---------------------------------------------------------------------------------------
  223. /****************************************************************************************
  224. * Components : Form
  225. * Description : 화면 처음 초기화시 폼초기화
  226. ****************************************************************************************/
  227. function SPRSD00320_onload(obj:Form, e:LoadEventInfo) {
  228. frmf_initForm(obj);
  229. //grdf_initGrid(grd_XXX);
  230. grdf_setGridSort(group3.grd_userlist);
  231. //grdf_setRowTypeIcon(grd_XXX, 0_컬럼위치값);
  232. try{
  233. ds_target.copyData(arg_ds_target);
  234. ds_target_recvitem.copyData(arg_ds_target_recvitem);
  235. ds_target_defaultvalue.copyData(arg_ds_target_defaultvalue);
  236. }catch(e){}
  237. // main 에서 넘어오는 부서 코드가 deptcd 명칭이 아닐 경우 ex) reqdeptcd, windeptcd.. 등 일 경우.. 해당 값으로 deptcd node를 생성하여 데이터를 셋팅한다.
  238. fCheckDeptNode();
  239. ds_main_user_userlist.clearData();
  240. misfMsterDetailSet("group3.grd_userlist", null, "TRRSD00321", "N");
  241. misfMsterDetailRetrieve();
  242. }
  243. /****************************************************************************************
  244. * Components : Grid
  245. * Description : 사용자리스트 선택
  246. ****************************************************************************************/
  247. function group3_grd_userlist_oncelldblclick(obj:Grid, e:GridClickEventInfo) {
  248. if( e.row > -1 ) {
  249. group1.btn_confirm.click();
  250. }
  251. }
  252. /****************************************************************************************
  253. * Components : Button
  254. * Description : 부서조회
  255. ****************************************************************************************/
  256. function group3_group4_btn_depthelp_onclick(obj:Button, e:ClickEventInfo) {
  257. misfOpenPopUpList("02", group3.group4.ipt_deptcd, "", "deptcd,deptnm");
  258. }
  259. /****************************************************************************************
  260. * Components : Button
  261. * Description : 조회
  262. ****************************************************************************************/
  263. function group3_group4_btn_search_onclick(obj:Button, e:ClickEventInfo) {
  264. misfMsterDetailRetrieve();
  265. }
  266. /****************************************************************************************
  267. * Components : Edit
  268. * Description : 성명입력 후 조회
  269. ****************************************************************************************/
  270. function group3_group4_ipt_emplnm_onkeydown(obj:Edit, e:KeyEventInfo) {
  271. if(event.keyCode == 13) {
  272. obj.updateToDataset();
  273. group3.group4.btn_search.click();
  274. }
  275. }
  276. /****************************************************************************************
  277. * Components : Button
  278. * Description : 확인
  279. ****************************************************************************************/
  280. function group1_btn_confirm_onclick(obj:Button, e:ClickEventInfo) {
  281. misfPopUpListReturn(group3.grd_userlist);
  282. }
  283. /****************************************************************************************
  284. * Components : Button
  285. * Description : 취소
  286. ****************************************************************************************/
  287. function group1_btn_cancel_onclick(obj:Button, e:ClickEventInfo) {
  288. this.close();
  289. }
  290. /****************************************************************************************
  291. * Components : Edit
  292. * Description : 부서코드 입력 후 조회
  293. ****************************************************************************************/
  294. function group3_group4_ipt_deptcd_onkeydown(obj:Edit, e:KeyEventInfo)
  295. {
  296. if(e.keycode == 13) obj.updateToDataset();
  297. }
  298. /****************************************************************************************
  299. * Components : Edit
  300. * Description : 부서명 입력 후 조회
  301. ****************************************************************************************/
  302. function group3_group4_ipt_deptnm_onkeydown(obj:Edit, e:KeyEventInfo)
  303. {
  304. if(e.keycode == 13) obj.updateToDataset();
  305. }
  306. /****************************************************************************************
  307. * Components : Dataset
  308. * Description :
  309. ****************************************************************************************/
  310. function ds_send_dept_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  311. {
  312. for(var i = 0; i < this.binds.length; i++) {
  313. if(this.binds[i].datasetid == obj.name && this.binds[i].columnid == e.columnid) {
  314. eval(this.binds[i].compid).setFocus();
  315. break;
  316. }
  317. }
  318. if(e.columnid == "deptcd" || e.columnid == "deptnm") {
  319. misfValidationCheck("02", "", "deptcd,deptnm" );
  320. }
  321. }
  322. ]]></Script>
  323. </Form>
  324. </FDL>