SMZSA20200_사용자그룹관리.xfdl 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMZSA20200" position="absolute 0 0 1238 805" titletext="사용자그룹관리" oninit="SMZSA20200_oninit">
  5. <Layouts>
  6. <Layout>
  7. <Static id="caption6" text="계정그룹관리" class="tit_1" position="absolute 0 0 122 25"/>
  8. <Div id="grp_sea" taborder="1" position="absolute 0 24 439 83" class="div_SA">
  9. <Layouts>
  10. <Layout>
  11. <Static id="caption1" text="계정그룹조회" class="search_name" position="absolute 15 9 108 29" anchor="default"/>
  12. <Shape id="line1" linetype="vertical" position="absolute 355 8 361 52" anchor="default"/>
  13. <Button id="btn_search" taborder="1" text="조회" class="btn1" position="absolute 372 19 428 39" anchor="default" onclick="grp_sea_btn_search_onclick"/>
  14. <Combo id="combo1" taborder="2" innerdataset="ds_init_combo1" codecolumn="value" datacolumn="lable" class="combo_search" position="absolute 126 8 310 28" anchor="default"/>
  15. <Edit id="ipt_search_item" taborder="0" class="input_essential" position="absolute 126 33 310 53" anchor="default" onkeydown="grp_sea_ipt_search_item_onkeydown"/>
  16. </Layout>
  17. </Layouts>
  18. </Div>
  19. <Static id="caption9" text="계정그룹" class="tit_2" position="absolute 0 90 87 110"/>
  20. <Shape id="line12" linetype="vertical" class="line_1" position="absolute 5 104 480 105"/>
  21. <Button id="btn_save_acntgrup" taborder="2" text="저장" class="btn5" position="absolute 398 87 440 107" onclick="btn_save_acntgrup_onclick"/>
  22. <Button id="btn_add_acntgrup" taborder="3" text="추가" class="btn2" position="absolute 353 87 395 107" onclick="btn_add_acntgrup_onclick"/>
  23. <Grid id="grd_acntgruplist" class="datagrid" taborder="4" binddataset="ds_grd_acntgruplist" useinputpanel="false" position="absolute 0 108 440 805" onrbuttondown="grd_acntgruplist_onrbuttondown" oncelldblclick="grd_acntgruplist_oncelldblclick" onlbuttondown="grd_acntgruplist_onlbuttondown" autofittype="col" anchor="left top bottom">
  24. <Formats>
  25. <Format id="default">
  26. <Columns>
  27. <Column size="25"/>
  28. <Column size="170"/>
  29. <Column size="100"/>
  30. <Column size="145"/>
  31. </Columns>
  32. <Rows>
  33. <Row size="24" band="head"/>
  34. <Row size="24"/>
  35. </Rows>
  36. <Band id="head">
  37. <Cell/>
  38. <Cell col="1" text="명"/>
  39. <Cell col="2" text="코드"/>
  40. <Cell col="3" text="별칭"/>
  41. </Band>
  42. <Band id="body">
  43. <Cell/>
  44. <Cell col="1" displaytype="text" edittype="text" text="bind:acntgrupnm"/>
  45. <Cell col="2" text="bind:acntgrupcd"/>
  46. <Cell col="3" style="align:left;" text="bind:alias"/>
  47. </Band>
  48. </Format>
  49. </Formats>
  50. </Grid>
  51. <Button id="btn_delete_acntgrup" taborder="5" text="삭제" class="btn2" visible="false" position="absolute 215 87 257 107" onclick="btn_delete_acntgrup_onclick"/>
  52. <Button id="btn_search_acntitem" taborder="6" text="조회" class="btn2" visible="false" position="absolute 170 87 212 107" onclick="btn_search_acntitem_onclick"/>
  53. <Button id="btn_delete_acntitem" taborder="7" text="삭제" class="btn2" position="absolute 1151 87 1193 107" onclick="btn_delete_acntitem_onclick" anchor="top right"/>
  54. <Button id="btn_save_acntitem" taborder="8" text="저장" class="btn5" position="absolute 1196 87 1238 107" onclick="btn_save_acntitem_onclick" anchor="top right"/>
  55. <Static id="caption3" text="계정그룹항목" class="tit_2" position="absolute 451 90 562 106"/>
  56. <Shape id="line2" linetype="vertical" class="line_1" position="absolute 491 77 1194 78"/>
  57. <Button id="btn_reg" taborder="9" text="등록" class="btn2" position="absolute 1106 87 1147 107" onclick="btn_reg_onclick" anchor="top right"/>
  58. <Grid id="grd_acntitemlist" class="datagrid" taborder="10" binddataset="ds_grd_acntitemlist" useinputpanel="false" position="absolute 451 108 1238 805" autofittype="col" anchor="all">
  59. <Formats>
  60. <Format id="default">
  61. <Columns>
  62. <Column size="25"/>
  63. <Column size="32"/>
  64. <Column size="140"/>
  65. <Column size="83"/>
  66. <Column size="63"/>
  67. <Column size="70"/>
  68. <Column size="108"/>
  69. <Column size="120"/>
  70. <Column size="87"/>
  71. <Column size="0"/>
  72. <Column size="0"/>
  73. </Columns>
  74. <Rows>
  75. <Row size="24" band="head"/>
  76. <Row size="24"/>
  77. </Rows>
  78. <Band id="head">
  79. <Cell/>
  80. <Cell col="1" text="유효"/>
  81. <Cell col="2" text="계정그룹명"/>
  82. <Cell col="3" text="계정그룹코드"/>
  83. <Cell col="4" text="사용자ID"/>
  84. <Cell col="5" text="사용자명"/>
  85. <Cell col="6" text="근무지기관"/>
  86. <Cell col="7" text="근무지명"/>
  87. <Cell col="8" text="근무지코드"/>
  88. <Cell col="9" text="근무지코드_원본"/>
  89. <Cell col="10" text="근무지기관코드_원본"/>
  90. </Band>
  91. <Band id="body">
  92. <Cell celltype="head" displaytype="number" edittype="none" style="align:center;" text="expr:currow+1"/>
  93. <Cell col="1" text="bind:isvalid"/>
  94. <Cell col="2" displaytype="text" text="bind:acntgrupnm"/>
  95. <Cell col="3" style="align:left;" text="bind:acntgrupcd"/>
  96. <Cell col="4" style="align:left;" text="bind:userid"/>
  97. <Cell col="5" style="align:left;" text="bind:usernm"/>
  98. <Cell col="6" displaytype="combo" edittype="combo" style="align:left;" text="bind:dutplceinstcd" combodataset="ds_Z0007" combocodecol="cdid" combodatacol="cdnm"/>
  99. <Cell col="7" displaytype="text" style="align: ;" text="bind:dutplcenm"/>
  100. <Cell col="8" style="align:left;" text="bind:dutplcecd"/>
  101. <Cell col="9" text="bind:dutplcecd_t"/>
  102. <Cell col="10" text="bind:dutplceinstcd_t"/>
  103. </Band>
  104. </Format>
  105. </Formats>
  106. </Grid>
  107. <Button id="button1" taborder="12" text="별칭추가" class="btn2" position="absolute 286 87 350 107" onclick="button1_onclick"/>
  108. <Button id="btn_save_excel" taborder="13" text="엑셀저장" class="btn2" position="absolute 964 87 1028 107" onclick="btn_save_excel_onclick" anchor="top right"/>
  109. <Button id="button2" taborder="14" text="엑셀입력" class="btn2" position="absolute 1031 87 1095 107" onclick="button2_onclick" anchor="top right"/>
  110. <Button id="btn_searchall" taborder="15" text="근무지변경" class="btn2" position="absolute 878 87 953 107" onclick="btn_searchall_onclick" anchor="top right"/>
  111. <Button id="button3" taborder="16" text="전체조회" class="btn2" position="absolute 811 87 875 107" onclick="button3_onclick" anchor="top right"/>
  112. <Static id="caption12" text="선택 계정그룹" class="tit_2" position="absolute 451 38 564 58"/>
  113. <Static id="caption11" text="계정그룹명" class="cell_1" position="absolute 451 60 586 83"/>
  114. <Edit id="opt_acntgrupnm" taborder="17" readonly="true" position="absolute 589 61 756 82" class="output"/>
  115. <Static id="caption2" text="계정그룹코드" class="cell_1" position="absolute 759 60 894 83"/>
  116. <Edit id="opt_acntgrupcd" taborder="18" readonly="true" position="absolute 897 61 1032 82" class="output"/>
  117. <Shape id="Shape00" class="line_10" position="absolute 451 56 1238 60" anchor="left top right"/>
  118. <Shape id="Shape01" class="line_1" position="absolute 451 84 1238 86" anchor="left top right"/>
  119. </Layout>
  120. </Layouts>
  121. <Objects>
  122. <Dataset id="ds_init_combo1" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  123. <ColumnInfo>
  124. <Column id="lable" type="STRING"/>
  125. <Column id="value" type="STRING"/>
  126. </ColumnInfo>
  127. <Rows>
  128. <Row>
  129. <Col id="lable">계정그룹명</Col>
  130. <Col id="value">acntgrupnm</Col>
  131. </Row>
  132. <Row>
  133. <Col id="lable">계정그룹코드</Col>
  134. <Col id="value">acntgrupcd</Col>
  135. </Row>
  136. </Rows>
  137. </Dataset>
  138. <Dataset id="ds_grd_acntgruplist" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  139. <ColumnInfo>
  140. <Column id="acntgrupnm" type="STRING"/>
  141. <Column id="acntgrupcd" type="STRING"/>
  142. <Column id="alias" type="STRING"/>
  143. </ColumnInfo>
  144. </Dataset>
  145. <Dataset id="ds_grd_acntitemlist" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  146. <ColumnInfo>
  147. <Column id="isvalid" type="STRING"/>
  148. <Column id="acntgrupnm" type="STRING"/>
  149. <Column id="acntgrupcd" type="STRING"/>
  150. <Column id="userid" type="STRING"/>
  151. <Column id="usernm" type="STRING"/>
  152. <Column id="dutplceinstcd" type="STRING"/>
  153. <Column id="dutplcenm" type="STRING"/>
  154. <Column id="dutplcecd" type="STRING"/>
  155. <Column id="dutplcecd_t" type="STRING"/>
  156. <Column id="dutplceinstcd_t" type="STRING"/>
  157. </ColumnInfo>
  158. </Dataset>
  159. <Dataset id="ds_Z0007" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  160. <ColumnInfo>
  161. <Column id="cdid" type="STRING" size="256"/>
  162. <Column id="cdnm" type="STRING" size="256"/>
  163. </ColumnInfo>
  164. </Dataset>
  165. </Objects>
  166. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  167. * System Name :
  168. * Job Name :
  169. * Creator :
  170. * Make Date : 2014-10-31
  171. * Description :
  172. *---------------------------------------------------------------------------------------
  173. * Modify Date Modifier Modify Description
  174. *---------------------------------------------------------------------------------------
  175. * 2014-10-31 Live Converter TF->XP
  176. *
  177. *---------------------------------------------------------------------------------------
  178. ****************************************************************************************/
  179. //=======================================================================================
  180. // Lib Include
  181. //---------------------------------------------------------------------------------------
  182. include "com_commonxp::comm_main.xjs"
  183. //=======================================================================================
  184. // Global Form Variable
  185. //---------------------------------------------------------------------------------------
  186. var gv_IsGridCheckAll = 0;
  187. var selected_index = new Array();
  188. //=======================================================================================
  189. // Function
  190. //---------------------------------------------------------------------------------------
  191. function SMZSA20200_oninit(obj:Form, e:InitEventInfo)
  192. {
  193. frmf_initForm(obj);
  194. //공통코드조회
  195. appf_getCodeList([ {dsNm: "ds_Z0007", cdGrpId: "Z0007"} ]);
  196. fInitialize();
  197. frmf_createPopupMenu("pmn_grp_popupMenu"
  198. , "pmn_grp_popupMenu_onmenuclick"
  199. , [{id: "setacntgrup", level: "1", title: "계정그룹수정"}, {id: "delacntgrup", level: "1", title: "계정그룹삭제"}]);
  200. grdf_setGridSort(grd_acntgruplist);
  201. grdf_setGridSort(grd_acntitemlist);
  202. }
  203. function fInitialize(){
  204. ds_grd_acntgruplist.clearData();
  205. ds_grd_acntitemlist.clearData();
  206. //model.resetInstanceNode("/root/temp/list");
  207. //model.removeNodeset("/root/hide/usergruplist");
  208. grp_sea.combo1.index = 0;
  209. //상태값 표시
  210. grdf_setRowTypeIcon(grd_acntgruplist, 0);
  211. }
  212. function grp_sea_ipt_search_item_onkeydown(obj:Edit, e:KeyEventInfo)
  213. {
  214. if(e.keycode == 13){
  215. grp_sea.btn_search.click();
  216. }
  217. }
  218. function grd_acntgruplist_onrbuttondown(obj:Grid, e:GridMouseEventInfo)
  219. {
  220. pmn_grp_popupMenu.trackPopup(e.screenX,e.screenY);
  221. }
  222. function pmn_grp_popupMenu_onmenuclick(obj:PopupMenu, e:MenuClickEventInfo){
  223. if(e.id == "setacntgrup"){ // 계정그룹수정
  224. var iRow = ds_grd_acntgruplist.rowposition;
  225. // modal("SPZSA20201_사용자그룹변경", "", "200", "200", "SPZSA20201","/root/main/list_grup/acntgruplist["+iRow+"]/acntgrupcd", "/root/send/acntgrupcd");
  226. var objArg = new Object();
  227. objArg.sVal01 = ds_grd_acntgruplist.getColumn(iRow, "acntgrupcd");
  228. var iProperties = "";
  229. iProperties = frmf_modal("SPZSA20201", "SPZSA20201", objArg, null, null, 200, 200);
  230. if(iProperties.length != "" && iProperties != undefined){
  231. grp_sea.btn_search.click();
  232. //model.setValue("/root/main/list_grup/acntgruplist[" + iRow + "]/acntgrupnm", iProperties);
  233. //ds_grd_acntgruplist.setColumn(iRow, "acntgrupnm");
  234. // 상태값 재변경
  235. // var arrPostion = new Array();
  236. // arrPostion[0] = iRow;
  237. // grdf_setStatus(ds_grd_acntgruplist, "D", arrPostion);
  238. } else {
  239. sysf_messageBox("데이터를 저장", "E001");
  240. }
  241. } else if(e.id == "delacntgrup"){ // 계정그룹삭제
  242. btn_delete_acntgrup.click();
  243. }
  244. }
  245. function grd_acntgruplist_oncelldblclick(obj:Grid, e:GridClickEventInfo)
  246. {
  247. var iRow = ds_grd_acntgruplist.rowposition;
  248. if( !utlf_isNull(ds_grd_acntgruplist.getColumn(iRow, "acntgrupnm"))){
  249. btn_search_acntitem.click();
  250. }
  251. }
  252. function btn_search_acntitem_onclick(obj:Button, e:ClickEventInfo)
  253. {
  254. //model.resetInstanceNode("/root/send");
  255. //model.resetInstanceNode("/root/temp/list");
  256. var iRow = ds_grd_acntgruplist.rowposition;
  257. //var iNode = "/root/main/list_grup/acntgruplist"
  258. opt_acntgrupnm.value = ds_grd_acntgruplist.getColumn(iRow, "acntgrupnm");
  259. opt_acntgrupcd.value = ds_grd_acntgruplist.getColumn(iRow, "acntgrupcd");
  260. var sInDsName = dsf_createDsRow("in_ds_search"
  261. , [{col: "optacntgrupcd", val: opt_acntgrupcd.value} ]);
  262. var oParam = {};
  263. oParam.id = "TRZSA20201";
  264. oParam.service = "authinfoapp.AuthInfo";
  265. oParam.method = "reqGetAcntItemList";
  266. oParam.inds = "req="+sInDsName;
  267. oParam.outds = "ds_grd_acntitemlist=acntitemlist";
  268. oParam.async = true;
  269. oParam.callback = "cf_TRZSA20201";
  270. tranf_submit(oParam);
  271. }
  272. function cf_TRZSA20201(sSvcId, nErrorCode, sErrorMsg) {
  273. if(nErrorCode < 0) return;
  274. }
  275. function btn_delete_acntgrup_onclick(obj:Button, e:ClickEventInfo)
  276. {
  277. var rtn = sysf_messageBox(" 해당 계정그룹을 ", "Q001");
  278. if(rtn == 6){
  279. fClicked("delete", grd_acntgruplist, "acntgrup");
  280. }
  281. }
  282. function fClicked(control, grid, param){
  283. if ("search" == control){
  284. fSearchClick(grid, param);
  285. } else if ("init" == control){
  286. this.reload();
  287. } else if ("save" == control){
  288. fSaveClick(grid, param);
  289. } else if ("delete" == control){
  290. fDeleteClick(grid, param);
  291. }else {
  292. sysf_messageBox("처리를 수행","E002");
  293. }
  294. }
  295. function fSearchClick(grid,param){
  296. ds_grd_acntgruplist.clearData();
  297. var sInDsName = dsf_createDsRow("in_ds_search"
  298. , [ {col: "searchitem", val: grp_sea.ipt_search_item.value}
  299. ,{col: "flag", val: grp_sea.combo1.value} ]);
  300. var oParam = {};
  301. oParam.id = "TRZSA20200";
  302. oParam.service = "authinfoapp.AuthInfo";
  303. oParam.method = "reqGetAcntGrupList";
  304. oParam.inds = "req="+sInDsName;
  305. oParam.outds = "ds_grd_acntgruplist=acntgruplist";
  306. oParam.async = true;
  307. oParam.callback = "cf_TRZSA20200";
  308. tranf_submit(oParam);
  309. }
  310. function cf_TRZSA20200(sSvcId, nErrorCode, sErrorMsg) {
  311. if(nErrorCode < 0) return;
  312. }
  313. function fSaveClick(grid, param){
  314. if("acntgrup" == param){
  315. var oParam = {};
  316. oParam.id = "TXZSA20200";
  317. oParam.service = "authinfoapp.AuthInfo";
  318. oParam.method = "reqExeSaveAcntGrupInfo";
  319. oParam.inds = "req=ds_grd_acntgruplist:U";
  320. oParam.outds = "null";
  321. oParam.async = false;
  322. oParam.callback = "cf_TXZSA20200";
  323. tranf_submit(oParam);
  324. } else if("acntitem" == param){
  325. var oParam = {};
  326. oParam.id = "TXZSA20201";
  327. oParam.service = "authinfoapp.AuthInfo";
  328. oParam.method = "reqExeSaveAcntItemInfo";
  329. oParam.inds = "req=ds_grd_acntitemlist:U";
  330. oParam.outds = "null";
  331. oParam.async = false;
  332. oParam.callback = "cf_TXZSA20201";
  333. tranf_submit(oParam);
  334. }
  335. }
  336. function cf_TXZSA20200(sSvcId, nErrorCode, sErrorMsg) {
  337. if(nErrorCode < 0) return;
  338. }
  339. function cf_TXZSA20201(sSvcId, nErrorCode, sErrorMsg) {
  340. if(nErrorCode < 0) return;
  341. // 다시 조회해옴
  342. btn_search_acntitem.click();
  343. }
  344. function fDeleteClick(grid, param){
  345. if(param == "acntgrup"){
  346. var arrPostion = new Array();
  347. arrPostion[0] = ds_grd_acntgruplist.rowposition;
  348. grdf_setStatus(grd_acntgruplist, "D", arrPostion);
  349. var oParam = {};
  350. oParam.id = "TXZSA20200";
  351. oParam.service = "authinfoapp.AuthInfo";
  352. oParam.method = "reqExeSaveAcntGrupInfo";
  353. oParam.inds = "req=ds_grd_acntgruplist:U";
  354. oParam.outds = "null";
  355. oParam.async = false;
  356. oParam.callback = "cf_TXZSA20200_2";
  357. tranf_submit(oParam);
  358. } else if(param == "acntitem"){
  359. var is_selected;
  360. var row_status;
  361. // 다중 셀렉트된 행을 체크표시한다
  362. var index = grdf_getSelectedRows(grd_acntitemlist);
  363. for (var i= 0; i < grd_acntitemlist.selectcount; i++)
  364. {
  365. //row_status=grid.rowstatus(index);
  366. row_status = ds_grd_acntitemlist.getRowType(index[i]);
  367. if(row_status==2) // 새로 추가된 상태이면
  368. {
  369. var arrPostion = new Array();
  370. arrPostion[0] = index[i];
  371. grdf_setStatus(grd_acntitemlist, "", arrPostion);
  372. }
  373. else
  374. {
  375. var arrPostion = new Array();
  376. arrPostion[0] = index[i];
  377. grdf_setStatus(grd_acntitemlist, "D", arrPostion);
  378. }
  379. }
  380. var oParam = {};
  381. oParam.id = "TXZSA20201";
  382. oParam.service = "authinfoapp.AuthInfo";
  383. oParam.method = "reqExeSaveAcntItemInfo";
  384. oParam.inds = "req=ds_grd_acntitemlist:U";
  385. oParam.outds = "null";
  386. oParam.async = false;
  387. oParam.callback = "cf_TXZSA20201_2";
  388. tranf_submit(oParam);
  389. }
  390. }
  391. function cf_TXZSA20200_2(sSvcId, nErrorCode, sErrorMsg) {
  392. if(nErrorCode < 0) return;
  393. // btn_search_acntitem.click();
  394. var jRow = ds_grd_acntgruplist.rowposition;
  395. ds_grd_acntgruplist.deleteRow(jRow);
  396. }
  397. function cf_TXZSA20201_2(sSvcId, nErrorCode, sErrorMsg) {
  398. if(nErrorCode < 0) return;
  399. btn_search_acntitem.click();
  400. // var index = "";
  401. //
  402. // // 다중 셀렉트된 행을 체크표시한다
  403. // for (var i= selected_index.length-1; i >= 0; i--)
  404. // {
  405. // index = selected_index[i];
  406. // ds_grd_acntitemlist.deleteRow(index);
  407. // }
  408. }
  409. function button1_onclick(obj:Button, e:ClickEventInfo)
  410. {
  411. var iRow = ds_grd_acntgruplist.rowposition;
  412. if(iRow > -1){
  413. var iProperties = frmf_modal("SPZSA20203", "SPZSA20203", null, null, null, 200, 200);
  414. if(!utlf_isNull(iProperties)){
  415. ds_grd_acntgruplist.setColumn(iRow, "alias", iProperties);
  416. } else {
  417. sysf_messageBox("데이터를 저장", "E001");
  418. }
  419. }
  420. }
  421. function btn_add_acntgrup_onclick(obj:Button, e:ClickEventInfo)
  422. {
  423. ds_grd_acntgruplist.addRow();
  424. //grd_acntgruplist.editCell();
  425. }
  426. function btn_save_acntgrup_onclick(obj:Button, e:ClickEventInfo)
  427. {
  428. fClicked("save", grd_acntgruplist, "acntgrup");
  429. grp_sea.btn_search.click();
  430. }
  431. function button3_onclick(obj:Button, e:ClickEventInfo)
  432. {
  433. opt_acntgrupnm.value = "";
  434. opt_acntgrupcd.value = "";
  435. var sInDsName = dsf_createDsRow("in_ds_search"
  436. , [{col: "optacntgrupcd", val: opt_acntgrupcd.value} ]);
  437. var oParam = {};
  438. oParam.id = "TRZSA20201";
  439. oParam.service = "authinfoapp.AuthInfo";
  440. oParam.method = "reqGetAcntItemList";
  441. oParam.inds = "req="+sInDsName;
  442. oParam.outds = "ds_grd_acntitemlist=acntitemlist";
  443. oParam.async = true;
  444. oParam.callback = "cf_TRZSA20201";
  445. tranf_submit(oParam);
  446. }
  447. function btn_searchall_onclick(obj:Button, e:ClickEventInfo)
  448. {
  449. var objArg = new Object();
  450. objArg.SPZSA20202_1 = 5;
  451. var iProperties = frmf_modal("SPZSA20202", "SPZSA20202", objArg);
  452. if(!utlf_isNull(iProperties)){
  453. var iSplit_Value = iProperties.split("|");
  454. if(iSplit_Value.length > 0 && !utlf_isNull(iSplit_Value[0])){
  455. // 다중 셀렉트된 행을 체크표시한다
  456. var index = grdf_getSelectedRows(grd_acntitemlist);
  457. for (var i= 0; i < grd_acntitemlist.selectcount; i++)
  458. {
  459. ds_grd_acntitemlist.setColumn(index[i], "dutplceinstcd", iSplit_Value[3]); // 근무지 기관코드
  460. ds_grd_acntitemlist.setColumn(index[i], "dutplcecd", iSplit_Value[1]); // 근무지코드
  461. ds_grd_acntitemlist.setColumn(index[i], "dutplcenm", iSplit_Value[2]); // 근무지명
  462. ds_grd_acntitemlist.setColumn(index[i], "dutplceinstcd_t", ds_grd_acntitemlist.getOrgColumn(index[i], "dutplceinstcd")); // 근무지 기관코드
  463. ds_grd_acntitemlist.setColumn(index[i], "dutplcecd_t", ds_grd_acntitemlist.getOrgColumn(index[i], "dutplcecd")); // 근무지코드
  464. }
  465. sysf_messageBox("수정된 데이터를 확인하여 반드시 저장버튼을 클릭하세요", "I999");
  466. } else {
  467. sysf_messageBox("데이터를 저장", "E001");
  468. }
  469. }
  470. }
  471. function btn_save_excel_onclick(obj:Button, e:ClickEventInfo)
  472. {
  473. var excelFileName = "사용자그룹";
  474. grdf_exportExcel(grd_acntitemlist, excelFileName, opt_acntgrupnm.value, false, "", "user", true );
  475. }
  476. function button2_onclick(obj:Button, e:ClickEventInfo)
  477. {
  478. if(ds_grd_acntitemlist.rowcount > 0)
  479. {
  480. sysf_messageBox("해당 메뉴전체가 삭제된 후에 메뉴엑셀입력이 ", "I006");
  481. return;
  482. }
  483. grdf_ImportExcel("ds_grd_acntitemlist", 2, grd_acntitemlist, 1); // 타이틀 제외한 2열부터 입력
  484. }
  485. function btn_reg_onclick(obj:Button, e:ClickEventInfo)
  486. {
  487. if(utlf_isNull(opt_acntgrupcd.value)){
  488. alert("계정그룹을 선택하십시요!");
  489. } else {
  490. var iProperties = frmf_modal("SPZSU10103", "SPZSU10103", null, null, null, 200, 200, null, null, null, null, null, "M");
  491. if(!utlf_isNull(iProperties)){
  492. var iNodesetCount = iProperties.rowcount;
  493. for(var i = 0; i < iNodesetCount; i++){
  494. var iRow = ds_grd_acntitemlist.addRow();
  495. ds_grd_acntitemlist.setColumn(iRow, "acntgrupnm", opt_acntgrupnm.value);
  496. ds_grd_acntitemlist.setColumn(iRow, "acntgrupcd", opt_acntgrupcd.value);
  497. ds_grd_acntitemlist.setColumn(iRow, "userid", iProperties.getColumn(i, "userid"));
  498. ds_grd_acntitemlist.setColumn(iRow, "usernm", iProperties.getColumn(i, "usernm"));
  499. ds_grd_acntitemlist.setColumn(iRow, "dutplceinstcd", iProperties.getColumn(i, "dutplceinstcd"));
  500. ds_grd_acntitemlist.setColumn(iRow, "dutplcecd", iProperties.getColumn(i, "dutplcecd"));
  501. ds_grd_acntitemlist.setColumn(iRow, "dutplcenm", iProperties.getColumn(i, "dutplcenm"));
  502. }
  503. } else {
  504. sysf_messageBox("데이터를 저장", "E001");
  505. }
  506. }
  507. }
  508. function grp_sea_btn_search_onclick(obj:Button, e:ClickEventInfo)
  509. {
  510. fClicked("search", grd_acntgruplist);
  511. opt_acntgrupnm.value = "";
  512. opt_acntgrupcd.value = "";
  513. }
  514. function grd_acntgruplist_onlbuttondown(obj:Grid, e:GridMouseEventInfo)
  515. {
  516. var dsObj = eval(obj.binddataset);
  517. if(dsObj.getRowType(e.row) == "2"){
  518. obj.autoenter = "select";
  519. } else {
  520. obj.autoenter = "none";
  521. }
  522. }
  523. function btn_delete_acntitem_onclick(obj:Button, e:ClickEventInfo)
  524. {
  525. var cnt=0;
  526. // 다중 셀렉트된 행의 갯수를 파악한다.
  527. var index = grdf_getSelectedRows(grd_acntitemlist);
  528. for (var i= 0; i < grd_acntitemlist.selectcount; i++)
  529. {
  530. row_status = ds_grd_acntitemlist.getRowType(index[i]);
  531. if(row_status != 2) // 새로 추가된 상태가 아니면
  532. {
  533. cnt++;
  534. }
  535. }
  536. var rtn = sysf_messageBox("총 "+ cnt +"개의 선택된 계정그룹항목을", "Q001");
  537. if(rtn == 6){
  538. fClicked("delete", grd_acntitemlist, "acntitem");
  539. }
  540. }
  541. function btn_save_acntitem_onclick(obj:Button, e:ClickEventInfo)
  542. {
  543. fClicked("save", grd_acntitemlist, "acntitem");
  544. }
  545. ]]></Script>
  546. </Form>
  547. </FDL>