SMRSD02701_불출확정부서관리.xfdl 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMRSD02701" position="absolute 0 0 1203 751" titletext="불출확정 집계 부서관리" oninit="SMRSD02701_oninit" onload="SMRSD02701_onload" scrollbars="none">
  5. <Layouts>
  6. <Layout>
  7. <Div position="absolute 0 0 1195 25" id="grp_tle">
  8. <Layouts>
  9. <Layout width="1195" height="25">
  10. <Static text="불출확정 집계 부서 관리" position="absolute 0 0 186 25" id="caption6" class="tit_1"/>
  11. </Layout>
  12. </Layouts>
  13. </Div>
  14. <Div position="absolute 0 26 1195 51" id="group1">
  15. <Layouts>
  16. <Layout>
  17. <Shape id="line17" class="line_1" position="absolute 0 19 1195 25" anchor="default"/>
  18. <Button position="absolute 1138 0 1194 22" id="btn_save" class="btn4" taborder="8" text="저장" anchor="default" onclick="group1_btn_save_onclick"/>
  19. </Layout>
  20. </Layouts>
  21. </Div>
  22. <Div position="absolute 0 63 1195 785" id="group3" scrollbars="autoboth">
  23. <Layouts>
  24. <Layout>
  25. <Div position="absolute 0 2 1195 38" align="align:center top;" id="grp_search" anchor="default">
  26. <Layouts>
  27. <Layout>
  28. <Shape position="absolute 0 0 1195 35" id="roundrect1" type="roundrectangle" anchor="default"/>
  29. <Button position="absolute 1121 7 1177 29" id="btn_search" class="btn1" taborder="7" text="조회" anchor="default" onclick="group3_grp_search_btn_search_onclick"/>
  30. <Combo position="absolute 117 10 253 29" align="align:center middle;" id="cmb_instcd" class="combo_default" enable="false" taborder="1" innerdataset="@ds_main_init" datacolumn="cnstnm" codecolumn="cnstcd" anchor="default" style=":disabled {align:center middle;}"/>
  31. <Static text="기관코드:" position="absolute 33 10 119 27" id="cap_instcd" class="search_name" anchor="default"/>
  32. <Static text="부서:" position="absolute 661 10 742 27" align="align:center middle;" id="caption20" class="search_name" anchor="default"/>
  33. <Shape position="absolute 1097 5 1103 32" linetype="vertical" id="line30" class="line_4" anchor="default"/>
  34. <Button position="absolute 853 10 869 26" id="btn_delivedeptcd" class="icon_search" taborder="3" text="" anchor="default" onclick="group3_grp_search_btn_delivedeptcd_onclick"/>
  35. <Edit position="absolute 746 10 851 29" id="ipt_reqdeptcd" class="input_default" taborder="2" anchor="default" onkeydown="group3_grp_search_ipt_reqdeptcd_onkeydown"/>
  36. <Edit readonly="true" position="absolute 871 10 1027 29" id="opt_reqdeptnm" anchor="default" class="output"/>
  37. </Layout>
  38. </Layouts>
  39. </Div>
  40. <Shape position="absolute 0 63 1195 69" linetype="horizontal" id="line1" class="line_10" anchor="default"/>
  41. <Static text="집계 부서 리스트" position="absolute 0 46 127 62" id="caption1" class="tit_2" anchor="default"/>
  42. <Button position="absolute 1084 42 1137 61" id="btn_rowinsert" class="btn2" taborder="20" text="행추가" anchor="default" onclick="group3_btn_rowinsert_onclick"/>
  43. <Grid position="absolute 0 67 1195 679" id="grd_deptlist" class="datagrid2" binddataset="ds_main_deptinfo_deptlist" anchor="default" onexpanddown="group3_grd_deptlist_onexpanddown" onkeydown="group3_grd_deptlist_onkeydown" autoenter="select" cellsizingtype="both" extendsizetype="row" selecttype="multirow">
  44. <Formats>
  45. <Format id="default">
  46. <Columns>
  47. <Column size="25" band="left"/>
  48. <Column size="0"/>
  49. <Column size="100"/>
  50. <Column size="150"/>
  51. <Column size="100"/>
  52. <Column size="150"/>
  53. <Column size="500"/>
  54. </Columns>
  55. <Rows>
  56. <Row size="24" band="head"/>
  57. <Row size="24"/>
  58. </Rows>
  59. <Band id="head">
  60. <Cell/>
  61. <Cell col="1" text="기관코드"/>
  62. <Cell col="2" text="부서코드"/>
  63. <Cell col="3" text="부서명"/>
  64. <Cell col="4" text="상위부서코드"/>
  65. <Cell col="5" text="상위부서명"/>
  66. <Cell col="6" text="비고"/>
  67. </Band>
  68. <Band id="body">
  69. <Cell celltype="head"/>
  70. <Cell col="1" text="bind:instcd"/>
  71. <Cell col="2" displaytype="text" edittype="expr:edittype" style="align:center middle;" text="bind:deptcd" expandshow="show" enable="false"/>
  72. <Cell col="3" style="align:center middle;" text="bind:deptnm" enable="false"/>
  73. <Cell col="4" displaytype="text" edittype="text" text="bind:supdeptcd" editautoselect="true"/>
  74. <Cell col="5" displaytype="text" edittype="text" text="bind:supdeptnm" editautoselect="true" expandshow="show"/>
  75. <Cell col="6" displaytype="text" edittype="text" text="bind:cmt" editautoselect="true"/>
  76. </Band>
  77. </Format>
  78. </Formats>
  79. </Grid>
  80. <Button position="absolute 1138 42 1191 61" id="btn_choidel" class="btn2" taborder="21" text="행삭제" anchor="default" onclick="group3_btn_choidel_onclick"/>
  81. </Layout>
  82. </Layouts>
  83. </Div>
  84. </Layout>
  85. </Layouts>
  86. <Objects>
  87. <Dataset id="ds_main_deptinfo_deptlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  88. <ColumnInfo>
  89. <Column id="instcd" type="STRING" size="255"/>
  90. <Column id="deptcd" type="STRING" size="255"/>
  91. <Column id="deptnm" type="STRING" size="255"/>
  92. <Column id="supdeptcd" type="STRING" size="255"/>
  93. <Column id="supdeptnm" type="STRING" size="255"/>
  94. <Column id="cmt" type="STRING" size="255"/>
  95. <Column id="edittype" type="STRING" size="256"/>
  96. </ColumnInfo>
  97. </Dataset>
  98. <Dataset id="ds_send_search" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" oncolumnchanged="ds_send_search_oncolumnchanged">
  99. <ColumnInfo>
  100. <Column id="instcd" type="STRING" size="256"/>
  101. <Column id="reqdeptcd" type="STRING" size="256"/>
  102. <Column id="reqdeptnm" type="STRING" size="256"/>
  103. </ColumnInfo>
  104. <Rows>
  105. <Row/>
  106. </Rows>
  107. </Dataset>
  108. <Dataset id="ds_send_save_deptlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  109. <Dataset id="ds_init" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  110. <Dataset id="ds_hidden" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  111. <Dataset id="ds_temp" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  112. <Dataset id="ds_popdata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  113. <ColumnInfo>
  114. <Column id="srchdd" type="STRING" size="256"/>
  115. </ColumnInfo>
  116. <Rows>
  117. <Row/>
  118. </Rows>
  119. </Dataset>
  120. <Dataset id="ds_popreq" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  121. <ColumnInfo>
  122. <Column id="count" type="STRING" size="256"/>
  123. </ColumnInfo>
  124. <Rows>
  125. <Row/>
  126. </Rows>
  127. </Dataset>
  128. <Dataset id="ds_popsubdata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  129. <Dataset id="ds_main_init" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  130. </Objects>
  131. <Bind>
  132. <BindItem id="item0" compid="group3.grp_search.cmb_instcd" propid="value" datasetid="ds_send_search" columnid="instcd"/>
  133. <BindItem id="item1" compid="group3.grp_search.ipt_reqdeptcd" propid="value" datasetid="ds_send_search" columnid="reqdeptcd"/>
  134. <BindItem id="item2" compid="group3.grp_search.opt_reqdeptnm" propid="value" datasetid="ds_send_search" columnid="reqdeptnm"/>
  135. </Bind>
  136. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  137. * System Name :
  138. * Job Name :
  139. * Creator :
  140. * Make Date : 2017-06-19
  141. * Description :
  142. *---------------------------------------------------------------------------------------
  143. * Modify Date Modifier Modify Description
  144. *---------------------------------------------------------------------------------------
  145. * 2017-06-19 Live Converter TF->XP
  146. *
  147. *---------------------------------------------------------------------------------------
  148. ****************************************************************************************/
  149. include "com_commonxp::comm_main.xjs";
  150. include "mis_miscommonxp::MIS.xjs";
  151. var arErrorCode = new HashArray();
  152. function cf_TXRSD02701(sSvcId, nErrorCode, sErrorMsg) {
  153. arErrorCode.push(sSvcId, nErrorCode);
  154. if(nErrorCode < 0) return;
  155. utlf_addLog("***** cf_TXRSD02701 *****");
  156. }
  157. function SMRSD02701_oninit(obj:Form, e:InitEventInfo)
  158. {
  159. frmf_initForm(obj); //폼 초기화
  160. }
  161. function SMRSD02701_onload(obj:Form, e:LoadEventInfo)
  162. {
  163. grdf_setRowTypeIcon(group3.grd_deptlist,0);
  164. //화면 Control을 초기화한다
  165. misfGridInit(group3.grd_deptlist);
  166. misfGetAndSetUserInfo(); //접속자기본정보
  167. misfComboComCdListMulti("Z0007","group3.grp_search.cmb_instcd");
  168. ds_send_search.setColumn(0, "instcd", sysf_getUserInfo("dutplceinstcd")); //기관 설정
  169. }
  170. function group1_btn_save_onclick(obj:Button, e:ClickEventInfo)
  171. {
  172. var updtdata = grdf_getGridUpdateData(group3.grd_deptlist);
  173. grdf_setStatusColumn(updtdata, "status");
  174. dsf_createDs("ds_send_save_deptlist");
  175. ds_send_save_deptlist.copyData(updtdata, true);
  176. var oParam = {};
  177. oParam.id = "TXRSD02701";
  178. oParam.service = "reqapp.ReqMngt";
  179. oParam.method = "reqExeDeptSumList";
  180. oParam.inds = "deptlist=ds_send_save_deptlist";
  181. oParam.outds = "";
  182. oParam.async = false;
  183. oParam.callback = "cf_TXRSD02701";
  184. tranf_submit(oParam);
  185. if(arErrorCode.pop("TXRSD02701") > -1){
  186. frmf_inputEnterKey("group3.grp_search.btn_search", "onclick", new ClickEventInfo);
  187. }
  188. }
  189. function group3_grp_search_btn_search_onclick(obj:Button, e:ClickEventInfo)
  190. {
  191. var oParam = {};
  192. oParam.id = "TRRSD02701";
  193. oParam.service = "reqapp.ReqMngt";
  194. oParam.method = "reqGetDeptSumList";
  195. oParam.inds = "req=ds_send_search";
  196. oParam.outds = "ds_main_deptinfo_deptlist=deptlist";
  197. oParam.async = false;
  198. tranf_submit(oParam);
  199. ds_main_deptinfo_deptlist.addColumn("edittype", "string");
  200. ds_main_deptinfo_deptlist.updatecontrol = false;
  201. dsf_setDefaultVal(ds_main_deptinfo_deptlist, "edittype:none");
  202. ds_main_deptinfo_deptlist.updatecontrol = true;
  203. }
  204. function group3_grp_search_btn_delivedeptcd_onclick(obj:Button, e:ClickEventInfo)
  205. {
  206. var vOrigDeptcd = group3.grp_search.ipt_reqdeptcd.value; //popup을 열기전 부서 저장
  207. var recv_list = "reqdeptcd,reqdeptnm";
  208. misfOpenPopUpList("02", group3.grp_search.ipt_reqdeptcd,"", recv_list) ;
  209. }
  210. function ds_send_search_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  211. {
  212. if(e.columnid == "reqdeptcd"){
  213. group3.grp_search.ipt_reqdeptcd.updateToDataset();
  214. group3.grp_search.ipt_reqdeptcd.setFocus();
  215. misfValidationCheck("02", "", "reqdeptcd,reqdeptnm" );
  216. if(ds_main_deptinfo_deptlist.rowcount > 0) {
  217. misfGridInit(group3.grd_deptlist);
  218. }
  219. }
  220. }
  221. function group3_grp_search_ipt_reqdeptcd_onkeydown(obj:Edit, e:KeyEventInfo)
  222. {
  223. if (e.keycode == 13) {
  224. obj.updateToDataset();
  225. misfValidationCheck("02", "", "reqdeptcd,reqdeptnm" );
  226. if(ds_main_deptinfo_deptlist.rowcount > 0) {
  227. misfGridInit(group3.grd_deptlist);
  228. }
  229. }
  230. }
  231. function group3_btn_rowinsert_onclick(obj:Button, e:ClickEventInfo)
  232. {
  233. //misfGridIUD(group3.grd_deptlist, "A");
  234. if(utlf_isNull(ds_main_deptinfo_deptlist.getColumnInfo("instcd"))){
  235. ds_main_deptinfo_deptlist.addColumn("instcd", "string");
  236. ds_main_deptinfo_deptlist.addColumn("deptcd", "string");
  237. ds_main_deptinfo_deptlist.addColumn("deptnm", "string");
  238. ds_main_deptinfo_deptlist.addColumn("supdeptcd", "string");
  239. ds_main_deptinfo_deptlist.addColumn("supdeptnm", "string");
  240. ds_main_deptinfo_deptlist.addColumn("cmt", "string");
  241. ds_main_deptinfo_deptlist.addColumn("edittype", "string");
  242. }
  243. var addrow = ds_main_deptinfo_deptlist.addRow();
  244. ds_main_deptinfo_deptlist.updatecontrol = false;
  245. ds_main_deptinfo_deptlist.setColumn(addrow, "edittype", "normal");
  246. ds_main_deptinfo_deptlist.selectRow(addrow, true);
  247. ds_main_deptinfo_deptlist.updatecontrol = true;
  248. }
  249. function group3_grd_deptlist_onexpanddown(obj:Grid, e:GridMouseEventInfo)
  250. {
  251. if(e.cell == group3.grd_deptlist.getBindCellIndex("body","supdeptnm")){
  252. misfOpenPopUpList("02", group3.grd_deptlist,"", "supdeptcd,supdeptnm");
  253. }else if(e.cell == group3.grd_deptlist.getBindCellIndex("body","deptcd")){
  254. misfOpenPopUpList("02", group3.grd_deptlist,"", "deptcd,deptnm");
  255. }
  256. }
  257. function group3_grd_deptlist_onkeydown(obj:Grid, e:KeyEventInfo)
  258. {
  259. if (e.keycode == 13) {
  260. //Grid 에서 엔터 입력시 다음행 수정
  261. if(ds_main_deptinfo_deptlist.rowposition + 1 < ds_main_deptinfo_deptlist.rowcount){
  262. ds_main_deptinfo_deptlist.rowposition = ds_main_deptinfo_deptlist.rowposition + 1;
  263. }
  264. //misfNextRow(grd_deptlist);
  265. }
  266. }
  267. function group3_btn_choidel_onclick(obj:Button, e:ClickEventInfo)
  268. {
  269. if(ds_main_deptinfo_deptlist.getRowType(ds_main_deptinfo_deptlist.rowposition) == 2){
  270. ds_main_deptinfo_deptlist.deleteRow(ds_main_deptinfo_deptlist.rowposition);
  271. }else{
  272. ds_main_deptinfo_deptlist.enableevent = false;
  273. ds_main_deptinfo_deptlist.updatecontrol = false;
  274. ds_main_deptinfo_deptlist.setRowType(ds_main_deptinfo_deptlist.rowposition, 8);
  275. ds_main_deptinfo_deptlist.updatecontrol = true;
  276. ds_main_deptinfo_deptlist.enableevent = true;
  277. }
  278. }
  279. ]]></Script>
  280. </Form>
  281. </FDL>