SMZSD00300_기관별부서권한관리.xrw 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <?xml-stylesheet href="../../../com/commonweb/css/common.css" type="text/css" ?>
  3. <xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
  4. <xhtml:head>
  5. <xhtml:title>부서권한관리</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <deptauthlist/>
  11. <userstyle>_OneS_DD</userstyle>
  12. <temp>
  13. <dutplceinstcd/>
  14. </temp>
  15. </main>
  16. <send>
  17. <data>
  18. <instcd/>
  19. </data>
  20. </send>
  21. </root>
  22. </instance>
  23. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  24. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  25. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  26. <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
  27. <script type="javascript" src="../../../com/departmentcodeweb/js/ZSD001.js"/>
  28. <script type="javascript" src="../../../com/departmentcodeweb/js/ZSD003.js"/>
  29. <script type="javascript" ev:event="xforms-ready">
  30. <![CDATA[
  31. var instcd = getUserInfo("dutplceinstcd");
  32. model.setValue("/root/send/data/instcd", instcd);
  33. model.setValue("/root/main/temp/dutplceinstcd", instcd);
  34. model.refresh();
  35. ]]>
  36. </script>
  37. <submission id="TRZSD00107" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/data" replace="instance" resultref="/root/main/deptauthlist"/>
  38. <submission id="TXZSD00103" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance"/>
  39. </model>
  40. </xhtml:head>
  41. <xhtml:body guideline="1,1200;2,91;1,1200;" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  42. <group id="group1" style="left:0px; top:0px; width:1195px; height:13px; ">
  43. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:189px; height:14px; ">기관별 업무부서 권한관리</caption>
  44. </group>
  45. <group id="group3" scroll="auto" style="left:0px; top:40px; width:1195px; height:744px; ">
  46. <group id="group5" style="left:0px; top:10px; width:1194px; height:35px; vertical-align:top; ">
  47. <shape id="roundrect2" class="roundrect_search" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:0px; width:1194px; height:35px; background-color:#fffbf2; border-color:#ffd799; "/>
  48. <line id="line12" class="line_4" style="x1:1106px; y1:7px; x2:1106px; y2:29px; border-color:#ffe4bb; border-left-style:solid; "/>
  49. <button id="button1" class="btn1_letter2" style="left:1120px; top:7px; width:56px; height:22px; ">
  50. <caption>조회</caption>
  51. <script type="javascript" ev:event="DOMActivate">
  52. <![CDATA[
  53. var success = submit("TRZSD00107");
  54. model.refresh();
  55. ]]>
  56. </script>
  57. </button>
  58. </group>
  59. <caption id="caption12" class="tit_2" style="left:0px; top:60px; width:188px; height:14px; ">기관별 업무부서 관리자 목록</caption>
  60. <line id="line15" class="line_1" style="x1:0px; y1:75px; x2:1194px; y2:75px; "/>
  61. <img id="img1">
  62. <script type="javascript" ev:event="onclick">
  63. <![CDATA[
  64. /*
  65. if( grd_shortcutlist.col == 1 )
  66. */
  67. ]]>
  68. </script>
  69. </img>
  70. <multilinegrid id="grd_deptadminlist" nodeset="/root/main/deptauthlist/deptauth" caption="기관코드^사용자ID^사용자이름^기획권한^진료권한^인사권한^구매권한^재무권한^간호권한^총무권한^최초등록자ID^최초등록일시^최종수정자ID^최종수정일시|기관명^사용자ID^사용자이름^수납권한^원무권한^의료정보권한^보험권한^근태권한^그룹웨어권한^^최초등록자ID^최초등록일시^최종수정자ID^최종수정일시" colsep="^" colwidth="116, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 151, 100, 150" rowheader="update" rowsep="|" mergecellsfixedrows="bycolrec" style="left:0px; top:80px; width:1195px; height:664px; ">
  71. <row>
  72. <col ref="instcd"/>
  73. <col ref="userid" rowspan="2" type="inputbutton" _key="true"/>
  74. <col ref="usernm" rowspan="2" type="input"/>
  75. <col checkvalue="Y,N" ref="planauth" type="checkbox"/>
  76. <col checkvalue="Y,N" ref="ordauth" type="checkbox"/>
  77. <col checkvalue="Y,N" ref="psnworkauth" type="checkbox"/>
  78. <col checkvalue="Y,N" ref="purcauth" type="checkbox"/>
  79. <col checkvalue="Y,N" ref="fnworkauth" type="checkbox"/>
  80. <col checkvalue="Y,N" ref="careauth" type="checkbox"/>
  81. <col checkvalue="Y,N" ref="gafrauth" type="checkbox"/>
  82. <col ref="fstrgstrid" rowspan="2"/>
  83. <col ref="fstrgstdt" rowspan="2" format="yyyy-mm-dd hh:nn:ss"/>
  84. <col ref="lastupdtrid" rowspan="2"/>
  85. <col ref="lastupdtdt" rowspan="2" format="yyyy-mm-dd hh:nn:ss"/>
  86. </row>
  87. <row>
  88. <col ref="instnm"/>
  89. <col checkvalue="Y,N" ref="pamauth" type="checkbox"/>
  90. <col checkvalue="Y,N" ref="healcareinfoauth" type="checkbox"/>
  91. <col checkvalue="Y,N" ref="insuauth" type="checkbox"/>
  92. <col checkvalue="Y,N" ref="dgenauth" type="checkbox"/>
  93. <col checkvalue="Y,N" ref="homecareauth" type="checkbox"/>
  94. <col/>
  95. <col/>
  96. </row>
  97. <script type="javascript" ev:event="onbuttonclick">
  98. <![CDATA[
  99. var rowstatus = grd_deptadminlist.rowstatus(grd_deptadminlist.row);
  100. if( rowstatus==0 || rowstatus==2 || rowstatus==4 ){
  101. return;
  102. }
  103. modal("../../userdeptinfoweb/xrw/SPZSU10103", "", "200", "200", "SPZSU10103","/root/main/temp","/root/main/temp");
  104. var iParam = getParameter("SPZSU10103_");
  105. // alert("iParam : ["+iParam+"]");
  106. if(iParam!=""){
  107. model.setValue("/root/send/data", iParam);
  108. model.removenode("/root/main/temp/list");
  109. setCSVToNode("/root/main/temp", iParam);
  110. var userid = model.getValue("/root/main/temp/list/userid");
  111. var usernm = model.getValue("/root/main/temp/list/usernm");
  112. for(var i = grd_deptadminlist.fixedrows; i <grd_deptadminlist.rows; i++){
  113. var comp_userid = grd_deptadminlist.valueMatrix(i, grd_deptadminlist.colRef("userid"));
  114. if(comp_userid == userid){
  115. messageBox("사용자ID("+comp_userid+")가", "E006") ;
  116. return;
  117. }
  118. }
  119. var row = grd_deptadminlist.row;
  120. grd_deptadminlist.valueMatrix(row, grd_deptadminlist.colRef("userid")) = userid;
  121. grd_deptadminlist.valueMatrix(row, grd_deptadminlist.colRef("usernm")) = usernm;
  122. }
  123. ]]>
  124. </script>
  125. <script type="javascript" ev:event="onstartedit">
  126. <![CDATA[
  127. if( grd_deptadminlist.col == 1 )
  128. {
  129. event.preventDefault();
  130. return;
  131. }
  132. ]]>
  133. </script>
  134. </multilinegrid>
  135. </group>
  136. <group id="grp_btn" style="left:0px; top:13px; width:1195px; height:27px; ">
  137. <button id="button6" class="btn4_letter3" style="left:1126px; top:5px; width:68px; height:22px; ">
  138. <caption>초기화</caption>
  139. <script type="javascript" ev:event="DOMActivate">
  140. <![CDATA[
  141. model.removenode("/root/main/deptauthlist");
  142. model.makeNode("/root/main/deptauthlist");
  143. model.refresh();
  144. model.removenode("/root/send/data");
  145. model.makeNode("/root/send/data");
  146. ]]>
  147. </script>
  148. </button>
  149. <button id="button7" class="btn4_letter2" navindex="34" focus.background-color="#99ccff" style="left:1067px; top:5px; width:56px; height:22px; ">
  150. <caption>저장</caption>
  151. <script type="javascript" ev:event="DOMActivate">
  152. <![CDATA[
  153. var updated = grd_deptadminlist.getUpdateData();
  154. var rows = updated.split("▩");
  155. var cols = rows[0].split("▦");
  156. for(rowidx = 1; rowidx<rows.length-1; rowidx++){
  157. var colsval = rows[rowidx].split("▦");
  158. for(colidx = 0; colidx<cols.length; colidx++){
  159. var collal = cols[colidx];
  160. var colval = colsval[colidx];
  161. if(collal!=""){
  162. model.makeValue("/root/send/data/"+collal+"["+rowidx+"]", colval);
  163. }
  164. }
  165. }
  166. var rownum_list = instance1.selectNodes("/root/send/data/rownum");
  167. var userid_list = instance1.selectNodes("/root/send/data/userid");
  168. var planauth_list = instance1.selectNodes("/root/send/data/planauth");
  169. var ordauth_list = instance1.selectNodes("/root/send/data/ordauth");
  170. var psnworkauth_list = instance1.selectNodes("/root/send/data/psnworkauth");
  171. var purcauth_list = instance1.selectNodes("/root/send/data/purcauth");
  172. var fnworkauth_list = instance1.selectNodes("/root/send/data/fnworkauth");
  173. var careauth_list = instance1.selectNodes("/root/send/data/careauth");
  174. var gafrauth_list = instance1.selectNodes("/root/send/data/gafrauth");
  175. var rcptauth_list = instance1.selectNodes("/root/send/data/rcptauth");
  176. var pamauth_list = instance1.selectNodes("/root/send/data/pamauth");
  177. var healcareinfoauth_list = instance1.selectNodes("/root/send/data/healcareinfoauth");
  178. var insuauth_list = instance1.selectNodes("/root/send/data/insuauth");
  179. var dgenauth_list = instance1.selectNodes("/root/send/data/dgenauth");
  180. var etcauth_list = instance1.selectNodes("/root/send/data/etcauth");
  181. if(rownum_list.length>0){
  182. for(var i=1; i<=rownum_list.length; i++){
  183. var rownum = rownum_list.nextNode();
  184. var userid = userid_list.nextNode();
  185. if(userid.text==""){
  186. messageBox("사용자ID를", "C001");
  187. grd_deptadminlist.row = new Number(rownum.text);
  188. grd_deptadminlist.col = new Number(grd_deptadminlist.colRef("userid"));
  189. return;
  190. }
  191. }
  192. model.removenode("/root/send/data");
  193. model.makeNode("/root/send/data");
  194. model.setValue("/root/send/data", updated);
  195. var success = submit("TXZSD00103");
  196. if(success){
  197. submit("TRZSD00107");
  198. model.refresh();
  199. }
  200. }else{
  201. messageBox("추가된 부서권한정보가 없기 때문에 저장", "E001");
  202. }
  203. /*
  204. if(rownumlist.length>0){
  205. for(var i=1; i<=rownumlist.length; i++){
  206. var rownum = rownumlist.nextNode();
  207. var deptcd = deptcdlist.nextNode();
  208. var deptnm = deptnmlist.nextNode();
  209. var detldesc = detldesclist.nextNode();
  210. if(deptnm.text==""){
  211. messageBox("부서명을", "C001");
  212. grd_deptcdlist.row = new Number(rownum.text);
  213. grd_deptcdlist.col = new Number(grd_deptcdlist.colRef("deptnm"));
  214. grd_deptcdlist.editCell();
  215. return;
  216. }
  217. if(detldesc.text==""){
  218. model.setValue("/root/send/data/detldesc["+i+"]", deptnm.text);
  219. }
  220. }
  221. var success = submit("TXZSD00101");
  222. var supdeptcd = model.getValue("/root/main/search/supdeptcd");
  223. if(success){
  224. model.makeValue("/root/send/data/supdeptcd", supdeptcd);
  225. success = submit("TRZSD00101");
  226. if(success){
  227. model.refresh();
  228. setTree(grd_deptcdlist, grd_deptcdlist.colRef("level"), grd_deptcdlist.colRef("deptnm"), true);
  229. model.setValue("/root/main/mode/modestatus", "retrived");
  230. }
  231. }
  232. }else{
  233. messageBox("추가된 부서코드가 없기 때문에 저장", "E001");
  234. }
  235. */
  236. ]]>
  237. </script>
  238. </button>
  239. <line id="line1" class="line_6" style="x1:0px; y1:0px; x2:1194px; y2:0px; "/>
  240. </group>
  241. <group id="group2" style="left:1105px; top:94px; width:85px; height:20px; ">
  242. <button id="button2" class="btn2_letter2" style="left:0px; top:0px; width:42px; height:19px; ">
  243. <caption>추가</caption>
  244. <script type="javascript" ev:event="DOMActivate">
  245. <![CDATA[
  246. grd_deptadminlist.addItem();
  247. ]]>
  248. </script>
  249. </button>
  250. <button id="button4" class="btn2_letter2" style="left:42px; top:0px; width:42px; height:19px; ">
  251. <caption>삭제</caption>
  252. <script type="javascript" ev:event="DOMActivate">
  253. <![CDATA[
  254. var row = grd_deptadminlist.row;
  255. var rowstatus = grd_deptadminlist.rowStatus(row);
  256. if( rowstatus==0 || rowstatus==2 ){
  257. grd_deptadminlist.rowStatus(row) = 4;
  258. }else{
  259. grd_deptadminlist.deleteItem(row);
  260. }
  261. ]]>
  262. </script>
  263. </button>
  264. </group>
  265. </xhtml:body>
  266. </xhtml:html>