SMZSU00700_팀단위근무지권한관리.xrw 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <?xml-stylesheet type="text/css" href="../../../com/commonweb/css/common.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. <teammanagerlist/>
  11. </main>
  12. <send>
  13. <data>
  14. <update/>
  15. <delete/>
  16. <insert/>
  17. </data>
  18. </send>
  19. <hidden>
  20. <instlist>
  21. <Z0007>
  22. <cdid/>
  23. <cdnm/>
  24. </Z0007>
  25. </instlist>
  26. <result/>
  27. </hidden>
  28. </root>
  29. </instance>
  30. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  31. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  32. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  33. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  34. <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
  35. <script type="javascript" src="../../../com/departmentcodeweb/js/ZSD001.js"/>
  36. <script type="javascript" src="../../../com/userdeptinfoweb/js/ZSU001.js"/>
  37. <script type="javascript" ev:event="xforms-ready">
  38. <![CDATA[
  39. zbcfGetCodeList( new Array("Z0007"), new Array("/root/hidden/instlist") , true, new Array("cdnm"), new Array("asc"));
  40. model.refresh();
  41. ]]>
  42. </script>
  43. <submission id="TRZSU10205" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/data" replace="instance" resultref="/root/main/teammanagerlist"/>
  44. <submission id="TRZBC00101"/>
  45. <submission id="TXZSU10118" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/data" replace="instance" resultref="/root/hidden/result"/>
  46. </model>
  47. </xhtml:head>
  48. <xhtml:body guideline="1,1200;2,91;1,1200;" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  49. <group id="group1" style="left:0px; top:0px; width:1195px; height:13px; ">
  50. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:189px; height:14px; ">팀단위근무지관리권한</caption>
  51. </group>
  52. <group id="group3" scroll="auto" style="left:0px; top:40px; width:1195px; height:744px; ">
  53. <group id="group5" style="left:0px; top:10px; width:1194px; height:35px; vertical-align:top; ">
  54. <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; "/>
  55. <line id="line12" class="line_4" style="x1:1106px; y1:7px; x2:1106px; y2:29px; border-color:#ffe4bb; border-left-style:solid; "/>
  56. <button id="button1" class="btn1_letter2" style="left:1120px; top:7px; width:56px; height:22px; ">
  57. <caption>조회</caption>
  58. <script type="javascript" ev:event="DOMActivate">
  59. <![CDATA[
  60. var success = submit("TRZSU10205");
  61. model.refresh();
  62. ]]>
  63. </script>
  64. </button>
  65. </group>
  66. <caption id="caption12" class="tit_2" style="left:0px; top:60px; width:188px; height:14px; ">팀단위근무지관리권한</caption>
  67. <line id="line15" class="line_1" style="x1:0px; y1:75px; x2:1194px; y2:75px; "/>
  68. <img id="img1">
  69. <script type="javascript" ev:event="onclick">
  70. <![CDATA[
  71. ]]>
  72. </script>
  73. </img>
  74. <datagrid id="grd_teammanagerlist" nodeset="/root/main/teammanagerlist/teammanager" caption="관리기관^조회된관리기관코드^관리부서코드^조회된관리부서코드^관리부서명^관리자ID^조회된관리자ID^관리자명^최초등록자ID^최초등록자명^최초등록일시^최종수정자ID^최종수정자명^최종수정일시" colsep="^" colwidth="150, 121, 90, 129, 100, 80, 100, 100, 100, 100, 110, 100, 100, 110" rowheader="update" rowsep="|" style="left:0px; top:80px; width:1195px; height:664px; ">
  75. <col ref="instcd" type="combo">
  76. <choices>
  77. <itemset nodeset="/root/hidden/instlist/Z0007">
  78. <label ref="cdnm"/>
  79. <value ref="cdid"/>
  80. </itemset>
  81. </choices>
  82. </col>
  83. <col ref="previnstcd" visibility="hidden"/>
  84. <col ref="deptcd" rowspan="2" type="inputbutton"/>
  85. <col ref="prevdeptcd" visibility="hidden"/>
  86. <col ref="deptnm"/>
  87. <col ref="userid" type="inputbutton"/>
  88. <col ref="prevuserid" visibility="hidden"/>
  89. <col ref="usernm"/>
  90. <col ref="fstrgstrid"/>
  91. <col ref="fstrgstrnm"/>
  92. <col ref="fstrgstdt" format="yyyy-mm-dd hh:nn"/>
  93. <col ref="lastupdtrid"/>
  94. <col ref="lastupdtrnm"/>
  95. <col ref="lastupdtdt" format="yyyy-mm-dd hh:nn"/>
  96. <script type="javascript" ev:event="onbuttonclick">
  97. <![CDATA[
  98. var row = grd_teammanagerlist.row;
  99. var col = grd_teammanagerlist.col;
  100. var instcd = grd_teammanagerlist.valueMatrix(row, grd_teammanagerlist.colRef("instcd"));
  101. if(grd_teammanagerlist.colRef("deptcd")==col){
  102. var prev_deptcd = grd_teammanagerlist.valueMatrix(row, grd_teammanagerlist.colRef("deptcd"));
  103. zbcfOpenAssignedInstDeptCodeList(
  104. instcd,
  105. "deptnm",
  106. "",
  107. "/root/main/teammanagerlist/teammanager["+row+"]/deptcd",
  108. "/root/main/teammanagerlist/teammanager["+row+"]/deptnm",
  109. "",
  110. "",
  111. new Array("deptcd", "depthngnm")
  112. );
  113. var next_deptcd = grd_teammanagerlist.valueMatrix(row, grd_teammanagerlist.colRef("deptcd"));
  114. if(prev_deptcd!=next_deptcd){
  115. if(grd_teammanagerlist.rowStatus(row)!=1&&grd_teammanagerlist.rowStatus(row)!=3){
  116. grd_teammanagerlist.rowStatus(row) = 2;
  117. }
  118. grd_teammanagerlist.valueMatrix(row, grd_teammanagerlist.colRef("userid")) = "";
  119. grd_teammanagerlist.valueMatrix(row, grd_teammanagerlist.colRef("usernm")) = "";
  120. }
  121. }else if(grd_teammanagerlist.colRef("userid")==col){
  122. var search_condition = "usernm";
  123. var search_term = "";
  124. var dutplceinstcd = instcd;
  125. var dutplcecd = grd_teammanagerlist.valueMatrix(row, grd_teammanagerlist.colRef("deptcd"));
  126. var basedd = getCurrentDate();
  127. var resultref_userid = "/root/main/teammanagerlist/teammanager["+row+"]/userid";
  128. var resultref_usernm = "/root/main/teammanagerlist/teammanager["+row+"]/usernm";
  129. var prev_userid = grd_teammanagerlist.valueMatrix(row, grd_teammanagerlist.colRef("userid"));
  130. var prev_usernm = grd_teammanagerlist.valueMatrix(row, grd_teammanagerlist.colRef("usernm"));
  131. zsufOpenTeamMember(search_condition, search_term, dutplceinstcd, dutplcecd, basedd, resultref_userid, resultref_usernm);
  132. var next_userid = grd_teammanagerlist.valueMatrix(row, grd_teammanagerlist.colRef("userid"));
  133. var changed_instcd = grd_teammanagerlist.valueMatrix(row, grd_teammanagerlist.colRef("instcd"));
  134. var changed_deptcd = grd_teammanagerlist.valueMatrix(row, grd_teammanagerlist.colRef("deptcd"));
  135. var changed_userid = grd_teammanagerlist.valueMatrix(row, grd_teammanagerlist.colRef("userid"));
  136. for(i=grd_teammanagerlist.fixedRows; i<grd_teammanagerlist.rows; i++){
  137. if(i==row) continue;
  138. var instcd = grd_teammanagerlist.valueMatrix(i, grd_teammanagerlist.colRef("instcd"));
  139. var deptcd = grd_teammanagerlist.valueMatrix(i, grd_teammanagerlist.colRef("deptcd"));
  140. var userid = grd_teammanagerlist.valueMatrix(i, grd_teammanagerlist.colRef("userid"));
  141. if(instcd==changed_instcd&&changed_deptcd==deptcd&&changed_userid==userid){
  142. messageBox("중복된 권한이 추가되었습니다.", "E");
  143. grd_teammanagerlist.valueMatrix(row, grd_teammanagerlist.colRef("userid")) = prev_userid;
  144. grd_teammanagerlist.valueMatrix(row, grd_teammanagerlist.colRef("usernm")) = prev_usernm;
  145. return;
  146. }
  147. }
  148. if(prev_userid!=next_userid){
  149. if(grd_teammanagerlist.rowStatus(row)!=1&&grd_teammanagerlist.rowStatus(row)!=3){
  150. grd_teammanagerlist.rowStatus(row) = 2;
  151. }
  152. }
  153. }
  154. model.refresh();
  155. // var search_condition = "usernm";
  156. // var search_term = "";
  157. // var resultref = "/root/hidden/userinfo";
  158. // zsufGetOpenUserInfo(search_condition, search_term, null, resultref);
  159. // var result = model.getValue(resultref);
  160. // var result_array = result.split('|');
  161. // var userid = result_array[2];
  162. // var usernm = result_array[3];
  163. // var row = grd_deptadminlist.row;
  164. // grd_deptadminlist.valueMatrix(row, grd_deptadminlist.colRef("userid")) = userid;
  165. // grd_deptadminlist.valueMatrix(row, grd_deptadminlist.colRef("usernm")) = usernm;
  166. ]]>
  167. </script>
  168. <script type="javascript" ev:event="onstartedit">
  169. <![CDATA[
  170. if( grd_deptadminlist.col == 1 )
  171. {
  172. event.preventDefault();
  173. return;
  174. }
  175. ]]>
  176. </script>
  177. <script type="javascript" ev:event="xforms-value-changed">
  178. <![CDATA[
  179. var row = grd_teammanagerlist.row;
  180. var col = grd_teammanagerlist.col;
  181. if(grd_teammanagerlist.colRef("instcd")==col){
  182. grd_teammanagerlist.valueMatrix(row, grd_teammanagerlist.colRef("deptcd")) = "";
  183. grd_teammanagerlist.valueMatrix(row, grd_teammanagerlist.colRef("deptnm")) = "";
  184. grd_teammanagerlist.valueMatrix(row, grd_teammanagerlist.colRef("userid")) = "";
  185. grd_teammanagerlist.valueMatrix(row, grd_teammanagerlist.colRef("usernm")) = "";
  186. }
  187. ]]>
  188. </script>
  189. </datagrid>
  190. </group>
  191. <group id="grp_btn" style="left:0px; top:13px; width:1195px; height:27px; ">
  192. <button id="button6" class="btn4_letter3" style="left:1126px; top:5px; width:68px; height:22px; ">
  193. <caption>초기화</caption>
  194. <script type="javascript" ev:event="DOMActivate">
  195. <![CDATA[
  196. model.removenode("/root/main/deptauthlist");
  197. model.makeNode("/root/main/deptauthlist");
  198. model.refresh();
  199. model.removenode("/root/send/data");
  200. model.makeNode("/root/send/data");
  201. ]]>
  202. </script>
  203. </button>
  204. <button id="button7" class="btn4_letter2" navindex="34" focus.background-color="#99ccff" style="left:1067px; top:5px; width:56px; height:22px; ">
  205. <caption>저장</caption>
  206. <script type="javascript" ev:event="DOMActivate">
  207. <![CDATA[
  208. var is_updated = false;
  209. for(var i=grd_teammanagerlist.fixedRows; i<grd_teammanagerlist.rows; i++){
  210. var row_status = grd_teammanagerlist.rowStatus(i);
  211. if(row_status>0){
  212. if(!is_updated){
  213. is_updated = true;
  214. }
  215. var instcd = grd_teammanagerlist.valueMatrix(i, grd_teammanagerlist.colRef("instcd"));
  216. var deptcd = grd_teammanagerlist.valueMatrix(i, grd_teammanagerlist.colRef("deptcd"));
  217. var userid = grd_teammanagerlist.valueMatrix(i, grd_teammanagerlist.colRef("userid"));
  218. if( instcd==""){
  219. messageBox("관리기관은 필수 입력 사항입니다.", "E");
  220. grd_teammanagerlist.row = i;
  221. grd_teammanagerlist.col = grd_teammanagerlist.colRef("instcd");
  222. model.setFocus("grd_teammanagerlist");
  223. return;
  224. }else if( deptcd == "" ){
  225. messageBox("관리부서는 필수 입력 사항입니다.", "E");
  226. grd_teammanagerlist.row = i;
  227. grd_teammanagerlist.col = grd_teammanagerlist.colRef("deptcd");
  228. model.setFocus("grd_teammanagerlist");
  229. return;
  230. }else if( userid == "" ){
  231. messageBox("사용자ID는 필수 입력 사항입니다.", "E");
  232. grd_teammanagerlist.row = i;
  233. grd_teammanagerlist.col = grd_teammanagerlist.colRef("userid");
  234. model.setFocus("grd_teammanagerlist");
  235. return;
  236. }
  237. }
  238. }
  239. if(!is_updated){
  240. messageBox("갱신된 사항이 없습니다.", "E");
  241. return;
  242. }
  243. var updated = grd_teammanagerlist.getUpdateData("update");
  244. var deleted = grd_teammanagerlist.getUpdateData("delete");
  245. var inserted = grd_teammanagerlist.getUpdateData("insert");
  246. model.setValue("/root/send/data/update", updated);
  247. model.setValue("/root/send/data/delete", deleted);
  248. model.setValue("/root/send/data/insert", inserted);
  249. var success = submit("TXZSU10118");
  250. if(success){
  251. submit("TRZSU10205");
  252. var inserted = model.getValue("/root/hidden/result/message/inserted");
  253. var updated = model.getValue("/root/hidden/result/message/updated");
  254. var deleted = model.getValue("/root/hidden/result/message/deleted");
  255. model.refresh();
  256. messageBox(inserted+"건이 추가,"+updated+"건이 변경,"+deleted+"건이 삭제되었습니다.", "I");
  257. }
  258. ]]>
  259. </script>
  260. </button>
  261. <line id="line1" class="line_6" style="x1:0px; y1:0px; x2:1194px; y2:0px; "/>
  262. </group>
  263. <group id="group2" style="left:1105px; top:94px; width:85px; height:20px; ">
  264. <button id="button2" class="btn2_letter2" style="left:0px; top:0px; width:42px; height:19px; ">
  265. <caption>추가</caption>
  266. <script type="javascript" ev:event="DOMActivate">
  267. <![CDATA[
  268. grd_teammanagerlist.addItem();
  269. ]]>
  270. </script>
  271. </button>
  272. <button id="button4" class="btn2_letter2" style="left:42px; top:0px; width:42px; height:19px; ">
  273. <caption>삭제</caption>
  274. <script type="javascript" ev:event="DOMActivate">
  275. <![CDATA[
  276. var row = grd_teammanagerlist.row;
  277. var rowstatus = grd_teammanagerlist.rowStatus(row);
  278. if( rowstatus==0 || rowstatus==2 || rowstatus==4){
  279. grd_teammanagerlist.rowStatus(row) = 4;
  280. }else{
  281. grd_teammanagerlist.deleteItem(row);
  282. }
  283. ]]>
  284. </script>
  285. </button>
  286. </group>
  287. </xhtml:body>
  288. </xhtml:html>