xSMRPS00600_부서별교육신청관리.xrw 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385
  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. <list>
  11. <prieductrgtmanlist/>
  12. </list>
  13. </main>
  14. <send>
  15. <retrparams>
  16. <instcd/>
  17. <appyy/>
  18. <mainbdunit/>
  19. <indapppossyn>Y</indapppossyn>
  20. <cmpltcursstdyyn/>
  21. <emplno/>
  22. <emplnm/>
  23. <dutplce/>
  24. </retrparams>
  25. </send>
  26. <init/>
  27. <temp>
  28. <msg>
  29. <count/>
  30. <instcd/>
  31. <educdg/>
  32. <appyy/>
  33. <educcd/>
  34. </msg>
  35. </temp>
  36. </root>
  37. </instance>
  38. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  39. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  40. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  41. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  42. <script type="javascript" src="../../../mis/miscommonweb/js/MIS.js"/>
  43. <script type="javascript" src="../../../mis/educationmngtweb/js/RPS001.js"/>
  44. <script type="javascript" src="../../../mis/humtrafactmngtweb/js/RPB001.js"/>
  45. <script type="javascript" src="../../../mis/dligclaznsmngtweb/js/RPD001.js"/>
  46. <script type="javascript" ev:event="xforms-ready">
  47. <![CDATA[
  48. fInit();
  49. ]]>
  50. </script>
  51. <script type="javascript">
  52. <![CDATA[
  53. function fInit()
  54. {
  55. model.setValue("/root/send/retrparams/appyy", getCurrentDate().substr(0, 4));
  56. model.removenode("/root/main/list/prieductrgtmanlist");
  57. misfComboComCdListMulti("Z0007", "cmb_instcd", null, "Y");
  58. rpsEducSetComboList(model.getValue("/root/send/retrparams/appyy"), "M02-000", "cmb_mainbdunit", "Y");
  59. rpdfComboCdList(cmb_dutplce); // 권한별 근무부서 세팅
  60. rpdfSetDutUnitCombo();
  61. misfMsterDetailSet(grd_prieductrgtmanlist, null, "TRRPS00601", "Y");
  62. misfGetUserAuth();
  63. model.setValue("/root/send/retrparams/instcd", getUserInfo("dutplceinstcd"));
  64. cmb_dutplce.select(0);
  65. model.refresh();
  66. }
  67. function fRetrieve()
  68. {
  69. if(!isRequiredControls("ipt_appyy")) return;
  70. if(!isRequiredControls("cmb_dutplce")) return;
  71. submit("TRRPS00601");
  72. for(var i=1; i<grd_prieductrgtmanlist.rows; i++)
  73. {
  74. var sYn = grd_prieductrgtmanlist.valueMatrix(i, grd_prieductrgtmanlist.colRef("lastaprvyn"));
  75. if(sYn == "Y")
  76. {
  77. misfSetReadOnlyCol(grd_prieductrgtmanlist, "deptaprvyn,deptaprvdd", true, i);
  78. }
  79. }
  80. }
  81. function fSave()
  82. {
  83. if(misfSave("TXRPS00601"))
  84. {
  85. var iLength = instance1.selectNodes("/root/temp/msg").length;
  86. if(iLength > 0)
  87. {
  88. var sErrInstcd = model.getValue("/root/temp/msg/instcd");
  89. var sErrEducdg = model.getValue("/root/temp/msg/educdg");
  90. var sErrAppyy = model.getValue("/root/temp/msg/appyy");
  91. var sErrEduccdd = model.getValue("/root/temp/msg/educcd");
  92. for(var i=1; i<grd_prieductrgtmanlist.rows; i++)
  93. {
  94. var sInstcd = grd_prieductrgtmanlist.valueMatrix(i, grd_prieductrgtmanlist.colRef("instcd"));
  95. var sEducdg = grd_prieductrgtmanlist.valueMatrix(i, grd_prieductrgtmanlist.colRef("educdg"));
  96. var sAppyy = grd_prieductrgtmanlist.valueMatrix(i, grd_prieductrgtmanlist.colRef("appyy"));
  97. var sEduccd = grd_prieductrgtmanlist.valueMatrix(i, grd_prieductrgtmanlist.colRef("educcd"));
  98. var sEducCnt = grd_prieductrgtmanlist.valueMatrix(i, grd_prieductrgtmanlist.colRef("educcnts"));
  99. if((sErrInstcd + sErrEducdg + sErrAppyy + sErrEduccdd) == (sInstcd + sEducdg + sAppyy + sEduccd))
  100. {
  101. messageBox("교육내용 : [ " + sEducCnt + "] 은(는) \n\n정원이 마감된 교육이므로 신청할 수", "I004");
  102. break;
  103. }
  104. }
  105. }
  106. fRetrieve();
  107. }
  108. }
  109. ]]>
  110. </script>
  111. <submission id="TRRPS00601" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/retrparams" resultref="/root/main/list"/>
  112. <submission id="TXRPS00601" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/main/list/prieductrgtmanlist" resultref="/root/temp"/>
  113. </model>
  114. </xhtml:head>
  115. <xhtml:body style="margin-left:8; margin-right:8; ">
  116. <group id="group1" style="left:0px; top:0px; width:1195px; height:13px; ">
  117. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:800px; height:14px; ">부서별교육신청관리</caption>
  118. </group>
  119. <group id="group2" scroll="auto" style="left:0px; top:38px; width:1195px; height:744px; ">
  120. <shape id="roundrect1" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:10px; width:1195px; height:61px; background-color:#fffbf2; border-color:#ffd799; "/>
  121. <caption id="caption1" class="search_name" style="left:545px; top:20px; width:89px; height:17px; ">주체기관 :</caption>
  122. <line id="line8" class="line_1" style="x1:0px; y1:94px; x2:1195px; y2:94px; "/>
  123. <caption id="caption20" class="tit_2" style="left:5px; top:80px; width:169px; height:14px; ">교육신청List</caption>
  124. <datagrid id="grd_prieductrgtmanlist" nodeset="/root/main/list/prieductrgtmanlist" caption="부서장&#xA;승인^부서장&#xA;승인일자^교육&#xA;차수^교육명^교육신청 대상자^교육신청 대상자^주체단위^교육코드^년 도^주관부서^정원/신청^교육기간^교육기간^신청기간^신청기간^개인신청&#xA;가능여부^교육&#xA;신청^교육&#xA;신청일자^최종&#xA;승인^최종&#xA;승인일자^교육내용^기관코드|부서장&#xA;승인^부서장&#xA;승인일자^교육&#xA;차수^교육명^사원번호^성 명^주체단위^교육코드^년 도^주관부서^정원/신청^From^To^From^To^개인신청&#xA;가능여부^교육&#xA;신청^교육&#xA;신청일자^최종&#xA;승인^최종&#xA;승인일자^교육내용^기관코드" colsep="^" colwidth="45, 77, 40, 303, 77, 76, 100, 0, 0, 111, 61, 70, 70, 70, 70, 55, 38, 69, 38, 67, 100, 100" dataheight="25" ellipsis="true" explorerbar="sortshow" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" tooltip="true" style="left:0px; top:99px; width:1195px; height:641px; ">
  125. <col checkvalue="Y,N" ref="deptaprvyn" type="checkbox" style="text-align:center; "/>
  126. <col ref="deptaprvdd" format="yyyy-mm-dd" style="text-align:center; "/>
  127. <col disabled="true" ref="educdg" style="text-align:center; "/>
  128. <col disabled="true" ref="educcdnm"/>
  129. <col ref="emplno" style="text-align:center; "/>
  130. <col ref="emplnm" style="text-align:center; "/>
  131. <col disabled="true" ref="mainbdunitnm" style="text-align:center; "/>
  132. <col ref="educcd"/>
  133. <col ref="appyy"/>
  134. <col disabled="true" ref="chrgdeptnm"/>
  135. <col disabled="true" ref="leftemplcnt" style="text-align:center; "/>
  136. <col disabled="true" ref="educfromdd" format="yyyy-mm-dd" style="text-align:center; "/>
  137. <col disabled="true" ref="eductodd" format="yyyy-mm-dd" style="text-align:center; "/>
  138. <col disabled="true" ref="educappfromdd" format="yyyy-mm-dd" style="text-align:center; "/>
  139. <col disabled="true" ref="educapptodd" format="yyyy-mm-dd" style="text-align:center; "/>
  140. <col disabled="true" ref="indapppossyn" style="text-align:center; "/>
  141. <col disabled="true" ref="indappyn" style="text-align:center; "/>
  142. <col disabled="true" ref="indappdd" format="yyyy-mm-dd"/>
  143. <col disabled="true" ref="lastaprvyn" style="text-align:center; "/>
  144. <col disabled="true" ref="lastaprvdd" format="yyyy-mm-dd" style="text-align:center; "/>
  145. <col disabled="true" ref="educcnts" visibility="hidden"/>
  146. <col ref="instcd" visibility="hidden"/>
  147. <script type="javascript" ev:event="onaftersort">
  148. <![CDATA[
  149. grd_prieductrgtmanlist.gridToInstance();
  150. ]]>
  151. </script>
  152. <script type="javascript" ev:event="xforms-value-changed">
  153. <![CDATA[
  154. if(grd_prieductrgtmanlist.col == grd_prieductrgtmanlist.colRef("deptaprvyn"))
  155. {
  156. var sYn = grd_prieductrgtmanlist.valueMatrix(grd_prieductrgtmanlist.row, grd_prieductrgtmanlist.colRef("deptaprvyn"));
  157. if(sYn == "Y")
  158. {
  159. grd_prieductrgtmanlist.valueMatrix(grd_prieductrgtmanlist.row, grd_prieductrgtmanlist.colRef("deptaprvdd")) = getCurrentDate();
  160. }
  161. else
  162. {
  163. grd_prieductrgtmanlist.valueMatrix(grd_prieductrgtmanlist.row, grd_prieductrgtmanlist.colRef("deptaprvdd")) = "";
  164. }
  165. }
  166. ]]>
  167. </script>
  168. </datagrid>
  169. <caption id="caption10" class="search_name" style="left:15px; top:20px; width:89px; height:17px; ">년 도 :</caption>
  170. <caption id="caption2" class="search_name" style="left:295px; top:45px; width:89px; height:17px; ">주체단위 :</caption>
  171. <caption id="cap_indapppossyn" class="search_name" visibility="visible" style="left:865px; top:20px; width:138px; height:17px; ">개인신청가능여부 :</caption>
  172. <button id="btn_search" class="btn1_letter2" navindex="8" style="left:1125px; top:30px; width:56px; height:22px; text-align:left; ">
  173. <caption>조회</caption>
  174. <script type="javascript" ev:event="DOMActivate">
  175. <![CDATA[
  176. fRetrieve();
  177. ]]>
  178. </script>
  179. </button>
  180. <line id="line7" style="x1:1110px; y1:18px; x2:1110px; y2:61px; border-color:#ffe4bb; border-left-style:solid; "/>
  181. <caption id="caption3" class="search_name" style="left:15px; top:45px; width:89px; height:17px; ">이수여부 :</caption>
  182. <button id="btn_empl" class="icon_search" style="left:708px; top:45px; width:16px; height:16px; ">
  183. <caption/>
  184. <script type="javascript" ev:event="DOMActivate">
  185. <![CDATA[
  186. rpbfOpenPopUpList("SPRPB00101", ipt_emplno, "emplno,emplnm", "", "N");
  187. model.refresh();
  188. ]]>
  189. </script>
  190. </button>
  191. <caption id="caption4" class="search_name" style="left:545px; top:45px; width:86px; height:17px; ">사원번호 :</caption>
  192. <input id="ipt_emplnm" ref="/root/send/retrparams/emplnm" class="input_search" navindex="7" style="left:727px; top:44px; width:120px; height:19px; ">
  193. <script type="javascript" ev:event="xforms-value-changed">
  194. <![CDATA[
  195. misfValidationCheck("01-2", "", "emplno,emplnm");
  196. model.refresh();
  197. ]]>
  198. </script>
  199. <script type="javascript" ev:event="onkeypress">
  200. <![CDATA[
  201. if(event.keyCode == 13)
  202. {
  203. ipt_emplnm.value = ipt_emplnm.currentText;
  204. misfValidationCheck("01-2", "", "emplno,emplnm");
  205. model.setFocus("btn_search");
  206. model.refresh();
  207. }
  208. ]]>
  209. </script>
  210. </input>
  211. <input id="ipt_emplno" ref="/root/send/retrparams/emplno" class="input_search" navindex="6" style="left:636px; top:44px; width:70px; height:19px; text-align:center; ">
  212. <script type="javascript" ev:event="xforms-value-changed">
  213. <![CDATA[
  214. rpbfValidationCheck("EMPLNO", "emplno,emplnm");
  215. model.refresh();
  216. ]]>
  217. </script>
  218. <script type="javascript" ev:event="onkeypress">
  219. <![CDATA[
  220. if(event.keyCode == 13)
  221. {
  222. if(ipt_emplno.value == ipt_emplno.currentText) return;
  223. ipt_emplno.value = ipt_emplno.currentText;
  224. rpbfValidationCheck("EMPLNO", "emplno,emplnm");
  225. model.refresh();
  226. }
  227. ]]>
  228. </script>
  229. </input>
  230. <select1 id="cmb_mainbdunit" ref="/root/send/retrparams/mainbdunit" class="combo_search" navindex="3" appearance="minimal" style="left:382px; top:44px; width:148px; height:19px; ">
  231. <choices>
  232. <itemset>
  233. <label/>
  234. <value/>
  235. </itemset>
  236. </choices>
  237. </select1>
  238. <input id="ipt_appyy" ref="/root/send/retrparams/appyy" class="input_s_essential" navindex="2" inputtype="date" format="yyyy" style="left:102px; top:19px; width:95px; height:19px; text-align:center; ">
  239. <script type="javascript" ev:event="xforms-value-changed">
  240. <![CDATA[
  241. fRetrieve();
  242. ]]>
  243. </script>
  244. </input>
  245. <select1 id="rdo_cmpltcursstdyyn" ref="/root/send/retrparams/cmpltcursstdyyn" navindex="5" overflow="visible" appearance="full" cellspacing="10" cols="3" style="left:102px; top:45px; width:181px; height:20px; border-style:none; ">
  246. <choices>
  247. <item>
  248. <label>전체</label>
  249. <value/>
  250. </item>
  251. <item>
  252. <label>이수</label>
  253. <value>Y</value>
  254. </item>
  255. <item>
  256. <label>미이수</label>
  257. <value>N</value>
  258. </item>
  259. </choices>
  260. <script type="javascript" ev:event="xforms-value-changed">
  261. <![CDATA[
  262. fRetrieve();
  263. ]]>
  264. </script>
  265. </select1>
  266. <select1 id="rdo_indapppossyn" ref="/root/send/retrparams/indapppossyn" navindex="4" visibility="visible" overflow="visible" appearance="full" cellspacing="10" cols="3" style="left:1005px; top:20px; width:95px; height:20px; border-style:none; ">
  267. <choices>
  268. <item>
  269. <label>Yes</label>
  270. <value>Y</value>
  271. </item>
  272. <item>
  273. <label>No</label>
  274. <value>N</value>
  275. </item>
  276. </choices>
  277. <script type="javascript" ev:event="xforms-value-changed">
  278. <![CDATA[
  279. fRetrieve();
  280. ]]>
  281. </script>
  282. </select1>
  283. <select1 id="cmb_instcd" ref="/root/send/retrparams/instcd" class="combo_search" navindex="1" appearance="minimal" style="left:636px; top:19px; width:211px; height:19px; ">
  284. <choices>
  285. <itemset>
  286. <label/>
  287. <value/>
  288. </itemset>
  289. </choices>
  290. <script type="javascript" ev:event="xforms-value-changed">
  291. <![CDATA[
  292. fRetrieve();
  293. ]]>
  294. </script>
  295. </select1>
  296. <caption id="cap_dutplce" class="search_name" style="left:295px; top:20px; width:89px; height:17px; ">관리부서 :</caption>
  297. <select1 id="cmb_dutplce" ref="/root/send/retrparams/dutplce" class="combo_s_essential" navindex="3" appearance="minimal" style="left:382px; top:19px; width:148px; height:19px; ">
  298. <choices>
  299. <itemset>
  300. <label/>
  301. <value/>
  302. </itemset>
  303. </choices>
  304. <script type="javascript" ev:event="xforms-value-changed">
  305. <![CDATA[
  306. fRetrieve();
  307. ]]>
  308. </script>
  309. </select1>
  310. </group>
  311. <group id="grp_btn" scroll="auto" style="left:0px; top:12px; width:1195px; height:27px; ">
  312. <button id="btn_save" class="btn4_letter2" style="left:1067px; top:3px; width:56px; height:22px; ">
  313. <caption>저장</caption>
  314. <script type="javascript" ev:event="DOMActivate">
  315. <![CDATA[
  316. fSave();
  317. ]]>
  318. </script>
  319. </button>
  320. <button id="btn_init" class="btn4_letter3" style="left:1125px; top:3px; width:68px; height:22px; ">
  321. <caption>초기화</caption>
  322. <script type="javascript" ev:event="DOMActivate">
  323. <![CDATA[
  324. fInit();
  325. ]]>
  326. </script>
  327. </button>
  328. </group>
  329. </xhtml:body>
  330. </xhtml:html>