SMZSA20300_메뉴관리.xfdl 41 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMZSA20300" position="absolute 0 0 1238 805" titletext="메뉴관리" oninit="SMZSA20300_oninit" onload="SMZSA20300_onload">
  5. <Layouts>
  6. <Layout>
  7. <Div position="absolute 0 24 378 84" align="align:center top;" id="grp_sea" class="div_SA" anchor="default">
  8. <Layouts>
  9. <Layout>
  10. <Static text="메뉴그룹조회" position="absolute 15 11 108 28" id="caption1" class="search_name" anchor="default"/>
  11. <Shape position="absolute 296 7 302 51" linetype="vertical" id="line1" anchor="default"/>
  12. <Button position="absolute 312 20 368 40" id="btn_search" class="btn1" text="조회" onclick="grp_sea_btn_search_onclick" anchor="default" taborder="0"/>
  13. <Edit position="absolute 126 33 260 53" id="ipt_search_item" class="input_s_essential" anchor="default" onkeydown="grp_sea_ipt_search_item_onkeydown"/>
  14. <Combo position="absolute 126 8 260 28" id="combo1" class="combo_search" innerdataset="ds_init_combo1" datacolumn="lable" codecolumn="value" anchor="default"/>
  15. </Layout>
  16. </Layouts>
  17. </Div>
  18. <Static text="메뉴그룹" position="absolute 0 94 76 115" align="align:center middle;" id="caption9" class="tit_2" anchor="default"/>
  19. <Grid position="absolute 0 113 378 805" id="grd_menugruplist" binddataset="ds_grd_menugruplist" anchor="left top bottom" onrbuttondown="grd_menugruplist_onrbuttondown" oncelldblclick="grd_menugruplist_oncelldblclick" autofittype="col" autoenter="key" autoupdatetype="comboselect" onenterdown="grd_menugruplist_onenterdown">
  20. <Formats>
  21. <Format id="default">
  22. <Columns>
  23. <Column size="25"/>
  24. <Column size="131"/>
  25. <Column size="80"/>
  26. <Column size="67"/>
  27. <Column size="0"/>
  28. <Column size="0"/>
  29. <Column size="0"/>
  30. <Column size="0"/>
  31. <Column size="30"/>
  32. <Column size="40"/>
  33. </Columns>
  34. <Rows>
  35. <Row size="28" band="head"/>
  36. <Row size="24"/>
  37. </Rows>
  38. <Band id="head">
  39. <Cell/>
  40. <Cell col="1" text="메뉴그룹명"/>
  41. <Cell col="2" text="메뉴그룹코드"/>
  42. <Cell col="3" text="사용처"/>
  43. <Cell col="4" text="사용부서코드"/>
  44. <Cell col="5" text="시스템코드"/>
  45. <Cell col="6" text="최초등록자ID"/>
  46. <Cell col="7" text="최종수정자ID"/>
  47. <Cell col="8" text="VPN&#13;&#10;권한"/>
  48. <Cell col="9" text="사용&#13;&#10;시스템"/>
  49. </Band>
  50. <Band id="body">
  51. <Cell displaytype="normal"/>
  52. <Cell col="1" displaytype="text" edittype="text" text="bind:menugrupnm" editimemode="hangul"/>
  53. <Cell col="2" text="bind:menugrupcd"/>
  54. <Cell col="3" style="align:left;" text="bind:prestdeptnm"/>
  55. <Cell col="4" text="bind:prestdeptcd"/>
  56. <Cell col="5" text="bind:syscd"/>
  57. <Cell col="6" text="bind:fstrgstrid"/>
  58. <Cell col="7" text="bind:lastupdtrid"/>
  59. <Cell col="8" displaytype="combo" edittype="combo" style="align:center;" text="bind:vpnauthyn" combodataset="ds_combo" combocodecol="cdid" combodatacol="cdid" combodisplay="edit"/>
  60. <Cell col="9" displaytype="combo" edittype="combo" text="bind:usesys" combodataset="ds_usesys" combocodecol="value" combodatacol="label"/>
  61. </Band>
  62. </Format>
  63. </Formats>
  64. </Grid>
  65. <Button position="absolute 337 91 379 111" id="btn_save_menugrup" class="btn5" text="저장" anchor="default" onclick="btn_save_menugrup_onclick"/>
  66. <Button position="absolute 294 91 336 111" id="btn_add_menugrup" class="btn2" text="추가" anchor="default" onclick="btn_add_menugrup_onclick"/>
  67. <Button position="absolute 110 91 152 111" id="btn_delete_menugrup" class="btn2_letter2" visible="false" text="삭제" anchor="default" onclick="btn_delete_menugrup_onclick"/>
  68. <Button position="absolute 85 91 127 111" id="btn_search_menuitem" class="btn2_letter2" visible="false" text="조회" anchor="default" onclick="btn_search_menuitem_onclick"/>
  69. <Button position="absolute 950 91 1014 111" id="btn_add_menu" class="btn2" text="업무추가" anchor="top right" onclick="btn_add_menu_onclick"/>
  70. <Button position="absolute 883 91 947 111" id="btn_add_menuitem" class="btn2" text="신규추가" anchor="top right" onclick="btn_add_menuitem_onclick"/>
  71. <Button position="absolute 1017 91 1081 111" id="btn_add_scrn" class="btn2" text="화면추가" anchor="top right" onclick="btn_add_scrn_onclick"/>
  72. <Grid position="absolute 383 113 1238 805" id="grd_menuitemlist" class="datagrid2" binddataset="ds_grd_menuitemlist" anchor="all" onrbuttondown="grd_menuitemlist_onrbuttondown" oncelldblclick="grd_menuitemlist_oncelldblclick" oncellclick="grd_menuitemlist_oncellclick" treeusecheckbox="false" onenterdown="grd_menuitemlist_onenterdown" autoupdatetype="itemselect" autoenter="key" cellclickbound="cell" cellsizingtype="both">
  73. <Formats>
  74. <Format id="default">
  75. <Columns>
  76. <Column size="25" band="left"/>
  77. <Column size="0" band="left"/>
  78. <Column size="220" band="left"/>
  79. <Column size="80"/>
  80. <Column size="80"/>
  81. <Column size="42"/>
  82. <Column size="42"/>
  83. <Column size="42"/>
  84. <Column size="100"/>
  85. <Column size="119"/>
  86. <Column size="90"/>
  87. <Column size="0"/>
  88. <Column size="100"/>
  89. <Column size="100"/>
  90. <Column size="100"/>
  91. <Column size="100"/>
  92. <Column size="100"/>
  93. </Columns>
  94. <Rows>
  95. <Row size="28" band="head"/>
  96. <Row size="24"/>
  97. </Rows>
  98. <Band id="head">
  99. <Cell/>
  100. <Cell col="1" text="level"/>
  101. <Cell col="2" text="메뉴항목명"/>
  102. <Cell col="3" text="메뉴항목코드"/>
  103. <Cell col="4" text="상위&#10;메뉴항목코드"/>
  104. <Cell col="5" text="기본&#10;화면"/>
  105. <Cell col="6" text="업무&#10;구분"/>
  106. <Cell col="7" text="조회&#10;순서"/>
  107. <Cell col="8" text="화면위치"/>
  108. <Cell col="9" text="화면명"/>
  109. <Cell col="10" text="화면코드"/>
  110. <Cell col="11" text="비고"/>
  111. <Cell col="12" text="메뉴그룹코드"/>
  112. <Cell col="13" text="메뉴 파라미터"/>
  113. <Cell col="14" text="TempItemCD"/>
  114. <Cell col="15" text="TempUpItemCD"/>
  115. <Cell col="16" text="메뉴설명"/>
  116. </Band>
  117. <Band id="body">
  118. <Cell displaytype="normal"/>
  119. <Cell col="1" text="bind:levl"/>
  120. <Cell col="2" displaytype="tree" edittype="tree" style="align:left middle;" text="bind:menuitemnm" editautoselect="true" treestartlevel="1" treelevel="bind:menu_level"/>
  121. <Cell col="3" text="bind:menuitemcd"/>
  122. <Cell col="4" text="bind:upmenuitemcd"/>
  123. <Cell col="5" displaytype="checkbox" edittype="checkbox" text="bind:basescrn" expr="expr:basescrn=='Y'?'1':'0'"/>
  124. <Cell col="6" displaytype="checkbox" edittype="checkbox" text="bind:menuscrnflag" expr="expr:(menuscrnflag == &quot;Y&quot; || menuscrnflag == 1) ? 1 : 0"/>
  125. <Cell col="7" displaytype="text" edittype="text" text="bind:searchseq"/>
  126. <Cell col="8" displaytype="combo" edittype="combo" text="bind:scrnflag" combodataset="ds_scrnflag" combocodecol="value" combodatacol="label"/>
  127. <Cell col="9" style="align:left;" text="bind:scrnurlxp"/>
  128. <Cell col="10" displaytype="text" edittype="text" text="bind:scrncd"/>
  129. <Cell col="11" text="bind:rem"/>
  130. <Cell col="12" text="bind:menugrupcd"/>
  131. <Cell col="13" displaytype="text" edittype="text" text="bind:menuparam"/>
  132. <Cell col="14" text="bind:tempitemcd"/>
  133. <Cell col="15" text="bind:tempupitemcd"/>
  134. <Cell col="16" displaytype="text" edittype="text" text="bind:menuitemdesc"/>
  135. </Band>
  136. </Format>
  137. </Formats>
  138. </Grid>
  139. <Static text="메뉴항목" position="absolute 383 93 470 113" id="caption3" class="tit_2" anchor="default"/>
  140. <Button position="absolute 1151 91 1193 111" id="btn_delete_menuitem" class="btn2" text="삭제" anchor="top right" onclick="btn_delete_menuitem_onclick"/>
  141. <Button position="absolute 1196 91 1238 111" id="btn_save_menuitem" class="btn5" text="저장" anchor="top right" onclick="btn_save_menuitem_onclick"/>
  142. <Static text="메뉴그룹(명/코드)" position="absolute 383 60 518 83" id="caption11" class="cell_1" anchor="default"/>
  143. <Edit position="absolute 521 61 656 82" id="opt_menugrupnm" anchor="default" readonly="true" class="output"/>
  144. <Edit readonly="true" position="absolute 659 61 794 82" id="opt_menugrupcd" anchor="default" class="output"/>
  145. <Static text="선택 메뉴그룹" position="absolute 383 38 496 58" id="caption12" class="tit_2" anchor="default"/>
  146. <Button position="absolute 1084 91 1148 111" id="btn_alldelete_menuitem" class="btn2" text="전체삭제" anchor="top right" onclick="btn_alldelete_menuitem_onclick"/>
  147. <Button position="absolute 816 91 880 111" id="btn_ins_excel" class="btn2" text="엑셀입력" anchor="top right" onclick="btn_ins_excel_onclick"/>
  148. <Button position="absolute 749 91 813 111" id="btn_save_excel" class="btn2" text="엑셀저장" anchor="top right" onclick="btn_save_excel_onclick"/>
  149. <Button position="absolute 614 91 678 111" id="button1" class="btn5" visible="false" text="MAX저장" anchor="top right" onclick="button1_onclick"/>
  150. <Button position="absolute 218 91 293 111" id="button2" class="btn2" text="사용처삭제" anchor="default" onclick="button2_onclick"/>
  151. <Grid position="absolute 905 619 1155 704" id="grd_ins_form_menuinfo" class="datagrid2" visible="false" binddataset="ds_grd_ins_form_menuinfo" anchor="default">
  152. <Formats>
  153. <Format id="default">
  154. <Columns>
  155. <Column size="100"/>
  156. <Column size="100"/>
  157. <Column size="100"/>
  158. <Column size="100"/>
  159. <Column size="100"/>
  160. <Column size="100"/>
  161. <Column size="100"/>
  162. <Column size="100"/>
  163. <Column size="100"/>
  164. <Column size="100"/>
  165. <Column size="100"/>
  166. <Column size="100"/>
  167. <Column size="100"/>
  168. <Column size="100"/>
  169. <Column size="100"/>
  170. </Columns>
  171. <Rows>
  172. <Row size="24" band="head"/>
  173. <Row size="24"/>
  174. </Rows>
  175. <Band id="head">
  176. <Cell/>
  177. <Cell col="1" text="메뉴항목명"/>
  178. <Cell col="2"/>
  179. <Cell col="3"/>
  180. <Cell col="4" text="기본화면"/>
  181. <Cell col="5" text="업무구분"/>
  182. <Cell col="6" text="조회순서"/>
  183. <Cell col="7"/>
  184. <Cell col="8"/>
  185. <Cell col="9" text="화면코드"/>
  186. <Cell col="10"/>
  187. <Cell col="11" text="메뉴그룹코드"/>
  188. <Cell col="12" text="메뉴 파라미터"/>
  189. <Cell col="13" text="TempItemCD"/>
  190. <Cell col="14" text="TempUpItemCD"/>
  191. </Band>
  192. <Band id="body">
  193. <Cell text="bind:levl"/>
  194. <Cell col="1" text="bind:menuitemnm"/>
  195. <Cell col="2" text="bind:menuitemcd"/>
  196. <Cell col="3" text="bind:upmenuitemcd"/>
  197. <Cell col="4" text="bind:basescrn" edittype="checkbox" displaytype="checkbox"/>
  198. <Cell col="5" text="bind:menuscrnflag" edittype="checkbox" displaytype="checkbox"/>
  199. <Cell col="6" text="bind:searchseq" edittype="text" displaytype="text"/>
  200. <Cell col="7" text="bind:scrnflag" edittype="combo" displaytype="combo"/>
  201. <Cell col="8" text="bind:scrnnm"/>
  202. <Cell col="9" text="bind:scrncd" edittype="text" displaytype="text"/>
  203. <Cell col="10" text="bind:rem"/>
  204. <Cell col="11" text="bind:menugrupcd"/>
  205. <Cell col="12" text="bind:menuparam" edittype="text" displaytype="text"/>
  206. <Cell col="13" text="bind:tempitemcd"/>
  207. <Cell col="14" text="bind:tempupitemcd"/>
  208. </Band>
  209. </Format>
  210. </Formats>
  211. </Grid>
  212. <Button position="absolute 142 91 217 111" id="button3" class="btn2" text="사용처추가" onclick="button3_onclick" anchor="default"/>
  213. <Shape id="Shape00" position="absolute 383 56 1238 60" class="line_10" anchor="left top right"/>
  214. <Static id="caption6" text="메뉴관리" class="tit_1" position="absolute 0 0 98 25"/>
  215. <Shape id="Shape01" position="absolute 383 84 1237 86" class="line_1" anchor="left top right"/>
  216. </Layout>
  217. </Layouts>
  218. <Objects>
  219. <Dataset id="ds_init_combo1" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  220. <ColumnInfo>
  221. <Column id="lable" type="STRING"/>
  222. <Column id="value" type="STRING"/>
  223. </ColumnInfo>
  224. <Rows>
  225. <Row>
  226. <Col id="lable">메뉴그룹명</Col>
  227. <Col id="value">menugrupnm</Col>
  228. </Row>
  229. <Row>
  230. <Col id="lable">메뉴그룹코드</Col>
  231. <Col id="value">menugrupcd</Col>
  232. </Row>
  233. </Rows>
  234. </Dataset>
  235. <Dataset id="ds_grd_menugruplist" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  236. <ColumnInfo>
  237. <Column id="menugrupnm" type="STRING" size="256"/>
  238. <Column id="menugrupcd" type="STRING" size="256"/>
  239. <Column id="prestdeptnm" type="STRING" size="256"/>
  240. <Column id="prestdeptcd" type="STRING" size="256"/>
  241. <Column id="syscd" type="STRING" size="256"/>
  242. <Column id="fstrgstrid" type="STRING" size="256"/>
  243. <Column id="lastupdtrid" type="STRING" size="256"/>
  244. <Column id="vpnauthyn" type="STRING" size="256"/>
  245. <Column id="usesys" type="STRING" size="256"/>
  246. </ColumnInfo>
  247. </Dataset>
  248. <Dataset id="ds_grd_menuitemlist" firefirstcount="0" firenextcount="0" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false" oncolumnchanged="ds_grd_menuitemlist_oncolumnchanged" useclientlayout="true">
  249. <ColumnInfo>
  250. <Column id="menu_level" type="STRING" size="256"/>
  251. <Column id="menuitemnm" type="STRING" size="256"/>
  252. <Column id="menuitemcd" type="STRING" size="256"/>
  253. <Column id="upmenuitemcd" type="STRING" size="256"/>
  254. <Column id="basescrn" type="STRING" size="256"/>
  255. <Column id="menuscrnflag" type="STRING" size="256"/>
  256. <Column id="searchseq" type="STRING" size="256"/>
  257. <Column id="scrnflag" type="STRING" size="256"/>
  258. <Column id="scrnurl" type="STRING" size="256"/>
  259. <Column id="scrnurlxp" type="STRING" size="256"/>
  260. <Column id="scrncd" type="STRING" size="256"/>
  261. <Column id="rem" type="STRING" size="256"/>
  262. <Column id="menugrupcd" type="STRING" size="256"/>
  263. <Column id="menuparam" type="STRING" size="256"/>
  264. <Column id="tempitemcd" type="STRING" size="256"/>
  265. <Column id="tempupitemcd" type="STRING" size="256"/>
  266. <Column id="menuitemdesc" type="STRING" size="256"/>
  267. </ColumnInfo>
  268. </Dataset>
  269. <Dataset id="ds_grd_ins_form_menuinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  270. <ColumnInfo>
  271. <Column id="levl" type="STRING"/>
  272. <Column id="menuitemnm" type="STRING"/>
  273. <Column id="menuitemcd" type="STRING"/>
  274. <Column id="upmenuitemcd" type="STRING"/>
  275. <Column id="basescrn" type="STRING"/>
  276. <Column id="menuscrnflag" type="STRING"/>
  277. <Column id="searchseq" type="STRING"/>
  278. <Column id="scrnflag" type="STRING"/>
  279. <Column id="scrnnm" type="STRING"/>
  280. <Column id="scrncd" type="STRING"/>
  281. <Column id="rem" type="STRING"/>
  282. <Column id="menugrupcd" type="STRING"/>
  283. <Column id="menuparam" type="STRING"/>
  284. <Column id="tempitemcd" type="STRING"/>
  285. <Column id="tempupitemcd" type="STRING"/>
  286. </ColumnInfo>
  287. </Dataset>
  288. <Dataset id="ds_combo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  289. <Dataset id="ds_send_search" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  290. <ColumnInfo>
  291. <Column id="searchitem" type="STRING" size="256" sumtext="메뉴그룹명or메뉴그룹코드"/>
  292. <Column id="flag" type="STRING" size="256" sumtext="메뉴그룹명or메뉴그룹코드flag"/>
  293. </ColumnInfo>
  294. </Dataset>
  295. <Dataset id="ds_scrnflag" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  296. <ColumnInfo>
  297. <Column id="label" type="STRING" size="256"/>
  298. <Column id="value" type="STRING" size="256"/>
  299. </ColumnInfo>
  300. <Rows>
  301. <Row>
  302. <Col id="label">-</Col>
  303. </Row>
  304. <Row>
  305. <Col id="label">MAIN</Col>
  306. <Col id="value">M</Col>
  307. </Row>
  308. <Row>
  309. <Col id="label">MODALESS</Col>
  310. <Col id="value">P</Col>
  311. </Row>
  312. <Row>
  313. <Col id="label">FRAMELESS</Col>
  314. <Col id="value">F</Col>
  315. </Row>
  316. </Rows>
  317. </Dataset>
  318. <Dataset id="ds_usesys" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  319. <ColumnInfo>
  320. <Column id="value" type="STRING" size="256"/>
  321. <Column id="label" type="STRING" size="256"/>
  322. </ColumnInfo>
  323. <Rows>
  324. <Row>
  325. <Col id="value">A</Col>
  326. <Col id="label">전체</Col>
  327. </Row>
  328. <Row>
  329. <Col id="value">T</Col>
  330. <Col id="label">TF</Col>
  331. </Row>
  332. <Row>
  333. <Col id="value">X</Col>
  334. <Col id="label">XP</Col>
  335. </Row>
  336. <Row>
  337. <Col id="value">N</Col>
  338. <Col id="label">NX</Col>
  339. </Row>
  340. </Rows>
  341. </Dataset>
  342. </Objects>
  343. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  344. * System Name :
  345. * Job Name :
  346. * Creator :
  347. * Make Date : 2014-10-31
  348. * Description :
  349. *---------------------------------------------------------------------------------------
  350. * Modify Date Modifier Modify Description
  351. *---------------------------------------------------------------------------------------
  352. * 2014-10-31 Live Converter TF->XP
  353. *
  354. *---------------------------------------------------------------------------------------
  355. ****************************************************************************************/
  356. //=======================================================================================
  357. // Lib Include
  358. //---------------------------------------------------------------------------------------
  359. include "com_commonxp::comm_main.xjs"
  360. //=======================================================================================
  361. // Global Form Variable
  362. //---------------------------------------------------------------------------------------
  363. var TempItemCD = 0;
  364. //=======================================================================================
  365. // Function
  366. //---------------------------------------------------------------------------------------
  367. function SMZSA20300_oninit(obj:Form, e:InitEventInfo)
  368. {
  369. frmf_initForm(obj);
  370. }
  371. function SMZSA20300_onload(obj:Form, e:LoadEventInfo)
  372. {
  373. var arrParam = new Array();
  374. arrParam = [{dsNm: "ds_combo", cdGrpId: "Z0017", sortField: "cdnm", sortMehotd: "asc", showValue:true}];
  375. appf_getCodeList(arrParam, true);
  376. grdf_setGridSort(grd_menugruplist);
  377. frmf_createPopupMenu("pmn_grp_popupMenu"
  378. , "pmn_grp_popupMenu_onmenuclick"
  379. , [{id: "delmenugrupinfo", level: "1", title: "메뉴그룹삭제"}, {id: "setmenugrupinfo", level: "1", title: "메뉴그룹수정"}]);
  380. frmf_createPopupMenu("pmn_item_popupMenu"
  381. , "pmn_item_popupMenu_onmenuclick"
  382. , [{id: "addnew", level: "1", title: "신규추가"},
  383. {id: "addmenu", level: "1", title: "업무추가"},
  384. {id: "addscrn", level: "1", title: "화면추가"} ]);
  385. fInitialize();
  386. }
  387. function fInitialize()
  388. {
  389. grdf_setRowTypeIcon(grd_menugruplist, 0); //상태값 표시
  390. grdf_setRowTypeIcon(grd_menuitemlist, 0); //상태값 표시
  391. ds_grd_menugruplist.clearData();
  392. //ds_grd_menugruplist.addRow();
  393. ds_grd_menuitemlist.clearData();
  394. //ds_grd_menuitemlist.addRow();
  395. // model.removeNodeset("/root/main/mglist/menugruplist");
  396. // model.removeNodeset("/root/main/list/menuitemlist");
  397. // grd_menugruplist.colhidden(4)=true;
  398. grp_sea.combo1.index = 0;
  399. grp_sea.ipt_search_item.setFocus();
  400. }
  401. function grp_sea_btn_search_onclick(obj:Button, e:ClickEventInfo)
  402. {
  403. ds_grd_menugruplist.clearData();
  404. fClicked("search", grd_menugruplist);
  405. }
  406. function fClicked(control, grid, param)
  407. {
  408. if ("search" == control){
  409. fSearchClick(grid, param);
  410. } else if ("init" == control){
  411. this.reload();
  412. } else if ("save" == control){
  413. fSaveClick(grid, param);
  414. } else if ("delete" == control){
  415. fDeleteClick(grid, param);
  416. }else{
  417. sysf_messageBox("처리를 수행","E002");
  418. }
  419. }
  420. function fSearchClick(grid,param){
  421. ///grid.explorerbar = "sortshow";
  422. ///model.removeNodeset("/root/main/list/menugruplist");
  423. ///grid.clearData();
  424. ds_send_search.clearData();
  425. ds_send_search.addRow();
  426. ds_send_search.setColumn(0, "searchitem", grp_sea.ipt_search_item.value);
  427. ds_send_search.setColumn(0, "flag", grp_sea.combo1.value);
  428. var oParam = {};
  429. oParam.id = "TRZSA20300";
  430. oParam.service = "authinfoapp.AuthInfo";
  431. oParam.method = "reqGetMenuGrupList";
  432. oParam.inds = "req=ds_send_search";
  433. oParam.outds = "ds_grd_menugruplist=menugruplist";
  434. oParam.async = false;
  435. oParam.callback = "cf_TRZSA20300";
  436. tranf_submit(oParam);
  437. }
  438. function cf_TRZSA20300(sSvcId, nErrorCode, sErrorMsg) {
  439. if(nErrorCode < 0) return;
  440. // ds_grd_menugruplist.updatecontrol = false;
  441. // ds_grd_menugruplist.addColumn("gbn_id", "String", 256);
  442. // var nRowCnt = ds_grd_menugruplist.rowcount;
  443. // var sScrnflag = "";
  444. // var sScrnPos ="";
  445. //
  446. // for(var i=0 ; i<nRowCnt ; i++){
  447. // // sScrnflag = ds_grd_menugruplist.getColumn(i, "scrnflag");
  448. // // sScrnPos = ds_grd_menugruplist.getColumn(i, "scrnpos");
  449. // // ds_grd_menugruplist.setColumn(i, "gbn_id", sScrnflag+sScrnPos);
  450. // // ds_grd_menugruplist.setRowType(i, Dataset.ROWTYPE_NORMAL);
  451. // }
  452. // ds_grd_menugruplist.updatecontrol = true;
  453. }
  454. function button3_onclick(obj:Button, e:ClickEventInfo)
  455. {
  456. var iRow = ds_grd_menugruplist.rowposition;
  457. if(iRow >= 0){
  458. var search_condition = "deptnm";
  459. var search_term = "";
  460. // var receive_deptcd_path = "/root/temp/prestdeptcd";
  461. // var receive_deptnm_path = "/root/temp/prestdeptnm";
  462. //
  463. //
  464. // model.makeNode(receive_deptcd_path);
  465. // model.makeNode(receive_deptnm_path);
  466. //
  467. // model.setValue(receive_deptcd_path, "");
  468. // model.setValue(receive_deptnm_path, "");
  469. var standard_yn = null;
  470. var ord_deptflag = null;
  471. var objRetVal = new Object();
  472. var objRetVal = appf_openInstDeptCodeList(
  473. search_condition,
  474. search_term,
  475. standard_yn,
  476. ord_deptflag,
  477. "deptcd depthngnm"
  478. );
  479. var prestdeptcd = objRetVal.deptcd;
  480. var prestdeptnm = objRetVal.depthngnm;
  481. if(prestdeptcd.length > 0 && prestdeptcd != "" && prestdeptcd != undefined){
  482. // iRow = grd_menugruplist.row;
  483. ///var iNode = "/root/main/mglist/menugruplist"
  484. ds_grd_menugruplist.setColumn(iRow, "prestdeptcd", prestdeptcd);
  485. ds_grd_menugruplist.setColumn(iRow, "prestdeptnm", prestdeptnm);
  486. } else {
  487. messageBox("데이터를 저장", "E001");
  488. // grd_menugruplist.deleteItem(iRow);
  489. }
  490. }
  491. }
  492. function button2_onclick(obj:Button, e:ClickEventInfo)
  493. {
  494. var iRow = ds_grd_menugruplist.rowposition;
  495. if(iRow >= 0){
  496. ds_grd_menugruplist.setColumn(iRow, "prestdeptcd", "");
  497. ds_grd_menugruplist.setColumn(iRow, "prestdeptnm", "");
  498. }
  499. }
  500. function btn_add_menugrup_onclick(obj:Button, e:ClickEventInfo)
  501. {
  502. var row = ds_grd_menugruplist.addRow();
  503. ds_grd_menugruplist.setColumn(row, "vpnauthyn", "N");
  504. ds_grd_menugruplist.setColumn(row, "usesys", "A");
  505. grd_menugruplist.setCellPos(1);
  506. grd_menugruplist.showEditor();
  507. }
  508. function btn_save_menugrup_onclick(obj:Button, e:ClickEventInfo)
  509. {
  510. fClicked("save", grd_menugruplist, "menugrup");
  511. }
  512. function fSaveClick(grid, param){
  513. if("menugrup" == param){
  514. // alert("메뉴그룹을 저장합니다.");
  515. var gridrows = ds_grd_menugruplist.rowcount;
  516. for(var i = 0; i < gridrows ; i++){
  517. var menugrupnm = ds_grd_menugruplist.getColumn(i, "menugrupnm");
  518. var vpnauthyn = ds_grd_menugruplist.getColumn(i, "vpnauthyn");
  519. // 메뉴그룹명이 없는 경우
  520. if(menugrupnm == ""){
  521. sysf_messageBox("추가하려는 메뉴그룹명이 입력되지 않았습니다.","E999");
  522. return;
  523. }
  524. // VPN 접속권한이 없는 경우
  525. if(vpnauthyn == ""){
  526. sysf_messageBox("VPN 접속권한여부가 입력되지 않았습니다.","E999");
  527. return;
  528. }
  529. }
  530. var oParam = {};
  531. oParam.id = "TXZSA20300";
  532. oParam.service = "authinfoapp.AuthInfo";
  533. oParam.method = "reqExeSaveMenuGrupInfo";
  534. oParam.inds = "req=ds_grd_menugruplist:U";
  535. oParam.outds = "null";
  536. oParam.async = false;
  537. oParam.callback = "cf_TXZSA20300";
  538. tranf_submit(oParam);
  539. } else if("menuitem" == param){
  540. var iRow = ds_grd_menuitemlist.rowposition;
  541. var menuparamcheck = ds_grd_menuitemlist.getColumn(iRow, "menuparam");
  542. var checkvalue = "Y";
  543. // for(var i=0; i < menuparamcheck.length-1; i++)
  544. // {
  545. // if (menuparamcheck.charAt(i) == '#' || menuparamcheck.charAt(i) == '/' || menuparamcheck.charAt(i) == '.' || menuparamcheck.charAt(i) == '▩' || menuparamcheck.charAt(i) == ''){
  546. // checkvalue = "X";
  547. // }
  548. // }
  549. if(!utlf_isNull(menuparamcheck)){
  550. var objRe = new RegExp(/#|\/|\.|▩|▦/g);
  551. var bR = objRe.exec(menuparamcheck);
  552. if(!utlf_isNull(bR)) {
  553. //if(utlf_isSearchString(menuparamcheck, '#') || utlf_isSearchString(menuparamcheck, '/') || utlf_isSearchString(menuparamcheck, '.') || utlf_isSearchString(menuparamcheck, '▩') || utlf_isSearchString(menuparamcheck, '▦') ){
  554. checkvalue = "X";
  555. }
  556. }
  557. if (checkvalue == "Y") {
  558. var oParam = {};
  559. oParam.id = "TXZSA20301";
  560. oParam.service = "authinfoapp.AuthInfo";
  561. oParam.method = "reqExeSaveMenuItemInfo";
  562. oParam.inds = "req=ds_grd_menuitemlist:U";
  563. oParam.outds = "null";
  564. oParam.async = false;
  565. oParam.callback = "cf_TXZSA20301";
  566. tranf_submit(oParam);
  567. }else {
  568. alert("특정 문자는 메뉴 파라미터로 사용할 수 없습니다.");
  569. }
  570. }
  571. }
  572. function cf_TXZSA20300(sSvcId, nErrorCode, sErrorMsg) {
  573. if(nErrorCode < 0) return;
  574. grp_sea.btn_search.click();
  575. }
  576. function cf_TXZSA20301(sSvcId, nErrorCode, sErrorMsg) {
  577. if(nErrorCode < 0) return;
  578. }
  579. function btn_search_menuitem_onclick(obj:Button, e:ClickEventInfo)
  580. {
  581. ///grd_menuitemlist.explorerbar = "sortshow";
  582. ///model.resetInstanceNode("/root/send");
  583. var iRow = ds_grd_menugruplist.rowposition;
  584. ///var iNode = "/root/main/mglist/menugruplist"
  585. opt_menugrupnm.value = ds_grd_menugruplist.getColumn(iRow, "menugrupnm");
  586. opt_menugrupcd.value = ds_grd_menugruplist.getColumn(iRow, "menugrupcd");
  587. var iOptmenugrupcd = opt_menugrupcd.value;
  588. // model.setValue("/root/main/item/menugrupnm", fGetValue(iNode, iRow, "menugrupnm"));
  589. // model.setValue("/root/main/item/menugrupcd", fGetValue(iNode, iRow, "menugrupcd"));
  590. // var iOptmenugrupcd = model.getValue("/root/main/item/menugrupcd");
  591. var sInDsName = dsf_createDsRow("in_ds_search"
  592. , [{col: "optmenugrupcd", val: iOptmenugrupcd} ]);
  593. var oParam = {};
  594. oParam.id = "TRZSA20301";
  595. oParam.service = "authinfoapp.AuthInfo";
  596. oParam.method = "reqGetMenuItemList";
  597. oParam.inds = "req="+sInDsName;
  598. oParam.outds = "ds_grd_menuitemlist=menuitemlist";
  599. oParam.async = false;
  600. oParam.callback = "cf_TRZSA20301";
  601. //trace(ds_grd_menuitemlist.saveXML());
  602. tranf_submit(oParam);
  603. //trace(ds_grd_menuitemlist.saveXML());
  604. // grd_menuitemlist.rebuild();
  605. // setTree(grd_menuitemlist, 1, 2, true);
  606. }
  607. function cf_TRZSA20301(sSvcId, nErrorCode, sErrorMsg) {
  608. if(nErrorCode < 0) return;
  609. }
  610. function btn_delete_menugrup_onclick(obj:Button, e:ClickEventInfo)
  611. {
  612. fClicked("delete", grd_menugruplist, "menugrup");
  613. }
  614. function fDeleteClick(grid, param){
  615. if(param == "menugrup"){
  616. var arrPostion = new Array();
  617. arrPostion[0] = ds_grd_menugruplist.rowposition;
  618. grdf_setStatus(grd_menugruplist, "D", arrPostion);
  619. var rtn = sysf_messageBox("메뉴그룹을 ", "Q001");
  620. if (rtn == 6) {
  621. var oParam = {};
  622. oParam.id = "TXZSA20300";
  623. oParam.service = "authinfoapp.AuthInfo";
  624. oParam.method = "reqExeSaveMenuGrupInfo";
  625. oParam.inds = "req=ds_grd_menugruplist:U";
  626. oParam.outds = "null";
  627. oParam.async = false;
  628. oParam.callback = "cf_TXZSA20300";
  629. tranf_submit(oParam);
  630. }
  631. } else if(param == "menuitem") {
  632. var checkfild = 0;
  633. var iRow = ds_grd_menuitemlist.rowposition;
  634. var iMenuItemCD = ds_grd_menuitemlist.getColumn(iRow, "menuitemcd");
  635. for(var i = iRow; i < ds_grd_menuitemlist.rowcount; i++){
  636. if(iMenuItemCD == ds_grd_menuitemlist.getColumn(iRow, "upmenuitemcd")){
  637. var rtn = sysf_messageBox("하위 메뉴부터 삭제 하십시요!\n하위 메뉴가 있어 데이터를 삭제", "E001");
  638. checkfild = -1;
  639. break;
  640. }
  641. }
  642. if(checkfild != -1){
  643. var rtn = sysf_messageBox(" 해당 메뉴항목을 ", "Q001");
  644. if(rtn == 6){
  645. if(ds_grd_menuitemlist.getRowType(iRow) == 2 ) {
  646. ds_grd_menuitemlist.deleteRow(iRow);
  647. } else {
  648. var arrPostion = new Array();
  649. arrPostion[0] = ds_grd_menuitemlist.rowposition;
  650. grdf_setStatus(grd_menuitemlist, "D", arrPostion);
  651. }
  652. }
  653. }
  654. } else if(param == "all"){
  655. var sInDsName = dsf_createDsRow("in_ds_search"
  656. , [{col: "menugrupcd", val: opt_menugrupcd.value} ]);
  657. var rtn = sysf_messageBox(" 해당 메뉴 전체를 ", "Q001");
  658. if(rtn == 6){
  659. var oParam = {};
  660. oParam.id = "TXZSA20302";
  661. oParam.service = "authinfoapp.AuthInfo";
  662. oParam.method = "reqDelAllMenuItemInfo";
  663. oParam.inds = "req="+sInDsName;
  664. oParam.outds = "null";
  665. oParam.async = false;
  666. oParam.callback = "cf_TXZSA20302";
  667. tranf_submit(oParam);
  668. }
  669. }
  670. }
  671. function cf_TXZSA20302(sSvcId, nErrorCode, sErrorMsg) {
  672. if(nErrorCode < 0) return;
  673. }
  674. function grd_menugruplist_onrbuttondown(obj:Grid, e:GridMouseEventInfo)
  675. {
  676. if(e.row < 0 || e.col < 0) return;
  677. pmn_grp_popupMenu.trackPopup(e.screenX,e.screenY);
  678. }
  679. function grd_menuitemlist_onrbuttondown(obj:Grid, e:GridMouseEventInfo)
  680. {
  681. if(e.row < 0 || e.col < 0) return;
  682. pmn_item_popupMenu.trackPopup(e.screenX,e.screenY);
  683. }
  684. function pmn_grp_popupMenu_onmenuclick(obj:PopupMenu, e:MenuClickEventInfo)
  685. {
  686. if(e.id == "delmenugrupinfo"){ // 메뉴그룹삭제
  687. btn_delete_menugrup.click();
  688. } else if(e.id == "setmenugrupinfo"){ // 메뉴그룹수정
  689. var iProperties = "";
  690. var iRow = ds_grd_menugruplist.rowposition;
  691. var objArg = new Object();
  692. objArg.sVal01 = ds_grd_menugruplist.getColumn(iRow,"menugrupnm");
  693. objArg.sVal02 = ds_grd_menugruplist.getColumn(iRow,"menugrupcd");
  694. iProperties = frmf_modal("SPZSA20301", "SPZSA20301", objArg);
  695. if(iProperties.length > 0 && iProperties != undefined){
  696. ds_grd_menugruplist.setColumn(iRow, "menugrupnm", iProperties);
  697. ds_grd_menugruplist.applyChange();
  698. } else {
  699. sysf_messageBox("데이터를 저장", "E001");
  700. }
  701. }
  702. }
  703. function pmn_item_popupMenu_onmenuclick(obj:PopupMenu, e:MenuClickEventInfo)
  704. {
  705. if(e.id == "addnew"){ // 신규추가
  706. btn_add_menuitem.click();
  707. } else if(e.id == "addmenu"){ // 업무추가
  708. btn_add_menu.click();
  709. } else if(e.id == "addscrn"){ // 화면추가
  710. btn_add_scrn.click();
  711. }
  712. }
  713. function grd_menugruplist_oncelldblclick(obj:Grid, e:GridClickEventInfo)
  714. {
  715. btn_search_menuitem.click();
  716. }
  717. function button1_onclick(obj:Button, e:ClickEventInfo)
  718. {
  719. for(var i=0; i < grd_menugruplist.rowcount; i++){
  720. var mg = ds_grd_menuitemlist.getColumn(i, "menugrupcd");
  721. alert(mg);
  722. model.setValue("/root/send/menugrupcd", mg );
  723. var sInDsName = dsf_createDsRow("in_ds_search"
  724. , [{col: "menugrupcd", val: mg} ]);
  725. var oParam = {};
  726. oParam.id = "TXZSA20303";
  727. oParam.service = "authinfoapp.AuthInfo";
  728. oParam.method = "reqInsMaxMenuItemInfo";
  729. oParam.inds = "req="+sInDsName;
  730. oParam.outds = "null";
  731. oParam.async = false;
  732. oParam.callback = "cf_TXZSA20303";
  733. tranf_submit(oParam);
  734. }
  735. }
  736. function cf_TXZSA20303(sSvcId, nErrorCode, sErrorMsg) {
  737. if(nErrorCode < 0) return;
  738. }
  739. function btn_save_excel_onclick(obj:Button, e:ClickEventInfo)
  740. {
  741. var excelFileName = "메뉴구조_" + opt_menugrupnm.value;
  742. grdf_exportExcel(grd_menuitemlist, excelFileName, opt_menugrupnm.value, false, "", "user", true );
  743. }
  744. function btn_ins_excel_onclick(obj:Button, e:ClickEventInfo)
  745. {
  746. if(ds_grd_menuitemlist.rowcount > 0)
  747. {
  748. sysf_messageBox("해당 메뉴전체가 삭제된 후에 메뉴엑셀입력이 ", "I006");
  749. return;
  750. }
  751. grdf_ImportExcel("ds_grd_menuitemlist", 2, grd_menuitemlist); // 타이틀 제외한 2열부터 입력
  752. }
  753. function btn_add_menuitem_onclick(obj:Button, e:ClickEventInfo)
  754. {
  755. ///grd_menuitemlist.editCell();
  756. TempItemCD += 1;
  757. var iRow = ds_grd_menuitemlist.addRow();
  758. ds_grd_menuitemlist.setColumn(iRow, "menu_level", "1");
  759. ds_grd_menuitemlist.setColumn(iRow, "tempitemcd", TempItemCD);
  760. ds_grd_menuitemlist.setColumn(iRow, "tempupitemcd", "*");
  761. ds_grd_menuitemlist.setColumn(iRow, "upmenuitemcd", "*");
  762. ds_grd_menuitemlist.setColumn(iRow, "menugrupcd", opt_menugrupcd.value);
  763. grd_menuitemlist.setCellPos(2);
  764. grd_menuitemlist.showEditor(true);
  765. //trace(ds_grd_menuitemlist.saveXML());
  766. }
  767. function grd_menuitemlist_oncelldblclick(obj:Grid, e:GridClickEventInfo)
  768. {
  769. if(e.col == 2){
  770. obj.setCellProperty("body", e.col, "edittype" , "text");
  771. obj.showEditor(true);
  772. //obj.setCellProperty("body", e.col, "edittype" , "tree");
  773. }
  774. }
  775. function grd_menuitemlist_oncellclick(obj:Grid, e:GridClickEventInfo)
  776. {
  777. if(e.col == 2){
  778. obj.setCellProperty("body", e.col, "edittype" , "tree");
  779. } else if(e.col == 5){
  780. var ifixrows = ds_grd_menuitemlist.rowcount;
  781. var arrPostion = new Array();
  782. ds_grd_menuitemlist.enableevent = false;
  783. for (var i = 0; ifixrows >= i ; i++){
  784. if ( ds_grd_menuitemlist.getColumn(i, "basescrn") == "Y" ) {
  785. ds_grd_menuitemlist.setColumn(i, "basescrn", "N");
  786. arrPostion[0] = ds_grd_menuitemlist.rowposition;
  787. grdf_setStatus(obj, "U", arrPostion);
  788. }
  789. }
  790. ds_grd_menuitemlist.enableevent = true;
  791. var checkscrncd = ds_grd_menuitemlist.getColumn(e.row, "scrncd");
  792. if(!utlf_isNull(checkscrncd)){
  793. ds_grd_menuitemlist.setColumn(e.row, "basescrn", "Y");
  794. }
  795. }
  796. }
  797. function ds_grd_menuitemlist_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  798. {
  799. if(e.columnid == "searchseq"){
  800. obj.setColumn(e.row, e.columnid, utlf_lPad(e.newvalue, 2, "0"));
  801. } else if(e.columnid == "menuscrnflag") {
  802. obj.setColumn(e.row, e.columnid, (e.newvalue == "Y" || e.newvalue == 1) ? "Y" : "N");
  803. }
  804. //grd_menuitemlist.setCellProperty("body", 2, "edittype" , "tree");
  805. }
  806. function btn_add_menu_onclick(obj:Button, e:ClickEventInfo)
  807. {
  808. var iRow = ds_grd_menuitemlist.rowposition;
  809. var iRows = ds_grd_menuitemlist.rowcount;
  810. //var iFixRow = grd_menuitemlist.fixedRows;
  811. var iUpmenuitemcd = ds_grd_menuitemlist.getColumn(iRow, "upmenuitemcd");
  812. var iScrnCD = ds_grd_menuitemlist.getColumn(iRow, "scrncd");
  813. var iMenuItemCD = ds_grd_menuitemlist.getColumn(iRow, "menuitemcd");
  814. var iMenuGrupCD = opt_menugrupcd.value;
  815. if(iUpmenuitemcd=="*"){
  816. if(iScrnCD == "" || iScrnCD == "-"){
  817. //var nodeset = grd_menuitemlist.nodeset;
  818. var check_flag = 1;
  819. var iLevel = ds_grd_menuitemlist.getColumn(iRow, "menu_level");
  820. var parselevel = (parseInt(iLevel)+1);
  821. // grd_menuitemlist.insertContentsRow(iRow);
  822. var itRow = ds_grd_menuitemlist.insertRow(iRow+1);
  823. ///grd_menuitemlist.insertItem(iRow, "after");
  824. TempItemCD += 1;
  825. ds_grd_menuitemlist.setColumn(itRow, "tempitemcd", TempItemCD);
  826. ds_grd_menuitemlist.setColumn(itRow, "tempupitemcd", ds_grd_menuitemlist.getColumn(iRow, "tempitemcd"));
  827. ds_grd_menuitemlist.setColumn(itRow, "upmenuitemcd", iMenuItemCD);
  828. ds_grd_menuitemlist.setColumn(itRow, "menu_level", parselevel);
  829. ds_grd_menuitemlist.setColumn(itRow, "menugrupcd", iMenuGrupCD);
  830. grd_menuitemlist.setTreeStatus(grd_menuitemlist.getTreeRow(grd_menuitemlist.getTreeParentRow(itRow)), true);
  831. grd_menuitemlist.setCellProperty("body", 2, "edittype" , "text");
  832. grd_menuitemlist.setCellPos(2);
  833. grd_menuitemlist.showEditor(true);
  834. } else if(iScrnCD != ""){
  835. alert("업무화면이 등록되있으면 하위메뉴를 만들수 없습니다.");
  836. }
  837. } else {
  838. var iLevel = ds_grd_menuitemlist.getColumn(iRow, "menu_level");
  839. if(iLevel == "3"){
  840. alert("하위메뉴를 만들수 없습니다.");
  841. } else if(iLevel == "2"){
  842. if(iScrnCD == "" || iScrnCD == "-"){
  843. var check_flag = 1;
  844. var itRow = ds_grd_menuitemlist.insertRow(iRow+1);
  845. ///grd_menuitemlist.editCell();
  846. //var itRow = grd_menuitemlist.currentrow;
  847. TempItemCD += 1;
  848. ds_grd_menuitemlist.setColumn(itRow, "menu_level", "3");
  849. ds_grd_menuitemlist.setColumn(itRow, "tempitemcd", TempItemCD);
  850. ds_grd_menuitemlist.setColumn(itRow, "tempupitemcd", ds_grd_menuitemlist.getColumn(iRow, "tempitemcd"));
  851. ds_grd_menuitemlist.setColumn(itRow, "upmenuitemcd", iMenuItemCD);
  852. ds_grd_menuitemlist.setColumn(itRow, "menugrupcd", iMenuGrupCD);
  853. grd_menuitemlist.setTreeStatus(grd_menuitemlist.getTreeRow(grd_menuitemlist.getTreeParentRow(itRow)), true);
  854. grd_menuitemlist.setCellProperty("body", 2, "edittype" , "text");
  855. grd_menuitemlist.setCellPos(2);
  856. grd_menuitemlist.showEditor(true);
  857. } else if(!utlf_isNull(iScrnCD)){
  858. alert("업무화면이 등록되있으면 하위메뉴를 만들수 없습니다.");
  859. }
  860. }
  861. }
  862. }
  863. function btn_add_scrn_onclick(obj:Button, e:ClickEventInfo)
  864. {
  865. var iRow = ds_grd_menuitemlist.rowposition;
  866. if(utlf_isNull(opt_menugrupcd.value)){
  867. alert("메뉴그룹을 선택하십시요!");
  868. } else if(iRow == "-1"){
  869. alert("화면을 추가할 메뉴항목을 선택하십시요!");
  870. } else {
  871. var objArg = new Object();
  872. var SPZSA20500_scrncd = frmf_modal("SPZSA20500", "SPZSA20500", objArg);
  873. if(!utlf_isNull(SPZSA20500_scrncd)){
  874. //iRow = grd_menuitemlist.currentrow;
  875. ds_grd_menuitemlist.setColumn(iRow, "scrncd", SPZSA20500_scrncd);
  876. ds_grd_menuitemlist.setColumn(iRow, "scrnurl", "");
  877. ds_grd_menuitemlist.setColumn(iRow, "scrnurlxp", "");
  878. }
  879. }
  880. }
  881. function btn_alldelete_menuitem_onclick(obj:Button, e:ClickEventInfo)
  882. {
  883. fClicked("delete", grd_menugruplist, "all");
  884. btn_search_menuitem.click();
  885. }
  886. function btn_delete_menuitem_onclick(obj:Button, e:ClickEventInfo)
  887. {
  888. fClicked("delete", grd_menuitemlist, "menuitem");
  889. }
  890. function btn_save_menuitem_onclick(obj:Button, e:ClickEventInfo)
  891. {
  892. fClicked("save", grd_menuitemlist, "menuitem");
  893. var iRow = ds_grd_menuitemlist.rowposition;
  894. var menuparamcheck = ds_grd_menuitemlist.getColumn(iRow, "menuparam");
  895. btn_search_menuitem.click();
  896. }
  897. function grp_sea_ipt_search_item_onkeydown(obj:Edit, e:KeyEventInfo)
  898. {
  899. if(e.keycode == 13) {
  900. obj.updateToDataset();
  901. grp_sea.btn_search.click();
  902. }
  903. }
  904. function grd_menugruplist_onenterdown(obj:Grid, e:GridEditEventInfo)
  905. {
  906. obj.showEditor(false);
  907. }
  908. function grd_menuitemlist_onenterdown(obj:Grid, e:GridEditEventInfo)
  909. {
  910. obj.showEditor(false);
  911. }]]></Script>
  912. </Form>
  913. </FDL>