xSMRPS00500_교육대상자등록(부서장용).xrw 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650
  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. <list1>
  11. <educlist/>
  12. </list1>
  13. <list2>
  14. <eductrgtmanlist/>
  15. </list2>
  16. <list3>
  17. <emplist/>
  18. </list3>
  19. <list4>
  20. <excellist/>
  21. </list4>
  22. </main>
  23. <send>
  24. <retrparams1>
  25. <instcd/>
  26. <appyy/>
  27. <mainbdunit/>
  28. <lrgcd/>
  29. <mdlcd/>
  30. </retrparams1>
  31. <retrparams2>
  32. <instcd/>
  33. <educdg/>
  34. <appyy/>
  35. <educcd/>
  36. </retrparams2>
  37. <retrparams3>
  38. <instcd/>
  39. <educinstcd/>
  40. <educdg/>
  41. <appyy/>
  42. <educcd/>
  43. <dutplce/>
  44. <leftemplcnt/>
  45. </retrparams3>
  46. </send>
  47. <init>
  48. <tempnode>
  49. <appyy/>
  50. <value/>
  51. <label>
  52. <전체/>
  53. </label>
  54. </tempnode>
  55. <rowcount>0</rowcount>
  56. </init>
  57. <temp/>
  58. </root>
  59. </instance>
  60. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  61. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  62. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  63. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  64. <script type="javascript" src="../../../mis/miscommonweb/js/MIS.js"/>
  65. <script type="javascript" src="../../../mis/educationmngtweb/js/RPS001.js"/>
  66. <script type="javascript" src="../../../mis/dligclaznsmngtweb/js/RPD001.js"/>
  67. <script type="javascript" ev:event="xforms-ready">
  68. <![CDATA[
  69. fInit();
  70. ]]>
  71. </script>
  72. <script type="javascript" ev:event="xforms-model-construct-done">
  73. <![CDATA[
  74. grd_emplist.fixedcellcheckbox(0,1)=true;
  75. ]]>
  76. </script>
  77. <script type="javascript">
  78. <![CDATA[
  79. var sAllSelYn = "N";
  80. function fInit()
  81. {
  82. model.setValue("/root/send/retrparams1/appyy", getCurrentDate().substr(0, 4));
  83. misfComboComCdListMulti("Z0007,Z0007", "cmb_instcd,cmb_dutinstcd", null, "Y");
  84. rpsEducSetComboList(model.getValue("/root/send/retrparams1/appyy"), "M02-000,M01-001,M01-002", "cmb_mainbdunit,cmb_lrgcd,cmb_mdlcd", "Y");
  85. rpdfComboCdList(cmb_dutplce); // 권한별 근무부서 세팅
  86. rpdfSetDutUnitCombo();
  87. model.removenode("/root/main/list1/educlist");
  88. model.removenode("/root/main/list2/eductrgtmanlist");
  89. model.removenode("/root/main/list3/emplist");
  90. misfMsterDetailSet(grd_educlist, null, "TRRPS00501", "N", "byRow");
  91. misfMsterDetailSet(grd_eductrgtmanlist, null, "TRRPS00502", "Y");
  92. misfMsterDetailSet(grd_emplist, null, "TRRPS00503", "N");
  93. misfGetUserAuth();
  94. model.setValue("/root/send/retrparams1/instcd", getUserInfo("dutplceinstcd"));
  95. model.setValue("/root/send/retrparams3/instcd", getUserInfo("dutplceinstcd"));
  96. model.setValue("/root/init/tempnode/appyy", "/root/send/retrparams1/appyy");
  97. // model.setValue("/root/send/retrparams3/frentcodd", "19000101");
  98. // model.setValue("/root/send/retrparams3/toentcodd", getCurrentDate());
  99. model.refresh();
  100. grd_educlist.rowHeight(0) = 35;
  101. // if(DUTY_PART_YN != "Y")
  102. // {
  103. // cmb_instcd.disabled = true;
  104. // }
  105. }
  106. function fEducListRetrieve()
  107. {
  108. var iRowIdx = grd_educlist.row;
  109. submit("TRRPS00501");
  110. if(grd_educlist.rows > 1)
  111. {
  112. if(iRowIdx == -1) iRowIdx = 1;
  113. else
  114. if(iRowIdx > grd_educlist.rows) iRowIdx = grd_educlist.rows - 1;
  115. grd_educlist.row = iRowIdx;
  116. grd_educlist.select(iRowIdx, 1, iRowIdx, 10) = true;
  117. grd_educlist.dispatch("onrowchanged");
  118. }
  119. else
  120. {
  121. model.removeNodeset("/root/main/list2/eductrgtmanlist");
  122. model.refresh();
  123. }
  124. }
  125. function fEducTrgtManListRetrieve()
  126. {
  127. model.setValue("/root/send/retrparams2/instcd", grd_educlist.valueMatrix(grd_educlist.row, grd_educlist.colRef("instcd")));
  128. model.setValue("/root/send/retrparams2/appyy", grd_educlist.valueMatrix(grd_educlist.row, grd_educlist.colRef("appyy")));
  129. model.setValue("/root/send/retrparams2/educcd", grd_educlist.valueMatrix(grd_educlist.row, grd_educlist.colRef("educcd")));
  130. submit("TRRPS00502");
  131. }
  132. function fEmpListRetrieve()
  133. {
  134. sYn = "N";
  135. model.setValue("/root/send/retrparams3/educinstcd", grd_educlist.valueMatrix(grd_educlist.row, grd_educlist.colRef("instcd")));
  136. model.setValue("/root/send/retrparams3/appyy", grd_educlist.valueMatrix(grd_educlist.row, grd_educlist.colRef("appyy")));
  137. model.setValue("/root/send/retrparams3/educcd", grd_educlist.valueMatrix(grd_educlist.row, grd_educlist.colRef("educcd")));
  138. submit("TRRPS00503");
  139. }
  140. function fRgstTrgtManList()
  141. {
  142. if(grd_educlist.rows == 1)
  143. {
  144. messageBox("교육내용을", "C002");
  145. return;
  146. }
  147. for(var i=1; i<grd_emplist.rows; i++)
  148. {
  149. var sChk = grd_emplist.valueMatrix(i, grd_emplist.colRef("chk"));
  150. if(sChk == "Y")
  151. {
  152. var sEmplno = model.getValue(grd_emplist.nodeset + "[" + i + "]/emplno");
  153. var iRowIdx = grd_eductrgtmanlist.findRow(sEmplno, 0, grd_eductrgtmanlist.colRef("emplno"));
  154. if(iRowIdx != -1) continue;
  155. misfGridIUD(grd_eductrgtmanlist, "A");
  156. fSetTrgtManInfo(grd_eductrgtmanlist.row, i);
  157. }
  158. }
  159. }
  160. function fSetTrgtManInfo(iTrgtManRowIdx, iEmpListRowIdx)
  161. {
  162. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/instcd", model.getValue(grd_educlist.nodeset + "[" + grd_educlist.row + "]/instcd"));
  163. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/educdg", cmb_educdg.value);
  164. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/rt", '차수');
  165. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/educcd", model.getValue(grd_educlist.nodeset + "[" + grd_educlist.row + "]/educcd"));
  166. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/appyy", model.getValue(grd_educlist.nodeset + "[" + grd_educlist.row + "]/appyy"));
  167. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/emplno", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/emplno"));
  168. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/emplnm", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/emplnm"));
  169. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/prfshipflag", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/prfshipflag"));
  170. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/prfshipnm", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/prfshipnm"));
  171. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/dutinstcd", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/dutinstcd"));
  172. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/dutinstnm", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/dutinstnm"));
  173. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/dutdeptcd", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/dutdeptcd"));
  174. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/dutdeptnm", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/dutdeptnm"));
  175. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/holyordflag", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/holyordflag"));
  176. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/holyordnm", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/holyordnm"));
  177. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/grupjoblncd", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/grupjoblncd"));
  178. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/grupjoblnnm", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/grupjoblnnm"));
  179. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/njobgradcd", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/njobgradcd"));
  180. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/njobgradnm", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/njobgradnm"));
  181. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/jobkindcd", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/jobkindcd"));
  182. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/jobkindnm", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/jobkindnm"));
  183. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/jobrespcd", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/jobrespcd"));
  184. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/jobrespnm", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/jobrespnm"));
  185. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/entcodd", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/entcodd"));
  186. }
  187. function fSave()
  188. {
  189. misfSave("TXRPS00501");
  190. fEducTrgtManListRetrieve();
  191. fEmpListRetrieve();
  192. }
  193. function fLoadExcel()
  194. {
  195. if(grd_educlist.rows == 1)
  196. {
  197. messageBox("교육내용을", "C002");
  198. return;
  199. }
  200. var fileName = window.fileDialog("open", ",", false, "", "xls", "All Files (*.*)|*.*|Excel Files(*.xls)|*.xls");
  201. grd_loadexcel.loadExcel(fileName);
  202. grd_loadexcel.rebuild();
  203. var sEmplno = "";
  204. var iRowIdx = -1;
  205. for(var i=1; i<grd_loadexcel.rows; i++)
  206. {
  207. sEmplno = grd_loadexcel.valueMatrix(i, grd_loadexcel.colRef("emplno"));
  208. if(sEmplno == "") continue;
  209. iRowIdx = grd_eductrgtmanlist.findRow(sEmplno, 0, grd_eductrgtmanlist.colRef("emplno"));
  210. if(iRowIdx != -1)
  211. {
  212. continue;
  213. }
  214. else
  215. {
  216. misfGridIUD(grd_eductrgtmanlist, "A");
  217. model.setValue(grd_eductrgtmanlist.nodeset + "[" + grd_eductrgtmanlist.row + "]/instcd", model.getValue(grd_educlist.nodeset + "[" + grd_educlist.row + "]/instcd"));
  218. model.setValue(grd_eductrgtmanlist.nodeset + "[" + grd_eductrgtmanlist.row + "]/educdg", model.getValue(grd_educlist.nodeset + "[" + grd_educlist.row + "]/educdg"));
  219. model.setValue(grd_eductrgtmanlist.nodeset + "[" + grd_eductrgtmanlist.row + "]/educcd", model.getValue(grd_educlist.nodeset + "[" + grd_educlist.row + "]/educcd"));
  220. model.setValue(grd_eductrgtmanlist.nodeset + "[" + grd_eductrgtmanlist.row + "]/appyy", model.getValue(grd_educlist.nodeset + "[" + grd_educlist.row + "]/appyy"));
  221. model.setValue(grd_eductrgtmanlist.nodeset + "[" + grd_eductrgtmanlist.row + "]/emplno", model.getValue(grd_loadexcel.nodeset + "[" + i + "]/emplno"));
  222. }
  223. }
  224. model.refresh();
  225. }
  226. ]]>
  227. </script>
  228. <submission id="TRRPS00502" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/retrparams2" resultref="/root/main/list2"/>
  229. <submission id="TRRPS00503" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/retrparams3" resultref="/root/main/list3"/>
  230. <submission id="TXRPS00501" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/main/list2/eductrgtmanlist" resultref="/root/temp"/>
  231. <bind id="bind1" ref="/root/init/rowcount" calculate="count(/root/main/list2/eductrgtmanlist)" type="xsd:int"/>
  232. <submission id="TRRPS00501" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/retrparams1" resultref="/root/main/list1"/>
  233. </model>
  234. </xhtml:head>
  235. <xhtml:body pagewidth="1211" pageheight="784" guideline="1,1195;" style="margin-left:8; margin-right:8; ">
  236. <group id="group1" style="left:0px; top:0px; width:1195px; height:13px; ">
  237. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:800px; height:14px; ">교육대상자등록(부서장용)</caption>
  238. </group>
  239. <group id="group2" scroll="auto" style="left:0px; top:38px; width:1195px; height:744px; ">
  240. <shape id="roundrect2" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:346px; top:360px; width:848px; height:30px; background-color:#fffbf2; border-color:#ffd799; "/>
  241. <shape id="roundrect1" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:9px; width:1194px; height:37px; background-color:#fffbf2; border-color:#ffd799; "/>
  242. <line id="line13" class="line_4" style="x1:1095px; y1:14px; x2:1095px; y2:40px; "/>
  243. <caption id="caption1" class="search_name" style="left:236px; top:19px; width:97px; height:17px; ">주체기관 :</caption>
  244. <line id="line8" class="line_1" style="x1:345px; y1:415px; x2:1194px; y2:415px; "/>
  245. <caption id="caption10" class="search_name" style="left:17px; top:19px; width:90px; height:17px; ">년 도 :</caption>
  246. <caption id="caption2" class="search_name" style="left:535px; top:19px; width:86px; height:17px; ">주체단위 :</caption>
  247. <caption id="caption3" class="search_name" style="left:781px; top:19px; width:91px; height:17px; ">교육구분 :</caption>
  248. <caption id="caption4" class="search_name" visibility="hidden" style="left:590px; top:50px; width:86px; height:17px; ">중 분 류 :</caption>
  249. <line id="line5" class="line_1" style="x1:0px; y1:75px; x2:1194px; y2:76px; "/>
  250. <caption id="caption9" class="tit_2" style="left:5px; top:60px; width:169px; height:13px; ">교육과정</caption>
  251. <line id="line1" class="line_4" style="x1:1110px; y1:366px; x2:1110px; y2:383px; "/>
  252. <caption id="caption8" class="search_name" style="left:350px; top:367px; width:96px; height:17px; ">근무 기관 :</caption>
  253. <select1 id="cmb_instcd" ref="/root/send/retrparams1/instcd" class="combo_search" appearance="minimal" style="left:325px; top:18px; width:159px; height:19px; ">
  254. <choices>
  255. <itemset>
  256. <label/>
  257. <value/>
  258. </itemset>
  259. </choices>
  260. <script type="javascript" ev:event="xforms-value-changed">
  261. <![CDATA[
  262. fEducListRetrieve();
  263. ]]>
  264. </script>
  265. </select1>
  266. <input id="ipt_yyyy" ref="/root/send/retrparams1/appyy" class="input_s_essential" inputtype="date" format="yyyy" style="left:105px; top:18px; width:82px; height:19px; text-align:center; ">
  267. <script type="javascript" ev:event="xforms-value-changed">
  268. <![CDATA[
  269. model.setValue("/root/init/tempnode/appyy", "/root/send/retrparams1/appyy");
  270. fEducListRetrieve();
  271. ]]>
  272. </script>
  273. </input>
  274. <select1 id="cmb_mainbdunit" ref="/root/send/retrparams1/mainbdunit" class="combo_search" appearance="minimal" style="left:625px; top:18px; width:100px; height:19px; ">
  275. <choices>
  276. <itemset>
  277. <label/>
  278. <value/>
  279. </itemset>
  280. </choices>
  281. <script type="javascript" ev:event="xforms-value-changed">
  282. <![CDATA[
  283. fEducListRetrieve();
  284. ]]>
  285. </script>
  286. </select1>
  287. <select1 id="cmb_lrgcd" ref="/root/send/retrparams1/lrgcd" class="combo_search" appearance="minimal" style="left:870px; top:18px; width:135px; height:19px; ">
  288. <choices>
  289. <itemset>
  290. <label/>
  291. <value/>
  292. </itemset>
  293. </choices>
  294. <script type="javascript" ev:event="xforms-value-changed">
  295. <![CDATA[
  296. fEducListRetrieve();
  297. ]]>
  298. </script>
  299. </select1>
  300. <select1 id="cmb_mdlcd" ref="/root/send/retrparams1/mdlcd" class="combo_search" visibility="hidden" appearance="minimal" style="left:678px; top:49px; width:120px; height:19px; ">
  301. <choices>
  302. <itemset>
  303. <label/>
  304. <value/>
  305. </itemset>
  306. </choices>
  307. <script type="javascript" ev:event="xforms-value-changed">
  308. <![CDATA[
  309. fEducListRetrieve();
  310. ]]>
  311. </script>
  312. </select1>
  313. <line id="line2" class="line_1" style="x1:342px; y1:79px; x2:343px; y2:741px; "/>
  314. <caption id="caption13" class="tit_2" style="left:350px; top:60px; width:169px; height:13px; ">대상자목록</caption>
  315. <caption id="caption16" class="tit_2" style="left:347px; top:400px; width:169px; height:13px; ">교직원목록</caption>
  316. <datagrid id="grd_emplist" nodeset="/root/main/list3/emplist" caption="^사원번호^성명^교직구분코드^교직구분^근무기관코드^근무기관^근무부서코드^근무부서^성직구분코드^성직구분^직군코드^직군^신직급코드^신직급^년차^직종코드^직종^직책코드^직책^입사일자" colsep="^" colwidth="25, 65, 60, 0, 60, 0, 110, 0, 100, 0, 55, 0, 70, 0, 53, 35, 0, 68, 0, 38, 66" dataheight="25" explorerbar="sortshow" mergecellsfixedrows="bycolrec" rowheader="seq" rowsep="|" style="left:346px; top:420px; width:849px; height:320px; ">
  317. <col checkvalue="Y,N" ref="chk" type="checkbox"/>
  318. <col ref="emplno" style="text-align:center; "/>
  319. <col ref="emplnm" style="text-align:center; "/>
  320. <col ref="prfshipflag" visibility="hidden"/>
  321. <col ref="prfshipnm"/>
  322. <col ref="dutinstcd" visibility="hidden"/>
  323. <col ref="dutinstnm"/>
  324. <col ref="dutdeptcd" visibility="hidden"/>
  325. <col ref="dutdeptnm"/>
  326. <col ref="holyordflag" visibility="hidden"/>
  327. <col ref="holyordnm"/>
  328. <col ref="grupjoblncd" visibility="hidden"/>
  329. <col ref="grupjoblnnm"/>
  330. <col ref="njobgradcd" visibility="hidden"/>
  331. <col ref="njobgradnm"/>
  332. <col ref="anual" style="text-align:right; "/>
  333. <col ref="jobkindcd" visibility="hidden"/>
  334. <col ref="jobkindnm"/>
  335. <col ref="jobrespcd" visibility="hidden"/>
  336. <col ref="jobrespnm"/>
  337. <col ref="entcodd" format="yyyy-mm-dd" style="text-align:center; "/>
  338. <script type="javascript" ev:event="onaftersort">
  339. <![CDATA[
  340. grd_emplist.gridToInstance();
  341. ]]>
  342. </script>
  343. <script type="javascript" ev:event="ondblclick">
  344. <![CDATA[
  345. if(grd_educlist.rows == 1)
  346. {
  347. messageBox("교육내용을", "C002");
  348. return;
  349. }
  350. if(grd_emplist.row < 1)
  351. {
  352. return;
  353. }
  354. var sEmplno = model.getValue(grd_emplist.nodeset + "[" + grd_emplist.row + "]/emplno");
  355. var iRowIdx = grd_eductrgtmanlist.findRow(sEmplno, 0, grd_eductrgtmanlist.colRef("emplno"));
  356. if(iRowIdx != -1)
  357. {
  358. messageBox("중복 등록", "E008");
  359. return;
  360. }
  361. misfGridIUD(grd_eductrgtmanlist, "A");
  362. fSetTrgtManInfo(grd_eductrgtmanlist.row, grd_emplist.row);
  363. ]]>
  364. </script>
  365. </datagrid>
  366. <button id="btn_search" class="btn1_letter2" style="left:1119px; top:17px; width:56px; height:22px; ">
  367. <caption>조회</caption>
  368. <script type="javascript" ev:event="DOMActivate">
  369. <![CDATA[
  370. fEducListRetrieve();
  371. ]]>
  372. </script>
  373. </button>
  374. <button id="btn_search2" class="btn1_letter2" style="left:1125px; top:364px; width:56px; height:22px; ">
  375. <caption>조회</caption>
  376. <script type="javascript" ev:event="DOMActivate">
  377. <![CDATA[
  378. fEmpListRetrieve();
  379. ]]>
  380. </script>
  381. </button>
  382. <select1 id="cmb_dutinstcd" ref="/root/send/retrparams3/instcd" class="combo_s_essential" appearance="minimal" style="left:445px; top:366px; width:145px; height:19px; ">
  383. <choices>
  384. <itemset>
  385. <label/>
  386. <value/>
  387. </itemset>
  388. </choices>
  389. <script type="javascript" ev:event="xforms-value-changed">
  390. <![CDATA[
  391. btn_search2.dispatch("DOMActivate");
  392. ]]>
  393. </script>
  394. </select1>
  395. <datagrid id="grd_eductrgtmanlist" nodeset="/root/main/list2/eductrgtmanlist" autoresize="true" caption="교육기관^교육차수^교육차수^교육코드^적용년월^사원번호^성명^교직구분코드^교직구분^근무기관코드^근무기관^근무부서코드^근무부서^성직구분코드^성직구분^직군코드^직군^신직급코드^신직급^직종코드^직종^직책코드^직책^입사일자" colsep="^" colwidth="0, 25, 35, 0, 0, 65, 60, 0, 60, 0, 100, 0, 85, 0, 60, 0, 65, 0, 70, 0, 60, 0, 50, 80" dataheight="25" explorerbar="sortshow" extendlastcol="scroll" frozencols="4" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" tooltip="true" style="left:346px; top:79px; width:849px; height:271px; ">
  396. <col ref="instcd" _key="true"/>
  397. <col class="input_s_essential" ref="educdg" type="input" _key="true" style="text-align:right; "/>
  398. <col ref="rt"/>
  399. <col ref="educcd" visibility="hidden" _key="true"/>
  400. <col ref="appyy" visibility="hidden" _key="true"/>
  401. <col class="input_s_essential" ref="emplno" _key="true" style="text-align:center; "/>
  402. <col ref="emplnm" style="text-align:center; "/>
  403. <col ref="prfshipflag" visibility="hidden"/>
  404. <col ref="prfshipnm"/>
  405. <col ref="dutinstcd" visibility="hidden"/>
  406. <col ref="dutinstnm"/>
  407. <col ref="dutdeptcd" visibility="hidden"/>
  408. <col ref="dutdeptnm"/>
  409. <col ref="holyordflag" visibility="hidden"/>
  410. <col ref="holyordnm"/>
  411. <col ref="grupjoblncd" visibility="hidden"/>
  412. <col ref="grupjoblnnm"/>
  413. <col ref="njobgradcd" visibility="hidden"/>
  414. <col ref="njobgradnm"/>
  415. <col ref="jobkindcd" visibility="hidden"/>
  416. <col ref="jobkindnm"/>
  417. <col ref="jobrespcd" visibility="hidden"/>
  418. <col ref="jobrespnm"/>
  419. <col ref="entcodd" format="yyyy-mm-dd" style="text-align:center; "/>
  420. <script type="javascript" ev:event="onaftersort">
  421. <![CDATA[
  422. grd_eductrgtmanlist.gridToInstance();
  423. ]]>
  424. </script>
  425. </datagrid>
  426. <button id="btn_addtrgtman" class="btn2_letter5" style="left:1118px; top:395px; width:75px; height:19px; ">
  427. <caption>대상자등록</caption>
  428. <script type="javascript" ev:event="DOMActivate">
  429. <![CDATA[
  430. fRgstTrgtManList();
  431. ]]>
  432. </script>
  433. </button>
  434. <button id="btn_allselect" class="btn2_letter4" visibility="hidden" style="left:1052px; top:395px; width:64px; height:19px; ">
  435. <caption>전체선택</caption>
  436. <script type="javascript" ev:event="DOMActivate">
  437. <![CDATA[
  438. // grid에 자체적인 체크박스 전체선택 기능이 있음으로 "전체선택" 버튼을 비활성화 시켜놨음.
  439. // 나중에 혹시 사용하게 될까봐 소스 남겨놓습니다.
  440. if(sYn == "N")
  441. {
  442. for(var i=1; i<grd_emplist.rows; i++)
  443. {
  444. grd_emplist.valueMatrix(i, grd_emplist.colRef("chk")) = "Y";
  445. }
  446. sYn = "Y";
  447. }
  448. else
  449. {
  450. for(var i=1; i<grd_emplist.rows; i++)
  451. {
  452. grd_emplist.valueMatrix(i, grd_emplist.colRef("chk")) = "N";
  453. }
  454. sYn = "N";
  455. }
  456. ]]>
  457. </script>
  458. </button>
  459. <button id="btn_saveexcel" class="btn2_letter4" style="left:1010px; top:54px; width:64px; height:19px; ">
  460. <caption>엑셀저장</caption>
  461. <script type="javascript" ev:event="DOMActivate">
  462. <![CDATA[
  463. misfSaveExcel(grd_eductrgtmanlist);
  464. ]]>
  465. </script>
  466. </button>
  467. <button id="btn_loadexcel" class="btn2_letter4" style="left:1075px; top:54px; width:64px; height:19px; ">
  468. <caption>엑셀입력</caption>
  469. <script type="javascript" ev:event="DOMActivate">
  470. <![CDATA[
  471. fLoadExcel();
  472. ]]>
  473. </script>
  474. </button>
  475. <button id="btn_delrow" class="btn2_letter3" style="left:1140px; top:54px; width:53px; height:19px; ">
  476. <caption>행삭제</caption>
  477. <script type="javascript" ev:event="DOMActivate">
  478. <![CDATA[
  479. misfGridIUD(grd_eductrgtmanlist, "D");
  480. ]]>
  481. </script>
  482. </button>
  483. <datagrid id="grd_loadexcel" nodeset="/root/main/list4/excellist" visibility="hidden" caption="사번" colsep="^" colwidth="80" dataheight="25" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" style="left:1075px; top:205px; width:120px; height:96px; ">
  484. <col ref="emplno" style="text-align:center; "/>
  485. </datagrid>
  486. <output id="output1" ref="/root/init/rowcount" class="output_fix" format="#,###" style="left:920px; top:54px; width:60px; height:19px; text-align:right; "/>
  487. <caption id="caption24" class="ex_3" style="left:810px; top:56px; width:115px; height:16px; ">총 대상자 인원 :</caption>
  488. <datagrid id="grd_educlist" nodeset="/root/main/list1/educlist" autoresize="true" caption="적용년도^기관^교육코드^교육명^교육내용^주관부서코드^주관부서명^교육&#xA;시작일자^교육&#xA;종료일자^교육신청&#xA;시작일자^교육신청&#xA;종료일자^교육장소" colsep="^" colwidth="0, 0, 0, 239, 100, 0, 100, 20, 75, 75, 75, 100" dataheight="25" mergecellsfixedrows="bycolrec" rowheader="25" rowsep="|" style="left:0px; top:79px; width:340px; height:661px; ">
  489. <col ref="appyy" visibility="hidden"/>
  490. <col ref="instcd" visibility="hidden"/>
  491. <col ref="educcd" visibility="hidden"/>
  492. <col ref="educcdnm" style="text-align:left; "/>
  493. <col ref="educcnts" visibility="hidden"/>
  494. <col ref="chrgdeptcdnm" visibility="hidden"/>
  495. <col ref="chrgdeptnm"/>
  496. <col ref="educfromdd" format="yyyy-mm-dd" style="text-align:center; "/>
  497. <col ref="eductodd" format="yyyy-mm-dd" style="text-align:center; "/>
  498. <col ref="educappfromdd" format="yyyy-mm-dd" style="text-align:center; "/>
  499. <col ref="educapptodd" format="yyyy-mm-dd" style="text-align:center; "/>
  500. <col ref="educplce"/>
  501. <script type="javascript" ev:event="onrowchanged">
  502. <![CDATA[
  503. grd_educlist.dispatch("onmouseup");
  504. //차수콤보 설정.
  505. var pAppyy = grd_educlist.valueMatrix(grd_educlist.row, grd_educlist.colRef("appyy"));
  506. var pEduccd = grd_educlist.valueMatrix(grd_educlist.row, grd_educlist.colRef("educcd"));
  507. var pInstcd = grd_educlist.valueMatrix(grd_educlist.row, grd_educlist.colRef("instcd"));
  508. rpsRTEducDGListComboList("cmb_educdg", pAppyy, pEduccd, pInstcd);
  509. cmb_educdg.dispatch("xforms-value-changed");
  510. fEducTrgtManListRetrieve();
  511. ]]>
  512. </script>
  513. </datagrid>
  514. <caption id="cap_dutplce" class="search_name" style="left:600px; top:367px; width:89px; height:17px; ">관리부서 :</caption>
  515. <select1 id="cmb_dutplce" ref="/root/send/retrparams3/dutplce" class="combo_s_essential" navindex="3" appearance="minimal" style="left:687px; top:366px; width:148px; height:19px; ">
  516. <choices>
  517. <itemset>
  518. <label/>
  519. <value/>
  520. </itemset>
  521. </choices>
  522. <script type="javascript" ev:event="xforms-value-changed">
  523. <![CDATA[
  524. btn_search2.dispatch("DOMActivate");
  525. ]]>
  526. </script>
  527. </select1>
  528. <select1 id="cmb_educdg" ref="/root/send/retrparams3/educdg" class="combo_s_essential" navindex="3" appearance="minimal" style="left:936px; top:365px; width:70px; height:19px; ">
  529. <choices>
  530. <itemset>
  531. <label/>
  532. <value/>
  533. </itemset>
  534. </choices>
  535. <script type="javascript" ev:event="xforms-value-changed">
  536. <![CDATA[
  537. opt_leftemplcnt.value = model.getValue(cmb_educdg.choices.itemset.attribute("nodeset") + "["+ (cmb_educdg.focusIndex+1) +"]/leftemplcnt");
  538. btn_search2.dispatch("DOMActivate");
  539. ]]>
  540. </script>
  541. </select1>
  542. <caption id="caption5" class="search_name" style="left:848px; top:366px; width:89px; height:17px; ">교육차수 :</caption>
  543. <output id="opt_leftemplcnt" ref="/root/send/retrparams3/leftemplcnt" class="output_fix" style="left:1010px; top:365px; width:95px; height:19px; color:#ff0000; text-align:center; "/>
  544. </group>
  545. <group id="grp_btn" scroll="auto" style="left:0px; top:12px; width:1195px; height:27px; ">
  546. <button id="button89" class="btn6_letter2" visibility="hidden" style="left:5px; top:5px; width:56px; height:22px; ">
  547. <caption>출력</caption>
  548. </button>
  549. <button id="btn_save" class="btn4_letter2" navindex="20000" style="left:1067px; top:3px; width:56px; height:22px; ">
  550. <caption>저장</caption>
  551. <script type="javascript" ev:event="DOMActivate">
  552. <![CDATA[
  553. fSave();
  554. grd_educlist.dispatch("onrowchanged");
  555. ]]>
  556. </script>
  557. </button>
  558. <button id="btn_init" class="btn4_letter3" style="left:1125px; top:3px; width:68px; height:22px; ">
  559. <caption>초기화</caption>
  560. <script type="javascript" ev:event="DOMActivate">
  561. <![CDATA[
  562. fInit();
  563. ]]>
  564. </script>
  565. </button>
  566. </group>
  567. </xhtml:body>
  568. </xhtml:html>