SMZSA20400_메뉴권한관리.xfdl 68 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMZSA20400" position="absolute 0 0 1238 805" titletext="메뉴권한관리" oninit="SMZSA20400_oninit">
  5. <Layouts>
  6. <Layout>
  7. <Button id="btn_save" taborder="1" text="저장" class="btn4" position="absolute 1182 21 1238 41" onclick="btn_save_onclick" anchor="top right"/>
  8. <Static id="caption6" text="메뉴권한 관리" class="tit_1" position="absolute 0 0 124 25" onclick="caption6_onclick"/>
  9. <Grid id="grd_menulist" taborder="2" binddataset="ds_grd_menulist" useinputpanel="false" position="absolute 350 140 705 560" treeusecheckbox="false" autoenter="select" autofittype="col" anchor="left top bottom">
  10. <Formats>
  11. <Format id="default">
  12. <Columns>
  13. <Column size="22"/>
  14. <Column size="0"/>
  15. <Column size="329"/>
  16. <Column size="0"/>
  17. <Column size="0"/>
  18. <Column size="0"/>
  19. </Columns>
  20. <Rows>
  21. <Row size="24" band="head"/>
  22. <Row size="24"/>
  23. </Rows>
  24. <Band id="head">
  25. <Cell/>
  26. <Cell col="1" text="level"/>
  27. <Cell col="2" text="명"/>
  28. <Cell col="3" text="코드"/>
  29. <Cell col="4" text="상위코드"/>
  30. <Cell col="5" text="메뉴그룹"/>
  31. </Band>
  32. <Band id="body">
  33. <Cell/>
  34. <Cell col="1" text="bind:menu_level"/>
  35. <Cell col="2" displaytype="tree" edittype="tree" text="bind:menuitemnm" treestartlevel="1" treelevel="bind:menu_level"/>
  36. <Cell col="3" text="bind:menuitemcd"/>
  37. <Cell col="4" text="bind:upmenuitemcd"/>
  38. <Cell col="5" text="bind:menugrupcd"/>
  39. </Band>
  40. </Format>
  41. </Formats>
  42. </Grid>
  43. <Grid id="grd_menuauthlist" taborder="3" binddataset="ds_grd_menuauthlist" useinputpanel="false" position="absolute 710 140 1238 560" autofittype="col" treeusecheckbox="false" onheadclick="grd_menuauthlist_onheadclick" autoenter="select" anchor="all">
  44. <Formats>
  45. <Format id="default">
  46. <Columns>
  47. <Column size="22"/>
  48. <Column size="0"/>
  49. <Column size="337"/>
  50. <Column size="0"/>
  51. <Column size="0"/>
  52. <Column size="0"/>
  53. <Column size="25"/>
  54. <Column size="25"/>
  55. <Column size="25"/>
  56. <Column size="25"/>
  57. <Column size="25"/>
  58. <Column size="25"/>
  59. <Column size="0"/>
  60. <Column size="0"/>
  61. <Column size="0"/>
  62. </Columns>
  63. <Rows>
  64. <Row size="24" band="head"/>
  65. <Row size="24"/>
  66. </Rows>
  67. <Band id="head">
  68. <Cell/>
  69. <Cell col="1"/>
  70. <Cell col="2" text="명"/>
  71. <Cell col="3"/>
  72. <Cell col="4"/>
  73. <Cell col="5"/>
  74. <Cell col="6" displaytype="checkbox" edittype="checkbox" text="true" expr="0"/>
  75. <Cell col="7" text="R"/>
  76. <Cell col="8" displaytype="checkbox" edittype="checkbox" expr="0"/>
  77. <Cell col="9" text="X"/>
  78. <Cell col="10" displaytype="checkbox" edittype="checkbox" expr="0"/>
  79. <Cell col="11" text="P"/>
  80. <Cell col="12"/>
  81. <Cell col="13"/>
  82. <Cell col="14"/>
  83. </Band>
  84. <Band id="body">
  85. <Cell/>
  86. <Cell col="1" text="bind:menu_level"/>
  87. <Cell col="2" displaytype="tree" edittype="tree" style="align:left;" text="bind:menuitemnm" treestartlevel="1" treelevel="bind:menu_level"/>
  88. <Cell col="3" displaytype="text" edittype="text" text="bind:menuitemcd"/>
  89. <Cell col="4" text="bind:upmenuitemcd"/>
  90. <Cell col="5" displaytype="checkbox" edittype="checkbox" text="bind:useyn"/>
  91. <Cell col="6" colspan="2" displaytype="checkbox" edittype="checkbox" text="bind:r" taborder="undefined"/>
  92. <Cell col="8" colspan="2" displaytype="checkbox" edittype="checkbox" text="bind:x" taborder="undefined"/>
  93. <Cell col="10" colspan="2" displaytype="checkbox" edittype="checkbox" text="bind:p" taborder="undefined"/>
  94. <Cell col="12" text="bind:menugrupcd" taborder="undefined"/>
  95. <Cell col="13" displaytype="checkbox" edittype="checkbox" text="bind:p" taborder="undefined"/>
  96. <Cell col="14" displaytype="checkbox" edittype="checkbox" text="bind:p" taborder="undefined"/>
  97. </Band>
  98. </Format>
  99. </Formats>
  100. </Grid>
  101. <Div id="group2" taborder="4" position="absolute 0 25 340 85" class="div_SA">
  102. <Layouts>
  103. <Layout>
  104. <Static id="caption1" text="메뉴권한그룹" class="search_name" position="absolute 15 9 132 26" anchor="default"/>
  105. <Button id="btn_search_menuauth" taborder="1" text="조회" class="btn1" position="absolute 274 20 330 40" onclick="group2_btn_search_menuauth_onclick" anchor="default"/>
  106. <Shape id="line1" linetype="vertical" position="absolute 260 8 266 51" anchor="default"/>
  107. <Edit id="ipt_search_item" taborder="2" class="input_s_essential" position="absolute 128 34 242 54" onkeydown="group2_ipt_search_item_onkeydown" anchor="default" imemode="hangul" autoselect="true"/>
  108. <Combo id="combo1" taborder="3" innerdataset="ds_init_combo1" codecolumn="value" datacolumn="lable" class="combo_search" position="absolute 128 8 242 28" anchor="default"/>
  109. </Layout>
  110. </Layouts>
  111. </Div>
  112. <Static id="caption9" text="메뉴권한 그룹" class="tit_2" position="absolute 0 94 111 114"/>
  113. <Grid id="grd_menuauthgruplist" taborder="5" binddataset="ds_grd_menuauthgruplist" useinputpanel="false" position="absolute 0 113 340 805" onrbuttondown="grd_menuauthgruplist_onrbuttondown" autofittype="col" oncelldblclick="grd_menuauthgruplist_oncelldblclick" autoenter="none" style="border:1 solid #33bbbbff,0 solid #bac5ccff,1 solid #bac5ccff,0 solid #bac5ccff;" anchor="left top bottom">
  114. <Formats>
  115. <Format id="default">
  116. <Columns>
  117. <Column size="25"/>
  118. <Column size="315"/>
  119. <Column size="0"/>
  120. </Columns>
  121. <Rows>
  122. <Row size="24" band="head"/>
  123. <Row size="24"/>
  124. </Rows>
  125. <Band id="head">
  126. <Cell/>
  127. <Cell col="1" text="명"/>
  128. <Cell col="2" text="코드"/>
  129. </Band>
  130. <Band id="body">
  131. <Cell/>
  132. <Cell col="1" displaytype="text" edittype="expr:(getRowType(currow) == Dataset.ROWTYPE_INSERT) ? &quot;text&quot; : &quot;none&quot;" text="bind:menuauthnm"/>
  133. <Cell col="2" text="bind:menuauthcd"/>
  134. </Band>
  135. </Format>
  136. </Formats>
  137. </Grid>
  138. <Button id="btn_add_menuauthgrup" taborder="6" text="추가" class="btn2" position="absolute 253 92 295 112" onclick="btn_add_menuauthgrup_onclick"/>
  139. <Button id="btn_delete_menuauthgrup" taborder="7" text="삭제" class="btn2" visible="false" position="absolute 208 92 250 112" onclick="btn_delete_menuauthgrup_onclick"/>
  140. <Button id="btn_save_menuauthgrup" taborder="8" text="저장" class="btn5" position="absolute 298 92 340 112" onclick="btn_save_menuauthgrup_onclick"/>
  141. <Button id="btn_search_menuauthuserlist" taborder="9" text="조회" class="btn2" visible="false" position="absolute 163 92 205 112" onclick="btn_search_menuauthuserlist_onclick"/>
  142. <Button id="btn_reg_menuauthuser" taborder="10" text="조건추가" class="btn2" position="absolute 574 567 638 587" onclick="btn_reg_menuauthuser_onclick" anchor="left bottom"/>
  143. <Static id="cap_deny" text="메뉴권한 제한자 조건" class="tit_2" position="absolute 710 569 860 589" anchor="left bottom"/>
  144. <Static id="cap_auth" text="메뉴권한 허용자 조건" class="tit_2" position="absolute 350 569 498 589" anchor="left bottom"/>
  145. <Grid id="grd_menudenyuserlist" taborder="13" binddataset="ds_grd_menudenyuserlist" useinputpanel="false" position="absolute 710 588 1238 805" onrbuttondown="grd_menudenyuserlist_onrbuttondown" onexpanddown="grd_menudenyuserlist_onexpanddown" autoenter="select" anchor="left right bottom">
  146. <Formats>
  147. <Format id="default">
  148. <Columns>
  149. <Column size="25"/>
  150. <Column size="0"/>
  151. <Column size="0"/>
  152. <Column size="0"/>
  153. <Column size="110"/>
  154. <Column size="0"/>
  155. <Column size="160"/>
  156. <Column size="71"/>
  157. <Column size="65"/>
  158. <Column size="109"/>
  159. <Column size="100"/>
  160. <Column size="100"/>
  161. <Column size="100"/>
  162. <Column size="100"/>
  163. <Column size="87"/>
  164. </Columns>
  165. <Rows>
  166. <Row size="24" band="head"/>
  167. <Row size="24"/>
  168. </Rows>
  169. <Band id="head">
  170. <Cell/>
  171. <Cell col="1" text="번호"/>
  172. <Cell col="2" text="권한그룹코드"/>
  173. <Cell col="3" text="계정그룹코드"/>
  174. <Cell col="4" text="계정그룹"/>
  175. <Cell col="5" text="근무지코드"/>
  176. <Cell col="6" text="근무지"/>
  177. <Cell col="7" text="직종"/>
  178. <Cell col="8" text="직책"/>
  179. <Cell col="9" text="근무기관"/>
  180. <Cell col="10" text="원소속기관"/>
  181. <Cell col="11" text="사용자유형"/>
  182. <Cell col="12" text="직군"/>
  183. <Cell col="13" text="교직구분"/>
  184. <Cell col="14" text="직위"/>
  185. </Band>
  186. <Band id="body">
  187. <Cell/>
  188. <Cell col="1" displaytype="none" edittype="none" text="bind:seq"/>
  189. <Cell col="2" displaytype="none" edittype="none" text="bind:menuauthcd"/>
  190. <Cell col="3" displaytype="none" edittype="none" text="bind:acntgrupcd"/>
  191. <Cell col="4" displaytype="text" edittype="text" text="bind:acntgrupnm" expandshow="show"/>
  192. <Cell col="5" displaytype="none" edittype="none" text="bind:dutplcecd"/>
  193. <Cell col="6" displaytype="text" edittype="text" text="bind:dutplcenm" expandshow="show"/>
  194. <Cell col="7" displaytype="combo" edittype="combo" text="bind:jobkindcd" combodataset="ds_R0061" combocodecol="cdid" combodatacol="cdnm"/>
  195. <Cell col="8" displaytype="combo" edittype="combo" text="bind:jobrespcd" combodataset="ds_R0063" combocodecol="cdid" combodatacol="cdnm"/>
  196. <Cell col="9" displaytype="combo" edittype="combo" text="bind:dutinstcd" combodataset="ds_Z0007" combocodecol="cdid" combodatacol="cdnm"/>
  197. <Cell col="10" displaytype="combo" edittype="combo" text="bind:orginstcd" combodataset="ds_Z0007" combocodecol="cdid" combodatacol="cdnm"/>
  198. <Cell col="11" displaytype="combo" edittype="combo" text="bind:userkindcd" combodataset="ds_Z0016" combocodecol="cdid" combodatacol="cdnm"/>
  199. <Cell col="12" displaytype="combo" edittype="combo" text="bind:grupjoblncd" combodataset="ds_R0059" combocodecol="cdid" combodatacol="cdnm"/>
  200. <Cell col="13" displaytype="combo" edittype="combo" text="bind:prfshipflagcd" combodataset="ds_R0058" combocodecol="cdid" combodatacol="cdnm"/>
  201. <Cell col="14" displaytype="combo" edittype="combo" text="bind:jobposcd" combodataset="ds_R0062" combocodecol="cdid" combodatacol="cdnm"/>
  202. </Band>
  203. </Format>
  204. </Formats>
  205. </Grid>
  206. <Grid id="grd_menuauthuserlist" taborder="14" binddataset="ds_grd_menuauthuserlist" useinputpanel="false" position="absolute 350 588 705 805" onexpanddown="grd_menuauthuserlist_onexpanddown" onrbuttondown="grd_menuauthuserlist_onrbuttondown" autoenter="select" anchor="left bottom">
  207. <Formats>
  208. <Format id="default">
  209. <Columns>
  210. <Column size="25"/>
  211. <Column size="0"/>
  212. <Column size="0"/>
  213. <Column size="0"/>
  214. <Column size="110"/>
  215. <Column size="0"/>
  216. <Column size="160"/>
  217. <Column size="65"/>
  218. <Column size="109"/>
  219. <Column size="100"/>
  220. <Column size="100"/>
  221. <Column size="100"/>
  222. <Column size="100"/>
  223. <Column size="87"/>
  224. <Column size="100"/>
  225. </Columns>
  226. <Rows>
  227. <Row size="24" band="head"/>
  228. <Row size="24"/>
  229. </Rows>
  230. <Band id="head">
  231. <Cell/>
  232. <Cell col="1" text="번호"/>
  233. <Cell col="2" text="권한그룹코드"/>
  234. <Cell col="3" text="계정그룹코드"/>
  235. <Cell col="4" text="계정그룹"/>
  236. <Cell col="5" text="근무지코드"/>
  237. <Cell col="6" text="근무지"/>
  238. <Cell col="7" text="직종"/>
  239. <Cell col="8" text="직책"/>
  240. <Cell col="9" text="근무기관"/>
  241. <Cell col="10" text="원소속기관"/>
  242. <Cell col="11" text="사용자유형"/>
  243. <Cell col="12" text="직군"/>
  244. <Cell col="13" text="교직구분"/>
  245. <Cell col="14" text="직위"/>
  246. </Band>
  247. <Band id="body">
  248. <Cell/>
  249. <Cell col="1" displaytype="none" edittype="none" text="bind:seq"/>
  250. <Cell col="2" displaytype="none" edittype="none" text="bind:menuauthcd"/>
  251. <Cell col="3" displaytype="none" edittype="none" text="bind:acntgrupcd"/>
  252. <Cell col="4" displaytype="text" edittype="text" text="bind:acntgrupnm" expandshow="show"/>
  253. <Cell col="5" displaytype="none" edittype="none" text="bind:dutplcecd"/>
  254. <Cell col="6" displaytype="text" edittype="text" text="bind:dutplcenm" expandshow="show"/>
  255. <Cell col="7" displaytype="combo" edittype="combo" text="bind:jobkindcd" combodataset="ds_R0061" combocodecol="cdid" combodatacol="cdnm"/>
  256. <Cell col="8" displaytype="combo" edittype="combo" text="bind:jobrespcd" combodataset="ds_R0063" combocodecol="cdid" combodatacol="cdnm"/>
  257. <Cell col="9" displaytype="combo" edittype="combo" text="bind:dutinstcd" combodataset="ds_Z0007" combocodecol="cdid" combodatacol="cdnm"/>
  258. <Cell col="10" displaytype="combo" edittype="combo" text="bind:orginstcd" combodataset="ds_Z0007" combocodecol="cdid" combodatacol="cdnm"/>
  259. <Cell col="11" displaytype="combo" edittype="combo" text="bind:userkindcd" combodataset="ds_Z0016" combocodecol="cdid" combodatacol="cdnm"/>
  260. <Cell col="12" displaytype="combo" edittype="combo" text="bind:grupjoblncd" combodataset="ds_R0059" combocodecol="cdid" combodatacol="cdnm"/>
  261. <Cell col="13" displaytype="combo" edittype="combo" text="bind:prfshipflagcd" combodataset="ds_R0058" combocodecol="cdid" combodatacol="cdnm"/>
  262. <Cell col="14" displaytype="combo" edittype="combo" text="bind:jobposcd" combodataset="ds_R0062" combocodecol="cdid" combodatacol="cdnm"/>
  263. </Band>
  264. </Format>
  265. </Formats>
  266. </Grid>
  267. <Grid id="grd_menuuser_temp" taborder="15" binddataset="ds_grd_menuuser_temp" useinputpanel="false" visible="false" position="absolute 425 201 655 271">
  268. <Formats>
  269. <Format id="default">
  270. <Columns>
  271. <Column size="100"/>
  272. <Column size="100"/>
  273. <Column size="100"/>
  274. </Columns>
  275. <Rows>
  276. <Row size="24" band="head"/>
  277. <Row size="24"/>
  278. </Rows>
  279. <Band id="head">
  280. <Cell text="구분"/>
  281. <Cell col="1" text="명"/>
  282. <Cell col="2" text="코드"/>
  283. </Band>
  284. <Band id="body">
  285. <Cell text="bind:acntdepttype"/>
  286. <Cell col="1" text="bind:rgstnm"/>
  287. <Cell col="2" text="bind:rgstcd"/>
  288. </Band>
  289. </Format>
  290. </Formats>
  291. </Grid>
  292. <Button id="btn_Regall" taborder="16" text="등록" class="btn2" position="absolute 663 119 705 139" onclick="btn_Regall_onclick"/>
  293. <Button id="btn_reg_menulist" taborder="17" text="전체" class="btn2" visible="false" position="absolute 619 119 661 139" onclick="btn_reg_menulist_onclick"/>
  294. <Static id="caption4" text="메뉴 리스트" class="tit_2" position="absolute 350 121 462 141"/>
  295. <Static id="caption5" text="메뉴권한 리스트" class="tit_2" position="absolute 710 121 834 141"/>
  296. <Button id="btn_delete_menuauthlist" taborder="19" text="삭제" class="btn2" position="absolute 1196 119 1238 139" onclick="btn_delete_menuauthlist_onclick" anchor="top right"/>
  297. <Button id="button1" taborder="22" text="선택삭제" class="btn2" visible="false" position="absolute 1081 119 1145 139" anchor="top right"/>
  298. <Button id="btn_del_menuauthuser" taborder="23" text="조건삭제" class="btn2" position="absolute 641 567 705 587" onclick="btn_del_menuauthuser_onclick" anchor="left bottom"/>
  299. <Grid id="grd_menugrupauthlist" taborder="24" binddataset="ds_grd_menugrupauthlist" useinputpanel="false" visible="false" position="absolute 395 306 665 481" oncellclick="grd_menugrupauthlist_oncellclick">
  300. <Formats>
  301. <Format id="default">
  302. <Columns>
  303. <Column size="25"/>
  304. <Column size="0"/>
  305. <Column size="100"/>
  306. <Column size="100"/>
  307. <Column size="0"/>
  308. <Column size="100"/>
  309. <Column size="20"/>
  310. <Column size="20"/>
  311. <Column size="20"/>
  312. <Column size="100"/>
  313. <Column size="100"/>
  314. <Column size="100"/>
  315. </Columns>
  316. <Rows>
  317. <Row size="24" band="head"/>
  318. <Row size="24"/>
  319. </Rows>
  320. <Band id="head">
  321. <Cell/>
  322. <Cell col="1" text="level"/>
  323. <Cell col="2" text="명"/>
  324. <Cell col="3" text="코드"/>
  325. <Cell col="4" text="상위코드"/>
  326. <Cell col="5" text="사용여부"/>
  327. <Cell col="6" text="R"/>
  328. <Cell col="7" text="X"/>
  329. <Cell col="8" text="P"/>
  330. <Cell col="9" text="메뉴그룹"/>
  331. <Cell col="10" text="메뉴권한코드"/>
  332. <Cell col="11" text="화면권한"/>
  333. </Band>
  334. <Band id="body">
  335. <Cell/>
  336. <Cell col="1" text="bind:menu_level"/>
  337. <Cell col="2" text="bind:menuitemnm"/>
  338. <Cell col="3" text="bind:menuitemcd"/>
  339. <Cell col="4" text="bind:upmenuitemcd"/>
  340. <Cell col="5" displaytype="checkbox" edittype="checkbox" text="bind:useyn"/>
  341. <Cell col="6" displaytype="checkbox" edittype="checkbox" text="bind:r"/>
  342. <Cell col="7" displaytype="checkbox" edittype="checkbox" text="bind:x"/>
  343. <Cell col="8" displaytype="checkbox" edittype="checkbox" text="bind:p"/>
  344. <Cell col="9" text="bind:menugrupcd"/>
  345. <Cell col="10" text="bind:menuauthcd"/>
  346. <Cell col="11" text="bind:scrnauth"/>
  347. </Band>
  348. </Format>
  349. </Formats>
  350. </Grid>
  351. <Button id="btn_reg_menudenyuser" taborder="25" text="조건추가" class="btn2" position="absolute 1107 567 1171 587" onclick="btn_reg_menudenyuser_onclick" anchor="right bottom"/>
  352. <Button id="btn_del_menudenyuser" taborder="26" text="조건삭제" class="btn2" position="absolute 1174 567 1238 587" onclick="btn_del_menudenyuser_onclick" anchor="right bottom"/>
  353. <Static id="caption12" text="선택 메뉴권한" class="tit_2" position="absolute 350 25 471 41"/>
  354. <Static id="caption11" text="메뉴권한 그룹(명/코드)" class="cell_1" position="absolute 350 47 492 70"/>
  355. <Edit id="opt_menuauthnm" taborder="32" readonly="true" position="absolute 495 48 630 68"/>
  356. <Edit id="opt_menuauthcd" taborder="33" readonly="true" position="absolute 633 48 768 68"/>
  357. <Button id="img_expand_auth" taborder="34" class="btn2" position="absolute 542 567 568 587" style="background:@gradation URL('theme://images\icon_shuttleRight_N.png') center middle;align:center middle;" onclick="img_expand_auth_onclick" anchor="left bottom"/>
  358. <Button id="img_shrink_deny" taborder="36" class="btn2" position="absolute 863 567 889 587" style="background:@gradation URL('theme://images\icon_shuttleRight_N.png') center middle;align:center middle;" visible="false" onclick="img_shrink_deny_onclick" anchor="left bottom"/>
  359. <Button id="img_shrink_auth" taborder="37" class="btn2" position="absolute 542 567 568 587" style="background:@gradation URL('theme://images\icon_shuttleLeft_N.png') center middle;align:center middle;" visible="false" onclick="img_shrink_auth_onclick" anchor="left bottom"/>
  360. <Button id="img_expand_deny" taborder="38" class="btn2" position="absolute 863 567 889 587" style="background:@gradation URL('theme://images\icon_shuttleLeft_N.png') center middle;align:center middle;" onclick="img_expand_deny_onclick" anchor="left bottom"/>
  361. <Div id="div_menugrp" taborder="39" position="absolute 350 77 705 113" class="div_SA2">
  362. <Layouts>
  363. <Layout>
  364. <Combo id="cmb_menugrup" taborder="0" innerdataset="ds_init_cmb_menugrup" codecolumn="menugrupcd" datacolumn="menugrupnm" onitemchanged="div_menugrp_cmb_menugrup_onitemchanged" position="absolute 119 8 273 28" anchor="default"/>
  365. <Button id="btn_search_menu" taborder="1" text="조회" onclick="btn_search_menu_onclick" class="btn1" visible="false" position="absolute 289 8 345 28" anchor="default"/>
  366. <Static id="caption7" text="메뉴항목 조회" class="search_name" position="absolute 12 8 129 28" anchor="default"/>
  367. <Static id="caption8" text="메뉴그룹을 조회하십시요." position="absolute 123 8 271 28" anchor="default"/>
  368. </Layout>
  369. </Layouts>
  370. </Div>
  371. <Div id="div_menugrpauth" taborder="40" position="absolute 710 77 1238 113" class="div_SA2" anchor="left top right">
  372. <Layouts>
  373. <Layout>
  374. <Static id="caption10" text="메뉴권한 적용 메뉴그룹" class="search_name" position="absolute 16 8 180 28" anchor="default"/>
  375. <Combo id="cmb_menugrupauthlist" taborder="1" innerdataset="ds_init_cmb_menugrupauthlist" codecolumn="menugrupcd" datacolumn="menugrupnm" onitemchanged="div_menugrpauth_cmb_menugrupauthlist_onitemchanged" position="absolute 196 8 366 28" anchor="default"/>
  376. </Layout>
  377. </Layouts>
  378. </Div>
  379. <Shape id="Shape00" position="absolute 350 35 1238 55" class="line_10" anchor="left top right"/>
  380. <Shape id="Shape01" position="absolute 350 62 1238 82" class="line_1" anchor="left top right"/>
  381. </Layout>
  382. </Layouts>
  383. <Objects>
  384. <Dataset id="ds_grd_menulist" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  385. <ColumnInfo>
  386. <Column id="menu_level" type="STRING" size="256"/>
  387. <Column id="menuitemnm" type="STRING" size="256"/>
  388. <Column id="menuitemcd" type="STRING" size="256"/>
  389. <Column id="upmenuitemcd" type="STRING" size="256"/>
  390. <Column id="menugrupcd" type="STRING" size="256"/>
  391. </ColumnInfo>
  392. </Dataset>
  393. <Dataset id="ds_grd_menuauthlist" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  394. <ColumnInfo>
  395. <Column id="menu_level" type="STRING" size="256"/>
  396. <Column id="menuitemnm" type="STRING" size="256"/>
  397. <Column id="menuitemcd" type="STRING" size="256"/>
  398. <Column id="upmenuitemcd" type="STRING" size="256"/>
  399. <Column id="useyn" type="STRING" size="256"/>
  400. <Column id="r" type="STRING" size="256"/>
  401. <Column id="x" type="STRING" size="256"/>
  402. <Column id="p" type="STRING" size="256"/>
  403. <Column id="menugrupcd" type="STRING" size="256"/>
  404. <Column id="menuauthcd" type="STRING" size="256"/>
  405. <Column id="scrnauth" type="STRING" size="256"/>
  406. </ColumnInfo>
  407. </Dataset>
  408. <Dataset id="ds_init_combo1" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  409. <ColumnInfo>
  410. <Column id="lable" type="STRING" size="256"/>
  411. <Column id="value" type="STRING" size="256"/>
  412. </ColumnInfo>
  413. <Rows>
  414. <Row>
  415. <Col id="lable">권한그룹명</Col>
  416. <Col id="value">menuauthnm</Col>
  417. </Row>
  418. <Row>
  419. <Col id="lable">권한그룹코드</Col>
  420. <Col id="value">menuauthcd</Col>
  421. </Row>
  422. <Row>
  423. <Col id="lable">메뉴그룹명</Col>
  424. <Col id="value">menugrupnm</Col>
  425. </Row>
  426. <Row>
  427. <Col id="lable">메뉴그룹코드</Col>
  428. <Col id="value">menugrupcd</Col>
  429. </Row>
  430. </Rows>
  431. </Dataset>
  432. <Dataset id="ds_grd_menuauthgruplist" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  433. <ColumnInfo>
  434. <Column id="menuauthnm" type="STRING" size="256"/>
  435. <Column id="menuauthcd" type="STRING" size="256"/>
  436. </ColumnInfo>
  437. </Dataset>
  438. <Dataset id="ds_grd_menudenyuserlist" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  439. <ColumnInfo>
  440. <Column id="seq" type="STRING" size="256" sumtext="번호"/>
  441. <Column id="menuauthcd" type="STRING" size="256" sumtext="계정그룹명"/>
  442. <Column id="acntgrupcd" type="STRING" size="256" sumtext="계정그룹명"/>
  443. <Column id="acntgrupnm" type="STRING" size="256" sumtext="계정그룹명"/>
  444. <Column id="dutplcecd" type="STRING" size="256" sumtext="근무지부서명"/>
  445. <Column id="dutplcenm" type="STRING" size="256" sumtext="근무지부서명"/>
  446. <Column id="jobkindcd" type="STRING" size="256" sumtext="직종명"/>
  447. <Column id="jobrespcd" type="STRING" size="256" sumtext="직책명"/>
  448. <Column id="dutinstcd" type="STRING" size="256" sumtext="근무기관명"/>
  449. <Column id="orginstcd" type="STRING" size="256" sumtext="원소속기관명"/>
  450. <Column id="userkindcd" type="STRING" size="256" sumtext="사용자유형명"/>
  451. <Column id="grupjoblncd" type="STRING" size="256" sumtext="직군명"/>
  452. <Column id="prfshipflagcd" type="STRING" size="256" sumtext="교직명"/>
  453. <Column id="jobposcd" type="STRING" size="256" sumtext="직위명"/>
  454. </ColumnInfo>
  455. </Dataset>
  456. <Dataset id="ds_grd_menuauthuserlist" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  457. <ColumnInfo>
  458. <Column id="seq" type="STRING" size="256" sumtext="번호"/>
  459. <Column id="menuauthcd" type="STRING" size="256" sumtext="계정그룹명"/>
  460. <Column id="acntgrupcd" type="STRING" size="256" sumtext="계정그룹명"/>
  461. <Column id="acntgrupnm" type="STRING" size="256" sumtext="계정그룹명"/>
  462. <Column id="dutplcecd" type="STRING" size="256" sumtext="근무지부서명"/>
  463. <Column id="dutplcenm" type="STRING" size="256" sumtext="근무지부서명"/>
  464. <Column id="jobkindcd" type="STRING" size="256" sumtext="직종명"/>
  465. <Column id="jobrespcd" type="STRING" size="256" sumtext="직책명"/>
  466. <Column id="dutinstcd" type="STRING" size="256" sumtext="근무기관명"/>
  467. <Column id="orginstcd" type="STRING" size="256" sumtext="원소속기관명"/>
  468. <Column id="userkindcd" type="STRING" size="256" sumtext="사용자유형명"/>
  469. <Column id="grupjoblncd" type="STRING" size="256" sumtext="직군명"/>
  470. <Column id="prfshipflagcd" type="STRING" size="256" sumtext="교직명"/>
  471. <Column id="jobposcd" type="STRING" size="256" sumtext="직위명"/>
  472. </ColumnInfo>
  473. </Dataset>
  474. <Dataset id="ds_grd_menuuser_temp" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  475. <ColumnInfo>
  476. <Column id="acntdepttype" type="STRING" size="256"/>
  477. <Column id="rgstnm" type="STRING" size="256"/>
  478. <Column id="rgstcd" type="STRING" size="256"/>
  479. </ColumnInfo>
  480. </Dataset>
  481. <Dataset id="ds_init_cmb_menugrup" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  482. <ColumnInfo>
  483. <Column id="menugrupnm" type="STRING" size="256"/>
  484. <Column id="menugrupcd" type="STRING" size="256"/>
  485. </ColumnInfo>
  486. </Dataset>
  487. <Dataset id="ds_init_cmb_menugrupauthlist" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  488. <ColumnInfo>
  489. <Column id="menugrupnm" type="STRING" size="256" sumtext="메뉴권한코드"/>
  490. <Column id="menugrupcd" type="STRING" size="256" sumtext="메뉴권한명"/>
  491. </ColumnInfo>
  492. </Dataset>
  493. <Dataset id="ds_grd_menugrupauthlist" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  494. <ColumnInfo>
  495. <Column id="menu_level" type="STRING" size="256"/>
  496. <Column id="menuitemnm" type="STRING" size="256"/>
  497. <Column id="menuitemcd" type="STRING" size="256"/>
  498. <Column id="upmenuitemcd" type="STRING" size="256"/>
  499. <Column id="useyn" type="STRING" size="256"/>
  500. <Column id="r" type="STRING" size="256"/>
  501. <Column id="x" type="STRING" size="256"/>
  502. <Column id="p" type="STRING" size="256"/>
  503. <Column id="menugrupcd" type="STRING" size="256"/>
  504. <Column id="menuauthcd" type="STRING" size="256"/>
  505. <Column id="scrnauth" type="STRING" size="256"/>
  506. </ColumnInfo>
  507. </Dataset>
  508. <Dataset id="ds_temp_menuuserlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  509. <ColumnInfo>
  510. <Column id="rgstnm" type="STRING" size="256"/>
  511. <Column id="rgstcd" type="STRING" size="256"/>
  512. <Column id="deptcd" type="STRING" size="256"/>
  513. <Column id="deptnm" type="STRING" size="256"/>
  514. </ColumnInfo>
  515. </Dataset>
  516. <Dataset id="ds_R0061" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  517. <ColumnInfo>
  518. <Column id="cdid" type="STRING" size="256"/>
  519. <Column id="cdnm" type="STRING" size="256"/>
  520. </ColumnInfo>
  521. </Dataset>
  522. <Dataset id="ds_R0063" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  523. <ColumnInfo>
  524. <Column id="cdid" type="STRING" size="256"/>
  525. <Column id="cdnm" type="STRING" size="256"/>
  526. </ColumnInfo>
  527. </Dataset>
  528. <Dataset id="ds_Z0007" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  529. <ColumnInfo>
  530. <Column id="cdid" type="STRING" size="256"/>
  531. <Column id="cdnm" type="STRING" size="256"/>
  532. </ColumnInfo>
  533. </Dataset>
  534. <Dataset id="ds_Z0016" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  535. <ColumnInfo>
  536. <Column id="cdid" type="STRING" size="256"/>
  537. <Column id="cdnm" type="STRING" size="256"/>
  538. </ColumnInfo>
  539. </Dataset>
  540. <Dataset id="ds_R0059" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  541. <ColumnInfo>
  542. <Column id="cdid" type="STRING" size="256"/>
  543. <Column id="cdnm" type="STRING" size="256"/>
  544. </ColumnInfo>
  545. </Dataset>
  546. <Dataset id="ds_R0058" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  547. <ColumnInfo>
  548. <Column id="cdid" type="STRING" size="256"/>
  549. <Column id="cdnm" type="STRING" size="256"/>
  550. </ColumnInfo>
  551. </Dataset>
  552. <Dataset id="ds_R0062" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  553. <ColumnInfo>
  554. <Column id="cdid" type="STRING" size="256"/>
  555. <Column id="cdnm" type="STRING" size="256"/>
  556. </ColumnInfo>
  557. </Dataset>
  558. </Objects>
  559. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  560. * System Name :
  561. * Job Name :
  562. * Creator :
  563. * Make Date : 2014-10-31
  564. * Description :
  565. *---------------------------------------------------------------------------------------
  566. * Modify Date Modifier Modify Description
  567. *---------------------------------------------------------------------------------------
  568. * 2014-10-31 Live Converter TF->XP
  569. *
  570. *---------------------------------------------------------------------------------------
  571. ****************************************************************************************/
  572. //=======================================================================================
  573. // Lib Include
  574. //---------------------------------------------------------------------------------------
  575. include "com_commonxp::comm_main.xjs"
  576. //=======================================================================================
  577. // Global Form Variable
  578. //---------------------------------------------------------------------------------------
  579. var gv_IsGridCheckAll = 0;
  580. //=======================================================================================
  581. // Function
  582. //---------------------------------------------------------------------------------------
  583. function SMZSA20400_oninit(obj:Form, e:InitEventInfo)
  584. {
  585. frmf_initForm(obj);
  586. // grd_menuauthlist.fixedcellcheckbox(0,6) = true;
  587. // grd_menuauthlist.fixedcellcheckbox(0,7) = true;
  588. // grd_menuauthlist.fixedcellcheckbox(0,8) = true;
  589. fInitialize();
  590. group2.combo1.index = 0;
  591. //공통코드조회
  592. appf_getCodeList([ {dsNm: "ds_R0061", cdGrpId: "R0061", sortField: "cdnm"}
  593. ,{dsNm: "ds_R0063", cdGrpId: "R0063", sortField: "cdnm"}
  594. ,{dsNm: "ds_Z0007", cdGrpId: "Z0007", sortField: "cdnm"}
  595. ,{dsNm: "ds_Z0016", cdGrpId: "Z0016", sortField: "cdnm"}
  596. ,{dsNm: "ds_R0058", cdGrpId: "R0058", sortField: "cdnm"}
  597. ,{dsNm: "ds_R0059", cdGrpId: "R0059", sortField: "cdnm"}
  598. ,{dsNm: "ds_R0062", cdGrpId: "R0062", sortField: "cdnm"} ]);
  599. grdf_setGridSort(grd_menuauthgruplist);
  600. grdf_setGridSort(grd_menulist);
  601. grdf_setGridSort(grd_menuauthuserlist);
  602. grdf_setGridSort(grd_menudenyuserlist);
  603. frmf_createPopupMenu("pmn_grp_popupMenu"
  604. , "pmn_grp_popupMenu_onmenuclick"
  605. , [{id: "delmagrup", level: "1", title: "메뉴권한그룹삭제"}, {id: "setmagrup", level: "1", title: "메뉴권한그룹수정"}]);
  606. frmf_createPopupMenu("pmn_grp_setAcntgroup"
  607. , "pmn_grp_setAcntgroup_onmenuclick"
  608. , [{id: "setAcntgroup", level: "1", title: "계정그룹삭제"}]);
  609. frmf_createPopupMenu("pmn_grp_setDutplce"
  610. , "pmn_grp_setDutplce_onmenuclick"
  611. , [{id: "setDutplce", level: "1", title: "근무지삭제"}]);
  612. frmf_createPopupMenu("pmn_grp_setDAcntgroup"
  613. , "pmn_grp_setDAcntgroup_onmenuclick"
  614. , [{id: "setDAcntgroup", level: "1", title: "계정그룹삭제"}]);
  615. frmf_createPopupMenu("pmn_grp_setDDutplce"
  616. , "pmn_grp_setDDutplce_onmenuclick"
  617. , [{id: "setDDutplce", level: "1", title: "근무지삭제"}]);
  618. }
  619. function fInitialize(){
  620. div_menugrp.cmb_menugrup.visible = false;
  621. div_menugrp.caption8.visible = true;
  622. ds_grd_menuauthgruplist.clearData();
  623. ds_grd_menuauthuserlist.clearData();
  624. ds_grd_menudenyuserlist.clearData();
  625. ds_grd_menuauthlist.clearData();
  626. ds_grd_menugrupauthlist.clearData();
  627. ds_grd_menulist.clearData();
  628. ds_temp_menuuserlist.clearData();
  629. //상태값 표시
  630. grdf_setRowTypeIcon(grd_menuauthgruplist, 0);
  631. grdf_setRowTypeIcon(grd_menulist, 0);
  632. grdf_setRowTypeIcon(grd_menuauthlist, 0);
  633. grdf_setRowTypeIcon(grd_menuauthuserlist, 0);
  634. grdf_setRowTypeIcon(grd_menudenyuserlist, 0);
  635. }
  636. function group2_btn_search_menuauth_onclick(obj:Button, e:ClickEventInfo){
  637. fInitialize();
  638. fClicked("search", grd_menulist, "menu", ds_grd_menulist);
  639. fClicked("search", grd_menuauthgruplist, "menuauthgrup", ds_grd_menuauthgruplist);
  640. div_menugrp.cmb_menugrup.visible = true;
  641. div_menugrp.caption8.visible = false;
  642. }
  643. /*
  644. 버튼 컨트롤들을 클릭했을때 공통으로 타는 함수입니다.
  645. control : "search" 는 조회 버튼 클릭
  646. "init"은 신규 버튼 클릭
  647. "save"는 저장 버튼 클릭
  648. grid : 그리드 컨트롤을 넘겨줍니다.
  649. param : 기타 param을 넘겨줍니다.
  650. */
  651. function fClicked(control, grid, param, ds){
  652. if ("search" == control){
  653. fSearchClick(grid, param, ds);
  654. ///model.resetInstanceNode("/root/send");
  655. } else if ("init" == control){
  656. this.reload();
  657. } else if ("save" == control){
  658. fSaveClick(grid, param, ds);
  659. } else if ("delete" == control){
  660. fDeleteClick(grid, param, ds);
  661. }else {
  662. sysf_messageBox("처리를 수행","E002");
  663. }
  664. }
  665. /*
  666. 조회버튼 클릭 타는 함수입니다.
  667. grid.explorerbar = "sortshow" sort설정합니다.
  668. ipt_usercdnm_flag는 검색조건의 사용자코드 or 사용자명입니다.
  669. radio1은 사용자코드 or 사용자명 선택 라디오 버튼입니다.
  670. submit을 날립니다.
  671. .
  672. */
  673. function fSearchClick(grid,param,dataset){
  674. dataset.clearData();
  675. var sInDsName = dsf_createDsRow("in_ds_search"
  676. , [ {col: "searchitem", val: group2.ipt_search_item.value}
  677. ,{col: "flag", val: group2.combo1.value}
  678. ,{col: "menugrupcd", val: div_menugrp.cmb_menugrup.value}
  679. ,{col: "menugrupauthcd", val: div_menugrpauth.cmb_menugrupauthlist.value}
  680. ,{col: "optmenuauthcd", val: opt_menuauthcd.value} ]);
  681. if(param == "menuauthgrup"){
  682. var oParam = {};
  683. oParam.id = "TRZSA20400";
  684. oParam.service = "authinfoapp.AuthInfo";
  685. oParam.method = "reqGetMenuAuthList";
  686. oParam.inds = "req="+sInDsName;
  687. oParam.outds = "ds_grd_menuauthgruplist=menuauthgruplist";
  688. oParam.async = false;
  689. oParam.callback = "cf_TRZSA20400";
  690. tranf_submit(oParam);
  691. } else if(param == "menu"){
  692. var oParam = {};
  693. oParam.id = "TRZSA20402";
  694. oParam.service = "authinfoapp.AuthInfo";
  695. oParam.method = "reqGetMenuGrup";
  696. oParam.inds = "req="+sInDsName;
  697. oParam.outds = "ds_init_cmb_menugrup=menugruplist";
  698. oParam.async = false;
  699. oParam.callback = "cf_TRZSA20402";
  700. tranf_submit(oParam);
  701. } else if(param == "menulist"){
  702. var oParam = {};
  703. oParam.id = "TRZSA20403";
  704. oParam.service = "authinfoapp.AuthInfo";
  705. oParam.method = "reqGetMenuItem";
  706. oParam.inds = "req="+sInDsName;
  707. oParam.outds = "ds_grd_menulist=menulist";
  708. oParam.async = false;
  709. oParam.callback = "cf_TRZSA20403";
  710. tranf_submit(oParam);
  711. } else if(param == "menugrupauthlist" || param == "menuauthlist"){
  712. var oParam = {};
  713. oParam.id = "TRZSA20406";
  714. oParam.service = "authinfoapp.AuthInfo";
  715. oParam.method = "reqGetMenuGrupAuthList";
  716. oParam.inds = "req="+sInDsName;
  717. oParam.outds = "ds_grd_menuauthlist=menuauthlist";
  718. oParam.async = false;
  719. oParam.callback = "cf_TRZSA20406";
  720. tranf_submit(oParam);
  721. } else {
  722. alert("Submit 실패입니다! 조회조건을 확인하세요!");
  723. }
  724. }
  725. function cf_TRZSA20400(sSvcId, nErrorCode, sErrorMsg) {
  726. if(nErrorCode < 0) return;
  727. }
  728. function cf_TRZSA20402(sSvcId, nErrorCode, sErrorMsg) {
  729. if(nErrorCode < 0) return;
  730. }
  731. function cf_TRZSA20403(sSvcId, nErrorCode, sErrorMsg) {
  732. if(nErrorCode < 0) return;
  733. }
  734. function cf_TRZSA20406(sSvcId, nErrorCode, sErrorMsg) {
  735. if(nErrorCode < 0) return;
  736. }
  737. /*
  738. 저장 버튼 클릭시 사는 함수입니다.
  739. 사용자코드, 사용자명, 비밀번호, 적용시작일자, 적용종료일자는 필수 항목 입니다.
  740. 필수항목 모두 입력시 /root/main/item 노드를 send 노드로 복사합니다.
  741. submit을 날립니다.
  742. */
  743. function fSaveClick(grid, param, ds){
  744. if("menuauthgrup" == param){
  745. var oParam = {};
  746. oParam.id = "TXZSA20400";
  747. oParam.service = "authinfoapp.AuthInfo";
  748. oParam.method = "reqExeSaveMenuAuthInfo";
  749. oParam.inds = "req=ds_grd_menuauthgruplist:U";
  750. oParam.outds = "null";
  751. oParam.async = false;
  752. oParam.callback = "cf_TXZSA20400";
  753. tranf_submit(oParam);
  754. }
  755. }
  756. function cf_TXZSA20400(sSvcId, nErrorCode, sErrorMsg) {
  757. if(nErrorCode < 0) return;
  758. }
  759. function fDeleteClick(grid, param){
  760. if(param == "menuauthgrup"){
  761. var row = ds_grd_menuauthgruplist.rowposition;
  762. if(ds_grd_menuauthgruplist.getRowType(row) == Dataset.ROWTYPE_INSERT) {
  763. ds_grd_menuauthgruplist.deleteRow(row);
  764. return;
  765. }
  766. var arrPostion = new Array();
  767. arrPostion[0] = row;
  768. grdf_setStatus(grd_menuauthgruplist, "D", arrPostion);
  769. var oParam = {};
  770. oParam.id = "TXZSA20400";
  771. oParam.service = "authinfoapp.AuthInfo";
  772. oParam.method = "reqExeSaveMenuAuthInfo";
  773. oParam.inds = "req=ds_grd_menuauthgruplist:U";
  774. oParam.outds = "null";
  775. oParam.async = false;
  776. oParam.callback = "cf_TXZSA20400";
  777. tranf_submit(oParam);
  778. group2.btn_search_menuauth.click();
  779. }
  780. }
  781. function btn_search_menuauthuserlist_onclick(obj:Button, e:ClickEventInfo) {
  782. ds_grd_menugrupauthlist.clearData();
  783. ds_grd_menuauthlist.clearData();
  784. var iRow = grd_menuauthgruplist.currentrow;
  785. opt_menuauthnm.value = ds_grd_menuauthgruplist.getColumn(iRow, "menuauthnm");
  786. opt_menuauthcd.value = ds_grd_menuauthgruplist.getColumn(iRow, "menuauthcd");
  787. var iOptmenuauthcd = opt_menuauthcd.value;
  788. var sInDsName = dsf_createDsRow("in_ds_search"
  789. , [{col: "optmenuauthcd", val: iOptmenuauthcd} ]);
  790. var oParam = {};
  791. oParam.id = "TRZSA20401";
  792. oParam.service = "authinfoapp.AuthInfo";
  793. oParam.method = "reqGetMenuAuthUserList";
  794. oParam.inds = "req="+sInDsName;
  795. oParam.outds = "ds_grd_menuauthuserlist=menuauthuserlist ds_grd_menudenyuserlist=menudenyuserlist ds_init_cmb_menugrupauthlist=menugrupauthlist";
  796. oParam.async = false;
  797. oParam.callback = "cf_TRZSA20401";
  798. tranf_submit(oParam);
  799. // trace(ds_grd_menuauthuserlist.saveXML());
  800. // trace(ds_grd_menugrupauthlist.saveXML());
  801. }
  802. function cf_TRZSA20401(sSvcId, nErrorCode, sErrorMsg) {
  803. if(nErrorCode < 0) return;
  804. }
  805. function btn_delete_menuauthgrup_onclick(obj:Button, e:ClickEventInfo){
  806. var rtn = sysf_messageBox(" 해당 메뉴권한그룹을 ", "Q001");
  807. if(rtn == 6){
  808. fClicked("delete", grd_menuauthgruplist, "menuauthgrup", ds_grd_menuauthgruplist);
  809. }
  810. }
  811. function btn_add_menuauthgrup_onclick(obj:Button, e:ClickEventInfo){
  812. ds_grd_menuauthgruplist.addRow();
  813. }
  814. function btn_save_menuauthgrup_onclick(obj:Button, e:ClickEventInfo){
  815. fClicked("save", grd_menuauthgruplist, "menuauthgrup", ds_grd_menuauthgruplist);
  816. group2.btn_search_menuauth.click();
  817. }
  818. function grd_menuauthgruplist_onrbuttondown(obj:Grid, e:GridMouseEventInfo){
  819. pmn_grp_popupMenu.trackPopup(e.screenX,e.screenY);
  820. }
  821. function pmn_grp_popupMenu_onmenuclick(obj:PopupMenu, e:MenuClickEventInfo){
  822. if(e.id == "delmagrup"){ // 메뉴권한그룹삭제
  823. btn_delete_menuauthgrup.click();
  824. } else if(e.id == "setmagrup"){ // 메뉴권한그룹수정
  825. var iRow = grd_menuauthgruplist.currentrow;
  826. var iProperties = "";
  827. var objArg = new Object();
  828. objArg.sVal01 = ds_grd_menuauthgruplist.getColumn(iRow, "menuauthcd");
  829. iProperties = frmf_modal("SPZSA20400", "SPZSA20400", objArg);
  830. if(iProperties.length != "" && iProperties != undefined){
  831. ///ds_grd_menuauthgruplist.setColumn(iRow, "menuauthnm", iProperties);
  832. group2.btn_search_menuauth.click();
  833. } else {
  834. sysf_messageBox("데이터를 저장", "E001");
  835. }
  836. }
  837. }
  838. function group2_ipt_search_item_onkeydown(obj:Edit, e:KeyEventInfo){
  839. if(e.keycode == 13){
  840. group2.btn_search_menuauth.click();
  841. }
  842. }
  843. function grd_menuauthgruplist_oncelldblclick(obj:Grid, e:GridClickEventInfo){
  844. ///grd_menuauthgruplist.gridToInstance();
  845. var iRow = grd_menuauthgruplist.currentrow;
  846. if( ds_grd_menuauthgruplist.getColumn(iRow, "menuauthnm") != "" ){
  847. btn_search_menuauthuserlist.click();
  848. div_menugrpauth.cmb_menugrupauthlist.index = 0;
  849. fClicked("search", grd_menugrupauthlist, "menuauthlist", ds_grd_menuauthlist);
  850. //frmf_inputEnterKey("cmb_menugrupauthlist", "onitemchange", e);
  851. //cmb_menugrupauthlist.dispatch("xforms-select");
  852. }
  853. }
  854. function div_menugrpauth_cmb_menugrupauthlist_onitemchanged(obj:Combo, e:ItemChangeEventInfo){
  855. ///grd_menuauthlist.rebuild();
  856. fClicked("search", grd_menugrupauthlist, "menuauthlist", ds_grd_menuauthlist);
  857. //setTree(grd_menuauthlist, 1, 2, true);
  858. }
  859. function btn_save_onclick(obj:Button, e:ClickEventInfo){
  860. fSaveTotal();
  861. }
  862. // 화면 상단오른쪽에 저장버튼을 클릭시 호출되는 함수
  863. function fSaveTotal(){
  864. var temp_menuauthcd = opt_menuauthcd.value;
  865. var temp_menuauthnm = opt_menuauthnm.value;
  866. // 메뉴허용자조건에 비어있는 조건이 있는지 확인
  867. if(checkAuthColumn("grd_menuauthuserlist", grd_menuauthuserlist) == false || checkAuthColumn("grd_menudenyuserlist", grd_menudenyuserlist)==false)
  868. {
  869. sysf_messageBox("비어있는 조건식이 있습니다. 확인하여 주세요.", "I999");
  870. return;
  871. }
  872. // 메뉴제한자조건에 비어있는 조건이 있는지 확인
  873. // 메뉴권한설정 추가
  874. for(var i = 0; i < ds_grd_menuauthlist.rowcount; i++){
  875. var iTypeR = ds_grd_menuauthlist.getColumn(i, "r");
  876. var iTypeX = ds_grd_menuauthlist.getColumn(i, "x");
  877. var iTypeP = ds_grd_menuauthlist.getColumn(i, "p");
  878. var iScrnAuth = iTypeR + iTypeX + iTypeP;
  879. ds_grd_menuauthlist.setColumn(i, "scrnauth", iScrnAuth+"00000");
  880. }
  881. var oParam = {};
  882. oParam.id = "TXZSA20401";
  883. oParam.service = "authinfoapp.AuthInfo";
  884. oParam.method = "reqExeSaveMenuItemAuthInfo";
  885. oParam.inds = "req1=ds_grd_menuauthuserlist:U req2=ds_grd_menudenyuserlist:U req3=ds_grd_menuauthlist:U";
  886. oParam.outds = "null";
  887. oParam.async = false;
  888. oParam.callback = "cf_TXZSA20401";
  889. tranf_submit(oParam);
  890. }
  891. function cf_TXZSA20401(sSvcId, nErrorCode, sErrorMsg) {
  892. if(nErrorCode < 0) return;
  893. // grd_menuauthlist.clearStatus(); // submit() 성공하면 그리드의 i,u,d 상태 제거
  894. // grd_menuauthuserlist.clearStatus(); // submit() 성공하면 그리드의 i,u,d 상태 제거
  895. // grd_menudenyuserlist.clearStatus(); // submit() 성공하면 그리드의 i,u,d 상태 제거
  896. group2.btn_search_menuauth.click();
  897. // opt_menuauthnm.value = temp_menuauthnm;
  898. // opt_menuauthcd.value = temp_menuauthcd;
  899. var sInDsName = dsf_createDsRow("in_ds_search"
  900. , [{col: "optmenuauthcd", val: opt_menuauthcd.value} ]);
  901. var oParam = {};
  902. oParam.id = "TRZSA20401";
  903. oParam.service = "authinfoapp.AuthInfo";
  904. oParam.method = "reqGetMenuAuthUserList";
  905. oParam.inds = "req="+sInDsName;
  906. oParam.outds = "ds_grd_menuauthuserlist=menuauthuserlist ds_grd_menudenyuserlist=menudenyuserlist ds_init_cmb_menugrupauthlist=menugrupauthlist";
  907. oParam.async = false;
  908. oParam.callback = "cf_TRZSA20401";
  909. tranf_submit(oParam);
  910. }
  911. function checkAuthColumn( gridID, gridObj ) {
  912. var rowsArray = grdf_getUpdateRows( gridID, "insert" );
  913. rowsArray = grdf_getUpdateRows( gridID, "update", rowsArray );
  914. //var colsArray = grdf_getKeyCols( gridID, "_required" );
  915. var colsArray = new Array();
  916. colsArray.push(3);
  917. colsArray.push(5);
  918. colsArray.push(7);
  919. var i, j;
  920. var checkVal;
  921. for( i = 0; i < rowsArray.length; i++ ) {
  922. //alert(i+'번째 줄')
  923. checkVal = 0;
  924. for( j = 0; j < colsArray.length; j++ ) {
  925. //alert(j+'번째 컬럼['+ gridObj.valueMatrix(rowsArray[i], colsArray[j]) +']')
  926. //alert(rowsArray[i] + " / " + colsArray[j]);
  927. if( gridObj.getCellValue(rowsArray[i], colsArray[j]) != "" ) {
  928. checkVal++;
  929. }
  930. }
  931. if(checkVal==0)
  932. {
  933. //messageBox("비어있는 조건식이 있습니다. 확인하여 주세요.", "I999");
  934. return false;
  935. }
  936. }
  937. return true;
  938. }
  939. function div_menugrp_cmb_menugrup_onitemchanged(obj:Combo, e:ItemChangeEventInfo){
  940. fClicked("search", grd_menulist, "menulist", ds_grd_menulist);
  941. // grd_menulist.rebuild();
  942. // setTree(grd_menulist, 1, 2, true);
  943. }
  944. function btn_search_menu_onclick(obj:Button, e:ClickEventInfo){
  945. fClicked("search", grd_menulist, "menu", ds_grd_menulist);
  946. div_menugrp.cmb_menugrup.visible = true;
  947. div_menugrp.caption8.visible = false;
  948. }
  949. function grd_menugrupauthlist_oncellclick(obj:Grid, e:GridClickEventInfo){
  950. if(e.col == "6" || e.col == "7" || e.col == "8"){
  951. var iRow = grd_menugrupauthlist.currentrow;
  952. var iCol = grd_menugrupauthlist.currentcol;
  953. var iTypeR = ds_grd_menugrupauthlist.getColumn(iRow, "r");
  954. var iTypeX = ds_grd_menugrupauthlist.getColumn(iRow, "x");
  955. var iTypeP = ds_grd_menugrupauthlist.getColumn(iRow, "p");
  956. var iScrnAuth = iTypeR + iTypeX + iTypeP;
  957. ds_grd_menugrupauthlist.setColumn(iRow, "scrnauth", iScrnAuth+"00000");
  958. }
  959. }
  960. function btn_reg_menulist_onclick(obj:Button, e:ClickEventInfo)
  961. {
  962. var iRow = grd_menulist.currentrow;
  963. // var iSetNode ="/root/main/list_authuser/menuauthlist";
  964. // var iGetNode = "/root/main/list_menu/menulist";
  965. var iLevel = ds_grd_menulist.getColumn(iRow, "menu_level");
  966. var iMenuitemnm = ds_grd_menulist.getColumn(iRow, "menuitemnm");
  967. var iMenuitemcd = ds_grd_menulist.getColumn(iRow, "menuitemcd");
  968. var iUpmenuitemcd = ds_grd_menulist.getColumn(iRow, "upmenuitemcd");
  969. if(iLevel!="1"){
  970. var iRows = grd_menuauthlist.rowcount;
  971. var icheckflag = "";
  972. for(var i = 0; i < grd_menuauthlist.rowcount; i++){
  973. icheckflag = "N";
  974. if(iUpmenuitemcd == ds_grd_menuauthlist.getColumn(i, "menuitemcd")){
  975. alert("상위 메뉴가 있습니다.");
  976. icheckflag = "Y";
  977. break;
  978. }
  979. }
  980. if(icheckflag == "Y"){
  981. ds_grd_menuauthlist.addRow();
  982. var iaddRow = grd_menuauthlist.currentrow;
  983. ds_grd_menuauthlist.setColumn(iaddRow, "menu_level", iLevel);
  984. ds_grd_menuauthlist.setColumn(iaddRow, "menuitemnm", iMenuitemnm);
  985. ds_grd_menuauthlist.setColumn(iaddRow, "menuitemcd", iMenuitemcd);
  986. ds_grd_menuauthlist.setColumn(iaddRow, "authtype", "Y");
  987. // setTree(grd_menuauthlist, 1, 2, true);
  988. } else {
  989. alert("상위 메뉴를 등록하십시요");
  990. }
  991. } else {
  992. ds_grd_menuauthlist.addRow();
  993. var iaddRow = grd_menuauthlist.currentrow;
  994. ds_grd_menuauthlist.setColumn(iaddRow, "menu_level", iLevel);
  995. ds_grd_menuauthlist.setColumn(iaddRow, "menuitemnm", iMenuitemnm);
  996. ds_grd_menuauthlist.setColumn(iaddRow, "menuitemcd", iMenuitemcd);
  997. ds_grd_menuauthlist.setColumn(iaddRow, "authtype", "Y");
  998. // setTree(grd_menuauthlist, 1, 2, true);
  999. }
  1000. }
  1001. function btn_Regall_onclick(obj:Button, e:ClickEventInfo)
  1002. {
  1003. if(opt_menuauthcd.value == "" || opt_menuauthcd.value == null){
  1004. sysf_messageBox(" 메뉴권한그룹을 선택하십시요! 등록할 수 ", "E001");
  1005. } else {
  1006. var iMenu_MenuGrupCD = ds_grd_menulist.getColumn(0, "menugrupcd"); // 해당메뉴그룹코드
  1007. var menulength = div_menugrpauth.cmb_menugrupauthlist.getCount(); // 메뉴권한적용그룹의 갯수
  1008. var check_count = 0;
  1009. for(var checkfild = 0; checkfild <= menulength; checkfild++) {
  1010. if (iMenu_MenuGrupCD == ds_grd_menugrupauthlist.getColumn(checkfild, "menugrupcd")){
  1011. //cmb_menugrupauthlist.index = checkfild-1;
  1012. div_menugrpauth.cmb_menugrupauthlist.index = checkfild;
  1013. check_count++;
  1014. }
  1015. }
  1016. if (check_count == 0){
  1017. var iFixed_Row = div_menugrpauth.cmb_menugrupauthlist.getCount();
  1018. ds_init_cmb_menugrupauthlist.addRow();
  1019. ds_init_cmb_menugrupauthlist.setColumn(iFixed_Row, "menugrupnm", ds_init_cmb_menugrup.getColumn(div_menugrp.cmb_menugrup.index, "menugrupnm"));
  1020. ds_init_cmb_menugrupauthlist.setColumn(iFixed_Row, "menugrupcd", ds_init_cmb_menugrup.getColumn(div_menugrp.cmb_menugrup.index, "menugrupcd"));
  1021. div_menugrpauth.cmb_menugrupauthlist.index = iFixed_Row;
  1022. fClicked("search", grd_menugrupauthlist, "menuauthlist", ds_grd_menuauthlist);
  1023. }
  1024. var checkvalue = 0;
  1025. var iRow = grd_menulist.currentrow;
  1026. var iaddRow = grd_menuauthlist.currentrow;
  1027. // var iSetNode ="/root/main/list_authmenu/menuauthlist";
  1028. // var iGetNode = "/root/main/list_menu/menulist";
  1029. // var iSetNode_final ="/root/main/list_authmenu/menuauthlist";
  1030. var itRow = grd_menuauthlist.rowcount;
  1031. if(itRow < 0 )
  1032. {
  1033. itRow = 0;
  1034. }
  1035. var insertIndex = new Array();
  1036. var insertCnt = 0;
  1037. for(var i = 0; i < ds_grd_menulist.rowcount; i++){
  1038. var tempcheck = 0;
  1039. var iLevel = ds_grd_menulist.getColumn(i, "menu_level");
  1040. var iMenuitemnm = ds_grd_menulist.getColumn(i, "menuitemnm");
  1041. var iMenuitemcd = ds_grd_menulist.getColumn(i, "menuitemcd");
  1042. var iUpmenuitemcd = ds_grd_menulist.getColumn(i, "upmenuitemcd");
  1043. var iMenuGrupCD = ds_grd_menulist.getColumn(i, "menugrupcd");
  1044. var check_count = ds_grd_menuauthlist.getCaseCount("menuitemcd == '"+iMenuitemcd+"'");
  1045. //alert("iMenuitemnm: :"+iMenuitemnm+" ==> "+check_count);
  1046. if( check_count <= 0 ){
  1047. ds_grd_menuauthlist.insertRow(i);
  1048. // ds_grd_menuauthlist.setColumn(itRow, "menu_level", iLevel);
  1049. // ds_grd_menuauthlist.setColumn(itRow, "menuitemnm", iMenuitemnm);
  1050. // ds_grd_menuauthlist.setColumn(itRow, "menuitemcd", iMenuitemcd);
  1051. // ds_grd_menuauthlist.setColumn(itRow, "upmenuitemcd", iUpmenuitemcd);
  1052. // ds_grd_menuauthlist.setColumn(itRow, "r", "1");
  1053. // ds_grd_menuauthlist.setColumn(itRow, "x", "1");
  1054. // ds_grd_menuauthlist.setColumn(itRow, "p", "1");
  1055. //
  1056. // ds_grd_menuauthlist.setColumn(itRow, "scrnauth", "11100000");
  1057. // ds_grd_menuauthlist.setColumn(itRow, "menugrupcd", iMenuGrupCD);
  1058. // ds_grd_menuauthlist.setColumn(itRow, "menuauthcd", opt_menuauthcd.text);
  1059. ds_grd_menuauthlist.setColumn(i, "menu_level", iLevel);
  1060. ds_grd_menuauthlist.setColumn(i, "menuitemnm", iMenuitemnm);
  1061. ds_grd_menuauthlist.setColumn(i, "menuitemcd", iMenuitemcd);
  1062. ds_grd_menuauthlist.setColumn(i, "upmenuitemcd", iUpmenuitemcd);
  1063. ds_grd_menuauthlist.setColumn(i, "r", "1");
  1064. ds_grd_menuauthlist.setColumn(i, "x", "1");
  1065. ds_grd_menuauthlist.setColumn(i, "p", "1");
  1066. ds_grd_menuauthlist.setColumn(i, "scrnauth", "11100000");
  1067. ds_grd_menuauthlist.setColumn(i, "menugrupcd", iMenuGrupCD);
  1068. ds_grd_menuauthlist.setColumn(i, "menuauthcd", opt_menuauthcd.text);
  1069. insertIndex[insertCnt++] = itRow;
  1070. itRow++;
  1071. }
  1072. }
  1073. // grd_menuauthlist.rebuild();
  1074. for(var i=0 ; i<insertCnt; i++)
  1075. {
  1076. // grd_menuauthlist.addStatus(insertIndex[i], "insert");
  1077. }
  1078. // setTree(grd_menuauthlist, 1, 2, true);
  1079. }
  1080. }
  1081. function btn_delete_menuauthlist_onclick(obj:Button, e:ClickEventInfo)
  1082. {
  1083. var rtn = sysf_messageBox(" 해당 메뉴그룹 전체를 ", "Q001");
  1084. if(rtn == 6){
  1085. var sInDsName = dsf_createDsRow("in_ds_search"
  1086. , [ {col: "optmenuauthcd", val: opt_menuauthcd.value}
  1087. ,{col: "menugrupauthcd", val: div_menugrpauth.cmb_menugrupauthlist.value} ]);
  1088. var oParam = {};
  1089. oParam.id = "TXZSA20402";
  1090. oParam.service = "authinfoapp.AuthInfo";
  1091. oParam.method = "reqDelMenuItemAuthInfo";
  1092. oParam.inds = "req="+sInDsName;
  1093. oParam.outds = "null";
  1094. oParam.async = false;
  1095. oParam.callback = "cf_TXZSA20402";
  1096. tranf_submit(oParam);
  1097. }
  1098. }
  1099. function cf_TXZSA20402(sSvcId, nErrorCode, sErrorMsg) {
  1100. if(nErrorCode < 0) return;
  1101. var iOptmenuauthcd = opt_menuauthcd.value;
  1102. var sInDsName = dsf_createDsRow("in_ds_search"
  1103. , [{col: "optmenuauthcd", val: iOptmenuauthcd} ]);
  1104. var oParam = {};
  1105. oParam.id = "TRZSA20401";
  1106. oParam.service = "authinfoapp.AuthInfo";
  1107. oParam.method = "reqGetMenuAuthUserList";
  1108. oParam.inds = "req="+sInDsName;
  1109. oParam.outds = "ds_grd_menuauthuserlist=menuauthuserlist ds_grd_menudenyuserlist=menudenyuserlist ds_init_cmb_menugrupauthlist=menugrupauthlist";
  1110. oParam.async = false;
  1111. oParam.callback = "cf_TRZSA20401";
  1112. tranf_submit(oParam);
  1113. ds_grd_menuauthlist.clearData();
  1114. // model.removeNodeset("/root/main/list_authmenu/menuauthlist");
  1115. // grd_menuauthlist.rebuild();
  1116. }
  1117. function grd_menuauthlist_onheadclick(obj:Grid, e:GridClickEventInfo)
  1118. {
  1119. var dsObj = eval(obj.binddataset);
  1120. var v_Colid = obj.getCellProperty("body", e.cell, "text").replace("bind:", "");
  1121. gv_IsGridCheckAll = (gv_IsGridCheckAll ? 0 : 1);
  1122. dsObj.enableevent = false;
  1123. for (var i=0; i<dsObj.getRowCount(); i++) {
  1124. dsObj.setColumn(i, v_Colid, gv_IsGridCheckAll);
  1125. }
  1126. obj.setCellProperty( "Head", e.col, "expr", gv_IsGridCheckAll);
  1127. dsObj.enableevent = true;
  1128. }
  1129. function img_shrink_deny_onclick(obj:Button, e:ClickEventInfo)
  1130. {
  1131. // 제한자 조건 숨기기
  1132. fset_expand_deny(false);
  1133. }
  1134. function fset_expand_deny(isexpand)
  1135. {
  1136. if(isexpand == true)
  1137. {
  1138. vector = +1;
  1139. fset_show_auth(false);
  1140. img_expand_deny.visible = false;
  1141. img_shrink_deny.visible = true;
  1142. }
  1143. else
  1144. {
  1145. vector = -1;
  1146. fset_show_auth(true);
  1147. img_expand_deny.visible = true;
  1148. img_shrink_deny.visible = false;
  1149. }
  1150. cap_deny.position.width
  1151. cap_deny.position.x = parseInt(cap_deny.position.x) - (vector*360);
  1152. grd_menudenyuserlist.position.x = parseInt(grd_menudenyuserlist.position.x) - (vector*360);
  1153. grd_menudenyuserlist.position.width = parseInt(grd_menudenyuserlist.position.width) + (vector*360);
  1154. }
  1155. function fset_show_deny(isshow)
  1156. {
  1157. // 메뉴제한자 숨기기
  1158. cap_deny.visible = isshow;
  1159. btn_reg_menudenyuser.visible = isshow;
  1160. btn_del_menudenyuser.visible = isshow;
  1161. grd_menudenyuserlist.visible = isshow;
  1162. img_expand_deny.visible = isshow;
  1163. }
  1164. function img_expand_auth_onclick(obj:Button, e:ClickEventInfo)
  1165. {
  1166. // 제한자 조건 숨기기
  1167. fset_expand_auth(true);
  1168. }
  1169. function fset_expand_auth(isexpand)
  1170. {
  1171. if(isexpand == true)
  1172. {
  1173. vector = +1;
  1174. fset_show_deny(false);
  1175. img_expand_auth.visible = false;
  1176. img_shrink_auth.visible = true;
  1177. btn_reg_menuauthuser.position.x = grd_menudenyuserlist.position.right - btn_del_menuauthuser.position.width - btn_reg_menuauthuser.position.width - 3;
  1178. btn_del_menuauthuser.position.x = grd_menudenyuserlist.position.right - btn_del_menuauthuser.position.width;
  1179. grd_menuauthuserlist.position.right = grd_menudenyuserlist.position.right;
  1180. // 앵커 right 적용
  1181. grd_menuauthuserlist.anchor = "left right bottom";
  1182. }
  1183. else
  1184. {
  1185. vector = -1;
  1186. fset_show_deny(true);
  1187. img_expand_auth.visible = true;
  1188. img_shrink_auth.visible = false;
  1189. btn_reg_menuauthuser.position.x = 574;
  1190. btn_del_menuauthuser.position.x = 641;
  1191. grd_menuauthuserlist.position.right = 705;
  1192. // 앵커 right 해제
  1193. grd_menuauthuserlist.anchor = "left bottom";
  1194. }
  1195. }
  1196. function img_expand_deny_onclick(obj:Button, e:ClickEventInfo)
  1197. {
  1198. fset_expand_deny(true);
  1199. }
  1200. function img_shrink_auth_onclick(obj:Button, e:ClickEventInfo)
  1201. {
  1202. fset_expand_auth(false);
  1203. }
  1204. function fset_show_auth(isshow)
  1205. {
  1206. // 메뉴허용자 숨기기
  1207. cap_auth.visible = isshow;
  1208. btn_reg_menuauthuser.visible = isshow;
  1209. btn_del_menuauthuser.visible = isshow;
  1210. grd_menuauthuserlist.visible = isshow;
  1211. img_expand_auth.visible = isshow;
  1212. }
  1213. function btn_reg_menuauthuser_onclick(obj:Button, e:ClickEventInfo)
  1214. {
  1215. if(opt_menuauthcd.value == ""){
  1216. alert("메뉴권한그룹을 선택하십시요!");
  1217. } else
  1218. {
  1219. ds_grd_menuauthuserlist.addRow();
  1220. var iRow = grd_menuauthuserlist.currentrow;
  1221. ds_grd_menuauthuserlist.setColumn(iRow, "menuauthcd", opt_menuauthcd.value);
  1222. }
  1223. }
  1224. function grd_menuauthuserlist_onexpanddown(obj:Grid, e:GridMouseEventInfo)
  1225. {
  1226. if(opt_menuauthcd.value == ""){
  1227. alert("계정그룹을 선택하십시요!");
  1228. } else {
  1229. var col_num = obj.currentcol;
  1230. var objArg = new Object();
  1231. objArg.SPZSA20202_1 = col_num;
  1232. //objArg.sVal02 = ds_grd_menugruplist.getColumn(iRow,"menugrupcd");
  1233. var iProperties = frmf_modal("SPZSA20202", "SPZSA20202", objArg);
  1234. //var iProperties = getParameter("SPZSA20202_");
  1235. var iSplit_Value = "";
  1236. if(iProperties != "" && iProperties != undefined){
  1237. iSplit_Value = iProperties.split("|");
  1238. if(iSplit_Value[0] != "" && iSplit_Value[0] != undefined){
  1239. var iRow = grd_menuauthuserlist.currentrow;
  1240. //var iNode = "/root/main/list_authuser/menuauthuserlist";
  1241. // 계정그룹일 경우
  1242. if (iSplit_Value[0]=="G")
  1243. {
  1244. ds_grd_menuauthuserlist.setColumn(iRow, "acntgrupcd", iSplit_Value[1]); // 등록코드
  1245. ds_grd_menuauthuserlist.setColumn(iRow, "acntgrupnm", iSplit_Value[2]); // 등록명
  1246. }
  1247. // 근무지일 경우
  1248. else if(iSplit_Value[0]=="D")
  1249. {
  1250. ds_grd_menuauthuserlist.setColumn(iRow, "dutplcecd", iSplit_Value[3] +""+ iSplit_Value[1]); // 등록코드
  1251. ds_grd_menuauthuserlist.setColumn(iRow, "dutplcenm", iSplit_Value[2]); // 등록명
  1252. }
  1253. // var iStatus = grd_menuauthuserlist.rowstatus(iRow);
  1254. //
  1255. // if(iStatus=="0"){
  1256. // grd_menuauthuserlist.rowstatus(iRow) = "2";
  1257. // }
  1258. } else {
  1259. sysf_messageBox("데이터를 저장", "E001");
  1260. }
  1261. }
  1262. }
  1263. }
  1264. function grd_menuauthuserlist_onrbuttondown(obj:Grid, e:GridMouseEventInfo)
  1265. {
  1266. if(e.col == 4){
  1267. pmn_grp_setAcntgroup.trackPopup(e.screenX,e.screenY);
  1268. } else if(e.col == 6){
  1269. pmn_grp_setDutplce.trackPopup(e.screenX,e.screenY);
  1270. }
  1271. }
  1272. function pmn_grp_setAcntgroup_onmenuclick(obj:PopupMenu, e:MenuClickEventInfo){
  1273. if(e.id == "setAcntgroup"){
  1274. var iRow = grd_menuauthuserlist.currentrow;
  1275. ds_grd_menuauthuserlist.setColumn(iRow, "acntgrupcd", "");
  1276. ds_grd_menuauthuserlist.setColumn(iRow, "acntgrupnm", "");
  1277. }
  1278. }
  1279. function pmn_grp_setDutplce_onmenuclick(obj:PopupMenu, e:MenuClickEventInfo){
  1280. if(e.id == "setDutplce"){
  1281. var iRow = grd_menuauthuserlist.currentrow;
  1282. ds_grd_menuauthuserlist.setColumn(iRow, "dutplcecd", "");
  1283. ds_grd_menuauthuserlist.setColumn(iRow, "dutplcenm", "");
  1284. }
  1285. }
  1286. function grd_menudenyuserlist_onrbuttondown(obj:Grid, e:GridMouseEventInfo)
  1287. {
  1288. if(e.col == 4){
  1289. pmn_grp_setDAcntgroup.trackPopup(e.screenX,e.screenY);
  1290. } else if(e.col == 6){
  1291. pmn_grp_setDutplce.trackPopup(e.screenX,e.screenY);
  1292. }
  1293. }
  1294. function pmn_grp_setDAcntgroup_onmenuclick(obj:PopupMenu, e:MenuClickEventInfo){
  1295. if(e.id == "setDAcntgroup"){
  1296. var iRow = grd_menudenyuserlist.currentrow;
  1297. ds_grd_menudenyuserlist.setColumn(iRow, "acntgrupcd", "");
  1298. ds_grd_menudenyuserlist.setColumn(iRow, "acntgrupnm", "");
  1299. }
  1300. }
  1301. function pmn_grp_setDDutplce_onmenuclick(obj:PopupMenu, e:MenuClickEventInfo){
  1302. if(e.id == "setDDutplce"){
  1303. var iRow = grd_menudenyuserlist.currentrow;
  1304. ds_grd_menudenyuserlist.setColumn(iRow, "dutplcecd", "");
  1305. ds_grd_menudenyuserlist.setColumn(iRow, "dutplcenm", "");
  1306. }
  1307. }
  1308. function grd_menudenyuserlist_onexpanddown(obj:Grid, e:GridMouseEventInfo)
  1309. {
  1310. if(opt_menuauthcd.value == ""){
  1311. alert("계정그룹을 선택하십시요!");
  1312. } else {
  1313. var col_num = obj.currentcol;
  1314. var dsObj = eval(obj.binddataset);
  1315. var objArg = new Object();
  1316. objArg.SPZSA20202_1 = col_num;
  1317. //objArg.sVal02 = ds_grd_menugruplist.getColumn(iRow,"menugrupcd");
  1318. var iProperties = frmf_modal("SPZSA20202", "SPZSA20202", objArg);
  1319. //var iProperties = getParameter("SPZSA20202_");
  1320. var iSplit_Value = "";
  1321. if(iProperties != "" && iProperties != undefined){
  1322. iSplit_Value = iProperties.split("|");
  1323. if(iSplit_Value[0] != "" && iSplit_Value[0] != undefined){
  1324. var iRow = obj.currentrow;
  1325. //var iNode = "/root/main/list_authuser/menuauthuserlist";
  1326. // 계정그룹일 경우
  1327. if (iSplit_Value[0]=="G")
  1328. {
  1329. dsObj.setColumn(iRow, "acntgrupcd", iSplit_Value[1]); // 등록코드
  1330. dsObj.setColumn(iRow, "acntgrupnm", iSplit_Value[2]); // 등록명
  1331. }
  1332. // 근무지일 경우
  1333. else if(iSplit_Value[0]=="D")
  1334. {
  1335. dsObj.setColumn(iRow, "dutplcecd", iSplit_Value[3] +""+ iSplit_Value[1]); // 등록코드
  1336. dsObj.setColumn(iRow, "dutplcenm", iSplit_Value[2]); // 등록명
  1337. }
  1338. // var iStatus = grd_menuauthuserlist.rowstatus(iRow);
  1339. //
  1340. // if(iStatus=="0"){
  1341. // grd_menuauthuserlist.rowstatus(iRow) = "2";
  1342. // }
  1343. } else {
  1344. sysf_messageBox("데이터를 저장", "E001");
  1345. }
  1346. }
  1347. }
  1348. }
  1349. function btn_reg_menudenyuser_onclick(obj:Button, e:ClickEventInfo)
  1350. {
  1351. if(opt_menuauthcd.value == ""){
  1352. alert("메뉴권한그룹을 선택하십시요!");
  1353. } else
  1354. {
  1355. ds_grd_menudenyuserlist.addRow();
  1356. var iRow = grd_menudenyuserlist.currentrow;
  1357. ds_grd_menudenyuserlist.setColumn(iRow, "menuauthcd", opt_menuauthcd.value);
  1358. }
  1359. }
  1360. function btn_del_menuauthuser_onclick(obj:Button, e:ClickEventInfo)
  1361. {
  1362. var cur_row = grd_menuauthuserlist.currentrow;
  1363. var iStatus = ds_grd_menuauthuserlist.getRowType(cur_row);
  1364. if(cur_row<0) {
  1365. alert("삭제할 조건행을 선택해주세요.");
  1366. return;
  1367. }
  1368. if (iStatus == 2) // 새로 삽입된 행이면
  1369. {
  1370. ds_grd_menuauthuserlist.deleteRow(cur_row);
  1371. }
  1372. else
  1373. {
  1374. var rtn = sysf_messageBox(" 해당 메뉴권한 허용자를 ", "Q001");
  1375. if(rtn == 6){
  1376. var arrPostion = new Array();
  1377. arrPostion[0] = ds_grd_menuauthuserlist.rowposition;
  1378. grdf_setStatus(grd_menuauthuserlist, "D", arrPostion);
  1379. var oParam = {};
  1380. oParam.id = "TXZSA20401";
  1381. oParam.service = "authinfoapp.AuthInfo";
  1382. oParam.method = "reqExeSaveMenuItemAuthInfo";
  1383. oParam.inds = "req1=ds_grd_menuauthuserlist:U req2=ds_grd_menudenyuserlist:U req3=ds_grd_menuauthlist:U";
  1384. oParam.outds = "null";
  1385. oParam.async = false;
  1386. oParam.callback = "cf_TXZSA20401_2";
  1387. tranf_submit(oParam);
  1388. }
  1389. }
  1390. }
  1391. function cf_TXZSA20401_2(sSvcId, nErrorCode, sErrorMsg) {
  1392. if(nErrorCode < 0) return;
  1393. //grd_menuauthuserlist.clearStatus(); // submit() 성공하면 그리드의 i,u,d 상태 제거
  1394. var jRow = grd_menuauthuserlist.currentrow;
  1395. ds_grd_menuauthuserlist.deleteRow(jRow);
  1396. }
  1397. function btn_del_menudenyuser_onclick(obj:Button, e:ClickEventInfo)
  1398. {
  1399. var cur_row = grd_menudenyuserlist.currentrow; // 행 번호 가져오기
  1400. var iStatus = ds_grd_menudenyuserlist.getRowType(cur_row);
  1401. if(cur_row<0) {
  1402. alert("삭제할 조건행을 선택해주세요.");
  1403. return;
  1404. }
  1405. if (iStatus == 2) // 새로 삽입된 행이면
  1406. {
  1407. ds_grd_menudenyuserlist.deleteRow(cur_row);
  1408. }
  1409. else
  1410. {
  1411. var rtn = sysf_messageBox(" 해당 메뉴권한 허용자를 ", "Q001");
  1412. if(rtn == 6){
  1413. var arrPostion = new Array();
  1414. arrPostion[0] = ds_grd_menudenyuserlist.rowposition;
  1415. grdf_setStatus(grd_menudenyuserlist, "D", arrPostion);
  1416. var oParam = {};
  1417. oParam.id = "TXZSA20401";
  1418. oParam.service = "authinfoapp.AuthInfo";
  1419. oParam.method = "reqExeSaveMenuItemAuthInfo";
  1420. oParam.inds = "req1=ds_grd_menuauthuserlist:U req2=ds_grd_menudenyuserlist:U req3=ds_grd_menuauthlist:U";
  1421. oParam.outds = "null";
  1422. oParam.async = false;
  1423. oParam.callback = "cf_TXZSA20401_3";
  1424. tranf_submit(oParam);
  1425. }
  1426. }
  1427. }
  1428. function cf_TXZSA20401_3(sSvcId, nErrorCode, sErrorMsg) {
  1429. if(nErrorCode < 0) return;
  1430. //grd_menuauthuserlist.clearStatus(); // submit() 성공하면 그리드의 i,u,d 상태 제거
  1431. var jRow = grd_menudenyuserlist.currentrow;
  1432. ds_grd_menudenyuserlist.deleteRow(jRow);
  1433. }]]></Script>
  1434. </Form>
  1435. </FDL>