SMZSA20800_화면제한자관리.xfdl 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.4">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMZSA20800" position="absolute 0 0 1195 766" titletext="Untitle" onload="SMZSA20800_onload">
  5. <Layouts>
  6. <Layout>
  7. <Div id="grp_sea" taborder="1" position="absolute 0 25 475 85" class="div_SA">
  8. <Layouts>
  9. <Layout>
  10. <Static id="caption1" text="화면코드" class="search_name" position="absolute 15 9 132 26" anchor="default"/>
  11. <Static id="caption4" text="화면URL" class="search_name" position="absolute 15 35 132 52" anchor="default"/>
  12. <Edit id="ipt_scrnurl" taborder="1" class="input_search" position="absolute 126 34 310 53" anchor="default" onkeyup="grp_sea_ipt_scrnurl_onkeyup"/>
  13. <Edit id="ipt_scrncd" taborder="2" class="input_search" position="absolute 126 8 310 27" anchor="default" onkeyup="grp_sea_ipt_scrncd_onkeyup"/>
  14. <Shape id="line1" linetype="vertical" position="absolute 395 7 401 51" anchor="default"/>
  15. <Button id="btn_search" taborder="3" text="조회" class="btn1" position="absolute 412 19 468 41" anchor="default" onclick="grp_sea_btn_search_onclick"/>
  16. </Layout>
  17. </Layouts>
  18. </Div>
  19. <Static id="caption9" text="화면목록" class="tit_2" position="absolute 0 96 111 112"/>
  20. <Shape id="line12" linetype="vertical" class="line_1" position="absolute 5 127 480 128"/>
  21. <Grid id="grd_scrnlist" taborder="2" binddataset="ds_grd_scrnlist" useinputpanel="false" position="absolute 0 115 475 761" oncelldblclick="grd_scrnlist_oncelldblclick">
  22. <Formats>
  23. <Format id="default">
  24. <Columns>
  25. <Column size="88"/>
  26. <Column size="375"/>
  27. </Columns>
  28. <Rows>
  29. <Row size="24" band="head"/>
  30. <Row size="24"/>
  31. </Rows>
  32. <Band id="head">
  33. <Cell text="화면코드"/>
  34. <Cell col="1" text="화면URL"/>
  35. </Band>
  36. <Band id="body">
  37. <Cell style="align:left;" text="bind:scrncd"/>
  38. <Cell col="1" style="align:left;" text="bind:scrnurl"/>
  39. </Band>
  40. </Format>
  41. </Formats>
  42. </Grid>
  43. <Button id="btn_delete_acntitem" taborder="3" text="삭제" class="btn2_letter2" position="absolute 1107 83 1149 102" onclick="btn_delete_acntitem_onclick"/>
  44. <Button id="btn_save_acntitem" taborder="4" text="저장" class="btn5" position="absolute 1152 83 1194 102" onclick="btn_save_acntitem_onclick"/>
  45. <Static id="caption3" text="화면제한자항목" class="tit_2" position="absolute 491 85 602 101"/>
  46. <Shape id="line2" linetype="vertical" class="line_1" position="absolute 491 100 1194 101"/>
  47. <Button id="btn_reg" taborder="5" text="등록" class="btn2_letter2" position="absolute 1062 83 1103 102" onclick="btn_reg_onclick"/>
  48. <Grid id="grd_denyuserlist" class="datagrid" taborder="6" binddataset="ds_grd_denyuserlist" useinputpanel="false" position="absolute 490 104 1193 761">
  49. <Formats>
  50. <Format id="default">
  51. <Columns>
  52. <Column size="25"/>
  53. <Column size="0"/>
  54. <Column size="100"/>
  55. <Column size="100"/>
  56. <Column size="138"/>
  57. <Column size="0"/>
  58. <Column size="150"/>
  59. <Column size="100"/>
  60. <Column size="177"/>
  61. <Column size="100"/>
  62. <Column size="125"/>
  63. <Column size="100"/>
  64. <Column size="125"/>
  65. </Columns>
  66. <Rows>
  67. <Row size="24" band="head"/>
  68. <Row size="24"/>
  69. </Rows>
  70. <Band id="head">
  71. <Cell/>
  72. <Cell col="1" text="화면코드"/>
  73. <Cell col="2" text="사용자ID"/>
  74. <Cell col="3" text="사용자명"/>
  75. <Cell col="4" text="근무지기관명"/>
  76. <Cell col="5" text="근무지기관코드"/>
  77. <Cell col="6" text="근무지명"/>
  78. <Cell col="7" text="근무지코드"/>
  79. <Cell col="8" text="제한사유"/>
  80. <Cell col="9" text="최초등록자"/>
  81. <Cell col="10" text="최초등록일시"/>
  82. <Cell col="11" text="최종수정자"/>
  83. <Cell col="12" text="최종수정일시"/>
  84. </Band>
  85. <Band id="body">
  86. <Cell/>
  87. <Cell col="1" text="bind:scrncd"/>
  88. <Cell col="2" text="bind:userid"/>
  89. <Cell col="3" text="bind:usernm"/>
  90. <Cell col="4" text="bind:dutplceinstnm"/>
  91. <Cell col="5" text="bind:dutplceinstcd"/>
  92. <Cell col="6" text="bind:dutplcenm"/>
  93. <Cell col="7" text="bind:dutplcecd"/>
  94. <Cell col="8" displaytype="text" edittype="text" text="bind:reason"/>
  95. <Cell col="9" text="bind:fstrgstrid"/>
  96. <Cell col="10" text="bind:fstrgstdt" mask="yyyy-mm-dd hh:nn:ss"/>
  97. <Cell col="11" text="bind:lastupdtrid"/>
  98. <Cell col="12" text="bind:lastupdtdt" mask="yyyy-mm-dd hh:nn:ss"/>
  99. </Band>
  100. </Format>
  101. </Formats>
  102. </Grid>
  103. <Button id="btn_save_excel" taborder="8" text="엑셀저장" class="btn2" position="absolute 960 83 1024 102" onclick="btn_save_excel_onclick"/>
  104. <Button id="button1" taborder="9" text="엑셀입력" class="btn2" position="absolute 893 83 957 102" onclick="button1_onclick"/>
  105. <Static id="caption6" text="화면제한자관리" class="tit_1" position="absolute 0 0 122 25"/>
  106. <Static id="caption11" text="화면코드" class="cell_1" position="absolute 490 47 554 66"/>
  107. <Edit id="opt_scrncd" taborder="10" readonly="true" position="absolute 557 47 654 66"/>
  108. <Static id="caption2" text="화면 URL" class="cell_1" position="absolute 660 47 795 66"/>
  109. <Edit id="opt_scrnurl" taborder="11" readonly="true" position="absolute 798 47 1192 66"/>
  110. <Static id="caption12" text="선택 화면" class="tit_2" position="absolute 490 27 659 44"/>
  111. </Layout>
  112. </Layouts>
  113. <Objects>
  114. <Dataset id="ds_grd_scrnlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  115. <ColumnInfo>
  116. <Column id="scrncd" type="STRING"/>
  117. <Column id="scrnurl" type="STRING"/>
  118. </ColumnInfo>
  119. </Dataset>
  120. <Dataset id="ds_grd_denyuserlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  121. <ColumnInfo>
  122. <Column id="scrncd" type="STRING"/>
  123. <Column id="userid" type="STRING"/>
  124. <Column id="usernm" type="STRING"/>
  125. <Column id="dutplceinstnm" type="STRING"/>
  126. <Column id="dutplceinstcd" type="STRING"/>
  127. <Column id="dutplcenm" type="STRING"/>
  128. <Column id="dutplcecd" type="STRING"/>
  129. <Column id="reason" type="STRING"/>
  130. <Column id="fstrgstrid" type="STRING"/>
  131. <Column id="fstrgstdt" type="STRING"/>
  132. <Column id="lastupdtrid" type="STRING"/>
  133. <Column id="lastupdtdt" type="STRING"/>
  134. </ColumnInfo>
  135. </Dataset>
  136. <Dataset id="ds_Z0005" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  137. <ColumnInfo>
  138. <Column id="cdid" type="STRING" size="256"/>
  139. <Column id="cdnm" type="STRING" size="256"/>
  140. </ColumnInfo>
  141. </Dataset>
  142. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  143. <ColumnInfo>
  144. <Column id="scrnkind" type="STRING" size="256" sumtext="화면구분"/>
  145. <Column id="scrncd" type="STRING" size="256" sumtext="화면코드"/>
  146. <Column id="scrnurl" type="STRING" size="256" sumtext="화면url"/>
  147. <Column id="awtyn" type="STRING" size="256" sumtext="awt가능여부"/>
  148. </ColumnInfo>
  149. </Dataset>
  150. </Objects>
  151. <Bind>
  152. <BindItem id="item0" compid="grp_sea.ipt_scrncd" propid="value" datasetid="ds_send" columnid="scrncd"/>
  153. <BindItem id="item1" compid="grp_sea.ipt_scrnurl" propid="value" datasetid="ds_send" columnid="scrnurl"/>
  154. </Bind>
  155. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  156. * System Name :
  157. * Job Name :
  158. * Creator :
  159. * Make Date : 2014-10-31
  160. * Description :
  161. *---------------------------------------------------------------------------------------
  162. * Modify Date Modifier Modify Description
  163. *---------------------------------------------------------------------------------------
  164. * 2014-10-31 Live Converter TF->XP
  165. *
  166. *---------------------------------------------------------------------------------------
  167. ****************************************************************************************/
  168. //=======================================================================================
  169. // Lib Include
  170. //---------------------------------------------------------------------------------------
  171. include "com_commonxp::comm_main.xjs"
  172. //=======================================================================================
  173. // Global Form Variable
  174. //---------------------------------------------------------------------------------------
  175. //=======================================================================================
  176. // Function
  177. //---------------------------------------------------------------------------------------
  178. function SMZSA20800_onload(obj:Form, e:LoadEventInfo)
  179. {
  180. frmf_initForm(obj);
  181. fInitComcd();
  182. fInitialize();
  183. grdf_setRowTypeIcon(grd_denyuserlist, 0);
  184. }
  185. function fInitComcd() {
  186. //공통코드조회
  187. appf_getCodeList([ {dsNm: "ds_Z0007", cdGrpId: "Z0007"} ]);
  188. }
  189. function fInitialize(){
  190. // model.removeNodeset("/root/main/list_user/userlist");
  191. // model.resetInstanceNode("/root/temp/list");
  192. // model.removeNodeset("/root/hide/usergruplist");
  193. //
  194. // model.removeNodeset("/root/main/list/scrnlist");
  195. ds_send.clearData();
  196. ds_send.addRow();
  197. ds_send.setColumn(0, "scrnkind", "xrw");
  198. }
  199. function grp_sea_ipt_scrncd_onkeyup(obj:Edit, e:KeyEventInfo)
  200. {
  201. if(e.keycode == 13){
  202. ds_send.setColumn(0, "scrncd", obj.text);
  203. fbtnSearch();
  204. }
  205. }
  206. function grp_sea_ipt_scrnurl_onkeyup(obj:Edit, e:KeyEventInfo)
  207. {
  208. if(e.keycode == 13){
  209. //ipt_scrnurl.value = ipt_scrnurl.currentText;
  210. ds_send.setColumn(0, "scrnurl", obj.text);
  211. fbtnSearch();
  212. }
  213. }
  214. function fbtnSearch()
  215. {
  216. var oParam = {};
  217. oParam.id = "TRZSA20501";
  218. oParam.service = "authinfoapp.AuthInfo";
  219. oParam.method = "reqGetScrnList";
  220. oParam.inds = "req=ds_send";
  221. oParam.outds = "ds_grd_scrnlist=scrnlist";
  222. oParam.async = false;
  223. oParam.callback = "cf_TRZSA20501";
  224. tranf_submit(oParam);
  225. grd_scrnlist.row=1;
  226. }
  227. function cf_TRZSA20501(sSvcId, nErrorCode, sErrorMsg) {
  228. if(nErrorCode < 0) return;
  229. }
  230. function grp_sea_btn_search_onclick(obj:Button, e:ClickEventInfo)
  231. {
  232. fbtnSearch();
  233. }
  234. function grd_scrnlist_oncelldblclick(obj:Grid, e:GridClickEventInfo)
  235. {
  236. opt_scrncd.value = ds_grd_scrnlist.getColumn(e.row, "scrncd");
  237. opt_scrnurl.value = ds_grd_scrnlist.getColumn(e.row, "scrnurl");
  238. var sInDsName = dsf_createDsRow("in_ds_search"
  239. , [ {col: "scrncd", val: opt_scrncd.value} ]);
  240. var oParam = {};
  241. oParam.id = "TRZSA20800";
  242. oParam.service = "authinfoapp.AuthInfo";
  243. oParam.method = "reqGetScrnDenyUserList";
  244. oParam.inds = "req="+sInDsName;
  245. oParam.outds = "ds_grd_denyuserlist=userlist";
  246. oParam.async = false;
  247. oParam.callback = "cf_TRZSA20800";
  248. tranf_submit(oParam);
  249. grd_denyuserlist.row=1;
  250. }
  251. function cf_TRZSA20800(sSvcId, nErrorCode, sErrorMsg) {
  252. if(nErrorCode < 0) return;
  253. }
  254. function button1_onclick(obj:Button, e:ClickEventInfo)
  255. {
  256. if(ds_grd_denyuserlist.rowcount > 0)
  257. {
  258. sysf_messageBox("해당 메뉴전체가 삭제된 후에 메뉴엑셀입력이 ", "I006");
  259. return;
  260. }
  261. var result = grdf_ImportExcel("ds_grd_denyuserlist", 2, grd_denyuserlist); // 타이틀 제외한 2열부터 입력
  262. var scrncd = opt_scrncd.value;
  263. if (result != false)
  264. {
  265. for (i=0; i<grd_denyuserlist.rowcount; i++)
  266. {
  267. ds_grd_denyuserlist.setColumn(i, "scrncd", scrncd);
  268. }
  269. }
  270. }
  271. function btn_save_excel_onclick(obj:Button, e:ClickEventInfo)
  272. {
  273. var excelFileName = "사용자그룹";
  274. grdf_exportExcel(grd_denyuserlist, excelFileName, "화면제한자항목", false, "", "user", true );
  275. }
  276. function btn_reg_onclick(obj:Button, e:ClickEventInfo)
  277. {
  278. if(opt_scrncd.value == ""){
  279. alert("화면제한자을 선택하십시요!");
  280. } else {
  281. var iProperties = frmf_modal("SPZSU10103", "SPZSU10103", null, null, null, 200, 200);
  282. if(iProperties != "" && iProperties != undefined){
  283. var iNodesetCount = iProperties.rowcount;
  284. for(var i = 0; i < iNodesetCount; i++){
  285. ds_grd_denyuserlist.addRow();
  286. iRow = grd_denyuserlist.currentrow;
  287. ds_grd_denyuserlist.setColumn(iRow, "scrncd", opt_scrncd.value);
  288. ds_grd_denyuserlist.setColumn(iRow, "userid", iProperties.getColumn(i, "userid"));
  289. ds_grd_denyuserlist.setColumn(iRow, "usernm", iProperties.getColumn(i, "usernm"));
  290. ds_grd_denyuserlist.setColumn(iRow, "dutplceinstnm", iProperties.getColumn(i, "dutplceinstnm"));
  291. ds_grd_denyuserlist.setColumn(iRow, "dutplceinstcd", iProperties.getColumn(i, "dutplceinstcd"));
  292. ds_grd_denyuserlist.setColumn(iRow, "dutplcenm", iProperties.getColumn(i, "dutplcenm"));
  293. ds_grd_denyuserlist.setColumn(iRow, "dutplcecd", iProperties.getColumn(i, "dutplcecd"));
  294. }
  295. // var iStatus = grd_denyuserlist.rowstatus(iRow);
  296. //
  297. // if(iStatus=="0"){
  298. // grd_denyuserlist.rowstatus(iRow) = "2";
  299. // }
  300. } else {
  301. sysf_messageBox("데이터를 저장", "E001");
  302. }
  303. }
  304. }
  305. function btn_delete_acntitem_onclick(obj:Button, e:ClickEventInfo)
  306. {
  307. var rtn = sysf_messageBox(" 해당 화면제한자항목을 ", "Q001");
  308. if(rtn == 6){
  309. fClicked("delete", grd_denyuserlist, "denyuserlist");
  310. }
  311. }
  312. function fClicked(control, grid, param){
  313. if ("save" == control){
  314. fSaveClick(grid, param);
  315. } else if ("delete" == control){
  316. fDeleteClick(grid, param);
  317. }else {
  318. sysf_messageBox("처리를 수행","E002");
  319. }
  320. }
  321. function fSaveClick(grid, param){
  322. if("denyuserlist" == param){
  323. var sInDsName = dsf_createDsRow("in_ds_search"
  324. , [ {col: "scrncd", val: opt_scrncd.value} ]);
  325. var oParam = {};
  326. oParam.id = "TXZSA20201";
  327. oParam.service = "authinfoapp.AuthInfo";
  328. oParam.method = "reqExeSaveScrnDenyUserList";
  329. oParam.inds = "req="+sInDsName+" denyuserlist=ds_grd_denyuserlist:U";
  330. oParam.outds = "null";
  331. oParam.async = false;
  332. oParam.callback = "cf_TXZSA20201";
  333. tranf_submit(oParam);
  334. }
  335. }
  336. function cf_TXZSA20201(sSvcId, nErrorCode, sErrorMsg) {
  337. if(nErrorCode < 0) return;
  338. }
  339. function fDeleteClick(grid, param){
  340. if(param == "denyuserlist"){
  341. var arrPostion = new Array();
  342. arrPostion[0] = ds_grd_denyuserlist.rowposition;
  343. grdf_setStatus(grd_denyuserlist, "D", arrPostion);
  344. var sInDsName = dsf_createDsRow("in_ds_search"
  345. , [ {col: "scrncd", val: opt_scrncd.value} ]);
  346. var oParam = {};
  347. oParam.id = "TXZSA20201";
  348. oParam.service = "authinfoapp.AuthInfo";
  349. oParam.method = "reqExeSaveScrnDenyUserList";
  350. oParam.inds = "req="+sInDsName+" denyuserlist=ds_grd_denyuserlist:U";
  351. oParam.outds = "null";
  352. oParam.async = false;
  353. oParam.callback = "cf_TXZSA20201_2";
  354. tranf_submit(oParam);
  355. }
  356. }
  357. function cf_TXZSA20201_2(sSvcId, nErrorCode, sErrorMsg) {
  358. if(nErrorCode < 0) return;
  359. var jRow = ds_grd_denyuserlist.rowposition;
  360. ds_grd_denyuserlist.deleteRow(jRow);
  361. }
  362. function btn_save_acntitem_onclick(obj:Button, e:ClickEventInfo)
  363. {
  364. fClicked("save", grd_denyuserlist, "denyuserlist");
  365. }
  366. ]]></Script>
  367. </Form>
  368. </FDL>